factory-factory 0.1.6 → 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 (229) hide show
  1. package/README.md +43 -0
  2. package/dist/client/assets/{_basePickBy-DajQ9Hwg.js → _basePickBy-BUCmhYMi.js} +1 -1
  3. package/dist/client/assets/{_baseUniq-zWs3FMxS.js → _baseUniq-DkCvE4O6.js} +1 -1
  4. package/dist/client/assets/{arc-dt9Nl-Dq.js → arc-C1SZ3gFz.js} +1 -1
  5. package/dist/client/assets/{architectureDiagram-VXUJARFQ-C5wiwQ6w.js → architectureDiagram-VXUJARFQ-DJw9fXI5.js} +1 -1
  6. package/dist/client/assets/{blockDiagram-VD42YOAC-BL1q8xS6.js → blockDiagram-VD42YOAC-DxNjgXL1.js} +1 -1
  7. package/dist/client/assets/{c4Diagram-YG6GDRKO-Dv1O4aKb.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-BW5CgIaZ.js → chunk-4BX2VUAB-D_xs3w4g.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-dsZw0-8o.js → chunk-55IACEB6-NeVyGiBw.js} +1 -1
  11. package/dist/client/assets/{chunk-B4BG7PRW-DSq_vqsd.js → chunk-B4BG7PRW-EyCx-NZJ.js} +1 -1
  12. package/dist/client/assets/{chunk-DI55MBZ5-B6W9Xx-E.js → chunk-DI55MBZ5-PoOxaYU4.js} +1 -1
  13. package/dist/client/assets/{chunk-FMBD7UC4-EkShH345.js → chunk-FMBD7UC4-D1FKmcwY.js} +1 -1
  14. package/dist/client/assets/{chunk-QN33PNHL-crZsF4CZ.js → chunk-QN33PNHL-B-nhuti6.js} +1 -1
  15. package/dist/client/assets/{chunk-QZHKN3VN-I2VE0Wb_.js → chunk-QZHKN3VN-BvwrXwAL.js} +1 -1
  16. package/dist/client/assets/{chunk-TZMSLE5B-C7jlaQSZ.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-BO-xivMh.js → cose-bilkent-S5V4N54A-70G8lj7y.js} +1 -1
  21. package/dist/client/assets/{dagre-6UL2VRFP-DHQ23PkB.js → dagre-6UL2VRFP-CxTqTZJX.js} +1 -1
  22. package/dist/client/assets/{diagram-PSM6KHXK-BxRMvPjH.js → diagram-PSM6KHXK-wdA5gBhP.js} +1 -1
  23. package/dist/client/assets/{diagram-QEK2KX5R-D3MlWiHH.js → diagram-QEK2KX5R-BWiPIEBn.js} +1 -1
  24. package/dist/client/assets/{diagram-S2PKOQOG-GqHWSGmU.js → diagram-S2PKOQOG-CzhUSsIe.js} +1 -1
  25. package/dist/client/assets/{erDiagram-Q2GNP2WA-BeBCYx09.js → erDiagram-Q2GNP2WA-DvowAcu-.js} +1 -1
  26. package/dist/client/assets/{flowDiagram-NV44I4VS-BhiNuw5m.js → flowDiagram-NV44I4VS-B9jMwSHS.js} +1 -1
  27. package/dist/client/assets/{ganttDiagram-JELNMOA3-esGofibX.js → ganttDiagram-JELNMOA3-Bfaxm8Qf.js} +1 -1
  28. package/dist/client/assets/{gitGraphDiagram-NY62KEGX-9-jKu3lH.js → gitGraphDiagram-NY62KEGX-5EWbjg13.js} +1 -1
  29. package/dist/client/assets/{graph-BUbcMD9p.js → graph-Bms-Sm3d.js} +1 -1
  30. package/dist/client/assets/{index-H9sJ0N5K.js → index-Cp1e-xYL.js} +149 -144
  31. package/dist/client/assets/index-CwyuSNf-.css +1 -0
  32. package/dist/client/assets/{infoDiagram-WHAUD3N6-ClZrKdUe.js → infoDiagram-WHAUD3N6-DYAoqgKw.js} +1 -1
  33. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-DmsRN3so.js → journeyDiagram-XKPGCS4Q-B0HifI98.js} +1 -1
  34. package/dist/client/assets/{kanban-definition-3W4ZIXB7-CmdMZ_Zd.js → kanban-definition-3W4ZIXB7-BnBdOX8w.js} +1 -1
  35. package/dist/client/assets/{layout-CXYMNiPn.js → layout-Tzmamt4J.js} +1 -1
  36. package/dist/client/assets/{linear-BzUBdND-.js → linear-DuZ88VjU.js} +1 -1
  37. package/dist/client/assets/{mindmap-definition-VGOIOE7T-DCvV_zTA.js → mindmap-definition-VGOIOE7T-mIqXf7ud.js} +1 -1
  38. package/dist/client/assets/{pieDiagram-ADFJNKIX-Bx7BQhbi.js → pieDiagram-ADFJNKIX-LU3IJ_3z.js} +1 -1
  39. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-CGxQ_b3J.js → quadrantDiagram-AYHSOK5B-RcfMXzE1.js} +1 -1
  40. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-NoDu5jpJ.js → requirementDiagram-UZGBJVZJ-fCa8OVB7.js} +1 -1
  41. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-CpAjh0g1.js → sankeyDiagram-TZEHDZUN-ByI3z-Yp.js} +1 -1
  42. package/dist/client/assets/{sequenceDiagram-WL72ISMW-mmMtG6mU.js → sequenceDiagram-WL72ISMW-Bi2fH0fZ.js} +1 -1
  43. package/dist/client/assets/{stateDiagram-FKZM4ZOC-Q-e95wwc.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-CD7U8DwN.js → terminal-instance-CXvzjFQW.js} +1 -1
  46. package/dist/client/assets/{timeline-definition-IT6M3QCI-DaFIg2SE.js → timeline-definition-IT6M3QCI-7U7VPI2C.js} +1 -1
  47. package/dist/client/assets/{treemap-KMMF4GRG-DI1xs5dK.js → treemap-KMMF4GRG-B1RMkeMx.js} +1 -1
  48. package/dist/client/assets/{xychartDiagram-PRI3JC2R-BwFwAmKL.js → xychartDiagram-PRI3JC2R-DC1DrOy8.js} +1 -1
  49. package/dist/client/index.html +2 -2
  50. package/dist/prisma/generated/commonInputTypes.d.ts +60 -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 +20 -0
  59. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  60. package/dist/prisma/generated/internal/prismaNamespace.js +19 -0
  61. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  62. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +19 -0
  63. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  64. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +19 -0
  65. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  66. package/dist/prisma/generated/models/UserSettings.d.ts +241 -1
  67. package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
  68. package/dist/prisma/generated/models/Workspace.d.ts +437 -1
  69. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  70. package/dist/prompts/workflows/pr-review-fix.md +61 -0
  71. package/dist/prompts/workflows/ratchet.md +83 -0
  72. package/dist/src/backend/app-context.d.ts +2 -2
  73. package/dist/src/backend/app-context.d.ts.map +1 -1
  74. package/dist/src/backend/app-context.js +2 -2
  75. package/dist/src/backend/app-context.js.map +1 -1
  76. package/dist/src/backend/clients/git.client.d.ts +1 -0
  77. package/dist/src/backend/clients/git.client.d.ts.map +1 -1
  78. package/dist/src/backend/clients/git.client.js +28 -3
  79. package/dist/src/backend/clients/git.client.js.map +1 -1
  80. package/dist/src/backend/clients/git.client.test.js +52 -8
  81. package/dist/src/backend/clients/git.client.test.js.map +1 -1
  82. package/dist/src/backend/interceptors/conversation-rename.interceptor.d.ts.map +1 -1
  83. package/dist/src/backend/interceptors/conversation-rename.interceptor.js +1 -2
  84. package/dist/src/backend/interceptors/conversation-rename.interceptor.js.map +1 -1
  85. package/dist/src/backend/interceptors/git-push.interceptor.d.ts +3 -0
  86. package/dist/src/backend/interceptors/git-push.interceptor.d.ts.map +1 -0
  87. package/dist/src/backend/interceptors/git-push.interceptor.js +31 -0
  88. package/dist/src/backend/interceptors/git-push.interceptor.js.map +1 -0
  89. package/dist/src/backend/interceptors/index.d.ts.map +1 -1
  90. package/dist/src/backend/interceptors/index.js +2 -0
  91. package/dist/src/backend/interceptors/index.js.map +1 -1
  92. package/dist/src/backend/lib/file-helpers.d.ts +1 -0
  93. package/dist/src/backend/lib/file-helpers.d.ts.map +1 -1
  94. package/dist/src/backend/lib/file-helpers.js +10 -1
  95. package/dist/src/backend/lib/file-helpers.js.map +1 -1
  96. package/dist/src/backend/lib/file-helpers.test.js +17 -2
  97. package/dist/src/backend/lib/file-helpers.test.js.map +1 -1
  98. package/dist/src/backend/resource_accessors/user-settings.accessor.d.ts +9 -0
  99. package/dist/src/backend/resource_accessors/user-settings.accessor.d.ts.map +1 -1
  100. package/dist/src/backend/resource_accessors/user-settings.accessor.js.map +1 -1
  101. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts +32 -1
  102. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts.map +1 -1
  103. package/dist/src/backend/resource_accessors/workspace.accessor.js +41 -0
  104. package/dist/src/backend/resource_accessors/workspace.accessor.js.map +1 -1
  105. package/dist/src/backend/resource_accessors/workspace.accessor.test.d.ts +2 -0
  106. package/dist/src/backend/resource_accessors/workspace.accessor.test.d.ts.map +1 -0
  107. package/dist/src/backend/resource_accessors/workspace.accessor.test.js +44 -0
  108. package/dist/src/backend/resource_accessors/workspace.accessor.test.js.map +1 -0
  109. package/dist/src/backend/server.js +3 -3
  110. package/dist/src/backend/server.js.map +1 -1
  111. package/dist/src/backend/services/data-backup.service.d.ts +152 -0
  112. package/dist/src/backend/services/data-backup.service.d.ts.map +1 -0
  113. package/dist/src/backend/services/data-backup.service.js +421 -0
  114. package/dist/src/backend/services/data-backup.service.js.map +1 -0
  115. package/dist/src/backend/services/git-ops.service.d.ts.map +1 -1
  116. package/dist/src/backend/services/git-ops.service.js +1 -6
  117. package/dist/src/backend/services/git-ops.service.js.map +1 -1
  118. package/dist/src/backend/services/github-cli.service.d.ts +20 -1
  119. package/dist/src/backend/services/github-cli.service.d.ts.map +1 -1
  120. package/dist/src/backend/services/github-cli.service.js +119 -3
  121. package/dist/src/backend/services/github-cli.service.js.map +1 -1
  122. package/dist/src/backend/services/index.d.ts +3 -0
  123. package/dist/src/backend/services/index.d.ts.map +1 -1
  124. package/dist/src/backend/services/index.js +3 -0
  125. package/dist/src/backend/services/index.js.map +1 -1
  126. package/dist/src/backend/services/kanban-state.service.d.ts +2 -2
  127. package/dist/src/backend/services/kanban-state.service.d.ts.map +1 -1
  128. package/dist/src/backend/services/kanban-state.service.js +14 -19
  129. package/dist/src/backend/services/kanban-state.service.js.map +1 -1
  130. package/dist/src/backend/services/kanban-state.service.test.js +68 -55
  131. package/dist/src/backend/services/kanban-state.service.test.js.map +1 -1
  132. package/dist/src/backend/services/message-state.service.d.ts +3 -0
  133. package/dist/src/backend/services/message-state.service.d.ts.map +1 -1
  134. package/dist/src/backend/services/message-state.service.js +26 -0
  135. package/dist/src/backend/services/message-state.service.js.map +1 -1
  136. package/dist/src/backend/services/pr-review-fixer.service.d.ts +56 -0
  137. package/dist/src/backend/services/pr-review-fixer.service.d.ts.map +1 -0
  138. package/dist/src/backend/services/pr-review-fixer.service.js +247 -0
  139. package/dist/src/backend/services/pr-review-fixer.service.js.map +1 -0
  140. package/dist/src/backend/services/pr-review-monitor.service.d.ts +18 -0
  141. package/dist/src/backend/services/pr-review-monitor.service.d.ts.map +1 -0
  142. package/dist/src/backend/services/pr-review-monitor.service.js +209 -0
  143. package/dist/src/backend/services/pr-review-monitor.service.js.map +1 -0
  144. package/dist/src/backend/services/ratchet.service.d.ts +115 -0
  145. package/dist/src/backend/services/ratchet.service.d.ts.map +1 -0
  146. package/dist/src/backend/services/ratchet.service.js +587 -0
  147. package/dist/src/backend/services/ratchet.service.js.map +1 -0
  148. package/dist/src/backend/services/ratchet.service.test.d.ts +2 -0
  149. package/dist/src/backend/services/ratchet.service.test.d.ts.map +1 -0
  150. package/dist/src/backend/services/ratchet.service.test.js +254 -0
  151. package/dist/src/backend/services/ratchet.service.test.js.map +1 -0
  152. package/dist/src/backend/services/session-file-logger.service.d.ts +1 -0
  153. package/dist/src/backend/services/session-file-logger.service.d.ts.map +1 -1
  154. package/dist/src/backend/services/session-file-logger.service.js +63 -37
  155. package/dist/src/backend/services/session-file-logger.service.js.map +1 -1
  156. package/dist/src/backend/services/session-file-logger.service.test.js +107 -1
  157. package/dist/src/backend/services/session-file-logger.service.test.js.map +1 -1
  158. package/dist/src/backend/services/session.prompt-builder.d.ts +2 -0
  159. package/dist/src/backend/services/session.prompt-builder.d.ts.map +1 -1
  160. package/dist/src/backend/services/session.prompt-builder.js +1 -2
  161. package/dist/src/backend/services/session.prompt-builder.js.map +1 -1
  162. package/dist/src/backend/services/session.prompt-builder.test.js +19 -7
  163. package/dist/src/backend/services/session.prompt-builder.test.js.map +1 -1
  164. package/dist/src/backend/services/session.service.d.ts +3 -0
  165. package/dist/src/backend/services/session.service.d.ts.map +1 -1
  166. package/dist/src/backend/services/session.service.js +40 -13
  167. package/dist/src/backend/services/session.service.js.map +1 -1
  168. package/dist/src/backend/services/session.service.test.js +22 -0
  169. package/dist/src/backend/services/session.service.test.js.map +1 -1
  170. package/dist/src/backend/services/workspace-query.service.d.ts +18 -1
  171. package/dist/src/backend/services/workspace-query.service.d.ts.map +1 -1
  172. package/dist/src/backend/services/workspace-query.service.js +14 -2
  173. package/dist/src/backend/services/workspace-query.service.js.map +1 -1
  174. package/dist/src/backend/services/worktree-lifecycle-init.test.d.ts +2 -0
  175. package/dist/src/backend/services/worktree-lifecycle-init.test.d.ts.map +1 -0
  176. package/dist/src/backend/services/worktree-lifecycle-init.test.js +198 -0
  177. package/dist/src/backend/services/worktree-lifecycle-init.test.js.map +1 -0
  178. package/dist/src/backend/services/worktree-lifecycle.service.d.ts +17 -5
  179. package/dist/src/backend/services/worktree-lifecycle.service.d.ts.map +1 -1
  180. package/dist/src/backend/services/worktree-lifecycle.service.js +172 -11
  181. package/dist/src/backend/services/worktree-lifecycle.service.js.map +1 -1
  182. package/dist/src/backend/trpc/admin.trpc.d.ts +190 -3
  183. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  184. package/dist/src/backend/trpc/admin.trpc.js +19 -5
  185. package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
  186. package/dist/src/backend/trpc/github.trpc.d.ts +15 -0
  187. package/dist/src/backend/trpc/github.trpc.d.ts.map +1 -1
  188. package/dist/src/backend/trpc/github.trpc.js +35 -1
  189. package/dist/src/backend/trpc/github.trpc.js.map +1 -1
  190. package/dist/src/backend/trpc/index.d.ts +438 -7
  191. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  192. package/dist/src/backend/trpc/project.trpc.d.ts +20 -0
  193. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  194. package/dist/src/backend/trpc/session.trpc.d.ts +40 -0
  195. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  196. package/dist/src/backend/trpc/user-settings.trpc.d.ts +27 -0
  197. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  198. package/dist/src/backend/trpc/user-settings.trpc.js +23 -1
  199. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  200. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +10 -0
  201. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  202. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +20 -0
  203. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  204. package/dist/src/backend/trpc/workspace.trpc.d.ts +146 -4
  205. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  206. package/dist/src/backend/trpc/workspace.trpc.js +19 -1
  207. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  208. package/dist/src/shared/github-types.d.ts +1 -0
  209. package/dist/src/shared/github-types.d.ts.map +1 -1
  210. package/dist/src/shared/workspace-words.d.ts +4 -0
  211. package/dist/src/shared/workspace-words.d.ts.map +1 -0
  212. package/dist/src/shared/workspace-words.js +68 -0
  213. package/dist/src/shared/workspace-words.js.map +1 -0
  214. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  215. package/package.json +7 -1
  216. package/prisma/migrations/20260204180116_watch_prs/migration.sql +90 -0
  217. package/prisma/migrations/20260204200000_simplify_kanban_columns/migration.sql +72 -0
  218. package/prisma/migrations/20260204210000_add_workspace_ratchet_enabled/migration.sql +2 -0
  219. package/prisma/migrations/20260205000000_add_is_auto_generated_branch/migration.sql +2 -0
  220. package/prisma/migrations/20260205012721_add_ratchet_last_push_at/migration.sql +2 -0
  221. package/prisma/schema.prisma +40 -7
  222. package/prompts/workflows/pr-review-fix.md +61 -0
  223. package/prompts/workflows/ratchet.md +83 -0
  224. package/dist/client/assets/channel-BfSRU0Jp.js +0 -1
  225. package/dist/client/assets/classDiagram-2ON5EDUG-Cmvb3apC.js +0 -1
  226. package/dist/client/assets/classDiagram-v2-WZHVMYZB-Cmvb3apC.js +0 -1
  227. package/dist/client/assets/clone-1F-laTan.js +0 -1
  228. package/dist/client/assets/index-BBvNRzPg.css +0 -1
  229. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-CYMClSNi.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "factory-factory",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "description": "Workspace-based coding environment for running multiple Claude Code sessions in parallel",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -41,6 +41,7 @@
41
41
  "scripts": {
42
42
  "dev": "node scripts/ensure-native-modules.mjs node && tsx src/cli/index.ts serve --dev",
43
43
  "build": "tsc -p tsconfig.backend.json && tsc-alias -p tsconfig.backend.json --resolve-full-paths && cp -r prompts dist/ && vite build",
44
+ "build:storybook": "storybook build",
44
45
  "start": "node scripts/ensure-native-modules.mjs node && tsx src/cli/index.ts serve",
45
46
  "test": "vitest run",
46
47
  "test:watch": "vitest",
@@ -151,9 +152,13 @@
151
152
  ]
152
153
  },
153
154
  "pnpm": {
155
+ "publicHoistPattern": [
156
+ "@types/*"
157
+ ],
154
158
  "onlyBuiltDependencies": [
155
159
  "@prisma/engines",
156
160
  "better-sqlite3",
161
+ "electron",
157
162
  "esbuild",
158
163
  "node-pty",
159
164
  "prisma",
@@ -161,6 +166,7 @@
161
166
  "sharp"
162
167
  ],
163
168
  "overrides": {
169
+ "@isaacs/brace-expansion": ">=5.0.1",
164
170
  "braces": ">=3.0.3",
165
171
  "micromatch": ">=4.0.8",
166
172
  "tar": ">=7.5.0",
@@ -0,0 +1,90 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - You are about to alter the column `cachedSlashCommands` on the `UserSettings` table. The data in that column could be lost. The data in that column will be cast from `String` to `Json`.
5
+ - You are about to alter the column `workspaceOrder` on the `UserSettings` table. The data in that column could be lost. The data in that column will be cast from `String` to `Json`.
6
+
7
+ */
8
+ -- RedefineTables
9
+ PRAGMA defer_foreign_keys=ON;
10
+ PRAGMA foreign_keys=OFF;
11
+ CREATE TABLE "new_UserSettings" (
12
+ "id" TEXT NOT NULL PRIMARY KEY,
13
+ "userId" TEXT NOT NULL DEFAULT 'default',
14
+ "preferredIde" TEXT NOT NULL DEFAULT 'cursor',
15
+ "customIdeCommand" TEXT,
16
+ "playSoundOnComplete" BOOLEAN NOT NULL DEFAULT true,
17
+ "notificationSoundPath" TEXT,
18
+ "workspaceOrder" JSONB,
19
+ "cachedSlashCommands" JSONB,
20
+ "autoFixCiIssues" BOOLEAN NOT NULL DEFAULT false,
21
+ "autoFixPrReviewComments" BOOLEAN NOT NULL DEFAULT false,
22
+ "prReviewFixAllowedUsers" JSONB,
23
+ "prReviewFixPrompt" TEXT,
24
+ "ratchetEnabled" BOOLEAN NOT NULL DEFAULT false,
25
+ "ratchetAutoFixCi" BOOLEAN NOT NULL DEFAULT true,
26
+ "ratchetAutoFixConflicts" BOOLEAN NOT NULL DEFAULT true,
27
+ "ratchetAutoFixReviews" BOOLEAN NOT NULL DEFAULT true,
28
+ "ratchetAutoMerge" BOOLEAN NOT NULL DEFAULT false,
29
+ "ratchetAllowedReviewers" JSONB,
30
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
31
+ "updatedAt" DATETIME NOT NULL
32
+ );
33
+ INSERT INTO "new_UserSettings" ("cachedSlashCommands", "createdAt", "customIdeCommand", "id", "playSoundOnComplete", "preferredIde", "updatedAt", "userId", "workspaceOrder") SELECT "cachedSlashCommands", "createdAt", "customIdeCommand", "id", "playSoundOnComplete", "preferredIde", "updatedAt", "userId", "workspaceOrder" FROM "UserSettings";
34
+ DROP TABLE "UserSettings";
35
+ ALTER TABLE "new_UserSettings" RENAME TO "UserSettings";
36
+ CREATE UNIQUE INDEX "UserSettings_userId_key" ON "UserSettings"("userId");
37
+ CREATE INDEX "UserSettings_userId_idx" ON "UserSettings"("userId");
38
+ CREATE TABLE "new_Workspace" (
39
+ "id" TEXT NOT NULL PRIMARY KEY,
40
+ "projectId" TEXT NOT NULL,
41
+ "name" TEXT NOT NULL,
42
+ "description" TEXT,
43
+ "status" TEXT NOT NULL DEFAULT 'NEW',
44
+ "worktreePath" TEXT,
45
+ "branchName" TEXT,
46
+ "initErrorMessage" TEXT,
47
+ "initOutput" TEXT,
48
+ "initStartedAt" DATETIME,
49
+ "initCompletedAt" DATETIME,
50
+ "initRetryCount" INTEGER NOT NULL DEFAULT 0,
51
+ "runScriptCommand" TEXT,
52
+ "runScriptCleanupCommand" TEXT,
53
+ "runScriptPid" INTEGER,
54
+ "runScriptPort" INTEGER,
55
+ "runScriptStartedAt" DATETIME,
56
+ "runScriptStatus" TEXT NOT NULL DEFAULT 'IDLE',
57
+ "prUrl" TEXT,
58
+ "githubIssueNumber" INTEGER,
59
+ "githubIssueUrl" TEXT,
60
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
61
+ "updatedAt" DATETIME NOT NULL,
62
+ "prNumber" INTEGER,
63
+ "prState" TEXT NOT NULL DEFAULT 'NONE',
64
+ "prReviewState" TEXT,
65
+ "prCiStatus" TEXT NOT NULL DEFAULT 'UNKNOWN',
66
+ "prUpdatedAt" DATETIME,
67
+ "prCiFailedAt" DATETIME,
68
+ "prCiLastNotifiedAt" DATETIME,
69
+ "prReviewLastCheckedAt" DATETIME,
70
+ "prReviewLastCommentId" TEXT,
71
+ "ratchetState" TEXT NOT NULL DEFAULT 'IDLE',
72
+ "ratchetLastCheckedAt" DATETIME,
73
+ "ratchetActiveSessionId" TEXT,
74
+ "ratchetLastCiRunId" TEXT,
75
+ "ratchetLastNotifiedState" TEXT,
76
+ "hasHadSessions" BOOLEAN NOT NULL DEFAULT false,
77
+ "cachedKanbanColumn" TEXT NOT NULL DEFAULT 'BACKLOG',
78
+ "stateComputedAt" DATETIME,
79
+ CONSTRAINT "Workspace_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
80
+ );
81
+ INSERT INTO "new_Workspace" ("branchName", "cachedKanbanColumn", "createdAt", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initStartedAt", "name", "prCiFailedAt", "prCiLastNotifiedAt", "prCiStatus", "prNumber", "prReviewState", "prState", "prUpdatedAt", "prUrl", "projectId", "runScriptCleanupCommand", "runScriptCommand", "runScriptPid", "runScriptPort", "runScriptStartedAt", "runScriptStatus", "stateComputedAt", "status", "updatedAt", "worktreePath") SELECT "branchName", "cachedKanbanColumn", "createdAt", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initStartedAt", "name", "prCiFailedAt", "prCiLastNotifiedAt", "prCiStatus", "prNumber", "prReviewState", "prState", "prUpdatedAt", "prUrl", "projectId", "runScriptCleanupCommand", "runScriptCommand", "runScriptPid", "runScriptPort", "runScriptStartedAt", "runScriptStatus", "stateComputedAt", "status", "updatedAt", "worktreePath" FROM "Workspace";
82
+ DROP TABLE "Workspace";
83
+ ALTER TABLE "new_Workspace" RENAME TO "Workspace";
84
+ CREATE INDEX "Workspace_projectId_idx" ON "Workspace"("projectId");
85
+ CREATE INDEX "Workspace_status_idx" ON "Workspace"("status");
86
+ CREATE INDEX "Workspace_cachedKanbanColumn_idx" ON "Workspace"("cachedKanbanColumn");
87
+ CREATE INDEX "Workspace_projectId_status_idx" ON "Workspace"("projectId", "status");
88
+ CREATE INDEX "Workspace_projectId_cachedKanbanColumn_idx" ON "Workspace"("projectId", "cachedKanbanColumn");
89
+ PRAGMA foreign_keys=ON;
90
+ PRAGMA defer_foreign_keys=OFF;
@@ -0,0 +1,72 @@
1
+ -- Simplify KanbanColumn enum from 7 values to 3: WORKING, WAITING, DONE
2
+ -- Migration strategy:
3
+ -- - BACKLOG, IN_PROGRESS -> WORKING (initializing or actively working)
4
+ -- - PR_OPEN, WAITING, APPROVED -> WAITING (idle, waiting for input)
5
+ -- - MERGED, DONE -> DONE (completed)
6
+
7
+ -- Step 1: Update existing cachedKanbanColumn values to new enum values
8
+ UPDATE "Workspace"
9
+ SET "cachedKanbanColumn" = CASE
10
+ WHEN "cachedKanbanColumn" IN ('BACKLOG', 'IN_PROGRESS') THEN 'WORKING'
11
+ WHEN "cachedKanbanColumn" IN ('PR_OPEN', 'WAITING', 'APPROVED') THEN 'WAITING'
12
+ WHEN "cachedKanbanColumn" IN ('MERGED', 'DONE') THEN 'DONE'
13
+ ELSE 'WAITING'
14
+ END;
15
+
16
+ -- Step 2: Recreate table with new default value (WAITING instead of BACKLOG)
17
+ -- RedefineTables
18
+ PRAGMA defer_foreign_keys=ON;
19
+ PRAGMA foreign_keys=OFF;
20
+ CREATE TABLE "new_Workspace" (
21
+ "id" TEXT NOT NULL PRIMARY KEY,
22
+ "projectId" TEXT NOT NULL,
23
+ "name" TEXT NOT NULL,
24
+ "description" TEXT,
25
+ "status" TEXT NOT NULL DEFAULT 'NEW',
26
+ "worktreePath" TEXT,
27
+ "branchName" TEXT,
28
+ "initErrorMessage" TEXT,
29
+ "initOutput" TEXT,
30
+ "initStartedAt" DATETIME,
31
+ "initCompletedAt" DATETIME,
32
+ "initRetryCount" INTEGER NOT NULL DEFAULT 0,
33
+ "runScriptCommand" TEXT,
34
+ "runScriptCleanupCommand" TEXT,
35
+ "runScriptPid" INTEGER,
36
+ "runScriptPort" INTEGER,
37
+ "runScriptStartedAt" DATETIME,
38
+ "runScriptStatus" TEXT NOT NULL DEFAULT 'IDLE',
39
+ "prUrl" TEXT,
40
+ "githubIssueNumber" INTEGER,
41
+ "githubIssueUrl" TEXT,
42
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
43
+ "updatedAt" DATETIME NOT NULL,
44
+ "prNumber" INTEGER,
45
+ "prState" TEXT NOT NULL DEFAULT 'NONE',
46
+ "prReviewState" TEXT,
47
+ "prCiStatus" TEXT NOT NULL DEFAULT 'UNKNOWN',
48
+ "prUpdatedAt" DATETIME,
49
+ "prCiFailedAt" DATETIME,
50
+ "prCiLastNotifiedAt" DATETIME,
51
+ "prReviewLastCheckedAt" DATETIME,
52
+ "prReviewLastCommentId" TEXT,
53
+ "ratchetState" TEXT NOT NULL DEFAULT 'IDLE',
54
+ "ratchetLastCheckedAt" DATETIME,
55
+ "ratchetActiveSessionId" TEXT,
56
+ "ratchetLastCiRunId" TEXT,
57
+ "ratchetLastNotifiedState" TEXT,
58
+ "hasHadSessions" BOOLEAN NOT NULL DEFAULT false,
59
+ "cachedKanbanColumn" TEXT NOT NULL DEFAULT 'WAITING',
60
+ "stateComputedAt" DATETIME,
61
+ CONSTRAINT "Workspace_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
62
+ );
63
+ INSERT INTO "new_Workspace" ("branchName", "cachedKanbanColumn", "createdAt", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initStartedAt", "name", "prCiFailedAt", "prCiLastNotifiedAt", "prCiStatus", "prNumber", "prReviewLastCheckedAt", "prReviewLastCommentId", "prReviewState", "prState", "prUpdatedAt", "prUrl", "projectId", "ratchetActiveSessionId", "ratchetLastCheckedAt", "ratchetLastCiRunId", "ratchetLastNotifiedState", "ratchetState", "runScriptCleanupCommand", "runScriptCommand", "runScriptPid", "runScriptPort", "runScriptStartedAt", "runScriptStatus", "stateComputedAt", "status", "updatedAt", "worktreePath") SELECT "branchName", "cachedKanbanColumn", "createdAt", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initStartedAt", "name", "prCiFailedAt", "prCiLastNotifiedAt", "prCiStatus", "prNumber", "prReviewLastCheckedAt", "prReviewLastCommentId", "prReviewState", "prState", "prUpdatedAt", "prUrl", "projectId", "ratchetActiveSessionId", "ratchetLastCheckedAt", "ratchetLastCiRunId", "ratchetLastNotifiedState", "ratchetState", "runScriptCleanupCommand", "runScriptCommand", "runScriptPid", "runScriptPort", "runScriptStartedAt", "runScriptStatus", "stateComputedAt", "status", "updatedAt", "worktreePath" FROM "Workspace";
64
+ DROP TABLE "Workspace";
65
+ ALTER TABLE "new_Workspace" RENAME TO "Workspace";
66
+ CREATE INDEX "Workspace_projectId_idx" ON "Workspace"("projectId");
67
+ CREATE INDEX "Workspace_status_idx" ON "Workspace"("status");
68
+ CREATE INDEX "Workspace_cachedKanbanColumn_idx" ON "Workspace"("cachedKanbanColumn");
69
+ CREATE INDEX "Workspace_projectId_status_idx" ON "Workspace"("projectId", "status");
70
+ CREATE INDEX "Workspace_projectId_cachedKanbanColumn_idx" ON "Workspace"("projectId", "cachedKanbanColumn");
71
+ PRAGMA foreign_keys=ON;
72
+ PRAGMA defer_foreign_keys=OFF;
@@ -0,0 +1,2 @@
1
+ -- AlterTable
2
+ ALTER TABLE "Workspace" ADD COLUMN "ratchetEnabled" BOOLEAN NOT NULL DEFAULT true;
@@ -0,0 +1,2 @@
1
+ -- AlterTable
2
+ ALTER TABLE "Workspace" ADD COLUMN "isAutoGeneratedBranch" BOOLEAN NOT NULL DEFAULT false;
@@ -0,0 +1,2 @@
1
+ -- AlterTable
2
+ ALTER TABLE "Workspace" ADD COLUMN "ratchetLastPushAt" DATETIME;
@@ -46,15 +46,21 @@ enum CIStatus {
46
46
  }
47
47
 
48
48
  enum KanbanColumn {
49
- BACKLOG
50
- IN_PROGRESS
49
+ WORKING
51
50
  WAITING
52
- PR_OPEN
53
- APPROVED
54
- MERGED
55
51
  DONE
56
52
  }
57
53
 
54
+ enum RatchetState {
55
+ IDLE // No PR or ratchet not active for this workspace
56
+ CI_RUNNING // CI checks in progress
57
+ CI_FAILED // CI checks failed
58
+ MERGE_CONFLICT // Has merge conflicts with base branch
59
+ REVIEW_PENDING // Has unaddressed review comments
60
+ READY // Ready to merge (CI green, no conflicts, no pending reviews)
61
+ MERGED // PR has been merged
62
+ }
63
+
58
64
 
59
65
  // Models
60
66
  model Project {
@@ -104,6 +110,7 @@ model Workspace {
104
110
  status WorkspaceStatus @default(NEW)
105
111
  worktreePath String?
106
112
  branchName String?
113
+ isAutoGeneratedBranch Boolean @default(false) // True if branch was auto-generated at creation time
107
114
 
108
115
  // Initialization tracking (used by NEW, PROVISIONING, FAILED states)
109
116
  initErrorMessage String?
@@ -139,11 +146,24 @@ model Workspace {
139
146
  prCiFailedAt DateTime? // When CI first failed (cleared on success)
140
147
  prCiLastNotifiedAt DateTime? // Last time we notified about CI failure
141
148
 
149
+ // PR Review tracking
150
+ prReviewLastCheckedAt DateTime? // When PR review comments were last checked
151
+ prReviewLastCommentId String? // ID of the last processed review comment
152
+
153
+ // Ratchet tracking (centralized PR progression)
154
+ ratchetEnabled Boolean @default(true) // Workspace-level ratchet toggle
155
+ ratchetState RatchetState @default(IDLE) // Current state in the ratchet progression
156
+ ratchetLastCheckedAt DateTime? // When ratchet last checked this workspace
157
+ ratchetLastPushAt DateTime? // When a push was last detected (for temporary ratchet animation)
158
+ ratchetActiveSessionId String? // ID of active fixer session (if any)
159
+ ratchetLastCiRunId String? // Track which CI run we processed
160
+ ratchetLastNotifiedState RatchetState? // Last state we notified the fixer about
161
+
142
162
  // Activity tracking
143
163
  hasHadSessions Boolean @default(false)
144
164
 
145
165
  // Cached kanban column (for list performance)
146
- cachedKanbanColumn KanbanColumn @default(BACKLOG)
166
+ cachedKanbanColumn KanbanColumn @default(WAITING)
147
167
  stateComputedAt DateTime? // Last kanban column computation
148
168
 
149
169
  @@index([projectId])
@@ -203,9 +223,22 @@ model UserSettings {
203
223
  // Cached slash commands (from Claude CLI initialize response)
204
224
  cachedSlashCommands Json?
205
225
 
206
- // CI Settings
226
+ // CI Settings (deprecated - use ratchet settings)
207
227
  autoFixCiIssues Boolean @default(false) // Global toggle for CI auto-fixing
208
228
 
229
+ // PR Review Auto-Fix Settings (deprecated - use ratchet settings)
230
+ autoFixPrReviewComments Boolean @default(false) // Global toggle for PR review auto-fixing
231
+ prReviewFixAllowedUsers Json? // Array of GitHub usernames whose comments trigger auto-fix
232
+ prReviewFixPrompt String? // Custom instructions for the PR review fixing session
233
+
234
+ // Ratchet Settings (unified PR progression)
235
+ ratchetEnabled Boolean @default(false) // Default for new GitHub-issue-created workspaces
236
+ ratchetAutoFixCi Boolean @default(true) // Auto-fix CI failures
237
+ ratchetAutoFixConflicts Boolean @default(true) // Auto-resolve merge conflicts
238
+ ratchetAutoFixReviews Boolean @default(true) // Auto-address review comments
239
+ ratchetAutoMerge Boolean @default(false) // Auto-merge when ready
240
+ ratchetAllowedReviewers Json? // GitHub usernames whose reviews trigger auto-fix
241
+
209
242
  createdAt DateTime @default(now())
210
243
  updatedAt DateTime @updatedAt
211
244
 
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: PR Review Fix
3
+ description: Address PR review comments and feedback
4
+ expectsPR: false
5
+ ---
6
+
7
+ # PR Review Comment Resolution
8
+
9
+ You are addressing PR review comments for this workspace's pull request. Your goal is to implement the requested changes and satisfy the reviewers.
10
+
11
+ ## Workflow Steps
12
+
13
+ ### 1. Understand the Feedback
14
+ - Review the comments provided in the initial message carefully
15
+ - Pay attention to both inline code comments and general review comments
16
+ - Understand what changes each reviewer is requesting
17
+ - Note any questions or clarifications the reviewer is asking for
18
+
19
+ ### 2. Plan Your Changes
20
+ - Identify which files need to be modified
21
+ - Determine the scope of changes needed
22
+ - Consider if the requested change impacts other parts of the codebase
23
+ - If a request is unclear, make a reasonable interpretation and document your assumptions
24
+
25
+ ### 3. Implement the Changes
26
+ - Address each review comment systematically
27
+ - Make focused changes that directly address the feedback
28
+ - Avoid scope creep - only fix what was requested
29
+ - If you disagree with a suggestion, implement it anyway but note your reasoning in the commit message
30
+
31
+ ### 4. Verify Your Changes
32
+ - Run the test suite: `pnpm test`
33
+ - Run type checking: `pnpm typecheck`
34
+ - Run linting: `pnpm check:fix`
35
+ - Test any affected functionality manually if appropriate
36
+
37
+ ### 5. Commit and Push
38
+ - Commit your changes with clear messages referencing the review feedback
39
+ - Push to the branch: `git push`
40
+ - The reviewers will be notified of your updates
41
+
42
+ ### 6. Request Re-review
43
+ - After pushing your changes, post a comment on the PR asking reviewers to re-review
44
+ - Mention the specific reviewers who left comments using @username
45
+
46
+ ## Guidelines
47
+
48
+ - **Address all comments**: Don't leave any review comment unaddressed
49
+ - **Keep changes focused**: Only change what was requested in the reviews
50
+ - **Test thoroughly**: Make sure your changes don't break existing functionality
51
+ - **Be responsive**: Implement changes promptly to keep the PR moving
52
+ - **Document decisions**: If you make judgment calls, explain your reasoning
53
+
54
+ ## Common Review Comment Types
55
+
56
+ - **Code style**: Follow the project's coding conventions
57
+ - **Bug fix requests**: Understand the bug and fix it properly
58
+ - **Refactoring suggestions**: Implement the cleaner code pattern suggested
59
+ - **Missing tests**: Add tests for the functionality as requested
60
+ - **Documentation**: Add or improve comments and documentation
61
+ - **Logic changes**: Implement the alternative approach suggested
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: Ratchet
3
+ description: Automatically progress PR toward merge by fixing issues
4
+ expectsPR: false
5
+ ---
6
+
7
+ # Ratchet - Automatic PR Progression
8
+
9
+ You are the Ratchet agent, responsible for automatically progressing this PR toward merge. You will receive notifications about different issues (CI failures, merge conflicts, review comments) and should address them systematically.
10
+
11
+ ## Your Role
12
+
13
+ The Ratchet system monitors PRs and notifies you when action is needed. You may be asked to:
14
+
15
+ 1. **Fix CI failures** - Investigate and fix broken tests, type errors, or lint issues
16
+ 2. **Resolve merge conflicts** - Merge the base branch and resolve any conflicts
17
+ 3. **Address review comments** - Implement changes requested by reviewers
18
+
19
+ ## Handling Multiple Issues
20
+
21
+ You may receive notifications about new issues while working on something else. Follow this priority:
22
+
23
+ 1. **CI failures** (highest priority) - Always address immediately
24
+ 2. **Merge conflicts** - Address before continuing other work
25
+ 3. **Review comments** - Address after CI is green and no conflicts
26
+
27
+ If you receive a notification about a higher-priority issue while working:
28
+ 1. Stop your current work (don't push incomplete changes)
29
+ 2. Address the new issue first
30
+ 3. Resume your original task once the blocker is resolved
31
+
32
+ ## Verification
33
+
34
+ Before considering any fix complete:
35
+
36
+ 1. Run the test suite: `pnpm test`
37
+ 2. Run type checking: `pnpm typecheck`
38
+ 3. Run linting: `pnpm check:fix`
39
+ 4. Check PR status: `gh pr checks <pr-number>`
40
+
41
+ Only push when all local checks pass.
42
+
43
+ ## CI Failure Resolution
44
+
45
+ When notified of CI failures:
46
+
47
+ 1. Use `gh pr checks <pr-number>` to see current status
48
+ 2. Use `gh run view <run-id> --log-failed` to see detailed logs
49
+ 3. Identify the root cause
50
+ 4. Implement a fix
51
+ 5. Verify locally before pushing
52
+
53
+ ## Merge Conflict Resolution
54
+
55
+ When notified of merge conflicts:
56
+
57
+ 1. Fetch latest: `git fetch origin`
58
+ 2. Merge base branch: `git merge origin/main`
59
+ 3. Resolve conflicts in each file:
60
+ - Understand both sides of the change
61
+ - Preserve functionality from both when possible
62
+ - If unsure, prefer the main branch changes
63
+ 4. Run tests to verify the merge
64
+ 5. Commit: `git commit -m "Merge main into feature branch"`
65
+ 6. Push: `git push`
66
+
67
+ ## Review Comment Resolution
68
+
69
+ When notified of review comments:
70
+
71
+ 1. Read and understand each comment
72
+ 2. Plan the necessary changes
73
+ 3. Implement changes to address feedback
74
+ 4. Verify with tests
75
+ 5. Commit and push
76
+ 6. Request re-review from the reviewers
77
+
78
+ ## Guidelines
79
+
80
+ - **Focus on the current issue**: Don't refactor or improve unrelated code
81
+ - **Keep commits focused**: One logical change per commit
82
+ - **Test before pushing**: Always run local checks first
83
+ - **Communicate blockers**: If you cannot resolve an issue, explain what you've tried
@@ -1 +0,0 @@
1
- import{ap as o,aq as n}from"./index-H9sJ0N5K.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-DSq_vqsd.js";import{_ as i}from"./index-H9sJ0N5K.js";import"./chunk-FMBD7UC4-EkShH345.js";import"./chunk-55IACEB6-dsZw0-8o.js";import"./chunk-QN33PNHL-crZsF4CZ.js";var p={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{p as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-DSq_vqsd.js";import{_ as i}from"./index-H9sJ0N5K.js";import"./chunk-FMBD7UC4-EkShH345.js";import"./chunk-55IACEB6-dsZw0-8o.js";import"./chunk-QN33PNHL-crZsF4CZ.js";var p={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{p as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./_baseUniq-zWs3FMxS.js";var e=4;function a(o){return r(o,e)}export{a as c};