factory-factory 0.3.14 → 0.3.16

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 (439) hide show
  1. package/dist/client/assets/{arc-DSBuWL5s.js → arc-CAOrfHBL.js} +1 -1
  2. package/dist/client/assets/architectureDiagram-3BPJPVTR-CzxGCKeM.js +36 -0
  3. package/dist/client/assets/blockDiagram-GPEHLZMM-B4k0dvv-.js +132 -0
  4. package/dist/client/assets/{c4Diagram-AHTNJAMY-DLB6YyaK.js → c4Diagram-AAUBKEIU-ByaECY1u.js} +1 -1
  5. package/dist/client/assets/channel-D2ho7Eza.js +1 -0
  6. package/dist/client/assets/{chunk-EDXVE4YY-JtUNKE2M.js → chunk-2J33WTMH-Crxo1uMY.js} +1 -1
  7. package/dist/client/assets/{chunk-4BX2VUAB-DVPwhCCH.js → chunk-4BX2VUAB-CggFLwAA.js} +1 -1
  8. package/dist/client/assets/{chunk-55IACEB6-BW_jDeAT.js → chunk-55IACEB6-BSoTWFAF.js} +1 -1
  9. package/dist/client/assets/chunk-727SXJPM-DcQoeGkQ.js +206 -0
  10. package/dist/client/assets/chunk-AQP2D5EJ-Ci5tNJvg.js +231 -0
  11. package/dist/client/assets/{chunk-FMBD7UC4-BVYe-KgE.js → chunk-FMBD7UC4-CjYtwTh4.js} +1 -1
  12. package/dist/client/assets/{chunk-YZCP3GAM-CDhS7CGF.js → chunk-ND2GUHAM-Dla8Gmku.js} +1 -1
  13. package/dist/client/assets/{chunk-QZHKN3VN-99tx2X7z.js → chunk-QZHKN3VN-CiblfzNN.js} +1 -1
  14. package/dist/client/assets/classDiagram-4FO5ZUOK-ZExoOExU.js +1 -0
  15. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-ZExoOExU.js +1 -0
  16. package/dist/client/assets/{cose-bilkent-S5V4N54A-GJd1fOeJ.js → cose-bilkent-S5V4N54A-DWuzgvAN.js} +1 -1
  17. package/dist/client/assets/dagre-BM42HDAG-hvdcGfHc.js +4 -0
  18. package/dist/client/assets/diagram-2AECGRRQ-DVZDsgVY.js +43 -0
  19. package/dist/client/assets/diagram-5GNKFQAL-BLXKSUUu.js +10 -0
  20. package/dist/client/assets/diagram-KO2AKTUF-1nNBdWqs.js +3 -0
  21. package/dist/client/assets/diagram-LMA3HP47-CTw-M4zU.js +24 -0
  22. package/dist/client/assets/diagram-OG6HWLK6-D9J0vyno.js +24 -0
  23. package/dist/client/assets/{erDiagram-SMLLAGMA-b5ieH-Rd.js → erDiagram-TEJ5UH35-DYXcLeDs.js} +1 -1
  24. package/dist/client/assets/{flowDiagram-DWJPFMVM-C6BT6FGE.js → flowDiagram-I6XJVG4X-CXFyFXcd.js} +1 -1
  25. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-ANP28BYp.js → ganttDiagram-6RSMTGT7-CPGMIRhg.js} +2 -2
  26. package/dist/client/assets/gitGraphDiagram-PVQCEYII-BCIDHp-Q.js +106 -0
  27. package/dist/client/assets/graph--OzhPTMs.js +1 -0
  28. package/dist/client/assets/index-IJ_NNlgJ.css +1 -0
  29. package/dist/client/assets/{index-DXhws4gD.js → index-gIy0Sz_B.js} +152 -153
  30. package/dist/client/assets/infoDiagram-5YYISTIA-ThNaUmLI.js +2 -0
  31. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-CqKsMHgP.js → ishikawaDiagram-YF4QCWOH-nD7e1KKT.js} +1 -1
  32. package/dist/client/assets/{journeyDiagram-VCZTEJTY-BZtfD_AX.js → journeyDiagram-JHISSGLW-DKfK1tIp.js} +1 -1
  33. package/dist/client/assets/{kanban-definition-6JOO6SKY-BmXsWhyy.js → kanban-definition-UN3LZRKU-C61PkF-T.js} +1 -1
  34. package/dist/client/assets/layout-SsrduOYp.js +1 -0
  35. package/dist/client/assets/{linear-D3KSZ58g.js → linear-yYp6Wht8.js} +1 -1
  36. package/dist/client/assets/{mindmap-definition-QFDTVHPH-Ds6I5xr9.js → mindmap-definition-RKZ34NQL-DI6Bl654.js} +9 -9
  37. package/dist/client/assets/{mobile-baseline-LNAOKO2v.js → mobile-baseline-DRrQYbFX.js} +1 -1
  38. package/dist/client/assets/pieDiagram-4H26LBE5-CNV-VY3H.js +30 -0
  39. package/dist/client/assets/quadrantDiagram-W4KKPZXB-CDBpCVHO.js +7 -0
  40. package/dist/client/assets/{requirementDiagram-MS252O5E-U4qQHRNe.js → requirementDiagram-4Y6WPE33-D_rxDIc5.js} +1 -1
  41. package/dist/client/assets/sankeyDiagram-5OEKKPKP-DeyadfL0.js +40 -0
  42. package/dist/client/assets/{sequenceDiagram-FGHM5R23-BU3bWBgE.js → sequenceDiagram-3UESZ5HK-36_kZ6la.js} +12 -7
  43. package/dist/client/assets/stateDiagram-AJRCARHV-4ayM-mAT.js +1 -0
  44. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-ChnnLckY.js +1 -0
  45. package/dist/client/assets/{terminal-instance-F0JrQZ9R.js → terminal-instance-CMp5bO62.js} +1 -1
  46. package/dist/client/assets/{timeline-definition-GMOUNBTQ-BLLt9f0n.js → timeline-definition-PNZ67QCA-D0pQgePo.js} +1 -1
  47. package/dist/client/assets/{vennDiagram-DHZGUBPP-wVxLQieb.js → vennDiagram-CIIHVFJN-CnoMcpwq.js} +1 -1
  48. package/dist/client/assets/wardley-L42UT6IY-DOtSWmwv.js +161 -0
  49. package/dist/client/assets/wardleyDiagram-YWT4CUSO-Z3hYGa2_.js +78 -0
  50. package/dist/client/assets/{xychartDiagram-5P7HB3ND-D-h5ykwN.js → xychartDiagram-2RQKCTM6-CBvgTdkn.js} +1 -1
  51. package/dist/client/index.html +2 -2
  52. package/dist/prisma/generated/browser.d.ts +2 -0
  53. package/dist/prisma/generated/browser.d.ts.map +1 -1
  54. package/dist/prisma/generated/client.d.ts +2 -0
  55. package/dist/prisma/generated/client.d.ts.map +1 -1
  56. package/dist/prisma/generated/commonInputTypes.d.ts +60 -0
  57. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  58. package/dist/prisma/generated/enums.d.ts +16 -0
  59. package/dist/prisma/generated/enums.d.ts.map +1 -1
  60. package/dist/prisma/generated/enums.js +15 -1
  61. package/dist/prisma/generated/enums.js.map +1 -1
  62. package/dist/prisma/generated/internal/class.d.ts +6 -0
  63. package/dist/prisma/generated/internal/class.d.ts.map +1 -1
  64. package/dist/prisma/generated/internal/class.js +4 -4
  65. package/dist/prisma/generated/internal/class.js.map +1 -1
  66. package/dist/prisma/generated/internal/prismaNamespace.d.ts +181 -1
  67. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  68. package/dist/prisma/generated/internal/prismaNamespace.js +27 -1
  69. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  70. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +28 -0
  71. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  72. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +27 -1
  73. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  74. package/dist/prisma/generated/models/PeriodicTask.d.ts +954 -0
  75. package/dist/prisma/generated/models/PeriodicTask.d.ts.map +1 -0
  76. package/dist/prisma/generated/models/PeriodicTask.js +2 -0
  77. package/dist/prisma/generated/models/PeriodicTask.js.map +1 -0
  78. package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts +813 -0
  79. package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts.map +1 -0
  80. package/dist/prisma/generated/models/PeriodicTaskExecution.js +2 -0
  81. package/dist/prisma/generated/models/PeriodicTaskExecution.js.map +1 -0
  82. package/dist/prisma/generated/models/Project.d.ts +132 -0
  83. package/dist/prisma/generated/models/Project.d.ts.map +1 -1
  84. package/dist/prisma/generated/models/Workspace.d.ts +809 -32
  85. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  86. package/dist/prisma/generated/models.d.ts +2 -0
  87. package/dist/prisma/generated/models.d.ts.map +1 -1
  88. package/dist/src/backend/lib/env.d.ts +2 -1
  89. package/dist/src/backend/lib/env.d.ts.map +1 -1
  90. package/dist/src/backend/lib/env.js +6 -3
  91. package/dist/src/backend/lib/env.js.map +1 -1
  92. package/dist/src/backend/lib/session-summaries.d.ts +1 -1
  93. package/dist/src/backend/lib/session-summaries.d.ts.map +1 -1
  94. package/dist/src/backend/lib/session-summaries.js +3 -2
  95. package/dist/src/backend/lib/session-summaries.js.map +1 -1
  96. package/dist/src/backend/lib/workspace-derived-state.js +1 -1
  97. package/dist/src/backend/lib/workspace-derived-state.js.map +1 -1
  98. package/dist/src/backend/lib/workspace-derived-state.test.js +33 -9
  99. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
  100. package/dist/src/backend/orchestration/cli-health.service.d.ts +2 -0
  101. package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
  102. package/dist/src/backend/orchestration/cli-health.service.js +23 -5
  103. package/dist/src/backend/orchestration/cli-health.service.js.map +1 -1
  104. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  105. package/dist/src/backend/orchestration/data-backup.service.js +6 -0
  106. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  107. package/dist/src/backend/orchestration/data-backup.service.test.js +55 -4
  108. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  109. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  110. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +39 -1
  111. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  112. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +3 -1
  113. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  114. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +2 -0
  115. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  116. package/dist/src/backend/orchestration/event-collector.orchestrator.js +17 -0
  117. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  118. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +14 -3
  119. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  120. package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
  121. package/dist/src/backend/orchestration/scheduler.service.js +4 -2
  122. package/dist/src/backend/orchestration/scheduler.service.js.map +1 -1
  123. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +1 -0
  124. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  125. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +7 -1
  126. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  127. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +34 -0
  128. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  129. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +9 -0
  130. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  131. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +80 -39
  132. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  133. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +74 -2
  134. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  135. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts +1 -0
  136. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  137. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +101 -17
  138. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  139. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +70 -3
  140. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
  141. package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +1 -1
  142. package/dist/src/backend/prompts/ratchet-dispatch.js +14 -10
  143. package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
  144. package/dist/src/backend/prompts/ratchet-dispatch.test.js +37 -0
  145. package/dist/src/backend/prompts/ratchet-dispatch.test.js.map +1 -1
  146. package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts.map +1 -1
  147. package/dist/src/backend/routers/websocket/setup-terminal.handler.js +13 -1
  148. package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
  149. package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js +89 -3
  150. package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js.map +1 -1
  151. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  152. package/dist/src/backend/routers/websocket/snapshots.handler.js +24 -8
  153. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  154. package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
  155. package/dist/src/backend/routers/websocket/terminal.handler.js +29 -11
  156. package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
  157. package/dist/src/backend/routers/websocket/terminal.handler.test.js +98 -0
  158. package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
  159. package/dist/src/backend/schemas/websocket/terminal-message.schema.d.ts +1 -0
  160. package/dist/src/backend/schemas/websocket/terminal-message.schema.d.ts.map +1 -1
  161. package/dist/src/backend/schemas/websocket/terminal-message.schema.js +1 -0
  162. package/dist/src/backend/schemas/websocket/terminal-message.schema.js.map +1 -1
  163. package/dist/src/backend/server.d.ts.map +1 -1
  164. package/dist/src/backend/server.js +84 -62
  165. package/dist/src/backend/server.js.map +1 -1
  166. package/dist/src/backend/server.upgrade.test.js +40 -1
  167. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  168. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts +2 -1
  169. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  170. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +82 -0
  171. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  172. package/dist/src/backend/services/config.service.d.ts.map +1 -1
  173. package/dist/src/backend/services/config.service.js +1 -4
  174. package/dist/src/backend/services/config.service.js.map +1 -1
  175. package/dist/src/backend/services/constants.d.ts +1 -0
  176. package/dist/src/backend/services/constants.d.ts.map +1 -1
  177. package/dist/src/backend/services/constants.js +1 -0
  178. package/dist/src/backend/services/constants.js.map +1 -1
  179. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +1 -0
  180. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  181. package/dist/src/backend/services/github/service/github-cli/schemas.js +1 -1
  182. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  183. package/dist/src/backend/services/github/service/github-cli.service.d.ts +10 -0
  184. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  185. package/dist/src/backend/services/github/service/github-cli.service.js +85 -2
  186. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  187. package/dist/src/backend/services/github/service/github-cli.service.test.js +38 -8
  188. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  189. package/dist/src/backend/services/periodic-task/index.d.ts +5 -0
  190. package/dist/src/backend/services/periodic-task/index.d.ts.map +1 -0
  191. package/dist/src/backend/services/periodic-task/index.js +6 -0
  192. package/dist/src/backend/services/periodic-task/index.js.map +1 -0
  193. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +49 -0
  194. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -0
  195. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +138 -0
  196. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -0
  197. package/dist/src/backend/services/periodic-task/service/index.d.ts +3 -0
  198. package/dist/src/backend/services/periodic-task/service/index.d.ts.map +1 -0
  199. package/dist/src/backend/services/periodic-task/service/index.js +2 -0
  200. package/dist/src/backend/services/periodic-task/service/index.js.map +1 -0
  201. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +44 -0
  202. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -0
  203. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +177 -0
  204. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -0
  205. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
  206. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +1 -0
  207. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js.map +1 -1
  208. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js +74 -1
  209. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
  210. package/dist/src/backend/services/ratchet/service/ratchet.service.js +1 -1
  211. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  212. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +9 -5
  213. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  214. package/dist/src/backend/services/registry.d.ts +6 -2
  215. package/dist/src/backend/services/registry.d.ts.map +1 -1
  216. package/dist/src/backend/services/registry.js +7 -0
  217. package/dist/src/backend/services/registry.js.map +1 -1
  218. package/dist/src/backend/services/resources.integration.test.js +33 -3
  219. package/dist/src/backend/services/resources.integration.test.js.map +1 -1
  220. package/dist/src/backend/services/run-script/service/run-script.service.d.ts +2 -1
  221. package/dist/src/backend/services/run-script/service/run-script.service.d.ts.map +1 -1
  222. package/dist/src/backend/services/run-script/service/run-script.service.js +7 -1
  223. package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
  224. package/dist/src/backend/services/run-script/service/run-script.service.test.js +20 -0
  225. package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
  226. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +2 -0
  227. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  228. package/dist/src/backend/services/session/resources/agent-session.accessor.js +88 -49
  229. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  230. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +27 -0
  231. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  232. package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
  233. package/dist/src/backend/services/session/service/acp/acp-client-handler.js +31 -16
  234. package/dist/src/backend/services/session/service/acp/acp-client-handler.js.map +1 -1
  235. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js +41 -7
  236. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js.map +1 -1
  237. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +2 -0
  238. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  239. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +25 -6
  240. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  241. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +81 -3
  242. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +1 -1
  243. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +1 -0
  244. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  245. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +13 -0
  246. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  247. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +34 -0
  248. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  249. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts +7 -0
  250. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -1
  251. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.js +25 -8
  252. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.js.map +1 -1
  253. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.test.js +28 -0
  254. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.test.js.map +1 -1
  255. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.d.ts.map +1 -1
  256. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js +3 -26
  257. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js.map +1 -1
  258. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.test.js +30 -4
  259. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.test.js.map +1 -1
  260. package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js +17 -5
  261. package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js.map +1 -1
  262. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js +23 -0
  263. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js.map +1 -1
  264. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +10 -1
  265. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  266. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +72 -2
  267. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  268. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +66 -0
  269. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  270. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +3 -0
  271. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  272. package/dist/src/backend/services/session/service/data/session-data.service.js +3 -0
  273. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  274. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +5 -1
  275. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  276. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +14 -5
  277. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  278. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts +1 -0
  279. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
  280. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +50 -7
  281. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
  282. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +68 -0
  283. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
  284. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +2 -0
  285. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  286. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -0
  287. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  288. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +6 -0
  289. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
  290. package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js +65 -2
  291. package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js.map +1 -1
  292. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +7 -0
  293. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  294. package/dist/src/backend/services/session/service/lifecycle/session.service.js +54 -2
  295. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  296. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +254 -3
  297. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  298. package/dist/src/backend/services/terminal/service/terminal.service.d.ts +1 -2
  299. package/dist/src/backend/services/terminal/service/terminal.service.d.ts.map +1 -1
  300. package/dist/src/backend/services/terminal/service/terminal.service.js +95 -9
  301. package/dist/src/backend/services/terminal/service/terminal.service.js.map +1 -1
  302. package/dist/src/backend/services/terminal/service/terminal.service.test.js +16 -0
  303. package/dist/src/backend/services/terminal/service/terminal.service.test.js.map +1 -1
  304. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +3 -1
  305. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  306. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +15 -0
  307. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  308. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +37 -1
  309. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  310. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +1 -0
  311. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  312. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +9 -0
  313. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  314. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +2 -0
  315. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  316. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +6 -2
  317. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  318. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +38 -26
  319. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
  320. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +42 -6
  321. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
  322. package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts.map +1 -1
  323. package/dist/src/backend/services/workspace/service/state/kanban-state.js +1 -3
  324. package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
  325. package/dist/src/backend/services/workspace/service/state/pending-request-type.js +2 -2
  326. package/dist/src/backend/services/workspace/service/state/pending-request-type.js.map +1 -1
  327. package/dist/src/backend/services/workspace/service/state/pending-request-type.test.js +7 -0
  328. package/dist/src/backend/services/workspace/service/state/pending-request-type.test.js.map +1 -1
  329. package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js +1 -1
  330. package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js.map +1 -1
  331. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +5 -0
  332. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js.map +1 -1
  333. package/dist/src/backend/services/workspace-snapshot-store.service.test.js +7 -5
  334. package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
  335. package/dist/src/backend/trpc/admin.trpc.d.ts +6 -2
  336. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  337. package/dist/src/backend/trpc/auto-iteration.trpc.d.ts.map +1 -1
  338. package/dist/src/backend/trpc/auto-iteration.trpc.js +38 -2
  339. package/dist/src/backend/trpc/auto-iteration.trpc.js.map +1 -1
  340. package/dist/src/backend/trpc/index.d.ts +267 -4
  341. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  342. package/dist/src/backend/trpc/index.js +2 -0
  343. package/dist/src/backend/trpc/index.js.map +1 -1
  344. package/dist/src/backend/trpc/periodic-task.trpc.d.ts +153 -0
  345. package/dist/src/backend/trpc/periodic-task.trpc.d.ts.map +1 -0
  346. package/dist/src/backend/trpc/periodic-task.trpc.js +59 -0
  347. package/dist/src/backend/trpc/periodic-task.trpc.js.map +1 -0
  348. package/dist/src/backend/trpc/project.trpc.d.ts +2 -0
  349. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  350. package/dist/src/backend/trpc/session.router.test.js +6 -6
  351. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  352. package/dist/src/backend/trpc/session.trpc.d.ts +5 -0
  353. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  354. package/dist/src/backend/trpc/session.trpc.js +2 -2
  355. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  356. package/dist/src/backend/trpc/workspace/init.router.test.js +44 -4
  357. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  358. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +1 -0
  359. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  360. package/dist/src/backend/trpc/workspace/init.trpc.js +25 -19
  361. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  362. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +2 -0
  363. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  364. package/dist/src/backend/trpc/workspace.trpc.d.ts +102 -2
  365. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  366. package/dist/src/backend/trpc/workspace.trpc.js +32 -0
  367. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  368. package/dist/src/cli/database-path.d.ts +8 -0
  369. package/dist/src/cli/database-path.d.ts.map +1 -0
  370. package/dist/src/cli/database-path.js +15 -0
  371. package/dist/src/cli/database-path.js.map +1 -0
  372. package/dist/src/cli/database-path.test.d.ts +2 -0
  373. package/dist/src/cli/database-path.test.d.ts.map +1 -0
  374. package/dist/src/cli/database-path.test.js +51 -0
  375. package/dist/src/cli/database-path.test.js.map +1 -0
  376. package/dist/src/cli/index.js +4 -12
  377. package/dist/src/cli/index.js.map +1 -1
  378. package/dist/src/cli/proxy.d.ts.map +1 -1
  379. package/dist/src/cli/proxy.js +2 -5
  380. package/dist/src/cli/proxy.js.map +1 -1
  381. package/dist/src/shared/core/ci-status.d.ts.map +1 -1
  382. package/dist/src/shared/core/ci-status.js +10 -9
  383. package/dist/src/shared/core/ci-status.js.map +1 -1
  384. package/dist/src/shared/core/enums.d.ts +16 -0
  385. package/dist/src/shared/core/enums.d.ts.map +1 -1
  386. package/dist/src/shared/core/enums.js +14 -0
  387. package/dist/src/shared/core/enums.js.map +1 -1
  388. package/dist/src/shared/core/index.d.ts +1 -1
  389. package/dist/src/shared/core/index.d.ts.map +1 -1
  390. package/dist/src/shared/core/index.js +1 -1
  391. package/dist/src/shared/core/index.js.map +1 -1
  392. package/dist/src/shared/github-types.d.ts +1 -1
  393. package/dist/src/shared/github-types.d.ts.map +1 -1
  394. package/dist/src/shared/pending-request-types.d.ts +4 -0
  395. package/dist/src/shared/pending-request-types.d.ts.map +1 -1
  396. package/dist/src/shared/pending-request-types.js +6 -0
  397. package/dist/src/shared/pending-request-types.js.map +1 -1
  398. package/dist/src/shared/schemas/export-data.schema.d.ts +12 -0
  399. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  400. package/dist/src/shared/schemas/export-data.schema.js +4 -1
  401. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  402. package/dist/src/shared/session-runtime.d.ts +2 -0
  403. package/dist/src/shared/session-runtime.d.ts.map +1 -1
  404. package/dist/src/shared/session-runtime.js +6 -0
  405. package/dist/src/shared/session-runtime.js.map +1 -1
  406. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  407. package/package.json +23 -15
  408. package/prisma/migrations/20260217000000_add_auto_approve_permissions/migration.sql +2 -0
  409. package/prisma/migrations/20260410000000_remove_auto_approve_permissions/migration.sql +2 -0
  410. package/prisma/migrations/20260414120000_add_performance_indexes/migration.sql +23 -0
  411. package/prisma/migrations/20260512204732_add_periodic_tasks/migration.sql +125 -0
  412. package/prisma/schema.prisma +76 -0
  413. package/dist/client/assets/_baseUniq-CRIXZajf.js +0 -1
  414. package/dist/client/assets/architectureDiagram-Q4EWVU46-CR--POQ9.js +0 -36
  415. package/dist/client/assets/blockDiagram-DXYQGD6D-JuBGkp-x.js +0 -132
  416. package/dist/client/assets/channel-BToPvV0p.js +0 -1
  417. package/dist/client/assets/chunk-4TB4RGXK-YVAR8wg-.js +0 -206
  418. package/dist/client/assets/chunk-OYMX7WX6-u9Af6O8U.js +0 -231
  419. package/dist/client/assets/classDiagram-6PBFFD2Q-CdGzzfRv.js +0 -1
  420. package/dist/client/assets/classDiagram-v2-HSJHXN6E-CdGzzfRv.js +0 -1
  421. package/dist/client/assets/clone-DZkyOsGH.js +0 -1
  422. package/dist/client/assets/dagre-KV5264BT-DzucNBZu.js +0 -4
  423. package/dist/client/assets/diagram-5BDNPKRD-C6OYvRyt.js +0 -10
  424. package/dist/client/assets/diagram-G4DWMVQ6-DrQYwY3E.js +0 -24
  425. package/dist/client/assets/diagram-MMDJMWI5-CfInQsB1.js +0 -43
  426. package/dist/client/assets/diagram-TYMM5635-CwNYFf_u.js +0 -24
  427. package/dist/client/assets/gitGraphDiagram-UUTBAWPF-VkjInTZg.js +0 -106
  428. package/dist/client/assets/graph-C3Zfn3Km.js +0 -1
  429. package/dist/client/assets/index-CBgUr8yV.css +0 -1
  430. package/dist/client/assets/infoDiagram-42DDH7IO-Dp-vRCFg.js +0 -2
  431. package/dist/client/assets/layout-BVsX4tmn.js +0 -1
  432. package/dist/client/assets/min-DH_RgixA.js +0 -1
  433. package/dist/client/assets/pieDiagram-DEJITSTG-S9DirkFb.js +0 -30
  434. package/dist/client/assets/quadrantDiagram-34T5L4WZ-CVmMYBg1.js +0 -7
  435. package/dist/client/assets/sankeyDiagram-XADWPNL6-Zd2-RQeP.js +0 -10
  436. package/dist/client/assets/stateDiagram-FHFEXIEX-DX9qwfCK.js +0 -1
  437. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CJ_nRdIj.js +0 -1
  438. package/dist/client/assets/wardley-RL74JXVD-DiTLa5PU.js +0 -162
  439. package/dist/client/assets/wardleyDiagram-NUSXRM2D-CJRSuGsS.js +0 -20
@@ -5,10 +5,31 @@ import { initializeWorkspaceWorktree } from '../../../backend/orchestration/work
5
5
  import { executeStartupScriptPipeline } from '../../../backend/orchestration/workspace-init-script-pipeline.js';
6
6
  import { FactoryConfigService } from '../../../backend/services/factory-config.service.js';
7
7
  import { createLogger } from '../../../backend/services/logger.service.js';
8
- import { startupScriptService } from '../../../backend/services/run-script/index.js';
9
8
  import { getWorkspaceInitPolicy, workspaceDataService, workspaceStateMachine, worktreeLifecycleService, } from '../../../backend/services/workspace/index.js';
10
9
  import { publicProcedure, router } from '../../../backend/trpc/trpc.js';
11
10
  const logger = createLogger('workspace-init-trpc');
11
+ function maxRetriesExceededError(maxRetries) {
12
+ return new TRPCError({
13
+ code: 'TOO_MANY_REQUESTS',
14
+ message: `Maximum retry attempts (${maxRetries}) exceeded`,
15
+ });
16
+ }
17
+ async function retryFailedWorkspaceWithExistingWorktree(workspace, maxRetries) {
18
+ const updatedWorkspace = await workspaceStateMachine.startProvisioning(workspace.id, {
19
+ maxRetries,
20
+ });
21
+ if (!updatedWorkspace) {
22
+ throw maxRetriesExceededError(maxRetries);
23
+ }
24
+ initializeWorkspaceWorktree(workspace.id, {
25
+ branchName: workspace.branchName ?? undefined,
26
+ provisioningAlreadyStarted: true,
27
+ }).catch((error) => {
28
+ logger.error('Unexpected error during background workspace initialization retry', toError(error), {
29
+ workspaceId: workspace.id,
30
+ });
31
+ });
32
+ }
12
33
  export const workspaceInitRouter = router({
13
34
  getInitStatus: publicProcedure.input(z.object({ id: z.string() })).query(async ({ input }) => {
14
35
  const workspace = await workspaceDataService.findByIdWithProject(input.id);
@@ -53,10 +74,7 @@ export const workspaceInitRouter = router({
53
74
  if (!workspace.worktreePath) {
54
75
  const resetResult = await workspaceStateMachine.resetToNew(workspace.id, maxRetries);
55
76
  if (!resetResult) {
56
- throw new TRPCError({
57
- code: 'TOO_MANY_REQUESTS',
58
- message: `Maximum retry attempts (${maxRetries}) exceeded`,
59
- });
77
+ throw maxRetriesExceededError(maxRetries);
60
78
  }
61
79
  const resumeMode = input.useExistingBranch ?? (await worktreeLifecycleService.getInitMode(workspace.id));
62
80
  if (resumeMode !== undefined) {
@@ -77,10 +95,7 @@ export const workspaceInitRouter = router({
77
95
  const factoryConfig = await FactoryConfigService.readConfig(worktreePath);
78
96
  const updatedWorkspace = await workspaceStateMachine.startProvisioningFromReady(workspace.id, maxRetries);
79
97
  if (!updatedWorkspace) {
80
- throw new TRPCError({
81
- code: 'TOO_MANY_REQUESTS',
82
- message: `Maximum retry attempts (${maxRetries}) exceeded`,
83
- });
98
+ throw maxRetriesExceededError(maxRetries);
84
99
  }
85
100
  await executeStartupScriptPipeline({
86
101
  workspaceId: workspace.id,
@@ -90,16 +105,7 @@ export const workspaceInitRouter = router({
90
105
  });
91
106
  return workspaceDataService.findById(input.id);
92
107
  }
93
- const updatedWorkspace = await workspaceStateMachine.startProvisioning(input.id, {
94
- maxRetries,
95
- });
96
- if (!updatedWorkspace) {
97
- throw new TRPCError({
98
- code: 'TOO_MANY_REQUESTS',
99
- message: `Maximum retry attempts (${maxRetries}) exceeded`,
100
- });
101
- }
102
- await startupScriptService.runStartupScript({ ...workspace, ...updatedWorkspace }, workspace.project);
108
+ await retryFailedWorkspaceWithExistingWorktree(workspace, maxRetries);
103
109
  return workspaceDataService.findById(input.id);
104
110
  }),
105
111
  });
@@ -1 +1 @@
1
- {"version":3,"file":"init.trpc.js","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/init.trpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.trpc.js","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/init.trpc.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,7 @@ export declare function getWorkspaceOrThrow(workspaceId: string): Promise<{
76
76
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
77
77
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
78
78
  autoIterationSessionId: string | null;
79
+ periodicTaskId: string | null;
79
80
  hasHadSessions: boolean;
80
81
  cachedKanbanColumn: import("../../../../prisma/generated/enums.js").KanbanColumn;
81
82
  stateComputedAt: Date | null;
@@ -151,6 +152,7 @@ export declare function getWorkspaceWithProjectOrThrow(workspaceId: string): Pro
151
152
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
152
153
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
153
154
  autoIterationSessionId: string | null;
155
+ periodicTaskId: string | null;
154
156
  hasHadSessions: boolean;
155
157
  cachedKanbanColumn: import("../../../../prisma/generated/enums.js").KanbanColumn;
156
158
  stateComputedAt: Date | null;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/workspace-helpers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAOpE,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS5D;AAOD,wBAAsB,8BAA8B,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASvE;AAKD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClF,YAAY,EAAE,MAAM,CAAC;CACtB;AAQD,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAQvC;AAQD,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAKD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC7F,YAAY,EAAE,MAAM,CAAC;CACtB;AAQD,wBAAsB,yCAAyC,CAC7D,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,+BAA+B,CAAC,CAiB1C"}
1
+ {"version":3,"file":"workspace-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/workspace-helpers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAOpE,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS5D;AAOD,wBAAsB,8BAA8B,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASvE;AAKD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClF,YAAY,EAAE,MAAM,CAAC;CACtB;AAQD,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAQvC;AAQD,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAKD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC7F,YAAY,EAAE,MAAM,CAAC;CACtB;AAQD,wBAAsB,yCAAyC,CAC7D,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,+BAA+B,CAAC,CAiB1C"}
@@ -161,6 +161,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
161
161
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
162
162
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
163
163
  autoIterationSessionId: string | null;
164
+ periodicTaskId: string | null;
164
165
  hasHadSessions: boolean;
165
166
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
166
167
  stateComputedAt: Date | null;
@@ -380,6 +381,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
380
381
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
381
382
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
382
383
  autoIterationSessionId: string | null;
384
+ periodicTaskId: string | null;
383
385
  hasHadSessions: boolean;
384
386
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
385
387
  stateComputedAt: Date | null;
@@ -415,6 +417,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
415
417
  linearIssueId: string | null;
416
418
  linearIssueIdentifier: string | null;
417
419
  linearIssueUrl: string | null;
420
+ creationSource: import("../../../prisma/generated/client.js").WorkspaceCreationSource;
418
421
  sidebarStatus: import("../../shared/core/index.js").WorkspaceSidebarStatus;
419
422
  ratchetButtonAnimated: boolean;
420
423
  flowPhase: import("../../backend/services/workspace/index.js").WorkspaceFlowPhase;
@@ -519,6 +522,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
519
522
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
520
523
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
521
524
  autoIterationSessionId: string | null;
525
+ periodicTaskId: string | null;
522
526
  hasHadSessions: boolean;
523
527
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
524
528
  stateComputedAt: Date | null;
@@ -610,6 +614,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
610
614
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
611
615
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
612
616
  autoIterationSessionId: string | null;
617
+ periodicTaskId: string | null;
613
618
  hasHadSessions: boolean;
614
619
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
615
620
  stateComputedAt: Date | null;
@@ -701,6 +706,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
701
706
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
702
707
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
703
708
  autoIterationSessionId: string | null;
709
+ periodicTaskId: string | null;
704
710
  hasHadSessions: boolean;
705
711
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
706
712
  stateComputedAt: Date | null;
@@ -813,6 +819,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
813
819
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
814
820
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
815
821
  autoIterationSessionId: string | null;
822
+ periodicTaskId: string | null;
816
823
  hasHadSessions: boolean;
817
824
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
818
825
  stateComputedAt: Date | null;
@@ -876,6 +883,96 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
876
883
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
877
884
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
878
885
  autoIterationSessionId: string | null;
886
+ periodicTaskId: string | null;
887
+ hasHadSessions: boolean;
888
+ cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
889
+ stateComputedAt: Date | null;
890
+ };
891
+ meta: object;
892
+ }>;
893
+ attachPR: import("@trpc/server").TRPCMutationProcedure<{
894
+ input: {
895
+ id: string;
896
+ prUrl: string;
897
+ };
898
+ output: {
899
+ agentSessions: {
900
+ name: string | null;
901
+ workspaceId: string;
902
+ status: import("../../../prisma/generated/client.js").SessionStatus;
903
+ updatedAt: Date;
904
+ createdAt: Date;
905
+ id: string;
906
+ model: string;
907
+ workflow: string;
908
+ provider: SessionProvider;
909
+ providerSessionId: string | null;
910
+ providerProjectPath: string | null;
911
+ providerProcessPid: number | null;
912
+ providerMetadata: import("@prisma/client/runtime/client").JsonValue | null;
913
+ }[];
914
+ terminalSessions: {
915
+ name: string | null;
916
+ workspaceId: string;
917
+ status: import("../../../prisma/generated/client.js").SessionStatus;
918
+ updatedAt: Date;
919
+ createdAt: Date;
920
+ id: string;
921
+ pid: number | null;
922
+ }[];
923
+ } & {
924
+ name: string;
925
+ prUrl: string | null;
926
+ status: import("../../../prisma/generated/client.js").WorkspaceStatus;
927
+ updatedAt: Date;
928
+ createdAt: Date;
929
+ id: string;
930
+ description: string | null;
931
+ prNumber: number | null;
932
+ prReviewState: string | null;
933
+ prState: import("../../../prisma/generated/client.js").PRState;
934
+ prCiStatus: import("../../../prisma/generated/client.js").CIStatus;
935
+ branchName: string | null;
936
+ projectId: string;
937
+ worktreePath: string | null;
938
+ isAutoGeneratedBranch: boolean;
939
+ creationSource: import("../../../prisma/generated/client.js").WorkspaceCreationSource;
940
+ creationMetadata: import("@prisma/client/runtime/client").JsonValue | null;
941
+ initErrorMessage: string | null;
942
+ initOutput: string | null;
943
+ initStartedAt: Date | null;
944
+ initCompletedAt: Date | null;
945
+ initRetryCount: number;
946
+ runScriptCommand: string | null;
947
+ runScriptPostRunCommand: string | null;
948
+ runScriptCleanupCommand: string | null;
949
+ runScriptPid: number | null;
950
+ runScriptPort: number | null;
951
+ runScriptStartedAt: Date | null;
952
+ runScriptStatus: import("../../../prisma/generated/client.js").RunScriptStatus;
953
+ githubIssueNumber: number | null;
954
+ githubIssueUrl: string | null;
955
+ linearIssueId: string | null;
956
+ linearIssueIdentifier: string | null;
957
+ linearIssueUrl: string | null;
958
+ defaultSessionProvider: WorkspaceProviderSelection;
959
+ ratchetSessionProvider: WorkspaceProviderSelection;
960
+ prUpdatedAt: Date | null;
961
+ prCiFailedAt: Date | null;
962
+ prCiLastNotifiedAt: Date | null;
963
+ prReviewLastCheckedAt: Date | null;
964
+ prReviewLastCommentId: string | null;
965
+ ratchetEnabled: boolean;
966
+ ratchetState: import("../../../prisma/generated/client.js").RatchetState;
967
+ ratchetLastCheckedAt: Date | null;
968
+ ratchetActiveSessionId: string | null;
969
+ ratchetLastCiRunId: string | null;
970
+ mode: import("../../../prisma/generated/client.js").WorkspaceMode;
971
+ autoIterationStatus: import("../../../prisma/generated/client.js").AutoIterationStatus | null;
972
+ autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
973
+ autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
974
+ autoIterationSessionId: string | null;
975
+ periodicTaskId: string | null;
879
976
  hasHadSessions: boolean;
880
977
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
881
978
  stateComputedAt: Date | null;
@@ -964,6 +1061,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
964
1061
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
965
1062
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
966
1063
  autoIterationSessionId: string | null;
1064
+ periodicTaskId: string | null;
967
1065
  hasHadSessions: boolean;
968
1066
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
969
1067
  stateComputedAt: Date | null;
@@ -1028,6 +1126,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
1028
1126
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
1029
1127
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
1030
1128
  autoIterationSessionId: string | null;
1129
+ periodicTaskId: string | null;
1031
1130
  hasHadSessions: boolean;
1032
1131
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
1033
1132
  stateComputedAt: Date | null;
@@ -1091,6 +1190,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
1091
1190
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
1092
1191
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
1093
1192
  autoIterationSessionId: string | null;
1193
+ periodicTaskId: string | null;
1094
1194
  hasHadSessions: boolean;
1095
1195
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
1096
1196
  stateComputedAt: Date | null;
@@ -1173,6 +1273,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
1173
1273
  autoIterationConfig: import("@prisma/client/runtime/client").JsonValue | null;
1174
1274
  autoIterationProgress: import("@prisma/client/runtime/client").JsonValue | null;
1175
1275
  autoIterationSessionId: string | null;
1276
+ periodicTaskId: string | null;
1176
1277
  hasHadSessions: boolean;
1177
1278
  cachedKanbanColumn: import("../../../prisma/generated/client.js").KanbanColumn;
1178
1279
  stateComputedAt: Date | null;
@@ -1231,8 +1332,7 @@ export declare const workspaceRouter: import("@trpc/server").TRPCBuiltRouter<{
1231
1332
  projectId: string;
1232
1333
  };
1233
1334
  output: {
1234
- synced: number;
1235
- failed: number;
1335
+ queued: number;
1236
1336
  };
1237
1337
  meta: object;
1238
1338
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.trpc.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/workspace.trpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAyBjF,OAAO,EAAE,YAAY,EAAmB,MAAM,eAAe,CAAC;AAG9D,OAAO,EAAE,KAAK,OAAO,EAA2B,MAAM,QAAQ,CAAC;AAuF/D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkU1B,CAAC"}
1
+ {"version":3,"file":"workspace.trpc.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/workspace.trpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AA0BjF,OAAO,EAAE,YAAY,EAAmB,MAAM,eAAe,CAAC;AAG9D,OAAO,EAAE,KAAK,OAAO,EAA2B,MAAM,QAAQ,CAAC;AAuF/D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyW1B,CAAC"}
@@ -7,6 +7,7 @@ import { assembleWorkspaceDerivedState } from '../../backend/lib/workspace-deriv
7
7
  import { archiveWorkspace } from '../../backend/orchestration/workspace-archive.orchestrator.js';
8
8
  import { initializeWorkspaceWorktree } from '../../backend/orchestration/workspace-init.orchestrator.js';
9
9
  import { DEFAULT_FOLLOWUP } from '../../backend/prompts/workflows.js';
10
+ import { prSnapshotService } from '../../backend/services/github/index.js';
10
11
  import { ratchetService } from '../../backend/services/ratchet/index.js';
11
12
  import { sessionDataService, sessionProviderResolverService, sessionService, } from '../../backend/services/session/index.js';
12
13
  import { computeKanbanColumn, deriveWorkspaceFlowStateFromWorkspace, WorkspaceCreationService, workspaceDataService, workspaceQueryService, } from '../../backend/services/workspace/index.js';
@@ -218,6 +219,37 @@ export const workspaceRouter = router({
218
219
  }
219
220
  return workspaceDataService.rename(input.id, input.name);
220
221
  }),
222
+ attachPR: publicProcedure
223
+ .input(z.object({
224
+ id: z.string(),
225
+ prUrl: z
226
+ .string()
227
+ .trim()
228
+ .regex(/^https:\/\/github\.com\/[^/\s]+\/[^/\s]+\/pull\/\d+$/, 'Must be a valid GitHub PR URL (https://github.com/owner/repo/pull/N)'),
229
+ }))
230
+ .mutation(async ({ input }) => {
231
+ const workspace = await workspaceDataService.findById(input.id);
232
+ if (!workspace) {
233
+ throw new TRPCError({ code: 'NOT_FOUND', message: `Workspace not found: ${input.id}` });
234
+ }
235
+ const result = await prSnapshotService.attachAndRefreshPR(input.id, input.prUrl);
236
+ if (!result.success) {
237
+ if (result.reason === 'workspace_not_found') {
238
+ throw new TRPCError({ code: 'NOT_FOUND', message: `Workspace not found: ${input.id}` });
239
+ }
240
+ throw new TRPCError({
241
+ code: 'INTERNAL_SERVER_ERROR',
242
+ message: result.reason === 'fetch_failed'
243
+ ? `PR was associated but snapshot fetch failed for: ${input.prUrl}`
244
+ : `Failed to attach PR: ${input.prUrl}`,
245
+ });
246
+ }
247
+ const updatedWorkspace = await workspaceDataService.findById(input.id);
248
+ if (!updatedWorkspace) {
249
+ throw new TRPCError({ code: 'NOT_FOUND', message: `Workspace not found: ${input.id}` });
250
+ }
251
+ return updatedWorkspace;
252
+ }),
221
253
  toggleRatcheting: publicProcedure
222
254
  .input(z.object({
223
255
  workspaceId: z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.trpc.js","sourceRoot":"","sources":["../../../../src/backend/trpc/workspace.trpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.trpc.js","sourceRoot":"","sources":["../../../../src/backend/trpc/workspace.trpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface ResolveDatabasePathOptions {
2
+ databasePath?: string;
3
+ env?: Record<string, string | undefined>;
4
+ }
5
+ export declare function getDefaultDatabasePath(): string;
6
+ export declare function resolveDatabasePath({ databasePath, env, }?: ResolveDatabasePathOptions): string;
7
+ export {};
8
+ //# sourceMappingURL=database-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-path.d.ts","sourceRoot":"","sources":["../../../src/cli/database-path.ts"],"names":[],"mappings":"AAGA,UAAU,0BAA0B;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,mBAAmB,CAAC,EAClC,YAAY,EACZ,GAAiB,GAClB,GAAE,0BAA+B,GAAG,MAAM,CAM1C"}
@@ -0,0 +1,15 @@
1
+ import { join, resolve } from 'node:path';
2
+ import { expandEnvVars, getDefaultBaseDir } from '../backend/lib/env.js';
3
+ export function getDefaultDatabasePath() {
4
+ return join(getDefaultBaseDir(), 'data.db');
5
+ }
6
+ export function resolveDatabasePath({ databasePath, env = process.env, } = {}) {
7
+ const configuredPath = databasePath ||
8
+ (env.DATABASE_PATH ? expandEnvVars(env.DATABASE_PATH, env) : undefined) ||
9
+ join(getBaseDir(env), 'data.db');
10
+ return resolve(configuredPath);
11
+ }
12
+ function getBaseDir(env) {
13
+ return env.BASE_DIR ? expandEnvVars(env.BASE_DIR, env) : getDefaultBaseDir();
14
+ }
15
+ //# sourceMappingURL=database-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-path.js","sourceRoot":"","sources":["../../../src/cli/database-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAOrE,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,YAAY,EACZ,GAAG,GAAG,OAAO,CAAC,GAAG,MACa,EAAE;IAChC,MAAM,cAAc,GAClB,YAAY;QACZ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CAAC,GAAuC;IACzD,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=database-path.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-path.test.d.ts","sourceRoot":"","sources":["../../../src/cli/database-path.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { mkdtempSync, rmSync } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import { join, resolve } from 'node:path';
4
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
5
+ import { getDefaultDatabasePath, resolveDatabasePath } from './database-path.js';
6
+ describe('resolveDatabasePath', () => {
7
+ let originalCwd;
8
+ let tempDir;
9
+ beforeEach(() => {
10
+ originalCwd = process.cwd();
11
+ tempDir = mkdtempSync(join(tmpdir(), 'ff-db-path-'));
12
+ process.chdir(tempDir);
13
+ tempDir = process.cwd();
14
+ });
15
+ afterEach(() => {
16
+ process.chdir(originalCwd);
17
+ rmSync(tempDir, { force: true, recursive: true });
18
+ });
19
+ it('resolves a relative option path against the current working directory', () => {
20
+ expect(resolveDatabasePath({ databasePath: 'data.db', env: {} })).toBe(join(tempDir, 'data.db'));
21
+ });
22
+ it('resolves a relative DATABASE_PATH against the current working directory', () => {
23
+ expect(resolveDatabasePath({ env: { DATABASE_PATH: 'nested/data.db' } })).toBe(join(tempDir, 'nested', 'data.db'));
24
+ });
25
+ it('falls back to BASE_DIR when DATABASE_PATH is unset', () => {
26
+ const baseDir = join(tempDir, 'configured-base');
27
+ expect(resolveDatabasePath({ env: { BASE_DIR: baseDir } })).toBe(join(baseDir, 'data.db'));
28
+ });
29
+ it('expands environment variables in BASE_DIR fallback', () => {
30
+ expect(resolveDatabasePath({ env: { BASE_DIR: '$HOME/factory', HOME: tempDir } })).toBe(join(tempDir, 'factory', 'data.db'));
31
+ });
32
+ it('prefers the explicit option path over DATABASE_PATH', () => {
33
+ expect(resolveDatabasePath({
34
+ databasePath: 'option.db',
35
+ env: { DATABASE_PATH: 'env.db' },
36
+ })).toBe(join(tempDir, 'option.db'));
37
+ });
38
+ it('prefers DATABASE_PATH over BASE_DIR', () => {
39
+ expect(resolveDatabasePath({
40
+ env: { BASE_DIR: join(tempDir, 'base'), DATABASE_PATH: 'env.db' },
41
+ })).toBe(join(tempDir, 'env.db'));
42
+ });
43
+ it('preserves absolute configured paths', () => {
44
+ const absolutePath = join(tempDir, 'absolute.db');
45
+ expect(resolveDatabasePath({ databasePath: absolutePath, env: {} })).toBe(absolutePath);
46
+ });
47
+ it('falls back to the default database path when no path is configured', () => {
48
+ expect(resolveDatabasePath({ env: {} })).toBe(resolve(getDefaultDatabasePath()));
49
+ });
50
+ });
51
+ //# sourceMappingURL=database-path.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-path.test.js","sourceRoot":"","sources":["../../../src/cli/database-path.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawn } from 'node:child_process';
3
3
  import { cpSync, existsSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
4
- import { homedir } from 'node:os';
5
4
  import { dirname, join } from 'node:path';
6
5
  import { fileURLToPath } from 'node:url';
7
6
  import chalk from 'chalk';
@@ -11,6 +10,7 @@ import open from 'open';
11
10
  import { runMigrations as runDbMigrations } from '../backend/migrate.js';
12
11
  import { createLogger, getLogFilePath } from '../backend/services/logger.service.js';
13
12
  import { runCodexAppServerAcpAdapter } from '../backend/services/session/index.js';
13
+ import { resolveDatabasePath } from './database-path.js';
14
14
  import { runProxyCommand } from './proxy.js';
15
15
  import { ensureDataDir, findAvailablePort, treeKillAsync, waitForPort } from './runtime-utils.js';
16
16
  const __filename = fileURLToPath(import.meta.url);
@@ -105,10 +105,6 @@ function runMigrations(databasePath, verbose) {
105
105
  });
106
106
  }
107
107
  const program = new Command();
108
- function resolveDatabasePath(options) {
109
- const defaultDbPath = join(homedir(), 'factory-factory', 'data.db');
110
- return options.databasePath || process.env.DATABASE_PATH || defaultDbPath;
111
- }
112
108
  async function resolvePortsOrExit(options, verbose) {
113
109
  const requestedFrontendPort = Number.parseInt(options.port, 10);
114
110
  const requestedBackendPort = Number.parseInt(options.backendPort, 10);
@@ -248,7 +244,7 @@ program
248
244
  .action(async (options) => {
249
245
  const verbose = options.verbose ?? false;
250
246
  const shouldOpen = options.open !== false;
251
- const databasePath = resolveDatabasePath(options);
247
+ const databasePath = resolveDatabasePath({ databasePath: options.databasePath });
252
248
  console.log(chalk.cyan(`\n 🏭🏭 FACTORY ${chalk.bold('FACTORY')}\n`));
253
249
  if (verbose) {
254
250
  console.log(chalk.gray(' Ensuring data directory exists...'));
@@ -370,9 +366,7 @@ program
370
366
  .description('Run database migrations')
371
367
  .option('-d, --database-path <path>', 'SQLite database file path (or set DATABASE_PATH env)')
372
368
  .action((options) => {
373
- const databasePath = options.databasePath || process.env.DATABASE_PATH;
374
- const defaultPath = join(homedir(), 'factory-factory', 'data.db');
375
- const effectivePath = databasePath || defaultPath;
369
+ const effectivePath = resolveDatabasePath({ databasePath: options.databasePath });
376
370
  console.log(chalk.blue(`Running database migrations on ${effectivePath}...`));
377
371
  try {
378
372
  const migrationsPath = join(PROJECT_ROOT, 'prisma', 'migrations');
@@ -393,9 +387,7 @@ program
393
387
  .description('Open Prisma Studio for database management')
394
388
  .option('-d, --database-path <path>', 'SQLite database file path (or set DATABASE_PATH env)')
395
389
  .action(async (options) => {
396
- const databasePath = options.databasePath || process.env.DATABASE_PATH;
397
- const defaultPath = join(homedir(), 'factory-factory', 'data.db');
398
- const effectivePath = databasePath || defaultPath;
390
+ const effectivePath = resolveDatabasePath({ databasePath: options.databasePath });
399
391
  console.log(chalk.blue(`Opening Prisma Studio for ${effectivePath}...`));
400
392
  const studio = spawn('npx', ['prisma', 'studio'], {
401
393
  cwd: PROJECT_ROOT,