factory-factory 0.4.0 → 0.4.1

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 (1045) hide show
  1. package/README.md +61 -344
  2. package/dist/client/assets/{arc-BZLkggFv.js → arc-lK3Ig9GV.js} +1 -1
  3. package/dist/client/assets/{architectureDiagram-3BPJPVTR-0dfKDS01.js → architectureDiagram-3BPJPVTR-CeUbfBqe.js} +1 -1
  4. package/dist/client/assets/{blockDiagram-GPEHLZMM-kPnqTUvo.js → blockDiagram-GPEHLZMM-DiVGPkq2.js} +1 -1
  5. package/dist/client/assets/{c4Diagram-AAUBKEIU-fGcSJ5RM.js → c4Diagram-AAUBKEIU-CT8hJB-h.js} +1 -1
  6. package/dist/client/assets/channel-CvY1mvIl.js +1 -0
  7. package/dist/client/assets/{chunk-2J33WTMH-nkRXvoLd.js → chunk-2J33WTMH-B0h8q8fD.js} +1 -1
  8. package/dist/client/assets/{chunk-4BX2VUAB-BzGqW4v8.js → chunk-4BX2VUAB-km6NpEMz.js} +1 -1
  9. package/dist/client/assets/{chunk-55IACEB6-CKYhsw8v.js → chunk-55IACEB6-COUWt3oA.js} +1 -1
  10. package/dist/client/assets/{chunk-727SXJPM-D6c3bkpP.js → chunk-727SXJPM-Bp-ts2at.js} +1 -1
  11. package/dist/client/assets/{chunk-AQP2D5EJ-Cp_aqtpa.js → chunk-AQP2D5EJ-dyo9i4xa.js} +1 -1
  12. package/dist/client/assets/{chunk-FMBD7UC4-CkbLLRk5.js → chunk-FMBD7UC4-B4C3KvLe.js} +1 -1
  13. package/dist/client/assets/{chunk-ND2GUHAM-BZ894oON.js → chunk-ND2GUHAM-Qhi4WqzZ.js} +1 -1
  14. package/dist/client/assets/{chunk-QZHKN3VN-D4NOzC69.js → chunk-QZHKN3VN-Ce3Q_vrs.js} +1 -1
  15. package/dist/client/assets/classDiagram-4FO5ZUOK-Db7ZXJ6w.js +1 -0
  16. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Db7ZXJ6w.js +1 -0
  17. package/dist/client/assets/{cose-bilkent-S5V4N54A-CPSnsVY6.js → cose-bilkent-S5V4N54A-D6QofwFq.js} +1 -1
  18. package/dist/client/assets/{dagre-BM42HDAG-CDuVn0gJ.js → dagre-BM42HDAG-CDzpFdgD.js} +1 -1
  19. package/dist/client/assets/{diagram-2AECGRRQ-DkPx69Lt.js → diagram-2AECGRRQ-dl1_7lyq.js} +1 -1
  20. package/dist/client/assets/{diagram-5GNKFQAL-CchGithI.js → diagram-5GNKFQAL-B0ynMwBY.js} +1 -1
  21. package/dist/client/assets/{diagram-KO2AKTUF-DQ50kQAK.js → diagram-KO2AKTUF-B9ABz-Wk.js} +1 -1
  22. package/dist/client/assets/{diagram-LMA3HP47-hKBATxk5.js → diagram-LMA3HP47-DZxXcfiX.js} +1 -1
  23. package/dist/client/assets/{diagram-OG6HWLK6-Bga7_0RO.js → diagram-OG6HWLK6-BncGM9Gv.js} +1 -1
  24. package/dist/client/assets/{erDiagram-TEJ5UH35-D26at0F2.js → erDiagram-TEJ5UH35-B9hxScvO.js} +1 -1
  25. package/dist/client/assets/{flowDiagram-I6XJVG4X-Qf-TRw4O.js → flowDiagram-I6XJVG4X-DgZ2jwJQ.js} +1 -1
  26. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CmRredaI.js → ganttDiagram-6RSMTGT7-BrnNMNRY.js} +1 -1
  27. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-QQP7Sl8F.js → gitGraphDiagram-PVQCEYII-BJmed6oD.js} +1 -1
  28. package/dist/client/assets/index-Btlruz7h.css +1 -0
  29. package/dist/client/assets/{index-Db00yCQO.js → index-DEKuJM5_.js} +179 -177
  30. package/dist/client/assets/{infoDiagram-5YYISTIA-YKWLGpI0.js → infoDiagram-5YYISTIA-CtLzR4ip.js} +1 -1
  31. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-DrCgRttT.js → ishikawaDiagram-YF4QCWOH-BLrvV5ke.js} +1 -1
  32. package/dist/client/assets/{journeyDiagram-JHISSGLW-CcyKXKKG.js → journeyDiagram-JHISSGLW-B2-TMwJI.js} +1 -1
  33. package/dist/client/assets/{kanban-definition-UN3LZRKU-CsGSN3QV.js → kanban-definition-UN3LZRKU-B5mGKgYF.js} +1 -1
  34. package/dist/client/assets/{linear-DG8wt3yl.js → linear-ConE9euY.js} +1 -1
  35. package/dist/client/assets/{mindmap-definition-RKZ34NQL-CD6E0vLi.js → mindmap-definition-RKZ34NQL-B0BaMk8D.js} +1 -1
  36. package/dist/client/assets/{mobile-baseline-CCXJGaWY.js → mobile-baseline-DWCt7ZGJ.js} +1 -1
  37. package/dist/client/assets/{pieDiagram-4H26LBE5-PIN8tU1a.js → pieDiagram-4H26LBE5-DgPu3GTs.js} +1 -1
  38. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-DV6ne1ch.js → quadrantDiagram-W4KKPZXB-DDbeggF4.js} +1 -1
  39. package/dist/client/assets/{requirementDiagram-4Y6WPE33-Cly9IJv1.js → requirementDiagram-4Y6WPE33-Cc3ozz7U.js} +1 -1
  40. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-D2SFbF9j.js → sankeyDiagram-5OEKKPKP-DmYoq588.js} +1 -1
  41. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BsxZzGc-.js → sequenceDiagram-3UESZ5HK-EVqdDzgf.js} +1 -1
  42. package/dist/client/assets/{stateDiagram-AJRCARHV-DtZoFzqs.js → stateDiagram-AJRCARHV-BRd6IxSa.js} +1 -1
  43. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DR2vMoX5.js +1 -0
  44. package/dist/client/assets/{terminal-instance-DFzmxfzG.js → terminal-instance-CDKJdDaO.js} +1 -1
  45. package/dist/client/assets/{timeline-definition-PNZ67QCA-B7ZqNmvc.js → timeline-definition-PNZ67QCA-CyxBqgqv.js} +1 -1
  46. package/dist/client/assets/{vennDiagram-CIIHVFJN-Biz7Z4hM.js → vennDiagram-CIIHVFJN-CLslQYVi.js} +1 -1
  47. package/dist/client/assets/{wardley-L42UT6IY-B-ZjZQUx.js → wardley-L42UT6IY-DyEDLg3x.js} +1 -1
  48. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-C9yV9o-K.js → wardleyDiagram-YWT4CUSO-CjJBpd3P.js} +1 -1
  49. package/dist/client/assets/{xychartDiagram-2RQKCTM6-DuWAbR0h.js → xychartDiagram-2RQKCTM6-DwzoT5Dl.js} +1 -1
  50. package/dist/client/index.html +2 -2
  51. package/dist/client/working.png +0 -0
  52. package/dist/prisma/generated/commonInputTypes.d.ts +30 -0
  53. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  54. package/dist/prisma/generated/enums.d.ts +5 -0
  55. package/dist/prisma/generated/enums.d.ts.map +1 -1
  56. package/dist/prisma/generated/enums.js +4 -0
  57. package/dist/prisma/generated/enums.js.map +1 -1
  58. package/dist/prisma/generated/internal/class.js +4 -4
  59. package/dist/prisma/generated/internal/class.js.map +1 -1
  60. package/dist/prisma/generated/internal/prismaNamespace.d.ts +5 -0
  61. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  62. package/dist/prisma/generated/internal/prismaNamespace.js +4 -0
  63. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  64. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +4 -0
  65. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  66. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +4 -0
  67. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  68. package/dist/prisma/generated/models/UserSettings.d.ts +32 -1
  69. package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
  70. package/dist/prisma/generated/models/Workspace.d.ts +220 -1
  71. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  72. package/dist/src/backend/app-context.d.ts +90 -25
  73. package/dist/src/backend/app-context.d.ts.map +1 -1
  74. package/dist/src/backend/app-context.js +145 -42
  75. package/dist/src/backend/app-context.js.map +1 -1
  76. package/dist/src/backend/app-context.test.d.ts +2 -0
  77. package/dist/src/backend/app-context.test.d.ts.map +1 -0
  78. package/dist/src/backend/app-context.test.js +51 -0
  79. package/dist/src/backend/app-context.test.js.map +1 -0
  80. package/dist/src/backend/clients/git.client.d.ts.map +1 -1
  81. package/dist/src/backend/clients/git.client.js +5 -0
  82. package/dist/src/backend/clients/git.client.js.map +1 -1
  83. package/dist/src/backend/clients/git.client.test.js +24 -0
  84. package/dist/src/backend/clients/git.client.test.js.map +1 -1
  85. package/dist/src/backend/index.js +5 -5
  86. package/dist/src/backend/index.js.map +1 -1
  87. package/dist/src/backend/interceptors/branch-rename.interceptor.d.ts.map +1 -1
  88. package/dist/src/backend/interceptors/branch-rename.interceptor.js +79 -5
  89. package/dist/src/backend/interceptors/branch-rename.interceptor.js.map +1 -1
  90. package/dist/src/backend/interceptors/branch-rename.interceptor.test.js +120 -16
  91. package/dist/src/backend/interceptors/branch-rename.interceptor.test.js.map +1 -1
  92. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.d.ts.map +1 -1
  93. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.js +3 -0
  94. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.js.map +1 -1
  95. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.js +8 -0
  96. package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.js.map +1 -1
  97. package/dist/src/backend/interceptors/pre-push-rename.interceptor.d.ts.map +1 -1
  98. package/dist/src/backend/interceptors/pre-push-rename.interceptor.js +49 -0
  99. package/dist/src/backend/interceptors/pre-push-rename.interceptor.js.map +1 -1
  100. package/dist/src/backend/interceptors/pre-push-rename.interceptor.test.js +98 -0
  101. package/dist/src/backend/interceptors/pre-push-rename.interceptor.test.js.map +1 -1
  102. package/dist/src/backend/lib/application-error.d.ts +6 -0
  103. package/dist/src/backend/lib/application-error.d.ts.map +1 -0
  104. package/dist/src/backend/lib/application-error.js +9 -0
  105. package/dist/src/backend/lib/application-error.js.map +1 -0
  106. package/dist/src/backend/lib/application-error.test.d.ts +2 -0
  107. package/dist/src/backend/lib/application-error.test.d.ts.map +1 -0
  108. package/dist/src/backend/lib/application-error.test.js +23 -0
  109. package/dist/src/backend/lib/application-error.test.js.map +1 -0
  110. package/dist/src/backend/lib/git-helpers.d.ts +1 -7
  111. package/dist/src/backend/lib/git-helpers.d.ts.map +1 -1
  112. package/dist/src/backend/lib/git-helpers.js +4 -33
  113. package/dist/src/backend/lib/git-helpers.js.map +1 -1
  114. package/dist/src/backend/lib/git-helpers.test.js +17 -10
  115. package/dist/src/backend/lib/git-helpers.test.js.map +1 -1
  116. package/dist/src/backend/lib/process-liveness.d.ts +2 -0
  117. package/dist/src/backend/lib/process-liveness.d.ts.map +1 -0
  118. package/dist/src/backend/lib/process-liveness.js +26 -0
  119. package/dist/src/backend/lib/process-liveness.js.map +1 -0
  120. package/dist/src/backend/lib/process-liveness.test.d.ts +2 -0
  121. package/dist/src/backend/lib/process-liveness.test.d.ts.map +1 -0
  122. package/dist/src/backend/lib/process-liveness.test.js +35 -0
  123. package/dist/src/backend/lib/process-liveness.test.js.map +1 -0
  124. package/dist/src/backend/lib/session-summaries.d.ts +4 -5
  125. package/dist/src/backend/lib/session-summaries.d.ts.map +1 -1
  126. package/dist/src/backend/lib/session-summaries.js.map +1 -1
  127. package/dist/src/backend/lib/workspace-derived-state.d.ts +9 -1
  128. package/dist/src/backend/lib/workspace-derived-state.d.ts.map +1 -1
  129. package/dist/src/backend/lib/workspace-derived-state.js +6 -1
  130. package/dist/src/backend/lib/workspace-derived-state.js.map +1 -1
  131. package/dist/src/backend/lib/workspace-derived-state.test.js +11 -3
  132. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
  133. package/dist/src/backend/middleware/cors.middleware.js +1 -1
  134. package/dist/src/backend/middleware/cors.middleware.js.map +1 -1
  135. package/dist/src/backend/middleware/index.d.ts +1 -1
  136. package/dist/src/backend/middleware/index.d.ts.map +1 -1
  137. package/dist/src/backend/middleware/index.js +1 -1
  138. package/dist/src/backend/middleware/index.js.map +1 -1
  139. package/dist/src/backend/middleware/middleware.test.js +1 -1
  140. package/dist/src/backend/middleware/middleware.test.js.map +1 -1
  141. package/dist/src/backend/middleware/request-logger.middleware.d.ts +1 -2
  142. package/dist/src/backend/middleware/request-logger.middleware.d.ts.map +1 -1
  143. package/dist/src/backend/middleware/request-logger.middleware.js +0 -2
  144. package/dist/src/backend/middleware/request-logger.middleware.js.map +1 -1
  145. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  146. package/dist/src/backend/orchestration/data-backup.service.js +3 -1
  147. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  148. package/dist/src/backend/orchestration/data-backup.service.test.js +29 -0
  149. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  150. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +24 -12
  151. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  152. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +53 -63
  153. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  154. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +173 -82
  155. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  156. package/dist/src/backend/orchestration/event-coalescer.integration.test.d.ts +2 -0
  157. package/dist/src/backend/orchestration/event-coalescer.integration.test.d.ts.map +1 -0
  158. package/dist/src/backend/orchestration/event-coalescer.integration.test.js +47 -0
  159. package/dist/src/backend/orchestration/event-coalescer.integration.test.js.map +1 -0
  160. package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.d.ts +2 -0
  161. package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.d.ts.map +1 -0
  162. package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.js +34 -0
  163. package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.js.map +1 -0
  164. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +37 -10
  165. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  166. package/dist/src/backend/orchestration/event-collector.orchestrator.js +297 -121
  167. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  168. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +354 -42
  169. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  170. package/dist/src/backend/orchestration/health.service.js +2 -2
  171. package/dist/src/backend/orchestration/health.service.js.map +1 -1
  172. package/dist/src/backend/orchestration/linear-config.helper.js +2 -2
  173. package/dist/src/backend/orchestration/linear-config.helper.js.map +1 -1
  174. package/dist/src/backend/orchestration/reconciliation.service.d.ts +13 -1
  175. package/dist/src/backend/orchestration/reconciliation.service.d.ts.map +1 -1
  176. package/dist/src/backend/orchestration/reconciliation.service.js +16 -29
  177. package/dist/src/backend/orchestration/reconciliation.service.js.map +1 -1
  178. package/dist/src/backend/orchestration/reconciliation.service.test.js +15 -47
  179. package/dist/src/backend/orchestration/reconciliation.service.test.js.map +1 -1
  180. package/dist/src/backend/orchestration/scheduler.service.d.ts +2 -1
  181. package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
  182. package/dist/src/backend/orchestration/scheduler.service.js +107 -44
  183. package/dist/src/backend/orchestration/scheduler.service.js.map +1 -1
  184. package/dist/src/backend/orchestration/scheduler.service.test.js +266 -59
  185. package/dist/src/backend/orchestration/scheduler.service.test.js.map +1 -1
  186. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +18 -11
  187. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  188. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +59 -49
  189. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  190. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +156 -24
  191. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  192. package/dist/src/backend/orchestration/types.d.ts +2 -2
  193. package/dist/src/backend/orchestration/types.d.ts.map +1 -1
  194. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +13 -9
  195. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  196. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +8 -10
  197. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  198. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +44 -13
  199. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  200. package/dist/src/backend/orchestration/workspace-children.orchestrator.d.ts.map +1 -1
  201. package/dist/src/backend/orchestration/workspace-children.orchestrator.js +11 -12
  202. package/dist/src/backend/orchestration/workspace-children.orchestrator.js.map +1 -1
  203. package/dist/src/backend/orchestration/workspace-children.orchestrator.test.js +41 -21
  204. package/dist/src/backend/orchestration/workspace-children.orchestrator.test.js.map +1 -1
  205. package/dist/src/backend/orchestration/workspace-init-issue-prompts.js +3 -3
  206. package/dist/src/backend/orchestration/workspace-init-issue-prompts.js.map +1 -1
  207. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts +1 -1
  208. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts.map +1 -1
  209. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js.map +1 -1
  210. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  211. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +34 -20
  212. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  213. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +278 -102
  214. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
  215. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.d.ts +24 -0
  216. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.d.ts.map +1 -0
  217. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.js +66 -0
  218. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.js.map +1 -0
  219. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.test.d.ts +2 -0
  220. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.test.d.ts.map +1 -0
  221. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.test.js +235 -0
  222. package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.test.js.map +1 -0
  223. package/dist/src/backend/routers/health.router.d.ts.map +1 -1
  224. package/dist/src/backend/routers/health.router.js +5 -5
  225. package/dist/src/backend/routers/health.router.js.map +1 -1
  226. package/dist/src/backend/routers/health.router.test.js +3 -5
  227. package/dist/src/backend/routers/health.router.test.js.map +1 -1
  228. package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts +15 -6
  229. package/dist/src/backend/routers/websocket/chat-connection-registry.d.ts.map +1 -1
  230. package/dist/src/backend/routers/websocket/chat-connection-registry.js +80 -33
  231. package/dist/src/backend/routers/websocket/chat-connection-registry.js.map +1 -1
  232. package/dist/src/backend/routers/websocket/chat-connection-registry.test.js +60 -21
  233. package/dist/src/backend/routers/websocket/chat-connection-registry.test.js.map +1 -1
  234. package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
  235. package/dist/src/backend/routers/websocket/chat.handler.js +4 -3
  236. package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
  237. package/dist/src/backend/routers/websocket/chat.handler.test.js +49 -4
  238. package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
  239. package/dist/src/backend/routers/websocket/context-injection.test.js +450 -14
  240. package/dist/src/backend/routers/websocket/context-injection.test.js.map +1 -1
  241. package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts.map +1 -1
  242. package/dist/src/backend/routers/websocket/dev-logs.handler.js +16 -3
  243. package/dist/src/backend/routers/websocket/dev-logs.handler.js.map +1 -1
  244. package/dist/src/backend/routers/websocket/index.d.ts +2 -1
  245. package/dist/src/backend/routers/websocket/index.d.ts.map +1 -1
  246. package/dist/src/backend/routers/websocket/index.js +2 -1
  247. package/dist/src/backend/routers/websocket/index.js.map +1 -1
  248. package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts.map +1 -1
  249. package/dist/src/backend/routers/websocket/post-run-logs.handler.js +6 -3
  250. package/dist/src/backend/routers/websocket/post-run-logs.handler.js.map +1 -1
  251. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts +7 -5
  252. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  253. package/dist/src/backend/routers/websocket/snapshots.handler.js +50 -23
  254. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  255. package/dist/src/backend/routers/websocket/snapshots.handler.test.js +128 -62
  256. package/dist/src/backend/routers/websocket/snapshots.handler.test.js.map +1 -1
  257. package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
  258. package/dist/src/backend/routers/websocket/terminal.handler.js +35 -26
  259. package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
  260. package/dist/src/backend/routers/websocket/terminal.handler.test.js +35 -9
  261. package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
  262. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts +4 -4
  263. package/dist/src/backend/routers/websocket/upgrade-utils.d.ts.map +1 -1
  264. package/dist/src/backend/routers/websocket/upgrade-utils.js +1 -1
  265. package/dist/src/backend/routers/websocket/upgrade-utils.js.map +1 -1
  266. package/dist/src/backend/routers/websocket/upgrade-utils.test.js +39 -2
  267. package/dist/src/backend/routers/websocket/upgrade-utils.test.js.map +1 -1
  268. package/dist/src/backend/routers/websocket/websocket.integration.test.js +47 -9
  269. package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
  270. package/dist/src/backend/server.d.ts +3 -2
  271. package/dist/src/backend/server.d.ts.map +1 -1
  272. package/dist/src/backend/server.js +37 -37
  273. package/dist/src/backend/server.js.map +1 -1
  274. package/dist/src/backend/server.upgrade.test.js +177 -137
  275. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  276. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts +4 -0
  277. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  278. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +66 -18
  279. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  280. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js +139 -2
  281. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js.map +1 -1
  282. package/dist/src/backend/services/auto-iteration/service/bridges.d.ts +1 -0
  283. package/dist/src/backend/services/auto-iteration/service/bridges.d.ts.map +1 -1
  284. package/dist/src/backend/services/auto-iteration/service/git-ops.d.ts.map +1 -1
  285. package/dist/src/backend/services/auto-iteration/service/git-ops.js +32 -11
  286. package/dist/src/backend/services/auto-iteration/service/git-ops.js.map +1 -1
  287. package/dist/src/backend/services/auto-iteration/service/git-ops.test.d.ts +2 -0
  288. package/dist/src/backend/services/auto-iteration/service/git-ops.test.d.ts.map +1 -0
  289. package/dist/src/backend/services/auto-iteration/service/git-ops.test.js +59 -0
  290. package/dist/src/backend/services/auto-iteration/service/git-ops.test.js.map +1 -0
  291. package/dist/src/backend/services/check-service-accessor-boundaries.test.d.ts +2 -0
  292. package/dist/src/backend/services/check-service-accessor-boundaries.test.d.ts.map +1 -0
  293. package/dist/src/backend/services/check-service-accessor-boundaries.test.js +386 -0
  294. package/dist/src/backend/services/check-service-accessor-boundaries.test.js.map +1 -0
  295. package/dist/src/backend/services/check-single-writer.test.js +76 -2
  296. package/dist/src/backend/services/check-single-writer.test.js.map +1 -1
  297. package/dist/src/backend/services/config.service.d.ts +7 -0
  298. package/dist/src/backend/services/config.service.d.ts.map +1 -1
  299. package/dist/src/backend/services/config.service.js +9 -0
  300. package/dist/src/backend/services/config.service.js.map +1 -1
  301. package/dist/src/backend/services/config.service.test.js +41 -0
  302. package/dist/src/backend/services/config.service.test.js.map +1 -1
  303. package/dist/src/backend/services/constants.d.ts +3 -0
  304. package/dist/src/backend/services/constants.d.ts.map +1 -1
  305. package/dist/src/backend/services/constants.js +3 -0
  306. package/dist/src/backend/services/constants.js.map +1 -1
  307. package/dist/src/backend/services/decision-log/index.d.ts +1 -1
  308. package/dist/src/backend/services/decision-log/index.d.ts.map +1 -1
  309. package/dist/src/backend/services/decision-log/index.js +1 -1
  310. package/dist/src/backend/services/decision-log/index.js.map +1 -1
  311. package/dist/src/backend/services/decision-log/service/decision-log-domain-exports.test.d.ts +2 -0
  312. package/dist/src/backend/services/decision-log/service/decision-log-domain-exports.test.d.ts.map +1 -0
  313. package/dist/src/backend/services/decision-log/service/decision-log-domain-exports.test.js +8 -0
  314. package/dist/src/backend/services/decision-log/service/decision-log-domain-exports.test.js.map +1 -0
  315. package/dist/src/backend/{orchestration/decision-log-query.service.d.ts → services/decision-log/service/decision-log.service.d.ts} +4 -4
  316. package/dist/src/backend/services/decision-log/service/decision-log.service.d.ts.map +1 -0
  317. package/dist/src/backend/{orchestration/decision-log-query.service.js → services/decision-log/service/decision-log.service.js} +4 -4
  318. package/dist/src/backend/services/decision-log/service/decision-log.service.js.map +1 -0
  319. package/dist/src/backend/services/decision-log/service/decision-log.service.test.d.ts +2 -0
  320. package/dist/src/backend/services/decision-log/service/decision-log.service.test.d.ts.map +1 -0
  321. package/dist/src/backend/services/decision-log/service/decision-log.service.test.js +45 -0
  322. package/dist/src/backend/services/decision-log/service/decision-log.service.test.js.map +1 -0
  323. package/dist/src/backend/services/decision-log/service/index.d.ts +2 -0
  324. package/dist/src/backend/services/decision-log/service/index.d.ts.map +1 -0
  325. package/dist/src/backend/services/decision-log/service/index.js +2 -0
  326. package/dist/src/backend/services/decision-log/service/index.js.map +1 -0
  327. package/dist/src/backend/services/env-schemas.d.ts +3 -0
  328. package/dist/src/backend/services/env-schemas.d.ts.map +1 -1
  329. package/dist/src/backend/services/env-schemas.js +3 -0
  330. package/dist/src/backend/services/env-schemas.js.map +1 -1
  331. package/dist/src/backend/services/github/service/bridges.d.ts +51 -0
  332. package/dist/src/backend/services/github/service/bridges.d.ts.map +1 -1
  333. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +30 -6
  334. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  335. package/dist/src/backend/services/github/service/github-cli/schemas.js +18 -0
  336. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  337. package/dist/src/backend/services/github/service/github-cli/types.d.ts +6 -0
  338. package/dist/src/backend/services/github/service/github-cli/types.d.ts.map +1 -1
  339. package/dist/src/backend/services/github/service/github-cli.service.d.ts +3 -6
  340. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  341. package/dist/src/backend/services/github/service/github-cli.service.js +39 -33
  342. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  343. package/dist/src/backend/services/github/service/github-cli.service.test.js +63 -67
  344. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  345. package/dist/src/backend/services/github/service/index.d.ts +2 -2
  346. package/dist/src/backend/services/github/service/index.d.ts.map +1 -1
  347. package/dist/src/backend/services/github/service/index.js +1 -1
  348. package/dist/src/backend/services/github/service/index.js.map +1 -1
  349. package/dist/src/backend/services/github/service/pr-fetch-registry.d.ts +13 -6
  350. package/dist/src/backend/services/github/service/pr-fetch-registry.d.ts.map +1 -1
  351. package/dist/src/backend/services/github/service/pr-fetch-registry.js +77 -12
  352. package/dist/src/backend/services/github/service/pr-fetch-registry.js.map +1 -1
  353. package/dist/src/backend/services/github/service/pr-fetch-registry.test.d.ts +2 -0
  354. package/dist/src/backend/services/github/service/pr-fetch-registry.test.d.ts.map +1 -0
  355. package/dist/src/backend/services/github/service/pr-fetch-registry.test.js +112 -0
  356. package/dist/src/backend/services/github/service/pr-fetch-registry.test.js.map +1 -0
  357. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts +19 -3
  358. package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts.map +1 -1
  359. package/dist/src/backend/services/github/service/pr-snapshot.service.js +115 -16
  360. package/dist/src/backend/services/github/service/pr-snapshot.service.js.map +1 -1
  361. package/dist/src/backend/services/github/service/pr-snapshot.service.test.js +255 -9
  362. package/dist/src/backend/services/github/service/pr-snapshot.service.test.js.map +1 -1
  363. package/dist/src/backend/services/periodic-task/index.d.ts +0 -1
  364. package/dist/src/backend/services/periodic-task/index.d.ts.map +1 -1
  365. package/dist/src/backend/services/periodic-task/index.js +0 -1
  366. package/dist/src/backend/services/periodic-task/index.js.map +1 -1
  367. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +2 -2
  368. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -1
  369. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +17 -10
  370. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -1
  371. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.js +29 -10
  372. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.test.js.map +1 -1
  373. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +103 -0
  374. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -1
  375. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +47 -1
  376. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -1
  377. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js +104 -8
  378. package/dist/src/backend/services/periodic-task/service/periodic-task.service.test.js.map +1 -1
  379. package/dist/src/backend/services/ratchet/service/bridges.d.ts +34 -4
  380. package/dist/src/backend/services/ratchet/service/bridges.d.ts.map +1 -1
  381. package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts +6 -1
  382. package/dist/src/backend/services/ratchet/service/fixer-session.service.d.ts.map +1 -1
  383. package/dist/src/backend/services/ratchet/service/fixer-session.service.js +47 -8
  384. package/dist/src/backend/services/ratchet/service/fixer-session.service.js.map +1 -1
  385. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js +131 -29
  386. package/dist/src/backend/services/ratchet/service/fixer-session.service.test.js.map +1 -1
  387. package/dist/src/backend/services/ratchet/service/index.d.ts +3 -3
  388. package/dist/src/backend/services/ratchet/service/index.d.ts.map +1 -1
  389. package/dist/src/backend/services/ratchet/service/index.js +1 -1
  390. package/dist/src/backend/services/ratchet/service/index.js.map +1 -1
  391. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.d.ts +5 -1
  392. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.d.ts.map +1 -1
  393. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js +9 -6
  394. package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js.map +1 -1
  395. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.d.ts +3 -0
  396. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.d.ts.map +1 -1
  397. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js +47 -10
  398. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js.map +1 -1
  399. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts +8 -3
  400. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
  401. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +63 -27
  402. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js.map +1 -1
  403. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js +325 -15
  404. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
  405. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.d.ts.map +1 -1
  406. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.js +4 -4
  407. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.js.map +1 -1
  408. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.js +14 -14
  409. package/dist/src/backend/services/ratchet/service/ratchet-provider-resolver.service.test.js.map +1 -1
  410. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts +8 -1
  411. package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
  412. package/dist/src/backend/services/ratchet/service/ratchet.service.js +54 -29
  413. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  414. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +577 -194
  415. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  416. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts +2 -2
  417. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts.map +1 -1
  418. package/dist/src/backend/services/registry.d.ts +43 -0
  419. package/dist/src/backend/services/registry.d.ts.map +1 -1
  420. package/dist/src/backend/services/registry.js +42 -0
  421. package/dist/src/backend/services/registry.js.map +1 -1
  422. package/dist/src/backend/services/resources.integration.test.js +189 -96
  423. package/dist/src/backend/services/resources.integration.test.js.map +1 -1
  424. package/dist/src/backend/services/run-script/service/bridges.d.ts +4 -0
  425. package/dist/src/backend/services/run-script/service/bridges.d.ts.map +1 -1
  426. package/dist/src/backend/services/{factory-config.service.d.ts → run-script/service/factory-config.service.d.ts} +1 -1
  427. package/dist/src/backend/services/run-script/service/factory-config.service.d.ts.map +1 -0
  428. package/dist/src/backend/services/{factory-config.service.js → run-script/service/factory-config.service.js} +1 -1
  429. package/dist/src/backend/services/run-script/service/factory-config.service.js.map +1 -0
  430. package/dist/src/backend/services/run-script/service/factory-config.service.test.d.ts.map +1 -0
  431. package/dist/src/backend/services/{factory-config.service.test.js → run-script/service/factory-config.service.test.js} +1 -1
  432. package/dist/src/backend/services/run-script/service/factory-config.service.test.js.map +1 -0
  433. package/dist/src/backend/services/run-script/service/index.d.ts +2 -0
  434. package/dist/src/backend/services/run-script/service/index.d.ts.map +1 -1
  435. package/dist/src/backend/services/run-script/service/index.js +2 -0
  436. package/dist/src/backend/services/run-script/service/index.js.map +1 -1
  437. package/dist/src/backend/services/run-script/service/port-allocation.service.d.ts.map +1 -0
  438. package/dist/src/backend/services/run-script/service/port-allocation.service.js.map +1 -0
  439. package/dist/src/backend/services/run-script/service/port-allocation.service.test.d.ts.map +1 -0
  440. package/dist/src/backend/services/run-script/service/port-allocation.service.test.js.map +1 -0
  441. package/dist/src/backend/services/{run-script-config-persistence.service.d.ts → run-script/service/run-script-config-persistence.service.d.ts} +10 -1
  442. package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.d.ts.map +1 -0
  443. package/dist/src/backend/services/{run-script-config-persistence.service.js → run-script/service/run-script-config-persistence.service.js} +46 -2
  444. package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.js.map +1 -0
  445. package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.test.d.ts.map +1 -0
  446. package/dist/src/backend/services/{run-script-config-persistence.service.test.js → run-script/service/run-script-config-persistence.service.test.js} +47 -0
  447. package/dist/src/backend/services/run-script/service/run-script-config-persistence.service.test.js.map +1 -0
  448. package/dist/src/backend/services/run-script/service/run-script-domain-exports.test.js +11 -1
  449. package/dist/src/backend/services/run-script/service/run-script-domain-exports.test.js.map +1 -1
  450. package/dist/src/backend/services/run-script/service/run-script-process-utils.d.ts.map +1 -1
  451. package/dist/src/backend/services/run-script/service/run-script-process-utils.js +1 -1
  452. package/dist/src/backend/services/run-script/service/run-script-process-utils.js.map +1 -1
  453. package/dist/src/backend/services/run-script/service/run-script-proxy.service.d.ts.map +1 -0
  454. package/dist/src/backend/services/{run-script-proxy.service.js → run-script/service/run-script-proxy.service.js} +3 -3
  455. package/dist/src/backend/services/run-script/service/run-script-proxy.service.js.map +1 -0
  456. package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.d.ts.map +1 -0
  457. package/dist/src/backend/services/{run-script-proxy.service.test.js → run-script/service/run-script-proxy.service.test.js} +3 -3
  458. package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js.map +1 -0
  459. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts +9 -9
  460. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts.map +1 -1
  461. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js +8 -8
  462. package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js.map +1 -1
  463. package/dist/src/backend/services/run-script/service/run-script.service.js +16 -16
  464. package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
  465. package/dist/src/backend/services/run-script/service/run-script.service.test.js +5 -5
  466. package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
  467. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
  468. package/dist/src/backend/services/run-script/service/startup-script.service.js +4 -7
  469. package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
  470. package/dist/src/backend/services/run-script/service/startup-script.service.test.js +5 -1
  471. package/dist/src/backend/services/run-script/service/startup-script.service.test.js.map +1 -1
  472. package/dist/src/backend/services/service-registry-check.helpers.d.ts +6 -0
  473. package/dist/src/backend/services/service-registry-check.helpers.d.ts.map +1 -0
  474. package/dist/src/backend/services/service-registry-check.helpers.js +22 -0
  475. package/dist/src/backend/services/service-registry-check.helpers.js.map +1 -0
  476. package/dist/src/backend/services/service-registry-check.test.d.ts +2 -0
  477. package/dist/src/backend/services/service-registry-check.test.d.ts.map +1 -0
  478. package/dist/src/backend/services/service-registry-check.test.js +36 -0
  479. package/dist/src/backend/services/service-registry-check.test.js.map +1 -0
  480. package/dist/src/backend/services/session/index.d.ts +0 -2
  481. package/dist/src/backend/services/session/index.d.ts.map +1 -1
  482. package/dist/src/backend/services/session/index.js +0 -2
  483. package/dist/src/backend/services/session/index.js.map +1 -1
  484. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +4 -3
  485. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  486. package/dist/src/backend/services/session/resources/agent-session.accessor.js +6 -15
  487. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  488. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +11 -15
  489. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  490. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  491. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +25 -9
  492. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  493. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +109 -26
  494. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +1 -1
  495. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.js +2 -2
  496. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.js.map +1 -1
  497. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.test.d.ts +2 -0
  498. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.test.d.ts.map +1 -0
  499. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.test.js +119 -0
  500. package/dist/src/backend/services/session/service/acp/child-workspace-mcp-server.test.js.map +1 -0
  501. package/dist/src/backend/services/session/service/bridges.d.ts +1 -0
  502. package/dist/src/backend/services/session/service/bridges.d.ts.map +1 -1
  503. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +3 -3
  504. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  505. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +16 -16
  506. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  507. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +18 -166
  508. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  509. package/dist/src/backend/services/session/service/data/session-data.service.js +68 -36
  510. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  511. package/dist/src/backend/services/session/service/data/session-data.service.test.d.ts +2 -0
  512. package/dist/src/backend/services/session/service/data/session-data.service.test.d.ts.map +1 -0
  513. package/dist/src/backend/services/session/service/data/session-data.service.test.js +103 -0
  514. package/dist/src/backend/services/session/service/data/session-data.service.test.js.map +1 -0
  515. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.d.ts +9 -0
  516. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.d.ts.map +1 -1
  517. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.js +15 -5
  518. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.js.map +1 -1
  519. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +23 -10
  520. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
  521. package/dist/src/backend/services/session/service/index.d.ts +3 -2
  522. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  523. package/dist/src/backend/services/session/service/index.js +2 -2
  524. package/dist/src/backend/services/session/service/index.js.map +1 -1
  525. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +15 -4
  526. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  527. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +63 -6
  528. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
  529. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.d.ts +2 -0
  530. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.d.ts.map +1 -0
  531. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.js +230 -0
  532. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.text-streaming.test.js.map +1 -0
  533. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.d.ts +2 -1
  534. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.d.ts.map +1 -1
  535. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.js +3 -28
  536. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.js.map +1 -1
  537. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.test.d.ts +2 -0
  538. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.test.d.ts.map +1 -0
  539. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.test.js +33 -0
  540. package/dist/src/backend/services/session/service/lifecycle/session-pr-discovery.service.test.js.map +1 -0
  541. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
  542. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +15 -4
  543. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
  544. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +59 -6
  545. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
  546. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  547. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +14 -7
  548. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  549. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js +74 -44
  550. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js.map +1 -1
  551. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts +5 -0
  552. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts.map +1 -1
  553. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js +19 -11
  554. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js.map +1 -1
  555. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js +32 -1
  556. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js.map +1 -1
  557. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +1 -1
  558. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  559. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -3
  560. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  561. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +1 -1
  562. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
  563. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  564. package/dist/src/backend/services/session/service/lifecycle/session.service.js +2 -0
  565. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  566. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +18 -2
  567. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  568. package/dist/src/backend/services/session/service/session-domain.service.d.ts.map +1 -1
  569. package/dist/src/backend/services/session/service/session-domain.service.js +2 -1
  570. package/dist/src/backend/services/session/service/session-domain.service.js.map +1 -1
  571. package/dist/src/backend/services/session/service/store/session-queue.test.js +1 -0
  572. package/dist/src/backend/services/session/service/store/session-queue.test.js.map +1 -1
  573. package/dist/src/backend/services/session/service/store/session-replay-builder.d.ts.map +1 -1
  574. package/dist/src/backend/services/session/service/store/session-replay-builder.js +2 -1
  575. package/dist/src/backend/services/session/service/store/session-replay-builder.js.map +1 -1
  576. package/dist/src/backend/services/session/service/store/session-replay-builder.test.js +13 -0
  577. package/dist/src/backend/services/session/service/store/session-replay-builder.test.js.map +1 -1
  578. package/dist/src/backend/services/session/service/store/session-runtime-machine.test.js +1 -0
  579. package/dist/src/backend/services/session/service/store/session-runtime-machine.test.js.map +1 -1
  580. package/dist/src/backend/services/session/service/store/session-store-registry.d.ts.map +1 -1
  581. package/dist/src/backend/services/session/service/store/session-store-registry.js +1 -0
  582. package/dist/src/backend/services/session/service/store/session-store-registry.js.map +1 -1
  583. package/dist/src/backend/services/session/service/store/session-store.types.d.ts +1 -0
  584. package/dist/src/backend/services/session/service/store/session-store.types.d.ts.map +1 -1
  585. package/dist/src/backend/services/session/service/store/session-transcript.d.ts +1 -0
  586. package/dist/src/backend/services/session/service/store/session-transcript.d.ts.map +1 -1
  587. package/dist/src/backend/services/session/service/store/session-transcript.js +83 -15
  588. package/dist/src/backend/services/session/service/store/session-transcript.js.map +1 -1
  589. package/dist/src/backend/services/session/service/store/session-transcript.test.js +148 -30
  590. package/dist/src/backend/services/session/service/store/session-transcript.test.js.map +1 -1
  591. package/dist/src/backend/services/session/service/store/slash-command-cache.service.d.ts.map +1 -1
  592. package/dist/src/backend/services/session/service/store/slash-command-cache.service.js +23 -18
  593. package/dist/src/backend/services/session/service/store/slash-command-cache.service.js.map +1 -1
  594. package/dist/src/backend/services/session/service/store/slash-command-cache.service.test.js +70 -19
  595. package/dist/src/backend/services/session/service/store/slash-command-cache.service.test.js.map +1 -1
  596. package/dist/src/backend/services/session/types.d.ts +25 -0
  597. package/dist/src/backend/services/session/types.d.ts.map +1 -0
  598. package/dist/src/backend/services/session/types.js +2 -0
  599. package/dist/src/backend/services/session/types.js.map +1 -0
  600. package/dist/src/backend/services/settings/index.d.ts +1 -3
  601. package/dist/src/backend/services/settings/index.d.ts.map +1 -1
  602. package/dist/src/backend/services/settings/index.js +1 -3
  603. package/dist/src/backend/services/settings/index.js.map +1 -1
  604. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts +3 -1
  605. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  606. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +9 -0
  607. package/dist/src/backend/services/settings/resources/user-settings.accessor.js.map +1 -1
  608. package/dist/src/backend/services/settings/service/health.service.d.ts +6 -0
  609. package/dist/src/backend/services/settings/service/health.service.d.ts.map +1 -0
  610. package/dist/src/backend/services/settings/service/health.service.js +8 -0
  611. package/dist/src/backend/services/settings/service/health.service.js.map +1 -0
  612. package/dist/src/backend/services/settings/service/health.service.test.d.ts +2 -0
  613. package/dist/src/backend/services/settings/service/health.service.test.d.ts.map +1 -0
  614. package/dist/src/backend/services/settings/service/health.service.test.js +16 -0
  615. package/dist/src/backend/services/settings/service/health.service.test.js.map +1 -0
  616. package/dist/src/backend/services/settings/service/index.d.ts +3 -0
  617. package/dist/src/backend/services/settings/service/index.d.ts.map +1 -0
  618. package/dist/src/backend/services/settings/service/index.js +3 -0
  619. package/dist/src/backend/services/settings/service/index.js.map +1 -0
  620. package/dist/src/backend/services/settings/service/settings-domain-exports.test.d.ts +2 -0
  621. package/dist/src/backend/services/settings/service/settings-domain-exports.test.d.ts.map +1 -0
  622. package/dist/src/backend/services/settings/service/settings-domain-exports.test.js +9 -0
  623. package/dist/src/backend/services/settings/service/settings-domain-exports.test.js.map +1 -0
  624. package/dist/src/backend/services/settings/service/user-settings.service.d.ts +27 -0
  625. package/dist/src/backend/services/settings/service/user-settings.service.d.ts.map +1 -0
  626. package/dist/src/backend/services/settings/service/user-settings.service.js +23 -0
  627. package/dist/src/backend/services/settings/service/user-settings.service.js.map +1 -0
  628. package/dist/src/backend/services/settings/service/user-settings.service.test.d.ts +2 -0
  629. package/dist/src/backend/services/settings/service/user-settings.service.test.d.ts.map +1 -0
  630. package/dist/src/backend/services/settings/service/user-settings.service.test.js +58 -0
  631. package/dist/src/backend/services/settings/service/user-settings.service.test.js.map +1 -0
  632. package/dist/src/backend/services/terminal/index.d.ts +0 -1
  633. package/dist/src/backend/services/terminal/index.d.ts.map +1 -1
  634. package/dist/src/backend/services/terminal/index.js +0 -1
  635. package/dist/src/backend/services/terminal/index.js.map +1 -1
  636. package/dist/src/backend/services/terminal/service/index.d.ts +2 -0
  637. package/dist/src/backend/services/terminal/service/index.d.ts.map +1 -1
  638. package/dist/src/backend/services/terminal/service/index.js +1 -0
  639. package/dist/src/backend/services/terminal/service/index.js.map +1 -1
  640. package/dist/src/backend/services/terminal/service/terminal-domain-exports.test.js +4 -1
  641. package/dist/src/backend/services/terminal/service/terminal-domain-exports.test.js.map +1 -1
  642. package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts +95 -0
  643. package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts.map +1 -0
  644. package/dist/src/backend/services/terminal/service/terminal-session.service.js +43 -0
  645. package/dist/src/backend/services/terminal/service/terminal-session.service.js.map +1 -0
  646. package/dist/src/backend/services/terminal/service/terminal-session.service.test.d.ts +2 -0
  647. package/dist/src/backend/services/terminal/service/terminal-session.service.test.d.ts.map +1 -0
  648. package/dist/src/backend/services/terminal/service/terminal-session.service.test.js +46 -0
  649. package/dist/src/backend/services/terminal/service/terminal-session.service.test.js.map +1 -0
  650. package/dist/src/backend/services/workspace/index.d.ts +0 -3
  651. package/dist/src/backend/services/workspace/index.d.ts.map +1 -1
  652. package/dist/src/backend/services/workspace/index.js +0 -3
  653. package/dist/src/backend/services/workspace/index.js.map +1 -1
  654. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts +1 -1
  655. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +66 -2
  656. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  657. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +259 -2
  658. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  659. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +517 -0
  660. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  661. package/dist/src/backend/services/workspace/service/bridges.d.ts +1 -2
  662. package/dist/src/backend/services/workspace/service/bridges.d.ts.map +1 -1
  663. package/dist/src/backend/services/workspace/service/index.d.ts +12 -1
  664. package/dist/src/backend/services/workspace/service/index.d.ts.map +1 -1
  665. package/dist/src/backend/services/workspace/service/index.js +11 -1
  666. package/dist/src/backend/services/workspace/service/index.js.map +1 -1
  667. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts +9 -0
  668. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts.map +1 -1
  669. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js +26 -36
  670. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js.map +1 -1
  671. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +47 -10
  672. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  673. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +156 -122
  674. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  675. package/dist/src/backend/services/workspace/service/lifecycle/data.service.js +27 -7
  676. package/dist/src/backend/services/workspace/service/lifecycle/data.service.js.map +1 -1
  677. package/dist/src/backend/services/workspace/service/lifecycle/data.service.test.js +14 -1
  678. package/dist/src/backend/services/workspace/service/lifecycle/data.service.test.js.map +1 -1
  679. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts.map +1 -1
  680. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js +8 -1
  681. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js.map +1 -1
  682. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.test.js +3 -5
  683. package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.test.js.map +1 -1
  684. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts +206 -0
  685. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts.map +1 -0
  686. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.js +26 -0
  687. package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.js.map +1 -0
  688. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts +76 -0
  689. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts.map +1 -0
  690. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js +32 -0
  691. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js.map +1 -0
  692. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.test.d.ts +2 -0
  693. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.test.d.ts.map +1 -0
  694. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.test.js +65 -0
  695. package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.test.js.map +1 -0
  696. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts +243 -0
  697. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts.map +1 -0
  698. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js +42 -0
  699. package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js.map +1 -0
  700. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts +186 -0
  701. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts.map +1 -0
  702. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.js +11 -0
  703. package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.js.map +1 -0
  704. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts +161 -0
  705. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts.map +1 -0
  706. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.js +51 -0
  707. package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.js.map +1 -0
  708. package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.d.ts +2 -0
  709. package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.d.ts.map +1 -0
  710. package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js +96 -0
  711. package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js.map +1 -0
  712. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.d.ts +2 -0
  713. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.d.ts.map +1 -0
  714. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.js +11 -0
  715. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.js.map +1 -0
  716. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.test.d.ts +2 -0
  717. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.test.d.ts.map +1 -0
  718. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.test.js +24 -0
  719. package/dist/src/backend/services/workspace/service/pr-discovery-schedule.test.js.map +1 -0
  720. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +27 -21
  721. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  722. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts +446 -0
  723. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts.map +1 -0
  724. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js +23 -0
  725. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js.map +1 -0
  726. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.test.d.ts +2 -0
  727. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.test.d.ts.map +1 -0
  728. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.test.js +36 -0
  729. package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.test.js.map +1 -0
  730. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts +58 -0
  731. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts.map +1 -0
  732. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.js +24 -0
  733. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.js.map +1 -0
  734. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.test.d.ts +2 -0
  735. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.test.d.ts.map +1 -0
  736. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.test.js +28 -0
  737. package/dist/src/backend/services/workspace/service/query/workspace-notification.service.test.js.map +1 -0
  738. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +45 -55
  739. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  740. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +13 -64
  741. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
  742. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +110 -64
  743. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
  744. package/dist/src/backend/services/{workspace-snapshot-store.service.d.ts → workspace/service/snapshot/workspace-snapshot-store.service.d.ts} +24 -45
  745. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts.map +1 -0
  746. package/dist/src/backend/services/{workspace-snapshot-store.service.js → workspace/service/snapshot/workspace-snapshot-store.service.js} +144 -31
  747. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js.map +1 -0
  748. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.d.ts.map +1 -0
  749. package/dist/src/backend/services/{workspace-snapshot-store.service.test.js → workspace/service/snapshot/workspace-snapshot-store.service.test.js} +229 -18
  750. package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.test.js.map +1 -0
  751. package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts +18 -3
  752. package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts.map +1 -1
  753. package/dist/src/backend/services/workspace/service/state/kanban-state.js +136 -16
  754. package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
  755. package/dist/src/backend/services/workspace/service/state/kanban-state.test.js +319 -63
  756. package/dist/src/backend/services/workspace/service/state/kanban-state.test.js.map +1 -1
  757. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js +18 -1
  758. package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js.map +1 -1
  759. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.d.ts.map +1 -0
  760. package/dist/src/backend/services/{git-clone.service.js → workspace/service/worktree/git-clone.service.js} +4 -4
  761. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.js.map +1 -0
  762. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.test.d.ts.map +1 -0
  763. package/dist/src/backend/services/{git-clone.service.test.js → workspace/service/worktree/git-clone.service.test.js} +1 -1
  764. package/dist/src/backend/services/workspace/service/worktree/git-clone.service.test.js.map +1 -0
  765. package/dist/src/backend/services/{git-ops.service.d.ts → workspace/service/worktree/git-ops.service.d.ts} +3 -4
  766. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts.map +1 -0
  767. package/dist/src/backend/services/{git-ops.service.js → workspace/service/worktree/git-ops.service.js} +55 -33
  768. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js.map +1 -0
  769. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.d.ts.map +1 -0
  770. package/dist/src/backend/services/{git-ops.service.test.js → workspace/service/worktree/git-ops.service.test.js} +89 -16
  771. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js.map +1 -0
  772. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +27 -19
  773. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js.map +1 -1
  774. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.d.ts.map +1 -1
  775. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js +3 -1
  776. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.js.map +1 -1
  777. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js +66 -2
  778. package/dist/src/backend/services/workspace/service/worktree/worktree-lifecycle.service.test.js.map +1 -1
  779. package/dist/src/backend/services/workspace/types.d.ts +32 -0
  780. package/dist/src/backend/services/workspace/types.d.ts.map +1 -0
  781. package/dist/src/backend/services/workspace/types.js +2 -0
  782. package/dist/src/backend/services/workspace/types.js.map +1 -0
  783. package/dist/src/backend/services/workspace-git-state.service.d.ts +99 -0
  784. package/dist/src/backend/services/workspace-git-state.service.d.ts.map +1 -0
  785. package/dist/src/backend/services/workspace-git-state.service.js +393 -0
  786. package/dist/src/backend/services/workspace-git-state.service.js.map +1 -0
  787. package/dist/src/backend/services/workspace-git-state.service.test.d.ts +2 -0
  788. package/dist/src/backend/services/workspace-git-state.service.test.d.ts.map +1 -0
  789. package/dist/src/backend/services/workspace-git-state.service.test.js +476 -0
  790. package/dist/src/backend/services/workspace-git-state.service.test.js.map +1 -0
  791. package/dist/src/backend/testing/typescript-import-test-utils.d.ts +11 -0
  792. package/dist/src/backend/testing/typescript-import-test-utils.d.ts.map +1 -0
  793. package/dist/src/backend/testing/typescript-import-test-utils.js +47 -0
  794. package/dist/src/backend/testing/typescript-import-test-utils.js.map +1 -0
  795. package/dist/src/backend/trpc/admin.router.test.js +18 -26
  796. package/dist/src/backend/trpc/admin.router.test.js.map +1 -1
  797. package/dist/src/backend/trpc/admin.trpc.d.ts +7 -5
  798. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  799. package/dist/src/backend/trpc/admin.trpc.js +11 -15
  800. package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
  801. package/dist/src/backend/trpc/application-error-mapper.d.ts +4 -0
  802. package/dist/src/backend/trpc/application-error-mapper.d.ts.map +1 -0
  803. package/dist/src/backend/trpc/application-error-mapper.js +16 -0
  804. package/dist/src/backend/trpc/application-error-mapper.js.map +1 -0
  805. package/dist/src/backend/trpc/application-error-mapper.test.d.ts +2 -0
  806. package/dist/src/backend/trpc/application-error-mapper.test.d.ts.map +1 -0
  807. package/dist/src/backend/trpc/application-error-mapper.test.js +23 -0
  808. package/dist/src/backend/trpc/application-error-mapper.test.js.map +1 -0
  809. package/dist/src/backend/trpc/auto-iteration.trpc.d.ts +1 -1
  810. package/dist/src/backend/trpc/auto-iteration.trpc.d.ts.map +1 -1
  811. package/dist/src/backend/trpc/auto-iteration.trpc.js +20 -12
  812. package/dist/src/backend/trpc/auto-iteration.trpc.js.map +1 -1
  813. package/dist/src/backend/trpc/auto-iteration.trpc.test.js +10 -9
  814. package/dist/src/backend/trpc/auto-iteration.trpc.test.js.map +1 -1
  815. package/dist/src/backend/trpc/closed-sessions.router.test.js +3 -4
  816. package/dist/src/backend/trpc/closed-sessions.router.test.js.map +1 -1
  817. package/dist/src/backend/trpc/closed-sessions.trpc.d.ts +5 -5
  818. package/dist/src/backend/trpc/closed-sessions.trpc.d.ts.map +1 -1
  819. package/dist/src/backend/trpc/closed-sessions.trpc.js +8 -4
  820. package/dist/src/backend/trpc/closed-sessions.trpc.js.map +1 -1
  821. package/dist/src/backend/trpc/context-dependencies.test.d.ts +2 -0
  822. package/dist/src/backend/trpc/context-dependencies.test.d.ts.map +1 -0
  823. package/dist/src/backend/trpc/context-dependencies.test.js +134 -0
  824. package/dist/src/backend/trpc/context-dependencies.test.js.map +1 -0
  825. package/dist/src/backend/trpc/decision-log.router.test.js +11 -8
  826. package/dist/src/backend/trpc/decision-log.router.test.js.map +1 -1
  827. package/dist/src/backend/trpc/decision-log.trpc.d.ts +3 -3
  828. package/dist/src/backend/trpc/decision-log.trpc.d.ts.map +1 -1
  829. package/dist/src/backend/trpc/decision-log.trpc.js +6 -7
  830. package/dist/src/backend/trpc/decision-log.trpc.js.map +1 -1
  831. package/dist/src/backend/trpc/github.router.test.js +12 -6
  832. package/dist/src/backend/trpc/github.router.test.js.map +1 -1
  833. package/dist/src/backend/trpc/github.trpc.d.ts.map +1 -1
  834. package/dist/src/backend/trpc/github.trpc.js +11 -8
  835. package/dist/src/backend/trpc/github.trpc.js.map +1 -1
  836. package/dist/src/backend/trpc/index.d.ts +528 -828
  837. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  838. package/dist/src/backend/trpc/index.js +0 -1
  839. package/dist/src/backend/trpc/index.js.map +1 -1
  840. package/dist/src/backend/trpc/issue-filter.d.ts.map +1 -1
  841. package/dist/src/backend/trpc/issue-filter.js.map +1 -1
  842. package/dist/src/backend/trpc/linear.router.test.js +21 -21
  843. package/dist/src/backend/trpc/linear.router.test.js.map +1 -1
  844. package/dist/src/backend/trpc/linear.trpc.d.ts +4 -4
  845. package/dist/src/backend/trpc/linear.trpc.d.ts.map +1 -1
  846. package/dist/src/backend/trpc/linear.trpc.js +9 -10
  847. package/dist/src/backend/trpc/linear.trpc.js.map +1 -1
  848. package/dist/src/backend/trpc/periodic-task.trpc.d.ts +17 -17
  849. package/dist/src/backend/trpc/periodic-task.trpc.d.ts.map +1 -1
  850. package/dist/src/backend/trpc/periodic-task.trpc.js +17 -17
  851. package/dist/src/backend/trpc/periodic-task.trpc.js.map +1 -1
  852. package/dist/src/backend/trpc/project.router.test.js +20 -21
  853. package/dist/src/backend/trpc/project.router.test.js.map +1 -1
  854. package/dist/src/backend/trpc/project.trpc.d.ts +31 -25
  855. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  856. package/dist/src/backend/trpc/project.trpc.js +32 -30
  857. package/dist/src/backend/trpc/project.trpc.js.map +1 -1
  858. package/dist/src/backend/trpc/session.router.test.js +11 -9
  859. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  860. package/dist/src/backend/trpc/session.trpc.d.ts +47 -404
  861. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  862. package/dist/src/backend/trpc/session.trpc.js +30 -27
  863. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  864. package/dist/src/backend/trpc/trpc.d.ts +2 -4
  865. package/dist/src/backend/trpc/trpc.d.ts.map +1 -1
  866. package/dist/src/backend/trpc/trpc.js +14 -12
  867. package/dist/src/backend/trpc/trpc.js.map +1 -1
  868. package/dist/src/backend/trpc/trpc.test.js +58 -1
  869. package/dist/src/backend/trpc/trpc.test.js.map +1 -1
  870. package/dist/src/backend/trpc/user-settings.router.test.js +27 -14
  871. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  872. package/dist/src/backend/trpc/user-settings.trpc.d.ts +6 -3
  873. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  874. package/dist/src/backend/trpc/user-settings.trpc.js +13 -14
  875. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  876. package/dist/src/backend/trpc/workspace/children.router.test.d.ts +2 -0
  877. package/dist/src/backend/trpc/workspace/children.router.test.d.ts.map +1 -0
  878. package/dist/src/backend/trpc/workspace/children.router.test.js +257 -0
  879. package/dist/src/backend/trpc/workspace/children.router.test.js.map +1 -0
  880. package/dist/src/backend/trpc/workspace/children.trpc.d.ts +154 -0
  881. package/dist/src/backend/trpc/workspace/children.trpc.d.ts.map +1 -0
  882. package/dist/src/backend/trpc/workspace/children.trpc.js +163 -0
  883. package/dist/src/backend/trpc/workspace/children.trpc.js.map +1 -0
  884. package/dist/src/backend/trpc/workspace/composition.test.d.ts +2 -0
  885. package/dist/src/backend/trpc/workspace/composition.test.d.ts.map +1 -0
  886. package/dist/src/backend/trpc/workspace/composition.test.js +51 -0
  887. package/dist/src/backend/trpc/workspace/composition.test.js.map +1 -0
  888. package/dist/src/backend/trpc/workspace/files.router.test.js +6 -0
  889. package/dist/src/backend/trpc/workspace/files.router.test.js.map +1 -1
  890. package/dist/src/backend/trpc/workspace/files.trpc.d.ts.map +1 -1
  891. package/dist/src/backend/trpc/workspace/files.trpc.js +14 -13
  892. package/dist/src/backend/trpc/workspace/files.trpc.js.map +1 -1
  893. package/dist/src/backend/trpc/workspace/git.router.test.js +137 -147
  894. package/dist/src/backend/trpc/workspace/git.router.test.js.map +1 -1
  895. package/dist/src/backend/trpc/workspace/git.trpc.d.ts +2 -2
  896. package/dist/src/backend/trpc/workspace/git.trpc.d.ts.map +1 -1
  897. package/dist/src/backend/trpc/workspace/git.trpc.js +53 -75
  898. package/dist/src/backend/trpc/workspace/git.trpc.js.map +1 -1
  899. package/dist/src/backend/trpc/workspace/ide.router.test.js +10 -9
  900. package/dist/src/backend/trpc/workspace/ide.router.test.js.map +1 -1
  901. package/dist/src/backend/trpc/workspace/ide.trpc.d.ts.map +1 -1
  902. package/dist/src/backend/trpc/workspace/ide.trpc.js +4 -4
  903. package/dist/src/backend/trpc/workspace/ide.trpc.js.map +1 -1
  904. package/dist/src/backend/trpc/workspace/init.router.test.js +18 -41
  905. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  906. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +22 -18
  907. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  908. package/dist/src/backend/trpc/workspace/init.trpc.js +14 -11
  909. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  910. package/dist/src/backend/trpc/workspace/run-script.router.test.js +6 -10
  911. package/dist/src/backend/trpc/workspace/run-script.router.test.js.map +1 -1
  912. package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts.map +1 -1
  913. package/dist/src/backend/trpc/workspace/run-script.trpc.js +3 -4
  914. package/dist/src/backend/trpc/workspace/run-script.trpc.js.map +1 -1
  915. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +43 -35
  916. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  917. package/dist/src/backend/trpc/workspace/workspace-helpers.js +7 -8
  918. package/dist/src/backend/trpc/workspace/workspace-helpers.js.map +1 -1
  919. package/dist/src/backend/trpc/workspace/workspace-helpers.test.js +17 -15
  920. package/dist/src/backend/trpc/workspace/workspace-helpers.test.js.map +1 -1
  921. package/dist/src/backend/trpc/workspace.router.test.js +139 -265
  922. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  923. package/dist/src/backend/trpc/workspace.trpc.d.ts +1491 -325
  924. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  925. package/dist/src/backend/trpc/workspace.trpc.js +47 -258
  926. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  927. package/dist/src/shared/acp-protocol/protocol/renderer-window.d.ts.map +1 -1
  928. package/dist/src/shared/acp-protocol/protocol/renderer-window.js +2 -1
  929. package/dist/src/shared/acp-protocol/protocol/renderer-window.js.map +1 -1
  930. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts +9 -0
  931. package/dist/src/shared/acp-protocol/protocol/websocket.d.ts.map +1 -1
  932. package/dist/src/shared/acp-protocol/protocol/websocket.js +1 -0
  933. package/dist/src/shared/acp-protocol/protocol/websocket.js.map +1 -1
  934. package/dist/src/shared/core/enums.d.ts +5 -0
  935. package/dist/src/shared/core/enums.d.ts.map +1 -1
  936. package/dist/src/shared/core/enums.js +4 -0
  937. package/dist/src/shared/core/enums.js.map +1 -1
  938. package/dist/src/shared/core/index.d.ts +2 -2
  939. package/dist/src/shared/core/index.d.ts.map +1 -1
  940. package/dist/src/shared/core/index.js +2 -2
  941. package/dist/src/shared/core/index.js.map +1 -1
  942. package/dist/src/shared/core/workspace-sidebar-status.d.ts +4 -2
  943. package/dist/src/shared/core/workspace-sidebar-status.d.ts.map +1 -1
  944. package/dist/src/shared/core/workspace-sidebar-status.js +11 -0
  945. package/dist/src/shared/core/workspace-sidebar-status.js.map +1 -1
  946. package/dist/src/shared/schemas/export-data.schema.d.ts +20 -12
  947. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  948. package/dist/src/shared/schemas/export-data.schema.js +3 -1
  949. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  950. package/dist/src/shared/session-runtime.d.ts +6 -3
  951. package/dist/src/shared/session-runtime.d.ts.map +1 -1
  952. package/dist/src/shared/session-runtime.js +10 -0
  953. package/dist/src/shared/session-runtime.js.map +1 -1
  954. package/dist/src/shared/workspace-flow-state.d.ts +4 -2
  955. package/dist/src/shared/workspace-flow-state.d.ts.map +1 -1
  956. package/dist/src/shared/workspace-flow-state.js +16 -1
  957. package/dist/src/shared/workspace-flow-state.js.map +1 -1
  958. package/dist/src/shared/workspace-snapshot.d.ts +1020 -0
  959. package/dist/src/shared/workspace-snapshot.d.ts.map +1 -0
  960. package/dist/src/shared/workspace-snapshot.js +113 -0
  961. package/dist/src/shared/workspace-snapshot.js.map +1 -0
  962. package/dist/src/shared/workspace-status-reason.d.ts +6 -3
  963. package/dist/src/shared/workspace-status-reason.d.ts.map +1 -1
  964. package/dist/src/shared/workspace-status-reason.js +35 -0
  965. package/dist/src/shared/workspace-status-reason.js.map +1 -1
  966. package/dist/src/test-utils/application-graph.d.ts +69 -0
  967. package/dist/src/test-utils/application-graph.d.ts.map +1 -0
  968. package/dist/src/test-utils/application-graph.js +353 -0
  969. package/dist/src/test-utils/application-graph.js.map +1 -0
  970. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  971. package/package.json +2 -5
  972. package/prisma/migrations/20260717150000_add_pr_discovery_schedule/migration.sql +8 -0
  973. package/prisma/migrations/20260717160000_add_ratchet_review_trigger_mode/migration.sql +2 -0
  974. package/prisma/schema.prisma +13 -1
  975. package/dist/client/assets/channel-76ipWABm.js +0 -1
  976. package/dist/client/assets/classDiagram-4FO5ZUOK-FuxnCTTL.js +0 -1
  977. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-FuxnCTTL.js +0 -1
  978. package/dist/client/assets/index-kItkrW7R.css +0 -1
  979. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Dhf9Ohaz.js +0 -1
  980. package/dist/src/backend/clients/index.d.ts +0 -2
  981. package/dist/src/backend/clients/index.d.ts.map +0 -1
  982. package/dist/src/backend/clients/index.js +0 -2
  983. package/dist/src/backend/clients/index.js.map +0 -1
  984. package/dist/src/backend/orchestration/decision-log-query.service.d.ts.map +0 -1
  985. package/dist/src/backend/orchestration/decision-log-query.service.js.map +0 -1
  986. package/dist/src/backend/orchestration/decision-log-query.service.test.d.ts +0 -2
  987. package/dist/src/backend/orchestration/decision-log-query.service.test.d.ts.map +0 -1
  988. package/dist/src/backend/orchestration/decision-log-query.service.test.js +0 -44
  989. package/dist/src/backend/orchestration/decision-log-query.service.test.js.map +0 -1
  990. package/dist/src/backend/services/factory-config.service.d.ts.map +0 -1
  991. package/dist/src/backend/services/factory-config.service.js.map +0 -1
  992. package/dist/src/backend/services/factory-config.service.test.d.ts.map +0 -1
  993. package/dist/src/backend/services/factory-config.service.test.js.map +0 -1
  994. package/dist/src/backend/services/git-clone.service.d.ts.map +0 -1
  995. package/dist/src/backend/services/git-clone.service.js.map +0 -1
  996. package/dist/src/backend/services/git-clone.service.test.d.ts.map +0 -1
  997. package/dist/src/backend/services/git-clone.service.test.js.map +0 -1
  998. package/dist/src/backend/services/git-ops.service.d.ts.map +0 -1
  999. package/dist/src/backend/services/git-ops.service.js.map +0 -1
  1000. package/dist/src/backend/services/git-ops.service.test.d.ts.map +0 -1
  1001. package/dist/src/backend/services/git-ops.service.test.js.map +0 -1
  1002. package/dist/src/backend/services/port-allocation.service.d.ts.map +0 -1
  1003. package/dist/src/backend/services/port-allocation.service.js.map +0 -1
  1004. package/dist/src/backend/services/port-allocation.service.test.d.ts.map +0 -1
  1005. package/dist/src/backend/services/port-allocation.service.test.js.map +0 -1
  1006. package/dist/src/backend/services/run-script-config-persistence.service.d.ts.map +0 -1
  1007. package/dist/src/backend/services/run-script-config-persistence.service.js.map +0 -1
  1008. package/dist/src/backend/services/run-script-config-persistence.service.test.d.ts.map +0 -1
  1009. package/dist/src/backend/services/run-script-config-persistence.service.test.js.map +0 -1
  1010. package/dist/src/backend/services/run-script-proxy.service.d.ts.map +0 -1
  1011. package/dist/src/backend/services/run-script-proxy.service.js.map +0 -1
  1012. package/dist/src/backend/services/run-script-proxy.service.test.d.ts.map +0 -1
  1013. package/dist/src/backend/services/run-script-proxy.service.test.js.map +0 -1
  1014. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.d.ts +0 -24
  1015. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.d.ts.map +0 -1
  1016. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.js +0 -17
  1017. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.js.map +0 -1
  1018. package/dist/src/backend/services/workspace-snapshot-store.service.d.ts.map +0 -1
  1019. package/dist/src/backend/services/workspace-snapshot-store.service.js.map +0 -1
  1020. package/dist/src/backend/services/workspace-snapshot-store.service.test.d.ts.map +0 -1
  1021. package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +0 -1
  1022. package/dist/src/backend/trpc/procedures/index.d.ts +0 -2
  1023. package/dist/src/backend/trpc/procedures/index.d.ts.map +0 -1
  1024. package/dist/src/backend/trpc/procedures/index.js +0 -2
  1025. package/dist/src/backend/trpc/procedures/index.js.map +0 -1
  1026. package/dist/src/backend/trpc/procedures/project-scoped.d.ts +0 -7
  1027. package/dist/src/backend/trpc/procedures/project-scoped.d.ts.map +0 -1
  1028. package/dist/src/backend/trpc/procedures/project-scoped.js +0 -18
  1029. package/dist/src/backend/trpc/procedures/project-scoped.js.map +0 -1
  1030. package/dist/src/backend/trpc/procedures/project-scoped.test.d.ts +0 -2
  1031. package/dist/src/backend/trpc/procedures/project-scoped.test.d.ts.map +0 -1
  1032. package/dist/src/backend/trpc/procedures/project-scoped.test.js +0 -17
  1033. package/dist/src/backend/trpc/procedures/project-scoped.test.js.map +0 -1
  1034. /package/dist/src/backend/services/{factory-config.service.test.d.ts → run-script/service/factory-config.service.test.d.ts} +0 -0
  1035. /package/dist/src/backend/services/{port-allocation.service.d.ts → run-script/service/port-allocation.service.d.ts} +0 -0
  1036. /package/dist/src/backend/services/{port-allocation.service.js → run-script/service/port-allocation.service.js} +0 -0
  1037. /package/dist/src/backend/services/{port-allocation.service.test.d.ts → run-script/service/port-allocation.service.test.d.ts} +0 -0
  1038. /package/dist/src/backend/services/{port-allocation.service.test.js → run-script/service/port-allocation.service.test.js} +0 -0
  1039. /package/dist/src/backend/services/{run-script-config-persistence.service.test.d.ts → run-script/service/run-script-config-persistence.service.test.d.ts} +0 -0
  1040. /package/dist/src/backend/services/{run-script-proxy.service.d.ts → run-script/service/run-script-proxy.service.d.ts} +0 -0
  1041. /package/dist/src/backend/services/{run-script-proxy.service.test.d.ts → run-script/service/run-script-proxy.service.test.d.ts} +0 -0
  1042. /package/dist/src/backend/services/{workspace-snapshot-store.service.test.d.ts → workspace/service/snapshot/workspace-snapshot-store.service.test.d.ts} +0 -0
  1043. /package/dist/src/backend/services/{git-clone.service.d.ts → workspace/service/worktree/git-clone.service.d.ts} +0 -0
  1044. /package/dist/src/backend/services/{git-clone.service.test.d.ts → workspace/service/worktree/git-clone.service.test.d.ts} +0 -0
  1045. /package/dist/src/backend/services/{git-ops.service.test.d.ts → workspace/service/worktree/git-ops.service.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition.test.d.ts","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/composition.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
3
+ import { createFakeApplicationGraph } from '../../../test-utils/application-graph.js';
4
+ const mockFindByProjectId = vi.hoisted(() => vi.fn());
5
+ const mockCountPending = vi.hoisted(() => vi.fn());
6
+ const mockGetWorkspaceWithWorktree = vi.hoisted(() => vi.fn());
7
+ vi.mock('@/backend/trpc/workspace/workspace-helpers', async (importOriginal) => {
8
+ const original = await importOriginal();
9
+ return {
10
+ ...original,
11
+ getWorkspaceWithWorktree: mockGetWorkspaceWithWorktree,
12
+ };
13
+ });
14
+ import { workspaceRouter } from '../../../backend/trpc/workspace.trpc.js';
15
+ import { unsafeCoerce } from '../../../test-utils/unsafe-coerce.js';
16
+ describe('workspace router composition', () => {
17
+ beforeEach(() => {
18
+ vi.clearAllMocks();
19
+ mockFindByProjectId.mockResolvedValue([]);
20
+ mockCountPending.mockResolvedValue(0);
21
+ mockGetWorkspaceWithWorktree.mockResolvedValue(null);
22
+ });
23
+ it('does not read internal procedure definitions', () => {
24
+ const workspaceRouterSource = readFileSync(new URL('../workspace.trpc.ts', import.meta.url), 'utf8');
25
+ expect(workspaceRouterSource).not.toContain('_def.procedures');
26
+ });
27
+ it('keeps core, child-workspace, and file procedures on the public flat caller', async () => {
28
+ const fakeGraph = createFakeApplicationGraph('workspace-composition');
29
+ const services = {
30
+ ...fakeGraph.services,
31
+ workspaceDataService: Object.assign({}, fakeGraph.services.workspaceDataService, {
32
+ findByProjectId: mockFindByProjectId,
33
+ }),
34
+ workspaceNotificationService: Object.assign({}, fakeGraph.services.workspaceNotificationService, { countPending: mockCountPending }),
35
+ };
36
+ const caller = workspaceRouter.createCaller(unsafeCoerce({
37
+ appContext: {
38
+ services,
39
+ lifecycle: fakeGraph.lifecycle,
40
+ config: fakeGraph.config,
41
+ },
42
+ }));
43
+ await expect(caller.list({ projectId: 'project-1' })).resolves.toEqual([]);
44
+ await expect(caller.getPendingNotificationCount({ workspaceId: 'workspace-1' })).resolves.toBe(0);
45
+ await expect(caller.listAllFiles({ workspaceId: 'workspace-1', limit: 50 })).resolves.toEqual({
46
+ files: [],
47
+ hasWorktree: false,
48
+ });
49
+ });
50
+ });
51
+ //# sourceMappingURL=composition.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition.test.js","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/composition.test.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,14 @@ import path, { join } from 'node:path';
4
4
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
5
  const mockGetWorkspaceWithWorktree = vi.hoisted(() => vi.fn());
6
6
  const mockGetWorkspaceWithWorktreeOrThrow = vi.hoisted(() => vi.fn());
7
+ const mockGitStateInvalidate = vi.hoisted(() => vi.fn());
7
8
  vi.mock('./workspace-helpers', () => ({
8
9
  getWorkspaceWithWorktree: (...args) => mockGetWorkspaceWithWorktree(...args),
9
10
  getWorkspaceWithWorktreeOrThrow: (...args) => mockGetWorkspaceWithWorktreeOrThrow(...args),
10
11
  }));
12
+ vi.mock('@/backend/services/workspace-git-state.service', () => ({
13
+ workspaceGitStateService: { invalidate: mockGitStateInvalidate },
14
+ }));
11
15
  import { workspaceFilesRouter } from './files.trpc.js';
12
16
  function createCaller() {
13
17
  return workspaceFilesRouter.createCaller({
@@ -19,6 +23,7 @@ function createCaller() {
19
23
  warn: vi.fn(),
20
24
  error: vi.fn(),
21
25
  }),
26
+ workspaceGitStateService: { invalidate: mockGitStateInvalidate },
22
27
  },
23
28
  },
24
29
  });
@@ -112,6 +117,7 @@ describe('workspaceFilesRouter', () => {
112
117
  path: '.factory-factory/screenshots/shot.png',
113
118
  })).resolves.toEqual({ success: true });
114
119
  expect(() => unlinkSync(screenshotPath)).toThrow();
120
+ expect(mockGitStateInvalidate).toHaveBeenCalledWith(rootDir);
115
121
  });
116
122
  });
117
123
  //# sourceMappingURL=files.router.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"files.router.test.js","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/files.router.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.router.test.js","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/files.router.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.trpc.d.ts","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/files.trpc.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,OAAO,EAA2B,MAAM,qBAAqB,CAAC;AA+B5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAqMQ,MAAM;sBAAQ,MAAM;sBAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEzE,CAAC"}
1
+ {"version":3,"file":"files.trpc.d.ts","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/files.trpc.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,OAAO,EAA2B,MAAM,qBAAqB,CAAC;AAgC5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAiNQ,MAAM;sBAAQ,MAAM;sBAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EzE,CAAC"}
@@ -9,11 +9,11 @@ import { getWorkspaceWithWorktree, getWorkspaceWithWorktreeOrThrow } from './wor
9
9
  const loggerName = 'workspace-files-trpc';
10
10
  const getLogger = (ctx) => ctx.appContext.services.createLogger(loggerName);
11
11
  const SCREENSHOT_IMAGE_EXTENSIONS = new Set(['.png', '.jpg', '.jpeg', '.webp']);
12
- async function validateScreenshotPath(workspaceId, screenshotPath) {
12
+ async function validateScreenshotPath(workspaceDataService, workspaceId, screenshotPath) {
13
13
  if (!screenshotPath.startsWith('.factory-factory/screenshots/')) {
14
14
  throw new Error('Invalid screenshot path');
15
15
  }
16
- const { worktreePath } = await getWorkspaceWithWorktreeOrThrow(workspaceId);
16
+ const { worktreePath } = await getWorkspaceWithWorktreeOrThrow(workspaceDataService, workspaceId);
17
17
  if (!(await isPathSafe(worktreePath, screenshotPath))) {
18
18
  throw new Error('Invalid file path');
19
19
  }
@@ -21,7 +21,7 @@ async function validateScreenshotPath(workspaceId, screenshotPath) {
21
21
  if (!SCREENSHOT_IMAGE_EXTENSIONS.has(ext)) {
22
22
  throw new Error('Invalid image format');
23
23
  }
24
- return path.join(worktreePath, screenshotPath);
24
+ return { fullPath: path.join(worktreePath, screenshotPath), worktreePath };
25
25
  }
26
26
  export const workspaceFilesRouter = router({
27
27
  listAllFiles: publicProcedure
@@ -32,7 +32,7 @@ export const workspaceFilesRouter = router({
32
32
  }))
33
33
  .query(async ({ ctx, input }) => {
34
34
  const logger = getLogger(ctx);
35
- const result = await getWorkspaceWithWorktree(input.workspaceId);
35
+ const result = await getWorkspaceWithWorktree(ctx.appContext.services.workspaceDataService, input.workspaceId);
36
36
  if (!result) {
37
37
  logger.warn('No worktreePath for workspace', { workspaceId: input.workspaceId });
38
38
  return { files: [], hasWorktree: false };
@@ -64,7 +64,7 @@ export const workspaceFilesRouter = router({
64
64
  }))
65
65
  .query(async ({ ctx, input }) => {
66
66
  const logger = getLogger(ctx);
67
- const result = await getWorkspaceWithWorktree(input.workspaceId);
67
+ const result = await getWorkspaceWithWorktree(ctx.appContext.services.workspaceDataService, input.workspaceId);
68
68
  logger.info('listFiles called', {
69
69
  workspaceId: input.workspaceId,
70
70
  worktreePath: result?.worktreePath,
@@ -124,8 +124,8 @@ export const workspaceFilesRouter = router({
124
124
  workspaceId: z.string(),
125
125
  path: z.string(),
126
126
  }))
127
- .query(async ({ input }) => {
128
- const { worktreePath } = await getWorkspaceWithWorktreeOrThrow(input.workspaceId);
127
+ .query(async ({ ctx, input }) => {
128
+ const { worktreePath } = await getWorkspaceWithWorktreeOrThrow(ctx.appContext.services.workspaceDataService, input.workspaceId);
129
129
  if (!(await isPathSafe(worktreePath, input.path))) {
130
130
  throw new Error('Invalid file path');
131
131
  }
@@ -168,8 +168,8 @@ export const workspaceFilesRouter = router({
168
168
  }),
169
169
  listScreenshots: publicProcedure
170
170
  .input(z.object({ workspaceId: z.string() }))
171
- .query(async ({ input }) => {
172
- const result = await getWorkspaceWithWorktree(input.workspaceId);
171
+ .query(async ({ ctx, input }) => {
172
+ const result = await getWorkspaceWithWorktree(ctx.appContext.services.workspaceDataService, input.workspaceId);
173
173
  if (!result) {
174
174
  return { screenshots: [], hasWorktree: false };
175
175
  }
@@ -208,8 +208,8 @@ export const workspaceFilesRouter = router({
208
208
  workspaceId: z.string(),
209
209
  path: z.string(),
210
210
  }))
211
- .query(async ({ input }) => {
212
- const fullPath = await validateScreenshotPath(input.workspaceId, input.path);
211
+ .query(async ({ ctx, input }) => {
212
+ const { fullPath } = await validateScreenshotPath(ctx.appContext.services.workspaceDataService, input.workspaceId, input.path);
213
213
  const buffer = await readFile(fullPath);
214
214
  const ext = path.extname(input.path).toLowerCase();
215
215
  const mimeMap = {
@@ -229,9 +229,10 @@ export const workspaceFilesRouter = router({
229
229
  workspaceId: z.string(),
230
230
  path: z.string(),
231
231
  }))
232
- .mutation(async ({ input }) => {
233
- const fullPath = await validateScreenshotPath(input.workspaceId, input.path);
232
+ .mutation(async ({ ctx, input }) => {
233
+ const { fullPath, worktreePath } = await validateScreenshotPath(ctx.appContext.services.workspaceDataService, input.workspaceId, input.path);
234
234
  await unlink(fullPath);
235
+ ctx.appContext.services.workspaceGitStateService.invalidate(worktreePath);
235
236
  return { success: true };
236
237
  }),
237
238
  });
@@ -1 +1 @@
1
- {"version":3,"file":"files.trpc.js","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/files.trpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.trpc.js","sourceRoot":"","sources":["../../../../../src/backend/trpc/workspace/files.trpc.ts"],"names":[],"mappings":"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"}
@@ -5,32 +5,55 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
5
  const mockWorkspaceDataService = vi.hoisted(() => ({
6
6
  findByIdWithProject: vi.fn(),
7
7
  }));
8
- const mockGetWorkspaceWithWorktree = vi.hoisted(() => vi.fn());
9
8
  const mockGetWorkspaceWithProjectAndWorktreeOrThrow = vi.hoisted(() => vi.fn());
10
9
  const mockGitCommand = vi.hoisted(() => vi.fn());
11
- const mockGetMergeBase = vi.hoisted(() => vi.fn());
12
10
  const mockIsPathSafe = vi.hoisted(() => vi.fn(async () => true));
13
- vi.mock('@/backend/services/workspace', () => ({
14
- workspaceDataService: mockWorkspaceDataService,
15
- }));
16
- vi.mock('./workspace-helpers', () => ({
17
- getWorkspaceWithWorktree: (...args) => mockGetWorkspaceWithWorktree(...args),
18
- getWorkspaceWithProjectAndWorktreeOrThrow: (...args) => mockGetWorkspaceWithProjectAndWorktreeOrThrow(...args),
19
- }));
11
+ const mockGetSnapshot = vi.hoisted(() => vi.fn());
12
+ const mockGetMergeBase = vi.hoisted(() => vi.fn());
13
+ vi.mock('./workspace-helpers', async (importOriginal) => {
14
+ const actual = await importOriginal();
15
+ return {
16
+ ...actual,
17
+ getWorkspaceWithProjectAndWorktreeOrThrow: (...args) => mockGetWorkspaceWithProjectAndWorktreeOrThrow(...args),
18
+ };
19
+ });
20
20
  vi.mock('@/backend/lib/shell', () => ({
21
21
  gitCommand: (...args) => mockGitCommand(...args),
22
22
  }));
23
23
  vi.mock('@/backend/lib/file-helpers', () => ({
24
24
  isPathSafe: mockIsPathSafe,
25
25
  }));
26
- vi.mock('@/backend/lib/git-helpers', async (importOriginal) => {
27
- const actual = await importOriginal();
26
+ import { workspaceGitRouter } from './git.trpc.js';
27
+ function makeSnapshot(overrides = {}) {
28
28
  return {
29
- ...actual,
30
- getMergeBase: (...args) => mockGetMergeBase(...args),
29
+ worktreePath: '/repo/w1',
30
+ defaultBranch: 'main',
31
+ computedAt: 1,
32
+ status: {
33
+ files: [
34
+ { path: 'README.md', status: 'M', staged: false },
35
+ { path: 'package.json', status: 'M', staged: true },
36
+ ],
37
+ hasUncommitted: true,
38
+ ...overrides.status,
39
+ },
40
+ base: {
41
+ mergeBase: 'merge-base-sha',
42
+ noMergeBase: false,
43
+ stats: { total: 3, additions: 2, deletions: 1, hasUncommitted: true },
44
+ added: [{ path: 'new.ts', status: 'added' }],
45
+ modified: [{ path: 'mod.ts', status: 'modified' }],
46
+ deleted: [{ path: 'gone.ts', status: 'deleted' }],
47
+ ...overrides.base,
48
+ },
49
+ upstream: {
50
+ ref: 'origin/feature',
51
+ hasUpstream: true,
52
+ files: ['src/a.ts', 'src/b.ts'],
53
+ ...overrides.upstream,
54
+ },
31
55
  };
32
- });
33
- import { workspaceGitRouter } from './git.trpc.js';
56
+ }
34
57
  function createCaller() {
35
58
  const logger = {
36
59
  debug: vi.fn(),
@@ -42,6 +65,11 @@ function createCaller() {
42
65
  appContext: {
43
66
  services: {
44
67
  createLogger: () => logger,
68
+ workspaceDataService: mockWorkspaceDataService,
69
+ workspaceGitStateService: {
70
+ getSnapshot: (...args) => mockGetSnapshot(...args),
71
+ getMergeBase: (...args) => mockGetMergeBase(...args),
72
+ },
45
73
  },
46
74
  },
47
75
  });
@@ -56,187 +84,144 @@ describe('workspaceGitRouter', () => {
56
84
  afterEach(() => {
57
85
  rmSync(rootDir, { recursive: true, force: true });
58
86
  });
59
- it('returns empty status when workspace has no worktree', async () => {
60
- mockGetWorkspaceWithWorktree.mockResolvedValue(null);
87
+ it('preserves NOT_FOUND errors for every aggregate endpoint when the workspace is missing', async () => {
88
+ mockWorkspaceDataService.findByIdWithProject.mockResolvedValue(null);
89
+ const caller = createCaller();
90
+ const requests = [
91
+ caller.getGitStatus({ workspaceId: 'missing' }),
92
+ caller.getUnstagedChanges({ workspaceId: 'missing' }),
93
+ caller.getDiffVsMain({ workspaceId: 'missing' }),
94
+ caller.getUnpushedFiles({ workspaceId: 'missing' }),
95
+ ];
96
+ await Promise.all(requests.map((request) => expect(request).rejects.toMatchObject({
97
+ code: 'NOT_FOUND',
98
+ message: 'Workspace not found: missing',
99
+ })));
100
+ });
101
+ it('preserves empty aggregate responses when workspace has no worktree', async () => {
102
+ mockWorkspaceDataService.findByIdWithProject.mockResolvedValue({
103
+ id: 'w1',
104
+ worktreePath: null,
105
+ project: { defaultBranch: 'main' },
106
+ });
61
107
  const caller = createCaller();
62
108
  await expect(caller.getGitStatus({ workspaceId: 'w1' })).resolves.toEqual({
63
109
  files: [],
64
110
  hasUncommitted: false,
65
111
  });
66
- });
67
- it('throws when git status fails and handles empty unstaged workspace result', async () => {
68
- const caller = createCaller();
69
- mockGetWorkspaceWithWorktree.mockResolvedValueOnce({
70
- workspace: { id: 'w1' },
71
- worktreePath: '/repo',
72
- });
73
- mockGitCommand.mockResolvedValueOnce({
74
- code: 1,
75
- stdout: '',
76
- stderr: 'fatal',
77
- });
78
- await expect(caller.getGitStatus({ workspaceId: 'w1' })).rejects.toThrow('Git status failed: fatal');
79
- mockGetWorkspaceWithWorktree.mockResolvedValueOnce(null);
80
112
  await expect(caller.getUnstagedChanges({ workspaceId: 'w1' })).resolves.toEqual({
81
113
  files: [],
82
114
  });
83
- mockGetWorkspaceWithWorktree.mockResolvedValueOnce({
84
- workspace: { id: 'w1' },
85
- worktreePath: '/repo',
115
+ await expect(caller.getDiffVsMain({ workspaceId: 'w1' })).resolves.toEqual({
116
+ added: [],
117
+ modified: [],
118
+ deleted: [],
119
+ noMergeBase: false,
86
120
  });
87
- mockGitCommand.mockResolvedValueOnce({
88
- code: 1,
89
- stdout: '',
90
- stderr: 'status failed',
121
+ await expect(caller.getUnpushedFiles({ workspaceId: 'w1' })).resolves.toEqual({
122
+ files: [],
123
+ hasUpstream: false,
91
124
  });
92
- await expect(caller.getUnstagedChanges({ workspaceId: 'w1' })).rejects.toThrow('Git status failed: status failed');
125
+ expect(mockGetSnapshot).not.toHaveBeenCalled();
93
126
  });
94
- it('parses git status and unstaged changes', async () => {
95
- mockGetWorkspaceWithWorktree.mockResolvedValue({
96
- workspace: { id: 'w1' },
97
- worktreePath: '/repo',
98
- });
99
- mockGitCommand.mockResolvedValue({
100
- code: 0,
101
- stdout: ' M README.md\nM package.json\n',
102
- stderr: '',
127
+ it('projects all aggregate endpoints from concurrent shared snapshot requests', async () => {
128
+ mockWorkspaceDataService.findByIdWithProject.mockResolvedValue({
129
+ id: 'w1',
130
+ worktreePath: '/repo/w1',
131
+ project: { defaultBranch: 'main' },
103
132
  });
133
+ const snapshot = makeSnapshot();
134
+ const sharedRequest = Promise.resolve(snapshot);
135
+ mockGetSnapshot.mockReturnValue(sharedRequest);
104
136
  const caller = createCaller();
105
- await expect(caller.getGitStatus({ workspaceId: 'w1' })).resolves.toEqual({
137
+ const [status, unstaged, diff, unpushed] = await Promise.all([
138
+ caller.getGitStatus({ workspaceId: 'w1' }),
139
+ caller.getUnstagedChanges({ workspaceId: 'w1' }),
140
+ caller.getDiffVsMain({ workspaceId: 'w1' }),
141
+ caller.getUnpushedFiles({ workspaceId: 'w1' }),
142
+ ]);
143
+ expect(status).toEqual({
106
144
  files: [
107
145
  { path: 'README.md', status: 'M', staged: false },
108
146
  { path: 'package.json', status: 'M', staged: true },
109
147
  ],
110
148
  hasUncommitted: true,
111
149
  });
112
- await expect(caller.getUnstagedChanges({ workspaceId: 'w1' })).resolves.toEqual({
150
+ expect(unstaged).toEqual({
113
151
  files: [{ path: 'README.md', status: 'M', staged: false }],
114
152
  });
115
- });
116
- it('handles diff-vs-main missing workspace/no-worktree and parses status lines', async () => {
117
- const caller = createCaller();
118
- mockWorkspaceDataService.findByIdWithProject.mockResolvedValueOnce(null);
119
- await expect(caller.getDiffVsMain({ workspaceId: 'missing' })).rejects.toThrow('Workspace not found: missing');
120
- mockWorkspaceDataService.findByIdWithProject.mockResolvedValueOnce({
121
- id: 'w1',
122
- worktreePath: null,
123
- project: { defaultBranch: 'main' },
124
- });
125
- await expect(caller.getDiffVsMain({ workspaceId: 'w1' })).resolves.toEqual({
126
- added: [],
127
- modified: [],
128
- deleted: [],
129
- noMergeBase: false,
130
- });
131
- mockWorkspaceDataService.findByIdWithProject.mockResolvedValueOnce({
132
- id: 'w2',
133
- worktreePath: '/repo',
134
- project: {},
135
- });
136
- mockGetMergeBase.mockResolvedValueOnce('merge-base-sha');
137
- mockGitCommand.mockResolvedValueOnce({
138
- code: 0,
139
- stdout: 'A\tnew.ts\nM\tmod.ts\nD\tgone.ts\nR100\told.ts\tnew.ts\nbad-line\n',
140
- stderr: '',
141
- });
142
- await expect(caller.getDiffVsMain({ workspaceId: 'w2' })).resolves.toEqual({
153
+ expect(diff).toEqual({
143
154
  added: [{ path: 'new.ts', status: 'added' }],
144
155
  modified: [{ path: 'mod.ts', status: 'modified' }],
145
156
  deleted: [{ path: 'gone.ts', status: 'deleted' }],
146
157
  noMergeBase: false,
147
158
  });
148
- mockWorkspaceDataService.findByIdWithProject.mockResolvedValueOnce({
149
- id: 'w3',
150
- worktreePath: '/repo',
151
- project: { defaultBranch: 'main' },
159
+ expect(unpushed).toEqual({
160
+ files: ['src/a.ts', 'src/b.ts'],
161
+ hasUpstream: true,
152
162
  });
153
- mockGetMergeBase.mockResolvedValueOnce('merge-base-sha');
154
- mockGitCommand.mockResolvedValueOnce({
155
- code: 1,
156
- stdout: '',
157
- stderr: 'diff failed',
163
+ expect(mockGetSnapshot).toHaveBeenCalledTimes(4);
164
+ expect(mockGetSnapshot).toHaveBeenCalledWith({
165
+ worktreePath: '/repo/w1',
166
+ defaultBranch: 'main',
158
167
  });
159
- await expect(caller.getDiffVsMain({ workspaceId: 'w3' })).rejects.toThrow('Git diff failed: diff failed');
168
+ expect(mockGitCommand).not.toHaveBeenCalled();
160
169
  });
161
- it('handles unpushed-files branches for upstream and diff failures', async () => {
170
+ it('throws only errors from the section requested by each endpoint', async () => {
162
171
  const caller = createCaller();
163
- mockGetWorkspaceWithWorktree.mockResolvedValueOnce(null);
164
- await expect(caller.getUnpushedFiles({ workspaceId: 'missing' })).resolves.toEqual({
165
- files: [],
166
- hasUpstream: false,
167
- });
168
- mockGetWorkspaceWithWorktree.mockResolvedValueOnce({
169
- workspace: { id: 'w1' },
170
- worktreePath: '/repo',
171
- });
172
- mockGitCommand.mockResolvedValueOnce({
173
- code: 0,
174
- stdout: '\n',
175
- stderr: '',
176
- });
177
- await expect(caller.getUnpushedFiles({ workspaceId: 'w1' })).resolves.toEqual({
178
- files: [],
179
- hasUpstream: false,
180
- });
181
- mockGetWorkspaceWithWorktree.mockResolvedValueOnce({
182
- workspace: { id: 'w2' },
183
- worktreePath: '/repo',
172
+ mockWorkspaceDataService.findByIdWithProject.mockResolvedValue({
173
+ id: 'w1',
174
+ worktreePath: '/repo/w1',
175
+ project: { defaultBranch: 'main' },
184
176
  });
185
- mockGitCommand
186
- .mockResolvedValueOnce({
187
- code: 0,
188
- stdout: 'origin/main\n',
189
- stderr: '',
190
- })
191
- .mockResolvedValueOnce({
192
- code: 1,
193
- stdout: '',
194
- stderr: 'cannot diff',
177
+ mockGetSnapshot.mockResolvedValue(makeSnapshot({
178
+ base: { statsError: 'stats failed', changesError: 'changes failed' },
179
+ upstream: { error: 'upstream failed' },
180
+ }));
181
+ await expect(caller.getGitStatus({ workspaceId: 'w1' })).resolves.toMatchObject({
182
+ hasUncommitted: true,
195
183
  });
196
- await expect(caller.getUnpushedFiles({ workspaceId: 'w2' })).rejects.toThrow('Git diff failed: cannot diff');
197
- mockGetWorkspaceWithWorktree.mockResolvedValueOnce({
198
- workspace: { id: 'w3' },
199
- worktreePath: '/repo',
184
+ await expect(caller.getUnstagedChanges({ workspaceId: 'w1' })).resolves.toEqual({
185
+ files: [{ path: 'README.md', status: 'M', staged: false }],
200
186
  });
201
- mockGitCommand
202
- .mockResolvedValueOnce({
203
- code: 0,
204
- stdout: 'origin/main\n',
205
- stderr: '',
206
- })
207
- .mockResolvedValueOnce({
208
- code: 0,
209
- stdout: 'src/a.ts\n\nsrc/b.ts\n',
210
- stderr: '',
187
+ mockGetSnapshot.mockResolvedValue(makeSnapshot({ status: { error: 'status failed' }, upstream: { error: 'upstream failed' } }));
188
+ await expect(caller.getDiffVsMain({ workspaceId: 'w1' })).resolves.toMatchObject({
189
+ noMergeBase: false,
211
190
  });
212
- await expect(caller.getUnpushedFiles({ workspaceId: 'w3' })).resolves.toEqual({
213
- files: ['src/a.ts', 'src/b.ts'],
191
+ mockGetSnapshot.mockResolvedValue(makeSnapshot({ status: { error: 'status failed' }, base: { changesError: 'changes failed' } }));
192
+ await expect(caller.getUnpushedFiles({ workspaceId: 'w1' })).resolves.toMatchObject({
214
193
  hasUpstream: true,
215
194
  });
195
+ mockGetSnapshot.mockResolvedValue(makeSnapshot({ status: { error: 'status failed' } }));
196
+ await expect(caller.getGitStatus({ workspaceId: 'w1' })).rejects.toThrow('Git status failed: status failed');
197
+ await expect(caller.getUnstagedChanges({ workspaceId: 'w1' })).rejects.toThrow('Git status failed: status failed');
198
+ mockGetSnapshot.mockResolvedValue(makeSnapshot({ base: { changesError: 'changes failed' } }));
199
+ await expect(caller.getDiffVsMain({ workspaceId: 'w1' })).rejects.toThrow('Git diff failed: changes failed');
200
+ mockGetSnapshot.mockResolvedValue(makeSnapshot({ base: { statsError: 'stats failed' } }));
201
+ await expect(caller.getDiffVsMain({ workspaceId: 'w1' })).resolves.toMatchObject({
202
+ added: [{ path: 'new.ts', status: 'added' }],
203
+ noMergeBase: false,
204
+ });
205
+ mockGetSnapshot.mockResolvedValue(makeSnapshot({ upstream: { error: 'upstream failed' } }));
206
+ await expect(caller.getUnpushedFiles({ workspaceId: 'w1' })).rejects.toThrow('Git diff failed: upstream failed');
216
207
  });
217
- it('handles diff-vs-main, unpushed files, and untracked file diff fallback', async () => {
208
+ it('handles no merge base, no upstream, and untracked file diff fallback', async () => {
218
209
  const caller = createCaller();
219
210
  mockWorkspaceDataService.findByIdWithProject.mockResolvedValue({
220
211
  id: 'w1',
221
212
  worktreePath: '/repo',
222
213
  project: { defaultBranch: 'main' },
223
214
  });
224
- mockGetMergeBase.mockResolvedValueOnce(null);
215
+ mockGetSnapshot.mockResolvedValueOnce(makeSnapshot({
216
+ base: { mergeBase: null, noMergeBase: true, added: [], modified: [], deleted: [] },
217
+ }));
225
218
  await expect(caller.getDiffVsMain({ workspaceId: 'w1' })).resolves.toEqual({
226
219
  added: [],
227
220
  modified: [],
228
221
  deleted: [],
229
222
  noMergeBase: true,
230
223
  });
231
- mockGetWorkspaceWithWorktree.mockResolvedValue({
232
- workspace: { id: 'w1' },
233
- worktreePath: '/repo',
234
- });
235
- mockGitCommand.mockResolvedValueOnce({
236
- code: 1,
237
- stdout: '',
238
- stderr: 'no upstream',
239
- });
224
+ mockGetSnapshot.mockResolvedValueOnce(makeSnapshot({ upstream: { ref: null, hasUpstream: false, files: [] } }));
240
225
  await expect(caller.getUnpushedFiles({ workspaceId: 'w1' })).resolves.toEqual({
241
226
  files: [],
242
227
  hasUpstream: false,
@@ -303,6 +288,11 @@ describe('workspaceGitRouter', () => {
303
288
  stderr: 'broken diff',
304
289
  });
305
290
  await expect(caller.getFileDiff({ workspaceId: 'w4', filePath })).rejects.toThrow('Git diff failed: broken diff');
291
+ expect(mockGetSnapshot).not.toHaveBeenCalled();
292
+ expect(mockGetMergeBase).toHaveBeenCalledWith({
293
+ worktreePath: '/repo',
294
+ defaultBranch: 'main',
295
+ });
306
296
  });
307
297
  });
308
298
  //# sourceMappingURL=git.router.test.js.map