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
@@ -3,7 +3,7 @@ import { constants } from 'node:fs';
3
3
  import { access, stat } from 'node:fs/promises';
4
4
  import path from 'node:path';
5
5
  import * as acp from '@agentclientprotocol/sdk';
6
- import { normalizeRuntimePermissionMode } from '@agent-tower/shared';
6
+ import { resolveProviderExecutionPermission, RuntimeType } from '@agent-tower/shared';
7
7
  import { which } from '../../../utils/index.js';
8
8
  import { AgentRuntimeError } from '../../errors.js';
9
9
  export function createNativeAcpAgentDefinition(options) {
@@ -18,11 +18,7 @@ export function createNativeAcpAgentDefinition(options) {
18
18
  const model = readNonEmptyString(provider?.config.model);
19
19
  const effort = readNonEmptyString(provider?.config.effort);
20
20
  const appendPrompt = readNonEmptyString(provider?.config.appendPrompt);
21
- const configuredMode = provider?.config.permissionMode ?? provider?.config.acpPermissionMode;
22
- const permissionEnabled = options.permissionConfigKeys?.some(key => provider?.config[key] === true) ?? false;
23
- const permissionMode = configuredMode === undefined
24
- ? permissionEnabled ? 'UNRESTRICTED' : 'ASK'
25
- : normalizeRuntimePermissionMode(configuredMode);
21
+ const permissionMode = resolveProviderExecutionPermission(provider ?? { agentType: options.agentType, runtimeType: RuntimeType.ACP }).mode;
26
22
  return {
27
23
  agentType: options.agentType,
28
24
  environment,
@@ -36,6 +32,7 @@ export function createNativeAcpAgentDefinition(options) {
36
32
  return {
37
33
  agentType: options.agentType,
38
34
  displayName: options.displayName,
35
+ supportsPermissionRestore: options.supportsPermissionRestore,
39
36
  ...(options.initializeTimeoutMs ? { initializeTimeoutMs: options.initializeTimeoutMs } : {}),
40
37
  ...(options.maxStdoutFrameBytes ? { maxStdoutFrameBytes: options.maxStdoutFrameBytes } : {}),
41
38
  ...(options.transformStdoutFrame ? { transformStdoutFrame: options.transformStdoutFrame } : {}),
@@ -75,16 +72,14 @@ export function createNativeAcpAgentDefinition(options) {
75
72
  value: sessionModel,
76
73
  });
77
74
  }
78
- if (profile.permissionMode === 'UNRESTRICTED'
79
- && options.unrestrictedModeId
80
- && response.modes?.currentModeId !== options.unrestrictedModeId) {
81
- if (!response.modes?.availableModes.some(mode => mode.id === options.unrestrictedModeId)) {
82
- throw new AgentRuntimeError('permission_mode_unsupported', 'session', `${options.displayName} did not advertise its unrestricted mode`, false);
75
+ const modeId = profile.permissionMode === 'FULL_ACCESS' ? options.unrestrictedModeId : options.askModeId;
76
+ if (modeId) {
77
+ if (!response.modes?.availableModes.some(mode => mode.id === modeId)) {
78
+ throw new AgentRuntimeError('permission_mode_unsupported', 'session', `${options.displayName} did not advertise '${modeId}'`, false);
79
+ }
80
+ if (response.modes.currentModeId !== modeId) {
81
+ await context.request(acp.methods.agent.session.setMode, { sessionId, modeId });
83
82
  }
84
- await context.request(acp.methods.agent.session.setMode, {
85
- sessionId,
86
- modeId: options.unrestrictedModeId,
87
- });
88
83
  }
89
84
  },
90
85
  };
@@ -95,7 +90,8 @@ export async function geminiAcpArguments(_input, profile, executablePath) {
95
90
  return [
96
91
  acpFlag,
97
92
  ...(profile.model ? ['--model', profile.model] : []),
98
- ...(profile.permissionMode === 'UNRESTRICTED' ? ['--no-sandbox', '--approval-mode', 'yolo'] : []),
93
+ '--approval-mode', profile.permissionMode === 'FULL_ACCESS' ? 'yolo' : 'default',
94
+ ...(profile.permissionMode === 'FULL_ACCESS' ? ['--no-sandbox'] : []),
99
95
  ];
100
96
  }
101
97
  async function resolveNativeExecutable(environment, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"native-agent.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/native-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAkB,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA0CpD,MAAM,UAAU,8BAA8B,CAAC,OAA2B;IACxE,MAAM,eAAe,GAA0C,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE;QAChG,MAAM,WAAW,GAAG,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAChD,MAAM,mBAAmB,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;QAChD,IAAI,gBAAgB,IAAI,mBAAmB,IAAI,iBAAiB,IAAI,mBAAmB,EAAE,CAAC;YACxF,OAAO,WAAW,CAAC,cAAc,CAAC;YAClC,OAAO,WAAW,CAAC,eAAe,CAAC;QACrC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,QAAQ,EAAE,MAAM,CAAC,cAAc,IAAI,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC7F,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC;QAC7G,MAAM,cAAc,GAAG,cAAc,KAAK,SAAS;YACjD,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK;YAC5C,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;QAEnD,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW;YACX,cAAc;YACd,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC;SACrE,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,eAAe;QAEf,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO;YAChC,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,iBAAiB,CACzB,eAAe,EACf,kBAAkB,EAClB,GAAG,OAAO,CAAC,WAAW,oBAAoB,EAC1C,IAAI,CACL,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU;gBAClD,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC;gBACzD,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3B,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YACvF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;YAC/E,OAAO;gBACL,OAAO,EAAE,cAAc;gBACvB,IAAI;gBACJ,GAAG,EAAE,KAAK,CAAC,UAAU;gBACrB,GAAG,EAAE,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE;gBACzC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,QAAQ;YAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAA4B,CAAC,CAAC;YACxF,OAAO,MAAM,uBAAuB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;gBAChE,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE;gBAChC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,WAAW,oBAAoB,EAAE,CAAC;QAC/E,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO;YAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;YAC3E,IACE,OAAO,CAAC,qBAAqB,KAAK,KAAK;mBACpC,YAAY;mBACZ,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,EAChE,CAAC;gBACD,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE;oBAC/D,SAAS;oBACT,QAAQ,EAAE,OAAO;oBACjB,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,IACE,OAAO,CAAC,cAAc,KAAK,cAAc;mBACtC,OAAO,CAAC,kBAAkB;mBAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,kBAAkB,EAC/D,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACzF,MAAM,IAAI,iBAAiB,CACzB,6BAA6B,EAC7B,SAAS,EACT,GAAG,OAAO,CAAC,WAAW,0CAA0C,EAChE,KAAK,CACN,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;oBACvD,SAAS;oBACT,MAAM,EAAE,OAAO,CAAC,kBAAkB;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAwB,EACxB,OAAwB,EACxB,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACrF,OAAO;QACL,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,WAA8B,EAC9B,OAA0G;IAE1G,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,YAAY,CAAC,UAAU,CAAC;YAAE,OAAO,UAAU,CAAC;QACrF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACvG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAC9B,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,sBAAsB,IAAI,EAAE,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC/C,IAAI,MAAM,YAAY,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAAiB;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;AAErD,SAAS,cAAc,CAAC,cAAsB;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC9C,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxG,OAAO,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA4B,EAAE,WAAmB;IAC1E,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,EAAE,CAAC;QACtF,OAAO,MAAiC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,iBAAiB,CACzB,yBAAyB,EACzB,iBAAiB,EACjB,GAAG,WAAW,0CAA0C,EACxD,KAAK,EACL,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"native-agent.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/native-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/opencode.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,yCA8BrC,CAAC"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/opencode.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,yCAkDrC,CAAC"}
@@ -13,12 +13,32 @@ export const openCodeAcpAgentDefinition = createNativeAcpAgentDefinition({
13
13
  buildEnvironment(profile) {
14
14
  const apiKey = profile.environment.OPENAI_API_KEY;
15
15
  const model = profile.model;
16
- if (!apiKey || !model || profile.environment.OPENCODE_CONFIG_CONTENT)
17
- return {};
16
+ const raw = profile.environment.OPENCODE_CONFIG_CONTENT;
17
+ const inherited = raw ? JSON.parse(raw) : {};
18
+ // OPENCODE_PERMISSION is applied after config files by upstream. Project it as well.
19
+ const envPermission = profile.environment.OPENCODE_PERMISSION
20
+ ? JSON.parse(profile.environment.OPENCODE_PERMISSION) : undefined;
21
+ const baseline = profile.permissionMode === 'FULL_ACCESS' ? 'allow' : 'ask';
22
+ const permission = projectPermission([inherited.permission, envPermission], baseline);
23
+ const projectAgents = (value) => !value || typeof value !== 'object' || Array.isArray(value)
24
+ ? value : Object.fromEntries(Object.entries(value).map(([name, options]) => [name,
25
+ options && typeof options === 'object' && !Array.isArray(options)
26
+ ? { ...options, permission: projectPermission([inherited.permission, envPermission, options.permission], baseline) }
27
+ : options,
28
+ ]));
29
+ const config = { ...inherited, permission,
30
+ ...(inherited.agent ? { agent: projectAgents(inherited.agent) } : {}),
31
+ ...(inherited.mode ? { mode: projectAgents(inherited.mode) } : {}),
32
+ };
33
+ const permissionEnvironment = { OPENCODE_PERMISSION: JSON.stringify(permission) };
34
+ if (!apiKey || !model || raw)
35
+ return { ...permissionEnvironment, OPENCODE_CONFIG_CONTENT: JSON.stringify(config) };
18
36
  const baseUrl = profile.environment.OPENAI_BASE_URL ?? 'https://api.openai.com/v1';
19
37
  const usesChatCompletions = profile.environment.OPENAI_WIRE_API === 'chat_completions';
20
38
  return {
39
+ ...permissionEnvironment,
21
40
  OPENCODE_CONFIG_CONTENT: JSON.stringify({
41
+ permission,
22
42
  model: `agent-tower/${model}`,
23
43
  provider: {
24
44
  'agent-tower': {
@@ -32,4 +52,32 @@ export const openCodeAcpAgentDefinition = createNativeAcpAgentDefinition({
32
52
  };
33
53
  },
34
54
  });
55
+ /** Retain explicit native deny rules from every source; all other rules use the selected mode. */
56
+ function projectPermission(values, baseline) {
57
+ const denies = {};
58
+ const merge = (target, value) => {
59
+ if (value === 'deny') {
60
+ target['*'] = 'deny';
61
+ return;
62
+ }
63
+ if (!value || typeof value !== 'object' || Array.isArray(value))
64
+ return;
65
+ for (const [key, rule] of Object.entries(value)) {
66
+ if (rule === 'deny')
67
+ target[key] = 'deny';
68
+ else if (rule && typeof rule === 'object' && !Array.isArray(rule) && target[key] !== 'deny') {
69
+ const nested = target[key] ?? {};
70
+ merge(nested, rule);
71
+ if (Object.keys(nested).length)
72
+ target[key] = nested;
73
+ }
74
+ }
75
+ };
76
+ for (const value of values)
77
+ merge(denies, value);
78
+ const fill = (value) => value['*'] === 'deny' ? { '*': 'deny' } : ({ '*': baseline,
79
+ ...Object.fromEntries(Object.entries(value).map(([key, rule]) => [key, rule === 'deny' ? rule : fill(rule)])),
80
+ });
81
+ return fill(denies);
82
+ }
35
83
  //# sourceMappingURL=opencode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;IACvE,SAAS,EAAE,SAAS,CAAC,QAAQ;IAC7B,WAAW,EAAE,UAAU;IACvB,oBAAoB,EAAE,CAAC,UAAU,CAAC;IAClC,iBAAiB,EAAE,CAAC,eAAe,CAAC;IACpC,SAAS,EAAE,CAAC,KAAK,CAAC;IAClB,sBAAsB,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC1D,mBAAmB,EAAE,MAAM;IAC3B,oBAAoB,EAAE,CAAC,aAAa,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;IACxF,gBAAgB,CAAC,OAAO;QACtB,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,uBAAuB;YAAE,OAAO,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,IAAI,2BAA2B,CAAC;QACnF,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,KAAK,kBAAkB,CAAC;QACvF,OAAO;YACL,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtC,KAAK,EAAE,eAAe,KAAK,EAAE;gBAC7B,QAAQ,EAAE;oBACR,aAAa,EAAE;wBACb,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,gBAAgB;wBACzE,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;wBACrC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;qBACrC;iBACF;aACF,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/opencode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi-coding-agent.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/pi-coding-agent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAItE,eAAO,MAAM,+BAA+B,EAAE,kBAqG7C,CAAC"}
1
+ {"version":3,"file":"pi-coding-agent.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/pi-coding-agent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAItE,eAAO,MAAM,+BAA+B,EAAE,kBAkG7C,CAAC"}
@@ -2,7 +2,7 @@ import { existsSync } from 'node:fs';
2
2
  import { createRequire } from 'node:module';
3
3
  import path from 'node:path';
4
4
  import * as acp from '@agentclientprotocol/sdk';
5
- import { AgentType, normalizeRuntimePermissionMode } from '@agent-tower/shared';
5
+ import { AgentType, resolveProviderExecutionPermission } from '@agent-tower/shared';
6
6
  import { which } from '../../../utils/index.js';
7
7
  import { buildMcpConfigResponse } from '../../../services/mcp-config.service.js';
8
8
  import { AgentRuntimeError } from '../../errors.js';
@@ -22,10 +22,7 @@ export const piCodingAgentAcpAgentDefinition = {
22
22
  const model = readNonEmptyString(provider?.config.model);
23
23
  const effort = readNonEmptyString(provider?.config.effort);
24
24
  const appendPrompt = readNonEmptyString(provider?.config.appendPrompt);
25
- const configuredMode = provider?.config.permissionMode ?? provider?.config.acpPermissionMode;
26
- const permissionMode = configuredMode === undefined
27
- ? provider?.config.autoApprove === true ? 'UNRESTRICTED' : 'ASK'
28
- : normalizeRuntimePermissionMode(configuredMode);
25
+ const permissionMode = resolveProviderExecutionPermission(provider ?? { agentType: AgentType.PI_CODING_AGENT }).mode;
29
26
  const supportsImages = provider?.config.supportsImages === true;
30
27
  return {
31
28
  agentType: AgentType.PI_CODING_AGENT,
@@ -1 +1 @@
1
- {"version":3,"file":"pi-coding-agent.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/pi-coding-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-coding-agent.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/pi-coding-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-code.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/qwen-code.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAmCtE,eAAO,MAAM,0BAA0B,EAAE,kBAgDxC,CAAC"}
1
+ {"version":3,"file":"qwen-code.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/qwen-code.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAgCtE,eAAO,MAAM,0BAA0B,EAAE,kBA+CxC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import * as acp from '@agentclientprotocol/sdk';
3
- import { AgentType, normalizeRuntimePermissionMode } from '@agent-tower/shared';
3
+ import { AgentType, resolveProviderExecutionPermission } from '@agent-tower/shared';
4
4
  import { which } from '../../../utils/index.js';
5
5
  import { AgentRuntimeError } from '../../errors.js';
6
6
  function projectQwenProvider(provider, inheritedEnvironment) {
@@ -11,13 +11,10 @@ function projectQwenProvider(provider, inheritedEnvironment) {
11
11
  const model = typeof provider?.config.model === 'string' && provider.config.model.trim()
12
12
  ? provider.config.model.trim()
13
13
  : undefined;
14
- const configuredMode = provider?.config.permissionMode ?? provider?.config.acpPermissionMode;
15
14
  const appendPrompt = typeof provider?.config.appendPrompt === 'string' && provider.config.appendPrompt
16
15
  ? provider.config.appendPrompt
17
16
  : undefined;
18
- const permissionMode = configuredMode === undefined && provider?.config.yolo === true
19
- ? 'UNRESTRICTED'
20
- : normalizeRuntimePermissionMode(configuredMode);
17
+ const permissionMode = resolveProviderExecutionPermission(provider ?? { agentType: AgentType.QWEN_CODE }).mode;
21
18
  return {
22
19
  agentType: AgentType.QWEN_CODE,
23
20
  environment,
@@ -46,7 +43,8 @@ export const qwenCodeAcpAgentDefinition = {
46
43
  args: [
47
44
  '--acp',
48
45
  '--experimental-skills',
49
- ...(profile.permissionMode === 'UNRESTRICTED' ? ['--no-sandbox'] : []),
46
+ '--approval-mode', profile.permissionMode === 'FULL_ACCESS' ? 'yolo' : 'default',
47
+ ...(profile.permissionMode === 'FULL_ACCESS' ? ['--no-sandbox'] : []),
50
48
  ...(profile.model ? ['--model', profile.model] : []),
51
49
  ...(profile.environment.OPENAI_API_KEY ? ['--auth-type=openai'] : []),
52
50
  ],
@@ -61,12 +59,12 @@ export const qwenCodeAcpAgentDefinition = {
61
59
  : { type: 'NOT_FOUND', error: 'Qwen Code CLI was not found' };
62
60
  },
63
61
  async configureSession(context, sessionId, response, profile) {
64
- if (profile.permissionMode === 'UNRESTRICTED'
65
- && response.modes?.currentModeId !== 'yolo') {
66
- if (!response.modes?.availableModes.some(mode => mode.id === 'yolo')) {
67
- throw new AgentRuntimeError('permission_mode_unsupported', 'session', 'Qwen Code did not advertise its unrestricted mode', false);
62
+ const modeId = profile.permissionMode === 'FULL_ACCESS' ? 'yolo' : 'default';
63
+ if (response.modes?.currentModeId !== modeId) {
64
+ if (!response.modes?.availableModes.some(mode => mode.id === modeId)) {
65
+ throw new AgentRuntimeError('permission_mode_unsupported', 'session', `Qwen Code did not advertise '${modeId}'`, false);
68
66
  }
69
- await context.request(acp.methods.agent.session.setMode, { sessionId, modeId: 'yolo' });
67
+ await context.request(acp.methods.agent.session.setMode, { sessionId, modeId });
70
68
  }
71
69
  },
72
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-code.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/qwen-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qwen-code.js","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/qwen-code.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type * as acp from '@agentclientprotocol/sdk';
2
- import type { AgentType, RuntimePermissionMode } from '@agent-tower/shared';
2
+ import type { AgentType, ExecutionPermissionMode } from '@agent-tower/shared';
3
3
  import type { AvailabilityInfo } from '../../../executors/base.executor.js';
4
4
  import type { Provider } from '../../../executors/providers.js';
5
5
  import type { RuntimeOpenInput } from '../../contracts.js';
6
6
  export interface AcpAgentProfile {
7
7
  agentType: AgentType;
8
8
  environment: Record<string, string>;
9
- permissionMode: RuntimePermissionMode;
9
+ permissionMode: ExecutionPermissionMode;
10
10
  authenticationRequest?: acp.AuthenticateRequest;
11
11
  appendPrompt?: string;
12
12
  model?: string;
@@ -28,6 +28,8 @@ export type AcpSessionBootstrapResponse = Pick<acp.NewSessionResponse, 'modes' |
28
28
  export interface AcpAgentDefinition {
29
29
  readonly agentType: AgentType;
30
30
  readonly displayName: string;
31
+ /** False when a loaded native session cannot reliably have its permissions reapplied. */
32
+ readonly supportsPermissionRestore?: boolean;
31
33
  readonly initializeTimeoutMs?: number;
32
34
  readonly maxStdoutFrameBytes?: number;
33
35
  readonly transformStdoutFrame?: AcpStdoutFrameTransform;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,EAAE,qBAAqB,CAAC;IACtC,qBAAqB,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,uBAAuB,GAAG,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7B,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,GAAG,eAAe,CAAC,CAAC;AAElG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;IACxD,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAAC;IAC1G,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzF,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjE,kBAAkB,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG,CAAC,kBAAkB,CAAC;IACtE,YAAY,CAAC,CACX,OAAO,EAAE,GAAG,CAAC,aAAa,EAC1B,QAAQ,EAAE,GAAG,CAAC,kBAAkB,EAChC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,eAAe,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAC/E,gBAAgB,CAAC,CACf,OAAO,EAAE,GAAG,CAAC,aAAa,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,2BAA2B,EACrC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/runtime/acp/agents/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * `originator` and `user-agent` prefix used by non-interactive `codex exec`.
3
+ *
4
+ * Agent Tower drives Codex through the ACP adapter, which otherwise identifies
5
+ * itself as `@agentclientprotocol/codex-acp` in the `user-agent` header.
6
+ * Some OpenAI-compatible gateways only accept traffic that looks like the
7
+ * native Codex CLI, so the identity is rewritten to match `codex exec`.
8
+ */
9
+ export declare const CODEX_CLI_ORIGINATOR = "codex_exec";
10
+ /** Cache probe results for the lifetime of the process; the runtime rarely changes. */
11
+ export declare function resetCodexCliIdentityCache(): void;
12
+ /**
13
+ * Full `user-agent` value a native `codex exec` process would send.
14
+ *
15
+ * Format verified against Codex CLI 0.156.0:
16
+ * `{name}/{codexVersion} ({platform}) {terminal} ({name}; {clientVersion})`
17
+ * e.g. `codex_exec/0.156.0 (Mac OS 15.6.1; arm64) Apple_Terminal/455.1 (codex_exec; 0.156.0)`
18
+ */
19
+ export declare function formatCodexCliUserAgent(parts: {
20
+ clientName: string;
21
+ codexVersion: string;
22
+ platform: string;
23
+ terminal: string;
24
+ clientVersion: string;
25
+ }): string;
26
+ /**
27
+ * Terminal segment of the Codex user-agent.
28
+ *
29
+ * Codex prefers `TERM_PROGRAM`, then falls back to well-known session markers
30
+ * and finally reports `unknown`; verified against Codex CLI 0.156.0.
31
+ */
32
+ export declare function detectCodexTerminal(environment: NodeJS.ProcessEnv): string;
33
+ /** `Mac OS 15.6.1; arm64` — the parenthesised segment of the Codex user-agent. */
34
+ export declare function resolveCodexPlatformDescription(): Promise<string>;
35
+ /**
36
+ * Resolve `codex --version` for the binary Agent Tower is about to launch.
37
+ *
38
+ * Best effort: callers must tolerate `undefined` and leave headers untouched.
39
+ */
40
+ export declare function resolveCodexVersion(codexPath: string | undefined, environment: NodeJS.ProcessEnv): Promise<string | undefined>;
41
+ /** `codex-cli 0.156.0` -> `0.156.0` */
42
+ export declare function parseCodexVersion(output: string): string | undefined;
43
+ /**
44
+ * Build the `user-agent` that makes an ACP-launched Codex indistinguishable
45
+ * from a native `codex exec` process, or `undefined` when the runtime version
46
+ * cannot be determined.
47
+ */
48
+ export declare function resolveCodexCliUserAgent(options: {
49
+ codexPath: string | undefined;
50
+ environment: NodeJS.ProcessEnv;
51
+ }): Promise<string | undefined>;
52
+ //# sourceMappingURL=codex-cli-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-identity.d.ts","sourceRoot":"","sources":["../../../src/runtime/acp/codex-cli-identity.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAQjD,uFAAuF;AACvF,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAGT;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAS1E;AAcD,kFAAkF;AAClF,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,MAAM,CAAC,CAGvE;AAuDD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,EAAE,MAAM,CAAC,UAAU,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7B;AAqBD,uCAAuC;AACvC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU9B"}
@@ -0,0 +1,179 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { readFile } from 'node:fs/promises';
3
+ import os from 'node:os';
4
+ import { promisify } from 'node:util';
5
+ const execFileAsync = promisify(execFile);
6
+ const VERSION_PROBE_TIMEOUT_MS = 5_000;
7
+ /**
8
+ * `originator` and `user-agent` prefix used by non-interactive `codex exec`.
9
+ *
10
+ * Agent Tower drives Codex through the ACP adapter, which otherwise identifies
11
+ * itself as `@agentclientprotocol/codex-acp` in the `user-agent` header.
12
+ * Some OpenAI-compatible gateways only accept traffic that looks like the
13
+ * native Codex CLI, so the identity is rewritten to match `codex exec`.
14
+ */
15
+ export const CODEX_CLI_ORIGINATOR = 'codex_exec';
16
+ /** Terminal name Codex reports when it cannot detect a terminal at all. */
17
+ const UNKNOWN_TERMINAL = 'unknown';
18
+ const versionCache = new Map();
19
+ let platformDescription;
20
+ /** Cache probe results for the lifetime of the process; the runtime rarely changes. */
21
+ export function resetCodexCliIdentityCache() {
22
+ versionCache.clear();
23
+ platformDescription = undefined;
24
+ }
25
+ /**
26
+ * Full `user-agent` value a native `codex exec` process would send.
27
+ *
28
+ * Format verified against Codex CLI 0.156.0:
29
+ * `{name}/{codexVersion} ({platform}) {terminal} ({name}; {clientVersion})`
30
+ * e.g. `codex_exec/0.156.0 (Mac OS 15.6.1; arm64) Apple_Terminal/455.1 (codex_exec; 0.156.0)`
31
+ */
32
+ export function formatCodexCliUserAgent(parts) {
33
+ return `${parts.clientName}/${parts.codexVersion} (${parts.platform}) ${parts.terminal}`
34
+ + ` (${parts.clientName}; ${parts.clientVersion})`;
35
+ }
36
+ /**
37
+ * Terminal segment of the Codex user-agent.
38
+ *
39
+ * Codex prefers `TERM_PROGRAM`, then falls back to well-known session markers
40
+ * and finally reports `unknown`; verified against Codex CLI 0.156.0.
41
+ */
42
+ export function detectCodexTerminal(environment) {
43
+ const program = environment.TERM_PROGRAM?.trim();
44
+ if (program) {
45
+ const version = environment.TERM_PROGRAM_VERSION?.trim();
46
+ return version ? `${program}/${version}` : program;
47
+ }
48
+ if (environment.WT_SESSION?.trim())
49
+ return 'WindowsTerminal';
50
+ if (environment.TERM_SESSION_ID?.trim())
51
+ return 'Apple_Terminal';
52
+ return UNKNOWN_TERMINAL;
53
+ }
54
+ /** Architecture token as reported by the Rust `os_info` crate Codex uses. */
55
+ function describeArchitecture() {
56
+ switch (process.arch) {
57
+ case 'x64':
58
+ return 'x86_64';
59
+ case 'ia32':
60
+ return 'i686';
61
+ default:
62
+ return process.arch;
63
+ }
64
+ }
65
+ /** `Mac OS 15.6.1; arm64` — the parenthesised segment of the Codex user-agent. */
66
+ export async function resolveCodexPlatformDescription() {
67
+ platformDescription ??= buildPlatformDescription();
68
+ return await platformDescription;
69
+ }
70
+ async function buildPlatformDescription() {
71
+ const architecture = describeArchitecture();
72
+ if (process.platform === 'darwin') {
73
+ return `Mac OS ${await readMacOsProductVersion()}; ${architecture}`;
74
+ }
75
+ if (process.platform === 'linux') {
76
+ return `${await readLinuxDistributionName()}; ${architecture}`;
77
+ }
78
+ if (process.platform === 'win32') {
79
+ return `Windows ${os.release()}; ${architecture}`;
80
+ }
81
+ return `${process.platform}; ${architecture}`;
82
+ }
83
+ async function readMacOsProductVersion() {
84
+ try {
85
+ const { stdout } = await execFileAsync('sw_vers', ['-productVersion'], {
86
+ encoding: 'utf8',
87
+ timeout: VERSION_PROBE_TIMEOUT_MS,
88
+ });
89
+ const version = String(stdout).trim();
90
+ if (version)
91
+ return version;
92
+ }
93
+ catch {
94
+ // Fall through to the Darwin kernel mapping below.
95
+ }
96
+ // Darwin 24.6.0 -> macOS 15.6.0; the kernel release omits the patch version.
97
+ const [major, minor] = os.release().split('.');
98
+ const macosMajor = Number(major);
99
+ if (Number.isFinite(macosMajor) && macosMajor >= 20) {
100
+ return `${macosMajor - 9}.${minor ?? '0'}.0`;
101
+ }
102
+ return os.release();
103
+ }
104
+ async function readLinuxDistributionName() {
105
+ try {
106
+ const contents = await readFile('/etc/os-release', 'utf8');
107
+ const fields = new Map();
108
+ for (const line of contents.split('\n')) {
109
+ const separator = line.indexOf('=');
110
+ if (separator <= 0)
111
+ continue;
112
+ fields.set(line.slice(0, separator).trim(), line.slice(separator + 1).trim().replace(/^"|"$/g, ''));
113
+ }
114
+ const name = fields.get('NAME');
115
+ const version = fields.get('VERSION_ID');
116
+ if (name && version)
117
+ return `${name} ${version}`;
118
+ if (name)
119
+ return name;
120
+ }
121
+ catch {
122
+ // Unknown distributions keep the generic platform name.
123
+ }
124
+ return 'Linux';
125
+ }
126
+ /**
127
+ * Resolve `codex --version` for the binary Agent Tower is about to launch.
128
+ *
129
+ * Best effort: callers must tolerate `undefined` and leave headers untouched.
130
+ */
131
+ export async function resolveCodexVersion(codexPath, environment) {
132
+ if (!codexPath)
133
+ return undefined;
134
+ const cached = versionCache.get(codexPath);
135
+ if (cached)
136
+ return await cached;
137
+ const pending = probeCodexVersion(codexPath, environment);
138
+ versionCache.set(codexPath, pending);
139
+ return await pending;
140
+ }
141
+ async function probeCodexVersion(codexPath, environment) {
142
+ try {
143
+ const { stdout } = await execFileAsync(codexPath, ['--version'], {
144
+ encoding: 'utf8',
145
+ timeout: VERSION_PROBE_TIMEOUT_MS,
146
+ env: environment,
147
+ windowsHide: true,
148
+ // `.cmd` shims on Windows are not directly executable without a shell.
149
+ shell: process.platform === 'win32',
150
+ });
151
+ return parseCodexVersion(String(stdout));
152
+ }
153
+ catch {
154
+ return undefined;
155
+ }
156
+ }
157
+ /** `codex-cli 0.156.0` -> `0.156.0` */
158
+ export function parseCodexVersion(output) {
159
+ const match = /(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)/.exec(output);
160
+ return match?.[1];
161
+ }
162
+ /**
163
+ * Build the `user-agent` that makes an ACP-launched Codex indistinguishable
164
+ * from a native `codex exec` process, or `undefined` when the runtime version
165
+ * cannot be determined.
166
+ */
167
+ export async function resolveCodexCliUserAgent(options) {
168
+ const codexVersion = await resolveCodexVersion(options.codexPath, options.environment);
169
+ if (!codexVersion)
170
+ return undefined;
171
+ return formatCodexCliUserAgent({
172
+ clientName: CODEX_CLI_ORIGINATOR,
173
+ codexVersion,
174
+ platform: await resolveCodexPlatformDescription(),
175
+ terminal: detectCodexTerminal(options.environment),
176
+ clientVersion: codexVersion,
177
+ });
178
+ }
179
+ //# sourceMappingURL=codex-cli-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-cli-identity.js","sourceRoot":"","sources":["../../../src/runtime/acp/codex-cli-identity.ts"],"names":[],"mappings":"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"}