{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/CHANGELOG.md"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/CHANGELOG.md"},"lines":{"text":"  保留 session_id、team membership、inbox 与 TaskStore。成功后会清屏、\n"},"line_number":17,"absolute_offset":656,"submatches":[{"match":{"text":"session_id"},"start":9,"end":19}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/CHANGELOG.md"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":24226,"human":"0.000024s"},"searches":1,"searches_with_match":1,"bytes_searched":6108,"bytes_printed":422,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"### 2.2 恢复历史会话（必须带 session_id）\n"},"line_number":37,"absolute_offset":1506,"submatches":[{"match":{"text":"session_id"},"start":39,"end":49}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"comate resume <session_id> --rpc-stdio\n"},"line_number":40,"absolute_offset":1568,"submatches":[{"match":{"text":"session_id"},"start":15,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"- `resume` **不带** `<session_id>` 时**不支持** `--rpc-stdio`，会直接报错。\n"},"line_number":44,"absolute_offset":1622,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"### 4.1 `initialize` — 握手，拿 session_id\n"},"line_number":113,"absolute_offset":3620,"submatches":[{"match":{"text":"session_id"},"start":38,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"  \"session_id\": \"<uuid>\"\n"},"line_number":127,"absolute_offset":3858,"submatches":[{"match":{"text":"session_id"},"start":3,"end":13}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"- `session_id` 来自 SDK 的 `SessionInitEvent`，**不是**进程自动生成的占位。\n"},"line_number":131,"absolute_offset":3891,"submatches":[{"match":{"text":"session_id"},"start":3,"end":13}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"- **建议**：每个进程会话先发 `initialize`，把 `session_id` 存下来，便于后续 `comate resume <id> --rpc-stdio` 续接。\n"},"line_number":133,"absolute_offset":4054,"submatches":[{"match":{"text":"session_id"},"start":60,"end":70}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"1. 校验通过后调用 `session.send(user_input)` **入队**。注意 SDK 的 `send()` 只负责入队，不阻塞等待回复。\n"},"line_number":149,"absolute_offset":4479,"submatches":[{"match":{"text":"session.send"},"start":26,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"2. bridge 的事件泵持续消费 `session.events()`，把每个 `AgentEvent` 包装成 `event` 通知输出。\n"},"line_number":150,"absolute_offset":4611,"submatches":[{"match":{"text":"session.events"},"start":36,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"| `interrupted` | **cancelled** | `interrupted` |\n"},"line_number":160,"absolute_offset":5102,"submatches":[{"match":{"text":"interrupt"},"start":3,"end":12},{"match":{"text":"interrupt"},"start":35,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"1. 调用 `session.run_controller.interrupt(\"rpc_cancel\")`；\n"},"line_number":181,"absolute_offset":5643,"submatches":[{"match":{"text":"run_controller"},"start":19,"end":33},{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"3. 真正的 prompt 结果（`status: \"cancelled\"`）会随后由 `StopEvent(reason=\"interrupted\")` 触发，**通过原始 prompt `id` 的 result 响应返回**，而不是在 cancel 响应里。\n"},"line_number":183,"absolute_offset":5793,"submatches":[{"match":{"text":"interrupt"},"start":85,"end":94}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"stdio bridge 明确不承担历史重放职责。需要历史请走 `comate resume <session_id> --rpc-stdio` 重新拉起进程。\n"},"line_number":204,"absolute_offset":6416,"submatches":[{"match":{"text":"session_id"},"start":84,"end":94}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"| `SessionInitEvent` | 会话初始化完成 | `session_id` |\n"},"line_number":214,"absolute_offset":6766,"submatches":[{"match":{"text":"session_id"},"start":48,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":" │ ◀───────── {\"id\":1,\"result\":{\"status\":\"ok\",\"session_id\":\"...\"}}\n"},"line_number":249,"absolute_offset":9687,"submatches":[{"match":{"text":"session_id"},"start":69,"end":79}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":" │                                                    │ session.send() 入队\n"},"line_number":253,"absolute_offset":10006,"submatches":[{"match":{"text":"session.send"},"start":60,"end":72}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"        print(\"session_id:\", init[\"result\"][\"session_id\"])\n"},"line_number":344,"absolute_offset":13784,"submatches":[{"match":{"text":"session_id"},"start":15,"end":25},{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"9. **`StopEvent.reason` 决定语义**：`interrupted` / `shutdown_request` 在 RPC 侧统一表现为 `status: \"cancelled\"`，要区分得看 `stop_reason`。\n"},"line_number":375,"absolute_offset":15303,"submatches":[{"match":{"text":"interrupt"},"start":42,"end":51}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":56956,"human":"0.000057s"},"searches":1,"searches_with_match":1,"bytes_searched":16487,"bytes_printed":6435,"matched_lines":18,"matches":21}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_builtin_slash_chain.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_builtin_slash_chain.py"},"lines":{"text":"    session_id = \"session-1\"\n"},"line_number":46,"absolute_offset":1145,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_builtin_slash_chain.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":14317,"human":"0.000014s"},"searches":1,"searches_with_match":1,"bytes_searched":7892,"bytes_printed":420,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_slash_clear.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_slash_clear.py"},"lines":{"text":"    return ChatSession(agent, session_id=\"leader-session\", cwd=root)\n"},"line_number":114,"absolute_offset":3712,"submatches":[{"match":{"text":"session_id"},"start":30,"end":40}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_slash_clear.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":14802,"human":"0.000015s"},"searches":1,"searches_with_match":1,"bytes_searched":13980,"bytes_printed":438,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"},"lines":{"text":"            \"Thinking  (3m 40s • ctrl+c to interrupt • ultra thinking)\",\n"},"line_number":427,"absolute_offset":14786,"submatches":[{"match":{"text":"interrupt"},"start":45,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"},"lines":{"text":"    def test_loading_text_appends_tool_args_progress_before_interrupt_hint(self) -> None:\n"},"line_number":444,"absolute_offset":15315,"submatches":[{"match":{"text":"interrupt"},"start":60,"end":69}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"},"lines":{"text":"            \"Thinking  (3m 40s • ↓ 1.2k tokens • ctrl+c to interrupt • ultra thinking)\",\n"},"line_number":459,"absolute_offset":15885,"submatches":[{"match":{"text":"interrupt"},"start":65,"end":74}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"},"lines":{"text":"            \"Generating...  (3m 40s • ctrl+c to interrupt • deep reasoning)\",\n"},"line_number":518,"absolute_offset":18015,"submatches":[{"match":{"text":"interrupt"},"start":50,"end":59}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"},"lines":{"text":"            \"(3m 40s • ctrl+c to interrupt • extended thinking)\",\n"},"line_number":656,"absolute_offset":22788,"submatches":[{"match":{"text":"interrupt"},"start":35,"end":44}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":26381,"human":"0.000026s"},"searches":1,"searches_with_match":1,"bytes_searched":25499,"bytes_printed":1855,"matched_lines":5,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py"},"lines":{"text":"    def interrupt(self, reason: str) -> None:  # noqa: ARG002\n"},"line_number":29,"absolute_offset":637,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py"},"lines":{"text":"        self.run_controller = _StubRunController()\n"},"line_number":35,"absolute_offset":773,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py"},"lines":{"text":"        self._interrupt_requested_at = None\n"},"line_number":94,"absolute_offset":2398,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py"},"lines":{"text":"        self._interrupt_force_window_seconds = 1.5\n"},"line_number":95,"absolute_offset":2442,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_task_panel_key_bindings.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":19385,"human":"0.000019s"},"searches":1,"searches_with_match":1,"bytes_searched":6031,"bytes_printed":1373,"matched_lines":4,"matches":4}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-test\"\n"},"line_number":19,"absolute_offset":484,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            SessionInitEvent(session_id=\"session-test\"),\n"},"line_number":21,"absolute_offset":606,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-test\"\n"},"line_number":49,"absolute_offset":1729,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            SessionInitEvent(session_id=\"session-test\"),\n"},"line_number":51,"absolute_offset":1851,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-test\"\n"},"line_number":77,"absolute_offset":2867,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            SessionInitEvent(session_id=\"session-test\"),\n"},"line_number":79,"absolute_offset":2989,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-before-init\"\n"},"line_number":106,"absolute_offset":4067,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            SessionInitEvent(session_id=\"session-json\"),\n"},"line_number":108,"absolute_offset":4196,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        self.assertEqual(payload[\"session_id\"], \"session-json\")\n"},"line_number":137,"absolute_offset":5501,"submatches":[{"match":{"text":"session_id"},"start":34,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-max\"\n"},"line_number":148,"absolute_offset":6025,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            SessionInitEvent(session_id=\"session-max\"),\n"},"line_number":150,"absolute_offset":6146,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            yield SessionInitEvent(session_id=\"session-error\")\n"},"line_number":182,"absolute_offset":7512,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-error\"\n"},"line_number":186,"absolute_offset":7663,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            yield SessionInitEvent(session_id=\"session-error\")\n"},"line_number":219,"absolute_offset":9153,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-error\"\n"},"line_number":223,"absolute_offset":9304,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-hook\"\n"},"line_number":253,"absolute_offset":10748,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            SessionInitEvent(session_id=\"session-hook\"),\n"},"line_number":255,"absolute_offset":10870,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-shutdown\"\n"},"line_number":297,"absolute_offset":12508,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            SessionInitEvent(session_id=\"session-shutdown\"),\n"},"line_number":299,"absolute_offset":12634,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"            yield SessionInitEvent(session_id=\"session-error\")\n"},"line_number":326,"absolute_offset":13717,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"lines":{"text":"        mock_session.session_id = \"session-error\"\n"},"line_number":330,"absolute_offset":13868,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_print_mode.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":58042,"human":"0.000058s"},"searches":1,"searches_with_match":1,"bytes_searched":15445,"bytes_printed":6593,"matched_lines":21,"matches":21}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_thinking_display.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_thinking_display.py"},"lines":{"text":"    session_id = \"session-1\"\n"},"line_number":39,"absolute_offset":848,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_thinking_display.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":7792,"human":"0.000008s"},"searches":1,"searches_with_match":1,"bytes_searched":4215,"bytes_printed":413,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"lines":{"text":"            new_session_id=\"new-session\" if mode is not RewindMode.RESTORE_FILES_ONLY else None,\n"},"line_number":80,"absolute_offset":2355,"submatches":[{"match":{"text":"session_id"},"start":16,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"lines":{"text":"        self._replaced_session_ids: list[str] = []\n"},"line_number":98,"absolute_offset":3047,"submatches":[{"match":{"text":"session_id"},"start":23,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"lines":{"text":"    async def _replace_active_session(self, new_session_id: str) -> None:\n"},"line_number":115,"absolute_offset":3456,"submatches":[{"match":{"text":"session_id"},"start":48,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"lines":{"text":"        self._replaced_session_ids.append(new_session_id)\n"},"line_number":116,"absolute_offset":3530,"submatches":[{"match":{"text":"session_id"},"start":23,"end":33},{"match":{"text":"session_id"},"start":46,"end":56}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"lines":{"text":"        self.assertEqual(commands._replaced_session_ids, [\"new-session\"])\n"},"line_number":172,"absolute_offset":5551,"submatches":[{"match":{"text":"session_id"},"start":44,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"lines":{"text":"        self.assertEqual(commands._replaced_session_ids, [\"new-session\"])\n"},"line_number":196,"absolute_offset":6484,"submatches":[{"match":{"text":"session_id"},"start":44,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"lines":{"text":"        self.assertEqual(commands._replaced_session_ids, [])\n"},"line_number":210,"absolute_offset":7018,"submatches":[{"match":{"text":"session_id"},"start":44,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"lines":{"text":"            new_session_id=None,\n"},"line_number":238,"absolute_offset":8051,"submatches":[{"match":{"text":"session_id"},"start":16,"end":26}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rewind_command_semantics.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":23137,"human":"0.000023s"},"searches":1,"searches_with_match":1,"bytes_searched":8845,"bytes_printed":2798,"matched_lines":8,"matches":9}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"    select_resume_session_id,\n"},"line_number":17,"absolute_offset":654,"submatches":[{"match":{"text":"session_id"},"start":18,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"    session_id: str,\n"},"line_number":24,"absolute_offset":738,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"    root = default_session_root(session_id, cwd=cwd)\n"},"line_number":28,"absolute_offset":828,"submatches":[{"match":{"text":"session_id"},"start":32,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"        session_id=session_id,\n"},"line_number":31,"absolute_offset":923,"submatches":[{"match":{"text":"session_id"},"start":8,"end":18},{"match":{"text":"session_id"},"start":19,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"    transcript_path = get_transcript_path(session_id, cwd=cwd)\n"},"line_number":36,"absolute_offset":1053,"submatches":[{"match":{"text":"session_id"},"start":42,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"    writer = TranscriptWriter(transcript_path, session_id=session_id, cwd=cwd, version=\"test\")\n"},"line_number":37,"absolute_offset":1116,"submatches":[{"match":{"text":"session_id"},"start":47,"end":57},{"match":{"text":"session_id"},"start":58,"end":68}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"                id=f\"{session_id}-u1\",\n"},"line_number":43,"absolute_offset":1366,"submatches":[{"match":{"text":"session_id"},"start":22,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"        _write_minimal_session(cwd, session_id=\"s1\", with_header=True)\n"},"line_number":64,"absolute_offset":1947,"submatches":[{"match":{"text":"session_id"},"start":36,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"        _write_minimal_session(cwd, session_id=\"missing-header\", with_header=False)\n"},"line_number":65,"absolute_offset":2018,"submatches":[{"match":{"text":"session_id"},"start":36,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"        _write_minimal_session(cwd, session_id=\"archived\", with_header=True, archived=True)\n"},"line_number":66,"absolute_offset":2102,"submatches":[{"match":{"text":"session_id"},"start":36,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"        assert [item.session_id for item in items] == [\"s1\"]\n"},"line_number":70,"absolute_offset":2250,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"async def test_select_resume_session_id_returns_picker_result(monkeypatch: pytest.MonkeyPatch) -> None:\n"},"line_number":75,"absolute_offset":2382,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"        session_id=\"s1\",\n"},"line_number":77,"absolute_offset":2525,"submatches":[{"match":{"text":"session_id"},"start":8,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"lines":{"text":"    result = await select_resume_session_id(console, cwd=Path(\"/tmp/project\"))\n"},"line_number":106,"absolute_offset":3441,"submatches":[{"match":{"text":"session_id"},"start":33,"end":43}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_selector.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":34224,"human":"0.000034s"},"searches":1,"searches_with_match":1,"bytes_searched":3586,"bytes_printed":4599,"matched_lines":14,"matches":16}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"    def __init__(self, session_id: str, *, fail: bool = False) -> None:\n"},"line_number":14,"absolute_offset":341,"submatches":[{"match":{"text":"session_id"},"start":23,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"        self.session_id = session_id\n"},"line_number":15,"absolute_offset":413,"submatches":[{"match":{"text":"session_id"},"start":13,"end":23},{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"            raise RuntimeError(f\"boom-{self.session_id}\")\n"},"line_number":22,"absolute_offset":603,"submatches":[{"match":{"text":"session_id"},"start":44,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"        fake_session.session_id = \"session-1\"\n"},"line_number":41,"absolute_offset":1188,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"            initialized_session_id = None\n"},"line_number":60,"absolute_offset":1804,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"        fake_session.session_id = \"session-1\"\n"},"line_number":116,"absolute_offset":4084,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"            initialized_session_id = None\n"},"line_number":134,"absolute_offset":4637,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"            exit_source = \"keyboard_interrupt\"\n"},"line_number":135,"absolute_offset":4679,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"        self.assertIn(\"TUI branch leaving: exit_source=keyboard_interrupt\", log_text)\n"},"line_number":185,"absolute_offset":6718,"submatches":[{"match":{"text":"interrupt"},"start":64,"end":73}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"lines":{"text":"        self.assertIn(\"session_id=session-1\", log_text)\n"},"line_number":186,"absolute_offset":6804,"submatches":[{"match":{"text":"session_id"},"start":23,"end":33}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_shutdown.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":30692,"human":"0.000031s"},"searches":1,"searches_with_match":1,"bytes_searched":11571,"bytes_printed":3196,"matched_lines":10,"matches":11}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_tool_result_registry_lifecycle.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_tool_result_registry_lifecycle.py"},"lines":{"text":"        self.run_controller = _RunController()\n"},"line_number":20,"absolute_offset":413,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_tool_result_registry_lifecycle.py"},"lines":{"text":"            tui._allow_latest_recall_on_interrupt = True\n"},"line_number":75,"absolute_offset":2209,"submatches":[{"match":{"text":"interrupt"},"start":40,"end":49}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_tool_result_registry_lifecycle.py"},"lines":{"text":"            tui._initialized_session_id = \"old\"\n"},"line_number":77,"absolute_offset":2314,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_tool_result_registry_lifecycle.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":25424,"human":"0.000025s"},"searches":1,"searches_with_match":1,"bytes_searched":3063,"bytes_printed":1108,"matched_lines":3,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_usage_line.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_usage_line.py"},"lines":{"text":"        fake_session.session_id = \"sess-123\"\n"},"line_number":66,"absolute_offset":2179,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_usage_line.py"},"lines":{"text":"            initialized_session_id = \"sess-123\"\n"},"line_number":99,"absolute_offset":3278,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_usage_line.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":10756,"human":"0.000011s"},"searches":1,"searches_with_match":1,"bytes_searched":5467,"bytes_printed":719,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_handle_error.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_handle_error.py"},"lines":{"text":"    tui._interrupt_requested_at = 67890.0\n"},"line_number":20,"absolute_offset":600,"submatches":[{"match":{"text":"interrupt"},"start":9,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_handle_error.py"},"lines":{"text":"    tui._allow_latest_recall_on_interrupt = True\n"},"line_number":21,"absolute_offset":642,"submatches":[{"match":{"text":"interrupt"},"start":32,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_handle_error.py"},"lines":{"text":"        assert tui._interrupt_requested_at is None\n"},"line_number":85,"absolute_offset":2834,"submatches":[{"match":{"text":"interrupt"},"start":20,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_handle_error.py"},"lines":{"text":"    def test_handle_error_calls_interrupt_turn(self):\n"},"line_number":87,"absolute_offset":2886,"submatches":[{"match":{"text":"interrupt"},"start":32,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_handle_error.py"},"lines":{"text":"        tui._renderer.interrupt_turn.assert_called_once()\n"},"line_number":95,"absolute_offset":3135,"submatches":[{"match":{"text":"interrupt"},"start":22,"end":31}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_handle_error.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":13840,"human":"0.000014s"},"searches":1,"searches_with_match":1,"bytes_searched":4913,"bytes_printed":1606,"matched_lines":5,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py"},"lines":{"text":"    def interrupt(self, reason: str) -> None:  # noqa: ARG002\n"},"line_number":34,"absolute_offset":816,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py"},"lines":{"text":"        self.run_controller = _StubRunController()\n"},"line_number":40,"absolute_offset":952,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py"},"lines":{"text":"    def interrupt_turn(self) -> None:\n"},"line_number":47,"absolute_offset":1083,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py"},"lines":{"text":"        self._interrupt_requested_at = None\n"},"line_number":82,"absolute_offset":2151,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py"},"lines":{"text":"        self._interrupt_force_window_seconds = 1.5\n"},"line_number":83,"absolute_offset":2195,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_question_key_bindings.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":13068,"human":"0.000013s"},"searches":1,"searches_with_match":1,"bytes_searched":5662,"bytes_printed":1656,"matched_lines":5,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        rpc_stdio, resume_session_id, resume_select, print_prompt, output_format = (\n"},"line_number":12,"absolute_offset":272,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertIsNone(resume_session_id)\n"},"line_number":16,"absolute_offset":443,"submatches":[{"match":{"text":"session_id"},"start":33,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        rpc_stdio, resume_session_id, resume_select, print_prompt, output_format = (\n"},"line_number":22,"absolute_offset":674,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertEqual(resume_session_id, \"sid-001\")\n"},"line_number":26,"absolute_offset":878,"submatches":[{"match":{"text":"session_id"},"start":32,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"    def test_parse_args_resume_without_session_id_enters_selection_mode(self) -> None:\n"},"line_number":31,"absolute_offset":1062,"submatches":[{"match":{"text":"session_id"},"start":39,"end":49}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        rpc_stdio, resume_session_id, resume_select, print_prompt, output_format = (\n"},"line_number":32,"absolute_offset":1149,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertIsNone(resume_session_id)\n"},"line_number":36,"absolute_offset":1328,"submatches":[{"match":{"text":"session_id"},"start":33,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"    def test_parse_args_rejects_legacy_implicit_session_id(self) -> None:\n"},"line_number":41,"absolute_offset":1501,"submatches":[{"match":{"text":"session_id"},"start":48,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"    def test_parse_args_rejects_resume_without_session_id_with_rpc_stdio(self) -> None:\n"},"line_number":45,"absolute_offset":1688,"submatches":[{"match":{"text":"session_id"},"start":47,"end":57}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        rpc_stdio, resume_session_id, resume_select, print_prompt, output_format = (\n"},"line_number":54,"absolute_offset":2131,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertIsNone(resume_session_id)\n"},"line_number":58,"absolute_offset":2327,"submatches":[{"match":{"text":"session_id"},"start":33,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        rpc_stdio, resume_session_id, resume_select, print_prompt, output_format = (\n"},"line_number":92,"absolute_offset":3969,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertIsNone(resume_session_id)\n"},"line_number":96,"absolute_offset":4153,"submatches":[{"match":{"text":"session_id"},"start":33,"end":43}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":30899,"human":"0.000031s"},"searches":1,"searches_with_match":1,"bytes_searched":10987,"bytes_printed":4209,"matched_lines":13,"matches":13}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_slash_command.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_slash_command.py"},"lines":{"text":"            session_id=\"test-session\",\n"},"line_number":163,"absolute_offset":5015,"submatches":[{"match":{"text":"session_id"},"start":12,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_slash_command.py"},"lines":{"text":"            run_controller=_FakeRunController(),\n"},"line_number":164,"absolute_offset":5054,"submatches":[{"match":{"text":"run_controller"},"start":12,"end":26}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_mcp_slash_command.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":27173,"human":"0.000027s"},"searches":1,"searches_with_match":1,"bytes_searched":41909,"bytes_printed":727,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        session_id=\"s1\",\n"},"line_number":24,"absolute_offset":540,"submatches":[{"match":{"text":"session_id"},"start":8,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"            _session_info_to_item(_info(session_id=\"a\", first_prompt=\"build resume picker\")),\n"},"line_number":74,"absolute_offset":2397,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"            _session_info_to_item(_info(session_id=\"b\", first_prompt=\"refactor task store\")),\n"},"line_number":75,"absolute_offset":2491,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"            _session_info_to_item(_info(session_id=\"c\", first_prompt=\"wire team_name\", team_name=\"agent_team\")),\n"},"line_number":76,"absolute_offset":2585,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        assert [item.session_id for item in out] == [\"a\"]\n"},"line_number":86,"absolute_offset":2971,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        assert [item.session_id for item in out] == [\"b\"]\n"},"line_number":91,"absolute_offset":3152,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        assert [item.session_id for item in out] == [\"c\"]\n"},"line_number":96,"absolute_offset":3337,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"    return [_session_info_to_item(_info(session_id=f\"s{i}\", first_prompt=f\"prompt {i}\")) for i in range(n)]\n"},"line_number":190,"absolute_offset":6838,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        _session_info_to_item(_info(session_id=\"a\", first_prompt=\"alpha\")),\n"},"line_number":220,"absolute_offset":7805,"submatches":[{"match":{"text":"session_id"},"start":36,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        _session_info_to_item(_info(session_id=\"b\", first_prompt=\"beta\")),\n"},"line_number":221,"absolute_offset":7881,"submatches":[{"match":{"text":"session_id"},"start":36,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"    items = [_session_info_to_item(_info(session_id=\"p1\", first_prompt=\"hi\"))]\n"},"line_number":252,"absolute_offset":8944,"submatches":[{"match":{"text":"session_id"},"start":41,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        app = ResumePickerApp(items, transcript_path_resolver=lambda _session_id: jsonl)\n"},"line_number":256,"absolute_offset":9111,"submatches":[{"match":{"text":"session_id"},"start":70,"end":80}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"    cwd_items = [_session_info_to_item(_info(session_id=\"cwd1\"))]\n"},"line_number":265,"absolute_offset":9432,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"    all_items = cwd_items + [_session_info_to_item(_info(session_id=\"other1\", cwd=\"/x\"))]\n"},"line_number":266,"absolute_offset":9498,"submatches":[{"match":{"text":"session_id"},"start":57,"end":67}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        items = [_session_info_to_item(_info(session_id=f\"s{i}\")) for i in range(3)]\n"},"line_number":320,"absolute_offset":11666,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        items = [_session_info_to_item(_info(session_id=f\"s{i}\", first_prompt=f\"alpha {i}\")) for i in range(5)]\n"},"line_number":330,"absolute_offset":12142,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"            _session_info_to_item(_info(session_id=\"s0\", first_prompt=\"hello\")),\n"},"line_number":346,"absolute_offset":12856,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"            _session_info_to_item(_info(session_id=\"s1\", first_prompt=\"world\")),\n"},"line_number":347,"absolute_offset":12937,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"            _session_info_to_item(_info(session_id=\"s0\", first_prompt=\"hello\")),\n"},"line_number":360,"absolute_offset":13532,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"            _session_info_to_item(_info(session_id=\"s1\", first_prompt=\"world\")),\n"},"line_number":361,"absolute_offset":13613,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        items = [_session_info_to_item(_info(session_id=\"s0\", first_prompt=\"hello\"))]\n"},"line_number":377,"absolute_offset":14415,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        items = [_session_info_to_item(_info(session_id=\"s0\"))]\n"},"line_number":395,"absolute_offset":15314,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        items = [_session_info_to_item(_info(session_id=\"s0\"))]\n"},"line_number":408,"absolute_offset":15920,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"lines":{"text":"        items = [_session_info_to_item(_info(session_id=\"s0\", first_prompt=\"hello\"))]\n"},"line_number":421,"absolute_offset":16414,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_resume_picker.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":49801,"human":"0.000050s"},"searches":1,"searches_with_match":1,"bytes_searched":17077,"bytes_printed":8104,"matched_lines":24,"matches":24}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py"},"lines":{"text":"    async def test_run_async_keyboard_interrupt_is_logged_with_exit_source(self) -> None:\n"},"line_number":122,"absolute_offset":3583,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py"},"lines":{"text":"        self.assertIn(\"source=keyboard_interrupt\", log_text)\n"},"line_number":136,"absolute_offset":4212,"submatches":[{"match":{"text":"interrupt"},"start":39,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py"},"lines":{"text":"        self.assertEqual(tui.exit_source, \"keyboard_interrupt\")\n"},"line_number":137,"absolute_offset":4273,"submatches":[{"match":{"text":"interrupt"},"start":52,"end":61}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_startup_latency.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":15017,"human":"0.000015s"},"searches":1,"searches_with_match":1,"bytes_searched":10938,"bytes_printed":1111,"matched_lines":3,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        \"  comate resume [<session_id>] [--rpc-stdio]\\n\"\n"},"line_number":213,"absolute_offset":6629,"submatches":[{"match":{"text":"session_id"},"start":27,"end":37}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"                \"resume without <session_id> does not support --rpc-stdio\"\n"},"line_number":282,"absolute_offset":9073,"submatches":[{"match":{"text":"session_id"},"start":33,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    raise _ArgumentError(\"resume accepts at most one <session_id>\")\n"},"line_number":289,"absolute_offset":9321,"submatches":[{"match":{"text":"session_id"},"start":54,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        rpc_stdio, resume_session_id, resume_select, print_prompt, print_output_format = (\n"},"line_number":382,"absolute_offset":11909,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"                resume_session_id=resume_session_id,\n"},"line_number":403,"absolute_offset":12672,"submatches":[{"match":{"text":"session_id"},"start":23,"end":33},{"match":{"text":"session_id"},"start":41,"end":51}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":18255,"human":"0.000018s"},"searches":1,"searches_with_match":1,"bytes_searched":13281,"bytes_printed":1722,"matched_lines":5,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"    tui._pending_latest_recall_on_interrupt = False\n"},"line_number":138,"absolute_offset":3574,"submatches":[{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"    tui._interrupt_requested_at = None\n"},"line_number":142,"absolute_offset":3726,"submatches":[{"match":{"text":"interrupt"},"start":9,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"    def test_recall_latest_turn_after_interrupt_restores_only_when_sdk_recalls(self) -> None:\n"},"line_number":271,"absolute_offset":8105,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"        tui._pending_latest_recall_on_interrupt = True\n"},"line_number":276,"absolute_offset":8429,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"        recalled = tui._recall_latest_turn_after_interrupt()\n"},"line_number":278,"absolute_offset":8485,"submatches":[{"match":{"text":"interrupt"},"start":49,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"        self.assertFalse(tui._pending_latest_recall_on_interrupt)\n"},"line_number":282,"absolute_offset":8631,"submatches":[{"match":{"text":"interrupt"},"start":55,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"    def test_recall_latest_turn_after_interrupt_keeps_state_when_sdk_declines(self) -> None:\n"},"line_number":287,"absolute_offset":8888,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"        tui._pending_latest_recall_on_interrupt = True\n"},"line_number":291,"absolute_offset":9127,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"        recalled = tui._recall_latest_turn_after_interrupt()\n"},"line_number":293,"absolute_offset":9183,"submatches":[{"match":{"text":"interrupt"},"start":49,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"        self.assertFalse(tui._pending_latest_recall_on_interrupt)\n"},"line_number":297,"absolute_offset":9330,"submatches":[{"match":{"text":"interrupt"},"start":55,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"        tui._pending_latest_recall_on_interrupt = True\n"},"line_number":526,"absolute_offset":18423,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"lines":{"text":"        recalled = tui._recall_latest_turn_after_interrupt()\n"},"line_number":527,"absolute_offset":18478,"submatches":[{"match":{"text":"interrupt"},"start":49,"end":58}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_send_undo_window.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":29337,"human":"0.000029s"},"searches":1,"searches_with_match":1,"bytes_searched":18700,"bytes_printed":3959,"matched_lines":12,"matches":12}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_tool_args_progress.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_tool_args_progress.py"},"lines":{"text":"            \"interrupt_turn\",\n"},"line_number":160,"absolute_offset":5228,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_tool_args_progress.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":13353,"human":"0.000013s"},"searches":1,"searches_with_match":1,"bytes_searched":6770,"bytes_printed":442,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.interrupt_calls: list[str] = []\n"},"line_number":43,"absolute_offset":1044,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"    def interrupt(self, reason: str) -> None:\n"},"line_number":46,"absolute_offset":1119,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.interrupt_calls.append(reason)\n"},"line_number":47,"absolute_offset":1165,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.session_id = \"stub-session\"\n"},"line_number":55,"absolute_offset":1359,"submatches":[{"match":{"text":"session_id"},"start":13,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.run_controller = _StubRunController()\n"},"line_number":56,"absolute_offset":1400,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"    def interrupt_turn(self) -> None:\n"},"line_number":74,"absolute_offset":1860,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self._interrupt_requested_at = None\n"},"line_number":181,"absolute_offset":4723,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self._interrupt_force_window_seconds = 1.5\n"},"line_number":182,"absolute_offset":4767,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self._allow_latest_recall_on_interrupt = False\n"},"line_number":187,"absolute_offset":4977,"submatches":[{"match":{"text":"interrupt"},"start":37,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self._pending_latest_recall_on_interrupt = False\n"},"line_number":197,"absolute_offset":5426,"submatches":[{"match":{"text":"interrupt"},"start":39,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"    def test_busy_second_ctrl_c_requests_exit_instead_of_force_interrupt(self) -> None:\n"},"line_number":283,"absolute_offset":7975,"submatches":[{"match":{"text":"interrupt"},"start":63,"end":72}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(host._session.run_controller.interrupt_calls, [\"user\"])\n"},"line_number":292,"absolute_offset":8262,"submatches":[{"match":{"text":"run_controller"},"start":39,"end":53},{"match":{"text":"interrupt"},"start":54,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(host._session.run_controller.interrupt_calls, [])\n"},"line_number":309,"absolute_offset":8901,"submatches":[{"match":{"text":"run_controller"},"start":39,"end":53},{"match":{"text":"interrupt"},"start":54,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        binding_host._allow_latest_recall_on_interrupt = False\n"},"line_number":316,"absolute_offset":9248,"submatches":[{"match":{"text":"interrupt"},"start":45,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(binding_host._session.run_controller.interrupt_calls, [\"user\"])\n"},"line_number":321,"absolute_offset":9396,"submatches":[{"match":{"text":"run_controller"},"start":47,"end":61},{"match":{"text":"interrupt"},"start":62,"end":71}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertFalse(binding_host._pending_latest_recall_on_interrupt)\n"},"line_number":322,"absolute_offset":9485,"submatches":[{"match":{"text":"interrupt"},"start":64,"end":73}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        recallable_host._allow_latest_recall_on_interrupt = True\n"},"line_number":327,"absolute_offset":9702,"submatches":[{"match":{"text":"interrupt"},"start":48,"end":57}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(recallable_host._session.run_controller.interrupt_calls, [\"user\"])\n"},"line_number":332,"absolute_offset":9855,"submatches":[{"match":{"text":"run_controller"},"start":50,"end":64},{"match":{"text":"interrupt"},"start":65,"end":74}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertTrue(recallable_host._pending_latest_recall_on_interrupt)\n"},"line_number":333,"absolute_offset":9947,"submatches":[{"match":{"text":"interrupt"},"start":66,"end":75}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"    async def test_interrupted_stop_without_recall_shows_second_ctrl_c_hint(self) -> None:\n"},"line_number":336,"absolute_offset":10084,"submatches":[{"match":{"text":"interrupt"},"start":19,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._session = _StubSession(events=[StopEvent(reason=\"interrupted\")])\n"},"line_number":338,"absolute_offset":10232,"submatches":[{"match":{"text":"interrupt"},"start":62,"end":71}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = 1.0\n"},"line_number":347,"absolute_offset":10629,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._pending_latest_recall_on_interrupt = True\n"},"line_number":348,"absolute_offset":10671,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._recall_latest_turn_after_interrupt = lambda: False\n"},"line_number":355,"absolute_offset":11037,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"            \"Interrupt signal sent. Press Ctrl+C again to force interrupt.\",\n"},"line_number":366,"absolute_offset":11544,"submatches":[{"match":{"text":"interrupt"},"start":64,"end":73}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertFalse(tui._pending_latest_recall_on_interrupt)\n"},"line_number":369,"absolute_offset":11667,"submatches":[{"match":{"text":"interrupt"},"start":55,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"    async def test_interrupted_stop_with_recall_hides_second_ctrl_c_hint(self) -> None:\n"},"line_number":371,"absolute_offset":11734,"submatches":[{"match":{"text":"interrupt"},"start":19,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._session = _StubSession(events=[StopEvent(reason=\"interrupted\")])\n"},"line_number":373,"absolute_offset":11879,"submatches":[{"match":{"text":"interrupt"},"start":62,"end":71}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = 1.0\n"},"line_number":382,"absolute_offset":12276,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._pending_latest_recall_on_interrupt = True\n"},"line_number":383,"absolute_offset":12318,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._recall_latest_turn_after_interrupt = lambda: True\n"},"line_number":390,"absolute_offset":12684,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"            \"Interrupt signal sent. Press Ctrl+C again to force interrupt.\",\n"},"line_number":401,"absolute_offset":13193,"submatches":[{"match":{"text":"interrupt"},"start":64,"end":73}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertFalse(tui._pending_latest_recall_on_interrupt)\n"},"line_number":404,"absolute_offset":13316,"submatches":[{"match":{"text":"interrupt"},"start":55,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = 1.0\n"},"line_number":417,"absolute_offset":13913,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._pending_latest_recall_on_interrupt = True\n"},"line_number":418,"absolute_offset":13955,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._recall_latest_turn_after_interrupt = lambda: False\n"},"line_number":425,"absolute_offset":14321,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertFalse(tui._pending_latest_recall_on_interrupt)\n"},"line_number":435,"absolute_offset":14805,"submatches":[{"match":{"text":"interrupt"},"start":55,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertIn(\"session_id=stub-session\", log_text)\n"},"line_number":491,"absolute_offset":16858,"submatches":[{"match":{"text":"session_id"},"start":23,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = None\n"},"line_number":553,"absolute_offset":19283,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._allow_latest_recall_on_interrupt = False\n"},"line_number":556,"absolute_offset":19404,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(tui._session.run_controller.clear_calls, 1)\n"},"line_number":566,"absolute_offset":19835,"submatches":[{"match":{"text":"run_controller"},"start":38,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = None\n"},"line_number":605,"absolute_offset":21450,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._allow_latest_recall_on_interrupt = False\n"},"line_number":608,"absolute_offset":21571,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(tui._session.run_controller.clear_calls, 1)\n"},"line_number":618,"absolute_offset":22002,"submatches":[{"match":{"text":"run_controller"},"start":38,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertFalse(tui._allow_latest_recall_on_interrupt)\n"},"line_number":623,"absolute_offset":22327,"submatches":[{"match":{"text":"interrupt"},"start":53,"end":62}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = None\n"},"line_number":658,"absolute_offset":23664,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._allow_latest_recall_on_interrupt = False\n"},"line_number":661,"absolute_offset":23785,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(tui._session.run_controller.clear_calls, 0)\n"},"line_number":671,"absolute_offset":24207,"submatches":[{"match":{"text":"run_controller"},"start":38,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = None\n"},"line_number":707,"absolute_offset":25663,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._allow_latest_recall_on_interrupt = False\n"},"line_number":710,"absolute_offset":25784,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(tui._session.run_controller.clear_calls, 0)\n"},"line_number":720,"absolute_offset":26206,"submatches":[{"match":{"text":"run_controller"},"start":38,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = None\n"},"line_number":755,"absolute_offset":27619,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._allow_latest_recall_on_interrupt = False\n"},"line_number":758,"absolute_offset":27740,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(tui._session.run_controller.clear_calls, 0)\n"},"line_number":768,"absolute_offset":28162,"submatches":[{"match":{"text":"run_controller"},"start":38,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = None\n"},"line_number":796,"absolute_offset":29378,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._allow_latest_recall_on_interrupt = True\n"},"line_number":799,"absolute_offset":29499,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._pending_latest_recall_on_interrupt = False\n"},"line_number":800,"absolute_offset":29552,"submatches":[{"match":{"text":"interrupt"},"start":38,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_force_window_seconds = 1.5\n"},"line_number":803,"absolute_offset":29684,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertFalse(tui._allow_latest_recall_on_interrupt)\n"},"line_number":809,"absolute_offset":29869,"submatches":[{"match":{"text":"interrupt"},"start":53,"end":62}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        binding_host._allow_latest_recall_on_interrupt = (\n"},"line_number":813,"absolute_offset":30018,"submatches":[{"match":{"text":"interrupt"},"start":45,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"            tui._allow_latest_recall_on_interrupt\n"},"line_number":814,"absolute_offset":30077,"submatches":[{"match":{"text":"interrupt"},"start":40,"end":49}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertEqual(tui._session.run_controller.interrupt_calls, [\"user\"])\n"},"line_number":820,"absolute_offset":30266,"submatches":[{"match":{"text":"run_controller"},"start":38,"end":52},{"match":{"text":"interrupt"},"start":53,"end":62}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        self.assertFalse(binding_host._pending_latest_recall_on_interrupt)\n"},"line_number":821,"absolute_offset":30346,"submatches":[{"match":{"text":"interrupt"},"start":64,"end":73}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._interrupt_requested_at = None\n"},"line_number":843,"absolute_offset":31310,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"lines":{"text":"        tui._allow_latest_recall_on_interrupt = False\n"},"line_number":846,"absolute_offset":31431,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_interrupt_exit_semantics.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":116599,"human":"0.000117s"},"searches":1,"searches_with_match":1,"bytes_searched":33042,"bytes_printed":21328,"matched_lines":65,"matches":70}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_log_boundary.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_log_boundary.py"},"lines":{"text":"def test_interrupt_turn_does_not_drop_pending_logs() -> None:\n"},"line_number":104,"absolute_offset":4487,"submatches":[{"match":{"text":"interrupt"},"start":9,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_log_boundary.py"},"lines":{"text":"    renderer.interrupt_turn()\n"},"line_number":108,"absolute_offset":4725,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_log_boundary.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":10856,"human":"0.000011s"},"searches":1,"searches_with_match":1,"bytes_searched":8015,"bytes_printed":752,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_e2e.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_e2e.py"},"lines":{"text":"    # ── T-J6：interrupt 丢弃未闭合 fence ──\n"},"line_number":128,"absolute_offset":4781,"submatches":[{"match":{"text":"interrupt"},"start":20,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_e2e.py"},"lines":{"text":"    def test_j6_interrupt_drops_unfinished_fence(self):\n"},"line_number":130,"absolute_offset":4841,"submatches":[{"match":{"text":"interrupt"},"start":16,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_e2e.py"},"lines":{"text":"        renderer.interrupt_turn()\n"},"line_number":137,"absolute_offset":5110,"submatches":[{"match":{"text":"interrupt"},"start":17,"end":26}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_e2e.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":17907,"human":"0.000018s"},"searches":1,"searches_with_match":1,"bytes_searched":6910,"bytes_printed":1037,"matched_lines":3,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"    session_id: str,\n"},"line_number":19,"absolute_offset":530,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"    root = default_session_root(session_id, cwd=cwd)\n"},"line_number":22,"absolute_offset":590,"submatches":[{"match":{"text":"session_id"},"start":32,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"        session_id=session_id,\n"},"line_number":25,"absolute_offset":685,"submatches":[{"match":{"text":"session_id"},"start":8,"end":18},{"match":{"text":"session_id"},"start":19,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"    transcript_path = get_transcript_path(session_id, cwd=cwd)\n"},"line_number":30,"absolute_offset":789,"submatches":[{"match":{"text":"session_id"},"start":42,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"    writer = TranscriptWriter(transcript_path, session_id=session_id, cwd=cwd, version=\"test\")\n"},"line_number":31,"absolute_offset":852,"submatches":[{"match":{"text":"session_id"},"start":47,"end":57},{"match":{"text":"session_id"},"start":58,"end":68}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"                id=f\"{session_id}-u1\",\n"},"line_number":36,"absolute_offset":1078,"submatches":[{"match":{"text":"session_id"},"start":22,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"                    \"session_id\": session_id,\n"},"line_number":52,"absolute_offset":1536,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31},{"match":{"text":"session_id"},"start":34,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"        _write_session(cwd, session_id=\"sess-1\", with_total_usage=True)\n"},"line_number":84,"absolute_offset":2574,"submatches":[{"match":{"text":"session_id"},"start":28,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"        _write_session(cwd, session_id=\"sess-2\", with_total_usage=False)\n"},"line_number":106,"absolute_offset":3234,"submatches":[{"match":{"text":"session_id"},"start":28,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"lines":{"text":"        root = _write_session(cwd, session_id=\"sess-3\", with_total_usage=True)\n"},"line_number":121,"absolute_offset":3689,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_session_query_token_summary.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":28559,"human":"0.000029s"},"searches":1,"searches_with_match":1,"bytes_searched":3970,"bytes_printed":3500,"matched_lines":10,"matches":13}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_result_formatters.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_result_formatters.py"},"lines":{"text":"            interrupted=False,\n"},"line_number":330,"absolute_offset":11330,"submatches":[{"match":{"text":"interrupt"},"start":12,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_result_formatters.py"},"lines":{"text":"            interrupted=False,\n"},"line_number":666,"absolute_offset":23894,"submatches":[{"match":{"text":"interrupt"},"start":12,"end":21}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_result_formatters.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":23832,"human":"0.000024s"},"searches":1,"searches_with_match":1,"bytes_searched":37193,"bytes_printed":710,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py"},"lines":{"text":"    def test_provider_error_stop_does_not_add_interrupted_message(self) -> None:\n"},"line_number":44,"absolute_offset":1598,"submatches":[{"match":{"text":"interrupt"},"start":46,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py"},"lines":{"text":"            StopEvent(reason=\"interrupted\", metadata={\"error\": Exception(\"Connection refused\")})\n"},"line_number":48,"absolute_offset":1775,"submatches":[{"match":{"text":"interrupt"},"start":30,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py"},"lines":{"text":"        self.assertNotIn(\"Current task interrupted.\", texts)\n"},"line_number":52,"absolute_offset":1952,"submatches":[{"match":{"text":"interrupt"},"start":39,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py"},"lines":{"text":"    def test_interrupt_drops_pending_remainder_only(self):\n"},"line_number":437,"absolute_offset":17819,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py"},"lines":{"text":"        renderer.interrupt_turn()\n"},"line_number":441,"absolute_offset":18056,"submatches":[{"match":{"text":"interrupt"},"start":17,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py"},"lines":{"text":"    \"\"\"spec §6.4：interrupt_turn 调用，语义 = 用户不要剩下的内容，全丢弃不入队。\"\"\"\n"},"line_number":843,"absolute_offset":34944,"submatches":[{"match":{"text":"interrupt"},"start":20,"end":29}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_streaming.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":48166,"human":"0.000048s"},"searches":1,"searches_with_match":1,"bytes_searched":41115,"bytes_printed":2146,"matched_lines":6,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_team_messages.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_team_messages.py"},"lines":{"text":"        self.session_id = \"session-for-team-message-test\"\n"},"line_number":38,"absolute_offset":967,"submatches":[{"match":{"text":"session_id"},"start":13,"end":23}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_team_messages.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":12163,"human":"0.000012s"},"searches":1,"searches_with_match":1,"bytes_searched":3723,"bytes_printed":437,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py"},"lines":{"text":"        tui.initialized_session_id = None\n"},"line_number":838,"absolute_offset":31593,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py"},"lines":{"text":"        tui.initialized_session_id = None\n"},"line_number":1039,"absolute_offset":39050,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_update_check.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":35555,"human":"0.000036s"},"searches":1,"searches_with_match":1,"bytes_searched":43931,"bytes_printed":705,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_elapsed_status.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_elapsed_status.py"},"lines":{"text":"    def test_append_run_elapsed_uses_interrupted_phrase(self) -> None:\n"},"line_number":19,"absolute_offset":397,"submatches":[{"match":{"text":"interrupt"},"start":37,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_elapsed_status.py"},"lines":{"text":"        tui._append_run_elapsed_to_history(stop_reason=\"interrupted\")\n"},"line_number":24,"absolute_offset":620,"submatches":[{"match":{"text":"interrupt"},"start":56,"end":65}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_elapsed_status.py"},"lines":{"text":"    def test_append_run_elapsed_uses_default_verb_when_not_interrupted(self) -> None:\n"},"line_number":29,"absolute_offset":825,"submatches":[{"match":{"text":"interrupt"},"start":59,"end":68}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_elapsed_status.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":11670,"human":"0.000012s"},"searches":1,"searches_with_match":1,"bytes_searched":1353,"bytes_printed":1111,"matched_lines":3,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_view.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_view.py"},"lines":{"text":"    def test_interrupt_running_marks_text_ref_as_interrupted(self) -> None:\n"},"line_number":53,"absolute_offset":1718,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22},{"match":{"text":"interrupt"},"start":49,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_view.py"},"lines":{"text":"        view.interrupt_running()\n"},"line_number":61,"absolute_offset":1982,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tool_view.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":16307,"human":"0.000016s"},"searches":1,"searches_with_match":1,"bytes_searched":16013,"bytes_printed":765,"matched_lines":2,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"lines":{"text":"        self.interrupt_calls: list[str] = []\n"},"line_number":19,"absolute_offset":552,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"lines":{"text":"    def interrupt(self, *, reason: str) -> None:\n"},"line_number":21,"absolute_offset":598,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"lines":{"text":"        self.interrupt_calls.append(reason)\n"},"line_number":22,"absolute_offset":647,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"lines":{"text":"        self.run_controller = _FakeRunController()\n"},"line_number":27,"absolute_offset":745,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"lines":{"text":"    def test_escape_cancels_completion_before_interrupt_or_queue_pop(self) -> None:\n"},"line_number":194,"absolute_offset":5850,"submatches":[{"match":{"text":"interrupt"},"start":46,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"lines":{"text":"        self.assertEqual(host._session.run_controller.interrupt_calls, [])\n"},"line_number":204,"absolute_offset":6214,"submatches":[{"match":{"text":"run_controller"},"start":39,"end":53},{"match":{"text":"interrupt"},"start":54,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"lines":{"text":"    def test_escape_interrupts_session_busy_without_clearing_queue(self) -> None:\n"},"line_number":207,"absolute_offset":6344,"submatches":[{"match":{"text":"interrupt"},"start":20,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"lines":{"text":"        self.assertEqual(host._session.run_controller.interrupt_calls, [\"user_esc\"])\n"},"line_number":216,"absolute_offset":6668,"submatches":[{"match":{"text":"run_controller"},"start":39,"end":53},{"match":{"text":"interrupt"},"start":54,"end":63}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_esc_queue.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":36384,"human":"0.000036s"},"searches":1,"searches_with_match":1,"bytes_searched":9279,"bytes_printed":2738,"matched_lines":8,"matches":10}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_preview.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_preview.py"},"lines":{"text":"    session_id = \"test-session\"\n"},"line_number":31,"absolute_offset":848,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_preview.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":18246,"human":"0.000018s"},"searches":1,"searches_with_match":1,"bytes_searched":17050,"bytes_printed":410,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py"},"lines":{"text":"    def test_stop_event_interrupted_appends_system_message(self) -> None:\n"},"line_number":745,"absolute_offset":27102,"submatches":[{"match":{"text":"interrupt"},"start":24,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py"},"lines":{"text":"                tool_call_id=\"tc_interrupt_1\",\n"},"line_number":753,"absolute_offset":27420,"submatches":[{"match":{"text":"interrupt"},"start":33,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py"},"lines":{"text":"        renderer.handle_event(StopEvent(reason=\"interrupted\"))\n"},"line_number":757,"absolute_offset":27545,"submatches":[{"match":{"text":"interrupt"},"start":48,"end":57}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py"},"lines":{"text":"        self.assertIn(\"interrupted\", system_entries[-1].text)\n"},"line_number":761,"absolute_offset":27742,"submatches":[{"match":{"text":"interrupt"},"start":23,"end":32}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":46422,"human":"0.000046s"},"searches":1,"searches_with_match":1,"bytes_searched":75056,"bytes_printed":1378,"matched_lines":4,"matches":4}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_log_queue.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_log_queue.py"},"lines":{"text":"    renderer.enqueue_log(severity=\"warning\", message=\"net interrupted\")\n"},"line_number":94,"absolute_offset":3424,"submatches":[{"match":{"text":"interrupt"},"start":58,"end":67}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_event_renderer_log_queue.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":13517,"human":"0.000014s"},"searches":1,"searches_with_match":1,"bytes_searched":5307,"bytes_printed":467,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py"},"lines":{"text":"    \"- The main agent is NOT interrupted - it continues working independently in the background\\n\"\n"},"line_number":407,"absolute_offset":15299,"submatches":[{"match":{"text":"interrupt"},"start":29,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py"},"lines":{"text":"    \"- Do NOT reference being interrupted or what you were \\\"previously doing\\\" - that framing is incorrect\\n\\n\"\n"},"line_number":409,"absolute_offset":15482,"submatches":[{"match":{"text":"interrupt"},"start":30,"end":39}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":16436,"human":"0.000016s"},"searches":1,"searches_with_match":1,"bytes_searched":16560,"bytes_printed":904,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_shutdown_noise_guard.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_shutdown_noise_guard.py"},"lines":{"text":"def test_unraisable_shortcircuits_keyboard_interrupt_when_armed():\n"},"line_number":128,"absolute_offset":3785,"submatches":[{"match":{"text":"interrupt"},"start":43,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_shutdown_noise_guard.py"},"lines":{"text":"def test_unraisable_routes_keyboard_interrupt_when_not_armed():\n"},"line_number":138,"absolute_offset":4175,"submatches":[{"match":{"text":"interrupt"},"start":36,"end":45}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_shutdown_noise_guard.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":10260,"human":"0.000010s"},"searches":1,"searches_with_match":1,"bytes_searched":6319,"bytes_printed":771,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py"},"lines":{"text":"        allow_latest_recall_on_interrupt: bool = True,\n"},"line_number":94,"absolute_offset":2921,"submatches":[{"match":{"text":"interrupt"},"start":31,"end":40}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py"},"lines":{"text":"        self.submitted.append((text, display_text, allow_latest_recall_on_interrupt))\n"},"line_number":96,"absolute_offset":2991,"submatches":[{"match":{"text":"interrupt"},"start":74,"end":83}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py"},"lines":{"text":"            _session_id=\"session-123\",\n"},"line_number":297,"absolute_offset":9907,"submatches":[{"match":{"text":"session_id"},"start":13,"end":23}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_skills_slash_command.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":39545,"human":"0.000040s"},"searches":1,"searches_with_match":1,"bytes_searched":18062,"bytes_printed":1077,"matched_lines":3,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_plugin_slash_commands.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_plugin_slash_commands.py"},"lines":{"text":"        allow_latest_recall_on_interrupt: bool = True,\n"},"line_number":60,"absolute_offset":1770,"submatches":[{"match":{"text":"interrupt"},"start":31,"end":40}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_plugin_slash_commands.py"},"lines":{"text":"            (text, display_text, allow_latest_recall_on_interrupt)\n"},"line_number":69,"absolute_offset":2078,"submatches":[{"match":{"text":"interrupt"},"start":56,"end":65}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_plugin_slash_commands.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":9905,"human":"0.000010s"},"searches":1,"searches_with_match":1,"bytes_searched":3777,"bytes_printed":763,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py"},"lines":{"text":"        fake_session.session_id = \"session-1\"\n"},"line_number":407,"absolute_offset":15897,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py"},"lines":{"text":"            initialized_session_id = None\n"},"line_number":427,"absolute_offset":16551,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_startup_profile.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":35589,"human":"0.000036s"},"searches":1,"searches_with_match":1,"bytes_searched":20307,"bytes_printed":719,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        self.interrupt_calls: list[str] = []\n"},"line_number":15,"absolute_offset":347,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"    def interrupt(self, reason: str = \"user\") -> None:\n"},"line_number":17,"absolute_offset":393,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        self.interrupt_calls.append(reason)\n"},"line_number":18,"absolute_offset":448,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        self.run_controller = _FakeRunController()\n"},"line_number":24,"absolute_offset":589,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"    async def test_initialize_uses_session_init_event_session_id(self) -> None:\n"},"line_number":75,"absolute_offset":2180,"submatches":[{"match":{"text":"session_id"},"start":54,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        await session.push_event(SessionInitEvent(session_id=\"sid-from-event\"))\n"},"line_number":81,"absolute_offset":2471,"submatches":[{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        self.assertEqual(response[\"result\"][\"session_id\"], \"sid-from-event\")\n"},"line_number":85,"absolute_offset":2630,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"    async def test_cancel_interrupts_active_prompt_and_waits_for_stop_event(self) -> None:\n"},"line_number":91,"absolute_offset":2820,"submatches":[{"match":{"text":"interrupt"},"start":26,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        await session.push_event(SessionInitEvent(session_id=\"sid-1\"))\n"},"line_number":95,"absolute_offset":3051,"submatches":[{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        self.assertEqual(session.run_controller.interrupt_calls, [\"rpc_cancel\"])\n"},"line_number":101,"absolute_offset":3288,"submatches":[{"match":{"text":"run_controller"},"start":33,"end":47},{"match":{"text":"interrupt"},"start":48,"end":57}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        await session.push_event(StopEvent(reason=\"interrupted\"))\n"},"line_number":105,"absolute_offset":3505,"submatches":[{"match":{"text":"interrupt"},"start":51,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"            {\"status\": \"cancelled\", \"stop_reason\": \"interrupted\"},\n"},"line_number":110,"absolute_offset":3729,"submatches":[{"match":{"text":"interrupt"},"start":52,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        await session.push_event(SessionInitEvent(session_id=\"sid-2\"))\n"},"line_number":121,"absolute_offset":4138,"submatches":[{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        await session.push_event(SessionInitEvent(session_id=\"sid-3\"))\n"},"line_number":144,"absolute_offset":5117,"submatches":[{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"lines":{"text":"        await session.push_event(SessionInitEvent(session_id=\"sid-4\"))\n"},"line_number":164,"absolute_offset":5889,"submatches":[{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_bridge.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":33577,"human":"0.000034s"},"searches":1,"searches_with_match":1,"bytes_searched":7368,"bytes_printed":5009,"matched_lines":15,"matches":16}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"    initialized_session_id = None\n"},"line_number":51,"absolute_offset":1173,"submatches":[{"match":{"text":"session_id"},"start":16,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"    session.session_id = \"session-1\"\n"},"line_number":68,"absolute_offset":1633,"submatches":[{"match":{"text":"session_id"},"start":12,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"    session.session_id = \"session-1\"\n"},"line_number":215,"absolute_offset":6148,"submatches":[{"match":{"text":"session_id"},"start":12,"end":22}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":22440,"human":"0.000022s"},"searches":1,"searches_with_match":1,"bytes_searched":21714,"bytes_printed":1005,"matched_lines":3,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        self.interrupt_turns = 0\n"},"line_number":49,"absolute_offset":1356,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"    def interrupt_turn(self) -> None:\n"},"line_number":66,"absolute_offset":1881,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        self.interrupt_turns += 1\n"},"line_number":67,"absolute_offset":1919,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"    tui._pending_latest_recall_on_interrupt = False\n"},"line_number":118,"absolute_offset":3380,"submatches":[{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"    tui._allow_latest_recall_on_interrupt = False\n"},"line_number":119,"absolute_offset":3432,"submatches":[{"match":{"text":"interrupt"},"start":32,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"    tui._recall_latest_turn_after_interrupt = lambda: False\n"},"line_number":130,"absolute_offset":3959,"submatches":[{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        tui._interrupt_requested_at = None\n"},"line_number":300,"absolute_offset":10092,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"            run_controller = SimpleNamespace(clear=lambda: None)\n"},"line_number":323,"absolute_offset":10867,"submatches":[{"match":{"text":"run_controller"},"start":12,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        tui._interrupt_requested_at = 1.0\n"},"line_number":347,"absolute_offset":11923,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"            run_controller = SimpleNamespace(\n"},"line_number":364,"absolute_offset":12573,"submatches":[{"match":{"text":"run_controller"},"start":12,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        self.assertIsNone(tui._interrupt_requested_at)\n"},"line_number":387,"absolute_offset":13401,"submatches":[{"match":{"text":"interrupt"},"start":31,"end":40}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        self.assertTrue(tui._allow_latest_recall_on_interrupt)\n"},"line_number":392,"absolute_offset":13677,"submatches":[{"match":{"text":"interrupt"},"start":52,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        tui._interrupt_requested_at = 1.0\n"},"line_number":398,"absolute_offset":13924,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"            run_controller = SimpleNamespace(clear=lambda: None)\n"},"line_number":414,"absolute_offset":14476,"submatches":[{"match":{"text":"run_controller"},"start":12,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        self.assertEqual(renderer.interrupt_turns, 0)\n"},"line_number":436,"absolute_offset":15315,"submatches":[{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        self.assertFalse(tui._allow_latest_recall_on_interrupt)\n"},"line_number":441,"absolute_offset":15569,"submatches":[{"match":{"text":"interrupt"},"start":53,"end":62}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        tui._interrupt_requested_at = 1.0\n"},"line_number":449,"absolute_offset":15911,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"            run_controller = SimpleNamespace(\n"},"line_number":466,"absolute_offset":16562,"submatches":[{"match":{"text":"run_controller"},"start":12,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"lines":{"text":"        self.assertIsNone(tui._interrupt_requested_at)\n"},"line_number":489,"absolute_offset":17393,"submatches":[{"match":{"text":"interrupt"},"start":31,"end":40}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_queue_sdk_source.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":43504,"human":"0.000044s"},"searches":1,"searches_with_match":1,"bytes_searched":20760,"bytes_printed":5970,"matched_lines":19,"matches":19}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py"},"lines":{"text":"            parts.append((status_style, \"ctrl+c to interrupt\"))\n"},"line_number":865,"absolute_offset":34643,"submatches":[{"match":{"text":"interrupt"},"start":51,"end":60}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":41280,"human":"0.000041s"},"searches":1,"searches_with_match":1,"bytes_searched":46081,"bytes_printed":487,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    def interrupt_turn(self) -> None:\n"},"line_number":56,"absolute_offset":1901,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    session_id = \"s1\"\n"},"line_number":82,"absolute_offset":2503,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"        self.run_controller = SimpleNamespace(clear=lambda: None)\n"},"line_number":86,"absolute_offset":2598,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"        yield StopEvent(reason=\"interrupted\", metadata={\"error\": self._exc})\n"},"line_number":90,"absolute_offset":2751,"submatches":[{"match":{"text":"interrupt"},"start":32,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    session_id = \"s1\"\n"},"line_number":97,"absolute_offset":2911,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"        self.run_controller = SimpleNamespace(clear=lambda: None)\n"},"line_number":100,"absolute_offset":2966,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    session_id = \"s1\"\n"},"line_number":117,"absolute_offset":3526,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"        self.run_controller = SimpleNamespace(clear=lambda: None)\n"},"line_number":120,"absolute_offset":3581,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    session_id = \"s1\"\n"},"line_number":137,"absolute_offset":4129,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"        self.run_controller = SimpleNamespace(clear=lambda: None)\n"},"line_number":140,"absolute_offset":4184,"submatches":[{"match":{"text":"run_controller"},"start":13,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    tui._pending_latest_recall_on_interrupt = False\n"},"line_number":237,"absolute_offset":7223,"submatches":[{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    tui._interrupt_requested_at = None\n"},"line_number":239,"absolute_offset":7317,"submatches":[{"match":{"text":"interrupt"},"start":9,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    tui._allow_latest_recall_on_interrupt = True\n"},"line_number":240,"absolute_offset":7356,"submatches":[{"match":{"text":"interrupt"},"start":32,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"    tui._recall_latest_turn_after_interrupt = MagicMock(return_value=False)\n"},"line_number":260,"absolute_offset":8137,"submatches":[{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"                session_id=\"s1\",\n"},"line_number":418,"absolute_offset":14179,"submatches":[{"match":{"text":"session_id"},"start":16,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"            await session.send(\"hello\")\n"},"line_number":422,"absolute_offset":14285,"submatches":[{"match":{"text":"session.send"},"start":18,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"                session_id=\"s1\",\n"},"line_number":497,"absolute_offset":17683,"submatches":[{"match":{"text":"session_id"},"start":16,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"lines":{"text":"            await session.send(\"hello\")\n"},"line_number":501,"absolute_offset":17789,"submatches":[{"match":{"text":"session.send"},"start":18,"end":30}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/test_tui_provider_error_shield.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":48068,"human":"0.000048s"},"searches":1,"searches_with_match":1,"bytes_searched":20467,"bytes_printed":5705,"matched_lines":18,"matches":18}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"lines":{"text":"    session_id: str | None = None\n"},"line_number":35,"absolute_offset":903,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"lines":{"text":"        \"session_id\": facts.session_id,\n"},"line_number":110,"absolute_offset":3168,"submatches":[{"match":{"text":"session_id"},"start":9,"end":19},{"match":{"text":"session_id"},"start":28,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"lines":{"text":"    session_id: str | None = None,\n"},"line_number":140,"absolute_offset":3970,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"lines":{"text":"        facts=_PrintRunFacts(stop_reason=stop_reason, session_id=session_id),\n"},"line_number":144,"absolute_offset":4079,"submatches":[{"match":{"text":"session_id"},"start":54,"end":64},{"match":{"text":"session_id"},"start":65,"end":75}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"lines":{"text":"    facts = _PrintRunFacts(session_id=str(getattr(session, \"session_id\", \"\") or \"\") or None)\n"},"line_number":155,"absolute_offset":4484,"submatches":[{"match":{"text":"session_id"},"start":27,"end":37},{"match":{"text":"session_id"},"start":60,"end":70}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"lines":{"text":"            facts.session_id = event.session_id\n"},"line_number":158,"absolute_offset":4679,"submatches":[{"match":{"text":"session_id"},"start":18,"end":28},{"match":{"text":"session_id"},"start":37,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"lines":{"text":"            if error is not None and facts.stop_reason == \"interrupted\":\n"},"line_number":167,"absolute_offset":5079,"submatches":[{"match":{"text":"interrupt"},"start":59,"end":68}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"lines":{"text":"        facts.session_id = str(getattr(session, \"session_id\", \"\") or \"\") or None\n"},"line_number":189,"absolute_offset":5835,"submatches":[{"match":{"text":"session_id"},"start":14,"end":24},{"match":{"text":"session_id"},"start":49,"end":59}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/print_mode.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":33603,"human":"0.000034s"},"searches":1,"searches_with_match":1,"bytes_searched":7231,"bytes_printed":2981,"matched_lines":8,"matches":13}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tips.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tips.py"},"lines":{"text":"    \"Press Ctrl+C once to interrupt the current operation.\",\n"},"line_number":9,"absolute_offset":362,"submatches":[{"match":{"text":"interrupt"},"start":26,"end":35}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tips.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":7702,"human":"0.000008s"},"searches":1,"searches_with_match":1,"bytes_searched":1869,"bytes_printed":442,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"        self._init_session_id: str | None = None\n"},"line_number":33,"absolute_offset":840,"submatches":[{"match":{"text":"session_id"},"start":19,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"            session_id = await self._wait_for_init_session_id()\n"},"line_number":162,"absolute_offset":5456,"submatches":[{"match":{"text":"session_id"},"start":12,"end":22},{"match":{"text":"session_id"},"start":51,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"                    \"session_id\": session_id,\n"},"line_number":179,"absolute_offset":6016,"submatches":[{"match":{"text":"session_id"},"start":21,"end":31},{"match":{"text":"session_id"},"start":34,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"            _ = await self._session.send(user_input)\n"},"line_number":231,"absolute_offset":7707,"submatches":[{"match":{"text":"session.send"},"start":28,"end":40}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"            async for event in self._session.events():\n"},"line_number":285,"absolute_offset":9566,"submatches":[{"match":{"text":"session.events"},"start":37,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"                    self._init_session_id = str(event.session_id)\n"},"line_number":287,"absolute_offset":9677,"submatches":[{"match":{"text":"session_id"},"start":31,"end":41},{"match":{"text":"session_id"},"start":54,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"        elif stop_reason in {\"interrupted\", \"shutdown_request\"}:\n"},"line_number":318,"absolute_offset":11002,"submatches":[{"match":{"text":"interrupt"},"start":30,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"            self._session.run_controller.interrupt(\"rpc_cancel\")\n"},"line_number":350,"absolute_offset":12148,"submatches":[{"match":{"text":"run_controller"},"start":26,"end":40},{"match":{"text":"interrupt"},"start":41,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"            logger.warning(f\"failed to interrupt active prompt: {exc}\", exc_info=True)\n"},"line_number":352,"absolute_offset":12246,"submatches":[{"match":{"text":"interrupt"},"start":39,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"    async def _wait_for_init_session_id(self) -> str:\n"},"line_number":355,"absolute_offset":12354,"submatches":[{"match":{"text":"session_id"},"start":29,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"        if self._init_session_id is not None:\n"},"line_number":356,"absolute_offset":12408,"submatches":[{"match":{"text":"session_id"},"start":22,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"            return self._init_session_id\n"},"line_number":357,"absolute_offset":12454,"submatches":[{"match":{"text":"session_id"},"start":30,"end":40}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"        if self._init_session_id is None:\n"},"line_number":365,"absolute_offset":12687,"submatches":[{"match":{"text":"session_id"},"start":22,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"        return self._init_session_id\n"},"line_number":367,"absolute_offset":12790,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":47492,"human":"0.000047s"},"searches":1,"searches_with_match":1,"bytes_searched":15750,"bytes_printed":4787,"matched_lines":14,"matches":18}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                self._session.run_controller.interrupt(reason=\"user_esc\")\n"},"line_number":668,"absolute_offset":24329,"submatches":[{"match":{"text":"run_controller"},"start":30,"end":44},{"match":{"text":"interrupt"},"start":45,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        def _interrupt_or_exit(event) -> None:\n"},"line_number":690,"absolute_offset":25119,"submatches":[{"match":{"text":"interrupt"},"start":13,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                interrupted_once = (\n"},"line_number":696,"absolute_offset":25316,"submatches":[{"match":{"text":"interrupt"},"start":16,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                    self._interrupt_requested_at is not None\n"},"line_number":697,"absolute_offset":25353,"submatches":[{"match":{"text":"interrupt"},"start":26,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                    and (now - self._interrupt_requested_at)\n"},"line_number":698,"absolute_offset":25414,"submatches":[{"match":{"text":"interrupt"},"start":37,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                    <= self._interrupt_force_window_seconds\n"},"line_number":699,"absolute_offset":25475,"submatches":[{"match":{"text":"interrupt"},"start":29,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                if interrupted_once:\n"},"line_number":702,"absolute_offset":25554,"submatches":[{"match":{"text":"interrupt"},"start":19,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                    self._interrupt_requested_at = None\n"},"line_number":703,"absolute_offset":25591,"submatches":[{"match":{"text":"interrupt"},"start":26,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                self._session.run_controller.interrupt(reason=\"user\")\n"},"line_number":708,"absolute_offset":25836,"submatches":[{"match":{"text":"run_controller"},"start":30,"end":44},{"match":{"text":"interrupt"},"start":45,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                self._pending_latest_recall_on_interrupt = bool(\n"},"line_number":709,"absolute_offset":25906,"submatches":[{"match":{"text":"interrupt"},"start":47,"end":56}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                    getattr(self, \"_allow_latest_recall_on_interrupt\", False)\n"},"line_number":710,"absolute_offset":25971,"submatches":[{"match":{"text":"interrupt"},"start":59,"end":68}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"                self._interrupt_requested_at = now\n"},"line_number":712,"absolute_offset":26067,"submatches":[{"match":{"text":"interrupt"},"start":22,"end":31}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":37022,"human":"0.000037s"},"searches":1,"searches_with_match":1,"bytes_searched":29261,"bytes_printed":4248,"matched_lines":12,"matches":14}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"        transcript_path = get_transcript_path(info.session_id, cwd=info.cwd)\n"},"line_number":29,"absolute_offset":772,"submatches":[{"match":{"text":"session_id"},"start":51,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"        logger.debug(f\"is_resumable: path resolve failed session={info.session_id} error={exc}\")\n"},"line_number":31,"absolute_offset":878,"submatches":[{"match":{"text":"session_id"},"start":71,"end":81}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"        logger.debug(f\"is_resumable: transcript load failed session={info.session_id} error={exc}\")\n"},"line_number":38,"absolute_offset":1156,"submatches":[{"match":{"text":"session_id"},"start":74,"end":84}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"async def select_resume_session_id(console: Console, *, cwd: Path | None = None) -> str | None:\n"},"line_number":52,"absolute_offset":1659,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"    cwd_by_session: dict[str, str | None] = {item.session_id: item.raw.cwd for item in items}\n"},"line_number":58,"absolute_offset":1900,"submatches":[{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"            cwd_by_session[item.session_id] = item.raw.cwd\n"},"line_number":62,"absolute_offset":2124,"submatches":[{"match":{"text":"session_id"},"start":32,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"    def transcript_resolver(session_id: str) -> Path:\n"},"line_number":65,"absolute_offset":2217,"submatches":[{"match":{"text":"session_id"},"start":28,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"        session_cwd = cwd_by_session.get(session_id)\n"},"line_number":66,"absolute_offset":2271,"submatches":[{"match":{"text":"session_id"},"start":41,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"            session_cwd = cwd_by_session.get(session_id)\n"},"line_number":69,"absolute_offset":2418,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"        return get_transcript_path(session_id, cwd=session_cwd or cwd or Path.cwd())\n"},"line_number":70,"absolute_offset":2475,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":23503,"human":"0.000024s"},"searches":1,"searches_with_match":1,"bytes_searched":3122,"bytes_printed":3572,"matched_lines":10,"matches":10}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._initialized_session_id: str | None = None\n"},"line_number":303,"absolute_offset":11341,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._interrupt_requested_at: float | None = None\n"},"line_number":313,"absolute_offset":11884,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._interrupt_force_window_seconds = 1.5\n"},"line_number":314,"absolute_offset":11942,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._pending_latest_recall_on_interrupt = False\n"},"line_number":355,"absolute_offset":13704,"submatches":[{"match":{"text":"interrupt"},"start":39,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._allow_latest_recall_on_interrupt = False\n"},"line_number":356,"absolute_offset":13761,"submatches":[{"match":{"text":"interrupt"},"start":37,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                \"session_id=%r recv_agent=%r from=%r to=%r type=%r timestamp=%r \"\n"},"line_number":903,"absolute_offset":37834,"submatches":[{"match":{"text":"session_id"},"start":17,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                session.session_id,\n"},"line_number":905,"absolute_offset":37968,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        if str(stop_reason or \"\").strip().lower() == \"interrupted\":\n"},"line_number":1198,"absolute_offset":49213,"submatches":[{"match":{"text":"interrupt"},"start":54,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        allow_latest_recall_on_interrupt: bool = False,\n"},"line_number":1234,"absolute_offset":50647,"submatches":[{"match":{"text":"interrupt"},"start":31,"end":40}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        clear_controller = getattr(self._session.run_controller, \"clear\", None)\n"},"line_number":1236,"absolute_offset":50718,"submatches":[{"match":{"text":"run_controller"},"start":49,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._interrupt_requested_at = None\n"},"line_number":1239,"absolute_offset":50868,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._allow_latest_recall_on_interrupt = allow_latest_recall_on_interrupt\n"},"line_number":1244,"absolute_offset":51063,"submatches":[{"match":{"text":"interrupt"},"start":37,"end":46},{"match":{"text":"interrupt"},"start":72,"end":81}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._interrupt_requested_at = None\n"},"line_number":1257,"absolute_offset":51680,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"    def _recall_latest_turn_after_interrupt(self) -> bool:\n"},"line_number":1323,"absolute_offset":54231,"submatches":[{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        if not bool(getattr(self, \"_pending_latest_recall_on_interrupt\", False)):\n"},"line_number":1324,"absolute_offset":54290,"submatches":[{"match":{"text":"interrupt"},"start":61,"end":70}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._pending_latest_recall_on_interrupt = False\n"},"line_number":1326,"absolute_offset":54397,"submatches":[{"match":{"text":"interrupt"},"start":39,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            message_id = await self._session.send(payload.submit_text)\n"},"line_number":1432,"absolute_offset":58164,"submatches":[{"match":{"text":"session.send"},"start":37,"end":49}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._renderer.interrupt_turn()\n"},"line_number":1487,"absolute_offset":60448,"submatches":[{"match":{"text":"interrupt"},"start":23,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._interrupt_requested_at = None\n"},"line_number":1493,"absolute_offset":60763,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._allow_latest_recall_on_interrupt = False\n"},"line_number":1494,"absolute_offset":60807,"submatches":[{"match":{"text":"interrupt"},"start":37,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        allow_latest_recall_on_interrupt: bool = True,\n"},"line_number":1530,"absolute_offset":62032,"submatches":[{"match":{"text":"interrupt"},"start":31,"end":40}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._session.run_controller.clear()\n"},"line_number":1541,"absolute_offset":62372,"submatches":[{"match":{"text":"run_controller"},"start":22,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._interrupt_requested_at = None\n"},"line_number":1542,"absolute_offset":62417,"submatches":[{"match":{"text":"interrupt"},"start":14,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._allow_latest_recall_on_interrupt = allow_latest_recall_on_interrupt\n"},"line_number":1545,"absolute_offset":62491,"submatches":[{"match":{"text":"interrupt"},"start":37,"end":46},{"match":{"text":"interrupt"},"start":72,"end":81}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            await self._session.send(text)\n"},"line_number":1579,"absolute_offset":63899,"submatches":[{"match":{"text":"session.send"},"start":24,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            async for event in self._session.events():\n"},"line_number":1590,"absolute_offset":64305,"submatches":[{"match":{"text":"session.events"},"start":37,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                    self._initialized_session_id = str(event.session_id)\n"},"line_number":1598,"absolute_offset":64698,"submatches":[{"match":{"text":"session_id"},"start":38,"end":48},{"match":{"text":"session_id"},"start":61,"end":71}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                            self._session.run_controller.clear()\n"},"line_number":1627,"absolute_offset":66274,"submatches":[{"match":{"text":"run_controller"},"start":42,"end":56}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                            self._interrupt_requested_at = None\n"},"line_number":1628,"absolute_offset":66339,"submatches":[{"match":{"text":"interrupt"},"start":34,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                            self._allow_latest_recall_on_interrupt = True\n"},"line_number":1645,"absolute_offset":67376,"submatches":[{"match":{"text":"interrupt"},"start":57,"end":66}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        getattr(self, \"_pending_latest_recall_on_interrupt\", False)\n"},"line_number":1688,"absolute_offset":69677,"submatches":[{"match":{"text":"interrupt"},"start":65,"end":74}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        event.reason == \"interrupted\"\n"},"line_number":1707,"absolute_offset":70703,"submatches":[{"match":{"text":"interrupt"},"start":41,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        and self._recall_latest_turn_after_interrupt()\n"},"line_number":1709,"absolute_offset":70808,"submatches":[{"match":{"text":"interrupt"},"start":59,"end":68}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        event.reason == \"interrupted\"\n"},"line_number":1713,"absolute_offset":70981,"submatches":[{"match":{"text":"interrupt"},"start":41,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                            \"Interrupt signal sent. Press Ctrl+C again to force interrupt.\"\n"},"line_number":1718,"absolute_offset":71221,"submatches":[{"match":{"text":"interrupt"},"start":80,"end":89}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                    self._pending_latest_recall_on_interrupt = False\n"},"line_number":1722,"absolute_offset":71448,"submatches":[{"match":{"text":"interrupt"},"start":51,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                    self._interrupt_requested_at = None\n"},"line_number":1751,"absolute_offset":73038,"submatches":[{"match":{"text":"interrupt"},"start":26,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                    self._allow_latest_recall_on_interrupt = False\n"},"line_number":1752,"absolute_offset":73094,"submatches":[{"match":{"text":"interrupt"},"start":49,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            allow_latest_recall_on_interrupt=False,\n"},"line_number":1888,"absolute_offset":78499,"submatches":[{"match":{"text":"interrupt"},"start":35,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"    def initialized_session_id(self) -> str | None:\n"},"line_number":2148,"absolute_offset":88904,"submatches":[{"match":{"text":"session_id"},"start":20,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        return self._initialized_session_id\n"},"line_number":2149,"absolute_offset":88956,"submatches":[{"match":{"text":"session_id"},"start":33,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            \"TUI exit requested: source=%s session_id=%s busy=%s compacting=%s closing=%s\",\n"},"line_number":2159,"absolute_offset":89316,"submatches":[{"match":{"text":"session_id"},"start":43,"end":53}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            getattr(self._session, \"session_id\", None),\n"},"line_number":2161,"absolute_offset":89439,"submatches":[{"match":{"text":"session_id"},"start":36,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            \"TUI application exit: source=%s session_id=%s event_pump_active=%s app_present=%s\",\n"},"line_number":2188,"absolute_offset":90618,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            getattr(self._session, \"session_id\", None),\n"},"line_number":2190,"absolute_offset":90746,"submatches":[{"match":{"text":"session_id"},"start":36,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._session.run_controller.clear()\n"},"line_number":2195,"absolute_offset":90960,"submatches":[{"match":{"text":"run_controller"},"start":22,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"    async def _replace_active_session(self, new_session_id: str) -> None:\n"},"line_number":2223,"absolute_offset":91940,"submatches":[{"match":{"text":"session_id"},"start":48,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        old_session.run_controller.clear()\n"},"line_number":2234,"absolute_offset":92365,"submatches":[{"match":{"text":"run_controller"},"start":20,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            session_id=new_session_id,\n"},"line_number":2240,"absolute_offset":92576,"submatches":[{"match":{"text":"session_id"},"start":12,"end":22},{"match":{"text":"session_id"},"start":27,"end":37}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._allow_latest_recall_on_interrupt = False\n"},"line_number":2253,"absolute_offset":93092,"submatches":[{"match":{"text":"interrupt"},"start":37,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._initialized_session_id = None\n"},"line_number":2255,"absolute_offset":93191,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        self._exit_source = \"keyboard_interrupt\"\n"},"line_number":2369,"absolute_offset":97537,"submatches":[{"match":{"text":"interrupt"},"start":54,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        \"source=%s session_id=%s closing=%s\",\n"},"line_number":2372,"absolute_offset":97712,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        getattr(getattr(self, \"_session\", None), \"session_id\", None),\n"},"line_number":2374,"absolute_offset":97817,"submatches":[{"match":{"text":"session_id"},"start":66,"end":76}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        \"source=%s session_id=%s closing=%s\",\n"},"line_number":2384,"absolute_offset":98306,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        getattr(getattr(self, \"_session\", None), \"session_id\", None),\n"},"line_number":2386,"absolute_offset":98411,"submatches":[{"match":{"text":"session_id"},"start":66,"end":76}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        \"source=%s session_id=%s closing=%s\",\n"},"line_number":2396,"absolute_offset":98930,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        getattr(getattr(self, \"_session\", None), \"session_id\", None),\n"},"line_number":2398,"absolute_offset":99035,"submatches":[{"match":{"text":"session_id"},"start":66,"end":76}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        \"source=%s session_id=%s closing=%s\",\n"},"line_number":2408,"absolute_offset":99540,"submatches":[{"match":{"text":"session_id"},"start":35,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                        getattr(getattr(self, \"_session\", None), \"session_id\", None),\n"},"line_number":2411,"absolute_offset":99689,"submatches":[{"match":{"text":"session_id"},"start":66,"end":76}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                \"TUI run_async returned: source=%s session_id=%s closing=%s\",\n"},"line_number":2420,"absolute_offset":100072,"submatches":[{"match":{"text":"session_id"},"start":51,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                getattr(getattr(self, \"_session\", None), \"session_id\", None),\n"},"line_number":2422,"absolute_offset":100216,"submatches":[{"match":{"text":"session_id"},"start":58,"end":68}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":168872,"human":"0.000169s"},"searches":1,"searches_with_match":1,"bytes_searched":110292,"bytes_printed":20202,"matched_lines":62,"matches":66}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_recap_history_rendering.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_recap_history_rendering.py"},"lines":{"text":"        host._session = SimpleNamespace(session_id=\"test-session\")\n"},"line_number":92,"absolute_offset":2996,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_recap_history_rendering.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":7768,"human":"0.000008s"},"searches":1,"searches_with_match":1,"bytes_searched":3335,"bytes_printed":471,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_tui_idle_recap_integration.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_tui_idle_recap_integration.py"},"lines":{"text":"    session_id = \"session-1\"\n"},"line_number":171,"absolute_offset":5463,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/tests/recap/test_tui_idle_recap_integration.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":9347,"human":"0.000009s"},"searches":1,"searches_with_match":1,"bytes_searched":7765,"bytes_printed":439,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                \"session_id=%r pending_count=%d team_pending_count=%d printed_index=%d\",\n"},"line_number":378,"absolute_offset":16774,"submatches":[{"match":{"text":"session_id"},"start":17,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                getattr(self._session, \"session_id\", \"\"),\n"},"line_number":379,"absolute_offset":16863,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                \"session_id=%r pending_count=%d team_pending_count=%d printed_index=%d\",\n"},"line_number":442,"absolute_offset":19403,"submatches":[{"match":{"text":"session_id"},"start":17,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                getattr(self._session, \"session_id\", \"\"),\n"},"line_number":443,"absolute_offset":19492,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                \"session_id=%r previous_index=%d new_index=%d total_entries=%d team_pending_count=%d\",\n"},"line_number":486,"absolute_offset":21262,"submatches":[{"match":{"text":"session_id"},"start":17,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                getattr(self._session, \"session_id\", \"\"),\n"},"line_number":487,"absolute_offset":21365,"submatches":[{"match":{"text":"session_id"},"start":40,"end":50}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":23258,"human":"0.000023s"},"searches":1,"searches_with_match":1,"bytes_searched":21786,"bytes_printed":2268,"matched_lines":6,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py"},"lines":{"text":"                    allow_latest_recall_on_interrupt=not cancelled,\n"},"line_number":211,"absolute_offset":7765,"submatches":[{"match":{"text":"interrupt"},"start":43,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py"},"lines":{"text":"                        message_id = await self._session.send(content)\n"},"line_number":495,"absolute_offset":18114,"submatches":[{"match":{"text":"session.send"},"start":49,"end":61}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/input_behavior.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":15913,"human":"0.000016s"},"searches":1,"searches_with_match":1,"bytes_searched":19358,"bytes_printed":840,"matched_lines":2,"matches":2}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"        self._append_slash_command_result(f\"Session ID: {self._session.session_id}\")\n"},"line_number":185,"absolute_offset":6544,"submatches":[{"match":{"text":"session_id"},"start":71,"end":81}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            if result.new_session_id:\n"},"line_number":1978,"absolute_offset":72697,"submatches":[{"match":{"text":"session_id"},"start":26,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"                await self._replace_active_session(result.new_session_id)\n"},"line_number":1979,"absolute_offset":72735,"submatches":[{"match":{"text":"session_id"},"start":62,"end":72}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            lines.append(f\"- conversation: forked to session {result.new_session_id}\")\n"},"line_number":2038,"absolute_offset":74943,"submatches":[{"match":{"text":"session_id"},"start":73,"end":83}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            lines.append(f\"- conversation: forked to session {result.new_session_id}\")\n"},"line_number":2041,"absolute_offset":75177,"submatches":[{"match":{"text":"session_id"},"start":73,"end":83}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":51272,"human":"0.000051s"},"searches":1,"searches_with_match":1,"bytes_searched":82076,"bytes_printed":1876,"matched_lines":5,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py"},"lines":{"text":"    session_id: str\n"},"line_number":36,"absolute_offset":1343,"submatches":[{"match":{"text":"session_id"},"start":4,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py"},"lines":{"text":"        session_id=info.session_id,\n"},"line_number":76,"absolute_offset":2524,"submatches":[{"match":{"text":"session_id"},"start":8,"end":18},{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py"},"lines":{"text":"    \"\"\"全屏 resume picker。run_async() 返回选中的 session_id 或 None。\"\"\"\n"},"line_number":194,"absolute_offset":6470,"submatches":[{"match":{"text":"session_id"},"start":58,"end":68}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py"},"lines":{"text":"            event.app.exit(result=item.session_id)\n"},"line_number":422,"absolute_offset":15581,"submatches":[{"match":{"text":"session_id"},"start":39,"end":49}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py"},"lines":{"text":"        path = self._transcript_path_resolver(item.session_id)\n"},"line_number":430,"absolute_offset":15892,"submatches":[{"match":{"text":"session_id"},"start":51,"end":61}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":21739,"human":"0.000022s"},"searches":1,"searches_with_match":1,"bytes_searched":22047,"bytes_printed":1771,"matched_lines":5,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py"},"lines":{"text":"    def interrupt_running(self) -> None:\n"},"line_number":668,"absolute_offset":24588,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tool_view.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":18936,"human":"0.000019s"},"searches":1,"searches_with_match":1,"bytes_searched":30807,"bytes_printed":433,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    from comate_cli.terminal_agent.resume_selector import select_resume_session_id\n"},"line_number":290,"absolute_offset":8775,"submatches":[{"match":{"text":"session_id"},"start":72,"end":82}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    return select_resume_session_id\n"},"line_number":292,"absolute_offset":8859,"submatches":[{"match":{"text":"session_id"},"start":25,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            label = f\"{index}/{len(unique_sessions)} session_id={session.session_id}\"\n"},"line_number":372,"absolute_offset":11197,"submatches":[{"match":{"text":"session_id"},"start":53,"end":63},{"match":{"text":"session_id"},"start":73,"end":83}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    resume_session_id: str | None,\n"},"line_number":419,"absolute_offset":12891,"submatches":[{"match":{"text":"session_id"},"start":11,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    if resume_session_id:\n"},"line_number":425,"absolute_offset":13078,"submatches":[{"match":{"text":"session_id"},"start":14,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            return ChatSession.resume(agent, session_id=resume_session_id, cwd=cwd), \"resume\"\n"},"line_number":429,"absolute_offset":13210,"submatches":[{"match":{"text":"session_id"},"start":45,"end":55},{"match":{"text":"session_id"},"start":63,"end":73}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"def _format_resume_hint(session_id: str | None) -> str | None:\n"},"line_number":460,"absolute_offset":14434,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    if not session_id:\n"},"line_number":461,"absolute_offset":14497,"submatches":[{"match":{"text":"session_id"},"start":11,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        f\"{session_id}[/][/]\"\n"},"line_number":465,"absolute_offset":14625,"submatches":[{"match":{"text":"session_id"},"start":11,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    resume_session_id: str | None = None,\n"},"line_number":644,"absolute_offset":20426,"submatches":[{"match":{"text":"session_id"},"start":11,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"                    session_id=None,\n"},"line_number":684,"absolute_offset":22453,"submatches":[{"match":{"text":"session_id"},"start":20,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    if rpc_stdio and resume_select and not resume_session_id:\n"},"line_number":710,"absolute_offset":23298,"submatches":[{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        console.print(\"[red]`comate resume` does not support `--rpc-stdio` without <session_id>[/]\")\n"},"line_number":711,"absolute_offset":23360,"submatches":[{"match":{"text":"session_id"},"start":84,"end":94}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            resume_session_id,\n"},"line_number":717,"absolute_offset":23557,"submatches":[{"match":{"text":"session_id"},"start":19,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    if resume_select and not resume_session_id:\n"},"line_number":739,"absolute_offset":24124,"submatches":[{"match":{"text":"session_id"},"start":36,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        select_resume_session_id = _import_resume_selector()\n"},"line_number":740,"absolute_offset":24172,"submatches":[{"match":{"text":"session_id"},"start":22,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        selected_session_id = await select_resume_session_id(console, cwd=project_root)\n"},"line_number":741,"absolute_offset":24233,"submatches":[{"match":{"text":"session_id"},"start":17,"end":27},{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        if not selected_session_id:\n"},"line_number":742,"absolute_offset":24321,"submatches":[{"match":{"text":"session_id"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        resume_session_id = selected_session_id\n"},"line_number":744,"absolute_offset":24376,"submatches":[{"match":{"text":"session_id"},"start":15,"end":25},{"match":{"text":"session_id"},"start":37,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        resume_session_id,\n"},"line_number":758,"absolute_offset":25125,"submatches":[{"match":{"text":"session_id"},"start":15,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"                \"TUI branch leaving: exit_source=%s session_id=%s active_session_id=%s\",\n"},"line_number":822,"absolute_offset":27465,"submatches":[{"match":{"text":"session_id"},"start":52,"end":62},{"match":{"text":"session_id"},"start":73,"end":83}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"                getattr(session, \"session_id\", None),\n"},"line_number":824,"absolute_offset":27587,"submatches":[{"match":{"text":"session_id"},"start":34,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"                getattr(active_session, \"session_id\", None),\n"},"line_number":825,"absolute_offset":27641,"submatches":[{"match":{"text":"session_id"},"start":41,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    initialized_session_id = tui.initialized_session_id\n"},"line_number":843,"absolute_offset":28260,"submatches":[{"match":{"text":"session_id"},"start":16,"end":26},{"match":{"text":"session_id"},"start":45,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    resume_hint = _format_resume_hint(initialized_session_id)\n"},"line_number":844,"absolute_offset":28316,"submatches":[{"match":{"text":"session_id"},"start":50,"end":60}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":58626,"human":"0.000059s"},"searches":1,"searches_with_match":1,"bytes_searched":28497,"bytes_printed":8229,"matched_lines":25,"matches":31}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"        \"\"\"spec §6.4：interrupt_turn 调用。\n"},"line_number":682,"absolute_offset":25449,"submatches":[{"match":{"text":"interrupt"},"start":24,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"    def interrupt_turn(self) -> None:\n"},"line_number":845,"absolute_offset":31740,"submatches":[{"match":{"text":"interrupt"},"start":8,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"                    text=f\"Current task interrupted ({len(self._running_tools)} running tools)\",\n"},"line_number":851,"absolute_offset":31959,"submatches":[{"match":{"text":"interrupt"},"start":40,"end":49}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"            case SessionInitEvent(session_id=_):\n"},"line_number":1567,"absolute_offset":59701,"submatches":[{"match":{"text":"session_id"},"start":34,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"                if reason == \"interrupted\" and \"error\" not in event.metadata:\n"},"line_number":1882,"absolute_offset":75491,"submatches":[{"match":{"text":"interrupt"},"start":30,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"                        HistoryEntry(entry_type=\"system\", text=\"Current task interrupted.\", severity=\"warning\")\n"},"line_number":1884,"absolute_offset":75617,"submatches":[{"match":{"text":"interrupt"},"start":77,"end":86}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":52674,"human":"0.000053s"},"searches":1,"searches_with_match":1,"bytes_searched":77981,"bytes_printed":2174,"matched_lines":6,"matches":6}}}
{"data":{"elapsed_total":{"human":"0.021649s","nanos":21648575,"secs":0},"stats":{"bytes_printed":168532,"bytes_searched":1202975,"elapsed":{"human":"0.001871s","nanos":1871391,"secs":0},"matched_lines":495,"matches":537,"searches":61,"searches_with_match":61}},"type":"summary"}
