poe-code 3.0.260 → 3.0.261

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.
@@ -2,7 +2,7 @@ import path from "node:path";
2
2
  import { Option } from "commander";
3
3
  import { parseAgentSpecifier } from "@poe-code/agent-defs";
4
4
  import { spawn } from "@poe-code/agent-spawn";
5
- import { cancel, intro, isCancel, outro, select, withSpinner } from "toolcraft-design";
5
+ import { cancel, intro, isCancel, multiselect, outro, select, withSpinner } from "toolcraft-design";
6
6
  import { GASLIGHT_CONFIG_EXAMPLE, ingestGaslight, runGaslight } from "../../sdk/gaslight.js";
7
7
  import { resolvePlanDirectory } from "./plan.js";
8
8
  import { createExecutionResources, requireInteractiveStdin, resolveCommandFlags, resolveDefaultAgent } from "./shared.js";
@@ -11,7 +11,7 @@ import { ValidationError } from "../errors.js";
11
11
  import { hasOwnErrorCode } from "../../utils/error-codes.js";
12
12
  const DEFAULT_AGENT = "claude-code";
13
13
  const DEFAULT_SCOPE = "local";
14
- async function selectPlan(container, assumeYes) {
14
+ async function selectPlans(container, assumeYes) {
15
15
  const planDirectory = await resolvePlanDirectory(container, { readOnly: true });
16
16
  const absoluteDirectory = path.resolve(container.env.cwd, planDirectory);
17
17
  let names;
@@ -29,17 +29,34 @@ async function selectPlan(container, assumeYes) {
29
29
  throw new Error(`No markdown plans found in ${planDirectory}.`);
30
30
  }
31
31
  if (assumeYes) {
32
- return plans[0];
32
+ return [plans[0]];
33
33
  }
34
- requireInteractiveStdin("Gaslight plan selection requires a plan path or --yes when running without an interactive TTY.");
35
- const selected = await select({
36
- message: "Select a plan:",
37
- options: plans.map((plan) => ({ label: plan, value: plan }))
34
+ requireInteractiveStdin("Gaslight plan selection requires a plan path, --plans, or --yes when running without an interactive TTY.");
35
+ const selected = await multiselect({
36
+ message: "Select Gaslight plans to run:",
37
+ options: plans.map((plan) => ({ label: plan, value: plan })),
38
+ required: true
38
39
  });
39
40
  if (isCancel(selected)) {
40
41
  throw new Error("Gaslight cancelled.");
41
42
  }
42
- return selected;
43
+ return Array.isArray(selected) ? selected : [];
44
+ }
45
+ async function resolveGaslightPlanPaths(options) {
46
+ const sources = [
47
+ options.positionalPlanPath ? "positional plan" : undefined,
48
+ options.optionPlanPaths && options.optionPlanPaths.length > 0 ? "--plans" : undefined
49
+ ].filter((source) => source !== undefined);
50
+ if (sources.length > 1) {
51
+ throw new ValidationError(`Use only one plan source: ${sources.join(", ")}.`);
52
+ }
53
+ if (options.optionPlanPaths && options.optionPlanPaths.length > 0) {
54
+ return options.optionPlanPaths;
55
+ }
56
+ if (options.positionalPlanPath) {
57
+ return [options.positionalPlanPath];
58
+ }
59
+ return selectPlans(options.container, options.assumeYes);
43
60
  }
44
61
  async function resolveAgentAndModel(program, container, options) {
45
62
  const flags = resolveCommandFlags(program);
@@ -154,18 +171,27 @@ export function registerGaslightCommand(program, container) {
154
171
  .option("--agent <agent>", "Agent to run")
155
172
  .option("--config <path>", "gaslight.yaml variant to use")
156
173
  .option("--model <model>", "Model to run")
174
+ .option("--plans <paths...>", "Markdown plans to run sequentially")
157
175
  .addOption(new Option("--mode <mode>", "Spawn mode").choices(["read", "edit", "yolo"]).default("edit"))
158
176
  .action(async function (providedPlanPath) {
159
177
  const flags = resolveCommandFlags(program);
160
178
  const options = this.opts();
161
- const planPath = providedPlanPath ?? (await selectPlan(container, flags.assumeYes));
179
+ const planPaths = await resolveGaslightPlanPaths({
180
+ container,
181
+ assumeYes: flags.assumeYes,
182
+ positionalPlanPath: providedPlanPath,
183
+ optionPlanPaths: options.plans
184
+ });
162
185
  const { agent, model } = await resolveAgentAndModel(program, container, options);
163
186
  let currentRound = 1;
164
187
  let totalRounds = 1;
165
- let currentPrompt = planPath;
188
+ let currentPlan = planPaths[0] ?? "";
189
+ let currentPlanIndex = 1;
190
+ const totalPlans = planPaths.length;
191
+ let currentPrompt = currentPlan;
166
192
  intro("gaslight");
167
193
  const result = await runGaslight({
168
- planPath,
194
+ planPaths,
169
195
  agent,
170
196
  ...(model ? { model } : {}),
171
197
  ...(options.config ? { configPath: options.config } : {}),
@@ -177,16 +203,25 @@ export function registerGaslightCommand(program, container) {
177
203
  if (event.type === "round.started") {
178
204
  currentRound = event.round;
179
205
  totalRounds = event.total;
180
- currentPrompt = event.round === 1 ? `plan: ${planPath}` : event.prompt;
206
+ currentPlan = event.planPath;
207
+ currentPlanIndex = event.planIndex;
208
+ currentPrompt = event.round === 1 ? `plan: ${event.planPath}` : event.prompt;
181
209
  }
182
210
  },
183
211
  spawn: async (spawnAgent, spawnOptions) => await withSpinner({
184
- message: () => `Round ${currentRound}/${totalRounds} · ${currentPrompt}`,
212
+ message: () => totalPlans > 1
213
+ ? `Plan ${currentPlanIndex}/${totalPlans} · Round ${currentRound}/${totalRounds} · ${currentPrompt}`
214
+ : `Round ${currentRound}/${totalRounds} · ${currentPrompt}`,
185
215
  fn: () => spawn(spawnAgent, spawnOptions),
186
- stopMessage: () => `Round ${currentRound}/${totalRounds} · ${currentPrompt}`
216
+ stopMessage: () => totalPlans > 1
217
+ ? `Plan ${currentPlanIndex}/${totalPlans} · Round ${currentRound}/${totalRounds} · ${currentPlan}`
218
+ : `Round ${currentRound}/${totalRounds} · ${currentPrompt}`
187
219
  })
188
220
  });
189
- outro(`${result.rounds.length} rounds finished\n${formatUsage(result.usage)}`);
221
+ const finished = planPaths.length > 1
222
+ ? `${planPaths.length} plans, ${result.rounds.length} rounds finished`
223
+ : `${result.rounds.length} rounds finished`;
224
+ outro(`${finished}\n${formatUsage(result.usage)}`);
190
225
  });
191
226
  gaslight
192
227
  .command("ingest")
@@ -1 +1 @@
1
- {"version":3,"file":"gaslight.js","sourceRoot":"","sources":["../../../src/cli/commands/gaslight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gaslight.js","sourceRoot":"","sources":["../../../src/cli/commands/gaslight.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -75483,48 +75483,92 @@ function validateInlineConfig(prompt, followups) {
75483
75483
  throw new Error("followups must be a non-empty array of non-empty strings.");
75484
75484
  }
75485
75485
  }
75486
+ function resolvePlanPaths2(options) {
75487
+ if (options.planPaths.length === 0) {
75488
+ throw new Error("Provide at least one plan path.");
75489
+ }
75490
+ for (const planPath of options.planPaths) {
75491
+ if (planPath.trim().length === 0) {
75492
+ throw new Error("plan paths must be non-empty strings.");
75493
+ }
75494
+ }
75495
+ return options.planPaths.map((planPath) => planPath.trim());
75496
+ }
75486
75497
  async function runGaslight(options) {
75487
75498
  const cwd = options.cwd ?? process.cwd();
75488
75499
  const homeDir = options.homeDir ?? os17.homedir();
75489
75500
  const fs28 = options.fs ?? nodeFs15;
75490
75501
  const spawn12 = options.spawn ?? spawn5;
75491
75502
  validateInlineConfig(options.prompt, options.followups);
75492
- await requirePlan(fs28, cwd, options.planPath);
75503
+ const planPaths = resolvePlanPaths2(options);
75504
+ for (const planPath of planPaths) {
75505
+ await requirePlan(fs28, cwd, planPath);
75506
+ }
75493
75507
  const config2 = options.prompt !== void 0 && options.followups !== void 0 ? { prompt: options.prompt.trim(), followups: options.followups.map((value) => value.trim()) } : await loadGaslightConfig(cwd, homeDir, fs28, options.configPath);
75494
- const prompts = [`${config2.prompt} ${options.planPath}`, ...config2.followups];
75495
75508
  const rounds = [];
75509
+ const plans = [];
75496
75510
  let usage;
75497
- let resumeThreadId;
75498
- for (const [index, prompt] of prompts.entries()) {
75499
- const round = index + 1;
75500
- options.onEvent?.({ type: "round.started", round, total: prompts.length, prompt });
75501
- const result = await spawn12(options.agent, {
75502
- prompt,
75503
- cwd,
75504
- mode: options.mode ?? "edit",
75505
- ...options.model ? { model: options.model } : {},
75506
- ...resumeThreadId ? { resumeThreadId } : {},
75507
- ...options.signal ? { signal: options.signal } : {}
75508
- });
75509
- if (result.exitCode !== 0) {
75510
- const completed = rounds.length;
75511
- const noun = completed === 1 ? "round" : "rounds";
75512
- throw new Error(
75513
- `Gaslight round ${round} failed after ${completed} completed ${noun}: ${summarize(result.stderr, result.stdout) || `exit code ${result.exitCode}`}`
75514
- );
75515
- }
75516
- const summary = summarize(result.stdout, result.stderr);
75517
- rounds.push({ prompt, summary, ...result.threadId ? { threadId: result.threadId } : {} });
75518
- usage = addUsage(usage, result.usage);
75519
- options.onEvent?.({ type: "round.finished", round, total: prompts.length, summary });
75520
- if (round < prompts.length) {
75521
- if (!result.threadId) {
75522
- throw new Error("agent returned no threadId; cannot resume the conversation");
75511
+ for (const [planIndex, planPath] of planPaths.entries()) {
75512
+ const prompts = [`${config2.prompt} ${planPath}`, ...config2.followups];
75513
+ const planRounds = [];
75514
+ let planUsage;
75515
+ let resumeThreadId;
75516
+ for (const [index, prompt] of prompts.entries()) {
75517
+ const round = index + 1;
75518
+ options.onEvent?.({
75519
+ type: "round.started",
75520
+ round,
75521
+ total: prompts.length,
75522
+ prompt,
75523
+ planPath,
75524
+ planIndex: planIndex + 1,
75525
+ totalPlans: planPaths.length
75526
+ });
75527
+ const result = await spawn12(options.agent, {
75528
+ prompt,
75529
+ cwd,
75530
+ mode: options.mode ?? "edit",
75531
+ ...options.model ? { model: options.model } : {},
75532
+ ...resumeThreadId ? { resumeThreadId } : {},
75533
+ ...options.signal ? { signal: options.signal } : {}
75534
+ });
75535
+ if (result.exitCode !== 0) {
75536
+ const completed = planRounds.length;
75537
+ const noun = completed === 1 ? "round" : "rounds";
75538
+ const prefix = planPaths.length === 1 ? `Gaslight round ${round}` : `Gaslight plan ${planIndex + 1}/${planPaths.length} (${planPath}) round ${round}`;
75539
+ throw new Error(
75540
+ `${prefix} failed after ${completed} completed ${noun}: ${summarize(result.stderr, result.stdout) || `exit code ${result.exitCode}`}`
75541
+ );
75542
+ }
75543
+ const summary = summarize(result.stdout, result.stderr);
75544
+ const gaslightRound = {
75545
+ prompt,
75546
+ summary,
75547
+ ...result.threadId ? { threadId: result.threadId } : {}
75548
+ };
75549
+ planRounds.push(gaslightRound);
75550
+ rounds.push(gaslightRound);
75551
+ planUsage = addUsage(planUsage, result.usage);
75552
+ usage = addUsage(usage, result.usage);
75553
+ options.onEvent?.({
75554
+ type: "round.finished",
75555
+ round,
75556
+ total: prompts.length,
75557
+ summary,
75558
+ planPath,
75559
+ planIndex: planIndex + 1,
75560
+ totalPlans: planPaths.length
75561
+ });
75562
+ if (round < prompts.length) {
75563
+ if (!result.threadId) {
75564
+ throw new Error("agent returned no threadId; cannot resume the conversation");
75565
+ }
75566
+ resumeThreadId = result.threadId;
75523
75567
  }
75524
- resumeThreadId = result.threadId;
75525
75568
  }
75569
+ plans.push({ planPath, rounds: planRounds, ...planUsage ? { usage: planUsage } : {} });
75526
75570
  }
75527
- return { rounds, ...usage ? { usage } : {} };
75571
+ return { rounds, plans, ...usage ? { usage } : {} };
75528
75572
  }
75529
75573
  var init_run3 = __esm({
75530
75574
  "packages/agent-gaslight/src/run.ts"() {
@@ -136054,7 +136098,7 @@ var init_tasks2 = __esm({
136054
136098
  // src/cli/commands/gaslight.ts
136055
136099
  import path169 from "node:path";
136056
136100
  import { Option as Option8 } from "commander";
136057
- async function selectPlan(container, assumeYes) {
136101
+ async function selectPlans(container, assumeYes) {
136058
136102
  const planDirectory = await resolvePlanDirectory4(container, { readOnly: true });
136059
136103
  const absoluteDirectory = path169.resolve(container.env.cwd, planDirectory);
136060
136104
  let names;
@@ -136068,19 +136112,36 @@ async function selectPlan(container, assumeYes) {
136068
136112
  throw new Error(`No markdown plans found in ${planDirectory}.`);
136069
136113
  }
136070
136114
  if (assumeYes) {
136071
- return plans[0];
136115
+ return [plans[0]];
136072
136116
  }
136073
136117
  requireInteractiveStdin(
136074
- "Gaslight plan selection requires a plan path or --yes when running without an interactive TTY."
136118
+ "Gaslight plan selection requires a plan path, --plans, or --yes when running without an interactive TTY."
136075
136119
  );
136076
- const selected = await select2({
136077
- message: "Select a plan:",
136078
- options: plans.map((plan) => ({ label: plan, value: plan }))
136120
+ const selected = await multiselect2({
136121
+ message: "Select Gaslight plans to run:",
136122
+ options: plans.map((plan) => ({ label: plan, value: plan })),
136123
+ required: true
136079
136124
  });
136080
136125
  if (isCancel(selected)) {
136081
136126
  throw new Error("Gaslight cancelled.");
136082
136127
  }
136083
- return selected;
136128
+ return Array.isArray(selected) ? selected : [];
136129
+ }
136130
+ async function resolveGaslightPlanPaths(options) {
136131
+ const sources = [
136132
+ options.positionalPlanPath ? "positional plan" : void 0,
136133
+ options.optionPlanPaths && options.optionPlanPaths.length > 0 ? "--plans" : void 0
136134
+ ].filter((source) => source !== void 0);
136135
+ if (sources.length > 1) {
136136
+ throw new ValidationError(`Use only one plan source: ${sources.join(", ")}.`);
136137
+ }
136138
+ if (options.optionPlanPaths && options.optionPlanPaths.length > 0) {
136139
+ return options.optionPlanPaths;
136140
+ }
136141
+ if (options.positionalPlanPath) {
136142
+ return [options.positionalPlanPath];
136143
+ }
136144
+ return selectPlans(options.container, options.assumeYes);
136084
136145
  }
136085
136146
  async function resolveAgentAndModel(program, container, options) {
136086
136147
  const flags = resolveCommandFlags(program);
@@ -136179,19 +136240,27 @@ async function scaffoldConfig(container, scope, force, dryRun) {
136179
136240
  return { path: configPath, changed: true };
136180
136241
  }
136181
136242
  function registerGaslightCommand(program, container) {
136182
- const gaslight = program.command("gaslight").description("Run a plan through a resumable sequence of agent follow-ups.").argument("[plan-path]", "Markdown plan to implement").option("--agent <agent>", "Agent to run").option("--config <path>", "gaslight.yaml variant to use").option("--model <model>", "Model to run").addOption(
136243
+ const gaslight = program.command("gaslight").description("Run a plan through a resumable sequence of agent follow-ups.").argument("[plan-path]", "Markdown plan to implement").option("--agent <agent>", "Agent to run").option("--config <path>", "gaslight.yaml variant to use").option("--model <model>", "Model to run").option("--plans <paths...>", "Markdown plans to run sequentially").addOption(
136183
136244
  new Option8("--mode <mode>", "Spawn mode").choices(["read", "edit", "yolo"]).default("edit")
136184
136245
  ).action(async function(providedPlanPath) {
136185
136246
  const flags = resolveCommandFlags(program);
136186
136247
  const options = this.opts();
136187
- const planPath = providedPlanPath ?? await selectPlan(container, flags.assumeYes);
136248
+ const planPaths = await resolveGaslightPlanPaths({
136249
+ container,
136250
+ assumeYes: flags.assumeYes,
136251
+ positionalPlanPath: providedPlanPath,
136252
+ optionPlanPaths: options.plans
136253
+ });
136188
136254
  const { agent: agent3, model } = await resolveAgentAndModel(program, container, options);
136189
136255
  let currentRound = 1;
136190
136256
  let totalRounds = 1;
136191
- let currentPrompt = planPath;
136257
+ let currentPlan = planPaths[0] ?? "";
136258
+ let currentPlanIndex = 1;
136259
+ const totalPlans = planPaths.length;
136260
+ let currentPrompt = currentPlan;
136192
136261
  intro("gaslight");
136193
136262
  const result = await runGaslight({
136194
- planPath,
136263
+ planPaths,
136195
136264
  agent: agent3,
136196
136265
  ...model ? { model } : {},
136197
136266
  ...options.config ? { configPath: options.config } : {},
@@ -136203,16 +136272,19 @@ function registerGaslightCommand(program, container) {
136203
136272
  if (event.type === "round.started") {
136204
136273
  currentRound = event.round;
136205
136274
  totalRounds = event.total;
136206
- currentPrompt = event.round === 1 ? `plan: ${planPath}` : event.prompt;
136275
+ currentPlan = event.planPath;
136276
+ currentPlanIndex = event.planIndex;
136277
+ currentPrompt = event.round === 1 ? `plan: ${event.planPath}` : event.prompt;
136207
136278
  }
136208
136279
  },
136209
136280
  spawn: async (spawnAgent, spawnOptions) => await withSpinner({
136210
- message: () => `Round ${currentRound}/${totalRounds} \xB7 ${currentPrompt}`,
136281
+ message: () => totalPlans > 1 ? `Plan ${currentPlanIndex}/${totalPlans} \xB7 Round ${currentRound}/${totalRounds} \xB7 ${currentPrompt}` : `Round ${currentRound}/${totalRounds} \xB7 ${currentPrompt}`,
136211
136282
  fn: () => spawn5(spawnAgent, spawnOptions),
136212
- stopMessage: () => `Round ${currentRound}/${totalRounds} \xB7 ${currentPrompt}`
136283
+ stopMessage: () => totalPlans > 1 ? `Plan ${currentPlanIndex}/${totalPlans} \xB7 Round ${currentRound}/${totalRounds} \xB7 ${currentPlan}` : `Round ${currentRound}/${totalRounds} \xB7 ${currentPrompt}`
136213
136284
  })
136214
136285
  });
136215
- outro(`${result.rounds.length} rounds finished
136286
+ const finished = planPaths.length > 1 ? `${planPaths.length} plans, ${result.rounds.length} rounds finished` : `${result.rounds.length} rounds finished`;
136287
+ outro(`${finished}
136216
136288
  ${formatUsage2(result.usage)}`);
136217
136289
  });
136218
136290
  gaslight.command("ingest").description("Generate a gaslight config from local Claude and Codex traces.").option("--agent <agent>", "Agent to analyze extracted prompts").option("--model <model>", "Model to run").option("--sources <sources>", "Comma-separated trace sources: claude,codex").option("--since <duration>", "Only include recently updated traces", "30d").option("--limit <number>", "Maximum extracted human prompts", "200").option("--output <path>", "Generated gaslight config path").option("--keep-data <path>", "Persist curated analysis input at this path").option("--all-workspaces", "Read traces from every workspace").action(async function() {
@@ -136301,7 +136373,7 @@ var init_package2 = __esm({
136301
136373
  "package.json"() {
136302
136374
  package_default2 = {
136303
136375
  name: "poe-code",
136304
- version: "3.0.260",
136376
+ version: "3.0.261",
136305
136377
  description: "CLI tool to configure Poe API for developer workflows.",
136306
136378
  type: "module",
136307
136379
  main: "./dist/index.js",