poe-code 1.2.1 → 2.0.1

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 (155) hide show
  1. package/README.md +16 -20
  2. package/dist/cli/bootstrap.d.ts +4 -0
  3. package/dist/cli/bootstrap.js +75 -0
  4. package/dist/cli/bootstrap.js.map +1 -0
  5. package/dist/cli/commands/configure.d.ts +2 -1
  6. package/dist/cli/commands/configure.js +7 -7
  7. package/dist/cli/commands/configure.js.map +1 -1
  8. package/dist/cli/commands/spawn.js +1 -59
  9. package/dist/cli/commands/spawn.js.map +1 -1
  10. package/dist/cli/container.d.ts +0 -5
  11. package/dist/cli/container.js +0 -8
  12. package/dist/cli/container.js.map +1 -1
  13. package/dist/cli/error-logger.d.ts +17 -2
  14. package/dist/cli/error-logger.js.map +1 -1
  15. package/dist/cli/errors.d.ts +6 -0
  16. package/dist/cli/errors.js +8 -0
  17. package/dist/cli/errors.js.map +1 -1
  18. package/dist/cli/program.js +6 -24
  19. package/dist/cli/program.js.map +1 -1
  20. package/dist/cli/prompt-runner.d.ts +3 -0
  21. package/dist/cli/prompt-runner.js +9 -0
  22. package/dist/cli/prompt-runner.js.map +1 -0
  23. package/dist/cli/service-registry.d.ts +8 -0
  24. package/dist/cli/service-registry.js.map +1 -1
  25. package/dist/cli/ui/service-menu.d.ts +6 -0
  26. package/dist/cli/ui/service-menu.js +37 -0
  27. package/dist/cli/ui/service-menu.js.map +1 -0
  28. package/dist/cli/ui/theme.d.ts +16 -0
  29. package/dist/cli/ui/theme.js +78 -0
  30. package/dist/cli/ui/theme.js.map +1 -0
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.js +2 -74
  33. package/dist/index.js.map +1 -1
  34. package/dist/providers/claude-code-adapter.js +6 -0
  35. package/dist/providers/claude-code-adapter.js.map +1 -1
  36. package/dist/providers/codex-adapter.js +6 -0
  37. package/dist/providers/codex-adapter.js.map +1 -1
  38. package/dist/providers/opencode-adapter.js +6 -0
  39. package/dist/providers/opencode-adapter.js.map +1 -1
  40. package/package.json +13 -34
  41. package/dist/cli/api-client.d.ts +0 -14
  42. package/dist/cli/api-client.js +0 -140
  43. package/dist/cli/api-client.js.map +0 -1
  44. package/dist/cli/chat.d.ts +0 -32
  45. package/dist/cli/chat.js +0 -2
  46. package/dist/cli/chat.js.map +0 -1
  47. package/dist/cli/commands/agent.d.ts +0 -18
  48. package/dist/cli/commands/agent.js +0 -84
  49. package/dist/cli/commands/agent.js.map +0 -1
  50. package/dist/cli/commands/configure-agents.d.ts +0 -3
  51. package/dist/cli/commands/configure-agents.js +0 -72
  52. package/dist/cli/commands/configure-agents.js.map +0 -1
  53. package/dist/cli/commands/init.d.ts +0 -8
  54. package/dist/cli/commands/init.js +0 -45
  55. package/dist/cli/commands/init.js.map +0 -1
  56. package/dist/cli/commands/interactive.d.ts +0 -3
  57. package/dist/cli/commands/interactive.js +0 -17
  58. package/dist/cli/commands/interactive.js.map +0 -1
  59. package/dist/cli/commands/login.d.ts +0 -6
  60. package/dist/cli/commands/login.js +0 -51
  61. package/dist/cli/commands/login.js.map +0 -1
  62. package/dist/cli/commands/logout.d.ts +0 -3
  63. package/dist/cli/commands/logout.js +0 -31
  64. package/dist/cli/commands/logout.js.map +0 -1
  65. package/dist/cli/commands/prerequisites.d.ts +0 -3
  66. package/dist/cli/commands/prerequisites.js +0 -23
  67. package/dist/cli/commands/prerequisites.js.map +0 -1
  68. package/dist/cli/commands/query.d.ts +0 -7
  69. package/dist/cli/commands/query.js +0 -46
  70. package/dist/cli/commands/query.js.map +0 -1
  71. package/dist/cli/commands/remove.d.ts +0 -6
  72. package/dist/cli/commands/remove.js +0 -80
  73. package/dist/cli/commands/remove.js.map +0 -1
  74. package/dist/cli/commands/root.d.ts +0 -3
  75. package/dist/cli/commands/root.js +0 -7
  76. package/dist/cli/commands/root.js.map +0 -1
  77. package/dist/cli/commands/spawn-worktree.d.ts +0 -6
  78. package/dist/cli/commands/spawn-worktree.js +0 -91
  79. package/dist/cli/commands/spawn-worktree.js.map +0 -1
  80. package/dist/cli/commands/test.d.ts +0 -6
  81. package/dist/cli/commands/test.js +0 -26
  82. package/dist/cli/commands/test.js.map +0 -1
  83. package/dist/cli/file-mentions.d.ts +0 -13
  84. package/dist/cli/file-mentions.js +0 -87
  85. package/dist/cli/file-mentions.js.map +0 -1
  86. package/dist/cli/file-picker-state.d.ts +0 -14
  87. package/dist/cli/file-picker-state.js +0 -23
  88. package/dist/cli/file-picker-state.js.map +0 -1
  89. package/dist/cli/interactive-command-runner.d.ts +0 -11
  90. package/dist/cli/interactive-command-runner.js +0 -142
  91. package/dist/cli/interactive-command-runner.js.map +0 -1
  92. package/dist/cli/interactive-launcher.d.ts +0 -2
  93. package/dist/cli/interactive-launcher.js +0 -404
  94. package/dist/cli/interactive-launcher.js.map +0 -1
  95. package/dist/cli/interactive-tasks.d.ts +0 -7
  96. package/dist/cli/interactive-tasks.js +0 -199
  97. package/dist/cli/interactive-tasks.js.map +0 -1
  98. package/dist/cli/interactive.d.ts +0 -19
  99. package/dist/cli/interactive.js +0 -479
  100. package/dist/cli/interactive.js.map +0 -1
  101. package/dist/cli/markdown-renderer.d.ts +0 -27
  102. package/dist/cli/markdown-renderer.js +0 -178
  103. package/dist/cli/markdown-renderer.js.map +0 -1
  104. package/dist/cli/markdown-renderer.test.d.ts +0 -1
  105. package/dist/cli/markdown-renderer.test.js +0 -105
  106. package/dist/cli/markdown-renderer.test.js.map +0 -1
  107. package/dist/commands/init.d.ts +0 -9
  108. package/dist/commands/init.js +0 -43
  109. package/dist/commands/init.js.map +0 -1
  110. package/dist/commands/spawn-worktree.d.ts +0 -25
  111. package/dist/commands/spawn-worktree.js +0 -139
  112. package/dist/commands/spawn-worktree.js.map +0 -1
  113. package/dist/services/agent-config-manager.d.ts +0 -32
  114. package/dist/services/agent-config-manager.js +0 -130
  115. package/dist/services/agent-config-manager.js.map +0 -1
  116. package/dist/services/agent-registry.d.ts +0 -27
  117. package/dist/services/agent-registry.js +0 -89
  118. package/dist/services/agent-registry.js.map +0 -1
  119. package/dist/services/agent-session.d.ts +0 -24
  120. package/dist/services/agent-session.js +0 -107
  121. package/dist/services/agent-session.js.map +0 -1
  122. package/dist/services/agent-task-registry.d.ts +0 -131
  123. package/dist/services/agent-task-registry.js +0 -491
  124. package/dist/services/agent-task-registry.js.map +0 -1
  125. package/dist/services/chat.d.ts +0 -94
  126. package/dist/services/chat.js +0 -241
  127. package/dist/services/chat.js.map +0 -1
  128. package/dist/services/mcp-client.d.ts +0 -38
  129. package/dist/services/mcp-client.js +0 -170
  130. package/dist/services/mcp-client.js.map +0 -1
  131. package/dist/services/mcp-manager.d.ts +0 -28
  132. package/dist/services/mcp-manager.js +0 -157
  133. package/dist/services/mcp-manager.js.map +0 -1
  134. package/dist/services/poe-code.d.ts +0 -7
  135. package/dist/services/poe-code.js +0 -5
  136. package/dist/services/poe-code.js.map +0 -1
  137. package/dist/services/task-logger.d.ts +0 -24
  138. package/dist/services/task-logger.js +0 -73
  139. package/dist/services/task-logger.js.map +0 -1
  140. package/dist/services/task-runner.d.ts +0 -19
  141. package/dist/services/task-runner.js +0 -157
  142. package/dist/services/task-runner.js.map +0 -1
  143. package/dist/services/tools.d.ts +0 -76
  144. package/dist/services/tools.js +0 -870
  145. package/dist/services/tools.js.map +0 -1
  146. package/dist/utils/e2e-flags.d.ts +0 -1
  147. package/dist/utils/e2e-flags.js +0 -9
  148. package/dist/utils/e2e-flags.js.map +0 -1
  149. package/dist/utils/worktree.d.ts +0 -40
  150. package/dist/utils/worktree.js +0 -179
  151. package/dist/utils/worktree.js.map +0 -1
  152. package/shared/conversation-layout.cjs +0 -11
  153. package/shared/conversation-layout.d.ts +0 -7
  154. package/shared/conversation-layout.js +0 -11
  155. package/shared/package.json +0 -13
@@ -1,84 +0,0 @@
1
- import { resolveCommandFlags } from "./shared.js";
2
- import { DEFAULT_QUERY_MODEL } from "../constants.js";
3
- export function registerAgentCommand(program, container) {
4
- program
5
- .command("agent")
6
- .description("Run a single Poe agent prompt with local tooling support.")
7
- .argument("<text>", "Prompt text to send to the agent")
8
- .option("--model <model>", "Model identifier", DEFAULT_QUERY_MODEL)
9
- .option("--api-key <key>", "Poe API key")
10
- .action(async (text, options) => {
11
- const flags = resolveCommandFlags(program);
12
- const logger = container.loggerFactory.create({
13
- dryRun: flags.dryRun,
14
- verbose: flags.verbose,
15
- scope: "agent"
16
- });
17
- const model = options.model ?? DEFAULT_QUERY_MODEL;
18
- if (flags.dryRun) {
19
- logger.dryRun(`would run agent with model "${model}" and prompt "${text}".`);
20
- return;
21
- }
22
- const apiKey = await container.options.resolveApiKey({
23
- value: options.apiKey,
24
- dryRun: flags.dryRun
25
- });
26
- const message = await runAgentConversation({
27
- container,
28
- logger,
29
- text,
30
- model,
31
- apiKey
32
- });
33
- logger.info(message);
34
- });
35
- }
36
- export async function runAgentConversation(options) {
37
- const session = await options.container.chatServiceFactory({
38
- apiKey: options.apiKey,
39
- model: options.model,
40
- cwd: options.container.env.cwd,
41
- homeDir: options.container.env.homeDir,
42
- fs: options.container.fs,
43
- logger: (message) => options.logger.info(message),
44
- awaitTasksOnDispose: true
45
- });
46
- try {
47
- if ("setToolCallCallback" in session && session.setToolCallCallback) {
48
- session.setToolCallCallback((event) => logToolCallEvent(event, options.logger));
49
- }
50
- const response = await session.sendMessage(options.text);
51
- if ("waitForAllTasks" in session && typeof session.waitForAllTasks === "function") {
52
- await session.waitForAllTasks();
53
- }
54
- if ("drainCompletedTasks" in session && typeof session.drainCompletedTasks === "function") {
55
- const completed = session.drainCompletedTasks();
56
- for (const task of completed) {
57
- const summary = task.result ?? task.error ?? "Task finished.";
58
- options.logger.info(`Task ${task.id} finished (${task.toolName}): ${summary}`);
59
- }
60
- }
61
- const activeModel = "getModel" in session && session.getModel
62
- ? session.getModel()
63
- : options.model;
64
- return `Agent response (${activeModel}): ${response.content}`;
65
- }
66
- finally {
67
- if ("dispose" in session && session.dispose) {
68
- await session.dispose();
69
- }
70
- }
71
- }
72
- export function logToolCallEvent(event, logger) {
73
- const serializedArgs = JSON.stringify(event.args);
74
- if (event.error) {
75
- logger.error(`Tool ${event.toolName} failed: ${event.error}`);
76
- return;
77
- }
78
- if (event.result) {
79
- logger.info(`Tool ${event.toolName} result: ${event.result}`);
80
- return;
81
- }
82
- logger.verbose(`Tool ${event.toolName} invoked with args ${serializedArgs}`);
83
- }
84
- //# sourceMappingURL=agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export declare function registerConfigureAgentsCommand(configureCommand: Command, container: CliContainer): void;
@@ -1,72 +0,0 @@
1
- import { resolveCommandFlags } from "./shared.js";
2
- import { AgentConfigManager } from "../../services/agent-config-manager.js";
3
- import { createDefaultAgentRegistry } from "../../services/agent-registry.js";
4
- export function registerConfigureAgentsCommand(configureCommand, container) {
5
- configureCommand
6
- .command("agents")
7
- .description("Enable or disable agents for the worktree tool.")
8
- .action(async function () {
9
- const flags = resolveCommandFlags(this);
10
- const logger = container.loggerFactory.create({
11
- scope: "configure:agents",
12
- dryRun: flags.dryRun,
13
- verbose: flags.verbose
14
- });
15
- const registry = createDefaultAgentRegistry();
16
- const manager = new AgentConfigManager({
17
- fs: container.fs,
18
- homeDir: container.env.homeDir,
19
- registry
20
- });
21
- await manager.loadConfig();
22
- const enabledEntries = await manager.getEnabledAgents();
23
- const enabledSet = new Set(enabledEntries.map((entry) => entry.id));
24
- const detectionResults = await Promise.all(registry.list().map(async (adapter) => {
25
- if (!adapter.detect) {
26
- logger.info(`${adapter.id}: available`);
27
- return { adapter, installed: true };
28
- }
29
- try {
30
- const installed = await adapter.detect({
31
- runCommand: container.commandRunner
32
- });
33
- logger.info(`${adapter.id}: ${installed ? "available" : "not detected"}`);
34
- return { adapter, installed };
35
- }
36
- catch (error) {
37
- const message = error instanceof Error ? error.message : String(error);
38
- logger.info(`${adapter.id}: not detected (${message})`);
39
- return { adapter, installed: false };
40
- }
41
- }));
42
- const promptResponse = await container.prompts({
43
- name: "agents",
44
- type: "multiselect",
45
- message: "Select agents to enable",
46
- choices: detectionResults.map(({ adapter, installed }) => ({
47
- title: installed
48
- ? `${adapter.label} (${adapter.id})`
49
- : `${adapter.label} (${adapter.id}) [not detected]`,
50
- value: adapter.id,
51
- selected: enabledSet.has(adapter.id)
52
- }))
53
- });
54
- const selectedValue = promptResponse?.agents;
55
- const selectedIds = Array.isArray(selectedValue)
56
- ? selectedValue.map((id) => String(id))
57
- : [];
58
- if (flags.dryRun) {
59
- logger.dryRun(`would enable agents: ${selectedIds.length > 0 ? selectedIds.join(", ") : "<none>"}`);
60
- return;
61
- }
62
- const selectedSet = new Set(selectedIds);
63
- for (const adapter of registry.list()) {
64
- await manager.updateAgent({
65
- id: adapter.id,
66
- enabled: selectedSet.has(adapter.id)
67
- });
68
- }
69
- logger.info("Updated agent configuration.");
70
- });
71
- }
72
- //# sourceMappingURL=configure-agents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configure-agents.js","sourceRoot":"","sources":["../../../src/cli/commands/configure-agents.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export interface InitCommandOptions {
4
- projectName?: string;
5
- apiKey?: string;
6
- model?: string;
7
- }
8
- export declare function registerInitCommand(program: Command, container: CliContainer): void;
@@ -1,45 +0,0 @@
1
- import { initProject } from "../../commands/init.js";
2
- import { createExecutionResources, resolveCommandFlags } from "./shared.js";
3
- import { DEFAULT_MODEL } from "../constants.js";
4
- export function registerInitCommand(program, container) {
5
- program
6
- .command("init")
7
- .description("Initialize a Python project preconfigured for Poe API.")
8
- .option("--project-name <name>", "Project directory name")
9
- .option("--api-key <key>", "Poe API key")
10
- .option("--model <model>", "Model identifier")
11
- .action(async (options) => {
12
- const flags = resolveCommandFlags(program);
13
- const resources = createExecutionResources(container, flags, "init");
14
- const projectName = options.projectName ?? (await promptForProjectName(container));
15
- const apiKey = await container.options.resolveApiKey({
16
- value: options.apiKey,
17
- dryRun: flags.dryRun
18
- });
19
- const model = await container.options.resolveModel(options.model, DEFAULT_MODEL);
20
- await initProject({
21
- fs: resources.context.fs,
22
- cwd: container.env.cwd,
23
- projectName,
24
- apiKey,
25
- model
26
- });
27
- resources.context.complete({
28
- success: `Initialized project "${projectName}".`,
29
- dry: `Dry run: would initialize project "${projectName}".`
30
- });
31
- });
32
- }
33
- async function promptForProjectName(container) {
34
- const response = await container.prompts({
35
- type: "text",
36
- name: "projectName",
37
- message: "Project name"
38
- });
39
- const value = response.projectName;
40
- if (!value || typeof value !== "string") {
41
- throw new Error("Project name is required.");
42
- }
43
- return value;
44
- }
45
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhD,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,MAAM,CACP,CAAC;QAEF,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;YACnD,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,CAChD,OAAO,CAAC,KAAK,EACb,aAAa,CACd,CAAC;QAEF,MAAM,WAAW,CAAC;YAChB,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;YACxB,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG;YACtB,WAAW;YACX,MAAM;YACN,KAAK;SACN,CAAC,CAAC;QAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,OAAO,EAAE,wBAAwB,WAAW,IAAI;YAChD,GAAG,EAAE,sCAAsC,WAAW,IAAI;SAC3D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,SAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;QACvC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export declare function registerInteractiveCommand(program: Command, container: CliContainer): void;
@@ -1,17 +0,0 @@
1
- export function registerInteractiveCommand(program, container) {
2
- program
3
- .command("interactive")
4
- .alias("i")
5
- .description("Launch interactive mode with a visual CLI interface.")
6
- .action(async () => {
7
- const logger = container.loggerFactory.create({
8
- dryRun: false,
9
- verbose: true,
10
- scope: "interactive"
11
- });
12
- logger.info("Launching interactive mode...");
13
- const { launchInteractiveMode } = await import("../interactive-launcher.js");
14
- await launchInteractiveMode(container.dependencies);
15
- });
16
- }
17
- //# sourceMappingURL=interactive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../src/cli/commands/interactive.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,0BAA0B,CACxC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;YAC5C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,aAAa;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAC5C,4BAA4B,CAC7B,CAAC;QACF,MAAM,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export interface LoginCommandOptions {
4
- apiKey?: string;
5
- }
6
- export declare function registerLoginCommand(program: Command, container: CliContainer): void;
@@ -1,51 +0,0 @@
1
- import { createExecutionResources, resolveCommandFlags } from "./shared.js";
2
- import { saveCredentials } from "../../services/credentials.js";
3
- import { ValidationError } from "../errors.js";
4
- export function registerLoginCommand(program, container) {
5
- program
6
- .command("login")
7
- .description("Store a Poe API key for reuse across commands.")
8
- .option("--api-key <key>", "Poe API key")
9
- .action(async (options) => {
10
- const flags = resolveCommandFlags(program);
11
- const resources = createExecutionResources(container, flags, "login");
12
- try {
13
- const apiKey = await resolveApiKeyInput(container, options);
14
- const normalized = container.options.normalizeApiKey(apiKey);
15
- await saveCredentials({
16
- fs: resources.context.fs,
17
- filePath: container.env.credentialsPath,
18
- apiKey: normalized
19
- });
20
- resources.context.complete({
21
- success: `Poe API key stored at ${container.env.credentialsPath}.`,
22
- dry: `Dry run: would store Poe API key at ${container.env.credentialsPath}.`
23
- });
24
- }
25
- catch (error) {
26
- if (error instanceof Error) {
27
- resources.logger.logException(error, "login command", {
28
- operation: "save credentials",
29
- credentialsPath: container.env.credentialsPath
30
- });
31
- }
32
- throw error;
33
- }
34
- });
35
- }
36
- async function resolveApiKeyInput(container, options) {
37
- if (options.apiKey) {
38
- return options.apiKey;
39
- }
40
- const descriptor = container.promptLibrary.loginApiKey();
41
- const response = await container.prompts(descriptor);
42
- const result = response[descriptor.name];
43
- if (!result || typeof result !== "string") {
44
- throw new ValidationError("POE API key is required.", {
45
- operation: "login",
46
- field: "apiKey"
47
- });
48
- }
49
- return result;
50
- }
51
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cli/commands/login.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAmB,MAAM,cAAc,CAAC;AAMhE,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,OAAO,CACR,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAE7D,MAAM,eAAe,CAAC;gBACpB,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;gBACxB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,eAAe;gBACvC,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACzB,OAAO,EAAE,yBAAyB,SAAS,CAAC,GAAG,CAAC,eAAe,GAAG;gBAClE,GAAG,EAAE,uCAAuC,SAAS,CAAC,GAAG,CAAC,eAAe,GAAG;aAC7E,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE;oBACpD,SAAS,EAAE,kBAAkB;oBAC7B,eAAe,EAAE,SAAS,CAAC,GAAG,CAAC,eAAe;iBAC/C,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,SAAuB,EACvB,OAA4B;IAE5B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE;YACpD,SAAS,EAAE,OAAO;YAClB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export declare function registerLogoutCommand(program: Command, container: CliContainer): void;
@@ -1,31 +0,0 @@
1
- import { createExecutionResources, resolveCommandFlags } from "./shared.js";
2
- import { deleteCredentials, loadCredentials } from "../../services/credentials.js";
3
- export function registerLogoutCommand(program, container) {
4
- program
5
- .command("logout")
6
- .description("Remove the stored Poe API key.")
7
- .action(async () => {
8
- const flags = resolveCommandFlags(program);
9
- const resources = createExecutionResources(container, flags, "logout");
10
- const stored = await loadCredentials({
11
- fs: container.fs,
12
- filePath: container.env.credentialsPath
13
- });
14
- if (!stored) {
15
- resources.context.complete({
16
- success: "No stored Poe API key found.",
17
- dry: "Dry run: no stored Poe API key to remove."
18
- });
19
- return;
20
- }
21
- await deleteCredentials({
22
- fs: resources.context.fs,
23
- filePath: container.env.credentialsPath
24
- });
25
- resources.context.complete({
26
- success: "Removed stored Poe API key.",
27
- dry: "Dry run: would remove stored Poe API key."
28
- });
29
- });
30
- }
31
- //# sourceMappingURL=logout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/cli/commands/logout.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,QAAQ,CACT,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;YACnC,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,eAAe;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACzB,OAAO,EAAE,8BAA8B;gBACvC,GAAG,EAAE,2CAA2C;aACjD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,CAAC;YACtB,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;YACxB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,eAAe;SACxC,CAAC,CAAC;QAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,OAAO,EAAE,6BAA6B;YACtC,GAAG,EAAE,2CAA2C;SACjD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export declare function registerPrerequisitesCommand(program: Command, container: CliContainer): void;
@@ -1,23 +0,0 @@
1
- import { createExecutionResources, normalizePhase, registerProviderPrerequisites, resolveCommandFlags, resolveServiceAdapter, runPrerequisites } from "./shared.js";
2
- export function registerPrerequisitesCommand(program, container) {
3
- program
4
- .command("prerequisites")
5
- .description("Run prerequisite checks for a service.")
6
- .argument("<service>", "Service to check (claude-code | codex | opencode)")
7
- .argument("<phase>", "Phase to execute (before | after)")
8
- .action(async (service, phase) => {
9
- const normalizedPhase = normalizePhase(phase);
10
- const adapter = resolveServiceAdapter(container, service);
11
- const flags = resolveCommandFlags(program);
12
- const resources = createExecutionResources(container, flags, `prerequisites:${service}`);
13
- registerProviderPrerequisites(adapter, resources);
14
- await container.registry.invoke(service, "prerequisites", async () => {
15
- await runPrerequisites(adapter, resources, normalizedPhase);
16
- });
17
- resources.context.complete({
18
- success: `${adapter.label} ${normalizedPhase} prerequisites succeeded.`,
19
- dry: `Dry run: would run ${adapter.label} ${normalizedPhase} prerequisites.`
20
- });
21
- });
22
- }
23
- //# sourceMappingURL=prerequisites.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prerequisites.js","sourceRoot":"","sources":["../../../src/cli/commands/prerequisites.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,cAAc,EACd,6BAA6B,EAC7B,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,4BAA4B,CAC1C,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,wCAAwC,CAAC;SACrD,QAAQ,CACP,WAAW,EACX,mDAAmD,CACpD;SACA,QAAQ,CAAC,SAAS,EAAE,mCAAmC,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,KAAa,EAAE,EAAE;QAC/C,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,wBAAwB,CACxC,SAAS,EACT,KAAK,EACL,iBAAiB,OAAO,EAAE,CAC3B,CAAC;QAEF,6BAA6B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAElD,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,2BAA2B;YACvE,GAAG,EAAE,sBAAsB,OAAO,CAAC,KAAK,IAAI,eAAe,iBAAiB;SAC7E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export interface QueryCommandOptions {
4
- apiKey?: string;
5
- model?: string;
6
- }
7
- export declare function registerQueryCommand(program: Command, container: CliContainer): void;
@@ -1,46 +0,0 @@
1
- import { resolveCommandFlags } from "./shared.js";
2
- import { DEFAULT_QUERY_MODEL } from "../constants.js";
3
- export function registerQueryCommand(program, container) {
4
- program
5
- .command("query")
6
- .description("Send a prompt to a Poe model via the OpenAI-compatible API and print the response.")
7
- .argument("<text>", "Prompt text to send")
8
- .option("--model <model>", "Model identifier", DEFAULT_QUERY_MODEL)
9
- .option("--api-key <key>", "Poe API key")
10
- .action(async (text, options) => {
11
- const flags = resolveCommandFlags(program);
12
- const logger = container.loggerFactory.create({
13
- dryRun: flags.dryRun,
14
- verbose: flags.verbose,
15
- scope: "query"
16
- });
17
- const model = options.model ?? DEFAULT_QUERY_MODEL;
18
- if (flags.dryRun) {
19
- logger.dryRun(`Dry run: would query "${model}" with text "${text}".`);
20
- return;
21
- }
22
- try {
23
- const apiKey = await container.options.resolveApiKey({
24
- value: options.apiKey,
25
- dryRun: flags.dryRun
26
- });
27
- const content = await container.poeApiClient.query({
28
- apiKey,
29
- model,
30
- prompt: text
31
- });
32
- logger.info(`${model}: ${content}`);
33
- }
34
- catch (error) {
35
- if (error instanceof Error) {
36
- logger.logException(error, "query command", {
37
- operation: "query model",
38
- model,
39
- promptLength: text.length
40
- });
41
- }
42
- throw error;
43
- }
44
- });
45
- }
46
- //# sourceMappingURL=query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/cli/commands/query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAOtD,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,oFAAoF,CACrF;SACA,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;SACzC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA4B,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;YAC5C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAAC;QAEnD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,CACX,yBAAyB,KAAK,gBAAgB,IAAI,IAAI,CACvD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;gBACnD,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC;gBACjD,MAAM;gBACN,KAAK;gBACL,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE;oBAC1C,SAAS,EAAE,aAAa;oBACxB,KAAK;oBACL,YAAY,EAAE,IAAI,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export interface RemoveCommandOptions {
4
- configName?: string;
5
- }
6
- export declare function registerRemoveCommand(program: Command, container: CliContainer): void;
@@ -1,80 +0,0 @@
1
- import { buildProviderContext, createExecutionResources, resolveCommandFlags, resolveServiceAdapter } from "./shared.js";
2
- import { DEFAULT_ROO_CONFIG_NAME } from "../constants.js";
3
- export function registerRemoveCommand(program, container) {
4
- program
5
- .command("remove")
6
- .description("Remove existing Poe API tooling configuration.")
7
- .argument("<service>", "Service to remove (claude-code | codex | opencode | roo-code)")
8
- .option("--config-name <name>", "Configuration profile name")
9
- .action(async (service, options) => {
10
- const adapter = resolveServiceAdapter(container, service);
11
- const flags = resolveCommandFlags(program);
12
- const resources = createExecutionResources(container, flags, `remove:${service}`);
13
- const providerContext = buildProviderContext(container, adapter, resources);
14
- const payload = await createRemovePayload(service, container, options, resources);
15
- const removed = await container.registry.invoke(service, "remove", async (entry) => {
16
- if (!entry.remove) {
17
- throw new Error(`Service "${service}" does not support remove.`);
18
- }
19
- return await entry.remove(providerContext, payload);
20
- });
21
- const messages = formatRemovalMessages(service, adapter.label, removed, payload);
22
- resources.context.complete(messages);
23
- });
24
- }
25
- async function createRemovePayload(service, container, options, resources) {
26
- const mutationHooks = resources.mutationHooks;
27
- if (service === "roo-code") {
28
- const configName = await container.options.resolveConfigName(options.configName, DEFAULT_ROO_CONFIG_NAME);
29
- return {
30
- configName,
31
- mutationHooks
32
- };
33
- }
34
- return { mutationHooks };
35
- }
36
- function formatRemovalMessages(service, label, removed, payload) {
37
- const didRemove = typeof removed === "boolean" ? removed : Boolean(removed);
38
- switch (service) {
39
- case "claude-code":
40
- return {
41
- success: didRemove
42
- ? "Removed Claude Code configuration."
43
- : "No Claude Code configuration found.",
44
- dry: "Dry run: would remove Claude Code configuration."
45
- };
46
- case "codex":
47
- return {
48
- success: didRemove
49
- ? "Removed Codex configuration."
50
- : "No Codex configuration found.",
51
- dry: "Dry run: would remove Codex configuration."
52
- };
53
- case "opencode":
54
- return {
55
- success: didRemove
56
- ? "Removed OpenCode CLI configuration."
57
- : "No OpenCode CLI configuration found.",
58
- dry: "Dry run: would remove OpenCode CLI configuration."
59
- };
60
- case "roo-code": {
61
- const configName = typeof payload.configName === "string"
62
- ? payload.configName
63
- : DEFAULT_ROO_CONFIG_NAME;
64
- return {
65
- success: didRemove
66
- ? `Removed Roo Code configuration "${configName}".`
67
- : `No Roo Code configuration named "${configName}" found.`,
68
- dry: "Dry run: would remove Roo Code configuration."
69
- };
70
- }
71
- default:
72
- return {
73
- success: didRemove
74
- ? `Removed ${label} configuration.`
75
- : `No ${label} configuration found.`,
76
- dry: `Dry run: would remove ${label} configuration.`
77
- };
78
- }
79
- }
80
- //# sourceMappingURL=remove.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export declare function registerRootHandler(program: Command, container: CliContainer): void;
@@ -1,7 +0,0 @@
1
- import { launchInteractiveMode } from "../interactive-launcher.js";
2
- export function registerRootHandler(program, container) {
3
- program.action(async () => {
4
- await launchInteractiveMode(container.dependencies);
5
- });
6
- }
7
- //# sourceMappingURL=root.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../../../src/cli/commands/root.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,SAAuB;IAEvB,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export interface SpawnWorktreeCommandOptions {
4
- branch?: string;
5
- }
6
- export declare function registerSpawnWorktreeCommand(program: Command, container: CliContainer): void;