poe-code 3.0.90 → 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.
@@ -32,6 +32,7 @@ export async function executeLogout(program, container) {
32
32
  resources.context.finalize();
33
33
  return;
34
34
  }
35
+ await container.deleteApiKey();
35
36
  const deleted = await deleteConfig({
36
37
  fs: container.fs,
37
38
  filePath: container.env.configPath
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/cli/commands/logout.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,SAAuB;IAEvB,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,QAAQ,CACT,CAAC;IAEF,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEjC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC;QACtD,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU;KACnC,CAAC,CAAC;IAEH,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,mCAAmC,SAAS,CAAC,GAAG,CAAC,UAAU,GAAG;SACpE,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;QACjC,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU;KACnC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB;QACxD,GAAG,EAAE,mCAAmC,SAAS,CAAC,GAAG,CAAC,UAAU,GAAG;KACpE,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/cli/commands/logout.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,SAAuB;IAEvB,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,QAAQ,CACT,CAAC;IAEF,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEjC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC;QACtD,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU;KACnC,CAAC,CAAC;IAEH,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,OAAO,EAAE,aAAa;YACtB,GAAG,EAAE,mCAAmC,SAAS,CAAC,GAAG,CAAC,UAAU,GAAG;SACpE,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;QACjC,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU;KACnC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB;QACxD,GAAG,EAAE,mCAAmC,SAAS,CAAC,GAAG,CAAC,UAAU,GAAG;KACpE,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
@@ -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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"}
@@ -40,5 +40,6 @@ export interface CliContainer {
40
40
  readonly dependencies: CliDependencies;
41
41
  readonly readApiKey: () => Promise<string | null>;
42
42
  readonly writeApiKey: (apiKey: string) => Promise<void>;
43
+ readonly deleteApiKey: () => Promise<void>;
43
44
  }
44
45
  export declare function createCliContainer(dependencies: CliDependencies): CliContainer;
@@ -74,6 +74,7 @@ export function createCliContainer(dependencies) {
74
74
  });
75
75
  const readApiKey = authStore.getApiKey.bind(authStore);
76
76
  const writeApiKey = authStore.setApiKey.bind(authStore);
77
+ const deleteApiKey = authStore.deleteApiKey.bind(authStore);
77
78
  const oauthEnabled = (dependencies.env.variables ?? process.env).POE_CODE_OAUTH_LOGIN !== "0";
78
79
  const options = createOptionResolvers({
79
80
  prompts: dependencies.prompts,
@@ -117,7 +118,8 @@ export function createCliContainer(dependencies) {
117
118
  providers,
118
119
  dependencies,
119
120
  readApiKey,
120
- writeApiKey
121
+ writeApiKey,
122
+ deleteApiKey
121
123
  };
122
124
  return container;
123
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/cli/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/cli/container.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6083,6 +6083,7 @@ function createSdkContainer(options) {
6083
6083
  });
6084
6084
  const readApiKey = authStore.getApiKey.bind(authStore);
6085
6085
  const writeApiKey = authStore.setApiKey.bind(authStore);
6086
+ const deleteApiKey = authStore.deleteApiKey.bind(authStore);
6086
6087
  const noopPrompts = async () => {
6087
6088
  throw new Error("SDK does not support interactive prompts");
6088
6089
  };
@@ -6141,7 +6142,8 @@ function createSdkContainer(options) {
6141
6142
  }
6142
6143
  },
6143
6144
  readApiKey,
6144
- writeApiKey
6145
+ writeApiKey,
6146
+ deleteApiKey
6145
6147
  };
6146
6148
  return container;
6147
6149
  }
@@ -10704,6 +10706,7 @@ function createCliContainer(dependencies) {
10704
10706
  });
10705
10707
  const readApiKey = authStore.getApiKey.bind(authStore);
10706
10708
  const writeApiKey = authStore.setApiKey.bind(authStore);
10709
+ const deleteApiKey = authStore.deleteApiKey.bind(authStore);
10707
10710
  const oauthEnabled = (dependencies.env.variables ?? process.env).POE_CODE_OAUTH_LOGIN !== "0";
10708
10711
  const options = createOptionResolvers({
10709
10712
  prompts: dependencies.prompts,
@@ -10749,7 +10752,8 @@ function createCliContainer(dependencies) {
10749
10752
  providers,
10750
10753
  dependencies,
10751
10754
  readApiKey,
10752
- writeApiKey
10755
+ writeApiKey,
10756
+ deleteApiKey
10753
10757
  };
10754
10758
  return container;
10755
10759
  }
@@ -12387,6 +12391,7 @@ async function executeLogout(program, container) {
12387
12391
  resources.context.finalize();
12388
12392
  return;
12389
12393
  }
12394
+ await container.deleteApiKey();
12390
12395
  const deleted = await deleteConfig({
12391
12396
  fs: container.fs,
12392
12397
  filePath: container.env.configPath
@@ -38584,7 +38589,7 @@ var init_package = __esm({
38584
38589
  "package.json"() {
38585
38590
  package_default = {
38586
38591
  name: "poe-code",
38587
- version: "3.0.90",
38592
+ version: "3.0.92",
38588
38593
  description: "CLI tool to configure Poe API for developer workflows.",
38589
38594
  type: "module",
38590
38595
  main: "./dist/index.js",
@@ -38673,6 +38678,7 @@ var init_package = __esm({
38673
38678
  "@poe-code/design-system": "*",
38674
38679
  "@poe-code/e2e-docker-test-runner": "*",
38675
38680
  "@poe-code/freeze-cli": "*",
38681
+ "@poe-code/pipeline": "*",
38676
38682
  "@poe-code/poe-acp-client": "*",
38677
38683
  "@types/mustache": "^4.2.6",
38678
38684
  "@types/node": "^25.2.2",