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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-app-server-acp-adapter.test.js","sourceRoot":"","sources":["../../../../../../../src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { CodexRpcServerRequest } from './codex-zod.js';
2
+ export declare class CodexRequestError extends Error {
3
+ readonly code: number;
4
+ readonly data: unknown;
5
+ constructor(params: {
6
+ code: number;
7
+ message: string;
8
+ data?: unknown;
9
+ });
10
+ }
11
+ export type CodexRpcClientOptions = {
12
+ cwd: string;
13
+ env: NodeJS.ProcessEnv;
14
+ onStderr?: (line: string) => void;
15
+ onNotification?: (notification: {
16
+ method: string;
17
+ params: unknown;
18
+ }) => void;
19
+ onRequest?: (request: CodexRpcServerRequest) => void;
20
+ onProtocolError?: (error: {
21
+ reason: string;
22
+ payload?: unknown;
23
+ }) => void;
24
+ };
25
+ export declare class CodexRpcClient {
26
+ private readonly options;
27
+ private child;
28
+ private lineReader;
29
+ private nextId;
30
+ private readonly pending;
31
+ constructor(options: CodexRpcClientOptions);
32
+ start(): void;
33
+ stop(): Promise<void>;
34
+ request<TResponse>(method: string, params?: unknown): Promise<TResponse>;
35
+ notify(method: string, params?: unknown): void;
36
+ respondSuccess(id: string | number | null, result: unknown): void;
37
+ respondError(id: string | number | null, error: unknown): void;
38
+ private rejectPending;
39
+ private write;
40
+ private handleLine;
41
+ private handleServerRequest;
42
+ private handleNotification;
43
+ private handleResponse;
44
+ private resolvePending;
45
+ }
46
+ //# sourceMappingURL=codex-rpc-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-rpc-client.d.ts","sourceRoot":"","sources":["../../../../../../../src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAkB3E,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEX,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAKtE;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7E,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACrD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1E,CAAC;AAqBF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;gBAEjD,OAAO,EAAE,qBAAqB;IAI1C,KAAK,IAAI,IAAI;IA8CP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BrB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IA6B9E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAS9C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAIjE,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9D,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,UAAU;IAqClB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;CAwBvB"}
@@ -0,0 +1,238 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { createInterface } from 'node:readline';
3
+ import { codexRpcNotificationEnvelopeSchema, codexRpcResponseSchema, codexRpcServerRequestSchema, } from './codex-zod.js';
4
+ export class CodexRequestError extends Error {
5
+ code;
6
+ data;
7
+ constructor(params) {
8
+ super(params.message);
9
+ this.code = params.code;
10
+ this.data = params.data;
11
+ }
12
+ }
13
+ function isRecord(value) {
14
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
15
+ }
16
+ function toRequestErrorPayload(error) {
17
+ if (isRecord(error) && typeof error.code === 'number' && typeof error.message === 'string') {
18
+ return {
19
+ code: error.code,
20
+ message: error.message,
21
+ ...(Object.hasOwn(error, 'data') ? { data: error.data } : {}),
22
+ };
23
+ }
24
+ return {
25
+ code: -32_003,
26
+ message: error instanceof Error ? error.message : String(error),
27
+ };
28
+ }
29
+ export class CodexRpcClient {
30
+ options;
31
+ child = null;
32
+ lineReader = null;
33
+ nextId = 1;
34
+ pending = new Map();
35
+ constructor(options) {
36
+ this.options = options;
37
+ }
38
+ start() {
39
+ if (this.child) {
40
+ return;
41
+ }
42
+ const child = spawn('codex', ['app-server'], {
43
+ cwd: this.options.cwd,
44
+ env: this.options.env,
45
+ stdio: ['pipe', 'pipe', 'pipe'],
46
+ detached: false,
47
+ });
48
+ child.stderr?.on('data', (chunk) => {
49
+ this.options.onStderr?.(chunk.toString());
50
+ });
51
+ const stdout = child.stdout;
52
+ if (!stdout) {
53
+ throw new Error('codex app-server stdout unavailable');
54
+ }
55
+ this.lineReader = createInterface({ input: stdout, crlfDelay: Number.POSITIVE_INFINITY });
56
+ this.lineReader.on('line', (line) => this.handleLine(line));
57
+ child.on('exit', (code, signal) => {
58
+ if (this.child === child) {
59
+ this.child = null;
60
+ }
61
+ this.lineReader?.close();
62
+ this.lineReader = null;
63
+ const reason = `codex app-server exited (code=${code ?? 'null'}, signal=${signal ?? 'null'})`;
64
+ this.rejectPending(new Error(reason));
65
+ });
66
+ child.on('error', (error) => {
67
+ if (this.child === child) {
68
+ this.child = null;
69
+ }
70
+ this.lineReader?.close();
71
+ this.lineReader = null;
72
+ this.rejectPending(error);
73
+ });
74
+ this.child = child;
75
+ }
76
+ async stop() {
77
+ if (!this.child) {
78
+ return;
79
+ }
80
+ const child = this.child;
81
+ this.child = null;
82
+ this.lineReader?.close();
83
+ this.lineReader = null;
84
+ if (child.exitCode !== null) {
85
+ return;
86
+ }
87
+ child.kill('SIGTERM');
88
+ await new Promise((resolve) => {
89
+ const timeout = setTimeout(() => {
90
+ if (child.exitCode === null) {
91
+ child.kill('SIGKILL');
92
+ }
93
+ resolve();
94
+ }, 2000);
95
+ timeout.unref?.();
96
+ child.once('exit', () => {
97
+ clearTimeout(timeout);
98
+ resolve();
99
+ });
100
+ });
101
+ }
102
+ async request(method, params) {
103
+ const id = this.nextId;
104
+ this.nextId += 1;
105
+ const payload = {
106
+ id,
107
+ method,
108
+ ...(typeof params === 'undefined' ? {} : { params }),
109
+ };
110
+ const responsePromise = new Promise((resolve, reject) => {
111
+ this.pending.set(id, {
112
+ resolve: (value) => resolve(value),
113
+ reject,
114
+ });
115
+ });
116
+ try {
117
+ this.write(payload);
118
+ }
119
+ catch (error) {
120
+ const pending = this.pending.get(id);
121
+ if (pending) {
122
+ this.pending.delete(id);
123
+ pending.reject(error);
124
+ }
125
+ }
126
+ return await responsePromise;
127
+ }
128
+ notify(method, params) {
129
+ const payload = {
130
+ method,
131
+ ...(typeof params === 'undefined' ? {} : { params }),
132
+ };
133
+ this.write(payload);
134
+ }
135
+ respondSuccess(id, result) {
136
+ this.write({ id, result });
137
+ }
138
+ respondError(id, error) {
139
+ this.write({ id, error: toRequestErrorPayload(error) });
140
+ }
141
+ rejectPending(error) {
142
+ for (const [, pending] of this.pending) {
143
+ pending.reject(error);
144
+ }
145
+ this.pending.clear();
146
+ }
147
+ write(payload) {
148
+ if (!this.child?.stdin) {
149
+ throw new Error('codex app-server stdin unavailable');
150
+ }
151
+ this.child.stdin.write(`${JSON.stringify(payload)}\n`);
152
+ }
153
+ handleLine(line) {
154
+ if (!line.trim()) {
155
+ return;
156
+ }
157
+ let parsed;
158
+ try {
159
+ parsed = JSON.parse(line);
160
+ }
161
+ catch {
162
+ this.options.onProtocolError?.({
163
+ reason: 'invalid_json',
164
+ payload: line,
165
+ });
166
+ return;
167
+ }
168
+ if (isRecord(parsed) && Object.hasOwn(parsed, 'id') && Object.hasOwn(parsed, 'method')) {
169
+ this.handleServerRequest(parsed);
170
+ return;
171
+ }
172
+ if (isRecord(parsed) && Object.hasOwn(parsed, 'method')) {
173
+ this.handleNotification(parsed);
174
+ return;
175
+ }
176
+ if (isRecord(parsed) && Object.hasOwn(parsed, 'id')) {
177
+ this.handleResponse(parsed);
178
+ return;
179
+ }
180
+ this.options.onProtocolError?.({
181
+ reason: 'unrecognized_message',
182
+ payload: parsed,
183
+ });
184
+ }
185
+ handleServerRequest(payload) {
186
+ const parsed = codexRpcServerRequestSchema.safeParse(payload);
187
+ if (!parsed.success) {
188
+ this.options.onProtocolError?.({
189
+ reason: 'invalid_server_request',
190
+ payload,
191
+ });
192
+ return;
193
+ }
194
+ this.options.onRequest?.(parsed.data);
195
+ }
196
+ handleNotification(payload) {
197
+ const parsed = codexRpcNotificationEnvelopeSchema.safeParse(payload);
198
+ if (!parsed.success) {
199
+ this.options.onProtocolError?.({
200
+ reason: 'invalid_notification_envelope',
201
+ payload,
202
+ });
203
+ return;
204
+ }
205
+ this.options.onNotification?.({ method: parsed.data.method, params: parsed.data.params });
206
+ }
207
+ handleResponse(payload) {
208
+ const parsed = codexRpcResponseSchema.safeParse(payload);
209
+ if (!parsed.success) {
210
+ this.options.onProtocolError?.({
211
+ reason: 'invalid_response',
212
+ payload,
213
+ });
214
+ return;
215
+ }
216
+ this.resolvePending(parsed.data);
217
+ }
218
+ resolvePending(response) {
219
+ if (typeof response.id !== 'number') {
220
+ return;
221
+ }
222
+ const pending = this.pending.get(response.id);
223
+ if (!pending) {
224
+ return;
225
+ }
226
+ this.pending.delete(response.id);
227
+ if (response.error) {
228
+ pending.reject(new CodexRequestError({
229
+ code: response.error.code,
230
+ message: response.error.message,
231
+ data: response.error.data,
232
+ }));
233
+ return;
234
+ }
235
+ pending.resolve(response.result);
236
+ }
237
+ }
238
+ //# sourceMappingURL=codex-rpc-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-rpc-client.js","sourceRoot":"","sources":["../../../../../../../src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codex-rpc-client.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-rpc-client.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,140 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import { PassThrough } from 'node:stream';
3
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
4
+ const { mockSpawn } = vi.hoisted(() => ({
5
+ mockSpawn: vi.fn(),
6
+ }));
7
+ vi.mock('node:child_process', () => ({
8
+ spawn: (...args) => mockSpawn(...args),
9
+ }));
10
+ import { CodexRequestError, CodexRpcClient } from './codex-rpc-client.js';
11
+ function createMockChild() {
12
+ const child = new EventEmitter();
13
+ child.stdin = new PassThrough();
14
+ child.stdout = new PassThrough();
15
+ child.stderr = new PassThrough();
16
+ child.exitCode = null;
17
+ child.kill = vi.fn((signal) => {
18
+ if (signal === 'SIGTERM') {
19
+ child.exitCode = 0;
20
+ child.emit('exit', 0, 'SIGTERM');
21
+ }
22
+ if (signal === 'SIGKILL') {
23
+ child.exitCode = 137;
24
+ child.emit('exit', 137, 'SIGKILL');
25
+ }
26
+ return true;
27
+ });
28
+ return child;
29
+ }
30
+ describe('CodexRpcClient', () => {
31
+ beforeEach(() => {
32
+ mockSpawn.mockReset();
33
+ });
34
+ it('spawns codex app-server and resolves request responses', async () => {
35
+ const child = createMockChild();
36
+ mockSpawn.mockReturnValue(child);
37
+ let stdinWritten = '';
38
+ child.stdin.on('data', (chunk) => {
39
+ stdinWritten += chunk.toString('utf8');
40
+ });
41
+ const client = new CodexRpcClient({
42
+ cwd: '/tmp/workspace',
43
+ env: {},
44
+ });
45
+ client.start();
46
+ const responsePromise = client.request('model/list', {});
47
+ await vi.waitFor(() => {
48
+ expect(stdinWritten).toContain('"method":"model/list"');
49
+ });
50
+ child.stdout.write('{"id":1,"result":{"ok":true}}\n');
51
+ await expect(responsePromise).resolves.toEqual({ ok: true });
52
+ expect(mockSpawn).toHaveBeenCalledWith('codex', ['app-server'], expect.any(Object));
53
+ });
54
+ it('routes notifications, server requests, and protocol errors', async () => {
55
+ const child = createMockChild();
56
+ mockSpawn.mockReturnValue(child);
57
+ const onNotification = vi.fn();
58
+ const onRequest = vi.fn();
59
+ const onProtocolError = vi.fn();
60
+ const client = new CodexRpcClient({
61
+ cwd: '/tmp/workspace',
62
+ env: {},
63
+ onNotification,
64
+ onRequest,
65
+ onProtocolError,
66
+ });
67
+ client.start();
68
+ child.stdout.write('{"method":"item/agentMessage/delta","params":{"threadId":"t","turnId":"u","itemId":"i","delta":"x"}}\n');
69
+ child.stdout.write('{"id":9,"method":"item/fileChange/requestApproval","params":{"threadId":"t","turnId":"u","itemId":"i"}}\n');
70
+ child.stdout.write('{bad-json\n');
71
+ await vi.waitFor(() => {
72
+ expect(onNotification).toHaveBeenCalledTimes(1);
73
+ expect(onRequest).toHaveBeenCalledTimes(1);
74
+ expect(onProtocolError).toHaveBeenCalledWith(expect.objectContaining({ reason: 'invalid_json' }));
75
+ });
76
+ });
77
+ it('rejects request with CodexRequestError on JSON-RPC error response', async () => {
78
+ const child = createMockChild();
79
+ mockSpawn.mockReturnValue(child);
80
+ const client = new CodexRpcClient({
81
+ cwd: '/tmp/workspace',
82
+ env: {},
83
+ });
84
+ client.start();
85
+ const responsePromise = client.request('turn/start', { threadId: 'thread_1' });
86
+ child.stdout.write('{"id":1,"error":{"code":-32001,"message":"Server overloaded; retry later."}}\n');
87
+ await expect(responsePromise).rejects.toBeInstanceOf(CodexRequestError);
88
+ await expect(responsePromise).rejects.toMatchObject({
89
+ code: -32_001,
90
+ message: 'Server overloaded; retry later.',
91
+ });
92
+ });
93
+ it('rejects pending requests when codex process exits', async () => {
94
+ const child = createMockChild();
95
+ mockSpawn.mockReturnValue(child);
96
+ const client = new CodexRpcClient({
97
+ cwd: '/tmp/workspace',
98
+ env: {},
99
+ });
100
+ client.start();
101
+ const responsePromise = client.request('turn/start', { threadId: 'thread_1' });
102
+ child.emit('exit', 1, null);
103
+ await expect(responsePromise).rejects.toThrow(/codex app-server exited/);
104
+ });
105
+ it('rejects new requests after codex process exits', async () => {
106
+ const child = createMockChild();
107
+ mockSpawn.mockReturnValue(child);
108
+ const client = new CodexRpcClient({
109
+ cwd: '/tmp/workspace',
110
+ env: {},
111
+ });
112
+ client.start();
113
+ child.emit('exit', 1, null);
114
+ await expect(client.request('turn/start', { threadId: 'thread_1' })).rejects.toThrow(/stdin unavailable/);
115
+ });
116
+ it('cleans up pending request state when write fails', async () => {
117
+ const child = createMockChild();
118
+ mockSpawn.mockReturnValue(child);
119
+ const client = new CodexRpcClient({
120
+ cwd: '/tmp/workspace',
121
+ env: {},
122
+ });
123
+ client.start();
124
+ client.child.stdin = null;
125
+ await expect(client.request('turn/start', { threadId: 'thread_1' })).rejects.toThrow(/stdin unavailable/);
126
+ expect(client.pending.size).toBe(0);
127
+ });
128
+ it('stops the subprocess gracefully', async () => {
129
+ const child = createMockChild();
130
+ mockSpawn.mockReturnValue(child);
131
+ const client = new CodexRpcClient({
132
+ cwd: '/tmp/workspace',
133
+ env: {},
134
+ });
135
+ client.start();
136
+ await client.stop();
137
+ expect(child.kill).toHaveBeenCalledWith('SIGTERM');
138
+ });
139
+ });
140
+ //# sourceMappingURL=codex-rpc-client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-rpc-client.test.js","sourceRoot":"","sources":["../../../../../../../src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=codex-schema-snapshot.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-schema-snapshot.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ import { describe, expect, it } from 'vitest';
4
+ import { z } from 'zod';
5
+ const SNAPSHOT_PATH = resolve('src/backend/domains/session/acp/codex-app-server-adapter/schema-snapshots/app-server-methods.snapshot.json');
6
+ const REQUIRED_APP_SERVER_METHODS = [
7
+ 'initialize',
8
+ 'initialized',
9
+ 'thread/start',
10
+ 'thread/resume',
11
+ 'thread/read',
12
+ 'turn/start',
13
+ 'turn/interrupt',
14
+ 'model/list',
15
+ 'configRequirements/read',
16
+ 'config/value/write',
17
+ 'config/mcpServer/reload',
18
+ 'item/commandExecution/requestApproval',
19
+ 'item/fileChange/requestApproval',
20
+ 'item/tool/requestUserInput',
21
+ ];
22
+ const snapshotSchema = z.object({
23
+ allMethods: z.array(z.string()),
24
+ });
25
+ describe('codex schema snapshot contract', () => {
26
+ it('contains methods used by the ACP adapter', () => {
27
+ const parsed = JSON.parse(readFileSync(SNAPSHOT_PATH, 'utf8'));
28
+ const snapshot = snapshotSchema.parse(parsed);
29
+ const allMethods = new Set(snapshot.allMethods);
30
+ for (const method of REQUIRED_APP_SERVER_METHODS) {
31
+ expect(allMethods.has(method)).toBe(true);
32
+ }
33
+ });
34
+ });
35
+ //# sourceMappingURL=codex-schema-snapshot.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-schema-snapshot.test.js","sourceRoot":"","sources":["../../../../../../../src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,aAAa,GAAG,OAAO,CAC3B,4GAA4G,CAC7G,CAAC;AAEF,MAAM,2BAA2B,GAAG;IAClC,YAAY;IACZ,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,YAAY;IACZ,yBAAyB;IACzB,oBAAoB;IACpB,yBAAyB;IACzB,uCAAuC;IACvC,iCAAiC;IACjC,4BAA4B;CACpB,CAAC;AAEX,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAC;AAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEhD,KAAK,MAAM,MAAM,IAAI,2BAA2B,EAAE,CAAC;YACjD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}