poe-code 3.0.208 → 3.0.210
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/dist/cli/commands/shared.js +3 -2
- package/dist/cli/commands/shared.js.map +1 -1
- package/dist/index.js +314 -23
- package/dist/index.js.map +4 -4
- package/dist/providers/claude-code.js +45 -11
- package/dist/providers/claude-code.js.map +2 -2
- package/dist/providers/codex.js +45 -11
- package/dist/providers/codex.js.map +2 -2
- package/dist/providers/goose.js +19 -5
- package/dist/providers/goose.js.map +2 -2
- package/dist/providers/kimi.js +45 -11
- package/dist/providers/kimi.js.map +2 -2
- package/dist/providers/opencode.js +45 -11
- package/dist/providers/opencode.js.map +2 -2
- package/dist/providers/poe-agent.js +64 -11
- package/dist/providers/poe-agent.js.map +3 -3
- package/dist/providers/spawn-options.d.ts +1 -0
- package/dist/sdk/spawn-core.d.ts +2 -0
- package/dist/sdk/spawn-core.js +1 -0
- package/dist/sdk/spawn-core.js.map +1 -1
- package/dist/sdk/spawn.js +5 -0
- package/dist/sdk/spawn.js.map +1 -1
- package/dist/sdk/types.d.ts +2 -0
- package/package.json +1 -1
- package/packages/memory/dist/index.js +45 -11
- package/packages/memory/dist/index.js.map +2 -2
|
@@ -135,7 +135,7 @@ export function formatServiceList(names) {
|
|
|
135
135
|
}
|
|
136
136
|
export function buildResumeCommand(canonicalService, threadId, cwd) {
|
|
137
137
|
const spawnConfig = getSpawnConfig(canonicalService);
|
|
138
|
-
if (spawnConfig?.kind !== "cli" || !spawnConfig.
|
|
138
|
+
if (spawnConfig?.kind !== "cli" || !spawnConfig.resume) {
|
|
139
139
|
return undefined;
|
|
140
140
|
}
|
|
141
141
|
const resolvedId = resolveAgentId(canonicalService) ?? canonicalService;
|
|
@@ -145,7 +145,8 @@ export function buildResumeCommand(canonicalService, threadId, cwd) {
|
|
|
145
145
|
return undefined;
|
|
146
146
|
}
|
|
147
147
|
const resumeCwd = path.resolve(cwd);
|
|
148
|
-
const
|
|
148
|
+
const composer = spawnConfig.resume.hintArgs ?? spawnConfig.resume.args;
|
|
149
|
+
const args = composer(threadId, resumeCwd);
|
|
149
150
|
const agentCommand = [binaryName, ...args.map(shlexQuote)].join(" ");
|
|
150
151
|
const needsCdPrefix = !args.includes(resumeCwd);
|
|
151
152
|
return needsCdPrefix
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/commands/shared.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/commands/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7950,7 +7950,9 @@ var init_claude_code2 = __esm({
|
|
|
7950
7950
|
interactive: {
|
|
7951
7951
|
defaultArgs: []
|
|
7952
7952
|
},
|
|
7953
|
-
|
|
7953
|
+
resume: {
|
|
7954
|
+
args: (threadId) => ["--resume", threadId]
|
|
7955
|
+
}
|
|
7954
7956
|
};
|
|
7955
7957
|
}
|
|
7956
7958
|
});
|
|
@@ -7984,7 +7986,11 @@ var init_codex2 = __esm({
|
|
|
7984
7986
|
interactive: {
|
|
7985
7987
|
defaultArgs: ["-a", "never"]
|
|
7986
7988
|
},
|
|
7987
|
-
|
|
7989
|
+
resume: {
|
|
7990
|
+
args: (threadId) => ["resume", threadId],
|
|
7991
|
+
position: "beforePrompt",
|
|
7992
|
+
hintArgs: (threadId, cwd) => ["resume", "-C", cwd, threadId]
|
|
7993
|
+
}
|
|
7988
7994
|
};
|
|
7989
7995
|
}
|
|
7990
7996
|
});
|
|
@@ -8018,7 +8024,10 @@ var init_opencode2 = __esm({
|
|
|
8018
8024
|
defaultArgs: [],
|
|
8019
8025
|
promptFlag: "--prompt"
|
|
8020
8026
|
},
|
|
8021
|
-
|
|
8027
|
+
resume: {
|
|
8028
|
+
args: (threadId) => ["--session", threadId],
|
|
8029
|
+
hintArgs: (threadId, cwd) => [cwd, "--session", threadId]
|
|
8030
|
+
},
|
|
8022
8031
|
mcpEnv: serializeOpenCodeMcpEnv
|
|
8023
8032
|
};
|
|
8024
8033
|
openCodeAcpSpawnConfig = {
|
|
@@ -8061,7 +8070,9 @@ var init_kimi2 = __esm({
|
|
|
8061
8070
|
defaultArgs: [],
|
|
8062
8071
|
promptFlag: "-p"
|
|
8063
8072
|
},
|
|
8064
|
-
|
|
8073
|
+
resume: {
|
|
8074
|
+
args: (threadId, cwd) => ["--session", threadId, "--work-dir", cwd]
|
|
8075
|
+
}
|
|
8065
8076
|
};
|
|
8066
8077
|
kimiAcpSpawnConfig = {
|
|
8067
8078
|
kind: "acp",
|
|
@@ -8102,7 +8113,10 @@ var init_goose2 = __esm({
|
|
|
8102
8113
|
defaultArgs: ["session"],
|
|
8103
8114
|
defaultArgsPosition: "beforePrompt"
|
|
8104
8115
|
},
|
|
8105
|
-
|
|
8116
|
+
resume: {
|
|
8117
|
+
args: (threadId) => ["--resume", "--session-id", threadId],
|
|
8118
|
+
hintArgs: (threadId) => ["run", "--resume", "--session-id", threadId, "--text", "continue"]
|
|
8119
|
+
}
|
|
8106
8120
|
};
|
|
8107
8121
|
gooseAcpSpawnConfig = {
|
|
8108
8122
|
kind: "acp",
|
|
@@ -8289,8 +8303,10 @@ function getMcpArgsPosition(config) {
|
|
|
8289
8303
|
}
|
|
8290
8304
|
function buildCliArgs(config, options, stdinMode) {
|
|
8291
8305
|
const mcpArgs = getMcpArgs(config, options.mcpServers);
|
|
8306
|
+
const resumeArgs = getResumeArgs(config, options);
|
|
8292
8307
|
const defaultArgsPosition = getDefaultArgsPosition(config);
|
|
8293
8308
|
const mcpArgsPosition = getMcpArgsPosition(config);
|
|
8309
|
+
const resumeArgsPosition = config.resume?.position ?? "afterPrompt";
|
|
8294
8310
|
const args = [];
|
|
8295
8311
|
if (mcpArgsPosition === "beforeCommand") {
|
|
8296
8312
|
args.push(...mcpArgs);
|
|
@@ -8302,13 +8318,17 @@ function buildCliArgs(config, options, stdinMode) {
|
|
|
8302
8318
|
args.push(...mcpArgs);
|
|
8303
8319
|
}
|
|
8304
8320
|
if (stdinMode) {
|
|
8305
|
-
args.push(
|
|
8306
|
-
|
|
8307
|
-
...
|
|
8308
|
-
|
|
8309
|
-
);
|
|
8321
|
+
args.push(config.promptFlag);
|
|
8322
|
+
if (resumeArgsPosition === "beforePrompt") {
|
|
8323
|
+
args.push(...resumeArgs);
|
|
8324
|
+
}
|
|
8325
|
+
args.push(...stdinMode.omitPrompt ? [] : [options.prompt], ...stdinMode.extraArgs);
|
|
8310
8326
|
} else {
|
|
8311
|
-
args.push(config.promptFlag
|
|
8327
|
+
args.push(config.promptFlag);
|
|
8328
|
+
if (resumeArgsPosition === "beforePrompt") {
|
|
8329
|
+
args.push(...resumeArgs);
|
|
8330
|
+
}
|
|
8331
|
+
args.push(options.prompt);
|
|
8312
8332
|
}
|
|
8313
8333
|
if (options.model && config.modelFlag) {
|
|
8314
8334
|
let model = config.modelStripProviderPrefix ? stripModelNamespace(options.model) : options.model;
|
|
@@ -8324,10 +8344,24 @@ function buildCliArgs(config, options, stdinMode) {
|
|
|
8324
8344
|
const mode = resolveModeConfig(config.modes[options.mode ?? "yolo"]);
|
|
8325
8345
|
args.push(...mode.args);
|
|
8326
8346
|
if (options.args && options.args.length > 0) {
|
|
8347
|
+
if (resumeArgsPosition === "afterPrompt") {
|
|
8348
|
+
args.push(...resumeArgs);
|
|
8349
|
+
}
|
|
8327
8350
|
args.push(...options.args);
|
|
8351
|
+
} else if (resumeArgsPosition === "afterPrompt") {
|
|
8352
|
+
args.push(...resumeArgs);
|
|
8328
8353
|
}
|
|
8329
8354
|
return { args, env: mode.env };
|
|
8330
8355
|
}
|
|
8356
|
+
function getResumeArgs(config, options) {
|
|
8357
|
+
if (!options.resumeThreadId) {
|
|
8358
|
+
return [];
|
|
8359
|
+
}
|
|
8360
|
+
if (!config.resume) {
|
|
8361
|
+
throw new Error(`Agent "${config.agentId}" does not support resumeThreadId.`);
|
|
8362
|
+
}
|
|
8363
|
+
return config.resume.args(options.resumeThreadId, options.cwd ?? process.cwd());
|
|
8364
|
+
}
|
|
8331
8365
|
function buildSpawnArgs(agentId, options) {
|
|
8332
8366
|
const { binaryName, spawnConfig } = resolveCliConfig(agentId);
|
|
8333
8367
|
const stdinMode = options.useStdin && spawnConfig.stdinMode ? spawnConfig.stdinMode : void 0;
|
|
@@ -8476,15 +8510,29 @@ async function spawnInteractive(agentId, options) {
|
|
|
8476
8510
|
}
|
|
8477
8511
|
const { interactive } = spawnConfig;
|
|
8478
8512
|
const args = [];
|
|
8513
|
+
if (options.resumeThreadId && !spawnConfig.resume) {
|
|
8514
|
+
throw new Error(`Agent "${resolved.agentId}" does not support resumeThreadId.`);
|
|
8515
|
+
}
|
|
8516
|
+
const resumeArgs = options.resumeThreadId ? spawnConfig.resume.args(options.resumeThreadId, options.cwd ?? process.cwd()) : [];
|
|
8517
|
+
const resumeArgsPosition = spawnConfig.resume?.position ?? "afterPrompt";
|
|
8479
8518
|
if (interactive.defaultArgsPosition === "beforePrompt") {
|
|
8480
8519
|
args.push(...interactive.defaultArgs);
|
|
8481
8520
|
}
|
|
8482
8521
|
if (options.prompt) {
|
|
8483
8522
|
if (interactive.promptFlag) {
|
|
8484
|
-
args.push(interactive.promptFlag
|
|
8523
|
+
args.push(interactive.promptFlag);
|
|
8524
|
+
if (resumeArgsPosition === "beforePrompt") {
|
|
8525
|
+
args.push(...resumeArgs);
|
|
8526
|
+
}
|
|
8527
|
+
args.push(options.prompt);
|
|
8485
8528
|
} else {
|
|
8529
|
+
if (resumeArgsPosition === "beforePrompt") {
|
|
8530
|
+
args.push(...resumeArgs);
|
|
8531
|
+
}
|
|
8486
8532
|
args.push(options.prompt);
|
|
8487
8533
|
}
|
|
8534
|
+
} else if (resumeArgsPosition === "beforePrompt") {
|
|
8535
|
+
args.push(...resumeArgs);
|
|
8488
8536
|
}
|
|
8489
8537
|
if (options.model && spawnConfig.modelFlag) {
|
|
8490
8538
|
let model = spawnConfig.modelStripProviderPrefix ? stripModelNamespace(options.model) : options.model;
|
|
@@ -8497,6 +8545,9 @@ async function spawnInteractive(agentId, options) {
|
|
|
8497
8545
|
args.push(...getMcpArgs(spawnConfig, options.mcpServers));
|
|
8498
8546
|
const modeResolved = resolveModeConfig(spawnConfig.modes[options.mode ?? "yolo"]);
|
|
8499
8547
|
args.push(...modeResolved.args);
|
|
8548
|
+
if (resumeArgsPosition === "afterPrompt") {
|
|
8549
|
+
args.push(...resumeArgs);
|
|
8550
|
+
}
|
|
8500
8551
|
if (options.args && options.args.length > 0) {
|
|
8501
8552
|
args.push(...options.args);
|
|
8502
8553
|
}
|
|
@@ -17838,6 +17889,15 @@ function getMcpArgsPosition2(config) {
|
|
|
17838
17889
|
}
|
|
17839
17890
|
return config.mcpArgsBeforeCommand ? "beforeCommand" : "afterCommand";
|
|
17840
17891
|
}
|
|
17892
|
+
function getResumeArgs2(config, options) {
|
|
17893
|
+
if (!options.resumeThreadId) {
|
|
17894
|
+
return [];
|
|
17895
|
+
}
|
|
17896
|
+
if (!config.resume) {
|
|
17897
|
+
throw new Error(`Agent "${config.agentId}" does not support resumeThreadId.`);
|
|
17898
|
+
}
|
|
17899
|
+
return config.resume.args(options.resumeThreadId, options.cwd ?? process.cwd());
|
|
17900
|
+
}
|
|
17841
17901
|
function spawnStreaming(options) {
|
|
17842
17902
|
if (options.signal?.aborted) {
|
|
17843
17903
|
throw createAbortError4();
|
|
@@ -17854,8 +17914,10 @@ function spawnStreaming(options) {
|
|
|
17854
17914
|
}
|
|
17855
17915
|
const mcpArgs = getMcpArgs(spawnConfig, options.mcpServers);
|
|
17856
17916
|
const mcpEnvVars = getMcpEnv(spawnConfig, options.mcpServers);
|
|
17917
|
+
const resumeArgs = getResumeArgs2(spawnConfig, options);
|
|
17857
17918
|
const defaultArgsPosition = getDefaultArgsPosition2(spawnConfig);
|
|
17858
17919
|
const mcpArgsPosition = getMcpArgsPosition2(spawnConfig);
|
|
17920
|
+
const resumeArgsPosition = spawnConfig.resume?.position ?? "afterPrompt";
|
|
17859
17921
|
const args = [];
|
|
17860
17922
|
if (mcpArgsPosition === "beforeCommand") {
|
|
17861
17923
|
args.push(...mcpArgs);
|
|
@@ -17867,6 +17929,9 @@ function spawnStreaming(options) {
|
|
|
17867
17929
|
args.push(...mcpArgs);
|
|
17868
17930
|
}
|
|
17869
17931
|
args.push(spawnConfig.promptFlag);
|
|
17932
|
+
if (resumeArgsPosition === "beforePrompt") {
|
|
17933
|
+
args.push(...resumeArgs);
|
|
17934
|
+
}
|
|
17870
17935
|
const useStdin = !!options.useStdin && !!spawnConfig.stdinMode;
|
|
17871
17936
|
if (!useStdin || !spawnConfig.stdinMode?.omitPrompt) {
|
|
17872
17937
|
args.push(options.prompt);
|
|
@@ -17888,7 +17953,12 @@ function spawnStreaming(options) {
|
|
|
17888
17953
|
args.push(...spawnConfig.stdinMode.extraArgs);
|
|
17889
17954
|
}
|
|
17890
17955
|
if (options.args && options.args.length > 0) {
|
|
17956
|
+
if (resumeArgsPosition === "afterPrompt") {
|
|
17957
|
+
args.push(...resumeArgs);
|
|
17958
|
+
}
|
|
17891
17959
|
args.push(...options.args);
|
|
17960
|
+
} else if (resumeArgsPosition === "afterPrompt") {
|
|
17961
|
+
args.push(...resumeArgs);
|
|
17892
17962
|
}
|
|
17893
17963
|
const envOverrides = { ...mcpEnvVars, ...modeResolved.env };
|
|
17894
17964
|
const processEnv = Object.keys(envOverrides).length > 0 ? { ...process.env, ...envOverrides } : void 0;
|
|
@@ -18072,8 +18142,15 @@ function spawnAcp(options) {
|
|
|
18072
18142
|
if (initResult.authMethods && initResult.authMethods.length > 0 && client.state !== "ready") {
|
|
18073
18143
|
await client.authenticate(initResult.authMethods[0].id);
|
|
18074
18144
|
}
|
|
18075
|
-
const
|
|
18076
|
-
|
|
18145
|
+
const cwd = options.cwd ?? process.cwd();
|
|
18146
|
+
const mcpServers = toAcpMcpServers(options.mcpServers);
|
|
18147
|
+
if (options.resumeThreadId) {
|
|
18148
|
+
await client.loadSession(options.resumeThreadId, cwd, mcpServers);
|
|
18149
|
+
sessionId = options.resumeThreadId;
|
|
18150
|
+
} else {
|
|
18151
|
+
const session = await client.newSession(cwd, mcpServers);
|
|
18152
|
+
sessionId = session.sessionId;
|
|
18153
|
+
}
|
|
18077
18154
|
pushEvent({ event: "session_start", threadId: sessionId });
|
|
18078
18155
|
const turn = client.prompt(sessionId, [{ type: "text", text: options.prompt }]);
|
|
18079
18156
|
for await (const notification of turn) {
|
|
@@ -34548,7 +34625,7 @@ function formatServiceList(names) {
|
|
|
34548
34625
|
}
|
|
34549
34626
|
function buildResumeCommand(canonicalService, threadId, cwd) {
|
|
34550
34627
|
const spawnConfig = getSpawnConfig(canonicalService);
|
|
34551
|
-
if (spawnConfig?.kind !== "cli" || !spawnConfig.
|
|
34628
|
+
if (spawnConfig?.kind !== "cli" || !spawnConfig.resume) {
|
|
34552
34629
|
return void 0;
|
|
34553
34630
|
}
|
|
34554
34631
|
const resolvedId = resolveAgentId(canonicalService) ?? canonicalService;
|
|
@@ -34558,7 +34635,8 @@ function buildResumeCommand(canonicalService, threadId, cwd) {
|
|
|
34558
34635
|
return void 0;
|
|
34559
34636
|
}
|
|
34560
34637
|
const resumeCwd = path42.resolve(cwd);
|
|
34561
|
-
const
|
|
34638
|
+
const composer = spawnConfig.resume.hintArgs ?? spawnConfig.resume.args;
|
|
34639
|
+
const args = composer(threadId, resumeCwd);
|
|
34562
34640
|
const agentCommand = [binaryName, ...args.map(shlexQuote)].join(" ");
|
|
34563
34641
|
const needsCdPrefix = !args.includes(resumeCwd);
|
|
34564
34642
|
return needsCdPrefix ? `cd ${shlexQuote(resumeCwd)} && ${agentCommand}` : agentCommand;
|
|
@@ -35059,6 +35137,7 @@ async function spawnCore(container, service, options, flags = { dryRun: false, v
|
|
|
35059
35137
|
model,
|
|
35060
35138
|
mode: options.mode,
|
|
35061
35139
|
mcpServers: options.mcpServers,
|
|
35140
|
+
resumeThreadId: options.resumeThreadId,
|
|
35062
35141
|
cwd: cwdOverride,
|
|
35063
35142
|
useStdin: options.useStdin ?? false
|
|
35064
35143
|
};
|
|
@@ -35457,6 +35536,212 @@ var init_check_auth = __esm({
|
|
|
35457
35536
|
}
|
|
35458
35537
|
});
|
|
35459
35538
|
|
|
35539
|
+
// packages/poe-oauth/src/authorization-state.ts
|
|
35540
|
+
import crypto5 from "node:crypto";
|
|
35541
|
+
function parseAuthorizationState2(value) {
|
|
35542
|
+
if (value === null || value.length === 0) {
|
|
35543
|
+
return null;
|
|
35544
|
+
}
|
|
35545
|
+
try {
|
|
35546
|
+
const decoded = Buffer.from(value, "base64url").toString("utf8");
|
|
35547
|
+
const parsed = JSON.parse(decoded);
|
|
35548
|
+
if (parsed.v !== 1 || typeof parsed.n !== "string" || parsed.n.length === 0 || typeof parsed.i !== "string" || parsed.i.length === 0 || typeof parsed.r !== "boolean") {
|
|
35549
|
+
return null;
|
|
35550
|
+
}
|
|
35551
|
+
return {
|
|
35552
|
+
issuer: parsed.i,
|
|
35553
|
+
requireIssuer: parsed.r
|
|
35554
|
+
};
|
|
35555
|
+
} catch {
|
|
35556
|
+
return null;
|
|
35557
|
+
}
|
|
35558
|
+
}
|
|
35559
|
+
var init_authorization_state2 = __esm({
|
|
35560
|
+
"packages/poe-oauth/src/authorization-state.ts"() {
|
|
35561
|
+
"use strict";
|
|
35562
|
+
}
|
|
35563
|
+
});
|
|
35564
|
+
|
|
35565
|
+
// packages/poe-oauth/src/loopback-authorization.ts
|
|
35566
|
+
import http2 from "node:http";
|
|
35567
|
+
async function createLoopbackAuthorizationSession2(options = {}) {
|
|
35568
|
+
const callbackPath = options.callbackPath ?? "/callback";
|
|
35569
|
+
const server = options.createServer ? options.createServer() : http2.createServer();
|
|
35570
|
+
const port = await startServer2(server);
|
|
35571
|
+
const redirectUri = `http://127.0.0.1:${port}${callbackPath}`;
|
|
35572
|
+
return {
|
|
35573
|
+
redirectUri,
|
|
35574
|
+
async waitForCode(authorizationUrl) {
|
|
35575
|
+
return waitForAuthorizationCode2(server, authorizationUrl, options, callbackPath);
|
|
35576
|
+
},
|
|
35577
|
+
close() {
|
|
35578
|
+
server.closeAllConnections?.();
|
|
35579
|
+
server.close();
|
|
35580
|
+
}
|
|
35581
|
+
};
|
|
35582
|
+
}
|
|
35583
|
+
async function startServer2(server) {
|
|
35584
|
+
return new Promise((resolve2) => {
|
|
35585
|
+
server.listen(0, "127.0.0.1", () => {
|
|
35586
|
+
const address = server.address();
|
|
35587
|
+
resolve2(address.port);
|
|
35588
|
+
});
|
|
35589
|
+
});
|
|
35590
|
+
}
|
|
35591
|
+
function waitForAuthorizationCode2(server, authorizationUrl, options, callbackPath) {
|
|
35592
|
+
const expectedAuthorization = readExpectedAuthorizationCallback2(authorizationUrl);
|
|
35593
|
+
return new Promise((resolve2, reject) => {
|
|
35594
|
+
let settled = false;
|
|
35595
|
+
const settle = (fn) => {
|
|
35596
|
+
if (!settled) {
|
|
35597
|
+
settled = true;
|
|
35598
|
+
fn();
|
|
35599
|
+
}
|
|
35600
|
+
};
|
|
35601
|
+
server.on("request", (req, res) => {
|
|
35602
|
+
const url = new URL(req.url ?? "/", "http://127.0.0.1");
|
|
35603
|
+
if (url.pathname !== callbackPath) {
|
|
35604
|
+
res.writeHead(404);
|
|
35605
|
+
res.end("Not found");
|
|
35606
|
+
return;
|
|
35607
|
+
}
|
|
35608
|
+
const error2 = url.searchParams.get("error");
|
|
35609
|
+
if (error2 !== null) {
|
|
35610
|
+
const description = url.searchParams.get("error_description") ?? error2;
|
|
35611
|
+
res.writeHead(400);
|
|
35612
|
+
res.end(`Authorization failed: ${description}`);
|
|
35613
|
+
settle(() => reject(new Error(`OAuth authorization failed: ${error2} \u2014 ${description}`)));
|
|
35614
|
+
return;
|
|
35615
|
+
}
|
|
35616
|
+
try {
|
|
35617
|
+
const code = validateAuthorizationCallbackParameters2({
|
|
35618
|
+
code: url.searchParams.get("code"),
|
|
35619
|
+
state: url.searchParams.get("state"),
|
|
35620
|
+
iss: url.searchParams.get("iss")
|
|
35621
|
+
}, expectedAuthorization);
|
|
35622
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
35623
|
+
res.end(buildSuccessPage2(options.landingPage));
|
|
35624
|
+
settle(() => resolve2(code));
|
|
35625
|
+
} catch (error3) {
|
|
35626
|
+
res.writeHead(400);
|
|
35627
|
+
res.end(error3 instanceof Error ? error3.message : "Invalid OAuth callback");
|
|
35628
|
+
settle(() => reject(error3 instanceof Error ? error3 : new Error(String(error3))));
|
|
35629
|
+
}
|
|
35630
|
+
});
|
|
35631
|
+
if (options.readLine !== void 0) {
|
|
35632
|
+
options.readLine().then((input) => {
|
|
35633
|
+
const callbackParameters = extractCallbackParametersFromInput2(input);
|
|
35634
|
+
if (callbackParameters === null) {
|
|
35635
|
+
settle(() => reject(new Error("OAuth callback missing authorization code")));
|
|
35636
|
+
return;
|
|
35637
|
+
}
|
|
35638
|
+
try {
|
|
35639
|
+
const code = validateAuthorizationCallbackParameters2(
|
|
35640
|
+
callbackParameters,
|
|
35641
|
+
expectedAuthorization
|
|
35642
|
+
);
|
|
35643
|
+
settle(() => resolve2(code));
|
|
35644
|
+
} catch (error2) {
|
|
35645
|
+
settle(() => reject(error2 instanceof Error ? error2 : new Error(String(error2))));
|
|
35646
|
+
}
|
|
35647
|
+
}).catch(() => void 0);
|
|
35648
|
+
}
|
|
35649
|
+
if (options.openBrowser !== void 0) {
|
|
35650
|
+
options.openBrowser(authorizationUrl).catch((error2) => {
|
|
35651
|
+
settle(() => reject(error2));
|
|
35652
|
+
});
|
|
35653
|
+
}
|
|
35654
|
+
});
|
|
35655
|
+
}
|
|
35656
|
+
function extractCallbackParametersFromInput2(input) {
|
|
35657
|
+
const trimmed = input.replaceAll("\r", "").replaceAll("\n", "").trim();
|
|
35658
|
+
if (trimmed.length === 0) {
|
|
35659
|
+
return null;
|
|
35660
|
+
}
|
|
35661
|
+
try {
|
|
35662
|
+
const url = new URL(trimmed);
|
|
35663
|
+
return {
|
|
35664
|
+
code: url.searchParams.get("code"),
|
|
35665
|
+
state: url.searchParams.get("state"),
|
|
35666
|
+
iss: url.searchParams.get("iss")
|
|
35667
|
+
};
|
|
35668
|
+
} catch {
|
|
35669
|
+
return {
|
|
35670
|
+
code: trimmed,
|
|
35671
|
+
state: null,
|
|
35672
|
+
iss: null
|
|
35673
|
+
};
|
|
35674
|
+
}
|
|
35675
|
+
}
|
|
35676
|
+
function readExpectedAuthorizationCallback2(authorizationUrl) {
|
|
35677
|
+
const url = new URL(authorizationUrl);
|
|
35678
|
+
const state = url.searchParams.get("state");
|
|
35679
|
+
const parsedState = parseAuthorizationState2(state);
|
|
35680
|
+
return {
|
|
35681
|
+
state,
|
|
35682
|
+
issuer: parsedState?.issuer ?? null,
|
|
35683
|
+
requireIssuer: parsedState?.requireIssuer ?? false
|
|
35684
|
+
};
|
|
35685
|
+
}
|
|
35686
|
+
function validateAuthorizationCallbackParameters2(callback, expected) {
|
|
35687
|
+
if (callback.code === null || callback.code.length === 0) {
|
|
35688
|
+
throw new Error("OAuth callback missing authorization code");
|
|
35689
|
+
}
|
|
35690
|
+
if (expected.state !== null) {
|
|
35691
|
+
if (callback.state === null || callback.state.length === 0) {
|
|
35692
|
+
throw new Error("OAuth callback missing state");
|
|
35693
|
+
}
|
|
35694
|
+
if (callback.state !== expected.state) {
|
|
35695
|
+
throw new Error("OAuth callback state mismatch");
|
|
35696
|
+
}
|
|
35697
|
+
}
|
|
35698
|
+
if (expected.requireIssuer) {
|
|
35699
|
+
if (callback.iss === null || callback.iss.length === 0) {
|
|
35700
|
+
throw new Error("OAuth callback missing issuer");
|
|
35701
|
+
}
|
|
35702
|
+
}
|
|
35703
|
+
if (callback.iss !== null && callback.iss.length > 0 && expected.issuer !== null && callback.iss !== expected.issuer) {
|
|
35704
|
+
throw new Error("OAuth callback issuer mismatch");
|
|
35705
|
+
}
|
|
35706
|
+
return callback.code;
|
|
35707
|
+
}
|
|
35708
|
+
function escapeHtml2(text5) {
|
|
35709
|
+
return text5.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """);
|
|
35710
|
+
}
|
|
35711
|
+
function buildSuccessPage2(landingPage) {
|
|
35712
|
+
const title = landingPage?.title ?? "Connected";
|
|
35713
|
+
const body = landingPage?.body ?? "You can close this tab and return to your terminal.";
|
|
35714
|
+
return [
|
|
35715
|
+
"<!DOCTYPE html>",
|
|
35716
|
+
`<html><head><meta charset=utf-8><title>${escapeHtml2(title)}</title></head>`,
|
|
35717
|
+
'<body style="font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0">',
|
|
35718
|
+
'<div style="text-align:center">',
|
|
35719
|
+
`<h1>${escapeHtml2(title)}</h1>`,
|
|
35720
|
+
`<p style="color:#666">${escapeHtml2(body)}</p>`,
|
|
35721
|
+
"</div></body></html>"
|
|
35722
|
+
].join("");
|
|
35723
|
+
}
|
|
35724
|
+
var init_loopback_authorization2 = __esm({
|
|
35725
|
+
"packages/poe-oauth/src/loopback-authorization.ts"() {
|
|
35726
|
+
"use strict";
|
|
35727
|
+
init_authorization_state2();
|
|
35728
|
+
}
|
|
35729
|
+
});
|
|
35730
|
+
|
|
35731
|
+
// packages/poe-oauth/src/pkce.ts
|
|
35732
|
+
import crypto6 from "node:crypto";
|
|
35733
|
+
function generateCodeVerifier2() {
|
|
35734
|
+
return crypto6.randomBytes(32).toString("base64url");
|
|
35735
|
+
}
|
|
35736
|
+
function generateCodeChallenge2(verifier) {
|
|
35737
|
+
return crypto6.createHash("sha256").update(verifier).digest("base64url");
|
|
35738
|
+
}
|
|
35739
|
+
var init_pkce2 = __esm({
|
|
35740
|
+
"packages/poe-oauth/src/pkce.ts"() {
|
|
35741
|
+
"use strict";
|
|
35742
|
+
}
|
|
35743
|
+
});
|
|
35744
|
+
|
|
35460
35745
|
// packages/poe-oauth/src/oauth-client.ts
|
|
35461
35746
|
function createOAuthClient(config) {
|
|
35462
35747
|
const fetchFn = config.fetch ?? globalThis.fetch;
|
|
@@ -35464,15 +35749,15 @@ function createOAuthClient(config) {
|
|
|
35464
35749
|
authorize: () => startAuthorization(config, fetchFn)
|
|
35465
35750
|
};
|
|
35466
35751
|
}
|
|
35467
|
-
function
|
|
35468
|
-
return
|
|
35752
|
+
function generateCodeVerifier3() {
|
|
35753
|
+
return generateCodeVerifier2();
|
|
35469
35754
|
}
|
|
35470
35755
|
async function startAuthorization(config, fetchFn) {
|
|
35471
35756
|
const authorizationEndpoint = config.authorizationEndpoint ?? DEFAULT_AUTHORIZATION_ENDPOINT;
|
|
35472
35757
|
const tokenEndpoint = config.tokenEndpoint ?? DEFAULT_TOKEN_ENDPOINT;
|
|
35473
|
-
const codeVerifier =
|
|
35474
|
-
const codeChallenge =
|
|
35475
|
-
const loopbackSession = await
|
|
35758
|
+
const codeVerifier = generateCodeVerifier3();
|
|
35759
|
+
const codeChallenge = generateCodeChallenge2(codeVerifier);
|
|
35760
|
+
const loopbackSession = await createLoopbackAuthorizationSession2({
|
|
35476
35761
|
openBrowser: config.openBrowser,
|
|
35477
35762
|
readLine: config.readLine,
|
|
35478
35763
|
createServer: config.createServer,
|
|
@@ -35559,7 +35844,8 @@ var DEFAULT_AUTHORIZATION_ENDPOINT, DEFAULT_TOKEN_ENDPOINT;
|
|
|
35559
35844
|
var init_oauth_client = __esm({
|
|
35560
35845
|
"packages/poe-oauth/src/oauth-client.ts"() {
|
|
35561
35846
|
"use strict";
|
|
35562
|
-
|
|
35847
|
+
init_loopback_authorization2();
|
|
35848
|
+
init_pkce2();
|
|
35563
35849
|
DEFAULT_AUTHORIZATION_ENDPOINT = "https://poe.com/oauth/authorize";
|
|
35564
35850
|
DEFAULT_TOKEN_ENDPOINT = "https://api.poe.com/token";
|
|
35565
35851
|
}
|
|
@@ -36934,6 +37220,7 @@ function spawn8(service, promptOrOptions, maybeOptions) {
|
|
|
36934
37220
|
mode: options.mode,
|
|
36935
37221
|
signal: options.signal,
|
|
36936
37222
|
args: options.args,
|
|
37223
|
+
resumeThreadId: options.resumeThreadId,
|
|
36937
37224
|
runtimeConfigCwd: options.runtimeConfigCwd,
|
|
36938
37225
|
...runtimeOverrides,
|
|
36939
37226
|
...resolvedMcpServers ? { mcpServers: resolvedMcpServers } : {}
|
|
@@ -36955,6 +37242,7 @@ function spawn8(service, promptOrOptions, maybeOptions) {
|
|
|
36955
37242
|
model: model2,
|
|
36956
37243
|
mode: options.mode,
|
|
36957
37244
|
mcpServers: options.mcpServers,
|
|
37245
|
+
resumeThreadId: options.resumeThreadId,
|
|
36958
37246
|
signal: options.signal,
|
|
36959
37247
|
...runtimeOverrides
|
|
36960
37248
|
});
|
|
@@ -37000,6 +37288,7 @@ function spawn8(service, promptOrOptions, maybeOptions) {
|
|
|
37000
37288
|
model: model2,
|
|
37001
37289
|
mode: options.mode,
|
|
37002
37290
|
args: options.args,
|
|
37291
|
+
resumeThreadId: options.resumeThreadId,
|
|
37003
37292
|
signal: options.signal,
|
|
37004
37293
|
runtimeConfigCwd: options.runtimeConfigCwd,
|
|
37005
37294
|
...runtimeOverrides,
|
|
@@ -37049,6 +37338,7 @@ function spawn8(service, promptOrOptions, maybeOptions) {
|
|
|
37049
37338
|
model: model2,
|
|
37050
37339
|
mode: options.mode,
|
|
37051
37340
|
args: options.args,
|
|
37341
|
+
resumeThreadId: options.resumeThreadId,
|
|
37052
37342
|
signal: options.signal,
|
|
37053
37343
|
runtimeConfigCwd: options.runtimeConfigCwd,
|
|
37054
37344
|
...runtimeOverrides,
|
|
@@ -37068,6 +37358,7 @@ function spawn8(service, promptOrOptions, maybeOptions) {
|
|
|
37068
37358
|
model,
|
|
37069
37359
|
mode: options.mode,
|
|
37070
37360
|
args: options.args,
|
|
37361
|
+
resumeThreadId: options.resumeThreadId,
|
|
37071
37362
|
...runtimeOverrides,
|
|
37072
37363
|
...resolvedMcpServers ? { mcpServers: resolvedMcpServers } : {},
|
|
37073
37364
|
useStdin: options.useStdin ?? false
|
|
@@ -81069,7 +81360,7 @@ var init_package2 = __esm({
|
|
|
81069
81360
|
"package.json"() {
|
|
81070
81361
|
package_default2 = {
|
|
81071
81362
|
name: "poe-code",
|
|
81072
|
-
version: "3.0.
|
|
81363
|
+
version: "3.0.210",
|
|
81073
81364
|
description: "CLI tool to configure Poe API for developer workflows.",
|
|
81074
81365
|
type: "module",
|
|
81075
81366
|
main: "./dist/index.js",
|