agent-tower 0.7.1-beta.2 → 0.7.1-beta.4

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 (379) hide show
  1. package/dist/executors/__tests__/base.executor.test.js +2 -2
  2. package/dist/executors/__tests__/base.executor.test.js.map +1 -1
  3. package/dist/executors/__tests__/codex.executor.test.js +137 -25
  4. package/dist/executors/__tests__/codex.executor.test.js.map +1 -1
  5. package/dist/executors/__tests__/providers.test.js +69 -2
  6. package/dist/executors/__tests__/providers.test.js.map +1 -1
  7. package/dist/executors/__tests__/stdin-prompt.executors.test.js +61 -3
  8. package/dist/executors/__tests__/stdin-prompt.executors.test.js.map +1 -1
  9. package/dist/executors/base.executor.d.ts +8 -1
  10. package/dist/executors/base.executor.d.ts.map +1 -1
  11. package/dist/executors/base.executor.js +22 -8
  12. package/dist/executors/base.executor.js.map +1 -1
  13. package/dist/executors/claude-code.executor.d.ts +2 -0
  14. package/dist/executors/claude-code.executor.d.ts.map +1 -1
  15. package/dist/executors/claude-code.executor.js +51 -41
  16. package/dist/executors/claude-code.executor.js.map +1 -1
  17. package/dist/executors/codex.executor.d.ts +3 -0
  18. package/dist/executors/codex.executor.d.ts.map +1 -1
  19. package/dist/executors/codex.executor.js +35 -1
  20. package/dist/executors/codex.executor.js.map +1 -1
  21. package/dist/executors/cursor-agent.executor.d.ts +1 -0
  22. package/dist/executors/cursor-agent.executor.d.ts.map +1 -1
  23. package/dist/executors/cursor-agent.executor.js +2 -0
  24. package/dist/executors/cursor-agent.executor.js.map +1 -1
  25. package/dist/executors/default-providers.json +45 -39
  26. package/dist/executors/gemini-cli.executor.d.ts +3 -1
  27. package/dist/executors/gemini-cli.executor.d.ts.map +1 -1
  28. package/dist/executors/gemini-cli.executor.js +18 -12
  29. package/dist/executors/gemini-cli.executor.js.map +1 -1
  30. package/dist/executors/index.d.ts +4 -0
  31. package/dist/executors/index.d.ts.map +1 -1
  32. package/dist/executors/index.js +14 -4
  33. package/dist/executors/index.js.map +1 -1
  34. package/dist/executors/providers.d.ts +4 -1
  35. package/dist/executors/providers.d.ts.map +1 -1
  36. package/dist/executors/providers.js +20 -5
  37. package/dist/executors/providers.js.map +1 -1
  38. package/dist/output/__tests__/claude-code-parser-lifecycle.test.d.ts +2 -0
  39. package/dist/output/__tests__/claude-code-parser-lifecycle.test.d.ts.map +1 -0
  40. package/dist/output/__tests__/claude-code-parser-lifecycle.test.js +84 -0
  41. package/dist/output/__tests__/claude-code-parser-lifecycle.test.js.map +1 -0
  42. package/dist/output/claude-code-parser.d.ts +14 -2
  43. package/dist/output/claude-code-parser.d.ts.map +1 -1
  44. package/dist/output/claude-code-parser.js +55 -8
  45. package/dist/output/claude-code-parser.js.map +1 -1
  46. package/dist/pipeline/__tests__/agent-pipeline.test.js +48 -1
  47. package/dist/pipeline/__tests__/agent-pipeline.test.js.map +1 -1
  48. package/dist/pipeline/agent-pipeline.d.ts +6 -1
  49. package/dist/pipeline/agent-pipeline.d.ts.map +1 -1
  50. package/dist/pipeline/agent-pipeline.js +42 -4
  51. package/dist/pipeline/agent-pipeline.js.map +1 -1
  52. package/dist/routes/__tests__/providers.test.js +287 -12
  53. package/dist/routes/__tests__/providers.test.js.map +1 -1
  54. package/dist/routes/__tests__/sessions-runtime.test.js +9 -0
  55. package/dist/routes/__tests__/sessions-runtime.test.js.map +1 -1
  56. package/dist/routes/__tests__/workspaces.test.js +48 -6
  57. package/dist/routes/__tests__/workspaces.test.js.map +1 -1
  58. package/dist/routes/providers.d.ts +2 -0
  59. package/dist/routes/providers.d.ts.map +1 -1
  60. package/dist/routes/providers.js +79 -34
  61. package/dist/routes/providers.js.map +1 -1
  62. package/dist/routes/sessions.js +2 -2
  63. package/dist/routes/sessions.js.map +1 -1
  64. package/dist/runtime/__tests__/acp-agent-definitions.test.js +54 -6
  65. package/dist/runtime/__tests__/acp-agent-definitions.test.js.map +1 -1
  66. package/dist/runtime/__tests__/acp-driver-lifecycle.test.js +85 -12
  67. package/dist/runtime/__tests__/acp-driver-lifecycle.test.js.map +1 -1
  68. package/dist/runtime/__tests__/acp-driver.test.js +38 -1
  69. package/dist/runtime/__tests__/acp-driver.test.js.map +1 -1
  70. package/dist/runtime/__tests__/claude-cli-control.test.d.ts +2 -0
  71. package/dist/runtime/__tests__/claude-cli-control.test.d.ts.map +1 -0
  72. package/dist/runtime/__tests__/claude-cli-control.test.js +147 -0
  73. package/dist/runtime/__tests__/claude-cli-control.test.js.map +1 -0
  74. package/dist/runtime/__tests__/claude-cli-driver.test.d.ts +2 -0
  75. package/dist/runtime/__tests__/claude-cli-driver.test.d.ts.map +1 -0
  76. package/dist/runtime/__tests__/claude-cli-driver.test.js +327 -0
  77. package/dist/runtime/__tests__/claude-cli-driver.test.js.map +1 -0
  78. package/dist/runtime/__tests__/cli-driver-lifecycle.test.js +107 -2
  79. package/dist/runtime/__tests__/cli-driver-lifecycle.test.js.map +1 -1
  80. package/dist/runtime/__tests__/codex-cli-control.test.d.ts +2 -0
  81. package/dist/runtime/__tests__/codex-cli-control.test.d.ts.map +1 -0
  82. package/dist/runtime/__tests__/codex-cli-control.test.js +287 -0
  83. package/dist/runtime/__tests__/codex-cli-control.test.js.map +1 -0
  84. package/dist/runtime/__tests__/codex-cli-identity.test.d.ts +2 -0
  85. package/dist/runtime/__tests__/codex-cli-identity.test.d.ts.map +1 -0
  86. package/dist/runtime/__tests__/codex-cli-identity.test.js +166 -0
  87. package/dist/runtime/__tests__/codex-cli-identity.test.js.map +1 -0
  88. package/dist/runtime/__tests__/codex-runtime-resolution.test.js +34 -0
  89. package/dist/runtime/__tests__/codex-runtime-resolution.test.js.map +1 -1
  90. package/dist/runtime/__tests__/runtime-coordinator.test.js +74 -0
  91. package/dist/runtime/__tests__/runtime-coordinator.test.js.map +1 -1
  92. package/dist/runtime/acp/acp-driver.d.ts.map +1 -1
  93. package/dist/runtime/acp/acp-driver.js +27 -9
  94. package/dist/runtime/acp/acp-driver.js.map +1 -1
  95. package/dist/runtime/acp/agents/claude-code.d.ts.map +1 -1
  96. package/dist/runtime/acp/agents/claude-code.js +6 -11
  97. package/dist/runtime/acp/agents/claude-code.js.map +1 -1
  98. package/dist/runtime/acp/agents/codex.d.ts.map +1 -1
  99. package/dist/runtime/acp/agents/codex.js +15 -6
  100. package/dist/runtime/acp/agents/codex.js.map +1 -1
  101. package/dist/runtime/acp/agents/cursor-agent.d.ts.map +1 -1
  102. package/dist/runtime/acp/agents/cursor-agent.js +2 -1
  103. package/dist/runtime/acp/agents/cursor-agent.js.map +1 -1
  104. package/dist/runtime/acp/agents/deepseek-hermes.js +3 -3
  105. package/dist/runtime/acp/agents/deepseek-hermes.js.map +1 -1
  106. package/dist/runtime/acp/agents/gemini-cli.d.ts.map +1 -1
  107. package/dist/runtime/acp/agents/gemini-cli.js +1 -0
  108. package/dist/runtime/acp/agents/gemini-cli.js.map +1 -1
  109. package/dist/runtime/acp/agents/grok-build.d.ts.map +1 -1
  110. package/dist/runtime/acp/agents/grok-build.js +4 -1
  111. package/dist/runtime/acp/agents/grok-build.js.map +1 -1
  112. package/dist/runtime/acp/agents/kiro-cli.d.ts.map +1 -1
  113. package/dist/runtime/acp/agents/kiro-cli.js +2 -1
  114. package/dist/runtime/acp/agents/kiro-cli.js.map +1 -1
  115. package/dist/runtime/acp/agents/minion-code.js +1 -1
  116. package/dist/runtime/acp/agents/minion-code.js.map +1 -1
  117. package/dist/runtime/acp/agents/native-agent.d.ts +2 -0
  118. package/dist/runtime/acp/agents/native-agent.d.ts.map +1 -1
  119. package/dist/runtime/acp/agents/native-agent.js +12 -16
  120. package/dist/runtime/acp/agents/native-agent.js.map +1 -1
  121. package/dist/runtime/acp/agents/opencode.d.ts.map +1 -1
  122. package/dist/runtime/acp/agents/opencode.js +50 -2
  123. package/dist/runtime/acp/agents/opencode.js.map +1 -1
  124. package/dist/runtime/acp/agents/pi-coding-agent.d.ts.map +1 -1
  125. package/dist/runtime/acp/agents/pi-coding-agent.js +2 -5
  126. package/dist/runtime/acp/agents/pi-coding-agent.js.map +1 -1
  127. package/dist/runtime/acp/agents/qwen-code.d.ts.map +1 -1
  128. package/dist/runtime/acp/agents/qwen-code.js +9 -11
  129. package/dist/runtime/acp/agents/qwen-code.js.map +1 -1
  130. package/dist/runtime/acp/agents/types.d.ts +4 -2
  131. package/dist/runtime/acp/agents/types.d.ts.map +1 -1
  132. package/dist/runtime/acp/codex-cli-identity.d.ts +52 -0
  133. package/dist/runtime/acp/codex-cli-identity.d.ts.map +1 -0
  134. package/dist/runtime/acp/codex-cli-identity.js +179 -0
  135. package/dist/runtime/acp/codex-cli-identity.js.map +1 -0
  136. package/dist/runtime/acp/codex-provider-config.d.ts +15 -2
  137. package/dist/runtime/acp/codex-provider-config.d.ts.map +1 -1
  138. package/dist/runtime/acp/codex-provider-config.js +42 -5
  139. package/dist/runtime/acp/codex-provider-config.js.map +1 -1
  140. package/dist/runtime/claude-cli-control.d.ts +32 -0
  141. package/dist/runtime/claude-cli-control.d.ts.map +1 -0
  142. package/dist/runtime/claude-cli-control.js +156 -0
  143. package/dist/runtime/claude-cli-control.js.map +1 -0
  144. package/dist/runtime/cli-action-summary.d.ts +3 -0
  145. package/dist/runtime/cli-action-summary.d.ts.map +1 -0
  146. package/dist/runtime/cli-action-summary.js +13 -0
  147. package/dist/runtime/cli-action-summary.js.map +1 -0
  148. package/dist/runtime/cli-driver.d.ts.map +1 -1
  149. package/dist/runtime/cli-driver.js +119 -26
  150. package/dist/runtime/cli-driver.js.map +1 -1
  151. package/dist/runtime/cli-parser.d.ts +4 -1
  152. package/dist/runtime/cli-parser.d.ts.map +1 -1
  153. package/dist/runtime/cli-parser.js +2 -2
  154. package/dist/runtime/cli-parser.js.map +1 -1
  155. package/dist/runtime/codex-cli-control.d.ts +63 -0
  156. package/dist/runtime/codex-cli-control.d.ts.map +1 -0
  157. package/dist/runtime/codex-cli-control.js +311 -0
  158. package/dist/runtime/codex-cli-control.js.map +1 -0
  159. package/dist/runtime/codex-cli-projector.d.ts +17 -0
  160. package/dist/runtime/codex-cli-projector.d.ts.map +1 -0
  161. package/dist/runtime/codex-cli-projector.js +80 -0
  162. package/dist/runtime/codex-cli-projector.js.map +1 -0
  163. package/dist/runtime/contracts.d.ts +12 -2
  164. package/dist/runtime/contracts.d.ts.map +1 -1
  165. package/dist/runtime/runtime-coordinator.d.ts +1 -1
  166. package/dist/runtime/runtime-coordinator.d.ts.map +1 -1
  167. package/dist/runtime/runtime-coordinator.js +40 -6
  168. package/dist/runtime/runtime-coordinator.js.map +1 -1
  169. package/dist/services/__tests__/claude-cli-capabilities.service.test.d.ts +2 -0
  170. package/dist/services/__tests__/claude-cli-capabilities.service.test.d.ts.map +1 -0
  171. package/dist/services/__tests__/claude-cli-capabilities.service.test.js +37 -0
  172. package/dist/services/__tests__/claude-cli-capabilities.service.test.js.map +1 -0
  173. package/dist/services/__tests__/codex-cli-capabilities.service.test.d.ts +2 -0
  174. package/dist/services/__tests__/codex-cli-capabilities.service.test.d.ts.map +1 -0
  175. package/dist/services/__tests__/codex-cli-capabilities.service.test.js +35 -0
  176. package/dist/services/__tests__/codex-cli-capabilities.service.test.js.map +1 -0
  177. package/dist/services/__tests__/codex-model-capabilities.service.test.js +23 -2
  178. package/dist/services/__tests__/codex-model-capabilities.service.test.js.map +1 -1
  179. package/dist/services/__tests__/execution-permission.service.test.d.ts +2 -0
  180. package/dist/services/__tests__/execution-permission.service.test.d.ts.map +1 -0
  181. package/dist/services/__tests__/execution-permission.service.test.js +111 -0
  182. package/dist/services/__tests__/execution-permission.service.test.js.map +1 -0
  183. package/dist/services/__tests__/provider-config.service.test.js +1 -0
  184. package/dist/services/__tests__/provider-config.service.test.js.map +1 -1
  185. package/dist/services/__tests__/session-manager.lifecycle.test.js +151 -3
  186. package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
  187. package/dist/services/__tests__/workspace.service.test.js +38 -0
  188. package/dist/services/__tests__/workspace.service.test.js.map +1 -1
  189. package/dist/services/claude-cli-capabilities.service.d.ts +11 -0
  190. package/dist/services/claude-cli-capabilities.service.d.ts.map +1 -0
  191. package/dist/services/claude-cli-capabilities.service.js +54 -0
  192. package/dist/services/claude-cli-capabilities.service.js.map +1 -0
  193. package/dist/services/codex-cli-capabilities.service.d.ts +12 -0
  194. package/dist/services/codex-cli-capabilities.service.d.ts.map +1 -0
  195. package/dist/services/codex-cli-capabilities.service.js +65 -0
  196. package/dist/services/codex-cli-capabilities.service.js.map +1 -0
  197. package/dist/services/codex-model-capabilities.service.d.ts.map +1 -1
  198. package/dist/services/codex-model-capabilities.service.js +12 -1
  199. package/dist/services/codex-model-capabilities.service.js.map +1 -1
  200. package/dist/services/execution-permission.service.d.ts +30 -0
  201. package/dist/services/execution-permission.service.d.ts.map +1 -0
  202. package/dist/services/execution-permission.service.js +149 -0
  203. package/dist/services/execution-permission.service.js.map +1 -0
  204. package/dist/services/provider-config.service.d.ts.map +1 -1
  205. package/dist/services/provider-config.service.js +19 -29
  206. package/dist/services/provider-config.service.js.map +1 -1
  207. package/dist/services/session-manager.d.ts +9 -7
  208. package/dist/services/session-manager.d.ts.map +1 -1
  209. package/dist/services/session-manager.js +46 -7
  210. package/dist/services/session-manager.js.map +1 -1
  211. package/dist/services/task.service.d.ts +4 -4
  212. package/dist/services/workspace.service.d.ts +13 -7
  213. package/dist/services/workspace.service.d.ts.map +1 -1
  214. package/dist/services/workspace.service.js +1 -0
  215. package/dist/services/workspace.service.js.map +1 -1
  216. package/dist/utils/cli-duplex-channel.d.ts +21 -0
  217. package/dist/utils/cli-duplex-channel.d.ts.map +1 -0
  218. package/dist/utils/cli-duplex-channel.js +200 -0
  219. package/dist/utils/cli-duplex-channel.js.map +1 -0
  220. package/dist/utils/cli-duplex-channel.test.d.ts +2 -0
  221. package/dist/utils/cli-duplex-channel.test.d.ts.map +1 -0
  222. package/dist/utils/cli-duplex-channel.test.js +191 -0
  223. package/dist/utils/cli-duplex-channel.test.js.map +1 -0
  224. package/dist/utils/index.d.ts +1 -0
  225. package/dist/utils/index.d.ts.map +1 -1
  226. package/dist/utils/index.js +1 -0
  227. package/dist/utils/index.js.map +1 -1
  228. package/dist/utils/process-launch.d.ts +3 -0
  229. package/dist/utils/process-launch.d.ts.map +1 -1
  230. package/dist/utils/process-launch.js +129 -10
  231. package/dist/utils/process-launch.js.map +1 -1
  232. package/dist/utils/process-launch.test.js +103 -0
  233. package/dist/utils/process-launch.test.js.map +1 -1
  234. package/dist/web/assets/{AgentDemoPage-B6pABvRL.js → AgentDemoPage-B__0_CPX.js} +1 -1
  235. package/dist/web/assets/{AgentEnvironmentSettingsPage-CqMfdwkM.js → AgentEnvironmentSettingsPage-uSnG5iV3.js} +1 -1
  236. package/dist/web/assets/{AgentLogo-Ntqe3_Mx.js → AgentLogo-CoAT8dNB.js} +1 -1
  237. package/dist/web/assets/ConversationPage-BOfzGTyj.js +3 -0
  238. package/dist/web/assets/CreateTaskInput-DwQsAlWX.js +1 -0
  239. package/dist/web/assets/{DemoPage-D1Ki6sJ0.js → DemoPage-CuDLCuUQ.js} +1 -1
  240. package/dist/web/assets/ExecutionPermissionSelector-Cu7Z72Yk.js +29 -0
  241. package/dist/web/assets/{GeneralSettingsPage-DoAXPabw.js → GeneralSettingsPage-CmG_TW4-.js} +1 -1
  242. package/dist/web/assets/{Icons-KJJd6C8K.js → Icons-B6q-ul89.js} +1 -1
  243. package/dist/web/assets/{LoadingPreviewPage-BqCKBvgv.js → LoadingPreviewPage-Db5WcYw_.js} +1 -1
  244. package/dist/web/assets/{McpSettingsPage-QXVD4XCW.js → McpSettingsPage-CQV1RaHW.js} +1 -1
  245. package/dist/web/assets/{MemberAvatar-kbJEoyh0.js → MemberAvatar-BQA5sE4L.js} +1 -1
  246. package/dist/web/assets/{NotificationSettingsPage-BrqSeU--.js → NotificationSettingsPage-BGKJ6wO0.js} +1 -1
  247. package/dist/web/assets/{ProfileSettingsPage-BmWgVdnG.js → ProfileSettingsPage-dTvp-LFa.js} +1 -1
  248. package/dist/web/assets/{ProjectKanbanPage-D7RJm4yg.js → ProjectKanbanPage-CHZc9WB7.js} +35 -35
  249. package/dist/web/assets/{ProjectSettingsPage-BVINN99w.js → ProjectSettingsPage-CwLXTwwe.js} +1 -1
  250. package/dist/web/assets/ProviderSettingsPage-Ced1VN2f.js +67 -0
  251. package/dist/web/assets/{SettingsMasterDetail-OF28cvPV.js → SettingsMasterDetail-CEZsOwjq.js} +1 -1
  252. package/dist/web/assets/{TeamSettingsPage-BWGm0m7s.js → TeamSettingsPage-lErIz31n.js} +1 -1
  253. package/dist/web/assets/{arc-CqFgRaZU.js → arc-CgQPLQJF.js} +1 -1
  254. package/dist/web/assets/{architectureDiagram-3BPJPVTR-C0PMdIZJ.js → architectureDiagram-3BPJPVTR-BRns2_cB.js} +1 -1
  255. package/dist/web/assets/{blockDiagram-GPEHLZMM-SqqtxqkX.js → blockDiagram-GPEHLZMM-DUIPlzPN.js} +1 -1
  256. package/dist/web/assets/{c4Diagram-AAUBKEIU-DYJXB3xL.js → c4Diagram-AAUBKEIU-BfWsGU4R.js} +1 -1
  257. package/dist/web/assets/channel-CYUMBIeW.js +1 -0
  258. package/dist/web/assets/check-C_RQ5zOf.js +1 -0
  259. package/dist/web/assets/{chevron-down-BZfpVhYr.js → chevron-down-Dz61D9cJ.js} +1 -1
  260. package/dist/web/assets/{chevron-right-D52zUyOF.js → chevron-right-q_hHAFb1.js} +1 -1
  261. package/dist/web/assets/{chevron-up-CFOy5dmW.js → chevron-up-ChWM4fJS.js} +1 -1
  262. package/dist/web/assets/{chunk-2J33WTMH-DQCbv8W_.js → chunk-2J33WTMH-DOverrRX.js} +1 -1
  263. package/dist/web/assets/{chunk-4BX2VUAB-B_68_oNW.js → chunk-4BX2VUAB-BakE7rwb.js} +1 -1
  264. package/dist/web/assets/{chunk-55IACEB6-Bb-pPIxs.js → chunk-55IACEB6-BJY_hqWJ.js} +1 -1
  265. package/dist/web/assets/{chunk-727SXJPM-CAiaySk6.js → chunk-727SXJPM-Bz_y_ixN.js} +1 -1
  266. package/dist/web/assets/{chunk-AQP2D5EJ-ChCLJ4Wv.js → chunk-AQP2D5EJ-DPrP1E5u.js} +1 -1
  267. package/dist/web/assets/{chunk-FMBD7UC4-Kz0Cc0mv.js → chunk-FMBD7UC4--yjwIi92.js} +1 -1
  268. package/dist/web/assets/{chunk-ND2GUHAM-BttoT7UR.js → chunk-ND2GUHAM-BlN7Zpnx.js} +1 -1
  269. package/dist/web/assets/{chunk-QZHKN3VN-BcVhzXXK.js → chunk-QZHKN3VN-b97Y7iON.js} +1 -1
  270. package/dist/web/assets/{circle-alert-D67xfWMs.js → circle-alert-B3BU6yxp.js} +1 -1
  271. package/dist/web/assets/classDiagram-4FO5ZUOK-KLi01tMF.js +1 -0
  272. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-KLi01tMF.js +1 -0
  273. package/dist/web/assets/{code-block-OCS4YCEC-CMA1utSp.js → code-block-OCS4YCEC-pXxp6Ipb.js} +1 -1
  274. package/dist/web/assets/{confirm-dialog-BWvZEHpu.js → confirm-dialog-CeNfH2ZR.js} +1 -1
  275. package/dist/web/assets/{cose-bilkent-S5V4N54A-B391zTey.js → cose-bilkent-S5V4N54A-BE-ASlGZ.js} +1 -1
  276. package/dist/web/assets/cssMode-B8d06lCF.js +1 -0
  277. package/dist/web/assets/{dagre-BM42HDAG-CymH_FEZ.js → dagre-BM42HDAG-lAvNJn8H.js} +1 -1
  278. package/dist/web/assets/{diagram-2AECGRRQ-DXOIiLDr.js → diagram-2AECGRRQ-DBgI60j-.js} +1 -1
  279. package/dist/web/assets/{diagram-5GNKFQAL-B9ocgjdh.js → diagram-5GNKFQAL-BqFMhpcI.js} +1 -1
  280. package/dist/web/assets/{diagram-KO2AKTUF-DLMpk9Wg.js → diagram-KO2AKTUF-8dtMJ7XC.js} +1 -1
  281. package/dist/web/assets/{diagram-LMA3HP47-BBnF83je.js → diagram-LMA3HP47-CEbAGy_U.js} +1 -1
  282. package/dist/web/assets/{diagram-OG6HWLK6-AK4FunVI.js → diagram-OG6HWLK6-BTy4Wqho.js} +1 -1
  283. package/dist/web/assets/{erDiagram-TEJ5UH35-B1mryURg.js → erDiagram-TEJ5UH35-Fe0pjB7H.js} +1 -1
  284. package/dist/web/assets/{flowDiagram-I6XJVG4X-BjIG_1l5.js → flowDiagram-I6XJVG4X-Cn5xoMyS.js} +1 -1
  285. package/dist/web/assets/{folder-picker-CaM_drIJ.js → folder-picker-DlJ9hExj.js} +1 -1
  286. package/dist/web/assets/{freemarker2-Dj1C_6Ng.js → freemarker2-WBCTYbCf.js} +2 -2
  287. package/dist/web/assets/{ganttDiagram-6RSMTGT7-DjR6lyIQ.js → ganttDiagram-6RSMTGT7-Bwf7sOJW.js} +1 -1
  288. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-BpW2L4ry.js → gitGraphDiagram-PVQCEYII-DEqHf_N3.js} +1 -1
  289. package/dist/web/assets/handlebars-aoMw8XNP.js +1 -0
  290. package/dist/web/assets/html-mP4L-gn5.js +1 -0
  291. package/dist/web/assets/htmlMode-BRkGssBX.js +1 -0
  292. package/dist/web/assets/index-BoQh7Rhc.css +1 -0
  293. package/dist/web/assets/{index-DaRxJqVy.js → index-DxE1UagD.js} +4 -4
  294. package/dist/web/assets/index-_mroLJ3-.js +122 -0
  295. package/dist/web/assets/{infoDiagram-5YYISTIA-Cu-PA_-6.js → infoDiagram-5YYISTIA-BzITBBR6.js} +1 -1
  296. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-S6Esbkdw.js → ishikawaDiagram-YF4QCWOH-Bd9MT4ne.js} +1 -1
  297. package/dist/web/assets/javascript-CzeLwCQy.js +1 -0
  298. package/dist/web/assets/{journeyDiagram-JHISSGLW-wPF9FT9V.js → journeyDiagram-JHISSGLW-CR2x5gV0.js} +1 -1
  299. package/dist/web/assets/{jsonMode-D6IoFlQF.js → jsonMode-BixD4b0P.js} +4 -4
  300. package/dist/web/assets/{kanban-definition-UN3LZRKU-C4jl9zOj.js → kanban-definition-UN3LZRKU-DZx-6dHw.js} +1 -1
  301. package/dist/web/assets/{layers-hQUUT3Gb.js → layers-DOM1D0GC.js} +1 -1
  302. package/dist/web/assets/{linear-D83xDp0H.js → linear-BBLqccsD.js} +1 -1
  303. package/dist/web/assets/liquid-DGETTZ3q.js +1 -0
  304. package/dist/web/assets/{lspLanguageFeatures-CUyibjAN.js → lspLanguageFeatures-DLBGi3go.js} +1 -1
  305. package/dist/web/assets/mdx-Co95_1jL.js +1 -0
  306. package/dist/web/assets/{mermaid-NOHMQCX5-CGCWmHha.js → mermaid-NOHMQCX5-K1Nm51AP.js} +45 -45
  307. package/dist/web/assets/{message-square-B-uYQiTq.js → message-square-eTP8tZLX.js} +1 -1
  308. package/dist/web/assets/{mindmap-definition-RKZ34NQL-D5v2uvjn.js → mindmap-definition-RKZ34NQL-BuB-92St.js} +1 -1
  309. package/dist/web/assets/{modal-D87uszzb.js → modal-CSnK65Cb.js} +1 -1
  310. package/dist/web/assets/{monaco-B25-2nEB.js → monaco-C17UmdbS.js} +3 -3
  311. package/dist/web/assets/{pencil-CY2RnQrx.js → pencil-l1-UifOH.js} +1 -1
  312. package/dist/web/assets/{pieDiagram-4H26LBE5-6wdFz_7x.js → pieDiagram-4H26LBE5--40xP_i_.js} +1 -1
  313. package/dist/web/assets/python-CQw9WtC1.js +1 -0
  314. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-C1CrGMEK.js → quadrantDiagram-W4KKPZXB-BxiOfFTG.js} +1 -1
  315. package/dist/web/assets/razor-Du_XbZEg.js +1 -0
  316. package/dist/web/assets/{requirementDiagram-4Y6WPE33-mDtZrxpp.js → requirementDiagram-4Y6WPE33-GR0Dtr4T.js} +1 -1
  317. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-hBlj0XoH.js → sankeyDiagram-5OEKKPKP-tWpKambG.js} +1 -1
  318. package/dist/web/assets/select-DB6L9-KB.js +1 -0
  319. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-DsWmMm20.js → sequenceDiagram-3UESZ5HK-ByVTWC_r.js} +1 -1
  320. package/dist/web/assets/{server-qlZupTvg.js → server-CrODl9NC.js} +1 -1
  321. package/dist/web/assets/{stateDiagram-AJRCARHV-VNyX1L66.js → stateDiagram-AJRCARHV-Bd8b6zV5.js} +1 -1
  322. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-A6YN_ZNd.js +1 -0
  323. package/dist/web/assets/{switch-1pvXCcP-.js → switch-DvXJc47w.js} +1 -1
  324. package/dist/web/assets/{textarea-D9oaz-Ba.js → textarea-CSKljQWP.js} +1 -1
  325. package/dist/web/assets/{timeline-definition-PNZ67QCA-DuBxxd9E.js → timeline-definition-PNZ67QCA-BZhaE4Q8.js} +1 -1
  326. package/dist/web/assets/{trash-2-C0P8jNpJ.js → trash-2-DdOhDOCv.js} +1 -1
  327. package/dist/web/assets/{tsMode-ogL-3MSe.js → tsMode-D9Lc5Ctp.js} +2 -2
  328. package/dist/web/assets/typescript-jsG0idOk.js +1 -0
  329. package/dist/web/assets/{upload-BYgsDplu.js → upload-9nN5Lg83.js} +1 -1
  330. package/dist/web/assets/{use-profiles-BkGnmson.js → use-profiles-8YJrKR2I.js} +1 -1
  331. package/dist/web/assets/{use-projects-B4w00h5I.js → use-projects-BdSJ4zPv.js} +1 -1
  332. package/dist/web/assets/use-providers-BlqWIGOP.js +1 -0
  333. package/dist/web/assets/{useNormalizedLogs-MsDkcnRQ.js → useNormalizedLogs-B_LoDoiT.js} +1 -1
  334. package/dist/web/assets/{vennDiagram-CIIHVFJN-RbPPOLBo.js → vennDiagram-CIIHVFJN-COnwMBZG.js} +1 -1
  335. package/dist/web/assets/{wardley-L42UT6IY-DXzUbdMF.js → wardley-L42UT6IY-DnIbpfhs.js} +1 -1
  336. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-B0QXobQM.js → wardleyDiagram-YWT4CUSO-QNFL1GWo.js} +1 -1
  337. package/dist/web/assets/xml-C_Zqe3tk.js +1 -0
  338. package/dist/web/assets/{xychartDiagram-2RQKCTM6-C7bFJItM.js → xychartDiagram-2RQKCTM6-CW7FVlM3.js} +1 -1
  339. package/dist/web/assets/yaml-CETOqGaS.js +1 -0
  340. package/dist/web/index.html +2 -2
  341. package/node_modules/@agent-tower/shared/dist/execution-permission.d.ts +19 -0
  342. package/node_modules/@agent-tower/shared/dist/execution-permission.d.ts.map +1 -0
  343. package/node_modules/@agent-tower/shared/dist/execution-permission.js +53 -0
  344. package/node_modules/@agent-tower/shared/dist/execution-permission.js.map +1 -0
  345. package/node_modules/@agent-tower/shared/dist/index.d.ts +1 -0
  346. package/node_modules/@agent-tower/shared/dist/index.d.ts.map +1 -1
  347. package/node_modules/@agent-tower/shared/dist/index.js +1 -0
  348. package/node_modules/@agent-tower/shared/dist/index.js.map +1 -1
  349. package/node_modules/@agent-tower/shared/dist/provider-capabilities.d.ts +6 -5
  350. package/node_modules/@agent-tower/shared/dist/provider-capabilities.d.ts.map +1 -1
  351. package/node_modules/@agent-tower/shared/dist/provider-capabilities.js.map +1 -1
  352. package/node_modules/@agent-tower/shared/dist/types.d.ts +49 -2
  353. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  354. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  355. package/package.json +1 -1
  356. package/dist/web/assets/ConversationPage-BINGA8XL.js +0 -3
  357. package/dist/web/assets/CreateTaskInput-8bLhHYOc.js +0 -1
  358. package/dist/web/assets/ProviderSettingsPage-BlgfQMwe.js +0 -95
  359. package/dist/web/assets/channel-B8s9dqlX.js +0 -1
  360. package/dist/web/assets/check-C1zWgxFO.js +0 -1
  361. package/dist/web/assets/classDiagram-4FO5ZUOK-61bPx188.js +0 -1
  362. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-61bPx188.js +0 -1
  363. package/dist/web/assets/cssMode-CNU1q_Gl.js +0 -1
  364. package/dist/web/assets/handlebars-DNXOgRZc.js +0 -1
  365. package/dist/web/assets/html-C20FgNS-.js +0 -1
  366. package/dist/web/assets/htmlMode-CtcV1Ktd.js +0 -1
  367. package/dist/web/assets/index-dElqH2UR.css +0 -1
  368. package/dist/web/assets/index-oC5eh7mZ.js +0 -122
  369. package/dist/web/assets/javascript-CFAVZ6Tb.js +0 -1
  370. package/dist/web/assets/liquid-CuzuRJIN.js +0 -1
  371. package/dist/web/assets/mdx-C3rxTvel.js +0 -1
  372. package/dist/web/assets/python-BYGLbOzO.js +0 -1
  373. package/dist/web/assets/razor-m0U9iUAj.js +0 -1
  374. package/dist/web/assets/select-D7WkUiad.js +0 -1
  375. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DHz3oGyD.js +0 -1
  376. package/dist/web/assets/typescript-rHoDxTY8.js +0 -1
  377. package/dist/web/assets/use-providers-B70-BYNu.js +0 -1
  378. package/dist/web/assets/xml-BqnpQrAq.js +0 -1
  379. package/dist/web/assets/yaml-mz2Zn_K2.js +0 -1
@@ -0,0 +1,311 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { CodexCliProjector } from './codex-cli-projector.js';
3
+ import { describeCliAction } from './cli-action-summary.js';
4
+ import { AgentRuntimeError } from './errors.js';
5
+ const object = (v) => !!v && typeof v === 'object' && !Array.isArray(v);
6
+ const identity = (v) => typeof v === 'string' && v.length > 0 && v.length <= 512;
7
+ const rpcId = (v) => identity(v) || (typeof v === 'number' && Number.isSafeInteger(v));
8
+ const key = (id) => `${typeof id}:${id}`;
9
+ const error = (code, message) => new AgentRuntimeError(code, 'permission', message, false);
10
+ /** Agent-specific JSONL/RPC codec. The coordinator owns public request state and authorization. */
11
+ export class CodexCliControl {
12
+ io;
13
+ context;
14
+ callbacks;
15
+ closed = false;
16
+ ready = false;
17
+ buffer = '';
18
+ seq = 0;
19
+ threadId;
20
+ nativeTurnId;
21
+ turnStarting = false;
22
+ terminal = false;
23
+ logs;
24
+ completedListeners = new Set();
25
+ failedListeners = new Set();
26
+ calls = new Map();
27
+ pending = new Map();
28
+ seen = new Set();
29
+ items = new Map();
30
+ usage;
31
+ constructor(io, store, context, callbacks) {
32
+ this.io = io;
33
+ this.context = context;
34
+ this.callbacks = callbacks;
35
+ this.logs = new CodexCliProjector(store);
36
+ }
37
+ onTurnCompleted(listener) { this.completedListeners.add(listener); return () => this.completedListeners.delete(listener); }
38
+ onTurnFailed(listener) { this.failedListeners.add(listener); return () => this.failedListeners.delete(listener); }
39
+ async start(initialInput, confirmed) {
40
+ const spec = JSON.parse(initialInput);
41
+ if (!identity(spec.cwd) || !Array.isArray(spec.input))
42
+ throw error('control_start_failed', 'Invalid Codex startup input.');
43
+ if (this.context.executionPermission !== 'ASK' && this.context.executionPermission !== 'AUTO_SANDBOX')
44
+ throw error('control_start_failed', 'Codex app-server requires an authorized interactive permission mode.');
45
+ const reviewer = this.context.executionPermission === 'AUTO_SANDBOX' ? 'auto_review' : 'user';
46
+ await this.request('initialize', { clientInfo: { name: 'codex_exec', title: 'Agent Tower', version: '0.161.0' } });
47
+ await this.io.write(JSON.stringify({ method: 'initialized', params: {} }) + '\n', () => !this.closed);
48
+ const result = await this.request(spec.resumeThreadId ? 'thread/resume' : 'thread/start', {
49
+ ...(spec.resumeThreadId ? { threadId: spec.resumeThreadId, excludeTurns: true } : {}),
50
+ cwd: spec.cwd, approvalPolicy: 'on-request', approvalsReviewer: reviewer, sandbox: 'workspace-write',
51
+ });
52
+ if (!object(result) || result.approvalPolicy !== 'on-request' || result.approvalsReviewer !== reviewer
53
+ || result.sandbox?.type !== 'workspaceWrite'
54
+ || (this.context.executionPermission === 'AUTO_SANDBOX'
55
+ && (result.sandbox.networkAccess !== false || !Array.isArray(result.sandbox.writableRoots)
56
+ || result.sandbox.writableRoots.length !== 0))
57
+ || !identity(result.thread?.id)
58
+ || (spec.resumeThreadId && result.thread.id !== spec.resumeThreadId)) {
59
+ throw error('permission_mode_unconfirmed', `Codex did not confirm on-request, ${reviewer} and the required workspace-write boundary before the task.`);
60
+ }
61
+ this.threadId = result.thread.id;
62
+ this.logs.thread(result.thread.id);
63
+ if (this.closed)
64
+ throw error('control_disconnected', 'Codex execution has ended.');
65
+ this.ready = true;
66
+ confirmed();
67
+ this.turnStarting = true;
68
+ const started = await this.request('turn/start', { threadId: this.threadId, input: spec.input });
69
+ if (!identity(started?.turn?.id) || (this.nativeTurnId && started.turn.id !== this.nativeTurnId))
70
+ throw error('control_protocol_invalid', 'Codex did not confirm the native turn identity.');
71
+ this.nativeTurnId = started.turn.id;
72
+ this.turnStarting = false;
73
+ }
74
+ processData(data) {
75
+ this.buffer += data;
76
+ let newline;
77
+ while ((newline = this.buffer.indexOf('\n')) >= 0) {
78
+ const line = this.buffer.slice(0, newline);
79
+ this.buffer = this.buffer.slice(newline + 1);
80
+ this.line(line);
81
+ }
82
+ if (this.buffer.length > 8 * 1024 * 1024) {
83
+ this.buffer = '';
84
+ this.fail(error('control_protocol_invalid', 'Codex output frame exceeded its limit.'));
85
+ }
86
+ }
87
+ finish(exitCode) {
88
+ if (this.buffer.trim())
89
+ this.line(this.buffer);
90
+ this.buffer = '';
91
+ }
92
+ line(line) {
93
+ if (!line.trim())
94
+ return;
95
+ if (line.length > 8 * 1024 * 1024) {
96
+ this.fail(error('control_protocol_invalid', 'Codex output frame exceeded its limit.'));
97
+ return;
98
+ }
99
+ try {
100
+ this.handle(JSON.parse(line));
101
+ }
102
+ catch {
103
+ this.fail(error('control_protocol_invalid', 'Invalid Codex app-server JSONL message.'));
104
+ }
105
+ }
106
+ handle(m) {
107
+ try {
108
+ if (!object(m))
109
+ throw error('control_protocol_invalid', 'Invalid Codex app-server message.');
110
+ if (m.method === undefined && rpcId(m.id)) {
111
+ const call = this.calls.get(key(m.id));
112
+ if (!call)
113
+ return;
114
+ this.calls.delete(key(m.id));
115
+ clearTimeout(call.timer);
116
+ if (m.error) {
117
+ if (this.context.executionPermission === 'AUTO_SANDBOX' && (call.method === 'thread/start' || call.method === 'thread/resume')) {
118
+ call.reject(error('permission_mode_unconfirmed', 'Codex rejected the AUTO_SANDBOX thread configuration (auto_review); no task was sent.'));
119
+ }
120
+ else if (this.context.executionPermission === 'AUTO_SANDBOX' && call.method === 'turn/start') {
121
+ call.reject(error('control_request_failed', 'Codex rejected turn/start with AUTO_SANDBOX (auto_review) selected; execution stopped.'));
122
+ }
123
+ else {
124
+ call.reject(error('control_request_failed', 'Codex rejected initialization, thread configuration or turn startup.'));
125
+ }
126
+ }
127
+ else if ('result' in m) {
128
+ // Bind the turn on the response path too, before consuming another
129
+ // buffered notification/request in this same stdout callback.
130
+ if (call.method === 'turn/start') {
131
+ if (!identity(m.result?.turn?.id) || (this.nativeTurnId && this.nativeTurnId !== m.result.turn.id)) {
132
+ call.reject(error('control_protocol_invalid', 'Codex did not confirm the native turn identity.'));
133
+ return;
134
+ }
135
+ this.nativeTurnId = m.result.turn.id;
136
+ }
137
+ call.resolve(m.result);
138
+ }
139
+ else
140
+ call.reject(error('control_protocol_invalid', 'Invalid Codex RPC response.'));
141
+ return;
142
+ }
143
+ if (typeof m.method !== 'string' || !object(m.params))
144
+ throw error('control_protocol_invalid', 'Invalid Codex notification/request.');
145
+ if (m.id !== undefined) {
146
+ if (this.closed)
147
+ return;
148
+ this.approval(m);
149
+ return;
150
+ }
151
+ const p = m.params;
152
+ if (m.method === 'serverRequest/resolved') {
153
+ if (p.threadId === this.threadId && rpcId(p.requestId))
154
+ for (const [id, item] of this.pending)
155
+ if (key(item.nativeId) === key(p.requestId))
156
+ this.invalidate(id);
157
+ return;
158
+ }
159
+ // Thread initialization/history and legacy codex/event notifications are not live turn output.
160
+ if (!this.ready || p.threadId !== this.threadId)
161
+ return;
162
+ if (m.method === 'turn/started') {
163
+ // Response and notification travel independently; either may arrive first.
164
+ if (!identity(p.turn?.id) || (!this.turnStarting && !this.nativeTurnId) || (this.nativeTurnId && this.nativeTurnId !== p.turn.id))
165
+ throw error('control_protocol_invalid', 'Unexpected Codex turn identity.');
166
+ this.nativeTurnId = p.turn.id;
167
+ return;
168
+ }
169
+ if (p.turnId !== undefined && p.turnId !== this.nativeTurnId)
170
+ return;
171
+ if (m.method === 'item/started' || m.method === 'item/completed') {
172
+ if (!identity(p.item?.id))
173
+ throw error('control_protocol_invalid', 'Invalid Codex item identity.');
174
+ if (this.items.size >= 2048 && !this.items.has(p.item.id))
175
+ throw error('control_request_limit', 'Codex item limit exceeded.');
176
+ // Keep only the bounded action preview; raw diffs/arguments never enter pending DTOs.
177
+ this.items.set(p.item.id, { type: p.item.type, command: p.item.command, cwd: p.item.cwd,
178
+ paths: Array.isArray(p.item.changes) ? p.item.changes.slice(0, 40).map((c) => c.path) : [] });
179
+ this.logs.item(p.item);
180
+ }
181
+ else if (['item/agentMessage/delta', 'item/commandExecution/outputDelta', 'item/reasoning/summaryTextDelta', 'item/reasoning/textDelta', 'item/plan/delta'].includes(m.method)) {
182
+ if (identity(p.itemId) && typeof p.delta === 'string')
183
+ this.logs.delta(m.method, p.itemId, p.delta);
184
+ }
185
+ else if (m.method === 'thread/tokenUsage/updated') {
186
+ this.usage = p.tokenUsage?.last;
187
+ this.logs.usage(this.usage);
188
+ }
189
+ else if (m.method === 'turn/plan/updated') {
190
+ if (Array.isArray(p.plan))
191
+ this.logs.plan(p.plan);
192
+ }
193
+ else if (m.method === 'error') {
194
+ this.logs.error(p.error?.message ?? 'Codex runtime error');
195
+ }
196
+ else if (m.method === 'turn/completed') {
197
+ if (p.turn?.id !== this.nativeTurnId || this.terminal)
198
+ return;
199
+ this.terminal = true;
200
+ for (const id of this.pending.keys())
201
+ this.invalidate(id);
202
+ this.logs.usage(this.usage);
203
+ if (p.turn.status === 'completed')
204
+ for (const listener of [...this.completedListeners])
205
+ listener();
206
+ else {
207
+ this.logs.error(p.turn.error?.message ?? `Codex turn ${String(p.turn.status)}`);
208
+ for (const listener of [...this.failedListeners])
209
+ listener();
210
+ }
211
+ }
212
+ }
213
+ catch (failure) {
214
+ this.fail(failure);
215
+ }
216
+ }
217
+ approval(m) {
218
+ const p = m.params;
219
+ if (!this.ready || this.terminal || !rpcId(m.id) || p.threadId !== this.threadId || p.turnId !== this.nativeTurnId || !identity(p.itemId))
220
+ throw error('control_protocol_invalid', 'Codex approval lacks the active thread/turn/item identity.');
221
+ // Questions, plans, MCP elicitation and resource grants have different response contracts.
222
+ if (!['item/commandExecution/requestApproval', 'item/fileChange/requestApproval'].includes(m.method))
223
+ throw error('native_interaction_unsupported', 'This Codex question, resource grant or native interaction is not supported.');
224
+ if (p.kind != null && !['command', 'writeStdin'].includes(p.kind))
225
+ throw error('native_interaction_unsupported', 'Unknown Codex command approval kind.');
226
+ const nativeKey = key(m.id);
227
+ if (this.seen.has(nativeKey))
228
+ return;
229
+ if (this.seen.size >= 1024 || this.pending.size >= 32)
230
+ throw error('control_request_limit', 'Codex approval limit exceeded.');
231
+ if (p.availableDecisions != null && (!Array.isArray(p.availableDecisions) || !p.availableDecisions.includes('accept')))
232
+ throw error('native_interaction_unsupported', 'Codex did not offer single-action approval.');
233
+ // This verified v2 build accepts `decline` even when its suggested UI menu
234
+ // lists `cancel` instead. Native deny/resume smoke covers that response.
235
+ // Never send acceptForSession or a policy amendment from an Allow once button.
236
+ if (p.grantRoot)
237
+ throw error('native_interaction_unsupported', 'Persistent Codex directory grants require a separate approval flow.');
238
+ this.seen.add(nativeKey);
239
+ const preview = this.items.get(p.itemId);
240
+ const isCommand = m.method === 'item/commandExecution/requestApproval';
241
+ const details = describeCliAction({
242
+ command: isCommand && !p.networkApprovalContext ? p.command ?? preview?.command : undefined,
243
+ path: isCommand ? p.cwd ?? preview?.cwd : preview?.paths?.join('\n'),
244
+ description: p.networkApprovalContext ? `Network ${p.networkApprovalContext.protocol}: ${p.networkApprovalContext.host}` : p.reason,
245
+ }, this.context.sensitiveValues);
246
+ const id = randomUUID();
247
+ this.pending.set(id, { nativeId: m.id, responding: false });
248
+ this.callbacks.requested({ requestId: id, sessionId: this.context.sessionId, turnId: this.context.turnId,
249
+ runtimeInstanceId: this.context.runtimeInstanceId, toolCallId: p.itemId,
250
+ toolName: isCommand ? 'commandExecution' : 'fileChange', toolSummary: isCommand ? p.kind === 'writeStdin' ? 'Codex terminal input approval' : 'Codex command approval' : 'Codex file change approval', actionDetails: details,
251
+ options: [{ optionId: 'allow_once', name: 'Allow once', kind: 'allow_once' }, { optionId: 'reject_once', name: 'Reject once', kind: 'reject_once' }], createdAt: new Date().toISOString() });
252
+ }
253
+ async resolve(requestId, optionId, authorizeDelivery) {
254
+ const item = this.pending.get(requestId);
255
+ if (this.closed || !item || item.responding)
256
+ throw error('permission_not_found', 'Permission request is no longer active.');
257
+ if (!['allow_once', 'reject_once'].includes(optionId))
258
+ throw error('permission_option_invalid', 'Permission option was not offered.');
259
+ authorizeDelivery?.();
260
+ item.responding = true;
261
+ try {
262
+ await this.io.write(JSON.stringify({ id: item.nativeId, result: { decision: optionId === 'allow_once' ? 'accept' : 'decline' } }) + '\n', () => {
263
+ authorizeDelivery?.();
264
+ return !this.closed && this.pending.get(requestId) === item;
265
+ });
266
+ // Native serverRequest/resolved can precede our transport write ACK.
267
+ if (this.closed && !this.terminal)
268
+ throw error('permission_not_found', 'Codex execution ended during approval delivery.');
269
+ this.invalidate(requestId);
270
+ }
271
+ catch (failure) {
272
+ if (!this.closed)
273
+ this.fail(error('control_write_failed', 'Codex approval delivery was uncertain. Execution was stopped.'));
274
+ throw failure;
275
+ }
276
+ }
277
+ close() {
278
+ if (this.closed)
279
+ return;
280
+ this.closed = true;
281
+ for (const id of this.pending.keys())
282
+ this.invalidate(id);
283
+ for (const call of this.calls.values()) {
284
+ clearTimeout(call.timer);
285
+ call.reject(error('control_disconnected', 'Codex control channel ended.'));
286
+ }
287
+ this.calls.clear();
288
+ }
289
+ invalidate(id) { if (this.pending.delete(id))
290
+ this.callbacks.invalidated(id); }
291
+ fail(failure) { if (this.closed)
292
+ return; this.close(); this.callbacks.failed(failure); }
293
+ request(method, params) {
294
+ if (this.closed)
295
+ return Promise.reject(error('control_disconnected', 'Codex control channel ended.'));
296
+ const id = `tower-${++this.seq}`;
297
+ return new Promise((resolve, reject) => {
298
+ const timer = setTimeout(() => { this.calls.delete(key(id)); reject(error('control_handshake_timeout', 'Codex initialization or turn startup timed out.')); }, 15_000);
299
+ this.calls.set(key(id), { method, resolve, reject, timer });
300
+ void this.io.write(JSON.stringify({ id, method, params }) + '\n', () => !this.closed).catch(failure => {
301
+ const call = this.calls.get(key(id));
302
+ if (!call)
303
+ return;
304
+ this.calls.delete(key(id));
305
+ clearTimeout(call.timer);
306
+ reject(failure);
307
+ });
308
+ });
309
+ }
310
+ }
311
+ //# sourceMappingURL=codex-cli-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-control.js","sourceRoot":"","sources":["../../src/runtime/codex-cli-control.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { MsgStore } from '../output/msg-store.js';
2
+ type Item = Record<string, any>;
3
+ /** Native v2 events only; never publish raw RPC requests or replay resumed history. */
4
+ export declare class CodexCliProjector {
5
+ private readonly store;
6
+ private readonly entries;
7
+ constructor(store: MsgStore);
8
+ thread(id: string): void;
9
+ usage(usage?: Item): void;
10
+ error(message: string): void;
11
+ item(item: Item): void;
12
+ delta(method: string, itemId: string, delta: string): void;
13
+ plan(plan: Item[]): void;
14
+ private put;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=codex-cli-projector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-projector.d.ts","sourceRoot":"","sources":["../../src/runtime/codex-cli-projector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAShC,uFAAuF;AACvF,qBAAa,iBAAiB;IAEhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IADlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiF;gBAC5E,KAAK,EAAE,QAAQ;IAC5C,MAAM,CAAC,EAAE,EAAE,MAAM;IACjB,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI;IAGlB,KAAK,CAAC,OAAO,EAAE,MAAM;IACrB,IAAI,CAAC,IAAI,EAAE,IAAI;IAqBf,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQnD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;IAKjB,OAAO,CAAC,GAAG;CAQZ"}
@@ -0,0 +1,80 @@
1
+ import { createAssistantMessage, createThinking, createToolUse, createErrorMessage, createTokenUsageInfo } from '../output/types.js';
2
+ import { addNormalizedEntry, replaceNormalizedEntry } from '../output/utils/patch.js';
3
+ const MAX_OUTPUT_LENGTH = 32 * 1024;
4
+ const MAX_TEXT_LENGTH = 64 * 1024;
5
+ function boundedPreview(text, limit) {
6
+ if (text.length <= limit)
7
+ return text;
8
+ const marker = '\n[TRUNCATED]\n';
9
+ const head = Math.floor(limit * 3 / 4);
10
+ return text.slice(0, head) + marker + text.slice(-(limit - head - marker.length));
11
+ }
12
+ /** Native v2 events only; never publish raw RPC requests or replay resumed history. */
13
+ export class CodexCliProjector {
14
+ store;
15
+ entries = new Map();
16
+ constructor(store) {
17
+ this.store = store;
18
+ }
19
+ thread(id) { this.store.pushSessionId(id); }
20
+ usage(usage) {
21
+ if (usage && Number.isFinite(usage.inputTokens) && Number.isFinite(usage.outputTokens))
22
+ this.put('usage', createTokenUsageInfo(usage.inputTokens + usage.outputTokens));
23
+ }
24
+ error(message) { this.put('error', createErrorMessage(message)); }
25
+ item(item) {
26
+ if (typeof item.id !== 'string')
27
+ return;
28
+ const status = item.status === 'declined' ? 'denied' : item.status === 'failed' || item.error ? 'failed'
29
+ : item.status === 'completed' ? 'success' : 'in_progress';
30
+ if (item.type === 'agentMessage')
31
+ this.put(item.id, createAssistantMessage(typeof item.text === 'string' ? item.text : '', item.id));
32
+ else if (item.type === 'reasoning')
33
+ this.put(item.id, createThinking([...(item.summary ?? []), ...(item.content ?? [])].filter(v => typeof v === 'string').join('\n'), item.id));
34
+ else if (item.type === 'commandExecution') {
35
+ const entry = createToolUse('bash', typeof item.command === 'string' ? item.command : 'Command', 'command_run', item.id, item.id);
36
+ const output = boundedPreview(typeof item.aggregatedOutput === 'string' ? item.aggregatedOutput : this.entries.get(item.id)?.output ?? '', MAX_OUTPUT_LENGTH);
37
+ this.put(item.id, { ...entry, metadata: { ...entry.metadata, status }, content: output ? `${entry.content}\n\nOutput:\n${output}` : entry.content }, output);
38
+ }
39
+ else if (item.type === 'fileChange') {
40
+ const changes = Array.isArray(item.changes) ? item.changes : [];
41
+ const entry = createToolUse('apply_patch', changes.map((c) => c.path).join('\n') || 'File changes', 'file_edit', item.id, item.id);
42
+ this.put(item.id, { ...entry, metadata: { ...entry.metadata, status, fileChanges: changes.filter((c) => typeof c.path === 'string').map((c) => ({
43
+ type: c.kind?.type === 'add' ? 'write' : c.kind?.type === 'delete' ? 'delete' : 'edit', path: c.path,
44
+ })) } });
45
+ }
46
+ else if (item.type === 'mcpToolCall') {
47
+ const entry = createToolUse(String(item.tool ?? 'mcp'), `${item.server}/${item.tool}\n${JSON.stringify(item.arguments ?? {})}\n${JSON.stringify(item.result ?? item.error ?? '')}`, 'tool', item.id, item.id);
48
+ this.put(item.id, { ...entry, metadata: { ...entry.metadata, status } });
49
+ }
50
+ else if (item.type === 'plan')
51
+ this.put(item.id, createAssistantMessage(String(item.text ?? ''), item.id));
52
+ }
53
+ delta(method, itemId, delta) {
54
+ const previous = this.entries.get(itemId);
55
+ if (!previous)
56
+ return;
57
+ if (method === 'item/commandExecution/outputDelta') {
58
+ const output = boundedPreview((previous.output ?? '') + delta, MAX_OUTPUT_LENGTH);
59
+ const command = previous.entry.content.split('\n\nOutput:\n')[0];
60
+ this.put(itemId, { ...previous.entry, content: `${command}\n\nOutput:\n${output}` }, output);
61
+ }
62
+ else
63
+ this.put(itemId, { ...previous.entry, content: previous.entry.content + delta });
64
+ }
65
+ plan(plan) {
66
+ const todos = plan.map(p => ({ content: String(p.step ?? ''), status: p.status === 'completed' ? 'completed' : p.status === 'inProgress' ? 'in_progress' : 'pending' }));
67
+ const entry = createToolUse('update_plan', todos.map(t => `${t.status}: ${t.content}`).join('\n'), 'todo_management', 'codex-plan');
68
+ this.put('codex-plan', { ...entry, metadata: { ...entry.metadata, todos } });
69
+ }
70
+ put(id, entry, output) {
71
+ const previous = this.entries.get(id);
72
+ if (previous)
73
+ entry = { ...entry, id: previous.entry.id, timestamp: previous.entry.timestamp };
74
+ entry = { ...entry, content: boundedPreview(entry.content, MAX_TEXT_LENGTH) };
75
+ const index = previous?.index ?? this.store.entryIndex.next();
76
+ this.entries.set(id, { index, entry, output });
77
+ this.store.pushPatch(previous ? replaceNormalizedEntry(index, entry) : addNormalizedEntry(index, entry));
78
+ }
79
+ }
80
+ //# sourceMappingURL=codex-cli-projector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-projector.js","sourceRoot":"","sources":["../../src/runtime/codex-cli-projector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentType, RuntimeCapabilities, RuntimeErrorDto, RuntimePermissionRequest, RuntimeStateDto, RuntimeType } from '@agent-tower/shared';
1
+ import type { AgentType, ExecutionPermissionMode, Provider, RuntimeCapabilities, RuntimeErrorDto, RuntimePermissionRequest, RuntimeStateDto, RuntimeType } from '@agent-tower/shared';
2
2
  import type { ExecutionEnv } from '../executors/execution-env.js';
3
3
  import type { JsonPatch, MsgStore } from '../output/index.js';
4
4
  export type RuntimeStreamEvent = {
@@ -19,6 +19,9 @@ export type RuntimeStreamEvent = {
19
19
  requestId: string;
20
20
  } | {
21
21
  type: 'progress';
22
+ } | {
23
+ type: 'execution_permission_applied';
24
+ mode: ExecutionPermissionMode;
22
25
  };
23
26
  export type RuntimeTerminalEvent = {
24
27
  type: 'completed';
@@ -72,6 +75,9 @@ export interface RuntimeOpenInput {
72
75
  runtimeType: RuntimeType;
73
76
  variant: string;
74
77
  providerId?: string | null;
78
+ /** Authorized immutable launch configuration; a changed Provider is not reread by the driver. */
79
+ providerSnapshot?: Provider;
80
+ executionPermission?: ExecutionPermissionMode;
75
81
  workingDir: string;
76
82
  env: ExecutionEnv;
77
83
  externalSessionId?: string | null;
@@ -83,6 +89,8 @@ export interface RuntimeOpenInput {
83
89
  export type RuntimeResumeMode = 'load' | 'resume';
84
90
  export interface RuntimeRunTurnInput {
85
91
  turnId: string;
92
+ providerSnapshot?: Provider;
93
+ executionPermission?: ExecutionPermissionMode;
86
94
  prompt: string;
87
95
  msgStore: MsgStore;
88
96
  resumeExternalSessionId?: string | null;
@@ -107,11 +115,13 @@ export interface DriverTurn {
107
115
  }
108
116
  export interface DriverSession {
109
117
  readonly runtimeInstanceId: string;
118
+ /** ACP launch settings can be retained only while the native transport is alive. */
119
+ readonly hasActiveTransport?: boolean;
110
120
  readonly capabilities: RuntimeCapabilities;
111
121
  readonly externalSessionId?: string;
112
122
  runTurn(input: RuntimeRunTurnInput, sink: RuntimeDriverEventSink): Promise<DriverTurn>;
113
123
  cancelTurn(turnId: string): Promise<void>;
114
- resolvePermission?(requestId: string, optionId: string): Promise<void>;
124
+ resolvePermission?(requestId: string, optionId: string, authorizeDelivery?: () => void): Promise<void>;
115
125
  writeInput?(data: string): void;
116
126
  resize?(cols: number, rows: number): void;
117
127
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/runtime/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/runtime/contracts.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare class RuntimeCoordinator {
27
27
  cancelAndDisposeSession(towerSessionId: string): Promise<void>;
28
28
  /** Cancel a superseded turn and report whether its DriverSession is reusable. */
29
29
  abandonTurn(towerSessionId: string, timeoutMs?: number): Promise<boolean>;
30
- resolvePermission(towerSessionId: string, requestId: string, optionId: string): Promise<void>;
30
+ resolvePermission(towerSessionId: string, requestId: string, optionId: string, authorizeDelivery?: () => void): Promise<void>;
31
31
  getState(towerSessionId: string, fallbackRuntimeType?: RuntimeType): RuntimeStateDto;
32
32
  hasActiveTurn(towerSessionId: string): boolean;
33
33
  /** Wait for the current turn, if any, without starting or cancelling it. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-coordinator.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-coordinator.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-coordinator.ts"],"names":[],"mappings":"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"}