poe-code 3.0.91 → 3.0.92

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.
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ import type { CliContainer } from "../container.js";
3
+ export declare function registerPipelineCommand(program: Command, container: CliContainer): void;
@@ -0,0 +1,356 @@
1
+ import path from "node:path";
2
+ import { readFile, stat } from "node:fs/promises";
3
+ import { fileURLToPath } from "node:url";
4
+ import { cancel, isCancel, promptText, select } from "@poe-code/design-system";
5
+ import { resolveAgentId } from "@poe-code/agent-defs";
6
+ import { installSkill, resolveAgentSupport, supportedAgents } from "@poe-code/agent-skill-config";
7
+ import { ValidationError } from "../errors.js";
8
+ import { createExecutionResources, resolveCommandFlags } from "./shared.js";
9
+ import { runPipeline as sdkRunPipeline } from "../../sdk/pipeline.js";
10
+ function formatDuration(ms) {
11
+ const totalSeconds = Math.round(ms / 1000);
12
+ const minutes = Math.floor(totalSeconds / 60);
13
+ const seconds = totalSeconds % 60;
14
+ return minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
15
+ }
16
+ const DEFAULT_PIPELINE_AGENT = "claude-code";
17
+ const DEFAULT_PIPELINE_SCOPE = "local";
18
+ let pipelineTemplatesCache = null;
19
+ function resolvePipelineAgent(value) {
20
+ if (!value || value.trim().length === 0) {
21
+ return DEFAULT_PIPELINE_AGENT;
22
+ }
23
+ const resolved = resolveAgentId(value.trim());
24
+ if (!resolved) {
25
+ throw new ValidationError(`Unsupported agent: ${value}`);
26
+ }
27
+ return resolved;
28
+ }
29
+ function resolveMaxRuns(value) {
30
+ if (value == null) {
31
+ return undefined;
32
+ }
33
+ const parsed = Number.parseInt(value, 10);
34
+ if (!Number.isFinite(parsed) || parsed < 1) {
35
+ throw new ValidationError(`Invalid max-runs "${value}". Expected a positive integer.`);
36
+ }
37
+ return parsed;
38
+ }
39
+ function resolvePipelinePaths(scope, cwd, homeDir) {
40
+ const rootPath = scope === "global"
41
+ ? path.join(homeDir, ".poe-code", "pipeline")
42
+ : path.join(cwd, ".poe-code", "pipeline");
43
+ const displayRoot = scope === "global" ? "~/.poe-code/pipeline" : ".poe-code/pipeline";
44
+ return {
45
+ plansPath: path.join(rootPath, "plans"),
46
+ stepsPath: path.join(rootPath, "steps.yaml"),
47
+ displayPlansPath: `${displayRoot}/plans`,
48
+ displayStepsPath: `${displayRoot}/steps.yaml`
49
+ };
50
+ }
51
+ async function loadPipelineTemplates() {
52
+ if (pipelineTemplatesCache) {
53
+ return pipelineTemplatesCache;
54
+ }
55
+ const packageRoot = await findPackageRoot(fileURLToPath(import.meta.url));
56
+ const templateRoots = [
57
+ path.join(packageRoot, "src", "templates", "pipeline"),
58
+ path.join(packageRoot, "dist", "templates", "pipeline")
59
+ ];
60
+ for (const templateRoot of templateRoots) {
61
+ if (!(await pathExistsOnDisk(templateRoot))) {
62
+ continue;
63
+ }
64
+ const [skillPlan, steps] = await Promise.all([
65
+ readFile(path.join(templateRoot, "SKILL_plan.md"), "utf8"),
66
+ readFile(path.join(templateRoot, "steps.yaml.hbs"), "utf8")
67
+ ]);
68
+ pipelineTemplatesCache = { skillPlan, steps };
69
+ return pipelineTemplatesCache;
70
+ }
71
+ throw new Error("Pipeline templates not found.");
72
+ }
73
+ async function pathExistsOnDisk(targetPath) {
74
+ try {
75
+ await stat(targetPath);
76
+ return true;
77
+ }
78
+ catch (error) {
79
+ if (error &&
80
+ typeof error === "object" &&
81
+ "code" in error &&
82
+ error.code === "ENOENT") {
83
+ return false;
84
+ }
85
+ throw error;
86
+ }
87
+ }
88
+ async function findPackageRoot(entryFilePath) {
89
+ let currentPath = path.dirname(entryFilePath);
90
+ while (true) {
91
+ if (await pathExistsOnDisk(path.join(currentPath, "package.json"))) {
92
+ return currentPath;
93
+ }
94
+ const parentPath = path.dirname(currentPath);
95
+ if (parentPath === currentPath) {
96
+ throw new Error("Unable to locate package root for Pipeline templates.");
97
+ }
98
+ currentPath = parentPath;
99
+ }
100
+ }
101
+ async function pathExists(fs, targetPath) {
102
+ try {
103
+ await fs.stat(targetPath);
104
+ return true;
105
+ }
106
+ catch (error) {
107
+ if (error &&
108
+ typeof error === "object" &&
109
+ "code" in error &&
110
+ error.code === "ENOENT") {
111
+ return false;
112
+ }
113
+ throw error;
114
+ }
115
+ }
116
+ export function registerPipelineCommand(program, container) {
117
+ const pipeline = program
118
+ .command("pipeline")
119
+ .description("Run a fixed-step task pipeline plan.");
120
+ pipeline
121
+ .command("run")
122
+ .description("Run the selected pipeline plan until completion, failure, cancellation, or cap.")
123
+ .option("--agent <name>", "Agent to run each pipeline step with")
124
+ .option("--model <model>", "Model override passed to the agent")
125
+ .option("--task <id>", "Run only the specified task")
126
+ .option("--plan <path>", "Path to the pipeline plan file")
127
+ .option("--max-runs <n>", "Maximum number of agent executions to perform")
128
+ .action(async function () {
129
+ const flags = resolveCommandFlags(program);
130
+ const resources = createExecutionResources(container, flags, "pipeline:run");
131
+ const options = this.opts();
132
+ resources.logger.intro("pipeline run");
133
+ try {
134
+ let agent;
135
+ if (options.agent) {
136
+ agent = resolvePipelineAgent(options.agent);
137
+ }
138
+ else if (flags.assumeYes) {
139
+ agent = DEFAULT_PIPELINE_AGENT;
140
+ }
141
+ else {
142
+ const selected = await select({
143
+ message: "Select agent to run pipeline steps with:",
144
+ options: supportedAgents.map((value) => ({
145
+ value,
146
+ label: value
147
+ }))
148
+ });
149
+ if (isCancel(selected)) {
150
+ cancel("Pipeline run cancelled.");
151
+ return;
152
+ }
153
+ agent = resolvePipelineAgent(selected);
154
+ }
155
+ const result = await sdkRunPipeline({
156
+ agent,
157
+ cwd: container.env.cwd,
158
+ homeDir: container.env.homeDir,
159
+ ...(options.model ? { model: options.model } : {}),
160
+ ...(options.task ? { task: options.task } : {}),
161
+ ...(options.plan ? { plan: options.plan } : {}),
162
+ ...(resolveMaxRuns(options.maxRuns) != null
163
+ ? { maxRuns: resolveMaxRuns(options.maxRuns) }
164
+ : {}),
165
+ assumeYes: flags.assumeYes,
166
+ onPlanResolved(summary) {
167
+ const configLines = [`Agent: ${agent}`];
168
+ if (options.model)
169
+ configLines.push(`Model: ${options.model}`);
170
+ configLines.push(`Plan: ${summary.planPath}`);
171
+ resources.logger.resolved("Config", configLines.join("\n "));
172
+ const parts = [`${summary.done}/${summary.total} done`];
173
+ if (summary.failed)
174
+ parts.push(`${summary.failed} failed`);
175
+ if (summary.open)
176
+ parts.push(`${summary.open} open`);
177
+ resources.logger.resolved("Tasks", parts.join(", "));
178
+ },
179
+ selectPlan: async (input) => {
180
+ const selected = await select(input);
181
+ if (isCancel(selected)) {
182
+ cancel("Pipeline run cancelled.");
183
+ return null;
184
+ }
185
+ return typeof selected === "string" ? selected : null;
186
+ },
187
+ promptForPath: async (input) => {
188
+ const value = await promptText(input);
189
+ if (isCancel(value)) {
190
+ cancel("Pipeline run cancelled.");
191
+ return null;
192
+ }
193
+ return typeof value === "string" && value.trim().length > 0
194
+ ? value.trim()
195
+ : null;
196
+ },
197
+ onTaskStart(progress) {
198
+ const step = progress.stepName ? ` (${progress.stepName})` : "";
199
+ resources.logger.info(`Task ${progress.index}/${progress.total}: ${progress.taskId}${step}`);
200
+ },
201
+ onTaskComplete(progress) {
202
+ const duration = formatDuration(progress.durationMs);
203
+ const status = progress.success ? "done" : "failed";
204
+ resources.logger.info(`Task ${progress.taskId} ${status} in ${duration}`);
205
+ }
206
+ });
207
+ const summary = [
208
+ `Tasks: ${result.runsCompleted}/${result.runsCompleted + (result.stopReason === "completed" || result.stopReason === "nothing_to_run" ? 0 : 1)}`,
209
+ `Duration: ${formatDuration(result.totalDurationMs)}`
210
+ ].join("\n ");
211
+ if (result.stopReason === "failed") {
212
+ process.exitCode = 1;
213
+ resources.logger.error(`Pipeline blocked at ${result.lastTaskId}${result.lastStepName ? ` (${result.lastStepName})` : ""}.`);
214
+ resources.logger.resolved("Run summary", summary);
215
+ return;
216
+ }
217
+ if (result.stopReason === "cancelled") {
218
+ process.exitCode = 130;
219
+ resources.logger.warn("Pipeline run cancelled.");
220
+ resources.logger.resolved("Run summary", summary);
221
+ return;
222
+ }
223
+ if (result.stopReason === "nothing_to_run") {
224
+ resources.logger.info("Nothing to run.");
225
+ return;
226
+ }
227
+ if (result.stopReason === "max_runs") {
228
+ resources.logger.info(`Reached max runs (${result.runsCompleted}).`);
229
+ resources.logger.resolved("Run summary", summary);
230
+ return;
231
+ }
232
+ resources.logger.resolved("Run summary", summary);
233
+ resources.logger.success("Pipeline run finished.");
234
+ }
235
+ finally {
236
+ resources.context.finalize();
237
+ }
238
+ });
239
+ pipeline
240
+ .command("install")
241
+ .description("Install the Pipeline /plan skill and scaffold pipeline files.")
242
+ .option("--agent <name>", "Agent to install the Pipeline skill for")
243
+ .option("--local", "Install project-local skill and pipeline files")
244
+ .option("--global", "Install user-global skill and pipeline files")
245
+ .option("--force", "Overwrite an existing steps.yaml scaffold")
246
+ .action(async function () {
247
+ const flags = resolveCommandFlags(program);
248
+ const resources = createExecutionResources(container, flags, "pipeline:install");
249
+ const options = this.opts();
250
+ if (options.local && options.global) {
251
+ throw new ValidationError("Use either --local or --global, not both.");
252
+ }
253
+ try {
254
+ let agent = options.agent;
255
+ if (!agent) {
256
+ if (flags.assumeYes) {
257
+ agent = DEFAULT_PIPELINE_AGENT;
258
+ }
259
+ else {
260
+ const selected = await select({
261
+ message: "Select agent to install the Pipeline skill for:",
262
+ options: supportedAgents.map((value) => ({
263
+ value,
264
+ label: value
265
+ }))
266
+ });
267
+ if (isCancel(selected)) {
268
+ cancel("Pipeline install cancelled.");
269
+ return;
270
+ }
271
+ agent = selected;
272
+ }
273
+ }
274
+ const support = resolveAgentSupport(agent);
275
+ if (support.status !== "supported" || !support.id) {
276
+ throw new ValidationError(`Unsupported agent: ${agent}`);
277
+ }
278
+ let scope;
279
+ if (options.local) {
280
+ scope = "local";
281
+ }
282
+ else if (options.global) {
283
+ scope = "global";
284
+ }
285
+ else if (flags.assumeYes) {
286
+ scope = DEFAULT_PIPELINE_SCOPE;
287
+ }
288
+ else {
289
+ const selected = await select({
290
+ message: "Select install scope:",
291
+ options: [
292
+ { value: "local", label: "Local" },
293
+ { value: "global", label: "Global" }
294
+ ]
295
+ });
296
+ if (isCancel(selected)) {
297
+ cancel("Pipeline install cancelled.");
298
+ return;
299
+ }
300
+ scope = selected;
301
+ }
302
+ resources.logger.intro(`pipeline install (${support.id}, ${scope})`);
303
+ const templates = await loadPipelineTemplates();
304
+ const skillResult = await installSkill(support.id, {
305
+ name: "poe-code-pipeline-plan",
306
+ content: templates.skillPlan
307
+ }, {
308
+ fs: container.fs,
309
+ cwd: container.env.cwd,
310
+ homeDir: container.env.homeDir,
311
+ scope,
312
+ dryRun: flags.dryRun
313
+ });
314
+ if (flags.dryRun) {
315
+ resources.logger.dryRun(`Would create: ${skillResult.displayPath}`);
316
+ }
317
+ else {
318
+ resources.logger.info(`Create: ${skillResult.displayPath}`);
319
+ }
320
+ const pipelinePaths = resolvePipelinePaths(scope, container.env.cwd, container.env.homeDir);
321
+ if (!(await pathExists(container.fs, pipelinePaths.plansPath))) {
322
+ if (flags.dryRun) {
323
+ resources.logger.dryRun(`Would create: ${pipelinePaths.displayPlansPath}`);
324
+ }
325
+ else {
326
+ await container.fs.mkdir(pipelinePaths.plansPath, { recursive: true });
327
+ resources.logger.info(`Create: ${pipelinePaths.displayPlansPath}`);
328
+ }
329
+ }
330
+ const stepsExists = await pathExists(container.fs, pipelinePaths.stepsPath);
331
+ if (stepsExists && !options.force) {
332
+ resources.logger.info(`Skip: ${pipelinePaths.displayStepsPath} (already exists)`);
333
+ }
334
+ else if (flags.dryRun) {
335
+ resources.logger.dryRun(`Would ${stepsExists ? "overwrite" : "create"}: ${pipelinePaths.displayStepsPath}`);
336
+ }
337
+ else {
338
+ await container.fs.mkdir(path.dirname(pipelinePaths.stepsPath), {
339
+ recursive: true
340
+ });
341
+ await container.fs.writeFile(pipelinePaths.stepsPath, templates.steps, {
342
+ encoding: "utf8"
343
+ });
344
+ resources.logger.info(`${stepsExists ? "Overwrite" : "Create"}: ${pipelinePaths.displayStepsPath}`);
345
+ }
346
+ resources.context.complete({
347
+ success: `Installed Pipeline skill for ${support.id} and scaffolded ${scope} pipeline files`,
348
+ dry: `Would install Pipeline skill for ${support.id} and scaffold ${scope} pipeline files`
349
+ });
350
+ }
351
+ finally {
352
+ resources.context.finalize();
353
+ }
354
+ });
355
+ }
356
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/cli/commands/pipeline.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -38589,7 +38589,7 @@ var init_package = __esm({
38589
38589
  "package.json"() {
38590
38590
  package_default = {
38591
38591
  name: "poe-code",
38592
- version: "3.0.91",
38592
+ version: "3.0.92",
38593
38593
  description: "CLI tool to configure Poe API for developer workflows.",
38594
38594
  type: "module",
38595
38595
  main: "./dist/index.js",
@@ -38678,6 +38678,7 @@ var init_package = __esm({
38678
38678
  "@poe-code/design-system": "*",
38679
38679
  "@poe-code/e2e-docker-test-runner": "*",
38680
38680
  "@poe-code/freeze-cli": "*",
38681
+ "@poe-code/pipeline": "*",
38681
38682
  "@poe-code/poe-acp-client": "*",
38682
38683
  "@types/mustache": "^4.2.6",
38683
38684
  "@types/node": "^25.2.2",