{"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":"        # 中断 epoch 无条件递增：_send_busy_message 用它识别\n"},"line_number":114,"absolute_offset":4298,"submatches":[{"match":{"text":"_send_busy_message"},"start":41,"end":59}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        normal_mode = _mode_condition(UIMode.NORMAL)\n"},"line_number":150,"absolute_offset":5949,"submatches":[{"match":{"text":"normal_mode"},"start":8,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        tool_approval_mode = _mode_condition(UIMode.TOOL_APPROVAL)\n"},"line_number":153,"absolute_offset":6118,"submatches":[{"match":{"text":"approv"},"start":13,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        tool_approval_feedback_focused = Condition(\n"},"line_number":157,"absolute_offset":6303,"submatches":[{"match":{"text":"approv"},"start":13,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            lambda: self._approval_feedback_focused()\n"},"line_number":158,"absolute_offset":6355,"submatches":[{"match":{"text":"approv"},"start":26,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":215,"absolute_offset":8573,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_enter(event) -> None:\n"},"line_number":218,"absolute_offset":8680,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"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._handle_tool_approval_action(self._tool_approval_view.confirm())\n"},"line_number":220,"absolute_offset":8751,"submatches":[{"match":{"text":"approv"},"start":30,"end":36},{"match":{"text":"approv"},"start":57,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & tool_approval_feedback_focused,\n"},"line_number":226,"absolute_offset":8949,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":45,"end":51}]}}
{"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 _tool_approval_feedback_enter(event) -> None:\n"},"line_number":229,"absolute_offset":9055,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"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._handle_tool_approval_action(\n"},"line_number":231,"absolute_offset":9135,"submatches":[{"match":{"text":"approv"},"start":30,"end":36}]}}
{"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._tool_approval_view.submit_feedback()\n"},"line_number":232,"absolute_offset":9182,"submatches":[{"match":{"text":"approv"},"start":27,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":239,"absolute_offset":9368,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_up(event) -> None:\n"},"line_number":242,"absolute_offset":9475,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"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._tool_approval_view.move_selection(-1)\n"},"line_number":244,"absolute_offset":9543,"submatches":[{"match":{"text":"approv"},"start":23,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":249,"absolute_offset":9674,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_down(event) -> None:\n"},"line_number":252,"absolute_offset":9781,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"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._tool_approval_view.move_selection(1)\n"},"line_number":254,"absolute_offset":9851,"submatches":[{"match":{"text":"approv"},"start":23,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":259,"absolute_offset":9978,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_k(event) -> None:\n"},"line_number":262,"absolute_offset":10085,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"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._tool_approval_view.move_selection(-1)\n"},"line_number":264,"absolute_offset":10152,"submatches":[{"match":{"text":"approv"},"start":23,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":269,"absolute_offset":10280,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_j(event) -> None:\n"},"line_number":272,"absolute_offset":10387,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"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._tool_approval_view.move_selection(1)\n"},"line_number":274,"absolute_offset":10454,"submatches":[{"match":{"text":"approv"},"start":23,"end":29}]}}
{"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 _tool_approval_pick_digit(number: int) -> None:\n"},"line_number":277,"absolute_offset":10541,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            action = self._tool_approval_view.confirm_index(number)\n"},"line_number":278,"absolute_offset":10601,"submatches":[{"match":{"text":"approv"},"start":32,"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":"            self._handle_tool_approval_action(action)\n"},"line_number":279,"absolute_offset":10669,"submatches":[{"match":{"text":"approv"},"start":30,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":285,"absolute_offset":10835,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_digit_1(event) -> None:\n"},"line_number":288,"absolute_offset":10942,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            _tool_approval_pick_digit(1)\n"},"line_number":290,"absolute_offset":11015,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":294,"absolute_offset":11097,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_digit_2(event) -> None:\n"},"line_number":297,"absolute_offset":11204,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            _tool_approval_pick_digit(2)\n"},"line_number":299,"absolute_offset":11277,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":303,"absolute_offset":11359,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_digit_3(event) -> None:\n"},"line_number":306,"absolute_offset":11466,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            _tool_approval_pick_digit(3)\n"},"line_number":308,"absolute_offset":11539,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":312,"absolute_offset":11621,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_digit_4(event) -> None:\n"},"line_number":315,"absolute_offset":11728,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            _tool_approval_pick_digit(4)\n"},"line_number":317,"absolute_offset":11801,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"tab\", filter=tool_approval_mode, eager=True)\n"},"line_number":319,"absolute_offset":11843,"submatches":[{"match":{"text":"approv"},"start":41,"end":47}]}}
{"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 _tool_approval_tab(event) -> None:\n"},"line_number":320,"absolute_offset":11911,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"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._tool_approval_view.activate_feedback()\n"},"line_number":322,"absolute_offset":11980,"submatches":[{"match":{"text":"approv"},"start":23,"end":29}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"escape\", filter=tool_approval_mode, eager=True)\n"},"line_number":326,"absolute_offset":12109,"submatches":[{"match":{"text":"approv"},"start":44,"end":50}]}}
{"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 _tool_approval_escape(event) -> None:\n"},"line_number":327,"absolute_offset":12180,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"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._handle_tool_approval_action(self._tool_approval_view.cancel())\n"},"line_number":329,"absolute_offset":12252,"submatches":[{"match":{"text":"approv"},"start":30,"end":36},{"match":{"text":"approv"},"start":57,"end":63}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=tool_approval_mode & ~tool_approval_feedback_focused,\n"},"line_number":335,"absolute_offset":12449,"submatches":[{"match":{"text":"approv"},"start":24,"end":30},{"match":{"text":"approv"},"start":46,"end":52}]}}
{"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 _tool_approval_cycle_mode(event) -> None:\n"},"line_number":338,"absolute_offset":12556,"submatches":[{"match":{"text":"approv"},"start":18,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"c-j\", filter=normal_mode, eager=True)\n"},"line_number":812,"absolute_offset":29106,"submatches":[{"match":{"text":"filter=normal"},"start":29,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"enter\", filter=normal_mode, eager=True)\n"},"line_number":816,"absolute_offset":29274,"submatches":[{"match":{"text":"enter\", filter=normal"},"start":23,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"tab\", filter=normal_mode)\n"},"line_number":847,"absolute_offset":30441,"submatches":[{"match":{"text":"filter=normal"},"start":29,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"s-tab\", filter=normal_mode & has_completions)\n"},"line_number":868,"absolute_offset":31347,"submatches":[{"match":{"text":"filter=normal"},"start":31,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"s-tab\", filter=normal_mode & ~has_completions)\n"},"line_number":872,"absolute_offset":31511,"submatches":[{"match":{"text":"filter=normal"},"start":31,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"up\", filter=normal_mode & ~todo_panel_expanded)\n"},"line_number":877,"absolute_offset":31681,"submatches":[{"match":{"text":"filter=normal"},"start":28,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"down\", filter=normal_mode & ~todo_panel_expanded)\n"},"line_number":890,"absolute_offset":32245,"submatches":[{"match":{"text":"filter=normal"},"start":30,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"escape\", filter=normal_mode)\n"},"line_number":901,"absolute_offset":32738,"submatches":[{"match":{"text":"filter=normal"},"start":32,"end":45}]}}
{"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._clear_input_area()\n"},"line_number":944,"absolute_offset":34367,"submatches":[{"match":{"text":"input_area"},"start":28,"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":"                self._app.layout.focus(self._input_area.window)\n"},"line_number":948,"absolute_offset":34504,"submatches":[{"match":{"text":"input_area"},"start":45,"end":55}]}}
{"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._clear_input_area()\n"},"line_number":996,"absolute_offset":36697,"submatches":[{"match":{"text":"input_area"},"start":24,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"c-o\", filter=normal_mode)\n"},"line_number":1004,"absolute_offset":36935,"submatches":[{"match":{"text":"filter=normal"},"start":29,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            filter=normal_mode & Condition(lambda: self._should_show_todo_panel()),\n"},"line_number":1022,"absolute_offset":37639,"submatches":[{"match":{"text":"filter=normal"},"start":12,"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":"        @bindings.add(\"c-t\", filter=normal_mode)\n"},"line_number":1030,"absolute_offset":37944,"submatches":[{"match":{"text":"filter=normal"},"start":29,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"up\", filter=normal_mode & todo_panel_expanded)\n"},"line_number":1038,"absolute_offset":38299,"submatches":[{"match":{"text":"filter=normal"},"start":28,"end":41}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"        @bindings.add(\"down\", filter=normal_mode & todo_panel_expanded)\n"},"line_number":1045,"absolute_offset":38560,"submatches":[{"match":{"text":"filter=normal"},"start":30,"end":43}]}}
{"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":284824,"human":"0.000285s"},"searches":1,"searches_with_match":1,"bytes_searched":39340,"bytes_printed":21738,"matched_lines":63,"matches":76}}}
{"data":{"elapsed_total":{"human":"0.010425s","nanos":10424808,"secs":0},"stats":{"bytes_printed":21738,"bytes_searched":39340,"elapsed":{"human":"0.000285s","nanos":284824,"secs":0},"matched_lines":63,"matches":76,"searches":1,"searches_with_match":1}},"type":"summary"}
