@chances-ai/engine 26.0.0 → 28.0.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 (84) hide show
  1. package/dist/agents/bundled.d.ts +5 -0
  2. package/dist/agents/bundled.d.ts.map +1 -0
  3. package/dist/agents/bundled.js +66 -0
  4. package/dist/agents/bundled.js.map +1 -0
  5. package/dist/agents/index.d.ts +1 -0
  6. package/dist/agents/index.d.ts.map +1 -1
  7. package/dist/agents/index.js +1 -0
  8. package/dist/agents/index.js.map +1 -1
  9. package/dist/agents/parse.d.ts +3 -0
  10. package/dist/agents/parse.d.ts.map +1 -1
  11. package/dist/agents/parse.js +17 -0
  12. package/dist/agents/parse.js.map +1 -1
  13. package/dist/agents/types.d.ts +8 -0
  14. package/dist/agents/types.d.ts.map +1 -1
  15. package/dist/ai/adapters/ai-sdk-stream.d.ts.map +1 -1
  16. package/dist/ai/adapters/ai-sdk-stream.js +6 -1
  17. package/dist/ai/adapters/ai-sdk-stream.js.map +1 -1
  18. package/dist/ai/index.d.ts +1 -0
  19. package/dist/ai/index.d.ts.map +1 -1
  20. package/dist/ai/index.js +1 -0
  21. package/dist/ai/index.js.map +1 -1
  22. package/dist/ai/overflow.d.ts +40 -0
  23. package/dist/ai/overflow.d.ts.map +1 -0
  24. package/dist/ai/overflow.js +84 -0
  25. package/dist/ai/overflow.js.map +1 -0
  26. package/dist/ai/types.d.ts +8 -1
  27. package/dist/ai/types.d.ts.map +1 -1
  28. package/dist/core/coordinator-mode.d.ts +32 -0
  29. package/dist/core/coordinator-mode.d.ts.map +1 -0
  30. package/dist/core/coordinator-mode.js +98 -0
  31. package/dist/core/coordinator-mode.js.map +1 -0
  32. package/dist/core/coordinator-tools.d.ts +22 -0
  33. package/dist/core/coordinator-tools.d.ts.map +1 -0
  34. package/dist/core/coordinator-tools.js +262 -0
  35. package/dist/core/coordinator-tools.js.map +1 -0
  36. package/dist/core/engine.d.ts +235 -10
  37. package/dist/core/engine.d.ts.map +1 -1
  38. package/dist/core/engine.js +585 -274
  39. package/dist/core/engine.js.map +1 -1
  40. package/dist/core/index.d.ts +4 -2
  41. package/dist/core/index.d.ts.map +1 -1
  42. package/dist/core/index.js +3 -1
  43. package/dist/core/index.js.map +1 -1
  44. package/dist/core/task-tool.d.ts +85 -1
  45. package/dist/core/task-tool.d.ts.map +1 -1
  46. package/dist/core/task-tool.js +456 -494
  47. package/dist/core/task-tool.js.map +1 -1
  48. package/dist/session/index.d.ts +11 -0
  49. package/dist/session/index.d.ts.map +1 -1
  50. package/dist/session/index.js +22 -1
  51. package/dist/session/index.js.map +1 -1
  52. package/dist/tools/bash-readonly.d.ts +26 -0
  53. package/dist/tools/bash-readonly.d.ts.map +1 -0
  54. package/dist/tools/bash-readonly.js +130 -0
  55. package/dist/tools/bash-readonly.js.map +1 -0
  56. package/dist/tools/builtins/bash.d.ts.map +1 -1
  57. package/dist/tools/builtins/bash.js +12 -0
  58. package/dist/tools/builtins/bash.js.map +1 -1
  59. package/dist/tools/builtins/edit.d.ts.map +1 -1
  60. package/dist/tools/builtins/edit.js +18 -12
  61. package/dist/tools/builtins/edit.js.map +1 -1
  62. package/dist/tools/builtins/todo.d.ts +33 -0
  63. package/dist/tools/builtins/todo.d.ts.map +1 -0
  64. package/dist/tools/builtins/todo.js +245 -0
  65. package/dist/tools/builtins/todo.js.map +1 -0
  66. package/dist/tools/builtins/write.d.ts.map +1 -1
  67. package/dist/tools/builtins/write.js +10 -5
  68. package/dist/tools/builtins/write.js.map +1 -1
  69. package/dist/tools/concurrency.d.ts +37 -0
  70. package/dist/tools/concurrency.d.ts.map +1 -0
  71. package/dist/tools/concurrency.js +50 -0
  72. package/dist/tools/concurrency.js.map +1 -0
  73. package/dist/tools/file-lock.d.ts +22 -0
  74. package/dist/tools/file-lock.d.ts.map +1 -0
  75. package/dist/tools/file-lock.js +85 -0
  76. package/dist/tools/file-lock.js.map +1 -0
  77. package/dist/tools/index.d.ts +4 -0
  78. package/dist/tools/index.d.ts.map +1 -1
  79. package/dist/tools/index.js +4 -0
  80. package/dist/tools/index.js.map +1 -1
  81. package/dist/tools/types.d.ts +31 -0
  82. package/dist/tools/types.d.ts.map +1 -1
  83. package/dist/tools/types.js.map +1 -1
  84. package/package.json +3 -3
@@ -0,0 +1,5 @@
1
+ import type { AgentDefinition } from "./types.js";
2
+ export declare const COORDINATOR_AGENT: AgentDefinition;
3
+ /** (7.8) The first-party bundled persona set passed to `discoverAgents`. */
4
+ export declare const BUNDLED_AGENTS: readonly AgentDefinition[];
5
+ //# sourceMappingURL=bundled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundled.d.ts","sourceRoot":"","sources":["../../src/agents/bundled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAwDlD,eAAO,MAAM,iBAAiB,EAAE,eAU/B,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,cAAc,EAAE,SAAS,eAAe,EAAwB,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * (7.8 §3.3) First-party bundled personas. The `coordinator` persona drives the
3
+ * MAIN loop (`mode: "primary"`, activated via `chances --agent coordinator`):
4
+ * it DIRECTS persistent workers (spawn_worker / send_message / stop_worker /
5
+ * create_team) and NEVER edits — the mutation block is enforced structurally by
6
+ * `filterCoordinatorTools` (it gets `tools: "*"`, then every mutation tool is
7
+ * stripped), so this prompt is the BEHAVIOURAL layer, not the security one.
8
+ *
9
+ * The prompt ports claude-code's `src/coordinator/coordinatorMode.ts` essence:
10
+ * the role, the "always synthesize — never delegate understanding" rule, and the
11
+ * continue-vs-spawn-by-context-overlap decision table. The boot wiring appends a
12
+ * dynamic "your workers' capabilities" block (`coordinatorWorkerToolsNote`).
13
+ */
14
+ const COORDINATOR_SYSTEM_PROMPT = `You are a COORDINATOR — an AI engineer who orchestrates software tasks across persistent workers instead of doing the hands-on edits yourself.
15
+
16
+ ## Your role
17
+ - Help the user reach their goal by DIRECTING workers to research, implement, and verify code changes.
18
+ - Synthesize what workers report and communicate clearly with the user.
19
+ - Answer directly when you can — do NOT delegate work you can handle by reading/searching yourself.
20
+ - You have read-only tools (read/grep/glob, etc.) and the orchestration tools. You CANNOT edit files, run shells, or mutate memory — that is the workers' job. If you find yourself wanting to edit, spawn or message a worker to do it.
21
+
22
+ Every message you write is to the USER. Worker results and notifications are internal signals, not conversation partners — never thank or acknowledge them; summarize the new information for the user as it arrives.
23
+
24
+ ## Always synthesize — your most important job
25
+ When a worker reports findings, you MUST understand them before directing follow-up work. Read the findings, identify the approach, then write a follow-up that PROVES you understood it by naming specific files, line numbers, and exactly what to change.
26
+
27
+ Never write "based on your findings…" or "based on the research…". Those phrases delegate understanding to the worker instead of doing it yourself. You never hand off understanding to another worker.
28
+
29
+ Anti-pattern: \`send_message(to, "Based on your findings, fix the auth bug")\`
30
+ Correct: \`send_message(to, "Fix the null deref in src/auth/validate.ts:42 — Session.user is undefined when the session has expired; add a guard before user.id.")\`
31
+
32
+ ## Continue vs. spawn — decide by context overlap
33
+ After synthesizing, choose whether the worker's existing context helps or hurts the next step:
34
+
35
+ | Situation | Action |
36
+ |---|---|
37
+ | The worker already explored exactly the files that now need editing | CONTINUE it (send_message) with the synthesized spec — it has the files in context and now a clear plan |
38
+ | Research was broad but the implementation is narrow | SPAWN a fresh worker (spawn_worker) with the synthesized spec — avoid dragging exploration noise along |
39
+ | Correcting a failure or extending a worker's recent work | CONTINUE — it has the error context and knows what it just tried |
40
+ | Verifying code a DIFFERENT worker just wrote | SPAWN fresh — the verifier should see the code with fresh eyes |
41
+ | The first attempt used the wrong approach entirely | SPAWN fresh — wrong-approach context anchors the retry; a clean slate avoids it |
42
+ | A completely unrelated task | SPAWN fresh — no useful context to reuse |
43
+
44
+ There is no universal default — think about how much of the worker's context overlaps the next task. High overlap → continue; low overlap → spawn fresh.
45
+
46
+ ## Mechanics
47
+ - spawn_worker: start a persistent worker on a self-contained task. It returns an agent_id.
48
+ - send_message(to, message): continue a worker (or 'team:<id>' to broadcast). Reuses its context.
49
+ - stop_worker(to): cancel a worker going the wrong way; it stays resumable.
50
+ - dismiss_worker(to): permanently close a worker you're DONE with — frees its capacity slot (it can't be resumed). Use it to make room when you hit the worker limit.
51
+ - create_team(name): group related workers for broadcast / batch-stop.
52
+ - list_workers: see what's in flight before directing more work.
53
+ - Fan out parallel research with multiple spawn_worker calls; pull results together yourself.`;
54
+ export const COORDINATOR_AGENT = {
55
+ name: "coordinator",
56
+ description: "Orchestrates persistent workers (spawn/continue/stop, teams); directs but never edits. Activate with --agent coordinator.",
57
+ systemPrompt: COORDINATOR_SYSTEM_PROMPT,
58
+ tools: "*",
59
+ disallowedTools: [],
60
+ mode: "primary",
61
+ source: "bundled",
62
+ sourcePath: "<bundled:coordinator>",
63
+ };
64
+ /** (7.8) The first-party bundled persona set passed to `discoverAgents`. */
65
+ export const BUNDLED_AGENTS = [COORDINATOR_AGENT];
66
+ //# sourceMappingURL=bundled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundled.js","sourceRoot":"","sources":["../../src/agents/bundled.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8FAuC4D,CAAC;AAE/F,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,2HAA2H;IAC7H,YAAY,EAAE,yBAAyB;IACvC,KAAK,EAAE,GAAG;IACV,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,uBAAuB;CACpC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAA+B,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export type { AgentDefinition, AgentSource, DiscoveredAgents, SkipReason, SkippedAgent, } from "./types.js";
2
2
  export { MAX_AGENT_FILE_BYTES, RESERVED_AGENT_NAMES, parseAgentFile, type ParseResult, type ParsedAgent, } from "./parse.js";
3
3
  export { MAX_AGENT_FILES_PER_SOURCE, discoverAgents, type DiscoverOptions, } from "./discover.js";
4
+ export { BUNDLED_AGENTS, COORDINATOR_AGENT } from "./bundled.js";
4
5
  import type { AgentDefinition } from "./types.js";
5
6
  /** Per-entry description cap before truncation with `…`. Catalog descriptions
6
7
  * are user-authored metadata; treating them as instructions is a documented
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AASvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;sDAEsD;AACtD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C;gEACgE;AAChE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAgBxC,MAAM,WAAW,eAAe;IAC9B;yDACqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,GAC3C,eAAe,CAyBjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AASjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;sDAEsD;AACtD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C;gEACgE;AAChE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAgBxC,MAAM,WAAW,eAAe;IAC9B;yDACqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,GAC3C,eAAe,CAyBjB"}
@@ -1,5 +1,6 @@
1
1
  export { MAX_AGENT_FILE_BYTES, RESERVED_AGENT_NAMES, parseAgentFile, } from "./parse.js";
2
2
  export { MAX_AGENT_FILES_PER_SOURCE, discoverAgents, } from "./discover.js";
3
+ export { BUNDLED_AGENTS, COORDINATOR_AGENT } from "./bundled.js";
3
4
  /**
4
5
  * Render the catalog as the appended text the task tool injects into its
5
6
  * description, with hard caps on per-entry and total budget. Exported here
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,cAAc,GAEf,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D;;sDAEsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C;gEACgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC;yEACyE;AACzE,SAAS,gBAAgB,CAAC,CAAS;IACjC,wEAAwE;IACxE,wEAAwE;IACxE,iCAAiC;IACjC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAS,EAAE,GAAW;IAClD,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACnC,CAAC;AAUD,MAAM,UAAU,+BAA+B,CAC7C,MAA4C;IAE5C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAEvD,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,GACV,2HAA2H,CAAC;IAE9H,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,yBAAyB;QACrD,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,KAAK,SAAS,MAAM,SAAS,KAAK,CAAC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC7C,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACvC,MAAM;QACR,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,cAAc,GAEf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjE;;;;;GAKG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D;;sDAEsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C;gEACgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC;yEACyE;AACzE,SAAS,gBAAgB,CAAC,CAAS;IACjC,wEAAwE;IACxE,wEAAwE;IACxE,iCAAiC;IACjC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAS,EAAE,GAAW;IAClD,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACnC,CAAC;AAUD,MAAM,UAAU,+BAA+B,CAC7C,MAA4C;IAE5C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAEvD,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,GACV,2HAA2H,CAAC;IAE9H,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,yBAAyB;QACrD,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,KAAK,SAAS,MAAM,SAAS,KAAK,CAAC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC7C,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACvC,MAAM;QACR,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7D,CAAC"}
@@ -40,6 +40,9 @@ export interface ParsedAgent {
40
40
  * field name so it shows up clearly in `/agents` output. Default
41
41
  * `false`. */
42
42
  unsafeAllowMutatingMcp?: boolean;
43
+ /** (7.8 §3.3) `mode: primary | subagent | all`. Absent ⇒ undefined (treated
44
+ * as `all` downstream). A `primary` persona can drive the main loop. */
45
+ mode?: "primary" | "subagent" | "all";
43
46
  }
44
47
  export interface ParseFailure {
45
48
  reason: SkipReason;
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/agents/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAM9C;;;2CAG2C;AAC3C,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAcnD,CAAC;AA6DH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;8BAG0B;IAC1B,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;;kBAGc;IACd,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAgNvD"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/agents/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAM9C;;;2CAG2C;AAC3C,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAcnD,CAAC;AAmEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;8BAG0B;IAC1B,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;;kBAGc;IACd,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;4EACwE;IACxE,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAgOvD"}
@@ -78,11 +78,16 @@ const KNOWN_FIELDS = new Set([
78
78
  // opts out of it.
79
79
  "isolation",
80
80
  "unsafeAllowMutatingMcp",
81
+ // (7.8 §3.3) `mode: primary | subagent | all`. Default `all`. A `primary`
82
+ // persona can drive the MAIN loop (the coordinator). See AgentDefinition.mode.
83
+ "mode",
81
84
  ]);
82
85
  /** Valid values for the `isolation` frontmatter field. Round-1 codex-#5
83
86
  * fail-closed pattern: unknown values are surfaced as `invalid-field`,
84
87
  * not silently accepted. */
85
88
  const ISOLATION_VALUES = new Set(["worktree", "none"]);
89
+ /** (7.8 §3.3) Valid values for the `mode` field. Same fail-closed pattern. */
90
+ const MODE_VALUES = new Set(["primary", "subagent", "all"]);
86
91
  const NAME_RE = /^[a-z][a-z0-9_-]{0,63}$/;
87
92
  // Keys may include uppercase so camelCase field names like `maxTurns` and
88
93
  // `disallowedTools` are accepted — but lookup is **case-sensitive against
@@ -260,6 +265,17 @@ export function parseAgentFile(raw) {
260
265
  }
261
266
  unsafeAllowMutatingMcp = raw === "true";
262
267
  }
268
+ // (7.8 §3.3) mode: optional `primary` | `subagent` | `all`. Stored only when
269
+ // set (absent ⇒ undefined ⇒ treated as `all` downstream). Same fail-closed
270
+ // validation as `isolation`.
271
+ let mode;
272
+ if (fm["mode"] !== undefined) {
273
+ const raw = fm["mode"].trim();
274
+ if (!MODE_VALUES.has(raw)) {
275
+ return fail("invalid-field", `mode must be one of: ${[...MODE_VALUES].join(", ")} (got '${raw}')`);
276
+ }
277
+ mode = raw;
278
+ }
263
279
  return {
264
280
  ok: true,
265
281
  agent: {
@@ -272,6 +288,7 @@ export function parseAgentFile(raw) {
272
288
  maxTurns,
273
289
  isolation,
274
290
  unsafeAllowMutatingMcp,
291
+ mode,
275
292
  },
276
293
  };
277
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/agents/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/agents/parse.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,14 @@ export interface AgentDefinition {
23
23
  model?: string;
24
24
  /** Already clamped to `[1, 50]` at parse time. */
25
25
  maxTurns?: number;
26
+ /** (7.8 §3.3 / 8.11) Which loop a persona may drive. `"primary"` lets it
27
+ * DRIVE the main agent loop (the coordinator persona uses this — activated via
28
+ * `chances --agent <name>`); `"subagent"` restricts it to delegated `task` /
29
+ * worker spawns; `"all"` (the default when absent) permits both. This is the
30
+ * minimal slice of task 12 (8.11) that task 08 needs; per-agent `permissions` /
31
+ * `color` / `hidden` land in task 12. Additive — absence is treated as `"all"`
32
+ * so existing personas are unaffected. */
33
+ mode?: "primary" | "subagent" | "all";
26
34
  /** (4.1) `"worktree"` opts the spawned subagent into a git-worktree
27
35
  * sandbox; `undefined` keeps it in the parent's workspace (the 3.x
28
36
  * default). Source-of-truth for the `task` tool's resolution chain
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACtB,oEAAoE;IACpE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;qDAGiD;IACjD,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;mEAE+D;IAC/D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;aAEa;AACb,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,wBAAwB,GACxB,cAAc,GACd,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,yBAAyB,GACzB,yBAAyB,GACzB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACtB,oEAAoE;IACpE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;8CAM0C;IAC1C,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;IACtC;;;qDAGiD;IACjD,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;mEAE+D;IAC/D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;aAEa;AACb,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,wBAAwB,GACxB,cAAc,GACd,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,yBAAyB,GACzB,yBAAyB,GACzB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk-stream.d.ts","sourceRoot":"","sources":["../../../src/ai/adapters/ai-sdk-stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAmDpF;;;;;;;;;;;;;;;GAeG;AACH,wBAAuB,eAAe,CACpC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,MAAM,GAAE,MAAM,OAAO,CAAC,OAAO,CAAsB,GAClD,aAAa,CAAC,aAAa,CAAC,CAwE9B"}
1
+ {"version":3,"file":"ai-sdk-stream.d.ts","sourceRoot":"","sources":["../../../src/ai/adapters/ai-sdk-stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAoDpF;;;;;;;;;;;;;;;GAeG;AACH,wBAAuB,eAAe,CACpC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,WAAW,EACnB,MAAM,GAAE,MAAM,OAAO,CAAC,OAAO,CAAsB,GAClD,aAAa,CAAC,aAAa,CAAC,CA6E9B"}
@@ -61,6 +61,10 @@ export async function* streamFromAiSdk(model, req, signal, loadAi = () => import
61
61
  yield { type: "error", message: err instanceof Error ? err.message : String(err) };
62
62
  return;
63
63
  }
64
+ // (7.7 §7) The provider's finish reason, captured from the `finish` part and
65
+ // surfaced on the terminal `done` event so the engine can detect a length-stop
66
+ // overflow (Xiaomi MiMo: `finishReason: "length"` with zero output tokens).
67
+ let finishReason;
64
68
  try {
65
69
  for await (const part of result.fullStream) {
66
70
  switch (part.type) {
@@ -79,6 +83,7 @@ export async function* streamFromAiSdk(model, req, signal, loadAi = () => import
79
83
  break;
80
84
  case "finish": {
81
85
  const u = part.usage ?? {};
86
+ finishReason = typeof part.finishReason === "string" ? part.finishReason : undefined;
82
87
  yield {
83
88
  type: "usage",
84
89
  usage: {
@@ -98,7 +103,7 @@ export async function* streamFromAiSdk(model, req, signal, loadAi = () => import
98
103
  yield { type: "error", message: err instanceof Error ? err.message : String(err) };
99
104
  return;
100
105
  }
101
- yield { type: "done" };
106
+ yield { type: "done", finishReason };
102
107
  }
103
108
  function toCoreMessage(m) {
104
109
  if (m.role === "tool") {
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk-stream.js","sourceRoot":"","sources":["../../../src/ai/adapters/ai-sdk-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-sdk-stream.js","sourceRoot":"","sources":["../../../src/ai/adapters/ai-sdk-stream.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export type { Role, ContentPart, Message, ToolDefinition, ToolCallRequest, Usage
2
2
  export { ModelRegistry } from "./registry.js";
3
3
  export { ModelRouter, type RouteHints, type Route } from "./router.js";
4
4
  export { estimateCost } from "./cost.js";
5
+ export { type OverflowSignal, isContextOverflow, getOverflowPatterns } from "./overflow.js";
5
6
  export { MockAdapter } from "./adapters/mock.js";
6
7
  export { AiSdkAdapter, AI_SDK_PACKAGES, type AiSdkAdapterOptions, type AiSdkProvider, } from "./adapters/ai-sdk.js";
7
8
  export { OpenAICompatibleAdapter, type OpenAICompatibleAdapterOptions, } from "./adapters/openai-compatible.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,IAAI,EACJ,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,KAAK,EACL,SAAS,EACT,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,IAAI,EACJ,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,KAAK,EACL,SAAS,EACT,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,KAAK,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,GACpC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/ai/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { ModelRegistry } from "./registry.js";
2
2
  export { ModelRouter } from "./router.js";
3
3
  export { estimateCost } from "./cost.js";
4
+ export { isContextOverflow, getOverflowPatterns } from "./overflow.js";
4
5
  export { MockAdapter } from "./adapters/mock.js";
5
6
  export { AiSdkAdapter, AI_SDK_PACKAGES, } from "./adapters/ai-sdk.js";
6
7
  export { OpenAICompatibleAdapter, } from "./adapters/openai-compatible.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA+B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,eAAe,GAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,GAExB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAwB,MAAM,YAAY,CAAC;AACpF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA+B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAuB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,eAAe,GAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,GAExB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAwB,MAAM,YAAY,CAAC;AACpF,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * (7.7 §7) Provider-agnostic context-overflow detection — ported from pi
3
+ * `packages/ai/src/utils/overflow.ts`. Replaces the old Anthropic-only
4
+ * `isAnthropicOverflowError`: a flat catalogue of per-provider error patterns +
5
+ * an inverse exclusion list (so rate-limit / throttling never reads as
6
+ * overflow) + three NON-error signals (silent z.ai, length-stop MiMo).
7
+ *
8
+ * Used by the engine's reactive overflow→compact→retry recovery so an
9
+ * OpenAI/Gemini/Groq/… 413 gets the same compaction recovery Anthropic already
10
+ * had, instead of looping or failing.
11
+ */
12
+ /** The minimal stream-outcome shape overflow detection needs. */
13
+ export interface OverflowSignal {
14
+ /** The stream's terminal reason. `"error"` drives the error-text catalogue;
15
+ * `"stop"` / `"length"` drive the silent / length-stop signals. */
16
+ stopReason: "error" | "stop" | "length" | (string & {});
17
+ /** The provider error text (present when `stopReason === "error"`). */
18
+ errorMessage?: string;
19
+ /** Token usage (for the non-error silent/length signals). */
20
+ usage?: {
21
+ input: number;
22
+ cacheRead?: number;
23
+ output: number;
24
+ };
25
+ /** Model context window (enables the silent/length signals). */
26
+ contextWindow?: number;
27
+ }
28
+ /**
29
+ * True when `signal` indicates a context overflow. Three cases (pi):
30
+ * 1. Error-text: `stopReason "error"` + an OVERFLOW_PATTERN match that is NOT a
31
+ * NON_OVERFLOW_PATTERN (rate-limit guard).
32
+ * 2. Silent overflow (z.ai): a SUCCESSFUL `stop` whose `input + cacheRead`
33
+ * exceeds the context window.
34
+ * 3. Length-stop overflow (Xiaomi MiMo): `length` with `output === 0` and the
35
+ * input filling ≥99% of the window (server truncated input, no room to gen).
36
+ */
37
+ export declare function isContextOverflow(signal: OverflowSignal): boolean;
38
+ /** Exported for tests — the raw pattern set. */
39
+ export declare function getOverflowPatterns(): RegExp[];
40
+ //# sourceMappingURL=overflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overflow.d.ts","sourceRoot":"","sources":["../../src/ai/overflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA0CH,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B;wEACoE;IACpE,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACxD,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAqBjE;AAED,gDAAgD;AAChD,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * (7.7 §7) Provider-agnostic context-overflow detection — ported from pi
3
+ * `packages/ai/src/utils/overflow.ts`. Replaces the old Anthropic-only
4
+ * `isAnthropicOverflowError`: a flat catalogue of per-provider error patterns +
5
+ * an inverse exclusion list (so rate-limit / throttling never reads as
6
+ * overflow) + three NON-error signals (silent z.ai, length-stop MiMo).
7
+ *
8
+ * Used by the engine's reactive overflow→compact→retry recovery so an
9
+ * OpenAI/Gemini/Groq/… 413 gets the same compaction recovery Anthropic already
10
+ * had, instead of looping or failing.
11
+ */
12
+ /** Error-text patterns that indicate a context overflow, keyed by provider in
13
+ * the inline comments (pi's catalogue, verbatim). */
14
+ const OVERFLOW_PATTERNS = [
15
+ /prompt is too long/i, // Anthropic token overflow
16
+ /request_too_large/i, // Anthropic request byte-size overflow (HTTP 413)
17
+ /input is too long for requested model/i, // Amazon Bedrock
18
+ /exceeds the context window/i, // OpenAI (Completions & Responses API)
19
+ /exceeds (?:the )?(?:model'?s )?maximum context length of [\d,]+ tokens?/i, // OpenAI-compatible proxies (LiteLLM)
20
+ /input token count.*exceeds the maximum/i, // Google (Gemini)
21
+ /maximum prompt length is \d+/i, // xAI (Grok)
22
+ /reduce the length of the messages/i, // Groq
23
+ /maximum context length is \d+ tokens/i, // OpenRouter (most backends)
24
+ /exceeds (?:the )?maximum allowed input length of [\d,]+ tokens?/i, // OpenRouter/Poolside
25
+ /input \(\d+ tokens\) is longer than the model'?s context length \(\d+ tokens\)/i, // Together AI
26
+ /exceeds the limit of \d+/i, // GitHub Copilot
27
+ /exceeds the available context size/i, // llama.cpp server
28
+ /greater than the context length/i, // LM Studio
29
+ /context window exceeds limit/i, // MiniMax
30
+ /exceeded model token limit/i, // Kimi For Coding
31
+ /too large for model with \d+ maximum context length/i, // Mistral
32
+ /model_context_window_exceeded/i, // z.ai non-standard finish_reason surfaced as error text
33
+ /prompt too long; exceeded (?:max )?context length/i, // Ollama explicit overflow error
34
+ /context[_ ]length[_ ]exceeded/i, // Generic fallback
35
+ /too many tokens/i, // Generic fallback
36
+ /token limit exceeded/i, // Generic fallback
37
+ /^4(?:00|13)\s*(?:status code)?\s*\(no body\)/i, // Cerebras: 400/413 with no body
38
+ ];
39
+ /**
40
+ * Patterns that indicate NON-overflow errors (rate limiting, server errors).
41
+ * An error matching any of these is excluded even if it also matches an
42
+ * OVERFLOW_PATTERN — e.g. Bedrock's "ThrottlingException: Too many tokens,
43
+ * please wait" would otherwise false-positive on `/too many tokens/i`.
44
+ */
45
+ const NON_OVERFLOW_PATTERNS = [
46
+ /^(Throttling error|Service unavailable):/i, // AWS Bedrock non-overflow (human-readable prefixes)
47
+ /rate limit/i, // Generic rate limiting
48
+ /too many requests/i, // Generic HTTP 429 style
49
+ ];
50
+ /**
51
+ * True when `signal` indicates a context overflow. Three cases (pi):
52
+ * 1. Error-text: `stopReason "error"` + an OVERFLOW_PATTERN match that is NOT a
53
+ * NON_OVERFLOW_PATTERN (rate-limit guard).
54
+ * 2. Silent overflow (z.ai): a SUCCESSFUL `stop` whose `input + cacheRead`
55
+ * exceeds the context window.
56
+ * 3. Length-stop overflow (Xiaomi MiMo): `length` with `output === 0` and the
57
+ * input filling ≥99% of the window (server truncated input, no room to gen).
58
+ */
59
+ export function isContextOverflow(signal) {
60
+ // Case 1 — error message patterns.
61
+ if (signal.stopReason === "error" && signal.errorMessage) {
62
+ const msg = signal.errorMessage;
63
+ const isNonOverflow = NON_OVERFLOW_PATTERNS.some((p) => p.test(msg));
64
+ if (!isNonOverflow && OVERFLOW_PATTERNS.some((p) => p.test(msg)))
65
+ return true;
66
+ }
67
+ const { usage, contextWindow } = signal;
68
+ if (!usage || !contextWindow)
69
+ return false;
70
+ const inputTokens = usage.input + (usage.cacheRead ?? 0);
71
+ // Case 2 — silent overflow (z.ai): succeeded but input exceeds the window.
72
+ if (signal.stopReason === "stop" && inputTokens > contextWindow)
73
+ return true;
74
+ // Case 3 — length-stop overflow (MiMo): truncated to fit, no room for output.
75
+ if (signal.stopReason === "length" && usage.output === 0 && inputTokens >= contextWindow * 0.99) {
76
+ return true;
77
+ }
78
+ return false;
79
+ }
80
+ /** Exported for tests — the raw pattern set. */
81
+ export function getOverflowPatterns() {
82
+ return [...OVERFLOW_PATTERNS];
83
+ }
84
+ //# sourceMappingURL=overflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overflow.js","sourceRoot":"","sources":["../../src/ai/overflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;sDACsD;AACtD,MAAM,iBAAiB,GAAa;IAClC,qBAAqB,EAAE,2BAA2B;IAClD,oBAAoB,EAAE,kDAAkD;IACxE,wCAAwC,EAAE,iBAAiB;IAC3D,6BAA6B,EAAE,uCAAuC;IACtE,0EAA0E,EAAE,sCAAsC;IAClH,yCAAyC,EAAE,kBAAkB;IAC7D,+BAA+B,EAAE,aAAa;IAC9C,oCAAoC,EAAE,OAAO;IAC7C,uCAAuC,EAAE,6BAA6B;IACtE,kEAAkE,EAAE,sBAAsB;IAC1F,iFAAiF,EAAE,cAAc;IACjG,2BAA2B,EAAE,iBAAiB;IAC9C,qCAAqC,EAAE,mBAAmB;IAC1D,kCAAkC,EAAE,YAAY;IAChD,+BAA+B,EAAE,UAAU;IAC3C,6BAA6B,EAAE,kBAAkB;IACjD,sDAAsD,EAAE,UAAU;IAClE,gCAAgC,EAAE,yDAAyD;IAC3F,oDAAoD,EAAE,iCAAiC;IACvF,gCAAgC,EAAE,mBAAmB;IACrD,kBAAkB,EAAE,mBAAmB;IACvC,uBAAuB,EAAE,mBAAmB;IAC5C,+CAA+C,EAAE,iCAAiC;CACnF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,qBAAqB,GAAa;IACtC,2CAA2C,EAAE,qDAAqD;IAClG,aAAa,EAAE,wBAAwB;IACvC,oBAAoB,EAAE,yBAAyB;CAChD,CAAC;AAeF;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,mCAAmC;IACnC,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;QAChC,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IAChF,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IACxC,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IAEzD,2EAA2E;IAC3E,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,IAAI,WAAW,GAAG,aAAa;QAAE,OAAO,IAAI,CAAC;IAE7E,8EAA8E;IAC9E,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC;AAChC,CAAC"}
@@ -68,8 +68,15 @@ export type ProviderEvent = {
68
68
  } | {
69
69
  type: "usage";
70
70
  usage: Usage;
71
- } | {
71
+ }
72
+ /** Terminal success event. `finishReason` mirrors the provider's finish
73
+ * reason when the adapter can surface it (the Vercel AI SDK `finish` part
74
+ * carries it) — `"length"` drives the (7.7 §7) length-stop overflow signal
75
+ * (Xiaomi MiMo). Absent for adapters that don't report it (treated as a
76
+ * normal `"stop"`). */
77
+ | {
72
78
  type: "done";
79
+ finishReason?: "stop" | "length" | "tool-calls" | "content-filter" | "error" | "other" | (string & {});
73
80
  } | {
74
81
  type: "error";
75
82
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,UAAU,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAEhF,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,GAAG,EAAE,SAAS,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,UAAU,IAAI,eAAe,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;CAC7E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,UAAU,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAEhF,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,GAAG,EAAE,SAAS,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE;AACjC;;;;wBAIwB;GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CAAE,GACxH;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,UAAU,IAAI,eAAe,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;CAC7E"}
@@ -0,0 +1,32 @@
1
+ import type { AgentDefinition } from "../agents/index.js";
2
+ import type { Tool } from "../tools/index.js";
3
+ /**
4
+ * (7.8 §3.3) Is this tool one the coordinator must NOT hold? The orchestration
5
+ * tools (`spawn_worker`/`send_message`/… — themselves `integration`) are EXEMPT:
6
+ * they are the coordinator's whole purpose. Everything else mutation-shaped
7
+ * (file-write / shell / memory-write / integration / a known edit name) is a
8
+ * mutation tool.
9
+ */
10
+ export declare function isMutationTool(tool: Tool): boolean;
11
+ /**
12
+ * (7.8 §3.3) Filter a candidate tool list down to the coordinator's safe
13
+ * surface: apply the persona's `tools` allowlist / `disallowedTools` (when set),
14
+ * then HARD-subtract every mutation tool ({@link isMutationTool}). Orchestration
15
+ * tools always survive. `task` is always dropped (the coordinator spawns
16
+ * persistent workers, not one-shot delegates — and never recurses). Returns a
17
+ * fresh array; the caller registers these on the coordinator engine.
18
+ *
19
+ * Fail-closed: a persona that lists `edit` / a mutating MCP tool / `bash` / a
20
+ * memory-write tool / any `integration` tool still gets NONE of them.
21
+ */
22
+ export declare function filterCoordinatorTools(tools: readonly Tool[], persona?: AgentDefinition): Tool[];
23
+ /**
24
+ * (7.8 §3.3 / codex R1-§8) The dynamic "what your workers can do" context the
25
+ * coordinator's system prompt carries — claude-code injects the worker tool set
26
+ * so the lead directs within the workers' real capabilities. Built from the tool
27
+ * names a worker actually inherits (the parent surface minus `task` and the
28
+ * orchestration tools, which `buildChildEngine` drops). Appended to the
29
+ * coordinator persona's system prompt by the boot wiring.
30
+ */
31
+ export declare function coordinatorWorkerToolsNote(parentToolNames: readonly string[]): string;
32
+ //# sourceMappingURL=coordinator-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinator-mode.d.ts","sourceRoot":"","sources":["../../src/core/coordinator-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAqC9C;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAIlD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,EAAE,CAiBhG;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAUrF"}