factory-factory 0.3.2 → 0.3.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 (476) hide show
  1. package/dist/client/assets/{_basePickBy-DXuH24ai.js → _basePickBy-kS1IrKFQ.js} +1 -1
  2. package/dist/client/assets/{_baseUniq-CslDyWeR.js → _baseUniq-DisTPj-I.js} +1 -1
  3. package/dist/client/assets/{arc-2gvAyDbt.js → arc-CWpVTRns.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-VXUJARFQ-DgcFaiEM.js → architectureDiagram-VXUJARFQ-Dp1AYPMt.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-VD42YOAC-x5GBnWvh.js → blockDiagram-VD42YOAC-DXpmez0y.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-YG6GDRKO-BH1ALhYh.js → c4Diagram-YG6GDRKO-C6sDxR49.js} +1 -1
  7. package/dist/client/assets/channel-D5BCeybW.js +1 -0
  8. package/dist/client/assets/{chunk-4BX2VUAB-BrzGnqT-.js → chunk-4BX2VUAB-CQxlRbYu.js} +1 -1
  9. package/dist/client/assets/{chunk-55IACEB6-l8A9_mQA.js → chunk-55IACEB6-DxubFDep.js} +1 -1
  10. package/dist/client/assets/{chunk-B4BG7PRW-BsAqXKe3.js → chunk-B4BG7PRW-BtTQ0im9.js} +1 -1
  11. package/dist/client/assets/{chunk-DI55MBZ5-IIbvvT0k.js → chunk-DI55MBZ5-C2tNYDZj.js} +1 -1
  12. package/dist/client/assets/{chunk-FMBD7UC4-DLu7thHk.js → chunk-FMBD7UC4-kRQRN6vP.js} +1 -1
  13. package/dist/client/assets/{chunk-QN33PNHL-WRLtM-7j.js → chunk-QN33PNHL-DP72lCp6.js} +1 -1
  14. package/dist/client/assets/{chunk-QZHKN3VN-Dsklvm2v.js → chunk-QZHKN3VN-BfxMFZDN.js} +1 -1
  15. package/dist/client/assets/{chunk-TZMSLE5B-D06U47VI.js → chunk-TZMSLE5B-G3wPktxK.js} +1 -1
  16. package/dist/client/assets/classDiagram-2ON5EDUG-BUS1JDwr.js +1 -0
  17. package/dist/client/assets/classDiagram-v2-WZHVMYZB-BUS1JDwr.js +1 -0
  18. package/dist/client/assets/clone-C5xhPZw8.js +1 -0
  19. package/dist/client/assets/{cose-bilkent-S5V4N54A-BYd0MvfE.js → cose-bilkent-S5V4N54A-QPsUxyAe.js} +1 -1
  20. package/dist/client/assets/{dagre-6UL2VRFP-D-kPXmRT.js → dagre-6UL2VRFP-BAmsmcnI.js} +1 -1
  21. package/dist/client/assets/{diagram-PSM6KHXK-QIglBDlg.js → diagram-PSM6KHXK-QA-3O0wr.js} +1 -1
  22. package/dist/client/assets/{diagram-QEK2KX5R-CMd7cwDZ.js → diagram-QEK2KX5R-VZkRJLXU.js} +1 -1
  23. package/dist/client/assets/{diagram-S2PKOQOG-TfTgUpyH.js → diagram-S2PKOQOG-DwLmogjW.js} +1 -1
  24. package/dist/client/assets/{erDiagram-Q2GNP2WA-DtuLC2xg.js → erDiagram-Q2GNP2WA-DMKIVzp4.js} +1 -1
  25. package/dist/client/assets/{flowDiagram-NV44I4VS-DfgrrhwS.js → flowDiagram-NV44I4VS-op3xA_nS.js} +1 -1
  26. package/dist/client/assets/{ganttDiagram-JELNMOA3-D_dPspnH.js → ganttDiagram-JELNMOA3-nrnzVCJK.js} +1 -1
  27. package/dist/client/assets/{gitGraphDiagram-NY62KEGX-DJsigQIR.js → gitGraphDiagram-NY62KEGX-CK2ytvyZ.js} +1 -1
  28. package/dist/client/assets/{graph-B9NXnAuJ.js → graph-D_lEcPMk.js} +1 -1
  29. package/dist/client/assets/{index-DY2IN4MN.js → index-C2qHRaOH.js} +233 -231
  30. package/dist/client/assets/index-D5ywoSOH.css +1 -0
  31. package/dist/client/assets/{infoDiagram-WHAUD3N6-D5yAAuIK.js → infoDiagram-WHAUD3N6-DO5X8HkW.js} +1 -1
  32. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-DMeR4Vy_.js → journeyDiagram-XKPGCS4Q-Bnhe4U1x.js} +1 -1
  33. package/dist/client/assets/{kanban-definition-3W4ZIXB7-xNNLjBQO.js → kanban-definition-3W4ZIXB7-DpTaTXko.js} +1 -1
  34. package/dist/client/assets/{layout-Bv4qdz5g.js → layout-HT5qr--Q.js} +1 -1
  35. package/dist/client/assets/{linear-DOse4wNy.js → linear-CDmQ8HG8.js} +1 -1
  36. package/dist/client/assets/{mindmap-definition-VGOIOE7T-BjuQGPGv.js → mindmap-definition-VGOIOE7T-zDr7s4o2.js} +1 -1
  37. package/dist/client/assets/{pieDiagram-ADFJNKIX-VvsVA8GJ.js → pieDiagram-ADFJNKIX-BVBJCvYL.js} +1 -1
  38. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-oRc7Vk8X.js → quadrantDiagram-AYHSOK5B-DzdJzkAJ.js} +1 -1
  39. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-Dq3exCr2.js → requirementDiagram-UZGBJVZJ-ChrLzx8S.js} +1 -1
  40. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-Dzab26G_.js → sankeyDiagram-TZEHDZUN-GIzxIQQB.js} +1 -1
  41. package/dist/client/assets/{sequenceDiagram-WL72ISMW-C0gbEvnf.js → sequenceDiagram-WL72ISMW-BHxEpSCU.js} +1 -1
  42. package/dist/client/assets/{stateDiagram-FKZM4ZOC-lFd4FBIQ.js → stateDiagram-FKZM4ZOC-ByvdYZKl.js} +1 -1
  43. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-ynQtAOKH.js +1 -0
  44. package/dist/client/assets/{terminal-instance-BI_R5Gu9.js → terminal-instance-xdECz0dx.js} +1 -1
  45. package/dist/client/assets/{timeline-definition-IT6M3QCI-DEWrwvzp.js → timeline-definition-IT6M3QCI-BcCmIxix.js} +1 -1
  46. package/dist/client/assets/{treemap-KMMF4GRG-5d3j9VOH.js → treemap-KMMF4GRG-CVpLLzhu.js} +1 -1
  47. package/dist/client/assets/{xychartDiagram-PRI3JC2R-uBZMdNdc.js → xychartDiagram-PRI3JC2R-DrgKBPUM.js} +1 -1
  48. package/dist/client/index.html +2 -2
  49. package/dist/prisma/generated/commonInputTypes.d.ts +0 -30
  50. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  51. package/dist/prisma/generated/internal/class.js +2 -2
  52. package/dist/prisma/generated/internal/class.js.map +1 -1
  53. package/dist/prisma/generated/internal/prismaNamespace.d.ts +0 -2
  54. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  55. package/dist/prisma/generated/internal/prismaNamespace.js +0 -2
  56. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  57. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +0 -2
  58. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  59. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +0 -2
  60. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  61. package/dist/prisma/generated/models/Workspace.d.ts +1 -90
  62. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  63. package/dist/src/backend/app-context.d.ts +3 -2
  64. package/dist/src/backend/app-context.d.ts.map +1 -1
  65. package/dist/src/backend/app-context.js +2 -1
  66. package/dist/src/backend/app-context.js.map +1 -1
  67. package/dist/src/backend/domains/github/bridges.d.ts +0 -15
  68. package/dist/src/backend/domains/github/bridges.d.ts.map +1 -1
  69. package/dist/src/backend/domains/github/github-cli/mappers.d.ts +1 -1
  70. package/dist/src/backend/domains/github/github-cli/mappers.d.ts.map +1 -1
  71. package/dist/src/backend/domains/github/github-cli/mappers.js +1 -1
  72. package/dist/src/backend/domains/github/github-cli/mappers.js.map +1 -1
  73. package/dist/src/backend/domains/github/github-cli/schemas.d.ts +6 -6
  74. package/dist/src/backend/domains/github/github-cli.service.d.ts +1 -1
  75. package/dist/src/backend/domains/github/github-cli.service.d.ts.map +1 -1
  76. package/dist/src/backend/domains/github/github-cli.service.js.map +1 -1
  77. package/dist/src/backend/domains/github/github-domain-exports.test.js +1 -7
  78. package/dist/src/backend/domains/github/github-domain-exports.test.js.map +1 -1
  79. package/dist/src/backend/domains/github/index.d.ts +1 -3
  80. package/dist/src/backend/domains/github/index.d.ts.map +1 -1
  81. package/dist/src/backend/domains/github/index.js +0 -2
  82. package/dist/src/backend/domains/github/index.js.map +1 -1
  83. package/dist/src/backend/domains/ratchet/bridges.d.ts +2 -1
  84. package/dist/src/backend/domains/ratchet/bridges.d.ts.map +1 -1
  85. package/dist/src/backend/domains/ratchet/fixer-session.service.d.ts +1 -1
  86. package/dist/src/backend/domains/ratchet/fixer-session.service.d.ts.map +1 -1
  87. package/dist/src/backend/domains/ratchet/fixer-session.service.js +3 -1
  88. package/dist/src/backend/domains/ratchet/fixer-session.service.js.map +1 -1
  89. package/dist/src/backend/domains/ratchet/fixer-session.service.test.js +2 -1
  90. package/dist/src/backend/domains/ratchet/fixer-session.service.test.js.map +1 -1
  91. package/dist/src/backend/domains/ratchet/index.d.ts +0 -3
  92. package/dist/src/backend/domains/ratchet/index.d.ts.map +1 -1
  93. package/dist/src/backend/domains/ratchet/index.js +0 -2
  94. package/dist/src/backend/domains/ratchet/index.js.map +1 -1
  95. package/dist/src/backend/domains/ratchet/ratchet-domain-exports.test.js +1 -7
  96. package/dist/src/backend/domains/ratchet/ratchet-domain-exports.test.js.map +1 -1
  97. package/dist/src/backend/domains/ratchet/ratchet.service.d.ts +1 -1
  98. package/dist/src/backend/domains/ratchet/ratchet.service.d.ts.map +1 -1
  99. package/dist/src/backend/domains/ratchet/ratchet.service.js +1 -1
  100. package/dist/src/backend/domains/ratchet/ratchet.service.js.map +1 -1
  101. package/dist/src/backend/domains/ratchet/ratchet.service.test.js +1 -1
  102. package/dist/src/backend/domains/ratchet/ratchet.service.test.js.map +1 -1
  103. package/dist/src/backend/domains/ratchet/reconciliation.service.js +1 -1
  104. package/dist/src/backend/domains/ratchet/reconciliation.service.js.map +1 -1
  105. package/dist/src/backend/domains/run-script/run-script-state-machine.service.d.ts +1 -1
  106. package/dist/src/backend/domains/run-script/run-script-state-machine.service.d.ts.map +1 -1
  107. package/dist/src/backend/domains/run-script/run-script-state-machine.service.js.map +1 -1
  108. package/dist/src/backend/domains/run-script/run-script.service.d.ts +1 -1
  109. package/dist/src/backend/domains/session/acp/acp-event-translator.d.ts +3 -0
  110. package/dist/src/backend/domains/session/acp/acp-event-translator.d.ts.map +1 -1
  111. package/dist/src/backend/domains/session/acp/acp-event-translator.js +47 -56
  112. package/dist/src/backend/domains/session/acp/acp-event-translator.js.map +1 -1
  113. package/dist/src/backend/domains/session/acp/acp-permission-bridge.d.ts +3 -1
  114. package/dist/src/backend/domains/session/acp/acp-permission-bridge.d.ts.map +1 -1
  115. package/dist/src/backend/domains/session/acp/acp-permission-bridge.js +10 -1
  116. package/dist/src/backend/domains/session/acp/acp-permission-bridge.js.map +1 -1
  117. package/dist/src/backend/domains/session/acp/acp-permission-bridge.test.js +24 -0
  118. package/dist/src/backend/domains/session/acp/acp-permission-bridge.test.js.map +1 -1
  119. package/dist/src/backend/domains/session/acp/acp-runtime-manager.d.ts.map +1 -1
  120. package/dist/src/backend/domains/session/acp/acp-runtime-manager.js +176 -18
  121. package/dist/src/backend/domains/session/acp/acp-runtime-manager.js.map +1 -1
  122. package/dist/src/backend/domains/session/acp/acp-runtime-manager.manual.integration.test.d.ts +2 -0
  123. package/dist/src/backend/domains/session/acp/acp-runtime-manager.manual.integration.test.d.ts.map +1 -0
  124. package/dist/src/backend/domains/session/acp/acp-runtime-manager.manual.integration.test.js +40 -0
  125. package/dist/src/backend/domains/session/acp/acp-runtime-manager.manual.integration.test.js.map +1 -0
  126. package/dist/src/backend/domains/session/acp/acp-runtime-manager.test.js +88 -1
  127. package/dist/src/backend/domains/session/acp/acp-runtime-manager.test.js.map +1 -1
  128. package/dist/src/backend/domains/session/acp/acp-session-negotiation.integration.test.js +13 -1
  129. package/dist/src/backend/domains/session/acp/acp-session-negotiation.integration.test.js.map +1 -1
  130. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +85 -0
  131. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -0
  132. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +1794 -0
  133. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -0
  134. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.d.ts +2 -0
  135. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.d.ts.map +1 -0
  136. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.js +92 -0
  137. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.js.map +1 -0
  138. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.d.ts +2 -0
  139. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.d.ts.map +1 -0
  140. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +1407 -0
  141. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -0
  142. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.d.ts +46 -0
  143. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -0
  144. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.js +238 -0
  145. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.js.map +1 -0
  146. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.d.ts +2 -0
  147. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.d.ts.map +1 -0
  148. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.js +140 -0
  149. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.js.map +1 -0
  150. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.d.ts +2 -0
  151. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.d.ts.map +1 -0
  152. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.js +35 -0
  153. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.js.map +1 -0
  154. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.d.ts +314 -0
  155. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.d.ts.map +1 -0
  156. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.js +308 -0
  157. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.js.map +1 -0
  158. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.d.ts +2 -0
  159. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.d.ts.map +1 -0
  160. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.js +147 -0
  161. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.js.map +1 -0
  162. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/index.d.ts +2 -0
  163. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/index.d.ts.map +1 -0
  164. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/index.js +2 -0
  165. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/index.js.map +1 -0
  166. package/dist/src/backend/domains/session/acp/codex-cli-import-resolution.integration.test.d.ts +2 -0
  167. package/dist/src/backend/domains/session/acp/codex-cli-import-resolution.integration.test.d.ts.map +1 -0
  168. package/dist/src/backend/domains/session/acp/codex-cli-import-resolution.integration.test.js +64 -0
  169. package/dist/src/backend/domains/session/acp/codex-cli-import-resolution.integration.test.js.map +1 -0
  170. package/dist/src/backend/domains/session/acp/index.d.ts +1 -0
  171. package/dist/src/backend/domains/session/acp/index.d.ts.map +1 -1
  172. package/dist/src/backend/domains/session/acp/index.js +1 -0
  173. package/dist/src/backend/domains/session/acp/index.js.map +1 -1
  174. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/permission-response.handler.d.ts.map +1 -1
  175. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/permission-response.handler.js +3 -2
  176. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/permission-response.handler.js.map +1 -1
  177. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.d.ts.map +1 -1
  178. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.js +13 -11
  179. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.js.map +1 -1
  180. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.test.js +9 -0
  181. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.test.js.map +1 -1
  182. package/dist/src/backend/domains/session/data/claude-session-history-loader.service.d.ts.map +1 -1
  183. package/dist/src/backend/domains/session/data/claude-session-history-loader.service.js +17 -29
  184. package/dist/src/backend/domains/session/data/claude-session-history-loader.service.js.map +1 -1
  185. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.d.ts +1 -0
  186. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.d.ts.map +1 -1
  187. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.js +152 -74
  188. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.js.map +1 -1
  189. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.test.js +96 -0
  190. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.test.js.map +1 -1
  191. package/dist/src/backend/domains/session/data/session-data.service.d.ts +7 -10
  192. package/dist/src/backend/domains/session/data/session-data.service.d.ts.map +1 -1
  193. package/dist/src/backend/domains/session/data/session-data.service.js +3 -0
  194. package/dist/src/backend/domains/session/data/session-data.service.js.map +1 -1
  195. package/dist/src/backend/domains/session/data/session-history-jsonl-reader.d.ts +6 -0
  196. package/dist/src/backend/domains/session/data/session-history-jsonl-reader.d.ts.map +1 -0
  197. package/dist/src/backend/domains/session/data/session-history-jsonl-reader.js +25 -0
  198. package/dist/src/backend/domains/session/data/session-history-jsonl-reader.js.map +1 -0
  199. package/dist/src/backend/domains/session/data/session-provider-resolver.service.test.js +0 -2
  200. package/dist/src/backend/domains/session/data/session-provider-resolver.service.test.js.map +1 -1
  201. package/dist/src/backend/domains/session/index.d.ts +2 -1
  202. package/dist/src/backend/domains/session/index.d.ts.map +1 -1
  203. package/dist/src/backend/domains/session/index.js +2 -1
  204. package/dist/src/backend/domains/session/index.js.map +1 -1
  205. package/dist/src/backend/domains/session/lifecycle/session.repository.d.ts +2 -2
  206. package/dist/src/backend/domains/session/lifecycle/session.repository.d.ts.map +1 -1
  207. package/dist/src/backend/domains/session/lifecycle/session.repository.js.map +1 -1
  208. package/dist/src/backend/domains/session/lifecycle/session.service.d.ts +31 -3
  209. package/dist/src/backend/domains/session/lifecycle/session.service.d.ts.map +1 -1
  210. package/dist/src/backend/domains/session/lifecycle/session.service.js +448 -51
  211. package/dist/src/backend/domains/session/lifecycle/session.service.js.map +1 -1
  212. package/dist/src/backend/domains/session/lifecycle/session.service.test.js +494 -3
  213. package/dist/src/backend/domains/session/lifecycle/session.service.test.js.map +1 -1
  214. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.d.ts +15 -0
  215. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.d.ts.map +1 -0
  216. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.js +135 -0
  217. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.js.map +1 -0
  218. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.d.ts +2 -0
  219. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.d.ts.map +1 -0
  220. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.js +93 -0
  221. package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.js.map +1 -0
  222. package/dist/src/backend/domains/session/store/session-replay-builder.d.ts.map +1 -1
  223. package/dist/src/backend/domains/session/store/session-replay-builder.js +2 -1
  224. package/dist/src/backend/domains/session/store/session-replay-builder.js.map +1 -1
  225. package/dist/src/backend/domains/session/store/session-replay-builder.test.js +26 -0
  226. package/dist/src/backend/domains/session/store/session-replay-builder.test.js.map +1 -1
  227. package/dist/src/backend/domains/workspace/bridges.d.ts +1 -0
  228. package/dist/src/backend/domains/workspace/bridges.d.ts.map +1 -1
  229. package/dist/src/backend/domains/workspace/index.d.ts +1 -0
  230. package/dist/src/backend/domains/workspace/index.d.ts.map +1 -1
  231. package/dist/src/backend/domains/workspace/index.js +1 -0
  232. package/dist/src/backend/domains/workspace/index.js.map +1 -1
  233. package/dist/src/backend/domains/workspace/lifecycle/creation.service.test.js +0 -2
  234. package/dist/src/backend/domains/workspace/lifecycle/creation.service.test.js.map +1 -1
  235. package/dist/src/backend/domains/workspace/lifecycle/data.service.d.ts +11 -25
  236. package/dist/src/backend/domains/workspace/lifecycle/data.service.d.ts.map +1 -1
  237. package/dist/src/backend/domains/workspace/lifecycle/data.service.js.map +1 -1
  238. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.d.ts +1 -1
  239. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.d.ts.map +1 -1
  240. package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.js.map +1 -1
  241. package/dist/src/backend/domains/workspace/query/project-management.service.d.ts +2 -6
  242. package/dist/src/backend/domains/workspace/query/project-management.service.d.ts.map +1 -1
  243. package/dist/src/backend/domains/workspace/query/workspace-query.service.d.ts +84 -8
  244. package/dist/src/backend/domains/workspace/query/workspace-query.service.d.ts.map +1 -1
  245. package/dist/src/backend/domains/workspace/query/workspace-query.service.js +16 -16
  246. package/dist/src/backend/domains/workspace/query/workspace-query.service.js.map +1 -1
  247. package/dist/src/backend/domains/workspace/query/workspace-query.service.test.d.ts +2 -0
  248. package/dist/src/backend/domains/workspace/query/workspace-query.service.test.d.ts.map +1 -0
  249. package/dist/src/backend/domains/workspace/query/workspace-query.service.test.js +165 -0
  250. package/dist/src/backend/domains/workspace/query/workspace-query.service.test.js.map +1 -0
  251. package/dist/src/backend/domains/workspace/state/flow-state.d.ts +1 -1
  252. package/dist/src/backend/domains/workspace/state/flow-state.d.ts.map +1 -1
  253. package/dist/src/backend/domains/workspace/state/flow-state.js +1 -1
  254. package/dist/src/backend/domains/workspace/state/flow-state.js.map +1 -1
  255. package/dist/src/backend/domains/workspace/state/flow-state.test.js +1 -1
  256. package/dist/src/backend/domains/workspace/state/flow-state.test.js.map +1 -1
  257. package/dist/src/backend/domains/workspace/state/init-policy.d.ts +1 -1
  258. package/dist/src/backend/domains/workspace/state/init-policy.d.ts.map +1 -1
  259. package/dist/src/backend/domains/workspace/state/kanban-state.d.ts +1 -1
  260. package/dist/src/backend/domains/workspace/state/kanban-state.d.ts.map +1 -1
  261. package/dist/src/backend/domains/workspace/state/kanban-state.js +1 -1
  262. package/dist/src/backend/domains/workspace/state/kanban-state.js.map +1 -1
  263. package/dist/src/backend/domains/workspace/state/pending-request-type.d.ts +6 -0
  264. package/dist/src/backend/domains/workspace/state/pending-request-type.d.ts.map +1 -0
  265. package/dist/src/backend/domains/workspace/state/pending-request-type.js +27 -0
  266. package/dist/src/backend/domains/workspace/state/pending-request-type.js.map +1 -0
  267. package/dist/src/backend/domains/workspace/state/pending-request-type.test.d.ts +2 -0
  268. package/dist/src/backend/domains/workspace/state/pending-request-type.test.d.ts.map +1 -0
  269. package/dist/src/backend/domains/workspace/state/pending-request-type.test.js +44 -0
  270. package/dist/src/backend/domains/workspace/state/pending-request-type.test.js.map +1 -0
  271. package/dist/src/backend/domains/workspace/worktree/worktree-init.test.js +10 -3
  272. package/dist/src/backend/domains/workspace/worktree/worktree-init.test.js.map +1 -1
  273. package/dist/src/backend/interceptors/pr-detection.interceptor.d.ts.map +1 -1
  274. package/dist/src/backend/interceptors/pr-detection.interceptor.js +53 -8
  275. package/dist/src/backend/interceptors/pr-detection.interceptor.js.map +1 -1
  276. package/dist/src/backend/interceptors/pr-detection.interceptor.test.d.ts +2 -0
  277. package/dist/src/backend/interceptors/pr-detection.interceptor.test.d.ts.map +1 -0
  278. package/dist/src/backend/interceptors/pr-detection.interceptor.test.js +106 -0
  279. package/dist/src/backend/interceptors/pr-detection.interceptor.test.js.map +1 -0
  280. package/dist/src/backend/lib/session-model.js +1 -1
  281. package/dist/src/backend/lib/session-model.js.map +1 -1
  282. package/dist/src/backend/lib/session-model.test.js +1 -1
  283. package/dist/src/backend/lib/session-model.test.js.map +1 -1
  284. package/dist/src/backend/lib/session-summaries.d.ts +1 -1
  285. package/dist/src/backend/lib/session-summaries.d.ts.map +1 -1
  286. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  287. package/dist/src/backend/orchestration/data-backup.service.js +0 -4
  288. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  289. package/dist/src/backend/orchestration/data-backup.service.test.js +1 -5
  290. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  291. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  292. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +3 -19
  293. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  294. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +13 -27
  295. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  296. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  297. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  298. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +1 -0
  299. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  300. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +1 -15
  301. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  302. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +97 -0
  303. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  304. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +1 -3
  305. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  306. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  307. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +5 -2
  308. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  309. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +2 -1
  310. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
  311. package/dist/src/backend/resource_accessors/agent-session.accessor.d.ts +2 -1
  312. package/dist/src/backend/resource_accessors/agent-session.accessor.d.ts.map +1 -1
  313. package/dist/src/backend/resource_accessors/agent-session.accessor.js +11 -1
  314. package/dist/src/backend/resource_accessors/agent-session.accessor.js.map +1 -1
  315. package/dist/src/backend/resource_accessors/agent-session.accessor.test.d.ts +2 -0
  316. package/dist/src/backend/resource_accessors/agent-session.accessor.test.d.ts.map +1 -0
  317. package/dist/src/backend/resource_accessors/agent-session.accessor.test.js +148 -0
  318. package/dist/src/backend/resource_accessors/agent-session.accessor.test.js.map +1 -0
  319. package/dist/src/backend/resource_accessors/terminal-session.accessor.d.ts +1 -1
  320. package/dist/src/backend/resource_accessors/terminal-session.accessor.d.ts.map +1 -1
  321. package/dist/src/backend/resource_accessors/terminal-session.accessor.js.map +1 -1
  322. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts +1 -16
  323. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts.map +1 -1
  324. package/dist/src/backend/resource_accessors/workspace.accessor.js +0 -33
  325. package/dist/src/backend/resource_accessors/workspace.accessor.js.map +1 -1
  326. package/dist/src/backend/schemas/tool-inputs.schema.d.ts +2 -0
  327. package/dist/src/backend/schemas/tool-inputs.schema.d.ts.map +1 -1
  328. package/dist/src/backend/schemas/tool-inputs.schema.js +1 -0
  329. package/dist/src/backend/schemas/tool-inputs.schema.js.map +1 -1
  330. package/dist/src/backend/server.d.ts.map +1 -1
  331. package/dist/src/backend/server.js +3 -1
  332. package/dist/src/backend/server.js.map +1 -1
  333. package/dist/src/backend/server.upgrade.test.js +4 -0
  334. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  335. package/dist/src/backend/services/constants.d.ts +0 -5
  336. package/dist/src/backend/services/constants.d.ts.map +1 -1
  337. package/dist/src/backend/services/constants.js +0 -5
  338. package/dist/src/backend/services/constants.js.map +1 -1
  339. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts +3 -3
  340. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts.map +1 -1
  341. package/dist/src/backend/services/workspace-snapshot-store.service.test.js +1 -1
  342. package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
  343. package/dist/src/backend/trpc/admin-active-processes.d.ts +55 -0
  344. package/dist/src/backend/trpc/admin-active-processes.d.ts.map +1 -0
  345. package/dist/src/backend/trpc/admin-active-processes.js +103 -0
  346. package/dist/src/backend/trpc/admin-active-processes.js.map +1 -0
  347. package/dist/src/backend/trpc/admin-active-processes.test.d.ts +2 -0
  348. package/dist/src/backend/trpc/admin-active-processes.test.d.ts.map +1 -0
  349. package/dist/src/backend/trpc/admin-active-processes.test.js +105 -0
  350. package/dist/src/backend/trpc/admin-active-processes.test.js.map +1 -0
  351. package/dist/src/backend/trpc/admin.trpc.d.ts +19 -46
  352. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  353. package/dist/src/backend/trpc/admin.trpc.js +29 -128
  354. package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
  355. package/dist/src/backend/trpc/decision-log.trpc.d.ts +3 -3
  356. package/dist/src/backend/trpc/index.d.ts +158 -126
  357. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  358. package/dist/src/backend/trpc/log-file-reader.d.ts +26 -0
  359. package/dist/src/backend/trpc/log-file-reader.d.ts.map +1 -0
  360. package/dist/src/backend/trpc/log-file-reader.js +160 -0
  361. package/dist/src/backend/trpc/log-file-reader.js.map +1 -0
  362. package/dist/src/backend/trpc/log-file-reader.test.d.ts +2 -0
  363. package/dist/src/backend/trpc/log-file-reader.test.d.ts.map +1 -0
  364. package/dist/src/backend/trpc/log-file-reader.test.js +162 -0
  365. package/dist/src/backend/trpc/log-file-reader.test.js.map +1 -0
  366. package/dist/src/backend/trpc/project.trpc.d.ts +2 -6
  367. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  368. package/dist/src/backend/trpc/session.trpc.d.ts +25 -33
  369. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  370. package/dist/src/backend/trpc/session.trpc.js +1 -1
  371. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  372. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +4 -6
  373. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  374. package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts +1 -1
  375. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +5 -9
  376. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  377. package/dist/src/backend/trpc/workspace.trpc.d.ts +109 -45
  378. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  379. package/dist/src/backend/trpc/workspace.trpc.js +9 -1
  380. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  381. package/dist/src/cli/index.js +7 -2
  382. package/dist/src/cli/index.js.map +1 -1
  383. package/dist/src/shared/acp-protocol/protocol/interaction.d.ts +2 -0
  384. package/dist/src/shared/acp-protocol/protocol/interaction.d.ts.map +1 -1
  385. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts +1 -0
  386. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts.map +1 -1
  387. package/dist/src/shared/acp-protocol/protocol/websocket.js.map +1 -1
  388. package/{packages/core/dist/shared → dist/src/shared/core}/ci-status.d.ts +1 -1
  389. package/dist/src/shared/core/ci-status.d.ts.map +1 -0
  390. package/dist/src/shared/core/ci-status.js.map +1 -0
  391. package/dist/src/shared/core/enums.d.ts.map +1 -0
  392. package/dist/src/shared/core/enums.js.map +1 -0
  393. package/{packages/core/dist → dist/src/shared/core}/index.d.ts +3 -3
  394. package/dist/src/shared/core/index.d.ts.map +1 -0
  395. package/{packages/core/dist → dist/src/shared/core}/index.js +3 -7
  396. package/dist/src/shared/core/index.js.map +1 -0
  397. package/{packages/core/dist/shared → dist/src/shared/core}/workspace-sidebar-status.d.ts +1 -1
  398. package/dist/src/shared/core/workspace-sidebar-status.d.ts.map +1 -0
  399. package/dist/src/shared/core/workspace-sidebar-status.js.map +1 -0
  400. package/dist/src/shared/pending-request-types.d.ts +4 -0
  401. package/dist/src/shared/pending-request-types.d.ts.map +1 -1
  402. package/dist/src/shared/pending-request-types.js +10 -0
  403. package/dist/src/shared/pending-request-types.js.map +1 -1
  404. package/dist/src/shared/schemas/export-data.schema.d.ts +34 -52
  405. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  406. package/dist/src/shared/schemas/export-data.schema.js +1 -3
  407. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  408. package/dist/src/shared/session-runtime.d.ts +1 -1
  409. package/dist/src/shared/session-runtime.d.ts.map +1 -1
  410. package/dist/src/shared/websocket/chat-message.schema.d.ts +1 -0
  411. package/dist/src/shared/websocket/chat-message.schema.d.ts.map +1 -1
  412. package/dist/src/shared/websocket/chat-message.schema.js +1 -0
  413. package/dist/src/shared/websocket/chat-message.schema.js.map +1 -1
  414. package/dist/src/shared/workspace-sidebar-status.d.ts +1 -1
  415. package/dist/src/shared/workspace-sidebar-status.d.ts.map +1 -1
  416. package/dist/src/shared/workspace-sidebar-status.js +1 -1
  417. package/dist/src/shared/workspace-sidebar-status.js.map +1 -1
  418. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  419. package/package.json +4 -5
  420. package/prisma/migrations/20260214232046_remove_ratchet_last_modified/migration.sql +68 -0
  421. package/prisma/schema.prisma +0 -2
  422. package/dist/client/assets/channel-C_n33uex.js +0 -1
  423. package/dist/client/assets/classDiagram-2ON5EDUG-ByvTr4wu.js +0 -1
  424. package/dist/client/assets/classDiagram-v2-WZHVMYZB-ByvTr4wu.js +0 -1
  425. package/dist/client/assets/clone-CVeCVXXl.js +0 -1
  426. package/dist/client/assets/index-D_8rf7lP.css +0 -1
  427. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-C7liWkST.js +0 -1
  428. package/dist/src/backend/domains/github/pr-review-fixer.service.d.ts +0 -63
  429. package/dist/src/backend/domains/github/pr-review-fixer.service.d.ts.map +0 -1
  430. package/dist/src/backend/domains/github/pr-review-fixer.service.js +0 -141
  431. package/dist/src/backend/domains/github/pr-review-fixer.service.js.map +0 -1
  432. package/dist/src/backend/domains/github/pr-review-fixer.service.test.d.ts +0 -2
  433. package/dist/src/backend/domains/github/pr-review-fixer.service.test.d.ts.map +0 -1
  434. package/dist/src/backend/domains/github/pr-review-fixer.service.test.js +0 -28
  435. package/dist/src/backend/domains/github/pr-review-fixer.service.test.js.map +0 -1
  436. package/dist/src/backend/domains/github/pr-review-monitor.service.d.ts +0 -19
  437. package/dist/src/backend/domains/github/pr-review-monitor.service.d.ts.map +0 -1
  438. package/dist/src/backend/domains/github/pr-review-monitor.service.js +0 -215
  439. package/dist/src/backend/domains/github/pr-review-monitor.service.js.map +0 -1
  440. package/dist/src/backend/domains/ratchet/ci-fixer.service.d.ts +0 -47
  441. package/dist/src/backend/domains/ratchet/ci-fixer.service.d.ts.map +0 -1
  442. package/dist/src/backend/domains/ratchet/ci-fixer.service.js +0 -95
  443. package/dist/src/backend/domains/ratchet/ci-fixer.service.js.map +0 -1
  444. package/dist/src/backend/domains/ratchet/ci-fixer.service.test.d.ts +0 -2
  445. package/dist/src/backend/domains/ratchet/ci-fixer.service.test.d.ts.map +0 -1
  446. package/dist/src/backend/domains/ratchet/ci-fixer.service.test.js +0 -100
  447. package/dist/src/backend/domains/ratchet/ci-fixer.service.test.js.map +0 -1
  448. package/dist/src/backend/domains/ratchet/ci-monitor.service.d.ts +0 -36
  449. package/dist/src/backend/domains/ratchet/ci-monitor.service.d.ts.map +0 -1
  450. package/dist/src/backend/domains/ratchet/ci-monitor.service.js +0 -278
  451. package/dist/src/backend/domains/ratchet/ci-monitor.service.js.map +0 -1
  452. package/dist/src/backend/services/fixer-workflow.service.d.ts +0 -83
  453. package/dist/src/backend/services/fixer-workflow.service.d.ts.map +0 -1
  454. package/dist/src/backend/services/fixer-workflow.service.js +0 -77
  455. package/dist/src/backend/services/fixer-workflow.service.js.map +0 -1
  456. package/dist/src/backend/services/fixer-workflow.service.test.d.ts +0 -2
  457. package/dist/src/backend/services/fixer-workflow.service.test.d.ts.map +0 -1
  458. package/dist/src/backend/services/fixer-workflow.service.test.js +0 -55
  459. package/dist/src/backend/services/fixer-workflow.service.test.js.map +0 -1
  460. package/packages/core/dist/index.d.ts.map +0 -1
  461. package/packages/core/dist/index.js.map +0 -1
  462. package/packages/core/dist/shared/ci-status.d.ts.map +0 -1
  463. package/packages/core/dist/shared/ci-status.js.map +0 -1
  464. package/packages/core/dist/shared/workspace-sidebar-status.d.ts.map +0 -1
  465. package/packages/core/dist/shared/workspace-sidebar-status.js.map +0 -1
  466. package/packages/core/dist/types/enums.d.ts.map +0 -1
  467. package/packages/core/dist/types/enums.js.map +0 -1
  468. package/packages/core/dist/types/index.d.ts +0 -2
  469. package/packages/core/dist/types/index.d.ts.map +0 -1
  470. package/packages/core/dist/types/index.js +0 -2
  471. package/packages/core/dist/types/index.js.map +0 -1
  472. package/packages/core/package.json +0 -25
  473. /package/{packages/core/dist/shared → dist/src/shared/core}/ci-status.js +0 -0
  474. /package/{packages/core/dist/types → dist/src/shared/core}/enums.d.ts +0 -0
  475. /package/{packages/core/dist/types → dist/src/shared/core}/enums.js +0 -0
  476. /package/{packages/core/dist/shared → dist/src/shared/core}/workspace-sidebar-status.js +0 -0
@@ -33,17 +33,10 @@ export class AcpEventTranslator {
33
33
  }
34
34
  }
35
35
  translateAgentMessageChunk(update) {
36
- if (!update.content) {
37
- this.logger.warn('agent_message_chunk: missing content', { update });
38
- return [];
39
- }
40
- if (update.content.type !== 'text') {
41
- this.logger.warn('agent_message_chunk: non-text content type, skipping', {
42
- contentType: update.content.type,
43
- });
36
+ const text = this.extractTextChunkContent(update, 'agent_message_chunk');
37
+ if (text === null) {
44
38
  return [];
45
39
  }
46
- const text = update.content.text;
47
40
  return [
48
41
  {
49
42
  type: 'agent_message',
@@ -58,17 +51,10 @@ export class AcpEventTranslator {
58
51
  ];
59
52
  }
60
53
  translateAgentThoughtChunk(update) {
61
- if (!update.content) {
62
- this.logger.warn('agent_thought_chunk: missing content', { update });
54
+ const text = this.extractTextChunkContent(update, 'agent_thought_chunk');
55
+ if (text === null) {
63
56
  return [];
64
57
  }
65
- if (update.content.type !== 'text') {
66
- this.logger.warn('agent_thought_chunk: non-text content type, skipping', {
67
- contentType: update.content.type,
68
- });
69
- return [];
70
- }
71
- const text = update.content.text;
72
58
  return [
73
59
  {
74
60
  type: 'agent_message',
@@ -122,25 +108,7 @@ export class AcpEventTranslator {
122
108
  toolProgress.elapsed_time_seconds = 0;
123
109
  }
124
110
  events.push(toolProgress);
125
- if (this.isTerminalToolStatus(update.status)) {
126
- events.push({
127
- type: 'agent_message',
128
- data: {
129
- type: 'user',
130
- message: {
131
- role: 'user',
132
- content: [
133
- {
134
- type: 'tool_result',
135
- tool_use_id: update.toolCallId,
136
- content: this.extractToolOutputText(update.content, update.rawOutput),
137
- ...(update.status === 'failed' ? { is_error: true } : {}),
138
- },
139
- ],
140
- },
141
- },
142
- });
143
- }
111
+ this.appendTerminalToolResultIfNeeded(events, update);
144
112
  return events;
145
113
  }
146
114
  translateToolCallUpdate(update) {
@@ -161,25 +129,7 @@ export class AcpEventTranslator {
161
129
  event.elapsed_time_seconds = 0;
162
130
  }
163
131
  const events = [event];
164
- if (this.isTerminalToolStatus(update.status)) {
165
- events.push({
166
- type: 'agent_message',
167
- data: {
168
- type: 'user',
169
- message: {
170
- role: 'user',
171
- content: [
172
- {
173
- type: 'tool_result',
174
- tool_use_id: update.toolCallId,
175
- content: this.extractToolOutputText(update.content, update.rawOutput),
176
- ...(update.status === 'failed' ? { is_error: true } : {}),
177
- },
178
- ],
179
- },
180
- },
181
- });
182
- }
132
+ this.appendTerminalToolResultIfNeeded(events, update);
183
133
  return events;
184
134
  }
185
135
  translatePlan(update) {
@@ -213,6 +163,47 @@ export class AcpEventTranslator {
213
163
  }
214
164
  return this.extractContentText(rawOutput);
215
165
  }
166
+ createTerminalToolResultEvent(params) {
167
+ if (!this.isTerminalToolStatus(params.status)) {
168
+ return null;
169
+ }
170
+ return {
171
+ type: 'agent_message',
172
+ data: {
173
+ type: 'user',
174
+ message: {
175
+ role: 'user',
176
+ content: [
177
+ {
178
+ type: 'tool_result',
179
+ tool_use_id: params.toolCallId,
180
+ content: this.extractToolOutputText(params.content, params.rawOutput),
181
+ ...(params.status === 'failed' ? { is_error: true } : {}),
182
+ },
183
+ ],
184
+ },
185
+ },
186
+ };
187
+ }
188
+ appendTerminalToolResultIfNeeded(events, update) {
189
+ const terminalResult = this.createTerminalToolResultEvent(update);
190
+ if (terminalResult) {
191
+ events.push(terminalResult);
192
+ }
193
+ }
194
+ extractTextChunkContent(update, updateType) {
195
+ if (!update.content) {
196
+ this.logger.warn(`${updateType}: missing content`, { update });
197
+ return null;
198
+ }
199
+ if (update.content.type !== 'text' || typeof update.content.text !== 'string') {
200
+ this.logger.warn(`${updateType}: non-text content type, skipping`, {
201
+ contentType: update.content.type,
202
+ });
203
+ return null;
204
+ }
205
+ return update.content.text;
206
+ }
216
207
  extractContentText(content) {
217
208
  if (!content) {
218
209
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"acp-event-translator.js","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-event-translator.ts"],"names":[],"mappings":"AAiBA,MAAM,OAAO,kBAAkB;IACZ,MAAM,CAAkC;IAEzD,YAAY,MAAuC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,sBAAsB,CAAC,MAAqB;QAC1C,QAAQ,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7B,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAEjD,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAEjD,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAExC,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAE9C,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEpC,KAAK,2BAA2B;gBAC9B,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAEjD,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAE3C,KAAK,sBAAsB;gBACzB,OAAO,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAGlD,KAAK,qBAAqB,CAAC;YAC3B,KAAK,qBAAqB,CAAC;YAC3B,KAAK,oBAAoB;gBACvB,OAAO,EAAE,CAAC;YAEZ;gBACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;oBAClD,aAAa,EAAG,MAAoC,CAAC,aAAa;iBACnE,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEO,0BAA0B,CAChC,MAAwE;QAExE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;gBACvE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;aACjC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAI,MAAM,CAAC,OAA0C,CAAC,IAAI,CAAC;QAErE,OAAO;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBAClC;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,MAAwE;QAExE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;gBACvE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;aACjC,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAI,MAAM,CAAC,OAA0C,CAAC,IAAI,CAAC;QAErE,OAAO;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE;wBACL,IAAI,EAAE,qBAAqB;wBAC3B,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;qBAClD;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAEO,iBAAiB,CACvB,MAA8D;QAE9D,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;gBACzD,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAID,MAAM,IAAI,GAAI,MAAkC,CAAC,KAEpC,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,EAAE,UAAU,EAAE,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC;QAE5D,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE;gBACJ,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE;oBACL,IAAI,EAAE,qBAAqB;oBAC3B,KAAK,EAAE,CAAC;oBACR,aAAa,EAAE;wBACb,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,MAAM,CAAC,UAAU;wBACrB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAG,MAAM,CAAC,QAAoC,IAAI,EAAE;qBAC1D;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAA4B;YAC5C,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACpC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;YACjC,SAAS,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;SACtC,CAAC;QACF,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,YAAY,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,YAAkC,CAAC,CAAC;QAIhD,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,aAAa;gCACnB,WAAW,EAAE,MAAM,CAAC,UAAU;gCAC9B,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;gCACrE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC1D;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uBAAuB,CAC7B,MAAqE;QAErE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAA4B;YACrC,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,SAAS;YACpC,SAAS,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;YACrC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;YACjC,YAAY,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACpC,UAAU,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;SACxC,CAAC;QAGF,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAyB,CAAC,KAA2B,CAAC,CAAC;QAGnE,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,aAAa;gCACnB,WAAW,EAAE,MAAM,CAAC,UAAU;gCAC9B,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;gCACrE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC1D;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CACnB,MAAyD;QAEzD,OAAO;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACtB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;iBAC9B,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,MAA8E;QAE9E,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI;SAC9B,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,aAAa;aACd;SACF,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,OAAgB,EAAE,SAAkB;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEO,kBAAkB,CAAC,OAAgB;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO;iBACX,MAAM,CAAC,CAAC,CAAC,EAAuC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;iBACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEO,oBAAoB,CAAC,MAAe;QAC1C,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,CAAC;IACvD,CAAC;IAEO,2BAA2B,CACjC,MAAyE;QAEzE,MAAM,aAAa,GAAI,MAAwC,CAAC,aAAa,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO;YACL;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,aAAa;aACQ;SACxB,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,MAAiE;QAEjE,OAAO;YACL;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,MAAM;iBACf;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"acp-event-translator.js","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-event-translator.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import type { RequestPermissionRequest, RequestPermissionResponse } from '@agentclientprotocol/sdk';
2
+ type ToolUserInputAnswers = Record<string, string[]>;
2
3
  export declare class AcpPermissionBridge {
3
4
  private readonly responseTimeoutMs;
4
5
  private readonly pending;
5
6
  constructor(responseTimeoutMs?: number);
6
7
  waitForUserResponse(requestId: string, params: RequestPermissionRequest): Promise<RequestPermissionResponse>;
7
- resolvePermission(requestId: string, optionId: string): boolean;
8
+ resolvePermission(requestId: string, optionId: string, answers?: ToolUserInputAnswers): boolean;
8
9
  cancelAll(): void;
9
10
  hasPending(requestId: string): boolean;
10
11
  getPendingParams(requestId: string): RequestPermissionRequest | undefined;
11
12
  get pendingCount(): number;
12
13
  }
14
+ export {};
13
15
  //# sourceMappingURL=acp-permission-bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acp-permission-bridge.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-permission-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAsBpG,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;gBAEpD,iBAAiB,SAAgB;IAQ7C,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,yBAAyB,CAAC;IAmCrC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAqB/D,SAAS,IAAI,IAAI;IAejB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAOtC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAOzE,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF"}
1
+ {"version":3,"file":"acp-permission-bridge.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-permission-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAQpG,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAgBrD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;gBAEpD,iBAAiB,SAAgB;IAQ7C,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,yBAAyB,CAAC;IAmCrC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO;IA8B/F,SAAS,IAAI,IAAI;IAejB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAOtC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAOzE,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF"}
@@ -31,7 +31,7 @@ export class AcpPermissionBridge {
31
31
  this.pending.set(requestId, { resolve, params, timeout });
32
32
  });
33
33
  }
34
- resolvePermission(requestId, optionId) {
34
+ resolvePermission(requestId, optionId, answers) {
35
35
  const entry = this.pending.get(requestId);
36
36
  if (!entry) {
37
37
  return false;
@@ -39,6 +39,15 @@ export class AcpPermissionBridge {
39
39
  this.pending.delete(requestId);
40
40
  clearTimeout(entry.timeout);
41
41
  entry.resolve({
42
+ ...(answers && Object.keys(answers).length > 0
43
+ ? {
44
+ _meta: {
45
+ factoryFactory: {
46
+ toolUserInputAnswers: answers,
47
+ },
48
+ },
49
+ }
50
+ : {}),
42
51
  outcome: {
43
52
  outcome: 'selected',
44
53
  optionId,
@@ -1 +1 @@
1
- {"version":3,"file":"acp-permission-bridge.js","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-permission-bridge.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,mBAAmB;IACb,iBAAiB,CAAS;IAC1B,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEhE,YAAY,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;QAC3C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAMD,mBAAmB,CACjB,SAAiB,EACjB,MAAgC;QAEhC,OAAO,IAAI,OAAO,CAA4B,CAAC,OAAO,EAAE,EAAE;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/B,QAAQ,CAAC,OAAO,CAAC;oBACf,OAAO,EAAE;wBACP,OAAO,EAAE,WAAW;qBACrB;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/B,KAAK,CAAC,OAAO,CAAC;oBACZ,OAAO,EAAE;wBACP,OAAO,EAAE,WAAW;qBACrB;iBACF,CAAC,CAAC;YACL,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE3B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAOD,iBAAiB,CAAC,SAAiB,EAAE,QAAgB;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC;YACZ,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;gBACnB,QAAQ;aACT;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAMD,SAAS;QACP,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,CAAC,OAAO,CAAC;gBACZ,OAAO,EAAE;oBACP,OAAO,EAAE,WAAW;iBACrB;aACF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAKD,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAKD,gBAAgB,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7C,CAAC;IAKD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"acp-permission-bridge.js","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-permission-bridge.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,30 @@ describe('AcpPermissionBridge', () => {
42
42
  expect(bridge.hasPending('req-1')).toBe(false);
43
43
  expect(bridge.pendingCount).toBe(0);
44
44
  });
45
+ it('includes structured tool-input answers in ACP _meta when provided', async () => {
46
+ const bridge = new AcpPermissionBridge();
47
+ const params = createMockParams();
48
+ const promise = bridge.waitForUserResponse('req-answers', params);
49
+ const resolved = bridge.resolvePermission('req-answers', 'allow_once', {
50
+ color: ['Blue'],
51
+ shell: ['zsh', 'fish'],
52
+ });
53
+ expect(resolved).toBe(true);
54
+ await expect(promise).resolves.toEqual({
55
+ _meta: {
56
+ factoryFactory: {
57
+ toolUserInputAnswers: {
58
+ color: ['Blue'],
59
+ shell: ['zsh', 'fish'],
60
+ },
61
+ },
62
+ },
63
+ outcome: {
64
+ outcome: 'selected',
65
+ optionId: 'allow_once',
66
+ },
67
+ });
68
+ });
45
69
  it('resolvePermission returns false for unknown requestId', () => {
46
70
  const bridge = new AcpPermissionBridge();
47
71
  const result = bridge.resolvePermission('nonexistent', 'allow_once');
@@ -1 +1 @@
1
- {"version":3,"file":"acp-permission-bridge.test.js","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-permission-bridge.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,SAAS,gBAAgB,CAAC,SAA6C;IACrE,OAAO;QACL,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE;YACR,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,SAAS;SAClB;QACD,OAAO,EAAE;YACP,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;YAClE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;SACtE;QACD,GAAG,SAAS;KACe,CAAC;AAChC,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAGlC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEjE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,QAAQ,GAA8B,MAAM,OAAO,CAAC;QAC1D,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,YAAY;aACvB;SACF,CAAC,CAAC;QAGH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEzE,MAAM,CAAC,SAAS,EAAE,CAAC;QAEnB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEvE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,CAAC,SAAS,EAAE,CAAC;QAEnB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAGpC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEvE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QACnF,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpC,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE;SACzD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"acp-permission-bridge.test.js","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-permission-bridge.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,SAAS,gBAAgB,CAAC,SAA6C;IACrE,OAAO;QACL,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE;YACR,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,SAAS;SAClB;QACD,OAAO,EAAE;YACP,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;YAClE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;SACtE;QACD,GAAG,SAAS;KACe,CAAC;AAChC,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAGlC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEjE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,QAAQ,GAA8B,MAAM,OAAO,CAAC;QAC1D,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,YAAY;aACvB;SACF,CAAC,CAAC;QAGH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE;YACrE,KAAK,EAAE,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrC,KAAK,EAAE;gBACL,cAAc,EAAE;oBACd,oBAAoB,EAAE;wBACpB,KAAK,EAAE,CAAC,MAAM,CAAC;wBACf,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;qBACvB;iBACF;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,YAAY;aACvB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEzE,MAAM,CAAC,SAAS,EAAE,CAAC;QAEnB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEvE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,CAAC,SAAS,EAAE,CAAC;QAEnB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAGpC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEvE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QACnF,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,KAAK,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5E,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpC,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE;SACzD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"acp-runtime-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-runtime-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-runtime-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/backend/domains/session/acp/acp-runtime-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { existsSync } from 'node:fs';
2
3
  import { dirname, join } from 'node:path';
3
4
  import { Readable, Writable } from 'node:stream';
5
+ import { fileURLToPath } from 'node:url';
4
6
  import { ClientSideConnection, ndJsonStream, PROTOCOL_VERSION, } from '@agentclientprotocol/sdk';
5
7
  import pLimit from 'p-limit';
6
8
  import { createLogger } from '../../../../backend/services/logger.service.js';
@@ -32,9 +34,136 @@ function resolveAcpBinary(packageName, binaryName) {
32
34
  function normalizeUnknownError(error) {
33
35
  return error instanceof Error ? error : new Error(String(error));
34
36
  }
35
- function createAcpSpawnError(binaryPath, error) {
37
+ function createAcpSpawnError(commandLabel, error) {
36
38
  const normalized = normalizeUnknownError(error);
37
- return new Error(`Failed to spawn ACP adapter "${binaryPath}": ${normalized.message}`);
39
+ return new Error(`Failed to spawn ACP adapter "${commandLabel}": ${normalized.message}`);
40
+ }
41
+ const DEFAULT_ACP_STARTUP_TIMEOUT_MS = 30_000;
42
+ const MAX_FACTORY_ROOT_SEARCH_DEPTH = 20;
43
+ function resolveAcpStartupTimeoutMs() {
44
+ const raw = process.env.ACP_STARTUP_TIMEOUT_MS;
45
+ if (!raw) {
46
+ return DEFAULT_ACP_STARTUP_TIMEOUT_MS;
47
+ }
48
+ const parsed = Number.parseInt(raw, 10);
49
+ if (!Number.isFinite(parsed) || parsed <= 0) {
50
+ return DEFAULT_ACP_STARTUP_TIMEOUT_MS;
51
+ }
52
+ return parsed;
53
+ }
54
+ async function withTimeout(params) {
55
+ return await new Promise((resolve, reject) => {
56
+ const timeout = setTimeout(() => {
57
+ reject(new Error(`ACP ${params.description} timed out after ${params.timeoutMs}ms`));
58
+ }, params.timeoutMs);
59
+ timeout.unref?.();
60
+ const clearTimer = () => {
61
+ clearTimeout(timeout);
62
+ };
63
+ if (typeof params.cancelOn !== 'undefined') {
64
+ void params.cancelOn.finally(clearTimer).catch(() => {
65
+ });
66
+ }
67
+ params.promise.then((value) => {
68
+ clearTimer();
69
+ resolve(value);
70
+ }, (error) => {
71
+ clearTimer();
72
+ reject(error);
73
+ });
74
+ });
75
+ }
76
+ function findFactoryRoot(startDir) {
77
+ let currentDir = startDir;
78
+ for (let depth = 0; depth < MAX_FACTORY_ROOT_SEARCH_DEPTH; depth += 1) {
79
+ const hasPackageJson = existsSync(join(currentDir, 'package.json'));
80
+ const hasCliDistEntrypoint = existsSync(join(currentDir, 'dist', 'src', 'cli', 'index.js'));
81
+ const hasCliSourceEntrypoint = existsSync(join(currentDir, 'src', 'cli', 'index.ts'));
82
+ if (hasPackageJson && (hasCliDistEntrypoint || hasCliSourceEntrypoint)) {
83
+ return currentDir;
84
+ }
85
+ const parentDir = dirname(currentDir);
86
+ if (parentDir === currentDir) {
87
+ return null;
88
+ }
89
+ currentDir = parentDir;
90
+ }
91
+ return null;
92
+ }
93
+ function resolveFactoryRootForInternalCodexAdapter() {
94
+ const moduleDir = dirname(fileURLToPath(import.meta.url));
95
+ const candidateStarts = [process.cwd(), moduleDir];
96
+ for (const candidate of candidateStarts) {
97
+ const root = findFactoryRoot(candidate);
98
+ if (root) {
99
+ return root;
100
+ }
101
+ }
102
+ throw new Error('Cannot resolve Factory Factory root for CODEX ACP adapter spawn');
103
+ }
104
+ function resolveInternalCodexAcpSpawnCommand() {
105
+ const projectRoot = resolveFactoryRootForInternalCodexAdapter();
106
+ const cliSourceEntrypoint = join(projectRoot, 'src', 'cli', 'index.ts');
107
+ const cliDistEntrypoint = join(projectRoot, 'dist', 'src', 'cli', 'index.js');
108
+ const tsconfigPath = join(projectRoot, 'tsconfig.json');
109
+ const tsxBin = join(projectRoot, 'node_modules', '.bin', process.platform === 'win32' ? 'tsx.cmd' : 'tsx');
110
+ const hasTypeScriptRuntime = process.execArgv.some((arg) => arg.includes('tsx')) ||
111
+ process.execArgv.some((arg) => arg.includes('ts-node'));
112
+ const preferSourceEntrypoint = process.env.NODE_ENV !== 'production';
113
+ const buildNodeSpawnCommand = (entrypoint) => {
114
+ const args = [entrypoint, 'internal', 'codex-app-server-acp'];
115
+ return {
116
+ command: process.execPath,
117
+ args,
118
+ commandLabel: `${process.execPath} ${args.join(' ')}`.trim(),
119
+ };
120
+ };
121
+ const resolveSourceSpawnCommand = () => {
122
+ if (!existsSync(cliSourceEntrypoint)) {
123
+ return null;
124
+ }
125
+ if (existsSync(tsxBin)) {
126
+ const args = [
127
+ ...(existsSync(tsconfigPath) ? ['--tsconfig', tsconfigPath] : []),
128
+ cliSourceEntrypoint,
129
+ 'internal',
130
+ 'codex-app-server-acp',
131
+ ];
132
+ return {
133
+ command: tsxBin,
134
+ args,
135
+ commandLabel: `${tsxBin} ${args.join(' ')}`.trim(),
136
+ };
137
+ }
138
+ if (hasTypeScriptRuntime) {
139
+ const args = [...process.execArgv, cliSourceEntrypoint, 'internal', 'codex-app-server-acp'];
140
+ return {
141
+ command: process.execPath,
142
+ args,
143
+ commandLabel: `${process.execPath} ${args.join(' ')}`.trim(),
144
+ };
145
+ }
146
+ return null;
147
+ };
148
+ if (preferSourceEntrypoint) {
149
+ const sourceCommand = resolveSourceSpawnCommand();
150
+ if (sourceCommand) {
151
+ return sourceCommand;
152
+ }
153
+ if (existsSync(cliDistEntrypoint)) {
154
+ return buildNodeSpawnCommand(cliDistEntrypoint);
155
+ }
156
+ }
157
+ else {
158
+ if (existsSync(cliDistEntrypoint)) {
159
+ return buildNodeSpawnCommand(cliDistEntrypoint);
160
+ }
161
+ const sourceCommand = resolveSourceSpawnCommand();
162
+ if (sourceCommand) {
163
+ return sourceCommand;
164
+ }
165
+ }
166
+ throw new Error('Cannot resolve CLI entrypoint for CODEX ACP adapter spawn');
38
167
  }
39
168
  function getAcpErrorLogDetails(error) {
40
169
  if (error instanceof Error) {
@@ -290,24 +419,41 @@ export class AcpRuntimeManager {
290
419
  }
291
420
  async createClient(sessionId, options, handlers, context) {
292
421
  const isCodex = options.provider === 'CODEX';
293
- const binaryName = isCodex ? 'codex-acp' : 'claude-code-acp';
294
- const packageName = isCodex ? '@zed-industries/codex-acp' : '@zed-industries/claude-code-acp';
295
- const binaryPath = options.adapterBinaryPath ?? resolveAcpBinary(packageName, binaryName);
422
+ const spawnCommand = options.adapterBinaryPath
423
+ ? {
424
+ command: options.adapterBinaryPath,
425
+ args: [],
426
+ commandLabel: options.adapterBinaryPath,
427
+ }
428
+ : isCodex
429
+ ? resolveInternalCodexAcpSpawnCommand()
430
+ : (() => {
431
+ const binaryName = 'claude-code-acp';
432
+ const packageName = '@zed-industries/claude-code-acp';
433
+ const binaryPath = resolveAcpBinary(packageName, binaryName);
434
+ return {
435
+ command: binaryPath,
436
+ args: [],
437
+ commandLabel: binaryPath,
438
+ };
439
+ })();
296
440
  logger.info('Spawning ACP subprocess', {
297
441
  sessionId,
298
- binaryPath,
442
+ command: spawnCommand.command,
443
+ args: spawnCommand.args,
299
444
  provider: options.provider,
300
445
  workingDir: options.workingDir,
301
446
  });
302
- const child = spawn(binaryPath, [], {
447
+ const spawnEnv = isCodex ? { ...process.env, DOTENV_CONFIG_QUIET: 'true' } : { ...process.env };
448
+ const child = spawn(spawnCommand.command, spawnCommand.args, {
303
449
  cwd: options.workingDir,
304
450
  stdio: ['pipe', 'pipe', 'pipe'],
305
- env: { ...process.env },
451
+ env: spawnEnv,
306
452
  detached: false,
307
453
  });
308
454
  let startupErrorListener = null;
309
455
  const startupError = new Promise((_, reject) => {
310
- startupErrorListener = (error) => reject(createAcpSpawnError(binaryPath, error));
456
+ startupErrorListener = (error) => reject(createAcpSpawnError(spawnCommand.commandLabel, error));
311
457
  child.once('error', startupErrorListener);
312
458
  });
313
459
  this.wireChildErrorHandler(child, sessionId, handlers);
@@ -332,16 +478,23 @@ export class AcpRuntimeManager {
332
478
  const connection = new ClientSideConnection((_agent) => new AcpClientHandler(sessionId, onEvent, handlers.permissionBridge, handlers.onAcpLog), stream);
333
479
  let initResult;
334
480
  let sessionInfo;
481
+ const startupTimeoutMs = resolveAcpStartupTimeoutMs();
482
+ const startupErrorSettled = startupError.catch(() => undefined);
335
483
  try {
336
484
  initResult = await Promise.race([
337
- connection.initialize({
338
- protocolVersion: PROTOCOL_VERSION,
339
- clientCapabilities: {},
340
- clientInfo: {
341
- name: 'factory-factory',
342
- title: 'Factory Factory',
343
- version: '1.2.0',
344
- },
485
+ withTimeout({
486
+ promise: connection.initialize({
487
+ protocolVersion: PROTOCOL_VERSION,
488
+ clientCapabilities: {},
489
+ clientInfo: {
490
+ name: 'factory-factory',
491
+ title: 'Factory Factory',
492
+ version: '1.2.0',
493
+ },
494
+ }),
495
+ timeoutMs: startupTimeoutMs,
496
+ description: 'initialize handshake',
497
+ cancelOn: startupErrorSettled,
345
498
  }),
346
499
  startupError,
347
500
  ]);
@@ -351,7 +504,12 @@ export class AcpRuntimeManager {
351
504
  });
352
505
  const agentCapabilities = initResult.agentCapabilities ?? {};
353
506
  sessionInfo = await Promise.race([
354
- this.createOrResumeSession(connection, sessionId, options, agentCapabilities),
507
+ withTimeout({
508
+ promise: this.createOrResumeSession(connection, sessionId, options, agentCapabilities),
509
+ timeoutMs: startupTimeoutMs,
510
+ description: 'session creation',
511
+ cancelOn: startupErrorSettled,
512
+ }),
355
513
  startupError,
356
514
  ]);
357
515
  }