diff --git a/codex_telegram_bridge/readme.md b/codex_telegram_bridge/readme.md index 42d19a5..59d32a3 100644 --- a/codex_telegram_bridge/readme.md +++ b/codex_telegram_bridge/readme.md @@ -3,8 +3,9 @@ Route Telegram replies back into Codex sessions using non-interactive `codex exec` + `codex exec resume`. -The bridge stores a mapping from `(chat_id, bot_message_id)` to a route so -replies can be routed correctly. +The bridge does not persist routes. It resumes only when the incoming +message (or the replied-to bot message) contains an explicit `resume: ` +line. ## Install diff --git a/codex_telegram_bridge/src/codex_telegram_bridge/exec_bridge.py b/codex_telegram_bridge/src/codex_telegram_bridge/exec_bridge.py index 88379d9..04fb383 100644 --- a/codex_telegram_bridge/src/codex_telegram_bridge/exec_bridge.py +++ b/codex_telegram_bridge/src/codex_telegram_bridge/exec_bridge.py @@ -201,7 +201,7 @@ class CodexExecRunner: found_session: str | None = session_id last_agent_text: str | None = None saw_agent_message = False - cli_last_turn: int | None = None + cli_last_item: int | None = None cancelled = False rc: int | None = None @@ -223,7 +223,7 @@ class CodexExecRunner: logger.debug("[codex][jsonl] invalid line: %r", line) continue - cli_last_turn, out_lines = render_event_cli(evt, cli_last_turn) + cli_last_item, out_lines = render_event_cli(evt, cli_last_item) for out in out_lines: logger.info("[codex] %s", out) diff --git a/codex_telegram_bridge/src/codex_telegram_bridge/exec_render.py b/codex_telegram_bridge/src/codex_telegram_bridge/exec_render.py index 6004aaf..6fba5b4 100644 --- a/codex_telegram_bridge/src/codex_telegram_bridge/exec_render.py +++ b/codex_telegram_bridge/src/codex_telegram_bridge/exec_render.py @@ -15,7 +15,6 @@ HARD_BREAK = " \n" MAX_PROGRESS_CMD_LEN = 300 MAX_QUERY_LEN = 60 MAX_PATH_LEN = 40 -MAX_PROGRESS_CHARS = 300 def format_elapsed(elapsed_s: float) -> str: @@ -169,11 +168,9 @@ class ExecProgressRenderer: def __init__( self, max_actions: int = 5, - max_chars: int = MAX_PROGRESS_CHARS, command_width: int | None = MAX_PROGRESS_CMD_LEN, ) -> None: self.max_actions = max_actions - self.max_chars = max_chars self.command_width = command_width self.recent_actions: deque[str] = deque(maxlen=max_actions) self.last_item: int | None = None diff --git a/codex_telegram_bridge/tests/test_exec_render.py b/codex_telegram_bridge/tests/test_exec_render.py index 2d3374f..3fe150c 100644 --- a/codex_telegram_bridge/tests/test_exec_render.py +++ b/codex_telegram_bridge/tests/test_exec_render.py @@ -62,7 +62,7 @@ def test_render_event_cli_real_run_fixture() -> None: def test_progress_renderer_renders_progress_and_final() -> None: - r = ExecProgressRenderer(max_actions=5, max_chars=10_000) + r = ExecProgressRenderer(max_actions=5) for evt in _loads(SAMPLE_STREAM): r.note_event(evt)