Files
胡飞 306eb8ce40 feat(ai): 读终端可省略 target,并返回全屏/选中现场
侧边栏 AI 要判断「用户是不是在 vim 里」,原先只能先 connections.list_sessions
筛出终端 id,再 terminal.read 显式传 target;读回来的结果也分不清全屏程序界面和
shell 输出。

- public_mcp 的 agent 适配器把 terminal.read 的 target 从 required 摘掉,模型不传时
  用会话里唯一的终端资源补上;同类资源不止一个就报错让它显式传 id,不猜。MCP 直连
  表面的 schema 不变,仍强制 target。
- agent_runtime 新增 ResourceContext::default_target_of_kind:当前资源类型匹配时优先,
  否则只在同类唯一时返回。
- terminal.read 结果增补 alt_screen / display_offset / cursor_row / cursor_column /
  selection,都在终端锁内一次取全。

验证:
- cargo test -p terminal -p public_mcp -p agent_runtime -p terminal_view -p ai_chat_view
  (RUSTFLAGS=-D warnings)全绿,含新增 2 条 recent_text 现场测试与 4 条 target 可省略测试。
- cargo clippy:改动文件无新增告警。
2026-10-27 09:49:43 +08:00
..
2026-08-31 23:02:35 +08:00