factory-factory 0.1.5 → 0.2.0

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 (568) hide show
  1. package/README.md +43 -0
  2. package/dist/client/assets/{_basePickBy-auQMLRsw.js → _basePickBy-BUCmhYMi.js} +1 -1
  3. package/dist/client/assets/{_baseUniq-BMdZG9To.js → _baseUniq-DkCvE4O6.js} +1 -1
  4. package/dist/client/assets/{arc-CTqmVKB0.js → arc-C1SZ3gFz.js} +1 -1
  5. package/dist/client/assets/{architectureDiagram-VXUJARFQ-mn7TDnXB.js → architectureDiagram-VXUJARFQ-DJw9fXI5.js} +1 -1
  6. package/dist/client/assets/{blockDiagram-VD42YOAC-D0QcWwFJ.js → blockDiagram-VD42YOAC-DxNjgXL1.js} +1 -1
  7. package/dist/client/assets/{c4Diagram-YG6GDRKO-Co5gIsxx.js → c4Diagram-YG6GDRKO-DYyf8hqJ.js} +1 -1
  8. package/dist/client/assets/channel-C1q-YHIv.js +1 -0
  9. package/dist/client/assets/{chunk-4BX2VUAB-D62ng-w_.js → chunk-4BX2VUAB-D_xs3w4g.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-Co2YjNYs.js → chunk-55IACEB6-NeVyGiBw.js} +1 -1
  11. package/dist/client/assets/{chunk-B4BG7PRW-z38ht5-D.js → chunk-B4BG7PRW-EyCx-NZJ.js} +1 -1
  12. package/dist/client/assets/{chunk-DI55MBZ5-BhLXfyfd.js → chunk-DI55MBZ5-PoOxaYU4.js} +1 -1
  13. package/dist/client/assets/{chunk-FMBD7UC4-CkXhdTBx.js → chunk-FMBD7UC4-D1FKmcwY.js} +1 -1
  14. package/dist/client/assets/{chunk-QN33PNHL-BVUY3PSB.js → chunk-QN33PNHL-B-nhuti6.js} +1 -1
  15. package/dist/client/assets/{chunk-QZHKN3VN-DcqnpQkK.js → chunk-QZHKN3VN-BvwrXwAL.js} +1 -1
  16. package/dist/client/assets/{chunk-TZMSLE5B-B3MHL8qH.js → chunk-TZMSLE5B-CwcAJq0Y.js} +1 -1
  17. package/dist/client/assets/classDiagram-2ON5EDUG-BRch7PJo.js +1 -0
  18. package/dist/client/assets/classDiagram-v2-WZHVMYZB-BRch7PJo.js +1 -0
  19. package/dist/client/assets/clone-D8y6D-S6.js +1 -0
  20. package/dist/client/assets/{cose-bilkent-S5V4N54A-C9QD2Vj0.js → cose-bilkent-S5V4N54A-70G8lj7y.js} +1 -1
  21. package/dist/client/assets/{dagre-6UL2VRFP-Dbfyf8O9.js → dagre-6UL2VRFP-CxTqTZJX.js} +1 -1
  22. package/dist/client/assets/{diagram-PSM6KHXK-DYRvz_Qg.js → diagram-PSM6KHXK-wdA5gBhP.js} +1 -1
  23. package/dist/client/assets/{diagram-QEK2KX5R-DtPeTPAB.js → diagram-QEK2KX5R-BWiPIEBn.js} +1 -1
  24. package/dist/client/assets/{diagram-S2PKOQOG-BS4iPIf_.js → diagram-S2PKOQOG-CzhUSsIe.js} +1 -1
  25. package/dist/client/assets/{erDiagram-Q2GNP2WA-k4lDNTHf.js → erDiagram-Q2GNP2WA-DvowAcu-.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-NV44I4VS-V62nOD8U.js → flowDiagram-NV44I4VS-B9jMwSHS.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-JELNMOA3-gFntrpvN.js → ganttDiagram-JELNMOA3-Bfaxm8Qf.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-NY62KEGX-BL07Phhj.js → gitGraphDiagram-NY62KEGX-5EWbjg13.js} +1 -1
  29. package/dist/client/assets/{graph-ETbv5TWG.js → graph-Bms-Sm3d.js} +1 -1
  30. package/dist/client/assets/index-Cp1e-xYL.js +408 -0
  31. package/dist/client/assets/index-CwyuSNf-.css +1 -0
  32. package/dist/client/assets/{infoDiagram-WHAUD3N6-C8zwYaNm.js → infoDiagram-WHAUD3N6-DYAoqgKw.js} +1 -1
  33. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-DOV_hzrw.js → journeyDiagram-XKPGCS4Q-B0HifI98.js} +1 -1
  34. package/dist/client/assets/{kanban-definition-3W4ZIXB7-1FfVptSb.js → kanban-definition-3W4ZIXB7-BnBdOX8w.js} +1 -1
  35. package/dist/client/assets/{layout-Bvnfpgsa.js → layout-Tzmamt4J.js} +1 -1
  36. package/dist/client/assets/{linear-BFfZiIkJ.js → linear-DuZ88VjU.js} +1 -1
  37. package/dist/client/assets/{mindmap-definition-VGOIOE7T-BMCn7QhC.js → mindmap-definition-VGOIOE7T-mIqXf7ud.js} +1 -1
  38. package/dist/client/assets/{pieDiagram-ADFJNKIX-DMOd-_iB.js → pieDiagram-ADFJNKIX-LU3IJ_3z.js} +1 -1
  39. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-u_3HRHh2.js → quadrantDiagram-AYHSOK5B-RcfMXzE1.js} +1 -1
  40. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-BZwVSXWr.js → requirementDiagram-UZGBJVZJ-fCa8OVB7.js} +1 -1
  41. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-DOWjxbUH.js → sankeyDiagram-TZEHDZUN-ByI3z-Yp.js} +1 -1
  42. package/dist/client/assets/{sequenceDiagram-WL72ISMW-DwXxnRBe.js → sequenceDiagram-WL72ISMW-Bi2fH0fZ.js} +1 -1
  43. package/dist/client/assets/{stateDiagram-FKZM4ZOC-8BpOZTJw.js → stateDiagram-FKZM4ZOC-BcKHGHcW.js} +1 -1
  44. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-DIADSwH3.js +1 -0
  45. package/dist/client/assets/{terminal-instance-Bpw7QC1n.js → terminal-instance-CXvzjFQW.js} +1 -1
  46. package/dist/client/assets/{timeline-definition-IT6M3QCI-CbV19eXj.js → timeline-definition-IT6M3QCI-7U7VPI2C.js} +1 -1
  47. package/dist/client/assets/{treemap-KMMF4GRG-CZkxCyK0.js → treemap-KMMF4GRG-B1RMkeMx.js} +1 -1
  48. package/dist/client/assets/{xychartDiagram-PRI3JC2R-DPKbYLDL.js → xychartDiagram-PRI3JC2R-DC1DrOy8.js} +1 -1
  49. package/dist/client/index.html +2 -2
  50. package/dist/prisma/generated/commonInputTypes.d.ts +100 -0
  51. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  52. package/dist/prisma/generated/enums.d.ts +11 -5
  53. package/dist/prisma/generated/enums.d.ts.map +1 -1
  54. package/dist/prisma/generated/enums.js +10 -5
  55. package/dist/prisma/generated/enums.js.map +1 -1
  56. package/dist/prisma/generated/internal/class.js +2 -2
  57. package/dist/prisma/generated/internal/class.js.map +1 -1
  58. package/dist/prisma/generated/internal/prismaNamespace.d.ts +43 -0
  59. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  60. package/dist/prisma/generated/internal/prismaNamespace.js +37 -0
  61. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  62. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +40 -0
  63. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  64. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +37 -0
  65. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  66. package/dist/prisma/generated/models/UserSettings.d.ts +341 -1
  67. package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
  68. package/dist/prisma/generated/models/Workspace.d.ts +480 -1
  69. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  70. package/dist/prompts/workflows/ci-fix.md +52 -0
  71. package/dist/prompts/workflows/pr-review-fix.md +61 -0
  72. package/dist/prompts/workflows/ratchet.md +83 -0
  73. package/dist/src/backend/app-context.d.ts +56 -0
  74. package/dist/src/backend/app-context.d.ts.map +1 -0
  75. package/dist/src/backend/app-context.js +59 -0
  76. package/dist/src/backend/app-context.js.map +1 -0
  77. package/dist/src/backend/claude/index.d.ts +5 -14
  78. package/dist/src/backend/claude/index.d.ts.map +1 -1
  79. package/dist/src/backend/claude/index.js +27 -121
  80. package/dist/src/backend/claude/index.js.map +1 -1
  81. package/dist/src/backend/claude/monitoring.d.ts +53 -0
  82. package/dist/src/backend/claude/monitoring.d.ts.map +1 -0
  83. package/dist/src/backend/claude/monitoring.js +139 -0
  84. package/dist/src/backend/claude/monitoring.js.map +1 -0
  85. package/dist/src/backend/claude/permission-coordinator.d.ts +43 -0
  86. package/dist/src/backend/claude/permission-coordinator.d.ts.map +1 -0
  87. package/dist/src/backend/claude/permission-coordinator.js +170 -0
  88. package/dist/src/backend/claude/permission-coordinator.js.map +1 -0
  89. package/dist/src/backend/claude/permission-coordinator.test.d.ts +2 -0
  90. package/dist/src/backend/claude/permission-coordinator.test.d.ts.map +1 -0
  91. package/dist/src/backend/claude/permission-coordinator.test.js +86 -0
  92. package/dist/src/backend/claude/permission-coordinator.test.js.map +1 -0
  93. package/dist/src/backend/claude/process.d.ts +6 -22
  94. package/dist/src/backend/claude/process.d.ts.map +1 -1
  95. package/dist/src/backend/claude/process.js +22 -118
  96. package/dist/src/backend/claude/process.js.map +1 -1
  97. package/dist/src/backend/claude/protocol-io.d.ts +47 -0
  98. package/dist/src/backend/claude/protocol-io.d.ts.map +1 -0
  99. package/dist/src/backend/claude/protocol-io.js +60 -0
  100. package/dist/src/backend/claude/protocol-io.js.map +1 -0
  101. package/dist/src/backend/claude/types.d.ts +19 -124
  102. package/dist/src/backend/claude/types.d.ts.map +1 -1
  103. package/dist/src/backend/claude/types.js.map +1 -1
  104. package/dist/src/backend/clients/git.client.d.ts +7 -0
  105. package/dist/src/backend/clients/git.client.d.ts.map +1 -1
  106. package/dist/src/backend/clients/git.client.js +127 -3
  107. package/dist/src/backend/clients/git.client.js.map +1 -1
  108. package/dist/src/backend/clients/git.client.test.js +52 -8
  109. package/dist/src/backend/clients/git.client.test.js.map +1 -1
  110. package/dist/src/backend/index.js +5 -4
  111. package/dist/src/backend/index.js.map +1 -1
  112. package/dist/src/backend/interceptors/conversation-rename.interceptor.d.ts.map +1 -1
  113. package/dist/src/backend/interceptors/conversation-rename.interceptor.js +1 -2
  114. package/dist/src/backend/interceptors/conversation-rename.interceptor.js.map +1 -1
  115. package/dist/src/backend/interceptors/git-push.interceptor.d.ts +3 -0
  116. package/dist/src/backend/interceptors/git-push.interceptor.d.ts.map +1 -0
  117. package/dist/src/backend/interceptors/git-push.interceptor.js +31 -0
  118. package/dist/src/backend/interceptors/git-push.interceptor.js.map +1 -0
  119. package/dist/src/backend/interceptors/index.d.ts.map +1 -1
  120. package/dist/src/backend/interceptors/index.js +2 -0
  121. package/dist/src/backend/interceptors/index.js.map +1 -1
  122. package/dist/src/backend/lib/file-helpers.d.ts +1 -0
  123. package/dist/src/backend/lib/file-helpers.d.ts.map +1 -1
  124. package/dist/src/backend/lib/file-helpers.js +10 -1
  125. package/dist/src/backend/lib/file-helpers.js.map +1 -1
  126. package/dist/src/backend/lib/file-helpers.test.js +17 -2
  127. package/dist/src/backend/lib/file-helpers.test.js.map +1 -1
  128. package/dist/src/backend/middleware/cors.middleware.d.ts +3 -1
  129. package/dist/src/backend/middleware/cors.middleware.d.ts.map +1 -1
  130. package/dist/src/backend/middleware/cors.middleware.js +18 -15
  131. package/dist/src/backend/middleware/cors.middleware.js.map +1 -1
  132. package/dist/src/backend/middleware/index.d.ts +2 -2
  133. package/dist/src/backend/middleware/index.d.ts.map +1 -1
  134. package/dist/src/backend/middleware/index.js +2 -2
  135. package/dist/src/backend/middleware/index.js.map +1 -1
  136. package/dist/src/backend/middleware/middleware.test.js +23 -21
  137. package/dist/src/backend/middleware/middleware.test.js.map +1 -1
  138. package/dist/src/backend/middleware/request-logger.middleware.d.ts +3 -1
  139. package/dist/src/backend/middleware/request-logger.middleware.d.ts.map +1 -1
  140. package/dist/src/backend/middleware/request-logger.middleware.js +19 -16
  141. package/dist/src/backend/middleware/request-logger.middleware.js.map +1 -1
  142. package/dist/src/backend/resource_accessors/project.accessor.d.ts +4 -0
  143. package/dist/src/backend/resource_accessors/project.accessor.d.ts.map +1 -1
  144. package/dist/src/backend/resource_accessors/project.accessor.js +28 -0
  145. package/dist/src/backend/resource_accessors/project.accessor.js.map +1 -1
  146. package/dist/src/backend/resource_accessors/project.accessor.test.d.ts +2 -0
  147. package/dist/src/backend/resource_accessors/project.accessor.test.d.ts.map +1 -0
  148. package/dist/src/backend/resource_accessors/project.accessor.test.js +85 -0
  149. package/dist/src/backend/resource_accessors/project.accessor.test.js.map +1 -0
  150. package/dist/src/backend/resource_accessors/user-settings.accessor.d.ts +16 -1
  151. package/dist/src/backend/resource_accessors/user-settings.accessor.d.ts.map +1 -1
  152. package/dist/src/backend/resource_accessors/user-settings.accessor.js +18 -0
  153. package/dist/src/backend/resource_accessors/user-settings.accessor.js.map +1 -1
  154. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts +34 -1
  155. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts.map +1 -1
  156. package/dist/src/backend/resource_accessors/workspace.accessor.js +63 -0
  157. package/dist/src/backend/resource_accessors/workspace.accessor.js.map +1 -1
  158. package/dist/src/backend/resource_accessors/workspace.accessor.test.d.ts +2 -0
  159. package/dist/src/backend/resource_accessors/workspace.accessor.test.d.ts.map +1 -0
  160. package/dist/src/backend/resource_accessors/workspace.accessor.test.js +44 -0
  161. package/dist/src/backend/resource_accessors/workspace.accessor.test.js.map +1 -0
  162. package/dist/src/backend/routers/api/health.router.d.ts +4 -2
  163. package/dist/src/backend/routers/api/health.router.d.ts.map +1 -1
  164. package/dist/src/backend/routers/api/health.router.js +62 -59
  165. package/dist/src/backend/routers/api/health.router.js.map +1 -1
  166. package/dist/src/backend/routers/api/health.router.test.js +19 -17
  167. package/dist/src/backend/routers/api/health.router.test.js.map +1 -1
  168. package/dist/src/backend/routers/api/mcp.router.d.ts +4 -2
  169. package/dist/src/backend/routers/api/mcp.router.d.ts.map +1 -1
  170. package/dist/src/backend/routers/api/mcp.router.js +33 -30
  171. package/dist/src/backend/routers/api/mcp.router.js.map +1 -1
  172. package/dist/src/backend/routers/api/mcp.router.test.js +16 -12
  173. package/dist/src/backend/routers/api/mcp.router.test.js.map +1 -1
  174. package/dist/src/backend/routers/api/project.router.d.ts +4 -2
  175. package/dist/src/backend/routers/api/project.router.d.ts.map +1 -1
  176. package/dist/src/backend/routers/api/project.router.js +226 -219
  177. package/dist/src/backend/routers/api/project.router.js.map +1 -1
  178. package/dist/src/backend/routers/websocket/chat.handler.d.ts +3 -1
  179. package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
  180. package/dist/src/backend/routers/websocket/chat.handler.js +199 -158
  181. package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
  182. package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts +3 -1
  183. package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts.map +1 -1
  184. package/dist/src/backend/routers/websocket/dev-logs.handler.js +58 -55
  185. package/dist/src/backend/routers/websocket/dev-logs.handler.js.map +1 -1
  186. package/dist/src/backend/routers/websocket/index.d.ts +3 -3
  187. package/dist/src/backend/routers/websocket/index.d.ts.map +1 -1
  188. package/dist/src/backend/routers/websocket/index.js +3 -3
  189. package/dist/src/backend/routers/websocket/index.js.map +1 -1
  190. package/dist/src/backend/routers/websocket/message-utils.d.ts +2 -0
  191. package/dist/src/backend/routers/websocket/message-utils.d.ts.map +1 -0
  192. package/dist/src/backend/routers/websocket/message-utils.js +16 -0
  193. package/dist/src/backend/routers/websocket/message-utils.js.map +1 -0
  194. package/dist/src/backend/routers/websocket/terminal.handler.d.ts +3 -1
  195. package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
  196. package/dist/src/backend/routers/websocket/terminal.handler.js +288 -247
  197. package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
  198. package/dist/src/backend/schemas/websocket/index.d.ts +1 -1
  199. package/dist/src/backend/schemas/websocket/index.d.ts.map +1 -1
  200. package/dist/src/backend/schemas/websocket/index.js +1 -1
  201. package/dist/src/backend/schemas/websocket/index.js.map +1 -1
  202. package/dist/src/backend/server.d.ts +4 -8
  203. package/dist/src/backend/server.d.ts.map +1 -1
  204. package/dist/src/backend/server.js +25 -19
  205. package/dist/src/backend/server.js.map +1 -1
  206. package/dist/src/backend/services/chat-event-forwarder.service.d.ts.map +1 -1
  207. package/dist/src/backend/services/chat-event-forwarder.service.js +16 -18
  208. package/dist/src/backend/services/chat-event-forwarder.service.js.map +1 -1
  209. package/dist/src/backend/services/chat-message-handlers/attachment-utils.d.ts +5 -0
  210. package/dist/src/backend/services/chat-message-handlers/attachment-utils.d.ts.map +1 -0
  211. package/dist/src/backend/services/chat-message-handlers/attachment-utils.js +27 -0
  212. package/dist/src/backend/services/chat-message-handlers/attachment-utils.js.map +1 -0
  213. package/dist/src/backend/services/chat-message-handlers/attachment-utils.test.d.ts +2 -0
  214. package/dist/src/backend/services/chat-message-handlers/attachment-utils.test.d.ts.map +1 -0
  215. package/dist/src/backend/services/chat-message-handlers/attachment-utils.test.js +36 -0
  216. package/dist/src/backend/services/chat-message-handlers/attachment-utils.test.js.map +1 -0
  217. package/dist/src/backend/services/chat-message-handlers/constants.d.ts +5 -0
  218. package/dist/src/backend/services/chat-message-handlers/constants.d.ts.map +1 -0
  219. package/dist/src/backend/services/chat-message-handlers/constants.js +7 -0
  220. package/dist/src/backend/services/chat-message-handlers/constants.js.map +1 -0
  221. package/dist/src/backend/services/chat-message-handlers/handlers/get-history.handler.d.ts +3 -0
  222. package/dist/src/backend/services/chat-message-handlers/handlers/get-history.handler.d.ts.map +1 -0
  223. package/dist/src/backend/services/chat-message-handlers/handlers/get-history.handler.js +16 -0
  224. package/dist/src/backend/services/chat-message-handlers/handlers/get-history.handler.js.map +1 -0
  225. package/dist/src/backend/services/chat-message-handlers/handlers/get-queue.handler.d.ts +3 -0
  226. package/dist/src/backend/services/chat-message-handlers/handlers/get-queue.handler.d.ts.map +1 -0
  227. package/dist/src/backend/services/chat-message-handlers/handlers/get-queue.handler.js +13 -0
  228. package/dist/src/backend/services/chat-message-handlers/handlers/get-queue.handler.js.map +1 -0
  229. package/dist/src/backend/services/chat-message-handlers/handlers/handlers.test.d.ts +2 -0
  230. package/dist/src/backend/services/chat-message-handlers/handlers/handlers.test.d.ts.map +1 -0
  231. package/dist/src/backend/services/chat-message-handlers/handlers/handlers.test.js +478 -0
  232. package/dist/src/backend/services/chat-message-handlers/handlers/handlers.test.js.map +1 -0
  233. package/dist/src/backend/services/chat-message-handlers/handlers/list-sessions.handler.d.ts +3 -0
  234. package/dist/src/backend/services/chat-message-handlers/handlers/list-sessions.handler.d.ts.map +1 -0
  235. package/dist/src/backend/services/chat-message-handlers/handlers/list-sessions.handler.js +8 -0
  236. package/dist/src/backend/services/chat-message-handlers/handlers/list-sessions.handler.js.map +1 -0
  237. package/dist/src/backend/services/chat-message-handlers/handlers/load-session.handler.d.ts +3 -0
  238. package/dist/src/backend/services/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -0
  239. package/dist/src/backend/services/chat-message-handlers/handlers/load-session.handler.js +113 -0
  240. package/dist/src/backend/services/chat-message-handlers/handlers/load-session.handler.js.map +1 -0
  241. package/dist/src/backend/services/chat-message-handlers/handlers/permission-response.handler.d.ts +3 -0
  242. package/dist/src/backend/services/chat-message-handlers/handlers/permission-response.handler.d.ts.map +1 -0
  243. package/dist/src/backend/services/chat-message-handlers/handlers/permission-response.handler.js +43 -0
  244. package/dist/src/backend/services/chat-message-handlers/handlers/permission-response.handler.js.map +1 -0
  245. package/dist/src/backend/services/chat-message-handlers/handlers/question-response.handler.d.ts +3 -0
  246. package/dist/src/backend/services/chat-message-handlers/handlers/question-response.handler.d.ts.map +1 -0
  247. package/dist/src/backend/services/chat-message-handlers/handlers/question-response.handler.js +35 -0
  248. package/dist/src/backend/services/chat-message-handlers/handlers/question-response.handler.js.map +1 -0
  249. package/dist/src/backend/services/chat-message-handlers/handlers/queue-message.handler.d.ts +3 -0
  250. package/dist/src/backend/services/chat-message-handlers/handlers/queue-message.handler.d.ts.map +1 -0
  251. package/dist/src/backend/services/chat-message-handlers/handlers/queue-message.handler.js +46 -0
  252. package/dist/src/backend/services/chat-message-handlers/handlers/queue-message.handler.js.map +1 -0
  253. package/dist/src/backend/services/chat-message-handlers/handlers/remove-queued-message.handler.d.ts +3 -0
  254. package/dist/src/backend/services/chat-message-handlers/handlers/remove-queued-message.handler.d.ts.map +1 -0
  255. package/dist/src/backend/services/chat-message-handlers/handlers/remove-queued-message.handler.js +23 -0
  256. package/dist/src/backend/services/chat-message-handlers/handlers/remove-queued-message.handler.js.map +1 -0
  257. package/dist/src/backend/services/chat-message-handlers/handlers/rewind-files.handler.d.ts +3 -0
  258. package/dist/src/backend/services/chat-message-handlers/handlers/rewind-files.handler.d.ts.map +1 -0
  259. package/dist/src/backend/services/chat-message-handlers/handlers/rewind-files.handler.js +49 -0
  260. package/dist/src/backend/services/chat-message-handlers/handlers/rewind-files.handler.js.map +1 -0
  261. package/dist/src/backend/services/chat-message-handlers/handlers/set-model.handler.d.ts +3 -0
  262. package/dist/src/backend/services/chat-message-handlers/handlers/set-model.handler.d.ts.map +1 -0
  263. package/dist/src/backend/services/chat-message-handlers/handlers/set-model.handler.js +31 -0
  264. package/dist/src/backend/services/chat-message-handlers/handlers/set-model.handler.js.map +1 -0
  265. package/dist/src/backend/services/chat-message-handlers/handlers/set-thinking-budget.handler.d.ts +3 -0
  266. package/dist/src/backend/services/chat-message-handlers/handlers/set-thinking-budget.handler.d.ts.map +1 -0
  267. package/dist/src/backend/services/chat-message-handlers/handlers/set-thinking-budget.handler.js +34 -0
  268. package/dist/src/backend/services/chat-message-handlers/handlers/set-thinking-budget.handler.js.map +1 -0
  269. package/dist/src/backend/services/chat-message-handlers/handlers/start.handler.d.ts +3 -0
  270. package/dist/src/backend/services/chat-message-handlers/handlers/start.handler.d.ts.map +1 -0
  271. package/dist/src/backend/services/chat-message-handlers/handlers/start.handler.js +27 -0
  272. package/dist/src/backend/services/chat-message-handlers/handlers/start.handler.js.map +1 -0
  273. package/dist/src/backend/services/chat-message-handlers/handlers/stop.handler.d.ts +3 -0
  274. package/dist/src/backend/services/chat-message-handlers/handlers/stop.handler.d.ts.map +1 -0
  275. package/dist/src/backend/services/chat-message-handlers/handlers/stop.handler.js +10 -0
  276. package/dist/src/backend/services/chat-message-handlers/handlers/stop.handler.js.map +1 -0
  277. package/dist/src/backend/services/chat-message-handlers/handlers/user-input.handler.d.ts +3 -0
  278. package/dist/src/backend/services/chat-message-handlers/handlers/user-input.handler.d.ts.map +1 -0
  279. package/dist/src/backend/services/chat-message-handlers/handlers/user-input.handler.js +24 -0
  280. package/dist/src/backend/services/chat-message-handlers/handlers/user-input.handler.js.map +1 -0
  281. package/dist/src/backend/services/chat-message-handlers/interactive-response.d.ts +3 -0
  282. package/dist/src/backend/services/chat-message-handlers/interactive-response.d.ts.map +1 -0
  283. package/dist/src/backend/services/chat-message-handlers/interactive-response.js +83 -0
  284. package/dist/src/backend/services/chat-message-handlers/interactive-response.js.map +1 -0
  285. package/dist/src/backend/services/chat-message-handlers/registry.d.ts +5 -0
  286. package/dist/src/backend/services/chat-message-handlers/registry.d.ts.map +1 -0
  287. package/dist/src/backend/services/chat-message-handlers/registry.js +33 -0
  288. package/dist/src/backend/services/chat-message-handlers/registry.js.map +1 -0
  289. package/dist/src/backend/services/chat-message-handlers/types.d.ts +22 -0
  290. package/dist/src/backend/services/chat-message-handlers/types.d.ts.map +1 -0
  291. package/dist/src/backend/services/chat-message-handlers/types.js +2 -0
  292. package/dist/src/backend/services/chat-message-handlers/types.js.map +1 -0
  293. package/dist/src/backend/services/chat-message-handlers/utils.d.ts +6 -0
  294. package/dist/src/backend/services/chat-message-handlers/utils.d.ts.map +1 -0
  295. package/dist/src/backend/services/chat-message-handlers/utils.js +28 -0
  296. package/dist/src/backend/services/chat-message-handlers/utils.js.map +1 -0
  297. package/dist/src/backend/services/chat-message-handlers.service.d.ts +4 -33
  298. package/dist/src/backend/services/chat-message-handlers.service.d.ts.map +1 -1
  299. package/dist/src/backend/services/chat-message-handlers.service.js +32 -478
  300. package/dist/src/backend/services/chat-message-handlers.service.js.map +1 -1
  301. package/dist/src/backend/services/chat-transport-adapter.service.d.ts +10 -0
  302. package/dist/src/backend/services/chat-transport-adapter.service.d.ts.map +1 -0
  303. package/dist/src/backend/services/chat-transport-adapter.service.js +46 -0
  304. package/dist/src/backend/services/chat-transport-adapter.service.js.map +1 -0
  305. package/dist/src/backend/services/chat-transport-adapter.service.test.d.ts +2 -0
  306. package/dist/src/backend/services/chat-transport-adapter.service.test.d.ts.map +1 -0
  307. package/dist/src/backend/services/chat-transport-adapter.service.test.js +67 -0
  308. package/dist/src/backend/services/chat-transport-adapter.service.test.js.map +1 -0
  309. package/dist/src/backend/services/ci-fixer.service.d.ts +42 -0
  310. package/dist/src/backend/services/ci-fixer.service.d.ts.map +1 -0
  311. package/dist/src/backend/services/ci-fixer.service.js +210 -0
  312. package/dist/src/backend/services/ci-fixer.service.js.map +1 -0
  313. package/dist/src/backend/services/ci-fixer.service.test.d.ts +2 -0
  314. package/dist/src/backend/services/ci-fixer.service.test.d.ts.map +1 -0
  315. package/dist/src/backend/services/ci-fixer.service.test.js +561 -0
  316. package/dist/src/backend/services/ci-fixer.service.test.js.map +1 -0
  317. package/dist/src/backend/services/ci-monitor.service.d.ts +3 -0
  318. package/dist/src/backend/services/ci-monitor.service.d.ts.map +1 -1
  319. package/dist/src/backend/services/ci-monitor.service.js +103 -36
  320. package/dist/src/backend/services/ci-monitor.service.js.map +1 -1
  321. package/dist/src/backend/services/data-backup.service.d.ts +152 -0
  322. package/dist/src/backend/services/data-backup.service.d.ts.map +1 -0
  323. package/dist/src/backend/services/data-backup.service.js +421 -0
  324. package/dist/src/backend/services/data-backup.service.js.map +1 -0
  325. package/dist/src/backend/services/event-compression.service.d.ts +1 -0
  326. package/dist/src/backend/services/event-compression.service.d.ts.map +1 -1
  327. package/dist/src/backend/services/event-compression.service.js +4 -1
  328. package/dist/src/backend/services/event-compression.service.js.map +1 -1
  329. package/dist/src/backend/services/git-ops.service.d.ts +29 -0
  330. package/dist/src/backend/services/git-ops.service.d.ts.map +1 -0
  331. package/dist/src/backend/services/git-ops.service.js +127 -0
  332. package/dist/src/backend/services/git-ops.service.js.map +1 -0
  333. package/dist/src/backend/services/github-cli.service.d.ts +31 -0
  334. package/dist/src/backend/services/github-cli.service.d.ts.map +1 -1
  335. package/dist/src/backend/services/github-cli.service.js +144 -0
  336. package/dist/src/backend/services/github-cli.service.js.map +1 -1
  337. package/dist/src/backend/services/index.d.ts +5 -0
  338. package/dist/src/backend/services/index.d.ts.map +1 -1
  339. package/dist/src/backend/services/index.js +5 -0
  340. package/dist/src/backend/services/index.js.map +1 -1
  341. package/dist/src/backend/services/kanban-state.service.d.ts +2 -2
  342. package/dist/src/backend/services/kanban-state.service.d.ts.map +1 -1
  343. package/dist/src/backend/services/kanban-state.service.js +14 -19
  344. package/dist/src/backend/services/kanban-state.service.js.map +1 -1
  345. package/dist/src/backend/services/kanban-state.service.test.js +68 -55
  346. package/dist/src/backend/services/kanban-state.service.test.js.map +1 -1
  347. package/dist/src/backend/services/message-event-store.d.ts +12 -0
  348. package/dist/src/backend/services/message-event-store.d.ts.map +1 -0
  349. package/dist/src/backend/services/message-event-store.js +21 -0
  350. package/dist/src/backend/services/message-event-store.js.map +1 -0
  351. package/dist/src/backend/services/message-event-store.test.d.ts +2 -0
  352. package/dist/src/backend/services/message-event-store.test.d.ts.map +1 -0
  353. package/dist/src/backend/services/message-event-store.test.js +32 -0
  354. package/dist/src/backend/services/message-event-store.test.js.map +1 -0
  355. package/dist/src/backend/services/message-queue.service.d.ts +2 -2
  356. package/dist/src/backend/services/message-queue.service.d.ts.map +1 -1
  357. package/dist/src/backend/services/message-state-machine.d.ts +37 -0
  358. package/dist/src/backend/services/message-state-machine.d.ts.map +1 -0
  359. package/dist/src/backend/services/message-state-machine.js +262 -0
  360. package/dist/src/backend/services/message-state-machine.js.map +1 -0
  361. package/dist/src/backend/services/message-state-machine.test.d.ts +2 -0
  362. package/dist/src/backend/services/message-state-machine.test.d.ts.map +1 -0
  363. package/dist/src/backend/services/message-state-machine.test.js +67 -0
  364. package/dist/src/backend/services/message-state-machine.test.js.map +1 -0
  365. package/dist/src/backend/services/message-state.service.d.ts +41 -8
  366. package/dist/src/backend/services/message-state.service.d.ts.map +1 -1
  367. package/dist/src/backend/services/message-state.service.js +136 -251
  368. package/dist/src/backend/services/message-state.service.js.map +1 -1
  369. package/dist/src/backend/services/message-state.service.test.js +98 -54
  370. package/dist/src/backend/services/message-state.service.test.js.map +1 -1
  371. package/dist/src/backend/services/pr-review-fixer.service.d.ts +56 -0
  372. package/dist/src/backend/services/pr-review-fixer.service.d.ts.map +1 -0
  373. package/dist/src/backend/services/pr-review-fixer.service.js +247 -0
  374. package/dist/src/backend/services/pr-review-fixer.service.js.map +1 -0
  375. package/dist/src/backend/services/pr-review-monitor.service.d.ts +18 -0
  376. package/dist/src/backend/services/pr-review-monitor.service.d.ts.map +1 -0
  377. package/dist/src/backend/services/pr-review-monitor.service.js +209 -0
  378. package/dist/src/backend/services/pr-review-monitor.service.js.map +1 -0
  379. package/dist/src/backend/services/ratchet.service.d.ts +115 -0
  380. package/dist/src/backend/services/ratchet.service.d.ts.map +1 -0
  381. package/dist/src/backend/services/ratchet.service.js +587 -0
  382. package/dist/src/backend/services/ratchet.service.js.map +1 -0
  383. package/dist/src/backend/services/ratchet.service.test.d.ts +2 -0
  384. package/dist/src/backend/services/ratchet.service.test.d.ts.map +1 -0
  385. package/dist/src/backend/services/ratchet.service.test.js +254 -0
  386. package/dist/src/backend/services/ratchet.service.test.js.map +1 -0
  387. package/dist/src/backend/services/reconciliation.service.d.ts.map +1 -1
  388. package/dist/src/backend/services/reconciliation.service.js +3 -1
  389. package/dist/src/backend/services/reconciliation.service.js.map +1 -1
  390. package/dist/src/backend/services/reconciliation.service.test.js +6 -2
  391. package/dist/src/backend/services/reconciliation.service.test.js.map +1 -1
  392. package/dist/src/backend/services/server-instance.service.d.ts +3 -2
  393. package/dist/src/backend/services/server-instance.service.d.ts.map +1 -1
  394. package/dist/src/backend/services/server-instance.service.js.map +1 -1
  395. package/dist/src/backend/services/session-file-logger.service.d.ts +1 -0
  396. package/dist/src/backend/services/session-file-logger.service.d.ts.map +1 -1
  397. package/dist/src/backend/services/session-file-logger.service.js +63 -37
  398. package/dist/src/backend/services/session-file-logger.service.js.map +1 -1
  399. package/dist/src/backend/services/session-file-logger.service.test.js +107 -1
  400. package/dist/src/backend/services/session-file-logger.service.test.js.map +1 -1
  401. package/dist/src/backend/services/session.process-manager.d.ts +47 -0
  402. package/dist/src/backend/services/session.process-manager.d.ts.map +1 -0
  403. package/dist/src/backend/services/session.process-manager.js +188 -0
  404. package/dist/src/backend/services/session.process-manager.js.map +1 -0
  405. package/dist/src/backend/services/session.process-manager.test.d.ts +2 -0
  406. package/dist/src/backend/services/session.process-manager.test.d.ts.map +1 -0
  407. package/dist/src/backend/services/session.process-manager.test.js +55 -0
  408. package/dist/src/backend/services/session.process-manager.test.js.map +1 -0
  409. package/dist/src/backend/services/session.prompt-builder.d.ts +26 -0
  410. package/dist/src/backend/services/session.prompt-builder.d.ts.map +1 -0
  411. package/dist/src/backend/services/session.prompt-builder.js +24 -0
  412. package/dist/src/backend/services/session.prompt-builder.js.map +1 -0
  413. package/dist/src/backend/services/session.prompt-builder.test.d.ts +2 -0
  414. package/dist/src/backend/services/session.prompt-builder.test.d.ts.map +1 -0
  415. package/dist/src/backend/services/session.prompt-builder.test.js +89 -0
  416. package/dist/src/backend/services/session.prompt-builder.test.js.map +1 -0
  417. package/dist/src/backend/services/session.repository.d.ts +28 -0
  418. package/dist/src/backend/services/session.repository.d.ts.map +1 -0
  419. package/dist/src/backend/services/session.repository.js +31 -0
  420. package/dist/src/backend/services/session.repository.js.map +1 -0
  421. package/dist/src/backend/services/session.service.d.ts +21 -5
  422. package/dist/src/backend/services/session.service.d.ts.map +1 -1
  423. package/dist/src/backend/services/session.service.js +180 -197
  424. package/dist/src/backend/services/session.service.js.map +1 -1
  425. package/dist/src/backend/services/session.service.test.d.ts +2 -0
  426. package/dist/src/backend/services/session.service.test.d.ts.map +1 -0
  427. package/dist/src/backend/services/session.service.test.js +173 -0
  428. package/dist/src/backend/services/session.service.test.js.map +1 -0
  429. package/dist/src/backend/services/slash-command-cache.service.d.ts +8 -0
  430. package/dist/src/backend/services/slash-command-cache.service.d.ts.map +1 -0
  431. package/dist/src/backend/services/slash-command-cache.service.js +89 -0
  432. package/dist/src/backend/services/slash-command-cache.service.js.map +1 -0
  433. package/dist/src/backend/services/startup-script.service.d.ts +1 -0
  434. package/dist/src/backend/services/startup-script.service.d.ts.map +1 -1
  435. package/dist/src/backend/services/startup-script.service.js +42 -2
  436. package/dist/src/backend/services/startup-script.service.js.map +1 -1
  437. package/dist/src/backend/services/workspace-query.service.d.ts +140 -0
  438. package/dist/src/backend/services/workspace-query.service.d.ts.map +1 -0
  439. package/dist/src/backend/services/workspace-query.service.js +247 -0
  440. package/dist/src/backend/services/workspace-query.service.js.map +1 -0
  441. package/dist/src/backend/services/worktree-lifecycle-init.test.d.ts +2 -0
  442. package/dist/src/backend/services/worktree-lifecycle-init.test.d.ts.map +1 -0
  443. package/dist/src/backend/services/worktree-lifecycle-init.test.js +198 -0
  444. package/dist/src/backend/services/worktree-lifecycle-init.test.js.map +1 -0
  445. package/dist/src/backend/services/worktree-lifecycle.service.d.ts +68 -0
  446. package/dist/src/backend/services/worktree-lifecycle.service.d.ts.map +1 -0
  447. package/dist/src/backend/services/worktree-lifecycle.service.js +481 -0
  448. package/dist/src/backend/services/worktree-lifecycle.service.js.map +1 -0
  449. package/dist/src/backend/services/worktree-lifecycle.service.test.d.ts +2 -0
  450. package/dist/src/backend/services/worktree-lifecycle.service.test.d.ts.map +1 -0
  451. package/dist/src/backend/services/worktree-lifecycle.service.test.js +36 -0
  452. package/dist/src/backend/services/worktree-lifecycle.service.test.js.map +1 -0
  453. package/dist/src/backend/trpc/admin.trpc.d.ts +200 -5
  454. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  455. package/dist/src/backend/trpc/admin.trpc.js +42 -9
  456. package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
  457. package/dist/src/backend/trpc/decision-log.trpc.d.ts +4 -7
  458. package/dist/src/backend/trpc/decision-log.trpc.d.ts.map +1 -1
  459. package/dist/src/backend/trpc/github.trpc.d.ts +52 -0
  460. package/dist/src/backend/trpc/github.trpc.d.ts.map +1 -0
  461. package/dist/src/backend/trpc/github.trpc.js +87 -0
  462. package/dist/src/backend/trpc/github.trpc.js.map +1 -0
  463. package/dist/src/backend/trpc/index.d.ts +660 -138
  464. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  465. package/dist/src/backend/trpc/index.js +2 -0
  466. package/dist/src/backend/trpc/index.js.map +1 -1
  467. package/dist/src/backend/trpc/pr-review.trpc.d.ts +1 -4
  468. package/dist/src/backend/trpc/pr-review.trpc.d.ts.map +1 -1
  469. package/dist/src/backend/trpc/pr-review.trpc.js +12 -11
  470. package/dist/src/backend/trpc/pr-review.trpc.js.map +1 -1
  471. package/dist/src/backend/trpc/procedures/project-scoped.d.ts +2 -4
  472. package/dist/src/backend/trpc/procedures/project-scoped.d.ts.map +1 -1
  473. package/dist/src/backend/trpc/project.trpc.d.ts +46 -10
  474. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  475. package/dist/src/backend/trpc/project.trpc.js +64 -2
  476. package/dist/src/backend/trpc/project.trpc.js.map +1 -1
  477. package/dist/src/backend/trpc/session.trpc.d.ts +98 -57
  478. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  479. package/dist/src/backend/trpc/session.trpc.js +12 -10
  480. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  481. package/dist/src/backend/trpc/trpc.d.ts +4 -3
  482. package/dist/src/backend/trpc/trpc.d.ts.map +1 -1
  483. package/dist/src/backend/trpc/trpc.js +2 -1
  484. package/dist/src/backend/trpc/trpc.js.map +1 -1
  485. package/dist/src/backend/trpc/user-settings.trpc.d.ts +55 -4
  486. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  487. package/dist/src/backend/trpc/user-settings.trpc.js +39 -1
  488. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  489. package/dist/src/backend/trpc/workspace/files.trpc.d.ts +2 -4
  490. package/dist/src/backend/trpc/workspace/files.trpc.d.ts.map +1 -1
  491. package/dist/src/backend/trpc/workspace/files.trpc.js +4 -3
  492. package/dist/src/backend/trpc/workspace/files.trpc.js.map +1 -1
  493. package/dist/src/backend/trpc/workspace/git.trpc.d.ts +2 -4
  494. package/dist/src/backend/trpc/workspace/git.trpc.d.ts.map +1 -1
  495. package/dist/src/backend/trpc/workspace/git.trpc.js +4 -3
  496. package/dist/src/backend/trpc/workspace/git.trpc.js.map +1 -1
  497. package/dist/src/backend/trpc/workspace/ide.trpc.d.ts +1 -4
  498. package/dist/src/backend/trpc/workspace/ide.trpc.d.ts.map +1 -1
  499. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +27 -14
  500. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  501. package/dist/src/backend/trpc/workspace/init.trpc.js +20 -106
  502. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  503. package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts +1 -4
  504. package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts.map +1 -1
  505. package/dist/src/backend/trpc/workspace/run-script.trpc.js +5 -8
  506. package/dist/src/backend/trpc/workspace/run-script.trpc.js.map +1 -1
  507. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +34 -12
  508. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  509. package/dist/src/backend/trpc/workspace.trpc.d.ts +207 -48
  510. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  511. package/dist/src/backend/trpc/workspace.trpc.js +93 -235
  512. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  513. package/dist/src/backend/types/server-instance.d.ts +8 -0
  514. package/dist/src/backend/types/server-instance.d.ts.map +1 -0
  515. package/dist/src/backend/types/server-instance.js +2 -0
  516. package/dist/src/backend/types/server-instance.js.map +1 -0
  517. package/dist/src/cli/index.js +61 -43
  518. package/dist/src/cli/index.js.map +1 -1
  519. package/dist/src/shared/claude/index.d.ts +2 -0
  520. package/dist/src/shared/claude/index.d.ts.map +1 -0
  521. package/dist/src/shared/claude/index.js +2 -0
  522. package/dist/src/shared/claude/index.js.map +1 -0
  523. package/dist/src/{lib/claude-types.d.ts → shared/claude/protocol.d.ts} +4 -87
  524. package/dist/src/shared/claude/protocol.d.ts.map +1 -0
  525. package/dist/src/shared/claude/protocol.js +32 -0
  526. package/dist/src/shared/claude/protocol.js.map +1 -0
  527. package/dist/src/shared/github-types.d.ts +1 -0
  528. package/dist/src/shared/github-types.d.ts.map +1 -1
  529. package/dist/src/{backend/schemas → shared}/websocket/chat-message.schema.d.ts +23 -0
  530. package/dist/src/shared/websocket/chat-message.schema.d.ts.map +1 -0
  531. package/dist/src/{backend/schemas → shared}/websocket/chat-message.schema.js +3 -2
  532. package/dist/src/shared/websocket/chat-message.schema.js.map +1 -0
  533. package/dist/src/shared/websocket/index.d.ts +2 -0
  534. package/dist/src/shared/websocket/index.d.ts.map +1 -0
  535. package/dist/src/shared/websocket/index.js +2 -0
  536. package/dist/src/shared/websocket/index.js.map +1 -0
  537. package/dist/src/shared/workspace-words.d.ts +4 -0
  538. package/dist/src/shared/workspace-words.d.ts.map +1 -0
  539. package/dist/src/shared/workspace-words.js +68 -0
  540. package/dist/src/shared/workspace-words.js.map +1 -0
  541. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  542. package/package.json +24 -13
  543. package/prisma/migrations/20260202150527_add_notification_sound_path/migration.sql +2 -0
  544. package/prisma/migrations/20260202172937_add_auto_fix_ci_issues_setting/migration.sql +21 -0
  545. package/prisma/migrations/20260203120000_add_cached_slash_commands/migration.sql +20 -0
  546. package/prisma/migrations/20260203190000_add_workspace_order/migration.sql +2 -0
  547. package/prisma/migrations/20260204000000_add_init_output/migration.sql +2 -0
  548. package/prisma/migrations/20260204180116_watch_prs/migration.sql +90 -0
  549. package/prisma/migrations/20260204200000_simplify_kanban_columns/migration.sql +72 -0
  550. package/prisma/migrations/20260204210000_add_workspace_ratchet_enabled/migration.sql +2 -0
  551. package/prisma/migrations/20260205000000_add_is_auto_generated_branch/migration.sql +2 -0
  552. package/prisma/migrations/20260205012721_add_ratchet_last_push_at/migration.sql +2 -0
  553. package/prisma/schema.prisma +57 -13
  554. package/prompts/workflows/ci-fix.md +52 -0
  555. package/prompts/workflows/pr-review-fix.md +61 -0
  556. package/prompts/workflows/ratchet.md +83 -0
  557. package/dist/client/assets/channel-CSRLM5uf.js +0 -1
  558. package/dist/client/assets/classDiagram-2ON5EDUG-Bq8cRujI.js +0 -1
  559. package/dist/client/assets/classDiagram-v2-WZHVMYZB-Bq8cRujI.js +0 -1
  560. package/dist/client/assets/clone-CM-lZVxH.js +0 -1
  561. package/dist/client/assets/index-BH_6oh9T.js +0 -389
  562. package/dist/client/assets/index-C0yWBGfE.css +0 -1
  563. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-G6JS4dBh.js +0 -1
  564. package/dist/src/backend/schemas/websocket/chat-message.schema.d.ts.map +0 -1
  565. package/dist/src/backend/schemas/websocket/chat-message.schema.js.map +0 -1
  566. package/dist/src/lib/claude-types.d.ts.map +0 -1
  567. package/dist/src/lib/claude-types.js +0 -338
  568. package/dist/src/lib/claude-types.js.map +0 -1
@@ -1,12 +1,6 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- import { isClaudeMessage, isUserMessage, MessageState } from '../../lib/claude-types.js';
1
+ import { beforeEach, describe, expect, it } from 'vitest';
2
+ import { isClaudeMessage, isUserMessage, MessageState } from '../../shared/claude/index.js';
3
3
  import { messageStateService } from './message-state.service.js';
4
- vi.mock('./chat-connection.service', () => ({
5
- chatConnectionService: {
6
- forwardToSession: vi.fn(),
7
- },
8
- }));
9
- import { chatConnectionService } from './chat-connection.service.js';
10
4
  function createTestQueuedMessage(id, text = 'Test message') {
11
5
  return {
12
6
  id,
@@ -30,8 +24,14 @@ function createTestHistoryMessage(type, content, uuid) {
30
24
  describe('MessageStateService', () => {
31
25
  beforeEach(() => {
32
26
  messageStateService.clearAllSessions();
33
- vi.clearAllMocks();
34
27
  });
28
+ function collectEvents() {
29
+ const events = [];
30
+ const unsubscribe = messageStateService.onEvent((event) => {
31
+ events.push(event);
32
+ });
33
+ return { events, unsubscribe };
34
+ }
35
35
  describe('createUserMessage', () => {
36
36
  it('should create a user message in ACCEPTED state', () => {
37
37
  const msg = createTestQueuedMessage('msg-1');
@@ -80,22 +80,29 @@ describe('MessageStateService', () => {
80
80
  expect(result.attachments?.[0].name).toBe('image.png');
81
81
  });
82
82
  it('should emit state change event with full message content', () => {
83
+ const { events, unsubscribe } = collectEvents();
83
84
  const msg = createTestQueuedMessage('msg-1');
84
85
  messageStateService.createUserMessage('session-1', msg);
85
- expect(chatConnectionService.forwardToSession).toHaveBeenCalledWith('session-1', {
86
- type: 'message_state_changed',
87
- id: 'msg-1',
88
- newState: MessageState.ACCEPTED,
89
- queuePosition: 0,
90
- errorMessage: undefined,
91
- userMessage: {
92
- text: msg.text,
93
- timestamp: msg.timestamp,
94
- attachments: msg.attachments,
95
- settings: msg.settings,
96
- order: 0,
86
+ unsubscribe();
87
+ expect(events).toEqual([
88
+ {
89
+ type: 'message_state_changed',
90
+ sessionId: 'session-1',
91
+ data: {
92
+ id: 'msg-1',
93
+ newState: MessageState.ACCEPTED,
94
+ queuePosition: 0,
95
+ errorMessage: undefined,
96
+ userMessage: {
97
+ text: msg.text,
98
+ timestamp: msg.timestamp,
99
+ attachments: msg.attachments,
100
+ settings: msg.settings,
101
+ order: 0,
102
+ },
103
+ },
97
104
  },
98
- });
105
+ ]);
99
106
  });
100
107
  });
101
108
  describe('updateState', () => {
@@ -142,15 +149,22 @@ describe('MessageStateService', () => {
142
149
  it('should emit state change event on success', () => {
143
150
  const msg = createTestQueuedMessage('msg-1');
144
151
  messageStateService.createUserMessage('session-1', msg);
145
- vi.clearAllMocks();
152
+ const { events, unsubscribe } = collectEvents();
146
153
  messageStateService.updateState('session-1', 'msg-1', MessageState.DISPATCHED);
147
- expect(chatConnectionService.forwardToSession).toHaveBeenCalledWith('session-1', {
148
- type: 'message_state_changed',
149
- id: 'msg-1',
150
- newState: MessageState.DISPATCHED,
151
- queuePosition: 0,
152
- errorMessage: undefined,
153
- });
154
+ unsubscribe();
155
+ expect(events).toEqual([
156
+ {
157
+ type: 'message_state_changed',
158
+ sessionId: 'session-1',
159
+ data: {
160
+ id: 'msg-1',
161
+ newState: MessageState.DISPATCHED,
162
+ queuePosition: 0,
163
+ errorMessage: undefined,
164
+ userMessage: undefined,
165
+ },
166
+ },
167
+ ]);
154
168
  });
155
169
  });
156
170
  describe('getMessage', () => {
@@ -349,13 +363,14 @@ describe('MessageStateService', () => {
349
363
  expect(isUserMessage(messages[0]) ? messages[0].text : undefined).toBe('From history');
350
364
  });
351
365
  it('should not emit state change events (for cold load)', () => {
352
- vi.clearAllMocks();
366
+ const { events, unsubscribe } = collectEvents();
353
367
  const history = [
354
368
  createTestHistoryMessage('user', 'Hello', 'uuid-1'),
355
369
  createTestHistoryMessage('assistant', 'Hi!', 'uuid-2'),
356
370
  ];
357
371
  messageStateService.loadFromHistory('session-1', history);
358
- expect(chatConnectionService.forwardToSession).not.toHaveBeenCalled();
372
+ unsubscribe();
373
+ expect(events).toEqual([]);
359
374
  });
360
375
  it('should generate IDs for messages without UUIDs', () => {
361
376
  const history = [
@@ -377,6 +392,33 @@ describe('MessageStateService', () => {
377
392
  expect(isUserMessage(messages[0]) ? messages[0].text : undefined).toBe('From history');
378
393
  });
379
394
  });
395
+ describe('ensureHistoryLoaded', () => {
396
+ it('should reload history and preserve queued messages', () => {
397
+ messageStateService.createUserMessage('session-1', createTestQueuedMessage('queued-1'));
398
+ const history = [
399
+ createTestHistoryMessage('user', 'From history', 'uuid-1'),
400
+ ];
401
+ const didLoad = messageStateService.ensureHistoryLoaded('session-1', history);
402
+ expect(didLoad).toBe(true);
403
+ const messages = messageStateService.getAllMessages('session-1');
404
+ expect(messages).toHaveLength(2);
405
+ expect(isUserMessage(messages[0]) ? messages[0].text : undefined).toBe('From history');
406
+ expect(isUserMessage(messages[1]) ? messages[1].text : undefined).toBe('Test message');
407
+ });
408
+ it('should skip reload if non-queued messages already exist', () => {
409
+ const history = [
410
+ createTestHistoryMessage('user', 'Existing history', 'uuid-1'),
411
+ ];
412
+ messageStateService.loadFromHistory('session-1', history);
413
+ const didLoad = messageStateService.ensureHistoryLoaded('session-1', [
414
+ createTestHistoryMessage('user', 'New history', 'uuid-2'),
415
+ ]);
416
+ expect(didLoad).toBe(false);
417
+ const messages = messageStateService.getAllMessages('session-1');
418
+ expect(messages).toHaveLength(1);
419
+ expect(isUserMessage(messages[0]) ? messages[0].text : undefined).toBe('Existing history');
420
+ });
421
+ });
380
422
  describe('hasMessage', () => {
381
423
  it('should return true for existing message', () => {
382
424
  const msg = createTestQueuedMessage('msg-1');
@@ -406,17 +448,16 @@ describe('MessageStateService', () => {
406
448
  });
407
449
  describe('sendSnapshot', () => {
408
450
  it('should send messages_snapshot event', () => {
451
+ const { events, unsubscribe } = collectEvents();
409
452
  messageStateService.createUserMessage('session-1', createTestQueuedMessage('msg-1'));
410
- vi.clearAllMocks();
411
453
  messageStateService.sendSnapshot('session-1', { phase: 'ready' });
412
- expect(chatConnectionService.forwardToSession).toHaveBeenCalledWith('session-1', {
413
- type: 'messages_snapshot',
414
- messages: expect.any(Array),
415
- sessionStatus: { phase: 'ready' },
416
- pendingInteractiveRequest: undefined,
417
- });
454
+ unsubscribe();
455
+ expect(events.some((event) => event.type === 'messages_snapshot' &&
456
+ event.sessionId === 'session-1' &&
457
+ event.data.sessionStatus.phase === 'ready')).toBe(true);
418
458
  });
419
459
  it('should include pending interactive request if provided', () => {
460
+ const { events, unsubscribe } = collectEvents();
420
461
  const pendingRequest = {
421
462
  requestId: 'req-1',
422
463
  toolName: 'AskUserQuestion',
@@ -424,28 +465,32 @@ describe('MessageStateService', () => {
424
465
  timestamp: new Date().toISOString(),
425
466
  };
426
467
  messageStateService.sendSnapshot('session-1', { phase: 'running' }, pendingRequest);
427
- expect(chatConnectionService.forwardToSession).toHaveBeenCalledWith('session-1', {
428
- type: 'messages_snapshot',
429
- messages: expect.any(Array),
430
- sessionStatus: { phase: 'running' },
431
- pendingInteractiveRequest: pendingRequest,
432
- });
468
+ unsubscribe();
469
+ expect(events.some((event) => event.type === 'messages_snapshot' &&
470
+ event.sessionId === 'session-1' &&
471
+ event.data.sessionStatus.phase === 'running' &&
472
+ event.data.pendingInteractiveRequest === pendingRequest)).toBe(true);
433
473
  });
434
474
  it('should return messages sorted by order in snapshot', () => {
475
+ const { events, unsubscribe } = collectEvents();
435
476
  const msg1 = createTestQueuedMessage('msg-1');
436
477
  const msg2 = createTestQueuedMessage('msg-2');
437
478
  messageStateService.createUserMessage('session-1', msg1);
438
479
  messageStateService.createUserMessage('session-1', msg2);
439
- vi.clearAllMocks();
440
480
  messageStateService.sendSnapshot('session-1', { phase: 'ready' });
441
- const call = vi.mocked(chatConnectionService.forwardToSession).mock.calls[0];
442
- const payload = call[1];
481
+ unsubscribe();
482
+ const snapshot = events.find((event) => event.type === 'messages_snapshot');
483
+ if (!snapshot || snapshot.type !== 'messages_snapshot') {
484
+ expect.fail('Expected messages_snapshot event');
485
+ }
486
+ const payload = snapshot.data;
443
487
  expect(payload.messages[0].id).toBe('msg-1');
444
488
  expect(payload.messages[0].order).toBe(0);
445
489
  expect(payload.messages[1].id).toBe('msg-2');
446
490
  expect(payload.messages[1].order).toBe(1);
447
491
  });
448
492
  it('should include planContent in pendingInteractiveRequest', () => {
493
+ const { events, unsubscribe } = collectEvents();
449
494
  const pendingRequest = {
450
495
  requestId: 'req-plan-123',
451
496
  toolName: 'EnterPlanMode',
@@ -454,12 +499,11 @@ describe('MessageStateService', () => {
454
499
  timestamp: new Date().toISOString(),
455
500
  };
456
501
  messageStateService.sendSnapshot('session-1', { phase: 'running' }, pendingRequest);
457
- expect(chatConnectionService.forwardToSession).toHaveBeenCalledWith('session-1', {
458
- type: 'messages_snapshot',
459
- messages: [],
460
- sessionStatus: { phase: 'running' },
461
- pendingInteractiveRequest: pendingRequest,
462
- });
502
+ unsubscribe();
503
+ expect(events.some((event) => event.type === 'messages_snapshot' &&
504
+ event.sessionId === 'session-1' &&
505
+ event.data.sessionStatus.phase === 'running' &&
506
+ event.data.pendingInteractiveRequest === pendingRequest)).toBe(true);
463
507
  });
464
508
  });
465
509
  describe('computeSessionStatus', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"message-state.service.test.js","sourceRoot":"","sources":["../../../../src/backend/services/message-state.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-state.service.test.js","sourceRoot":"","sources":["../../../../src/backend/services/message-state.service.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { SessionStatus } from '../../../prisma/generated/client.js';
2
+ export interface ReviewCommentDetails {
3
+ reviews: Array<{
4
+ id: string;
5
+ author: string;
6
+ state: string;
7
+ body: string;
8
+ submittedAt: string;
9
+ }>;
10
+ comments: Array<{
11
+ id: number;
12
+ author: string;
13
+ body: string;
14
+ createdAt: string;
15
+ url: string;
16
+ path?: string;
17
+ line?: number | null;
18
+ }>;
19
+ }
20
+ export type PRReviewFixResult = {
21
+ status: 'started';
22
+ sessionId: string;
23
+ } | {
24
+ status: 'already_fixing';
25
+ sessionId: string;
26
+ } | {
27
+ status: 'skipped';
28
+ reason: string;
29
+ } | {
30
+ status: 'error';
31
+ error: string;
32
+ };
33
+ declare class PRReviewFixerService {
34
+ private readonly pendingFixes;
35
+ triggerReviewFix(params: {
36
+ workspaceId: string;
37
+ prUrl: string;
38
+ prNumber: number;
39
+ commentDetails: ReviewCommentDetails;
40
+ customPrompt?: string;
41
+ }): Promise<PRReviewFixResult>;
42
+ private doTriggerReviewFix;
43
+ isFixingInProgress(workspaceId: string): Promise<boolean>;
44
+ getActiveReviewFixSession(workspaceId: string): Promise<{
45
+ id: string;
46
+ status: SessionStatus;
47
+ } | null>;
48
+ notifyReviewsAddressed(workspaceId: string): Promise<boolean>;
49
+ private formatReview;
50
+ private formatComment;
51
+ private getReviewerUsernames;
52
+ private buildInitialPrompt;
53
+ }
54
+ export declare const prReviewFixerService: PRReviewFixerService;
55
+ export {};
56
+ //# sourceMappingURL=pr-review-fixer.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-review-fixer.service.d.ts","sourceRoot":"","sources":["../../../../src/backend/services/pr-review-fixer.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYnD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,cAAM,oBAAoB;IAExB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiD;IAMxE,gBAAgB,CAAC,MAAM,EAAE;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,oBAAoB,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAwBhB,kBAAkB;IAgK1B,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWzD,yBAAyB,CAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,GAAG,IAAI,CAAC;IAalD,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BnE,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,kBAAkB;CAkD3B;AAED,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}