@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.
- package/README.md +80 -15
- package/README.zh-CN.md +67 -18
- package/dist/host/note.d.ts +7 -0
- package/dist/host/note.d.ts.map +1 -0
- package/dist/host/note.js +28 -0
- package/dist/host/note.js.map +1 -0
- package/dist/host/v1.d.ts +14 -0
- package/dist/host/v1.d.ts.map +1 -0
- package/dist/host/v1.js +340 -0
- package/dist/host/v1.js.map +1 -0
- package/dist/host/v2-browser-gate.d.ts +45 -0
- package/dist/host/v2-browser-gate.d.ts.map +1 -0
- package/dist/host/v2-browser-gate.js +319 -0
- package/dist/host/v2-browser-gate.js.map +1 -0
- package/dist/host/v2-capabilities.d.ts +68 -0
- package/dist/host/v2-capabilities.d.ts.map +1 -0
- package/dist/host/v2-capabilities.js +146 -0
- package/dist/host/v2-capabilities.js.map +1 -0
- package/dist/host/v2-client.d.ts +53 -0
- package/dist/host/v2-client.d.ts.map +1 -0
- package/dist/host/v2-client.js +193 -0
- package/dist/host/v2-client.js.map +1 -0
- package/dist/host/v2-events.d.ts +56 -0
- package/dist/host/v2-events.d.ts.map +1 -0
- package/dist/host/v2-events.js +158 -0
- package/dist/host/v2-events.js.map +1 -0
- package/dist/host/v2-guard.d.ts +101 -0
- package/dist/host/v2-guard.d.ts.map +1 -0
- package/dist/host/v2-guard.js +199 -0
- package/dist/host/v2-guard.js.map +1 -0
- package/dist/host/v2-offload.d.ts +148 -0
- package/dist/host/v2-offload.d.ts.map +1 -0
- package/dist/host/v2-offload.js +288 -0
- package/dist/host/v2-offload.js.map +1 -0
- package/dist/host/v2-permissions.d.ts +123 -0
- package/dist/host/v2-permissions.d.ts.map +1 -0
- package/dist/host/v2-permissions.js +190 -0
- package/dist/host/v2-permissions.js.map +1 -0
- package/dist/host/v2-probe.d.ts +85 -0
- package/dist/host/v2-probe.d.ts.map +1 -0
- package/dist/host/v2-probe.js +268 -0
- package/dist/host/v2-probe.js.map +1 -0
- package/dist/host/v2-scope.d.ts +51 -0
- package/dist/host/v2-scope.d.ts.map +1 -0
- package/dist/host/v2-scope.js +58 -0
- package/dist/host/v2-scope.js.map +1 -0
- package/dist/host/v2-session-client.d.ts +74 -0
- package/dist/host/v2-session-client.d.ts.map +1 -0
- package/dist/host/v2-session-client.js +171 -0
- package/dist/host/v2-session-client.js.map +1 -0
- package/dist/host/v2-session.d.ts +85 -0
- package/dist/host/v2-session.d.ts.map +1 -0
- package/dist/host/v2-session.js +171 -0
- package/dist/host/v2-session.js.map +1 -0
- package/dist/host/v2-subagent.d.ts +157 -0
- package/dist/host/v2-subagent.d.ts.map +1 -0
- package/dist/host/v2-subagent.js +286 -0
- package/dist/host/v2-subagent.js.map +1 -0
- package/dist/host/v2-tool.d.ts +67 -0
- package/dist/host/v2-tool.d.ts.map +1 -0
- package/dist/host/v2-tool.js +209 -0
- package/dist/host/v2-tool.js.map +1 -0
- package/dist/host/v2-transcript.d.ts +73 -0
- package/dist/host/v2-transcript.d.ts.map +1 -0
- package/dist/host/v2-transcript.js +151 -0
- package/dist/host/v2-transcript.js.map +1 -0
- package/dist/host/v2-types.d.ts +229 -0
- package/dist/host/v2-types.d.ts.map +1 -0
- package/dist/host/v2-types.js +17 -0
- package/dist/host/v2-types.js.map +1 -0
- package/dist/host/v2.d.ts +42 -0
- package/dist/host/v2.d.ts.map +1 -0
- package/dist/host/v2.js +706 -0
- package/dist/host/v2.js.map +1 -0
- package/dist/index.d.ts +23 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -366
- package/dist/index.js.map +1 -1
- package/dist/prompts/lead.d.ts +1 -1
- package/dist/prompts/lead.d.ts.map +1 -1
- package/dist/prompts/lead.js +452 -426
- package/dist/prompts/lead.js.map +1 -1
- package/dist/prompts/shared.d.ts +2 -2
- package/dist/prompts/shared.d.ts.map +1 -1
- package/dist/prompts/shared.js +30 -10
- package/dist/prompts/shared.js.map +1 -1
- package/dist/prompts/specialists.d.ts +2 -2
- package/dist/prompts/specialists.d.ts.map +1 -1
- package/dist/prompts/specialists.js +7 -6
- package/dist/prompts/specialists.js.map +1 -1
- package/dist/task-offload.d.ts +16 -0
- package/dist/task-offload.d.ts.map +1 -1
- package/dist/task-offload.js +51 -0
- package/dist/task-offload.js.map +1 -1
- package/dist/tm/browser.d.ts.map +1 -1
- package/dist/tm/browser.js +41 -10
- package/dist/tm/browser.js.map +1 -1
- package/dist/tm/dispatch.d.ts +47 -0
- package/dist/tm/dispatch.d.ts.map +1 -1
- package/dist/tm/dispatch.js +230 -31
- package/dist/tm/dispatch.js.map +1 -1
- package/dist/tm/dupe-guard.d.ts +16 -3
- package/dist/tm/dupe-guard.d.ts.map +1 -1
- package/dist/tm/dupe-guard.js +27 -7
- package/dist/tm/dupe-guard.js.map +1 -1
- package/dist/tm/index.d.ts +40 -1
- package/dist/tm/index.d.ts.map +1 -1
- package/dist/tm/index.js +40 -11
- package/dist/tm/index.js.map +1 -1
- package/dist/tm/ledger.d.ts +114 -0
- package/dist/tm/ledger.d.ts.map +1 -0
- package/dist/tm/ledger.js +308 -0
- package/dist/tm/ledger.js.map +1 -0
- package/dist/tm/perm-ask.d.ts +1 -3
- package/dist/tm/perm-ask.d.ts.map +1 -1
- package/dist/tm/perm-ask.js +10 -1
- package/dist/tm/perm-ask.js.map +1 -1
- package/dist/tm/preview.d.ts +55 -0
- package/dist/tm/preview.d.ts.map +1 -1
- package/dist/tm/preview.js +225 -0
- package/dist/tm/preview.js.map +1 -1
- package/dist/tm/search.d.ts.map +1 -1
- package/dist/tm/search.js +40 -10
- package/dist/tm/search.js.map +1 -1
- package/dist/tm/serp-loop.d.ts +45 -0
- package/dist/tm/serp-loop.d.ts.map +1 -0
- package/dist/tm/serp-loop.js +80 -0
- package/dist/tm/serp-loop.js.map +1 -0
- package/dist/tm/stats.d.ts +10 -0
- package/dist/tm/stats.d.ts.map +1 -1
- package/dist/tm/stats.js +160 -0
- package/dist/tm/stats.js.map +1 -1
- package/dist/tm/webfetch.d.ts +4 -0
- package/dist/tm/webfetch.d.ts.map +1 -1
- package/dist/tm/webfetch.js +75 -8
- package/dist/tm/webfetch.js.map +1 -1
- package/docs/installation-v2.md +436 -0
- package/docs/installation.md +12 -0
- package/docs/research/agent-data-exchange.md +117 -0
- package/docs/research/browser-pane.md +89 -0
- package/docs/research/host-http-api.md +132 -0
- package/docs/research/host-subagent-injection.md +187 -0
- package/docs/research/plugin-loader-contract.md +261 -0
- package/docs/research/v2-builtin-tools.md +447 -0
- package/docs/v2-port-notes.md +315 -0
- package/index.js +7 -0
- package/package.json +64 -61
- package/scripts/gen-v2-config.mjs +304 -0
- package/scripts/lib/config-surgery.cjs +239 -0
- package/scripts/lib/fake-ctx.mjs +146 -0
package/dist/tm/dispatch.js
CHANGED
|
@@ -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
|
|
373
|
-
|
|
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
|
-
|
|
396
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
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
|
-
|
|
649
|
-
|
|
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
|
-
|
|
668
|
-
|
|
669
|
-
|
|
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
|
}
|
package/dist/tm/dispatch.js.map
CHANGED
|
@@ -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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"}
|
package/dist/tm/dupe-guard.d.ts
CHANGED
|
@@ -43,16 +43,29 @@ export interface DupeVerdict {
|
|
|
43
43
|
note: string;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
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
|
|
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"}
|
package/dist/tm/dupe-guard.js
CHANGED
|
@@ -59,10 +59,18 @@ export function hitsShareAnyQueryTerm(hits, terms) {
|
|
|
59
59
|
return false;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
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
|
-
|
|
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(
|
|
97
|
-
?
|
|
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
|
}
|