@te-river/opencode-team-mode 1.6.1 → 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.
Files changed (201) hide show
  1. package/README.md +117 -118
  2. package/README.zh-CN.md +98 -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/note.d.ts.map +1 -1
  28. package/dist/host/note.js +8 -5
  29. package/dist/host/note.js.map +1 -1
  30. package/dist/host/v2-browser-gate.d.ts +19 -1
  31. package/dist/host/v2-browser-gate.d.ts.map +1 -1
  32. package/dist/host/v2-browser-gate.js +47 -6
  33. package/dist/host/v2-browser-gate.js.map +1 -1
  34. package/dist/host/v2-capabilities.d.ts +43 -0
  35. package/dist/host/v2-capabilities.d.ts.map +1 -1
  36. package/dist/host/v2-capabilities.js +77 -1
  37. package/dist/host/v2-capabilities.js.map +1 -1
  38. package/dist/host/v2-compaction.d.ts +129 -0
  39. package/dist/host/v2-compaction.d.ts.map +1 -0
  40. package/dist/host/v2-compaction.js +346 -0
  41. package/dist/host/v2-compaction.js.map +1 -0
  42. package/dist/host/v2-default-agent.d.ts +37 -0
  43. package/dist/host/v2-default-agent.d.ts.map +1 -0
  44. package/dist/host/v2-default-agent.js +128 -0
  45. package/dist/host/v2-default-agent.js.map +1 -0
  46. package/dist/host/v2-events.d.ts +2 -0
  47. package/dist/host/v2-events.d.ts.map +1 -1
  48. package/dist/host/v2-events.js +27 -0
  49. package/dist/host/v2-events.js.map +1 -1
  50. package/dist/host/v2-guard.d.ts +178 -0
  51. package/dist/host/v2-guard.d.ts.map +1 -1
  52. package/dist/host/v2-guard.js +324 -8
  53. package/dist/host/v2-guard.js.map +1 -1
  54. package/dist/host/v2-offload.d.ts +1 -1
  55. package/dist/host/v2-offload.js +2 -2
  56. package/dist/host/v2-permissions.d.ts +45 -44
  57. package/dist/host/v2-permissions.d.ts.map +1 -1
  58. package/dist/host/v2-permissions.js +48 -49
  59. package/dist/host/v2-permissions.js.map +1 -1
  60. package/dist/host/v2-probe-chain.d.ts +93 -0
  61. package/dist/host/v2-probe-chain.d.ts.map +1 -0
  62. package/dist/host/v2-probe-chain.js +146 -0
  63. package/dist/host/v2-probe-chain.js.map +1 -0
  64. package/dist/host/v2-prune.d.ts +157 -0
  65. package/dist/host/v2-prune.d.ts.map +1 -0
  66. package/dist/host/v2-prune.js +507 -0
  67. package/dist/host/v2-prune.js.map +1 -0
  68. package/dist/host/v2-retry.d.ts +143 -0
  69. package/dist/host/v2-retry.d.ts.map +1 -0
  70. package/dist/host/v2-retry.js +315 -0
  71. package/dist/host/v2-retry.js.map +1 -0
  72. package/dist/host/v2-scope.d.ts.map +1 -1
  73. package/dist/host/v2-scope.js +14 -7
  74. package/dist/host/v2-scope.js.map +1 -1
  75. package/dist/host/v2-session-client.d.ts +62 -7
  76. package/dist/host/v2-session-client.d.ts.map +1 -1
  77. package/dist/host/v2-session-client.js +485 -26
  78. package/dist/host/v2-session-client.js.map +1 -1
  79. package/dist/host/v2-session.d.ts +72 -1
  80. package/dist/host/v2-session.d.ts.map +1 -1
  81. package/dist/host/v2-session.js +154 -10
  82. package/dist/host/v2-session.js.map +1 -1
  83. package/dist/host/v2-tool.d.ts +2 -3
  84. package/dist/host/v2-tool.d.ts.map +1 -1
  85. package/dist/host/v2-tool.js +2 -3
  86. package/dist/host/v2-tool.js.map +1 -1
  87. package/dist/host/v2-types.d.ts +25 -0
  88. package/dist/host/v2-types.d.ts.map +1 -1
  89. package/dist/host/v2.d.ts +14 -12
  90. package/dist/host/v2.d.ts.map +1 -1
  91. package/dist/host/v2.js +648 -74
  92. package/dist/host/v2.js.map +1 -1
  93. package/dist/identity.d.ts +27 -0
  94. package/dist/identity.d.ts.map +1 -0
  95. package/dist/identity.js +34 -0
  96. package/dist/identity.js.map +1 -0
  97. package/dist/index.d.ts +9 -24
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +17 -27
  100. package/dist/index.js.map +1 -1
  101. package/dist/prompts/lead.d.ts +1 -1
  102. package/dist/prompts/lead.d.ts.map +1 -1
  103. package/dist/prompts/lead.js +44 -27
  104. package/dist/prompts/lead.js.map +1 -1
  105. package/dist/prompts/shared.d.ts +2 -2
  106. package/dist/prompts/shared.d.ts.map +1 -1
  107. package/dist/prompts/shared.js +74 -57
  108. package/dist/prompts/shared.js.map +1 -1
  109. package/dist/prompts/specialists.d.ts +2 -2
  110. package/dist/prompts/specialists.d.ts.map +1 -1
  111. package/dist/prompts/specialists.js +53 -83
  112. package/dist/prompts/specialists.js.map +1 -1
  113. package/dist/tm/args-schema.d.ts +7 -32
  114. package/dist/tm/args-schema.d.ts.map +1 -1
  115. package/dist/tm/args-schema.js +12 -153
  116. package/dist/tm/args-schema.js.map +1 -1
  117. package/dist/tm/board.d.ts +10 -9
  118. package/dist/tm/board.d.ts.map +1 -1
  119. package/dist/tm/board.js +11 -10
  120. package/dist/tm/board.js.map +1 -1
  121. package/dist/tm/config-files.d.ts +81 -0
  122. package/dist/tm/config-files.d.ts.map +1 -0
  123. package/dist/tm/config-files.js +209 -0
  124. package/dist/tm/config-files.js.map +1 -0
  125. package/dist/tm/config-layers.d.ts +117 -0
  126. package/dist/tm/config-layers.d.ts.map +1 -0
  127. package/dist/tm/config-layers.js +320 -0
  128. package/dist/tm/config-layers.js.map +1 -0
  129. package/dist/tm/config.d.ts +10 -101
  130. package/dist/tm/config.d.ts.map +1 -1
  131. package/dist/tm/config.js +17 -71
  132. package/dist/tm/config.js.map +1 -1
  133. package/dist/tm/dispatch.d.ts +154 -22
  134. package/dist/tm/dispatch.d.ts.map +1 -1
  135. package/dist/tm/dispatch.js +559 -80
  136. package/dist/tm/dispatch.js.map +1 -1
  137. package/dist/tm/egress.d.ts +19 -7
  138. package/dist/tm/egress.d.ts.map +1 -1
  139. package/dist/tm/egress.js +21 -9
  140. package/dist/tm/egress.js.map +1 -1
  141. package/dist/tm/index.d.ts +23 -20
  142. package/dist/tm/index.d.ts.map +1 -1
  143. package/dist/tm/index.js +117 -116
  144. package/dist/tm/index.js.map +1 -1
  145. package/dist/tm/ledger.d.ts +9 -2
  146. package/dist/tm/ledger.d.ts.map +1 -1
  147. package/dist/tm/ledger.js +4 -1
  148. package/dist/tm/ledger.js.map +1 -1
  149. package/dist/tm/perm-ask.d.ts +3 -3
  150. package/dist/tm/perm-ask.d.ts.map +1 -1
  151. package/dist/tm/perm-ask.js +3 -3
  152. package/dist/tm/perm-ask.js.map +1 -1
  153. package/dist/tm/pipelines.d.ts +12 -11
  154. package/dist/tm/pipelines.d.ts.map +1 -1
  155. package/dist/tm/pipelines.js +40 -207
  156. package/dist/tm/pipelines.js.map +1 -1
  157. package/dist/tm/preview.d.ts +1 -1
  158. package/dist/tm/preview.js +3 -3
  159. package/dist/tm/preview.js.map +1 -1
  160. package/dist/tm/refs.d.ts +31 -4
  161. package/dist/tm/refs.d.ts.map +1 -1
  162. package/dist/tm/refs.js +48 -4
  163. package/dist/tm/refs.js.map +1 -1
  164. package/dist/tm/result.d.ts +1 -1
  165. package/dist/tm/result.d.ts.map +1 -1
  166. package/dist/tm/result.js +4 -3
  167. package/dist/tm/result.js.map +1 -1
  168. package/dist/tm/search.d.ts +2 -2
  169. package/dist/tm/search.js +7 -7
  170. package/dist/tm/search.js.map +1 -1
  171. package/dist/tm/serp-loop.d.ts +19 -7
  172. package/dist/tm/serp-loop.d.ts.map +1 -1
  173. package/dist/tm/serp-loop.js +24 -9
  174. package/dist/tm/serp-loop.js.map +1 -1
  175. package/dist/tm/stats.d.ts +31 -27
  176. package/dist/tm/stats.d.ts.map +1 -1
  177. package/dist/tm/stats.js +170 -58
  178. package/dist/tm/stats.js.map +1 -1
  179. package/dist/tm/store.d.ts +18 -5
  180. package/dist/tm/store.d.ts.map +1 -1
  181. package/dist/tm/store.js +39 -9
  182. package/dist/tm/store.js.map +1 -1
  183. package/dist/tm/tools.d.ts +7 -5
  184. package/dist/tm/tools.d.ts.map +1 -1
  185. package/dist/tm/tools.js +10 -41
  186. package/dist/tm/tools.js.map +1 -1
  187. package/dist/tm/webfetch.d.ts +1 -1
  188. package/dist/tm/webfetch.d.ts.map +1 -1
  189. package/dist/tm/webfetch.js +38 -23
  190. package/dist/tm/webfetch.js.map +1 -1
  191. package/dist/types.d.ts +40 -123
  192. package/dist/types.d.ts.map +1 -1
  193. package/dist/types.js +7 -21
  194. package/dist/types.js.map +1 -1
  195. package/docs/installation-v2.md +124 -39
  196. package/docs/installation.md +9 -0
  197. package/docs/research/browser-pane.md +5 -0
  198. package/docs/v2-port-notes.md +500 -315
  199. package/package.json +1 -1
  200. package/scripts/gen-v2-config.mjs +246 -94
  201. package/scripts/lib/fake-ctx.mjs +244 -146
@@ -1,6 +1,6 @@
1
1
  import type { V2Registration } from "./v2-types.js";
2
2
  import type { TeamScope } from "./v2-scope.js";
3
- /** The four host-vs-tm_browser differences that cost rounds in the user's real task log,
3
+ /** The host's native-browser reading conventions that cost rounds in the user's real task log,
4
4
  * said once per session at the result where each one bites. */
5
5
  export declare const NATIVE_BROWSER_NOTE: string;
6
6
  export interface BrowserGateReport {
@@ -21,6 +21,12 @@ export interface BrowserGateReport {
21
21
  codeModeRefused: number;
22
22
  /** out-of-scope calls left completely alone, counted rather than invisible */
23
23
  foreignSkipped: number;
24
+ /** SERP navigations observed (engine+query rate limit, #14) — the whole point
25
+ * is that a browser SERP grab is a slower `tm_search`, so this is the count
26
+ * of times the agent reached for the slower one. */
27
+ serpNav: number;
28
+ /** SERP navigations refused past the per-engine+query limit. */
29
+ serpRefused: number;
24
30
  /** per-tool refusal counts, so "which verb is the hole" is answerable */
25
31
  byTool: Record<string, {
26
32
  seen: number;
@@ -40,6 +46,18 @@ export declare function applyV2BrowserGate(ctx: unknown, opts: {
40
46
  allowlist: readonly string[];
41
47
  scope?: TeamScope;
42
48
  env?: Record<string, string | undefined>;
49
+ /** Trajectory sink for the SERP rate limit (#14). The gate has no store of
50
+ * its own, so the caller wires this to `appendTrajectory`; a throwing sink
51
+ * is swallowed because a log line is never a reason to fail a call. */
52
+ onSerp?: (info: {
53
+ event: "serp_nav" | "serp_refused";
54
+ engine: string;
55
+ query: string;
56
+ host: string;
57
+ count: number;
58
+ limit: number;
59
+ sessionID: string;
60
+ }) => void;
43
61
  }): BrowserGate;
44
62
  export declare function browserGateSummary(r: BrowserGateReport): string;
45
63
  //# sourceMappingURL=v2-browser-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v2-browser-gate.d.ts","sourceRoot":"","sources":["../../src/host/v2-browser-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAyC9C;gEACgE;AAChE,eAAO,MAAM,mBAAmB,QAO8B,CAAA;AAE9D,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAA;IACZ;0FACsF;IACtF,eAAe,EAAE,MAAM,CAAA;IACvB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1E;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,cAAc,EAAE,CAAA;IAC/B,MAAM,EAAE,iBAAiB,CAAA;IACzB;yFACqF;IACrF,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACpC;AAyED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IACJ,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CACzC,GACA,WAAW,CA0Lb;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAI/D"}
1
+ {"version":3,"file":"v2-browser-gate.d.ts","sourceRoot":"","sources":["../../src/host/v2-browser-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AA0C9C;gEACgE;AAChE,eAAO,MAAM,mBAAmB,QAO8B,CAAA;AAE9D,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAA;IAClB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAA;IACZ;0FACsF;IACtF,eAAe,EAAE,MAAM,CAAA;IACvB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAA;IACtB;;yDAEqD;IACrD,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1E;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,cAAc,EAAE,CAAA;IAC/B,MAAM,EAAE,iBAAiB,CAAA;IACzB;yFACqF;IACrF,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CACpC;AAyED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IACJ,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACxC;;4EAEwE;IACxE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACd,KAAK,EAAE,UAAU,GAAG,cAAc,CAAA;QAClC,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,KAAK,IAAI,CAAA;CACX,GACA,WAAW,CAgOb;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAK/D"}
@@ -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":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH;+EAC+E;AAC/E,MAAM,cAAc,GAAG,MAAM,CAAA;AAE7B;gEACgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAC9B,qEAAqE;IACrE,wDAAwD;IACxD,0DAA0D;IAC1D,4EAA4E;IAC5E,mEAAmE;IACnE,6DAA6D;IAC7D,4DAA4D,CAAA;AAyC9D,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,OAAO,GAAI,MAAgC,EAAE,OAAO,CAAA;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAK,CAAgB,CAAC,IAAI,KAAK,MAAM,IAAI,OAAQ,CAAgB,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;IACrJ,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAe,CAAA;IACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAA;AACjE,CAAC;AAED;;0EAE0E;AAC1E,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;AACnE,CAAC;AAED;;iEAEiE;AACjE,SAAS,YAAY,CAAC,MAAe;IACnC,MAAM,KAAK,GAAI,MAAoE,EAAE,QAAQ,EAAE,SAAS,CAAA;IACxG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAE,CAAwB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9F,CAAC;AAED;;;;+EAI+E;AAC/E,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AACnD,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED;;2DAE2D;AAC3D,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,GAAG,GAAG,KAAkF,CAAA;IAC9F,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAChD,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAU,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;IAChF,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAA;IACpG,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;gFAEgF;AAChF,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;QACnE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACtB,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,MAAM,CAAC,GAAG,WAAW,CAAC,SAAS,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAAY,EACZ,IAgBC;IAED,MAAM,MAAM,GAAsB,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACzL,MAAM,aAAa,GAAqB,EAAE,CAAA;IAC1C,4EAA4E;IAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAA;IAClE,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACzF,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;IAEvC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,SAAkB,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAA;IAEzF,MAAM,MAAM,GAAG,CAAC,MAA+C,EAAiB,EAAE;QAChF,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,4EAA4E;YAC5E,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChC,CAAC,CAAC,eAAe,MAAM,CAAC,KAAK,qDAAqD;gBAClF,CAAC,CAAC,IAAI,CAAA;QACV,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACzD,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;IAC5C,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,GAAY,EAAQ,EAAE;QACxC,MAAM,KAAK,GAAG,GAAuG,CAAA;QACrH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;QACrD,2EAA2E;QAC3E,oFAAoF;QACpF,oFAAoF;QACpF,qFAAqF;QACrF,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAA;QACpC,IAAI,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAAE,OAAM;QACpD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAiD,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACpH,MAAM,CAAC,cAAc,EAAE,CAAA;YACvB,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,CAAA;QACb,IAAI,GAAG;YAAE,OAAM;QACf,oFAAoF;QACpF,qFAAqF;QACrF,mFAAmF;QACnF,oFAAoF;QACpF,6DAA6D;QAC7D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAI,KAAK,EAAE,KAA2C,EAAE,OAAO,CAAA;YAC5E,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,UAAU,EAAE,CAAA;oBACnB,MAAM,CAAC,OAAO,EAAE,CAAA;oBAChB,MAAM,CAAC,eAAe,EAAE,CAAA;oBACxB,MAAM,OAAO,GACX,2BAA2B,IAAI,sCAAsC;wBACrE,6CAA6C,CAAA;oBAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;oBACvE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,MAAM,CAAC,UAAU,EAAE,CAAA;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,yEAAyE;YACzE,wEAAwE;YACxE,6DAA6D;YAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC/C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,OAAO,EAAE,CAAA;oBAChB,MAAM,IAAI,GAAG;wBACX,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;wBAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;wBAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;wBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;qBAC1C,CAAA;oBACD,IAAI,CAAC;wBACH,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;oBAC/C,CAAC;oBAAC,MAAM,CAAC;wBACP,6DAA6D;oBAC/D,CAAC;oBACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,CAAC,WAAW,EAAE,CAAA;wBACpB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;wBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;wBACpF,IAAI,CAAC;4BACH,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;wBACnD,CAAC;wBAAC,MAAM,CAAC;4BACP,UAAU;wBACZ,CAAC;wBACD,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,CAAA;QAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACvE,2EAA2E;QAC3E,8EAA8E;QAC9E,iFAAiF;QACjF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,GAAY,EAAQ,EAAE;QACvC,MAAM,KAAK,GAAG,GAAwG,CAAA;QACtH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;QACrD,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAA;QACpC,IAAI,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAAE,OAAM;QACpD,IAAI,GAAG;YAAE,OAAM;QACf,6EAA6E;QAC7E,wEAAwE;QACxE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,EAAE,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,kFAAkF;gBAClF,iFAAiF;gBACjF,8EAA8E;gBAC9E,MAAM,CAAC,MAAM,EAAE,CAAA;gBACf,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;gBACrD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;gBAC1C,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAA;gBAClB,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;wBACzB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO;;kBAEf,IAAI,iFAAiF;qBAC5F,CAAA;oBACD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC1D,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAsB,CAAA;wBAC7C,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;4BAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;oBAChI,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,oFAAoF;QACpF,2DAA2D;QAC3D,+EAA+E;QAC/E,sFAAsF;QACtF,qFAAqF;QACrF,sFAAsF;QACtF,kFAAkF;QAClF,qFAAqF;QACrF,yEAAyE;QACzE,IAAI,QAAQ;YAAE,OAAM;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,CAAA;QAC1C,MAAM,SAAS,GAAG,SAAS;YACzB,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;YAC7B,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QACpD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,CAAC,SAAS,EAAE,CAAA;QAClB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,OAAO,mBAAmB,EAAE,EAAE,CAAA;IAC9F,CAAC,CAAA;IAED,MAAM,UAAU,GAAI,GAAwD,EAAE,IAAI,CAAA;IAClF,IAAI,OAAO,UAAU,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,IAA2E,CAAA;QACnG,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;YACvB,CAAC,gBAAgB,EAAE,UAAU,CAAC;YAC9B,CAAC,eAAe,EAAE,SAAS,CAAC;SACpB,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;gBAC1B,+EAA+E;gBAC/E,uEAAuE;gBACvE,aAAa,CAAC,IAAI,CAAC;oBACjB,OAAO,EAAE,KAAK,IAAI,EAAE;wBAClB,IAAI,CAAC;4BACH,MAAO,GAA+B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;wBACtE,CAAC;wBAAC,MAAM,CAAC;4BACP,yEAAyE;wBAC3E,CAAC;oBACH,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,gFAAgF;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,0EAA0E;IAC1E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;gBAChC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACjB,MAAM,CAAC,IAAI,EAAE,CAAA;YACf,CAAC;QACH,CAAC;IACH,CAAC,EAAE,cAAc,CAAC,CAAA;IAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO;QAAG,OAAkC,CAAC,KAAK,EAAE,EAAE,CAAA;IAC/G,qFAAqF;IACrF,6EAA6E;IAC7E,6EAA6E;IAC7E,aAAa,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,aAAa,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;QACL,aAAa;QACb,MAAM;QACN,UAAU;QACV,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAoB;IACrD,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,8BAA8B,CAAA;IAClD,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,sBAAsB,CAAA;IAC5I,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,WAAW,sBAAsB,CAAA;IACvG,OAAO,6BAA6B,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC,eAAe,eAAe,CAAC,CAAC,UAAU,WAAW,CAAC,CAAC,OAAO,MAAM,KAAK,aAAa,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,cAAc,iBAAiB,CAAC,CAAC,SAAS,OAAO,IAAI,EAAE,CAAA;AAC/O,CAAC"}
@@ -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,32 @@ 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
+ };
98
+ /** #33 — what `tm_join { cancel: true }` actually got from `ctx.session.interrupt`.
99
+ * Absent means the bridge never wrapped the seam, which is itself the row's story:
100
+ * for a whole release v2 had no stop path at all, and nothing printed that fact. */
101
+ stop?: {
102
+ tried: number;
103
+ confirmed: number;
104
+ refused: number;
105
+ unknown: number;
106
+ error?: string;
107
+ };
65
108
  }
66
109
  export declare function v2CapabilityRows(i: Inputs): CapabilityRow[];
67
110
  export {};
@@ -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;CACxH;AAID,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE,CAiJ3D"}
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.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(宿主官方确认框)",
@@ -123,6 +126,79 @@ export function v2CapabilityRows(i) {
123
126
  : ""),
124
127
  },
125
128
  ];
129
+ // #33 — can the lead STOP a background child at all? Before this the answer was "no",
130
+ // and no row said so: tm_join's cancel:true fell through to 宿主无 abort 接口 in a tool
131
+ // reply only the model sees, so a user asking "kill it" got silence from the panel and
132
+ // the plugin's own capability table claimed nothing about it.
133
+ rows.push({
134
+ seam: "ctx.session.interrupt",
135
+ feature: "tm_join { cancel: true } 停掉跑飞的后台子代理",
136
+ // `ok` requires the host to have confirmed a stop with interrupted=true. attempted-but-
137
+ // never-confirmed is `declared`: the seam is wired, nobody has exercised it. An absent
138
+ // interrupt domain is `missing`, which is the honest row for "this host gave no stop
139
+ // path" and the only way a future upgrade that drops it becomes a line rather than a
140
+ // rumour.
141
+ state: !i.stop
142
+ ? "declared"
143
+ : i.stop.confirmed > 0
144
+ ? "ok"
145
+ : i.stop.tried > 0
146
+ ? "declared"
147
+ : domains.includes("session")
148
+ ? "declared"
149
+ : "missing",
150
+ evidence: i.stop && i.stop.confirmed > 0 ? "runtime" : "static",
151
+ note: i.stop && i.stop.tried
152
+ ? `已试 ${i.stop.tried} 次:宿主确认中断 ${i.stop.confirmed} · idle no-op ${i.stop.refused} · 未回布尔 ${i.stop.unknown}` +
153
+ (i.stop.error ? `(最后一次宿主错误:${i.stop.error})` : "")
154
+ : "缝已接上(POST /api/session/{id}/interrupt 的契约是 interrupted=true / false=idle no-op),本进程还没被 cancel:true 用过",
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
+ });
126
202
  if (typeof i.temperature === "number") {
127
203
  rows.push({
128
204
  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,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"}