@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
package/dist/tm/config.js CHANGED
@@ -27,13 +27,13 @@ export const DEFAULT_BASH_READONLY_ALLOWED = [
27
27
  "wc", "cut", "dir", "Get-Content", "Get-ChildItem", "Select-String",
28
28
  "Measure-Object", "Select-Object", "Where-Object", "Sort-Object",
29
29
  "Group-Object", "Test-Path",
30
- // Process LISTING, read-only and write-free. tm_browser's close now verifies
31
- // that the browser's OS pid really exited, and a "已确认关闭" claim the user
32
- // cannot check is worth less than one they can — measured live, an agent told
33
- // to verify leftover msedge processes had no allowed way to ask the OS.
34
- // findstr joins it for the same reason: `tasklist | findstr /i msedge` is the
35
- // natural Windows spelling of that check, and refusing it only turned one
36
- // call into two (live evidence: refused, then re-run with Select-String).
30
+ // Process LISTING, read-only and write-free. An agent verifying that a
31
+ // process really exited (a leftover browser, a stray server) had no allowed
32
+ // way to ask the OS, and a claim the user cannot check is worth less than one
33
+ // they can. findstr joins it for the same reason: `tasklist | findstr /i
34
+ // msedge` is the natural Windows spelling of that check, and refusing it only
35
+ // turned one call into two (live evidence: refused, then re-run with
36
+ // Select-String).
37
37
  "tasklist", "ps", "findstr",
38
38
  ];
39
39
  /**
@@ -47,8 +47,8 @@ export const DEFAULT_BASH_READONLY_ALLOWED = [
47
47
  * agents bouncing off baike.baidu.com and mzh.moegirl.org.cn (the agent-install flow points
48
48
  * agents at the installation guide on exactly these hosts). A site's OWN
49
49
  * asset CDN on a brand-unrelated domain has to be seeded too — same-site
50
- * cannot infer it, and blocking it is what makes tm_browser report a blank
51
- * page (bdimg.com below is that case, measured). Subdomains of
50
+ * cannot infer it, and blocking it is what makes a page render blank
51
+ * (bdimg.com below is that case, measured). Subdomains of
52
52
  * an entry are included;
53
53
  * TM_WEBFETCH_ALLOWED_DOMAINS overrides the list (comma/semicolon
54
54
  * separated; a lone "*" opens every host — keep the engine hosts or
@@ -57,12 +57,12 @@ export const DEFAULT_BASH_READONLY_ALLOWED = [
57
57
  export const DEFAULT_WEBFETCH_DOMAINS = [
58
58
  // CN search engines + content (parent domains cover every sibling subdomain)
59
59
  "baidu.com", // www. search / baike. encyclopedia / tieba. — real sessions hit baike.baidu.com
60
- // Baidu's OWN static + anti-spam CDN. Not a subdomain of baidu.com, so the
61
- // same-site subresource policy can never infer it, and tm_browser rendered
62
- // baike.baidu.com/ as 0 addressable nodes while the identical client with
63
- // this host allowed rendered 260 (measured 2026-09-23, Edge Beta +
64
- // playwright-core 1.63). A page whose own bundle we block is a blank page
65
- // we then report as "no content" — that is the bug this seed closes.
60
+ // Baidu's OWN static + anti-spam CDN. Not a subdomain of baidu.com, so a
61
+ // same-site subresource policy can never infer it, and a page whose own
62
+ // bundle we block is a blank page we then report as "no content" — that is
63
+ // the bug this seed closes (measured 2026-09-23: baike.baidu.com/ rendered 0
64
+ // addressable nodes while the identical client with this host allowed
65
+ // rendered 260).
66
66
  "bdimg.com", // bkssl. challenge scripts / resource. / static. asset bundles
67
67
  "moegirl.org.cn", // mobile. term / mzh. main site — real sessions hit mzh
68
68
  "bilibili.com", // search. / www. video pages / space.
@@ -100,11 +100,6 @@ export const TM_CONFIG_DEFAULTS = {
100
100
  blackboardDir: "",
101
101
  trajectoryDir: "",
102
102
  blackboardTtlDays: 7,
103
- ptcMaxProgramChars: 4000,
104
- ptcMaxCalls: 20,
105
- ptcMaxErrors: 3,
106
- ptcTimeoutMs: 60000,
107
- ptcEngine: "auto",
108
103
  // ---- P0 upgrade knobs (see TmConfig doc comments for ownership) ----
109
104
  memorySessionTtlMin: 240,
110
105
  memoryMaxEntries: 200,
@@ -123,22 +118,14 @@ export const TM_CONFIG_DEFAULTS = {
123
118
  // applying these.
124
119
  offloadThresholdText: 4000,
125
120
  offloadThresholdData: 2000,
126
- browserEngine: "playwright",
127
- browserSnapshotMaxTokens: 1200,
128
- browserSubresource: "same-site",
129
- browserAskEval: "on",
130
- browserImageMaxBytes: 400_000,
131
- browserIdleCloseMs: 180_000,
132
- ptyMax: 4,
133
- ptcWebBridge: "on",
134
121
  webCacheTtlSec: 300,
135
122
  joinMaxWaitMs: 60_000,
136
123
  boardMaxChars: 200_000,
137
124
  boardMaxFiles: 200,
138
125
  taskOffload: "on",
139
126
  storeReclaim: "on",
140
- // Consumed by approval-gate.ts resolveAskTimeoutMs (Math.max floor, Wave A).
141
- // 1 min since the T2 benign already-closed split (user directive).
127
+ // ORPHANED: approval-gate.ts resolveAskTimeoutMs (its only consumer) was
128
+ // deleted with the v1 personality. Kept so an existing config still parses.
142
129
  askTimeoutFloorMin: 1,
143
130
  // The GENERAL bash cap stays off by default (a real build may legitimately
144
131
  // need minutes); the probe cap ships on because a read-only probe never
@@ -146,13 +133,6 @@ export const TM_CONFIG_DEFAULTS = {
146
133
  bashTimeoutMaxMs: 0,
147
134
  bashTimeoutProbeMs: 60_000,
148
135
  };
149
- /** Inclusive ceilings/floors for the PTC budgets (design §4.3). */
150
- export const PTC_BUDGET_BOUNDS = {
151
- maxCalls: { min: 1, max: 200 },
152
- maxErrors: { min: 1, max: 50 },
153
- timeoutMs: { min: 5000, max: 600000 },
154
- programChars: { min: 200, max: 200000 },
155
- };
156
136
  function envInt(env, key, def, min, max) {
157
137
  const raw = env[key];
158
138
  if (typeof raw !== "string" || raw.trim() === "")
@@ -182,16 +162,6 @@ function envNum(env, key, def, min, max) {
182
162
  return def;
183
163
  return n;
184
164
  }
185
- /** TM_BROWSER_SUBRESOURCE — anything unrecognized keeps the same-site
186
- * default (fail-soft toward the newer, working behavior). */
187
- function resolveSubresourcePolicy(raw) {
188
- const v = typeof raw === "string" ? raw.trim().toLowerCase() : "";
189
- if (v === "off" || v === "strict" || v === "legacy")
190
- return "off";
191
- if (v === "passive")
192
- return "passive";
193
- return "same-site";
194
- }
195
165
  /** TM_SEARCH_WEIGHTS — `bing=0.2,hn=0.3` into a partial weight table. A
196
166
  * malformed pair is dropped (not the whole var), so one typo cannot silently
197
167
  * flatten every custom weight back to the built-in table. */
@@ -247,11 +217,6 @@ export function resolveTmConfig(env = process.env) {
247
217
  bashReadonlyAllowed: allowlist ?? [...DEFAULT_BASH_READONLY_ALLOWED],
248
218
  webfetchAllowedDomains: parseAllowlistEnv(env.TM_WEBFETCH_ALLOWED_DOMAINS) ?? [...DEFAULT_WEBFETCH_DOMAINS],
249
219
  memoryGlobalDir: envStr(env, "TM_MEMORY_GLOBAL_DIR", ""),
250
- ptcMaxProgramChars: envInt(env, "TM_PTC_MAX_PROGRAM_CHARS", TM_CONFIG_DEFAULTS.ptcMaxProgramChars, PTC_BUDGET_BOUNDS.programChars.min, PTC_BUDGET_BOUNDS.programChars.max),
251
- ptcMaxCalls: envInt(env, "TM_PTC_MAX_CALLS", TM_CONFIG_DEFAULTS.ptcMaxCalls, PTC_BUDGET_BOUNDS.maxCalls.min, PTC_BUDGET_BOUNDS.maxCalls.max),
252
- ptcMaxErrors: envInt(env, "TM_PTC_MAX_ERRORS", TM_CONFIG_DEFAULTS.ptcMaxErrors, PTC_BUDGET_BOUNDS.maxErrors.min, PTC_BUDGET_BOUNDS.maxErrors.max),
253
- ptcTimeoutMs: envInt(env, "TM_PTC_TIMEOUT_MS", TM_CONFIG_DEFAULTS.ptcTimeoutMs, PTC_BUDGET_BOUNDS.timeoutMs.min, PTC_BUDGET_BOUNDS.timeoutMs.max),
254
- ptcEngine: resolveEngine(env.TM_PTC_ENGINE),
255
220
  // ---- P0 upgrade knobs (fail-soft like the rest: invalid -> default) ----
256
221
  memorySessionTtlMin: envInt(env, "TM_MEMORY_SESSION_TTL_MIN", TM_CONFIG_DEFAULTS.memorySessionTtlMin, 1, 100_000),
257
222
  memoryMaxEntries: envInt(env, "TM_MEMORY_MAX_ENTRIES", TM_CONFIG_DEFAULTS.memoryMaxEntries, 1, 100_000),
@@ -264,14 +229,6 @@ export function resolveTmConfig(env = process.env) {
264
229
  searchRelevanceFloor: envNum(env, "TM_SEARCH_RELEVANCE_FLOOR", TM_CONFIG_DEFAULTS.searchRelevanceFloor, 0, 1),
265
230
  offloadThresholdText: envInt(env, "TM_OFFLOAD_THRESHOLD_TEXT", textTierDefault, 0, 10_000_000),
266
231
  offloadThresholdData: envInt(env, "TM_OFFLOAD_THRESHOLD_DATA", dataTierDefault, 0, 10_000_000),
267
- browserEngine: resolveBrowserEngine(env.TM_BROWSER_ENGINE),
268
- browserSnapshotMaxTokens: envInt(env, "TM_BROWSER_SNAPSHOT_MAX_TOKENS", TM_CONFIG_DEFAULTS.browserSnapshotMaxTokens, 10, 100_000),
269
- browserSubresource: resolveSubresourcePolicy(env.TM_BROWSER_SUBRESOURCE),
270
- browserAskEval: resolveOnOff(env.TM_BROWSER_ASK_EVAL),
271
- browserImageMaxBytes: envInt(env, "TM_BROWSER_IMAGE_MAX_BYTES", TM_CONFIG_DEFAULTS.browserImageMaxBytes, 10_000, 5_000_000),
272
- browserIdleCloseMs: envInt(env, "TM_BROWSER_IDLE_MS", TM_CONFIG_DEFAULTS.browserIdleCloseMs, 0, 3_600_000),
273
- ptyMax: envInt(env, "TM_PTY_MAX", TM_CONFIG_DEFAULTS.ptyMax, 1, 16),
274
- ptcWebBridge: resolveOnOff(env.TM_PTC_WEB_BRIDGE),
275
232
  webCacheTtlSec: envInt(env, "TM_WEB_CACHE_TTL_SEC", TM_CONFIG_DEFAULTS.webCacheTtlSec, 0, 86_400),
276
233
  joinMaxWaitMs: envInt(env, "TM_JOIN_MAX_WAIT_MS", TM_CONFIG_DEFAULTS.joinMaxWaitMs, 0, 600_000),
277
234
  boardMaxChars: envInt(env, "TM_BOARD_MAX_CHARS", TM_CONFIG_DEFAULTS.boardMaxChars, 1_000, 2_000_000),
@@ -283,17 +240,6 @@ export function resolveTmConfig(env = process.env) {
283
240
  bashTimeoutProbeMs: envInt(env, "TM_BASH_TIMEOUT_PROBE_MS", TM_CONFIG_DEFAULTS.bashTimeoutProbeMs, 0, 600_000),
284
241
  };
285
242
  }
286
- function resolveEngine(raw) {
287
- const v = typeof raw === "string" ? raw.trim().toLowerCase() : "";
288
- return v === "worker" || v === "inline" ? v : "auto";
289
- }
290
- /** TM_BROWSER_ENGINE — anything not exactly "cdp-legacy" resolves to the
291
- * playwright default (runtime import failure degrades to legacy inside
292
- * browser.ts, T5 — the config layer only parses the preference). */
293
- function resolveBrowserEngine(raw) {
294
- const v = typeof raw === "string" ? raw.trim().toLowerCase() : "";
295
- return v === "cdp-legacy" ? v : "playwright";
296
- }
297
243
  /** TM_PTC_WEB_BRIDGE — off only on an explicit off-ish value; unset or
298
244
  * invalid keeps the bridge on (fail-soft toward the newer default). */
299
245
  function resolveOnOff(raw) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tm/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tm/config.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,18 @@
28
28
  * through the SAME governance pipeline as every other tm_* tool, so a long
29
29
  * sub-agent report arrives as a handle + an 80-token preview the lead can page
30
30
  * through with tm_fetch — not kilotokens dumped inline.
31
+ *
32
+ * Steering (2026-10-04): the same tool is also the lead's INTERJECTION channel —
33
+ * `steer` puts a line into a running child's inbox (`Session.Inbox.Delivery =
34
+ * "steer" | "queue"`, "Steering wakes session execution."), `unread` lists that
35
+ * child's undelivered items by id and shape, `unsend` withdraws one that has not
36
+ * been delivered yet. No new tool was registered for it: a new tool name would
37
+ * have to move the whitelist in agents.ts, the permission triples in
38
+ * v2-permissions.ts and the request-layer deletion logic at once, and three
39
+ * places that can drift are worse than one argument set on a tool the lead
40
+ * already calls. What the host does NOT give is tool-level cancellation — the
41
+ * only thing stoppable is the whole active execution (`interrupt`) — so nothing
42
+ * here pretends that granularity exists.
31
43
  */
32
44
  import type { HostEvent, ToolDefinition } from "../types.js";
33
45
  import type { TmPipelines } from "./pipelines.js";
@@ -64,6 +76,10 @@ export interface ChildRecord {
64
76
  * 运行中 forever would be the same overstated claim in the opposite direction. A
65
77
  * presumption is printed as one. */
66
78
  settleSource?: "event" | "parent-idle" | "injection";
79
+ /** #33: the verdict of a stop attempt on THIS row, in the tool's own words. Printed by
80
+ * `renderChildLine` so a lead skimming the table cannot read five different outcomes as
81
+ * one "已取消". Absent = no stop was attempted on this child. */
82
+ cancelNote?: string;
67
83
  }
68
84
  /** A child seen being dispatched by the host's own tool, turned into a registry row.
69
85
  * Null when the ids are unusable: a child whose id equals the caller's would make
@@ -78,7 +94,7 @@ export declare function hostChildRecord(child: {
78
94
  export interface DispatchDeps {
79
95
  client: unknown;
80
96
  pipelines: TmPipelines;
81
- /** The lead agent's name as injected by agents.ts (keyed "team"). */
97
+ /** The lead agent's name as injected by agents.ts (keyed "Team"). */
82
98
  leadAgent?: string;
83
99
  targets?: readonly string[];
84
100
  /** Let the approval gate register the child session so a sub-agent's own
@@ -86,15 +102,6 @@ export interface DispatchDeps {
86
102
  onChildSession?: (sessionID: string, agent: string) => void;
87
103
  /** Injectable clock for tests. */
88
104
  now?: () => number;
89
- /** tm_browser's live lease table (id + owning session + idle). tm_join uses
90
- * it to report a child that settled while still holding a visible window —
91
- * see the lease tripwire. Absent = the check is skipped, never assumed. */
92
- browserLeases?: () => {
93
- id: string;
94
- owner: string;
95
- agent: string;
96
- idleMs: number;
97
- }[];
98
105
  /** Ceiling on how long tm_join will wait on a round of children. */
99
106
  maxWaitMs?: number;
100
107
  /** What the v2 `ctx.session` bridge saw on its last attempt — reported so a failed
@@ -116,6 +123,9 @@ interface SessionApi {
116
123
  get?: (opts: unknown) => Promise<unknown>;
117
124
  status?: (opts: unknown) => Promise<unknown>;
118
125
  abort?: (opts: unknown) => Promise<unknown>;
126
+ /** #33 — v2's stop seam, wrapped by `v2-session-client.ts` around the host's own
127
+ * `ctx.session.interrupt`. Present on this personality, absent on the v1 client. */
128
+ interrupt?: (opts: unknown) => Promise<unknown>;
119
129
  /** GET /session/{id}/children -> Session[] — the host's own session tree,
120
130
  * i.e. the recovery source when this process never saw the dispatch. */
121
131
  children?: (opts: unknown) => Promise<unknown>;
@@ -123,6 +133,22 @@ interface SessionApi {
123
133
  * body; writing is the built-in `todowrite` tool's job). We use it as the
124
134
  * goal tripwire below. */
125
135
  todo?: (opts: unknown) => Promise<unknown>;
136
+ /** #steer — the v2 bridge's INTERJECTION seams, built only by
137
+ * `createV2SessionReader` (`src/host/v2-session-client.ts`). `prompt` carries the
138
+ * documented `{sessionID, text, delivery}` contract and folds `session.synthetic`
139
+ * into itself as the fallback seam; `inboxList` / `inboxCancel` wrap
140
+ * `session.inbox.list` / `session.inbox.cancel`. */
141
+ prompt?: (opts: unknown) => Promise<unknown>;
142
+ inboxList?: (opts: unknown) => Promise<unknown>;
143
+ inboxCancel?: (opts: unknown) => Promise<unknown>;
144
+ /** THE MARKER, not a capability probe: the v1 SDK client also has a method named
145
+ * `prompt`, but it takes `{path:{id}, body:{parts}}` and has no `delivery` field, so
146
+ * gating the steer path on `typeof api.prompt === "function"` would fire a v1
147
+ * endpoint with a v2 contract and report whatever came back as a steering verdict.
148
+ * Only the object that SPEAKS the v2 flat contract carries this flag, and a client
149
+ * without it answers `no-seam` without calling anything (pinned by a test:
150
+ * promptReached === 0 on an abort-capable v1 client). */
151
+ v2SteerSeam?: boolean;
126
152
  }
127
153
  /** Open items on the host's own todo list, in the shape tm_join reports. */
128
154
  export interface HostTodo {
@@ -130,17 +156,6 @@ export interface HostTodo {
130
156
  status: string;
131
157
  }
132
158
  export declare function openHostTodos(todos: unknown): HostTodo[];
133
- /** #80: the line tm_join adds when a SETTLED child still owns a browser window.
134
- * Takes only the leases already filtered to settled children, so the ownership
135
- * rule stays where the child registry is; this function's whole job is to say
136
- * it in the one shape that survives the lead's skimming — and to refuse to say
137
- * it for a window that was never ours. */
138
- export declare function leaseTripwire(held: readonly {
139
- id: string;
140
- owner: string;
141
- agent: string;
142
- idleMs: number;
143
- }[], callerSessionID?: string): string | null;
144
159
  /** Resolve the host session API defensively — `messages` is what tm_join
145
160
  * cannot work without (the collected reply); a host without it means the
146
161
  * caller must degrade, and `create`/`promptAsync` are deliberately NOT part
@@ -197,9 +212,17 @@ export declare function parseDispatchTitle(title: unknown, targets: readonly str
197
212
  * bare Part[] — the LAST assistant message is the answer, everything earlier
198
213
  * is that agent's own working transcript.
199
214
  *
215
+ * This function deliberately does NOT learn about the host's message shapes:
216
+ * `ctx.session.context` answers with `{id, role, metadata, content:[…]}` on
217
+ * 2.0.20 and with flat `{id, time, text, type}` on 2.0.18, and BOTH are
218
+ * normalised at that seam (`normaliseContextMessages`, src/host/v2-session-client.ts)
219
+ * before they reach here. Recognising `content` here as well would mean two
220
+ * places guess at a shape nobody measured, which is exactly how A1 shipped: the
221
+ * seam answered, the body was dropped, and the sentence blamed the host.
222
+ *
200
223
  * `completedAt` is what lets a rebuilt registry tell "still running" from
201
224
  * "finished while we were not listening": AssistantMessage.time.completed is
202
- * only set once the message is done.
225
+ * only set once the message is done, and it is copied, never invented.
203
226
  */
204
227
  export declare function lastAssistantMessage(messages: unknown): {
205
228
  text: string;
@@ -227,6 +250,15 @@ export declare function summarizeStates(children: readonly ChildRecord[]): {
227
250
  idle: number;
228
251
  error: number;
229
252
  };
253
+ /**
254
+ * The children of ONE caller that are still running — the concurrency cap's
255
+ * data source (#49 feature 2). Pure, and reads the SAME registry `tm_join`
256
+ * uses rather than a second bookkeeping table: the rows already carry
257
+ * `parentSessionID`, so "how many of THIS session's children are live" is a
258
+ * filter, not a new store. An empty caller id matches nothing (never "all"),
259
+ * because a missing session id must not turn one session's cap into a global one.
260
+ */
261
+ export declare function runningChildrenOf(children: readonly ChildRecord[], callerSessionID: string): ChildRecord[];
230
262
  /** `ids` arrives in three shapes on the live host: a real array, a
231
263
  * JSON-array STRING (`"[\"ses_x\"]"` — what a model actually sent on
232
264
  * 2026-09-19), or a comma-separated list. Array.isArray alone silently
@@ -234,6 +266,106 @@ export declare function summarizeStates(children: readonly ChildRecord[]): {
234
266
  * one, which is the same class of bug as the old `Boolean("false")` headless
235
267
  * trap: the arg is trusted because it "looks" like the declared type. */
236
268
  export declare function parseIdList(raw: unknown): string[] | null;
269
+ /** #33 — the FIVE outcomes a stop attempt can produce, kept as data because the reply
270
+ * must not collapse them into one success word. The host's own contract for
271
+ * `POST /api/session/{id}/interrupt` is "interrupted=true when an active execution was
272
+ * interrupted and FALSE for the idle no-op", so `idle` is a real answer meaning
273
+ * "nothing was running" — calling it 已停止 is goal #6's overstated claim, and calling it
274
+ * 失败 is the same claim in the other direction. `unknown` is the honest third: the call
275
+ * worked and the host gave no boolean. */
276
+ export type CancelOutcome = "stopped" | "idle" | "unknown" | "no-seam" | "threw";
277
+ /** Read the stop verdict out of the v2 adapter's `{data:{outcome,message}}`. Anything
278
+ * unrecognisable is `unknown`, never `stopped` — a shape we cannot read is not evidence
279
+ * a child died. */
280
+ export declare function cancelOutcomeOf(res: unknown): {
281
+ outcome: CancelOutcome;
282
+ note?: string;
283
+ };
284
+ /** The line the lead reads, per outcome. Terse and falsifiable: each names what was
285
+ * OBSERVED, and the escape hatch for the cases where nothing was observed. */
286
+ export declare function cancelVerdictLine(outcome: CancelOutcome, note?: string): string;
287
+ /** Short name for one outcome, used in the count line. */
288
+ export declare function cancelOutcomeLabel(o: CancelOutcome): string;
289
+ /** The summary counts, spelled the way the lead has to quote them. Fixed order so a
290
+ * rerun prints the same line, and an absent outcome prints nothing rather than "0". */
291
+ export declare function cancelOutcomeParts(tally: Partial<Record<CancelOutcome, number>>): string[];
292
+ /**
293
+ * #steer — the THREE outcomes an interjection can produce, kept as data for the same
294
+ * reason #33 kept five: the host admitting input is an observation (it named the inbox
295
+ * item), and the host answering without naming one is not. `steered` is the only bucket
296
+ * allowed to print 已受理, and even it says 已受理 rather than 已送达 — the documented
297
+ * behaviour is "Steering wakes session execution", i.e. delivery happens at a step
298
+ * boundary and whether the child READ the line is a later fact, not this call's claim.
299
+ */
300
+ export type SteerOutcome = "steered" | "not-steered" | "no-seam";
301
+ /** Read the acceptance verdict out of the v2 bridge's `{data:{outcome,inboxID,seam,message}}`.
302
+ * Anything unrecognisable is `not-steered`, never `steered` — a shape we cannot read is not
303
+ * evidence a child was told anything. The id check is applied HERE as well as in the seam:
304
+ * a `steered` that carries no `^msg_` id contradicts itself, and the conservative reading
305
+ * wins. */
306
+ export declare function steerOutcomeOf(res: unknown): {
307
+ outcome: SteerOutcome;
308
+ inboxID?: string;
309
+ note?: string;
310
+ seam?: string;
311
+ };
312
+ /** What the lead reads, per outcome. Only the first may carry a success word, and none of
313
+ * them may claim the child has seen the text. */
314
+ export declare function steerVerdictLine(outcome: SteerOutcome, opts?: {
315
+ note?: string;
316
+ inboxID?: string;
317
+ seam?: string;
318
+ }): string;
319
+ export declare function steerOutcomeLabel(o: SteerOutcome): string;
320
+ /** Fixed order so a rerun prints the same line; an absent outcome prints nothing, not "0". */
321
+ export declare function steerOutcomeParts(tally: Partial<Record<SteerOutcome, number>>): string[];
322
+ /**
323
+ * `unsend` outcomes. The host's own sentence is the reason there are two
324
+ * positive-LOOKING answers and only one of them is a success:
325
+ *
326
+ * "Cancel an inbox item that has not yet been delivered. Unavailable items are a no-op…"
327
+ *
328
+ * An answer that names the item back cancelled something; an answer that names nothing may
329
+ * have cancelled nothing at all (already delivered, or never there). `no-seam` and `threw`
330
+ * are the two failure shapes, same as the stop path.
331
+ */
332
+ export type UnsendOutcome = "cancelled" | "noop" | "threw" | "no-seam";
333
+ export declare function unsendOutcomeOf(res: unknown): {
334
+ outcome: UnsendOutcome;
335
+ inboxID?: string;
336
+ note?: string;
337
+ };
338
+ export declare function unsendVerdictLine(outcome: UnsendOutcome, opts?: {
339
+ note?: string;
340
+ inboxID?: string;
341
+ }): string;
342
+ export declare function unsendOutcomeLabel(o: UnsendOutcome): string;
343
+ export declare function unsendOutcomeParts(tally: Partial<Record<UnsendOutcome, number>>): string[];
344
+ /** `unsend` arrives in three shapes and NONE of them is guessed at: a real object, a JSON
345
+ * string (models send objects as text — the exact `ids` failure this file already records),
346
+ * or the compact `"ses_…|msg_…"`. A missing field is an error, never a default, because
347
+ * withdrawing the wrong inbox item is a write to someone else's queue. */
348
+ export declare function parseUnsendArg(raw: unknown): {
349
+ ok: true;
350
+ sessionID: string;
351
+ inboxID: string;
352
+ } | {
353
+ ok: false;
354
+ error: string;
355
+ };
356
+ /**
357
+ * Undelivered inbox items, reduced to a NAME and a SHAPE — never the body. An item's text
358
+ * is the lead's own interjection or a child's brief, and the R6 口径 binds a read-back as
359
+ * much as a diagnostic, so the answer can say "there are 3, here are their ids" and the
360
+ * caller can `unsend` one without any of their content entering the parent's context.
361
+ * `skipped` is counted rather than silent: an item whose id does not match the documented
362
+ * `^msg_` pattern is a host shape we did not recognise, not an item that does not exist.
363
+ */
364
+ export declare function inboxItemLines(list: unknown, max?: number): {
365
+ lines: string[];
366
+ total: number;
367
+ skipped: number;
368
+ };
237
369
  export declare function buildDispatchTools(deps: DispatchDeps): {
238
370
  tm_join: ToolDefinition;
239
371
  /** Feed the host event bus: `session.idle` / `session.error` /
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/tm/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/tm/dispatch.ts"],"names":[],"mappings":"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"}