@te-river/opencode-team-mode 1.7.6 → 1.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -605,7 +605,7 @@ the auto-create state.
605
605
 
606
606
  When the global file is **absent**, the plugin creates it at boot — atomically,
607
607
  idempotently, and **never overwriting an existing file**. What it writes is an
608
- **inert** template: all **57** registry keys, each as a *comment* under a
608
+ **inert** template: all **58** registry keys, each as a *comment* under a
609
609
  one-line description, so the file parses to `{}` and sets nothing until you
610
610
  uncomment what you want.
611
611
 
@@ -614,7 +614,7 @@ uncomment what you want.
614
614
  {
615
615
  // "offloadThreshold": 2000, // 卸载阈值(估算 token;等于阈值也卸载)。
616
616
  // "envProtect": "strict", // R6 环境防护模式(strict/standard/off)。(红线:仅全局)
617
- // …共 57 个键,每个都带一行说明
617
+ // …共 58 个键,每个都带一行说明
618
618
  }
619
619
  ```
620
620
 
@@ -676,7 +676,7 @@ Your own agents named `team` / `architect` / … always take precedence; the
676
676
  plugin never clobbers user definitions. See [Customization](#-customization)
677
677
  for overrides, extra agents and disabling roles.
678
678
 
679
- ### Key reference (all 57)
679
+ ### Key reference (all 58)
680
680
 
681
681
  **Offload, previews and the store**
682
682
 
@@ -693,6 +693,7 @@ for overrides, extra agents and disabling roles.
693
693
  | `blackboardTtlDays` | number | `7` | Handle TTL and the physical sweep period for expired run dirs. |
694
694
  | `storeReclaim` | `on`/`off` | `on` | At boot, reclaim what an upgrade left behind: a per-workspace shard idle past the TTL, and the pre-shard `blackboard/` + `trajectory/` at the temp-dir fallback. **Only TTL-expired entries are ever removed** — a fresh run dir survives, because a session started before the upgrade may still be writing there. `off` leaves the disk exactly as found. |
695
695
  | `taskOffload` | `on`/`off` | `on` | Keep the host's background sub-agent inside the context budget: when it finishes, the injected full reply is replaced by a preview + a `tm_join` pointer. Touches only synthetic parts carrying the host's own `<task id=… state="completed">` / `<subagent … state="completed">` envelope and over the text threshold — a typed message is never touched even if it contains a perfect envelope, and a `state="error"` child is never rewritten. **Nothing is copied to disk**: the text stays where the child session already wrote it. `off` restores the host's verbatim injection. |
696
+ | `subagentConcurrency` | number | `8` | Ceiling on **running + in-flight** sub-agent dispatches per caller. In-flight = a dispatch the gate admitted but the host has not registered yet, so a **burst in one message is capped too** — the old registered-only count could not do that (24 parallel dispatches all passed it, then later ones were refused). `0` disables. A slot is released when the child registers, when the call ends without one, or after a 60 s TTL, so a lost call cannot leak it. |
696
697
  | `boardMaxChars` | number | `200000` | `tm_board_write` per-file character cap — over it the write **refuses** (with a "split the topic" hint) rather than truncating a deliverable. |
697
698
  | `boardMaxFiles` | number | `200` | Markdown files allowed per session folder. The TTL sweeper is the only reclaim path, so the refusal names it. |
698
699
  | `joinMaxWaitMs` | number | `60000` | Ceiling on `tm_join { waitMs }`. Was 300 000, and a lead parked in it twice in a row (19 min of nothing) while its children worked — waiting is not parallelism, so the default now says "check, then work". A second consecutive wait after nothing settled is cut to 10 s and answered with what to do instead. |
@@ -959,7 +960,7 @@ opencode-team-mode/
959
960
  │ ├── envprotect.ts ← R6 facade (patterns / classifiers / gate predicates / hook)
960
961
  │ ├── identity.ts ← Agent-name identity (case-insensitive lead match)
961
962
  │ ├── tm/ ← Governed tools: pipelines / store / preview / guard / refs /
962
- │ │ config-layers (the 57-key registry) / config-files (the two
963
+ │ │ config-layers (the 58-key registry) / config-files (the two
963
964
  │ │ layers) / config-template (the inert auto-created file) /
964
965
  │ │ webfetch / search / memory / board / ledger / dispatch
965
966
  │ ├── host/ ← v2 personality (setup / guard / offload / session / events / …)
package/README.zh-CN.md CHANGED
@@ -527,7 +527,7 @@ Team Lead 自己从不删黑板,你可以随时审计任何一次运行。
527
527
  ### 它会自己写一份
528
528
 
529
529
  全局文件**不存在**时,插件在启动时创建它——原子、幂等,且**绝不覆盖已存在的
530
- 文件**。写进去的是一份**惰性**模板:全部 **57** 个注册表键,每个都以*注释*
530
+ 文件**。写进去的是一份**惰性**模板:全部 **58** 个注册表键,每个都以*注释*
531
531
  形式出现在一行说明下面,所以这个文件解析出来是 `{}`,在你取消注释之前什么
532
532
  都不设置。
533
533
 
@@ -536,7 +536,7 @@ Team Lead 自己从不删黑板,你可以随时审计任何一次运行。
536
536
  {
537
537
  // "offloadThreshold": 2000, // 卸载阈值(估算 token;等于阈值也卸载)。
538
538
  // "envProtect": "strict", // R6 环境防护模式(strict/standard/off)。(红线:仅全局)
539
- // …共 57 个键,每个都带一行说明
539
+ // …共 58 个键,每个都带一行说明
540
540
  }
541
541
  ```
542
542
 
@@ -594,7 +594,7 @@ Team Lead 自己从不删黑板,你可以随时审计任何一次运行。
594
594
  你自己叫 `team` / `architect` / … 的 agent 永远优先——插件从不覆盖用户定义。
595
595
  覆盖、加自己的 agent、停用角色见[自定义](#-自定义)。
596
596
 
597
- ### 键参考(共 57 个)
597
+ ### 键参考(共 58 个)
598
598
 
599
599
  **卸载、预览与存储**
600
600
 
@@ -611,6 +611,7 @@ Team Lead 自己从不删黑板,你可以随时审计任何一次运行。
611
611
  | `blackboardTtlDays` | number | `7` | 句柄 TTL,也是过期运行目录的物理清扫周期。 |
612
612
  | `storeReclaim` | `on`/`off` | `on` | 启动时回收升级遗留的东西:空闲超过 TTL 的工作区分片,以及临时目录回退下的前代 `blackboard/` + `trajectory/`。**只删 TTL 已过的条目**——新鲜运行目录会活下来,因为升级前开的会话可能还在往里写。`off` 让磁盘保持原样。 |
613
613
  | `taskOffload` | `on`/`off` | `on` | 把宿主的后台子代理压进上下文预算:它完成时注入进来的整篇回复被换成"预览 + `tm_join` 指针"。只动那些带宿主的 `<task id=… state="completed">` / `<subagent … state="completed">` 信封且超过文本阈值的合成 part——即使一条真人消息完美地含有那个信封也绝不被碰,`state="error"` 的子代理也绝不改写。**不往磁盘另存副本**:正文本来就在子会话里。`off` 恢复宿主的原样注入。 |
614
+ | `subagentConcurrency` | number | `8` | 子代理并发上限:**在跑 + 在飞**的派发合计。在飞 = 闸门已放行、宿主尚未登记的派发,所以**一条消息里的并发突发也会被拦住**——旧的"只数已登记"做不到(曾有一次 24 个并派全部通过,之后单独再派才被拒)。`0` = 不限。位子在子代理登记、调用结束未产出、或 60 秒 TTL 到期时释放,丢失的调用不会永久占位。 |
614
615
  | `boardMaxChars` | number | `200000` | `tm_board_write` 单个文件的字符上限——超过就**拒绝**(并提示"拆成两个主题"),而不是把交付截断。 |
615
616
  | `boardMaxFiles` | number | `200` | 每个会话目录允许的 Markdown 文件数。TTL 清扫器是唯一的回收路径,所以拒绝时会点名它。 |
616
617
  | `joinMaxWaitMs` | number | `60000` | `tm_join { waitMs }` 的上限。曾经是 300 000,而有次会话的领队连着两次停在里面(19 分钟什么都不干),子代理却在干活——等待不是并行,所以默认值现在说的是"看一眼,然后干活"。第二次连续等待若仍未结算任何东西,会被砍到 10 秒,并答复接下来该做什么。 |
@@ -859,7 +860,7 @@ opencode-team-mode/
859
860
  │ ├── envprotect.ts ← R6 门面(patterns / 分类器 / 门禁谓词 / hook)
860
861
  │ ├── identity.ts ← Agent 名身份(大小写不敏感的 lead 判定)
861
862
  │ ├── tm/ ← 受治理工具:pipelines / store / preview / guard / refs /
862
- │ │ config-layers(57 键注册表)/ config-files(那两层)/
863
+ │ │ config-layers(58 键注册表)/ config-files(那两层)/
863
864
  │ │ config-template(自动创建的那份惰性文件)/
864
865
  │ │ webfetch / search / memory / board / ledger / dispatch
865
866
  │ ├── host/ ← v2 人格(setup / guard / offload / session / events / …)
@@ -128,13 +128,148 @@ export declare function applyV2BackgroundForce(ctx: V2Context, opts?: {
128
128
  registrations: V2Registration[];
129
129
  report: BackgroundForceReport;
130
130
  }>;
131
+ /**
132
+ * How long an in-flight admission may hold a slot without anything to show for
133
+ * it. A dispatch whose `execute.after` never fires (an interrupted turn, a host
134
+ * that dropped the call) would otherwise hold a slot forever, and a leaked slot
135
+ * is indistinguishable from a busy team: the cap would silently become stricter
136
+ * than the number the user configured. The TTL is the last release path, and a
137
+ * release that comes from it is counted on its own so a leak is a number rather
138
+ * than a mystery.
139
+ */
140
+ export declare const SUBAGENT_PENDING_TTL_MS = 60000;
141
+ /** The ceiling when nothing usable was configured (see `normalizeCapLimit`).
142
+ * 8 is the registry default; a hook that forgot to pass the key must land on the
143
+ * documented ceiling, NOT on "unlimited" — a fail-open cap is not a cap. */
144
+ export declare const DEFAULT_SUBAGENT_CONCURRENCY = 8;
145
+ /**
146
+ * The staleness window for the `running` side (3× the in-flight TTL).
147
+ *
148
+ * The in-flight side always had a TTL; the RUNNING side did not, and it is fed from
149
+ * `tm_join`'s registry, whose rows only ever settle through an observation
150
+ * (`v2-subagent`'s completion scan, or a `session.idle` the v2 feed does not get).
151
+ * A row nothing ever observes — an `adopted` row, or a `<subagent … state>` that never
152
+ * enters the parent's history — therefore stayed 运行中 FOREVER: once `limit` such rows
153
+ * accumulated, every dispatch was refused and the refusal pointed at a snapshot that
154
+ * kept saying 运行中. That is a permanent lock, i.e. the cap turning into an outage.
155
+ * So a running row past this age is not counted (and is COUNTED as excluded, so the
156
+ * under-count is a number in `tm_stats` rather than a silent loosening).
157
+ *
158
+ * Known, accepted trade: a child that legitimately runs longer than this stops counting
159
+ * against the ceiling. The alternative is a lock no operator action can clear.
160
+ */
161
+ export declare const SUBAGENT_RUNNING_STALE_MS: number;
162
+ /** The row shape the cap reads off the registry — only these three fields matter. */
163
+ export interface RunningChildLike {
164
+ state?: string;
165
+ /** Rebuilt from the host's session tree, not observed live. */
166
+ adopted?: boolean;
167
+ startedAt?: number;
168
+ }
169
+ export interface SubagentCapCounts {
170
+ /** `permission.evaluate` calls for `action:"subagent"` (Team only). */
171
+ seen: number;
172
+ /** admissions refused — this is the number that proves the cap is live. */
173
+ denied: number;
174
+ /** in-flight dispatch slots currently held, AFTER the TTL sweep. */
175
+ pending: number;
176
+ /** high-water mark of `pending` — a burst shows up here even if it settles. */
177
+ pendingMax: number;
178
+ /** slots reclaimed because nothing ever released them (a leak, counted). */
179
+ ttlReleased: number;
180
+ /** slots released by a real signal (a child registered, or a call that
181
+ * produced none). Kept apart from `ttlReleased` on purpose. */
182
+ released: number;
183
+ /** running rows that DID count toward the ceiling on the last read. */
184
+ runningCounted: number;
185
+ /** running rows excluded as stale (older than the window) on the last read. */
186
+ runningStale: number;
187
+ /** running rows excluded because the row was adopted, not observed (last read). */
188
+ runningAdopted: number;
189
+ /** the configured ceiling (0 = unlimited). */
190
+ limit: number;
191
+ }
192
+ export interface SubagentCapVerdict {
193
+ ok: boolean;
194
+ /** The admission id, so a release can name THIS call's slot instead of "the first
195
+ * slot of that caller" — a replay that released by caller freed somebody else's
196
+ * slot and quietly loosened the ceiling. 0 = no slot was taken. */
197
+ id: number;
198
+ running: number;
199
+ pending: number;
200
+ limit: number;
201
+ /** the refusal sentence, when `ok` is false */
202
+ message?: string;
203
+ }
204
+ export interface SubagentCapGate {
205
+ /** Ask for a slot. `limit <= 0` answers yes WITHOUT judging or holding one. */
206
+ admit(sessionID: string): SubagentCapVerdict;
207
+ /** Pair the next unpaired admission of `sessionID` with the call that is about to
208
+ * run, returning its id (0 when there is none). The id is what `release` takes. */
209
+ pair(sessionID: string): number;
210
+ /** Give ONE admission back, by id. An already-released id is a no-op, so a host
211
+ * that replays `execute.after` cannot release a second slot. */
212
+ release(id: number, why: "register" | "call-end"): boolean;
213
+ /** Give back the OLDEST slot of a caller — the fallback for a call that carried no
214
+ * admission id (a plugin reload replaying hooks). */
215
+ releaseOldest(sessionID: string, why: "register" | "call-end"): boolean;
216
+ counts(): SubagentCapCounts;
217
+ /** Live pending slots for one caller (tests + diagnostics). */
218
+ pendingOf(sessionID: string): number;
219
+ }
220
+ /**
221
+ * Turn whatever reached us into a ceiling.
222
+ *
223
+ * Out-of-range values FALL BACK to the default rather than clamping: `-1` used to be
224
+ * clamped to `0`, and `0` means UNLIMITED here — a typo silently switching the cap off
225
+ * is the opposite of what a typo should do.
226
+ */
227
+ export declare function normalizeCapLimit(raw: unknown): number;
228
+ /**
229
+ * The sub-agent concurrency cap (restored as `subagentConcurrency`).
230
+ *
231
+ * Why it counts PENDING dispatches and not just running children: the cap used
232
+ * to be decided at `permission.evaluate`, while a child was only registered
233
+ * AFTER its call completed — so 24 dispatches in one message all evaluated
234
+ * against "0 running" and all passed, and only the NEXT dispatch was refused.
235
+ * A limit that cannot stop the burst it exists for is not a limit. Counting the
236
+ * admission itself closes that window: each passing evaluation holds a slot
237
+ * until (a) the child is registered, (b) the call ended without a child, or
238
+ * (c) the TTL reclaims it.
239
+ *
240
+ * `0` means unlimited and takes NO decision at all — refusing everything at
241
+ * limit 0 would be the opposite of what the user asked for.
242
+ */
243
+ export declare function createSubagentCapGate(opts: {
244
+ limit: number;
245
+ /** Running children — read from tm_join's registry, never guessed. Rows are
246
+ * filtered here so the adopted/stale policy lives with the thing it protects. */
247
+ running?: () => ReadonlyArray<RunningChildLike>;
248
+ now?: () => number;
249
+ ttlMs?: number;
250
+ /** Running rows older than this are not counted (0 disables the age test;
251
+ * adopted rows are always excluded). */
252
+ staleMs?: number;
253
+ }): SubagentCapGate;
131
254
  export declare function applyV2PermissionGuards(ctx: V2Context, opts: {
132
255
  envProtectMode: EnvProtectMode;
133
256
  scope?: TeamScope;
257
+ /** `subagentConcurrency` — the sub-agent concurrency ceiling. Omitted / invalid
258
+ * falls back to `DEFAULT_SUBAGENT_CONCURRENCY` (8); 0 = unlimited. */
259
+ subagentConcurrency?: number;
260
+ /** Running children of this process (tm_join's registry), as ROWS so the gate can
261
+ * leave out the ones nothing will ever settle. */
262
+ subagentRunning?: () => ReadonlyArray<RunningChildLike>;
263
+ /** Staleness window for the running side (default `SUBAGENT_RUNNING_STALE_MS`). */
264
+ subagentStaleMs?: number;
265
+ /** Test / wiring injection: share one gate between the guard and the
266
+ * release sites instead of minting a private one. */
267
+ subagentCap?: SubagentCapGate;
134
268
  }): Promise<{
135
269
  registrations: V2Registration[];
136
270
  report: GuardReport;
137
271
  installed: boolean;
272
+ cap: SubagentCapGate;
138
273
  }>;
139
274
  /**
140
275
  * R6's file-path face, on the seam that sees the WHOLE input (#58).
@@ -1 +1 @@
1
- {"version":3,"file":"v2-guard.d.ts","sourceRoot":"","sources":["../../src/host/v2-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v2-guard.d.ts","sourceRoot":"","sources":["../../src/host/v2-guard.ts"],"names":[],"mappings":"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"}
@@ -184,11 +184,209 @@ export async function applyV2BackgroundForce(ctx, opts = {}) {
184
184
  ];
185
185
  return { registrations, report };
186
186
  }
187
+ /**
188
+ * How long an in-flight admission may hold a slot without anything to show for
189
+ * it. A dispatch whose `execute.after` never fires (an interrupted turn, a host
190
+ * that dropped the call) would otherwise hold a slot forever, and a leaked slot
191
+ * is indistinguishable from a busy team: the cap would silently become stricter
192
+ * than the number the user configured. The TTL is the last release path, and a
193
+ * release that comes from it is counted on its own so a leak is a number rather
194
+ * than a mystery.
195
+ */
196
+ export const SUBAGENT_PENDING_TTL_MS = 60_000;
197
+ /** The ceiling when nothing usable was configured (see `normalizeCapLimit`).
198
+ * 8 is the registry default; a hook that forgot to pass the key must land on the
199
+ * documented ceiling, NOT on "unlimited" — a fail-open cap is not a cap. */
200
+ export const DEFAULT_SUBAGENT_CONCURRENCY = 8;
201
+ /**
202
+ * The staleness window for the `running` side (3× the in-flight TTL).
203
+ *
204
+ * The in-flight side always had a TTL; the RUNNING side did not, and it is fed from
205
+ * `tm_join`'s registry, whose rows only ever settle through an observation
206
+ * (`v2-subagent`'s completion scan, or a `session.idle` the v2 feed does not get).
207
+ * A row nothing ever observes — an `adopted` row, or a `<subagent … state>` that never
208
+ * enters the parent's history — therefore stayed 运行中 FOREVER: once `limit` such rows
209
+ * accumulated, every dispatch was refused and the refusal pointed at a snapshot that
210
+ * kept saying 运行中. That is a permanent lock, i.e. the cap turning into an outage.
211
+ * So a running row past this age is not counted (and is COUNTED as excluded, so the
212
+ * under-count is a number in `tm_stats` rather than a silent loosening).
213
+ *
214
+ * Known, accepted trade: a child that legitimately runs longer than this stops counting
215
+ * against the ceiling. The alternative is a lock no operator action can clear.
216
+ */
217
+ export const SUBAGENT_RUNNING_STALE_MS = 3 * SUBAGENT_PENDING_TTL_MS;
218
+ /**
219
+ * Turn whatever reached us into a ceiling.
220
+ *
221
+ * Out-of-range values FALL BACK to the default rather than clamping: `-1` used to be
222
+ * clamped to `0`, and `0` means UNLIMITED here — a typo silently switching the cap off
223
+ * is the opposite of what a typo should do.
224
+ */
225
+ export function normalizeCapLimit(raw) {
226
+ if (typeof raw !== "number" || !Number.isFinite(raw))
227
+ return DEFAULT_SUBAGENT_CONCURRENCY;
228
+ const v = Math.trunc(raw);
229
+ return v < 0 ? DEFAULT_SUBAGENT_CONCURRENCY : v;
230
+ }
231
+ /**
232
+ * The sub-agent concurrency cap (restored as `subagentConcurrency`).
233
+ *
234
+ * Why it counts PENDING dispatches and not just running children: the cap used
235
+ * to be decided at `permission.evaluate`, while a child was only registered
236
+ * AFTER its call completed — so 24 dispatches in one message all evaluated
237
+ * against "0 running" and all passed, and only the NEXT dispatch was refused.
238
+ * A limit that cannot stop the burst it exists for is not a limit. Counting the
239
+ * admission itself closes that window: each passing evaluation holds a slot
240
+ * until (a) the child is registered, (b) the call ended without a child, or
241
+ * (c) the TTL reclaims it.
242
+ *
243
+ * `0` means unlimited and takes NO decision at all — refusing everything at
244
+ * limit 0 would be the opposite of what the user asked for.
245
+ */
246
+ export function createSubagentCapGate(opts) {
247
+ const limit = normalizeCapLimit(opts.limit);
248
+ const now = opts.now ?? (() => Date.now());
249
+ const ttlMs = opts.ttlMs ?? SUBAGENT_PENDING_TTL_MS;
250
+ const staleOpt = opts.staleMs;
251
+ const staleMs = typeof staleOpt === "number" && Number.isFinite(staleOpt) ? Math.max(0, Math.trunc(staleOpt)) : SUBAGENT_RUNNING_STALE_MS;
252
+ const pending = [];
253
+ let nextId = 0;
254
+ const report = {
255
+ seen: 0,
256
+ denied: 0,
257
+ pending: 0,
258
+ pendingMax: 0,
259
+ ttlReleased: 0,
260
+ released: 0,
261
+ runningCounted: 0,
262
+ runningStale: 0,
263
+ runningAdopted: 0,
264
+ limit,
265
+ };
266
+ const sweep = (at) => {
267
+ // Oldest first: a slot older than the TTL is one nothing will ever release.
268
+ while (pending.length && at - pending[0].at >= ttlMs) {
269
+ pending.shift();
270
+ report.ttlReleased++;
271
+ }
272
+ report.pending = pending.length;
273
+ };
274
+ /** Count the running rows worth counting, and remember what was left out. */
275
+ const runningNow = (at) => {
276
+ let rows = [];
277
+ try {
278
+ rows = opts.running?.() ?? [];
279
+ }
280
+ catch {
281
+ // A registry read that throws must not turn the cap into "0 running"
282
+ // forever, but it also may not break the permission hook: count the
283
+ // pending side only and let the pending slots do the limiting.
284
+ rows = [];
285
+ }
286
+ let counted = 0;
287
+ let stale = 0;
288
+ let adopted = 0;
289
+ for (const r of rows) {
290
+ if (!r || (r.state ?? "running") !== "running")
291
+ continue;
292
+ if (r.adopted) {
293
+ adopted++;
294
+ continue;
295
+ }
296
+ const started = typeof r.startedAt === "number" && Number.isFinite(r.startedAt) ? r.startedAt : 0;
297
+ if (staleMs > 0 && started > 0 && at - started >= staleMs) {
298
+ stale++;
299
+ continue;
300
+ }
301
+ counted++;
302
+ }
303
+ report.runningCounted = counted;
304
+ report.runningStale = stale;
305
+ report.runningAdopted = adopted;
306
+ return counted;
307
+ };
308
+ return {
309
+ admit(sessionID) {
310
+ const at = now();
311
+ sweep(at);
312
+ report.seen++;
313
+ const running = runningNow(at);
314
+ if (limit <= 0)
315
+ return { ok: true, id: 0, running, pending: pending.length, limit };
316
+ if (running + pending.length >= limit) {
317
+ report.denied++;
318
+ return {
319
+ ok: false,
320
+ id: 0,
321
+ running,
322
+ pending: pending.length,
323
+ limit,
324
+ message: `子代理并发上限 ${limit}:当前 running ${running} + 在飞 ${pending.length} = ${running + pending.length},` +
325
+ `这次派发被拒。三条出路:① 先用 tm_join 确认是不是卡住的运行中行(有行永远观测不到结算,别干等);` +
326
+ `② tm_join {cancel:true} 停掉不需要的;③ 调大 subagentConcurrency 或设 0 = 不限(team-mode.jsonc)。`,
327
+ };
328
+ }
329
+ const id = ++nextId;
330
+ pending.push({ id, sessionID: String(sessionID ?? ""), at, paired: false });
331
+ report.pending = pending.length;
332
+ if (pending.length > report.pendingMax)
333
+ report.pendingMax = pending.length;
334
+ return { ok: true, id, running, pending: pending.length, limit };
335
+ },
336
+ pair(sessionID) {
337
+ sweep(now());
338
+ const key = String(sessionID ?? "");
339
+ const p = pending.find((x) => x.sessionID === key && !x.paired);
340
+ if (!p)
341
+ return 0;
342
+ p.paired = true;
343
+ return p.id;
344
+ },
345
+ release(id, _why) {
346
+ sweep(now());
347
+ const idx = pending.findIndex((p) => p.id === id);
348
+ if (idx < 0)
349
+ return false;
350
+ pending.splice(idx, 1);
351
+ report.released++;
352
+ report.pending = pending.length;
353
+ return true;
354
+ },
355
+ releaseOldest(sessionID, _why) {
356
+ sweep(now());
357
+ const key = String(sessionID ?? "");
358
+ const idx = pending.findIndex((p) => p.sessionID === key);
359
+ if (idx < 0)
360
+ return false;
361
+ pending.splice(idx, 1);
362
+ report.released++;
363
+ report.pending = pending.length;
364
+ return true;
365
+ },
366
+ counts() {
367
+ const at = now();
368
+ sweep(at);
369
+ runningNow(at);
370
+ return { ...report, pending: pending.length };
371
+ },
372
+ pendingOf(sessionID) {
373
+ sweep(now());
374
+ const key = String(sessionID ?? "");
375
+ return pending.filter((p) => p.sessionID === key).length;
376
+ },
377
+ };
378
+ }
187
379
  export async function applyV2PermissionGuards(ctx, opts) {
188
380
  const report = { seen: 0, byAction: {}, strictened: 0, denied: 0, shellMatched: 0, foreignSkipped: 0, envFileDenied: 0, envFileDeniedByInput: 0, envFileInputSeen: 0, envFileInputForeignSkipped: 0, envFileInputThrew: 0 };
381
+ const cap = opts.subagentCap ??
382
+ createSubagentCapGate({
383
+ limit: normalizeCapLimit(opts.subagentConcurrency),
384
+ running: opts.subagentRunning,
385
+ staleMs: opts.subagentStaleMs,
386
+ });
189
387
  const permission = ctx.permission;
190
388
  if (!permission || typeof permission.hook !== "function") {
191
- return { registrations: [], report, installed: false };
389
+ return { registrations: [], report, installed: false, cap };
192
390
  }
193
391
  const registrations = [
194
392
  await permission.hook("evaluate", (event) => {
@@ -204,6 +402,33 @@ export async function applyV2PermissionGuards(ctx, opts) {
204
402
  report.foreignSkipped++;
205
403
  return;
206
404
  }
405
+ // The sub-agent concurrency cap, BEFORE any classifier work: a burst that
406
+ // exceeds the ceiling is refused here, and the refusal is the only branch
407
+ // that ever denies a dispatch. `limit 0` takes no decision at all.
408
+ if (action === "subagent") {
409
+ // A call somebody already DENIED can never reach `execute.after`, so admitting
410
+ // it would hold a slot that only the 60s TTL ever reclaims — and a cooldown
411
+ // that denies every attempt would bleed one slot per attempt (`v2-retry` denies
412
+ // at this very layer). So a pre-denied dispatch takes no slot at all.
413
+ //
414
+ // `ask` still takes one, deliberately: an approved call really runs, and
415
+ // releasing early would let a burst of pending questions each clear the ceiling
416
+ // before any of them executes. A question the user declines leaks one slot to
417
+ // the TTL — bounded, and it errs on the side of a shorter burst, not a longer one.
418
+ if (event.effect === "deny")
419
+ return;
420
+ const caller = typeof event?.sessionID === "string" ? event.sessionID : "";
421
+ const verdict = cap.admit(caller);
422
+ if (!verdict.ok) {
423
+ // NOT `report.denied`: that counter is the egress/R6 gate's refusals, and
424
+ // folding a concurrency refusal into it made `guard_denied` in tm_stats read
425
+ // as "the red line fired". The cap keeps its own (`cap.counts().denied`).
426
+ event.effect = "deny";
427
+ if (verdict.message)
428
+ event.message = verdict.message;
429
+ return;
430
+ }
431
+ }
207
432
  const decision = action === "webfetch" || action === "websearch"
208
433
  ? webGuard(resources)
209
434
  : action === "shell"
@@ -228,7 +453,7 @@ export async function applyV2PermissionGuards(ctx, opts) {
228
453
  report.strictened++;
229
454
  }),
230
455
  ];
231
- return { registrations, report, installed: true };
456
+ return { registrations, report, installed: true, cap };
232
457
  }
233
458
  /**
234
459
  * The path-class fields each native file tool can carry in its `execute.before`
@@ -1 +1 @@
1
- {"version":3,"file":"v2-guard.js","sourceRoot":"","sources":["../../src/host/v2-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v2-guard.js","sourceRoot":"","sources":["../../src/host/v2-guard.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,13 @@ export interface PendingDispatch {
42
42
  agent: string;
43
43
  label: string;
44
44
  at: number;
45
+ /** The host's own tool-call id (`execute.before` carries `id`), when present. It is
46
+ * what makes the pairing survive a replayed `execute.after`: the same call cannot
47
+ * hand its slot back twice. */
48
+ callId?: string;
49
+ /** The cap admission this call took, so its slot can be released BY ID instead of
50
+ * "the first slot this caller holds" (0 = the cap took no slot, or not paired). */
51
+ admissionId?: number;
45
52
  }
46
53
  /** What `tm_join` needs to open a row for a child it did not dispatch itself. */
47
54
  export interface HostChildInput {
@@ -49,6 +56,8 @@ export interface HostChildInput {
49
56
  parentSessionID: string;
50
57
  agent: string;
51
58
  label: string;
59
+ /** The cap admission that admitted this dispatch (see PendingDispatch.admissionId). */
60
+ admissionId?: number;
52
61
  }
53
62
  /** How many unclaimed acks one caller may have in flight before we stop guessing which
54
63
  * `description` belongs to which child. Past this the child is registered with a
@@ -86,6 +95,10 @@ export interface SubagentRegistryReport {
86
95
  /** children registered with a generic label because the caller had >PENDING_PER_CALLER
87
96
  * in flight, so pairing would have been a guess */
88
97
  labelGuessed: number;
98
+ /** `execute.after` events carrying a call id we had already processed — a host that
99
+ * replays hooks in-process. Counted because a replay that released a slot would
100
+ * silently loosen the ceiling. */
101
+ replayed: number;
89
102
  }
90
103
  export interface V2SubagentRegistry {
91
104
  registrations: Promise<V2Registration>[];
@@ -151,6 +164,14 @@ export declare function applyV2SubagentRegistry(ctx: unknown, deps: {
151
164
  /** Open a row in tm_join's registry. Returns false when the child is already known
152
165
  * (a plugin reload replays hooks) or the id is the caller's own session. */
153
166
  register: (child: HostChildInput) => boolean;
167
+ /** A dispatch that produced NO child row still has to give its concurrency
168
+ * slot back — otherwise the cap counts phantom in-flight work and tightens
169
+ * itself until the TTL saves it. `why` says which case it was, and
170
+ * `admissionId` names the EXACT slot (see `PendingDispatch.admissionId`). */
171
+ onCallEnd?: (callerSessionID: string, why: "no-child" | "settled-at-once" | "unusable-child", admissionId?: number) => void;
172
+ /** Pair this call with one of the caller's cap admissions, returning its id.
173
+ * Called from `execute.before`, i.e. after `permission.evaluate` admitted it. */
174
+ pairAdmission?: (callerSessionID: string) => number;
154
175
  scope?: TeamScope;
155
176
  now?: () => number;
156
177
  }): V2SubagentRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"v2-subagent.d.ts","sourceRoot":"","sources":["../../src/host/v2-subagent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;CACX;AAED,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;sDAEsD;AACtD,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;uFAEuF;AACvF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAE,MAAmB,GAAG,eAAe,GAAG,IAAI,CAO/F;AAED;;;;6DAI6D;AAC7D,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgB5D;AAED;;;;;qEAKqE;AACrE,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAGxD;AAED,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;sFACkF;IAClF,aAAa,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;IAChB;wDACoD;IACpD,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAA;IACxC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,MAAM,EAAE,OAAO,CAAA;CAChB;AAED;;;;qDAIqD;AACrD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG5F;AA6BD,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IACJ;qFACiF;IACjF,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IACrD,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,GACA;IAAE,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAiC9F;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IACJ;iFAC6E;IAC7E,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAA;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB,GACA,kBAAkB,CA8EpB"}
1
+ {"version":3,"file":"v2-subagent.d.ts","sourceRoot":"","sources":["../../src/host/v2-subagent.ts"],"names":[],"mappings":"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"}