poe-code 3.0.181 → 3.0.182

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 (117) hide show
  1. package/dist/cli/commands/config.js +3 -4
  2. package/dist/cli/commands/config.js.map +1 -1
  3. package/dist/cli/commands/configure.js +12 -3
  4. package/dist/cli/commands/configure.js.map +1 -1
  5. package/dist/cli/commands/dashboard-loop-shared.d.ts +7 -0
  6. package/dist/cli/commands/dashboard-loop-shared.js +15 -0
  7. package/dist/cli/commands/dashboard-loop-shared.js.map +1 -1
  8. package/dist/cli/commands/experiment.js +41 -32
  9. package/dist/cli/commands/experiment.js.map +1 -1
  10. package/dist/cli/commands/mcp.js +7 -2
  11. package/dist/cli/commands/mcp.js.map +1 -1
  12. package/dist/cli/commands/pipeline.js +55 -44
  13. package/dist/cli/commands/pipeline.js.map +1 -1
  14. package/dist/cli/commands/plan.js +195 -38
  15. package/dist/cli/commands/plan.js.map +1 -1
  16. package/dist/cli/commands/ralph.js +24 -24
  17. package/dist/cli/commands/ralph.js.map +1 -1
  18. package/dist/cli/commands/shared.d.ts +3 -0
  19. package/dist/cli/commands/shared.js +27 -1
  20. package/dist/cli/commands/shared.js.map +1 -1
  21. package/dist/cli/commands/skill.js +21 -10
  22. package/dist/cli/commands/skill.js.map +1 -1
  23. package/dist/cli/commands/spawn-poe-agent.d.ts +2 -0
  24. package/dist/cli/commands/spawn-poe-agent.js +47 -0
  25. package/dist/cli/commands/spawn-poe-agent.js.map +1 -0
  26. package/dist/cli/commands/spawn.js +21 -1
  27. package/dist/cli/commands/spawn.js.map +1 -1
  28. package/dist/cli/commands/utils-symlink-agents.d.ts +6 -0
  29. package/dist/cli/commands/utils-symlink-agents.js +78 -0
  30. package/dist/cli/commands/utils-symlink-agents.js.map +1 -0
  31. package/dist/cli/commands/utils-symlink-ops.d.ts +29 -0
  32. package/dist/cli/commands/utils-symlink-ops.js +76 -0
  33. package/dist/cli/commands/utils-symlink-ops.js.map +1 -0
  34. package/dist/cli/commands/utils-symlink-skills.d.ts +15 -0
  35. package/dist/cli/commands/utils-symlink-skills.js +136 -0
  36. package/dist/cli/commands/utils-symlink-skills.js.map +1 -0
  37. package/dist/cli/commands/utils-symlink.d.ts +3 -0
  38. package/dist/cli/commands/utils-symlink.js +40 -0
  39. package/dist/cli/commands/utils-symlink.js.map +1 -0
  40. package/dist/cli/commands/utils.js +2 -0
  41. package/dist/cli/commands/utils.js.map +1 -1
  42. package/dist/cli/constants.d.ts +2 -2
  43. package/dist/cli/constants.js +1 -1
  44. package/dist/cli/constants.js.map +1 -1
  45. package/dist/cli/program.js +8 -1
  46. package/dist/cli/program.js.map +1 -1
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.js +23269 -18158
  49. package/dist/index.js.map +4 -4
  50. package/dist/plan/document-schema.d.ts +21 -0
  51. package/dist/plan/document-schema.js +16 -0
  52. package/dist/plan/document-schema.js.map +1 -0
  53. package/dist/providers/claude-code.js +31 -13
  54. package/dist/providers/claude-code.js.map +4 -4
  55. package/dist/providers/codex.js +31 -13
  56. package/dist/providers/codex.js.map +4 -4
  57. package/dist/providers/goose.js +32 -14
  58. package/dist/providers/goose.js.map +4 -4
  59. package/dist/providers/kimi.js +31 -13
  60. package/dist/providers/kimi.js.map +4 -4
  61. package/dist/providers/opencode.js +32 -14
  62. package/dist/providers/opencode.js.map +4 -4
  63. package/dist/providers/poe-agent.d.ts +5 -0
  64. package/dist/providers/poe-agent.js +19812 -4438
  65. package/dist/providers/poe-agent.js.map +4 -4
  66. package/dist/sdk/container.js +4 -0
  67. package/dist/sdk/container.js.map +1 -1
  68. package/dist/sdk/spawn.js +8 -2
  69. package/dist/sdk/spawn.js.map +1 -1
  70. package/dist/sdk/types.d.ts +5 -1
  71. package/dist/services/config.d.ts +29 -44
  72. package/dist/services/config.js +16 -25
  73. package/dist/services/config.js.map +1 -1
  74. package/dist/templates/pipeline/SKILL_plan.md +22 -8
  75. package/dist/templates/pipeline/steps.yaml.mustache +1 -1
  76. package/dist/templates/skill/poe-generate.md +47 -0
  77. package/dist/templates/skill/terminal-pilot.md +45 -0
  78. package/dist/utils/dry-run.d.ts +8 -0
  79. package/dist/utils/dry-run.js +16 -0
  80. package/dist/utils/dry-run.js.map +1 -1
  81. package/dist/utils/file-system.d.ts +4 -0
  82. package/package.json +16 -9
  83. package/packages/cmdkit/dist/cli.js +42 -22
  84. package/packages/cmdkit/dist/cli.js.map +3 -3
  85. package/packages/cmdkit/dist/index.js +52 -9
  86. package/packages/cmdkit/dist/index.js.map +2 -2
  87. package/packages/cmdkit/dist/mcp.d.ts +15 -0
  88. package/packages/cmdkit/dist/mcp.js +121 -20
  89. package/packages/cmdkit/dist/mcp.js.map +3 -3
  90. package/packages/cmdkit/dist/number-schema.d.ts +3 -0
  91. package/packages/cmdkit/dist/number-schema.js +8 -0
  92. package/packages/cmdkit/dist/schema-scope.d.ts +4 -0
  93. package/packages/cmdkit/dist/schema-scope.js +34 -0
  94. package/packages/cmdkit/dist/sdk.js +58 -3
  95. package/packages/cmdkit/dist/sdk.js.map +3 -3
  96. package/packages/cmdkit-schema/dist/index.compile-check.js +1 -0
  97. package/packages/cmdkit-schema/dist/index.d.ts +59 -16
  98. package/packages/cmdkit-schema/dist/index.js +53 -8
  99. package/packages/design-system/dist/dashboard/components/footer.js +2 -3
  100. package/packages/design-system/dist/dashboard/components/output-pane.d.ts +1 -10
  101. package/packages/design-system/dist/dashboard/components/output-pane.js +5 -74
  102. package/packages/design-system/dist/dashboard/dashboard.js +6 -26
  103. package/packages/design-system/dist/dashboard/keymap.js +4 -19
  104. package/packages/design-system/dist/dashboard/snapshot.js +1 -5
  105. package/packages/design-system/dist/dashboard/store.d.ts +1 -2
  106. package/packages/design-system/dist/dashboard/store.js +6 -62
  107. package/packages/design-system/dist/dashboard/terminal.d.ts +2 -0
  108. package/packages/design-system/dist/dashboard/terminal.js +18 -0
  109. package/packages/design-system/dist/dashboard/types.d.ts +1 -11
  110. package/packages/design-system/dist/terminal-markdown/ast.d.ts +10 -2
  111. package/packages/design-system/dist/terminal-markdown/parser/block.d.ts +2 -1
  112. package/packages/design-system/dist/terminal-markdown/parser/block.js +400 -110
  113. package/packages/design-system/dist/terminal-markdown/parser/frontmatter.d.ts +2 -0
  114. package/packages/design-system/dist/terminal-markdown/parser/frontmatter.js +28 -11
  115. package/packages/design-system/dist/terminal-markdown/parser/inline.d.ts +4 -0
  116. package/packages/design-system/dist/terminal-markdown/parser/inline.js +134 -55
  117. package/packages/design-system/dist/terminal-markdown/parser.js +36 -7
@@ -1,11 +1,14 @@
1
1
  import path from "node:path";
2
+ import { stringify as stringifyYaml } from "yaml";
2
3
  import { cancel, confirmOrCancel, getTheme, intro, isCancel, promptText, renderMarkdown, renderTable, select, text, withOutputFormat } from "@poe-code/design-system";
3
4
  import { archivePlan, deletePlan, discoverAllPlans, editPlan, loadPlanPreviewMarkdown, runPlanBrowser } from "@poe-code/plan-browser";
4
5
  import { installSkill, resolveAgentSupport, supportedAgents } from "@poe-code/agent-skill-config";
6
+ import { readMarkdown, readSection, runMarkdownReaderMcp } from "@poe-code/markdown-reader";
7
+ import { parseAgentSpecifier } from "@poe-code/agent-defs";
5
8
  import { readMergedDocument, resolveScope } from "@poe-code/poe-code-config";
6
9
  import { ValidationError } from "../errors.js";
7
10
  import { planConfigScope } from "../../services/config.js";
8
- import { createExecutionResources, resolveCommandFlags } from "./shared.js";
11
+ import { createExecutionResources, resolveCommandFlags, resolveDefaultAgent } from "./shared.js";
9
12
  import { spawn as sdkSpawn } from "../../sdk/spawn.js";
10
13
  import planSkillTemplate from "../../templates/plan/SKILL_plan.md";
11
14
  const DEFAULT_PLAN_AGENT = "claude-code";
@@ -14,7 +17,7 @@ export function buildPlanPrompt(options) {
14
17
  const trimmedQuestion = options.question.trim();
15
18
  const userSection = trimmedQuestion.length > 0
16
19
  ? `User request: ${trimmedQuestion}`
17
- : "The user has not yet stated what they want to plan. Follow the skill's \"If The Request Is Empty\" instruction and ask: What do you want to plan?";
20
+ : 'The user has not yet stated what they want to plan. Follow the skill\'s "If The Request Is Empty" instruction and ask: What do you want to plan?';
18
21
  return [
19
22
  "Follow the skill below to draft a feature plan.",
20
23
  "",
@@ -30,7 +33,7 @@ function resolvePlanCommandOptions(command) {
30
33
  const localOptions = command.opts();
31
34
  const parentOptions = command.parent?.opts() ?? {};
32
35
  return {
33
- source: localOptions.source ?? parentOptions.source,
36
+ kind: localOptions.kind ?? parentOptions.kind,
34
37
  output: localOptions.output ?? parentOptions.output
35
38
  };
36
39
  }
@@ -50,26 +53,126 @@ function resolveOutputOption(value) {
50
53
  }
51
54
  throw new ValidationError(`Invalid --output value "${value}". Expected one of: terminal, md, json.`);
52
55
  }
53
- function resolveSource(value) {
56
+ const VALID_KINDS = [
57
+ "plan",
58
+ "pipeline",
59
+ "experiment",
60
+ "ralph",
61
+ "superintendent",
62
+ "superintendent-base"
63
+ ];
64
+ function resolveKind(value) {
54
65
  if (!value || value.trim().length === 0) {
55
66
  return undefined;
56
67
  }
57
- if (value === "pipeline" || value === "experiment" || value === "ralph") {
68
+ if (VALID_KINDS.includes(value)) {
58
69
  return value;
59
70
  }
60
- throw new ValidationError(`Invalid --source value "${value}". Expected pipeline, experiment, or ralph.`);
71
+ throw new ValidationError(`Invalid --kind value "${value}". Expected ${VALID_KINDS.join(", ")}.`);
61
72
  }
62
73
  function formatDate(timestamp) {
63
74
  return new Date(timestamp).toISOString().slice(0, 10);
64
75
  }
65
- async function discoverPlans(container, source) {
76
+ function parseNonNegativeInt(value, fieldName) {
77
+ if (value == null) {
78
+ return undefined;
79
+ }
80
+ const trimmed = value.trim();
81
+ if (trimmed.length === 0 ||
82
+ [...trimmed].some((character) => character < "0" || character > "9")) {
83
+ throw new ValidationError(`Invalid ${fieldName} "${value}". Expected a non-negative integer.`);
84
+ }
85
+ return Number.parseInt(trimmed, 10);
86
+ }
87
+ function formatFrontmatterLines(frontmatter) {
88
+ if (Object.keys(frontmatter).length === 0) {
89
+ return [" (none)"];
90
+ }
91
+ return stringifyYaml(frontmatter)
92
+ .trimEnd()
93
+ .split("\n")
94
+ .map((line) => ` ${line}`);
95
+ }
96
+ function getDisplayedSections(result) {
97
+ return result.sections.filter((section) => section.number !== null);
98
+ }
99
+ function formatDisplayedSectionTitle(section) {
100
+ if (!section.number) {
101
+ return section.title;
102
+ }
103
+ const numberedPrefix = `${section.number}. `;
104
+ return section.title.startsWith(numberedPrefix)
105
+ ? section.title.slice(numberedPrefix.length)
106
+ : section.title;
107
+ }
108
+ function formatMarkdownReadTerminalOutput(result) {
109
+ const sections = getDisplayedSections(result);
110
+ const numberWidth = Math.max(0, ...sections.map((section) => section.number?.length ?? 0));
111
+ const sectionLines = sections.length === 0
112
+ ? [" (none)"]
113
+ : sections.map((section) => {
114
+ const number = (section.number ?? "").padEnd(numberWidth);
115
+ const separator = numberWidth > 0 ? " " : "";
116
+ return ` ${number}${separator}${formatDisplayedSectionTitle(section)}`.trimEnd();
117
+ });
118
+ return [
119
+ `file: ${result.file}`,
120
+ "frontmatter:",
121
+ ...formatFrontmatterLines(result.frontmatter),
122
+ "sections:",
123
+ ...sectionLines
124
+ ].join("\n");
125
+ }
126
+ function formatMarkdownReadMarkdownOutput(result) {
127
+ const sections = getDisplayedSections(result);
128
+ const frontmatterBlock = Object.keys(result.frontmatter).length === 0 ? "(none)" : stringifyYaml(result.frontmatter).trimEnd();
129
+ const sectionLines = sections.length === 0
130
+ ? ["- (none)"]
131
+ : sections.map((section) => section.number
132
+ ? `- \`${section.number}\` ${formatDisplayedSectionTitle(section)}`
133
+ : `- ${formatDisplayedSectionTitle(section)}`);
134
+ return [
135
+ "## File",
136
+ "",
137
+ `\`${result.file}\``,
138
+ "",
139
+ "## Frontmatter",
140
+ "",
141
+ "```yaml",
142
+ frontmatterBlock,
143
+ "```",
144
+ "",
145
+ "## Sections",
146
+ "",
147
+ ...sectionLines
148
+ ].join("\n");
149
+ }
150
+ function formatMarkdownReadOutput(result, format) {
151
+ if (format === "json") {
152
+ return JSON.stringify(result, null, 2);
153
+ }
154
+ if (format === "markdown") {
155
+ return formatMarkdownReadMarkdownOutput(result);
156
+ }
157
+ return formatMarkdownReadTerminalOutput(result);
158
+ }
159
+ function formatMarkdownReadSectionOutput(result, format) {
160
+ if (format === "json") {
161
+ return JSON.stringify(result, null, 2);
162
+ }
163
+ if (format === "terminal") {
164
+ return renderMarkdown(result.markdown).trimEnd();
165
+ }
166
+ return result.markdown.trimEnd();
167
+ }
168
+ async function discoverPlans(container, kind) {
66
169
  return discoverAllPlans({
67
170
  cwd: container.env.cwd,
68
171
  homeDir: container.env.homeDir,
69
172
  configPath: container.env.configPath,
70
173
  projectConfigPath: container.env.projectConfigPath,
71
174
  fs: container.fs,
72
- source,
175
+ kind,
73
176
  variables: container.env.variables
74
177
  });
75
178
  }
@@ -98,8 +201,8 @@ async function resolveSelectedPlan(options) {
98
201
  const selected = await select({
99
202
  message: options.promptMessage,
100
203
  options: options.plans.map((plan) => ({
101
- label: text.selectLabel(path.basename(plan.path), plan.status),
102
- hint: plan.source,
204
+ label: text.selectLabel(path.basename(plan.path), plan.detail),
205
+ hint: plan.typeLabel,
103
206
  value: plan.absolutePath
104
207
  }))
105
208
  });
@@ -124,14 +227,16 @@ function writeOutput(format, value) {
124
227
  }
125
228
  async function renderPlanList(container, options) {
126
229
  const format = resolveOutputOption(options.output);
127
- const source = resolveSource(options.source);
128
- const plans = await discoverPlans(container, source);
230
+ const kind = resolveKind(options.kind);
231
+ const plans = await discoverPlans(container, kind);
129
232
  if (format === "json") {
130
233
  writeOutput(format, JSON.stringify(plans.map((plan) => ({
131
- source: plan.source,
234
+ kind: plan.kind,
235
+ type: plan.typeLabel,
236
+ runner: plan.runner,
132
237
  name: path.basename(plan.path),
133
238
  path: plan.path,
134
- detail: plan.status,
239
+ detail: plan.detail,
135
240
  updated: formatDate(plan.updatedAt)
136
241
  })), null, 2));
137
242
  return;
@@ -139,25 +244,29 @@ async function renderPlanList(container, options) {
139
244
  const table = withOutputFormat(format, () => renderTable({
140
245
  theme: getTheme(),
141
246
  columns: [
142
- { name: "source", title: "Source", alignment: "left", maxLen: 12 },
247
+ { name: "kind", title: "Kind", alignment: "left", maxLen: 20 },
248
+ { name: "type", title: "Type", alignment: "left", maxLen: 24 },
143
249
  { name: "name", title: "Name", alignment: "left", maxLen: 32 },
144
250
  { name: "detail", title: "Detail", alignment: "left", maxLen: 40 },
145
251
  { name: "updated", title: "Updated", alignment: "left", maxLen: 12 }
146
252
  ],
147
253
  rows: plans.map((plan) => ({
148
- source: plan.source,
254
+ kind: plan.kind,
255
+ type: plan.typeLabel,
149
256
  name: path.basename(plan.path),
150
- detail: plan.status,
257
+ detail: plan.detail,
151
258
  updated: formatDate(plan.updatedAt)
152
259
  }))
153
260
  }));
154
261
  writeOutput(format, table);
155
262
  }
156
263
  async function executePlanAction(options) {
157
- intro(`plan ${options.action}`);
158
264
  const flags = resolveCommandFlags(options.program);
159
265
  const format = resolveOutputOption(options.output);
160
- const plans = await discoverPlans(options.container, resolveSource(options.source));
266
+ if (format === "terminal") {
267
+ intro(`plan ${options.action}`);
268
+ }
269
+ const plans = await discoverPlans(options.container, resolveKind(options.kind));
161
270
  const plan = await resolveSelectedPlan({
162
271
  container: options.container,
163
272
  plans,
@@ -219,8 +328,8 @@ export function registerPlanCommand(program, container) {
219
328
  });
220
329
  plan
221
330
  .command("browse")
222
- .description("Browse, view, and manage plans across pipeline, experiment, and Ralph.")
223
- .option("--source <source>", "Filter by plan source: pipeline, experiment, or ralph")
331
+ .description("Browse, view, and manage plans across all plan systems.")
332
+ .option("--kind <kind>", "Filter by plan kind: plan, pipeline, experiment, ralph, superintendent, or superintendent-base")
224
333
  .action(async function () {
225
334
  const opts = this.opts();
226
335
  const flags = resolveCommandFlags(program);
@@ -231,7 +340,7 @@ export function registerPlanCommand(program, container) {
231
340
  configPath: container.env.configPath,
232
341
  projectConfigPath: container.env.projectConfigPath,
233
342
  fs: container.fs,
234
- source: resolveSource(opts.source),
343
+ kind: resolveKind(opts.kind),
235
344
  variables: container.env.variables,
236
345
  assumeYes: flags.assumeYes
237
346
  });
@@ -239,24 +348,29 @@ export function registerPlanCommand(program, container) {
239
348
  plan
240
349
  .command("list")
241
350
  .description("List plans across all plan systems.")
242
- .option("--source <source>", "Filter by plan source: pipeline, experiment, or ralph")
351
+ .option("--kind <kind>", "Filter by plan kind: plan, pipeline, experiment, ralph, superintendent, or superintendent-base")
243
352
  .option("--output <format>", "Output format: terminal, md, or json")
244
353
  .action(async function () {
245
- intro("plan list");
246
- await renderPlanList(container, resolvePlanCommandOptions(this));
354
+ const options = resolvePlanCommandOptions(this);
355
+ if (resolveOutputOption(options.output) === "terminal") {
356
+ intro("plan list");
357
+ }
358
+ await renderPlanList(container, options);
247
359
  });
248
360
  plan
249
361
  .command("view")
250
362
  .description("Render a single plan to the terminal.")
251
363
  .argument("[path]", "Plan path")
252
- .option("--source <source>", "Filter by plan source: pipeline, experiment, or ralph")
364
+ .option("--kind <kind>", "Filter by plan kind: plan, pipeline, experiment, ralph, superintendent, or superintendent-base")
253
365
  .option("--output <format>", "Output format: terminal, md, or json")
254
366
  .action(async function (pathArg) {
255
- intro("plan view");
256
367
  const flags = resolveCommandFlags(program);
257
368
  const options = resolvePlanCommandOptions(this);
258
369
  const format = resolveOutputOption(options.output);
259
- const plans = await discoverPlans(container, resolveSource(options.source));
370
+ if (format === "terminal") {
371
+ intro("plan view");
372
+ }
373
+ const plans = await discoverPlans(container, resolveKind(options.kind));
260
374
  const plan = await resolveSelectedPlan({
261
375
  container,
262
376
  plans,
@@ -267,10 +381,12 @@ export function registerPlanCommand(program, container) {
267
381
  const markdown = await loadPlanPreviewMarkdown(plan, container.fs);
268
382
  if (format === "json") {
269
383
  writeOutput(format, JSON.stringify({
270
- source: plan.source,
384
+ kind: plan.kind,
385
+ type: plan.typeLabel,
386
+ runner: plan.runner,
271
387
  path: plan.path,
272
388
  title: plan.title,
273
- detail: plan.status,
389
+ detail: plan.detail,
274
390
  content: markdown
275
391
  }, null, 2));
276
392
  return;
@@ -278,11 +394,49 @@ export function registerPlanCommand(program, container) {
278
394
  const output = format === "markdown" ? markdown : renderMarkdown(markdown);
279
395
  writeOutput(format, output.trimEnd());
280
396
  });
397
+ plan
398
+ .command("markdown-read")
399
+ .description("Read a markdown file and print its table of contents.")
400
+ .argument("<file>", "Markdown file")
401
+ .option("--depth <n>", "Limit the table of contents to headings at depth <= n")
402
+ .option("--output <format>", "Output format: terminal, md, or json")
403
+ .action(async function (file) {
404
+ const options = this.opts();
405
+ const format = resolveOutputOption(options.output);
406
+ const result = await readMarkdown({
407
+ file,
408
+ depth: parseNonNegativeInt(options.depth, "depth")
409
+ });
410
+ writeOutput(format, formatMarkdownReadOutput(result, format));
411
+ });
412
+ plan
413
+ .command("markdown-read-section")
414
+ .description("Read one section from a markdown file.")
415
+ .argument("<file>", "Markdown file")
416
+ .argument("<section>", "Section number or heading text")
417
+ .option("--no-include-children", "Exclude nested child sections")
418
+ .option("--output <format>", "Output format: terminal, md, or json")
419
+ .action(async function (file, section) {
420
+ const options = this.opts();
421
+ const format = resolveOutputOption(options.output ?? "markdown");
422
+ const result = await readSection({
423
+ file,
424
+ section,
425
+ includeChildren: options.includeChildren
426
+ });
427
+ writeOutput(format, formatMarkdownReadSectionOutput(result, format));
428
+ });
429
+ plan
430
+ .command("markdown-reader-mcp")
431
+ .description("Run the standalone markdown reader MCP server.")
432
+ .action(async () => {
433
+ await runMarkdownReaderMcp();
434
+ });
281
435
  plan
282
436
  .command("edit")
283
437
  .description("Open a plan in $EDITOR.")
284
438
  .argument("[path]", "Plan path")
285
- .option("--source <source>", "Filter by plan source: pipeline, experiment, or ralph")
439
+ .option("--kind <kind>", "Filter by plan kind: plan, pipeline, experiment, ralph, superintendent, or superintendent-base")
286
440
  .option("--output <format>", "Output format: terminal, md, or json")
287
441
  .action(async function (pathArg) {
288
442
  await executePlanAction({
@@ -297,7 +451,7 @@ export function registerPlanCommand(program, container) {
297
451
  .command("archive")
298
452
  .description("Move a plan into archive/.")
299
453
  .argument("[path]", "Plan path")
300
- .option("--source <source>", "Filter by plan source: pipeline, experiment, or ralph")
454
+ .option("--kind <kind>", "Filter by plan kind: plan, pipeline, experiment, ralph, superintendent, or superintendent-base")
301
455
  .option("--output <format>", "Output format: terminal, md, or json")
302
456
  .action(async function (pathArg) {
303
457
  await executePlanAction({
@@ -312,7 +466,7 @@ export function registerPlanCommand(program, container) {
312
466
  .command("delete")
313
467
  .description("Delete a plan file.")
314
468
  .argument("[path]", "Plan path")
315
- .option("--source <source>", "Filter by plan source: pipeline, experiment, or ralph")
469
+ .option("--kind <kind>", "Filter by plan kind: plan, pipeline, experiment, ralph, superintendent, or superintendent-base")
316
470
  .option("--output <format>", "Output format: terminal, md, or json")
317
471
  .action(async function (pathArg) {
318
472
  await executePlanAction({
@@ -325,7 +479,7 @@ export function registerPlanCommand(program, container) {
325
479
  });
326
480
  plan
327
481
  .command("install")
328
- .description("Install the /plan five-altitudes skill.")
482
+ .description("Install the /plan five-levels skill.")
329
483
  .option("--agent <name>", "Agent to install the plan skill for")
330
484
  .option("--local", "Install project-local skill")
331
485
  .option("--global", "Install user-global skill")
@@ -343,7 +497,7 @@ export function registerPlanCommand(program, container) {
343
497
  }
344
498
  const resources = createExecutionResources(container, flags, "plan:install");
345
499
  try {
346
- const agent = await resolvePlanAgent(options.agent, flags.assumeYes);
500
+ const agent = await resolvePlanAgent(container, options.agent, flags.assumeYes);
347
501
  if (agent === null) {
348
502
  return;
349
503
  }
@@ -410,8 +564,7 @@ function resolvePlanSessionAgent(value) {
410
564
  async function resolvePlanDirectory(container) {
411
565
  const document = await readMergedDocument(container.fs, container.env.configPath, container.env.projectConfigPath);
412
566
  const config = resolveScope(planConfigScope.schema, document[planConfigScope.scope], container.env.variables);
413
- const configured = config.plan_directory?.trim();
414
- return configured && configured.length > 0 ? configured : "docs/plans";
567
+ return config.plan_directory;
415
568
  }
416
569
  async function runPlanSession(options) {
417
570
  const planDirectory = await resolvePlanDirectory(options.container);
@@ -429,10 +582,14 @@ async function runPlanSession(options) {
429
582
  process.exitCode = final.exitCode;
430
583
  }
431
584
  }
432
- async function resolvePlanAgent(value, assumeYes) {
585
+ async function resolvePlanAgent(container, value, assumeYes) {
433
586
  if (value && value.trim().length > 0) {
434
587
  return value.trim();
435
588
  }
589
+ const fromConfig = await resolveDefaultAgent(container);
590
+ if (fromConfig !== null) {
591
+ return parseAgentSpecifier(fromConfig).agent;
592
+ }
436
593
  if (assumeYes) {
437
594
  return DEFAULT_PLAN_AGENT;
438
595
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,12 @@ import { resolveAgentId, parseAgentSpecifier, formatAgentSpecifier, allAgents }
4
4
  import { allSpawnConfigs } from "@poe-code/agent-spawn";
5
5
  import { discoverDocs, parseFrontmatter, writeFrontmatter } from "@poe-code/ralph";
6
6
  import { readMergedDocument, resolveScope } from "@poe-code/poe-code-config";
7
- import { ralphConfigScope } from "../../services/config.js";
7
+ import { ralphConfigScope, planConfigScope } from "../../services/config.js";
8
8
  import { ValidationError } from "../errors.js";
9
- import { createExecutionResources, resolveCommandFlags } from "./shared.js";
9
+ import { createExecutionResources, resolveCommandFlags, resolveDefaultAgent } from "./shared.js";
10
10
  import { runRalph as sdkRunRalph } from "../../sdk/ralph.js";
11
11
  import { spawn as sdkSpawn } from "../../sdk/spawn.js";
12
- import { createDashboardLineBuffer, formatDashboardDuration, formatDashboardTimestamp, shouldUseInteractiveDashboard } from "./dashboard-loop-shared.js";
12
+ import { createDashboardLineBuffer, formatDashboardDuration, formatDashboardTimestamp, registerDashboardQuitCommands, shouldUseInteractiveDashboard } from "./dashboard-loop-shared.js";
13
13
  const DEFAULT_RALPH_AGENT = "claude-code";
14
14
  const DEFAULT_RALPH_ITERATIONS = 3;
15
15
  function formatRalphAgentSummary(agent) {
@@ -106,10 +106,10 @@ async function runRalphWithDashboard(options) {
106
106
  appendOutput("status", "Cancellation requested");
107
107
  syncStats();
108
108
  };
109
- dashboard.onCommand((command) => {
110
- if (command === "quit") {
111
- requestCancellation();
112
- }
109
+ registerDashboardQuitCommands({
110
+ abortController,
111
+ dashboard,
112
+ requestCancellation
113
113
  });
114
114
  dashboard.start();
115
115
  syncStats();
@@ -183,33 +183,27 @@ function parsePositiveInt(value, fieldName) {
183
183
  return parsed;
184
184
  }
185
185
  function normalizeConfiguredIterations(value) {
186
- return typeof value === "number" && Number.isInteger(value) && value >= 1
187
- ? value
188
- : undefined;
186
+ return typeof value === "number" && Number.isInteger(value) && value >= 1 ? value : undefined;
189
187
  }
190
188
  function resolveAbsoluteDocPath(container, docPath) {
191
189
  if (docPath.startsWith("~/")) {
192
190
  return path.join(container.env.homeDir, docPath.slice(2));
193
191
  }
194
- return path.isAbsolute(docPath)
195
- ? docPath
196
- : path.resolve(container.env.cwd, docPath);
192
+ return path.isAbsolute(docPath) ? docPath : path.resolve(container.env.cwd, docPath);
197
193
  }
198
194
  async function resolveRalphCommandConfig(container) {
199
195
  const configDoc = await readMergedDocument(container.fs, container.env.configPath, container.env.projectConfigPath);
200
196
  const ralphConfig = resolveScope(ralphConfigScope.schema, configDoc[ralphConfigScope.scope], container.env.variables);
201
- const planDirectory = ralphConfig.plan_directory?.trim();
197
+ const planConfig = resolveScope(planConfigScope.schema, configDoc[planConfigScope.scope], container.env.variables);
202
198
  return {
203
- ...(planDirectory ? { planDirectory } : {}),
199
+ planDirectory: planConfig.plan_directory,
204
200
  tui: ralphConfig.tui === true
205
201
  };
206
202
  }
207
203
  function formatDocHint(frontmatter) {
208
204
  const parts = [];
209
205
  if (frontmatter.agent !== undefined) {
210
- const agents = Array.isArray(frontmatter.agent)
211
- ? frontmatter.agent
212
- : [frontmatter.agent];
206
+ const agents = Array.isArray(frontmatter.agent) ? frontmatter.agent : [frontmatter.agent];
213
207
  if (agents.length > 0) {
214
208
  parts.push(agents.join(", "));
215
209
  }
@@ -244,7 +238,7 @@ async function resolveDocPath(options) {
244
238
  fs: options.container.fs
245
239
  });
246
240
  if (docs.length === 0) {
247
- throw new ValidationError("No markdown doc found under .poe-code/ralph/plans/ or ~/.poe-code/ralph/plans/. Provide a doc path.");
241
+ throw new ValidationError(`No markdown doc found under ${options.planDirectory}. Provide a doc path.`);
248
242
  }
249
243
  const flags = resolveCommandFlags(options.program);
250
244
  if (flags.assumeYes) {
@@ -291,7 +285,11 @@ function resolveConfiguredAgents(value) {
291
285
  }
292
286
  return value.map((entry) => resolveRalphAgent(entry, "frontmatter agent"));
293
287
  }
294
- async function promptForAgent(program) {
288
+ async function promptForAgent(container, program) {
289
+ const fromConfig = await resolveDefaultAgent(container);
290
+ if (fromConfig !== null) {
291
+ return resolveRalphAgent(fromConfig);
292
+ }
295
293
  const flags = resolveCommandFlags(program);
296
294
  if (flags.assumeYes) {
297
295
  return DEFAULT_RALPH_AGENT;
@@ -317,7 +315,7 @@ async function resolveRunAgent(options) {
317
315
  if (configured !== undefined) {
318
316
  return configured;
319
317
  }
320
- return promptForAgent(options.program);
318
+ return promptForAgent(options.container, options.program);
321
319
  }
322
320
  async function resolveRunIterations(options) {
323
321
  const explicitIterations = parsePositiveInt(options.providedIterations, "iterations");
@@ -339,13 +337,13 @@ async function resolveRunIterations(options) {
339
337
  cancel("Ralph run cancelled.");
340
338
  return null;
341
339
  }
342
- return parsePositiveInt(typeof entered === "string" ? entered.trim() : undefined, "iterations") ?? null;
340
+ return (parsePositiveInt(typeof entered === "string" ? entered.trim() : undefined, "iterations") ?? null);
343
341
  }
344
342
  async function resolveInitAgent(options) {
345
343
  if (options.providedAgent) {
346
344
  return resolveRalphAgent(options.providedAgent);
347
345
  }
348
- return promptForAgent(options.program);
346
+ return promptForAgent(options.container, options.program);
349
347
  }
350
348
  async function resolveInitIterations(options) {
351
349
  const explicitIterations = parsePositiveInt(options.providedIterations, "iterations");
@@ -363,7 +361,7 @@ async function resolveInitIterations(options) {
363
361
  cancel("Ralph init cancelled.");
364
362
  return null;
365
363
  }
366
- return parsePositiveInt(typeof entered === "string" ? entered.trim() : undefined, "iterations") ?? null;
364
+ return (parsePositiveInt(typeof entered === "string" ? entered.trim() : undefined, "iterations") ?? null);
367
365
  }
368
366
  function formatCurrentConfig(frontmatter) {
369
367
  if (frontmatter.agent === undefined && frontmatter.iterations === undefined) {
@@ -426,6 +424,7 @@ export function registerRalphCommand(program, container) {
426
424
  resources.logger.info(currentConfig);
427
425
  }
428
426
  const agent = await resolveInitAgent({
427
+ container,
429
428
  program,
430
429
  providedAgent: options.agent
431
430
  });
@@ -481,6 +480,7 @@ export function registerRalphCommand(program, container) {
481
480
  }
482
481
  const doc = await readRalphDoc(container, docPath);
483
482
  const agent = await resolveRunAgent({
483
+ container,
484
484
  program,
485
485
  providedAgent: options.agent,
486
486
  frontmatterAgent: doc.data.agent