{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py"},"lines":{"text":"        parser.print_help(sys.stdout)\n"},"line_number":400,"absolute_offset":14218,"submatches":[{"match":{"text":"print"},"start":15,"end":20}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/mcp_cli.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":57991,"human":"0.000058s"},"searches":1,"searches_with_match":1,"bytes_searched":14917,"bytes_printed":393,"matched_lines":1,"matches":1}}}
{"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":"import logging\n"},"line_number":5,"absolute_offset":65,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":17,"absolute_offset":251,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            logger.debug(f\"Terminal guard disabled: failed to snapshot tty attrs: {exc}\")\n"},"line_number":44,"absolute_offset":979,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            logger.warning(f\"tty restore failed ({reason}): {exc}\", exc_info=True)\n"},"line_number":54,"absolute_offset":1345,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            logger.warning(f\"stty sane fallback failed ({reason}): {exc}\", exc_info=True)\n"},"line_number":65,"absolute_offset":1703,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        self._noise_logger = self._build_noise_logger()\n"},"line_number":77,"absolute_offset":2154,"submatches":[{"match":{"text":"logger"},"start":20,"end":26},{"match":{"text":"logger"},"start":47,"end":53}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            logger.debug(\"SIGINT is now ignored for final shutdown\")\n"},"line_number":100,"absolute_offset":2950,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            logger.debug(f\"Failed to switch SIGINT to SIG_IGN during shutdown: {exc}\")\n"},"line_number":102,"absolute_offset":3052,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"                self._noise_logger.warning(\n"},"line_number":114,"absolute_offset":3353,"submatches":[{"match":{"text":"logger"},"start":28,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"                self._noise_logger.warning(\n"},"line_number":123,"absolute_offset":3691,"submatches":[{"match":{"text":"logger"},"start":28,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    def _build_noise_logger(self) -> logging.Logger:\n"},"line_number":164,"absolute_offset":4913,"submatches":[{"match":{"text":"logger"},"start":21,"end":27},{"match":{"text":"logging"},"start":37,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        log = logging.getLogger(\"comate.noise\")\n"},"line_number":165,"absolute_offset":4966,"submatches":[{"match":{"text":"logging"},"start":14,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        log.setLevel(logging.WARNING)\n"},"line_number":166,"absolute_offset":5014,"submatches":[{"match":{"text":"logging"},"start":21,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"                logging.Formatter(\n"},"line_number":183,"absolute_offset":5610,"submatches":[{"match":{"text":"logging"},"start":16,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            log.addHandler(logging.NullHandler())\n"},"line_number":189,"absolute_offset":5829,"submatches":[{"match":{"text":"logging"},"start":27,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    print_mode = False\n"},"line_number":206,"absolute_offset":6239,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        if arg in (\"-p\", \"--print\"):\n"},"line_number":212,"absolute_offset":6398,"submatches":[{"match":{"text":"print"},"start":28,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            print_mode = True\n"},"line_number":213,"absolute_offset":6435,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    if print_mode:\n"},"line_number":220,"absolute_offset":6659,"submatches":[{"match":{"text":"print"},"start":7,"end":12}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"            raise _ArgumentError(\"-p/--print and --rpc-stdio are mutually exclusive\")\n"},"line_number":222,"absolute_offset":6700,"submatches":[{"match":{"text":"print"},"start":39,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        print_prompt = \" \".join(positionals) if positionals else \"\"\n"},"line_number":223,"absolute_offset":6786,"submatches":[{"match":{"text":"print"},"start":8,"end":13}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        return rpc_stdio, None, False, print_prompt\n"},"line_number":224,"absolute_offset":6854,"submatches":[{"match":{"text":"print"},"start":39,"end":44}]}}
{"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 = _parse_args(run_argv)\n"},"line_number":274,"absolute_offset":8307,"submatches":[{"match":{"text":"print"},"start":53,"end":58}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    # Assemble print mode message\n"},"line_number":279,"absolute_offset":8523,"submatches":[{"match":{"text":"print"},"start":15,"end":20}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    print_message: str | None = None\n"},"line_number":280,"absolute_offset":8557,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"    if print_prompt is not None:\n"},"line_number":281,"absolute_offset":8594,"submatches":[{"match":{"text":"print"},"start":7,"end":12}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        parts = [p for p in (stdin_text.strip(), print_prompt.strip()) if p]\n"},"line_number":285,"absolute_offset":8728,"submatches":[{"match":{"text":"print"},"start":49,"end":54}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"        print_message = \"\\n\\n\".join(parts)\n"},"line_number":289,"absolute_offset":8945,"submatches":[{"match":{"text":"print"},"start":8,"end":13}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/main.py"},"lines":{"text":"                print_message=print_message,\n"},"line_number":297,"absolute_offset":9171,"submatches":[{"match":{"text":"print"},"start":16,"end":21},{"match":{"text":"print"},"start":30,"end":35}]}}
{"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":170513,"human":"0.000171s"},"searches":1,"searches_with_match":1,"bytes_searched":9447,"bytes_printed":8685,"matched_lines":29,"matches":33}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py"},"lines":{"text":"import logging\n"},"line_number":4,"absolute_offset":51,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":15,"absolute_offset":263,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/custom_slash_commands.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":58244,"human":"0.000058s"},"searches":1,"searches_with_match":1,"bytes_searched":15801,"bytes_printed":774,"matched_lines":2,"matches":3}}}
{"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":"import logging\n"},"line_number":5,"absolute_offset":114,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":22,"absolute_offset":636,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"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":"logger"},"start":8,"end":14}]}}
{"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":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"        console.print(\"[dim]No resumable sessions.[/]\")\n"},"line_number":55,"absolute_offset":1823,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_selector.py"},"lines":{"text":"        console.print(\"[dim]Resume cancelled.[/]\")\n"},"line_number":85,"absolute_offset":3033,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"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":51181,"human":"0.000051s"},"searches":1,"searches_with_match":1,"bytes_searched":3122,"bytes_printed":2112,"matched_lines":6,"matches":7}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_preview.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_preview.py"},"lines":{"text":"import logging\n"},"line_number":6,"absolute_offset":115,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_preview.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":10,"absolute_offset":190,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_preview.py"},"lines":{"text":"                    logger.debug(f\"preview corrupt jsonl: path={jsonl_path} line={line_no} error={exc}\")\n"},"line_number":91,"absolute_offset":2552,"submatches":[{"match":{"text":"logger"},"start":20,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_preview.py"},"lines":{"text":"        logger.warning(f\"preview load failed: path={jsonl_path} error={exc}\")\n"},"line_number":99,"absolute_offset":2988,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_preview.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":35094,"human":"0.000035s"},"searches":1,"searches_with_match":1,"bytes_searched":4498,"bytes_printed":1462,"matched_lines":4,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"import logging\n"},"line_number":4,"absolute_offset":48,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":41,"absolute_offset":1303,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"        _print_preflight_block_message(console=console, check=check)\n"},"line_number":116,"absolute_offset":3390,"submatches":[{"match":{"text":"print"},"start":9,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"        console.print(\"[yellow]Setup cancelled. Session was not started.[/]\")\n"},"line_number":121,"absolute_offset":3672,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"        console.print(\"[yellow]Setup cancelled. Session was not started.[/]\")\n"},"line_number":125,"absolute_offset":3894,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"        logger.exception(\"Failed to save pre-flight settings\")\n"},"line_number":136,"absolute_offset":4356,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"        console.print(f\"[red]Failed to save provider settings: {exc}[/]\")\n"},"line_number":137,"absolute_offset":4419,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"        console.print(\n"},"line_number":142,"absolute_offset":4663,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"    console.print(f\"[green]Provider settings saved: {settings_path}[/]\")\n"},"line_number":148,"absolute_offset":4940,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"def _print_preflight_block_message(*, console: Console, check: PreflightCheckResult) -> None:\n"},"line_number":189,"absolute_offset":6362,"submatches":[{"match":{"text":"print"},"start":5,"end":10}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"    console.print(\"[red]Provider setup required[/]\")\n"},"line_number":191,"absolute_offset":6514,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"    console.print(\"[dim]You need to configure an API provider before you can continue.[/]\")\n"},"line_number":192,"absolute_offset":6567,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"    console.print(f\"[dim]{reason_lines}[/]\")\n"},"line_number":193,"absolute_offset":6659,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"lines":{"text":"    console.print(\"[dim]Run `comate` in interactive mode to complete provider setup.[/]\")\n"},"line_number":194,"absolute_offset":6704,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/preflight.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":84824,"human":"0.000085s"},"searches":1,"searches_with_match":1,"bytes_searched":26819,"bytes_printed":4659,"matched_lines":14,"matches":15}}}
{"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":"import logging\n"},"line_number":5,"absolute_offset":120,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/resume_picker.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":28,"absolute_offset":1180,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"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":51274,"human":"0.000051s"},"searches":1,"searches_with_match":1,"bytes_searched":22047,"bytes_printed":752,"matched_lines":2,"matches":3}}}
{"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":"import logging\n"},"line_number":4,"absolute_offset":51,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":21,"absolute_offset":455,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"            logger.exception(\"rpc event pump failed\")\n"},"line_number":297,"absolute_offset":10051,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"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":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/rpc_stdio.py"},"lines":{"text":"            logger.exception(\"rpc stdin read failed\")\n"},"line_number":415,"absolute_offset":14372,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"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":39973,"human":"0.000040s"},"searches":1,"searches_with_match":1,"bytes_searched":15750,"bytes_printed":1713,"matched_lines":5,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/marketplace_install_view.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/marketplace_install_view.py"},"lines":{"text":"import logging\n"},"line_number":13,"absolute_offset":385,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/marketplace_install_view.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":25,"absolute_offset":766,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/marketplace_install_view.py"},"lines":{"text":"                logger.info(\"Cleaned up partial clone: %s\", dest)\n"},"line_number":155,"absolute_offset":4921,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/marketplace_install_view.py"},"lines":{"text":"            logger.info(\"Marketplace installed: %s\", info.name)\n"},"line_number":167,"absolute_offset":5356,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/marketplace_install_view.py"},"lines":{"text":"            logger.info(\"Marketplace install cancelled: %s\", self._repo)\n"},"line_number":169,"absolute_offset":5459,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/marketplace_install_view.py"},"lines":{"text":"            logger.error(\"Marketplace install failed: %s: %s\", self._repo, exc)\n"},"line_number":174,"absolute_offset":5660,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/marketplace_install_view.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":58816,"human":"0.000059s"},"searches":1,"searches_with_match":1,"bytes_searched":10195,"bytes_printed":2220,"matched_lines":6,"matches":7}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py"},"lines":{"text":"def print_logo(console: Console, *, project_root: PathInput | None = None) -> None:\n"},"line_number":54,"absolute_offset":2104,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py"},"lines":{"text":"    console.print(logo_text)\n"},"line_number":82,"absolute_offset":3135,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py"},"lines":{"text":"    console.print()\n"},"line_number":83,"absolute_offset":3164,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py"},"lines":{"text":"    console.print(\n"},"line_number":84,"absolute_offset":3184,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py"},"lines":{"text":"    console.print()\n"},"line_number":90,"absolute_offset":3334,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logo.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":23119,"human":"0.000023s"},"searches":1,"searches_with_match":1,"bytes_searched":3354,"bytes_printed":1547,"matched_lines":5,"matches":5}}}
{"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":"import logging\n"},"line_number":9,"absolute_offset":177,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":85,"absolute_offset":3017,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        self._printed_history_index = 0\n"},"line_number":237,"absolute_offset":8562,"submatches":[{"match":{"text":"print"},"start":14,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        # 拆成 N 条 entry，跨 drain 时需要用这个 seed 让 history_printer 把 run 续上\n"},"line_number":239,"absolute_offset":8708,"submatches":[{"match":{"text":"print"},"start":77,"end":82}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.debug(\n"},"line_number":639,"absolute_offset":26794,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                logger.warning(f\"missing slash command handler: {spec.name}\")\n"},"line_number":719,"absolute_offset":29661,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                logger.warning(\n"},"line_number":791,"absolute_offset":32658,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.debug(\"Failed to create FileHistory, falling back to InMemoryHistory\", exc_info=True)\n"},"line_number":833,"absolute_offset":34383,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.warning(\n"},"line_number":838,"absolute_offset":34641,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.debug(\"path context hint injection failed\", exc_info=True)\n"},"line_number":1002,"absolute_offset":40645,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.exception(\"send failed\")\n"},"line_number":1007,"absolute_offset":40813,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.exception(\"session event pump failed\")\n"},"line_number":1170,"absolute_offset":49466,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                logger.exception(\"background task failed\")\n"},"line_number":1344,"absolute_offset":55997,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.debug(\"task store fetch failed\", exc_info=True)\n"},"line_number":1414,"absolute_offset":58633,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.error(f\"{task_name} did not exit within {timeout_s:.1f}s after cancellation\")\n"},"line_number":1545,"absolute_offset":64021,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.warning(f\"{task_name} failed after cancellation: {exc}\", exc_info=True)\n"},"line_number":1552,"absolute_offset":64264,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            logger.exception(\"Plugin init failed at startup; continuing without plugins\")\n"},"line_number":1612,"absolute_offset":66359,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                    logger.debug(\n"},"line_number":1621,"absolute_offset":66697,"submatches":[{"match":{"text":"logger"},"start":20,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"            # Ensure scrollback prints don't mix with the inline (full_screen=False) UI.\n"},"line_number":1643,"absolute_offset":67445,"submatches":[{"match":{"text":"print"},"start":32,"end":37}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"        logger.info(\n"},"line_number":1681,"absolute_offset":69131,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui.py"},"lines":{"text":"                    logger.warning(\n"},"line_number":1733,"absolute_offset":71463,"submatches":[{"match":{"text":"logger"},"start":20,"end":26}]}}
{"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":223189,"human":"0.000223s"},"searches":1,"searches_with_match":1,"bytes_searched":75979,"bytes_printed":6709,"matched_lines":21,"matches":22}}}
{"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":"import logging\n"},"line_number":6,"absolute_offset":91,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"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.logo import print_logo\n"},"line_number":24,"absolute_offset":553,"submatches":[{"match":{"text":"print"},"start":43,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":32,"absolute_offset":960,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.debug(f\"update check failed (source={source_label})\", exc_info=True)\n"},"line_number":84,"absolute_offset":2673,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.debug(\n"},"line_number":97,"absolute_offset":3131,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.debug(\"SIGINT guard enabled for shutdown\")\n"},"line_number":130,"absolute_offset":4031,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.debug(f\"Failed to enable SIGINT guard, fallback to unguarded shutdown: {exc}\")\n"},"line_number":132,"absolute_offset":4118,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            logger.debug(\"SIGINT guard restored\")\n"},"line_number":141,"absolute_offset":4350,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            logger.warning(f\"Failed to restore SIGINT handler: {exc}\", exc_info=True)\n"},"line_number":143,"absolute_offset":4433,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.warning(f\"Session shutdown failed ({label}): {exc}\", exc_info=True)\n"},"line_number":155,"absolute_offset":4824,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    logger.info(f\"Session shutdown completed ({label}) in {elapsed:.3f}s\")\n"},"line_number":159,"absolute_offset":4962,"submatches":[{"match":{"text":"logger"},"start":4,"end":10}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    logger.info(f\"Graceful shutdown completed in {elapsed:.3f}s\")\n"},"line_number":180,"absolute_offset":5693,"submatches":[{"match":{"text":"logger"},"start":4,"end":10}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.debug(f\"MCP init failed: {e}\", exc_info=True)\n"},"line_number":249,"absolute_offset":8104,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.debug(f\"MCP server '{alias}' skipped: {reason}\")\n"},"line_number":257,"absolute_offset":8293,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.info(f\"MCP Server loaded: {', '.join(aliases)} ({count} tools)\")\n"},"line_number":263,"absolute_offset":8488,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"async def _run_print_mode(\n"},"line_number":266,"absolute_offset":8570,"submatches":[{"match":{"text":"print"},"start":15,"end":20}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        logger.error(f\"Print mode failed: {exc}\", exc_info=True)\n"},"line_number":287,"absolute_offset":9177,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            logger.warning(\"MCP transport cleanup race detected (suppressed): %s\", exc)\n"},"line_number":309,"absolute_offset":10158,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    print_message: str | None = None,\n"},"line_number":324,"absolute_offset":10570,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        interactive=not rpc_stdio and print_message is None,\n"},"line_number":331,"absolute_offset":10824,"submatches":[{"match":{"text":"print"},"start":38,"end":43}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        if print_message is not None:\n"},"line_number":334,"absolute_offset":10936,"submatches":[{"match":{"text":"print"},"start":11,"end":16}]}}
{"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":341,"absolute_offset":11137,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    if print_message is not None:\n"},"line_number":354,"absolute_offset":11554,"submatches":[{"match":{"text":"print"},"start":7,"end":12}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        await _run_print_mode(agent, print_message, project_root=project_root)\n"},"line_number":355,"absolute_offset":11588,"submatches":[{"match":{"text":"print"},"start":19,"end":24},{"match":{"text":"print"},"start":37,"end":42}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    print_logo(console, project_root=project_root)\n"},"line_number":358,"absolute_offset":11683,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    # 的 logger.warning()（如 user_instruction token 超限）能被 TUI 系统捕获，\n"},"line_number":367,"absolute_offset":12063,"submatches":[{"match":{"text":"logger"},"start":10,"end":16}]}}
{"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.logging_adapter import setup_tui_logging\n"},"line_number":370,"absolute_offset":12307,"submatches":[{"match":{"text":"logging"},"start":35,"end":42},{"match":{"text":"logging"},"start":68,"end":75}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    logging_session = setup_tui_logging(renderer, project_root=project_root)\n"},"line_number":371,"absolute_offset":12383,"submatches":[{"match":{"text":"logging"},"start":4,"end":11},{"match":{"text":"logging"},"start":32,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"    # setup_tui_logging 在 _resolve_session 前安装，用于捕获 session 初始化期 warning/error。\n"},"line_number":374,"absolute_offset":12542,"submatches":[{"match":{"text":"logging"},"start":16,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            console.print(update_hint)\n"},"line_number":382,"absolute_offset":12949,"submatches":[{"match":{"text":"print"},"start":20,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            logger.warning(\n"},"line_number":413,"absolute_offset":13960,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"            logging_session.close()\n"},"line_number":424,"absolute_offset":14327,"submatches":[{"match":{"text":"logging"},"start":12,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        console.print(f\"[dim]{usage_line}[/]\")\n"},"line_number":427,"absolute_offset":14383,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/app.py"},"lines":{"text":"        console.print(resume_hint)\n"},"line_number":432,"absolute_offset":14581,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"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":202843,"human":"0.000203s"},"searches":1,"searches_with_match":1,"bytes_searched":14668,"bytes_printed":10912,"matched_lines":34,"matches":38}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"import logging\n"},"line_number":12,"absolute_offset":225,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":16,"absolute_offset":361,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"            logger.debug(\"directory mention scan failed for %s: %s\", directory_fragment, exc)\n"},"line_number":263,"absolute_offset":8769,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"            logger.debug(\"top-level mention scan failed: %s\", exc)\n"},"line_number":299,"absolute_offset":10096,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"                logger.debug(\"deep mention cache warmup failed\", exc_info=True)\n"},"line_number":341,"absolute_offset":11505,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"                        logger.debug(\n"},"line_number":350,"absolute_offset":11931,"submatches":[{"match":{"text":"logger"},"start":24,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"            logger.debug(\"%s mention index command failed: %s\", source_name, exc)\n"},"line_number":421,"absolute_offset":14303,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"            logger.debug(\n"},"line_number":425,"absolute_offset":14448,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"            logger.debug(\"%s mention index command returned no stdout\", source_name)\n"},"line_number":435,"absolute_offset":14754,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"lines":{"text":"            logger.debug(\"deep mention walk fallback failed: %s\", exc)\n"},"line_number":466,"absolute_offset":16212,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/mention_completer.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":58468,"human":"0.000058s"},"searches":1,"searches_with_match":1,"bytes_searched":22750,"bytes_printed":3446,"matched_lines":10,"matches":11}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/env_utils.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/env_utils.py"},"lines":{"text":"import logging\n"},"line_number":3,"absolute_offset":36,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/env_utils.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":6,"absolute_offset":62,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/env_utils.py"},"lines":{"text":"        logger.warning(f\"Invalid env var {name}={raw!r}; using default {default}.\")\n"},"line_number":16,"absolute_offset":304,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/env_utils.py"},"lines":{"text":"        logger.warning(f\"Invalid env var {name}={raw!r}; using default {default}.\")\n"},"line_number":19,"absolute_offset":430,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/env_utils.py"},"lines":{"text":"        logger.warning(f\"Invalid env var {name}={raw!r}; using default {default}.\")\n"},"line_number":31,"absolute_offset":767,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/env_utils.py"},"lines":{"text":"        logger.warning(f\"Invalid env var {name}={raw!r}; using default {default}.\")\n"},"line_number":34,"absolute_offset":893,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/env_utils.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":26458,"human":"0.000026s"},"searches":1,"searches_with_match":1,"bytes_searched":1018,"bytes_printed":2096,"matched_lines":6,"matches":7}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/path_context_hint.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/path_context_hint.py"},"lines":{"text":"import logging\n"},"line_number":4,"absolute_offset":119,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/path_context_hint.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":10,"absolute_offset":299,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/path_context_hint.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":16021,"human":"0.000016s"},"searches":1,"searches_with_match":1,"bytes_searched":3205,"bytes_printed":763,"matched_lines":2,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py"},"lines":{"text":"# 在 printer 层精准跳过即可达到同样视觉效果。\n"},"line_number":71,"absolute_offset":2090,"submatches":[{"match":{"text":"print"},"start":6,"end":11}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py"},"lines":{"text":"    # printer 这一层被识别为\"连续 assistant entry 的 run\"——只在 run 起始处加 `●`，\n"},"line_number":154,"absolute_offset":4578,"submatches":[{"match":{"text":"print"},"start":6,"end":11}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py"},"lines":{"text":"async def print_history_group_async(console: Console, group: Group) -> None:\n"},"line_number":424,"absolute_offset":16510,"submatches":[{"match":{"text":"print"},"start":10,"end":15}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py"},"lines":{"text":"    console.print(group, soft_wrap=True, highlight=False)\n"},"line_number":428,"absolute_offset":16868,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py"},"lines":{"text":"def print_history_group_sync(console: Console, group: Group) -> None:\n"},"line_number":431,"absolute_offset":16928,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py"},"lines":{"text":"    console.print(group, soft_wrap=True, highlight=False)\n"},"line_number":432,"absolute_offset":16998,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/history_printer.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":72347,"human":"0.000072s"},"searches":1,"searches_with_match":1,"bytes_searched":17056,"bytes_printed":2143,"matched_lines":6,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/message_style.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/message_style.py"},"lines":{"text":"def print_assistant_prefix_line(console: Console, content: str) -> None:\n"},"line_number":30,"absolute_offset":656,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/message_style.py"},"lines":{"text":"    console.print(\n"},"line_number":32,"absolute_offset":799,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/message_style.py"},"lines":{"text":"def print_assistant_gap(console: Console) -> None:\n"},"line_number":39,"absolute_offset":949,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/message_style.py"},"lines":{"text":"        console.print()\n"},"line_number":41,"absolute_offset":1049,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/message_style.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":18684,"human":"0.000019s"},"searches":1,"searches_with_match":1,"bytes_searched":1073,"bytes_printed":1332,"matched_lines":4,"matches":4}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"import logging\n"},"line_number":13,"absolute_offset":279,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":24,"absolute_offset":608,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"        logger.debug(\"ErrorsTab.set_errors: %d errors\", len(self._errors))\n"},"line_number":68,"absolute_offset":2028,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"        logger.debug(\"ErrorsTab.activate: %d errors\", len(self._errors))\n"},"line_number":81,"absolute_offset":2548,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"        logger.debug(\"ErrorsTab.handle_retry: retrying %s\", error.plugin_key)\n"},"line_number":224,"absolute_offset":8090,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"        logger.info(\"ErrorsTab.handle_dismiss: dismissed error %s\", error.error_id)\n"},"line_number":240,"absolute_offset":8802,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"        logger.info(\"ErrorsTab._do_retry: retrying %s\", plugin_key)\n"},"line_number":287,"absolute_offset":10636,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"                logger.warning(\"ErrorsTab._do_retry: install path not found for %s\", plugin_key)\n"},"line_number":301,"absolute_offset":11229,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"            logger.info(\"ErrorsTab._do_retry: successfully loaded %s\", plugin_key)\n"},"line_number":310,"absolute_offset":11733,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"lines":{"text":"            logger.error(\"ErrorsTab._do_retry: failed to load %s: %s\", plugin_key, exc)\n"},"line_number":313,"absolute_offset":11901,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/errors_tab.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":54854,"human":"0.000055s"},"searches":1,"searches_with_match":1,"bytes_searched":11989,"bytes_printed":3609,"matched_lines":10,"matches":11}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"import logging\n"},"line_number":10,"absolute_offset":220,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":25,"absolute_offset":622,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"        logger.debug(\"InstalledTab.activate: loading installed plugins\")\n"},"line_number":72,"absolute_offset":2196,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"            logger.exception(\"Failed to load installed plugins\")\n"},"line_number":76,"absolute_offset":2364,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"        logger.debug(\n"},"line_number":137,"absolute_offset":4383,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"            logger.debug(\"InstalledTab: enter DETAIL for %s\", item.get(\"name\"))\n"},"line_number":334,"absolute_offset":12108,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"        logger.debug(\"InstalledTab: enter CONFIRM_UNINSTALL for %s\", item.get(\"name\"))\n"},"line_number":366,"absolute_offset":13164,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"            logger.debug(\"InstalledTab: go_back to LIST from %s\", prev_state)\n"},"line_number":382,"absolute_offset":13774,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"                logger.info(\"InstalledTab: disabled %s\", plugin_key)\n"},"line_number":401,"absolute_offset":14549,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"                logger.info(\"InstalledTab: enabled %s\", plugin_key)\n"},"line_number":405,"absolute_offset":14770,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"            logger.error(\"InstalledTab: toggle enable failed for %s: %s\", plugin_key, exc)\n"},"line_number":409,"absolute_offset":14947,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"        logger.info(\"InstalledTab._do_uninstall: uninstalling %s (scope=%s)\", plugin_key, scope)\n"},"line_number":459,"absolute_offset":17049,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"            logger.info(\"InstalledTab._do_uninstall: uninstalled %s successfully\", plugin_key)\n"},"line_number":464,"absolute_offset":17314,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"            logger.error(\n"},"line_number":467,"absolute_offset":17497,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"        logger.info(\"InstalledTab._do_update: updating %s\", plugin_key)\n"},"line_number":477,"absolute_offset":17923,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"            logger.info(\"InstalledTab._do_update: updated %s successfully\", plugin_key)\n"},"line_number":482,"absolute_offset":18116,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"lines":{"text":"            logger.error(\"InstalledTab._do_update: failed to update %s: %s\", plugin_key, exc)\n"},"line_number":485,"absolute_offset":18289,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/installed_tab.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":77190,"human":"0.000077s"},"searches":1,"searches_with_match":1,"bytes_searched":18505,"bytes_printed":6041,"matched_lines":17,"matches":18}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"    from comate_cli.terminal_agent.startup import print_warning, print_success, print_error\n"},"line_number":4,"absolute_offset":74,"submatches":[{"match":{"text":"print"},"start":50,"end":55},{"match":{"text":"print"},"start":65,"end":70},{"match":{"text":"print"},"start":80,"end":85}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"    print_warning(console, \"MCP server 'ctx7' skipped: header is null\")\n"},"line_number":6,"absolute_offset":167,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"    print_success(console, \"MCP Server loaded: exa_search (4 tools)\")\n"},"line_number":7,"absolute_offset":239,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"    print_error(console, \"Failed to initialize config\")\n"},"line_number":8,"absolute_offset":309,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"def print_status(console: Console, icon: str, style: str, message: str) -> None:\n"},"line_number":29,"absolute_offset":782,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"    console.print(f\"[{style}]{icon} {message}[/]\")\n"},"line_number":31,"absolute_offset":916,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"def print_warning(console: Console, message: str) -> None:\n"},"line_number":34,"absolute_offset":969,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"    print_status(console, WARNING_ICON, \"yellow\", message)\n"},"line_number":36,"absolute_offset":1073,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"def print_success(console: Console, message: str) -> None:\n"},"line_number":39,"absolute_offset":1134,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"    print_status(console, CHECK_MARK, \"dim\", message)\n"},"line_number":41,"absolute_offset":1235,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"def print_error(console: Console, message: str) -> None:\n"},"line_number":44,"absolute_offset":1291,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"    print_status(console, CROSS_MARK, \"red\", message)\n"},"line_number":46,"absolute_offset":1388,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"        console.print(Text.assemble(dot, sweep), end=\"\\r\")\n"},"line_number":62,"absolute_offset":1994,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"lines":{"text":"        console.print(Text(\" \" * 60), end=\"\\r\")\n"},"line_number":82,"absolute_offset":2583,"submatches":[{"match":{"text":"print"},"start":16,"end":21}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/startup.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":100351,"human":"0.000100s"},"searches":1,"searches_with_match":1,"bytes_searched":2631,"bytes_printed":4627,"matched_lines":14,"matches":16}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"\"\"\"TUI logging adapter - 将 warning/error 日志送入 renderer pending 队列。\"\"\"\n"},"line_number":1,"absolute_offset":0,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"import logging\n"},"line_number":4,"absolute_offset":122,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":16,"absolute_offset":346,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"_COMATE_LOGGING_SESSION_MARKER = \"_comate_tui_logging_session\"\n"},"line_number":18,"absolute_offset":384,"submatches":[{"match":{"text":"logging"},"start":46,"end":53}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"_active_tui_logging_session: \"TUILoggingSession | None\" = None\n"},"line_number":22,"absolute_offset":583,"submatches":[{"match":{"text":"logging"},"start":12,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"_active_tui_logging_session_lock = threading.Lock()\n"},"line_number":23,"absolute_offset":646,"submatches":[{"match":{"text":"logging"},"start":12,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"_DEFAULT_LOG_LEVEL = logging.INFO\n"},"line_number":27,"absolute_offset":814,"submatches":[{"match":{"text":"logging"},"start":21,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"def _should_suppress_tui_log(record: logging.LogRecord) -> bool:\n"},"line_number":52,"absolute_offset":1633,"submatches":[{"match":{"text":"logging"},"start":37,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"class TUILoggingHandler(logging.Handler):\n"},"line_number":71,"absolute_offset":2238,"submatches":[{"match":{"text":"logging"},"start":24,"end":31}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    \"\"\"自定义 logging handler，将日志友好地显示在 TUI 中\n"},"line_number":72,"absolute_offset":2280,"submatches":[{"match":{"text":"logging"},"start":17,"end":24}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    def emit(self, record: logging.LogRecord) -> None:\n"},"line_number":85,"absolute_offset":2777,"submatches":[{"match":{"text":"logging"},"start":27,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"            if record.levelno < logging.WARNING:\n"},"line_number":89,"absolute_offset":2920,"submatches":[{"match":{"text":"logging"},"start":32,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"                \"error\" if record.levelno >= logging.ERROR else \"warning\"\n"},"line_number":109,"absolute_offset":3607,"submatches":[{"match":{"text":"logging"},"start":45,"end":52}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    def _format_message(self, record: logging.LogRecord) -> str:\n"},"line_number":123,"absolute_offset":4113,"submatches":[{"match":{"text":"logging"},"start":38,"end":45}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    def _get_message_key(self, record: logging.LogRecord) -> str:\n"},"line_number":147,"absolute_offset":4993,"submatches":[{"match":{"text":"logging"},"start":39,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        # 使用 logger 名称 + 消息内容的前 50 个字符\n"},"line_number":149,"absolute_offset":5128,"submatches":[{"match":{"text":"logger"},"start":17,"end":23}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"class _DropTerminalStreamFilter(logging.Filter):\n"},"line_number":157,"absolute_offset":5457,"submatches":[{"match":{"text":"logging"},"start":32,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    def filter(self, record: logging.LogRecord) -> bool:\n"},"line_number":158,"absolute_offset":5506,"submatches":[{"match":{"text":"logging"},"start":29,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        root_logger: logging.Logger,\n"},"line_number":167,"absolute_offset":5673,"submatches":[{"match":{"text":"logger"},"start":13,"end":19},{"match":{"text":"logging"},"start":21,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        added_handlers: list[logging.Handler],\n"},"line_number":168,"absolute_offset":5710,"submatches":[{"match":{"text":"logging"},"start":29,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        muted_handlers: list[tuple[logging.Handler, logging.Filter]],\n"},"line_number":169,"absolute_offset":5757,"submatches":[{"match":{"text":"logging"},"start":35,"end":42},{"match":{"text":"logging"},"start":52,"end":59}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        self._root_logger = root_logger\n"},"line_number":172,"absolute_offset":5871,"submatches":[{"match":{"text":"logger"},"start":19,"end":25},{"match":{"text":"logger"},"start":33,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"                self._root_logger.removeHandler(handler)\n"},"line_number":191,"absolute_offset":6434,"submatches":[{"match":{"text":"logger"},"start":27,"end":33}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        self._root_logger.setLevel(self._previous_level)\n"},"line_number":199,"absolute_offset":6651,"submatches":[{"match":{"text":"logger"},"start":19,"end":25}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        with _active_tui_logging_session_lock:\n"},"line_number":200,"absolute_offset":6708,"submatches":[{"match":{"text":"logging"},"start":25,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"            global _active_tui_logging_session\n"},"line_number":201,"absolute_offset":6755,"submatches":[{"match":{"text":"logging"},"start":31,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"            if _active_tui_logging_session is self:\n"},"line_number":202,"absolute_offset":6802,"submatches":[{"match":{"text":"logging"},"start":27,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"                _active_tui_logging_session = None\n"},"line_number":203,"absolute_offset":6854,"submatches":[{"match":{"text":"logging"},"start":28,"end":35}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"            logger.warning(\n"},"line_number":258,"absolute_offset":8715,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    return getattr(logging, normalized)\n"},"line_number":264,"absolute_offset":8931,"submatches":[{"match":{"text":"logging"},"start":19,"end":26}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"def _build_file_handler(level: int) -> logging.Handler:\n"},"line_number":267,"absolute_offset":8973,"submatches":[{"match":{"text":"logging"},"start":39,"end":46}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        logging.Formatter(\"%(asctime)s %(levelname)s %(name)s: %(message)s\")\n"},"line_number":281,"absolute_offset":9482,"submatches":[{"match":{"text":"logging"},"start":8,"end":15}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"def _should_mute_terminal_stream(handler: logging.Handler) -> bool:\n"},"line_number":286,"absolute_offset":9591,"submatches":[{"match":{"text":"logging"},"start":42,"end":49}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    if not isinstance(handler, logging.StreamHandler):\n"},"line_number":287,"absolute_offset":9659,"submatches":[{"match":{"text":"logging"},"start":31,"end":38}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"def setup_tui_logging(\n"},"line_number":293,"absolute_offset":9861,"submatches":[{"match":{"text":"logging"},"start":14,"end":21}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    - 临时静默 root logger 上写往 stdout/stderr 的 stream handler，避免污染 TUI\n"},"line_number":303,"absolute_offset":10262,"submatches":[{"match":{"text":"logger"},"start":24,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    root = logging.getLogger()\n"},"line_number":310,"absolute_offset":10778,"submatches":[{"match":{"text":"logging"},"start":11,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    with _active_tui_logging_session_lock:\n"},"line_number":314,"absolute_offset":10887,"submatches":[{"match":{"text":"logging"},"start":21,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        global _active_tui_logging_session\n"},"line_number":315,"absolute_offset":10930,"submatches":[{"match":{"text":"logging"},"start":27,"end":34}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        active_session = _active_tui_logging_session\n"},"line_number":316,"absolute_offset":10973,"submatches":[{"match":{"text":"logging"},"start":37,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    stale_handlers: list[logging.Handler] = []\n"},"line_number":322,"absolute_offset":11170,"submatches":[{"match":{"text":"logging"},"start":25,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    # 第三方 logger level=NOTSET 会继承 root 的 effective level，DEBUG 记录\n"},"line_number":343,"absolute_offset":11929,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    tui_handler.setLevel(logging.WARNING)\n"},"line_number":349,"absolute_offset":12241,"submatches":[{"match":{"text":"logging"},"start":25,"end":32}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    muted_handlers: list[tuple[logging.Handler, logging.Filter]] = []\n"},"line_number":354,"absolute_offset":12454,"submatches":[{"match":{"text":"logging"},"start":31,"end":38},{"match":{"text":"logging"},"start":48,"end":55}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        root_logger=root,\n"},"line_number":365,"absolute_offset":12885,"submatches":[{"match":{"text":"logger"},"start":13,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"    with _active_tui_logging_session_lock:\n"},"line_number":370,"absolute_offset":13047,"submatches":[{"match":{"text":"logging"},"start":21,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"lines":{"text":"        _active_tui_logging_session = session\n"},"line_number":371,"absolute_offset":13090,"submatches":[{"match":{"text":"logging"},"start":20,"end":27}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/logging_adapter.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":160017,"human":"0.000160s"},"searches":1,"searches_with_match":1,"bytes_searched":13155,"bytes_printed":15265,"matched_lines":47,"matches":52}}}
{"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":"import logging\n"},"line_number":3,"absolute_offset":36,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":71,"absolute_offset":1857,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"        rich.Markdown 在 history_printer 里把整段渲染为 syntax-highlighted\n"},"line_number":448,"absolute_offset":16188,"submatches":[{"match":{"text":"print"},"start":34,"end":39}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"        logger.debug(\n"},"line_number":649,"absolute_offset":24810,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"            logger.debug(\n"},"line_number":955,"absolute_offset":35857,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"        logger.debug(\n"},"line_number":971,"absolute_offset":36482,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"                        logger.warning(\"ExitPlanMode: Failed to read plan file %s\", plan_path)\n"},"line_number":1654,"absolute_offset":67110,"submatches":[{"match":{"text":"logger"},"start":24,"end":30}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/event_renderer.py"},"lines":{"text":"                logger.debug(\"Unhandled event type: %s\", type(event).__name__)\n"},"line_number":1687,"absolute_offset":68572,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"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":102759,"human":"0.000103s"},"searches":1,"searches_with_match":1,"bytes_searched":68718,"bytes_printed":2662,"matched_lines":8,"matches":9}}}
{"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":"import logging\n"},"line_number":3,"absolute_offset":36,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":35,"absolute_offset":741,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/render_panels.py"},"lines":{"text":"            logger.debug(\"failed to read queue preview snapshot\", exc_info=True)\n"},"line_number":57,"absolute_offset":1375,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"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":70854,"human":"0.000071s"},"searches":1,"searches_with_match":1,"bytes_searched":32992,"bytes_printed":1133,"matched_lines":3,"matches":4}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"import logging\n"},"line_number":13,"absolute_offset":459,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":22,"absolute_offset":760,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"        logger.debug(\"MarketplacesTab.activate: loading marketplaces\")\n"},"line_number":73,"absolute_offset":2385,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.exception(\"Failed to load marketplaces\")\n"},"line_number":84,"absolute_offset":2791,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.exception(\"Failed to load installed plugins\")\n"},"line_number":90,"absolute_offset":2977,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.debug(\"MarketplacesTab: enter DETAIL for %s\", self._selected_name)\n"},"line_number":309,"absolute_offset":12203,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.debug(\"MarketplacesTab: go_back to DETAIL from CONFIRM_REMOVE\")\n"},"line_number":316,"absolute_offset":12541,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.debug(\"MarketplacesTab: go_back to LIST from %s\", self._state)\n"},"line_number":321,"absolute_offset":12770,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"        logger.debug(\"MarketplacesTab: schedule add for %s\", repo)\n"},"line_number":370,"absolute_offset":14669,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"        logger.debug(\"MarketplacesTab: execute remove for %s\", name)\n"},"line_number":378,"absolute_offset":14998,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"        logger.info(\"MarketplacesTab._do_add: adding %s\", repo)\n"},"line_number":404,"absolute_offset":15978,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.info(\"MarketplacesTab._do_add: added %s successfully\", repo)\n"},"line_number":409,"absolute_offset":16194,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.error(\"MarketplacesTab._do_add: failed to add %s: %s\", repo, exc)\n"},"line_number":412,"absolute_offset":16373,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"        logger.info(\"MarketplacesTab._do_update: updating %s\", name)\n"},"line_number":415,"absolute_offset":16510,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.info(\"MarketplacesTab._do_update: updated %s successfully\", name)\n"},"line_number":420,"absolute_offset":16724,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.error(\"MarketplacesTab._do_update: failed to update %s: %s\", name, exc)\n"},"line_number":423,"absolute_offset":16911,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"        logger.info(\"MarketplacesTab._do_remove: removing %s\", name)\n"},"line_number":426,"absolute_offset":17054,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.info(\"MarketplacesTab._do_remove: removed %s successfully\", name)\n"},"line_number":431,"absolute_offset":17268,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"lines":{"text":"            logger.error(\"MarketplacesTab._do_remove: failed to remove %s: %s\", name, exc)\n"},"line_number":434,"absolute_offset":17455,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/marketplaces_tab.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":87522,"human":"0.000088s"},"searches":1,"searches_with_match":1,"bytes_searched":17546,"bytes_printed":6850,"matched_lines":19,"matches":20}}}
{"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":"import logging\n"},"line_number":4,"absolute_offset":51,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"from comate_cli.terminal_agent.logo import print_logo\n"},"line_number":32,"absolute_offset":719,"submatches":[{"match":{"text":"print"},"start":43,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":41,"absolute_offset":1135,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.exception(\"Failed to cycle mode\")\n"},"line_number":93,"absolute_offset":3047,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.exception(\"custom slash command rendering failed\")\n"},"line_number":1026,"absolute_offset":36570,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"        # (see the in-batch pop constraint in history_printer.py:223).\n"},"line_number":1064,"absolute_offset":38012,"submatches":[{"match":{"text":"print"},"start":54,"end":59}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.exception(\"manual compaction failed\")\n"},"line_number":1071,"absolute_offset":38339,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"                logger.exception(\"Failed to refresh status bar after /compact\")\n"},"line_number":1084,"absolute_offset":38795,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"        self._printed_history_index = 0\n"},"line_number":1173,"absolute_offset":41824,"submatches":[{"match":{"text":"print"},"start":14,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"        def _clear_and_print_logo() -> None:\n"},"line_number":1184,"absolute_offset":42192,"submatches":[{"match":{"text":"print"},"start":23,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            print_logo(scrollback_console, project_root=project_root)\n"},"line_number":1194,"absolute_offset":42589,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            await run_in_terminal(_clear_and_print_logo, in_executor=True)\n"},"line_number":1197,"absolute_offset":42673,"submatches":[{"match":{"text":"print"},"start":45,"end":50}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.warning(\n"},"line_number":1199,"absolute_offset":42781,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.exception(\"Failed to refresh status bar after /clear\")\n"},"line_number":1209,"absolute_offset":43075,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.info(f\"Model level switched: {event}\")\n"},"line_number":1347,"absolute_offset":48574,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.exception(\"Failed to switch model level\")\n"},"line_number":1353,"absolute_offset":48830,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.exception(\"Failed to update status bar model name\")\n"},"line_number":1369,"absolute_offset":49460,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/commands.py"},"lines":{"text":"            logger.exception(\"rewind failed\")\n"},"line_number":1588,"absolute_offset":56969,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"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":122262,"human":"0.000122s"},"searches":1,"searches_with_match":1,"bytes_searched":64819,"bytes_printed":6012,"matched_lines":18,"matches":19}}}
{"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":"import logging\n"},"line_number":17,"absolute_offset":618,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":29,"absolute_offset":997,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py"},"lines":{"text":"                logger.warning(\"btw on_exit failed\", exc_info=True)\n"},"line_number":177,"absolute_offset":5826,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py"},"lines":{"text":"            logger.warning(\"btw import run_forked_agent failed\", exc_info=True)\n"},"line_number":254,"absolute_offset":8998,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/btw_view.py"},"lines":{"text":"            logger.warning(\"btw fork failed\", exc_info=True)\n"},"line_number":277,"absolute_offset":9950,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"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":57010,"human":"0.000057s"},"searches":1,"searches_with_match":1,"bytes_searched":16560,"bytes_printed":1780,"matched_lines":5,"matches":6}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/plugin_picker.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/plugin_picker.py"},"lines":{"text":"import logging\n"},"line_number":9,"absolute_offset":227,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/plugin_picker.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":27,"absolute_offset":850,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/plugin_picker.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":35033,"human":"0.000035s"},"searches":1,"searches_with_match":1,"bytes_searched":14877,"bytes_printed":775,"matched_lines":2,"matches":3}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"import logging\n"},"line_number":9,"absolute_offset":190,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":32,"absolute_offset":712,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"        logger.debug(\"DiscoverTab.activate: loading available plugins\")\n"},"line_number":87,"absolute_offset":2637,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"            logger.exception(\"Failed to load available plugins\")\n"},"line_number":91,"absolute_offset":2815,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"            logger.exception(\"Failed to load installed plugins\")\n"},"line_number":97,"absolute_offset":3003,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"        logger.debug(\"DiscoverTab.activate: loaded %d plugins\", len(items))\n"},"line_number":126,"absolute_offset":4083,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"                logger.info(\"DiscoverTab: batch install %d plugins via Enter\", count)\n"},"line_number":375,"absolute_offset":13497,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"            logger.debug(\"DiscoverTab: enter DETAIL for %s\", item.get(\"name\"))\n"},"line_number":384,"absolute_offset":13919,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"            logger.debug(\"DiscoverTab: go_back to LIST\")\n"},"line_number":433,"absolute_offset":15783,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"        logger.info(\"DiscoverTab._do_install: installing %s (scope=%s)\", plugin_key, scope)\n"},"line_number":470,"absolute_offset":17409,"submatches":[{"match":{"text":"logger"},"start":8,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"            logger.info(\"DiscoverTab._do_install: installed %s successfully\", plugin_key)\n"},"line_number":483,"absolute_offset":18128,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"lines":{"text":"            logger.error(\"DiscoverTab._do_install: failed to install %s: %s\", plugin_key, exc)\n"},"line_number":486,"absolute_offset":18321,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/plugins/tabs/discover_tab.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":86833,"human":"0.000087s"},"searches":1,"searches_with_match":1,"bytes_searched":18416,"bytes_printed":4316,"matched_lines":12,"matches":13}}}
{"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":"import logging\n"},"line_number":3,"absolute_offset":36,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":15,"absolute_offset":430,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/key_bindings.py"},"lines":{"text":"            logger.warning(\"transcript viewer error\", exc_info=True)\n"},"line_number":30,"absolute_offset":948,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"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 not (char.isprintable() and len(char) == 1):\n"},"line_number":241,"absolute_offset":8721,"submatches":[{"match":{"text":"print"},"start":27,"end":32}]}}
{"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":51035,"human":"0.000051s"},"searches":1,"searches_with_match":1,"bytes_searched":23143,"bytes_printed":1445,"matched_lines":4,"matches":5}}}
{"type":"begin","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/mcp_connecting_view.py"}}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/mcp_connecting_view.py"},"lines":{"text":"import logging\n"},"line_number":10,"absolute_offset":236,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/mcp_connecting_view.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":16,"absolute_offset":432,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"end","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/mcp_connecting_view.py"},"binary_offset":null,"stats":{"elapsed":{"secs":0,"nanos":25705,"human":"0.000026s"},"searches":1,"searches_with_match":1,"bytes_searched":4852,"bytes_printed":800,"matched_lines":2,"matches":3}}}
{"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":"import logging\n"},"line_number":3,"absolute_offset":36,"submatches":[{"match":{"text":"logging"},"start":7,"end":14}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"from comate_cli.terminal_agent.history_printer import (\n"},"line_number":15,"absolute_offset":404,"submatches":[{"match":{"text":"print"},"start":39,"end":44}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"    print_history_group_sync,\n"},"line_number":16,"absolute_offset":460,"submatches":[{"match":{"text":"print"},"start":4,"end":9}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"from comate_cli.terminal_agent.logo import print_logo\n"},"line_number":19,"absolute_offset":518,"submatches":[{"match":{"text":"print"},"start":43,"end":48}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"logger = logging.getLogger(__name__)\n"},"line_number":27,"absolute_offset":977,"submatches":[{"match":{"text":"logger"},"start":0,"end":6},{"match":{"text":"logging"},"start":9,"end":16}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"    # message 拆成 N 条 entry，需要 seed 让 history_printer 把 run 续上）。class-level\n"},"line_number":32,"absolute_offset":1144,"submatches":[{"match":{"text":"print"},"start":59,"end":64}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        self._printed_history_index = 0\n"},"line_number":40,"absolute_offset":1606,"submatches":[{"match":{"text":"print"},"start":14,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        def _clear_and_print_logo() -> None:\n"},"line_number":44,"absolute_offset":1755,"submatches":[{"match":{"text":"print"},"start":23,"end":28}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"            print_logo(scrollback_console, project_root=project_root)\n"},"line_number":54,"absolute_offset":2152,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"            await run_in_terminal(_clear_and_print_logo, in_executor=True)\n"},"line_number":57,"absolute_offset":2236,"submatches":[{"match":{"text":"print"},"start":45,"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":"            logger.warning(\n"},"line_number":59,"absolute_offset":2344,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"            logger.debug(\n"},"line_number":319,"absolute_offset":13650,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"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":321,"absolute_offset":13727,"submatches":[{"match":{"text":"print"},"start":70,"end":75}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                self._printed_history_index,\n"},"line_number":325,"absolute_offset":13939,"submatches":[{"match":{"text":"print"},"start":22,"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":"                logger.debug(\n"},"line_number":328,"absolute_offset":14037,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        def _print() -> None:\n"},"line_number":349,"absolute_offset":14889,"submatches":[{"match":{"text":"print"},"start":13,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"            print_history_group_sync(scrollback_console, group)\n"},"line_number":357,"absolute_offset":15157,"submatches":[{"match":{"text":"print"},"start":12,"end":17}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        await run_in_terminal(_print, in_executor=True)\n"},"line_number":359,"absolute_offset":15222,"submatches":[{"match":{"text":"print"},"start":31,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"            logger.debug(\n"},"line_number":372,"absolute_offset":15683,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"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":374,"absolute_offset":15759,"submatches":[{"match":{"text":"print"},"start":70,"end":75}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                self._printed_history_index,\n"},"line_number":378,"absolute_offset":15971,"submatches":[{"match":{"text":"print"},"start":22,"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":"                logger.debug(\n"},"line_number":381,"absolute_offset":16069,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        print_history_group_sync(console, group)\n"},"line_number":401,"absolute_offset":16919,"submatches":[{"match":{"text":"print"},"start":8,"end":13}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        if self._printed_history_index >= len(entries):\n"},"line_number":405,"absolute_offset":17082,"submatches":[{"match":{"text":"print"},"start":17,"end":22}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        previous_index = self._printed_history_index\n"},"line_number":407,"absolute_offset":17160,"submatches":[{"match":{"text":"print"},"start":31,"end":36}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        pending = entries[self._printed_history_index :]\n"},"line_number":408,"absolute_offset":17213,"submatches":[{"match":{"text":"print"},"start":32,"end":37}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"        self._printed_history_index = len(entries)\n"},"line_number":409,"absolute_offset":17270,"submatches":[{"match":{"text":"print"},"start":14,"end":19}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"            logger.debug(\n"},"line_number":416,"absolute_offset":17545,"submatches":[{"match":{"text":"logger"},"start":12,"end":18}]}}
{"type":"match","data":{"path":{"text":"/home/hyc/projects/agent-sdk/packages/comate_cli/comate_cli/terminal_agent/tui_parts/history_sync.py"},"lines":{"text":"                self._printed_history_index,\n"},"line_number":421,"absolute_offset":17811,"submatches":[{"match":{"text":"print"},"start":22,"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":"                logger.debug(\n"},"line_number":426,"absolute_offset":17974,"submatches":[{"match":{"text":"logger"},"start":16,"end":22}]}}
{"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":140656,"human":"0.000141s"},"searches":1,"searches_with_match":1,"bytes_searched":18142,"bytes_printed":9718,"matched_lines":30,"matches":31}}}
{"data":{"elapsed_total":{"human":"0.033131s","nanos":33130927,"secs":0},"stats":{"bytes_printed":116751,"bytes_searched":588044,"elapsed":{"human":"0.002421s","nanos":2421120,"secs":0},"matched_lines":348,"matches":386,"searches":31,"searches_with_match":31}},"type":"summary"}
