@open-mercato/cezar 0.8.0-pr595.577 → 0.8.0-pr597.586
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/core/codex-app-server-runner.js +26 -104
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/codex-app-server-transport.d.ts +30 -0
- package/dist/core/codex-app-server-transport.js +136 -0
- package/dist/core/codex-app-server-transport.js.map +1 -0
- package/dist/core/codex-model-catalog.d.ts +10 -0
- package/dist/core/codex-model-catalog.js +110 -0
- package/dist/core/codex-model-catalog.js.map +1 -0
- package/dist/core/runner-model-catalog.d.ts +28 -0
- package/dist/core/runner-model-catalog.js +62 -0
- package/dist/core/runner-model-catalog.js.map +1 -0
- package/dist/server/capabilities.d.ts +6 -0
- package/dist/server/capabilities.js +6 -0
- package/dist/server/capabilities.js.map +1 -1
- package/dist/server/git-changes.d.ts +12 -3
- package/dist/server/git-changes.js +23 -5
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/server.d.ts +3 -0
- package/dist/server/server.js +14 -1
- package/dist/server/server.js.map +1 -1
- package/package.json +1 -1
- package/web/dist/assets/arrow-left-CnSdp92h.js +1 -0
- package/web/dist/assets/centered-state-zzWBfO_1.js +43 -0
- package/web/dist/assets/{command-BZ5aviW0.js → command-ylf8-fG0.js} +1 -1
- package/web/dist/assets/{compare-variants-u0l-8Dlm.js → compare-variants-BcR3zdtB.js} +1 -1
- package/web/dist/assets/{dialog-DkIwTohv.js → dialog-BYr_BAil.js} +1 -1
- package/web/dist/assets/{diff-view-adDvPJZO.js → diff-view-DPCR7gon.js} +1 -1
- package/web/dist/assets/{dist-B9XLSHts.js → dist-Cw_CDvC3.js} +1 -1
- package/web/dist/assets/{dropdown-menu-EATMmFoX.js → dropdown-menu-C3GD8eLA.js} +1 -1
- package/web/dist/assets/{ellipsis-vertical-DmiVT6jz.js → ellipsis-vertical-CNnSLn5a.js} +1 -1
- package/web/dist/assets/{file-Dg6CpR8r.js → file-D4GBh1ao.js} +1 -1
- package/web/dist/assets/{git-pull-request-DxVoT2WK.js → git-pull-request-DnR8Xh4_.js} +1 -1
- package/web/dist/assets/{git-toolbar-DgbSHHHy.js → git-toolbar-CiMaCi03.js} +1 -1
- package/web/dist/assets/github-BJEZbEOp.js +1 -0
- package/web/dist/assets/{image-preview-1x2O5b6w.js → image-preview-DEhW0TFz.js} +1 -1
- package/web/dist/assets/index-DmW_TYjO.js +16 -0
- package/web/dist/assets/{loader-circle-CA41y0bd.js → loader-circle-CGwIVNTv.js} +1 -1
- package/web/dist/assets/{project-router-EbxGGYDU.js → project-router-CT8Rt5Eu.js} +1 -1
- package/web/dist/assets/prompt-templates-DW7_d8Ys.js +15 -0
- package/web/dist/assets/{refresh-cw-db6LG_yO.js → refresh-cw-BT8E96Tm.js} +1 -1
- package/web/dist/assets/{repo-git-CvqFJBHY.js → repo-git-BkmyKcvN.js} +1 -1
- package/web/dist/assets/{run-diff--_RiMW0J.js → run-diff-CxIDdRwy.js} +2 -2
- package/web/dist/assets/run-header-8nwDIWWO.js +1 -0
- package/web/dist/assets/{search-x-BCetArhL.js → search-x-BDjaMrzG.js} +1 -1
- package/web/dist/assets/{skills-BvXgcoyn.js → skills-BIpb0mqO.js} +1 -1
- package/web/dist/assets/{square-terminal-CdaHyrcY.js → square-terminal-Ckjjn0vb.js} +1 -1
- package/web/dist/assets/{tab-link-DrKWp-Qg.js → tab-link-C_bk_Kvn.js} +1 -1
- package/web/dist/assets/{task-changes-0d5hVV7h.js → task-changes-D1bJx2uW.js} +1 -1
- package/web/dist/assets/{task-commits-0SJsJ7qk.js → task-commits-DlhB21mR.js} +1 -1
- package/web/dist/assets/{task-files-BkC4puXH.js → task-files-ChJDOFg5.js} +2 -2
- package/web/dist/assets/task-thread-J7ckxJJh.js +9 -0
- package/web/dist/assets/{tasks-table-DFSThNHK.js → tasks-table--V1pKwuK.js} +1 -1
- package/web/dist/assets/{trash-2-D7eO-ZOZ.js → trash-2-DAyZ0VSi.js} +1 -1
- package/web/dist/assets/{triangle-alert-Bn4BqGwV.js → triangle-alert-Uy8rokUh.js} +1 -1
- package/web/dist/assets/{upload-CZfSePOo.js → upload-CDdyPPo_.js} +1 -1
- package/web/dist/assets/{use-desktop-CH01Uuvk.js → use-desktop-CuDnWju1.js} +2 -2
- package/web/dist/assets/utils-B8s5qIcK.js +1 -0
- package/web/dist/assets/{workflows-CXtZMN2_.js → workflows-BksgdYAQ.js} +3 -3
- package/web/dist/assets/x-DgoqYQOJ.js +1 -0
- package/web/dist/assets/{zoomable-image-Bpe-Zsgp.js → zoomable-image-PEDOqyLQ.js} +1 -1
- package/web/dist/index.html +14 -14
- package/web/dist/assets/arrow-left-BE6AlA02.js +0 -1
- package/web/dist/assets/centered-state-CfA22SlQ.js +0 -43
- package/web/dist/assets/github-CS_7bvcI.js +0 -1
- package/web/dist/assets/index-CZPLwiHA.js +0 -16
- package/web/dist/assets/prompt-templates-B6fg1FOo.js +0 -15
- package/web/dist/assets/run-header-BkFCude2.js +0 -1
- package/web/dist/assets/task-thread-D9tiM0dR.js +0 -9
- package/web/dist/assets/utils-DJvLyjTG.js +0 -1
- package/web/dist/assets/x-BHbA8dSC.js +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { spawn as nodeSpawn } from 'node:child_process';
|
|
2
1
|
import { prependSystemPrompt } from './agent-runner.js';
|
|
3
|
-
import { AUTO_END_DELAY_MS, DEFAULT_RUN_TIMEOUT_MS,
|
|
4
|
-
import { buildChildEnv } from './agent-env.js';
|
|
2
|
+
import { AUTO_END_DELAY_MS, DEFAULT_RUN_TIMEOUT_MS, KILL_GRACE_MS, } from './claude-cli-runner.js';
|
|
5
3
|
import { parseAskRequest } from './ask.js';
|
|
6
4
|
import { readNdjson } from './ndjson.js';
|
|
5
|
+
import { CodexAppServerRpc, codexSpawnError, endCodexAppServer, resolveCodexExecutable, spawnCodexAppServer, waitForCodexAppServerExit, } from './codex-app-server-transport.js';
|
|
7
6
|
import { codexSessionStarted, createCodexUiState, mapCodexNotification, } from './codex-ui-mapper.js';
|
|
8
7
|
/**
|
|
9
8
|
* `AgentRunner` over `codex app-server` — the same JSONL transport the VS Code
|
|
@@ -26,7 +25,7 @@ export class CodexAppServerRunner {
|
|
|
26
25
|
timeoutMs;
|
|
27
26
|
lastSession = null;
|
|
28
27
|
constructor(opts = {}) {
|
|
29
|
-
this.bin = opts.bin
|
|
28
|
+
this.bin = resolveCodexExecutable(opts.bin);
|
|
30
29
|
this.timeoutMs = opts.timeoutMs ?? DEFAULT_RUN_TIMEOUT_MS;
|
|
31
30
|
}
|
|
32
31
|
run(spec, onEvent) {
|
|
@@ -49,11 +48,10 @@ class CodexSession {
|
|
|
49
48
|
opts;
|
|
50
49
|
result;
|
|
51
50
|
child;
|
|
51
|
+
rpc;
|
|
52
52
|
stdinOpen = true;
|
|
53
53
|
threadId;
|
|
54
54
|
activeTurnId;
|
|
55
|
-
nextId = 1;
|
|
56
|
-
pending = new Map();
|
|
57
55
|
pendingUserInput;
|
|
58
56
|
toolCalls = [];
|
|
59
57
|
textChunks = [];
|
|
@@ -77,16 +75,14 @@ class CodexSession {
|
|
|
77
75
|
this.onEvent = onEvent;
|
|
78
76
|
this.opts = opts;
|
|
79
77
|
try {
|
|
80
|
-
this.child =
|
|
81
|
-
|
|
82
|
-
env: buildChildEnv({ backend: 'codex', extraEnv: spec.env }),
|
|
83
|
-
});
|
|
78
|
+
this.child = spawnCodexAppServer(bin, spec.cwd, spec.env);
|
|
79
|
+
this.rpc = new CodexAppServerRpc(this.child);
|
|
84
80
|
}
|
|
85
81
|
catch (err) {
|
|
86
|
-
throw
|
|
82
|
+
throw codexSpawnError(err, bin);
|
|
87
83
|
}
|
|
88
84
|
this.child.on('error', (err) => {
|
|
89
|
-
this.spawnFailed =
|
|
85
|
+
this.spawnFailed = codexSpawnError(err, bin);
|
|
90
86
|
});
|
|
91
87
|
const stderrChunks = [];
|
|
92
88
|
this.child.stderr.setEncoding('utf8');
|
|
@@ -152,14 +148,12 @@ class CodexSession {
|
|
|
152
148
|
clearTimeout(this.autoEndTimer);
|
|
153
149
|
this.stdinOpen = false;
|
|
154
150
|
}
|
|
155
|
-
const exitCode = await
|
|
151
|
+
const exitCode = await waitForCodexAppServerExit(this.child);
|
|
156
152
|
if (this.eofTermTimer)
|
|
157
153
|
clearTimeout(this.eofTermTimer);
|
|
158
154
|
if (this.eofKillTimer)
|
|
159
155
|
clearTimeout(this.eofKillTimer);
|
|
160
|
-
|
|
161
|
-
p.reject(new Error('codex app-server exited'));
|
|
162
|
-
this.pending.clear();
|
|
156
|
+
this.rpc.rejectPending();
|
|
163
157
|
if (this.spawnFailed)
|
|
164
158
|
throw this.spawnFailed;
|
|
165
159
|
if (sessionError)
|
|
@@ -207,7 +201,7 @@ class CodexSession {
|
|
|
207
201
|
if (this.pendingUserInput) {
|
|
208
202
|
const pending = this.pendingUserInput;
|
|
209
203
|
this.pendingUserInput = undefined;
|
|
210
|
-
this.
|
|
204
|
+
this.rpc.respond({ id: pending.rpcId, result: { answers: userInputAnswers(pending.questions, text) } });
|
|
211
205
|
return true;
|
|
212
206
|
}
|
|
213
207
|
// Wait for the thread to exist, then steer the live turn or start a new one.
|
|
@@ -225,39 +219,28 @@ class CodexSession {
|
|
|
225
219
|
this.rejectPendingUserInput('session ended');
|
|
226
220
|
this.stdinOpen = false;
|
|
227
221
|
try {
|
|
228
|
-
this.child
|
|
222
|
+
endCodexAppServer(this.child, (term, kill) => {
|
|
223
|
+
this.eofTermTimer = term;
|
|
224
|
+
this.eofKillTimer = kill;
|
|
225
|
+
});
|
|
229
226
|
}
|
|
230
227
|
catch {
|
|
231
228
|
// already gone
|
|
232
229
|
}
|
|
233
|
-
this.eofTermTimer = setTimeout(() => {
|
|
234
|
-
if (this.child.exitCode == null && !this.child.killed)
|
|
235
|
-
this.child.kill('SIGTERM');
|
|
236
|
-
this.eofKillTimer = setTimeout(() => {
|
|
237
|
-
if (this.child.exitCode == null && !this.child.killed)
|
|
238
|
-
this.child.kill('SIGKILL');
|
|
239
|
-
}, EOF_KILL_GRACE_MS);
|
|
240
|
-
this.eofKillTimer.unref?.();
|
|
241
|
-
}, EOF_TERM_GRACE_MS);
|
|
242
|
-
this.eofTermTimer.unref?.();
|
|
243
230
|
}
|
|
244
231
|
interrupt() {
|
|
245
232
|
this.stdinOpen = false;
|
|
246
233
|
this.rejectPendingUserInput('turn interrupted');
|
|
247
234
|
// Best-effort graceful cancel of the in-flight turn, then hard stop.
|
|
248
235
|
if (this.threadId && this.activeTurnId) {
|
|
249
|
-
void this.request('turn/interrupt', { threadId: this.threadId, turnId: this.activeTurnId }).catch(() => undefined);
|
|
236
|
+
void this.rpc.request('turn/interrupt', { threadId: this.threadId, turnId: this.activeTurnId }).catch(() => undefined);
|
|
250
237
|
}
|
|
251
238
|
if (!this.child.killed)
|
|
252
239
|
this.child.kill('SIGTERM');
|
|
253
240
|
}
|
|
254
241
|
// ---- protocol -----------------------------------------------------------
|
|
255
242
|
async bootstrap() {
|
|
256
|
-
await this.
|
|
257
|
-
clientInfo: { name: 'cezar', title: 'cezar', version: '0.1.0' },
|
|
258
|
-
capabilities: { experimentalApi: true },
|
|
259
|
-
});
|
|
260
|
-
this.notify('initialized', {});
|
|
243
|
+
await this.rpc.initialize();
|
|
261
244
|
const overrides = {
|
|
262
245
|
model: this.spec.model,
|
|
263
246
|
cwd: this.spec.cwd,
|
|
@@ -268,11 +251,11 @@ class CodexSession {
|
|
|
268
251
|
approvalPolicy: 'never',
|
|
269
252
|
};
|
|
270
253
|
if (this.spec.resume && this.spec.sessionId) {
|
|
271
|
-
await this.request('thread/resume', { threadId: this.spec.sessionId, ...clean(overrides) });
|
|
254
|
+
await this.rpc.request('thread/resume', { threadId: this.spec.sessionId, ...clean(overrides) });
|
|
272
255
|
this.threadId = this.spec.sessionId;
|
|
273
256
|
}
|
|
274
257
|
else {
|
|
275
|
-
const res = await this.request('thread/start', clean(overrides));
|
|
258
|
+
const res = await this.rpc.request('thread/start', clean(overrides));
|
|
276
259
|
this.threadId = threadIdOf(res) ?? this.spec.sessionId;
|
|
277
260
|
}
|
|
278
261
|
if (this.threadId) {
|
|
@@ -293,7 +276,7 @@ class CodexSession {
|
|
|
293
276
|
return;
|
|
294
277
|
const input = [{ type: 'text', text, text_elements: [] }];
|
|
295
278
|
if (this.activeTurnId) {
|
|
296
|
-
await this.request('turn/steer', {
|
|
279
|
+
await this.rpc.request('turn/steer', {
|
|
297
280
|
threadId: this.threadId,
|
|
298
281
|
input,
|
|
299
282
|
expectedTurnId: this.activeTurnId,
|
|
@@ -304,46 +287,16 @@ class CodexSession {
|
|
|
304
287
|
// with its default (no summary), so the reasoning thread stays empty even
|
|
305
288
|
// though the mapper and UI can render it. The override persists for this
|
|
306
289
|
// turn and every subsequent turn, so seeding it on turn/start is enough.
|
|
307
|
-
const res = await this.request('turn/start', {
|
|
290
|
+
const res = await this.rpc.request('turn/start', {
|
|
308
291
|
threadId: this.threadId,
|
|
309
292
|
input,
|
|
310
293
|
summary: reasoningSummary(),
|
|
311
294
|
});
|
|
312
295
|
this.activeTurnId = turnIdOf(res) ?? this.activeTurnId;
|
|
313
296
|
}
|
|
314
|
-
request(method, params) {
|
|
315
|
-
const id = this.nextId++;
|
|
316
|
-
const promise = new Promise((resolve, reject) => {
|
|
317
|
-
this.pending.set(id, { resolve, reject });
|
|
318
|
-
});
|
|
319
|
-
this.write({ id, method, params });
|
|
320
|
-
return promise;
|
|
321
|
-
}
|
|
322
|
-
notify(method, params) {
|
|
323
|
-
this.write({ method, params });
|
|
324
|
-
}
|
|
325
|
-
write(obj) {
|
|
326
|
-
if (this.child.stdin.destroyed)
|
|
327
|
-
return;
|
|
328
|
-
try {
|
|
329
|
-
this.child.stdin.write(`${JSON.stringify(obj)}\n`);
|
|
330
|
-
}
|
|
331
|
-
catch {
|
|
332
|
-
// stdin gone — the read loop will settle the session
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
297
|
dispatch(msg) {
|
|
336
|
-
if (
|
|
337
|
-
const p = this.pending.get(msg.id);
|
|
338
|
-
if (!p)
|
|
339
|
-
return;
|
|
340
|
-
this.pending.delete(msg.id);
|
|
341
|
-
if (msg.error)
|
|
342
|
-
p.reject(new Error(errorText(msg.error)));
|
|
343
|
-
else
|
|
344
|
-
p.resolve(msg.result ?? {});
|
|
298
|
+
if (this.rpc.dispatchResponse(msg))
|
|
345
299
|
return;
|
|
346
|
-
}
|
|
347
300
|
if (msg.method === 'item/tool/requestUserInput' && (typeof msg.id === 'number' || typeof msg.id === 'string')) {
|
|
348
301
|
this.handleUserInputRequest(msg.id, msg.params ?? {});
|
|
349
302
|
return;
|
|
@@ -354,7 +307,7 @@ class CodexSession {
|
|
|
354
307
|
handleUserInputRequest(rpcId, params) {
|
|
355
308
|
const questions = codexAskQuestions(params.questions);
|
|
356
309
|
if (!questions) {
|
|
357
|
-
this.
|
|
310
|
+
this.rpc.respond({ id: rpcId, error: { code: -32602, message: 'unsupported or malformed requestUserInput payload' } });
|
|
358
311
|
return;
|
|
359
312
|
}
|
|
360
313
|
if (this.pendingUserInput)
|
|
@@ -367,7 +320,7 @@ class CodexSession {
|
|
|
367
320
|
if (!pending)
|
|
368
321
|
return;
|
|
369
322
|
this.pendingUserInput = undefined;
|
|
370
|
-
this.
|
|
323
|
+
this.rpc.respond({ id: pending.rpcId, error: { code: -32000, message } });
|
|
371
324
|
}
|
|
372
325
|
handleNotification(method, params) {
|
|
373
326
|
switch (method) {
|
|
@@ -391,7 +344,7 @@ class CodexSession {
|
|
|
391
344
|
const type = stringField(item, 'type');
|
|
392
345
|
// Only tool-like items become tool events; message/reasoning stream as text.
|
|
393
346
|
if (type && !NON_TOOL_ITEMS.has(type)) {
|
|
394
|
-
const id = stringField(item, 'id') ?? `item-${this.
|
|
347
|
+
const id = stringField(item, 'id') ?? `item-${this.rpc.allocateId()}`;
|
|
395
348
|
this.toolCalls.push({ id, name: type, input: item });
|
|
396
349
|
this.emit({ type: 'tool-call', id, tool: type, input: item });
|
|
397
350
|
}
|
|
@@ -463,6 +416,7 @@ class CodexSession {
|
|
|
463
416
|
}
|
|
464
417
|
}
|
|
465
418
|
}
|
|
419
|
+
// ---- helpers --------------------------------------------------------------
|
|
466
420
|
function codexAskQuestions(value) {
|
|
467
421
|
if (!Array.isArray(value) || value.length < 1 || value.length > 4)
|
|
468
422
|
return null;
|
|
@@ -556,12 +510,6 @@ function tokenTotal(params) {
|
|
|
556
510
|
const total = usage?.total?.totalTokens;
|
|
557
511
|
return typeof total === 'number' ? total : 0;
|
|
558
512
|
}
|
|
559
|
-
function errorText(error) {
|
|
560
|
-
if (error && typeof error === 'object' && 'message' in error) {
|
|
561
|
-
return String(error.message);
|
|
562
|
-
}
|
|
563
|
-
return typeof error === 'string' ? error : JSON.stringify(error);
|
|
564
|
-
}
|
|
565
513
|
function safeStringify(value) {
|
|
566
514
|
try {
|
|
567
515
|
return JSON.stringify(value);
|
|
@@ -570,30 +518,4 @@ function safeStringify(value) {
|
|
|
570
518
|
return String(value);
|
|
571
519
|
}
|
|
572
520
|
}
|
|
573
|
-
function waitForExit(child) {
|
|
574
|
-
if (child.exitCode != null)
|
|
575
|
-
return Promise.resolve(child.exitCode);
|
|
576
|
-
return new Promise((resolve) => {
|
|
577
|
-
let done = false;
|
|
578
|
-
const fin = (code) => {
|
|
579
|
-
if (done)
|
|
580
|
-
return;
|
|
581
|
-
done = true;
|
|
582
|
-
clearTimeout(safety);
|
|
583
|
-
resolve(code);
|
|
584
|
-
};
|
|
585
|
-
child.once('close', (code) => fin(code));
|
|
586
|
-
child.once('exit', (code) => fin(code));
|
|
587
|
-
child.once('error', () => fin(child.exitCode ?? null));
|
|
588
|
-
const safety = setTimeout(() => fin(child.exitCode ?? null), EOF_TERM_GRACE_MS + EOF_KILL_GRACE_MS + KILL_GRACE_MS + 5_000);
|
|
589
|
-
safety.unref?.();
|
|
590
|
-
});
|
|
591
|
-
}
|
|
592
|
-
function wrapSpawnError(err, bin) {
|
|
593
|
-
const code = err?.code;
|
|
594
|
-
if (code === 'ENOENT') {
|
|
595
|
-
return new Error(`\`${bin}\` not found on PATH — install the Codex CLI (npm i -g @openai/codex) and run \`codex\` once to log in`);
|
|
596
|
-
}
|
|
597
|
-
return err instanceof Error ? err : new Error(String(err));
|
|
598
|
-
}
|
|
599
521
|
//# sourceMappingURL=codex-app-server-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-app-server-runner.js","sourceRoot":"","sources":["../../src/core/codex-app-server-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-app-server-runner.js","sourceRoot":"","sources":["../../src/core/codex-app-server-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type ChildProcessWithoutNullStreams } from 'node:child_process';
|
|
2
|
+
export interface CodexAppServerMessage {
|
|
3
|
+
id?: number | string;
|
|
4
|
+
method?: string;
|
|
5
|
+
params?: Record<string, unknown>;
|
|
6
|
+
result?: unknown;
|
|
7
|
+
error?: unknown;
|
|
8
|
+
}
|
|
9
|
+
export declare function resolveCodexExecutable(override?: string): string;
|
|
10
|
+
export declare function buildCodexAppServerEnv(extraEnv?: Record<string, string>): NodeJS.ProcessEnv;
|
|
11
|
+
/** Spawn the authenticated host's app-server with the same least-privilege env used by runs. */
|
|
12
|
+
export declare function spawnCodexAppServer(bin: string, cwd: string, extraEnv?: Record<string, string>): ChildProcessWithoutNullStreams;
|
|
13
|
+
/** Minimal newline-JSON request correlator shared by runs and short-lived discovery. */
|
|
14
|
+
export declare class CodexAppServerRpc {
|
|
15
|
+
readonly child: ChildProcessWithoutNullStreams;
|
|
16
|
+
private nextId;
|
|
17
|
+
private readonly pending;
|
|
18
|
+
constructor(child: ChildProcessWithoutNullStreams);
|
|
19
|
+
allocateId(): number;
|
|
20
|
+
request(method: string, params: unknown): Promise<Record<string, unknown>>;
|
|
21
|
+
notify(method: string, params: unknown): void;
|
|
22
|
+
respond(message: unknown): void;
|
|
23
|
+
dispatchResponse(message: CodexAppServerMessage): boolean;
|
|
24
|
+
initialize(): Promise<void>;
|
|
25
|
+
rejectPending(message?: string): void;
|
|
26
|
+
private write;
|
|
27
|
+
}
|
|
28
|
+
export declare function endCodexAppServer(child: ChildProcessWithoutNullStreams, onTimers?: (term: NodeJS.Timeout, kill: NodeJS.Timeout | undefined) => void): void;
|
|
29
|
+
export declare function waitForCodexAppServerExit(child: ChildProcessWithoutNullStreams): Promise<number | null>;
|
|
30
|
+
export declare function codexSpawnError(error: unknown, bin: string): Error;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { spawn as nodeSpawn } from 'node:child_process';
|
|
2
|
+
import { buildChildEnv } from './agent-env.js';
|
|
3
|
+
import { EOF_KILL_GRACE_MS, EOF_TERM_GRACE_MS, KILL_GRACE_MS } from './claude-cli-runner.js';
|
|
4
|
+
export function resolveCodexExecutable(override) {
|
|
5
|
+
return override ?? process.env.CEZ_CODEX_BIN ?? 'codex';
|
|
6
|
+
}
|
|
7
|
+
export function buildCodexAppServerEnv(extraEnv) {
|
|
8
|
+
return buildChildEnv({ backend: 'codex', extraEnv });
|
|
9
|
+
}
|
|
10
|
+
/** Spawn the authenticated host's app-server with the same least-privilege env used by runs. */
|
|
11
|
+
export function spawnCodexAppServer(bin, cwd, extraEnv) {
|
|
12
|
+
try {
|
|
13
|
+
return nodeSpawn(bin, ['app-server'], {
|
|
14
|
+
cwd,
|
|
15
|
+
env: buildCodexAppServerEnv(extraEnv),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
throw codexSpawnError(error, bin);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/** Minimal newline-JSON request correlator shared by runs and short-lived discovery. */
|
|
23
|
+
export class CodexAppServerRpc {
|
|
24
|
+
child;
|
|
25
|
+
nextId = 1;
|
|
26
|
+
pending = new Map();
|
|
27
|
+
constructor(child) {
|
|
28
|
+
this.child = child;
|
|
29
|
+
}
|
|
30
|
+
allocateId() {
|
|
31
|
+
return this.nextId++;
|
|
32
|
+
}
|
|
33
|
+
request(method, params) {
|
|
34
|
+
const id = this.allocateId();
|
|
35
|
+
const promise = new Promise((resolve, reject) => {
|
|
36
|
+
this.pending.set(id, { resolve, reject });
|
|
37
|
+
});
|
|
38
|
+
this.write({ id, method, params });
|
|
39
|
+
return promise;
|
|
40
|
+
}
|
|
41
|
+
notify(method, params) {
|
|
42
|
+
this.write({ method, params });
|
|
43
|
+
}
|
|
44
|
+
respond(message) {
|
|
45
|
+
this.write(message);
|
|
46
|
+
}
|
|
47
|
+
dispatchResponse(message) {
|
|
48
|
+
if (typeof message.id !== 'number' || (message.result === undefined && message.error === undefined))
|
|
49
|
+
return false;
|
|
50
|
+
const pending = this.pending.get(message.id);
|
|
51
|
+
if (!pending)
|
|
52
|
+
return false;
|
|
53
|
+
this.pending.delete(message.id);
|
|
54
|
+
if (message.error)
|
|
55
|
+
pending.reject(new Error(codexErrorText(message.error)));
|
|
56
|
+
else
|
|
57
|
+
pending.resolve(message.result ?? {});
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
async initialize() {
|
|
61
|
+
await this.request('initialize', {
|
|
62
|
+
clientInfo: { name: 'cezar', title: 'cezar', version: '0.1.0' },
|
|
63
|
+
capabilities: { experimentalApi: true },
|
|
64
|
+
});
|
|
65
|
+
this.notify('initialized', {});
|
|
66
|
+
}
|
|
67
|
+
rejectPending(message = 'codex app-server exited') {
|
|
68
|
+
for (const request of this.pending.values())
|
|
69
|
+
request.reject(new Error(message));
|
|
70
|
+
this.pending.clear();
|
|
71
|
+
}
|
|
72
|
+
write(message) {
|
|
73
|
+
if (this.child.stdin.destroyed)
|
|
74
|
+
return;
|
|
75
|
+
try {
|
|
76
|
+
this.child.stdin.write(`${JSON.stringify(message)}\n`);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// The read/exit path owns settlement when stdin disappears.
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export function endCodexAppServer(child, onTimers) {
|
|
84
|
+
try {
|
|
85
|
+
child.stdin.end();
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// already gone
|
|
89
|
+
}
|
|
90
|
+
let killTimer;
|
|
91
|
+
const termTimer = setTimeout(() => {
|
|
92
|
+
if (child.exitCode == null && !child.killed)
|
|
93
|
+
child.kill('SIGTERM');
|
|
94
|
+
killTimer = setTimeout(() => {
|
|
95
|
+
if (child.exitCode == null && !child.killed)
|
|
96
|
+
child.kill('SIGKILL');
|
|
97
|
+
}, EOF_KILL_GRACE_MS);
|
|
98
|
+
killTimer.unref?.();
|
|
99
|
+
onTimers?.(termTimer, killTimer);
|
|
100
|
+
}, EOF_TERM_GRACE_MS);
|
|
101
|
+
termTimer.unref?.();
|
|
102
|
+
onTimers?.(termTimer, killTimer);
|
|
103
|
+
}
|
|
104
|
+
export function waitForCodexAppServerExit(child) {
|
|
105
|
+
if (child.exitCode != null)
|
|
106
|
+
return Promise.resolve(child.exitCode);
|
|
107
|
+
return new Promise((resolve) => {
|
|
108
|
+
let done = false;
|
|
109
|
+
const finish = (code) => {
|
|
110
|
+
if (done)
|
|
111
|
+
return;
|
|
112
|
+
done = true;
|
|
113
|
+
clearTimeout(safety);
|
|
114
|
+
resolve(code);
|
|
115
|
+
};
|
|
116
|
+
child.once('close', (code) => finish(code));
|
|
117
|
+
child.once('exit', (code) => finish(code));
|
|
118
|
+
child.once('error', () => finish(child.exitCode ?? null));
|
|
119
|
+
const safety = setTimeout(() => finish(child.exitCode ?? null), EOF_TERM_GRACE_MS + EOF_KILL_GRACE_MS + KILL_GRACE_MS + 5_000);
|
|
120
|
+
safety.unref?.();
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
export function codexSpawnError(error, bin) {
|
|
124
|
+
const code = error?.code;
|
|
125
|
+
if (code === 'ENOENT') {
|
|
126
|
+
return new Error(`\`${bin}\` not found on PATH — install the Codex CLI (npm i -g @openai/codex) and run \`codex\` once to log in`);
|
|
127
|
+
}
|
|
128
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
129
|
+
}
|
|
130
|
+
function codexErrorText(error) {
|
|
131
|
+
if (error && typeof error === 'object' && 'message' in error) {
|
|
132
|
+
return String(error.message);
|
|
133
|
+
}
|
|
134
|
+
return typeof error === 'string' ? error : JSON.stringify(error);
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=codex-app-server-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-app-server-transport.js","sourceRoot":"","sources":["../../src/core/codex-app-server-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ChildProcessWithoutNullStreams } from 'node:child_process';
|
|
2
|
+
import type { ModelOption } from './runner-model-catalog.js';
|
|
3
|
+
export interface CodexModelDiscoveryOptions {
|
|
4
|
+
cwd: string;
|
|
5
|
+
bin?: string;
|
|
6
|
+
timeoutMs?: number;
|
|
7
|
+
spawn?: (bin: string, cwd: string) => ChildProcessWithoutNullStreams;
|
|
8
|
+
}
|
|
9
|
+
/** Discover the visible catalog exposed by the authenticated host Codex CLI. */
|
|
10
|
+
export declare function discoverCodexModels(options: CodexModelDiscoveryOptions): Promise<ModelOption[]>;
|