{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"| `comate --rpc-stdio --yolo` | 权限模式由每个 `session.open.params.permission_mode` 显式声明。 |\n"},"line_number":19,"absolute_offset":867,"submatches":[{"match":{"text":"yolo"},"start":24,"end":28},{"match":{"text":"permission_mode"},"start":75,"end":90}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"{\"jsonrpc\":\"2.0\",\"id\":\"r-init\",\"result\":{\"protocol_version\":3,\"capabilities\":{\"multi_session\":true,\"permission_requests\":true,\"plan_approval\":true,\"set_permission_mode\":true,\"partial_messages\":true,\"sessions_read\":true,\"session_status\":true,\"custom_commands\":true},\"default_cwd\":\"/workspace/project\"}}\n"},"line_number":51,"absolute_offset":2431,"submatches":[{"match":{"text":"permission_mode"},"start":152,"end":167}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"| `set_permission_mode` | 支持运行时切换 session permission mode。 |\n"},"line_number":67,"absolute_offset":3199,"submatches":[{"match":{"text":"permission_mode"},"start":7,"end":22},{"match":{"text":"permission mode"},"start":56,"end":71}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"| `permission_mode` | string | 否 | `default` / `acceptEdits` / `plan` / `bypassPermissions`，缺省 `default`。 |\n"},"line_number":121,"absolute_offset":5133,"submatches":[{"match":{"text":"permission_mode"},"start":3,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"{\"session_handle\":\"s-1\",\"session_id\":\"...\",\"permission_mode\":\"default\"}\n"},"line_number":127,"absolute_offset":5384,"submatches":[{"match":{"text":"permission_mode"},"start":44,"end":59}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"结果：`{\"permission_mode\":\"...\",\"previous\":\"...\"}`。mode 变化时会发 `PermissionModeChanged` 事件。\n"},"line_number":162,"absolute_offset":6455,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"结果：`{\"accepted\":true,\"permission_mode\":\"default\"}`。\n"},"line_number":175,"absolute_offset":6885,"submatches":[{"match":{"text":"permission_mode"},"start":28,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"结果：`{\"rejected\":true,\"permission_mode\":\"...\"}`。\n"},"line_number":183,"absolute_offset":7072,"submatches":[{"match":{"text":"permission_mode"},"start":28,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"| `permission_mode` | 当前权限模式。 |\n"},"line_number":197,"absolute_offset":7437,"submatches":[{"match":{"text":"permission_mode"},"start":3,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"{\"jsonrpc\":\"2.0\",\"id\":\"r-open\",\"method\":\"session.open\",\"params\":{\"permission_mode\":\"default\"}}\n"},"line_number":335,"absolute_offset":11637,"submatches":[{"match":{"text":"permission_mode"},"start":66,"end":81}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"{\"jsonrpc\":\"2.0\",\"id\":\"srv-1\",\"method\":\"permission.request\",\"params\":{\"session_handle\":\"s-1\",\"session_id\":\"sid-1\",\"tool_name\":\"Bash\",\"tool_input\":{\"command\":\"ls\"},\"tool_call_id\":\"tc-1\",\"cwd\":\"/workspace/project\",\"permission_mode\":\"default\",\"reason\":\"ask\",\"permission_suggestions\":[],\"policy_source\":\"rule\",\"agent_id\":null,\"agent_type\":null,\"team_name\":null}}\n"},"line_number":358,"absolute_offset":12629,"submatches":[{"match":{"text":"permission_mode"},"start":213,"end":228}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"{\"jsonrpc\":\"2.0\",\"id\":\"r-open\",\"method\":\"session.open\",\"params\":{\"permission_mode\":\"plan\"}}\n"},"line_number":392,"absolute_offset":13871,"submatches":[{"match":{"text":"permission_mode"},"start":66,"end":81}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"- `session.open` 缺省 `permission_mode` 是 `default`。\n"},"line_number":432,"absolute_offset":15739,"submatches":[{"match":{"text":"permission_mode"},"start":25,"end":40}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"- `--yolo` 不支持与 `--rpc-stdio` 混用。\n"},"line_number":434,"absolute_offset":15904,"submatches":[{"match":{"text":"yolo"},"start":5,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"lines":{"text":"- 每个 handle 对应一个独立 `ChatSession`、event pump、permission mode、approval bridge。\n"},"line_number":441,"absolute_offset":16288,"submatches":[{"match":{"text":"permission mode"},"start":64,"end":79}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/docs/cli-rpc-stdio-guide.md"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":121080,"human":"0.000121s"},"searches":1,"searches_with_match":1,"bytes_searched":17052,"bytes_printed":5875,"matched_lines":15,"matches":17}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"        \"permission_mode\": \"default\",\n"},"line_number":33,"absolute_offset":875,"submatches":[{"match":{"text":"permission_mode"},"start":9,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"        self.permission_mode = \"default\"\n"},"line_number":54,"absolute_offset":1495,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"    def get_permission_mode(self) -> str:\n"},"line_number":79,"absolute_offset":2279,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"        return self.permission_mode\n"},"line_number":80,"absolute_offset":2321,"submatches":[{"match":{"text":"permission_mode"},"start":20,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"    def set_permission_mode(self, mode: str) -> str:\n"},"line_number":82,"absolute_offset":2358,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"        self.permission_mode = mode\n"},"line_number":83,"absolute_offset":2411,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"        self.permission_mode = \"default\"\n"},"line_number":95,"absolute_offset":2844,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"        second = await host.open(_open_params(permission_mode=\"plan\"))\n"},"line_number":192,"absolute_offset":5654,"submatches":[{"match":{"text":"permission_mode"},"start":46,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"            self.assertEqual(created[0].permission_mode, \"default\")\n"},"line_number":198,"absolute_offset":5981,"submatches":[{"match":{"text":"permission_mode"},"start":40,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"            self.assertEqual(created[1].permission_mode, \"plan\")\n"},"line_number":199,"absolute_offset":6049,"submatches":[{"match":{"text":"permission_mode"},"start":40,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"    async def test_set_permission_mode_emits_mode_changed(self) -> None:\n"},"line_number":317,"absolute_offset":11358,"submatches":[{"match":{"text":"permission_mode"},"start":23,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"            result = await host.set_permission_mode(rpc_session.handle, \"plan\")\n"},"line_number":320,"absolute_offset":11506,"submatches":[{"match":{"text":"permission_mode"},"start":36,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"            self.assertEqual(result, {\"permission_mode\": \"plan\", \"previous\": \"default\"})\n"},"line_number":321,"absolute_offset":11586,"submatches":[{"match":{"text":"permission_mode"},"start":39,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"            fake.permission_mode = \"plan\"\n"},"line_number":329,"absolute_offset":11951,"submatches":[{"match":{"text":"permission_mode"},"start":17,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"            self.assertEqual(result[\"permission_mode\"], \"default\")\n"},"line_number":338,"absolute_offset":12369,"submatches":[{"match":{"text":"permission_mode"},"start":37,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"lines":{"text":"            self.assertEqual(status[\"permission_mode\"], \"default\")\n"},"line_number":357,"absolute_offset":13205,"submatches":[{"match":{"text":"permission_mode"},"start":37,"end":52}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_session_host.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":75695,"human":"0.000076s"},"searches":1,"searches_with_match":1,"bytes_searched":15798,"bytes_printed":5158,"matched_lines":16,"matches":16}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        \"  --yolo             Start in bypassPermissions (YOLO) mode\"\n"},"line_number":221,"absolute_offset":7056,"submatches":[{"match":{"text":"yolo"},"start":13,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    yolo = False\n"},"line_number":232,"absolute_offset":7368,"submatches":[{"match":{"text":"yolo"},"start":4,"end":8}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        if arg == \"--yolo\":\n"},"line_number":241,"absolute_offset":7561,"submatches":[{"match":{"text":"yolo"},"start":21,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            yolo = True\n"},"line_number":242,"absolute_offset":7589,"submatches":[{"match":{"text":"yolo"},"start":12,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    if rpc_stdio and yolo:\n"},"line_number":287,"absolute_offset":9348,"submatches":[{"match":{"text":"yolo"},"start":21,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            \"--yolo is not supported with --rpc-stdio; \"\n"},"line_number":289,"absolute_offset":9405,"submatches":[{"match":{"text":"yolo"},"start":15,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            \"set permission_mode per session via session.open\"\n"},"line_number":290,"absolute_offset":9462,"submatches":[{"match":{"text":"permission_mode"},"start":17,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        return rpc_stdio, None, False, print_prompt, output_format, tuple(add_dirs), yolo\n"},"line_number":301,"absolute_offset":9912,"submatches":[{"match":{"text":"yolo"},"start":85,"end":89}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        return rpc_stdio, None, False, None, output_format, tuple(add_dirs), yolo\n"},"line_number":305,"absolute_offset":10061,"submatches":[{"match":{"text":"yolo"},"start":77,"end":81}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        return rpc_stdio, None, True, None, output_format, tuple(add_dirs), yolo\n"},"line_number":318,"absolute_offset":10462,"submatches":[{"match":{"text":"yolo"},"start":76,"end":80}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        return rpc_stdio, positionals[1], False, None, output_format, tuple(add_dirs), yolo\n"},"line_number":321,"absolute_offset":10574,"submatches":[{"match":{"text":"yolo"},"start":87,"end":91}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            yolo,\n"},"line_number":446,"absolute_offset":14413,"submatches":[{"match":{"text":"yolo"},"start":12,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"                yolo=yolo,\n"},"line_number":472,"absolute_offset":15405,"submatches":[{"match":{"text":"yolo"},"start":16,"end":20},{"match":{"text":"yolo"},"start":21,"end":25}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/main.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":50934,"human":"0.000051s"},"searches":1,"searches_with_match":1,"bytes_searched":15874,"bytes_printed":3883,"matched_lines":13,"matches":14}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_serde.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_serde.py"},"lines":{"text":"    build_permission_mode_changed_event,\n"},"line_number":19,"absolute_offset":382,"submatches":[{"match":{"text":"permission_mode"},"start":10,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_serde.py"},"lines":{"text":"    def test_permission_mode_changed(self) -> None:\n"},"line_number":110,"absolute_offset":3952,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_serde.py"},"lines":{"text":"        data = build_permission_mode_changed_event(\n"},"line_number":111,"absolute_offset":4004,"submatches":[{"match":{"text":"permission_mode"},"start":21,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_serde.py"},"lines":{"text":"            permission_mode=\"plan\", previous=\"default\"\n"},"line_number":112,"absolute_offset":4056,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_serde.py"},"lines":{"text":"        self.assertEqual(data[\"payload\"], {\"permission_mode\": \"plan\", \"previous\": \"default\"})\n"},"line_number":115,"absolute_offset":4185,"submatches":[{"match":{"text":"permission_mode"},"start":44,"end":59}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_serde.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":36398,"human":"0.000036s"},"searches":1,"searches_with_match":1,"bytes_searched":4572,"bytes_printed":1666,"matched_lines":5,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"lines":{"text":"        self.permission_mode = \"default\"\n"},"line_number":61,"absolute_offset":1609,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"lines":{"text":"    def get_permission_mode(self) -> str:\n"},"line_number":77,"absolute_offset":2018,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"lines":{"text":"        return self.permission_mode\n"},"line_number":78,"absolute_offset":2060,"submatches":[{"match":{"text":"permission_mode"},"start":20,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"lines":{"text":"    def set_permission_mode(self, mode: str) -> str:\n"},"line_number":80,"absolute_offset":2097,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"lines":{"text":"        self.permission_mode = mode\n"},"line_number":81,"absolute_offset":2150,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"lines":{"text":"                permission_mode=\"default\",\n"},"line_number":188,"absolute_offset":6248,"submatches":[{"match":{"text":"permission_mode"},"start":16,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"lines":{"text":"                permission_mode=\"default\",\n"},"line_number":238,"absolute_offset":8221,"submatches":[{"match":{"text":"permission_mode"},"start":16,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"lines":{"text":"                permission_mode=\"default\",\n"},"line_number":269,"absolute_offset":9479,"submatches":[{"match":{"text":"permission_mode"},"start":16,"end":31}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_stdio_transport.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":53643,"human":"0.000054s"},"searches":1,"searches_with_match":1,"bytes_searched":11680,"bytes_printed":2537,"matched_lines":8,"matches":8}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py"},"lines":{"text":"    \"permission_mode\": \"default\",\n"},"line_number":20,"absolute_offset":431,"submatches":[{"match":{"text":"permission_mode"},"start":5,"end":20}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_approval.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":18799,"human":"0.000019s"},"searches":1,"searches_with_match":1,"bytes_searched":4355,"bytes_printed":405,"matched_lines":1,"matches":1}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"    async def test_rpc_stdio_yolo_returns_before_building_agent(self) -> None:\n"},"line_number":443,"absolute_offset":15916,"submatches":[{"match":{"text":"yolo"},"start":29,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"            await app_module.run(rpc_stdio=True, yolo=True)\n"},"line_number":453,"absolute_offset":16396,"submatches":[{"match":{"text":"yolo"},"start":49,"end":53}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"    async def test_run_threads_approval_bridge_and_yolo_to_tui(self) -> None:\n"},"line_number":576,"absolute_offset":21692,"submatches":[{"match":{"text":"yolo"},"start":51,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"            await app_module.run(yolo=True)\n"},"line_number":613,"absolute_offset":23322,"submatches":[{"match":{"text":"yolo"},"start":33,"end":37}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"        self.assertTrue(build_kwargs[\"yolo\"])\n"},"line_number":618,"absolute_offset":23546,"submatches":[{"match":{"text":"yolo"},"start":38,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"lines":{"text":"        self.assertTrue(tui_kwargs[\"yolo\"])\n"},"line_number":619,"absolute_offset":23592,"submatches":[{"match":{"text":"yolo"},"start":36,"end":40}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_app_startup_latency.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":52246,"human":"0.000052s"},"searches":1,"searches_with_match":1,"bytes_searched":26747,"bytes_printed":1974,"matched_lines":6,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_status_bar.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_status_bar.py"},"lines":{"text":"    def get_permission_mode(self) -> str:\n"},"line_number":59,"absolute_offset":1751,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_status_bar.py"},"lines":{"text":"        raise AssertionError(\"status bar should use get_permission_mode first\")\n"},"line_number":63,"absolute_offset":1851,"submatches":[{"match":{"text":"permission_mode"},"start":56,"end":71}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_status_bar.py"},"lines":{"text":"    async def test_refresh_prefers_canonical_permission_mode(self, _mock_branch) -> None:\n"},"line_number":146,"absolute_offset":4859,"submatches":[{"match":{"text":"permission_mode"},"start":45,"end":60}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_status_bar.py"},"lines":{"text":"    def test_set_session_prefers_canonical_permission_mode(self) -> None:\n"},"line_number":153,"absolute_offset":5129,"submatches":[{"match":{"text":"permission_mode"},"start":43,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_status_bar.py"},"lines":{"text":"    def test_set_mode_preserves_canonical_permission_mode(self) -> None:\n"},"line_number":167,"absolute_offset":5639,"submatches":[{"match":{"text":"permission_mode"},"start":42,"end":57}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_status_bar.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":41008,"human":"0.000041s"},"searches":1,"searches_with_match":1,"bytes_searched":23984,"bytes_printed":1725,"matched_lines":5,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args_yolo.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args_yolo.py"},"lines":{"text":"def test_yolo_flag_parsed() -> None:\n"},"line_number":6,"absolute_offset":78,"submatches":[{"match":{"text":"yolo"},"start":9,"end":13}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args_yolo.py"},"lines":{"text":"    parsed = _parse_args([\"--yolo\"])\n"},"line_number":7,"absolute_offset":115,"submatches":[{"match":{"text":"yolo"},"start":29,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args_yolo.py"},"lines":{"text":"def test_resume_with_yolo() -> None:\n"},"line_number":11,"absolute_offset":184,"submatches":[{"match":{"text":"yolo"},"start":21,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args_yolo.py"},"lines":{"text":"    parsed = _parse_args([\"resume\", \"abc123\", \"--yolo\"])\n"},"line_number":12,"absolute_offset":221,"submatches":[{"match":{"text":"yolo"},"start":49,"end":53}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args_yolo.py"},"lines":{"text":"def test_resume_without_yolo_does_not_infer_bypass_from_session_history() -> None:\n"},"line_number":17,"absolute_offset":343,"submatches":[{"match":{"text":"yolo"},"start":24,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args_yolo.py"},"lines":{"text":"def test_default_no_yolo() -> None:\n"},"line_number":23,"absolute_offset":539,"submatches":[{"match":{"text":"yolo"},"start":20,"end":24}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args_yolo.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":20582,"human":"0.000021s"},"searches":1,"searches_with_match":1,"bytes_searched":635,"bytes_printed":1857,"matched_lines":6,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    yolo: bool = False,\n"},"line_number":423,"absolute_offset":13029,"submatches":[{"match":{"text":"yolo"},"start":4,"end":8}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        permission_mode=\"bypassPermissions\" if yolo else \"default\",\n"},"line_number":456,"absolute_offset":14430,"submatches":[{"match":{"text":"permission_mode"},"start":8,"end":23},{"match":{"text":"yolo"},"start":47,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    yolo: bool = False,\n"},"line_number":704,"absolute_offset":22622,"submatches":[{"match":{"text":"yolo"},"start":4,"end":8}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    if rpc_stdio and yolo:\n"},"line_number":761,"absolute_offset":25252,"submatches":[{"match":{"text":"yolo"},"start":21,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            \"[red]--yolo is not supported with --rpc-stdio; \"\n"},"line_number":763,"absolute_offset":25302,"submatches":[{"match":{"text":"yolo"},"start":20,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            \"set permission_mode per session via session.open[/]\"\n"},"line_number":764,"absolute_offset":25364,"submatches":[{"match":{"text":"permission_mode"},"start":17,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        yolo=yolo,\n"},"line_number":795,"absolute_offset":26514,"submatches":[{"match":{"text":"yolo"},"start":8,"end":12},{"match":{"text":"yolo"},"start":13,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    get_permission_mode = getattr(session, \"get_permission_mode\", None)\n"},"line_number":847,"absolute_offset":28542,"submatches":[{"match":{"text":"permission_mode"},"start":8,"end":23},{"match":{"text":"permission_mode"},"start":48,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        get_permission_mode() if callable(get_permission_mode) else session.get_mode()\n"},"line_number":849,"absolute_offset":28639,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27},{"match":{"text":"permission_mode"},"start":46,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        yolo=yolo,\n"},"line_number":865,"absolute_offset":29137,"submatches":[{"match":{"text":"yolo"},"start":8,"end":12},{"match":{"text":"yolo"},"start":13,"end":17}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":63859,"human":"0.000064s"},"searches":1,"searches_with_match":1,"bytes_searched":31750,"bytes_printed":3370,"matched_lines":10,"matches":15}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py"},"lines":{"text":"        get_permission_mode = getattr(session, \"get_permission_mode\", None)\n"},"line_number":137,"absolute_offset":4934,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27},{"match":{"text":"permission_mode"},"start":52,"end":67}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py"},"lines":{"text":"        if callable(get_permission_mode):\n"},"line_number":138,"absolute_offset":5010,"submatches":[{"match":{"text":"permission_mode"},"start":24,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py"},"lines":{"text":"            return cls._normalize_display_mode(get_permission_mode())\n"},"line_number":139,"absolute_offset":5052,"submatches":[{"match":{"text":"permission_mode"},"start":51,"end":66}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/status_bar.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":67329,"human":"0.000067s"},"searches":1,"searches_with_match":1,"bytes_searched":25483,"bytes_printed":1173,"matched_lines":3,"matches":4}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_options.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_options.py"},"lines":{"text":"        self.assertEqual(params.permission_mode, \"default\")\n"},"line_number":21,"absolute_offset":594,"submatches":[{"match":{"text":"permission_mode"},"start":32,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_options.py"},"lines":{"text":"    def test_all_four_permission_modes_accepted(self) -> None:\n"},"line_number":24,"absolute_offset":713,"submatches":[{"match":{"text":"permission_mode"},"start":22,"end":37}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_options.py"},"lines":{"text":"                {\"permission_mode\": mode}, default_cwd=_DEFAULT_CWD\n"},"line_number":27,"absolute_offset":862,"submatches":[{"match":{"text":"permission_mode"},"start":18,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_options.py"},"lines":{"text":"            self.assertEqual(params.permission_mode, mode)\n"},"line_number":29,"absolute_offset":944,"submatches":[{"match":{"text":"permission_mode"},"start":36,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_options.py"},"lines":{"text":"            parse_session_open_params({\"permission_mode\": \"act\"}, default_cwd=_DEFAULT_CWD)\n"},"line_number":33,"absolute_offset":1106,"submatches":[{"match":{"text":"permission_mode"},"start":40,"end":55}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_options.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":20368,"human":"0.000020s"},"searches":1,"searches_with_match":1,"bytes_searched":2353,"bytes_printed":1713,"matched_lines":5,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"    def test_parse_args_rejects_yolo_with_rpc_stdio(self) -> None:\n"},"line_number":25,"absolute_offset":825,"submatches":[{"match":{"text":"yolo"},"start":32,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"            main_module._parse_args([\"--rpc-stdio\", \"--yolo\"])\n"},"line_number":27,"absolute_offset":952,"submatches":[{"match":{"text":"yolo"},"start":55,"end":59}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        *_rest, add_dirs, yolo = main_module._parse_args([])\n"},"line_number":255,"absolute_offset":11036,"submatches":[{"match":{"text":"yolo"},"start":26,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertFalse(yolo)\n"},"line_number":257,"absolute_offset":11136,"submatches":[{"match":{"text":"yolo"},"start":25,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        *_rest, add_dirs, yolo = main_module._parse_args([\"--add-dir\", \"/some/path\"])\n"},"line_number":260,"absolute_offset":11222,"submatches":[{"match":{"text":"yolo"},"start":26,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertFalse(yolo)\n"},"line_number":262,"absolute_offset":11360,"submatches":[{"match":{"text":"yolo"},"start":25,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        *_rest, add_dirs, yolo = main_module._parse_args([\"--add-dir=/some/path\"])\n"},"line_number":265,"absolute_offset":11451,"submatches":[{"match":{"text":"yolo"},"start":26,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertFalse(yolo)\n"},"line_number":267,"absolute_offset":11586,"submatches":[{"match":{"text":"yolo"},"start":25,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        *_rest, add_dirs, yolo = main_module._parse_args(\n"},"line_number":270,"absolute_offset":11676,"submatches":[{"match":{"text":"yolo"},"start":26,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertFalse(yolo)\n"},"line_number":274,"absolute_offset":11841,"submatches":[{"match":{"text":"yolo"},"start":25,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        _, _, _, print_prompt, _output_format, add_dirs, yolo = main_module._parse_args(\n"},"line_number":286,"absolute_offset":12399,"submatches":[{"match":{"text":"yolo"},"start":57,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertFalse(yolo)\n"},"line_number":291,"absolute_offset":12637,"submatches":[{"match":{"text":"yolo"},"start":25,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"    def test_main_passes_yolo_to_run(self) -> None:\n"},"line_number":347,"absolute_offset":14743,"submatches":[{"match":{"text":"yolo"},"start":25,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"            main_module.main([\"--yolo\"])\n"},"line_number":351,"absolute_offset":14933,"submatches":[{"match":{"text":"yolo"},"start":33,"end":37}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertTrue(call_kwargs[\"yolo\"])\n"},"line_number":353,"absolute_offset":15022,"submatches":[{"match":{"text":"yolo"},"start":37,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"    def test_app_run_accepts_yolo_kwarg(self) -> None:\n"},"line_number":362,"absolute_offset":15276,"submatches":[{"match":{"text":"yolo"},"start":29,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertIn(\"yolo\", inspect.signature(app.run).parameters)\n"},"line_number":367,"absolute_offset":15406,"submatches":[{"match":{"text":"yolo"},"start":23,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"    def test_build_agent_projects_cli_permission_mode_and_callback(self) -> None:\n"},"line_number":407,"absolute_offset":16757,"submatches":[{"match":{"text":"permission_mode"},"start":38,"end":53}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"            self.assertEqual(captured[\"permission_mode\"], \"default\")\n"},"line_number":441,"absolute_offset":17845,"submatches":[{"match":{"text":"permission_mode"},"start":39,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"                yolo=True,\n"},"line_number":447,"absolute_offset":18091,"submatches":[{"match":{"text":"yolo"},"start":16,"end":20}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"lines":{"text":"        self.assertEqual(captured[\"permission_mode\"], \"bypassPermissions\")\n"},"line_number":451,"absolute_offset":18182,"submatches":[{"match":{"text":"permission_mode"},"start":35,"end":50}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_main_args.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":91758,"human":"0.000092s"},"searches":1,"searches_with_match":1,"bytes_searched":18392,"bytes_printed":6362,"matched_lines":21,"matches":21}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        yolo: bool = False,\n"},"line_number":229,"absolute_offset":7883,"submatches":[{"match":{"text":"yolo"},"start":8,"end":12}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._yolo = yolo\n"},"line_number":233,"absolute_offset":8006,"submatches":[{"match":{"text":"yolo"},"start":14,"end":18},{"match":{"text":"yolo"},"start":21,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            self._status_bar.set_mode(self._current_permission_mode())\n"},"line_number":236,"absolute_offset":8083,"submatches":[{"match":{"text":"permission_mode"},"start":52,"end":67}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"    def _current_permission_mode(self) -> str:\n"},"line_number":768,"absolute_offset":31265,"submatches":[{"match":{"text":"permission_mode"},"start":17,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        get_permission_mode = getattr(self._session, \"get_permission_mode\", None)\n"},"line_number":769,"absolute_offset":31312,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27},{"match":{"text":"permission_mode"},"start":58,"end":73}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        if callable(get_permission_mode):\n"},"line_number":770,"absolute_offset":31394,"submatches":[{"match":{"text":"permission_mode"},"start":24,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            return str(get_permission_mode())\n"},"line_number":771,"absolute_offset":31436,"submatches":[{"match":{"text":"permission_mode"},"start":27,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            self._status_bar.set_mode(self._current_permission_mode())\n"},"line_number":1965,"absolute_offset":80110,"submatches":[{"match":{"text":"permission_mode"},"start":52,"end":67}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            self._status_bar.set_mode(self._current_permission_mode())\n"},"line_number":1980,"absolute_offset":80665,"submatches":[{"match":{"text":"permission_mode"},"start":52,"end":67}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":107813,"human":"0.000108s"},"searches":1,"searches_with_match":1,"bytes_searched":112680,"bytes_printed":3020,"matched_lines":9,"matches":11}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"},"lines":{"text":"    {\"cwd\", \"session_id\", \"permission_mode\", \"include_partial_messages\"}\n"},"line_number":15,"absolute_offset":258,"submatches":[{"match":{"text":"permission_mode"},"start":27,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"},"lines":{"text":"    permission_mode: str\n"},"line_number":27,"absolute_offset":493,"submatches":[{"match":{"text":"permission_mode"},"start":4,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"},"lines":{"text":"    mode_raw = raw.get(\"permission_mode\")\n"},"line_number":58,"absolute_offset":1508,"submatches":[{"match":{"text":"permission_mode"},"start":24,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"},"lines":{"text":"        permission_mode = \"default\"\n"},"line_number":60,"absolute_offset":1575,"submatches":[{"match":{"text":"permission_mode"},"start":8,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"},"lines":{"text":"        permission_mode = mode_raw\n"},"line_number":62,"absolute_offset":1680,"submatches":[{"match":{"text":"permission_mode"},"start":8,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"},"lines":{"text":"            f\"permission_mode must be one of {list(PERMISSION_MODES)}\"\n"},"line_number":65,"absolute_offset":1756,"submatches":[{"match":{"text":"permission_mode"},"start":14,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"},"lines":{"text":"        permission_mode=permission_mode,\n"},"line_number":79,"absolute_offset":2230,"submatches":[{"match":{"text":"permission_mode"},"start":8,"end":23},{"match":{"text":"permission_mode"},"start":24,"end":39}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/options.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":47225,"human":"0.000047s"},"searches":1,"searches_with_match":1,"bytes_searched":2336,"bytes_printed":2375,"matched_lines":7,"matches":8}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/serde.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/serde.py"},"lines":{"text":"def build_permission_mode_changed_event(\n"},"line_number":67,"absolute_offset":1699,"submatches":[{"match":{"text":"permission_mode"},"start":10,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/serde.py"},"lines":{"text":"    *, permission_mode: str, previous: str\n"},"line_number":68,"absolute_offset":1740,"submatches":[{"match":{"text":"permission_mode"},"start":7,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/serde.py"},"lines":{"text":"        \"payload\": {\"permission_mode\": permission_mode, \"previous\": previous},\n"},"line_number":72,"absolute_offset":1858,"submatches":[{"match":{"text":"permission_mode"},"start":21,"end":36},{"match":{"text":"permission_mode"},"start":39,"end":54}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/serde.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":17581,"human":"0.000018s"},"searches":1,"searches_with_match":1,"bytes_searched":2079,"bytes_printed":1144,"matched_lines":3,"matches":4}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/server.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/server.py"},"lines":{"text":"        \"set_permission_mode\": True,\n"},"line_number":59,"absolute_offset":1498,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/server.py"},"lines":{"text":"            \"session.setPermissionMode\": self._handle_set_permission_mode,\n"},"line_number":322,"absolute_offset":10242,"submatches":[{"match":{"text":"permission_mode"},"start":58,"end":73}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/server.py"},"lines":{"text":"            \"permission_mode\": rpc_session.chat_session.get_permission_mode(),\n"},"line_number":377,"absolute_offset":12867,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28},{"match":{"text":"permission_mode"},"start":60,"end":75}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/server.py"},"lines":{"text":"    async def _handle_set_permission_mode(self, params: dict[str, Any]) -> dict[str, Any]:\n"},"line_number":390,"absolute_offset":13435,"submatches":[{"match":{"text":"permission_mode"},"start":26,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/server.py"},"lines":{"text":"        return await self._host.set_permission_mode(handle, mode)\n"},"line_number":398,"absolute_offset":13861,"submatches":[{"match":{"text":"permission_mode"},"start":36,"end":51}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/server.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":55014,"human":"0.000055s"},"searches":1,"searches_with_match":1,"bytes_searched":17055,"bytes_printed":1870,"matched_lines":5,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            cycle_permission_mode = getattr(self._session, \"cycle_permission_mode\", None)\n"},"line_number":107,"absolute_offset":3563,"submatches":[{"match":{"text":"permission_mode"},"start":18,"end":33},{"match":{"text":"permission_mode"},"start":66,"end":81}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            if callable(cycle_permission_mode):\n"},"line_number":108,"absolute_offset":3653,"submatches":[{"match":{"text":"permission_mode"},"start":30,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"                mode = cycle_permission_mode()\n"},"line_number":109,"absolute_offset":3701,"submatches":[{"match":{"text":"permission_mode"},"start":29,"end":44}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":54734,"human":"0.000055s"},"searches":1,"searches_with_match":1,"bytes_searched":82856,"bytes_printed":1202,"matched_lines":3,"matches":4}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"    build_permission_mode_changed_event,\n"},"line_number":27,"absolute_offset":767,"submatches":[{"match":{"text":"permission_mode"},"start":10,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        chat_session.set_permission_mode(params.permission_mode)\n"},"line_number":170,"absolute_offset":5199,"submatches":[{"match":{"text":"permission_mode"},"start":25,"end":40},{"match":{"text":"permission_mode"},"start":48,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        self, handle: str, *, permission_mode: str, previous: str\n"},"line_number":238,"absolute_offset":8220,"submatches":[{"match":{"text":"permission_mode"},"start":30,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        if permission_mode == previous:\n"},"line_number":240,"absolute_offset":8301,"submatches":[{"match":{"text":"permission_mode"},"start":11,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"            build_permission_mode_changed_event(\n"},"line_number":243,"absolute_offset":8392,"submatches":[{"match":{"text":"permission_mode"},"start":18,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"                permission_mode=permission_mode, previous=previous\n"},"line_number":244,"absolute_offset":8441,"submatches":[{"match":{"text":"permission_mode"},"start":16,"end":31},{"match":{"text":"permission_mode"},"start":32,"end":47}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"    async def set_permission_mode(self, handle: str, mode: str) -> dict[str, Any]:\n"},"line_number":250,"absolute_offset":8598,"submatches":[{"match":{"text":"permission_mode"},"start":18,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        previous = rpc_session.chat_session.get_permission_mode()\n"},"line_number":252,"absolute_offset":8724,"submatches":[{"match":{"text":"permission_mode"},"start":48,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        new_mode = rpc_session.chat_session.set_permission_mode(mode)\n"},"line_number":253,"absolute_offset":8790,"submatches":[{"match":{"text":"permission_mode"},"start":48,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        await self._emit_mode_changed(handle, permission_mode=new_mode, previous=previous)\n"},"line_number":254,"absolute_offset":8860,"submatches":[{"match":{"text":"permission_mode"},"start":46,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        return {\"permission_mode\": new_mode, \"previous\": previous}\n"},"line_number":255,"absolute_offset":8951,"submatches":[{"match":{"text":"permission_mode"},"start":17,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        previous = chat_session.get_permission_mode()\n"},"line_number":261,"absolute_offset":9264,"submatches":[{"match":{"text":"permission_mode"},"start":36,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        new_mode = chat_session.get_permission_mode()\n"},"line_number":267,"absolute_offset":9573,"submatches":[{"match":{"text":"permission_mode"},"start":36,"end":51}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        await self._emit_mode_changed(handle, permission_mode=new_mode, previous=previous)\n"},"line_number":268,"absolute_offset":9627,"submatches":[{"match":{"text":"permission_mode"},"start":46,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        return {\"accepted\": True, \"permission_mode\": new_mode}\n"},"line_number":269,"absolute_offset":9718,"submatches":[{"match":{"text":"permission_mode"},"start":35,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        previous = rpc_session.chat_session.get_permission_mode()\n"},"line_number":273,"absolute_offset":9889,"submatches":[{"match":{"text":"permission_mode"},"start":48,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        new_mode = rpc_session.chat_session.get_permission_mode()\n"},"line_number":275,"absolute_offset":10002,"submatches":[{"match":{"text":"permission_mode"},"start":48,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        await self._emit_mode_changed(handle, permission_mode=new_mode, previous=previous)\n"},"line_number":276,"absolute_offset":10068,"submatches":[{"match":{"text":"permission_mode"},"start":46,"end":61}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"        return {\"rejected\": True, \"permission_mode\": new_mode}\n"},"line_number":277,"absolute_offset":10159,"submatches":[{"match":{"text":"permission_mode"},"start":35,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"lines":{"text":"            \"permission_mode\": chat_session.get_permission_mode(),\n"},"line_number":287,"absolute_offset":10597,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28},{"match":{"text":"permission_mode"},"start":48,"end":63}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc/session_host.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":76557,"human":"0.000077s"},"searches":1,"searches_with_match":1,"bytes_searched":13588,"bytes_printed":7064,"matched_lines":20,"matches":23}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        self.permission_mode = \"default\"\n"},"line_number":34,"absolute_offset":889,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"    def get_permission_mode(self) -> str:\n"},"line_number":53,"absolute_offset":1420,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        return self.permission_mode\n"},"line_number":54,"absolute_offset":1462,"submatches":[{"match":{"text":"permission_mode"},"start":20,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"    def set_permission_mode(self, mode: str) -> str:\n"},"line_number":56,"absolute_offset":1499,"submatches":[{"match":{"text":"permission_mode"},"start":12,"end":27}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        self.permission_mode = mode\n"},"line_number":57,"absolute_offset":1552,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        self.permission_mode = \"default\"\n"},"line_number":69,"absolute_offset":1985,"submatches":[{"match":{"text":"permission_mode"},"start":13,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        second = await harness.call(\"session.open\", {\"permission_mode\": \"plan\"})\n"},"line_number":223,"absolute_offset":8115,"submatches":[{"match":{"text":"permission_mode"},"start":54,"end":69}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        self.assertEqual(first[\"result\"][\"permission_mode\"], \"default\")\n"},"line_number":225,"absolute_offset":8263,"submatches":[{"match":{"text":"permission_mode"},"start":42,"end":57}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        self.assertEqual(second[\"result\"][\"permission_mode\"], \"plan\")\n"},"line_number":227,"absolute_offset":8403,"submatches":[{"match":{"text":"permission_mode"},"start":43,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"    async def test_set_permission_mode_validates_enum(self) -> None:\n"},"line_number":264,"absolute_offset":10013,"submatches":[{"match":{"text":"permission_mode"},"start":23,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        self.assertEqual(ok[\"result\"][\"permission_mode\"], \"acceptEdits\")\n"},"line_number":271,"absolute_offset":10326,"submatches":[{"match":{"text":"permission_mode"},"start":39,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"lines":{"text":"        self.assertEqual(status[\"result\"][\"permission_mode\"], \"default\")\n"},"line_number":293,"absolute_offset":11318,"submatches":[{"match":{"text":"permission_mode"},"start":43,"end":58}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_rpc_server_methods.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":47092,"human":"0.000047s"},"searches":1,"searches_with_match":1,"bytes_searched":14117,"bytes_printed":3937,"matched_lines":12,"matches":12}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_permission_mode_cycle.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_permission_mode_cycle.py"},"lines":{"text":"        self.cycle_permission_mode_calls = 0\n"},"line_number":8,"absolute_offset":157,"submatches":[{"match":{"text":"permission_mode"},"start":19,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_permission_mode_cycle.py"},"lines":{"text":"    def cycle_permission_mode(self) -> str:\n"},"line_number":10,"absolute_offset":203,"submatches":[{"match":{"text":"permission_mode"},"start":14,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_permission_mode_cycle.py"},"lines":{"text":"        self.cycle_permission_mode_calls += 1\n"},"line_number":11,"absolute_offset":247,"submatches":[{"match":{"text":"permission_mode"},"start":19,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_permission_mode_cycle.py"},"lines":{"text":"    assert host._session.cycle_permission_mode_calls == 1\n"},"line_number":51,"absolute_offset":1230,"submatches":[{"match":{"text":"permission_mode"},"start":31,"end":46}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_permission_mode_cycle.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":15485,"human":"0.000015s"},"searches":1,"searches_with_match":1,"bytes_searched":1417,"bytes_printed":1356,"matched_lines":4,"matches":4}}}
{"type":"begin","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"}}}
{"type":"match","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"},"lines":{"text":"    def test_footer_left_mode_hint_uses_four_permission_modes(self) -> None:\n"},"line_number":201,"absolute_offset":6312,"submatches":[{"match":{"text":"permission_mode"},"start":45,"end":60}]}}
{"type":"end","data":{"path":{"text":"/home/andy/works/agent-sdk/packages/comate_cli/tests/test_completion_status_panel.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":34050,"human":"0.000034s"},"searches":1,"searches_with_match":1,"bytes_searched":27005,"bytes_printed":469,"matched_lines":1,"matches":1}}}
{"data":{"elapsed_total":{"human":"0.007676s","nanos":7676374,"secs":0},"stats":{"bytes_printed":60135,"bytes_searched":471808,"elapsed":{"human":"0.001169s","nanos":1169250,"secs":0},"matched_lines":178,"matches":196,"searches":22,"searches_with_match":22}},"type":"summary"}
