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,91 +0,0 @@
1
- import { buildProviderContext, resolveCommandFlags, resolveServiceAdapter } from "./shared.js";
2
- import { spawnGitWorktree } from "../../commands/spawn-worktree.js";
3
- import { simpleGit as createSimpleGit } from "simple-git";
4
- export function registerSpawnWorktreeCommand(program, container) {
5
- program
6
- .command("spawn-git-worktree")
7
- .description("Create a git worktree, run an agent, and attempt to merge changes.")
8
- .argument("<service>", "Service to spawn (claude-code | codex | opencode)")
9
- .argument("<prompt>", "Prompt to provide to the agent")
10
- .argument("[agentArgs...]", "Additional arguments forwarded to the agent")
11
- .option("--branch <name>", "Target branch to merge into")
12
- .action(async (service, promptText, agentArgs = [], options) => {
13
- const adapter = resolveServiceAdapter(container, service);
14
- if (!adapter.supportsSpawn) {
15
- throw new Error(`${adapter.label} does not support spawn.`);
16
- }
17
- const flags = resolveCommandFlags(program);
18
- const logger = container.loggerFactory.create({
19
- dryRun: flags.dryRun,
20
- verbose: flags.verbose,
21
- scope: "spawn-worktree"
22
- });
23
- if (flags.dryRun) {
24
- const argsSuffix = agentArgs.length > 0
25
- ? ` with args ${JSON.stringify(agentArgs)}`
26
- : "";
27
- const branchSuffix = options.branch ? ` into ${options.branch}` : "";
28
- logger.dryRun(`Dry run: would create git worktree, run ${adapter.label}${argsSuffix}, and merge${branchSuffix}.`);
29
- return;
30
- }
31
- const runner = flags.verbose
32
- ? createVerboseRunner(container, logger)
33
- : container.commandRunner;
34
- const currentBranch = await resolveTargetBranch(container, options.branch);
35
- await spawnGitWorktree({
36
- agent: service,
37
- prompt: promptText,
38
- agentArgs,
39
- basePath: container.env.cwd,
40
- targetBranch: currentBranch,
41
- logger: (message) => logger.info(message),
42
- runAgent: async ({ agent, prompt, args }) => {
43
- if (agent !== service) {
44
- throw new Error(`Mismatched agent request "${agent}" (expected "${service}").`);
45
- }
46
- return await spawnWithCustomRunner(container, adapter, flags.verbose, runner, prompt, args);
47
- }
48
- });
49
- });
50
- }
51
- function createVerboseRunner(container, logger) {
52
- return async (command, args) => {
53
- logger.verbose(`> ${[command, ...args].join(" ").trim()}`);
54
- return container.commandRunner(command, args);
55
- };
56
- }
57
- async function resolveTargetBranch(container, branchOverride) {
58
- if (branchOverride) {
59
- return branchOverride;
60
- }
61
- const git = createSimpleGit({ baseDir: container.env.cwd });
62
- const branch = await git.revparse(["--abbrev-ref", "HEAD"]);
63
- return branch.trim();
64
- }
65
- async function spawnWithCustomRunner(container, adapter, verbose, runner, prompt, args) {
66
- const scopedLogger = container.loggerFactory.create({
67
- dryRun: false,
68
- verbose,
69
- scope: `spawn:${adapter.name}`
70
- });
71
- const context = container.contextFactory.create({
72
- dryRun: false,
73
- logger: scopedLogger,
74
- runner
75
- });
76
- const resources = {
77
- logger: scopedLogger,
78
- context
79
- };
80
- const providerContext = buildProviderContext(container, adapter, resources);
81
- return (await container.registry.invoke(adapter.name, "spawn", async (entry) => {
82
- if (!entry.spawn) {
83
- throw new Error(`${adapter.label} does not support spawn.`);
84
- }
85
- return (await entry.spawn(providerContext, {
86
- prompt,
87
- args
88
- }));
89
- }));
90
- }
91
- //# sourceMappingURL=spawn-worktree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spawn-worktree.js","sourceRoot":"","sources":["../../../src/cli/commands/spawn-worktree.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CliContainer } from "../container.js";
3
- export interface TestCommandOptions {
4
- apiKey?: string;
5
- }
6
- export declare function registerTestCommand(program: Command, container: CliContainer): void;
@@ -1,26 +0,0 @@
1
- import { resolveCommandFlags } from "./shared.js";
2
- export function registerTestCommand(program, container) {
3
- program
4
- .command("test")
5
- .description('Verify the Poe API key by sending "Ping" to EchoBot.')
6
- .option("--api-key <key>", "Poe API key")
7
- .action(async (options) => {
8
- const flags = resolveCommandFlags(program);
9
- const logger = container.loggerFactory.create({
10
- dryRun: flags.dryRun,
11
- verbose: flags.verbose,
12
- scope: "test"
13
- });
14
- const apiKey = await container.options.resolveApiKey({
15
- value: options.apiKey,
16
- dryRun: flags.dryRun
17
- });
18
- if (flags.dryRun) {
19
- logger.dryRun('would verify Poe API key by calling EchoBot with "Ping".');
20
- return;
21
- }
22
- await container.poeApiClient.verify({ apiKey });
23
- logger.info("Poe API key verified via EchoBot.");
24
- });
25
- }
26
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,SAAuB;IAEvB,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,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,MAAM;SACd,CAAC,CAAC;QAEH,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,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,CACX,0DAA0D,CAC3D,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { ErrorLogger } from "./error-logger.js";
2
- export interface ResolveFileMentionsDependencies {
3
- input: string;
4
- cwd: string;
5
- readFile: (filePath: string, encoding: BufferEncoding) => Promise<string>;
6
- errorLogger: Pick<ErrorLogger, "logErrorWithStackTrace">;
7
- }
8
- export interface FileMentionResolution {
9
- processedInput: string;
10
- attachments: string[];
11
- mentions: string[];
12
- }
13
- export declare function resolveFileMentions(dependencies: ResolveFileMentionsDependencies): Promise<FileMentionResolution>;
@@ -1,87 +0,0 @@
1
- import path from "node:path";
2
- const WHITESPACE = new Set([" ", "\n", "\r", "\t"]);
3
- export async function resolveFileMentions(dependencies) {
4
- const { input, cwd, readFile, errorLogger } = dependencies;
5
- const segments = extractMentions(input);
6
- if (segments.length === 0) {
7
- return {
8
- processedInput: input,
9
- attachments: [],
10
- mentions: []
11
- };
12
- }
13
- const attachments = [];
14
- const resolvedMentions = [];
15
- for (const segment of segments) {
16
- resolvedMentions.push(segment.mention);
17
- const absolutePath = path.isAbsolute(segment.mention)
18
- ? segment.mention
19
- : path.join(cwd, segment.mention);
20
- try {
21
- const contents = await readFile(absolutePath, "utf8");
22
- attachments.push(`\n\n--- Content of ${segment.mention} ---\n${contents}\n--- End of ${segment.mention} ---`);
23
- }
24
- catch (rawError) {
25
- const error = rawError instanceof Error ? rawError : new Error(String(rawError));
26
- attachments.push(`\n\n[Error reading ${segment.mention}: ${error.message}]`);
27
- errorLogger.logErrorWithStackTrace(error, "interactive file mention", {
28
- component: "interactive",
29
- operation: "read file mention",
30
- mention: segment.mention,
31
- absolutePath,
32
- cwd
33
- });
34
- }
35
- }
36
- const base = removeMentions(input, segments).trim();
37
- return {
38
- processedInput: `${base}${attachments.join("")}`,
39
- attachments,
40
- mentions: resolvedMentions
41
- };
42
- }
43
- function extractMentions(value) {
44
- const segments = [];
45
- let index = 0;
46
- while (index < value.length) {
47
- if (value[index] !== "@") {
48
- index += 1;
49
- continue;
50
- }
51
- const start = index;
52
- index += 1;
53
- let cursor = index;
54
- while (cursor < value.length && !WHITESPACE.has(value[cursor])) {
55
- cursor += 1;
56
- }
57
- const mention = value.slice(index, cursor);
58
- if (mention.length === 0) {
59
- continue;
60
- }
61
- segments.push({
62
- mention,
63
- start,
64
- end: cursor
65
- });
66
- index = cursor;
67
- }
68
- return segments;
69
- }
70
- function removeMentions(value, segments) {
71
- if (segments.length === 0) {
72
- return value;
73
- }
74
- let result = "";
75
- let cursor = 0;
76
- for (const segment of segments) {
77
- if (cursor < segment.start) {
78
- result += value.slice(cursor, segment.start);
79
- }
80
- cursor = segment.end;
81
- }
82
- if (cursor < value.length) {
83
- result += value.slice(cursor);
84
- }
85
- return result;
86
- }
87
- //# sourceMappingURL=file-mentions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-mentions.js","sourceRoot":"","sources":["../../src/cli/file-mentions.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAsB7B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAA6C;IAE7C,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAE3D,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,cAAc,EAAE,KAAK;YACrB,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;YACnD,CAAC,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACtD,WAAW,CAAC,IAAI,CACd,sBAAsB,OAAO,CAAC,OAAO,SAAS,QAAQ,gBAAgB,OAAO,CAAC,OAAO,MAAM,CAC5F,CAAC;QACJ,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,MAAM,KAAK,GACT,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrE,WAAW,CAAC,IAAI,CACd,sBAAsB,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,GAAG,CAC3D,CAAC;YACF,WAAW,CAAC,sBAAsB,CAAC,KAAK,EAAE,0BAA0B,EAAE;gBACpE,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,mBAAmB;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY;gBACZ,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO;QACL,cAAc,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAChD,WAAW;QACX,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO;YACP,KAAK;YACL,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;QACH,KAAK,GAAG,MAAM,CAAC;IACjB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,QAA0B;IAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,14 +0,0 @@
1
- export interface EvaluateFilePickerInput {
2
- value: string;
3
- isOpen: boolean;
4
- }
5
- export type FilePickerAction = {
6
- kind: "open";
7
- prefix: string;
8
- } | {
9
- kind: "search";
10
- query: string;
11
- } | {
12
- kind: "close";
13
- };
14
- export declare function evaluateFilePickerAction(input: EvaluateFilePickerInput): FilePickerAction | null;
@@ -1,23 +0,0 @@
1
- export function evaluateFilePickerAction(input) {
2
- const { value, isOpen } = input;
3
- if (value.endsWith("@")) {
4
- return {
5
- kind: "open",
6
- prefix: value.slice(0, -1)
7
- };
8
- }
9
- if (!isOpen) {
10
- return null;
11
- }
12
- const atIndex = value.lastIndexOf("@");
13
- if (atIndex === -1) {
14
- return {
15
- kind: "close"
16
- };
17
- }
18
- return {
19
- kind: "search",
20
- query: value.slice(atIndex + 1)
21
- };
22
- }
23
- //# sourceMappingURL=file-picker-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-picker-state.js","sourceRoot":"","sources":["../../src/cli/file-picker-state.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,wBAAwB,CACtC,KAA8B;IAE9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEhC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;KAChC,CAAC;AACJ,CAAC"}
@@ -1,11 +0,0 @@
1
- import { type CliDependencies } from "./program.js";
2
- export interface ParsedInteractiveCommand {
3
- command: string;
4
- tokens: string[];
5
- normalized: string[];
6
- }
7
- export interface InteractiveCommandExecutor {
8
- identify(input: string): ParsedInteractiveCommand | null;
9
- execute(input: string | ParsedInteractiveCommand): Promise<string | null>;
10
- }
11
- export declare function createInteractiveCommandExecutor(dependencies: CliDependencies): Promise<InteractiveCommandExecutor>;
@@ -1,142 +0,0 @@
1
- import { CommanderError } from "commander";
2
- import { createProgram } from "./program.js";
3
- import { tokenizeCommandLine } from "../utils/command-line.js";
4
- export async function createInteractiveCommandExecutor(dependencies) {
5
- const outputBuffer = [];
6
- const baseLogger = dependencies.logger;
7
- const logger = (message) => {
8
- outputBuffer.push(message);
9
- if (baseLogger) {
10
- baseLogger(message);
11
- }
12
- };
13
- const program = createProgram({
14
- ...dependencies,
15
- logger,
16
- exitOverride: true
17
- });
18
- const commandMap = buildCommandMap(program.commands.map((cmd) => cmd));
19
- const identify = (input) => {
20
- const tokens = tokenizeCommandLine(input);
21
- if (tokens.length === 0) {
22
- return null;
23
- }
24
- const first = tokens[0];
25
- if (first.toLowerCase() === "help") {
26
- return {
27
- command: "help",
28
- tokens,
29
- normalized: tokens
30
- };
31
- }
32
- const key = tokens[0];
33
- const canonical = commandMap.get(key) ?? commandMap.get(key.toLowerCase());
34
- if (!canonical) {
35
- return null;
36
- }
37
- const normalized = normalizeTokens(tokens, canonical);
38
- return {
39
- command: canonical,
40
- tokens,
41
- normalized
42
- };
43
- };
44
- const execute = async (input) => {
45
- const parsed = typeof input === "string" ? identify(input) : input;
46
- if (!parsed) {
47
- return null;
48
- }
49
- outputBuffer.length = 0;
50
- if (parsed.command === "help") {
51
- return renderHelp(program, parsed.tokens.slice(1));
52
- }
53
- try {
54
- await program.parseAsync(parsed.normalized, { from: "user" });
55
- }
56
- catch (error) {
57
- if (error instanceof CommanderError) {
58
- if (error.code !== "commander.helpDisplayed" &&
59
- error.message &&
60
- !outputBuffer.includes(error.message)) {
61
- outputBuffer.push(error.message);
62
- }
63
- }
64
- else {
65
- throw error;
66
- }
67
- }
68
- return outputBuffer.join("\n");
69
- };
70
- return { identify, execute };
71
- }
72
- function buildCommandMap(commands) {
73
- const map = new Map();
74
- for (const command of commands) {
75
- const canonical = command.name();
76
- map.set(canonical, canonical);
77
- map.set(canonical.toLowerCase(), canonical);
78
- for (const alias of command.aliases()) {
79
- map.set(alias, canonical);
80
- map.set(alias.toLowerCase(), canonical);
81
- }
82
- }
83
- return map;
84
- }
85
- function renderHelp(program, topics) {
86
- if (topics.length === 0) {
87
- return program.helpInformation();
88
- }
89
- const [topic, ...rest] = topics;
90
- if (rest.length > 0) {
91
- return `Unknown help topic "${topics.join(" ")}".`;
92
- }
93
- const command = findCommand(program, topic);
94
- if (!command) {
95
- return `Unknown help topic "${topic}".`;
96
- }
97
- return command.helpInformation();
98
- }
99
- function findCommand(program, name) {
100
- const direct = program.commands.find((cmd) => cmd.name() === name);
101
- if (direct) {
102
- return direct;
103
- }
104
- const lower = name.toLowerCase();
105
- return program.commands.find((cmd) => {
106
- if (cmd.name().toLowerCase() === lower) {
107
- return true;
108
- }
109
- return cmd.aliases().some((alias) => alias === name || alias.toLowerCase() === lower);
110
- });
111
- }
112
- function normalizeTokens(tokens, canonical) {
113
- if (tokens.length === 0) {
114
- return tokens;
115
- }
116
- const rest = tokens.slice(1);
117
- if (canonical === "login" && rest.length > 0 && !rest[0].startsWith("-")) {
118
- return [canonical, "--api-key", rest.join(" ")];
119
- }
120
- if (canonical === "test" && rest.length > 0 && !rest[0].startsWith("-")) {
121
- return [canonical, "--api-key", rest.join(" ")];
122
- }
123
- if (canonical === "init" && rest.length > 0 && !rest[0].startsWith("-")) {
124
- const [projectName, ...remaining] = rest;
125
- return [canonical, "--project-name", projectName, ...remaining];
126
- }
127
- if (canonical === "remove" &&
128
- rest.length > 1 &&
129
- !rest.some((token) => token.startsWith("--"))) {
130
- const [service, ...remaining] = rest;
131
- if (remaining.length > 0) {
132
- return [
133
- canonical,
134
- service,
135
- "--config-name",
136
- remaining.join(" ")
137
- ];
138
- }
139
- }
140
- return [canonical, ...rest];
141
- }
142
- //# sourceMappingURL=interactive-command-runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactive-command-runner.js","sourceRoot":"","sources":["../../src/cli/interactive-command-runner.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import type { CliDependencies } from "./program.js";
2
- export declare function launchInteractiveMode(dependencies: CliDependencies): Promise<void>;