@tangle-network/agent-runtime 0.82.0 → 0.84.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 (88) hide show
  1. package/README.md +4 -0
  2. package/dist/agent.d.ts +5 -3
  3. package/dist/agent.js +7 -7
  4. package/dist/agent.js.map +1 -1
  5. package/dist/analyst-loop.d.ts +3 -2
  6. package/dist/analyst-loop.js +2 -2
  7. package/dist/{chunk-A7LZR5DT.js → chunk-4WXGK6GV.js} +2 -2
  8. package/dist/chunk-4WXGK6GV.js.map +1 -0
  9. package/dist/{chunk-UZ5SODU7.js → chunk-5IBQAPVB.js} +1 -1
  10. package/dist/chunk-5IBQAPVB.js.map +1 -0
  11. package/dist/{chunk-5JAUQZQA.js → chunk-7LO5GMAO.js} +1 -1
  12. package/dist/chunk-7LO5GMAO.js.map +1 -0
  13. package/dist/{chunk-H7IBHAFT.js → chunk-BZF3KQ6G.js} +1 -1
  14. package/dist/chunk-BZF3KQ6G.js.map +1 -0
  15. package/dist/{chunk-WIR4HOOJ.js → chunk-DPEUKJRO.js} +1 -1
  16. package/dist/chunk-DPEUKJRO.js.map +1 -0
  17. package/dist/{chunk-DJQFJEOD.js → chunk-G7HQI6DB.js} +2 -2
  18. package/dist/chunk-G7HQI6DB.js.map +1 -0
  19. package/dist/{chunk-GRAGM4MC.js → chunk-NURIQBJQ.js} +1 -1
  20. package/dist/chunk-NURIQBJQ.js.map +1 -0
  21. package/dist/{chunk-FNMGYYSS.js → chunk-SGKPNBXE.js} +1 -1
  22. package/dist/chunk-SGKPNBXE.js.map +1 -0
  23. package/dist/{chunk-SRGV56W4.js → chunk-UD4BHQMI.js} +2 -2
  24. package/dist/{chunk-SRGV56W4.js.map → chunk-UD4BHQMI.js.map} +1 -1
  25. package/dist/{chunk-JYURIKPF.js → chunk-UJW6EVNY.js} +503 -218
  26. package/dist/chunk-UJW6EVNY.js.map +1 -0
  27. package/dist/{chunk-LWGVVP2C.js → chunk-VNOOH22O.js} +2 -2
  28. package/dist/chunk-VNOOH22O.js.map +1 -0
  29. package/dist/{chunk-KSGHI53L.js → chunk-XBSWWF6A.js} +6 -6
  30. package/dist/chunk-XBSWWF6A.js.map +1 -0
  31. package/dist/{chunk-CO2KBPRE.js → chunk-XN5TIJGP.js} +1011 -1011
  32. package/dist/chunk-XN5TIJGP.js.map +1 -0
  33. package/dist/{chunk-NBV35BR6.js → chunk-YEJR7IXO.js} +1 -1
  34. package/dist/chunk-YEJR7IXO.js.map +1 -0
  35. package/dist/{chunk-C2FZ6GR6.js → chunk-YPA5MLVE.js} +2 -2
  36. package/dist/chunk-YPA5MLVE.js.map +1 -0
  37. package/dist/{coordination-BI9tpcmF.d.ts → coordination-CuDLO8wj.d.ts} +53 -32
  38. package/dist/environment-provider.d.ts +2 -2
  39. package/dist/environment-provider.js +1 -1
  40. package/dist/{improvement-adapter-CioiEE2z.d.ts → improvement-adapter-CDR8QNVM.d.ts} +3 -0
  41. package/dist/index.d.ts +163 -49
  42. package/dist/index.js +43 -13
  43. package/dist/index.js.map +1 -1
  44. package/dist/intelligence.d.ts +14 -8
  45. package/dist/intelligence.js +1 -1
  46. package/dist/intelligence.js.map +1 -1
  47. package/dist/{kb-gate-CuzMYGYM.d.ts → kb-gate-CwHO0vz6.d.ts} +4 -2
  48. package/dist/lifecycle.d.ts +2 -2
  49. package/dist/lifecycle.js +3 -3
  50. package/dist/{local-harness-DU7yV6mG.d.ts → local-harness-sI0S_XNA.d.ts} +2 -1
  51. package/dist/{loop-runner-bin-CBkLsyFg.d.ts → loop-runner-bin-hQDUL8Ld.d.ts} +28 -13
  52. package/dist/loop-runner-bin.d.ts +7 -7
  53. package/dist/loop-runner-bin.js +10 -10
  54. package/dist/loops.d.ts +257 -48
  55. package/dist/loops.js +9 -7
  56. package/dist/mcp/bin.js +8 -8
  57. package/dist/mcp/bin.js.map +1 -1
  58. package/dist/mcp/index.d.ts +44 -38
  59. package/dist/mcp/index.js +11 -11
  60. package/dist/mcp/index.js.map +1 -1
  61. package/dist/{mcp-serve-verifier-BvMAV_8U.d.ts → mcp-serve-verifier-FL7-ZEb_.d.ts} +8 -3
  62. package/dist/{openai-tools-B-3v06BE.d.ts → openai-tools-BnrOmGjN.d.ts} +7 -4
  63. package/dist/platform.d.ts +4 -0
  64. package/dist/platform.js.map +1 -1
  65. package/dist/profiles.d.ts +36 -23
  66. package/dist/profiles.js +2 -2
  67. package/dist/profiles.js.map +1 -1
  68. package/dist/{router-client-D6Ocf4jG.d.ts → router-client-r8y_VFVM.d.ts} +1 -0
  69. package/dist/{substrate-rNj6TDc3.d.ts → substrate-DO2GHNg2.d.ts} +5 -3
  70. package/dist/{types-By9LXllv.d.ts → types-Driepl87.d.ts} +3 -2
  71. package/dist/{types-BF-MEsQB.d.ts → types-ESeMOj94.d.ts} +26 -11
  72. package/dist/{worktree-fanout-D9Z2dMS9.d.ts → worktree-fanout-D6xR2CIA.d.ts} +16 -10
  73. package/dist/{worktree-harness-Dx8XULW3.d.ts → worktree-harness-CX_McRLp.d.ts} +11 -8
  74. package/package.json +3 -3
  75. package/dist/chunk-5JAUQZQA.js.map +0 -1
  76. package/dist/chunk-A7LZR5DT.js.map +0 -1
  77. package/dist/chunk-C2FZ6GR6.js.map +0 -1
  78. package/dist/chunk-CO2KBPRE.js.map +0 -1
  79. package/dist/chunk-DJQFJEOD.js.map +0 -1
  80. package/dist/chunk-FNMGYYSS.js.map +0 -1
  81. package/dist/chunk-GRAGM4MC.js.map +0 -1
  82. package/dist/chunk-H7IBHAFT.js.map +0 -1
  83. package/dist/chunk-JYURIKPF.js.map +0 -1
  84. package/dist/chunk-KSGHI53L.js.map +0 -1
  85. package/dist/chunk-LWGVVP2C.js.map +0 -1
  86. package/dist/chunk-NBV35BR6.js.map +0 -1
  87. package/dist/chunk-UZ5SODU7.js.map +0 -1
  88. package/dist/chunk-WIR4HOOJ.js.map +0 -1
package/dist/loops.d.ts CHANGED
@@ -1,32 +1,31 @@
1
- import { ChatClient, RunRecord, AnalystFinding, AgentProfile, AnalystRunInputs, ToolSpan, StreamingDetector, DetectorSignal, buildTrajectory } from '@tangle-network/agent-eval';
1
+ import { ChatClient, RunRecord, HarnessType, AgentProfile, AnalystFinding, AnalystRunInputs, ToolSpan, StreamingDetector, DetectorSignal, buildTrajectory } from '@tangle-network/agent-eval';
2
2
  export { AnalystFinding, DefaultVerdict, computeFindingId, makeFinding } from '@tangle-network/agent-eval';
3
3
  import { SandboxEvent, SandboxInstance, CreateSandboxOptions } from '@tangle-network/sandbox';
4
4
  export { AgentProfile, CreateSandboxOptions, SandboxEvent, SandboxInstance } from '@tangle-network/sandbox';
5
- import { d as ResultBlobStore, S as SpawnJournal, N as NodeId, j as SpawnEvent, E as ExecutorFactory, c as Agent, B as Budget, i as Scope, g as Settled, f as SupervisedResult, h as Spend, U as UsageEvent, b as ExecutorRegistry, k as Supervisor } from './types-By9LXllv.js';
6
- export { A as AgentSpec, a as Executor, l as ExecutorContext, m as ExecutorResult, R as Runtime, n as SupervisorOpts, T as TreeView, W as WidenGate } from './types-By9LXllv.js';
7
- import { ak as MakeWorkerAgent, A as AnalystRegistry, o as CoordinationTools, n as CoordinationEvent, ar as QuestionPolicy, a$ as ExecutorConfig } from './coordination-BI9tpcmF.js';
8
- export { b0 as BusEvent, b1 as BusRecord, b2 as BusStats, b3 as EventBus, b4 as ProviderSeam, b5 as PublishOptions, b6 as cliWorktreeExecutor, b7 as createEventBus, b8 as createExecutor, b9 as createExecutorRegistry } from './coordination-BI9tpcmF.js';
9
- import { R as RuntimeHooks, I as Iteration, S as SandboxClient, W as Driver, A as AgentRunSpec, b as OutputAdapter, V as Validator, E as ExecCtx, X as LoopWinner, Y as LoopLineageOptions, Z as LoopResult, L as LoopTokenUsage, a as RuntimeStreamEvent, _ as MountRecorder } from './types-BF-MEsQB.js';
10
- export { $ as LoopDecisionPayload, a0 as LoopEndedPayload, a1 as LoopIterationDispatchPayload, a2 as LoopIterationEndedPayload, a3 as LoopIterationStartedPayload, a4 as LoopPlanDescription, a5 as LoopPlanPayload, d as LoopSandboxPlacement, a6 as LoopStartedPayload, a7 as LoopTeardownFailedPayload, e as LoopTraceEmitter, c as LoopTraceEvent, a8 as MountManifestEntry, a9 as RunProvenance, aa as SelectionReceipt, ab as ValidationCtx } from './types-BF-MEsQB.js';
5
+ import { d as ResultBlobStore, S as SpawnJournal, N as NodeId, j as SpawnEvent, E as ExecutorFactory, c as Agent, B as Budget, i as Scope, g as Settled, f as SupervisedResult, h as Spend, U as UsageEvent, b as ExecutorRegistry, k as Supervisor } from './types-Driepl87.js';
6
+ export { A as AgentSpec, a as Executor, l as ExecutorContext, m as ExecutorResult, R as Runtime, n as SupervisorOpts, T as TreeView, W as WidenGate } from './types-Driepl87.js';
7
+ import { ak as MakeWorkerAgent, A as AnalystRegistry, o as CoordinationTools, n as CoordinationEvent, ar as QuestionPolicy, a$ as ExecutorConfig } from './coordination-CuDLO8wj.js';
8
+ export { b0 as BusEvent, b1 as BusRecord, b2 as BusStats, b3 as EventBus, b4 as ProviderSeam, b5 as PublishOptions, b6 as cliWorktreeExecutor, b7 as createEventBus, b8 as createExecutor, b9 as createExecutorRegistry } from './coordination-CuDLO8wj.js';
9
+ import { R as RuntimeHooks, I as Iteration, S as SandboxClient, W as Driver, A as AgentRunSpec, b as OutputAdapter, V as Validator, E as ExecCtx, X as LoopWinner, Y as LoopLineageOptions, Z as LoopResult, L as LoopTokenUsage, a as RuntimeStreamEvent, _ as MountRecorder } from './types-ESeMOj94.js';
10
+ export { $ as LoopDecisionPayload, a0 as LoopEndedPayload, a1 as LoopIterationDispatchPayload, a2 as LoopIterationEndedPayload, a3 as LoopIterationStartedPayload, a4 as LoopPlanDescription, a5 as LoopPlanPayload, d as LoopSandboxPlacement, a6 as LoopStartedPayload, a7 as LoopTeardownFailedPayload, e as LoopTraceEmitter, c as LoopTraceEvent, a8 as MountManifestEntry, a9 as RunProvenance, aa as SelectionReceipt, ab as ValidationCtx } from './types-ESeMOj94.js';
11
+ import { RunProfileMatrixResult, Scenario, ProfileDispatchFn, JudgeConfig, RunProfileMatrixOptions, DispatchFn } from '@tangle-network/agent-eval/campaign';
11
12
  export { AgentEnvironmentProviderRef, AgentEnvironmentProviderRegistry, ProviderAsSandboxClientOptions, ProviderExecutorOptions, SandboxClientProviderOptions, createAgentEnvironmentProviderRegistry, providerAsExecutor, providerAsSandboxClient, resolveAgentEnvironmentProvider, sandboxClientAsProvider } from './environment-provider.js';
12
- import { C as CorpusRecord, c as Corpus, O as Outcome, S as ScopeAnalyzeInput, d as AssertTraceDerivedFindings, e as SteerContext, f as ScopeAnalyst, F as FanoutOptions, g as CombinatorShape, h as ScopeWidenGate, L as LoopUntilSpec, P as PanelSpec, i as PipelineStage, W as WinnerStrategy, j as FanoutWinnerSelector, V as VerifySpec, k as WidenSpec, l as CorpusFilter, R as RenderCorpusToInstructionsOptions, D as DefinePersonaInput, m as Persona, n as RunPersonifiedOptions, o as ShapeRegistry, p as LoopShape, E as EqualKArm, q as EqualKOnCostOptions, r as EqualKVerdict, T as TrajectoryReportOptions, s as TrajectoryReport } from './worktree-fanout-D9Z2dMS9.js';
13
- export { A as AuthoredHarness, t as DefinePersona, u as EqualKOnCost, v as Fanout, w as FanoutSynthesis, x as FlatWidenGate, y as LoopUntil, z as LoopUntilState, B as Panel, G as PanelJudge, H as PanelVerdict, I as PatchDeliverableOptions, J as PersonaContext, K as PersonaExecutors, M as Pipeline, N as RenderCorpusToInstructions, Q as RunPersonified, U as ShapeBudget, X as ShapeContext, Y as TrajectoryNode, Z as TrajectoryReportFn, _ as Verify, $ as Widen, a0 as WidenDecision, a1 as WidenLineage, a2 as WorktreeCliExecutorOptions, a as WorktreeFanoutOptions, b as WorktreePatchArtifact, a3 as createWorktreeCliExecutor, a4 as patchDelivered, a5 as worktreeFanout } from './worktree-fanout-D9Z2dMS9.js';
14
- import { Scenario, DispatchFn, ProfileDispatchFn } from '@tangle-network/agent-eval/campaign';
13
+ import { C as CorpusRecord, c as Corpus, O as Outcome, S as ScopeAnalyzeInput, d as AssertTraceDerivedFindings, e as SteerContext, f as ScopeAnalyst, F as FanoutOptions, g as CombinatorShape, h as ScopeWidenGate, L as LoopUntilSpec, P as PanelSpec, i as PipelineStage, W as WinnerStrategy, j as FanoutWinnerSelector, V as VerifySpec, k as WidenSpec, l as CorpusFilter, R as RenderCorpusToInstructionsOptions, D as DefinePersonaInput, m as Persona, n as RunPersonifiedOptions, o as ShapeRegistry, p as LoopShape, E as EqualKArm, q as EqualKOnCostOptions, r as EqualKVerdict, T as TrajectoryReportOptions, s as TrajectoryReport } from './worktree-fanout-D6xR2CIA.js';
14
+ export { A as AuthoredHarness, t as DefinePersona, u as EqualKOnCost, v as Fanout, w as FanoutSynthesis, x as FlatWidenGate, y as LoopUntil, z as LoopUntilState, B as Panel, G as PanelJudge, H as PanelVerdict, I as PatchDeliverableOptions, J as PersonaContext, K as PersonaExecutors, M as Pipeline, N as RenderCorpusToInstructions, Q as RunPersonified, U as ShapeBudget, X as ShapeContext, Y as TrajectoryNode, Z as TrajectoryReportFn, _ as Verify, $ as Widen, a0 as WidenDecision, a1 as WidenLineage, a2 as WorktreeCliExecutorOptions, a as WorktreeFanoutOptions, b as WorktreePatchArtifact, a3 as createWorktreeCliExecutor, a4 as patchDelivered, a5 as worktreeFanout } from './worktree-fanout-D6xR2CIA.js';
15
15
  import { b as AnalystRegistryLike } from './types-BC3bZpH0.js';
16
16
  import { AgentProfile as AgentProfile$1 } from '@tangle-network/agent-interface';
17
- import { R as RouterConfig, a as ToolLoopChat, b as ToolLoopCompactionOptions } from './router-client-D6Ocf4jG.js';
18
- export { c as RouterChatResult, d as RouterChatToolsResult, e as RouterToolCall, f as RouterToolLoopResult, g as ToolLoopCompaction, T as ToolSpec, r as routerBrain, h as routerChatWithTools, i as routerChatWithUsage, j as routerToolLoop } from './router-client-D6Ocf4jG.js';
19
- import { D as DeliverableSpec } from './worktree-harness-Dx8XULW3.js';
20
- export { g as WorktreeCommandResult, h as gateOnDeliverable } from './worktree-harness-Dx8XULW3.js';
17
+ import { R as RouterConfig, a as ToolLoopChat, b as ToolLoopCompactionOptions } from './router-client-r8y_VFVM.js';
18
+ export { c as RouterChatResult, d as RouterChatToolsResult, e as RouterToolCall, f as RouterToolLoopResult, g as ToolLoopCompaction, T as ToolSpec, r as routerBrain, h as routerChatWithTools, i as routerChatWithUsage, j as routerToolLoop } from './router-client-r8y_VFVM.js';
19
+ import { D as DeliverableSpec } from './worktree-harness-CX_McRLp.js';
20
+ export { g as WorktreeCommandResult, h as gateOnDeliverable } from './worktree-harness-CX_McRLp.js';
21
21
  import { stuckLoopView, toolWasteView } from '@tangle-network/agent-eval/pipelines';
22
22
  export { AgentEnvironment, AgentEnvironmentCapabilities, AgentEnvironmentEvent, AgentEnvironmentProvider, AgentEnvironmentQuery, AgentEnvironmentStatus, AgentEnvironmentSummary, AgentProfileRef, AgentSession, AgentSessionRef, AgentSessionStatus, AgentTurnInput, AgentTurnResult, CheckpointRef, CheckpointRequest, CreateAgentEnvironmentInput, ExecRequest, ExecResult, ForkRequest, PlacementInfo, ResourceRequest, WorkspaceRequest } from '@tangle-network/agent-interface/environment-provider';
23
- import './substrate-rNj6TDc3.js';
23
+ import './substrate-DO2GHNg2.js';
24
24
  import './otel-export-BKmNwiCb.js';
25
- import './local-harness-DU7yV6mG.js';
25
+ import './local-harness-sI0S_XNA.js';
26
26
  import 'node:child_process';
27
27
 
28
28
  /**
29
- * @experimental
30
29
  *
31
30
  * Event-sourced spawn journal for the recursive execution atom (build steps 3 + 7).
32
31
  *
@@ -44,6 +43,8 @@ import 'node:child_process';
44
43
  * each settlement — NOT wall-clock. `replaySpawnTree` sorts strictly by `seq` before
45
44
  * touching the blob store, so the order in which rehydration `get`s resolve can never
46
45
  * reorder the replayed `Settled[]`; the result is identical regardless of blob latency.
46
+ *
47
+ * @experimental
47
48
  */
48
49
 
49
50
  /**
@@ -136,6 +137,7 @@ interface WaterfallCollector {
136
137
  }): string;
137
138
  reset(): void;
138
139
  }
140
+ /** Build a `WaterfallCollector` that records agent spans and renders them as an ASCII timeline. */
139
141
  declare function createWaterfallCollector(): WaterfallCollector;
140
142
 
141
143
  /**
@@ -273,7 +275,9 @@ interface IntentAudit {
273
275
  steer?: string;
274
276
  confidence: number;
275
277
  }
278
+ /** Default system instruction for intent-auditor agents: diagnose diverged/drifting trajectories. */
276
279
  declare const defaultAuditorInstruction: string;
280
+ /** The route-rigor analyst: compare declared vs revealed vs user intent over a trajectory and return aligned / drifting / diverged with evidence and one recommended intervention. */
277
281
  declare function auditIntent(input: AuditIntentInput, opts: AuditIntentOptions): Promise<IntentAudit>;
278
282
 
279
283
  /**
@@ -410,7 +414,6 @@ declare function renderLeaderboardSvg(report: Leaderboard): string;
410
414
  declare function renderLeaderboardHtml(report: Leaderboard): string;
411
415
 
412
416
  /**
413
- * @experimental
414
417
  *
415
418
  * Completion / satisfiability — the OTHER output of the pluggable analyst (the steer output
416
419
  * is `AnalystFinding[]` via the `analyze` hook; this is the "is it done?" output via the
@@ -431,6 +434,8 @@ declare function renderLeaderboardHtml(report: Leaderboard): string;
431
434
  * unguessable + attributable, so it can't be spuriously emitted or confused with content.
432
435
  * - deterministic check (compile/test/citation/proof): `deterministicCompletion(check)` —
433
436
  * a verifier over the output, never the judge verdict (selector ≠ judge holds).
437
+ *
438
+ * @experimental
434
439
  */
435
440
 
436
441
  /** Trace-derived evidence for a completion claim — an artifact (output) or a verifier metric,
@@ -464,6 +469,7 @@ interface CompletionPolicy {
464
469
  /** Minimum confidence a PROBABILISTIC verdict must clear to end. Default 0.8. */
465
470
  minConfidence?: number;
466
471
  }
472
+ /** Decide whether a `CompletionVerdict` may end the node under the policy: authority scales with the verdict's determinism, and probabilistic verdicts must clear `minConfidence`. */
467
473
  declare function completionAuthorizes(v: CompletionVerdict, policy?: CompletionPolicy): boolean;
468
474
  /**
469
475
  * A unique, attributable stop sentinel for a node (ralph-loop style). Deterministic from the
@@ -488,6 +494,158 @@ declare function deterministicCompletion<Task, Output>(check: (output: Output, h
488
494
  reasons?: string;
489
495
  }): CompletionAnalyst<Task, Output>;
490
496
 
497
+ /** Structured per-case verdict a `score` function may return (a bare number is
498
+ * shorthand for `{ composite }`). `composite` is the [0,1] leaderboard score;
499
+ * `dimensions` are recorded as extra judge dimensions. */
500
+ interface LeaderboardScore {
501
+ composite: number;
502
+ dimensions?: Record<string, number>;
503
+ notes?: string;
504
+ }
505
+ /** The campaign scenario a case is wrapped into: the case rides along so
506
+ * judges and hooks can reach the full domain payload, not just its id. */
507
+ interface LeaderboardScenario<TCase> extends Scenario {
508
+ case: TCase;
509
+ }
510
+ /** One extra CLI flag a spec declares. Parsed by `run()` as `--<name> <value>`
511
+ * and surfaced to every hook via `ctx.args`. */
512
+ interface LeaderboardFlagSpec {
513
+ default?: string;
514
+ description: string;
515
+ }
516
+ /** Resolved run configuration handed to `setup` / `teardown` / `export`. */
517
+ interface LeaderboardRunContext {
518
+ name: string;
519
+ /** Execution backend name (`--backend`), a key of `backends`. */
520
+ backend: string;
521
+ runDir: string;
522
+ exportDir: string;
523
+ /** Every parsed flag (standard + `spec.flags`), by name without `--`. */
524
+ args: Record<string, string | undefined>;
525
+ harnesses: readonly HarnessType[];
526
+ /** Snapshot-stamped model ids (`name@snapshot`) — the eval identity models. */
527
+ models: readonly string[];
528
+ caseIds: readonly string[];
529
+ shots: number;
530
+ reps: number;
531
+ }
532
+ /** Structurally `BenchTask` (bench registry shape) — declared locally so this
533
+ * module adds no dependency on a benchmark package. */
534
+ interface LeaderboardBenchTask {
535
+ id: string;
536
+ prompt: string;
537
+ split?: string;
538
+ metadata?: Record<string, unknown>;
539
+ }
540
+ /** Structurally `BenchScore` (bench registry shape). */
541
+ interface LeaderboardBenchScore {
542
+ resolved: boolean;
543
+ score: number;
544
+ detail?: string;
545
+ }
546
+ /** Structurally `BenchmarkAdapter` (bench registry shape): `name`,
547
+ * `preflight()`, `loadTasks()`, deterministic `judge()`, `goldArtifact()`. */
548
+ interface LeaderboardBenchmarkAdapter {
549
+ readonly name: string;
550
+ preflight(): Promise<void>;
551
+ loadTasks(opts?: {
552
+ limit?: number;
553
+ split?: string;
554
+ ids?: string[];
555
+ }): Promise<LeaderboardBenchTask[]>;
556
+ judge(task: LeaderboardBenchTask, artifact: string): Promise<LeaderboardBenchScore>;
557
+ goldArtifact(task: LeaderboardBenchTask): Promise<string | undefined>;
558
+ }
559
+ interface LeaderboardSpec<TCase> {
560
+ /** Leaderboard name — the scenario `kind`, default profile name, and report title. */
561
+ name: string;
562
+ /** The case corpus. Every case needs a stable string id (see `caseId`). */
563
+ cases: TCase[];
564
+ /** Stable id extractor. Default: the case's own `id` property (fail-loud
565
+ * when absent or not a string). */
566
+ caseId?: (c: TCase) => string;
567
+ /** The per-case task prompt. May be async (e.g. built by shelling out to a
568
+ * reference implementation); resolved ONCE per case before dispatch. */
569
+ prompt: (c: TCase) => string | Promise<string>;
570
+ /** The domain grader: agent output text → score. Used BOTH as the per-shot
571
+ * validator (a shot with `composite > 0` stops the naive retry loop) and,
572
+ * wrapped as a campaign judge, as the recorded leaderboard score. */
573
+ score: (output: string, c: TCase) => number | LeaderboardScore;
574
+ /** Harness × model axes for `expandProfileAxes`. Defaults: the canonical
575
+ * `CODING_HARNESSES` × the base profile's `model.default`. `--harnesses` /
576
+ * `--models` override per run. */
577
+ axis?: {
578
+ harnesses?: readonly HarnessType[];
579
+ models?: readonly string[];
580
+ };
581
+ /** Base profile the axes expand over (prompt/tools/skills held fixed).
582
+ * Default: a minimal `{ name, model: { default: <first model> } }`. */
583
+ baseProfile?: AgentProfile;
584
+ /**
585
+ * Execution-backend registry: `--backend <name>` picks the factory that
586
+ * yields the `SandboxClient` every cell runs on. Merged over the defaults:
587
+ * - `sandbox` — throws with guidance (a product must supply its real
588
+ * Sandbox-backed client; the facade has no credentials).
589
+ * - `cli-bridge` — `resolveSandboxClient({ backend: 'bridge' })` reading
590
+ * `CLI_BRIDGE_URL` + `BRIDGE_BEARER`/`CLI_BRIDGE_BEARER`; the per-cell
591
+ * harness/model ride in via `sandboxOverrides.backend`.
592
+ */
593
+ backends?: Record<string, (() => SandboxClient) | undefined>;
594
+ /** Extra `--flag value` CLI args `run()` parses and surfaces via `ctx.args`. */
595
+ flags?: Record<string, LeaderboardFlagSpec>;
596
+ /** Extra fields merged into each cell's `backend.model` create override —
597
+ * e.g. `{ provider: 'openai-compat', apiKey, baseUrl }` for a router-backed
598
+ * sandbox. The cell's bare model id is set by the facade from the axis. */
599
+ modelBackend?: Record<string, unknown>;
600
+ /** Runs once before the matrix (fetch fixtures, warm caches). */
601
+ setup?: (ctx: LeaderboardRunContext) => Promise<void> | void;
602
+ /** Runs once after the matrix, even on failure (reap boxes, close handles). */
603
+ teardown?: (ctx: LeaderboardRunContext) => Promise<void> | void;
604
+ /** Per-cell event tap: the raw sandbox events of each parsed iteration,
605
+ * with the case — the seam for domain metric capture (search counts,
606
+ * citations) without a substrate change. */
607
+ onCellEvents?: (events: readonly SandboxEvent[], c: TCase) => void;
608
+ /** Output decode override: raw events → the scored output text. Default:
609
+ * the sandbox SDK's `collectAgentResponseText` (final answer text; empty
610
+ * string when the stream carried none — which then scores 0). */
611
+ parseOutput?: (events: readonly SandboxEvent[], c: TCase) => string;
612
+ /** Result export. Default: write `matrix-result.json` under the run dir and
613
+ * print (+ write) the ranked leaderboard markdown under the export dir. */
614
+ export?: (result: RunProfileMatrixResult<string, LeaderboardScenario<TCase>>, ctx: LeaderboardRunContext) => Promise<void> | void;
615
+ /** LEVEL 2 — full dispatch replacement (in-process products bring their own).
616
+ * The default is `loopDispatch` + `naiveDriver` over the resolved backend. */
617
+ dispatch?: ProfileDispatchFn<LeaderboardScenario<TCase>, string>;
618
+ /** LEVEL 2 — full judge replacement. Default: `score` wrapped as one judge. */
619
+ judges?: JudgeConfig<string, LeaderboardScenario<TCase>>[];
620
+ /** Naive-retry shot cap per cell (`--shots`). Default 1. */
621
+ shots?: number;
622
+ /** Replicates per cell (`--reps`). Default 1. */
623
+ reps?: number;
624
+ /** Passthrough overrides spread onto the final `runProfileMatrix` call
625
+ * (e.g. `maxConcurrency`, `costCeiling`, `integrity`, `storage`) — spread
626
+ * LAST, so anything the facade wired can be overridden. */
627
+ matrix?: Partial<RunProfileMatrixOptions<LeaderboardScenario<TCase>, string>>;
628
+ }
629
+ interface DefinedLeaderboard<TCase> {
630
+ /**
631
+ * Parse flags, run the matrix, export, and return the raw result.
632
+ *
633
+ * Standard flags: `--backend <name>` (default `sandbox`), `--harnesses a,b`,
634
+ * `--models m1,m2`, `--cases id1,id2`, `--shots N`, `--reps N`,
635
+ * `--model-snapshot <tag>`, `--run-dir <path>`, `--export-dir <path>`,
636
+ * plus every `spec.flags` entry. `argv` defaults to `process.argv.slice(2)`.
637
+ *
638
+ * The default run dir is FRESH per invocation (timestamp+pid under the OS
639
+ * tmpdir). `runProfileMatrix` caches cells by run dir, and a stable default
640
+ * would silently reuse a prior FAILED zero-token cell and skip dispatch —
641
+ * only an explicit `--run-dir` opts into that resume behavior.
642
+ */
643
+ run(argv?: string[]): Promise<RunProfileMatrixResult<string, LeaderboardScenario<TCase>>>;
644
+ /** The same domain surface in the structural `BenchmarkAdapter` shape. */
645
+ toBenchmarkAdapter(): LeaderboardBenchmarkAdapter;
646
+ }
647
+ declare function defineLeaderboard<TCase>(spec: LeaderboardSpec<TCase>): DefinedLeaderboard<TCase>;
648
+
491
649
  /**
492
650
  * The third-person observer — the connective tissue that closes the loop.
493
651
  *
@@ -546,6 +704,7 @@ interface Observation {
546
704
  /** Operator-facing markdown: what the observer noticed + what to change. */
547
705
  report: string;
548
706
  }
707
+ /** The third-person trace analyst: read a worker's trace and produce steer findings for the next attempt plus durable `learned` facts for the cross-run corpus. */
549
708
  declare function observe(input: ObserveInput, opts: ObserveOptions): Promise<Observation>;
550
709
  /** Operator-facing report, split by who should act. The agent block is the
551
710
  * steer; the operator block is the advice. */
@@ -605,6 +764,7 @@ interface HarvestReport {
605
764
  /** Per-run analysis failures — reported, never silently dropped. */
606
765
  failures: HarvestFailure[];
607
766
  }
767
+ /** Batch the firewalled `observe()` analyst over completed runs and accrete the trace-derived facts into the durable corpus — the production-traces→corpus write side of the flywheel. */
608
768
  declare function harvestCorpus(opts: HarvestCorpusOptions): Promise<HarvestReport>;
609
769
 
610
770
  /** Context handed to each `onPrompt` call. */
@@ -664,7 +824,6 @@ declare function inProcessSandboxClient(options: InProcessSandboxClientOptions):
664
824
  declare function inlineSandboxClient(factory: ExecutorFactory<unknown>): SandboxClient;
665
825
 
666
826
  /**
667
- * @experimental
668
827
  *
669
828
  * `runLoop` — the topology-agnostic kernel built atop the sandbox SDK.
670
829
  *
@@ -686,6 +845,8 @@ declare function inlineSandboxClient(factory: ExecutorFactory<unknown>): Sandbox
686
845
  * emission. The kernel does NOT own: what the agent runs (sandbox SDK +
687
846
  * profile), how outputs are decoded (output adapter), how outputs are
688
847
  * scored (validator), or topology (driver).
848
+ *
849
+ * @experimental
689
850
  */
690
851
 
691
852
  /** @experimental */
@@ -753,7 +914,11 @@ interface RunLoopOptions<Task, Output, Decision> {
753
914
  */
754
915
  lineage?: LoopLineageOptions;
755
916
  }
756
- /** @experimental */
917
+ /**
918
+ * The round-synchronous loop kernel: each round `driver.plan()` fans N tasks to sandboxes (bounded concurrency), parses + validates each output, and folds results through `driver.decide`.
919
+ *
920
+ * @experimental
921
+ */
757
922
  declare function runLoop<Task, Output, Decision>(options: RunLoopOptions<Task, Output, Decision>): Promise<LoopResult<Task, Output, Decision>>;
758
923
  /**
759
924
  * The kernel's winner argmax — best-valid-score, ties broken by earliest index,
@@ -975,7 +1140,9 @@ interface Strategy {
975
1140
  readonly name: string;
976
1141
  driver(surface: AgenticSurface, task: AgenticTask, opts: AgenticOptions, budget: number): Agent<unknown, Outcome<unknown>>;
977
1142
  }
1143
+ /** Built-in `Strategy`: K independent attempts, keep the best-verifying (best-of-N / resample). */
978
1144
  declare const sample: Strategy;
1145
+ /** Built-in `Strategy`: attempt → `observe()` reads the trace → steer the next attempt → repeat (deepen one lineage). */
979
1146
  declare const refine: Strategy;
980
1147
  /** A role for one shot — multi-agent loops (researcher + engineer, a panel of k
981
1148
  * researchers) give each shot its own system prompt and optionally its own model. */
@@ -1144,6 +1311,7 @@ interface BenchmarkStrategySummary {
1144
1311
  usd: number;
1145
1312
  ms: number;
1146
1313
  }
1314
+ /** Benchmark output: per-strategy means plus the full per-task × per-strategy losses table an optimizer mines. */
1147
1315
  interface BenchmarkReport {
1148
1316
  n: number;
1149
1317
  excluded: number;
@@ -1206,10 +1374,10 @@ interface McpEnvironmentOptions {
1206
1374
  /** Cap on a tool result's text fed back to the worker. Default 1500 chars. */
1207
1375
  maxResultChars?: number;
1208
1376
  }
1377
+ /** Wrap any MCP server as an `Environment`: `tools/list` becomes `AgenticTool[]` with provider-safe schemas; the domain supplies only the artifact lifecycle hooks. */
1209
1378
  declare function createMcpEnvironment(opts: McpEnvironmentOptions): Environment;
1210
1379
 
1211
1380
  /**
1212
- * @experimental
1213
1381
  *
1214
1382
  * Analyst-on-scope (G1) — the analyze→findings→steer wire over the reactive `Scope`.
1215
1383
  *
@@ -1226,6 +1394,8 @@ declare function createMcpEnvironment(opts: McpEnvironmentOptions): Environment;
1226
1394
  * drains its settlement, then enforces the firewall on the way out — a judge-derived finding
1227
1395
  * ABORTS, it is never filtered. Fail loud: a down analyst, a non-array result, or a tainted finding
1228
1396
  * throws; there is no silent empty-findings path that would let a combinator steer on nothing.
1397
+ *
1398
+ * @experimental
1229
1399
  */
1230
1400
 
1231
1401
  declare const assertTraceDerivedFindings: AssertTraceDerivedFindings;
@@ -1303,7 +1473,6 @@ declare function registryScopeAnalyst<D>(registry: AnalystRegistryLike, buildInp
1303
1473
  declare function buildSteerContext<D>(findings: ReadonlyArray<AnalystFinding>, settledSoFar: ReadonlyArray<Settled<Outcome<D>>>): SteerContext<D>;
1304
1474
 
1305
1475
  /**
1306
- * @experimental
1307
1476
  *
1308
1477
  * The generic combinator library — the content-free act-bodies the wave's §1 contract froze.
1309
1478
  *
@@ -1323,6 +1492,8 @@ declare function buildSteerContext<D>(findings: ReadonlyArray<AnalystFinding>, s
1323
1492
  * Two fail-loud invariants every combinator honors: a child the conserved pool cannot admit is a
1324
1493
  * CONCRETE blocker (never an eager over-fan, never a silent drop), and a `blocked` outcome always
1325
1494
  * names at least one blocker (a shape that cannot finish MUST say why — `blocked([])` throws).
1495
+ *
1496
+ * @experimental
1326
1497
  */
1327
1498
 
1328
1499
  /**
@@ -1406,7 +1577,6 @@ declare function widen<Task, Seed, D>(spec: WidenSpec<Seed, D>): CombinatorShape
1406
1577
  declare function flatWidenGate<D>(): ScopeWidenGate<D>;
1407
1578
 
1408
1579
  /**
1409
- * @experimental
1410
1580
  *
1411
1581
  * The cross-run corpus (G2) — the learning-flywheel's durable accreted-fact store.
1412
1582
  *
@@ -1421,6 +1591,8 @@ declare function flatWidenGate<D>(): ScopeWidenGate<D>;
1421
1591
  * the same `id`. Malformed records — a structurally-invalid `CorpusRecord` from disk or a caller —
1422
1592
  * fail loud (the validator throws), since a corpus that silently accepts garbage would poison
1423
1593
  * every downstream run that reads it back.
1594
+ *
1595
+ * @experimental
1424
1596
  */
1425
1597
 
1426
1598
  /**
@@ -1475,7 +1647,6 @@ declare class FileCorpus implements Corpus {
1475
1647
  declare function renderCorpusToInstructions(opts: RenderCorpusToInstructionsOptions): Promise<AgentProfile$1>;
1476
1648
 
1477
1649
  /**
1478
- * @experimental
1479
1650
  *
1480
1651
  * The personify layer impl — `definePersona` (the thin builder) + `runPersonified` (composes
1481
1652
  * the persona + chosen shape onto the keystone `Supervisor`), plus `createShapeContext`, the
@@ -1492,6 +1663,8 @@ declare function renderCorpusToInstructions(opts: RenderCorpusToInstructionsOpti
1492
1663
  * that supplies raw `seams` is therefore wrapped here into a registry whose resolved factories
1493
1664
  * receive a ctx with the persona seams merged in — so a persona never has to pre-close its
1494
1665
  * factories by hand. A persona may instead supply a fully-built `registry` and skip the wrap.
1666
+ *
1667
+ * @experimental
1495
1668
  */
1496
1669
 
1497
1670
  /**
@@ -1510,7 +1683,6 @@ declare function definePersona<D = unknown>(input: DefinePersonaInput<D>): Perso
1510
1683
  declare function runPersonified<Task, D>(options: RunPersonifiedOptions<Task, D>): Promise<SupervisedResult<Outcome<D>>>;
1511
1684
 
1512
1685
  /**
1513
- * @experimental
1514
1686
  *
1515
1687
  * The loop-shape registry — the OPEN, content-free extension point for the personify layer.
1516
1688
  *
@@ -1524,6 +1696,8 @@ declare function runPersonified<Task, D>(options: RunPersonifiedOptions<Task, D>
1524
1696
  * `verify`/`widen`) take spec arguments, so they are not bare zero-arg factories — a caller that
1525
1697
  * wants name-resolution registers its own COMPOSED shape (a combinator already applied to its
1526
1698
  * spec) on a registry instance. The registry carries SHAPE only; the domain lives on the persona.
1699
+ *
1700
+ * @experimental
1527
1701
  */
1528
1702
 
1529
1703
  /**
@@ -1539,7 +1713,6 @@ declare const builtinShapes: ShapeRegistry;
1539
1713
  declare function registerShape<Task, D>(name: string, factory: LoopShape<Task, D>): void;
1540
1714
 
1541
1715
  /**
1542
- * @experimental
1543
1716
  *
1544
1717
  * Trajectory trace + cost ledger — the post-hoc tree reconstructor (§4 of `wave-types`).
1545
1718
  *
@@ -1560,6 +1733,8 @@ declare function registerShape<Task, D>(name: string, factory: LoopShape<Task, D
1560
1733
  * CROSS-run analogue the pool cannot reach — proving equal compute before any win is claimed.
1561
1734
  *
1562
1735
  * Pure over the journal/blobs — no live agent calls; safe to run on a finished run's log.
1736
+ *
1737
+ * @experimental
1563
1738
  */
1564
1739
 
1565
1740
  /**
@@ -1635,6 +1810,7 @@ interface PromotionVerdict {
1635
1810
  high: number;
1636
1811
  };
1637
1812
  }
1813
+ /** Statistical promotion decision over a holdout benchmark: a seeded paired bootstrap (`heldoutSignificance`) whose CI lower bound must clear `deltaThreshold`. */
1638
1814
  declare function promotionGate(opts: PromotionGateOptions): PromotionVerdict;
1639
1815
 
1640
1816
  /**
@@ -1720,7 +1896,6 @@ interface ResolveSandboxClientOptions {
1720
1896
  declare function resolveSandboxClient(opts: ResolveSandboxClientOptions): SandboxClient;
1721
1897
 
1722
1898
  /**
1723
- * @experimental
1724
1899
  *
1725
1900
  * `acquireSandbox` — cold-start-resilient sandbox acquisition. Eliminates the
1726
1901
  * "create timed out at the proxy" failure mode conceptually by DECOUPLING "the
@@ -1744,6 +1919,8 @@ declare function resolveSandboxClient(opts: ResolveSandboxClientOptions): Sandbo
1744
1919
  * but never reaches `running` (abort, terminal status, budget) is torn down
1745
1920
  * before the failure propagates, so an abort storm during cold start does not
1746
1921
  * leak live sandboxes.
1922
+ *
1923
+ * @experimental
1747
1924
  */
1748
1925
 
1749
1926
  /** @experimental */
@@ -1765,11 +1942,14 @@ interface AcquireOptions {
1765
1942
  /** Sleep override for deterministic tests. */
1766
1943
  sleep?: (ms: number) => Promise<void>;
1767
1944
  }
1768
- /** @experimental */
1945
+ /**
1946
+ * Cold-start-resilient sandbox acquisition: create by name, observe readiness from the sandbox's own status (not the create call), and re-attach after gateway timeouts.
1947
+ *
1948
+ * @experimental
1949
+ */
1769
1950
  declare function acquireSandbox(client: SandboxClient, options: CreateSandboxOptions, acquire?: AcquireOptions): Promise<SandboxInstance>;
1770
1951
 
1771
1952
  /**
1772
- * @experimental
1773
1953
  *
1774
1954
  * Capability probe for the loop kernel's backend-blind lineage seams. The
1775
1955
  * kernel must NEVER ask "is this Docker or Firecracker?"; it asks "can this
@@ -1781,6 +1961,8 @@ declare function acquireSandbox(client: SandboxClient, options: CreateSandboxOpt
1781
1961
  * Invariant: a client with no `criuStatus` method (the loop's test fakes, the
1782
1962
  * raw SDK before it grew the probe) reports `canFork = false`. The seam is
1783
1963
  * fail-CLOSED — never assume forking works, only enable it on a positive probe.
1964
+ *
1965
+ * @experimental
1784
1966
  */
1785
1967
 
1786
1968
  /**
@@ -1892,7 +2074,6 @@ declare function mapSandboxEvent(event: SandboxEvent, opts?: {
1892
2074
  }): RuntimeStreamEvent | undefined;
1893
2075
 
1894
2076
  /**
1895
- * @experimental
1896
2077
  *
1897
2078
  * `SandboxLineage` — the backend-blind owner of box + session handles for a
1898
2079
  * single `runLoop` invocation. It exists so `run-loop.ts` never references a
@@ -1923,6 +2104,8 @@ declare function mapSandboxEvent(event: SandboxEvent, opts?: {
1923
2104
  * in `run-loop.ts`; the lineage only hands back the live `streamPrompt` iterable
1924
2105
  * so the kernel keeps ownership of event collection, cost accounting, and trace
1925
2106
  * emission.
2107
+ *
2108
+ * @experimental
1926
2109
  */
1927
2110
 
1928
2111
  /**
@@ -2074,12 +2257,13 @@ interface SessionCapableBox {
2074
2257
  */
2075
2258
 
2076
2259
  /**
2077
- * @experimental
2078
2260
  * How a typed deliverable `Out` is materialized from a finished turn.
2079
2261
  * - `events` — pure parse over the event array (identical to `OutputAdapter`).
2080
2262
  * - `artifact` — read a file off the box AFTER the turn drains, then map it (+ the
2081
2263
  * events). For diffs/codebases/documents that don't fit the chat
2082
2264
  * stream. `path` relative ⇒ workspace root; absolute ⇒ container FS.
2265
+ *
2266
+ * @experimental
2083
2267
  */
2084
2268
  type Deliverable<Out> = {
2085
2269
  kind: 'events';
@@ -2090,10 +2274,11 @@ type Deliverable<Out> = {
2090
2274
  fromArtifact: (raw: string, events: SandboxEvent[]) => Out;
2091
2275
  };
2092
2276
  /**
2093
- * @experimental
2094
2277
  * One finished turn over the artifact. A failed FS read is surfaced in `readError`
2095
2278
  * (never masked as an empty deliverable) so a caller distinguishes "agent produced
2096
2279
  * nothing" from a transport/FS fault.
2280
+ *
2281
+ * @experimental
2097
2282
  */
2098
2283
  interface TurnResult<Out> {
2099
2284
  out: Out;
@@ -2101,7 +2286,6 @@ interface TurnResult<Out> {
2101
2286
  readError?: string;
2102
2287
  }
2103
2288
  /**
2104
- * @experimental
2105
2289
  * Thrown when a turn is aborted/timed-out mid-settle. Carries the events drained
2106
2290
  * BEFORE the abort fired (and any in-progress `readError`) so an aborted run is
2107
2291
  * DIAGNOSABLE — the caller can tell never-started (`events: []`) from looped
@@ -2109,6 +2293,8 @@ interface TurnResult<Out> {
2109
2293
  *
2110
2294
  * `name === 'AbortError'`, so existing `err.name === 'AbortError'` callers (the
2111
2295
  * loop kernel, scope, supervise runtime) keep matching it unchanged.
2296
+ *
2297
+ * @experimental
2112
2298
  */
2113
2299
  declare class SandboxRunAbortError extends Error {
2114
2300
  readonly name = "AbortError";
@@ -2149,15 +2335,15 @@ interface OpenSandboxRunOptions {
2149
2335
  readRetryDelayMs?: number;
2150
2336
  }
2151
2337
  /**
2152
- * @experimental
2153
2338
  * Open a sandbox run. Harness-agnostic: the harness lives in
2154
2339
  * `options.agentRun.sandboxOverrides.backend.type`, so opencode/codex/claude-code/
2155
2340
  * kimi-code all flow through this one entrypoint with identical env/auth wiring.
2341
+ *
2342
+ * @experimental
2156
2343
  */
2157
2344
  declare function openSandboxRun<Out>(client: SandboxClient, options: OpenSandboxRunOptions, deliverable: Deliverable<Out>): Promise<SandboxRun<Out>>;
2158
2345
 
2159
2346
  /**
2160
- * @experimental
2161
2347
  *
2162
2348
  * Leak-free steering drivers — the non-LLM controls for the driven loop.
2163
2349
  *
@@ -2198,6 +2384,8 @@ declare function openSandboxRun<Out>(client: SandboxClient, options: OpenSandbox
2198
2384
  * They consume nothing the loop kernel does not already give `plan()`/`decide()`
2199
2385
  * — `runLoop` requires no change. A benchmark picks a driver by name and the
2200
2386
  * kernel does the rest.
2387
+ *
2388
+ * @experimental
2201
2389
  */
2202
2390
 
2203
2391
  /**
@@ -2554,10 +2742,10 @@ declare function pickChampion(means: Record<string, {
2554
2742
  }>, fieldOrder: string[], policy: ChampionPolicy, epsilon: number): ChampionPick;
2555
2743
  /** Search-side champion selection over a tournament report. */
2556
2744
  declare function selectChampion(report: BenchmarkReport, fieldOrder: string[], policy: ChampionPolicy, epsilon: number): ChampionPick;
2745
+ /** Multi-generation strategy search: author candidates from tournament losses, play them against the incumbent at equal budget, promote via `promotionGate` on an untouched holdout slice. */
2557
2746
  declare function runStrategyEvolution(cfg: StrategyEvolutionConfig): Promise<EvolutionReport>;
2558
2747
 
2559
2748
  /**
2560
- * @experimental
2561
2749
  *
2562
2750
  * The supervisor's intelligence is AUTHORING the agents it spawns — not pressing buttons.
2563
2751
  *
@@ -2569,6 +2757,8 @@ declare function runStrategyEvolution(cfg: StrategyEvolutionConfig): Promise<Evo
2569
2757
  *
2570
2758
  * The skill is the single OPTIMIZABLE surface: edit it → the supervisor designs better agents.
2571
2759
  * That is the self-improvement lever (the prompt/skill lever), not the execution plumbing.
2760
+ *
2761
+ * @experimental
2572
2762
  */
2573
2763
 
2574
2764
  /** What the supervisor AUTHORS per sub-task — a worker recipe (a partial `AgentProfile`). */
@@ -2602,6 +2792,7 @@ interface ProfileRichnessThresholds {
2602
2792
  /** A prompt with fewer than this many non-blank lines is thin (default 6). */
2603
2793
  readonly minSystemPromptLines: number;
2604
2794
  }
2795
+ /** Default thresholds for `ProfileRichnessThresholds` — 600 chars / 6 lines minimum system prompt. */
2605
2796
  declare const defaultProfileRichnessThresholds: ProfileRichnessThresholds;
2606
2797
  /** Per-field verdict on one authored profile — the raw material the bench renders + scores. */
2607
2798
  interface ProfileRichness {
@@ -2639,7 +2830,6 @@ declare function profileRichnessFinding(richness: ProfileRichness, opts?: {
2639
2830
  }): AnalystFinding;
2640
2831
 
2641
2832
  /**
2642
- * @experimental
2643
2833
  *
2644
2834
  * The conserved budget reservation pool — the invariant the whole instrument
2645
2835
  * rests on (critique M5/B3). One root `Budget` becomes a conserved pool of three
@@ -2657,6 +2847,8 @@ declare function profileRichnessFinding(richness: ProfileRichness, opts?: {
2657
2847
  * Pure and deterministic: `now()` is injected, there is no I/O, and no wall-clock or
2658
2848
  * RNG read. A `reserve`/`reconcile` ticket is single-use (fail-loud on double or
2659
2849
  * unknown reconcile) so a child can never refund twice.
2850
+ *
2851
+ * @experimental
2660
2852
  */
2661
2853
 
2662
2854
  /** Opaque, single-use reservation handle returned by `reserve` and consumed by
@@ -2735,7 +2927,6 @@ declare function spendFromUsageEvents(events: UsageEvent[]): Spend;
2735
2927
  declare function createBudgetPool(root: Budget, now?: () => number): BudgetPool;
2736
2928
 
2737
2929
  /**
2738
- * @experimental
2739
2930
  *
2740
2931
  * `driverAgent` — the driver's BRAIN.
2741
2932
  *
@@ -2759,6 +2950,8 @@ declare function createBudgetPool(root: Budget, now?: () => number): BudgetPool;
2759
2950
  * sandboxed harness drives the verbs as MCP tools. The same seam every tool-loop uses.
2760
2951
  * - `systemPrompt` — the driver's stance (the agent-eval worker-driver prompt / the prompt
2761
2952
  * generator). Injected, never hardcoded — the prompt is a pluggable role.
2953
+ *
2954
+ * @experimental
2762
2955
  */
2763
2956
 
2764
2957
  interface DriverAgentOptions {
@@ -2835,7 +3028,6 @@ declare function finalizeBestDelivered(settled: ReadonlyArray<{
2835
3028
  }>, blobs: ResultBlobStore): Promise<unknown>;
2836
3029
 
2837
3030
  /**
2838
- * @experimental
2839
3031
  *
2840
3032
  * Serve the coordination verbs (spawn_agent / await_event / observe_agent / steer_agent / stop)
2841
3033
  * as a real HTTP MCP server over a LIVE `Scope`. This is the keystone that lets a coding-harness
@@ -2852,6 +3044,8 @@ declare function finalizeBestDelivered(settled: ReadonlyArray<{
2852
3044
  * Transport: JSON-RPC over HTTP POST (the MCP streamable-HTTP shape — `application/json` for a
2853
3045
  * single response). The server is created INSIDE an agent's `act(task, scope)` so it fronts that
2854
3046
  * agent's live scope; tear it down when the act returns.
3047
+ *
3048
+ * @experimental
2855
3049
  */
2856
3050
 
2857
3051
  interface CoordinationMcpHandle {
@@ -2955,10 +3149,10 @@ interface SupervisorAgentDeps {
2955
3149
  * instead of re-billing the whole thing every turn. See `DriverAgentOptions.compaction`. */
2956
3150
  readonly compaction?: ToolLoopCompactionOptions;
2957
3151
  }
3152
+ /** Build a supervisor `Agent` from its profile: the brain resolves from `profile.harness` (backend-as-data), the same resolution rule as every worker. */
2958
3153
  declare function supervisorAgent(profile: SupervisorProfile, deps: SupervisorAgentDeps): Agent<unknown, unknown>;
2959
3154
 
2960
3155
  /**
2961
- * @experimental
2962
3156
  *
2963
3157
  * `delegate` — the one generic delegation verb. You hand it an INTENT (what you want done) and it
2964
3158
  * hands that intent to a default AUTHORING supervisor: a router-brained supervisor whose standing
@@ -2975,6 +3169,8 @@ declare function supervisorAgent(profile: SupervisorProfile, deps: SupervisorAge
2975
3169
  * caller on BOTH paths — a `winner` carries the delivered worker's spend, a `no-winner` carries the
2976
3170
  * spend incurred before it failed. That cost channel means a `delegate()` caller always learns what
2977
3171
  * the delegation actually spent.
3172
+ *
3173
+ * @experimental
2978
3174
  */
2979
3175
 
2980
3176
  /** The conserved pool a `delegate()` call applies when the caller does not pass its own `budget`.
@@ -3020,7 +3216,6 @@ interface DelegateOptions<Out = unknown> {
3020
3216
  declare function delegate<Out = unknown>(intent: string, opts?: DelegateOptions<Out>): Promise<SupervisedResult<Out>>;
3021
3217
 
3022
3218
  /**
3023
- * @experimental
3024
3219
  *
3025
3220
  * `TraceSource` — the ONE substrate-agnostic source of a worker's tool-call trace. The online
3026
3221
  * detectors and the settle-time analyzers consume agent-eval `ToolSpan`s from here, regardless of
@@ -3036,6 +3231,8 @@ declare function delegate<Out = unknown>(intent: string, opts?: DelegateOptions<
3036
3231
  *
3037
3232
  * This module imports NO substrate SDK — it decodes generic message parts / OpenAI tool-call shapes.
3038
3233
  * The sandbox wiring (`sandboxSessionTraceSource`) is the thin adapter that feeds box session parts in.
3234
+ *
3235
+ * @experimental
3039
3236
  */
3040
3237
 
3041
3238
  interface ToolStepInput {
@@ -3095,13 +3292,14 @@ declare function sandboxSessionTraceSource(box: SessionTraceBox, sessionId: stri
3095
3292
  }): TraceSource;
3096
3293
 
3097
3294
  /**
3098
- * @experimental
3099
3295
  *
3100
3296
  * The ONLINE analyst: watch a `TraceSource` and fold each tool span through agent-eval's published
3101
3297
  * streaming detector kernel (`repeatedActionDetector`/`errorStreakDetector` — the SAME kernel the
3102
3298
  * control loop folds), firing `onSignal` the moment a worker loops or error-storms. Substrate-
3103
3299
  * agnostic: it consumes spans from any source (owned router/bridge loop OR a sandbox box session),
3104
3300
  * never the raw tool seam. Detection logic + the failure taxonomy live in agent-eval; not reimplemented.
3301
+ *
3302
+ * @experimental
3105
3303
  */
3106
3304
 
3107
3305
  interface WatchTraceOptions {
@@ -3124,7 +3322,6 @@ declare function defaultToolDetectors(): StreamingDetector[];
3124
3322
  declare function watchTrace(source: TraceSource, opts?: WatchTraceOptions): () => void;
3125
3323
 
3126
3324
  /**
3127
- * @experimental
3128
3325
  *
3129
3326
  * The worker-side receive end of the down-leg: a per-worker inbox an executor exposes as
3130
3327
  * `Executor.deliver`. The driver's `steer_agent` / `answer_question` land here,
@@ -3138,6 +3335,8 @@ declare function watchTrace(source: TraceSource, opts?: WatchTraceOptions): () =
3138
3335
  * of a wrong path mid-task instead of waiting for it to finish the step.
3139
3336
  *
3140
3337
  * `deliver` never throws — a malformed message is ignored, per the `Executor.deliver` contract.
3338
+ *
3339
+ * @experimental
3141
3340
  */
3142
3341
  interface InboxMessage {
3143
3342
  readonly kind: 'steer' | 'answer';
@@ -3159,6 +3358,7 @@ interface Inbox {
3159
3358
  /** Render drained messages as ONE operator turn to fold into the worker's conversation. */
3160
3359
  fold(messages: ReadonlyArray<InboxMessage>): string;
3161
3360
  }
3361
+ /** Create the worker-side inbox for the down-leg: the driver's `steer_agent` / `answer_question` messages queue here and the worker's loop drains them at step boundaries and before settle. */
3162
3362
  declare function createInbox(): Inbox;
3163
3363
 
3164
3364
  /**
@@ -3169,7 +3369,6 @@ declare function createInbox(): Inbox;
3169
3369
  declare function assertModelAllowed(model: string | undefined, allowed: readonly string[] | undefined): void;
3170
3370
 
3171
3371
  /**
3172
- * @experimental
3173
3372
  *
3174
3373
  * `createInMemoryRunContext` — the one-call bundle of the in-memory stores a
3175
3374
  * `createSupervisor().run(root, task, opts)` needs: a fresh `InMemorySpawnJournal`
@@ -3191,6 +3390,8 @@ declare function assertModelAllowed(model: string | undefined, allowed: readonly
3191
3390
  * The spread shape matches `SupervisorOpts` exactly, so the call site reads:
3192
3391
  * const run = createInMemoryRunContext()
3193
3392
  * await createSupervisor().run(root, task, { budget, runId, ...run })
3393
+ *
3394
+ * @experimental
3194
3395
  */
3195
3396
 
3196
3397
  /** Options for the in-memory run context. */
@@ -3219,7 +3420,6 @@ interface InMemoryRunContext {
3219
3420
  declare function createInMemoryRunContext(opts?: InMemoryRunContextOptions): InMemoryRunContext;
3220
3421
 
3221
3422
  /**
3222
- * @experimental
3223
3423
  *
3224
3424
  * The reactive `Scope` impl (KEYSTONE, build step 4 + the step-8 adapter).
3225
3425
  *
@@ -3242,6 +3442,8 @@ declare function createInMemoryRunContext(opts?: InMemoryRunContextOptions): InM
3242
3442
  * The settle path is the only writer of journal `settled` events; the spawn path the only
3243
3443
  * writer of `spawned` events. The result blob is `put` BEFORE the journal `settled` record
3244
3444
  * references its `outRef`, so a crash can never leave a journaled ref with no blob.
3445
+ *
3446
+ * @experimental
3245
3447
  */
3246
3448
 
3247
3449
  /** Construction args for `createScope`. The supervisor threads the shared pool, journal,
@@ -3275,6 +3477,7 @@ interface ScopeArgs {
3275
3477
  * (the topology viewer reads it). Undefined ⇒ the journal stays the only record. */
3276
3478
  readonly hooks?: RuntimeHooks;
3277
3479
  }
3480
+ /** Create the reactive `Scope` a driver's `Agent.act` runs inside: spawn children on an atomically reserved conserved budget, settle via the `next()` cursor, journal for replay. */
3278
3481
  declare function createScope<Out>(args: ScopeArgs): Scope<Out>;
3279
3482
  /**
3280
3483
  * The step-8 merge-boundary adapter (M4): rehydrate a `Settled.done` into the kernel's
@@ -3351,10 +3554,10 @@ interface SuperviseOptions {
3351
3554
  * or `supervise()` throws a `ConfigError` before any compute is spent. Unset = unrestricted. */
3352
3555
  readonly allowedModels?: readonly string[];
3353
3556
  }
3557
+ /** One-call supervisor: build + run a supervisor from its profile with sensible defaults; the raw `supervisorAgent` + `createSupervisor().run` seams stay available for power use. */
3354
3558
  declare function supervise(profile: SupervisorProfile, task: unknown, opts: SuperviseOptions): Promise<SupervisedResult<unknown>>;
3355
3559
 
3356
3560
  /**
3357
- * @experimental
3358
3561
  *
3359
3562
  * The `Supervisor` impl (KEYSTONE, build step 5).
3360
3563
  *
@@ -3386,18 +3589,21 @@ declare function supervise(profile: SupervisorProfile, task: unknown, opts: Supe
3386
3589
  * winner `Out`. The supervisor content-addresses that `Out` for its replay `outRef`, reads
3387
3590
  * `spentTotal` off the journal (`settled` child work + `metered` driver inference), and wraps
3388
3591
  * it as a typed `winner` — it does not re-rank children behind the driver's back.
3592
+ *
3593
+ * @experimental
3389
3594
  */
3390
3595
 
3391
3596
  declare function createSupervisor<Task, Out>(): Supervisor<Task, Out>;
3392
3597
 
3393
3598
  /**
3394
- * @experimental
3395
3599
  *
3396
3600
  * The SETTLE-time analyst: when a worker finishes, collect its tool spans from a `TraceSource` and run
3397
3601
  * agent-eval's PUBLISHED batch analyzers over them — `buildTrajectory` (structured run summary),
3398
3602
  * `stuckLoopView` (full-run repeated-call view, complementing the online consecutive detector), and
3399
3603
  * `toolWasteView`. Substrate-agnostic: the spans come from any source (an owned loop's buffer OR a
3400
3604
  * sandbox box session). No analysis reimplemented — this is the thin bridge into agent-eval's analyzers.
3605
+ *
3606
+ * @experimental
3401
3607
  */
3402
3608
 
3403
3609
  interface TrajectoryAnalysis {
@@ -3513,6 +3719,7 @@ interface VerifierEnvironmentOptions {
3513
3719
  /** Executes the extra tools. Required when `extraTools` is set. */
3514
3720
  callExtra?(task: AgenticTask, name: string, args: Record<string, unknown>): Promise<string> | string;
3515
3721
  }
3722
+ /** Any checkable task as an `Environment`, no tool surface required: the artifact is the worker's answer and the domain is one deployable `check` over it. */
3516
3723
  declare function createVerifierEnvironment(opts: VerifierEnvironmentOptions): Environment;
3517
3724
 
3518
3725
  /** Command runner seam. Host code can use `localShell`; sandbox code can wrap `box.exec`. */
@@ -3534,6 +3741,7 @@ interface Workspace {
3534
3741
  commit(dir: string, message: string): Promise<WorkspaceCommit>;
3535
3742
  head(): Promise<string>;
3536
3743
  }
3744
+ /** Host-process `Shell`: run a command via `execFile`, resolving `{ stdout, stderr, code }` (never throws on non-zero exit). */
3537
3745
  declare function localShell(): Shell;
3538
3746
  interface GitWorkspaceOptions {
3539
3747
  readonly ref: string;
@@ -3541,6 +3749,7 @@ interface GitWorkspaceOptions {
3541
3749
  readonly branch?: string;
3542
3750
  readonly noHooks?: boolean;
3543
3751
  }
3752
+ /** A `Workspace` over a git checkout: materialize an isolated worktree at `ref`, commit produced changes (conflict-aware), and read `head` — hooks disabled, identity pinned. */
3544
3753
  declare function gitWorkspace(opts: GitWorkspaceOptions): Workspace;
3545
3754
  /** A jj-backed `Workspace` (Jujutsu, colocated with git for the durable remote).
3546
3755
  * Same port, same `Shell` — a drop-in for `gitWorkspace`. jj suits agent loops:
@@ -3569,4 +3778,4 @@ declare function runInWorkspace<T>(ws: Workspace, body: (cwd: string) => Promise
3569
3778
  commitOnInvalid?: boolean;
3570
3779
  }): Promise<WorkspaceRun<T>>;
3571
3780
 
3572
- export { Agent, AgentRunSpec, type AgenticOptions, type AgenticRunResult, type AgenticSurface, type AgenticTask, type AgenticTool, AnalystRegistry, type AnytimeReport, type AnytimeStrategySummary, type AnytimeTaskCurve, type ApplyContinuation, type ArtifactHandle, AssertTraceDerivedFindings, type AuditIntentInput, type AuditIntentOptions, type AuthorStrategyOptions, type AuthoredProfile, type AuthoredStrategy, type BenchmarkCell, type BenchmarkConfig, type BenchmarkLift, type BenchmarkReport, type BenchmarkStrategySummary, type BenchmarkTaskRow, Budget, type BudgetPool, type BudgetReadout, type ChampionPick, type ChampionPolicy, type CheckpointCapableBox, CombinatorShape, type CompletionAnalyst, type CompletionEvidence, type CompletionPolicy, type CompletionVerdict, CoordinationEvent, type CoordinationMcpHandle, Corpus, CorpusFilter, CorpusRecord, type CreateScopeAnalystOptions, type CriuCapableClient, DefinePersonaInput, type DelegateOptions, type Deliverable, DeliverableSpec, type DriveHarness, Driver, type DriverAgentOptions, type DumbDriverOptions, type Environment, EqualKArm, EqualKOnCostOptions, EqualKVerdict, type EvolutionArchiveNode, type EvolutionAuthor, type EvolutionBandInfo, type EvolutionCandidate, type EvolutionGeneration, type EvolutionReport, ExecCtx, ExecutorConfig, ExecutorFactory, ExecutorRegistry, FanoutOptions, FanoutWinnerSelector, FileCorpus, type ForkCapableBox, type GitWorkspaceOptions, type HarvestCorpusOptions, type HarvestFailure, type HarvestReport, InMemoryCorpus, InMemoryResultBlobStore, type InMemoryRunContext, type InMemoryRunContextOptions, InMemorySpawnJournal, type InProcessOnPrompt, type InProcessPromptCtx, type InProcessSandboxClientOptions, type Inbox, type InboxMessage, type IntentAudit, type Interval, Iteration, type Leaderboard, type LeaderboardOptions, type LeaderboardRow, type LoopCampaignDispatchOptions, type LoopDispatchOptions, LoopLineageOptions, type LoopOptionsForDispatch, LoopResult, LoopShape, LoopTokenUsage, LoopUntilSpec, LoopWinner, MakeWorkerAgent, type McpEndpoint, type McpEnvironmentOptions, MountRecorder, type NaiveDriverOptions, type Observation, type ObserveInput, type ObserveOptions, type OpenSandboxRunOptions, Outcome, OutputAdapter, type PairwiseOptions, type PairwiseVerdict, PanelSpec, Persona, PipelineStage, type ProfileRichness, type ProfileRichnessThresholds, type PromotionGateOptions, type PromotionVerdict, type RegistryAnalyzeProjection, RenderCorpusToInstructionsOptions, type ReservationTicket, type ResolveSandboxClientOptions, ResultBlobStore, RouterConfig, type RunAgenticOptions, RunPersonifiedOptions, type SandboxCapabilities, SandboxClient, type SandboxLineage, type SandboxLineageHandle, type SandboxRun, SandboxRunAbortError, Scope, ScopeAnalyst, ScopeAnalyzeInput, ScopeWidenGate, type SessionCapableBox, type SessionTraceBox, Settled, ShapeRegistry, type Shell, type ShotPersona, type ShotSpec, Spend, SteerContext, type SteeringDecision, type Strategy, type StrategyCtx, type StrategyEvolutionConfig, type StrategyResult, type SuperviseOptions, type SuperviseSurfaceOptions, type SuperviseSurfaceResult, SupervisedResult, Supervisor, type SupervisorAgentDeps, type SupervisorProfile, type SurfaceScore, type SurfaceWorkerConfig, type SurfaceWorkerOut, ToolLoopChat, ToolLoopCompactionOptions, type TraceSource, type TrajectoryAnalysis, TrajectoryReport, TrajectoryReportOptions, type TurnResult, UsageEvent, type UsageSink, Validator, type VerifierEnvironmentOptions, VerifySpec, type WatchTraceOptions, type WaterfallCollector, type WaterfallReport, type WaterfallSpan, WidenSpec, WinnerStrategy, type Workspace, type WorkspaceCommit, type WorkspaceRun, acquireSandbox, adaptiveRefine, analyzeTrace, anytimeReport, asAuthoredProfile, assertModelAllowed, assertStrategyContract, assertTraceDerivedFindings, assessAuthoredProfile, auditIntent, authorStrategy, authoredWorker, breadthStrategy, buildSteerContext, builtinShapes, completionAuthorizes, contentAddress, createBudgetPool, createInMemoryRunContext, createInbox, createMcpEnvironment, createPushTraceSource, createSandboxLineage, createScope, createScopeAnalyst, createShapeRegistry, createSupervisor, createVerifierEnvironment, createWaterfallCollector, decodeToolPart, defaultAnalystInstruction, defaultAuditorInstruction, defaultDelegateBudget, defaultProfileRichnessThresholds, defaultSelectWinner, defaultToolDetectors, definePersona, defineStrategy, delegate, depthStrategy, deterministicCompletion, discriminatingMeans, driverAgent, dumbDriver, equalKOnCost, extractLlmCallEvent, failuresAnalyst, fanout, finalizeBestDelivered, flatWidenGate, gitWorkspace, harvestCorpus, inProcessSandboxClient, inlineSandboxClient, jjWorkspace, leaderboard, localShell, loopCampaignDispatch, loopDispatch, loopUntil, mapSandboxEvent, naiveDriver, observe, openSandboxRun, pairwiseSignificance, panel, pickChampion, pipeline, printBenchmarkReport, probeSandboxCapabilities, profileRichnessFinding, promotionGate, refine, registerShape, registryScopeAnalyst, renderAnytimeTable, renderCorpusToInstructions, renderLeaderboardHtml, renderLeaderboardMarkdown, renderLeaderboardSvg, renderPairwiseMarkdown, renderReport, reportLoopUsage, resolveSandboxClient, runAgentic, runBenchmark, runInWorkspace, runLoop, runPersonified, runStrategyEvolution, sample, sampleThenRefine, sandboxSessionTraceSource, selectChampion, selectValidWinner, sentinelCompletion, serveCoordinationMcp, settledToIteration, spendFromUsageEvents, stopSentinel, strategyAuthorContract, sumSandboxUsage, supervise, superviseSurface, supervisorAgent, supervisorInstructions, trajectoryReport, verify, watchTrace, widen, workerFromBackend };
3781
+ export { Agent, AgentRunSpec, type AgenticOptions, type AgenticRunResult, type AgenticSurface, type AgenticTask, type AgenticTool, AnalystRegistry, type AnytimeReport, type AnytimeStrategySummary, type AnytimeTaskCurve, type ApplyContinuation, type ArtifactHandle, AssertTraceDerivedFindings, type AuditIntentInput, type AuditIntentOptions, type AuthorStrategyOptions, type AuthoredProfile, type AuthoredStrategy, type BenchmarkCell, type BenchmarkConfig, type BenchmarkLift, type BenchmarkReport, type BenchmarkStrategySummary, type BenchmarkTaskRow, Budget, type BudgetPool, type BudgetReadout, type ChampionPick, type ChampionPolicy, type CheckpointCapableBox, CombinatorShape, type CompletionAnalyst, type CompletionEvidence, type CompletionPolicy, type CompletionVerdict, CoordinationEvent, type CoordinationMcpHandle, Corpus, CorpusFilter, CorpusRecord, type CreateScopeAnalystOptions, type CriuCapableClient, DefinePersonaInput, type DefinedLeaderboard, type DelegateOptions, type Deliverable, DeliverableSpec, type DriveHarness, Driver, type DriverAgentOptions, type DumbDriverOptions, type Environment, EqualKArm, EqualKOnCostOptions, EqualKVerdict, type EvolutionArchiveNode, type EvolutionAuthor, type EvolutionBandInfo, type EvolutionCandidate, type EvolutionGeneration, type EvolutionReport, ExecCtx, ExecutorConfig, ExecutorFactory, ExecutorRegistry, FanoutOptions, FanoutWinnerSelector, FileCorpus, type ForkCapableBox, type GitWorkspaceOptions, type HarvestCorpusOptions, type HarvestFailure, type HarvestReport, InMemoryCorpus, InMemoryResultBlobStore, type InMemoryRunContext, type InMemoryRunContextOptions, InMemorySpawnJournal, type InProcessOnPrompt, type InProcessPromptCtx, type InProcessSandboxClientOptions, type Inbox, type InboxMessage, type IntentAudit, type Interval, Iteration, type Leaderboard, type LeaderboardBenchScore, type LeaderboardBenchTask, type LeaderboardBenchmarkAdapter, type LeaderboardFlagSpec, type LeaderboardOptions, type LeaderboardRow, type LeaderboardRunContext, type LeaderboardScenario, type LeaderboardScore, type LeaderboardSpec, type LoopCampaignDispatchOptions, type LoopDispatchOptions, LoopLineageOptions, type LoopOptionsForDispatch, LoopResult, LoopShape, LoopTokenUsage, LoopUntilSpec, LoopWinner, MakeWorkerAgent, type McpEndpoint, type McpEnvironmentOptions, MountRecorder, type NaiveDriverOptions, type Observation, type ObserveInput, type ObserveOptions, type OpenSandboxRunOptions, Outcome, OutputAdapter, type PairwiseOptions, type PairwiseVerdict, PanelSpec, Persona, PipelineStage, type ProfileRichness, type ProfileRichnessThresholds, type PromotionGateOptions, type PromotionVerdict, type RegistryAnalyzeProjection, RenderCorpusToInstructionsOptions, type ReservationTicket, type ResolveSandboxClientOptions, ResultBlobStore, RouterConfig, type RunAgenticOptions, RunPersonifiedOptions, type SandboxCapabilities, SandboxClient, type SandboxLineage, type SandboxLineageHandle, type SandboxRun, SandboxRunAbortError, Scope, ScopeAnalyst, ScopeAnalyzeInput, ScopeWidenGate, type SessionCapableBox, type SessionTraceBox, Settled, ShapeRegistry, type Shell, type ShotPersona, type ShotSpec, Spend, SteerContext, type SteeringDecision, type Strategy, type StrategyCtx, type StrategyEvolutionConfig, type StrategyResult, type SuperviseOptions, type SuperviseSurfaceOptions, type SuperviseSurfaceResult, SupervisedResult, Supervisor, type SupervisorAgentDeps, type SupervisorProfile, type SurfaceScore, type SurfaceWorkerConfig, type SurfaceWorkerOut, ToolLoopChat, ToolLoopCompactionOptions, type TraceSource, type TrajectoryAnalysis, TrajectoryReport, TrajectoryReportOptions, type TurnResult, UsageEvent, type UsageSink, Validator, type VerifierEnvironmentOptions, VerifySpec, type WatchTraceOptions, type WaterfallCollector, type WaterfallReport, type WaterfallSpan, WidenSpec, WinnerStrategy, type Workspace, type WorkspaceCommit, type WorkspaceRun, acquireSandbox, adaptiveRefine, analyzeTrace, anytimeReport, asAuthoredProfile, assertModelAllowed, assertStrategyContract, assertTraceDerivedFindings, assessAuthoredProfile, auditIntent, authorStrategy, authoredWorker, breadthStrategy, buildSteerContext, builtinShapes, completionAuthorizes, contentAddress, createBudgetPool, createInMemoryRunContext, createInbox, createMcpEnvironment, createPushTraceSource, createSandboxLineage, createScope, createScopeAnalyst, createShapeRegistry, createSupervisor, createVerifierEnvironment, createWaterfallCollector, decodeToolPart, defaultAnalystInstruction, defaultAuditorInstruction, defaultDelegateBudget, defaultProfileRichnessThresholds, defaultSelectWinner, defaultToolDetectors, defineLeaderboard, definePersona, defineStrategy, delegate, depthStrategy, deterministicCompletion, discriminatingMeans, driverAgent, dumbDriver, equalKOnCost, extractLlmCallEvent, failuresAnalyst, fanout, finalizeBestDelivered, flatWidenGate, gitWorkspace, harvestCorpus, inProcessSandboxClient, inlineSandboxClient, jjWorkspace, leaderboard, localShell, loopCampaignDispatch, loopDispatch, loopUntil, mapSandboxEvent, naiveDriver, observe, openSandboxRun, pairwiseSignificance, panel, pickChampion, pipeline, printBenchmarkReport, probeSandboxCapabilities, profileRichnessFinding, promotionGate, refine, registerShape, registryScopeAnalyst, renderAnytimeTable, renderCorpusToInstructions, renderLeaderboardHtml, renderLeaderboardMarkdown, renderLeaderboardSvg, renderPairwiseMarkdown, renderReport, reportLoopUsage, resolveSandboxClient, runAgentic, runBenchmark, runInWorkspace, runLoop, runPersonified, runStrategyEvolution, sample, sampleThenRefine, sandboxSessionTraceSource, selectChampion, selectValidWinner, sentinelCompletion, serveCoordinationMcp, settledToIteration, spendFromUsageEvents, stopSentinel, strategyAuthorContract, sumSandboxUsage, supervise, superviseSurface, supervisorAgent, supervisorInstructions, trajectoryReport, verify, watchTrace, widen, workerFromBackend };