@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.
Files changed (247) hide show
  1. package/README.md +109 -14
  2. package/dist/agent-config/catalog.d.ts +64 -0
  3. package/dist/agent-config/catalog.js +205 -0
  4. package/dist/agent-config/catalog.js.map +1 -0
  5. package/dist/agent-config/files.d.ts +46 -0
  6. package/dist/agent-config/files.js +119 -0
  7. package/dist/agent-config/files.js.map +1 -0
  8. package/dist/agent-config/seed.d.ts +7 -0
  9. package/dist/agent-config/seed.js +90 -0
  10. package/dist/agent-config/seed.js.map +1 -0
  11. package/dist/agent-config/service.d.ts +44 -0
  12. package/dist/agent-config/service.js +71 -0
  13. package/dist/agent-config/service.js.map +1 -0
  14. package/dist/agent-config/validate.d.ts +21 -0
  15. package/dist/agent-config/validate.js +76 -0
  16. package/dist/agent-config/validate.js.map +1 -0
  17. package/dist/config.d.ts +34 -4
  18. package/dist/config.js +97 -2
  19. package/dist/config.js.map +1 -1
  20. package/dist/core/agent-env.js +21 -15
  21. package/dist/core/agent-env.js.map +1 -1
  22. package/dist/core/agent-runner.d.ts +16 -6
  23. package/dist/core/agent-runner.js +15 -3
  24. package/dist/core/agent-runner.js.map +1 -1
  25. package/dist/core/ask.d.ts +184 -0
  26. package/dist/core/ask.js +97 -0
  27. package/dist/core/ask.js.map +1 -0
  28. package/dist/core/backend-detect.d.ts +5 -5
  29. package/dist/core/backend-detect.js +37 -5
  30. package/dist/core/backend-detect.js.map +1 -1
  31. package/dist/core/claude-cli-runner.d.ts +17 -2
  32. package/dist/core/claude-cli-runner.js +8 -3
  33. package/dist/core/claude-cli-runner.js.map +1 -1
  34. package/dist/core/claude-ui-mapper.d.ts +9 -0
  35. package/dist/core/claude-ui-mapper.js +34 -3
  36. package/dist/core/claude-ui-mapper.js.map +1 -1
  37. package/dist/core/codex-app-server-runner.d.ts +15 -3
  38. package/dist/core/codex-app-server-runner.js +158 -127
  39. package/dist/core/codex-app-server-runner.js.map +1 -1
  40. package/dist/core/codex-app-server-transport.d.ts +30 -0
  41. package/dist/core/codex-app-server-transport.js +136 -0
  42. package/dist/core/codex-app-server-transport.js.map +1 -0
  43. package/dist/core/codex-model-catalog.d.ts +10 -0
  44. package/dist/core/codex-model-catalog.js +110 -0
  45. package/dist/core/codex-model-catalog.js.map +1 -0
  46. package/dist/core/codex-ui-mapper.d.ts +47 -2
  47. package/dist/core/codex-ui-mapper.js +247 -29
  48. package/dist/core/codex-ui-mapper.js.map +1 -1
  49. package/dist/core/model-identity.d.ts +113 -0
  50. package/dist/core/model-identity.js +119 -0
  51. package/dist/core/model-identity.js.map +1 -0
  52. package/dist/core/model-presets.d.ts +15 -0
  53. package/dist/core/model-presets.js +43 -0
  54. package/dist/core/model-presets.js.map +1 -0
  55. package/dist/core/opencode-server-runner.d.ts +1 -1
  56. package/dist/core/opencode-server-runner.js +7 -12
  57. package/dist/core/opencode-server-runner.js.map +1 -1
  58. package/dist/core/opencode-ui-mapper.d.ts +11 -7
  59. package/dist/core/opencode-ui-mapper.js +62 -19
  60. package/dist/core/opencode-ui-mapper.js.map +1 -1
  61. package/dist/core/pi-runner.d.ts +40 -0
  62. package/dist/core/pi-runner.js +49 -0
  63. package/dist/core/pi-runner.js.map +1 -0
  64. package/dist/core/process-usage.d.ts +3 -0
  65. package/dist/core/process-usage.js +12 -0
  66. package/dist/core/process-usage.js.map +1 -1
  67. package/dist/core/runner-factory.js +3 -0
  68. package/dist/core/runner-factory.js.map +1 -1
  69. package/dist/core/runner-model-catalog.d.ts +28 -0
  70. package/dist/core/runner-model-catalog.js +62 -0
  71. package/dist/core/runner-model-catalog.js.map +1 -0
  72. package/dist/core/secret-redaction.js.map +1 -1
  73. package/dist/core/tool-display.d.ts +2 -2
  74. package/dist/core/tool-display.js +24 -6
  75. package/dist/core/tool-display.js.map +1 -1
  76. package/dist/core/ui-events.d.ts +29 -2
  77. package/dist/git-worktree.d.ts +37 -4
  78. package/dist/git-worktree.js +175 -12
  79. package/dist/git-worktree.js.map +1 -1
  80. package/dist/handoff.d.ts +2 -2
  81. package/dist/handoff.js +2 -0
  82. package/dist/handoff.js.map +1 -1
  83. package/dist/index.js +55 -5
  84. package/dist/index.js.map +1 -1
  85. package/dist/install-as-command.d.ts +1 -1
  86. package/dist/install-as-command.js.map +1 -1
  87. package/dist/paths.d.ts +32 -2
  88. package/dist/paths.js +47 -2
  89. package/dist/paths.js.map +1 -1
  90. package/dist/runs/auto-name.js.map +1 -1
  91. package/dist/runs/retention.js.map +1 -1
  92. package/dist/runs/review-gate.js.map +1 -1
  93. package/dist/runs/store.d.ts +154 -60
  94. package/dist/runs/store.js +103 -19
  95. package/dist/runs/store.js.map +1 -1
  96. package/dist/runs/task-markers.d.ts +6 -2
  97. package/dist/runs/task-markers.js +25 -4
  98. package/dist/runs/task-markers.js.map +1 -1
  99. package/dist/runs/ui-event-sink.js.map +1 -1
  100. package/dist/server/capabilities.d.ts +22 -6
  101. package/dist/server/capabilities.js +85 -8
  102. package/dist/server/capabilities.js.map +1 -1
  103. package/dist/server/checkout.d.ts +128 -0
  104. package/dist/server/checkout.js +296 -0
  105. package/dist/server/checkout.js.map +1 -0
  106. package/dist/server/forge/github.d.ts +281 -10
  107. package/dist/server/forge/github.js +539 -23
  108. package/dist/server/forge/github.js.map +1 -1
  109. package/dist/server/forge/types.d.ts +48 -1
  110. package/dist/server/fs-browse.d.ts +105 -0
  111. package/dist/server/fs-browse.js +182 -0
  112. package/dist/server/fs-browse.js.map +1 -0
  113. package/dist/server/git-changes.d.ts +12 -3
  114. package/dist/server/git-changes.js +23 -5
  115. package/dist/server/git-changes.js.map +1 -1
  116. package/dist/server/github.d.ts +1 -1
  117. package/dist/server/open-in-app.d.ts +2 -1
  118. package/dist/server/open-in-app.js +1 -0
  119. package/dist/server/open-in-app.js.map +1 -1
  120. package/dist/server/project-context.d.ts +103 -0
  121. package/dist/server/project-context.js +153 -0
  122. package/dist/server/project-context.js.map +1 -0
  123. package/dist/server/server.d.ts +110 -0
  124. package/dist/server/server.js +1557 -215
  125. package/dist/server/server.js.map +1 -1
  126. package/dist/server/wsl.js.map +1 -1
  127. package/dist/server-install/platforms/macosx-ngrok.js.map +1 -1
  128. package/dist/server-install/platforms/ubuntu-vps.js +7 -0
  129. package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
  130. package/dist/server-install/state.js.map +1 -1
  131. package/dist/server-install/steps.js +6 -2
  132. package/dist/server-install/steps.js.map +1 -1
  133. package/dist/server-install/types.d.ts +28 -28
  134. package/dist/server-install/ui.js.map +1 -1
  135. package/dist/skills-banner.js.map +1 -1
  136. package/dist/skills-remote.d.ts +10 -4
  137. package/dist/skills-remote.js +31 -14
  138. package/dist/skills-remote.js.map +1 -1
  139. package/dist/skills.d.ts +29 -0
  140. package/dist/skills.js +72 -14
  141. package/dist/skills.js.map +1 -1
  142. package/dist/todos.d.ts +9 -7
  143. package/dist/todos.js +38 -19
  144. package/dist/todos.js.map +1 -1
  145. package/dist/workflows/run.d.ts +145 -10
  146. package/dist/workflows/run.js +608 -66
  147. package/dist/workflows/run.js.map +1 -1
  148. package/dist/workflows/types.d.ts +42 -42
  149. package/dist/workflows/types.js +2 -1
  150. package/dist/workflows/types.js.map +1 -1
  151. package/dist/workspace/config.d.ts +251 -0
  152. package/dist/workspace/config.js +162 -0
  153. package/dist/workspace/config.js.map +1 -0
  154. package/dist/workspace/migrations.d.ts +45 -0
  155. package/dist/workspace/migrations.js +132 -0
  156. package/dist/workspace/migrations.js.map +1 -0
  157. package/dist/workspace/projects-cli.d.ts +23 -0
  158. package/dist/workspace/projects-cli.js +105 -0
  159. package/dist/workspace/projects-cli.js.map +1 -0
  160. package/dist/workspace/projects.d.ts +81 -0
  161. package/dist/workspace/projects.js +214 -0
  162. package/dist/workspace/projects.js.map +1 -0
  163. package/dist/workspace/semaphore.d.ts +77 -0
  164. package/dist/workspace/semaphore.js +57 -0
  165. package/dist/workspace/semaphore.js.map +1 -0
  166. package/dist/workspace/ui-state.d.ts +23 -0
  167. package/dist/workspace/ui-state.js +42 -0
  168. package/dist/workspace/ui-state.js.map +1 -0
  169. package/package.json +3 -2
  170. package/scripts/mock-claude.mjs +136 -2
  171. package/web/dist/assets/arrow-left-CnSdp92h.js +1 -0
  172. package/web/dist/assets/centered-state-NF79blq7.js +43 -0
  173. package/web/dist/assets/{chunk-BO2N2NFS-BN7h-q1E.js → chunk-BO2N2NFS-DtrdTCWa.js} +4 -4
  174. package/web/dist/assets/commit-list-CL8vSWGw.js +1 -0
  175. package/web/dist/assets/compare-variants-mI-MnhuR.js +1 -0
  176. package/web/dist/assets/diff-view-Bhfvnnn9.js +6 -0
  177. package/web/dist/assets/dist-COA_NSud.js +1 -0
  178. package/web/dist/assets/ellipsis-vertical-CNnSLn5a.js +1 -0
  179. package/web/dist/assets/{file-tuE95HNX.js → file-D4GBh1ao.js} +1 -1
  180. package/web/dist/assets/{git-pull-request-BztcgsRZ.js → git-pull-request-DnR8Xh4_.js} +1 -1
  181. package/web/dist/assets/git-toolbar-rVtFyL4t.js +1 -0
  182. package/web/dist/assets/github-_t0ceKcO.js +1 -0
  183. package/web/dist/assets/{highlighted-body-OFNGDK62-CJIHtxqW.js → highlighted-body-OFNGDK62-BuFJwunK.js} +1 -1
  184. package/web/dist/assets/{image-preview-Ca0UgThg.js → image-preview-DEhW0TFz.js} +1 -1
  185. package/web/dist/assets/index-BfXFhAGQ.js +30 -0
  186. package/web/dist/assets/index-Mov2Rrbw.css +2 -0
  187. package/web/dist/assets/lib-DPEZDBUN.js +1 -0
  188. package/web/dist/assets/mermaid-GHXKKRXX-CN2zQue0.js +1 -0
  189. package/web/dist/assets/project-router-CBzGUqvS.js +1 -0
  190. package/web/dist/assets/{refresh-cw-B4NW5q60.js → refresh-cw-BT8E96Tm.js} +1 -1
  191. package/web/dist/assets/repo-git-C3dJiX3j.js +1 -0
  192. package/web/dist/assets/{run-diff-BKpV1kGk.js → run-diff-HEZcHwRr.js} +3 -3
  193. package/web/dist/assets/run-header-DldbROhB.js +1 -0
  194. package/web/dist/assets/{search-x-C6xG26dv.js → search-x-BDjaMrzG.js} +1 -1
  195. package/web/dist/assets/skill-empty-hint-DTUSp6Vl.js +1 -0
  196. package/web/dist/assets/skills-BIg29xLt.js +1 -0
  197. package/web/dist/assets/{square-terminal-D9l_Xx7B.js → square-terminal-Ckjjn0vb.js} +1 -1
  198. package/web/dist/assets/tab-link-DTQ9FBZY.js +1 -0
  199. package/web/dist/assets/task-changes-DRhQVnFN.js +1 -0
  200. package/web/dist/assets/task-commits-5StODPII.js +1 -0
  201. package/web/dist/assets/task-files-BuylxobG.js +2 -0
  202. package/web/dist/assets/task-thread-DnHR0k7k.js +9 -0
  203. package/web/dist/assets/textarea-Bj_LCreg.js +1 -0
  204. package/web/dist/assets/toml-CcmNWLt0.js +1 -0
  205. package/web/dist/assets/{trash-2-De8Z5Y5-.js → trash-2-DAyZ0VSi.js} +1 -1
  206. package/web/dist/assets/{triangle-alert-DJUyRhTV.js → triangle-alert-Uy8rokUh.js} +1 -1
  207. package/web/dist/assets/{upload-yxUM9nk5.js → upload-CDdyPPo_.js} +1 -1
  208. package/web/dist/assets/use-desktop-TyHAXhMR.js +3 -0
  209. package/web/dist/assets/utils-B8s5qIcK.js +1 -0
  210. package/web/dist/assets/workflows-CwDYZLvG.js +11 -0
  211. package/web/dist/assets/zoomable-image-PEDOqyLQ.js +1 -0
  212. package/web/dist/index.html +10 -19
  213. package/web/dist/assets/arrow-left-bEsJ-6jp.js +0 -1
  214. package/web/dist/assets/centered-state-DzJJpXgm.js +0 -43
  215. package/web/dist/assets/command-eBgVGftz.js +0 -1
  216. package/web/dist/assets/compare-variants-DhqGJuHF.js +0 -1
  217. package/web/dist/assets/dialog-Bf1Cpc3n.js +0 -1
  218. package/web/dist/assets/diff-view-Cqc8LRkj.js +0 -4
  219. package/web/dist/assets/dist-M2QYGAcm.js +0 -1
  220. package/web/dist/assets/dist-ZAIqO3UX.js +0 -1
  221. package/web/dist/assets/folder-20ea3OVM.js +0 -1
  222. package/web/dist/assets/git-toolbar-DAlBoSP5.js +0 -1
  223. package/web/dist/assets/github--sfM4X3j.js +0 -1
  224. package/web/dist/assets/highlighter-ZVyRi_Cx.js +0 -3
  225. package/web/dist/assets/index-DlKq8gF4.css +0 -2
  226. package/web/dist/assets/index-h4gyDJyh.js +0 -11
  227. package/web/dist/assets/loader-circle-Bnw4ga19.js +0 -1
  228. package/web/dist/assets/markdown-DxmCMr30.js +0 -1
  229. package/web/dist/assets/mermaid-GHXKKRXX-DghlHZS5.js +0 -1
  230. package/web/dist/assets/prompt-templates-CsGr-FXH.js +0 -15
  231. package/web/dist/assets/repo-git-CHF2oip_.js +0 -1
  232. package/web/dist/assets/run-header-3CGn6FAM.js +0 -1
  233. package/web/dist/assets/skill-detail-DsD4-dGp.js +0 -1
  234. package/web/dist/assets/skill-empty-hint-Cl3ESoPu.js +0 -1
  235. package/web/dist/assets/skills-5kRcjM1J.js +0 -1
  236. package/web/dist/assets/skills-B13iqWAN.js +0 -1
  237. package/web/dist/assets/tab-link-DkVxOa-q.js +0 -1
  238. package/web/dist/assets/task-changes-DtMiVVwO.js +0 -1
  239. package/web/dist/assets/task-commits-VbSLn_tW.js +0 -1
  240. package/web/dist/assets/task-files-qYDBG3Mx.js +0 -2
  241. package/web/dist/assets/task-thread-BfGERKlB.js +0 -7
  242. package/web/dist/assets/tasks-table-C5fwJmZ7.js +0 -1
  243. package/web/dist/assets/use-desktop-6PwFeCW3.js +0 -3
  244. package/web/dist/assets/utils-CzkLr94M.js +0 -1
  245. package/web/dist/assets/workflows-CnTcKlfV.js +0 -11
  246. package/web/dist/assets/x-DaR4ZfE-.js +0 -1
  247. 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, EOF_KILL_GRACE_MS, EOF_TERM_GRACE_MS, KILL_GRACE_MS, } from './claude-cli-runner.js';
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';
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: workspace-write` + `approvalPolicy:
17
- * never` — Codex has no per-tool allowlist, so `spec.allowedTools` is ignored.
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 ?? process.env.CEZ_CODEX_BIN ?? 'codex';
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
- nextId = 1;
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
- // Give the workspace-write sandbox network access so agent tools that need the network
76
- // (gh, npm, git over https) work — otherwise `gh` fails with "error connecting to
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 wrapSpawnError(err, bin);
82
+ throw codexSpawnError(err, bin);
91
83
  }
92
84
  this.child.on('error', (err) => {
93
- this.spawnFailed = wrapSpawnError(err, bin);
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
- for await (const line of readNdjson(this.child.stdout)) {
121
- if (this.timedOut)
122
- break;
123
- let msg;
124
- try {
125
- msg = JSON.parse(line);
126
- }
127
- catch {
128
- continue; // not JSON-RPC — skip
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
- this.emitUi((state) => mapCodexNotification(msg, state));
131
- this.dispatch(msg);
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
- throw err;
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 waitForExit(this.child);
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
- for (const p of this.pending.values())
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.stdin.end();
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.request('initialize', {
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
- sandbox: 'workspace-write',
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
- const res = await this.request('turn/start', { threadId: this.threadId, input });
283
- this.activeTurnId = turnIdOf(res) ?? this.activeTurnId;
284
- }
285
- request(method, params) {
286
- const id = this.nextId++;
287
- const promise = new Promise((resolve, reject) => {
288
- this.pending.set(id, { resolve, reject });
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.write({ id, method, params });
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 (typeof msg.id === 'number' && (msg.result !== undefined || msg.error !== undefined)) {
308
- const p = this.pending.get(msg.id);
309
- if (!p)
310
- return;
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.nextId++}`;
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;