factory-factory 0.3.4 → 0.3.6

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 (313) hide show
  1. package/README.md +17 -0
  2. package/dist/client/assets/_basePickBy-CzLmZHC2.js +1 -0
  3. package/dist/client/assets/{_baseUniq-DisTPj-I.js → _baseUniq-B2vXSgXW.js} +1 -1
  4. package/dist/client/assets/arc-Dq49BrkB.js +1 -0
  5. package/dist/client/assets/architectureDiagram-VXUJARFQ-BGubq_o9.js +36 -0
  6. package/dist/client/assets/{blockDiagram-VD42YOAC-DXpmez0y.js → blockDiagram-VD42YOAC-CJ7hB7tD.js} +4 -4
  7. package/dist/client/assets/{c4Diagram-YG6GDRKO-C6sDxR49.js → c4Diagram-YG6GDRKO-C9-3yIl7.js} +3 -3
  8. package/dist/client/assets/channel-DMaON2vY.js +1 -0
  9. package/dist/client/assets/{chunk-4BX2VUAB-CQxlRbYu.js → chunk-4BX2VUAB-LA-tkKjD.js} +1 -1
  10. package/dist/client/assets/{chunk-55IACEB6-DxubFDep.js → chunk-55IACEB6-D8Jq3_Ne.js} +1 -1
  11. package/dist/client/assets/{chunk-B4BG7PRW-BtTQ0im9.js → chunk-B4BG7PRW-BbB1Mssd.js} +1 -1
  12. package/dist/client/assets/{chunk-DI55MBZ5-C2tNYDZj.js → chunk-DI55MBZ5-CpO3WS5m.js} +1 -1
  13. package/dist/client/assets/{chunk-FMBD7UC4-kRQRN6vP.js → chunk-FMBD7UC4-zaxR2CzR.js} +1 -1
  14. package/dist/client/assets/chunk-QN33PNHL-BMmRcEqx.js +1 -0
  15. package/dist/client/assets/{chunk-QZHKN3VN-BfxMFZDN.js → chunk-QZHKN3VN-CbCQqsiw.js} +1 -1
  16. package/dist/client/assets/chunk-TZMSLE5B-BhRzmVVB.js +1 -0
  17. package/dist/client/assets/classDiagram-2ON5EDUG-BKODUnN9.js +1 -0
  18. package/dist/client/assets/classDiagram-v2-WZHVMYZB-BKODUnN9.js +1 -0
  19. package/dist/client/assets/clone-d5fivKBG.js +1 -0
  20. package/dist/client/assets/{cose-bilkent-S5V4N54A-QPsUxyAe.js → cose-bilkent-S5V4N54A-BZtg5BPr.js} +1 -1
  21. package/dist/client/assets/{dagre-6UL2VRFP-BAmsmcnI.js → dagre-6UL2VRFP-DiejfPfI.js} +2 -2
  22. package/dist/client/assets/diagram-PSM6KHXK-CRE7v2e7.js +24 -0
  23. package/dist/client/assets/diagram-QEK2KX5R-DpAOzBlm.js +43 -0
  24. package/dist/client/assets/diagram-S2PKOQOG-BOJvuhJd.js +24 -0
  25. package/dist/client/assets/{erDiagram-Q2GNP2WA-DMKIVzp4.js → erDiagram-Q2GNP2WA-IM11uKRy.js} +4 -4
  26. package/dist/client/assets/{flowDiagram-NV44I4VS-op3xA_nS.js → flowDiagram-NV44I4VS-DTbQf_7g.js} +5 -5
  27. package/dist/client/assets/{ganttDiagram-JELNMOA3-nrnzVCJK.js → ganttDiagram-JELNMOA3-Bqd3rUDW.js} +2 -2
  28. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-Cd1j3VMN.js +65 -0
  29. package/dist/client/assets/{graph-D_lEcPMk.js → graph-D667hHAk.js} +1 -1
  30. package/dist/client/assets/{index-C2qHRaOH.js → index-BXRnTMjJ.js} +170 -171
  31. package/dist/client/assets/index-DllMnbgu.css +1 -0
  32. package/dist/client/assets/infoDiagram-HS3SLOUP-CzpZPq7Y.js +2 -0
  33. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-Bnhe4U1x.js → journeyDiagram-XKPGCS4Q-Br2GUbhE.js} +1 -1
  34. package/dist/client/assets/{kanban-definition-3W4ZIXB7-DpTaTXko.js → kanban-definition-3W4ZIXB7-D0SM1ldH.js} +6 -6
  35. package/dist/client/assets/{layout-HT5qr--Q.js → layout-BPE9Dzp9.js} +1 -1
  36. package/dist/client/assets/{linear-CDmQ8HG8.js → linear-5exZFNBA.js} +1 -1
  37. package/dist/client/assets/{mindmap-definition-VGOIOE7T-zDr7s4o2.js → mindmap-definition-VGOIOE7T-D1W9h2lc.js} +3 -3
  38. package/dist/client/assets/mobile-baseline-BHP-K4kd.js +10 -0
  39. package/dist/client/assets/pieDiagram-ADFJNKIX-DG-umOTY.js +30 -0
  40. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-DzdJzkAJ.js → quadrantDiagram-AYHSOK5B-Cb0ciONq.js} +1 -1
  41. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-ChrLzx8S.js → requirementDiagram-UZGBJVZJ-BKYaJZ83.js} +1 -1
  42. package/dist/client/assets/sankeyDiagram-TZEHDZUN-DkR9L4Vw.js +10 -0
  43. package/dist/client/assets/{sequenceDiagram-WL72ISMW-BHxEpSCU.js → sequenceDiagram-WL72ISMW-Cys03qhv.js} +6 -6
  44. package/dist/client/assets/stateDiagram-FKZM4ZOC-DQWCRtS7.js +1 -0
  45. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-DoWi8XaX.js +1 -0
  46. package/dist/client/assets/terminal-instance-CpEqekOB.js +1 -0
  47. package/dist/client/assets/{timeline-definition-IT6M3QCI-BcCmIxix.js → timeline-definition-IT6M3QCI-C0mVV_zL.js} +4 -4
  48. package/dist/client/assets/treemap-GDKQZRPO-DK-Wlxvy.js +160 -0
  49. package/dist/client/assets/{xychartDiagram-PRI3JC2R-DrgKBPUM.js → xychartDiagram-PRI3JC2R-CFg2MfK9.js} +4 -4
  50. package/dist/client/index.html +3 -3
  51. package/dist/prisma/generated/commonInputTypes.d.ts +69 -39
  52. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  53. package/dist/prisma/generated/enums.d.ts +6 -0
  54. package/dist/prisma/generated/enums.d.ts.map +1 -1
  55. package/dist/prisma/generated/enums.js +6 -1
  56. package/dist/prisma/generated/enums.js.map +1 -1
  57. package/dist/prisma/generated/internal/class.d.ts.map +1 -1
  58. package/dist/prisma/generated/internal/class.js +12 -4
  59. package/dist/prisma/generated/internal/class.js.map +1 -1
  60. package/dist/prisma/generated/internal/prismaNamespace.d.ts +13 -7
  61. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  62. package/dist/prisma/generated/internal/prismaNamespace.js +11 -6
  63. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  64. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +10 -5
  65. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  66. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +9 -4
  67. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  68. package/dist/prisma/generated/models/Project.d.ts +63 -1
  69. package/dist/prisma/generated/models/Project.d.ts.map +1 -1
  70. package/dist/prisma/generated/models/Workspace.d.ts +130 -1
  71. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  72. package/dist/prompts/quick-actions/screenshots.md +12 -6
  73. package/dist/prompts/ratchet/dispatch.md +4 -0
  74. package/dist/src/backend/domains/linear/index.d.ts +3 -0
  75. package/dist/src/backend/domains/linear/index.d.ts.map +1 -0
  76. package/dist/src/backend/domains/linear/index.js +3 -0
  77. package/dist/src/backend/domains/linear/index.js.map +1 -0
  78. package/dist/src/backend/domains/linear/linear-client.service.d.ts +40 -0
  79. package/dist/src/backend/domains/linear/linear-client.service.d.ts.map +1 -0
  80. package/dist/src/backend/domains/linear/linear-client.service.js +134 -0
  81. package/dist/src/backend/domains/linear/linear-client.service.js.map +1 -0
  82. package/dist/src/backend/domains/linear/linear-state-sync.service.d.ts +7 -0
  83. package/dist/src/backend/domains/linear/linear-state-sync.service.d.ts.map +1 -0
  84. package/dist/src/backend/domains/linear/linear-state-sync.service.js +29 -0
  85. package/dist/src/backend/domains/linear/linear-state-sync.service.js.map +1 -0
  86. package/dist/src/backend/domains/ratchet/bridges.d.ts +5 -1
  87. package/dist/src/backend/domains/ratchet/bridges.d.ts.map +1 -1
  88. package/dist/src/backend/domains/ratchet/ratchet.service.d.ts +2 -0
  89. package/dist/src/backend/domains/ratchet/ratchet.service.d.ts.map +1 -1
  90. package/dist/src/backend/domains/ratchet/ratchet.service.js +43 -53
  91. package/dist/src/backend/domains/ratchet/ratchet.service.js.map +1 -1
  92. package/dist/src/backend/domains/ratchet/ratchet.service.test.js +61 -18
  93. package/dist/src/backend/domains/ratchet/ratchet.service.test.js.map +1 -1
  94. package/dist/src/backend/domains/session/acp/acp-runtime-manager.d.ts.map +1 -1
  95. package/dist/src/backend/domains/session/acp/acp-runtime-manager.js +5 -1
  96. package/dist/src/backend/domains/session/acp/acp-runtime-manager.js.map +1 -1
  97. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +13 -2
  98. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  99. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +839 -106
  100. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  101. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +735 -8
  102. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  103. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.d.ts +20 -0
  104. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.d.ts.map +1 -1
  105. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.js +16 -0
  106. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.js.map +1 -1
  107. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.js +15 -0
  108. package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.js.map +1 -1
  109. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.d.ts +2 -2
  110. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -1
  111. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.js +32 -1
  112. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.js.map +1 -1
  113. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.test.js +79 -9
  114. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
  115. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/stop.handler.d.ts +2 -2
  116. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/stop.handler.d.ts.map +1 -1
  117. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/stop.handler.js +3 -1
  118. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/stop.handler.js.map +1 -1
  119. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/stop.handler.test.js +10 -1
  120. package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/stop.handler.test.js.map +1 -1
  121. package/dist/src/backend/domains/session/chat/chat-message-handlers/registry.js +2 -2
  122. package/dist/src/backend/domains/session/chat/chat-message-handlers/registry.js.map +1 -1
  123. package/dist/src/backend/domains/session/chat/chat-message-handlers/types.d.ts +1 -0
  124. package/dist/src/backend/domains/session/chat/chat-message-handlers/types.d.ts.map +1 -1
  125. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.d.ts +5 -1
  126. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.d.ts.map +1 -1
  127. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.js +39 -13
  128. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.js.map +1 -1
  129. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.test.js +81 -0
  130. package/dist/src/backend/domains/session/chat/chat-message-handlers.service.test.js.map +1 -1
  131. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.d.ts.map +1 -1
  132. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.js +12 -59
  133. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.js.map +1 -1
  134. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.test.js +11 -21
  135. package/dist/src/backend/domains/session/data/codex-session-history-loader.service.test.js.map +1 -1
  136. package/dist/src/backend/domains/session/data/session-data.service.d.ts +6 -0
  137. package/dist/src/backend/domains/session/data/session-data.service.d.ts.map +1 -1
  138. package/dist/src/backend/domains/session/lifecycle/session.service.d.ts +7 -0
  139. package/dist/src/backend/domains/session/lifecycle/session.service.d.ts.map +1 -1
  140. package/dist/src/backend/domains/session/lifecycle/session.service.js +105 -6
  141. package/dist/src/backend/domains/session/lifecycle/session.service.js.map +1 -1
  142. package/dist/src/backend/domains/session/lifecycle/session.service.test.js +84 -0
  143. package/dist/src/backend/domains/session/lifecycle/session.service.test.js.map +1 -1
  144. package/dist/src/backend/domains/session/session-domain.service.d.ts +8 -1
  145. package/dist/src/backend/domains/session/session-domain.service.d.ts.map +1 -1
  146. package/dist/src/backend/domains/session/session-domain.service.js +43 -2
  147. package/dist/src/backend/domains/session/session-domain.service.js.map +1 -1
  148. package/dist/src/backend/domains/session/session-domain.service.test.js +21 -0
  149. package/dist/src/backend/domains/session/session-domain.service.test.js.map +1 -1
  150. package/dist/src/backend/domains/session/store/session-store.types.d.ts +1 -1
  151. package/dist/src/backend/domains/session/store/session-store.types.d.ts.map +1 -1
  152. package/dist/src/backend/domains/session/store/session-transcript.d.ts +1 -0
  153. package/dist/src/backend/domains/session/store/session-transcript.d.ts.map +1 -1
  154. package/dist/src/backend/domains/session/store/session-transcript.js +8 -0
  155. package/dist/src/backend/domains/session/store/session-transcript.js.map +1 -1
  156. package/dist/src/backend/domains/workspace/lifecycle/creation.service.d.ts +9 -0
  157. package/dist/src/backend/domains/workspace/lifecycle/creation.service.d.ts.map +1 -1
  158. package/dist/src/backend/domains/workspace/lifecycle/creation.service.js +18 -0
  159. package/dist/src/backend/domains/workspace/lifecycle/creation.service.js.map +1 -1
  160. package/dist/src/backend/domains/workspace/lifecycle/creation.service.test.js +46 -0
  161. package/dist/src/backend/domains/workspace/lifecycle/creation.service.test.js.map +1 -1
  162. package/dist/src/backend/domains/workspace/lifecycle/data.service.d.ts +25 -0
  163. package/dist/src/backend/domains/workspace/lifecycle/data.service.d.ts.map +1 -1
  164. package/dist/src/backend/domains/workspace/query/project-management.service.d.ts +16 -0
  165. package/dist/src/backend/domains/workspace/query/project-management.service.d.ts.map +1 -1
  166. package/dist/src/backend/domains/workspace/query/project-management.service.js.map +1 -1
  167. package/dist/src/backend/domains/workspace/query/workspace-query.service.d.ts +6 -0
  168. package/dist/src/backend/domains/workspace/query/workspace-query.service.d.ts.map +1 -1
  169. package/dist/src/backend/interceptors/pr-detection.interceptor.d.ts.map +1 -1
  170. package/dist/src/backend/interceptors/pr-detection.interceptor.js +5 -1
  171. package/dist/src/backend/interceptors/pr-detection.interceptor.js.map +1 -1
  172. package/dist/src/backend/interceptors/pr-detection.interceptor.test.js +14 -0
  173. package/dist/src/backend/interceptors/pr-detection.interceptor.test.js.map +1 -1
  174. package/dist/src/backend/migrate.d.ts.map +1 -1
  175. package/dist/src/backend/migrate.js +13 -3
  176. package/dist/src/backend/migrate.js.map +1 -1
  177. package/dist/src/backend/migrate.test.js +44 -0
  178. package/dist/src/backend/migrate.test.js.map +1 -1
  179. package/dist/src/backend/orchestration/cli-health.service.d.ts +1 -0
  180. package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
  181. package/dist/src/backend/orchestration/cli-health.service.js +16 -1
  182. package/dist/src/backend/orchestration/cli-health.service.js.map +1 -1
  183. package/dist/src/backend/orchestration/cli-health.service.test.js +23 -0
  184. package/dist/src/backend/orchestration/cli-health.service.test.js.map +1 -1
  185. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  186. package/dist/src/backend/orchestration/data-backup.service.js +21 -1
  187. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  188. package/dist/src/backend/orchestration/data-backup.service.test.js +19 -9
  189. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  190. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  191. package/dist/src/backend/orchestration/event-collector.orchestrator.js +63 -3
  192. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  193. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +49 -3
  194. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  195. package/dist/src/backend/orchestration/linear-config.helper.d.ts +9 -0
  196. package/dist/src/backend/orchestration/linear-config.helper.d.ts.map +1 -0
  197. package/dist/src/backend/orchestration/linear-config.helper.js +23 -0
  198. package/dist/src/backend/orchestration/linear-config.helper.js.map +1 -0
  199. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +3 -0
  200. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  201. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  202. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +228 -3
  203. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  204. package/dist/src/backend/prompts/ratchet-dispatch.d.ts +8 -1
  205. package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +1 -1
  206. package/dist/src/backend/prompts/ratchet-dispatch.js +20 -3
  207. package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
  208. package/dist/src/backend/resource_accessors/project.accessor.d.ts +7 -1
  209. package/dist/src/backend/resource_accessors/project.accessor.d.ts.map +1 -1
  210. package/dist/src/backend/resource_accessors/project.accessor.js +8 -1
  211. package/dist/src/backend/resource_accessors/project.accessor.js.map +1 -1
  212. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts +4 -1
  213. package/dist/src/backend/resource_accessors/workspace.accessor.d.ts.map +1 -1
  214. package/dist/src/backend/resource_accessors/workspace.accessor.js +3 -0
  215. package/dist/src/backend/resource_accessors/workspace.accessor.js.map +1 -1
  216. package/dist/src/backend/server.d.ts.map +1 -1
  217. package/dist/src/backend/server.js +11 -9
  218. package/dist/src/backend/server.js.map +1 -1
  219. package/dist/src/backend/services/constants.d.ts +1 -0
  220. package/dist/src/backend/services/constants.d.ts.map +1 -1
  221. package/dist/src/backend/services/constants.js +1 -0
  222. package/dist/src/backend/services/constants.js.map +1 -1
  223. package/dist/src/backend/services/crypto.service.d.ts +10 -0
  224. package/dist/src/backend/services/crypto.service.d.ts.map +1 -0
  225. package/dist/src/backend/services/crypto.service.js +61 -0
  226. package/dist/src/backend/services/crypto.service.js.map +1 -0
  227. package/dist/src/backend/trpc/admin.trpc.d.ts +14 -4
  228. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  229. package/dist/src/backend/trpc/index.d.ts +169 -9
  230. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  231. package/dist/src/backend/trpc/index.js +2 -0
  232. package/dist/src/backend/trpc/index.js.map +1 -1
  233. package/dist/src/backend/trpc/linear.trpc.d.ts +44 -0
  234. package/dist/src/backend/trpc/linear.trpc.d.ts.map +1 -0
  235. package/dist/src/backend/trpc/linear.trpc.js +69 -0
  236. package/dist/src/backend/trpc/linear.trpc.js.map +1 -0
  237. package/dist/src/backend/trpc/project.trpc.d.ts +50 -5
  238. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  239. package/dist/src/backend/trpc/project.trpc.js +46 -18
  240. package/dist/src/backend/trpc/project.trpc.js.map +1 -1
  241. package/dist/src/backend/trpc/session.trpc.d.ts +13 -0
  242. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  243. package/dist/src/backend/trpc/session.trpc.js +5 -1
  244. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  245. package/dist/src/backend/trpc/workspace/git.trpc.d.ts +10 -0
  246. package/dist/src/backend/trpc/workspace/git.trpc.d.ts.map +1 -1
  247. package/dist/src/backend/trpc/workspace/git.trpc.js +25 -0
  248. package/dist/src/backend/trpc/workspace/git.trpc.js.map +1 -1
  249. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +3 -0
  250. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  251. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +8 -0
  252. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  253. package/dist/src/backend/trpc/workspace.trpc.d.ts +49 -0
  254. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  255. package/dist/src/backend/trpc/workspace.trpc.js +20 -4
  256. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  257. package/dist/src/cli/index.js +17 -91
  258. package/dist/src/cli/index.js.map +1 -1
  259. package/dist/src/cli/proxy.d.ts +80 -0
  260. package/dist/src/cli/proxy.d.ts.map +1 -0
  261. package/dist/src/cli/proxy.js +1054 -0
  262. package/dist/src/cli/proxy.js.map +1 -0
  263. package/dist/src/cli/proxy.test.d.ts +2 -0
  264. package/dist/src/cli/proxy.test.d.ts.map +1 -0
  265. package/dist/src/cli/proxy.test.js +249 -0
  266. package/dist/src/cli/proxy.test.js.map +1 -0
  267. package/dist/src/cli/runtime-utils.d.ts +9 -0
  268. package/dist/src/cli/runtime-utils.d.ts.map +1 -0
  269. package/dist/src/cli/runtime-utils.js +86 -0
  270. package/dist/src/cli/runtime-utils.js.map +1 -0
  271. package/dist/src/shared/core/enums.d.ts +6 -0
  272. package/dist/src/shared/core/enums.d.ts.map +1 -1
  273. package/dist/src/shared/core/enums.js +5 -0
  274. package/dist/src/shared/core/enums.js.map +1 -1
  275. package/dist/src/shared/core/index.d.ts +1 -1
  276. package/dist/src/shared/core/index.d.ts.map +1 -1
  277. package/dist/src/shared/core/index.js +1 -1
  278. package/dist/src/shared/core/index.js.map +1 -1
  279. package/dist/src/shared/schemas/export-data.schema.d.ts +19 -1
  280. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  281. package/dist/src/shared/schemas/export-data.schema.js +8 -2
  282. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  283. package/dist/src/shared/schemas/issue-tracker-config.schema.d.ts +35 -0
  284. package/dist/src/shared/schemas/issue-tracker-config.schema.d.ts.map +1 -0
  285. package/dist/src/shared/schemas/issue-tracker-config.schema.js +29 -0
  286. package/dist/src/shared/schemas/issue-tracker-config.schema.js.map +1 -0
  287. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  288. package/package.json +40 -36
  289. package/prisma/migrations/20260217190642_add_linear_integration/migration.sql +34 -0
  290. package/prisma/schema.prisma +13 -0
  291. package/prompts/quick-actions/screenshots.md +12 -6
  292. package/prompts/ratchet/dispatch.md +4 -0
  293. package/dist/client/assets/_basePickBy-kS1IrKFQ.js +0 -1
  294. package/dist/client/assets/arc-CWpVTRns.js +0 -1
  295. package/dist/client/assets/architectureDiagram-VXUJARFQ-Dp1AYPMt.js +0 -36
  296. package/dist/client/assets/channel-D5BCeybW.js +0 -1
  297. package/dist/client/assets/chunk-QN33PNHL-DP72lCp6.js +0 -1
  298. package/dist/client/assets/chunk-TZMSLE5B-G3wPktxK.js +0 -1
  299. package/dist/client/assets/classDiagram-2ON5EDUG-BUS1JDwr.js +0 -1
  300. package/dist/client/assets/classDiagram-v2-WZHVMYZB-BUS1JDwr.js +0 -1
  301. package/dist/client/assets/clone-C5xhPZw8.js +0 -1
  302. package/dist/client/assets/diagram-PSM6KHXK-QA-3O0wr.js +0 -24
  303. package/dist/client/assets/diagram-QEK2KX5R-VZkRJLXU.js +0 -43
  304. package/dist/client/assets/diagram-S2PKOQOG-DwLmogjW.js +0 -24
  305. package/dist/client/assets/gitGraphDiagram-NY62KEGX-CK2ytvyZ.js +0 -65
  306. package/dist/client/assets/index-D5ywoSOH.css +0 -1
  307. package/dist/client/assets/infoDiagram-WHAUD3N6-DO5X8HkW.js +0 -2
  308. package/dist/client/assets/pieDiagram-ADFJNKIX-BVBJCvYL.js +0 -30
  309. package/dist/client/assets/sankeyDiagram-TZEHDZUN-GIzxIQQB.js +0 -10
  310. package/dist/client/assets/stateDiagram-FKZM4ZOC-ByvdYZKl.js +0 -1
  311. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-ynQtAOKH.js +0 -1
  312. package/dist/client/assets/terminal-instance-xdECz0dx.js +0 -1
  313. package/dist/client/assets/treemap-KMMF4GRG-CVpLLzhu.js +0 -128
@@ -16,11 +16,18 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
16
16
  limit?: number | undefined;
17
17
  offset?: number | undefined;
18
18
  } | undefined;
19
- output: ({
19
+ output: {
20
+ issueTrackerConfig: {
21
+ linear?: {
22
+ viewerName: string;
23
+ teamId: string;
24
+ teamName: string;
25
+ hasApiKey: boolean;
26
+ } | undefined;
27
+ } | null;
20
28
  _count: {
21
29
  workspaces: number;
22
30
  };
23
- } & {
24
31
  name: string;
25
32
  updatedAt: Date;
26
33
  createdAt: Date;
@@ -32,10 +39,11 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
32
39
  githubOwner: string | null;
33
40
  githubRepo: string | null;
34
41
  isArchived: boolean;
42
+ issueProvider: import("../../../prisma/generated/enums.js").IssueProvider;
35
43
  startupScriptCommand: string | null;
36
44
  startupScriptPath: string | null;
37
45
  startupScriptTimeout: number;
38
- })[];
46
+ }[];
39
47
  meta: object;
40
48
  }>;
41
49
  getById: import("@trpc/server").TRPCQueryProcedure<{
@@ -43,6 +51,14 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
43
51
  id: string;
44
52
  };
45
53
  output: {
54
+ issueTrackerConfig: {
55
+ linear?: {
56
+ viewerName: string;
57
+ teamId: string;
58
+ teamName: string;
59
+ hasApiKey: boolean;
60
+ } | undefined;
61
+ } | null;
46
62
  workspaces: {
47
63
  name: string;
48
64
  prUrl: string | null;
@@ -76,6 +92,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
76
92
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
77
93
  githubIssueNumber: number | null;
78
94
  githubIssueUrl: string | null;
95
+ linearIssueId: string | null;
96
+ linearIssueIdentifier: string | null;
97
+ linearIssueUrl: string | null;
79
98
  prUpdatedAt: Date | null;
80
99
  prCiFailedAt: Date | null;
81
100
  prCiLastNotifiedAt: Date | null;
@@ -90,7 +109,6 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
90
109
  cachedKanbanColumn: import("../../../prisma/generated/enums.js").KanbanColumn;
91
110
  stateComputedAt: Date | null;
92
111
  }[];
93
- } & {
94
112
  name: string;
95
113
  updatedAt: Date;
96
114
  createdAt: Date;
@@ -102,6 +120,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
102
120
  githubOwner: string | null;
103
121
  githubRepo: string | null;
104
122
  isArchived: boolean;
123
+ issueProvider: import("../../../prisma/generated/enums.js").IssueProvider;
105
124
  startupScriptCommand: string | null;
106
125
  startupScriptPath: string | null;
107
126
  startupScriptTimeout: number;
@@ -113,6 +132,14 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
113
132
  slug: string;
114
133
  };
115
134
  output: {
135
+ issueTrackerConfig: {
136
+ linear?: {
137
+ viewerName: string;
138
+ teamId: string;
139
+ teamName: string;
140
+ hasApiKey: boolean;
141
+ } | undefined;
142
+ } | null;
116
143
  workspaces: {
117
144
  name: string;
118
145
  prUrl: string | null;
@@ -146,6 +173,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
146
173
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
147
174
  githubIssueNumber: number | null;
148
175
  githubIssueUrl: string | null;
176
+ linearIssueId: string | null;
177
+ linearIssueIdentifier: string | null;
178
+ linearIssueUrl: string | null;
149
179
  prUpdatedAt: Date | null;
150
180
  prCiFailedAt: Date | null;
151
181
  prCiLastNotifiedAt: Date | null;
@@ -160,7 +190,6 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
160
190
  cachedKanbanColumn: import("../../../prisma/generated/enums.js").KanbanColumn;
161
191
  stateComputedAt: Date | null;
162
192
  }[];
163
- } & {
164
193
  name: string;
165
194
  updatedAt: Date;
166
195
  createdAt: Date;
@@ -172,6 +201,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
172
201
  githubOwner: string | null;
173
202
  githubRepo: string | null;
174
203
  isArchived: boolean;
204
+ issueProvider: import("../../../prisma/generated/enums.js").IssueProvider;
175
205
  startupScriptCommand: string | null;
176
206
  startupScriptPath: string | null;
177
207
  startupScriptTimeout: number;
@@ -214,6 +244,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
214
244
  githubOwner: string | null;
215
245
  githubRepo: string | null;
216
246
  isArchived: boolean;
247
+ issueProvider: import("../../../prisma/generated/enums.js").IssueProvider;
248
+ issueTrackerConfig: import("@prisma/client/runtime/client").JsonValue | null;
217
249
  startupScriptCommand: string | null;
218
250
  startupScriptPath: string | null;
219
251
  startupScriptTimeout: number;
@@ -231,6 +263,15 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
231
263
  startupScriptCommand?: string | null | undefined;
232
264
  startupScriptPath?: string | null | undefined;
233
265
  startupScriptTimeout?: number | undefined;
266
+ issueProvider?: "GITHUB" | "LINEAR" | undefined;
267
+ issueTrackerConfig?: {
268
+ linear?: {
269
+ apiKey: string;
270
+ teamId: string;
271
+ teamName: string;
272
+ viewerName: string;
273
+ } | undefined;
274
+ } | null | undefined;
234
275
  };
235
276
  output: {
236
277
  name: string;
@@ -244,6 +285,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
244
285
  githubOwner: string | null;
245
286
  githubRepo: string | null;
246
287
  isArchived: boolean;
288
+ issueProvider: import("../../../prisma/generated/enums.js").IssueProvider;
289
+ issueTrackerConfig: import("@prisma/client/runtime/client").JsonValue | null;
247
290
  startupScriptCommand: string | null;
248
291
  startupScriptPath: string | null;
249
292
  startupScriptTimeout: number;
@@ -266,6 +309,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
266
309
  githubOwner: string | null;
267
310
  githubRepo: string | null;
268
311
  isArchived: boolean;
312
+ issueProvider: import("../../../prisma/generated/enums.js").IssueProvider;
313
+ issueTrackerConfig: import("@prisma/client/runtime/client").JsonValue | null;
269
314
  startupScriptCommand: string | null;
270
315
  startupScriptPath: string | null;
271
316
  startupScriptTimeout: number;
@@ -485,7 +530,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
485
530
  meta: {
486
531
  exportedAt: string;
487
532
  version: string;
488
- schemaVersion: 3;
533
+ schemaVersion: 4;
489
534
  };
490
535
  data: {
491
536
  projects: {
@@ -497,6 +542,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
497
542
  defaultBranch: string;
498
543
  githubOwner: string | null;
499
544
  githubRepo: string | null;
545
+ issueProvider: "GITHUB" | "LINEAR";
546
+ issueTrackerConfig: unknown;
500
547
  isArchived: boolean;
501
548
  startupScriptCommand: string | null;
502
549
  startupScriptPath: string | null;
@@ -513,7 +560,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
513
560
  worktreePath: string | null;
514
561
  branchName: string | null;
515
562
  isAutoGeneratedBranch: boolean;
516
- creationSource: "MANUAL" | "RESUME_BRANCH" | "GITHUB_ISSUE";
563
+ creationSource: "MANUAL" | "RESUME_BRANCH" | "GITHUB_ISSUE" | "LINEAR_ISSUE";
517
564
  creationMetadata: unknown;
518
565
  initErrorMessage: string | null;
519
566
  initOutput: string | null;
@@ -529,6 +576,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
529
576
  prUrl: string | null;
530
577
  githubIssueNumber: number | null;
531
578
  githubIssueUrl: string | null;
579
+ linearIssueId: string | null;
580
+ linearIssueIdentifier: string | null;
581
+ linearIssueUrl: string | null;
532
582
  defaultSessionProvider: "WORKSPACE_DEFAULT" | "CLAUDE" | "CODEX";
533
583
  ratchetSessionProvider: "WORKSPACE_DEFAULT" | "CLAUDE" | "CODEX";
534
584
  prNumber: number | null;
@@ -592,7 +642,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
592
642
  meta: {
593
643
  exportedAt: string;
594
644
  version: string;
595
- schemaVersion: 3;
645
+ schemaVersion: 4;
596
646
  };
597
647
  data: {
598
648
  projects: {
@@ -604,6 +654,8 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
604
654
  defaultBranch: string;
605
655
  githubOwner: string | null;
606
656
  githubRepo: string | null;
657
+ issueProvider: "GITHUB" | "LINEAR";
658
+ issueTrackerConfig: unknown;
607
659
  isArchived: boolean;
608
660
  startupScriptCommand: string | null;
609
661
  startupScriptPath: string | null;
@@ -620,7 +672,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
620
672
  worktreePath: string | null;
621
673
  branchName: string | null;
622
674
  isAutoGeneratedBranch: boolean;
623
- creationSource: "MANUAL" | "RESUME_BRANCH" | "GITHUB_ISSUE";
675
+ creationSource: "MANUAL" | "RESUME_BRANCH" | "GITHUB_ISSUE" | "LINEAR_ISSUE";
624
676
  creationMetadata: unknown;
625
677
  initErrorMessage: string | null;
626
678
  initOutput: string | null;
@@ -636,6 +688,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
636
688
  prUrl: string | null;
637
689
  githubIssueNumber: number | null;
638
690
  githubIssueUrl: string | null;
691
+ linearIssueId: string | null;
692
+ linearIssueIdentifier: string | null;
693
+ linearIssueUrl: string | null;
639
694
  defaultSessionProvider: "WORKSPACE_DEFAULT" | "CLAUDE" | "CODEX";
640
695
  ratchetSessionProvider: "WORKSPACE_DEFAULT" | "CLAUDE" | "CODEX";
641
696
  prNumber: number | null;
@@ -868,6 +923,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
868
923
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
869
924
  githubIssueNumber: number | null;
870
925
  githubIssueUrl: string | null;
926
+ linearIssueId: string | null;
927
+ linearIssueIdentifier: string | null;
928
+ linearIssueUrl: string | null;
871
929
  prUpdatedAt: Date | null;
872
930
  prCiFailedAt: Date | null;
873
931
  prCiLastNotifiedAt: Date | null;
@@ -945,6 +1003,16 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
945
1003
  };
946
1004
  meta: object;
947
1005
  }>;
1006
+ getUnpushedFiles: import("@trpc/server").TRPCQueryProcedure<{
1007
+ input: {
1008
+ workspaceId: string;
1009
+ };
1010
+ output: {
1011
+ files: string[];
1012
+ hasUpstream: boolean;
1013
+ };
1014
+ meta: object;
1015
+ }>;
948
1016
  getFileDiff: import("@trpc/server").TRPCQueryProcedure<{
949
1017
  input: {
950
1018
  workspaceId: string;
@@ -1068,6 +1136,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1068
1136
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1069
1137
  githubIssueNumber: number | null;
1070
1138
  githubIssueUrl: string | null;
1139
+ linearIssueId: string | null;
1140
+ linearIssueIdentifier: string | null;
1141
+ linearIssueUrl: string | null;
1071
1142
  prUpdatedAt: Date | null;
1072
1143
  prCiFailedAt: Date | null;
1073
1144
  prCiLastNotifiedAt: Date | null;
@@ -1193,6 +1264,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1193
1264
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1194
1265
  githubIssueNumber: number | null;
1195
1266
  githubIssueUrl: string | null;
1267
+ linearIssueId: string | null;
1268
+ linearIssueIdentifier: string | null;
1269
+ linearIssueUrl: string | null;
1196
1270
  prUpdatedAt: Date | null;
1197
1271
  prCiFailedAt: Date | null;
1198
1272
  prCiLastNotifiedAt: Date | null;
@@ -1275,6 +1349,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1275
1349
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1276
1350
  githubIssueNumber: number | null;
1277
1351
  githubIssueUrl: string | null;
1352
+ linearIssueId: string | null;
1353
+ linearIssueIdentifier: string | null;
1354
+ linearIssueUrl: string | null;
1278
1355
  prUpdatedAt: Date | null;
1279
1356
  prCiFailedAt: Date | null;
1280
1357
  prCiLastNotifiedAt: Date | null;
@@ -1357,6 +1434,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1357
1434
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1358
1435
  githubIssueNumber: number | null;
1359
1436
  githubIssueUrl: string | null;
1437
+ linearIssueId: string | null;
1438
+ linearIssueIdentifier: string | null;
1439
+ linearIssueUrl: string | null;
1360
1440
  prUpdatedAt: Date | null;
1361
1441
  prCiFailedAt: Date | null;
1362
1442
  prCiLastNotifiedAt: Date | null;
@@ -1396,6 +1476,15 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1396
1476
  name?: string | undefined;
1397
1477
  description?: string | undefined;
1398
1478
  ratchetEnabled?: boolean | undefined;
1479
+ } | {
1480
+ type: "LINEAR_ISSUE";
1481
+ projectId: string;
1482
+ issueId: string;
1483
+ issueIdentifier: string;
1484
+ issueUrl: string;
1485
+ name?: string | undefined;
1486
+ description?: string | undefined;
1487
+ ratchetEnabled?: boolean | undefined;
1399
1488
  };
1400
1489
  output: {
1401
1490
  name: string;
@@ -1430,6 +1519,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1430
1519
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1431
1520
  githubIssueNumber: number | null;
1432
1521
  githubIssueUrl: string | null;
1522
+ linearIssueId: string | null;
1523
+ linearIssueIdentifier: string | null;
1524
+ linearIssueUrl: string | null;
1433
1525
  prUpdatedAt: Date | null;
1434
1526
  prCiFailedAt: Date | null;
1435
1527
  prCiLastNotifiedAt: Date | null;
@@ -1509,6 +1601,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1509
1601
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1510
1602
  githubIssueNumber: number | null;
1511
1603
  githubIssueUrl: string | null;
1604
+ linearIssueId: string | null;
1605
+ linearIssueIdentifier: string | null;
1606
+ linearIssueUrl: string | null;
1512
1607
  prUpdatedAt: Date | null;
1513
1608
  prCiFailedAt: Date | null;
1514
1609
  prCiLastNotifiedAt: Date | null;
@@ -1564,6 +1659,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1564
1659
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1565
1660
  githubIssueNumber: number | null;
1566
1661
  githubIssueUrl: string | null;
1662
+ linearIssueId: string | null;
1663
+ linearIssueIdentifier: string | null;
1664
+ linearIssueUrl: string | null;
1567
1665
  prUpdatedAt: Date | null;
1568
1666
  prCiFailedAt: Date | null;
1569
1667
  prCiLastNotifiedAt: Date | null;
@@ -1618,6 +1716,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1618
1716
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1619
1717
  githubIssueNumber: number | null;
1620
1718
  githubIssueUrl: string | null;
1719
+ linearIssueId: string | null;
1720
+ linearIssueIdentifier: string | null;
1721
+ linearIssueUrl: string | null;
1621
1722
  prUpdatedAt: Date | null;
1622
1723
  prCiFailedAt: Date | null;
1623
1724
  prCiLastNotifiedAt: Date | null;
@@ -1671,6 +1772,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1671
1772
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1672
1773
  githubIssueNumber: number | null;
1673
1774
  githubIssueUrl: string | null;
1775
+ linearIssueId: string | null;
1776
+ linearIssueIdentifier: string | null;
1777
+ linearIssueUrl: string | null;
1674
1778
  prUpdatedAt: Date | null;
1675
1779
  prCiFailedAt: Date | null;
1676
1780
  prCiLastNotifiedAt: Date | null;
@@ -1836,6 +1940,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1836
1940
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1837
1941
  githubIssueNumber: number | null;
1838
1942
  githubIssueUrl: string | null;
1943
+ linearIssueId: string | null;
1944
+ linearIssueIdentifier: string | null;
1945
+ linearIssueUrl: string | null;
1839
1946
  prUpdatedAt: Date | null;
1840
1947
  prCiFailedAt: Date | null;
1841
1948
  prCiLastNotifiedAt: Date | null;
@@ -1874,6 +1981,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1874
1981
  name?: string | undefined;
1875
1982
  model?: string | undefined;
1876
1983
  provider?: "CLAUDE" | "CODEX" | undefined;
1984
+ initialMessage?: string | undefined;
1877
1985
  };
1878
1986
  output: {
1879
1987
  name: string | null;
@@ -1955,6 +2063,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1955
2063
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
1956
2064
  githubIssueNumber: number | null;
1957
2065
  githubIssueUrl: string | null;
2066
+ linearIssueId: string | null;
2067
+ linearIssueIdentifier: string | null;
2068
+ linearIssueUrl: string | null;
1958
2069
  prUpdatedAt: Date | null;
1959
2070
  prCiFailedAt: Date | null;
1960
2071
  prCiLastNotifiedAt: Date | null;
@@ -2024,6 +2135,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2024
2135
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
2025
2136
  githubIssueNumber: number | null;
2026
2137
  githubIssueUrl: string | null;
2138
+ linearIssueId: string | null;
2139
+ linearIssueIdentifier: string | null;
2140
+ linearIssueUrl: string | null;
2027
2141
  prUpdatedAt: Date | null;
2028
2142
  prCiFailedAt: Date | null;
2029
2143
  prCiLastNotifiedAt: Date | null;
@@ -2131,6 +2245,9 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2131
2245
  runScriptStatus: import("../../../prisma/generated/enums.js").RunScriptStatus;
2132
2246
  githubIssueNumber: number | null;
2133
2247
  githubIssueUrl: string | null;
2248
+ linearIssueId: string | null;
2249
+ linearIssueIdentifier: string | null;
2250
+ linearIssueUrl: string | null;
2134
2251
  prUpdatedAt: Date | null;
2135
2252
  prCiFailedAt: Date | null;
2136
2253
  prCiLastNotifiedAt: Date | null;
@@ -2412,6 +2529,49 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
2412
2529
  meta: object;
2413
2530
  }>;
2414
2531
  }>>;
2532
+ linear: import("@trpc/server").TRPCBuiltRouter<{
2533
+ ctx: import("./trpc.js").Context;
2534
+ meta: object;
2535
+ errorShape: import("@trpc/server").TRPCDefaultErrorShape;
2536
+ transformer: true;
2537
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
2538
+ validateKeyAndListTeams: import("@trpc/server").TRPCMutationProcedure<{
2539
+ input: {
2540
+ apiKey: string;
2541
+ };
2542
+ output: import("../domains/linear/index.js").LinearValidationResult & {
2543
+ teams?: import("../domains/linear/index.js").LinearTeam[];
2544
+ };
2545
+ meta: object;
2546
+ }>;
2547
+ listIssuesForProject: import("@trpc/server").TRPCQueryProcedure<{
2548
+ input: {
2549
+ projectId: string;
2550
+ };
2551
+ output: {
2552
+ issues: never[];
2553
+ error: string;
2554
+ } | {
2555
+ issues: import("../domains/linear/index.js").LinearIssue[];
2556
+ error: null;
2557
+ };
2558
+ meta: object;
2559
+ }>;
2560
+ getIssue: import("@trpc/server").TRPCQueryProcedure<{
2561
+ input: {
2562
+ projectId: string;
2563
+ issueId: string;
2564
+ };
2565
+ output: {
2566
+ issue: null;
2567
+ error: string;
2568
+ } | {
2569
+ issue: import("../domains/linear/index.js").LinearIssue | null;
2570
+ error: null;
2571
+ };
2572
+ meta: object;
2573
+ }>;
2574
+ }>>;
2415
2575
  }>>;
2416
2576
  export type AppRouter = typeof appRouter;
2417
2577
  export { projectScopedProcedure } from './procedures/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASpB,CAAC;AAGH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUpB,CAAC;AAGH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { adminRouter } from './admin.trpc.js';
2
2
  import { decisionLogRouter } from './decision-log.trpc.js';
3
3
  import { githubRouter } from './github.trpc.js';
4
+ import { linearRouter } from './linear.trpc.js';
4
5
  import { prReviewRouter } from './pr-review.trpc.js';
5
6
  import { projectRouter } from './project.trpc.js';
6
7
  import { sessionRouter } from './session.trpc.js';
@@ -16,6 +17,7 @@ export const appRouter = router({
16
17
  prReview: prReviewRouter,
17
18
  userSettings: userSettingsRouter,
18
19
  github: githubRouter,
20
+ linear: linearRouter,
19
21
  });
20
22
  export { projectScopedProcedure } from './procedures/index.js';
21
23
  export { createContext, publicProcedure } from './trpc.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/backend/trpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,kBAAkB;IAChC,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC;AAKH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/backend/trpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,kBAAkB;IAChC,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC;AAKH,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,44 @@
1
+ export declare const linearRouter: import("@trpc/server").TRPCBuiltRouter<{
2
+ ctx: import("./trpc.js").Context;
3
+ meta: object;
4
+ errorShape: import("@trpc/server").TRPCDefaultErrorShape;
5
+ transformer: true;
6
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
7
+ validateKeyAndListTeams: import("@trpc/server").TRPCMutationProcedure<{
8
+ input: {
9
+ apiKey: string;
10
+ };
11
+ output: import("../../backend/domains/linear/index.js").LinearValidationResult & {
12
+ teams?: import("../../backend/domains/linear/index.js").LinearTeam[];
13
+ };
14
+ meta: object;
15
+ }>;
16
+ listIssuesForProject: import("@trpc/server").TRPCQueryProcedure<{
17
+ input: {
18
+ projectId: string;
19
+ };
20
+ output: {
21
+ issues: never[];
22
+ error: string;
23
+ } | {
24
+ issues: import("../../backend/domains/linear/index.js").LinearIssue[];
25
+ error: null;
26
+ };
27
+ meta: object;
28
+ }>;
29
+ getIssue: import("@trpc/server").TRPCQueryProcedure<{
30
+ input: {
31
+ projectId: string;
32
+ issueId: string;
33
+ };
34
+ output: {
35
+ issue: null;
36
+ error: string;
37
+ } | {
38
+ issue: import("../../backend/domains/linear/index.js").LinearIssue | null;
39
+ error: null;
40
+ };
41
+ meta: object;
42
+ }>;
43
+ }>>;
44
+ //# sourceMappingURL=linear.trpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.trpc.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/linear.trpc.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDvB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { z } from 'zod';
2
+ import { linearClientService } from '../../backend/domains/linear/index.js';
3
+ import { projectManagementService } from '../../backend/domains/workspace/index.js';
4
+ import { cryptoService } from '../../backend/services/crypto.service.js';
5
+ import { IssueTrackerConfigSchema } from '../../shared/schemas/issue-tracker-config.schema.js';
6
+ import { publicProcedure, router } from './trpc.js';
7
+ function getLinearConfig(project) {
8
+ const parsed = IssueTrackerConfigSchema.safeParse(project.issueTrackerConfig);
9
+ if (!(parsed.success && parsed.data.linear)) {
10
+ return null;
11
+ }
12
+ const { linear } = parsed.data;
13
+ return {
14
+ apiKey: cryptoService.decrypt(linear.apiKey),
15
+ teamId: linear.teamId,
16
+ };
17
+ }
18
+ export const linearRouter = router({
19
+ validateKeyAndListTeams: publicProcedure
20
+ .input(z.object({ apiKey: z.string().min(1) }))
21
+ .mutation(({ input }) => {
22
+ return linearClientService.validateKeyAndListTeams(input.apiKey);
23
+ }),
24
+ listIssuesForProject: publicProcedure
25
+ .input(z.object({ projectId: z.string() }))
26
+ .query(async ({ input }) => {
27
+ const project = await projectManagementService.findById(input.projectId);
28
+ if (!project) {
29
+ return { issues: [], error: 'Project not found' };
30
+ }
31
+ const config = getLinearConfig(project);
32
+ if (!config) {
33
+ return { issues: [], error: 'Linear not configured for this project' };
34
+ }
35
+ try {
36
+ const issues = await linearClientService.listMyIssues(config.apiKey, config.teamId);
37
+ return { issues, error: null };
38
+ }
39
+ catch (err) {
40
+ return {
41
+ issues: [],
42
+ error: err instanceof Error ? err.message : 'Failed to fetch Linear issues',
43
+ };
44
+ }
45
+ }),
46
+ getIssue: publicProcedure
47
+ .input(z.object({ projectId: z.string(), issueId: z.string() }))
48
+ .query(async ({ input }) => {
49
+ const project = await projectManagementService.findById(input.projectId);
50
+ if (!project) {
51
+ return { issue: null, error: 'Project not found' };
52
+ }
53
+ const config = getLinearConfig(project);
54
+ if (!config) {
55
+ return { issue: null, error: 'Linear not configured for this project' };
56
+ }
57
+ try {
58
+ const issue = await linearClientService.getIssue(config.apiKey, input.issueId);
59
+ return { issue, error: null };
60
+ }
61
+ catch (err) {
62
+ return {
63
+ issue: null,
64
+ error: err instanceof Error ? err.message : 'Failed to fetch Linear issue',
65
+ };
66
+ }
67
+ }),
68
+ });
69
+ //# sourceMappingURL=linear.trpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.trpc.js","sourceRoot":"","sources":["../../../../src/backend/trpc/linear.trpc.ts"],"names":[],"mappings":"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"}