@te-river/opencode-team-mode 1.6.2 → 1.7.0
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 +117 -118
- package/README.zh-CN.md +98 -100
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +89 -79
- package/dist/agents.js.map +1 -1
- package/dist/approval-gate.d.ts +8 -9
- package/dist/approval-gate.d.ts.map +1 -1
- package/dist/approval-gate.js +13 -14
- package/dist/approval-gate.js.map +1 -1
- package/dist/capabilities.d.ts +11 -37
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +11 -141
- package/dist/capabilities.js.map +1 -1
- package/dist/commands.js +1 -1
- package/dist/envprotect/hook.d.ts +12 -31
- package/dist/envprotect/hook.d.ts.map +1 -1
- package/dist/envprotect/hook.js +13 -91
- package/dist/envprotect/hook.js.map +1 -1
- package/dist/envprotect/patterns.d.ts +6 -4
- package/dist/envprotect/patterns.d.ts.map +1 -1
- package/dist/envprotect/patterns.js +6 -4
- package/dist/envprotect/patterns.js.map +1 -1
- package/dist/envprotect.d.ts +1 -1
- package/dist/envprotect.d.ts.map +1 -1
- package/dist/envprotect.js +1 -1
- package/dist/envprotect.js.map +1 -1
- package/dist/host/v2-browser-gate.d.ts +19 -1
- package/dist/host/v2-browser-gate.d.ts.map +1 -1
- package/dist/host/v2-browser-gate.js +47 -6
- package/dist/host/v2-browser-gate.js.map +1 -1
- package/dist/host/v2-capabilities.d.ts +33 -0
- package/dist/host/v2-capabilities.d.ts.map +1 -1
- package/dist/host/v2-capabilities.js +50 -1
- package/dist/host/v2-capabilities.js.map +1 -1
- package/dist/host/v2-compaction.d.ts +129 -0
- package/dist/host/v2-compaction.d.ts.map +1 -0
- package/dist/host/v2-compaction.js +346 -0
- package/dist/host/v2-compaction.js.map +1 -0
- package/dist/host/v2-default-agent.d.ts +37 -0
- package/dist/host/v2-default-agent.d.ts.map +1 -0
- package/dist/host/v2-default-agent.js +128 -0
- package/dist/host/v2-default-agent.js.map +1 -0
- package/dist/host/v2-events.d.ts +2 -0
- package/dist/host/v2-events.d.ts.map +1 -1
- package/dist/host/v2-events.js +27 -0
- package/dist/host/v2-events.js.map +1 -1
- package/dist/host/v2-guard.d.ts +178 -0
- package/dist/host/v2-guard.d.ts.map +1 -1
- package/dist/host/v2-guard.js +324 -8
- package/dist/host/v2-guard.js.map +1 -1
- package/dist/host/v2-offload.d.ts +1 -1
- package/dist/host/v2-offload.js +2 -2
- package/dist/host/v2-permissions.d.ts +45 -44
- package/dist/host/v2-permissions.d.ts.map +1 -1
- package/dist/host/v2-permissions.js +48 -49
- package/dist/host/v2-permissions.js.map +1 -1
- package/dist/host/v2-probe-chain.d.ts +93 -0
- package/dist/host/v2-probe-chain.d.ts.map +1 -0
- package/dist/host/v2-probe-chain.js +146 -0
- package/dist/host/v2-probe-chain.js.map +1 -0
- package/dist/host/v2-prune.d.ts +157 -0
- package/dist/host/v2-prune.d.ts.map +1 -0
- package/dist/host/v2-prune.js +507 -0
- package/dist/host/v2-prune.js.map +1 -0
- package/dist/host/v2-retry.d.ts +143 -0
- package/dist/host/v2-retry.d.ts.map +1 -0
- package/dist/host/v2-retry.js +315 -0
- package/dist/host/v2-retry.js.map +1 -0
- package/dist/host/v2-scope.d.ts.map +1 -1
- package/dist/host/v2-scope.js +14 -7
- package/dist/host/v2-scope.js.map +1 -1
- package/dist/host/v2-session-client.d.ts +24 -0
- package/dist/host/v2-session-client.d.ts.map +1 -1
- package/dist/host/v2-session-client.js +243 -3
- package/dist/host/v2-session-client.js.map +1 -1
- package/dist/host/v2-session.d.ts +72 -1
- package/dist/host/v2-session.d.ts.map +1 -1
- package/dist/host/v2-session.js +154 -10
- package/dist/host/v2-session.js.map +1 -1
- package/dist/host/v2-tool.d.ts +2 -3
- package/dist/host/v2-tool.d.ts.map +1 -1
- package/dist/host/v2-tool.js +2 -3
- package/dist/host/v2-tool.js.map +1 -1
- package/dist/host/v2-types.d.ts +25 -0
- package/dist/host/v2-types.d.ts.map +1 -1
- package/dist/host/v2.d.ts +14 -12
- package/dist/host/v2.d.ts.map +1 -1
- package/dist/host/v2.js +500 -73
- package/dist/host/v2.js.map +1 -1
- package/dist/identity.d.ts +27 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +34 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +9 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -27
- 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 +38 -25
- 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 +66 -56
- 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 +53 -83
- package/dist/prompts/specialists.js.map +1 -1
- package/dist/tm/args-schema.d.ts +7 -32
- package/dist/tm/args-schema.d.ts.map +1 -1
- package/dist/tm/args-schema.js +12 -153
- package/dist/tm/args-schema.js.map +1 -1
- package/dist/tm/board.d.ts +10 -9
- package/dist/tm/board.d.ts.map +1 -1
- package/dist/tm/board.js +11 -10
- package/dist/tm/board.js.map +1 -1
- package/dist/tm/config-files.d.ts +81 -0
- package/dist/tm/config-files.d.ts.map +1 -0
- package/dist/tm/config-files.js +209 -0
- package/dist/tm/config-files.js.map +1 -0
- package/dist/tm/config-layers.d.ts +117 -0
- package/dist/tm/config-layers.d.ts.map +1 -0
- package/dist/tm/config-layers.js +320 -0
- package/dist/tm/config-layers.js.map +1 -0
- package/dist/tm/config.d.ts +10 -101
- package/dist/tm/config.d.ts.map +1 -1
- package/dist/tm/config.js +17 -71
- package/dist/tm/config.js.map +1 -1
- package/dist/tm/dispatch.d.ts +115 -21
- package/dist/tm/dispatch.d.ts.map +1 -1
- package/dist/tm/dispatch.js +424 -67
- package/dist/tm/dispatch.js.map +1 -1
- package/dist/tm/egress.d.ts +19 -7
- package/dist/tm/egress.d.ts.map +1 -1
- package/dist/tm/egress.js +21 -9
- package/dist/tm/egress.js.map +1 -1
- package/dist/tm/index.d.ts +23 -20
- package/dist/tm/index.d.ts.map +1 -1
- package/dist/tm/index.js +117 -116
- package/dist/tm/index.js.map +1 -1
- package/dist/tm/ledger.d.ts +9 -2
- package/dist/tm/ledger.d.ts.map +1 -1
- package/dist/tm/ledger.js +4 -1
- package/dist/tm/ledger.js.map +1 -1
- package/dist/tm/perm-ask.d.ts +3 -3
- package/dist/tm/perm-ask.d.ts.map +1 -1
- package/dist/tm/perm-ask.js +3 -3
- package/dist/tm/perm-ask.js.map +1 -1
- package/dist/tm/pipelines.d.ts +12 -11
- package/dist/tm/pipelines.d.ts.map +1 -1
- package/dist/tm/pipelines.js +40 -207
- package/dist/tm/pipelines.js.map +1 -1
- package/dist/tm/preview.d.ts +1 -1
- package/dist/tm/preview.js +3 -3
- package/dist/tm/preview.js.map +1 -1
- package/dist/tm/refs.d.ts +31 -4
- package/dist/tm/refs.d.ts.map +1 -1
- package/dist/tm/refs.js +48 -4
- package/dist/tm/refs.js.map +1 -1
- package/dist/tm/result.d.ts +1 -1
- package/dist/tm/result.d.ts.map +1 -1
- package/dist/tm/result.js +4 -3
- package/dist/tm/result.js.map +1 -1
- package/dist/tm/search.d.ts +2 -2
- package/dist/tm/search.js +7 -7
- package/dist/tm/search.js.map +1 -1
- package/dist/tm/serp-loop.d.ts +19 -7
- package/dist/tm/serp-loop.d.ts.map +1 -1
- package/dist/tm/serp-loop.js +24 -9
- package/dist/tm/serp-loop.js.map +1 -1
- package/dist/tm/stats.d.ts +12 -27
- package/dist/tm/stats.d.ts.map +1 -1
- package/dist/tm/stats.js +43 -45
- package/dist/tm/stats.js.map +1 -1
- package/dist/tm/store.d.ts +18 -5
- package/dist/tm/store.d.ts.map +1 -1
- package/dist/tm/store.js +39 -9
- package/dist/tm/store.js.map +1 -1
- package/dist/tm/tools.d.ts +7 -5
- package/dist/tm/tools.d.ts.map +1 -1
- package/dist/tm/tools.js +10 -41
- package/dist/tm/tools.js.map +1 -1
- package/dist/tm/webfetch.d.ts +1 -1
- package/dist/tm/webfetch.d.ts.map +1 -1
- package/dist/tm/webfetch.js +38 -23
- package/dist/tm/webfetch.js.map +1 -1
- package/dist/types.d.ts +40 -123
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +7 -21
- package/dist/types.js.map +1 -1
- package/docs/installation-v2.md +109 -33
- package/docs/installation.md +9 -0
- package/docs/research/browser-pane.md +5 -0
- package/docs/v2-port-notes.md +87 -0
- package/package.json +1 -1
- package/scripts/gen-v2-config.mjs +246 -94
- package/scripts/lib/fake-ctx.mjs +75 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { checkWebUrl } from "../tm/webfetch.js";
|
|
2
2
|
import { isEnvFilePath } from "../envprotect.js";
|
|
3
|
+
import { createSerpLoopGuard, serpRefusal } from "../tm/serp-loop.js";
|
|
3
4
|
/**
|
|
4
5
|
* The native browser catalog, put behind OUR gate.
|
|
5
6
|
*
|
|
@@ -35,10 +36,10 @@ import { isEnvFilePath } from "../envprotect.js";
|
|
|
35
36
|
/** How long after a refusal we still credit the call to it. Generous on purpose: a
|
|
36
37
|
* host that queues the tool and then answers is the case we are measuring. */
|
|
37
38
|
const LEAK_WINDOW_MS = 30_000;
|
|
38
|
-
/** The
|
|
39
|
+
/** The host's native-browser reading conventions that cost rounds in the user's real task log,
|
|
39
40
|
* said once per session at the result where each one bites. */
|
|
40
41
|
export const NATIVE_BROWSER_NOTE = "(宿主原生浏览器的读法,本会话只说一次:① snapshot/find 的结果是 {tab, content, truncated}," +
|
|
41
|
-
"可寻址记号写成 `@e8 [link]
|
|
42
|
+
"可寻址记号写成 `@e8 [link]`;② evaluate 的参数名是 `script`(不是 fn)," +
|
|
42
43
|
"而且它求值的是表达式:传 `() => …` 这种函数源文本不会被调用,结果同样是 {} —— 要么写成表达式," +
|
|
43
44
|
"要么自己写成 `(()=>{…})()`,返回对象也要自己 JSON.stringify 成标量;③ screenshot 需要一个真正可见且聚焦的" +
|
|
44
45
|
"桌面标签页,宿主在后台窗口下必定失败,别为它反复 focus;④ wait 的 state 取值不是 playwright 那一套" +
|
|
@@ -117,12 +118,15 @@ function hardUrlHosts(program) {
|
|
|
117
118
|
return hits;
|
|
118
119
|
}
|
|
119
120
|
export function applyV2BrowserGate(ctx, opts) {
|
|
120
|
-
const report = { seen: 0, classified: 0, refused: 0, codeModeRefused: 0, leaked: 0, held: 0, annotated: 0, foreignSkipped: 0, byTool: {} };
|
|
121
|
+
const report = { seen: 0, classified: 0, refused: 0, codeModeRefused: 0, leaked: 0, held: 0, annotated: 0, foreignSkipped: 0, serpNav: 0, serpRefused: 0, byTool: {} };
|
|
121
122
|
const registrations = [];
|
|
122
123
|
/** key = `${tool}\n${sessionID}` → the refusal we owe that call's answer */
|
|
123
124
|
const annotated = new Set();
|
|
124
125
|
const pending = new Map();
|
|
125
126
|
const off = /^(0|false|no|off)$/i.test(String(opts.env?.TM_V2_BROWSER_GATE ?? "").trim());
|
|
127
|
+
// ONE guard per gate instance = per plugin process, which is the accounting
|
|
128
|
+
// basis the module documents: a conversation-level fact, not a per-agent one.
|
|
129
|
+
const serpGuard = createSerpLoopGuard();
|
|
126
130
|
const keyOf = (tool, sessionID) => `${tool}\n${String(sessionID ?? "")}`;
|
|
127
131
|
const decide = (target) => {
|
|
128
132
|
if (target.kind === "path") {
|
|
@@ -178,8 +182,44 @@ export function applyV2BrowserGate(ctx, opts) {
|
|
|
178
182
|
report.byTool[tool] ??= { seen: 0, refused: 0, leaked: 0 };
|
|
179
183
|
report.byTool[tool].seen++;
|
|
180
184
|
const message = decide(target);
|
|
181
|
-
if (!message)
|
|
185
|
+
if (!message) {
|
|
186
|
+
// The allowlist passed. The SERP rate limit (#14) applies to NAVIGATION
|
|
187
|
+
// targets only — a call carrying a `url` is a navigation; a click/fill/
|
|
188
|
+
// snapshot carries none and is never judged or counted here.
|
|
189
|
+
if (target.kind === "url") {
|
|
190
|
+
const verdict = serpGuard.observe(target.value);
|
|
191
|
+
if (verdict) {
|
|
192
|
+
report.serpNav++;
|
|
193
|
+
const info = {
|
|
194
|
+
engine: verdict.target.engine,
|
|
195
|
+
query: verdict.target.query,
|
|
196
|
+
host: verdict.target.host,
|
|
197
|
+
count: verdict.count,
|
|
198
|
+
limit: verdict.limit,
|
|
199
|
+
sessionID: String(event?.sessionID ?? ""),
|
|
200
|
+
};
|
|
201
|
+
try {
|
|
202
|
+
opts.onSerp?.({ event: "serp_nav", ...info });
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
/* a log line is an extra, never a reason to fail the call */
|
|
206
|
+
}
|
|
207
|
+
if (verdict.blocked) {
|
|
208
|
+
report.serpRefused++;
|
|
209
|
+
const serpMessage = serpRefusal(verdict);
|
|
210
|
+
pending.set(keyOf(tool, event?.sessionID), { message: serpMessage, at: Date.now() });
|
|
211
|
+
try {
|
|
212
|
+
opts.onSerp?.({ event: "serp_refused", ...info });
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
/* same */
|
|
216
|
+
}
|
|
217
|
+
throw new Error(serpMessage);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
182
221
|
return;
|
|
222
|
+
}
|
|
183
223
|
report.refused++;
|
|
184
224
|
report.byTool[tool].refused++;
|
|
185
225
|
pending.set(keyOf(tool, event?.sessionID), { message, at: Date.now() });
|
|
@@ -232,7 +272,7 @@ export function applyV2BrowserGate(ctx, opts) {
|
|
|
232
272
|
}
|
|
233
273
|
}
|
|
234
274
|
// Once per session, at the result where the confusion actually happened: the host's
|
|
235
|
-
// browser surface
|
|
275
|
+
// browser surface has quirks that each cost a round in the
|
|
236
276
|
// user's real-task log (a guessed `snap.text`, an `fn` argument that is really
|
|
237
277
|
// `script`, a function source that reads as `{}`, a screenshot retried after `focus`,
|
|
238
278
|
// a `wait` state the host rejects, a MediaWiki URL guessed instead of the site's own
|
|
@@ -314,6 +354,7 @@ export function browserGateSummary(r) {
|
|
|
314
354
|
if (!r.seen)
|
|
315
355
|
return "原生 browser_* 没被调用过(门禁在场,没数据)";
|
|
316
356
|
const teeth = r.refused === 0 ? "没有拒绝发生过" : r.leaked === 0 ? `${r.refused} 次拒绝全部拦停在门口` : `${r.refused} 次拒绝中 ${r.leaked} 次被宿主放过去(已在返回处换成拒绝语)`;
|
|
317
|
-
|
|
357
|
+
const serp = r.serpNav === 0 ? "" : ` · SERP 导航 ${r.serpNav} 次(其中 ${r.serpRefused} 次超限被拒,指向 tm_search)`;
|
|
358
|
+
return `原生 browser_*/Code Mode:看过 ${r.seen} 次调用(其中 Code Mode 程序拒绝 ${r.codeModeRefused} 次) · 可判定目标 ${r.classified} 次 · 拒绝 ${r.refused} 次(${teeth})· 拦下后无返回 ${r.held} 次 · 非 Team 跳过 ${r.foreignSkipped} 次 · 原生读法提示发了 ${r.annotated} 个会话${serp}`;
|
|
318
359
|
}
|
|
319
360
|
//# sourceMappingURL=v2-browser-gate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-browser-gate.js","sourceRoot":"","sources":["../../src/host/v2-browser-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"v2-browser-gate.js","sourceRoot":"","sources":["../../src/host/v2-browser-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,23 @@ interface Inputs {
|
|
|
53
53
|
unknown: number;
|
|
54
54
|
};
|
|
55
55
|
};
|
|
56
|
+
/** Early compaction (#39): the `ctx.session.compact` seam's counters, read off the
|
|
57
|
+
* layer that calls it. `wired` says a hook got attached at all; `confirmed` is the
|
|
58
|
+
* only evidence the host accepted an admission. */
|
|
59
|
+
compact?: {
|
|
60
|
+
enabled: boolean;
|
|
61
|
+
percent: number;
|
|
62
|
+
checked: number;
|
|
63
|
+
fired: number;
|
|
64
|
+
confirmed: number;
|
|
65
|
+
conflicts: number;
|
|
66
|
+
threw: number;
|
|
67
|
+
noLimit: number;
|
|
68
|
+
source: string;
|
|
69
|
+
lastPercent: number;
|
|
70
|
+
error: string;
|
|
71
|
+
wired: boolean;
|
|
72
|
+
};
|
|
56
73
|
/** The `ctx.event.subscribe()` feed (#8). `received` is the observation that
|
|
57
74
|
* makes this row `ok` rather than `declared`: an event that actually arrived. */
|
|
58
75
|
eventFeed?: {
|
|
@@ -62,6 +79,22 @@ interface Inputs {
|
|
|
62
79
|
unknown: Record<string, number>;
|
|
63
80
|
stopped?: string;
|
|
64
81
|
};
|
|
82
|
+
/** #49 Context Pruning: the `v2-prune` layer's counters, read off the layer that
|
|
83
|
+
* runs it. `prunedMessages > 0` is the only observation that earns `ok`; an
|
|
84
|
+
* operator who set `TM_PRUNE=off` says so in the note instead of looking broken. */
|
|
85
|
+
prune?: {
|
|
86
|
+
enabled: boolean;
|
|
87
|
+
atPercent: number;
|
|
88
|
+
keepTailPercent: number;
|
|
89
|
+
checked: number;
|
|
90
|
+
prunedMessages: number;
|
|
91
|
+
prunedTokens: number;
|
|
92
|
+
below: number;
|
|
93
|
+
noLimit: number;
|
|
94
|
+
foreignSkipped: number;
|
|
95
|
+
threw: number;
|
|
96
|
+
lastPercent: number;
|
|
97
|
+
};
|
|
65
98
|
/** #33 — what `tm_join { cancel: true }` actually got from `ctx.session.interrupt`.
|
|
66
99
|
* Absent means the bridge never wrapped the seam, which is itself the row's story:
|
|
67
100
|
* for a whole release v2 had no stop path at all, and nothing printed that fact. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-capabilities.d.ts","sourceRoot":"","sources":["../../src/host/v2-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"v2-capabilities.d.ts","sourceRoot":"","sources":["../../src/host/v2-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolvePruneConfig } from "./v2-prune.js";
|
|
1
2
|
const has = (list, want) => list.some(want);
|
|
2
3
|
export function v2CapabilityRows(i) {
|
|
3
4
|
const domains = i.probe.report.ctxDomains;
|
|
@@ -41,7 +42,9 @@ export function v2CapabilityRows(i) {
|
|
|
41
42
|
feature: "egress 红线(元数据/链路本地/私网)套到宿主原生 webfetch · 按命令行判定的 R6",
|
|
42
43
|
state: i.guardsInstalled ? (i.probe.report.evaluations > 0 ? "ok" : "declared") : "missing",
|
|
43
44
|
evidence: "hook",
|
|
44
|
-
note: i.
|
|
45
|
+
note: i.guardsInstalled
|
|
46
|
+
? `${i.probe.report.evaluations > 0 ? `看到 ${i.probe.report.evaluations} 次评估,动作:${i.probe.report.actions.join(" ") || "无"}` : "挂上了但还没被调用过"} · R6 现覆盖文件路径面(read/write/edit/glob/grep 的 .env / rc 家族)`
|
|
47
|
+
: undefined,
|
|
45
48
|
},
|
|
46
49
|
{
|
|
47
50
|
seam: "工具 ctx.ask(宿主官方确认框)",
|
|
@@ -150,6 +153,52 @@ export function v2CapabilityRows(i) {
|
|
|
150
153
|
(i.stop.error ? `(最后一次宿主错误:${i.stop.error})` : "")
|
|
151
154
|
: "缝已接上(POST /api/session/{id}/interrupt 的契约是 interrupted=true / false=idle no-op),本进程还没被 cancel:true 用过",
|
|
152
155
|
});
|
|
156
|
+
// #39: Team's own early compaction. `ok` requires the HOST to have ACCEPTED an
|
|
157
|
+
// admission (`compact()` resolved) — a fired-but-unconfirmed call is our intent, not a
|
|
158
|
+
// fact, and the two must not print the same row. An operator who turned the trigger off
|
|
159
|
+
// says so in the note instead of looking like a broken host.
|
|
160
|
+
rows.push({
|
|
161
|
+
seam: "ctx.session.compact",
|
|
162
|
+
feature: `Team 自己的早压缩:上下文用量到窗口上限的 ${i.compact?.percent ?? 75}% 就提交压缩(宿主配置只有 auto/prune/tail_turns/preserve_recent_tokens/reserved,没有百分比,而 2.x 插件根本没有 config 域)`,
|
|
163
|
+
state: !i.compact
|
|
164
|
+
? domains.includes("session")
|
|
165
|
+
? "declared"
|
|
166
|
+
: "missing"
|
|
167
|
+
: !i.compact.enabled
|
|
168
|
+
? "declared"
|
|
169
|
+
: i.compact.confirmed > 0
|
|
170
|
+
? "ok"
|
|
171
|
+
: i.compact.wired
|
|
172
|
+
? "declared"
|
|
173
|
+
: domains.includes("session")
|
|
174
|
+
? "declared"
|
|
175
|
+
: "missing",
|
|
176
|
+
evidence: i.compact && i.compact.confirmed > 0 ? "runtime" : "static",
|
|
177
|
+
note: !i.compact
|
|
178
|
+
? "层没接上"
|
|
179
|
+
: !i.compact.enabled
|
|
180
|
+
? "TM_COMPACT_TRIGGER=off:操作员关掉了早压缩,压缩时机完全交回宿主"
|
|
181
|
+
: `已测 ${i.compact.checked} 次请求装配 · 提交 ${i.compact.fired} · 宿主接受 ${i.compact.confirmed} · 冲突 ${i.compact.conflicts} · 抛错 ${i.compact.threw} · 读不到上限 ${i.compact.noLimit} · 最近一次 ${i.compact.lastPercent}%(用量来源=${i.compact.source})` +
|
|
182
|
+
(i.compact.error ? `(最后一次宿主错误:${i.compact.error})` : ""),
|
|
183
|
+
});
|
|
184
|
+
// #49: Context Pruning. `ok` requires an actual prune (`prunedMessages > 0`) — a layer
|
|
185
|
+
// that ran but found nothing over the threshold is `declared`, and the two zeroes a
|
|
186
|
+
// reader must not confuse are "we looked and it was under" (`below`) and "we could not
|
|
187
|
+
// compute the threshold" (`noLimit`). An operator who turned it off says so in the note
|
|
188
|
+
// instead of looking like a broken host. When the counters were never handed in, the
|
|
189
|
+
// row still appears (the seam is installed) but says it has no observation to judge.
|
|
190
|
+
const pruneEnabled = i.prune ? i.prune.enabled : resolvePruneConfig().enabled;
|
|
191
|
+
rows.push({
|
|
192
|
+
seam: "Context Pruning(v2-prune 层)",
|
|
193
|
+
feature: "会话历史越过窗口的 N% 后,已结算的消息变成一行指针(句柄 / 子会话 id / 重跑提示),最新一条与硬保护消息逐字不动",
|
|
194
|
+
state: !pruneEnabled ? "declared" : i.prune && i.prune.prunedMessages > 0 ? "ok" : "declared",
|
|
195
|
+
evidence: i.prune && i.prune.prunedMessages > 0 ? "runtime" : "static",
|
|
196
|
+
note: !pruneEnabled
|
|
197
|
+
? "TM_PRUNE=off:操作员关掉了裁剪,不是坏"
|
|
198
|
+
: i.prune
|
|
199
|
+
? `已测 ${i.prune.checked} 次请求装配 · 裁掉 ${i.prune.prunedMessages} 条消息(省 ${i.prune.prunedTokens} token,估算)· 未到阈值 ${i.prune.below} · 读不到上限 ${i.prune.noLimit} · 非本会话跳过 ${i.prune.foreignSkipped} · 抛错 ${i.prune.threw}`
|
|
200
|
+
: "层已装(v2.ts 注册了 prune 的 context 钩子),但本进程没有把它的计数交给能力矩阵——这一格只能读 declared",
|
|
201
|
+
});
|
|
153
202
|
if (typeof i.temperature === "number") {
|
|
154
203
|
rows.push({
|
|
155
204
|
seam: "options.temperature",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-capabilities.js","sourceRoot":"","sources":["../../src/host/v2-capabilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"v2-capabilities.js","sourceRoot":"","sources":["../../src/host/v2-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Early compaction — Team's own trigger at a fraction of the context window.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS AS PLUGIN LOGIC
|
|
5
|
+
* The host's `compaction` config block (authoritative: `https://opencode.ai/config.json`
|
|
6
|
+
* `$defs.Config.properties.compaction`, read 2026-10-05) exposes exactly five keys —
|
|
7
|
+
* `auto`, `prune`, `tail_turns`, `preserve_recent_tokens`, `reserved` — and NONE of them
|
|
8
|
+
* is a percentage. The trigger is "when context is full", with `reserved`/`buffer` as an
|
|
9
|
+
* ABSOLUTE token window. So "start compacting at 75%" is not expressible in config, and
|
|
10
|
+
* a plugin cannot write config at runtime either: the 2.x `ctx` has no `config` domain
|
|
11
|
+
* (measured on 2.0.23 with a zero-token probe). What 2.x DOES give is
|
|
12
|
+
* `ctx.session.compact({sessionID})` — `compact({})` fails with `Missing key at
|
|
13
|
+
* ["sessionID"]`, a bogus id with `Session.NotFoundError` — so the threshold lives here,
|
|
14
|
+
* in the package, and ships to every user instead of one machine's file.
|
|
15
|
+
*
|
|
16
|
+
* WHERE THE NUMBER COMES FROM — MEASURED, NOT ASSUMED
|
|
17
|
+
* The first version read usage off `session.hook("context")`'s `messages`, on the theory
|
|
18
|
+
* that the host's own meter does `o.tokens.input + … + o.model.providerID` off message
|
|
19
|
+
* objects. A live 2.0.23 turn disproved it: on the SECOND request of a session, with
|
|
20
|
+
* three messages including an assistant one, the payload still carried no usage numbers
|
|
21
|
+
* (`measured source=no_usage messages=3`, run r-20261005-235343-114738). The numbers are
|
|
22
|
+
* on the EVENT FEED instead — read out of the binary:
|
|
23
|
+
*
|
|
24
|
+
* jq = rt({ type: "session.usage.updated", schema: { ...e, cost: Ps, tokens: Yp } })
|
|
25
|
+
* case "session.usage.updated": m("session","info", D.data.sessionID, {cost, tokens})
|
|
26
|
+
*
|
|
27
|
+
* and our own trajectory shows that event firing 440 times in one desktop session. So the
|
|
28
|
+
* event is the primary source; the message read stays as a secondary (a host that moves
|
|
29
|
+
* the numbers back onto messages must not strand the feature), and a session where neither
|
|
30
|
+
* answers is counted `no_usage` rather than guessed at.
|
|
31
|
+
*
|
|
32
|
+
* THE DENOMINATOR
|
|
33
|
+
* `limit.context` comes from `ctx.model.list()` keyed by providerID+modelID — the same
|
|
34
|
+
* lookup the desktop's usage meter does (`contextLimit:(s)=>providers.find(…).models[…].limit.context`).
|
|
35
|
+
* The model itself comes from the session record (`ctx.session.get({sessionID})`, which is
|
|
36
|
+
* where the reducer just wrote cost/tokens) or, failing that, from the usage-bearing
|
|
37
|
+
* message. No model → no percentage → counted `no_limit`, never a guessed one.
|
|
38
|
+
*
|
|
39
|
+
* THE TEAM GATE
|
|
40
|
+
* An event carries a sessionID and no agent, so it cannot be scope-decided on its own.
|
|
41
|
+
* The layer only ever acts on sessions the request layer has already LEARNED as ours (the
|
|
42
|
+
* context hook passes the same `scope.count(decide(...)) === "ours"` gate every other
|
|
43
|
+
* writer uses and records the id). A usage event for a stranger session is counted and
|
|
44
|
+
* dropped.
|
|
45
|
+
*
|
|
46
|
+
* WHY IT IS SAFE TO ASK MID-TURN
|
|
47
|
+
* Compaction on 2.x is an INBOX INPUT, not a side effect (`SessionInbox.admitCompaction`,
|
|
48
|
+
* handler `a.compact({sessionID, id, delivery})`, duplicate id → `Session.CompactionConflictError`).
|
|
49
|
+
* We admit one per usage number per session with a floor interval, so a ratio that does
|
|
50
|
+
* not drop cannot become a compaction loop, and a failed admission is forgotten so the
|
|
51
|
+
* next signal may retry.
|
|
52
|
+
*
|
|
53
|
+
* WHAT IS DELIBERATELY NOT HERE
|
|
54
|
+
* - No config rewriting, no reading of `compaction.auto`: we cannot see it, so we do not
|
|
55
|
+
* claim to respect it. `TM_COMPACT_TRIGGER=off` restores host-only timing on our side.
|
|
56
|
+
* - No throwing into a hook or an event loop, ever. Every failure is a counted verdict and
|
|
57
|
+
* its own `v2-compact` trajectory line, because the counters ride rows a CLI run never
|
|
58
|
+
* produces (`v2-shutdown` needs dispose, `v2-surface` is throttled).
|
|
59
|
+
*/
|
|
60
|
+
import type { TeamScope } from "./v2-scope.js";
|
|
61
|
+
import type { V2Context, V2Registration } from "./v2-types.js";
|
|
62
|
+
export interface CompactConfig {
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
/** Percent of the model's context window at which we admit a compaction. */
|
|
65
|
+
percent: number;
|
|
66
|
+
/** Floor between two admissions for the same session, ms. */
|
|
67
|
+
minIntervalMs: number;
|
|
68
|
+
}
|
|
69
|
+
/** `off` is the only opt-out; a garbage percent falls back to the documented default. */
|
|
70
|
+
export declare function resolveCompactConfig(env?: Record<string, string | undefined>): CompactConfig;
|
|
71
|
+
/**
|
|
72
|
+
* The host's usage block, summed the way the host sums it:
|
|
73
|
+
* `input + output + reasoning + cache.read + cache.write`. Returns null when the object
|
|
74
|
+
* carries no numbers at all — "we did not find them" is not "usage is zero".
|
|
75
|
+
*/
|
|
76
|
+
export declare function readUsedTokens(message: unknown): number | null;
|
|
77
|
+
/** The model that produced that usage — the key we need to find its context limit. */
|
|
78
|
+
export declare function readModelKey(message: unknown): {
|
|
79
|
+
providerID: string;
|
|
80
|
+
id: string;
|
|
81
|
+
} | null;
|
|
82
|
+
/** Newest message that carries usage wins — that is what the host's meter calls `usage.last`. */
|
|
83
|
+
export declare function lastUsageOf(messages: unknown): {
|
|
84
|
+
used: number;
|
|
85
|
+
model: {
|
|
86
|
+
providerID: string;
|
|
87
|
+
id: string;
|
|
88
|
+
} | null;
|
|
89
|
+
} | null;
|
|
90
|
+
export declare function percentOf(used: number, limit: number): number;
|
|
91
|
+
export interface CompactReport {
|
|
92
|
+
enabled: boolean;
|
|
93
|
+
percent: number;
|
|
94
|
+
checked: number;
|
|
95
|
+
/** `session.usage.updated` lines tapped at all. */
|
|
96
|
+
usageSeen: number;
|
|
97
|
+
/** `session.usage.updated` lines seen for sessions we know. */
|
|
98
|
+
usageEvents: number;
|
|
99
|
+
/** Decisions taken from an event rather than a request assembly. */
|
|
100
|
+
eventDecided: number;
|
|
101
|
+
fired: number;
|
|
102
|
+
confirmed: number;
|
|
103
|
+
below: number;
|
|
104
|
+
deduped: number;
|
|
105
|
+
noUsage: number;
|
|
106
|
+
noLimit: number;
|
|
107
|
+
conflicts: number;
|
|
108
|
+
threw: number;
|
|
109
|
+
foreignSkipped: number;
|
|
110
|
+
lastSource: string;
|
|
111
|
+
lastPercent: number;
|
|
112
|
+
lastError: string;
|
|
113
|
+
}
|
|
114
|
+
export interface CompactInput {
|
|
115
|
+
config?: CompactConfig;
|
|
116
|
+
scope?: TeamScope;
|
|
117
|
+
/** Injectable clock, so the floor interval is testable without waiting. */
|
|
118
|
+
now?: () => number;
|
|
119
|
+
/** Per-event trajectory line (see the header: counters alone are invisible in a CLI run). */
|
|
120
|
+
onEvent?: (row: Record<string, unknown>) => void;
|
|
121
|
+
}
|
|
122
|
+
export interface CompactLayer {
|
|
123
|
+
registrations: V2Registration[];
|
|
124
|
+
report: CompactReport;
|
|
125
|
+
/** Fed by the event layer for `session.usage.updated`. */
|
|
126
|
+
observeUsage: (data: unknown) => void;
|
|
127
|
+
}
|
|
128
|
+
export declare function applyV2EarlyCompaction(ctx: V2Context, input?: CompactInput): Promise<CompactLayer>;
|
|
129
|
+
//# sourceMappingURL=v2-compaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v2-compaction.d.ts","sourceRoot":"","sources":["../../src/host/v2-compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAA;AAEhF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAA;IACf,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAA;CACtB;AAKD,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,aAAa,CAQzG;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAW9D;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUxF;AAED,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAOxH;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,cAAc,EAAE,CAAA;IAC/B,MAAM,EAAE,aAAa,CAAA;IACrB,0DAA0D;IAC1D,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CACtC;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,SAAS,EACd,KAAK,GAAE,YAAiB,GACvB,OAAO,CAAC,YAAY,CAAC,CAyNvB"}
|