poe-code 3.0.131 → 3.0.133
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.
- package/README.md +33 -3
- package/dist/cli/commands/spawn.js +154 -150
- package/dist/cli/commands/spawn.js.map +1 -1
- package/dist/cli/poe-agent-main.js +10 -9
- package/dist/cli/poe-agent-main.js.map +1 -1
- package/dist/cli/program.js +0 -2
- package/dist/cli/program.js.map +1 -1
- package/dist/index.js +1113 -1087
- package/dist/index.js.map +4 -4
- package/dist/prompts/github-issue-opened.md +20 -1
- package/dist/providers/claude-code.js +29 -23
- package/dist/providers/claude-code.js.map +4 -4
- package/dist/providers/codex.js +29 -23
- package/dist/providers/codex.js.map +4 -4
- package/dist/providers/kimi.js +29 -23
- package/dist/providers/kimi.js.map +4 -4
- package/dist/providers/opencode.js +29 -23
- package/dist/providers/opencode.js.map +4 -4
- package/dist/sdk/launch.js +17 -1
- package/dist/sdk/launch.js.map +1 -1
- package/dist/sdk/spawn-core.d.ts +1 -1
- package/dist/sdk/spawn-core.js +54 -57
- package/dist/sdk/spawn-core.js.map +1 -1
- package/dist/sdk/spawn.js +31 -12
- package/dist/sdk/spawn.js.map +1 -1
- package/dist/sdk/types.d.ts +3 -3
- package/dist/workspace/resolve-spawn-workspace.d.ts +15 -0
- package/dist/workspace/resolve-spawn-workspace.js +28 -0
- package/dist/workspace/resolve-spawn-workspace.js.map +1 -0
- package/package.json +2 -1
- package/dist/cli/commands/research.d.ts +0 -13
- package/dist/cli/commands/research.js +0 -158
- package/dist/cli/commands/research.js.map +0 -1
- package/dist/sdk/research.d.ts +0 -62
- package/dist/sdk/research.js +0 -343
- package/dist/sdk/research.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<h1>Poe Code ⚡</h1>
|
|
5
5
|
|
|
6
6
|
<a href="https://poe.com"><img src="https://img.shields.io/badge/Poe-Sign up-purple?logo=poe&logoColor=white&color=5D5CDE&style=for-the-badge" alt="Discord"></a>
|
|
7
|
-
<a href="https://www.npmjs.com/package/poe-code"><img alt="NPM version" src="https://img.shields.io/npm/v/
|
|
7
|
+
<a href="https://www.npmjs.com/package/poe-code"><img alt="NPM version" src="https://img.shields.io/npm/v/poe-code.svg?&style=for-the-badge&color=09B16B"></a>
|
|
8
8
|
<a href="https://discord.gg/joinpoe"><img src="https://img.shields.io/badge/Discord-Join-purple?logo=discord&logoColor=white&color=FF44D3&style=for-the-badge" alt="Discord"></a>
|
|
9
9
|
|
|
10
10
|
</div>
|
|
@@ -42,9 +42,25 @@ npx poe-code@latest configure codex # (or claude, opencode, kimi)
|
|
|
42
42
|
npx poe-code@latest unconfigure claude
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
## Authentication
|
|
46
|
+
|
|
47
|
+
Poe Code uses your [Poe API key](https://poe.com/api) for authentication. On first run, you'll be prompted to log in via your browser (OAuth). You can also provide your key directly:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Interactive login (opens browser)
|
|
51
|
+
npx poe-code@latest login
|
|
52
|
+
|
|
53
|
+
# Or pass your API key directly
|
|
54
|
+
npx poe-code@latest login --api-key <your-key>
|
|
55
|
+
|
|
56
|
+
# Or set it as an environment variable
|
|
57
|
+
export POE_API_KEY=<your-key>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Credentials are stored locally in `~/.poe-code/`. Use `poe-code auth status` to check your login state.
|
|
46
61
|
|
|
47
62
|
```bash
|
|
63
|
+
# Remove all configuration and credentials
|
|
48
64
|
npx poe-code@latest logout
|
|
49
65
|
```
|
|
50
66
|
|
|
@@ -68,6 +84,13 @@ Utilities are especially useful for scripting and CI/CD.
|
|
|
68
84
|
npx poe-code@latest spawn codex "Say hello"
|
|
69
85
|
```
|
|
70
86
|
|
|
87
|
+
#### Spawn against a GitHub repository
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx poe-code@latest spawn codex "Fix the failing tests" --cwd github://owner/repo
|
|
91
|
+
npx poe-code@latest spawn codex "Review the auth module" --cwd github://owner/repo#main:packages/auth
|
|
92
|
+
```
|
|
93
|
+
|
|
71
94
|
#### Spawn a prompt via stdin
|
|
72
95
|
|
|
73
96
|
```bash
|
|
@@ -176,6 +199,12 @@ const result = await spawn("claude-code", {
|
|
|
176
199
|
model: "claude-sonnet-4-6"
|
|
177
200
|
});
|
|
178
201
|
|
|
202
|
+
// Spawn against a GitHub repository
|
|
203
|
+
const { events, result: ghResult } = spawn("codex", {
|
|
204
|
+
prompt: "Review the auth module",
|
|
205
|
+
cwd: "github://owner/repo#main:packages/auth"
|
|
206
|
+
});
|
|
207
|
+
|
|
179
208
|
console.log(result.stdout);
|
|
180
209
|
```
|
|
181
210
|
|
|
@@ -185,8 +214,9 @@ Runs a single prompt through a configured service CLI.
|
|
|
185
214
|
|
|
186
215
|
- `service` – Service identifier (`claude-code`, `codex`, `opencode`)
|
|
187
216
|
- `options.prompt` – The prompt to send
|
|
188
|
-
- `options.cwd` – Working directory for the
|
|
217
|
+
- `options.cwd` – Working directory or workspace locator (optional). Supports local paths and `github://owner/repo[#ref[:subdir]]` locators. See [@poe-code/workspace-resolver](packages/workspace-resolver/) for the full locator syntax.
|
|
189
218
|
- `options.model` – Model identifier override (optional)
|
|
219
|
+
- `options.mode` – Permission mode: `yolo`, `edit`, or `read` (optional)
|
|
190
220
|
- `options.args` – Additional arguments forwarded to the CLI (optional)
|
|
191
221
|
|
|
192
222
|
Returns `{ stdout, stderr, exitCode }`.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
1
|
import { renderAcpEvent, renderAcpStream, spawnInteractive, getSpawnConfig, listMcpSupportedAgents, supportsMcpAtSpawn } from "@poe-code/agent-spawn";
|
|
3
2
|
import { resolveAgentId } from "@poe-code/agent-defs";
|
|
4
3
|
import { text, confirm, isCancel, resolveOutputFormat } from "@poe-code/design-system";
|
|
@@ -7,6 +6,7 @@ import { createExecutionResources, resolveCommandFlags, resolveServiceAdapter, f
|
|
|
7
6
|
import { resolveConfiguredModel, spawnCore } from "../../sdk/spawn-core.js";
|
|
8
7
|
import { spawn as spawnSdk } from "../../sdk/spawn.js";
|
|
9
8
|
import { OperationCancelledError, ValidationError } from "../errors.js";
|
|
9
|
+
import { resolveSpawnWorkspace } from "../../workspace/resolve-spawn-workspace.js";
|
|
10
10
|
export function registerSpawnCommand(program, container, options = {}) {
|
|
11
11
|
const spawnServices = container.registry
|
|
12
12
|
.list()
|
|
@@ -20,11 +20,12 @@ export function registerSpawnCommand(program, container, options = {}) {
|
|
|
20
20
|
.alias("s")
|
|
21
21
|
.description("Run a single prompt through a configured agent CLI.")
|
|
22
22
|
.option("--model <model>", "Model identifier override passed to the agent CLI")
|
|
23
|
-
.option("-C, --cwd <path>", "Working directory for the agent CLI")
|
|
23
|
+
.option("-C, --cwd <path>", "Working directory or workspace locator for the agent CLI")
|
|
24
24
|
.option("--stdin", "Read the prompt from stdin")
|
|
25
25
|
.option("-i, --interactive", "Launch the agent in interactive TUI mode")
|
|
26
26
|
.option("--mode <mode>", "Permission mode: yolo | edit | read (default: yolo)")
|
|
27
|
-
.option("--mcp-
|
|
27
|
+
.option("--mcp-servers <json>", "MCP server config JSON: {name: {command, args?, env?}}")
|
|
28
|
+
.option("--mcp-config <json>", "[deprecated: use --mcp-servers]")
|
|
28
29
|
.option("--log-dir <path>", "Directory override for ACP JSONL spawn logs")
|
|
29
30
|
.option("--activity-timeout-ms <ms>", "Kill the agent after N ms of inactivity", (value) => parsePositiveInt(value, "--activity-timeout-ms"))
|
|
30
31
|
.argument("<agent>", serviceDescription)
|
|
@@ -34,8 +35,7 @@ export function registerSpawnCommand(program, container, options = {}) {
|
|
|
34
35
|
const flags = resolveCommandFlags(program);
|
|
35
36
|
const commandOptions = this.opts();
|
|
36
37
|
const shouldEmitUiOutput = resolveOutputFormat() !== "json";
|
|
37
|
-
const mcpServers = parseMcpSpawnConfig(commandOptions.mcpConfig);
|
|
38
|
-
const cwdOverride = resolveSpawnWorkingDirectory(container.env.cwd, commandOptions.cwd);
|
|
38
|
+
const mcpServers = parseMcpSpawnConfig(commandOptions.mcpServers ?? commandOptions.mcpConfig);
|
|
39
39
|
const wantsStdinFlag = commandOptions.stdin === true;
|
|
40
40
|
const shouldReadFromStdin = wantsStdinFlag || promptText === "-" || (!promptText && !process.stdin.isTTY);
|
|
41
41
|
const forwardedArgs = wantsStdinFlag
|
|
@@ -47,26 +47,6 @@ export function registerSpawnCommand(program, container, options = {}) {
|
|
|
47
47
|
if (promptText === "-") {
|
|
48
48
|
promptText = undefined;
|
|
49
49
|
}
|
|
50
|
-
if (commandOptions.interactive) {
|
|
51
|
-
const adapter = resolveServiceAdapter(container, service);
|
|
52
|
-
const canonicalService = adapter.name;
|
|
53
|
-
assertInteractiveSupport(adapter.label, canonicalService);
|
|
54
|
-
const proceed = await confirmUnconfiguredService(container, canonicalService, adapter.label, flags);
|
|
55
|
-
if (!proceed) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const model = await resolveConfiguredModel(container, canonicalService, commandOptions.model);
|
|
59
|
-
const result = await spawnInteractive(canonicalService, {
|
|
60
|
-
prompt: promptText ?? "",
|
|
61
|
-
args: forwardedArgs,
|
|
62
|
-
model,
|
|
63
|
-
mode: commandOptions.mode,
|
|
64
|
-
...(mcpServers ? { mcpServers } : {}),
|
|
65
|
-
cwd: cwdOverride
|
|
66
|
-
});
|
|
67
|
-
process.exitCode = result.exitCode;
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
50
|
if (!promptText && shouldReadFromStdin) {
|
|
71
51
|
const chunks = [];
|
|
72
52
|
for await (const chunk of process.stdin) {
|
|
@@ -74,141 +54,174 @@ export function registerSpawnCommand(program, container, options = {}) {
|
|
|
74
54
|
}
|
|
75
55
|
promptText = Buffer.concat(chunks).toString("utf8").trim();
|
|
76
56
|
}
|
|
77
|
-
if (!promptText) {
|
|
57
|
+
if (!promptText && !commandOptions.interactive) {
|
|
78
58
|
throw new Error("No prompt provided via argument or stdin");
|
|
79
59
|
}
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
60
|
+
const prompt = promptText ?? "";
|
|
61
|
+
const workspace = await resolveSpawnWorkspace(commandOptions.cwd, {
|
|
62
|
+
baseDir: container.env.cwd,
|
|
63
|
+
homeDir: container.env.homeDir,
|
|
84
64
|
mode: commandOptions.mode,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
container,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
65
|
+
resolveRemoteLocators: !flags.dryRun,
|
|
66
|
+
fs: container.fs,
|
|
67
|
+
exec: container.commandRunner
|
|
68
|
+
});
|
|
69
|
+
const cwdOverride = workspace.cwd;
|
|
70
|
+
try {
|
|
71
|
+
if (commandOptions.interactive) {
|
|
72
|
+
const adapter = resolveServiceAdapter(container, service);
|
|
73
|
+
const canonicalService = adapter.name;
|
|
74
|
+
assertInteractiveSupport(adapter.label, canonicalService);
|
|
75
|
+
const proceed = await confirmUnconfiguredService(container, canonicalService, adapter.label, flags);
|
|
76
|
+
if (!proceed) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const model = await resolveConfiguredModel(container, canonicalService, commandOptions.model);
|
|
80
|
+
const result = await spawnInteractive(canonicalService, {
|
|
81
|
+
prompt,
|
|
82
|
+
args: forwardedArgs,
|
|
83
|
+
model,
|
|
84
|
+
mode: commandOptions.mode,
|
|
85
|
+
...(mcpServers ? { mcpServers } : {}),
|
|
86
|
+
cwd: cwdOverride
|
|
87
|
+
});
|
|
88
|
+
process.exitCode = result.exitCode;
|
|
89
|
+
return;
|
|
107
90
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
91
|
+
const directSpawnOptions = {
|
|
92
|
+
prompt,
|
|
93
|
+
args: forwardedArgs,
|
|
94
|
+
model: commandOptions.model,
|
|
95
|
+
mode: commandOptions.mode,
|
|
96
|
+
mcpServers,
|
|
97
|
+
cwd: cwdOverride,
|
|
98
|
+
logDir: commandOptions.logDir,
|
|
99
|
+
activityTimeoutMs: commandOptions.activityTimeoutMs,
|
|
100
|
+
useStdin: shouldReadFromStdin
|
|
101
|
+
};
|
|
102
|
+
const directHandler = options.handlers?.[service];
|
|
103
|
+
if (directHandler) {
|
|
104
|
+
const resources = createExecutionResources(container, flags, `spawn:${service}`);
|
|
105
|
+
if (shouldEmitUiOutput) {
|
|
106
|
+
resources.logger.intro(`spawn ${service}`);
|
|
107
|
+
}
|
|
108
|
+
await directHandler({
|
|
125
109
|
container,
|
|
126
|
-
service
|
|
127
|
-
options:
|
|
110
|
+
service,
|
|
111
|
+
options: directSpawnOptions,
|
|
128
112
|
flags,
|
|
129
113
|
resources
|
|
130
114
|
});
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
finally {
|
|
134
115
|
if (shouldEmitUiOutput) {
|
|
135
116
|
resources.context.finalize();
|
|
136
117
|
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
try {
|
|
140
|
-
assertSpawnSupport(adapter.label, canonicalService, typeof adapter.spawn === "function");
|
|
141
|
-
assertMcpSpawnSupport(adapter.label, canonicalService, adapter.supportsMcpSpawn === true, mcpServers);
|
|
142
|
-
if (flags.dryRun) {
|
|
143
|
-
// spawnCore already logs the dry run details.
|
|
144
|
-
await spawnCore(container, canonicalService, spawnOptions, {
|
|
145
|
-
dryRun: true,
|
|
146
|
-
verbose: flags.verbose
|
|
147
|
-
});
|
|
148
118
|
return;
|
|
149
119
|
}
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
...(spawnOptions.mcpServers ? { mcpConfig: spawnOptions.mcpServers } : {}),
|
|
161
|
-
...(spawnOptions.logDir !== undefined ? { logDir: spawnOptions.logDir } : {}),
|
|
162
|
-
...(spawnOptions.activityTimeoutMs !== undefined
|
|
163
|
-
? { activityTimeoutMs: spawnOptions.activityTimeoutMs }
|
|
164
|
-
: {})
|
|
165
|
-
});
|
|
166
|
-
await renderAcpStream(events);
|
|
167
|
-
const final = await result;
|
|
168
|
-
process.exitCode = final.exitCode;
|
|
169
|
-
if (!shouldEmitUiOutput) {
|
|
170
|
-
renderAcpEvent({
|
|
171
|
-
event: "spawn_result",
|
|
172
|
-
exitCode: final.exitCode,
|
|
173
|
-
...(final.threadId ? { threadId: final.threadId } : {}),
|
|
174
|
-
...(final.usage ? { usage: final.usage } : {}),
|
|
175
|
-
protocolVersion: 1
|
|
176
|
-
});
|
|
120
|
+
const adapter = resolveServiceAdapter(container, service);
|
|
121
|
+
const canonicalService = adapter.name;
|
|
122
|
+
const model = await resolveConfiguredModel(container, canonicalService, commandOptions.model);
|
|
123
|
+
const spawnOptions = {
|
|
124
|
+
...directSpawnOptions,
|
|
125
|
+
model
|
|
126
|
+
};
|
|
127
|
+
const resources = createExecutionResources(container, flags, `spawn:${canonicalService}`);
|
|
128
|
+
if (shouldEmitUiOutput) {
|
|
129
|
+
resources.logger.intro(`spawn ${canonicalService}`);
|
|
177
130
|
}
|
|
178
|
-
|
|
179
|
-
|
|
131
|
+
const canonicalHandler = options.handlers?.[canonicalService];
|
|
132
|
+
if (canonicalHandler) {
|
|
133
|
+
try {
|
|
134
|
+
await canonicalHandler({
|
|
135
|
+
container,
|
|
136
|
+
service: canonicalService,
|
|
137
|
+
options: spawnOptions,
|
|
138
|
+
flags,
|
|
139
|
+
resources
|
|
140
|
+
});
|
|
180
141
|
return;
|
|
181
142
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
143
|
+
finally {
|
|
144
|
+
if (shouldEmitUiOutput) {
|
|
145
|
+
resources.context.finalize();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
185
148
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
149
|
+
try {
|
|
150
|
+
assertSpawnSupport(adapter.label, canonicalService, typeof adapter.spawn === "function");
|
|
151
|
+
assertMcpSpawnSupport(adapter.label, canonicalService, adapter.supportsMcpSpawn === true, mcpServers);
|
|
152
|
+
if (flags.dryRun) {
|
|
153
|
+
await spawnCore(container, canonicalService, spawnOptions, {
|
|
154
|
+
dryRun: true,
|
|
155
|
+
verbose: flags.verbose
|
|
156
|
+
});
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const proceed = await confirmUnconfiguredService(container, canonicalService, adapter.label, flags);
|
|
160
|
+
if (!proceed) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const { events, result } = spawnSdk(canonicalService, {
|
|
164
|
+
prompt: spawnOptions.prompt,
|
|
165
|
+
args: spawnOptions.args,
|
|
166
|
+
model: spawnOptions.model,
|
|
167
|
+
mode: spawnOptions.mode,
|
|
168
|
+
cwd: spawnOptions.cwd,
|
|
169
|
+
...(spawnOptions.mcpServers ? { mcpServers: spawnOptions.mcpServers } : {}),
|
|
170
|
+
...(spawnOptions.logDir !== undefined ? { logDir: spawnOptions.logDir } : {}),
|
|
171
|
+
...(spawnOptions.activityTimeoutMs !== undefined
|
|
172
|
+
? { activityTimeoutMs: spawnOptions.activityTimeoutMs }
|
|
173
|
+
: {})
|
|
174
|
+
});
|
|
175
|
+
await renderAcpStream(events);
|
|
176
|
+
const final = await result;
|
|
177
|
+
process.exitCode = final.exitCode;
|
|
178
|
+
if (!shouldEmitUiOutput) {
|
|
179
|
+
renderAcpEvent({
|
|
180
|
+
event: "spawn_result",
|
|
181
|
+
exitCode: final.exitCode,
|
|
182
|
+
...(final.threadId ? { threadId: final.threadId } : {}),
|
|
183
|
+
...(final.usage ? { usage: final.usage } : {}),
|
|
184
|
+
protocolVersion: 1
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
if (final.exitCode !== 0) {
|
|
188
|
+
if (!shouldEmitUiOutput) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const detail = final.stderr.trim() || final.stdout.trim();
|
|
192
|
+
const suffix = detail ? `: ${detail}` : "";
|
|
193
|
+
throw new Error(`${adapter.label} spawn failed with exit code ${final.exitCode}${suffix}`);
|
|
190
194
|
}
|
|
191
|
-
|
|
192
|
-
const
|
|
193
|
-
if (
|
|
194
|
-
resources.logger.info(
|
|
195
|
+
if (shouldEmitUiOutput) {
|
|
196
|
+
const trimmedStdout = final.stdout.trim();
|
|
197
|
+
if (trimmedStdout) {
|
|
198
|
+
resources.logger.info(trimmedStdout);
|
|
195
199
|
}
|
|
196
200
|
else {
|
|
197
|
-
|
|
201
|
+
const trimmedStderr = final.stderr.trim();
|
|
202
|
+
if (trimmedStderr) {
|
|
203
|
+
resources.logger.info(trimmedStderr);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
resources.logger.info(`${adapter.label} spawn completed.`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
if (shouldEmitUiOutput && final.threadId) {
|
|
211
|
+
const resumeCommand = buildResumeCommand(canonicalService, final.threadId, spawnOptions.cwd ?? process.cwd());
|
|
212
|
+
if (resumeCommand) {
|
|
213
|
+
resources.logger.info(text.muted(`\nResume: ${resumeCommand}`));
|
|
198
214
|
}
|
|
199
215
|
}
|
|
200
216
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
resources.logger.info(text.muted(`\nResume: ${resumeCommand}`));
|
|
217
|
+
finally {
|
|
218
|
+
if (shouldEmitUiOutput) {
|
|
219
|
+
resources.context.finalize();
|
|
205
220
|
}
|
|
206
221
|
}
|
|
207
222
|
}
|
|
208
223
|
finally {
|
|
209
|
-
|
|
210
|
-
resources.context.finalize();
|
|
211
|
-
}
|
|
224
|
+
await workspace.cleanup?.();
|
|
212
225
|
}
|
|
213
226
|
});
|
|
214
227
|
}
|
|
@@ -232,15 +245,6 @@ async function confirmUnconfiguredService(container, service, label, flags) {
|
|
|
232
245
|
}
|
|
233
246
|
return shouldProceed === true;
|
|
234
247
|
}
|
|
235
|
-
function resolveSpawnWorkingDirectory(baseDir, candidate) {
|
|
236
|
-
if (!candidate || candidate.trim().length === 0) {
|
|
237
|
-
return undefined;
|
|
238
|
-
}
|
|
239
|
-
if (path.isAbsolute(candidate)) {
|
|
240
|
-
return candidate;
|
|
241
|
-
}
|
|
242
|
-
return path.resolve(baseDir, candidate);
|
|
243
|
-
}
|
|
244
248
|
function parseMcpSpawnConfig(input) {
|
|
245
249
|
if (!input) {
|
|
246
250
|
return undefined;
|
|
@@ -250,29 +254,29 @@ function parseMcpSpawnConfig(input) {
|
|
|
250
254
|
parsed = JSON.parse(input);
|
|
251
255
|
}
|
|
252
256
|
catch {
|
|
253
|
-
throw new ValidationError("--mcp-
|
|
257
|
+
throw new ValidationError("--mcp-servers must be valid JSON in this shape: {name: {command, args?, env?}}");
|
|
254
258
|
}
|
|
255
259
|
if (!isObjectRecord(parsed)) {
|
|
256
|
-
throw new ValidationError("--mcp-
|
|
260
|
+
throw new ValidationError("--mcp-servers must be an object in this shape: {name: {command, args?, env?}}");
|
|
257
261
|
}
|
|
258
262
|
const servers = {};
|
|
259
263
|
for (const [name, value] of Object.entries(parsed)) {
|
|
260
264
|
if (!isObjectRecord(value)) {
|
|
261
|
-
throw new ValidationError(`--mcp-
|
|
265
|
+
throw new ValidationError(`--mcp-servers entry "${name}" must be an object: {command, args?, env?}`);
|
|
262
266
|
}
|
|
263
267
|
const command = value.command;
|
|
264
268
|
if (typeof command !== "string" || command.trim().length === 0) {
|
|
265
|
-
throw new ValidationError(`--mcp-
|
|
269
|
+
throw new ValidationError(`--mcp-servers entry "${name}" must include a non-empty string "command"`);
|
|
266
270
|
}
|
|
267
271
|
let args;
|
|
268
272
|
if ("args" in value && value.args !== undefined) {
|
|
269
273
|
if (!Array.isArray(value.args)) {
|
|
270
|
-
throw new ValidationError(`--mcp-
|
|
274
|
+
throw new ValidationError(`--mcp-servers entry "${name}".args must be an array of strings`);
|
|
271
275
|
}
|
|
272
276
|
args = [];
|
|
273
277
|
for (const arg of value.args) {
|
|
274
278
|
if (typeof arg !== "string") {
|
|
275
|
-
throw new ValidationError(`--mcp-
|
|
279
|
+
throw new ValidationError(`--mcp-servers entry "${name}".args must be an array of strings`);
|
|
276
280
|
}
|
|
277
281
|
args.push(arg);
|
|
278
282
|
}
|
|
@@ -280,12 +284,12 @@ function parseMcpSpawnConfig(input) {
|
|
|
280
284
|
let env;
|
|
281
285
|
if ("env" in value && value.env !== undefined) {
|
|
282
286
|
if (!isObjectRecord(value.env)) {
|
|
283
|
-
throw new ValidationError(`--mcp-
|
|
287
|
+
throw new ValidationError(`--mcp-servers entry "${name}".env must be an object of string values`);
|
|
284
288
|
}
|
|
285
289
|
env = {};
|
|
286
290
|
for (const [envKey, envValue] of Object.entries(value.env)) {
|
|
287
291
|
if (typeof envValue !== "string") {
|
|
288
|
-
throw new ValidationError(`--mcp-
|
|
292
|
+
throw new ValidationError(`--mcp-servers entry "${name}".env must be an object of string values`);
|
|
289
293
|
}
|
|
290
294
|
env[envKey] = envValue;
|
|
291
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/cli/commands/spawn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/cli/commands/spawn.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,37 +13,37 @@ function parseMcpSpawnConfig(input) {
|
|
|
13
13
|
parsed = JSON.parse(input);
|
|
14
14
|
}
|
|
15
15
|
catch {
|
|
16
|
-
throw new ValidationError("--mcp-
|
|
16
|
+
throw new ValidationError("--mcp-servers must be valid JSON in this shape: {name: {command, args?, env?}}");
|
|
17
17
|
}
|
|
18
18
|
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
19
|
-
throw new ValidationError("--mcp-
|
|
19
|
+
throw new ValidationError("--mcp-servers must be an object in this shape: {name: {command, args?, env?}}");
|
|
20
20
|
}
|
|
21
21
|
const servers = {};
|
|
22
22
|
for (const [name, value] of Object.entries(parsed)) {
|
|
23
23
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
24
|
-
throw new ValidationError(`--mcp-
|
|
24
|
+
throw new ValidationError(`--mcp-servers entry "${name}" must be an object: {command, args?, env?}`);
|
|
25
25
|
}
|
|
26
26
|
const entry = value;
|
|
27
27
|
const command = entry.command;
|
|
28
28
|
if (typeof command !== "string" || command.trim().length === 0) {
|
|
29
|
-
throw new ValidationError(`--mcp-
|
|
29
|
+
throw new ValidationError(`--mcp-servers entry "${name}" must include a non-empty string "command"`);
|
|
30
30
|
}
|
|
31
31
|
let args;
|
|
32
32
|
if ("args" in entry && entry.args !== undefined) {
|
|
33
33
|
if (!Array.isArray(entry.args) || entry.args.some((a) => typeof a !== "string")) {
|
|
34
|
-
throw new ValidationError(`--mcp-
|
|
34
|
+
throw new ValidationError(`--mcp-servers entry "${name}".args must be an array of strings`);
|
|
35
35
|
}
|
|
36
36
|
args = entry.args;
|
|
37
37
|
}
|
|
38
38
|
let env;
|
|
39
39
|
if ("env" in entry && entry.env !== undefined) {
|
|
40
40
|
if (typeof entry.env !== "object" || entry.env === null || Array.isArray(entry.env)) {
|
|
41
|
-
throw new ValidationError(`--mcp-
|
|
41
|
+
throw new ValidationError(`--mcp-servers entry "${name}".env must be an object of string values`);
|
|
42
42
|
}
|
|
43
43
|
env = {};
|
|
44
44
|
for (const [envKey, envValue] of Object.entries(entry.env)) {
|
|
45
45
|
if (typeof envValue !== "string") {
|
|
46
|
-
throw new ValidationError(`--mcp-
|
|
46
|
+
throw new ValidationError(`--mcp-servers entry "${name}".env must be an object of string values`);
|
|
47
47
|
}
|
|
48
48
|
env[envKey] = envValue;
|
|
49
49
|
}
|
|
@@ -74,12 +74,13 @@ export function createPoeAgentProgram() {
|
|
|
74
74
|
.option("--model <model>", "Model identifier override")
|
|
75
75
|
.option("-C, --cwd <path>", "Working directory for the agent")
|
|
76
76
|
.option("--stdin", "Read the prompt from stdin")
|
|
77
|
-
.option("--mcp-
|
|
77
|
+
.option("--mcp-servers <json>", "MCP server config JSON: {name: {command, args?, env?}}")
|
|
78
|
+
.option("--mcp-config <json>", "[deprecated: use --mcp-servers]")
|
|
78
79
|
.argument("[prompt]", "Prompt text to send (or '-' / stdin)")
|
|
79
80
|
.argument("[args...]", "Additional arguments forwarded to the agent")
|
|
80
81
|
.action(async function (promptText, _args = []) {
|
|
81
82
|
const commandOptions = this.opts();
|
|
82
|
-
const mcpServers = parseMcpSpawnConfig(commandOptions.mcpConfig);
|
|
83
|
+
const mcpServers = parseMcpSpawnConfig(commandOptions.mcpServers ?? commandOptions.mcpConfig);
|
|
83
84
|
const cwdOverride = resolveWorkingDirectory(process.cwd(), commandOptions.cwd);
|
|
84
85
|
const wantsStdinFlag = commandOptions.stdin === true;
|
|
85
86
|
const shouldReadFromStdin = wantsStdinFlag ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poe-agent-main.js","sourceRoot":"","sources":["../../src/cli/poe-agent-main.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAuB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CACvB
|
|
1
|
+
{"version":3,"file":"poe-agent-main.js","sourceRoot":"","sources":["../../src/cli/poe-agent-main.ts"],"names":[],"mappings":"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"}
|