poe-code 3.0.202 → 3.0.204

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 (119) hide show
  1. package/dist/cli/commands/braintrust.d.ts +3 -0
  2. package/dist/cli/commands/braintrust.js +77 -0
  3. package/dist/cli/commands/braintrust.js.map +1 -0
  4. package/dist/cli/commands/configure.d.ts +1 -0
  5. package/dist/cli/commands/configure.js +197 -0
  6. package/dist/cli/commands/configure.js.map +1 -1
  7. package/dist/cli/commands/experiment.js +51 -7
  8. package/dist/cli/commands/experiment.js.map +1 -1
  9. package/dist/cli/commands/harness.d.ts +3 -0
  10. package/dist/cli/commands/harness.js +260 -0
  11. package/dist/cli/commands/harness.js.map +1 -0
  12. package/dist/cli/commands/pipeline.js +58 -24
  13. package/dist/cli/commands/pipeline.js.map +1 -1
  14. package/dist/cli/commands/ralph.js +19 -7
  15. package/dist/cli/commands/ralph.js.map +1 -1
  16. package/dist/cli/commands/runtime/build.d.ts +7 -0
  17. package/dist/cli/commands/runtime/build.js +128 -0
  18. package/dist/cli/commands/runtime/build.js.map +1 -0
  19. package/dist/cli/commands/runtime/index.d.ts +3 -0
  20. package/dist/cli/commands/runtime/index.js +14 -0
  21. package/dist/cli/commands/runtime/index.js.map +1 -0
  22. package/dist/cli/commands/runtime/init.d.ts +7 -0
  23. package/dist/cli/commands/runtime/init.js +39 -0
  24. package/dist/cli/commands/runtime/init.js.map +1 -0
  25. package/dist/cli/commands/runtime/jobs/attach.d.ts +3 -0
  26. package/dist/cli/commands/runtime/jobs/attach.js +35 -0
  27. package/dist/cli/commands/runtime/jobs/attach.js.map +1 -0
  28. package/dist/cli/commands/runtime/jobs/index.d.ts +3 -0
  29. package/dist/cli/commands/runtime/jobs/index.js +16 -0
  30. package/dist/cli/commands/runtime/jobs/index.js.map +1 -0
  31. package/dist/cli/commands/runtime/jobs/logs.d.ts +3 -0
  32. package/dist/cli/commands/runtime/jobs/logs.js +27 -0
  33. package/dist/cli/commands/runtime/jobs/logs.js.map +1 -0
  34. package/dist/cli/commands/runtime/jobs/ls.d.ts +3 -0
  35. package/dist/cli/commands/runtime/jobs/ls.js +60 -0
  36. package/dist/cli/commands/runtime/jobs/ls.js.map +1 -0
  37. package/dist/cli/commands/runtime/jobs/sandbox.d.ts +3 -0
  38. package/dist/cli/commands/runtime/jobs/sandbox.js +15 -0
  39. package/dist/cli/commands/runtime/jobs/sandbox.js.map +1 -0
  40. package/dist/cli/commands/runtime/jobs/shared.d.ts +22 -0
  41. package/dist/cli/commands/runtime/jobs/shared.js +124 -0
  42. package/dist/cli/commands/runtime/jobs/shared.js.map +1 -0
  43. package/dist/cli/commands/runtime/jobs/stop.d.ts +3 -0
  44. package/dist/cli/commands/runtime/jobs/stop.js +31 -0
  45. package/dist/cli/commands/runtime/jobs/stop.js.map +1 -0
  46. package/dist/cli/commands/runtime/jobs/sync.d.ts +3 -0
  47. package/dist/cli/commands/runtime/jobs/sync.js +25 -0
  48. package/dist/cli/commands/runtime/jobs/sync.js.map +1 -0
  49. package/dist/cli/commands/runtime/shared.d.ts +20 -0
  50. package/dist/cli/commands/runtime/shared.js +69 -0
  51. package/dist/cli/commands/runtime/shared.js.map +1 -0
  52. package/dist/cli/commands/runtime/templates/clear.d.ts +3 -0
  53. package/dist/cli/commands/runtime/templates/clear.js +53 -0
  54. package/dist/cli/commands/runtime/templates/clear.js.map +1 -0
  55. package/dist/cli/commands/runtime/templates/index.d.ts +3 -0
  56. package/dist/cli/commands/runtime/templates/index.js +10 -0
  57. package/dist/cli/commands/runtime/templates/index.js.map +1 -0
  58. package/dist/cli/commands/runtime/templates/ls.d.ts +3 -0
  59. package/dist/cli/commands/runtime/templates/ls.js +52 -0
  60. package/dist/cli/commands/runtime/templates/ls.js.map +1 -0
  61. package/dist/cli/commands/runtime-options.d.ts +11 -0
  62. package/dist/cli/commands/runtime-options.js +26 -0
  63. package/dist/cli/commands/runtime-options.js.map +1 -0
  64. package/dist/cli/commands/spawn.js +36 -7
  65. package/dist/cli/commands/spawn.js.map +1 -1
  66. package/dist/cli/program.js +17 -1
  67. package/dist/cli/program.js.map +1 -1
  68. package/dist/index.js +70879 -47381
  69. package/dist/index.js.map +4 -4
  70. package/dist/providers/claude-code.js +3486 -852
  71. package/dist/providers/claude-code.js.map +4 -4
  72. package/dist/providers/codex.js +3486 -852
  73. package/dist/providers/codex.js.map +4 -4
  74. package/dist/providers/goose.js +3432 -798
  75. package/dist/providers/goose.js.map +4 -4
  76. package/dist/providers/kimi.js +3486 -852
  77. package/dist/providers/kimi.js.map +4 -4
  78. package/dist/providers/opencode.js +3486 -852
  79. package/dist/providers/opencode.js.map +4 -4
  80. package/dist/providers/poe-agent.js +20641 -17147
  81. package/dist/providers/poe-agent.js.map +4 -4
  82. package/dist/providers/spawn-options.d.ts +10 -1
  83. package/dist/sdk/experiment.js +6 -0
  84. package/dist/sdk/experiment.js.map +1 -1
  85. package/dist/sdk/ralph.js +108 -11
  86. package/dist/sdk/ralph.js.map +1 -1
  87. package/dist/sdk/spawn.js +27 -4
  88. package/dist/sdk/spawn.js.map +1 -1
  89. package/dist/sdk/types.d.ts +23 -1
  90. package/dist/utils/command-checks.js +2 -29
  91. package/dist/utils/command-checks.js.map +1 -1
  92. package/package.json +12 -7
  93. package/packages/design-system/dist/components/help-formatter-plain.d.ts +4 -0
  94. package/packages/design-system/dist/components/help-formatter-plain.js +132 -0
  95. package/packages/design-system/dist/components/help-formatter.d.ts +13 -0
  96. package/packages/design-system/dist/components/help-formatter.js +116 -7
  97. package/packages/design-system/dist/components/index.d.ts +2 -2
  98. package/packages/design-system/dist/components/index.js +1 -1
  99. package/packages/design-system/dist/components/text.d.ts +1 -0
  100. package/packages/design-system/dist/components/text.js +8 -0
  101. package/packages/design-system/dist/index.d.ts +3 -2
  102. package/packages/design-system/dist/index.js +2 -1
  103. package/packages/memory/dist/index.js +3406 -387
  104. package/packages/memory/dist/index.js.map +4 -4
  105. package/packages/superintendent/dist/commands/run.d.ts +45 -0
  106. package/packages/superintendent/dist/commands/run.js +133 -38
  107. package/packages/superintendent/dist/commands/superintendent-group.d.ts +36 -0
  108. package/packages/superintendent/dist/runtime/agent-runner.d.ts +31 -0
  109. package/packages/superintendent/dist/runtime/agent-runner.js +121 -0
  110. package/packages/superintendent/dist/runtime/loop.d.ts +7 -1
  111. package/packages/superintendent/dist/runtime/loop.js +3 -11
  112. package/packages/superintendent/dist/runtime/run-builder.d.ts +1 -0
  113. package/packages/superintendent/dist/runtime/run-builder.js +3 -25
  114. package/packages/superintendent/dist/runtime/run-inspector.d.ts +1 -0
  115. package/packages/superintendent/dist/runtime/run-inspector.js +3 -25
  116. package/packages/superintendent/dist/runtime/run-owner-review.d.ts +1 -0
  117. package/packages/superintendent/dist/runtime/run-owner-review.js +3 -25
  118. package/packages/superintendent/dist/runtime/run-superintendent.d.ts +1 -0
  119. package/packages/superintendent/dist/runtime/run-superintendent.js +3 -25
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ import type { CliContainer } from "../container.js";
3
+ export declare function registerBraintrustCommand(program: Command, container: CliContainer): void;
@@ -0,0 +1,77 @@
1
+ import { createExecutionResources, resolveCommandFlags, resolveMergedDocument } from "./shared.js";
2
+ const BRAINTRUST_INSTALL_ERROR = "Braintrust integration is enabled but the 'braintrust' package is not installed. Run: npm i braintrust";
3
+ export function registerBraintrustCommand(program, container) {
4
+ const braintrust = program
5
+ .command("braintrust")
6
+ .description("Inspect Braintrust integration status.");
7
+ braintrust
8
+ .command("status")
9
+ .description("Show Braintrust integration status.")
10
+ .action(async () => {
11
+ await executeBraintrustStatus(program, container);
12
+ });
13
+ }
14
+ async function executeBraintrustStatus(program, container) {
15
+ const flags = resolveCommandFlags(program);
16
+ const resources = createExecutionResources(container, flags, "braintrust:status");
17
+ const config = await resolveMergedDocument(container);
18
+ const braintrust = config.integrations?.braintrust;
19
+ resources.logger.intro("braintrust status");
20
+ if (braintrust?.enabled !== true) {
21
+ resources.logger.info("disabled");
22
+ resources.context.finalize();
23
+ return;
24
+ }
25
+ const missing = missingBraintrustFields(braintrust);
26
+ if (missing.length > 0) {
27
+ for (const field of missing) {
28
+ resources.logger.info(`missing ${field}`);
29
+ }
30
+ resources.context.finalize();
31
+ return;
32
+ }
33
+ let integrations = null;
34
+ try {
35
+ const { bootstrap } = await importBraintrustModule();
36
+ integrations = await bootstrap(config);
37
+ if (integrations === null) {
38
+ resources.logger.info("disabled");
39
+ resources.context.finalize();
40
+ return;
41
+ }
42
+ const status = integrations.status();
43
+ resources.logger.info(`enabled, project=${status.project}, last error: ${status.lastError ?? "none"}, errors: ${status.errorCount}`);
44
+ resources.context.finalize();
45
+ }
46
+ catch (error) {
47
+ if (isBraintrustInstallError(error)) {
48
+ resources.logger.info("not installed: run npm i braintrust");
49
+ resources.context.finalize();
50
+ return;
51
+ }
52
+ throw error;
53
+ }
54
+ finally {
55
+ await integrations?.shutdown();
56
+ }
57
+ }
58
+ function missingBraintrustFields(braintrust) {
59
+ const missing = [];
60
+ if (!hasNonEmptyString(braintrust.apiKey)) {
61
+ missing.push("apiKey");
62
+ }
63
+ if (!hasNonEmptyString(braintrust.project)) {
64
+ missing.push("project");
65
+ }
66
+ return missing;
67
+ }
68
+ function hasNonEmptyString(value) {
69
+ return typeof value === "string" && value.trim().length > 0;
70
+ }
71
+ async function importBraintrustModule() {
72
+ return await import("@poe-code/braintrust");
73
+ }
74
+ function isBraintrustInstallError(error) {
75
+ return error instanceof Error && error.message === BRAINTRUST_INSTALL_ERROR;
76
+ }
77
+ //# sourceMappingURL=braintrust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"braintrust.js","sourceRoot":"","sources":["../../../src/cli/commands/braintrust.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface ConfigureCommandOptions {
5
5
  model?: string;
6
6
  reasoningEffort?: string;
7
7
  provider?: string;
8
+ skipIfConfigured?: boolean;
8
9
  }
9
10
  export declare function registerConfigureCommand(program: Command, container: CliContainer): Command;
10
11
  export declare function executeConfigure(program: Command, container: CliContainer, service: string, options: ConfigureCommandOptions): Promise<void>;
@@ -19,6 +19,7 @@ export function registerConfigureCommand(program, container) {
19
19
  .option("--model <model>", "Model identifier")
20
20
  .option("--reasoning-effort <level>", "Reasoning effort level")
21
21
  .option("--provider <id>", "Provider to use for this agent")
22
+ .option("--skip-if-configured", "Exit without writes when current config already matches")
22
23
  .action(async (service, options) => {
23
24
  const resolved = await resolveServiceArgument(program, container, service, {
24
25
  action: "configure"
@@ -46,10 +47,21 @@ export async function executeConfigure(program, container, service, options) {
46
47
  logger: resources.logger,
47
48
  providerId
48
49
  });
50
+ let skippedConfigured = false;
49
51
  await container.registry.invoke(canonicalService, "configure", async (entry) => {
50
52
  if (!entry.configure) {
51
53
  throw new Error(`Agent "${canonicalService}" does not support configure.`);
52
54
  }
55
+ if (options.skipIfConfigured === true &&
56
+ !(await hasMaterialConfigureChange({
57
+ entry,
58
+ adapter,
59
+ providerContext,
60
+ payload
61
+ }))) {
62
+ skippedConfigured = true;
63
+ return;
64
+ }
53
65
  const tracker = createMutationTracker();
54
66
  const mutationLogger = createMutationReporter(resources.logger);
55
67
  const observers = combineMutationObservers(tracker.observers, mutationLogger);
@@ -90,6 +102,14 @@ export async function executeConfigure(program, container, service, options) {
90
102
  });
91
103
  }
92
104
  });
105
+ if (skippedConfigured) {
106
+ resources.context.complete({
107
+ success: `${adapter.label} is already configured.`,
108
+ dry: `Dry run: ${adapter.label} is already configured.`
109
+ });
110
+ resources.context.finalize();
111
+ return;
112
+ }
93
113
  resources.context.complete({
94
114
  success: `Configured ${adapter.label}.`,
95
115
  dry: `Dry run: would configure ${adapter.label}.`
@@ -99,6 +119,183 @@ export async function executeConfigure(program, container, service, options) {
99
119
  }
100
120
  resources.context.finalize();
101
121
  }
122
+ async function hasMaterialConfigureChange(input) {
123
+ const overlay = createOverlayFileSystem(input.providerContext.command.fs);
124
+ const command = createSilentDryRunCommand(input.providerContext.command, overlay.fs);
125
+ await input.entry.configure({
126
+ fs: overlay.fs,
127
+ env: input.providerContext.env,
128
+ command,
129
+ options: input.payload
130
+ }, { observers: createNoopMutationObservers() });
131
+ const isolated = input.adapter.isolatedEnv;
132
+ if (isolated && isolated.requiresConfig !== false) {
133
+ await applyIsolatedConfiguration({
134
+ adapter: input.entry,
135
+ providerContext: {
136
+ ...input.providerContext,
137
+ command
138
+ },
139
+ payload: input.payload,
140
+ isolated,
141
+ providerName: input.adapter.name,
142
+ observers: createNoopMutationObservers()
143
+ });
144
+ }
145
+ return overlay.hasMaterialChange();
146
+ }
147
+ function createSilentDryRunCommand(base, fs) {
148
+ return {
149
+ fs,
150
+ runCommand: base.runCommand,
151
+ runCommandWithEnv: base.runCommandWithEnv,
152
+ flushDryRun() { },
153
+ complete() { },
154
+ finalize() { }
155
+ };
156
+ }
157
+ function createNoopMutationObservers() {
158
+ return {};
159
+ }
160
+ function createOverlayFileSystem(base) {
161
+ const writes = new Map();
162
+ const directories = new Set();
163
+ const readOverlayText = async (filePath) => {
164
+ if (writes.has(filePath)) {
165
+ const value = writes.get(filePath);
166
+ if (value === null) {
167
+ throw createNotFoundError(filePath);
168
+ }
169
+ return value ?? "";
170
+ }
171
+ return base.readFile(filePath, "utf8");
172
+ };
173
+ async function readFile(filePath, encoding) {
174
+ const content = await readOverlayText(filePath);
175
+ return encoding ? content : Buffer.from(content);
176
+ }
177
+ const fs = {
178
+ readFile,
179
+ async writeFile(filePath, content) {
180
+ writes.set(filePath, stringifyFileContent(content));
181
+ },
182
+ async mkdir(directoryPath) {
183
+ directories.add(directoryPath);
184
+ },
185
+ async unlink(filePath) {
186
+ writes.set(filePath, null);
187
+ },
188
+ async stat(filePath) {
189
+ if (directories.has(filePath)) {
190
+ return createOverlayStats();
191
+ }
192
+ if (writes.has(filePath)) {
193
+ if (writes.get(filePath) === null) {
194
+ throw createNotFoundError(filePath);
195
+ }
196
+ return createOverlayStats();
197
+ }
198
+ return base.stat(filePath);
199
+ },
200
+ async lstat(filePath) {
201
+ return fs.stat(filePath);
202
+ },
203
+ async symlink() { },
204
+ async readlink(filePath) {
205
+ return base.readlink(filePath);
206
+ },
207
+ async rename(from, to) {
208
+ writes.set(to, await readOverlayText(from));
209
+ writes.set(from, null);
210
+ },
211
+ async readdir(directoryPath) {
212
+ return base.readdir(directoryPath);
213
+ },
214
+ async rm(filePath) {
215
+ writes.set(filePath, null);
216
+ },
217
+ async chmod() { }
218
+ };
219
+ return {
220
+ fs,
221
+ async hasMaterialChange() {
222
+ for (const directoryPath of directories) {
223
+ if (!(await pathExists(base, directoryPath))) {
224
+ return true;
225
+ }
226
+ }
227
+ for (const [filePath, content] of writes) {
228
+ if (isBackupPath(filePath)) {
229
+ continue;
230
+ }
231
+ const current = await readBaseText(base, filePath);
232
+ if (content === null) {
233
+ if (current !== null) {
234
+ return true;
235
+ }
236
+ continue;
237
+ }
238
+ if (current !== content) {
239
+ return true;
240
+ }
241
+ }
242
+ return false;
243
+ }
244
+ };
245
+ }
246
+ function stringifyFileContent(content) {
247
+ if (typeof content === "string") {
248
+ return content;
249
+ }
250
+ return Buffer.from(content.buffer, content.byteOffset, content.byteLength).toString("utf8");
251
+ }
252
+ function createOverlayStats() {
253
+ return {
254
+ isFile: () => true,
255
+ isDirectory: () => false,
256
+ isBlockDevice: () => false,
257
+ isCharacterDevice: () => false,
258
+ isSymbolicLink: () => false,
259
+ isFIFO: () => false,
260
+ isSocket: () => false
261
+ };
262
+ }
263
+ async function pathExists(fs, filePath) {
264
+ try {
265
+ await fs.stat(filePath);
266
+ return true;
267
+ }
268
+ catch (error) {
269
+ if (isNotFoundError(error)) {
270
+ return false;
271
+ }
272
+ throw error;
273
+ }
274
+ }
275
+ async function readBaseText(fs, filePath) {
276
+ try {
277
+ return await fs.readFile(filePath, "utf8");
278
+ }
279
+ catch (error) {
280
+ if (isNotFoundError(error)) {
281
+ return null;
282
+ }
283
+ throw error;
284
+ }
285
+ }
286
+ function isBackupPath(filePath) {
287
+ return filePath.includes(".backup-");
288
+ }
289
+ function createNotFoundError(filePath) {
290
+ const error = new Error(`ENOENT: no such file or directory, open '${filePath}'`);
291
+ error.code = "ENOENT";
292
+ return error;
293
+ }
294
+ function isNotFoundError(error) {
295
+ return Boolean(error &&
296
+ typeof error === "object" &&
297
+ error.code === "ENOENT");
298
+ }
102
299
  async function resolveProvider(agentId, options, container, flags) {
103
300
  const explicit = options.provider ?? container.env.getVariable("POE_CODE_PROVIDER") ?? undefined;
104
301
  const candidates = container.providerRegistry.forAgent(agentId);
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../../src/cli/commands/configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../../src/cli/commands/configure.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,9 @@ import { createExecutionResources, resolveCommandFlags, resolveDefaultAgent } fr
12
12
  import { runExperiment as sdkRunExperiment, readExperimentJournal as sdkReadExperimentJournal, appendExperimentJournalEntry as sdkAppendExperimentJournalEntry } from "../../sdk/experiment.js";
13
13
  import { spawn as sdkSpawn } from "../../sdk/spawn.js";
14
14
  import { experimentConfigScope, planConfigScope } from "../../services/config.js";
15
- import { readMergedDocument, resolveScope } from "@poe-code/poe-code-config";
15
+ import { loadIntegrations, mergeExperimentCallbacks, readMergedDocument, resolveScope } from "@poe-code/poe-code-config";
16
16
  import { createDashboardLineBuffer, formatDashboardDuration, formatDashboardTimestamp, registerDashboardQuitCommands, shouldUseInteractiveDashboard } from "./dashboard-loop-shared.js";
17
+ import { addRuntimeOptions, pickRuntimeOptions } from "./runtime-options.js";
17
18
  const DEFAULT_EXPERIMENT_AGENT = "claude-code";
18
19
  const DEFAULT_EXPERIMENT_SCOPE = "local";
19
20
  let experimentTemplatesCache = null;
@@ -153,7 +154,9 @@ function createExperimentDashboardRunAgent(options) {
153
154
  cwd: input.cwd,
154
155
  model: input.model,
155
156
  mode: "yolo",
157
+ ...options.runtimeOptions,
156
158
  ...(input.signal ? { signal: input.signal } : {}),
159
+ ...(options.middlewares ? { middlewares: options.middlewares } : {}),
157
160
  useStdin: true,
158
161
  tee: {
159
162
  stderr: {
@@ -172,6 +175,17 @@ function createExperimentDashboardRunAgent(options) {
172
175
  }
173
176
  };
174
177
  }
178
+ function createExperimentCliRunAgent(options) {
179
+ return async (input) => sdkSpawn.autonomous(input.agent, {
180
+ prompt: input.prompt,
181
+ cwd: input.cwd,
182
+ model: input.model,
183
+ mode: "yolo",
184
+ ...options.runtimeOptions,
185
+ ...(input.signal ? { signal: input.signal } : {}),
186
+ middlewares: options.middlewares
187
+ });
188
+ }
175
189
  async function runExperimentWithDashboard(options) {
176
190
  const dashboard = createDashboard({
177
191
  title: "Experiment",
@@ -232,10 +246,14 @@ async function runExperimentWithDashboard(options) {
232
246
  process.on("SIGINT", sigintHandler);
233
247
  const runAgent = createExperimentDashboardRunAgent({
234
248
  appendOutput,
235
- activeStage: () => formatExperimentStageLabel(currentExperimentIndex)
249
+ activeStage: () => formatExperimentStageLabel(currentExperimentIndex),
250
+ runtimeOptions: options.runtimeOptions,
251
+ ...(options.integrations?.spawnMiddleware
252
+ ? { middlewares: [options.integrations.spawnMiddleware] }
253
+ : {})
236
254
  });
237
255
  try {
238
- const result = await sdkRunExperiment({
256
+ const runOptions = {
239
257
  ...options.runOptions,
240
258
  signal: abortController.signal,
241
259
  runAgent,
@@ -269,6 +287,10 @@ async function runExperimentWithDashboard(options) {
269
287
  appendOutput(entry.status === "keep" ? "success" : "error", `Experiment ${index} ${entry.status} in ${formatDashboardDuration(entry.durationMs)} · scores: ${formatExperimentScores(entry.scores)}`);
270
288
  syncStats();
271
289
  }
290
+ };
291
+ const result = await runExperimentWithIntegrations(options.integrations, options.docPath, {
292
+ ...runOptions,
293
+ ...mergeExperimentCallbacks(runOptions, options.integrations?.experimentCallbacks)
272
294
  });
273
295
  status = "done";
274
296
  iterations = result.experimentsCompleted;
@@ -289,6 +311,10 @@ async function runExperimentWithDashboard(options) {
289
311
  dashboard.destroy();
290
312
  }
291
313
  }
314
+ async function runExperimentWithIntegrations(integrations, name, options) {
315
+ return integrations?.traceRun("experiment", name, () => sdkRunExperiment(options)) ??
316
+ sdkRunExperiment(options);
317
+ }
292
318
  function resolveExperimentAgent(value, sourceLabel = "agent") {
293
319
  if (!value || value.trim().length === 0) {
294
320
  return DEFAULT_EXPERIMENT_AGENT;
@@ -317,6 +343,7 @@ async function resolveExperimentCommandConfig(container) {
317
343
  const experimentConfig = resolveScope(experimentConfigScope.schema, configDoc[experimentConfigScope.scope], container.env.variables);
318
344
  const planConfig = resolveScope(planConfigScope.schema, configDoc[planConfigScope.scope], container.env.variables);
319
345
  return {
346
+ configDoc,
320
347
  planDirectory: planConfig.plan_directory,
321
348
  tui: experimentConfig.tui === true
322
349
  };
@@ -423,21 +450,25 @@ export function registerExperimentCommand(program, container) {
423
450
  .command("experiment")
424
451
  .description("Run autonomous experiment loop workflows.")
425
452
  .addHelpCommand(false);
426
- experiment
453
+ const run = experiment
427
454
  .command("run")
428
455
  .description("Run an experiment doc through the autonomous experiment loop.")
429
456
  .argument("[doc]", "Experiment doc path")
430
457
  .option("--agent <agent>", "Override the agent from frontmatter")
431
458
  .option("--max-experiments <n>", "Limit the number of experiments to run")
432
459
  .option("--tui", "Show a live dashboard while the experiment is running")
433
- .option("--no-tui", "Disable the live dashboard for this experiment run")
460
+ .option("--no-tui", "Disable the live dashboard for this experiment run");
461
+ addRuntimeOptions(run)
434
462
  .action(async function (docArg) {
435
463
  const flags = resolveCommandFlags(program);
436
464
  const resources = createExecutionResources(container, flags, "experiment:run");
437
465
  const options = this.opts();
466
+ const runtimeOptions = pickRuntimeOptions(options);
438
467
  resources.logger.intro("experiment run");
468
+ let integrations = null;
439
469
  try {
440
470
  const commandConfig = await resolveExperimentCommandConfig(container);
471
+ integrations = await loadIntegrations(commandConfig.configDoc);
441
472
  const docPath = await resolveDocPath({
442
473
  container,
443
474
  program,
@@ -465,6 +496,7 @@ export function registerExperimentCommand(program, container) {
465
496
  cwd: container.env.cwd,
466
497
  homeDir: container.env.homeDir,
467
498
  docPath,
499
+ ...runtimeOptions,
468
500
  ...(maxExperiments !== undefined ? { maxExperiments } : {}),
469
501
  onExperimentStart(index, currentAgent) {
470
502
  resources.logger.info(`Experiment ${index} (${currentAgent})`);
@@ -495,15 +527,26 @@ export function registerExperimentCommand(program, container) {
495
527
  resources.logger.info(`Experiment ${index} ${entry.status} in ${formatDashboardDuration(entry.durationMs)} · scores: ${scores}`);
496
528
  }
497
529
  };
530
+ if (integrations?.spawnMiddleware) {
531
+ runOptions.runAgent = createExperimentCliRunAgent({
532
+ runtimeOptions,
533
+ middlewares: [integrations.spawnMiddleware]
534
+ });
535
+ }
498
536
  const useDashboard = shouldUseInteractiveDashboard(options.tui ?? commandConfig.tui);
499
537
  const result = useDashboard
500
538
  ? await runExperimentWithDashboard({
501
539
  agent,
502
540
  docPath,
503
541
  maxExperiments,
504
- runOptions
542
+ runOptions,
543
+ runtimeOptions,
544
+ ...(integrations ? { integrations } : {})
505
545
  })
506
- : await sdkRunExperiment(runOptions);
546
+ : await runExperimentWithIntegrations(integrations, docPath, {
547
+ ...runOptions,
548
+ ...mergeExperimentCallbacks(runOptions, integrations?.experimentCallbacks)
549
+ });
507
550
  const summary = [
508
551
  `Experiments: ${result.experimentsCompleted}`,
509
552
  `Kept: ${result.experimentsKept}`,
@@ -520,6 +563,7 @@ export function registerExperimentCommand(program, container) {
520
563
  resources.logger.success("Experiment run finished.");
521
564
  }
522
565
  finally {
566
+ await integrations?.shutdown();
523
567
  resources.context.finalize();
524
568
  }
525
569
  });