@junctionpanel/server 0.1.58 → 0.1.60
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/server/server/agent/provider-launch-config.d.ts.map +1 -1
- package/dist/server/server/agent/provider-launch-config.js +6 -39
- package/dist/server/server/agent/provider-launch-config.js.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +40 -15
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/claude-cli-capabilities.d.ts +39 -2
- package/dist/server/server/agent/providers/claude-cli-capabilities.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-cli-capabilities.js +88 -23
- package/dist/server/server/agent/providers/claude-cli-capabilities.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +29 -0
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +64 -34
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/bootstrap.d.ts +2 -10
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/daemon-doctor.d.ts +2 -1
- package/dist/server/server/daemon-doctor.d.ts.map +1 -1
- package/dist/server/server/daemon-doctor.js +70 -13
- package/dist/server/server/daemon-doctor.js.map +1 -1
- package/dist/server/server/daemon-provider-settings.d.ts +3 -9
- package/dist/server/server/daemon-provider-settings.d.ts.map +1 -1
- package/dist/server/server/daemon-provider-settings.js +27 -83
- package/dist/server/server/daemon-provider-settings.js.map +1 -1
- package/dist/server/server/index.js +11 -2
- package/dist/server/server/index.js.map +1 -1
- package/dist/server/server/lifecycle-intent.d.ts +20 -0
- package/dist/server/server/lifecycle-intent.d.ts.map +1 -0
- package/dist/server/server/lifecycle-intent.js +2 -0
- package/dist/server/server/lifecycle-intent.js.map +1 -0
- package/dist/server/server/persisted-config.d.ts +19 -19
- package/dist/server/server/provider-command-resolution.d.ts +33 -0
- package/dist/server/server/provider-command-resolution.d.ts.map +1 -0
- package/dist/server/server/provider-command-resolution.js +198 -0
- package/dist/server/server/provider-command-resolution.js.map +1 -0
- package/dist/server/server/session.d.ts +3 -11
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +8 -0
- package/dist/server/server/session.js.map +1 -1
- package/package.json +3 -3
|
@@ -14,11 +14,21 @@ export type ClaudeThinkingCompatibility = {
|
|
|
14
14
|
message: string;
|
|
15
15
|
};
|
|
16
16
|
type ClaudeQueryFactory = typeof query;
|
|
17
|
-
type
|
|
18
|
-
|
|
17
|
+
export type ClaudeAuthenticationProbe = {
|
|
18
|
+
authenticated: boolean;
|
|
19
|
+
accountEmail: string | null;
|
|
20
|
+
subscriptionType: string | null;
|
|
21
|
+
error: string | null;
|
|
22
|
+
};
|
|
23
|
+
type ClaudeControlDependencies = {
|
|
19
24
|
queryFactory?: ClaudeQueryFactory;
|
|
25
|
+
controlQueryTimeoutMs?: number;
|
|
26
|
+
};
|
|
27
|
+
type DetectClaudeThinkingCompatibilityDependencies = ClaudeControlDependencies & {
|
|
28
|
+
cache?: boolean;
|
|
20
29
|
};
|
|
21
30
|
export declare function getClaudeThinkingCompatibilityCacheKey(input: {
|
|
31
|
+
cwd?: string;
|
|
22
32
|
claudePath: string | null;
|
|
23
33
|
runtimeSettings?: ProviderRuntimeSettings;
|
|
24
34
|
}): string;
|
|
@@ -35,13 +45,40 @@ export declare function buildClaudeControlOptions(params: {
|
|
|
35
45
|
logger: Logger;
|
|
36
46
|
stderr?: (data: string) => void;
|
|
37
47
|
}): ClaudeOptions;
|
|
48
|
+
/**
|
|
49
|
+
* Lists Claude models via a short-lived, non-persistent control query.
|
|
50
|
+
*
|
|
51
|
+
* @param params Control-query execution settings, including optional cwd,
|
|
52
|
+
* resolved Claude executable path, provider runtime settings, and logger.
|
|
53
|
+
* @returns A promise that resolves to the Claude SDK's `ModelInfo[]`.
|
|
54
|
+
*/
|
|
38
55
|
export declare function fetchClaudeSupportedModels(params: {
|
|
39
56
|
cwd?: string;
|
|
40
57
|
claudePath: string | null;
|
|
41
58
|
runtimeSettings?: ProviderRuntimeSettings;
|
|
42
59
|
logger: Logger;
|
|
43
60
|
}): Promise<ModelInfo[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Verifies Claude authentication with a short-lived, non-billable control query.
|
|
63
|
+
*
|
|
64
|
+
* On success, nullable account fields are trimmed before returning. On failure,
|
|
65
|
+
* this helper catches the error and returns `authenticated: false` with a
|
|
66
|
+
* nullable error string instead of throwing.
|
|
67
|
+
*
|
|
68
|
+
* @param params Control-query execution settings, including optional cwd,
|
|
69
|
+
* resolved Claude executable path, provider runtime settings, and logger.
|
|
70
|
+
* @param dependencies Optional test seams for the Claude query factory and
|
|
71
|
+
* control-query timeout.
|
|
72
|
+
* @returns A promise that resolves to a `ClaudeAuthenticationProbe`.
|
|
73
|
+
*/
|
|
74
|
+
export declare function probeClaudeAuthentication(params: {
|
|
75
|
+
cwd?: string;
|
|
76
|
+
claudePath: string | null;
|
|
77
|
+
runtimeSettings?: ProviderRuntimeSettings;
|
|
78
|
+
logger: Logger;
|
|
79
|
+
}, dependencies?: ClaudeControlDependencies): Promise<ClaudeAuthenticationProbe>;
|
|
44
80
|
export declare function detectClaudeThinkingCompatibility(params: {
|
|
81
|
+
cwd?: string;
|
|
45
82
|
claudePath: string | null;
|
|
46
83
|
runtimeSettings?: ProviderRuntimeSettings;
|
|
47
84
|
logger: Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-cli-capabilities.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-cli-capabilities.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,KAAK,SAAS,EACd,KAAK,OAAO,EAEZ,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;AAEpC,MAAM,MAAM,2BAA2B,GACnC;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,KAAK,kBAAkB,GAAG,OAAO,KAAK,CAAC;AAEvC,
|
|
1
|
+
{"version":3,"file":"claude-cli-capabilities.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-cli-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { spawn } from "node:child_process";
|
|
|
3
3
|
import { query, } from "@anthropic-ai/claude-agent-sdk";
|
|
4
4
|
import { applyProviderEnv, } from "../provider-launch-config.js";
|
|
5
5
|
const compatibilityCache = new Map();
|
|
6
|
+
const CLAUDE_CONTROL_QUERY_TIMEOUT_MS = 30000;
|
|
6
7
|
const SAFE_STDIN_ERROR_CODES = new Set(["EPIPE", "ERR_STREAM_DESTROYED"]);
|
|
7
8
|
function summarizeRuntimeSettings(runtimeSettings) {
|
|
8
9
|
return JSON.stringify({
|
|
@@ -46,6 +47,7 @@ function collectCompatibilityFingerprints(input) {
|
|
|
46
47
|
}
|
|
47
48
|
export function getClaudeThinkingCompatibilityCacheKey(input) {
|
|
48
49
|
return JSON.stringify({
|
|
50
|
+
cwd: input.cwd ?? null,
|
|
49
51
|
claudePath: input.claudePath,
|
|
50
52
|
runtimeSettings: summarizeRuntimeSettings(input.runtimeSettings),
|
|
51
53
|
fingerprints: collectCompatibilityFingerprints(input),
|
|
@@ -54,6 +56,7 @@ export function getClaudeThinkingCompatibilityCacheKey(input) {
|
|
|
54
56
|
export function clearClaudeThinkingCompatibilityCacheForTests() {
|
|
55
57
|
compatibilityCache.clear();
|
|
56
58
|
}
|
|
59
|
+
async function* emptyClaudeControlPrompt() { }
|
|
57
60
|
export function resolveClaudeSpawnCommand(spawnOptions, runtimeSettings) {
|
|
58
61
|
const commandConfig = runtimeSettings?.command;
|
|
59
62
|
if (!commandConfig || commandConfig.mode === "default") {
|
|
@@ -109,6 +112,9 @@ export function buildClaudeControlOptions(params) {
|
|
|
109
112
|
...(params.claudePath
|
|
110
113
|
? { pathToClaudeCodeExecutable: params.claudePath }
|
|
111
114
|
: {}),
|
|
115
|
+
persistSession: false,
|
|
116
|
+
tools: [],
|
|
117
|
+
permissionMode: "plan",
|
|
112
118
|
settingSources: ["user", "project"],
|
|
113
119
|
includePartialMessages: false,
|
|
114
120
|
stderr: (data) => {
|
|
@@ -124,6 +130,12 @@ export function buildClaudeControlOptions(params) {
|
|
|
124
130
|
return applyRuntimeSettingsToClaudeOptions(baseOptions, params.runtimeSettings);
|
|
125
131
|
}
|
|
126
132
|
async function teardownControlQuery(controlQuery) {
|
|
133
|
+
try {
|
|
134
|
+
controlQuery.close();
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
// Ignore close errors for short-lived control queries.
|
|
138
|
+
}
|
|
127
139
|
try {
|
|
128
140
|
await Promise.race([
|
|
129
141
|
controlQuery.interrupt(),
|
|
@@ -136,23 +148,85 @@ async function teardownControlQuery(controlQuery) {
|
|
|
136
148
|
// Ignore teardown errors for short-lived control queries.
|
|
137
149
|
}
|
|
138
150
|
}
|
|
139
|
-
|
|
151
|
+
async function withClaudeControlQuery(params, run, dependencies, optionOverrides) {
|
|
140
152
|
const abortController = new AbortController();
|
|
141
|
-
const controlQuery = query({
|
|
142
|
-
prompt:
|
|
153
|
+
const controlQuery = (dependencies?.queryFactory ?? query)({
|
|
154
|
+
prompt: emptyClaudeControlPrompt(),
|
|
143
155
|
options: {
|
|
144
156
|
...buildClaudeControlOptions(params),
|
|
145
157
|
abortController,
|
|
158
|
+
...(optionOverrides ?? {}),
|
|
146
159
|
},
|
|
147
160
|
});
|
|
161
|
+
const timeoutMs = dependencies?.controlQueryTimeoutMs ?? CLAUDE_CONTROL_QUERY_TIMEOUT_MS;
|
|
162
|
+
let timeoutHandle;
|
|
148
163
|
try {
|
|
149
|
-
return await
|
|
164
|
+
return await Promise.race([
|
|
165
|
+
run(controlQuery),
|
|
166
|
+
new Promise((_, reject) => {
|
|
167
|
+
timeoutHandle = setTimeout(() => {
|
|
168
|
+
abortController.abort();
|
|
169
|
+
reject(new Error(`Claude control query timed out after ${timeoutMs}ms.`));
|
|
170
|
+
}, timeoutMs);
|
|
171
|
+
}),
|
|
172
|
+
]);
|
|
150
173
|
}
|
|
151
174
|
finally {
|
|
175
|
+
if (timeoutHandle) {
|
|
176
|
+
clearTimeout(timeoutHandle);
|
|
177
|
+
}
|
|
152
178
|
abortController.abort();
|
|
153
179
|
await teardownControlQuery(controlQuery);
|
|
154
180
|
}
|
|
155
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Lists Claude models via a short-lived, non-persistent control query.
|
|
184
|
+
*
|
|
185
|
+
* @param params Control-query execution settings, including optional cwd,
|
|
186
|
+
* resolved Claude executable path, provider runtime settings, and logger.
|
|
187
|
+
* @returns A promise that resolves to the Claude SDK's `ModelInfo[]`.
|
|
188
|
+
*/
|
|
189
|
+
export async function fetchClaudeSupportedModels(params) {
|
|
190
|
+
return await withClaudeControlQuery(params, async (controlQuery) => await controlQuery.supportedModels());
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Verifies Claude authentication with a short-lived, non-billable control query.
|
|
194
|
+
*
|
|
195
|
+
* On success, nullable account fields are trimmed before returning. On failure,
|
|
196
|
+
* this helper catches the error and returns `authenticated: false` with a
|
|
197
|
+
* nullable error string instead of throwing.
|
|
198
|
+
*
|
|
199
|
+
* @param params Control-query execution settings, including optional cwd,
|
|
200
|
+
* resolved Claude executable path, provider runtime settings, and logger.
|
|
201
|
+
* @param dependencies Optional test seams for the Claude query factory and
|
|
202
|
+
* control-query timeout.
|
|
203
|
+
* @returns A promise that resolves to a `ClaudeAuthenticationProbe`.
|
|
204
|
+
*/
|
|
205
|
+
export async function probeClaudeAuthentication(params, dependencies) {
|
|
206
|
+
try {
|
|
207
|
+
const initialization = await withClaudeControlQuery(params, async (controlQuery) => await controlQuery.initializationResult(), dependencies);
|
|
208
|
+
return {
|
|
209
|
+
authenticated: true,
|
|
210
|
+
accountEmail: typeof initialization.account?.email === "string" &&
|
|
211
|
+
initialization.account.email.trim().length > 0
|
|
212
|
+
? initialization.account.email.trim()
|
|
213
|
+
: null,
|
|
214
|
+
subscriptionType: typeof initialization.account?.subscriptionType === "string" &&
|
|
215
|
+
initialization.account.subscriptionType.trim().length > 0
|
|
216
|
+
? initialization.account.subscriptionType.trim()
|
|
217
|
+
: null,
|
|
218
|
+
error: null,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
return {
|
|
223
|
+
authenticated: false,
|
|
224
|
+
accountEmail: null,
|
|
225
|
+
subscriptionType: null,
|
|
226
|
+
error: error instanceof Error ? error.message : "Claude auth probe failed.",
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
}
|
|
156
230
|
function normalizeClaudeCompatibilityText(value) {
|
|
157
231
|
return value.trim().toLowerCase();
|
|
158
232
|
}
|
|
@@ -189,23 +263,18 @@ export async function detectClaudeThinkingCompatibility(params, dependencies) {
|
|
|
189
263
|
const queryFactory = dependencies?.queryFactory ?? query;
|
|
190
264
|
const resultPromise = (async () => {
|
|
191
265
|
const stderrLines = [];
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}),
|
|
202
|
-
abortController,
|
|
266
|
+
try {
|
|
267
|
+
await withClaudeControlQuery({
|
|
268
|
+
...params,
|
|
269
|
+
stderr: (data) => {
|
|
270
|
+
stderrLines.push(data.trim());
|
|
271
|
+
},
|
|
272
|
+
}, async (controlQuery) => await controlQuery.initializationResult(), {
|
|
273
|
+
queryFactory,
|
|
274
|
+
}, {
|
|
203
275
|
thinking: { type: "adaptive" },
|
|
204
276
|
effort: "high",
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
try {
|
|
208
|
-
await controlQuery.supportedCommands();
|
|
277
|
+
});
|
|
209
278
|
return {
|
|
210
279
|
status: "supported",
|
|
211
280
|
message: "Claude CLI supports Junction thinking controls.",
|
|
@@ -226,10 +295,6 @@ export async function detectClaudeThinkingCompatibility(params, dependencies) {
|
|
|
226
295
|
: "Claude thinking compatibility could not be verified.",
|
|
227
296
|
};
|
|
228
297
|
}
|
|
229
|
-
finally {
|
|
230
|
-
abortController.abort();
|
|
231
|
-
await teardownControlQuery(controlQuery);
|
|
232
|
-
}
|
|
233
298
|
})();
|
|
234
299
|
if (useCache) {
|
|
235
300
|
compatibilityCache.set(cacheKey, resultPromise);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-cli-capabilities.js","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-cli-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,KAAK,GAKN,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,gBAAgB,GAEjB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-cli-capabilities.js","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-cli-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { AgentCapabilityFlags, AgentClient, AgentModelDefinition, AgentPermissionResponse, AgentPromptInput, AgentSession, AgentSessionConfig, AgentTimelineItem, ToolCallTimelineItem, ListModelsOptions, ListPersistedAgentsOptions, PersistedAgentDescriptor } from "../agent-sdk-types.js";
|
|
2
2
|
import type { Logger } from "pino";
|
|
3
|
+
import type { ChildProcessWithoutNullStreams } from "node:child_process";
|
|
3
4
|
import { type ProviderRuntimeSettings } from "../provider-launch-config.js";
|
|
5
|
+
type CodexConfiguredDefaults = {
|
|
6
|
+
model?: string;
|
|
7
|
+
thinkingOptionId?: string;
|
|
8
|
+
};
|
|
4
9
|
declare function parseUpdatedQuestionAnswers(updatedInput: unknown): Record<string, string[]>;
|
|
5
10
|
type CodexQuestionOption = {
|
|
6
11
|
label?: string;
|
|
@@ -25,6 +30,9 @@ declare function buildCodexElicitationResponse(response: AgentPermissionResponse
|
|
|
25
30
|
content: unknown | null;
|
|
26
31
|
_meta: unknown | null;
|
|
27
32
|
};
|
|
33
|
+
declare function isCodexAppServerUnsupportedMethodError(error: unknown, method: string): boolean;
|
|
34
|
+
type RequestHandler = (params: unknown, requestId: number) => Promise<unknown> | unknown;
|
|
35
|
+
type NotificationHandler = (method: string, params: unknown) => void;
|
|
28
36
|
type CodexAppServerRateLimitWindowSnapshot = {
|
|
29
37
|
usedPercent?: number | null;
|
|
30
38
|
windowDurationMins?: number | null;
|
|
@@ -46,6 +54,24 @@ export type CodexAppServerRateLimitsReadResult = {
|
|
|
46
54
|
rateLimits?: CodexAppServerRateLimitBucket | null;
|
|
47
55
|
rateLimitsByLimitId?: Record<string, CodexAppServerRateLimitBucket> | null;
|
|
48
56
|
};
|
|
57
|
+
declare class CodexAppServerClient {
|
|
58
|
+
private readonly child;
|
|
59
|
+
private readonly logger;
|
|
60
|
+
private readonly rl;
|
|
61
|
+
private readonly pending;
|
|
62
|
+
private readonly requestHandlers;
|
|
63
|
+
private notificationHandler;
|
|
64
|
+
private nextId;
|
|
65
|
+
private disposed;
|
|
66
|
+
private stderrBuffer;
|
|
67
|
+
constructor(child: ChildProcessWithoutNullStreams, logger: Logger);
|
|
68
|
+
setNotificationHandler(handler: NotificationHandler): void;
|
|
69
|
+
setRequestHandler(method: string, handler: RequestHandler): void;
|
|
70
|
+
request(method: string, params?: unknown, timeoutMs?: number): Promise<unknown>;
|
|
71
|
+
notify(method: string, params?: unknown): void;
|
|
72
|
+
dispose(): Promise<void>;
|
|
73
|
+
private handleLine;
|
|
74
|
+
}
|
|
49
75
|
export declare function readCodexAppServerRateLimits(options?: {
|
|
50
76
|
runtimeSettings?: ProviderRuntimeSettings;
|
|
51
77
|
timeoutMs?: number;
|
|
@@ -82,12 +108,15 @@ declare function mapCodexPatchNotificationToToolCall(params: {
|
|
|
82
108
|
success?: boolean | null;
|
|
83
109
|
running: boolean;
|
|
84
110
|
}): ToolCallTimelineItem | null;
|
|
111
|
+
declare function readCodexConfiguredDefaults(client: CodexAppServerClient, logger: Logger): Promise<CodexConfiguredDefaults>;
|
|
85
112
|
export declare function codexAppServerTurnInputFromPrompt(prompt: AgentPromptInput, logger: Logger): Promise<unknown[]>;
|
|
86
113
|
export declare const __codexAppServerInternals: {
|
|
87
114
|
mapCodexPatchNotificationToToolCall: typeof mapCodexPatchNotificationToToolCall;
|
|
88
115
|
supportsPlanCollaborationMode: typeof supportsPlanCollaborationMode;
|
|
89
116
|
shouldRetryInitializeWithoutExperimentalApi: typeof shouldRetryInitializeWithoutExperimentalApi;
|
|
90
117
|
shouldRetryTurnStartWithoutCollaborationMode: typeof shouldRetryTurnStartWithoutCollaborationMode;
|
|
118
|
+
isCodexAppServerUnsupportedMethodError: typeof isCodexAppServerUnsupportedMethodError;
|
|
119
|
+
readCodexConfiguredDefaults: typeof readCodexConfiguredDefaults;
|
|
91
120
|
formatProposedPlanBlock: typeof formatProposedPlanBlock;
|
|
92
121
|
formatProposedPlanChunk: typeof formatProposedPlanChunk;
|
|
93
122
|
buildCompletedCodexTimelineItem: typeof buildCompletedCodexTimelineItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-app-server-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/codex-app-server-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EAEX,oBAAoB,EAGpB,uBAAuB,EAEvB,gBAAgB,EAIhB,YAAY,EACZ,kBAAkB,EAGlB,iBAAiB,EACjB,oBAAoB,EAEpB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-app-server-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/codex-app-server-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { z } from "zod";
|
|
|
8
8
|
import { loadCodexPersistedTimeline } from "./codex-rollout-timeline.js";
|
|
9
9
|
import { mapCodexRolloutToolCall, mapCodexToolCallFromThreadItem, } from "./codex/tool-call-mapper.js";
|
|
10
10
|
import { applyProviderEnv, isProviderCommandAvailable, resolveProviderCommandPrefix, } from "../provider-launch-config.js";
|
|
11
|
+
import { resolveCommandPathWithFallback } from "../../provider-command-resolution.js";
|
|
11
12
|
import { buildCodexRuntimeExtra, DEFAULT_CODEX_MODE_ID, isCodexPlanModeEnabled, normalizeCodexModeId, setCodexPlanModeEnabled, } from "../codex-config.js";
|
|
12
13
|
import { writeImageAttachment } from "./image-attachments.js";
|
|
13
14
|
const DEFAULT_TIMEOUT_MS = 14 * 24 * 60 * 60 * 1000;
|
|
@@ -81,26 +82,32 @@ function normalizeCodexModelId(modelId) {
|
|
|
81
82
|
}
|
|
82
83
|
return normalized;
|
|
83
84
|
}
|
|
84
|
-
function
|
|
85
|
+
function readCodexLegacyConfiguredDefaultsResponse(response) {
|
|
85
86
|
return {
|
|
86
|
-
model:
|
|
87
|
-
thinkingOptionId:
|
|
87
|
+
model: normalizeCodexModelId(response?.config?.model),
|
|
88
|
+
thinkingOptionId: normalizeCodexThinkingOptionId(response?.config?.modelReasoningEffort ?? null),
|
|
88
89
|
};
|
|
89
90
|
}
|
|
90
|
-
function
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
91
|
+
function readCodexCurrentConfiguredDefaultsResponse(response) {
|
|
92
|
+
return {
|
|
93
|
+
model: normalizeCodexModelId(response?.config?.model),
|
|
94
|
+
thinkingOptionId: normalizeCodexThinkingOptionId(response?.config?.model_reasoning_effort ?? null),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function resolveCodexBinary(runtimeSettings) {
|
|
98
|
+
const env = applyProviderEnv(process.env, runtimeSettings);
|
|
99
|
+
const codexPath = resolveCommandPathWithFallback("codex", {
|
|
100
|
+
env,
|
|
101
|
+
platform: process.platform,
|
|
102
|
+
loginShell: env.SHELL ?? process.env.SHELL ?? null,
|
|
103
|
+
});
|
|
104
|
+
if (codexPath) {
|
|
105
|
+
return codexPath;
|
|
99
106
|
}
|
|
100
107
|
throw new Error("Codex CLI not found. Please install codex globally: npm install -g @openai/codex");
|
|
101
108
|
}
|
|
102
109
|
function resolveCodexLaunchPrefix(runtimeSettings) {
|
|
103
|
-
return resolveProviderCommandPrefix(runtimeSettings?.command, resolveCodexBinary);
|
|
110
|
+
return resolveProviderCommandPrefix(runtimeSettings?.command, () => resolveCodexBinary(runtimeSettings));
|
|
104
111
|
}
|
|
105
112
|
function resolveCodexHomeDir() {
|
|
106
113
|
return process.env.CODEX_HOME ?? path.join(os.homedir(), ".codex");
|
|
@@ -522,6 +529,29 @@ class Pushable {
|
|
|
522
529
|
};
|
|
523
530
|
}
|
|
524
531
|
}
|
|
532
|
+
class CodexAppServerRequestError extends Error {
|
|
533
|
+
constructor(method, message, code) {
|
|
534
|
+
super(message);
|
|
535
|
+
this.name = "CodexAppServerRequestError";
|
|
536
|
+
this.method = method;
|
|
537
|
+
this.code = code;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
function isCodexAppServerUnsupportedMethodError(error, method) {
|
|
541
|
+
if (!error || typeof error !== "object") {
|
|
542
|
+
return false;
|
|
543
|
+
}
|
|
544
|
+
const methodValue = "method" in error ? error.method : undefined;
|
|
545
|
+
if (methodValue !== method) {
|
|
546
|
+
return false;
|
|
547
|
+
}
|
|
548
|
+
const codeValue = "code" in error && typeof error.code === "number" ? error.code : undefined;
|
|
549
|
+
const messageValue = "message" in error && typeof error.message === "string" ? error.message : "";
|
|
550
|
+
const lowered = messageValue.toLowerCase();
|
|
551
|
+
return (codeValue === -32601 ||
|
|
552
|
+
lowered.includes("method not found") ||
|
|
553
|
+
lowered.includes(`unknown variant \`${method.toLowerCase()}\``));
|
|
554
|
+
}
|
|
525
555
|
class CodexAppServerClient {
|
|
526
556
|
constructor(child, logger) {
|
|
527
557
|
this.child = child;
|
|
@@ -572,7 +602,7 @@ class CodexAppServerClient {
|
|
|
572
602
|
this.pending.delete(id);
|
|
573
603
|
reject(new Error(`Codex app-server request timed out for ${method}`));
|
|
574
604
|
}, timeoutMs);
|
|
575
|
-
this.pending.set(id, { resolve, reject, timer });
|
|
605
|
+
this.pending.set(id, { method, resolve, reject, timer });
|
|
576
606
|
});
|
|
577
607
|
}
|
|
578
608
|
notify(method, params) {
|
|
@@ -614,7 +644,8 @@ class CodexAppServerClient {
|
|
|
614
644
|
clearTimeout(pending.timer);
|
|
615
645
|
this.pending.delete(id);
|
|
616
646
|
if (msg.error) {
|
|
617
|
-
|
|
647
|
+
const errorPayload = msg.error;
|
|
648
|
+
pending.reject(new CodexAppServerRequestError(pending.method ?? "unknown", errorPayload?.message ?? "Unknown error", errorPayload?.code));
|
|
618
649
|
}
|
|
619
650
|
else {
|
|
620
651
|
pending.resolve(msg.result);
|
|
@@ -1526,32 +1557,29 @@ const CodexNotificationSchema = z.union([
|
|
|
1526
1557
|
z.object({ method: z.string(), params: z.unknown() }).transform(({ method, params }) => ({ kind: "unknown_method", method, params })),
|
|
1527
1558
|
]);
|
|
1528
1559
|
async function readCodexConfiguredDefaults(client, logger) {
|
|
1529
|
-
let savedConfigDefaults = {};
|
|
1530
1560
|
try {
|
|
1531
|
-
const response = (await client.request("
|
|
1532
|
-
|
|
1533
|
-
model: normalizeCodexModelId(response?.config?.model),
|
|
1534
|
-
thinkingOptionId: normalizeCodexThinkingOptionId(response?.config?.modelReasoningEffort ?? null),
|
|
1535
|
-
};
|
|
1561
|
+
const response = (await client.request("config/read", {}));
|
|
1562
|
+
return readCodexCurrentConfiguredDefaultsResponse(response);
|
|
1536
1563
|
}
|
|
1537
1564
|
catch (error) {
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1565
|
+
if (!isCodexAppServerUnsupportedMethodError(error, "config/read")) {
|
|
1566
|
+
logger.debug({ err: error }, "Failed to read Codex config defaults via config/read");
|
|
1567
|
+
return {};
|
|
1568
|
+
}
|
|
1569
|
+
logger.debug({ err: error, fallbackMethod: "getUserSavedConfig" }, "Codex app-server does not support config/read; falling back to legacy config defaults request");
|
|
1542
1570
|
}
|
|
1543
|
-
let configReadDefaults = {};
|
|
1544
1571
|
try {
|
|
1545
|
-
const response = (await client.request("
|
|
1546
|
-
|
|
1547
|
-
model: normalizeCodexModelId(response?.config?.model),
|
|
1548
|
-
thinkingOptionId: normalizeCodexThinkingOptionId(response?.config?.model_reasoning_effort ?? null),
|
|
1549
|
-
};
|
|
1572
|
+
const response = (await client.request("getUserSavedConfig", {}));
|
|
1573
|
+
return readCodexLegacyConfiguredDefaultsResponse(response);
|
|
1550
1574
|
}
|
|
1551
1575
|
catch (error) {
|
|
1552
|
-
|
|
1576
|
+
if (isCodexAppServerUnsupportedMethodError(error, "getUserSavedConfig")) {
|
|
1577
|
+
logger.debug({ err: error }, "Codex app-server does not support the legacy getUserSavedConfig request");
|
|
1578
|
+
return {};
|
|
1579
|
+
}
|
|
1580
|
+
logger.debug({ err: error }, "Failed to read Codex legacy config defaults");
|
|
1581
|
+
return {};
|
|
1553
1582
|
}
|
|
1554
|
-
return mergeCodexConfiguredDefaults(savedConfigDefaults, configReadDefaults);
|
|
1555
1583
|
}
|
|
1556
1584
|
export async function codexAppServerTurnInputFromPrompt(prompt, logger) {
|
|
1557
1585
|
if (typeof prompt === "string") {
|
|
@@ -1591,6 +1619,8 @@ export const __codexAppServerInternals = {
|
|
|
1591
1619
|
supportsPlanCollaborationMode,
|
|
1592
1620
|
shouldRetryInitializeWithoutExperimentalApi,
|
|
1593
1621
|
shouldRetryTurnStartWithoutCollaborationMode,
|
|
1622
|
+
isCodexAppServerUnsupportedMethodError,
|
|
1623
|
+
readCodexConfiguredDefaults,
|
|
1594
1624
|
formatProposedPlanBlock,
|
|
1595
1625
|
formatProposedPlanChunk,
|
|
1596
1626
|
buildCompletedCodexTimelineItem,
|
|
@@ -3330,7 +3360,7 @@ export class CodexAppServerAgentClient {
|
|
|
3330
3360
|
}
|
|
3331
3361
|
}
|
|
3332
3362
|
async isAvailable() {
|
|
3333
|
-
return isProviderCommandAvailable(this.runtimeSettings?.command, resolveCodexBinary, applyProviderEnv(process.env, this.runtimeSettings));
|
|
3363
|
+
return isProviderCommandAvailable(this.runtimeSettings?.command, () => resolveCodexBinary(this.runtimeSettings), applyProviderEnv(process.env, this.runtimeSettings));
|
|
3334
3364
|
}
|
|
3335
3365
|
}
|
|
3336
3366
|
//# sourceMappingURL=codex-app-server-agent.js.map
|