mirror of
https://github.com/NCBM/plyngent.git
synced 2026-11-07 07:17:54 +08:00
d6c4aa0d4f
PTY, human-prompt, temp-dir, truncate, and the rest of the VCS/todo family still printed raw "[tool] name(args)" lines while every other tool had a syntax. Each one now has a prefix that appears as the call starts and an outcome parsed from its own result shape: session ids and alive/exit state for PTY, answered/ selected/count for the ask family, granted or denied for access requests, the new path for a temp dir, changed files with line counts for vcs_diff, and the rendered stack for the remaining todo commands. ask_into_pty reports only that the answer was written. Resolution is no longer a dict lookup: namespaced MCP tools are built from their ``mcp__<server>__<tool>`` name so a newly connected server gets the same line without registration, and the resolved renderer is carried from call to result instead of being looked up twice. Plugin tools and custom calls keep the whole-line fallback. The shared key=value parser and the ranged-read detail are reused by run_argv, fetch, read_file, and get_truncated rather than copied. Tests cover every added line (including the error paths), the MCP naming rule, and an invariant that each builtin tool resolves to a renderer.