Files
claude_pipe/tests/fake_claude.sh
T
agent 8d6078e99e feat: scaffold claude_pipe — claude -p equivalente parseando la TUI
App que obtiene la respuesta de claude como dato parseando su TUI interactiva,
en lugar de usar claude -p. Compone tres funciones del registry:

- pty_capture_idle_go_infra: captura el render de la TUI via PTY headless.
- vt_render_go_tui: reconstruye el layout 2D como texto plano.
- parse_claude_tui_go_tui: extrae los turnos + la respuesta final.

Salida por defecto con el mismo shape que claude -p --output-format json.
Formatos: json, text, turns, screen. Validada end-to-end: el campo result
coincide exacto con claude -p nativo (PONG == PONG). e2e_checks deterministas
con un fake TUI (tests/fake_claude.sh) que no gasta llamadas reales.

Fase 1 (one-shot). El streaming incremental queda como fase 2.
2026-06-03 22:52:48 +02:00

23 lines
1.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# Fake claude TUI used by claude_pipe's deterministic e2e checks.
#
# It does NOT talk to any model. It ignores stdin (the prompt claude_pipe types)
# and prints a minimal screen that mimics the markers parse_claude_tui_go_tui
# looks for: a " " user line and a "● " assistant line. After printing it idles
# briefly so the capture's idle-cutoff fires and the process exits cleanly.
#
# stty -echo is essential: claude_pipe types the prompt into the PTY, and a TTY
# echoes input by default. The real claude TUI captures keystrokes into its own
# widget instead of echoing them; this fake has no such widget, so without
# disabling echo the typed prompt would leak onto the screen and pollute the
# parsed answer. The real claude binary is unaffected by this.
#
# This lets us validate the full capture -> render -> parse pipeline without
# spending a real claude call or depending on network/model output.
stty -echo 2>/dev/null || true
printf '\xe2\x9d\xaf test prompt\n\n' # " test prompt"
printf '\xe2\x97\x8f RESPUESTA_FAKE_OK\n\n' # "● RESPUESTA_FAKE_OK"
sleep 2