@tangle-network/agent-runtime 0.53.0 → 0.54.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 (71) hide show
  1. package/README.md +27 -16
  2. package/dist/agent.d.ts +1 -1
  3. package/dist/agent.js +5 -3
  4. package/dist/agent.js.map +1 -1
  5. package/dist/analyst-loop.d.ts +1 -1
  6. package/dist/analyst-loop.js +2 -2
  7. package/dist/{chunk-K5M3SHEU.js → chunk-2BDXWZUC.js} +5 -34
  8. package/dist/chunk-2BDXWZUC.js.map +1 -0
  9. package/dist/chunk-A73RADPB.js +281 -0
  10. package/dist/chunk-A73RADPB.js.map +1 -0
  11. package/dist/chunk-FRBWCJLP.js +396 -0
  12. package/dist/chunk-FRBWCJLP.js.map +1 -0
  13. package/dist/chunk-GRAGM4MC.js +72 -0
  14. package/dist/chunk-GRAGM4MC.js.map +1 -0
  15. package/dist/{chunk-K6WP7PYW.js → chunk-JTH2FPCK.js} +3231 -424
  16. package/dist/chunk-JTH2FPCK.js.map +1 -0
  17. package/dist/{chunk-P4QNEXFC.js → chunk-KJH62YEK.js} +2 -2
  18. package/dist/{chunk-HNUXAZIJ.js → chunk-P5OKDSLB.js} +2 -2
  19. package/dist/{chunk-GSUO5QS6.js → chunk-VLF5RHEQ.js} +2 -5
  20. package/dist/{chunk-GSUO5QS6.js.map → chunk-VLF5RHEQ.js.map} +1 -1
  21. package/dist/{chunk-JFIYKDXF.js → chunk-XRYEZPR6.js} +2 -1
  22. package/dist/chunk-XRYEZPR6.js.map +1 -0
  23. package/dist/{coder-LKm3Mczw.d.ts → coder-CEkUFv8h.d.ts} +1 -1
  24. package/dist/{types-CNDJCL_0.d.ts → coordination-BMzskrUR.d.ts} +268 -2
  25. package/dist/{kb-gate-CKfykcYQ.d.ts → delegates-BPLIl8EC.d.ts} +491 -566
  26. package/dist/index.d.ts +7 -7
  27. package/dist/index.js +23 -80
  28. package/dist/index.js.map +1 -1
  29. package/dist/intelligence.d.ts +2 -2
  30. package/dist/kb-gate-CuzMYGYM.d.ts +76 -0
  31. package/dist/{loop-runner-bin-D4Ir7b00.d.ts → loop-runner-bin-BGpVVyXp.d.ts} +6 -27
  32. package/dist/loop-runner-bin.d.ts +5 -5
  33. package/dist/loop-runner-bin.js +6 -5
  34. package/dist/loops.d.ts +8 -6
  35. package/dist/loops.js +32 -8
  36. package/dist/mcp/bin.js +94 -30
  37. package/dist/mcp/bin.js.map +1 -1
  38. package/dist/mcp/index.d.ts +9 -272
  39. package/dist/mcp/index.js +45 -365
  40. package/dist/mcp/index.js.map +1 -1
  41. package/dist/{openai-tools-CKfR3EMh.d.ts → openai-tools-CoeLQ7Uo.d.ts} +1 -1
  42. package/dist/profiles.d.ts +2 -2
  43. package/dist/profiles.js +4 -4
  44. package/dist/{router-client-B0Qi1NiN.d.ts → router-client-30Y_pca8.d.ts} +1 -1
  45. package/dist/{run-loop-DgVhucoR.d.ts → run-loop-DluzfJ2h.d.ts} +1 -1
  46. package/dist/runtime.d.ts +424 -23
  47. package/dist/runtime.js +32 -8
  48. package/dist/topology.d.ts +54 -1
  49. package/dist/topology.js +222 -0
  50. package/dist/topology.js.map +1 -1
  51. package/dist/{types-CklkW4Eh.d.ts → types-C8rNlxfV.d.ts} +4 -4
  52. package/dist/workflow.d.ts +2 -2
  53. package/dist/workflow.js +4 -2
  54. package/dist/workflow.js.map +1 -1
  55. package/package.json +5 -5
  56. package/skills/agent-runtime-adoption/SKILL.md +54 -46
  57. package/skills/build-with-agent-runtime/SKILL.md +12 -8
  58. package/skills/loop-writer/SKILL.md +9 -1
  59. package/skills/supervise/SKILL.md +24 -0
  60. package/dist/chunk-5M2WDWBI.js +0 -908
  61. package/dist/chunk-5M2WDWBI.js.map +0 -1
  62. package/dist/chunk-AYRQZRDV.js +0 -623
  63. package/dist/chunk-AYRQZRDV.js.map +0 -1
  64. package/dist/chunk-FO4DCM7R.js +0 -1356
  65. package/dist/chunk-FO4DCM7R.js.map +0 -1
  66. package/dist/chunk-JFIYKDXF.js.map +0 -1
  67. package/dist/chunk-K5M3SHEU.js.map +0 -1
  68. package/dist/chunk-K6WP7PYW.js.map +0 -1
  69. package/dist/driver-B2RKkVJW.d.ts +0 -221
  70. /package/dist/{chunk-P4QNEXFC.js.map → chunk-KJH62YEK.js.map} +0 -0
  71. /package/dist/{chunk-HNUXAZIJ.js.map → chunk-P5OKDSLB.js.map} +0 -0
package/dist/runtime.d.ts CHANGED
@@ -1,19 +1,21 @@
1
1
  import { AgentProfile, BackendType, CreateSandboxOptions, SandboxInstance, SandboxEvent } from '@tangle-network/sandbox';
2
2
  export { AgentProfile, CreateSandboxOptions, SandboxEvent, SandboxInstance } from '@tangle-network/sandbox';
3
- import { R as ResultBlobStore, a as SpawnJournal, N as NodeId, b as SpawnEvent, T as TreeView, c as Settled, d as AgentSpec, E as ExecutorRegistry, B as Budget, A as Agent, e as RootHandle, f as SupervisedResult, g as Spend, S as Scope, h as ExecutorFactory, U as UsageEvent, i as Supervisor } from './types-CNDJCL_0.js';
4
- export { j as Executor, k as ExecutorContext, l as ExecutorResult, H as Handle, m as NodeSnapshot, n as NodeStatus, o as Restart, p as RootSignal, q as Runtime, r as SpawnOpts, s as SupervisorOpts, W as WidenGate } from './types-CNDJCL_0.js';
3
+ import { R as ResultBlobStore, p as SpawnJournal, N as NodeId, q as SpawnEvent, T as TreeView, r as Settled, s as AgentSpec, E as ExecutorRegistry, B as Budget, t as Agent, u as RootHandle, v as SupervisedResult, w as Spend, x as Scope, y as ExecutorFactory, z as Executor, U as UsageEvent, M as MakeWorkerAgent, D as Supervisor } from './coordination-BMzskrUR.js';
4
+ export { G as ExecutorContext, H as ExecutorResult, K as Handle, L as NodeSnapshot, O as NodeStatus, P as Restart, V as RootSignal, W as Runtime, X as SpawnOpts, Y as SupervisorOpts, Z as WidenGate } from './coordination-BMzskrUR.js';
5
5
  import { R as RuntimeHooks } from './runtime-hooks-C7JwKb9E.js';
6
6
  import { ChatClient, AnalystFinding, DefaultVerdict, AgentProfile as AgentProfile$1, AnalystRunInputs } from '@tangle-network/agent-eval';
7
7
  export { DefaultVerdict } from '@tangle-network/agent-eval';
8
- export { A as AnalyzeInput, a as CompletionAnalyst, b as CompletionEvidence, c as CompletionPolicy, d as CompletionVerdict, C as CreateDriverOptions, D as DriverDecision, P as PlannerContext, e as TopologyMove, T as TopologyPlanner, f as completionAuthorizes, g as createDriver, h as deterministicCompletion, r as renderAnalyses, s as sentinelCompletion, i as stopSentinel } from './driver-B2RKkVJW.js';
9
- import { S as SandboxClient, b as LoopResult, d as LoopTokenUsage, R as RuntimeStreamEvent, A as AgentRunSpec, E as ExecCtx, I as Iteration } from './types-CklkW4Eh.js';
10
- export { D as Driver, F as LoopDecisionPayload, G as LoopEndedPayload, H as LoopIterationDispatchPayload, J as LoopIterationEndedPayload, M as LoopIterationStartedPayload, a as LoopLineageOptions, N as LoopPlanDescription, P as LoopPlanPayload, f as LoopSandboxPlacement, Q as LoopStartedPayload, T as LoopTeardownFailedPayload, g as LoopTraceEmitter, e as LoopTraceEvent, L as LoopWinner, O as OutputAdapter, U as ValidationCtx, V as Validator } from './types-CklkW4Eh.js';
8
+ import { I as Iteration, S as SandboxClient, b as LoopResult, d as LoopTokenUsage, R as RuntimeStreamEvent, A as AgentRunSpec, E as ExecCtx } from './types-C8rNlxfV.js';
9
+ export { D as Driver, F as LoopDecisionPayload, G as LoopEndedPayload, H as LoopIterationDispatchPayload, J as LoopIterationEndedPayload, M as LoopIterationStartedPayload, a as LoopLineageOptions, N as LoopPlanDescription, P as LoopPlanPayload, f as LoopSandboxPlacement, Q as LoopStartedPayload, T as LoopTeardownFailedPayload, g as LoopTraceEmitter, e as LoopTraceEvent, L as LoopWinner, O as OutputAdapter, U as ValidationCtx, V as Validator } from './types-C8rNlxfV.js';
11
10
  import { Scenario, ProfileDispatchFn } from '@tangle-network/agent-eval/campaign';
12
- import { R as RunLoopOptions } from './run-loop-DgVhucoR.js';
13
- export { c as createSandboxForSpec, d as defaultSelectWinner, r as runLoop } from './run-loop-DgVhucoR.js';
11
+ import { R as RunLoopOptions } from './run-loop-DluzfJ2h.js';
12
+ export { c as createSandboxForSpec, d as defaultSelectWinner, r as runLoop } from './run-loop-DluzfJ2h.js';
14
13
  import { b as AnalystRegistryLike } from './types-p8dWBIXL.js';
15
- import { T as ToolSpec } from './router-client-B0Qi1NiN.js';
16
- export { R as RouterChatResult, a as RouterChatToolsResult, b as RouterConfig, c as RouterToolCall, d as RouterToolLoopResult, r as routerChatWithTools, e as routerChatWithUsage, f as routerToolLoop } from './router-client-B0Qi1NiN.js';
14
+ import { R as RouterConfig, T as ToolSpec } from './router-client-30Y_pca8.js';
15
+ export { a as RouterChatResult, b as RouterChatToolsResult, c as RouterToolCall, d as RouterToolLoopResult, r as routerChatWithTools, e as routerChatWithUsage, f as routerToolLoop } from './router-client-30Y_pca8.js';
16
+ import './delegates-BPLIl8EC.js';
17
+ import './coder-CEkUFv8h.js';
18
+ import './substrate-CUgk7F7s.js';
17
19
 
18
20
  /**
19
21
  * @experimental
@@ -312,6 +314,85 @@ interface IntentAudit {
312
314
  declare const defaultAuditorInstruction: string;
313
315
  declare function auditIntent(input: AuditIntentInput, opts: AuditIntentOptions): Promise<IntentAudit>;
314
316
 
317
+ /**
318
+ * @experimental
319
+ *
320
+ * Completion / satisfiability — the OTHER output of the pluggable analyst (the steer output
321
+ * is `AnalystFinding[]` via the `analyze` hook; this is the "is it done?" output via the
322
+ * `complete` hook). A `CompletionAnalyst` reads a node's trace and returns a `CompletionVerdict`
323
+ * the PARENT (driver) acts on: end the node, or keep going. It fits ANY node and composes to
324
+ * any depth — a 1-deep loop has one; an N-deep tree has one per node.
325
+ *
326
+ * The verdict's authority scales with its DETERMINISM (the thing that varies by task):
327
+ * - `deterministic` — build/test/lint pass, a proof checks, every claim's citation resolves:
328
+ * ground truth, the driver TRUSTS it and ends. Not an opinion.
329
+ * - `probabilistic` — a quality/soundness judgment (marketing, "the experiment is sound"):
330
+ * ADVISORY. It passes to the driver with its reasons; the driver validates (here: a
331
+ * confidence threshold; a richer driver may re-examine the reasons) before ending.
332
+ *
333
+ * Two stop-signal mechanisms, by node mode, both → one `CompletionVerdict`:
334
+ * - sandbox-agent (text stream): a unique per-node STOP SENTINEL the agent emits when done
335
+ * (`stopSentinel` / `sentinelCompletion`) — ralph-loop style; the seed makes it
336
+ * unguessable + attributable, so it can't be spuriously emitted or confused with content.
337
+ * - deterministic check (compile/test/citation/proof): `deterministicCompletion(check)` —
338
+ * a verifier over the output, never the judge verdict (selector ≠ judge holds).
339
+ */
340
+
341
+ /** Trace-derived evidence for a completion claim — an artifact (output) or a verifier metric,
342
+ * never the judge's own verdict. Mirrors the steer-firewall's provenance discipline. */
343
+ interface CompletionEvidence {
344
+ kind: 'artifact' | 'metric';
345
+ uri: string;
346
+ }
347
+ /** The "is it done?" verdict an analyst returns to the parent. */
348
+ interface CompletionVerdict {
349
+ done: boolean;
350
+ /** How verifiable the claim is — sets whether the driver trusts it or validates it. */
351
+ determinism: 'deterministic' | 'probabilistic';
352
+ /** Why the analyst believes it is (or isn't) done — what the driver validates. */
353
+ reasons?: string;
354
+ /** 0..1, for probabilistic verdicts; the driver's validation threshold reads this. */
355
+ confidence?: number;
356
+ evidence?: ReadonlyArray<CompletionEvidence>;
357
+ }
358
+ /** Reads a node's trace → a completion verdict. Same input shape as the `analyze` hook, so
359
+ * ONE analyst node can back both channels (findings for steer, a verdict for stop). */
360
+ interface CompletionAnalyst<Task, Output> {
361
+ assess(input: {
362
+ task: Task;
363
+ history: ReadonlyArray<Iteration<Task, Output>>;
364
+ }): CompletionVerdict | Promise<CompletionVerdict>;
365
+ }
366
+ /** When a verdict authorizes the driver to END. Deterministic → trust (ground truth);
367
+ * probabilistic → validate by confidence threshold (the driver's check). */
368
+ interface CompletionPolicy {
369
+ /** Minimum confidence a PROBABILISTIC verdict must clear to end. Default 0.8. */
370
+ minConfidence?: number;
371
+ }
372
+ declare function completionAuthorizes(v: CompletionVerdict, policy?: CompletionPolicy): boolean;
373
+ /**
374
+ * A unique, attributable stop sentinel for a node (ralph-loop style). Deterministic from the
375
+ * seed (no Math.random — reproducible + attributable to the node); the agent is instructed to
376
+ * emit it VERBATIM when it judges itself done. Unguessable enough that content never trips it.
377
+ */
378
+ declare function stopSentinel(seed: string): string;
379
+ /**
380
+ * Completion for a sandbox-agent node: done iff the latest output carries the node's stop
381
+ * sentinel. PROBABILISTIC (the agent's own self-judgment) — the driver validates it.
382
+ */
383
+ declare function sentinelCompletion<Task>(sentinel: string, opts?: {
384
+ confidence?: number;
385
+ }): CompletionAnalyst<Task, string>;
386
+ /**
387
+ * Completion for a DETERMINISTIC check (build/test/lint/citation/proof): done iff the check
388
+ * passes. Ground truth — the driver ends directly, no validation. The check reads the output
389
+ * (a verifier), never the judge verdict — selector ≠ judge stays intact.
390
+ */
391
+ declare function deterministicCompletion<Task, Output>(check: (output: Output, history: ReadonlyArray<Iteration<Task, Output>>) => {
392
+ passed: boolean;
393
+ reasons?: string;
394
+ }): CompletionAnalyst<Task, Output>;
395
+
315
396
  /**
316
397
  * @experimental
317
398
  *
@@ -826,8 +907,7 @@ interface ScopeAnalyst<D> {
826
907
  */
827
908
  analyze(input: ScopeAnalyzeInput<D>): Promise<ReadonlyArray<AnalystFinding>>;
828
909
  }
829
- /** Input to a `ScopeAnalyst.analyze` — the root task framing + the children settled so far. The
830
- * reactive analogue of the old `AnalyzeInput { task, history }`. */
910
+ /** Input to a `ScopeAnalyst.analyze` — the root task framing + the children settled so far. */
831
911
  interface ScopeAnalyzeInput<D> {
832
912
  /** Opaque root-task framing (whatever the combinator was invoked with). */
833
913
  readonly task: unknown;
@@ -1130,7 +1210,7 @@ declare function renderReport(findings: ReadonlyArray<AnalystFinding>): string;
1130
1210
  *
1131
1211
  * NOTE on the read side: harvesting is safe and cheap; *injecting* facts back into runs
1132
1212
  * is the measured danger zone — naive unconditional priming tested NEGATIVE (−11.6pp,
1133
- * context pollution; docs/research/layer-across-run.md). Gate any priming design on its
1213
+ * context pollution; result now in .evolve/current.json + memory). Gate any priming design on its
1134
1214
  * own A/B; the corpus's first consumers are operators and optimizers, not prompts.
1135
1215
  */
1136
1216
 
@@ -1596,16 +1676,14 @@ declare function createMcpEnvironment(opts: McpEnvironmentOptions): Environment;
1596
1676
  /**
1597
1677
  * @experimental
1598
1678
  *
1599
- * Analyst-on-scope (G1) — the PORT of the round-synchronous driver's analyze→findings→steer
1600
- * wire (`dynamic.ts`) onto the reactive `Scope`.
1679
+ * Analyst-on-scope (G1) — the analyze→findings→steer wire over the reactive `Scope`.
1601
1680
  *
1602
- * The old dynamic driver wired the analyst at round boundaries: `plan` ran the analyst over
1603
- * `history` BEFORE the planner and handed the findings forward via `PlannerContext.analyses`,
1604
- * behind a provenance firewall (`assertTraceDerivedFindings`) that keeps the external write-only
1605
- * judge out of the steer decision (selector judge). The reactive `Scope` has no rounds, so this
1606
- * module carries the same wire across: a combinator's `act` asks a `ScopeAnalyst` to turn the
1607
- * children it has drained off `scope.next()` SO FAR into `AnalystFinding[]`, and steers from THOSE
1608
- * findings through a single `SteerContext`.
1681
+ * The analyst runs over the children drained so far and hands its findings to the steer
1682
+ * decision behind a provenance firewall (`assertTraceDerivedFindings`) that keeps the external
1683
+ * write-only judge out of that decision (selector ≠ judge). The reactive `Scope` has no rounds:
1684
+ * a combinator's `act` asks a `ScopeAnalyst` to turn the children it has drained off
1685
+ * `scope.next()` SO FAR into `AnalystFinding[]`, and steers from THOSE findings through a single
1686
+ * `SteerContext`.
1609
1687
  *
1610
1688
  * The analyst itself is not a new type — it is "just an `Agent<unknown, AnalystFinding[]>`" the
1611
1689
  * combinator spawns over a child's trace (harness `null`/`cli`). `createScopeAnalyst` spawns that
@@ -2718,6 +2796,82 @@ declare function pickChampion(means: Record<string, {
2718
2796
  declare function selectChampion(report: BenchmarkReport, fieldOrder: string[], policy: ChampionPolicy, epsilon: number): ChampionPick;
2719
2797
  declare function runStrategyEvolution(cfg: StrategyEvolutionConfig): Promise<EvolutionReport>;
2720
2798
 
2799
+ /**
2800
+ * @experimental
2801
+ *
2802
+ * The completion-oracle: **settled ⟺ DELIVERED.**
2803
+ *
2804
+ * Foreman's one hard lesson (0/18 self-improvement deliverables) — "done" must mean a check
2805
+ * PASSED, not the agent's say-so. `gateOnDeliverable` wraps an `Executor` so its settlement
2806
+ * is `valid` ONLY when the deliverable check passes. The child still RUNS and settles (its
2807
+ * spend is conserved into the pool either way), but a child that ran WITHOUT delivering
2808
+ * settles `valid:false` — so a keep-best driver never counts it as done, and a gate never
2809
+ * inflates with self-judged wins.
2810
+ *
2811
+ * Dual-purpose by construction:
2812
+ * - product: the agent fleet only advances on real, checked deliverables.
2813
+ * - proof: the gate's `valid` is the honest settle — equal-k comparisons can't be gamed by an
2814
+ * arm that "ran" without producing the artifact.
2815
+ *
2816
+ * The check is a DEPLOYABLE oracle — a test command, a state verifier, the commit0 judge —
2817
+ * read off the child's output, never the model judging itself. A throwing check is
2818
+ * fail-closed (not delivered), never a crash.
2819
+ */
2820
+
2821
+ interface DeliverableSpec<Out = unknown> {
2822
+ /** The deployable check that decides DELIVERED. `settled.valid ⟺ this resolves true`. */
2823
+ check: (out: Out) => boolean | Promise<boolean>;
2824
+ /** What the spawn was supposed to produce — surfaced in traces/reports. */
2825
+ describe?: string;
2826
+ }
2827
+ /**
2828
+ * Wrap an `Executor` so its settlement `valid` reflects the deliverable check, not the
2829
+ * inner verdict. Handles both `execute` shapes (one-shot `Promise<ExecutorResult>` and
2830
+ * streaming `AsyncIterable<UsageEvent>` + `resultArtifact()`); the check runs once the inner
2831
+ * executor has produced its output. The inner `score` is preserved; only `valid` is gated.
2832
+ */
2833
+ declare function gateOnDeliverable<Out>(inner: Executor<Out>, deliverable: DeliverableSpec<Out>): Executor<Out>;
2834
+
2835
+ /**
2836
+ * @experimental
2837
+ *
2838
+ * The supervisor's intelligence is AUTHORING the agents it spawns — not pressing buttons.
2839
+ *
2840
+ * Every agent here is three things: instructions (system prompt), tools, and a model — its
2841
+ * `AgentProfile`. The supervisor's job is to WRITE those profiles: read the task, decompose it,
2842
+ * and for each sub-task author a tailored worker recipe. `supervisorSkill` is the how-to the
2843
+ * supervisor reads (its system prompt); `authoredWorker` builds a worker AGENT from a profile the
2844
+ * supervisor authored — the authored systemPrompt + model shape the worker's call.
2845
+ *
2846
+ * The skill is the single OPTIMIZABLE surface: edit it → the supervisor designs better agents.
2847
+ * That is the self-improvement lever (the prompt/skill lever), not the execution plumbing.
2848
+ */
2849
+
2850
+ /** What the supervisor AUTHORS per sub-task — a worker recipe (a partial `AgentProfile`). */
2851
+ interface AuthoredProfile {
2852
+ name: string;
2853
+ /** The rich, task-specific instructions the supervisor wrote for THIS worker. */
2854
+ systemPrompt: string;
2855
+ /** The model the supervisor chose for this sub-task (falls back to the run default). */
2856
+ model?: string;
2857
+ }
2858
+ /** Narrow an untyped `spawn_worker` profile argument to an `AuthoredProfile`, or null if the
2859
+ * supervisor failed to author one (empty/placeholder profile — a skill violation worth catching). */
2860
+ declare function asAuthoredProfile(raw: unknown): AuthoredProfile | null;
2861
+ /** The supervisor SKILL — the how-to the supervisor reads (its system prompt). THE optimizable
2862
+ * surface: editing this changes how the supervisor designs every agent it spawns. */
2863
+ declare function supervisorSkill(opts?: {
2864
+ goal?: string;
2865
+ }): string;
2866
+ /** Build a worker AGENT from a profile the supervisor authored: the authored `systemPrompt` +
2867
+ * `model` shape the worker's one model call; the deliverable gates settlement (valid ⟺ delivered). */
2868
+ declare function authoredWorker(profile: AuthoredProfile, opts: {
2869
+ cfg: RouterConfig;
2870
+ taskPrompt: string;
2871
+ deliverable: DeliverableSpec;
2872
+ temperature?: number;
2873
+ }): Agent<unknown, unknown>;
2874
+
2721
2875
  /**
2722
2876
  * @experimental
2723
2877
  *
@@ -2800,6 +2954,206 @@ declare function spendFromUsageEvents(events: UsageEvent[]): Spend;
2800
2954
  */
2801
2955
  declare function createBudgetPool(root: Budget, now?: () => number): BudgetPool;
2802
2956
 
2957
+ /**
2958
+ * @experimental
2959
+ *
2960
+ * `coordinationDriverAgent` — the driver's BRAIN.
2961
+ *
2962
+ * The recursive driver-executor (`driver-executor.ts`) runs a driver `Agent.act` inside a
2963
+ * nested `Scope`; this is the intelligent `act`: it mounts the coordination MCP verbs
2964
+ * (`createCoordinationTools`) over that scope and runs an LLM tool-loop, so the driver
2965
+ * REASONS — spawn / observe / steer / await / stop — about how to drive its children,
2966
+ * instead of running a fixed script. Each turn: ask the driver LLM for tool calls, run them
2967
+ * against the live scope, fold the results back, repeat until the driver stops (no tool
2968
+ * calls) or the turn cap forces a keep-best finalize.
2969
+ *
2970
+ * Recursion composes through `makeWorkerAgent`: `spawn_worker` resolves a `profile` to a
2971
+ * worker LEAF or — when the profile is a driver — a `driverChild` wrapping ANOTHER
2972
+ * `coordinationDriverAgent` over its own nested scope (see `driver-executor.ts`). So an agent
2973
+ * drives an agent that drives an agent, each an LLM tool-loop, all on one conserved-budget
2974
+ * tree.
2975
+ *
2976
+ * Two seams are INJECTED so the loop runs offline with no creds and stays decoupled:
2977
+ * - `chat` (`DriverChat`) — one driver-LLM turn; a test drives a scripted mock, production
2978
+ * adapts the router's tool-calling.
2979
+ * - `systemPrompt` — the driver's stance (the agent-eval worker-driver prompt / the prompt
2980
+ * generator). Injected, never hardcoded — the prompt is a pluggable role.
2981
+ */
2982
+
2983
+ /** One tool call the driver LLM asks for this turn. */
2984
+ interface DriverToolCall {
2985
+ readonly id?: string;
2986
+ readonly name: string;
2987
+ readonly arguments: Record<string, unknown>;
2988
+ }
2989
+ /** A turn in the driver↔tools conversation. Tool results ride back as `role: 'tool'`. */
2990
+ interface DriverMessage {
2991
+ readonly role: 'user' | 'assistant' | 'tool';
2992
+ readonly content: string;
2993
+ readonly toolCalls?: ReadonlyArray<DriverToolCall>;
2994
+ readonly toolCallId?: string;
2995
+ readonly name?: string;
2996
+ }
2997
+ /** What the driver LLM returns each turn. No `toolCalls` => the driver is finished. */
2998
+ interface DriverTurn {
2999
+ readonly toolCalls?: ReadonlyArray<DriverToolCall>;
3000
+ /** The driver's natural-language output — the answer when there are no tool calls. */
3001
+ readonly content?: string;
3002
+ }
3003
+ /** The injected driver-LLM seam: one turn over the conversation + the coordination tool specs. */
3004
+ interface DriverChat {
3005
+ next(input: {
3006
+ readonly system: string;
3007
+ readonly messages: ReadonlyArray<DriverMessage>;
3008
+ readonly tools: ReadonlyArray<{
3009
+ name: string;
3010
+ description: string;
3011
+ parameters: unknown;
3012
+ }>;
3013
+ }): Promise<DriverTurn>;
3014
+ }
3015
+ interface CoordinationDriverOptions {
3016
+ readonly name: string;
3017
+ /** The driver-LLM seam (scripted mock offline; router tool-calling in production). */
3018
+ readonly chat: DriverChat;
3019
+ /** Shared blob store — `observe_worker` reads settled outputs through it. */
3020
+ readonly blobs: ResultBlobStore;
3021
+ /** Resolve a spawned `profile` to a worker LEAF or a driver child (the recursion seam). */
3022
+ readonly makeWorkerAgent: MakeWorkerAgent;
3023
+ /** Per-child budget reserved from the conserved pool on each spawn. */
3024
+ readonly perWorker: Budget;
3025
+ /** The driver's stance — a string, or built from the task (the worker-driver prompt /
3026
+ * the generator). INJECTED so the prompt is a pluggable, optimizable role. */
3027
+ readonly systemPrompt: string | ((task: unknown) => string);
3028
+ /** Max driver turns before the loop force-finalizes on the best settled child. Default 16. */
3029
+ readonly maxTurns?: number;
3030
+ }
3031
+ /**
3032
+ * Build the intelligent recursive driver. Its `act` is the LLM tool-loop; spawn it as a
3033
+ * `driverChild` (`driver-executor.ts`) to run it inside a nested scope, recursively.
3034
+ */
3035
+ declare function coordinationDriverAgent(opts: CoordinationDriverOptions): Agent<unknown, unknown>;
3036
+
3037
+ /**
3038
+ * @experimental
3039
+ *
3040
+ * Serve the coordination verbs (spawn_worker / await_next / observe_worker / steer_worker / stop)
3041
+ * as a real HTTP MCP server over a LIVE `Scope`. This is the keystone that lets a coding-harness
3042
+ * agent (opencode via the cli-bridge, claude-code, codex) BE the supervisor: it mounts this MCP
3043
+ * (`mcp.mcpServers.coordination`) and calls `spawn_worker` as a native tool, which lands on
3044
+ * `Scope.spawn` — a real box driving real boxes, not emulated function-tools.
3045
+ *
3046
+ * Transport: JSON-RPC over HTTP POST (the MCP streamable-HTTP shape — `application/json` for a
3047
+ * single response). The server is created INSIDE an agent's `act(task, scope)` so it fronts that
3048
+ * agent's live scope; tear it down when the act returns.
3049
+ */
3050
+
3051
+ interface CoordinationMcpHandle {
3052
+ /** The URL an in-box harness mounts as `mcp.mcpServers.coordination.url`. */
3053
+ readonly url: string;
3054
+ readonly port: number;
3055
+ /** The coordination tools' settled-worker ledger (for the driver's finalize). */
3056
+ settled(): ReadonlyArray<{
3057
+ status: string;
3058
+ score?: number;
3059
+ valid?: boolean;
3060
+ outRef?: string;
3061
+ }>;
3062
+ isStopped(): boolean;
3063
+ close(): Promise<void>;
3064
+ }
3065
+ /** Stand up the coordination MCP over a live scope. The HOST address is `127.0.0.1` (the bridge runs
3066
+ * opencode locally, same host); pass `host` to bind elsewhere when the harness is remote. */
3067
+ declare function serveCoordinationMcp(opts: {
3068
+ scope: Scope<unknown>;
3069
+ blobs: ResultBlobStore;
3070
+ makeWorkerAgent: MakeWorkerAgent;
3071
+ perWorker: Budget;
3072
+ port?: number;
3073
+ host?: string;
3074
+ }): Promise<CoordinationMcpHandle>;
3075
+
3076
+ /**
3077
+ * @experimental
3078
+ *
3079
+ * The recursive driver-executor — the seam that lets a SPAWNED child be a DRIVER, so
3080
+ * agents drive agents drive agents over the one keystone atom.
3081
+ *
3082
+ * A spawned child resolves through the open registry to an `Executor`; the built-in
3083
+ * executors (router/inline, sandbox, cli) are LEAVES — `execute(task, signal)` runs the
3084
+ * work and settles. This executor is the recursive case: on `execute`, it mounts a NESTED
3085
+ * `Scope` (the scope hands it the mount via the `nested-scope` seam) over the SAME
3086
+ * conserved pool + shared journal/blobs + the same open registry, one `depth` deeper, then
3087
+ * runs the wrapped driver `Agent.act(task, nestedScope)`. The driver spawns its own
3088
+ * children into that nested scope; each resolves to EITHER a leaf executor (a worker child)
3089
+ * OR this same driver-executor (a driver child) — recursively. So a driver spawns a driver
3090
+ * spawns a worker, all on one budget-conserving tree.
3091
+ *
3092
+ * Why this preserves every keystone invariant (the scope owns the sharing; this executor
3093
+ * only runs the driver over what the scope mounts):
3094
+ * - Conserved budget: the nested scope reserves from the SAME `BudgetPool` the root owns
3095
+ * (the scope mounts it over `args.pool`), so `Σk` is conserved ACROSS depth by
3096
+ * construction — a deep tree cannot overspend the root ceiling (reserve-on-spawn fails
3097
+ * closed at any depth).
3098
+ * - Journal: the nested scope writes to its OWN tree key (`${journalRoot}/${nodeId}`) so
3099
+ * its cursor `seq`s never collide with the parent's in the per-tree uniqueness guard,
3100
+ * while every nested tree shares the one `SpawnJournal` — the whole recursion is one
3101
+ * journal, queryable tree by tree.
3102
+ * - Settlement bubbling: the driver child settles into its PARENT scope with the conserved
3103
+ * spend summed off its nested tree's settled events, so the parent's pool reconcile +
3104
+ * the supervisor's `spentTotal` see the whole sub-tree's spend rolled up — settlements
3105
+ * bubble to the root.
3106
+ * - Depth ceiling: the nested scope runs at `depth+1`, so the supervisor's `maxDepth`
3107
+ * (paired with the conserved pool per R3) fails a spawn closed once the recursion is too
3108
+ * deep — exactly as it does for a flat tree.
3109
+ *
3110
+ * Layering: pure keystone composition. It reuses the scope's `NestedScopeSeam` + the shared
3111
+ * `SpawnJournal`; it builds NO new budget, journal, or selection logic. The recursion rides
3112
+ * the existing atom.
3113
+ */
3114
+
3115
+ /** The runtime tag the registry maps a driver child to. */
3116
+ declare const driverRuntime: "driver";
3117
+ /** A driver child's spec carries the `Agent` to run inside the nested scope. */
3118
+ interface DriverSpec extends AgentSpec {
3119
+ readonly driver: Agent<unknown, unknown>;
3120
+ /** The shared journal the nested tree is one tree key inside (so the executor can
3121
+ * begin its nested tree + sum its spend off the same record). */
3122
+ readonly journal: SpawnJournal;
3123
+ }
3124
+ /**
3125
+ * Mark + carry a driver `Agent` so the recursive registry resolves it to the
3126
+ * driver-executor. The returned agent is SPAWNED (never run directly): its
3127
+ * `executorSpec` is marked `role: 'driver'` and carries the driver agent + the shared
3128
+ * journal so the executor can run its `act` inside a nested scope. `act` fails loud if
3129
+ * called directly — a driver child runs THROUGH its nested-scope executor, never as a root.
3130
+ */
3131
+ declare function driverChild<Out>(name: string, driver: Agent<unknown, Out>, journal: SpawnJournal): Agent<unknown, Out>;
3132
+ /** True when a spec is a driver child (carries the role marker + a driver Agent). */
3133
+ declare function isDriverSpec(spec: AgentSpec): spec is DriverSpec;
3134
+ /**
3135
+ * The recursive driver-executor factory. `withDriverExecutor` routes a child marked
3136
+ * `role: 'driver'` here; any other child resolves to a leaf built-in. On `execute`, it
3137
+ * reads the `nested-scope` seam the SCOPE seeded, mounts a nested `Scope` one `depth`
3138
+ * deeper over the shared pool/journal/blobs/registry, runs the driver
3139
+ * `Agent.act(task, nestedScope)`, and reports the conserved spend summed off the nested
3140
+ * tree's settled events — so the parent scope's reconcile rolls the whole sub-tree's spend
3141
+ * into the conserved total.
3142
+ *
3143
+ * A `down` from the nested driver (a thrown `act` or an aborted scope) propagates as a
3144
+ * thrown executor, which the parent scope types into a `down` settlement — the same
3145
+ * fail-loud-into-typed-down discipline a leaf gets.
3146
+ */
3147
+ declare const driverExecutorFactory: ExecutorFactory<unknown>;
3148
+ /**
3149
+ * Register the driver-executor so a child marked `role: 'driver'` resolves to it. The base
3150
+ * registry resolves by harness alone (it does not read `role`), so a recursive run needs a
3151
+ * registry that routes the driver tag here FIRST. Returns a registry decorator: a
3152
+ * driver-role spec → the driver-executor; everything else → the base registry's resolution
3153
+ * (leaf built-ins + BYO).
3154
+ */
3155
+ declare function withDriverExecutor(base: ExecutorRegistry): ExecutorRegistry;
3156
+
2803
3157
  /**
2804
3158
  * @experimental
2805
3159
  *
@@ -2987,6 +3341,32 @@ interface ScopeArgs {
2987
3341
  * (the topology viewer reads it). Undefined ⇒ the journal stays the only record. */
2988
3342
  readonly hooks?: RuntimeHooks;
2989
3343
  }
3344
+ /**
3345
+ * The recursion seam key. A `Scope` seeds a value of this on each child's
3346
+ * `ExecutorContext.seams` so a child whose executor is a DRIVER can mount a NESTED `Scope`
3347
+ * over the SAME conserved pool at `depth+1`. A leaf executor never reads it. Single-sourced
3348
+ * here so the scope and the driver-executor agree on the seam without a circular import.
3349
+ */
3350
+ declare const nestedScopeSeamKey = "nested-scope";
3351
+ /**
3352
+ * The recursion seam value: mount a nested `Scope` for a driver child. `parentId` is the
3353
+ * driver child's own node id (so its children get `${nodeId}:s${ordinal}` ids and its
3354
+ * nested journal tree is namespaced under it); `root` is the journal tree key for the
3355
+ * nested tree (distinct from the parent's so cursor seqs never collide in the per-tree
3356
+ * guard). `depth` is `parent.depth + 1`. The nested scope shares the parent's `pool`
3357
+ * (conserved budget across depth), `journal`/`blobs` (one record), and `executors` (a
3358
+ * nested child resolves to leaf-or-driver through the same open registry).
3359
+ */
3360
+ interface NestedScopeSeam {
3361
+ /** This scope's recursion depth — a nested scope runs at `depth + 1`. */
3362
+ readonly depth: number;
3363
+ /** The runtime recursion-depth ceiling, paired with the conserved pool (R3). */
3364
+ readonly maxDepth?: number;
3365
+ /** The journal tree key the parent scope writes to (used to namespace nested trees). */
3366
+ readonly journalRoot: NodeId;
3367
+ /** Mount a nested scope rooted at `nestedRoot`, parented at this driver child's node id. */
3368
+ mount(nestedRoot: NodeId, signal: AbortSignal): Scope<unknown>;
3369
+ }
2990
3370
  declare function createScope<Out>(args: ScopeArgs): Scope<Out>;
2991
3371
  /**
2992
3372
  * The step-8 merge-boundary adapter (M4): rehydrate a `Settled.done` into the kernel's
@@ -3119,5 +3499,26 @@ declare function gitWorkspace(opts: GitWorkspaceOptions): Workspace;
3119
3499
  * no staging area, and a first-class operation log (native resume/undo). Live use
3120
3500
  * requires `jj` on the `Shell`'s host. */
3121
3501
  declare function jjWorkspace(opts: GitWorkspaceOptions): Workspace;
3122
-
3123
- export { Agent, AgentRunSpec, AgentSpec, type AgenticOptions, type AgenticRunResult, type AgenticSurface, type AgenticTask, type AgenticTool, type AnytimeReport, type AnytimeStrategySummary, type AnytimeTaskCurve, type ArtifactHandle, type AssertTraceDerivedFindings, type AuditIntentInput, type AuditIntentOptions, type AuthorStrategyOptions, type AuthoredStrategy, type BenchmarkCell, type BenchmarkConfig, type BenchmarkLift, type BenchmarkReport, type BenchmarkStrategySummary, type BenchmarkTaskRow, type BridgeSeam, Budget, type BudgetPool, type BudgetReadout, type ChampionPick, type ChampionPolicy, type CheckpointCapableBox, type CliSeam, type CombinatorShape, type Corpus, type CorpusFilter, type CorpusRecord, type CreateScopeAnalystOptions, type CriuCapableClient, type DefinePersona, type DefinePersonaInput, type Deliverable, type Environment, type EqualKArm, type EqualKOnCost, type EqualKOnCostOptions, type EqualKVerdict, type EvolutionArchiveNode, type EvolutionAuthor, type EvolutionBandInfo, type EvolutionCandidate, type EvolutionGeneration, type EvolutionReport, ExecCtx, type ExecutorConfig, ExecutorFactory, ExecutorRegistry, type Fanout, type FanoutOptions, type FanoutSynthesis, FileCorpus, FileResultBlobStore, FileSpawnJournal, type FlatWidenGate, type ForkCapableBox, type GitWorkspaceOptions, type HarvestCorpusOptions, type HarvestFailure, type HarvestReport, InMemoryCorpus, InMemoryResultBlobStore, InMemorySpawnJournal, type IntentAudit, Iteration, type LoopDispatchOptions, type LoopOptionsForDispatch, LoopResult, type LoopShape, LoopTokenUsage, type LoopUntil, type LoopUntilSpec, type LoopUntilState, type McpEndpoint, type McpEnvironmentOptions, NodeId, type Observation, type ObserveInput, type ObserveOptions, type OpenSandboxRunOptions, type Outcome, type Panel, type PanelJudge, type PanelSpec, type PanelVerdict, type Persona, type PersonaContext, type PersonaExecutors, type Pipeline, type PipelineStage, type PromotionGateOptions, type PromotionVerdict, type RegistryAnalyzeProjection, type RenderCorpusToInstructions, type RenderCorpusToInstructionsOptions, type ReservationTicket, ResultBlobStore, RootHandle, type RouterSeam, type RouterToolsSeam, type RunAgenticOptions, RunLoopOptions, type RunPersonified, type RunPersonifiedOptions, type SandboxCapabilities, SandboxClient, type SandboxLineage, type SandboxLineageHandle, type SandboxRun, type SandboxSeam, Scope, type ScopeAnalyst, type ScopeAnalyzeInput, type ScopeWidenGate, type SessionCapableBox, Settled, type ShapeBudget, type ShapeContext, type ShapeRegistry, type Shell, type ShotPersona, type ShotSpec, SpawnEvent, SpawnJournal, Spend, type SteerContext, type Strategy, type StrategyCtx, type StrategyEvolutionConfig, type StrategyResult, SupervisedResult, Supervisor, type SurfaceScore, ToolSpec, type TrajectoryNode, type TrajectoryReport, type TrajectoryReportFn, type TrajectoryReportOptions, TreeView, type TurnResult, UsageEvent, type UsageSink, type VerifierEnvironmentOptions, type Verify, type VerifySpec, type WaterfallCollector, type WaterfallReport, type WaterfallSpan, type Widen, type WidenDecision, type WidenLineage, type WidenSpec, type Workspace, type WorkspaceCommit, acquireSandbox, adaptiveRefine, anytimeReport, assertStrategyContract, assertTraceDerivedFindings, auditIntent, authorStrategy, breadthDriver, buildSteerContext, builtinShapes, contentAddress, createBudgetPool, createExecutor, createExecutorRegistry, createMcpEnvironment, createRootHandle, createSandboxLineage, createScope, createScopeAnalyst, createShapeRegistry, createSupervisor, createVerifierEnvironment, createWaterfallCollector, defaultAnalystInstruction, defaultAuditorInstruction, definePersona, defineStrategy, depthDriver, discriminatingMeans, equalKOnCost, extractLlmCallEvent, fanout, flatWidenGate, gitWorkspace, harvestCorpus, inlineSandboxClient, jjWorkspace, localShell, loopDispatch, loopUntil, mapSandboxEvent, materializeTreeView, observe, openSandboxRun, panel, pickChampion, pipeline, printBenchmarkReport, probeSandboxCapabilities, promotionGate, refine, registerShape, registryScopeAnalyst, renderAnytimeTable, renderCorpusToInstructions, renderReport, replaySpawnTree, reportLoopUsage, runAgentic, runBenchmark, runPersonified, runStrategyEvolution, sample, sampleThenRefine, selectChampion, settledToIteration, spendFromUsageEvents, strategyAuthorContract, trajectoryReport, verify, widen };
3502
+ interface WorkspaceRun<T> {
3503
+ readonly valid: boolean;
3504
+ readonly value: T;
3505
+ /** Present when a commit was attempted (valid, or `commitOnInvalid`). */
3506
+ readonly commit?: WorkspaceCommit;
3507
+ }
3508
+ /**
3509
+ * Run a worker `body` inside a FRESH clone of a shared `Workspace`, then commit its work back
3510
+ * so the next worker (or the supervisor) builds on it. This is the seam that turns isolated
3511
+ * per-worker cwds into one compounding artifact — `body` gets a real materialized dir, its
3512
+ * delivery is committed to the shared ref iff it's valid (a conflict is returned, never thrown).
3513
+ * The clone is removed after; durable state lives only in the ref.
3514
+ */
3515
+ declare function runInWorkspace<T>(ws: Workspace, body: (cwd: string) => Promise<{
3516
+ valid: boolean;
3517
+ value: T;
3518
+ message?: string;
3519
+ }>, opts?: {
3520
+ tmpPrefix?: string;
3521
+ commitOnInvalid?: boolean;
3522
+ }): Promise<WorkspaceRun<T>>;
3523
+
3524
+ export { Agent, AgentRunSpec, AgentSpec, type AgenticOptions, type AgenticRunResult, type AgenticSurface, type AgenticTask, type AgenticTool, type AnytimeReport, type AnytimeStrategySummary, type AnytimeTaskCurve, type ArtifactHandle, type AssertTraceDerivedFindings, type AuditIntentInput, type AuditIntentOptions, type AuthorStrategyOptions, type AuthoredProfile, type AuthoredStrategy, type BenchmarkCell, type BenchmarkConfig, type BenchmarkLift, type BenchmarkReport, type BenchmarkStrategySummary, type BenchmarkTaskRow, type BridgeSeam, Budget, type BudgetPool, type BudgetReadout, type ChampionPick, type ChampionPolicy, type CheckpointCapableBox, type CliSeam, type CombinatorShape, type CompletionAnalyst, type CompletionEvidence, type CompletionPolicy, type CompletionVerdict, type CoordinationDriverOptions, type CoordinationMcpHandle, type Corpus, type CorpusFilter, type CorpusRecord, type CreateScopeAnalystOptions, type CriuCapableClient, type DefinePersona, type DefinePersonaInput, type Deliverable, type DeliverableSpec, type DriverChat, type DriverMessage, type DriverToolCall, type DriverTurn, type Environment, type EqualKArm, type EqualKOnCost, type EqualKOnCostOptions, type EqualKVerdict, type EvolutionArchiveNode, type EvolutionAuthor, type EvolutionBandInfo, type EvolutionCandidate, type EvolutionGeneration, type EvolutionReport, ExecCtx, Executor, type ExecutorConfig, ExecutorFactory, ExecutorRegistry, type Fanout, type FanoutOptions, type FanoutSynthesis, FileCorpus, FileResultBlobStore, FileSpawnJournal, type FlatWidenGate, type ForkCapableBox, type GitWorkspaceOptions, type HarvestCorpusOptions, type HarvestFailure, type HarvestReport, InMemoryCorpus, InMemoryResultBlobStore, InMemorySpawnJournal, type IntentAudit, Iteration, type LoopDispatchOptions, type LoopOptionsForDispatch, LoopResult, type LoopShape, LoopTokenUsage, type LoopUntil, type LoopUntilSpec, type LoopUntilState, type McpEndpoint, type McpEnvironmentOptions, type NestedScopeSeam, NodeId, type Observation, type ObserveInput, type ObserveOptions, type OpenSandboxRunOptions, type Outcome, type Panel, type PanelJudge, type PanelSpec, type PanelVerdict, type Persona, type PersonaContext, type PersonaExecutors, type Pipeline, type PipelineStage, type PromotionGateOptions, type PromotionVerdict, type RegistryAnalyzeProjection, type RenderCorpusToInstructions, type RenderCorpusToInstructionsOptions, type ReservationTicket, ResultBlobStore, RootHandle, RouterConfig, type RouterSeam, type RouterToolsSeam, type RunAgenticOptions, RunLoopOptions, type RunPersonified, type RunPersonifiedOptions, type SandboxCapabilities, SandboxClient, type SandboxLineage, type SandboxLineageHandle, type SandboxRun, type SandboxSeam, Scope, type ScopeAnalyst, type ScopeAnalyzeInput, type ScopeWidenGate, type SessionCapableBox, Settled, type ShapeBudget, type ShapeContext, type ShapeRegistry, type Shell, type ShotPersona, type ShotSpec, SpawnEvent, SpawnJournal, Spend, type SteerContext, type Strategy, type StrategyCtx, type StrategyEvolutionConfig, type StrategyResult, SupervisedResult, Supervisor, type SurfaceScore, ToolSpec, type TrajectoryNode, type TrajectoryReport, type TrajectoryReportFn, type TrajectoryReportOptions, TreeView, type TurnResult, UsageEvent, type UsageSink, type VerifierEnvironmentOptions, type Verify, type VerifySpec, type WaterfallCollector, type WaterfallReport, type WaterfallSpan, type Widen, type WidenDecision, type WidenLineage, type WidenSpec, type Workspace, type WorkspaceCommit, type WorkspaceRun, acquireSandbox, adaptiveRefine, anytimeReport, asAuthoredProfile, assertStrategyContract, assertTraceDerivedFindings, auditIntent, authorStrategy, authoredWorker, breadthDriver, buildSteerContext, builtinShapes, completionAuthorizes, contentAddress, coordinationDriverAgent, createBudgetPool, createExecutor, createExecutorRegistry, createMcpEnvironment, createRootHandle, createSandboxLineage, createScope, createScopeAnalyst, createShapeRegistry, createSupervisor, createVerifierEnvironment, createWaterfallCollector, defaultAnalystInstruction, defaultAuditorInstruction, definePersona, defineStrategy, depthDriver, deterministicCompletion, discriminatingMeans, driverChild, driverExecutorFactory, driverRuntime, equalKOnCost, extractLlmCallEvent, fanout, flatWidenGate, gateOnDeliverable, gitWorkspace, harvestCorpus, inlineSandboxClient, isDriverSpec, jjWorkspace, localShell, loopDispatch, loopUntil, mapSandboxEvent, materializeTreeView, nestedScopeSeamKey, observe, openSandboxRun, panel, pickChampion, pipeline, printBenchmarkReport, probeSandboxCapabilities, promotionGate, refine, registerShape, registryScopeAnalyst, renderAnytimeTable, renderCorpusToInstructions, renderReport, replaySpawnTree, reportLoopUsage, runAgentic, runBenchmark, runInWorkspace, runPersonified, runStrategyEvolution, sample, sampleThenRefine, selectChampion, sentinelCompletion, serveCoordinationMcp, settledToIteration, spendFromUsageEvents, stopSentinel, strategyAuthorContract, supervisorSkill, trajectoryReport, verify, widen, withDriverExecutor };