poe-code 3.0.203 → 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 (110) 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 +42 -5
  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 +8 -3
  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 +1 -0
  62. package/dist/cli/commands/runtime-options.js +5 -2
  63. package/dist/cli/commands/runtime-options.js.map +1 -1
  64. package/dist/cli/commands/spawn.js +27 -4
  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 +24192 -2429
  69. package/dist/index.js.map +4 -4
  70. package/dist/providers/claude-code.js +1692 -93
  71. package/dist/providers/claude-code.js.map +4 -4
  72. package/dist/providers/codex.js +1692 -93
  73. package/dist/providers/codex.js.map +4 -4
  74. package/dist/providers/goose.js +1687 -88
  75. package/dist/providers/goose.js.map +4 -4
  76. package/dist/providers/kimi.js +1692 -93
  77. package/dist/providers/kimi.js.map +4 -4
  78. package/dist/providers/opencode.js +1692 -93
  79. package/dist/providers/opencode.js.map +4 -4
  80. package/dist/providers/poe-agent.js +1580 -308
  81. package/dist/providers/poe-agent.js.map +4 -4
  82. package/dist/providers/spawn-options.d.ts +4 -1
  83. package/dist/sdk/experiment.js +1 -0
  84. package/dist/sdk/experiment.js.map +1 -1
  85. package/dist/sdk/ralph.js +108 -16
  86. package/dist/sdk/ralph.js.map +1 -1
  87. package/dist/sdk/spawn.js +11 -4
  88. package/dist/sdk/spawn.js.map +1 -1
  89. package/dist/sdk/types.d.ts +12 -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 +1201 -115
  104. package/packages/memory/dist/index.js.map +4 -4
  105. package/packages/superintendent/dist/commands/run.d.ts +10 -0
  106. package/packages/superintendent/dist/commands/run.js +96 -49
  107. package/packages/superintendent/dist/commands/superintendent-group.d.ts +6 -0
  108. package/packages/superintendent/dist/runtime/agent-runner.d.ts +1 -0
  109. package/packages/superintendent/dist/runtime/agent-runner.js +4 -2
  110. package/packages/superintendent/dist/runtime/loop.d.ts +1 -0
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ import type { CliContainer } from "../container.js";
3
+ export declare function registerHarnessCommand(program: Command, container: CliContainer): void;
@@ -0,0 +1,260 @@
1
+ import path from "node:path";
2
+ import { readFile } from "node:fs/promises";
3
+ import { discoverHarnesses, listBuiltinTemplates, runHarnessPair } from "@poe-code/agent-harness";
4
+ import { makeAgentModule, makeFailModule, makeGitModule, makeHarnessModule, makeLogModule, makeMetricModule } from "@poe-code/agent-script";
5
+ import { cancel, getTheme, isCancel, promptText, renderTable, select, withSpinner } from "@poe-code/design-system";
6
+ import { ValidationError } from "../errors.js";
7
+ import { createExecutionResources, resolveCommandFlags } from "./shared.js";
8
+ import { spawn as sdkSpawn } from "../../sdk/spawn.js";
9
+ export function registerHarnessCommand(program, container) {
10
+ const harness = program.command("harness").description("Run and manage agent harness pairs.");
11
+ harness
12
+ .command("run")
13
+ .description("Run a harness pair.")
14
+ .argument("[md-path]", "Path to the harness .md file")
15
+ .option("-y, --yes", "Accept defaults without prompting.")
16
+ .action(async (mdPath, options) => {
17
+ await executeHarnessRun(program, container, mdPath, options);
18
+ });
19
+ harness
20
+ .command("new")
21
+ .description("Scaffold a harness pair from a built-in template.")
22
+ .argument("<kind>", "Built-in template kind")
23
+ .argument("<basename>", "New harness basename")
24
+ .option("--dir <path>", "Output directory for the harness pair")
25
+ .option("-y, --yes", "Accept defaults without prompting.")
26
+ .action(async (kind, basename, options) => {
27
+ await executeHarnessNew(program, container, kind, basename, options);
28
+ });
29
+ harness
30
+ .command("list")
31
+ .description("List discovered harness pairs.")
32
+ .action(async () => {
33
+ await executeHarnessList(program, container);
34
+ });
35
+ }
36
+ async function executeHarnessRun(program, container, mdPath, options) {
37
+ const flags = resolveHarnessFlags(program, options.yes);
38
+ const resources = createExecutionResources(container, flags, "harness:run");
39
+ const selectedPath = mdPath
40
+ ? path.resolve(container.env.cwd, mdPath)
41
+ : (await resolveDiscoveredHarness(container, flags.assumeYes)).mdPath;
42
+ resources.logger.intro("harness run");
43
+ const result = await withSpinner({
44
+ message: `Running ${formatDisplayPath(container, selectedPath)}`,
45
+ fn: () => runHarnessPair(selectedPath, {
46
+ modulesFor: (frontmatter, meta) => createHarnessModules(container, frontmatter, meta)
47
+ }),
48
+ stopMessage: () => `Ran ${formatDisplayPath(container, selectedPath)}`
49
+ });
50
+ resources.logger.info(JSON.stringify(result, null, 2));
51
+ }
52
+ async function executeHarnessNew(program, container, kind, basename, options) {
53
+ const flags = resolveHarnessFlags(program, options.yes);
54
+ const resources = createExecutionResources(container, flags, "harness:new");
55
+ const template = listBuiltinTemplates().find((entry) => entry.kind === kind);
56
+ resources.logger.intro("harness new");
57
+ if (!template) {
58
+ throw new ValidationError(`Unknown harness template "${kind}".`);
59
+ }
60
+ const defaultDir = path.join(".poe-code", "harnesses", basename);
61
+ const outputDir = options.dir ?? (await resolveOutputDir(defaultDir, flags.assumeYes));
62
+ const resolvedDir = path.resolve(container.env.cwd, outputDir);
63
+ const mdPath = path.join(resolvedDir, `${basename}.md`);
64
+ const ajsPath = path.join(resolvedDir, `${basename}.ajs`);
65
+ await assertFilesDoNotExist(container, [mdPath, ajsPath]);
66
+ if (flags.dryRun) {
67
+ resources.logger.dryRun(`Would create ${formatDisplayPath(container, mdPath)}`);
68
+ resources.logger.dryRun(`Would create ${formatDisplayPath(container, ajsPath)}`);
69
+ return;
70
+ }
71
+ const [mdSource, ajsSource] = await Promise.all([
72
+ readFile(template.mdPath, "utf8"),
73
+ readFile(template.ajsPath, "utf8")
74
+ ]);
75
+ await container.fs.mkdir(resolvedDir, { recursive: true });
76
+ await Promise.all([
77
+ container.fs.writeFile(mdPath, mdSource, { encoding: "utf8" }),
78
+ container.fs.writeFile(ajsPath, ajsSource, { encoding: "utf8" })
79
+ ]);
80
+ resources.context.complete({
81
+ success: `Created harness pair at ${formatDisplayPath(container, resolvedDir)}`,
82
+ dry: `Would create harness pair at ${formatDisplayPath(container, resolvedDir)}`
83
+ });
84
+ resources.context.finalize();
85
+ }
86
+ async function executeHarnessList(program, container) {
87
+ const flags = resolveCommandFlags(program);
88
+ const resources = createExecutionResources(container, flags, "harness:list");
89
+ resources.logger.intro("harness list");
90
+ const pairs = await discoverProjectThenUserHarnesses(container);
91
+ if (pairs.length === 0) {
92
+ resources.logger.info("No harness pairs found.");
93
+ return;
94
+ }
95
+ const theme = getTheme();
96
+ const rows = pairs.map((pair) => ({
97
+ Basename: theme.accent(pair.basename),
98
+ Dir: formatDisplayPath(container, pair.dir),
99
+ "MD mtime": new Date(pair.mdMtimeMs).toISOString()
100
+ }));
101
+ resources.logger.info(renderTable({
102
+ theme,
103
+ columns: [
104
+ { name: "Basename", title: "Basename", alignment: "left", maxLen: 28 },
105
+ { name: "Dir", title: "Dir", alignment: "left", maxLen: 64 },
106
+ { name: "MD mtime", title: ".md mtime", alignment: "left", maxLen: 24 }
107
+ ],
108
+ rows
109
+ }));
110
+ }
111
+ function resolveHarnessFlags(program, commandYes) {
112
+ const flags = resolveCommandFlags(program);
113
+ return {
114
+ ...flags,
115
+ assumeYes: flags.assumeYes || Boolean(commandYes)
116
+ };
117
+ }
118
+ async function resolveDiscoveredHarness(container, assumeYes) {
119
+ const pairs = await discoverProjectThenUserHarnesses(container);
120
+ if (pairs.length === 0) {
121
+ throw new ValidationError("No harness pairs found.");
122
+ }
123
+ if (pairs.length === 1) {
124
+ return pairs[0];
125
+ }
126
+ if (assumeYes) {
127
+ throw new ValidationError("Multiple harness pairs found; ambiguous, pass a path.");
128
+ }
129
+ const selected = await select({
130
+ message: "Select harness",
131
+ options: pairs.map((pair) => ({
132
+ label: `${pair.basename} (${formatDisplayPath(container, pair.dir)})`,
133
+ value: pair.mdPath
134
+ }))
135
+ });
136
+ if (isCancel(selected)) {
137
+ cancel("Operation cancelled.");
138
+ throw new ValidationError("Operation cancelled.");
139
+ }
140
+ const pair = pairs.find((entry) => entry.mdPath === selected);
141
+ if (!pair) {
142
+ throw new ValidationError("Selected harness was not found.");
143
+ }
144
+ return pair;
145
+ }
146
+ async function discoverProjectThenUserHarnesses(container) {
147
+ const roots = [
148
+ path.join(container.env.cwd, ".poe-code", "harnesses"),
149
+ path.join(container.env.homeDir, ".poe-code", "harnesses")
150
+ ];
151
+ const discovered = [];
152
+ for (const root of roots) {
153
+ const pairs = await discoverHarnesses(root, container.fs);
154
+ for (const pair of pairs) {
155
+ const stat = await container.fs.stat(pair.mdPath);
156
+ discovered.push({
157
+ ...pair,
158
+ dir: path.dirname(pair.mdPath),
159
+ mdMtimeMs: stat.mtimeMs
160
+ });
161
+ }
162
+ }
163
+ return discovered;
164
+ }
165
+ async function resolveOutputDir(defaultDir, assumeYes) {
166
+ if (assumeYes) {
167
+ return defaultDir;
168
+ }
169
+ const answer = await promptText({
170
+ message: "Harness directory",
171
+ initialValue: defaultDir
172
+ });
173
+ if (isCancel(answer)) {
174
+ cancel("Operation cancelled.");
175
+ throw new ValidationError("Operation cancelled.");
176
+ }
177
+ const dir = answer.trim();
178
+ if (dir.length === 0) {
179
+ throw new ValidationError("Harness directory is required.");
180
+ }
181
+ return dir;
182
+ }
183
+ async function assertFilesDoNotExist(container, filePaths) {
184
+ for (const filePath of filePaths) {
185
+ if (await pathExists(container, filePath)) {
186
+ throw new ValidationError(`Refusing to overwrite existing file: ${formatDisplayPath(container, filePath)}`);
187
+ }
188
+ }
189
+ }
190
+ async function pathExists(container, filePath) {
191
+ try {
192
+ await container.fs.stat(filePath);
193
+ return true;
194
+ }
195
+ catch (error) {
196
+ if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") {
197
+ return false;
198
+ }
199
+ throw error;
200
+ }
201
+ }
202
+ function createHarnessModules(container, frontmatter, meta) {
203
+ const harnessMeta = {
204
+ kind: meta.kind,
205
+ version: meta.version,
206
+ filepath: meta.filename
207
+ };
208
+ const agent = makeAgentModule(async (input) => {
209
+ const { result } = sdkSpawn(input.agent, {
210
+ prompt: input.prompt,
211
+ cwd: input.cwd ?? meta.dirname,
212
+ model: input.model,
213
+ mode: input.mode,
214
+ mcpServers: input.mcp,
215
+ signal: undefined
216
+ });
217
+ const resolved = await result;
218
+ return {
219
+ exitCode: resolved.exitCode,
220
+ stdout: resolved.stdout,
221
+ stderr: resolved.stderr,
222
+ summary: resolved.stdout || resolved.stderr,
223
+ durationMs: 0
224
+ };
225
+ });
226
+ const fail = makeFailModule().default;
227
+ const git = makeGitModule(meta.dirname);
228
+ const harness = makeHarnessModule(frontmatter, harnessMeta);
229
+ const log = makeLogModule();
230
+ const metric = makeMetricModule(async (scriptName) => {
231
+ const result = await container.commandRunner("npm", ["run", scriptName], {
232
+ cwd: meta.dirname
233
+ });
234
+ if (result.exitCode !== 0) {
235
+ throw new Error(`Metric script "${scriptName}" failed with exit code ${result.exitCode}.`);
236
+ }
237
+ return result.stdout;
238
+ });
239
+ return {
240
+ agent: toModuleExports(agent),
241
+ fail: toModuleExports(new Map([["default", fail]])),
242
+ git: toModuleExports(git),
243
+ harness: toModuleExports(harness),
244
+ log: toModuleExports(log),
245
+ metric: toModuleExports(metric)
246
+ };
247
+ }
248
+ function toModuleExports(moduleExports) {
249
+ if (moduleExports instanceof Map) {
250
+ return moduleExports;
251
+ }
252
+ return new Map(Object.entries(moduleExports));
253
+ }
254
+ function formatDisplayPath(container, filePath) {
255
+ const relative = path.relative(container.env.cwd, filePath);
256
+ return relative.length > 0 && !relative.startsWith("..") && !path.isAbsolute(relative)
257
+ ? relative
258
+ : filePath.replace(container.env.homeDir, "~");
259
+ }
260
+ //# sourceMappingURL=harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../src/cli/commands/harness.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { resolveAgentId, parseAgentSpecifier, formatAgentSpecifier, allAgents }
6
6
  import { renderAcpEvent } from "@poe-code/agent-spawn";
7
7
  import { skillPlanConfigSection } from "@poe-code/agent-harness-tools";
8
8
  import { installSkill, resolveAgentSupport } from "@poe-code/agent-skill-config";
9
- import { readMergedDocument, resolveScope } from "@poe-code/poe-code-config";
9
+ import { loadIntegrations, mergePipelineCallbacks, readMergedDocument, resolveScope } from "@poe-code/poe-code-config";
10
10
  import { pipelineConfigScope, planConfigScope } from "../../services/config.js";
11
11
  import { ValidationError } from "../errors.js";
12
12
  import { discoverPipelineInitSources } from "./pipeline-init.js";
@@ -31,6 +31,7 @@ async function resolvePipelineCommandConfig(container) {
31
31
  const yamlPlanDirectory = pipelineYamlConfig.plan_directory;
32
32
  const planDirectory = typeof yamlPlanDirectory === "string" ? yamlPlanDirectory : globalPlanDirectory;
33
33
  return {
34
+ configDoc,
34
35
  planDirectory,
35
36
  tui: pipelineConfig.tui === true
36
37
  };
@@ -226,6 +227,7 @@ function createPipelineDashboardRunAgent(options) {
226
227
  mode: input.mode,
227
228
  ...(input.mcpServers ? { mcpServers: input.mcpServers } : {}),
228
229
  ...(input.signal ? { signal: input.signal } : {}),
230
+ ...(options.middlewares ? { middlewares: options.middlewares } : {}),
229
231
  tee: {
230
232
  stdout: {
231
233
  write(chunk) {
@@ -276,6 +278,18 @@ function createPipelineDashboardRunAgent(options) {
276
278
  throw lastError;
277
279
  };
278
280
  }
281
+ function createPipelineCliRunAgent(middlewares) {
282
+ return async (input) => sdkSpawn.autonomous(input.agent, {
283
+ prompt: input.prompt,
284
+ cwd: input.cwd,
285
+ logDir: input.logDir,
286
+ model: input.model,
287
+ mode: input.mode,
288
+ ...(input.mcpServers ? { mcpServers: input.mcpServers } : {}),
289
+ ...(input.signal ? { signal: input.signal } : {}),
290
+ middlewares
291
+ });
292
+ }
279
293
  function dashboardStatusForResult(result) {
280
294
  return result.stopReason === "failed" ? "error" : "done";
281
295
  }
@@ -342,11 +356,14 @@ async function runPipelineWithDashboard(options) {
342
356
  };
343
357
  process.on("SIGINT", sigintHandler);
344
358
  try {
345
- const result = await sdkRunPipeline({
359
+ const runOptions = {
346
360
  ...options.runOptions,
347
361
  runAgent: createPipelineDashboardRunAgent({
348
362
  appendOutput,
349
- activeStage: () => currentStage
363
+ activeStage: () => currentStage,
364
+ ...(options.integrations?.spawnMiddleware
365
+ ? { middlewares: [options.integrations.spawnMiddleware] }
366
+ : {})
350
367
  }),
351
368
  signal: abortController.signal,
352
369
  onPlanReloadError(error) {
@@ -392,6 +409,10 @@ async function runPipelineWithDashboard(options) {
392
409
  appendOutput(progress.success ? "success" : "error", formatTaskCompleteMessage(progress));
393
410
  syncStats();
394
411
  }
412
+ };
413
+ const result = await runPipelineWithIntegrations(options.integrations, options.planPath, {
414
+ ...runOptions,
415
+ ...mergePipelineCallbacks(runOptions, options.integrations?.pipelineCallbacks)
395
416
  });
396
417
  status = dashboardStatusForResult(result);
397
418
  syncStats();
@@ -411,6 +432,10 @@ async function runPipelineWithDashboard(options) {
411
432
  dashboard.destroy();
412
433
  }
413
434
  }
435
+ async function runPipelineWithIntegrations(integrations, name, options) {
436
+ return integrations?.traceRun("pipeline", name, () => sdkRunPipeline(options)) ??
437
+ sdkRunPipeline(options);
438
+ }
414
439
  function resolvePipelinePaths(scope, cwd, homeDir) {
415
440
  const rootPath = scope === "global"
416
441
  ? path.join(homeDir, ".poe-code", "pipeline")
@@ -504,6 +529,7 @@ export function registerPipelineCommand(program, container) {
504
529
  const resources = createExecutionResources(container, flags, "pipeline:run");
505
530
  const options = this.opts();
506
531
  resources.logger.intro("pipeline run");
532
+ let integrations = null;
507
533
  try {
508
534
  const selectedAgent = await resolvePipelineLoopAgent({
509
535
  providedAgent: options.agent,
@@ -520,6 +546,7 @@ export function registerPipelineCommand(program, container) {
520
546
  }
521
547
  const agent = resolvePipelineAgent(selectedAgent.agent);
522
548
  const commandConfig = await resolvePipelineCommandConfig(container);
549
+ integrations = await loadIntegrations(commandConfig.configDoc);
523
550
  const maxRuns = resolveMaxRuns(options.maxRuns);
524
551
  if (options.plan && options.plans && options.plans.length > 0) {
525
552
  throw new ValidationError("Use either --plan or --plans, not both.");
@@ -568,6 +595,9 @@ export function registerPipelineCommand(program, container) {
568
595
  ...(maxRuns != null ? { maxRuns } : {}),
569
596
  assumeYes: flags.assumeYes
570
597
  };
598
+ if (integrations?.spawnMiddleware) {
599
+ runOptions.runAgent = createPipelineCliRunAgent([integrations.spawnMiddleware]);
600
+ }
571
601
  const useDashboard = shouldUseInteractiveDashboard(options.tui ?? commandConfig.tui);
572
602
  const result = useDashboard
573
603
  ? await runPipelineWithDashboard({
@@ -576,32 +606,35 @@ export function registerPipelineCommand(program, container) {
576
606
  planPath,
577
607
  planIndex: index,
578
608
  totalPlans,
579
- runOptions
609
+ runOptions,
610
+ ...(integrations ? { integrations } : {})
580
611
  })
581
- : await sdkRunPipeline({
612
+ : await runPipelineWithIntegrations(integrations, planPath, {
582
613
  ...runOptions,
583
614
  onPlanReloadError(error) {
584
615
  resources.logger.warn(`Plan reload failed, using last good state: ${error.message}`);
585
616
  },
586
- onLockStatusChange(lockStatus) {
587
- resources.logger.info(lockStatus.message);
588
- },
589
- onPlanResolved(summary) {
590
- resources.logger.resolved("Config", formatPipelineConfigSummary({
591
- agent,
592
- model: options.model,
593
- planPath: summary.planPath,
594
- planIndex: index,
595
- totalPlans
596
- }).replaceAll(" · ", "\n "));
597
- resources.logger.resolved("Tasks", formatPipelineTasksSummary(summary));
598
- },
599
- onTaskStart(progress) {
600
- resources.logger.info(formatTaskStartMessage(progress));
601
- },
602
- onTaskComplete(progress) {
603
- resources.logger.info(formatTaskCompleteMessage(progress));
604
- }
617
+ ...mergePipelineCallbacks({
618
+ onLockStatusChange(lockStatus) {
619
+ resources.logger.info(lockStatus.message);
620
+ },
621
+ onPlanResolved(summary) {
622
+ resources.logger.resolved("Config", formatPipelineConfigSummary({
623
+ agent,
624
+ model: options.model,
625
+ planPath: summary.planPath,
626
+ planIndex: index,
627
+ totalPlans
628
+ }).replaceAll(" · ", "\n "));
629
+ resources.logger.resolved("Tasks", formatPipelineTasksSummary(summary));
630
+ },
631
+ onTaskStart(progress) {
632
+ resources.logger.info(formatTaskStartMessage(progress));
633
+ },
634
+ onTaskComplete(progress) {
635
+ resources.logger.info(formatTaskCompleteMessage(progress));
636
+ }
637
+ }, integrations?.pipelineCallbacks)
605
638
  });
606
639
  const summary = formatRunSummary(result);
607
640
  if (result.stopReason === "failed") {
@@ -631,6 +664,7 @@ export function registerPipelineCommand(program, container) {
631
664
  resources.logger.success(planPaths.length > 1 ? "Pipeline sequence finished." : "Pipeline run finished.");
632
665
  }
633
666
  finally {
667
+ await integrations?.shutdown();
634
668
  resources.context.finalize();
635
669
  }
636
670
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/cli/commands/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/cli/commands/pipeline.ts"],"names":[],"mappings":"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"}