@open-mercato/cezar 0.8.0 → 0.9.0-pr470.650
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 +109 -14
- package/dist/agent-config/catalog.d.ts +64 -0
- package/dist/agent-config/catalog.js +205 -0
- package/dist/agent-config/catalog.js.map +1 -0
- package/dist/agent-config/files.d.ts +46 -0
- package/dist/agent-config/files.js +119 -0
- package/dist/agent-config/files.js.map +1 -0
- package/dist/agent-config/seed.d.ts +7 -0
- package/dist/agent-config/seed.js +90 -0
- package/dist/agent-config/seed.js.map +1 -0
- package/dist/agent-config/service.d.ts +44 -0
- package/dist/agent-config/service.js +71 -0
- package/dist/agent-config/service.js.map +1 -0
- package/dist/agent-config/validate.d.ts +21 -0
- package/dist/agent-config/validate.js +76 -0
- package/dist/agent-config/validate.js.map +1 -0
- package/dist/config.d.ts +34 -4
- package/dist/config.js +97 -2
- package/dist/config.js.map +1 -1
- package/dist/core/agent-env.js +21 -15
- package/dist/core/agent-env.js.map +1 -1
- package/dist/core/agent-runner.d.ts +16 -6
- package/dist/core/agent-runner.js +15 -3
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/ask.d.ts +184 -0
- package/dist/core/ask.js +97 -0
- package/dist/core/ask.js.map +1 -0
- package/dist/core/backend-detect.d.ts +5 -5
- package/dist/core/backend-detect.js +37 -5
- package/dist/core/backend-detect.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +17 -2
- package/dist/core/claude-cli-runner.js +8 -3
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/claude-ui-mapper.d.ts +9 -0
- package/dist/core/claude-ui-mapper.js +34 -3
- package/dist/core/claude-ui-mapper.js.map +1 -1
- package/dist/core/codex-app-server-runner.d.ts +15 -3
- package/dist/core/codex-app-server-runner.js +158 -127
- 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/codex-ui-mapper.d.ts +47 -2
- package/dist/core/codex-ui-mapper.js +247 -29
- package/dist/core/codex-ui-mapper.js.map +1 -1
- package/dist/core/model-identity.d.ts +113 -0
- package/dist/core/model-identity.js +119 -0
- package/dist/core/model-identity.js.map +1 -0
- package/dist/core/model-presets.d.ts +15 -0
- package/dist/core/model-presets.js +43 -0
- package/dist/core/model-presets.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +1 -1
- package/dist/core/opencode-server-runner.js +7 -12
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/opencode-ui-mapper.d.ts +11 -7
- package/dist/core/opencode-ui-mapper.js +62 -19
- package/dist/core/opencode-ui-mapper.js.map +1 -1
- package/dist/core/pi-runner.d.ts +40 -0
- package/dist/core/pi-runner.js +49 -0
- package/dist/core/pi-runner.js.map +1 -0
- package/dist/core/process-usage.d.ts +3 -0
- package/dist/core/process-usage.js +12 -0
- package/dist/core/process-usage.js.map +1 -1
- package/dist/core/runner-factory.js +3 -0
- package/dist/core/runner-factory.js.map +1 -1
- 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/core/secret-redaction.js.map +1 -1
- package/dist/core/tool-display.d.ts +2 -2
- package/dist/core/tool-display.js +24 -6
- package/dist/core/tool-display.js.map +1 -1
- package/dist/core/ui-events.d.ts +29 -2
- package/dist/git-worktree.d.ts +37 -4
- package/dist/git-worktree.js +175 -12
- package/dist/git-worktree.js.map +1 -1
- package/dist/handoff.d.ts +2 -2
- package/dist/handoff.js +2 -0
- package/dist/handoff.js.map +1 -1
- package/dist/index.js +55 -5
- package/dist/index.js.map +1 -1
- package/dist/install-as-command.d.ts +1 -1
- package/dist/install-as-command.js.map +1 -1
- package/dist/paths.d.ts +32 -2
- package/dist/paths.js +47 -2
- package/dist/paths.js.map +1 -1
- package/dist/runs/auto-name.js.map +1 -1
- package/dist/runs/retention.js.map +1 -1
- package/dist/runs/review-gate.js.map +1 -1
- package/dist/runs/store.d.ts +154 -60
- package/dist/runs/store.js +103 -19
- package/dist/runs/store.js.map +1 -1
- package/dist/runs/task-markers.d.ts +6 -2
- package/dist/runs/task-markers.js +25 -4
- package/dist/runs/task-markers.js.map +1 -1
- package/dist/runs/ui-event-sink.js.map +1 -1
- package/dist/server/capabilities.d.ts +22 -6
- package/dist/server/capabilities.js +85 -8
- package/dist/server/capabilities.js.map +1 -1
- package/dist/server/checkout.d.ts +128 -0
- package/dist/server/checkout.js +296 -0
- package/dist/server/checkout.js.map +1 -0
- package/dist/server/forge/github.d.ts +281 -10
- package/dist/server/forge/github.js +539 -23
- package/dist/server/forge/github.js.map +1 -1
- package/dist/server/forge/types.d.ts +48 -1
- package/dist/server/fs-browse.d.ts +105 -0
- package/dist/server/fs-browse.js +182 -0
- package/dist/server/fs-browse.js.map +1 -0
- 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/github.d.ts +1 -1
- package/dist/server/open-in-app.d.ts +2 -1
- package/dist/server/open-in-app.js +1 -0
- package/dist/server/open-in-app.js.map +1 -1
- package/dist/server/project-context.d.ts +103 -0
- package/dist/server/project-context.js +153 -0
- package/dist/server/project-context.js.map +1 -0
- package/dist/server/server.d.ts +110 -0
- package/dist/server/server.js +1557 -215
- package/dist/server/server.js.map +1 -1
- package/dist/server/wsl.js.map +1 -1
- package/dist/server-install/platforms/macosx-ngrok.js.map +1 -1
- package/dist/server-install/platforms/ubuntu-vps.js +7 -0
- package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
- package/dist/server-install/state.js.map +1 -1
- package/dist/server-install/steps.js +6 -2
- package/dist/server-install/steps.js.map +1 -1
- package/dist/server-install/types.d.ts +28 -28
- package/dist/server-install/ui.js.map +1 -1
- package/dist/skills-banner.js.map +1 -1
- package/dist/skills-remote.d.ts +10 -4
- package/dist/skills-remote.js +31 -14
- package/dist/skills-remote.js.map +1 -1
- package/dist/skills.d.ts +29 -0
- package/dist/skills.js +72 -14
- package/dist/skills.js.map +1 -1
- package/dist/todos.d.ts +9 -7
- package/dist/todos.js +38 -19
- package/dist/todos.js.map +1 -1
- package/dist/workflows/run.d.ts +145 -10
- package/dist/workflows/run.js +608 -66
- package/dist/workflows/run.js.map +1 -1
- package/dist/workflows/types.d.ts +42 -42
- package/dist/workflows/types.js +2 -1
- package/dist/workflows/types.js.map +1 -1
- package/dist/workspace/config.d.ts +251 -0
- package/dist/workspace/config.js +162 -0
- package/dist/workspace/config.js.map +1 -0
- package/dist/workspace/migrations.d.ts +45 -0
- package/dist/workspace/migrations.js +132 -0
- package/dist/workspace/migrations.js.map +1 -0
- package/dist/workspace/projects-cli.d.ts +23 -0
- package/dist/workspace/projects-cli.js +105 -0
- package/dist/workspace/projects-cli.js.map +1 -0
- package/dist/workspace/projects.d.ts +81 -0
- package/dist/workspace/projects.js +214 -0
- package/dist/workspace/projects.js.map +1 -0
- package/dist/workspace/semaphore.d.ts +77 -0
- package/dist/workspace/semaphore.js +57 -0
- package/dist/workspace/semaphore.js.map +1 -0
- package/dist/workspace/ui-state.d.ts +23 -0
- package/dist/workspace/ui-state.js +42 -0
- package/dist/workspace/ui-state.js.map +1 -0
- package/package.json +3 -2
- package/scripts/mock-claude.mjs +136 -2
- package/web/dist/assets/arrow-left-CnSdp92h.js +1 -0
- package/web/dist/assets/centered-state-NF79blq7.js +43 -0
- package/web/dist/assets/{chunk-BO2N2NFS-BN7h-q1E.js → chunk-BO2N2NFS-DtrdTCWa.js} +4 -4
- package/web/dist/assets/commit-list-CL8vSWGw.js +1 -0
- package/web/dist/assets/compare-variants-mI-MnhuR.js +1 -0
- package/web/dist/assets/diff-view-Bhfvnnn9.js +6 -0
- package/web/dist/assets/dist-COA_NSud.js +1 -0
- package/web/dist/assets/ellipsis-vertical-CNnSLn5a.js +1 -0
- package/web/dist/assets/{file-tuE95HNX.js → file-D4GBh1ao.js} +1 -1
- package/web/dist/assets/{git-pull-request-BztcgsRZ.js → git-pull-request-DnR8Xh4_.js} +1 -1
- package/web/dist/assets/git-toolbar-rVtFyL4t.js +1 -0
- package/web/dist/assets/github-_t0ceKcO.js +1 -0
- package/web/dist/assets/{highlighted-body-OFNGDK62-CJIHtxqW.js → highlighted-body-OFNGDK62-BuFJwunK.js} +1 -1
- package/web/dist/assets/{image-preview-Ca0UgThg.js → image-preview-DEhW0TFz.js} +1 -1
- package/web/dist/assets/index-BfXFhAGQ.js +30 -0
- package/web/dist/assets/index-Mov2Rrbw.css +2 -0
- package/web/dist/assets/lib-DPEZDBUN.js +1 -0
- package/web/dist/assets/mermaid-GHXKKRXX-CN2zQue0.js +1 -0
- package/web/dist/assets/project-router-CBzGUqvS.js +1 -0
- package/web/dist/assets/{refresh-cw-B4NW5q60.js → refresh-cw-BT8E96Tm.js} +1 -1
- package/web/dist/assets/repo-git-C3dJiX3j.js +1 -0
- package/web/dist/assets/{run-diff-BKpV1kGk.js → run-diff-HEZcHwRr.js} +3 -3
- package/web/dist/assets/run-header-DldbROhB.js +1 -0
- package/web/dist/assets/{search-x-C6xG26dv.js → search-x-BDjaMrzG.js} +1 -1
- package/web/dist/assets/skill-empty-hint-DTUSp6Vl.js +1 -0
- package/web/dist/assets/skills-BIg29xLt.js +1 -0
- package/web/dist/assets/{square-terminal-D9l_Xx7B.js → square-terminal-Ckjjn0vb.js} +1 -1
- package/web/dist/assets/tab-link-DTQ9FBZY.js +1 -0
- package/web/dist/assets/task-changes-DRhQVnFN.js +1 -0
- package/web/dist/assets/task-commits-5StODPII.js +1 -0
- package/web/dist/assets/task-files-BuylxobG.js +2 -0
- package/web/dist/assets/task-thread-DnHR0k7k.js +9 -0
- package/web/dist/assets/textarea-Bj_LCreg.js +1 -0
- package/web/dist/assets/toml-CcmNWLt0.js +1 -0
- package/web/dist/assets/{trash-2-De8Z5Y5-.js → trash-2-DAyZ0VSi.js} +1 -1
- package/web/dist/assets/{triangle-alert-DJUyRhTV.js → triangle-alert-Uy8rokUh.js} +1 -1
- package/web/dist/assets/{upload-yxUM9nk5.js → upload-CDdyPPo_.js} +1 -1
- package/web/dist/assets/use-desktop-TyHAXhMR.js +3 -0
- package/web/dist/assets/utils-B8s5qIcK.js +1 -0
- package/web/dist/assets/workflows-CwDYZLvG.js +11 -0
- package/web/dist/assets/zoomable-image-PEDOqyLQ.js +1 -0
- package/web/dist/index.html +10 -19
- package/web/dist/assets/arrow-left-bEsJ-6jp.js +0 -1
- package/web/dist/assets/centered-state-DzJJpXgm.js +0 -43
- package/web/dist/assets/command-eBgVGftz.js +0 -1
- package/web/dist/assets/compare-variants-DhqGJuHF.js +0 -1
- package/web/dist/assets/dialog-Bf1Cpc3n.js +0 -1
- package/web/dist/assets/diff-view-Cqc8LRkj.js +0 -4
- package/web/dist/assets/dist-M2QYGAcm.js +0 -1
- package/web/dist/assets/dist-ZAIqO3UX.js +0 -1
- package/web/dist/assets/folder-20ea3OVM.js +0 -1
- package/web/dist/assets/git-toolbar-DAlBoSP5.js +0 -1
- package/web/dist/assets/github--sfM4X3j.js +0 -1
- package/web/dist/assets/highlighter-ZVyRi_Cx.js +0 -3
- package/web/dist/assets/index-DlKq8gF4.css +0 -2
- package/web/dist/assets/index-h4gyDJyh.js +0 -11
- package/web/dist/assets/loader-circle-Bnw4ga19.js +0 -1
- package/web/dist/assets/markdown-DxmCMr30.js +0 -1
- package/web/dist/assets/mermaid-GHXKKRXX-DghlHZS5.js +0 -1
- package/web/dist/assets/prompt-templates-CsGr-FXH.js +0 -15
- package/web/dist/assets/repo-git-CHF2oip_.js +0 -1
- package/web/dist/assets/run-header-3CGn6FAM.js +0 -1
- package/web/dist/assets/skill-detail-DsD4-dGp.js +0 -1
- package/web/dist/assets/skill-empty-hint-Cl3ESoPu.js +0 -1
- package/web/dist/assets/skills-5kRcjM1J.js +0 -1
- package/web/dist/assets/skills-B13iqWAN.js +0 -1
- package/web/dist/assets/tab-link-DkVxOa-q.js +0 -1
- package/web/dist/assets/task-changes-DtMiVVwO.js +0 -1
- package/web/dist/assets/task-commits-VbSLn_tW.js +0 -1
- package/web/dist/assets/task-files-qYDBG3Mx.js +0 -2
- package/web/dist/assets/task-thread-BfGERKlB.js +0 -7
- package/web/dist/assets/tasks-table-C5fwJmZ7.js +0 -1
- package/web/dist/assets/use-desktop-6PwFeCW3.js +0 -3
- package/web/dist/assets/utils-CzkLr94M.js +0 -1
- package/web/dist/assets/workflows-CnTcKlfV.js +0 -11
- package/web/dist/assets/x-DaR4ZfE-.js +0 -1
- package/web/dist/assets/zoomable-image-B-76XMUw.js +0 -1
|
@@ -1,8 +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 {
|
|
2
|
+
import { AUTO_END_DELAY_MS, DEFAULT_RUN_TIMEOUT_MS, KILL_GRACE_MS, } from './claude-cli-runner.js';
|
|
3
|
+
import { parseAskRequest } from './ask.js';
|
|
5
4
|
import { readNdjson } from './ndjson.js';
|
|
5
|
+
import { CodexAppServerRpc, codexSpawnError, endCodexAppServer, resolveCodexExecutable, spawnCodexAppServer, waitForCodexAppServerExit, } from './codex-app-server-transport.js';
|
|
6
6
|
import { codexSessionStarted, createCodexUiState, mapCodexNotification, } from './codex-ui-mapper.js';
|
|
7
7
|
/**
|
|
8
8
|
* `AgentRunner` over `codex app-server` — the same JSONL transport the VS Code
|
|
@@ -13,8 +13,11 @@ import { codexSessionStarted, createCodexUiState, mapCodexNotification, } from '
|
|
|
13
13
|
* `thread/resume` to reopen a stored thread for "Continue".
|
|
14
14
|
*
|
|
15
15
|
* Auth = the host's logged-in ChatGPT/Codex session (or CODEX_API_KEY). The
|
|
16
|
-
* agent runs autonomously via `sandbox:
|
|
17
|
-
*
|
|
16
|
+
* agent runs autonomously via `sandbox: danger-full-access` +
|
|
17
|
+
* `approvalPolicy: never`, matching cezar's default auto permission mode
|
|
18
|
+
* (spec 2026-07-17-permission-modes). Codex has no per-tool allowlist, so
|
|
19
|
+
* `spec.allowedTools` is ignored. `CEZ_CODEX_NETWORK=0` retains the previous
|
|
20
|
+
* network-blocked `workspace-write` sandbox as an explicit restriction.
|
|
18
21
|
*/
|
|
19
22
|
export class CodexAppServerRunner {
|
|
20
23
|
backend = 'codex';
|
|
@@ -22,7 +25,7 @@ export class CodexAppServerRunner {
|
|
|
22
25
|
timeoutMs;
|
|
23
26
|
lastSession = null;
|
|
24
27
|
constructor(opts = {}) {
|
|
25
|
-
this.bin = opts.bin
|
|
28
|
+
this.bin = resolveCodexExecutable(opts.bin);
|
|
26
29
|
this.timeoutMs = opts.timeoutMs ?? DEFAULT_RUN_TIMEOUT_MS;
|
|
27
30
|
}
|
|
28
31
|
run(spec, onEvent) {
|
|
@@ -45,11 +48,11 @@ class CodexSession {
|
|
|
45
48
|
opts;
|
|
46
49
|
result;
|
|
47
50
|
child;
|
|
51
|
+
rpc;
|
|
48
52
|
stdinOpen = true;
|
|
49
53
|
threadId;
|
|
50
54
|
activeTurnId;
|
|
51
|
-
|
|
52
|
-
pending = new Map();
|
|
55
|
+
pendingUserInput;
|
|
53
56
|
toolCalls = [];
|
|
54
57
|
textChunks = [];
|
|
55
58
|
/** agentMessage item ids that streamed deltas — so `item/completed` for the
|
|
@@ -72,25 +75,14 @@ class CodexSession {
|
|
|
72
75
|
this.onEvent = onEvent;
|
|
73
76
|
this.opts = opts;
|
|
74
77
|
try {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// api.github.com" under codex while the same tool works under claude (#codex-network).
|
|
78
|
-
// `-c` is codex's documented config override (dotted key, TOML value); opt out with
|
|
79
|
-
// CEZ_CODEX_NETWORK=0.
|
|
80
|
-
const args = ['app-server'];
|
|
81
|
-
if (process.env.CEZ_CODEX_NETWORK !== '0') {
|
|
82
|
-
args.push('-c', 'sandbox_workspace_write.network_access=true');
|
|
83
|
-
}
|
|
84
|
-
this.child = nodeSpawn(bin, args, {
|
|
85
|
-
cwd: spec.cwd,
|
|
86
|
-
env: buildChildEnv({ backend: 'codex', extraEnv: spec.env }),
|
|
87
|
-
});
|
|
78
|
+
this.child = spawnCodexAppServer(bin, spec.cwd, spec.env);
|
|
79
|
+
this.rpc = new CodexAppServerRpc(this.child);
|
|
88
80
|
}
|
|
89
81
|
catch (err) {
|
|
90
|
-
throw
|
|
82
|
+
throw codexSpawnError(err, bin);
|
|
91
83
|
}
|
|
92
84
|
this.child.on('error', (err) => {
|
|
93
|
-
this.spawnFailed =
|
|
85
|
+
this.spawnFailed = codexSpawnError(err, bin);
|
|
94
86
|
});
|
|
95
87
|
const stderrChunks = [];
|
|
96
88
|
this.child.stderr.setEncoding('utf8');
|
|
@@ -116,24 +108,36 @@ class CodexSession {
|
|
|
116
108
|
// loop below (which resolves the request() promises this awaits).
|
|
117
109
|
this.ready = this.bootstrap();
|
|
118
110
|
this.result = (async () => {
|
|
111
|
+
let sessionError;
|
|
119
112
|
try {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
113
|
+
const readLoop = async () => {
|
|
114
|
+
for await (const line of readNdjson(this.child.stdout)) {
|
|
115
|
+
if (this.timedOut)
|
|
116
|
+
break;
|
|
117
|
+
let msg;
|
|
118
|
+
try {
|
|
119
|
+
msg = JSON.parse(line);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
continue; // not JSON-RPC — skip
|
|
123
|
+
}
|
|
124
|
+
this.emitUi((state) => mapCodexNotification(msg, state));
|
|
125
|
+
this.dispatch(msg);
|
|
129
126
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
127
|
+
};
|
|
128
|
+
// Start consuming stdout before awaiting bootstrap: JSON-RPC responses
|
|
129
|
+
// read here settle the initialize/thread/turn requests. Owning both
|
|
130
|
+
// promises makes every bootstrap rejection part of session.result.
|
|
131
|
+
await Promise.all([this.ready, readLoop()]);
|
|
133
132
|
}
|
|
134
133
|
catch (err) {
|
|
135
|
-
if (!this.timedOut)
|
|
136
|
-
|
|
134
|
+
if (!this.timedOut) {
|
|
135
|
+
sessionError = err;
|
|
136
|
+
// Bootstrap failed before a usable turn exists. Closing stdin lets
|
|
137
|
+
// app-server exit normally; end() also owns the TERM/KILL watchdog
|
|
138
|
+
// if a broken child ignores EOF.
|
|
139
|
+
this.end();
|
|
140
|
+
}
|
|
137
141
|
}
|
|
138
142
|
finally {
|
|
139
143
|
if (deadline)
|
|
@@ -144,16 +148,16 @@ class CodexSession {
|
|
|
144
148
|
clearTimeout(this.autoEndTimer);
|
|
145
149
|
this.stdinOpen = false;
|
|
146
150
|
}
|
|
147
|
-
const exitCode = await
|
|
151
|
+
const exitCode = await waitForCodexAppServerExit(this.child);
|
|
148
152
|
if (this.eofTermTimer)
|
|
149
153
|
clearTimeout(this.eofTermTimer);
|
|
150
154
|
if (this.eofKillTimer)
|
|
151
155
|
clearTimeout(this.eofKillTimer);
|
|
152
|
-
|
|
153
|
-
p.reject(new Error('codex app-server exited'));
|
|
154
|
-
this.pending.clear();
|
|
156
|
+
this.rpc.rejectPending();
|
|
155
157
|
if (this.spawnFailed)
|
|
156
158
|
throw this.spawnFailed;
|
|
159
|
+
if (sessionError)
|
|
160
|
+
throw sessionError;
|
|
157
161
|
const text = this.textChunks.join('\n').trim();
|
|
158
162
|
const base = {
|
|
159
163
|
text,
|
|
@@ -194,6 +198,12 @@ class CodexSession {
|
|
|
194
198
|
const text = textOf(content);
|
|
195
199
|
if (!text)
|
|
196
200
|
return true;
|
|
201
|
+
if (this.pendingUserInput) {
|
|
202
|
+
const pending = this.pendingUserInput;
|
|
203
|
+
this.pendingUserInput = undefined;
|
|
204
|
+
this.rpc.respond({ id: pending.rpcId, result: { answers: userInputAnswers(pending.questions, text) } });
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
197
207
|
// Wait for the thread to exist, then steer the live turn or start a new one.
|
|
198
208
|
void this.ready
|
|
199
209
|
.then(() => this.startOrSteerTurn(text))
|
|
@@ -206,52 +216,46 @@ class CodexSession {
|
|
|
206
216
|
end() {
|
|
207
217
|
if (!this.stdinOpen)
|
|
208
218
|
return;
|
|
219
|
+
this.rejectPendingUserInput('session ended');
|
|
209
220
|
this.stdinOpen = false;
|
|
210
221
|
try {
|
|
211
|
-
this.child
|
|
222
|
+
endCodexAppServer(this.child, (term, kill) => {
|
|
223
|
+
this.eofTermTimer = term;
|
|
224
|
+
this.eofKillTimer = kill;
|
|
225
|
+
});
|
|
212
226
|
}
|
|
213
227
|
catch {
|
|
214
228
|
// already gone
|
|
215
229
|
}
|
|
216
|
-
this.eofTermTimer = setTimeout(() => {
|
|
217
|
-
if (this.child.exitCode == null && !this.child.killed)
|
|
218
|
-
this.child.kill('SIGTERM');
|
|
219
|
-
this.eofKillTimer = setTimeout(() => {
|
|
220
|
-
if (this.child.exitCode == null && !this.child.killed)
|
|
221
|
-
this.child.kill('SIGKILL');
|
|
222
|
-
}, EOF_KILL_GRACE_MS);
|
|
223
|
-
this.eofKillTimer.unref?.();
|
|
224
|
-
}, EOF_TERM_GRACE_MS);
|
|
225
|
-
this.eofTermTimer.unref?.();
|
|
226
230
|
}
|
|
227
231
|
interrupt() {
|
|
228
232
|
this.stdinOpen = false;
|
|
233
|
+
this.rejectPendingUserInput('turn interrupted');
|
|
229
234
|
// Best-effort graceful cancel of the in-flight turn, then hard stop.
|
|
230
235
|
if (this.threadId && this.activeTurnId) {
|
|
231
|
-
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);
|
|
232
237
|
}
|
|
233
238
|
if (!this.child.killed)
|
|
234
239
|
this.child.kill('SIGTERM');
|
|
235
240
|
}
|
|
236
241
|
// ---- protocol -----------------------------------------------------------
|
|
237
242
|
async bootstrap() {
|
|
238
|
-
await this.
|
|
239
|
-
clientInfo: { name: 'cezar', title: 'cezar', version: '0.1.0' },
|
|
240
|
-
capabilities: { experimentalApi: true },
|
|
241
|
-
});
|
|
242
|
-
this.notify('initialized', {});
|
|
243
|
+
await this.rpc.initialize();
|
|
243
244
|
const overrides = {
|
|
244
245
|
model: this.spec.model,
|
|
245
246
|
cwd: this.spec.cwd,
|
|
246
|
-
|
|
247
|
+
// Full access is the `auto` preset shared by all backends. Besides avoiding prompts, this
|
|
248
|
+
// keeps container installs working when bubblewrap cannot create a UID map (#563).
|
|
249
|
+
// CEZ_CODEX_NETWORK=0 remains the backwards-compatible explicit sandbox opt-out.
|
|
250
|
+
sandbox: process.env.CEZ_CODEX_NETWORK === '0' ? 'workspace-write' : 'danger-full-access',
|
|
247
251
|
approvalPolicy: 'never',
|
|
248
252
|
};
|
|
249
253
|
if (this.spec.resume && this.spec.sessionId) {
|
|
250
|
-
await this.request('thread/resume', { threadId: this.spec.sessionId, ...clean(overrides) });
|
|
254
|
+
await this.rpc.request('thread/resume', { threadId: this.spec.sessionId, ...clean(overrides) });
|
|
251
255
|
this.threadId = this.spec.sessionId;
|
|
252
256
|
}
|
|
253
257
|
else {
|
|
254
|
-
const res = await this.request('thread/start', clean(overrides));
|
|
258
|
+
const res = await this.rpc.request('thread/start', clean(overrides));
|
|
255
259
|
this.threadId = threadIdOf(res) ?? this.spec.sessionId;
|
|
256
260
|
}
|
|
257
261
|
if (this.threadId) {
|
|
@@ -272,52 +276,52 @@ class CodexSession {
|
|
|
272
276
|
return;
|
|
273
277
|
const input = [{ type: 'text', text, text_elements: [] }];
|
|
274
278
|
if (this.activeTurnId) {
|
|
275
|
-
await this.request('turn/steer', {
|
|
279
|
+
await this.rpc.request('turn/steer', {
|
|
276
280
|
threadId: this.threadId,
|
|
277
281
|
input,
|
|
278
282
|
expectedTurnId: this.activeTurnId,
|
|
279
283
|
});
|
|
280
284
|
return;
|
|
281
285
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
|
|
286
|
+
// Ask the app-server for reasoning summaries; without this the model runs
|
|
287
|
+
// with its default (no summary), so the reasoning thread stays empty even
|
|
288
|
+
// though the mapper and UI can render it. The override persists for this
|
|
289
|
+
// turn and every subsequent turn, so seeding it on turn/start is enough.
|
|
290
|
+
const res = await this.rpc.request('turn/start', {
|
|
291
|
+
threadId: this.threadId,
|
|
292
|
+
input,
|
|
293
|
+
summary: reasoningSummary(),
|
|
289
294
|
});
|
|
290
|
-
this.
|
|
291
|
-
return promise;
|
|
292
|
-
}
|
|
293
|
-
notify(method, params) {
|
|
294
|
-
this.write({ method, params });
|
|
295
|
-
}
|
|
296
|
-
write(obj) {
|
|
297
|
-
if (this.child.stdin.destroyed)
|
|
298
|
-
return;
|
|
299
|
-
try {
|
|
300
|
-
this.child.stdin.write(`${JSON.stringify(obj)}\n`);
|
|
301
|
-
}
|
|
302
|
-
catch {
|
|
303
|
-
// stdin gone — the read loop will settle the session
|
|
304
|
-
}
|
|
295
|
+
this.activeTurnId = turnIdOf(res) ?? this.activeTurnId;
|
|
305
296
|
}
|
|
306
297
|
dispatch(msg) {
|
|
307
|
-
if (
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
this.pending.delete(msg.id);
|
|
312
|
-
if (msg.error)
|
|
313
|
-
p.reject(new Error(errorText(msg.error)));
|
|
314
|
-
else
|
|
315
|
-
p.resolve(msg.result ?? {});
|
|
298
|
+
if (this.rpc.dispatchResponse(msg))
|
|
299
|
+
return;
|
|
300
|
+
if (msg.method === 'item/tool/requestUserInput' && (typeof msg.id === 'number' || typeof msg.id === 'string')) {
|
|
301
|
+
this.handleUserInputRequest(msg.id, msg.params ?? {});
|
|
316
302
|
return;
|
|
317
303
|
}
|
|
318
304
|
if (typeof msg.method === 'string')
|
|
319
305
|
this.handleNotification(msg.method, msg.params ?? {});
|
|
320
306
|
}
|
|
307
|
+
handleUserInputRequest(rpcId, params) {
|
|
308
|
+
const questions = codexAskQuestions(params.questions);
|
|
309
|
+
if (!questions) {
|
|
310
|
+
this.rpc.respond({ id: rpcId, error: { code: -32602, message: 'unsupported or malformed requestUserInput payload' } });
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
if (this.pendingUserInput)
|
|
314
|
+
this.rejectPendingUserInput('superseded by a newer requestUserInput');
|
|
315
|
+
this.pendingUserInput = { rpcId, questions };
|
|
316
|
+
this.opts.onUiEvent?.({ type: 'ask.requested', requestId: `codex-${String(rpcId)}`, questions });
|
|
317
|
+
}
|
|
318
|
+
rejectPendingUserInput(message) {
|
|
319
|
+
const pending = this.pendingUserInput;
|
|
320
|
+
if (!pending)
|
|
321
|
+
return;
|
|
322
|
+
this.pendingUserInput = undefined;
|
|
323
|
+
this.rpc.respond({ id: pending.rpcId, error: { code: -32000, message } });
|
|
324
|
+
}
|
|
321
325
|
handleNotification(method, params) {
|
|
322
326
|
switch (method) {
|
|
323
327
|
case 'turn/started': {
|
|
@@ -340,7 +344,7 @@ class CodexSession {
|
|
|
340
344
|
const type = stringField(item, 'type');
|
|
341
345
|
// Only tool-like items become tool events; message/reasoning stream as text.
|
|
342
346
|
if (type && !NON_TOOL_ITEMS.has(type)) {
|
|
343
|
-
const id = stringField(item, 'id') ?? `item-${this.
|
|
347
|
+
const id = stringField(item, 'id') ?? `item-${this.rpc.allocateId()}`;
|
|
344
348
|
this.toolCalls.push({ id, name: type, input: item });
|
|
345
349
|
this.emit({ type: 'tool-call', id, tool: type, input: item });
|
|
346
350
|
}
|
|
@@ -378,7 +382,9 @@ class CodexSession {
|
|
|
378
382
|
}
|
|
379
383
|
break;
|
|
380
384
|
}
|
|
381
|
-
case 'turn/completed':
|
|
385
|
+
case 'turn/completed':
|
|
386
|
+
case 'turn/failed': {
|
|
387
|
+
this.pendingUserInput = undefined;
|
|
382
388
|
this.activeTurnId = undefined;
|
|
383
389
|
this.emit({ type: 'turn-end' });
|
|
384
390
|
if (this.opts.autoEndAfterFirstTurn && this.stdinOpen && !this.autoEndTimer) {
|
|
@@ -410,8 +416,65 @@ class CodexSession {
|
|
|
410
416
|
}
|
|
411
417
|
}
|
|
412
418
|
}
|
|
419
|
+
// ---- helpers --------------------------------------------------------------
|
|
420
|
+
function codexAskQuestions(value) {
|
|
421
|
+
if (!Array.isArray(value) || value.length < 1 || value.length > 4)
|
|
422
|
+
return null;
|
|
423
|
+
const questions = [];
|
|
424
|
+
for (const raw of value) {
|
|
425
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
426
|
+
return null;
|
|
427
|
+
const question = raw;
|
|
428
|
+
if (question.isSecret === true)
|
|
429
|
+
return null;
|
|
430
|
+
const id = stringField(question, 'id');
|
|
431
|
+
const header = stringField(question, 'header');
|
|
432
|
+
const prompt = stringField(question, 'question');
|
|
433
|
+
if (!id || !header || !prompt || !Array.isArray(question.options))
|
|
434
|
+
return null;
|
|
435
|
+
const options = question.options.map((option) => {
|
|
436
|
+
if (!option || typeof option !== 'object' || Array.isArray(option))
|
|
437
|
+
return null;
|
|
438
|
+
const record = option;
|
|
439
|
+
const label = stringField(record, 'label');
|
|
440
|
+
const description = stringField(record, 'description');
|
|
441
|
+
return label ? { label, ...(description ? { description } : {}) } : null;
|
|
442
|
+
}).filter((option) => option !== null);
|
|
443
|
+
questions.push({ id, header, question: prompt, options, multiSelect: false });
|
|
444
|
+
}
|
|
445
|
+
return parseAskRequest({ questions })?.questions ?? null;
|
|
446
|
+
}
|
|
447
|
+
function userInputAnswers(questions, text) {
|
|
448
|
+
const lines = text.split(/\r?\n/);
|
|
449
|
+
const hasStructuredAnswer = questions.some((question) => lines.some((line) => line.startsWith(`${question.header}:`)));
|
|
450
|
+
const answers = {};
|
|
451
|
+
for (const [index, question] of questions.entries()) {
|
|
452
|
+
const prefix = `${question.header}:`;
|
|
453
|
+
const matching = lines.find((line) => line.startsWith(prefix));
|
|
454
|
+
const raw = matching?.slice(prefix.length).trim() ?? (!hasStructuredAnswer && index === 0 ? text.trim() : '');
|
|
455
|
+
answers[question.id ?? String(index)] = {
|
|
456
|
+
answers: raw === '' ? [] : raw.split(',').map((answer) => answer.trim()).filter(Boolean),
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
return answers;
|
|
460
|
+
}
|
|
413
461
|
/** ThreadItem `type`s that are conversation text, not tool activity. */
|
|
414
462
|
const NON_TOOL_ITEMS = new Set(['agentMessage', 'userMessage', 'reasoning', 'plan']);
|
|
463
|
+
const REASONING_SUMMARIES = new Set(['auto', 'concise', 'detailed', 'none']);
|
|
464
|
+
/**
|
|
465
|
+
* The reasoning-summary override sent on `turn/start` (TurnStartParams.summary).
|
|
466
|
+
* Defaults to `auto` so reasoning is visible out of the box — without it the
|
|
467
|
+
* app-server runs with its own default (no summary) and the reasoning thread
|
|
468
|
+
* stays empty even when the model reasons. `CEZ_CODEX_REASONING` overrides the
|
|
469
|
+
* default (`auto`/`concise`/`detailed`, or `none` to opt out); an unrecognized
|
|
470
|
+
* value falls back to `auto`.
|
|
471
|
+
*/
|
|
472
|
+
export function reasoningSummary(env = process.env) {
|
|
473
|
+
const raw = env.CEZ_CODEX_REASONING?.trim().toLowerCase();
|
|
474
|
+
if (!raw)
|
|
475
|
+
return 'auto';
|
|
476
|
+
return REASONING_SUMMARIES.has(raw) ? raw : 'auto';
|
|
477
|
+
}
|
|
415
478
|
function textOf(content) {
|
|
416
479
|
return content
|
|
417
480
|
.filter((b) => b.type === 'text')
|
|
@@ -447,12 +510,6 @@ function tokenTotal(params) {
|
|
|
447
510
|
const total = usage?.total?.totalTokens;
|
|
448
511
|
return typeof total === 'number' ? total : 0;
|
|
449
512
|
}
|
|
450
|
-
function errorText(error) {
|
|
451
|
-
if (error && typeof error === 'object' && 'message' in error) {
|
|
452
|
-
return String(error.message);
|
|
453
|
-
}
|
|
454
|
-
return typeof error === 'string' ? error : JSON.stringify(error);
|
|
455
|
-
}
|
|
456
513
|
function safeStringify(value) {
|
|
457
514
|
try {
|
|
458
515
|
return JSON.stringify(value);
|
|
@@ -461,30 +518,4 @@ function safeStringify(value) {
|
|
|
461
518
|
return String(value);
|
|
462
519
|
}
|
|
463
520
|
}
|
|
464
|
-
function waitForExit(child) {
|
|
465
|
-
if (child.exitCode != null)
|
|
466
|
-
return Promise.resolve(child.exitCode);
|
|
467
|
-
return new Promise((resolve) => {
|
|
468
|
-
let done = false;
|
|
469
|
-
const fin = (code) => {
|
|
470
|
-
if (done)
|
|
471
|
-
return;
|
|
472
|
-
done = true;
|
|
473
|
-
clearTimeout(safety);
|
|
474
|
-
resolve(code);
|
|
475
|
-
};
|
|
476
|
-
child.once('close', (code) => fin(code));
|
|
477
|
-
child.once('exit', (code) => fin(code));
|
|
478
|
-
child.once('error', () => fin(child.exitCode ?? null));
|
|
479
|
-
const safety = setTimeout(() => fin(child.exitCode ?? null), EOF_TERM_GRACE_MS + EOF_KILL_GRACE_MS + KILL_GRACE_MS + 5_000);
|
|
480
|
-
safety.unref?.();
|
|
481
|
-
});
|
|
482
|
-
}
|
|
483
|
-
function wrapSpawnError(err, bin) {
|
|
484
|
-
const code = err?.code;
|
|
485
|
-
if (code === 'ENOENT') {
|
|
486
|
-
return new Error(`\`${bin}\` not found on PATH — install the Codex CLI (npm i -g @openai/codex) and run \`codex\` once to log in`);
|
|
487
|
-
}
|
|
488
|
-
return err instanceof Error ? err : new Error(String(err));
|
|
489
|
-
}
|
|
490
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;
|