@te-river/opencode-team-mode 1.6.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/README.md +80 -15
  2. package/README.zh-CN.md +67 -18
  3. package/dist/host/note.d.ts +7 -0
  4. package/dist/host/note.d.ts.map +1 -0
  5. package/dist/host/note.js +28 -0
  6. package/dist/host/note.js.map +1 -0
  7. package/dist/host/v1.d.ts +14 -0
  8. package/dist/host/v1.d.ts.map +1 -0
  9. package/dist/host/v1.js +340 -0
  10. package/dist/host/v1.js.map +1 -0
  11. package/dist/host/v2-browser-gate.d.ts +45 -0
  12. package/dist/host/v2-browser-gate.d.ts.map +1 -0
  13. package/dist/host/v2-browser-gate.js +319 -0
  14. package/dist/host/v2-browser-gate.js.map +1 -0
  15. package/dist/host/v2-capabilities.d.ts +68 -0
  16. package/dist/host/v2-capabilities.d.ts.map +1 -0
  17. package/dist/host/v2-capabilities.js +146 -0
  18. package/dist/host/v2-capabilities.js.map +1 -0
  19. package/dist/host/v2-client.d.ts +53 -0
  20. package/dist/host/v2-client.d.ts.map +1 -0
  21. package/dist/host/v2-client.js +193 -0
  22. package/dist/host/v2-client.js.map +1 -0
  23. package/dist/host/v2-events.d.ts +56 -0
  24. package/dist/host/v2-events.d.ts.map +1 -0
  25. package/dist/host/v2-events.js +158 -0
  26. package/dist/host/v2-events.js.map +1 -0
  27. package/dist/host/v2-guard.d.ts +101 -0
  28. package/dist/host/v2-guard.d.ts.map +1 -0
  29. package/dist/host/v2-guard.js +199 -0
  30. package/dist/host/v2-guard.js.map +1 -0
  31. package/dist/host/v2-offload.d.ts +148 -0
  32. package/dist/host/v2-offload.d.ts.map +1 -0
  33. package/dist/host/v2-offload.js +288 -0
  34. package/dist/host/v2-offload.js.map +1 -0
  35. package/dist/host/v2-permissions.d.ts +123 -0
  36. package/dist/host/v2-permissions.d.ts.map +1 -0
  37. package/dist/host/v2-permissions.js +190 -0
  38. package/dist/host/v2-permissions.js.map +1 -0
  39. package/dist/host/v2-probe.d.ts +85 -0
  40. package/dist/host/v2-probe.d.ts.map +1 -0
  41. package/dist/host/v2-probe.js +268 -0
  42. package/dist/host/v2-probe.js.map +1 -0
  43. package/dist/host/v2-scope.d.ts +51 -0
  44. package/dist/host/v2-scope.d.ts.map +1 -0
  45. package/dist/host/v2-scope.js +58 -0
  46. package/dist/host/v2-scope.js.map +1 -0
  47. package/dist/host/v2-session-client.d.ts +74 -0
  48. package/dist/host/v2-session-client.d.ts.map +1 -0
  49. package/dist/host/v2-session-client.js +171 -0
  50. package/dist/host/v2-session-client.js.map +1 -0
  51. package/dist/host/v2-session.d.ts +85 -0
  52. package/dist/host/v2-session.d.ts.map +1 -0
  53. package/dist/host/v2-session.js +171 -0
  54. package/dist/host/v2-session.js.map +1 -0
  55. package/dist/host/v2-subagent.d.ts +157 -0
  56. package/dist/host/v2-subagent.d.ts.map +1 -0
  57. package/dist/host/v2-subagent.js +286 -0
  58. package/dist/host/v2-subagent.js.map +1 -0
  59. package/dist/host/v2-tool.d.ts +67 -0
  60. package/dist/host/v2-tool.d.ts.map +1 -0
  61. package/dist/host/v2-tool.js +209 -0
  62. package/dist/host/v2-tool.js.map +1 -0
  63. package/dist/host/v2-transcript.d.ts +73 -0
  64. package/dist/host/v2-transcript.d.ts.map +1 -0
  65. package/dist/host/v2-transcript.js +151 -0
  66. package/dist/host/v2-transcript.js.map +1 -0
  67. package/dist/host/v2-types.d.ts +229 -0
  68. package/dist/host/v2-types.d.ts.map +1 -0
  69. package/dist/host/v2-types.js +17 -0
  70. package/dist/host/v2-types.js.map +1 -0
  71. package/dist/host/v2.d.ts +42 -0
  72. package/dist/host/v2.d.ts.map +1 -0
  73. package/dist/host/v2.js +706 -0
  74. package/dist/host/v2.js.map +1 -0
  75. package/dist/index.d.ts +23 -17
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +29 -366
  78. package/dist/index.js.map +1 -1
  79. package/dist/prompts/lead.d.ts +1 -1
  80. package/dist/prompts/lead.d.ts.map +1 -1
  81. package/dist/prompts/lead.js +452 -426
  82. package/dist/prompts/lead.js.map +1 -1
  83. package/dist/prompts/shared.d.ts +2 -2
  84. package/dist/prompts/shared.d.ts.map +1 -1
  85. package/dist/prompts/shared.js +30 -10
  86. package/dist/prompts/shared.js.map +1 -1
  87. package/dist/prompts/specialists.d.ts +2 -2
  88. package/dist/prompts/specialists.d.ts.map +1 -1
  89. package/dist/prompts/specialists.js +7 -6
  90. package/dist/prompts/specialists.js.map +1 -1
  91. package/dist/task-offload.d.ts +16 -0
  92. package/dist/task-offload.d.ts.map +1 -1
  93. package/dist/task-offload.js +51 -0
  94. package/dist/task-offload.js.map +1 -1
  95. package/dist/tm/browser.d.ts.map +1 -1
  96. package/dist/tm/browser.js +41 -10
  97. package/dist/tm/browser.js.map +1 -1
  98. package/dist/tm/dispatch.d.ts +47 -0
  99. package/dist/tm/dispatch.d.ts.map +1 -1
  100. package/dist/tm/dispatch.js +230 -31
  101. package/dist/tm/dispatch.js.map +1 -1
  102. package/dist/tm/dupe-guard.d.ts +16 -3
  103. package/dist/tm/dupe-guard.d.ts.map +1 -1
  104. package/dist/tm/dupe-guard.js +27 -7
  105. package/dist/tm/dupe-guard.js.map +1 -1
  106. package/dist/tm/index.d.ts +40 -1
  107. package/dist/tm/index.d.ts.map +1 -1
  108. package/dist/tm/index.js +40 -11
  109. package/dist/tm/index.js.map +1 -1
  110. package/dist/tm/ledger.d.ts +114 -0
  111. package/dist/tm/ledger.d.ts.map +1 -0
  112. package/dist/tm/ledger.js +308 -0
  113. package/dist/tm/ledger.js.map +1 -0
  114. package/dist/tm/perm-ask.d.ts +1 -3
  115. package/dist/tm/perm-ask.d.ts.map +1 -1
  116. package/dist/tm/perm-ask.js +10 -1
  117. package/dist/tm/perm-ask.js.map +1 -1
  118. package/dist/tm/preview.d.ts +55 -0
  119. package/dist/tm/preview.d.ts.map +1 -1
  120. package/dist/tm/preview.js +225 -0
  121. package/dist/tm/preview.js.map +1 -1
  122. package/dist/tm/search.d.ts.map +1 -1
  123. package/dist/tm/search.js +40 -10
  124. package/dist/tm/search.js.map +1 -1
  125. package/dist/tm/serp-loop.d.ts +45 -0
  126. package/dist/tm/serp-loop.d.ts.map +1 -0
  127. package/dist/tm/serp-loop.js +80 -0
  128. package/dist/tm/serp-loop.js.map +1 -0
  129. package/dist/tm/stats.d.ts +10 -0
  130. package/dist/tm/stats.d.ts.map +1 -1
  131. package/dist/tm/stats.js +160 -0
  132. package/dist/tm/stats.js.map +1 -1
  133. package/dist/tm/webfetch.d.ts +4 -0
  134. package/dist/tm/webfetch.d.ts.map +1 -1
  135. package/dist/tm/webfetch.js +75 -8
  136. package/dist/tm/webfetch.js.map +1 -1
  137. package/docs/installation-v2.md +436 -0
  138. package/docs/installation.md +12 -0
  139. package/docs/research/agent-data-exchange.md +117 -0
  140. package/docs/research/browser-pane.md +89 -0
  141. package/docs/research/host-http-api.md +132 -0
  142. package/docs/research/host-subagent-injection.md +187 -0
  143. package/docs/research/plugin-loader-contract.md +261 -0
  144. package/docs/research/v2-builtin-tools.md +447 -0
  145. package/docs/v2-port-notes.md +315 -0
  146. package/index.js +7 -0
  147. package/package.json +64 -61
  148. package/scripts/gen-v2-config.mjs +304 -0
  149. package/scripts/lib/config-surgery.cjs +239 -0
  150. package/scripts/lib/fake-ctx.mjs +146 -0
@@ -33,9 +33,29 @@ import { tmError, toToolResult } from "./result.js";
33
33
  import { unwrapClientResult } from "./client-unwrap.js";
34
34
  import { detectContentType } from "./preview.js";
35
35
  import { shorten } from "./config.js";
36
+ import { ledgerGoalLine, openItems } from "./ledger.js";
36
37
  /** The five dispatchable specialists — "team" is deliberately NOT in the
37
38
  * list: a lead spawning a lead is the nesting T3 closed. */
38
39
  export const DISPATCH_TARGETS = ["architect", "implementer", "reviewer", "tester", "researcher"];
40
+ /** A child seen being dispatched by the host's own tool, turned into a registry row.
41
+ * Null when the ids are unusable: a child whose id equals the caller's would make
42
+ * tm_join wait on the session it is running in, and an anonymous child cannot be
43
+ * settled by an event we match on session id. */
44
+ export function hostChildRecord(child, now = () => Date.now()) {
45
+ const sessionID = String(child?.sessionID ?? "").trim();
46
+ const parentSessionID = String(child?.parentSessionID ?? "").trim();
47
+ if (!sessionID || !parentSessionID || sessionID === parentSessionID)
48
+ return null;
49
+ return {
50
+ sessionID,
51
+ agent: String(child.agent ?? "").trim().toLowerCase() || "subagent",
52
+ label: String(child.label ?? "").trim().slice(0, 40) || "宿主子代理",
53
+ parentSessionID,
54
+ startedAt: now(),
55
+ state: "running",
56
+ via: "host-injection",
57
+ };
58
+ }
39
59
  export function openHostTodos(todos) {
40
60
  if (!Array.isArray(todos))
41
61
  return [];
@@ -259,7 +279,11 @@ export function describeHostError(err, max = 220) {
259
279
  export function renderChildLine(c, elapsedMs) {
260
280
  const secs = Math.round(elapsedMs / 1000);
261
281
  const tag = c.state === "running" ? `运行中 ${secs}s` : c.state === "error" ? `失败:${shorten(c.error ?? "", 80)}` : `已完成 ${secs}s`;
262
- return `${c.sessionID} · ${c.agent} · "${c.label}" · ${tag}${c.adopted ? " ·(本进程重启后由宿主会话树接管)" : ""}`;
282
+ return `${c.sessionID} · ${c.agent} · "${c.label}" · ${tag}${c.adopted ? " ·(本进程重启后由宿主会话树接管)" : ""}${c.via === "host-injection" && c.settleSource === "parent-idle"
283
+ ? " ·(宿主子代理:随父会话空闲推定已结算,宿主没给过这个子会话的 idle 事件)"
284
+ : c.via === "host-injection"
285
+ ? " ·(宿主 subagent 派发)"
286
+ : ""}`;
263
287
  }
264
288
  /** Verdicts tm_join can actually observe (issue #7's "leader keeps control"). */
265
289
  export function summarizeStates(children) {
@@ -366,14 +390,22 @@ export function buildDispatchTools(deps) {
366
390
  }
367
391
  function fetchReply(sid, directory) {
368
392
  return (async () => {
369
- if (typeof api?.messages !== "function")
370
- return { text: "" };
393
+ if (typeof api?.messages !== "function") {
394
+ return { text: "", error: "这个宿主客户端没有给出读取子会话正文的缝(v2 上它是 ctx.session.context 的兼容层)" };
395
+ }
371
396
  try {
372
- const un = unwrapClientResult(await api.messages({ path: { id: sid }, ...(directory ? { query: { directory } } : {}) }));
373
- return un.ok ? lastAssistantMessage(un.data) : { text: "" };
397
+ const raw = await api.messages({ path: { id: sid }, ...(directory ? { query: { directory } } : {}) });
398
+ const un = unwrapClientResult(raw);
399
+ const got = un.ok ? lastAssistantMessage(un.data) : { text: "", error: un.message };
400
+ // The seam that ANSWERED, named by the seam itself. On v1 that is the host's
401
+ // `session.messages`; on v2 the same call is served by `ctx.session.context`, and
402
+ // printing "session.messages" there would credit an endpoint this host does not
403
+ // have — the class of claim this product exists to refuse.
404
+ const via = String(raw?.via ?? "session.messages");
405
+ return got.text ? { ...got, via } : { text: "", error: got.error, via };
374
406
  }
375
- catch {
376
- return { text: "" };
407
+ catch (err) {
408
+ return { text: "", error: describeHostError(err?.message ?? err, 140) };
377
409
  }
378
410
  })();
379
411
  }
@@ -392,17 +424,28 @@ export function buildDispatchTools(deps) {
392
424
  * path that may take a host child, and the parentage check it must pass.
393
425
  */
394
426
  async function adoptFromHost(parent, directory, only) {
395
- if (typeof api?.children !== "function" || !parent)
396
- return 0;
427
+ // Three outcomes used to collapse into `0`: the host surface is absent (v2's
428
+ // client shim has no `session` domain), the call failed, and "we asked and
429
+ // there was nothing". The empty-round answer reads "宿主会话树里也没有可认领的
430
+ // 子会话", which is a claim about case three — asserted in cases one and two,
431
+ // where nobody looked. A lead that believes it will stop waiting for a report
432
+ // that exists, which is the silent loss this function exists to prevent.
433
+ // The reason names the MISSING SEAM, not a host generation: the same absence
434
+ // occurs on a v1-shaped client that lacks `session.messages`, and a sentence
435
+ // blaming "v2" there would be false in the opposite direction.
436
+ if (typeof api?.children !== "function")
437
+ return { adopted: 0, looked: false, why: "这个宿主客户端没有给出 session.children(可辨认的 session API 缺失),我没有看过会话树" };
438
+ if (!parent)
439
+ return { adopted: 0, looked: false, why: "调用方会话 id 缺失,无从查询子会话" };
397
440
  let un;
398
441
  try {
399
442
  un = unwrapClientResult(await api.children({ path: { id: parent }, ...(directory ? { query: { directory } } : {}) }));
400
443
  }
401
- catch {
402
- return 0;
444
+ catch (err) {
445
+ return { adopted: 0, looked: false, why: `查询会话树失败:${describeHostError(err)}` };
403
446
  }
404
447
  if (!un.ok || !Array.isArray(un.data))
405
- return 0;
448
+ return { adopted: 0, looked: false, why: "宿主返回了无法解析的会话树结果" };
406
449
  let adopted = 0;
407
450
  for (const raw of un.data) {
408
451
  const sid = String(raw?.id ?? "").trim();
@@ -429,7 +472,7 @@ export function buildDispatchTools(deps) {
429
472
  adopted++;
430
473
  log({ step_id: "join", event: "adopt", child: sid, agent: parsed.agent, label: rec.label });
431
474
  }
432
- return adopted;
475
+ return { adopted, looked: true, why: adopted ? "" : "会话树里没有被认领标题的子会话" };
433
476
  }
434
477
  /** Claim ONE explicitly named child of the calling session — the host's own
435
478
  * `task` child included, which `adoptFromHost` must never pick up on its
@@ -513,10 +556,19 @@ export function buildDispatchTools(deps) {
513
556
  const idFilter = idList && idList.length ? new Set(idList) : null;
514
557
  const owned = () => [...children.values()].filter((r) => (!parent || r.parentSessionID === parent) && (!idFilter || idFilter.has(r.sessionID)));
515
558
  let mine = owned();
559
+ // Whether we got to LOOK at the host's tree, and what it said — the empty
560
+ // answer must not claim "there is nothing to adopt" on a host we cannot
561
+ // query, so the fact travels with the attempt rather than being inferred.
562
+ let adoption = {
563
+ adopted: 0,
564
+ looked: false,
565
+ why: "本进程已经认全了要收的子代理,没有去查会话树",
566
+ };
516
567
  // This process has never seen some (or all) of what the lead is asking
517
568
  // for — the host's session tree, not our memory, is the authority.
518
569
  if (mine.length < (idFilter ? idFilter.size : 1)) {
519
- if (await adoptFromHost(parent, directory, idFilter))
570
+ adoption = await adoptFromHost(parent, directory, idFilter);
571
+ if (adoption.adopted)
520
572
  mine = owned();
521
573
  // Plan B: a NAMED id may be the host's own `task` child (no ·tm
522
574
  // marker, so the tree walk above never claims it). Collecting it is
@@ -563,7 +615,28 @@ export function buildDispatchTools(deps) {
563
615
  };
564
616
  if (!mine.length) {
565
617
  const lease = leaseLine();
566
- return toToolResult(`没有待收集的派发${idFilter ? "(ids 未匹配到本会话的子代理,宿主会话树里也没有可认领的子会话)" : ""}。` +
618
+ // The parenthetical is now chosen by whether we actually looked, so a
619
+ // host we cannot query no longer reports as "confirmed: nothing there".
620
+ const saw = adoption.looked;
621
+ const inner = idFilter
622
+ ? (() => {
623
+ // Naming the shapes the v2 session bridge tried is the whole point:
624
+ // without it, a claim that failed because `ctx.session.get` answered
625
+ // in a shape we do not know prints the same sentence as a tree we
626
+ // did query, and the lead goes back to waiting for a report that
627
+ // exists.
628
+ const sr = deps.sessionReaderReport?.();
629
+ const bridge = sr && sr.attempted > 0
630
+ ? `;我试过的 ctx.session 形状:${(sr.failedShapes.length ? sr.failedShapes.join("→") : sr.usedShape ?? "?")}${sr.lastError ? `(宿主最后一次的错误:${shorten(sr.lastError, 90)})` : "(宿主没有报错,只是没给出 parentID)"}`
631
+ : "";
632
+ return saw
633
+ ? `(ids 未匹配到本会话的子代理,宿主会话树里也没有可认领的子会话)${bridge}`
634
+ : `(ids 未匹配到;而且我没能查看宿主会话树:${adoption.why})${bridge}`;
635
+ })()
636
+ : saw
637
+ ? ""
638
+ : `(注意:${adoption.why},所以"确实没有子代理"这个结论我给不出)`;
639
+ return toToolResult(`没有待收集的派发${inner}。` +
567
640
  // The old line asserted the dispatch had failed. Measured live: it
568
641
  // had not — a completed host `task` with a full reply was sitting in
569
642
  // the transcript, and the honest reason is that a synchronous host
@@ -633,20 +706,75 @@ export function buildDispatchTools(deps) {
633
706
  // child settled says nothing about the USER'S goal, and the host's own
634
707
  // todo list does. Read-only (GET /session/{id}/todo has no write
635
708
  // body), so this can remind but never rewrite.
636
- if (settled && typeof api?.todo === "function" && parent) {
637
- try {
638
- const un = unwrapClientResult(await api.todo({ path: { id: parent }, ...(directory ? { query: { directory } } : {}) }));
639
- const open = un.ok ? openHostTodos(un.data) : [];
640
- if (open.length) {
641
- header.push(`⚠ 目标未达成:宿主 todolist 还有 ${open.length} 项未完成 —— ${open.slice(0, 6).map((t) => `「${t.content}」(${t.status})`).join("、")}` +
642
- (open.length > 6 ? ` …+${open.length - 6}` : "") +
643
- `\n按目标指令:要么继续做掉,要么向用户写明哪一条被什么卡住;不要把这轮当成收尾。` +
644
- `(若这些项其实已经做完——例如你刚把派发结果收齐——先用 todowrite 更新状态,再收尾。)`);
645
- log({ step_id: "join", event: "goal_open", count: open.length });
709
+ //
710
+ // The check has THREE outcomes and all three must be sayable. Silence when
711
+ // the seam is missing (v2's client shim has no `todo`) read as "the goal
712
+ // check ran and passed", which is the same overstatement this tool was
713
+ // already fixed for on the adoption path — a settled round is exactly when
714
+ // an unchecked box matters most.
715
+ if (settled) {
716
+ const canCheck = typeof api?.todo === "function" && Boolean(parent);
717
+ let checked = false;
718
+ let ledgerEmpty = false;
719
+ if (canCheck) {
720
+ try {
721
+ const un = unwrapClientResult(await api.todo({ path: { id: parent }, ...(directory ? { query: { directory } } : {}) }));
722
+ checked = un.ok;
723
+ const open = un.ok ? openHostTodos(un.data) : [];
724
+ if (open.length) {
725
+ header.push(`⚠ 目标未达成:宿主 todolist 还有 ${open.length} 项未完成 —— ${open.slice(0, 6).map((t) => `「${t.content}」(${t.status})`).join("、")}` +
726
+ (open.length > 6 ? ` …+${open.length - 6}` : "") +
727
+ `\n按目标指令:要么继续做掉,要么向用户写明哪一条被什么卡住;不要把这轮当成收尾。` +
728
+ // v1 has the built-in `todowrite`; a host without it must not be
729
+ // told to call a tool it cannot call (the tm_ptc_run / `task`
730
+ // lesson a third time). Without the write seam the only honest
731
+ // move is to say which items are done in the reply.
732
+ (typeof api?.todo === "function"
733
+ ? `(若这些项其实已经做完——例如你刚把派发结果收齐——先用 todowrite 更新状态,再收尾。)`
734
+ : `(这个宿主没给写清单的入口:若这些项其实已完成,就在回复里逐条写明哪条做完了、依据是什么。)`));
735
+ log({ step_id: "join", event: "goal_open", count: open.length });
736
+ }
737
+ }
738
+ catch {
739
+ checked = false;
740
+ /* the todo endpoint is an extra, never a reason to fail a join */
646
741
  }
647
742
  }
648
- catch {
649
- /* the todo endpoint is an extra, never a reason to fail a join */
743
+ if (!checked && deps.ledgerStore?.available?.() && parent) {
744
+ // v2 has no `session.todo` to read, so the list that CAN be checked is
745
+ // the one this plugin keeps (`tm_ledger`, in ctx.storage). A non-empty
746
+ // open set is a fact worth refusing a wrap-up over; an EMPTY one is not
747
+ // evidence the goal was met — it usually means nothing was ever
748
+ // recorded, which is its own honest "cannot check".
749
+ try {
750
+ const led = await deps.ledgerStore.load(parent);
751
+ const rest = led ? openItems(led) : [];
752
+ if (rest.length) {
753
+ const line = ledgerGoalLine(led);
754
+ if (line)
755
+ header.push(line);
756
+ log({ step_id: "join", event: "goal_open", count: rest.length, source: "ledger" });
757
+ checked = true;
758
+ }
759
+ else if (led) {
760
+ ledgerEmpty = true;
761
+ }
762
+ }
763
+ catch {
764
+ /* the ledger is an extra too — a store that will not read never fails a join */
765
+ }
766
+ }
767
+ if (!checked) {
768
+ header.push(canCheck
769
+ ? "(目标核对没做成:宿主 todo 端点返回异常,这一轮我没有看到你的清单状态。)"
770
+ : ledgerEmpty
771
+ ? "(目标核对没做成:这个宿主没给 session.todo 端点,而 tm_ledger 里一条都没有——没有可核对的目标状态。`所有子代理已结算` 不等于 `目标已达成`:要么先 tm_ledger { action:\"add\" } 把要求记下来,要么在回复里自己逐条核对再收尾。)"
772
+ : "(目标核对没做成:这个宿主没给 session.todo 端点,我也读不到本插件的 tm_ledger——无法读取清单状态。`所有子代理已结算` 不等于 `目标已达成`,这一轮请自己核对再收尾。)");
773
+ log({
774
+ step_id: "join",
775
+ event: "goal_unchecked",
776
+ reason: canCheck ? "endpoint_failed" : ledgerEmpty ? "ledger_empty" : "no_seam",
777
+ });
650
778
  }
651
779
  }
652
780
  // #80/#86/#87: THE LEASE TRIPWIRE — one computation (leaseLine above),
@@ -664,9 +792,16 @@ export function buildDispatchTools(deps) {
664
792
  for (const r of collectible) {
665
793
  const reply = await fetchReply(r.sessionID, directory);
666
794
  const text = reply.text;
667
- blocks.push(`--- ${r.agent} "${r.label}" (${r.sessionID}) ---\n${text.trim() ||
668
- `(该子会话没有可读的助手回复${r.error ? `;宿主错误:${r.error}` : reply.error ? `;宿主错误:${reply.error}` : ""})` +
669
- `——子会话不是文件,tm_read 读不到它:在宿主的会话面板里看这条子会话,或改用内置 task 工具重做这一步。`}`);
795
+ const src = text && reply.via ? ` ·正文来源=${reply.via}` : "";
796
+ // Which seam answered, per child — an id and a seam name, never a body (R6 binds
797
+ // a diagnostic too). This is the line that makes "正文来源=…" checkable later.
798
+ log({ step_id: "join", event: text ? "child_body" : "child_body_missing", child: r.sessionID, via: reply.via ?? "none" });
799
+ blocks.push(`--- ${r.agent} "${r.label}" (${r.sessionID})${src} ---\n${text.trim() ||
800
+ (r.via === "host-injection"
801
+ ? `(这个子会话由宿主的 subagent 工具派发,而这一次我没有读到它的正文${reply.error ? `:${reply.error}` : ":这个宿主没给可读正文的缝"}。完成时宿主仍会把 \`<subagent sessionID=\"${r.sessionID}\" …>\` 注入本会话,我已经把它登记在案、状态如上。` +
802
+ `要全文就在那条注入到达后读它,或让子代理把交付写进黑板;不要为了拿正文反复 join。)`
803
+ : `(该子会话没有可读的助手回复${r.error ? `;宿主错误:${r.error}` : reply.error ? `;宿主错误:${reply.error}` : ""})` +
804
+ `——子会话不是文件,tm_read 读不到它:在宿主的会话面板里看这条子会话,或改用内置 task 工具重做这一步。`)}`);
670
805
  }
671
806
  }
672
807
  const body = [...header, ...(blocks.length ? ["", blocks.join("\n")] : [])].join("\n");
@@ -691,12 +826,31 @@ export function buildDispatchTools(deps) {
691
826
  if (!sid)
692
827
  return;
693
828
  const rec = children.get(sid);
694
- if (!rec)
829
+ if (!rec) {
830
+ // The parent's own idle is the only completion signal v2 gives us for a host
831
+ // child: the background reply is injected into the parent before the parent's turn
832
+ // ends (measured: child injected …824730, parent idle …829038), and the plugin has
833
+ // no endpoint to read a child session's state. So settle the still-running host
834
+ // children of THIS session — and say plainly that it is a presumption.
835
+ if (type === "session.idle") {
836
+ for (const child of children.values()) {
837
+ if (child.via !== "host-injection" || child.state !== "running")
838
+ continue;
839
+ if (child.parentSessionID !== sid)
840
+ continue;
841
+ child.state = "idle";
842
+ child.finishedAt = now();
843
+ child.settleSource = "parent-idle";
844
+ log({ step_id: "events", event: "idle_presumed", child: child.sessionID, agent: child.agent, ms: child.finishedAt - child.startedAt });
845
+ }
846
+ }
695
847
  return;
848
+ }
696
849
  if (type === "session.idle") {
697
850
  if (rec.state === "running") {
698
851
  rec.state = "idle";
699
852
  rec.finishedAt = now();
853
+ rec.settleSource = "event";
700
854
  log({ step_id: "events", event: "idle", child: sid, agent: rec.agent, ms: (rec.finishedAt ?? 0) - rec.startedAt });
701
855
  }
702
856
  return;
@@ -721,9 +875,54 @@ export function buildDispatchTools(deps) {
721
875
  }
722
876
  }
723
877
  };
878
+ /** Open a row for a child the HOST dispatched (v2's `subagent` tool) that this
879
+ * registry never created. Returns false when the ids are unusable or the child is
880
+ * already known — a plugin reload replays hooks, and a second row for one session
881
+ * would make tm_join count the same work twice. */
882
+ function register(child) {
883
+ const rec = hostChildRecord(child, now);
884
+ if (!rec || children.has(rec.sessionID))
885
+ return false;
886
+ children.set(rec.sessionID, rec);
887
+ deps.onChildSession?.(rec.sessionID, rec.agent);
888
+ // The label is model-authored free text: it belongs in the lead's table, never in
889
+ // the audit trail (R6 binds a diagnostic as much as a guard).
890
+ log({ step_id: "join", event: "host_subagent", child: rec.sessionID, agent: rec.agent, parent: rec.parentSessionID });
891
+ return true;
892
+ }
893
+ /** Settle a child from the host's OWN completion envelope (see
894
+ * `applyV2CompletionWatch`). Returns false when this process does not know the id, so
895
+ * an unrelated session's injection never touches our registry. This is the third
896
+ * settle source and the only one that works mid-turn on v2: the child's own
897
+ * `session.idle` is not forwarded to a plugin subscriber (measured 2026-09-26), and a
898
+ * parent-idle presumption cannot fire while the parent is still working — which left a
899
+ * child whose report had already been injected showing 运行中. */
900
+ function settle(sessionID, state) {
901
+ const rec = children.get(String(sessionID ?? "").trim());
902
+ if (!rec || rec.state !== "running")
903
+ return false;
904
+ rec.finishedAt = now();
905
+ if (state === "error" || state === "failed" || state === "aborted") {
906
+ rec.state = "error";
907
+ rec.error = `宿主报告子会话 ${state}(其正文随注入消息送达)`;
908
+ }
909
+ else {
910
+ rec.state = "idle";
911
+ }
912
+ rec.settleSource = "injection";
913
+ log({ step_id: "events", event: "idle_injection", child: rec.sessionID, agent: rec.agent, ms: rec.finishedAt - rec.startedAt });
914
+ return true;
915
+ }
724
916
  return {
725
917
  tm_join: join,
726
918
  observeEvent,
919
+ register,
920
+ settle,
921
+ /** Anything still running? The completion scan is O(messages) per request, so it
922
+ * asks this first and skips the read when the answer is no. */
923
+ hasOpen: () => { for (const c of children.values())
924
+ if (c.state === "running")
925
+ return true; return false; },
727
926
  children: () => [...children.values()],
728
927
  };
729
928
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/tm/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/tm/dispatch.ts"],"names":[],"mappings":"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"}
@@ -43,16 +43,29 @@ export interface DupeVerdict {
43
43
  note: string;
44
44
  }
45
45
  /**
46
- * Per-process ledger of (engine → last signature + query). Deliberately
47
- * in-memory: it is a conversation-level observation, and a restart of the
48
- * plugin legitimately starts a fresh judgement (the agent is asking afresh).
46
+ * An engine that has answered a DIFFERENT question with the SAME result set this
47
+ * many times is not listening, and asking it again costs a round and a fetch to
48
+ * produce bytes we already have. A live session proved the advisory version of
49
+ * this rule does not work: the guard reported `collapse` at repeats 2,3,4,5,6 and
50
+ * the model kept going (≈50 tm_search calls, 424K input tokens). So past the
51
+ * limit the engine is refused outright — the only form of escalation that cannot
52
+ * be ignored is not making the call.
49
53
  */
54
+ export declare const DUPE_BLOCK_AFTER = 3;
55
+ /** Per-process ledger of (engine → last signature + query). Deliberately
56
+ * in-memory: it is a conversation-level observation, and a restart of the
57
+ * plugin legitimately starts a fresh judgement (the agent is asking afresh). */
50
58
  export declare function createDupeGuard(limit?: number): {
51
59
  observe: (engine: string, query: string, hits: ReadonlyArray<{
52
60
  url?: string;
53
61
  title?: string;
54
62
  snippet?: string;
55
63
  }>, terms: readonly string[]) => DupeVerdict;
64
+ /** ask BEFORE spending a fetch: a stalled engine is refused without calling it */
65
+ stalled: (engine: string) => {
66
+ blocked: boolean;
67
+ stalls: number;
68
+ };
56
69
  seen: () => number;
57
70
  };
58
71
  //# sourceMappingURL=dupe-guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dupe-guard.d.ts","sourceRoot":"","sources":["../../src/tm/dupe-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;oEACoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAa1E;AAED;;gEAEgE;AAChE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACvE,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAWT;AAED,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,SAAK,GAAG;IAC3C,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,WAAW,CAAA;IAC1J,IAAI,EAAE,MAAM,MAAM,CAAA;CACnB,CA2CA"}
1
+ {"version":3,"file":"dupe-guard.d.ts","sourceRoot":"","sources":["../../src/tm/dupe-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;oEACoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAa1E;AAED;;gEAEgE;AAChE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACvE,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAWT;AAED,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAA;AAEjC;;iFAEiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,SAAK,GAAG;IAC3C,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,WAAW,CAAA;IAC1J,kFAAkF;IAClF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACjE,IAAI,EAAE,MAAM,MAAM,CAAA;CACnB,CAqDA"}
@@ -59,10 +59,18 @@ export function hitsShareAnyQueryTerm(hits, terms) {
59
59
  return false;
60
60
  }
61
61
  /**
62
- * Per-process ledger of (engine → last signature + query). Deliberately
63
- * in-memory: it is a conversation-level observation, and a restart of the
64
- * plugin legitimately starts a fresh judgement (the agent is asking afresh).
62
+ * An engine that has answered a DIFFERENT question with the SAME result set this
63
+ * many times is not listening, and asking it again costs a round and a fetch to
64
+ * produce bytes we already have. A live session proved the advisory version of
65
+ * this rule does not work: the guard reported `collapse` at repeats 2,3,4,5,6 and
66
+ * the model kept going (≈50 tm_search calls, 424K input tokens). So past the
67
+ * limit the engine is refused outright — the only form of escalation that cannot
68
+ * be ignored is not making the call.
65
69
  */
70
+ export const DUPE_BLOCK_AFTER = 3;
71
+ /** Per-process ledger of (engine → last signature + query). Deliberately
72
+ * in-memory: it is a conversation-level observation, and a restart of the
73
+ * plugin legitimately starts a fresh judgement (the agent is asking afresh). */
66
74
  export function createDupeGuard(limit = 60) {
67
75
  const last = new Map();
68
76
  return {
@@ -71,13 +79,21 @@ export function createDupeGuard(limit = 60) {
71
79
  const prev = last.get(engine);
72
80
  let repeats = 1;
73
81
  let collapse = false;
82
+ // A NEW result set is evidence the engine is listening again, so the stall
83
+ // streak resets — otherwise one bad stretch would mute an engine for the
84
+ // rest of the process.
85
+ let stalls = prev?.stalls ?? 0;
74
86
  if (sig) {
75
87
  if (prev && prev.sig === sig) {
76
88
  repeats = prev.repeats + 1;
77
- // same answer set, different question = the engine is not listening
78
89
  collapse = prev.query !== query;
90
+ if (collapse)
91
+ stalls += 1;
79
92
  }
80
- last.set(engine, { sig, query, repeats });
93
+ else {
94
+ stalls = 0;
95
+ }
96
+ last.set(engine, { sig, query, repeats, stalls });
81
97
  if (last.size > limit) {
82
98
  const oldest = last.keys().next().value;
83
99
  if (oldest)
@@ -93,12 +109,16 @@ export function createDupeGuard(limit = 60) {
93
109
  parts.push(`⚠ 这 ${hits.length} 条结果里没有任何一条提到查询词——把「无结果」当成结论,不要从中编故事。`);
94
110
  }
95
111
  if (collapse || irrelevant) {
96
- parts.push(repeats >= 3
97
- ? `下一步:这类多概念关联查询已经在本进程失败 ${repeats} 次——用内置 task 派一份自包含的调研任务给 researcher(多个且要持续跟进就加 background:true;让它用自己的上下文去试错),或直接把不确定处报告给用户;不要在本会话里继续串行试。`
112
+ parts.push(stalls >= DUPE_BLOCK_AFTER
113
+ ? `下一步:该引擎在本进程已连续 ${stalls} 次给出同一结果集,**它已被封锁,再问它会直接拒绝**(省下的就是你本来要花的两轮)。把概念拆开逐次查、换 engine:"auto" 让其余引擎投票,或用宿主的子代理工具(v1 是 task,v2 是 subagent)派一份自包含的调研任务给 researcher(要并行就加 background:true);也可以把不确定处直接报告给用户。`
98
114
  : `下一步:把一个概念拆成一次查询(先查 A 是什么,再查 A 与 B 的关联),或换 engine:"auto" 让多引擎投票。`);
99
115
  }
100
116
  return { repeats, collapse, irrelevant, note: parts.join("\n") };
101
117
  },
118
+ stalled(engine) {
119
+ const stalls = last.get(engine)?.stalls ?? 0;
120
+ return { blocked: stalls >= DUPE_BLOCK_AFTER, stalls };
121
+ },
102
122
  seen: () => last.size,
103
123
  };
104
124
  }