@te-river/opencode-team-mode 1.6.0 → 1.6.2
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 +31 -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 +78 -0
- package/dist/host/v2-capabilities.d.ts.map +1 -0
- package/dist/host/v2-capabilities.js +173 -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 +105 -0
- package/dist/host/v2-session-client.d.ts.map +1 -0
- package/dist/host/v2-session-client.js +390 -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 +853 -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 +456 -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 +38 -11
- 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 +86 -1
- package/dist/tm/dispatch.d.ts.map +1 -1
- package/dist/tm/dispatch.js +360 -39
- 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 +29 -0
- package/dist/tm/stats.d.ts.map +1 -1
- package/dist/tm/stats.js +278 -4
- 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 +445 -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 +413 -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 +169 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The search-results-page loop guard (#14).
|
|
3
|
+
*
|
|
4
|
+
* A live v2 session spent ~30 browser navigations going to
|
|
5
|
+
* `cn.bing.com/search?q=…`, one query per round trip, each snapshot 200-500
|
|
6
|
+
* tokens. That is the exact pattern design goal 3 exists to kill, happening on
|
|
7
|
+
* the web channel: `tm_search` already queries bing (and six other engines) and
|
|
8
|
+
* returns a deduped, RRF-fused hit list in ONE call, so a browser navigation to
|
|
9
|
+
* a SERP is a slower, dumber version of a tool the agent already has.
|
|
10
|
+
*
|
|
11
|
+
* The browser is still the legitimate fallback — bing's HTML is sometimes an
|
|
12
|
+
* anti-bot shell and only a real browser gets through — so this is a RATE
|
|
13
|
+
* LIMIT, not a ban: the first `limit` SERP navigations go through with the
|
|
14
|
+
* redirect named in the reply, and past that the navigation is refused until the
|
|
15
|
+
* agent has tried `tm_search`. Refusing outright would remove the one path that
|
|
16
|
+
* survives a JS challenge, and removing a working fallback to fix a misuse is
|
|
17
|
+
* the wrong trade.
|
|
18
|
+
*/
|
|
19
|
+
const queryOf = (u) => {
|
|
20
|
+
for (const k of ["q", "query", "wd", "keyword", "searchterms"]) {
|
|
21
|
+
const v = (u.searchParams.get(k) ?? "").trim();
|
|
22
|
+
if (v)
|
|
23
|
+
return v;
|
|
24
|
+
}
|
|
25
|
+
return "";
|
|
26
|
+
};
|
|
27
|
+
/** Pure: a search-results URL tm_search can already produce, or null. */
|
|
28
|
+
export function serpTarget(raw) {
|
|
29
|
+
let u;
|
|
30
|
+
try {
|
|
31
|
+
u = new URL(String(raw ?? ""));
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const host = u.hostname.toLowerCase();
|
|
37
|
+
const path = u.pathname.toLowerCase();
|
|
38
|
+
const query = queryOf(u);
|
|
39
|
+
if (!query)
|
|
40
|
+
return null;
|
|
41
|
+
if (host === "cn.bing.com" || host === "www.bing.com" || host === "bing.com") {
|
|
42
|
+
return { engine: "bing", query, host };
|
|
43
|
+
}
|
|
44
|
+
if (host === "stackoverflow.com" && path.startsWith("/search")) {
|
|
45
|
+
return { engine: "stackoverflow", query, host };
|
|
46
|
+
}
|
|
47
|
+
if (host === "github.com" && path.startsWith("/search")) {
|
|
48
|
+
return { engine: "github", query, host };
|
|
49
|
+
}
|
|
50
|
+
if (host === "www.bilibili.com" && path.startsWith("/search")) {
|
|
51
|
+
return { engine: "bilibili", query, host };
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
export const SERP_NAV_LIMIT = 3;
|
|
56
|
+
export function createSerpLoopGuard(limit = SERP_NAV_LIMIT) {
|
|
57
|
+
let seenCount = 0;
|
|
58
|
+
return {
|
|
59
|
+
observe(url) {
|
|
60
|
+
const target = serpTarget(url);
|
|
61
|
+
if (!target)
|
|
62
|
+
return null;
|
|
63
|
+
seenCount += 1;
|
|
64
|
+
return { target, count: seenCount, limit, blocked: seenCount > limit };
|
|
65
|
+
},
|
|
66
|
+
seen: () => seenCount,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/** The line the agent reads. It names the replacement call rather than just
|
|
70
|
+
* refusing, because "don't do that" without "do this instead" costs a second
|
|
71
|
+
* round for the model to work the difference out. */
|
|
72
|
+
export function serpRedirect(v) {
|
|
73
|
+
return `这是一个搜索结果页(${v.target.host},查询「${v.target.query.slice(0, 60)}」)。tm_search 的 ${v.target.engine} 引擎一条调用就能拿到去重+RRF 融合后的命中表,比开浏览器抓 SERP 快且不占快照预算。`;
|
|
74
|
+
}
|
|
75
|
+
export function serpRefusal(v) {
|
|
76
|
+
return (`本次不导航:这已是本进程第 ${v.count} 次用浏览器打开搜索结果页(上限 ${v.limit} 次)。` +
|
|
77
|
+
` ${serpRedirect(v)} 如果 tm_search 对该词返回的是反爬壳子而不是结果,` +
|
|
78
|
+
`那就把这条判断如实写进交付、或者用宿主的子代理(v1 task / v2 subagent)派一份自包含的调研任务,而不是继续换词开网页。`);
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=serp-loop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serp-loop.js","sourceRoot":"","sources":["../../src/tm/serp-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/tm/stats.d.ts
CHANGED
|
@@ -113,8 +113,37 @@ export interface TmStats {
|
|
|
113
113
|
seam: string;
|
|
114
114
|
reason: string;
|
|
115
115
|
}>;
|
|
116
|
+
/** `tool:"host"` lines — which personality booted, what it could not do.
|
|
117
|
+
* Without this the v2 boot record is written and never read back, so "the
|
|
118
|
+
* plugin loaded" stays a claim the user cannot check from a session. */
|
|
119
|
+
boot: Array<Record<string, unknown>>;
|
|
116
120
|
}
|
|
117
121
|
export declare function summarizeEvents(events: readonly TrajEvent[]): TmStats;
|
|
122
|
+
/** Newest-first host lines worth showing. A run appends several `v2-surface`
|
|
123
|
+
* snapshots of itself (one at attach, then one whenever the counters move), and
|
|
124
|
+
* the early ones are legitimately all-zero — showing them buries the line that
|
|
125
|
+
* says what actually happened, which is how a working native offload read as a
|
|
126
|
+
* dead tool. Per (run, step_id) the LAST snapshot supersedes the earlier ones. */
|
|
127
|
+
export declare function bootSnapshots(lines: ReadonlyArray<Record<string, unknown>>, limit?: number): Array<Record<string, unknown>>;
|
|
128
|
+
/** A2: the sentence about roles the editor snapshot did not list — ONE definition,
|
|
129
|
+
* printed by both places that used to paste "配置里缺角色". That phrase was a false
|
|
130
|
+
* assertion: measured on 2.0.20 all six role files exist and the host runs them
|
|
131
|
+
* (`--agent team` resolves, child sessions start), while `ctx.agent.transform` hands
|
|
132
|
+
* the agent set from BEFORE the config directory merged.
|
|
133
|
+
*
|
|
134
|
+
* "已装" is a PER-ID observation, so the line is built per id. The first version only
|
|
135
|
+
* required `agents_resolved_in_request` to be non-empty and then asserted "installed,
|
|
136
|
+
* snapshot blind" for the WHOLE unseen list — but on a cold 2.0.20 boot the pre-merge
|
|
137
|
+
* snapshot misses all six while the request has resolved just `team`, so five roles
|
|
138
|
+
* nobody had ever observed were written up as a conclusion. Two strengths, never mixed
|
|
139
|
+
* inside one sentence; when both sets are non-empty the line says them as two segments:
|
|
140
|
+
* · unseen AND resolved in a request ⇒ installed, snapshot blind;
|
|
141
|
+
* · unseen and never resolved anywhere ⇒ this process cannot tell the two apart, so
|
|
142
|
+
* the segment names the deciding observation (that id appearing in
|
|
143
|
+
* agents_resolved_in_request) instead of asserting either half;
|
|
144
|
+
* · a legacy row (pre-A2 build, still inside the window) carrying `agents_missing`
|
|
145
|
+
* ⇒ printed as what that field actually measured, not as a claim about files. */
|
|
146
|
+
export declare function agentVisibilityLine(line: Record<string, unknown>): string;
|
|
118
147
|
/** Markdown, in the shapes the host renders fastest (tables, not prose). */
|
|
119
148
|
export declare function renderStats(stats: TmStats, opts: {
|
|
120
149
|
runDirs: number;
|
package/dist/tm/stats.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/tm/stats.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/tm/stats.ts"],"names":[],"mappings":"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"}
|
package/dist/tm/stats.js
CHANGED
|
@@ -88,6 +88,7 @@ export function summarizeEvents(events) {
|
|
|
88
88
|
ptc: { runs: 0, calls: 0, errors: 0, retries: 0, sumMs: 0 },
|
|
89
89
|
governance: { blockedSubresources: 0, blockedHosts: [], ptyRefused: 0, clampedTimeouts: 0, clampSavedMs: 0, offloadDegraded: 0, webCacheHits: 0, evalMasks: 0, taskEnvelopes: 0, taskOffloads: 0, taskOffloadTokens: 0, argsCoerced: 0 },
|
|
90
90
|
degrades: [],
|
|
91
|
+
boot: [],
|
|
91
92
|
};
|
|
92
93
|
const byTool = new Map();
|
|
93
94
|
const hosts = new Set();
|
|
@@ -120,6 +121,8 @@ export function summarizeEvents(events) {
|
|
|
120
121
|
if (at > last)
|
|
121
122
|
last = at;
|
|
122
123
|
}
|
|
124
|
+
if (tool === "host" && e.step_id)
|
|
125
|
+
stats.boot.push({ ...e });
|
|
123
126
|
if (ev === "call")
|
|
124
127
|
row(tool).calls++;
|
|
125
128
|
if (ev === "result") {
|
|
@@ -238,6 +241,103 @@ export function summarizeEvents(events) {
|
|
|
238
241
|
function secs(ms) {
|
|
239
242
|
return `${(ms / 1000).toFixed(ms >= 10_000 ? 0 : 1)}s`;
|
|
240
243
|
}
|
|
244
|
+
/** Newest-first host lines worth showing. A run appends several `v2-surface`
|
|
245
|
+
* snapshots of itself (one at attach, then one whenever the counters move), and
|
|
246
|
+
* the early ones are legitimately all-zero — showing them buries the line that
|
|
247
|
+
* says what actually happened, which is how a working native offload read as a
|
|
248
|
+
* dead tool. Per (run, step_id) the LAST snapshot supersedes the earlier ones. */
|
|
249
|
+
export function bootSnapshots(lines, limit = 5) {
|
|
250
|
+
const last = new Map();
|
|
251
|
+
lines.forEach((line, i) => last.set(`${String(line.run_id ?? "?")}|${String(line.step_id ?? "?")}`, i));
|
|
252
|
+
// NEWEST FIRST, by the event's own timestamp — NOT by array position. The window
|
|
253
|
+
// arrives newest-first (`listTrajectoryRuns` is newest-first), so an index sort here
|
|
254
|
+
// selected the OLDEST boots in the window and printed them as the current process,
|
|
255
|
+
// which is exactly the row a user reads after an upgrade or a re-install. A live
|
|
256
|
+
// session caught it: the process that had just restarted was absent from the section
|
|
257
|
+
// and the model invented a "配置 A(较新)" column to explain rows that were stale.
|
|
258
|
+
const timeOf = (i) => {
|
|
259
|
+
const t = Date.parse(String(lines[i]?.ts ?? ""));
|
|
260
|
+
return Number.isFinite(t) ? t : -1;
|
|
261
|
+
};
|
|
262
|
+
// Two questions the old code answered with one array sort, in the wrong direction for
|
|
263
|
+
// the second one:
|
|
264
|
+
// · within one process's run, the LAST write is the informative one (the surface
|
|
265
|
+
// snapshot is throttled and rewritten as the host surface changes);
|
|
266
|
+
// · across processes, tm_stats feeds these NEWEST-run-first, so an index sort promoted
|
|
267
|
+
// the OLDEST boots and the row a user reads after an upgrade was simply absent.
|
|
268
|
+
// So: order by the event's own timestamp when there is one, and keep "last write wins"
|
|
269
|
+
// only as the tie-break for rows that carry no timestamp at all.
|
|
270
|
+
const byNewest = (a, b) => {
|
|
271
|
+
const dt = timeOf(b) - timeOf(a);
|
|
272
|
+
return dt !== 0 ? dt : b - a;
|
|
273
|
+
};
|
|
274
|
+
const idx = [...last.values()].sort(byNewest);
|
|
275
|
+
// The boot record is the line that answers "which personality ran, and what did
|
|
276
|
+
// it find missing" — and it is also the only carrier of the Team-scope counts and
|
|
277
|
+
// the native-browser gate line. A plain newest-N used to drop it: the probe writes
|
|
278
|
+
// `v2-surface` whenever the host surface changes, so a long session pushed
|
|
279
|
+
// `v2-boot` out of the window and tm_stats quietly stopped showing the two facts
|
|
280
|
+
// the user asked about (a live session searched the output for them and found
|
|
281
|
+
// neither). Reserve the slots for the records that matter, then fill.
|
|
282
|
+
const prio = (i) => {
|
|
283
|
+
const s = String(lines[i]?.step_id ?? "");
|
|
284
|
+
return s === "v2-shutdown" ? 1 : s === "v2-boot" || s === "boot" ? 0 : 2;
|
|
285
|
+
};
|
|
286
|
+
const ordered = [...idx].sort((a, b) => prio(a) - prio(b) || byNewest(a, b));
|
|
287
|
+
return ordered.slice(0, Math.max(1, limit)).map((i) => lines[i]);
|
|
288
|
+
}
|
|
289
|
+
/** A2: the sentence about roles the editor snapshot did not list — ONE definition,
|
|
290
|
+
* printed by both places that used to paste "配置里缺角色". That phrase was a false
|
|
291
|
+
* assertion: measured on 2.0.20 all six role files exist and the host runs them
|
|
292
|
+
* (`--agent team` resolves, child sessions start), while `ctx.agent.transform` hands
|
|
293
|
+
* the agent set from BEFORE the config directory merged.
|
|
294
|
+
*
|
|
295
|
+
* "已装" is a PER-ID observation, so the line is built per id. The first version only
|
|
296
|
+
* required `agents_resolved_in_request` to be non-empty and then asserted "installed,
|
|
297
|
+
* snapshot blind" for the WHOLE unseen list — but on a cold 2.0.20 boot the pre-merge
|
|
298
|
+
* snapshot misses all six while the request has resolved just `team`, so five roles
|
|
299
|
+
* nobody had ever observed were written up as a conclusion. Two strengths, never mixed
|
|
300
|
+
* inside one sentence; when both sets are non-empty the line says them as two segments:
|
|
301
|
+
* · unseen AND resolved in a request ⇒ installed, snapshot blind;
|
|
302
|
+
* · unseen and never resolved anywhere ⇒ this process cannot tell the two apart, so
|
|
303
|
+
* the segment names the deciding observation (that id appearing in
|
|
304
|
+
* agents_resolved_in_request) instead of asserting either half;
|
|
305
|
+
* · a legacy row (pre-A2 build, still inside the window) carrying `agents_missing`
|
|
306
|
+
* ⇒ printed as what that field actually measured, not as a claim about files. */
|
|
307
|
+
export function agentVisibilityLine(line) {
|
|
308
|
+
const unseen = String(line.agents_editor_unseen ?? "").trim();
|
|
309
|
+
const resolved = String(line.agents_resolved_in_request ?? "").trim();
|
|
310
|
+
if (unseen) {
|
|
311
|
+
const rounds = String(line.agents_editor_rounds ?? "?");
|
|
312
|
+
const splitIds = (s) => s.split(/[,\s;]+/).map((x) => x.trim()).filter(Boolean);
|
|
313
|
+
const resolvedSet = new Set(splitIds(resolved));
|
|
314
|
+
const unseenIds = splitIds(unseen);
|
|
315
|
+
const observed = unseenIds.filter((id) => resolvedSet.has(id));
|
|
316
|
+
const neverObserved = unseenIds.filter((id) => !resolvedSet.has(id));
|
|
317
|
+
const segments = [];
|
|
318
|
+
if (observed.length) {
|
|
319
|
+
segments.push(`editor 快照里看不到 ${observed.join(",")}(transform 观察 ${rounds} 次,那是配置合并前的角色集)——宿主请求里已解析这些 id,所以是已装而看不见,不是文件缺失`);
|
|
320
|
+
}
|
|
321
|
+
if (neverObserved.length) {
|
|
322
|
+
segments.push(`editor 快照里看不到 ${neverObserved.join(",")}(transform 观察 ${rounds} 次),宿主请求里也没出现过这些 id——本进程无法区分两种情况,不写成结论:真没装的判据是宿主连 --agent team 都解析不到(交给安装器),已装而看不见的判据是该 id 出现在本行的 agents_resolved_in_request 里`);
|
|
323
|
+
}
|
|
324
|
+
return segments.join(";");
|
|
325
|
+
}
|
|
326
|
+
const legacy = String(line.agents_missing ?? "").trim();
|
|
327
|
+
return legacy
|
|
328
|
+
? `旧版行的 editor 未列角色:${legacy}(该字段记的是合并前的 editor 快照,不作为文件缺失的结论)`
|
|
329
|
+
: "";
|
|
330
|
+
}
|
|
331
|
+
/** A3: where a row's observation counters were read — the shutdown row is the final
|
|
332
|
+
* total, a surface row a value-in-progress, and the attach-time row has none at all.
|
|
333
|
+
* Collapsing these is how "0" gets read as "never fired". */
|
|
334
|
+
function countersSourceLine(line) {
|
|
335
|
+
const at = String(line.counters_at ?? "");
|
|
336
|
+
if (!at)
|
|
337
|
+
return "";
|
|
338
|
+
const gloss = at === "shutdown" ? "终值" : at === "surface" ? "快照进行值" : "未接上(请求层/事件流当时还没注册)";
|
|
339
|
+
return `观察计数器来源=${at}(${gloss})`;
|
|
340
|
+
}
|
|
241
341
|
/** Markdown, in the shapes the host renders fastest (tables, not prose). */
|
|
242
342
|
export function renderStats(stats, opts) {
|
|
243
343
|
const now = opts.now ?? Date.now();
|
|
@@ -256,6 +356,174 @@ export function renderStats(stats, opts) {
|
|
|
256
356
|
out.push(`| **合计** | | | | | **${savedTotal.toLocaleString("en-US")}** |`);
|
|
257
357
|
const d = stats.dispatch;
|
|
258
358
|
out.push("", "### 并行度(Team 的存在理由)", "", "| 指标 | 值 |", "|---|---|", `| 子代理结算 / 失败 / 取消(派活走宿主 task) | ${d.settled} / ${d.failed} / ${d.cancelled}${d.starts ? ` · 旧版 tm_dispatch 派发 ${d.starts}` : ""} |`, `| 单个子代理耗时(最长 / 合计=串行代价) | ${d.maxMs ? secs(d.maxMs) : "—"} / ${d.sumMs ? secs(d.sumMs) : "—"} |`, `| **重叠省下**(串行 − 实际墙钟) | ${d.overlapSavedMs ? `**${secs(d.overlapSavedMs)}**` : "—(只看到一个子代理,或它们本就串行)"} |`, `| 由宿主会话树接管 / 认领宿主 task 子会话 | ${d.adopted} / ${d.claims} |`, `| lead 在 tm_join 里干等 | ${d.waitMs ? `${secs(d.waitMs)}(${d.waits} 次等待${d.repeatWaits ? ` · 其中 ${d.repeatWaits} 次是连续等待——等待期间你没有产出` : ""})` : "—"} |`);
|
|
359
|
+
const b = stats.boot;
|
|
360
|
+
if (b.length) {
|
|
361
|
+
out.push("", "### 启动与人格(哪一半在跑、它说自己缺什么)", "");
|
|
362
|
+
for (const line of bootSnapshots(b)) {
|
|
363
|
+
const s = String(line.step_id ?? "?");
|
|
364
|
+
const api = line.api === 2 ? "v2" : line.api === 1 ? "v1" : String(line.api ?? "?");
|
|
365
|
+
// The native-offload counters are rendered here too: they are written on the
|
|
366
|
+
// same snapshot, and a fact that is recorded but never printed is the exact
|
|
367
|
+
// defect this section was added to remove.
|
|
368
|
+
const offBits = [
|
|
369
|
+
line.native_offload_active === undefined ? "" : `原生工具治理 ${line.native_offload_active ? "开" : "关(见上方原因)"}`,
|
|
370
|
+
line.native_seen !== undefined ? `原生调用 ${line.native_seen} 次` : "",
|
|
371
|
+
// #23: the denominator. `原生调用` counts only tools on the governed list,
|
|
372
|
+
// so without these two the sentence "most of Team's calls are JIT-governed"
|
|
373
|
+
// would be measured against a number that already excluded what it might miss.
|
|
374
|
+
line.native_ours !== undefined ? `本会话族共 ${line.native_ours} 次调用` : "",
|
|
375
|
+
line.native_unmatched ? `其中不在治理面 ${line.native_unmatched} 次(没碰,也不算治理过)` : "",
|
|
376
|
+
line.native_offloaded !== undefined ? `卸载 ${line.native_offloaded} 次` : "",
|
|
377
|
+
// Recognised is not the same as rewritten: this is the number that says
|
|
378
|
+
// "we can read this host's envelope format", and its being 0 while
|
|
379
|
+
// sub-agents clearly ran says the opposite.
|
|
380
|
+
line.native_envelopes !== undefined ? `认出的子代理信封 ${line.native_envelopes} 个` : "",
|
|
381
|
+
line.native_tokens_saved !== undefined && Number(line.native_tokens_saved) > 0 ? `省 ${line.native_tokens_saved} token` : "",
|
|
382
|
+
// Which session seam actually fired, and did the host's completion envelope
|
|
383
|
+
// settle anything. Both counters print even when zero: "the host never fired it"
|
|
384
|
+
// and "we never looked" have to stay distinguishable.
|
|
385
|
+
line.completion_context_fired !== undefined
|
|
386
|
+
? `完成注入监听:session.context 触发 ${line.completion_context_fired} 次(${line.completion_skipped ?? 0} 次因无待结算子代理而跳过)· 认出信封 ${line.completion_envelopes ?? 0} 个 → 结算 ${line.completion_settled ?? 0} 个` +
|
|
387
|
+
(!Number(line.completion_context_fired)
|
|
388
|
+
? "(这条缝一次都没响:宿主没把请求历史经过插件,别把 0 当成没有子代理)"
|
|
389
|
+
: "")
|
|
390
|
+
: "",
|
|
391
|
+
].filter(Boolean);
|
|
392
|
+
// Each row carries WHEN that process booted and which run it was, because without
|
|
393
|
+
// it a reader cannot tell the current build from an older one in the same window —
|
|
394
|
+
// and the model filling that gap invents an ordering (it did: "配置 A(较新)").
|
|
395
|
+
const stamp = `${String(line.ts ?? "?").slice(0, 16).replace("T", " ")} · run ${String(line.run_id ?? "?").replace(/^r-/, "").slice(0, 15)}`;
|
|
396
|
+
if (s === "v2-agents") {
|
|
397
|
+
const vis = agentVisibilityLine(line);
|
|
398
|
+
out.push(`- \`${s}\` · ${stamp} · 人格 **${api}** · 默认角色 ${line.agents_default ?? "?"} · 归一化完成${line.agents_unmapped ? ` · 无 v2 对应的动作:${line.agents_unmapped}` : ""}`);
|
|
399
|
+
if (vis)
|
|
400
|
+
out.push(` - ${vis}`);
|
|
401
|
+
continue;
|
|
402
|
+
}
|
|
403
|
+
const bits = [
|
|
404
|
+
`人格 **${api}**`,
|
|
405
|
+
// A3: label WHERE the counters on this row were read. The shutdown row is the
|
|
406
|
+
// final total, a surface row a value-in-progress, and the attach row has none —
|
|
407
|
+
// three different readings of the same absent field, so the row says which.
|
|
408
|
+
countersSourceLine(line),
|
|
409
|
+
line.tools_registered !== undefined ? `工具 ${line.tools_registered}/${line.tools_total}` : "",
|
|
410
|
+
line.tools_v1_only ? `v1 独有 \`${line.tools_v1_only}\`` : "",
|
|
411
|
+
line.request_hooks ? `请求层 ${line.request_hooks} 钩子` : "",
|
|
412
|
+
line.request_temperature !== undefined ? `温度 ${line.request_temperature}` : "",
|
|
413
|
+
line.subagent_background ? `子代理 ${line.subagent_background}` : "",
|
|
414
|
+
line.guard_hooks ? `门禁 ${line.guard_hooks} 钩子` : "",
|
|
415
|
+
line.guard_shell_coarse === undefined ? "" : `shell 粗粒度 ask ${line.guard_shell_coarse ? "开" : "关"}`,
|
|
416
|
+
line.agents_default ? `默认角色 ${line.agents_default}` : "",
|
|
417
|
+
line.guard_seen !== undefined ? `门禁看到 ${line.guard_seen} 次评估(${line.guard_actions || "无动作"})` : "",
|
|
418
|
+
line.guard_shell_matched !== undefined ? `其中 shell 命中分类器 ${line.guard_shell_matched} 次` : "",
|
|
419
|
+
line.subagent_forced !== undefined ? `子代理强制后台 ${line.subagent_forced}/${line.subagent_seen}` : "",
|
|
420
|
+
line.tools_removed ? `本轮从请求里删掉:${line.tools_removed}` : "",
|
|
421
|
+
line.note_pushed === undefined ? "" : `黑板注记 ${line.note_pushed ? "已送达" : "未触发"}`,
|
|
422
|
+
// #22: the isolation counts are the proof that "we only touch Team" is a
|
|
423
|
+
// measured property, not a claim. `未判定` is never folded into 我们 — a
|
|
424
|
+
// host that stopped shipping `agent` on its events must show up as a number.
|
|
425
|
+
line.scope_ours !== undefined
|
|
426
|
+
? `作用域:我们 ${line.scope_ours} · 他人 ${line.scope_foreign} · 未判定 ${line.scope_unknown}`
|
|
427
|
+
: "",
|
|
428
|
+
line.guard_foreign_skipped ? `门禁为非 Team 会话让路 ${line.guard_foreign_skipped} 次` : "",
|
|
429
|
+
line.browser_gate ? `原生 browser_* 门禁:${line.browser_gate}` : "",
|
|
430
|
+
// The honest half of the delivery question: what we SENT (tools_codemode) and
|
|
431
|
+
// what the assembled request actually CARRIED (tools_in_request). On 2.0.16 the
|
|
432
|
+
// two disagree, and printing only the first would let a boot line claim a
|
|
433
|
+
// delivery mode the host never gave.
|
|
434
|
+
line.tools_codemode ? `工具交付:发出=${line.tools_codemode} · 请求内实际可见=同 run 的 surface/shutdown 行(来源标在行首)` : "",
|
|
435
|
+
// The boot row cannot carry this observation — the first request has not happened
|
|
436
|
+
// when it is written. Since A3 both the throttled surface row and the shutdown
|
|
437
|
+
// row do, so a sent flag can never be read as an outcome, and a run that never
|
|
438
|
+
// reaches dispose still shows what the host actually delivered.
|
|
439
|
+
line.tools_in_request ? `工具交付:请求内实际可见=${line.tools_in_request}(direct 是否被宿主采纳只看这一项)` : "",
|
|
440
|
+
line.browser_gate_note ? ` ${line.browser_gate_note}` : "",
|
|
441
|
+
line.native_capped !== undefined ? `快照按寻址预算截断 ${line.native_capped} 次(不是卸载:ref 留在上下文里)` : "",
|
|
442
|
+
line.native_report_capped !== undefined ? `报告型输出保留表格截断散文 ${line.native_report_capped} 次(表格整份留下,句柄装全文)` : "",
|
|
443
|
+
// The collect side's own coverage. `seen > 0` with `registered = 0` is the tm_join
|
|
444
|
+
// gap STILL OPEN, and it must not be readable as "no background child ran this
|
|
445
|
+
// process" — that is the exact silence this feature exists to remove.
|
|
446
|
+
line.host_subagent_seen !== undefined
|
|
447
|
+
? `宿主 subagent 确认 ${line.host_subagent_seen} 次 → tm_join 登记 ${line.host_children_registered ?? 0} 个` +
|
|
448
|
+
// The run id is part of the sentence, not decoration: one CLI invocation boots
|
|
449
|
+
// more than one server process, each with its own counters, and a 0 from the
|
|
450
|
+
// sibling reads as "nothing was dispatched" unless the row says whose it is.
|
|
451
|
+
`(run ${String(line.run_id ?? "?").replace(/^r-/, "").slice(0, 15)})` +
|
|
452
|
+
(Number(line.host_children_unpaired) > 0 ? `(${line.host_children_unpaired} 个没配到派发行)` : "") +
|
|
453
|
+
(Number(line.host_children_settled_at_once) > 0 ? `;${line.host_children_settled_at_once} 次是同步子代理(结果本身就是正文,无需登记)` : "") +
|
|
454
|
+
(Number(line.host_subagent_seen) > 0 && !Number(line.host_children_registered)
|
|
455
|
+
? " —— 看到了却一个都没登记:认领没生效,不要读成「这一轮没有后台子代理」"
|
|
456
|
+
: "") +
|
|
457
|
+
// A zero on a non-final row is a moment, not a fact about the run: three CLI
|
|
458
|
+
// runs on 2.0.20 wrote no shutdown row at all, so the surface row is often the
|
|
459
|
+
// only reading there is — and "nothing was dispatched" must never be printed
|
|
460
|
+
// from a snapshot taken before anybody answered.
|
|
461
|
+
(Number(line.host_subagent_seen) === 0 && String(line.counters_at ?? "") !== "shutdown"
|
|
462
|
+
? " —— 0 且来源不是终值行:只说明写下这一行时本进程没听到 subagent 确认,不说明没有派发"
|
|
463
|
+
: "")
|
|
464
|
+
: "",
|
|
465
|
+
// Did the session-read seam answer? `sessionID` is the shape the host's own code
|
|
466
|
+
// uses; `(none)` after a real lookup attempt means the bridge is wrong again, not
|
|
467
|
+
// that the host lacks the method.
|
|
468
|
+
line.session_get_attempts !== undefined
|
|
469
|
+
? `会话读取缝:查 ${line.session_get_attempts} 次 → 成功 ${line.session_get_resolved} 次(生效形状 ${line.session_get_shape ?? "(none)"})` +
|
|
470
|
+
(Number(line.session_context_ok) > 0 ? ` · context 返回 ${line.session_context_ok} 次,键=${line.session_context_keys}` : " · context 未成功") +
|
|
471
|
+
(line.session_get_error ? ` · 最后一次错误:${String(line.session_get_error).slice(0, 90)}` : "")
|
|
472
|
+
: "",
|
|
473
|
+
// #33 — the STOP seam, printed separately from the read seam because the two fail
|
|
474
|
+
// for different reasons and the user's question ("can the lead kill it?") has only
|
|
475
|
+
// this row as an answer. `tried=0` is not evidence the host lacks it, so that case
|
|
476
|
+
// says nobody asked, rather than reading as a defect.
|
|
477
|
+
line.stop_tried !== undefined
|
|
478
|
+
? `中断缝:试 ${line.stop_tried} 次 → 宿主确认停止 ${line.stop_confirmed ?? 0} · idle no-op ${line.stop_refused ?? 0} · 未回布尔 ${line.stop_unknown ?? 0}` +
|
|
479
|
+
(line.stop_keys ? ` · 键=${line.stop_keys}` : "") +
|
|
480
|
+
(line.stop_error ? ` · 最后一次错误:${String(line.stop_error).slice(0, 90)}` : "") +
|
|
481
|
+
(Number(line.stop_tried) === 0 ? "(本进程没人用过 cancel:true,这一行还证明不了宿主真能停)" : "")
|
|
482
|
+
: "",
|
|
483
|
+
].filter(Boolean);
|
|
484
|
+
out.push(`- \`${s}\` · ${stamp} · ${bits.join(" · ")}`);
|
|
485
|
+
// The attach-time row says out loud the counters were not wired yet; that note is
|
|
486
|
+
// the only thing standing between a missing `guard_seen` and a reader who takes it
|
|
487
|
+
// for "never fired", so it is printed verbatim and never folded into a 0.
|
|
488
|
+
if (line.counters_note)
|
|
489
|
+
out.push(` - ${line.counters_note}`);
|
|
490
|
+
if (line.scope_unknown !== undefined && Number(line.scope_unknown) > 0) {
|
|
491
|
+
out.push(` - 未判定 ${line.scope_unknown} 次:宿主事件里没带 agent。这些调用我们一律没碰(隔离优先于覆盖率),` +
|
|
492
|
+
`所以它们也没被 JIT 治理——不是"治理过了",是"没资格治理"。`);
|
|
493
|
+
}
|
|
494
|
+
// A2: generic rows (v2-boot / v2-surface / v2-shutdown) go through the SAME
|
|
495
|
+
// three-state definition as the v2-agents row instead of pasting 配置里缺角色 —
|
|
496
|
+
// that phrase was a conclusion about files drawn from a snapshot which is blind
|
|
497
|
+
// before the config directory merges. A legacy row that only carries
|
|
498
|
+
// `agents_missing` still prints, but as what that field actually measured.
|
|
499
|
+
const genericVis = agentVisibilityLine(line);
|
|
500
|
+
if (genericVis)
|
|
501
|
+
out.push(` - ${genericVis}`);
|
|
502
|
+
if (line.tools_missing)
|
|
503
|
+
out.push(` - 未出现在宿主表面:${line.tools_missing}`);
|
|
504
|
+
// The probe is the only place the host's own surface is recorded rather than
|
|
505
|
+
// described, so it prints separately: a 60-name tool list would bury the
|
|
506
|
+
// twelve lines above it that say what WE did.
|
|
507
|
+
const probe = [
|
|
508
|
+
line.probe_tool_count !== undefined ? `宿主工具面 ${line.probe_tool_count} 个(含 browser ${line.probe_browser_tools ? String(line.probe_browser_tools).split(" ").filter(Boolean).length : 0} 个)` : "",
|
|
509
|
+
line.probe_agents ? `观测到角色 ${line.probe_agents}` : "",
|
|
510
|
+
line.probe_executed ? `execute.before 见到:${line.probe_executed}` : "",
|
|
511
|
+
line.probe_executed_after ? `execute.after 见到:${line.probe_executed_after}` : "",
|
|
512
|
+
line.probe_evaluations !== undefined ? `permission.evaluate ${line.probe_evaluations} 次(动作:${line.probe_actions || "无"})` : "",
|
|
513
|
+
line.probe_url_resources !== undefined ? `其中资源里带 URL 的 ${line.probe_url_resources} 次` : "",
|
|
514
|
+
line.probe_ctx_domains ? `ctx 给了:${line.probe_ctx_domains}` : "",
|
|
515
|
+
line.probe_messages !== undefined ? `请求里消息数 ${line.probe_messages} · 注入的 <task> 信封 ${line.probe_task_envelopes} 个(最长 ${line.probe_max_envelope_chars} 字符)` : "",
|
|
516
|
+
line.probe_hooks_missing ? `挂不上的钩子:${line.probe_hooks_missing}` : "",
|
|
517
|
+
].filter(Boolean);
|
|
518
|
+
const allBits = [...offBits, ...probe];
|
|
519
|
+
if (allBits.length)
|
|
520
|
+
out.push(` - 原生面与探针 · ${allBits.join(" · ")}`);
|
|
521
|
+
if (line.probe_browser_tools && line.probe_browser_tools !== "")
|
|
522
|
+
out.push(` - 原生浏览器工具名:${String(line.probe_browser_tools).split(" ").filter(Boolean).map((n) => `\`${n}\``).join(" ")}`);
|
|
523
|
+
if (line.note)
|
|
524
|
+
out.push(` - ${line.note}`);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
259
527
|
const p = stats.ptc;
|
|
260
528
|
const g = stats.governance;
|
|
261
529
|
out.push("", "### 一次程序 N 次调用(tm_ptc_run)与治理面", "", "| 指标 | 值 |", "|---|---|", `| PTC 程序 / 内部调用 / 重试 / 错误 | ${p.runs} / ${p.calls} / ${p.retries} / ${p.errors}(合计 ${p.sumMs ? secs(p.sumMs) : "—"}) |`, `| 被拦子资源请求(浏览器) | ${g.blockedSubresources}${g.blockedHosts.length ? ` · 域名:${g.blockedHosts.join(", ")}` : ""} |`, `| tm_pty 治理面拒绝 | ${g.ptyRefused} |`, `| web URL 缓存命中(省下的抓取) | ${g.webCacheHits} |`, `| evaluate_script 结果脱敏次数 | ${g.evalMasks} |`, `| 宿主后台 task 注入(经 chat.message 实测) | ${g.taskEnvelopes ? `见到 ${g.taskEnvelopes} 次 · ${g.taskOffloads ? `其中 ${g.taskOffloads} 次超限,挡在上下文外约 ${g.taskOffloadTokens.toLocaleString("en-US")} token` : "全部未超阈值,按设计原样放行(通道是活的)"}` : "0 次 —— 分不清是「没派过后台任务」还是「宿主的注入不再经过 chat.message」(后者才是失效);派一个后台任务再看这行就能分开"} |`, `| bash 超时夹顶 | ${g.clampedTimeouts} 次 · 省 ${g.clampSavedMs ? secs(g.clampSavedMs) : "—"} |`, `| 内置工具参数纠偏(模型把布尔写成字符串) | ${g.argsCoerced || "—"}${g.argsCoerced ? " 次 · 宿主的 schema 会直接拒绝,不纠偏就是白挂一次" : ""} |`, `| 卸载降级(存储写失败→截断) | ${g.offloadDegraded} |`);
|
|
@@ -361,10 +629,10 @@ export function buildStatsTool(deps) {
|
|
|
361
629
|
return all;
|
|
362
630
|
};
|
|
363
631
|
return {
|
|
364
|
-
description: `Read the plugin's OWN trajectory back as numbers: what it saved and where it broke.
|
|
365
|
-
- The throughput argument in one call — tokens kept out of the context window by offloading, and seconds saved by dispatch overlap (serial cost minus the wall-clock the children actually used), plus governance counts (blocked subresources, refused tm_pty starts, clamped bash timeouts, engine fallbacks).
|
|
366
|
-
- It also renders the HOST CAPABILITY MATRIX: every OpenCode surface this plugin leans on, marked 已验证 / 存在未用 / 待观察 / 缺失. After an OpenCode upgrade, call this FIRST — a missing row names the feature that silently went away.
|
|
367
|
-
- { runs: 10 } recent run dirs (default 10, max 50); { capabilities: false } to skip the matrix. Read-only over files this plugin wrote: no network, no shell, no secrets (the trajectory never records command text or values).
|
|
632
|
+
description: `Read the plugin's OWN trajectory back as numbers: what it saved and where it broke.
|
|
633
|
+
- The throughput argument in one call — tokens kept out of the context window by offloading, and seconds saved by dispatch overlap (serial cost minus the wall-clock the children actually used), plus governance counts (blocked subresources, refused tm_pty starts, clamped bash timeouts, engine fallbacks).
|
|
634
|
+
- It also renders the HOST CAPABILITY MATRIX: every OpenCode surface this plugin leans on, marked 已验证 / 存在未用 / 待观察 / 缺失. After an OpenCode upgrade, call this FIRST — a missing row names the feature that silently went away.
|
|
635
|
+
- { runs: 10 } recent run dirs (default 10, max 50); { capabilities: false } to skip the matrix. Read-only over files this plugin wrote: no network, no shell, no secrets (the trajectory never records command text or values).
|
|
368
636
|
- { recent: 20 } appends a call-by-call recap — the host renders a plugin tool as a one-line card nobody can open, so this is where an offloaded result's handle AND its payload file path are named out loud. When the user asks "what did that tool actually return", call this and paste the table.`,
|
|
369
637
|
args: {
|
|
370
638
|
runs: { descriptor: "runs: number (optional, how many recent run dirs to read; default 10, max 50)" },
|
|
@@ -398,6 +666,12 @@ export function buildStatsTool(deps) {
|
|
|
398
666
|
}
|
|
399
667
|
lines += "\n" + renderRecent(recentCalls(events, recentLimit, rows, deps.store.stepsRoot())).join("\n");
|
|
400
668
|
}
|
|
669
|
+
// Measured on this host: the chat bubble renders GFM tables, but a code fence
|
|
670
|
+
// shows literally and a plugin tool's card is not expandable. So the table is
|
|
671
|
+
// only useful to the user once the agent relays it into its reply UNFENCED.
|
|
672
|
+
// Saying nothing here is how "the renderer is broken" gets blamed on the tool.
|
|
673
|
+
lines += `\n(要把这张表给用户看:写进回复正文,别包进 \`\`\` 围栏——围栏里的表格必然显示原文;`
|
|
674
|
+
+ `工具卡片本身不可展开,Markdown 是否渲染我们没测过,所以正文才是你该控制的那一块。)`;
|
|
401
675
|
// Deliberately NOT offloaded: the point of this tool is the table the
|
|
402
676
|
// user (or the lead) reads whole; it is bounded by construction (one
|
|
403
677
|
// row per tool, per degraded seam, per capability).
|
package/dist/tm/stats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/tm/stats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/tm/stats.ts"],"names":[],"mappings":"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"}
|
package/dist/tm/webfetch.d.ts
CHANGED
|
@@ -57,6 +57,7 @@ export declare function hostAllowed(hostname: string, allowlist: readonly string
|
|
|
57
57
|
export type UrlVerdict = {
|
|
58
58
|
ok: true;
|
|
59
59
|
url: URL;
|
|
60
|
+
via?: "explicit-host" | "private-allowed";
|
|
60
61
|
} | {
|
|
61
62
|
ok: false;
|
|
62
63
|
message: string;
|
|
@@ -66,6 +67,9 @@ export type UrlVerdict = {
|
|
|
66
67
|
askable?: boolean;
|
|
67
68
|
url?: URL;
|
|
68
69
|
};
|
|
70
|
+
export type PrivateSpacePolicy = "ask" | "allow" | "deny";
|
|
71
|
+
export declare function setPrivateSpacePolicy(raw: unknown): PrivateSpacePolicy;
|
|
72
|
+
export declare function privateSpacePolicy(): PrivateSpacePolicy;
|
|
69
73
|
/**
|
|
70
74
|
* Validate a fetch target: absolute http(s) URL, host on the allowlist
|
|
71
75
|
* ("*" opens every host), and never an env-file spelling (R6 red line on
|