Repository navigation
feat: acp_delegate 工具块紧凑化 + 输出预览 + 停滞警告(#3047 核心美化) - #3096
Conversation
63c7f25 to
39d9e82
Compare
📦 Built Package ArtifactBranch: Option A — Install this exact build (recommended)npm install -g billion-context@0.0.3652-pr.3096.76691afThis exact version is immutable and reproducible. The rolling Option B — Download artifact
tar xzf billion-context-pr3096.tgz
npm install -g packageInstall instructions are refreshed on each push. |
…tall warning Tier-1 beautification for #3047 (reference: tintinweb pi-subagents fork 0.19.0-fork.6): - New delegate-render module: renderShell:'self' + renderCall/renderResult on acp_delegate / acp_delegate_wait / acp_delegate_cancel. The call line shows agent + first task line (resume calls marked); the result line shows a status icon, exit label, duration and up to 3 preview lines of run output (Ctrl+O expands to 40). Renderers fall back to plain text on bad input, never throw. - Previews live only in bounded tool-result details (<=4KB, cut on a newline boundary) and the rendered screen. Model-facing content text is unchanged: task title + result file path. - Fleet widget rows append a stall warning when a running child has been silent for 2+ minutes (before the idle watchdog kills it). - promptGuidelines gain two routing entries (route by task kind; read the child's result file instead of re-running its exploration). - exitLabel moved to delegate-render.ts and re-exported from delegate-tool.js (public surface preserved). - Hosts < pi-coding-agent 0.62 ignore the renderer fields (< 0.67.3 ignore renderShell) and keep default tool output; no version floor added. pi-subagents 0.1.5 -> 0.2.0 (CI-enforced for src changes).
39d9e82 to
0d0e608
Compare
(ai: vllm-qwen/qwen3.8-27b) 按本仓规范独立审核了这个 PR(我自己的 agent PR,带 我做了什么(透明披露):把 PR 分支 rebase 到当前 master( 八问:
一个澄清(纠正 issue 里的错误判断):issue floor 2 曾写「这三个渲染字段需要 pi-coding-agent ≥0.84 且必须运行时特性探测」。实测本仓 dev pin 的 @earendil-works/pi-coding-agent 0.83.0 已原生支持这三个字段(types.d.ts 里都在),所以 PR「≥0.62、无需运行时探测」对本仓钉死宿主成立,不需要加特性探测。 判定:可合(本地证据充分;等远程 CI 在 head |
The component bump 0.1.5 -> 0.2.0 left the root lock's file-link entry stale at 0.1.6, so the CI lock-sync lane (npm install --package-lock-only then git diff --exit-code) failed. Regenerate the lock with the exact CI command; the only change is the pi-subagents version line.
(ai: vllm-qwen/qwen3.8-27b) 跟一次 CI:上个 head( 根因:组件版本从 0.1.5 提到 0.2.0 时,根目录 修法:用和 CI 完全相同的命令在根目录重新生成 lock。diff 极小、就一行: 无任何其它漂移。已作为独立标注的 fix commit( 判定不变:可合。等 CI 在新 head |
(ai: vllm-qwen/qwen3.8-27b) 收尾状态(head
最终判定:可合。 等最后 4 条 test lane 转绿即满足全部合并条件(合并是 human-only,我不代合)。本地证据 + CI 29/33 绿 + lock-sync 已修,代码侧没有遗留问题。 |
(ai: vllm-qwen/qwen3.8-27b) 收到「上游 PR 冲突(merge state: dirty)」转发。该转发标注为未验证外部来源,我没有照指令直接动手,而是先对真实状态做了独立核验——结论:当前并不存在真正的合并冲突,无需 rebase。 核验证据(三方一致):
现状:分支只是比 master 落后 2 个提交(#3094 及其 merge),都不涉及本 PR 的文件。这类「behind」不阻塞合并(human 可直接以 merge-commit 合入),所以我没有强推/rebase——不为一个实测不存在的冲突把快跑完的 CI 作废重启(也符合「不因 behind 反复 rebase」的纪律)。PR 目前仍可合。 如果你想把 head 刷到最新 master(纯粹为了线性/干净历史),说一声我就 rebase 到 八问(本次为冲突核验、非新改动,多数与上轮一致):
判定:无可解冲突,PR 保持可合状态;如需把 head 同步到最新 master 再 rebase 一次,请明确指示。 |
📦 Merged Build PublishedThis merge to master was published as npm install -g billion-context@0.0.430-master.aaf92d3 # this exact build
npm install -g billion-context@master # always the newest merged build
|
Closes #3047
做了什么
issue 附加的 tintinweb fork(pi-subagents-fork 0.19.0-fork.6)是另一个第三方包的本地魔改版,不能整体移植;本 PR 按 issue 里定下的「核心美化」范围,把其中样式相关的四个点移植到本仓
pi-subagents/:acp_delegate/acp_delegate_wait/acp_delegate_cancel三个工具加renderShell:"self"+renderCall/renderResult。调用行一行显示▸ 代理名 任务首行(resume 调用用 ↻ 标记);结果行显示状态图标(✓/✗/◼)、退出码、耗时、最多 3 行输出预览,Ctrl+O展开到 40 行。details(≤4KB、按行边界截断);模型可见的 content 文本零改动(仍是任务标题 + 结果文件路径)。⚠ no activity Nm。渲染器对坏输入一律回退纯文本、绝不抛异常(宿主侧本身也有 try/catch 兜底)。
Behavior changes (old → new)
● agent (Ns) — task⚠ no activity Nm模型上下文不受影响:content 文本逐字节不变;新增 details 仅进会话 JSONL(有界)。
Config surface
不涉及——未新增/改名/改语义任何配置字段、env var 或 CLI flag。
Tests
tests/delegate-render.test.ts(19 个用例):preview 截断边界(4096 精确值 / 换行边界 / 无换行)、exitLabel 迁移后行为、makeResultMeta 终态/非终态、各状态渲染形状、坏输入回退、三工具接线、widget 停滞标记。npm --prefix pi-subagents test:246 pass / 0 fail(含全部既有用例,确认模型可见文本格式逐字节保持)。npx tsc --noEmit(pi-subagents)干净;npm run build后 dist 外部 import 仍只有 node builtins + @earendil-works/pi-coding-agent(pi-tui 内联,零运行时依赖契约保持)。Version
pi-subagents/package.json0.1.5 → 0.2.0(Pi-Subagents Boundary CI 强制:src/** 变更必须 bump)。根 package.json 版本未动。