@te-river/opencode-team-mode 1.6.2 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/README.md +114 -118
  2. package/README.zh-CN.md +95 -100
  3. package/dist/agents.d.ts.map +1 -1
  4. package/dist/agents.js +89 -79
  5. package/dist/agents.js.map +1 -1
  6. package/dist/approval-gate.d.ts +8 -9
  7. package/dist/approval-gate.d.ts.map +1 -1
  8. package/dist/approval-gate.js +13 -14
  9. package/dist/approval-gate.js.map +1 -1
  10. package/dist/capabilities.d.ts +11 -37
  11. package/dist/capabilities.d.ts.map +1 -1
  12. package/dist/capabilities.js +11 -141
  13. package/dist/capabilities.js.map +1 -1
  14. package/dist/commands.js +1 -1
  15. package/dist/envprotect/hook.d.ts +12 -31
  16. package/dist/envprotect/hook.d.ts.map +1 -1
  17. package/dist/envprotect/hook.js +13 -91
  18. package/dist/envprotect/hook.js.map +1 -1
  19. package/dist/envprotect/patterns.d.ts +6 -4
  20. package/dist/envprotect/patterns.d.ts.map +1 -1
  21. package/dist/envprotect/patterns.js +6 -4
  22. package/dist/envprotect/patterns.js.map +1 -1
  23. package/dist/envprotect.d.ts +1 -1
  24. package/dist/envprotect.d.ts.map +1 -1
  25. package/dist/envprotect.js +1 -1
  26. package/dist/envprotect.js.map +1 -1
  27. package/dist/host/v2-browser-gate.d.ts +19 -1
  28. package/dist/host/v2-browser-gate.d.ts.map +1 -1
  29. package/dist/host/v2-browser-gate.js +47 -6
  30. package/dist/host/v2-browser-gate.js.map +1 -1
  31. package/dist/host/v2-capabilities.d.ts +16 -0
  32. package/dist/host/v2-capabilities.d.ts.map +1 -1
  33. package/dist/host/v2-capabilities.js +22 -1
  34. package/dist/host/v2-capabilities.js.map +1 -1
  35. package/dist/host/v2-default-agent.d.ts +37 -0
  36. package/dist/host/v2-default-agent.d.ts.map +1 -0
  37. package/dist/host/v2-default-agent.js +128 -0
  38. package/dist/host/v2-default-agent.js.map +1 -0
  39. package/dist/host/v2-events.d.ts +1 -0
  40. package/dist/host/v2-events.d.ts.map +1 -1
  41. package/dist/host/v2-events.js +14 -0
  42. package/dist/host/v2-events.js.map +1 -1
  43. package/dist/host/v2-guard.d.ts +178 -0
  44. package/dist/host/v2-guard.d.ts.map +1 -1
  45. package/dist/host/v2-guard.js +324 -8
  46. package/dist/host/v2-guard.js.map +1 -1
  47. package/dist/host/v2-offload.d.ts +1 -1
  48. package/dist/host/v2-offload.js +2 -2
  49. package/dist/host/v2-permissions.d.ts +45 -44
  50. package/dist/host/v2-permissions.d.ts.map +1 -1
  51. package/dist/host/v2-permissions.js +48 -49
  52. package/dist/host/v2-permissions.js.map +1 -1
  53. package/dist/host/v2-probe-chain.d.ts +93 -0
  54. package/dist/host/v2-probe-chain.d.ts.map +1 -0
  55. package/dist/host/v2-probe-chain.js +146 -0
  56. package/dist/host/v2-probe-chain.js.map +1 -0
  57. package/dist/host/v2-prune.d.ts +157 -0
  58. package/dist/host/v2-prune.d.ts.map +1 -0
  59. package/dist/host/v2-prune.js +507 -0
  60. package/dist/host/v2-prune.js.map +1 -0
  61. package/dist/host/v2-retry.d.ts +143 -0
  62. package/dist/host/v2-retry.d.ts.map +1 -0
  63. package/dist/host/v2-retry.js +315 -0
  64. package/dist/host/v2-retry.js.map +1 -0
  65. package/dist/host/v2-scope.d.ts.map +1 -1
  66. package/dist/host/v2-scope.js +14 -7
  67. package/dist/host/v2-scope.js.map +1 -1
  68. package/dist/host/v2-session-client.d.ts +24 -0
  69. package/dist/host/v2-session-client.d.ts.map +1 -1
  70. package/dist/host/v2-session-client.js +243 -3
  71. package/dist/host/v2-session-client.js.map +1 -1
  72. package/dist/host/v2-session.d.ts +72 -1
  73. package/dist/host/v2-session.d.ts.map +1 -1
  74. package/dist/host/v2-session.js +154 -10
  75. package/dist/host/v2-session.js.map +1 -1
  76. package/dist/host/v2-tool.d.ts +2 -3
  77. package/dist/host/v2-tool.d.ts.map +1 -1
  78. package/dist/host/v2-tool.js +2 -3
  79. package/dist/host/v2-tool.js.map +1 -1
  80. package/dist/host/v2-types.d.ts +30 -0
  81. package/dist/host/v2-types.d.ts.map +1 -1
  82. package/dist/host/v2-usage.d.ts +50 -0
  83. package/dist/host/v2-usage.d.ts.map +1 -0
  84. package/dist/host/v2-usage.js +82 -0
  85. package/dist/host/v2-usage.js.map +1 -0
  86. package/dist/host/v2.d.ts +14 -12
  87. package/dist/host/v2.d.ts.map +1 -1
  88. package/dist/host/v2.js +430 -73
  89. package/dist/host/v2.js.map +1 -1
  90. package/dist/identity.d.ts +27 -0
  91. package/dist/identity.d.ts.map +1 -0
  92. package/dist/identity.js +34 -0
  93. package/dist/identity.js.map +1 -0
  94. package/dist/index.d.ts +9 -24
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +17 -27
  97. package/dist/index.js.map +1 -1
  98. package/dist/prompts/lead.d.ts +1 -1
  99. package/dist/prompts/lead.d.ts.map +1 -1
  100. package/dist/prompts/lead.js +38 -25
  101. package/dist/prompts/lead.js.map +1 -1
  102. package/dist/prompts/shared.d.ts +2 -2
  103. package/dist/prompts/shared.d.ts.map +1 -1
  104. package/dist/prompts/shared.js +66 -56
  105. package/dist/prompts/shared.js.map +1 -1
  106. package/dist/prompts/specialists.d.ts +2 -2
  107. package/dist/prompts/specialists.d.ts.map +1 -1
  108. package/dist/prompts/specialists.js +53 -83
  109. package/dist/prompts/specialists.js.map +1 -1
  110. package/dist/tm/args-schema.d.ts +7 -32
  111. package/dist/tm/args-schema.d.ts.map +1 -1
  112. package/dist/tm/args-schema.js +12 -153
  113. package/dist/tm/args-schema.js.map +1 -1
  114. package/dist/tm/board.d.ts +10 -9
  115. package/dist/tm/board.d.ts.map +1 -1
  116. package/dist/tm/board.js +11 -10
  117. package/dist/tm/board.js.map +1 -1
  118. package/dist/tm/config-files.d.ts +81 -0
  119. package/dist/tm/config-files.d.ts.map +1 -0
  120. package/dist/tm/config-files.js +209 -0
  121. package/dist/tm/config-files.js.map +1 -0
  122. package/dist/tm/config-layers.d.ts +117 -0
  123. package/dist/tm/config-layers.d.ts.map +1 -0
  124. package/dist/tm/config-layers.js +317 -0
  125. package/dist/tm/config-layers.js.map +1 -0
  126. package/dist/tm/config.d.ts +10 -101
  127. package/dist/tm/config.d.ts.map +1 -1
  128. package/dist/tm/config.js +17 -71
  129. package/dist/tm/config.js.map +1 -1
  130. package/dist/tm/dispatch.d.ts +115 -21
  131. package/dist/tm/dispatch.d.ts.map +1 -1
  132. package/dist/tm/dispatch.js +424 -67
  133. package/dist/tm/dispatch.js.map +1 -1
  134. package/dist/tm/egress.d.ts +19 -7
  135. package/dist/tm/egress.d.ts.map +1 -1
  136. package/dist/tm/egress.js +21 -9
  137. package/dist/tm/egress.js.map +1 -1
  138. package/dist/tm/index.d.ts +23 -20
  139. package/dist/tm/index.d.ts.map +1 -1
  140. package/dist/tm/index.js +117 -116
  141. package/dist/tm/index.js.map +1 -1
  142. package/dist/tm/ledger.d.ts +9 -2
  143. package/dist/tm/ledger.d.ts.map +1 -1
  144. package/dist/tm/ledger.js +4 -1
  145. package/dist/tm/ledger.js.map +1 -1
  146. package/dist/tm/perm-ask.d.ts +3 -3
  147. package/dist/tm/perm-ask.d.ts.map +1 -1
  148. package/dist/tm/perm-ask.js +3 -3
  149. package/dist/tm/perm-ask.js.map +1 -1
  150. package/dist/tm/pipelines.d.ts +12 -11
  151. package/dist/tm/pipelines.d.ts.map +1 -1
  152. package/dist/tm/pipelines.js +40 -207
  153. package/dist/tm/pipelines.js.map +1 -1
  154. package/dist/tm/preview.d.ts +1 -1
  155. package/dist/tm/preview.js +3 -3
  156. package/dist/tm/preview.js.map +1 -1
  157. package/dist/tm/refs.d.ts +31 -4
  158. package/dist/tm/refs.d.ts.map +1 -1
  159. package/dist/tm/refs.js +48 -4
  160. package/dist/tm/refs.js.map +1 -1
  161. package/dist/tm/result.d.ts +1 -1
  162. package/dist/tm/result.d.ts.map +1 -1
  163. package/dist/tm/result.js +4 -3
  164. package/dist/tm/result.js.map +1 -1
  165. package/dist/tm/search.d.ts +2 -2
  166. package/dist/tm/search.js +7 -7
  167. package/dist/tm/search.js.map +1 -1
  168. package/dist/tm/serp-loop.d.ts +19 -7
  169. package/dist/tm/serp-loop.d.ts.map +1 -1
  170. package/dist/tm/serp-loop.js +24 -9
  171. package/dist/tm/serp-loop.js.map +1 -1
  172. package/dist/tm/stats.d.ts +12 -27
  173. package/dist/tm/stats.d.ts.map +1 -1
  174. package/dist/tm/stats.js +43 -45
  175. package/dist/tm/stats.js.map +1 -1
  176. package/dist/tm/store.d.ts +18 -5
  177. package/dist/tm/store.d.ts.map +1 -1
  178. package/dist/tm/store.js +39 -9
  179. package/dist/tm/store.js.map +1 -1
  180. package/dist/tm/tools.d.ts +7 -5
  181. package/dist/tm/tools.d.ts.map +1 -1
  182. package/dist/tm/tools.js +10 -41
  183. package/dist/tm/tools.js.map +1 -1
  184. package/dist/tm/webfetch.d.ts +1 -1
  185. package/dist/tm/webfetch.d.ts.map +1 -1
  186. package/dist/tm/webfetch.js +38 -23
  187. package/dist/tm/webfetch.js.map +1 -1
  188. package/dist/types.d.ts +40 -123
  189. package/dist/types.d.ts.map +1 -1
  190. package/dist/types.js +7 -21
  191. package/dist/types.js.map +1 -1
  192. package/docs/installation-v2.md +133 -33
  193. package/docs/installation.md +9 -0
  194. package/docs/research/browser-pane.md +5 -0
  195. package/docs/v2-port-notes.md +133 -0
  196. package/package.json +1 -1
  197. package/scripts/gen-v2-config.mjs +246 -94
  198. package/scripts/lib/fake-ctx.mjs +67 -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 four host-vs-tm_browser differences that cost rounds in the user's real task log,
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]`,不是 tm_browser 的 `[ref=e12]`;② evaluate 的参数名是 `script`(不是 fn)," +
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 differs from tm_browser's in ways that each cost a round in the
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
- return `原生 browser_*/Code Mode:看过 ${r.seen} 次调用(其中 Code Mode 程序拒绝 ${r.codeModeRefused} 次) · 可判定目标 ${r.classified} 次 · 拒绝 ${r.refused} 次(${teeth})· 拦下后无返回 ${r.held} 次 · 非 Team 跳过 ${r.foreignSkipped} 次 · 原生读法提示发了 ${r.annotated} 个会话`;
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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"}
@@ -62,6 +62,22 @@ interface Inputs {
62
62
  unknown: Record<string, number>;
63
63
  stopped?: string;
64
64
  };
65
+ /** #49 Context Pruning: the `v2-prune` layer's counters, read off the layer that
66
+ * runs it. `prunedMessages > 0` is the only observation that earns `ok`; an
67
+ * operator who set `TM_PRUNE=off` says so in the note instead of looking broken. */
68
+ prune?: {
69
+ enabled: boolean;
70
+ atPercent: number;
71
+ keepTailPercent: number;
72
+ checked: number;
73
+ prunedMessages: number;
74
+ prunedTokens: number;
75
+ below: number;
76
+ noLimit: number;
77
+ foreignSkipped: number;
78
+ threw: number;
79
+ lastPercent: number;
80
+ };
65
81
  /** #33 — what `tm_join { cancel: true }` actually got from `ctx.session.interrupt`.
66
82
  * Absent means the bridge never wrapped the seam, which is itself the row's story:
67
83
  * 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;AAEvD;;;;;;;;;;;;;;;GAeG;AAEH,UAAU,MAAM;IACd,GAAG,EAAE,OAAO,CAAA;IACZ,KAAK,EAAE;QACL,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,EAAE,CAAA;YACpB,YAAY,EAAE,MAAM,EAAE,CAAA;YACtB,QAAQ,EAAE,MAAM,EAAE,CAAA;YAClB,aAAa,EAAE,MAAM,EAAE,CAAA;YACvB,OAAO,EAAE,MAAM,EAAE,CAAA;YACjB,WAAW,EAAE,MAAM,CAAA;YACnB,UAAU,EAAE,MAAM,EAAE,CAAA;SACrB,CAAA;KACF,CAAA;IACD,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;IACzB,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,EAAE,CAAC;QAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IACnG,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAA;IAClC,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAA;IACpB;qFACiF;IACjF,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IACtE;sFACkF;IAClF,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvH;;yFAEqF;IACrF,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9F;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CA6K3D"}
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;AAGvD;;;;;;;;;;;;;;;GAeG;AAEH,UAAU,MAAM;IACd,GAAG,EAAE,OAAO,CAAA;IACZ,KAAK,EAAE;QACL,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,EAAE,CAAA;YACpB,YAAY,EAAE,MAAM,EAAE,CAAA;YACtB,QAAQ,EAAE,MAAM,EAAE,CAAA;YAClB,aAAa,EAAE,MAAM,EAAE,CAAA;YACvB,OAAO,EAAE,MAAM,EAAE,CAAA;YACjB,WAAW,EAAE,MAAM,CAAA;YACnB,UAAU,EAAE,MAAM,EAAE,CAAA;SACrB,CAAA;KACF,CAAA;IACD,eAAe,EAAE,OAAO,CAAA;IACxB,gBAAgB,EAAE,OAAO,CAAA;IACzB,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,EAAE,CAAC;QAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IACnG,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAA;IAClC,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAA;IACpB;qFACiF;IACjF,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IACtE;sFACkF;IAClF,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACvH;;yFAEqF;IACrF,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,eAAe,EAAE,MAAM,CAAA;QACvB,OAAO,EAAE,MAAM,CAAA;QACf,cAAc,EAAE,MAAM,CAAA;QACtB,YAAY,EAAE,MAAM,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,cAAc,EAAE,MAAM,CAAA;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IACD;;yFAEqF;IACrF,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9F;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAiM3D"}
@@ -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.probe.report.evaluations > 0 ? `看到 ${i.probe.report.evaluations} 次评估,动作:${i.probe.report.actions.join(" ") || "无"}` : i.guardsInstalled ? "挂上了但还没被调用过" : undefined,
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,24 @@ 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
+ // #49: Context Pruning. `ok` requires an actual prune (`prunedMessages > 0`) — a layer
157
+ // that ran but found nothing over the threshold is `declared`, and the two zeroes a
158
+ // reader must not confuse are "we looked and it was under" (`below`) and "we could not
159
+ // compute the threshold" (`noLimit`). An operator who turned it off says so in the note
160
+ // instead of looking like a broken host. When the counters were never handed in, the
161
+ // row still appears (the seam is installed) but says it has no observation to judge.
162
+ const pruneEnabled = i.prune ? i.prune.enabled : resolvePruneConfig().enabled;
163
+ rows.push({
164
+ seam: "Context Pruning(v2-prune 层)",
165
+ feature: "会话历史越过窗口的 N% 后,已结算的消息变成一行指针(句柄 / 子会话 id / 重跑提示),最新一条与硬保护消息逐字不动",
166
+ state: !pruneEnabled ? "declared" : i.prune && i.prune.prunedMessages > 0 ? "ok" : "declared",
167
+ evidence: i.prune && i.prune.prunedMessages > 0 ? "runtime" : "static",
168
+ note: !pruneEnabled
169
+ ? "TM_PRUNE=off:操作员关掉了裁剪,不是坏"
170
+ : i.prune
171
+ ? `已测 ${i.prune.checked} 次请求装配 · 裁掉 ${i.prune.prunedMessages} 条消息(省 ${i.prune.prunedTokens} token,估算)· 未到阈值 ${i.prune.below} · 读不到上限 ${i.prune.noLimit} · 非本会话跳过 ${i.prune.foreignSkipped} · 抛错 ${i.prune.threw}`
172
+ : "层已装(v2.ts 注册了 prune 的 context 钩子),但本进程没有把它的计数交给能力矩阵——这一格只能读 declared",
173
+ });
153
174
  if (typeof i.temperature === "number") {
154
175
  rows.push({
155
176
  seam: "options.temperature",
@@ -1 +1 @@
1
- {"version":3,"file":"v2-capabilities.js","sourceRoot":"","sources":["../../src/host/v2-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v2-capabilities.js","sourceRoot":"","sources":["../../src/host/v2-capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * #38 runtime fallback — is the configured `default_agent` role actually on disk?
3
+ *
4
+ * The plugin cannot see config-directory roles through `ctx.agent`: a zero-token
5
+ * probe measured `ctx.agent.list({})` returning only the 7 built-ins and
6
+ * `ctx.agent.get({agentID:"team"})` → `Agent not found: team`. So the only way
7
+ * to warn about a `default_agent` that points at a role file which does not exist
8
+ * is to read the global config from disk ourselves.
9
+ *
10
+ * Why this matters: the host falls back to `build` SILENTLY when `default_agent`
11
+ * names a missing agent, so the user's sessions quietly stop being Team and
12
+ * nothing says so. This check turns that silence into one warning line.
13
+ *
14
+ * Boundaries, all deliberate:
15
+ * · never throws — a missing/unreadable/unparseable config is a counted state,
16
+ * not a startup failure;
17
+ * · never prints config CONTENT — only the role name and the file path it looked
18
+ * for (the two facts the user needs to fix it);
19
+ * · reads only the global config dir the host itself reads.
20
+ */
21
+ export interface DefaultAgentCheck {
22
+ /** ok = the role file exists; missing-role = default_agent names a role with no
23
+ * file; no-default = the key is absent; no-config = no config file found;
24
+ * unreadable = the file exists but could not be read or parsed. */
25
+ state: "ok" | "missing-role" | "no-default" | "no-config" | "unreadable";
26
+ defaultAgent?: string;
27
+ roleFile?: string;
28
+ }
29
+ /** The global config dir the host reads: `OPENCODE_CONFIG_DIR` when set, else
30
+ * `~/.config/opencode` (on Windows `os.homedir()` reads `USERPROFILE`). */
31
+ export declare function globalConfigDir(env?: NodeJS.ProcessEnv): string;
32
+ export declare function checkDefaultAgentRole(opts: {
33
+ configDir: string;
34
+ readFile?: (p: string) => string;
35
+ exists?: (p: string) => boolean;
36
+ }): DefaultAgentCheck;
37
+ //# sourceMappingURL=v2-default-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-default-agent.d.ts","sourceRoot":"","sources":["../../src/host/v2-default-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,MAAM,WAAW,iBAAiB;IAChC;;wEAEoE;IACpE,KAAK,EAAE,IAAI,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAA;IACxE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;4EAC4E;AAC5E,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAI5E;AAwDD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IAChC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAChC,GAAG,iBAAiB,CAsCpB"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * #38 runtime fallback — is the configured `default_agent` role actually on disk?
3
+ *
4
+ * The plugin cannot see config-directory roles through `ctx.agent`: a zero-token
5
+ * probe measured `ctx.agent.list({})` returning only the 7 built-ins and
6
+ * `ctx.agent.get({agentID:"team"})` → `Agent not found: team`. So the only way
7
+ * to warn about a `default_agent` that points at a role file which does not exist
8
+ * is to read the global config from disk ourselves.
9
+ *
10
+ * Why this matters: the host falls back to `build` SILENTLY when `default_agent`
11
+ * names a missing agent, so the user's sessions quietly stop being Team and
12
+ * nothing says so. This check turns that silence into one warning line.
13
+ *
14
+ * Boundaries, all deliberate:
15
+ * · never throws — a missing/unreadable/unparseable config is a counted state,
16
+ * not a startup failure;
17
+ * · never prints config CONTENT — only the role name and the file path it looked
18
+ * for (the two facts the user needs to fix it);
19
+ * · reads only the global config dir the host itself reads.
20
+ */
21
+ import * as fs from "node:fs";
22
+ import * as os from "node:os";
23
+ import * as path from "node:path";
24
+ /** The global config dir the host reads: `OPENCODE_CONFIG_DIR` when set, else
25
+ * `~/.config/opencode` (on Windows `os.homedir()` reads `USERPROFILE`). */
26
+ export function globalConfigDir(env = process.env) {
27
+ const override = env.OPENCODE_CONFIG_DIR;
28
+ if (typeof override === "string" && override.trim())
29
+ return override.trim();
30
+ return path.join(os.homedir(), ".config", "opencode");
31
+ }
32
+ /** Strip `//` line and block comments so a JSONC file parses as JSON. A tiny
33
+ * state machine, because a naive regex would eat a `//` inside a string value. */
34
+ function stripJsonc(src) {
35
+ let out = "";
36
+ let inString = false;
37
+ let inLine = false;
38
+ let inBlock = false;
39
+ for (let i = 0; i < src.length; i++) {
40
+ const ch = src[i];
41
+ const next = src[i + 1];
42
+ if (inLine) {
43
+ if (ch === "\n") {
44
+ inLine = false;
45
+ out += ch;
46
+ }
47
+ continue;
48
+ }
49
+ if (inBlock) {
50
+ if (ch === "*" && next === "/") {
51
+ inBlock = false;
52
+ i++;
53
+ }
54
+ continue;
55
+ }
56
+ if (inString) {
57
+ out += ch;
58
+ if (ch === "\\") {
59
+ out += next ?? "";
60
+ i++;
61
+ }
62
+ else if (ch === '"') {
63
+ inString = false;
64
+ }
65
+ continue;
66
+ }
67
+ if (ch === '"') {
68
+ inString = true;
69
+ out += ch;
70
+ continue;
71
+ }
72
+ if (ch === "/" && next === "/") {
73
+ inLine = true;
74
+ i++;
75
+ continue;
76
+ }
77
+ if (ch === "/" && next === "*") {
78
+ inBlock = true;
79
+ i++;
80
+ continue;
81
+ }
82
+ out += ch;
83
+ }
84
+ return out;
85
+ }
86
+ export function checkDefaultAgentRole(opts) {
87
+ const readFile = opts.readFile ?? ((p) => fs.readFileSync(p, "utf8"));
88
+ const exists = opts.exists ?? ((p) => fs.existsSync(p));
89
+ const candidates = [
90
+ path.join(opts.configDir, "opencode.jsonc"),
91
+ path.join(opts.configDir, "opencode.json"),
92
+ ];
93
+ let raw = null;
94
+ for (const c of candidates) {
95
+ try {
96
+ if (exists(c)) {
97
+ raw = readFile(c);
98
+ break;
99
+ }
100
+ }
101
+ catch {
102
+ /* try the next candidate */
103
+ }
104
+ }
105
+ if (raw === null)
106
+ return { state: "no-config" };
107
+ let parsed;
108
+ try {
109
+ parsed = JSON.parse(stripJsonc(raw));
110
+ }
111
+ catch {
112
+ return { state: "unreadable" };
113
+ }
114
+ const def = parsed && typeof parsed === "object" ? parsed.default_agent : undefined;
115
+ if (typeof def !== "string" || !def.trim())
116
+ return { state: "no-default" };
117
+ const role = def.trim();
118
+ const roleFile = path.join(opts.configDir, "agents", `${role}.md`);
119
+ try {
120
+ if (exists(roleFile))
121
+ return { state: "ok", defaultAgent: role, roleFile };
122
+ }
123
+ catch {
124
+ return { state: "unreadable" };
125
+ }
126
+ return { state: "missing-role", defaultAgent: role, roleFile };
127
+ }
128
+ //# sourceMappingURL=v2-default-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-default-agent.js","sourceRoot":"","sources":["../../src/host/v2-default-agent.ts"],"names":[],"mappings":"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"}
@@ -52,5 +52,6 @@ export interface V2EventFeed {
52
52
  export declare function applyV2EventFeed(ctx: unknown, opts: {
53
53
  onEvent: (event: HostEvent) => void;
54
54
  types?: readonly string[];
55
+ onError?: (data: unknown) => void;
55
56
  }): Promise<V2EventFeed>;
56
57
  //# sourceMappingURL=v2-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v2-events.d.ts","sourceRoot":"","sources":["../../src/host/v2-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD;+CAC+C;AAC/C,eAAO,MAAM,UAAU,qGAMb,CAAA;AAEV,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;iCAC6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,aAAa,EAAE,cAAc,EAAE,CAAA;IAC/B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAeD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IAAE,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACvE,OAAO,CAAC,WAAW,CAAC,CAsGtB"}
1
+ {"version":3,"file":"v2-events.d.ts","sourceRoot":"","sources":["../../src/host/v2-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD;+CAC+C;AAC/C,eAAO,MAAM,UAAU,qGAMb,CAAA;AAEV,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;iCAC6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,aAAa,EAAE,cAAc,EAAE,CAAA;IAC/B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAeD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IAAE,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GAC1G,OAAO,CAAC,WAAW,CAAC,CAmHtB"}
@@ -96,6 +96,20 @@ export async function applyV2EventFeed(ctx, opts) {
96
96
  const ev = eventOf(raw);
97
97
  report.received++;
98
98
  const type = String(ev.type ?? "");
99
+ // #49 feature 3: the retry layer's error tap. `session.error` is the only
100
+ // place the host publishes a provider throttle, and the retry governor needs
101
+ // its text — but the dispatcher must not have to care, so this is a separate
102
+ // tap with the same never-throw discipline as the usage tap. The payload
103
+ // never reaches the trajectory; only the classification count does (R6 binds
104
+ // a diagnostic).
105
+ if (type === "session.error" && typeof opts.onError === "function") {
106
+ try {
107
+ opts.onError(ev);
108
+ }
109
+ catch {
110
+ /* an error tap that throws never closes the feed */
111
+ }
112
+ }
99
113
  if (!type || !allowed.has(type)) {
100
114
  const key = type || "(no type)";
101
115
  report.unknown[key] = (report.unknown[key] ?? 0) + 1;
@@ -1 +1 @@
1
- {"version":3,"file":"v2-events.js","sourceRoot":"","sources":["../../src/host/v2-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v2-events.js","sourceRoot":"","sources":["../../src/host/v2-events.ts"],"names":[],"mappings":"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"}