agent-tower 0.5.3-beta.5 → 0.5.3-beta.7

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 (231) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +13 -0
  3. package/dist/app.js.map +1 -1
  4. package/dist/cli.js +26 -3
  5. package/dist/cli.js.map +1 -1
  6. package/dist/executors/__tests__/base.executor.test.js +83 -8
  7. package/dist/executors/__tests__/base.executor.test.js.map +1 -1
  8. package/dist/executors/__tests__/claude-code.executor.test.d.ts +2 -0
  9. package/dist/executors/__tests__/claude-code.executor.test.d.ts.map +1 -0
  10. package/dist/executors/__tests__/claude-code.executor.test.js +72 -0
  11. package/dist/executors/__tests__/claude-code.executor.test.js.map +1 -0
  12. package/dist/executors/__tests__/providers-availability.test.d.ts +2 -0
  13. package/dist/executors/__tests__/providers-availability.test.d.ts.map +1 -0
  14. package/dist/executors/__tests__/providers-availability.test.js +92 -0
  15. package/dist/executors/__tests__/providers-availability.test.js.map +1 -0
  16. package/dist/executors/__tests__/stdin-prompt.executors.test.d.ts +2 -0
  17. package/dist/executors/__tests__/stdin-prompt.executors.test.d.ts.map +1 -0
  18. package/dist/executors/__tests__/stdin-prompt.executors.test.js +177 -0
  19. package/dist/executors/__tests__/stdin-prompt.executors.test.js.map +1 -0
  20. package/dist/executors/base.executor.d.ts.map +1 -1
  21. package/dist/executors/base.executor.js +131 -33
  22. package/dist/executors/base.executor.js.map +1 -1
  23. package/dist/executors/claude-code.executor.d.ts.map +1 -1
  24. package/dist/executors/claude-code.executor.js +22 -52
  25. package/dist/executors/claude-code.executor.js.map +1 -1
  26. package/dist/executors/codex.executor.js +4 -4
  27. package/dist/executors/codex.executor.js.map +1 -1
  28. package/dist/executors/cursor-agent.executor.d.ts.map +1 -1
  29. package/dist/executors/cursor-agent.executor.js +4 -6
  30. package/dist/executors/cursor-agent.executor.js.map +1 -1
  31. package/dist/executors/gemini-cli.executor.d.ts.map +1 -1
  32. package/dist/executors/gemini-cli.executor.js +9 -8
  33. package/dist/executors/gemini-cli.executor.js.map +1 -1
  34. package/dist/executors/image-utils.d.ts.map +1 -1
  35. package/dist/executors/image-utils.js +4 -22
  36. package/dist/executors/image-utils.js.map +1 -1
  37. package/dist/index.js +37 -2
  38. package/dist/index.js.map +1 -1
  39. package/dist/pipeline/agent-pipeline.d.ts.map +1 -1
  40. package/dist/pipeline/agent-pipeline.js +27 -2
  41. package/dist/pipeline/agent-pipeline.js.map +1 -1
  42. package/dist/routes/__tests__/filesystem.test.js +5 -2
  43. package/dist/routes/__tests__/filesystem.test.js.map +1 -1
  44. package/dist/routes/__tests__/git.test.d.ts +2 -0
  45. package/dist/routes/__tests__/git.test.d.ts.map +1 -0
  46. package/dist/routes/__tests__/git.test.js +47 -0
  47. package/dist/routes/__tests__/git.test.js.map +1 -0
  48. package/dist/routes/__tests__/workspaces.test.d.ts +2 -0
  49. package/dist/routes/__tests__/workspaces.test.d.ts.map +1 -0
  50. package/dist/routes/__tests__/workspaces.test.js +85 -0
  51. package/dist/routes/__tests__/workspaces.test.js.map +1 -0
  52. package/dist/routes/filesystem.d.ts.map +1 -1
  53. package/dist/routes/filesystem.js +4 -3
  54. package/dist/routes/filesystem.js.map +1 -1
  55. package/dist/routes/git.d.ts.map +1 -1
  56. package/dist/routes/git.js +32 -0
  57. package/dist/routes/git.js.map +1 -1
  58. package/dist/services/__tests__/conversation.service.test.js +63 -0
  59. package/dist/services/__tests__/conversation.service.test.js.map +1 -1
  60. package/dist/services/__tests__/project.service.test.js +56 -0
  61. package/dist/services/__tests__/project.service.test.js.map +1 -1
  62. package/dist/services/__tests__/task.service.test.js +49 -0
  63. package/dist/services/__tests__/task.service.test.js.map +1 -1
  64. package/dist/services/__tests__/team-reconciler.service.test.js +15 -9
  65. package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
  66. package/dist/services/__tests__/team-run.service.test.js +27 -3
  67. package/dist/services/__tests__/team-run.service.test.js.map +1 -1
  68. package/dist/services/__tests__/workspace.service.test.js +49 -1
  69. package/dist/services/__tests__/workspace.service.test.js.map +1 -1
  70. package/dist/services/conversation.service.d.ts.map +1 -1
  71. package/dist/services/conversation.service.js +17 -1
  72. package/dist/services/conversation.service.js.map +1 -1
  73. package/dist/services/project-guards.d.ts +4 -0
  74. package/dist/services/project-guards.d.ts.map +1 -1
  75. package/dist/services/project-guards.js +10 -0
  76. package/dist/services/project-guards.js.map +1 -1
  77. package/dist/services/project.service.d.ts +6 -1
  78. package/dist/services/project.service.d.ts.map +1 -1
  79. package/dist/services/project.service.js +31 -29
  80. package/dist/services/project.service.js.map +1 -1
  81. package/dist/services/session-manager.d.ts +9 -8
  82. package/dist/services/session-manager.d.ts.map +1 -1
  83. package/dist/services/session-manager.js +129 -16
  84. package/dist/services/session-manager.js.map +1 -1
  85. package/dist/services/task.service.d.ts +154 -5
  86. package/dist/services/task.service.d.ts.map +1 -1
  87. package/dist/services/task.service.js +54 -9
  88. package/dist/services/task.service.js.map +1 -1
  89. package/dist/services/team-run.service.d.ts.map +1 -1
  90. package/dist/services/team-run.service.js +11 -2
  91. package/dist/services/team-run.service.js.map +1 -1
  92. package/dist/services/terminal-manager.d.ts.map +1 -1
  93. package/dist/services/terminal-manager.js +39 -7
  94. package/dist/services/terminal-manager.js.map +1 -1
  95. package/dist/services/workspace.service.d.ts +7 -7
  96. package/dist/services/workspace.service.d.ts.map +1 -1
  97. package/dist/services/workspace.service.js +9 -1
  98. package/dist/services/workspace.service.js.map +1 -1
  99. package/dist/utils/error-log.d.ts +20 -0
  100. package/dist/utils/error-log.d.ts.map +1 -0
  101. package/dist/utils/error-log.js +176 -0
  102. package/dist/utils/error-log.js.map +1 -0
  103. package/dist/utils/error-log.test.d.ts +2 -0
  104. package/dist/utils/error-log.test.d.ts.map +1 -0
  105. package/dist/utils/error-log.test.js +233 -0
  106. package/dist/utils/error-log.test.js.map +1 -0
  107. package/dist/utils/prisma-cli-env.d.ts +3 -0
  108. package/dist/utils/prisma-cli-env.d.ts.map +1 -0
  109. package/dist/utils/prisma-cli-env.js +15 -0
  110. package/dist/utils/prisma-cli-env.js.map +1 -0
  111. package/dist/utils/prisma-cli-env.test.d.ts +2 -0
  112. package/dist/utils/prisma-cli-env.test.d.ts.map +1 -0
  113. package/dist/utils/prisma-cli-env.test.js +34 -0
  114. package/dist/utils/prisma-cli-env.test.js.map +1 -0
  115. package/dist/utils/process-launch.d.ts +4 -0
  116. package/dist/utils/process-launch.d.ts.map +1 -1
  117. package/dist/utils/process-launch.js +99 -15
  118. package/dist/utils/process-launch.js.map +1 -1
  119. package/dist/utils/process-launch.test.js +120 -3
  120. package/dist/utils/process-launch.test.js.map +1 -1
  121. package/dist/web/assets/{AgentDemoPage-DC61uZJ_.js → AgentDemoPage-C3_t3lf0.js} +1 -1
  122. package/dist/web/assets/{AgentLogo-CGrwilQJ.js → AgentLogo-BiGSdOLM.js} +1 -1
  123. package/dist/web/assets/ConversationPage-D3BaVRNK.js +3 -0
  124. package/dist/web/assets/CreateTaskInput-C6ZA8Cnu.js +2 -0
  125. package/dist/web/assets/{DemoPage-BDUjXkK3.js → DemoPage-BGdrlCk3.js} +1 -1
  126. package/dist/web/assets/{GeneralSettingsPage-DuYC1Vhv.js → GeneralSettingsPage-DRP9x8ha.js} +1 -1
  127. package/dist/web/assets/{Icons-BqZeUyTx.js → Icons-U8HyAFg8.js} +1 -1
  128. package/dist/web/assets/{LoadingPreviewPage-DPA8HxNr.js → LoadingPreviewPage-BR3n6lWz.js} +1 -1
  129. package/dist/web/assets/{McpSettingsPage-BO_Fd_mA.js → McpSettingsPage-BQ4HNeR-.js} +1 -1
  130. package/dist/web/assets/{MemberAvatar-BesdHRgJ.js → MemberAvatar-BjHhs0Hs.js} +1 -1
  131. package/dist/web/assets/{NotificationSettingsPage-F5HPtn9-.js → NotificationSettingsPage-nAYf_v-C.js} +1 -1
  132. package/dist/web/assets/{ProfileSettingsPage-DweTPF_t.js → ProfileSettingsPage-CvVvZlDS.js} +1 -1
  133. package/dist/web/assets/{ProjectKanbanPage-G5OQeJvU.css → ProjectKanbanPage-DcpNTP1B.css} +1 -1
  134. package/dist/web/assets/ProjectKanbanPage-DpWuiq4x.js +89 -0
  135. package/dist/web/assets/ProjectSettingsPage-B1V5vUQk.js +2 -0
  136. package/dist/web/assets/{ProviderSettingsPage-Cio0LIzm.js → ProviderSettingsPage-CXq-sGzZ.js} +1 -1
  137. package/dist/web/assets/{SettingsMasterDetail-BnqVBe7H.js → SettingsMasterDetail-BOKbstXF.js} +1 -1
  138. package/dist/web/assets/TeamSettingsPage-DFx7ZKTf.js +1 -0
  139. package/dist/web/assets/{arc-CYddG-Kz.js → arc-D4qG1SmX.js} +1 -1
  140. package/dist/web/assets/{architectureDiagram-3BPJPVTR-B3RXX4-J.js → architectureDiagram-3BPJPVTR-C1KQ-nPu.js} +1 -1
  141. package/dist/web/assets/{arrow-left-CufhOEz9.js → arrow-left-DKU68PPE.js} +1 -1
  142. package/dist/web/assets/{blockDiagram-GPEHLZMM-a7Dr_zcs.js → blockDiagram-GPEHLZMM-CHBz_0R-.js} +1 -1
  143. package/dist/web/assets/{c4Diagram-AAUBKEIU-BLwSao_g.js → c4Diagram-AAUBKEIU-spmGspVf.js} +1 -1
  144. package/dist/web/assets/channel-BzXNFc3j.js +1 -0
  145. package/dist/web/assets/check-ugjfD3Li.js +1 -0
  146. package/dist/web/assets/{chevron-down-BQyZkT4A.js → chevron-down-Bqq-PI_B.js} +1 -1
  147. package/dist/web/assets/{chevron-right-94xg9kiO.js → chevron-right-K0xCrJxO.js} +1 -1
  148. package/dist/web/assets/{chevron-up-BZM-aGAU.js → chevron-up-Rnt9gnA4.js} +1 -1
  149. package/dist/web/assets/{chunk-2J33WTMH-CV8jFvSt.js → chunk-2J33WTMH-BoBYuHA8.js} +1 -1
  150. package/dist/web/assets/{chunk-4BX2VUAB-DXquqZ4n.js → chunk-4BX2VUAB-Bmb_y0KF.js} +1 -1
  151. package/dist/web/assets/{chunk-55IACEB6-BowEEH_6.js → chunk-55IACEB6-B_KS5xlb.js} +1 -1
  152. package/dist/web/assets/{chunk-727SXJPM-Cbn9G9U_.js → chunk-727SXJPM-DI9KppWM.js} +1 -1
  153. package/dist/web/assets/{chunk-AQP2D5EJ-C-0K23VQ.js → chunk-AQP2D5EJ-C3F0DJdJ.js} +1 -1
  154. package/dist/web/assets/{chunk-FMBD7UC4-BJv0I_Lt.js → chunk-FMBD7UC4-C6-Jfc2f.js} +1 -1
  155. package/dist/web/assets/{chunk-ND2GUHAM-DJBjsrJO.js → chunk-ND2GUHAM-Crt5iCMS.js} +1 -1
  156. package/dist/web/assets/{chunk-QZHKN3VN-CBw_GG0t.js → chunk-QZHKN3VN-CSYfO5_E.js} +1 -1
  157. package/dist/web/assets/{circle-alert-lbce0dXY.js → circle-alert-BA6H1Efg.js} +1 -1
  158. package/dist/web/assets/classDiagram-4FO5ZUOK-DWVhCasm.js +1 -0
  159. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-DWVhCasm.js +1 -0
  160. package/dist/web/assets/{code-block-OCS4YCEC-CRG-xCnX.js → code-block-OCS4YCEC-BNCfYHwe.js} +1 -1
  161. package/dist/web/assets/{confirm-dialog-Cnw_rxtM.js → confirm-dialog-xFGalfma.js} +1 -1
  162. package/dist/web/assets/{cose-bilkent-S5V4N54A-DCNqQrFt.js → cose-bilkent-S5V4N54A-CsfM-xa6.js} +1 -1
  163. package/dist/web/assets/{dagre-BM42HDAG-oecZRFap.js → dagre-BM42HDAG-a0_McFXq.js} +1 -1
  164. package/dist/web/assets/{diagram-2AECGRRQ-BXx6WNMi.js → diagram-2AECGRRQ-Dc-ZrrCl.js} +1 -1
  165. package/dist/web/assets/{diagram-5GNKFQAL-Bu66xpEW.js → diagram-5GNKFQAL-CVTae_wQ.js} +1 -1
  166. package/dist/web/assets/{diagram-KO2AKTUF-ZGMyoO90.js → diagram-KO2AKTUF-DkfB2YqP.js} +1 -1
  167. package/dist/web/assets/{diagram-LMA3HP47-riQUwPgu.js → diagram-LMA3HP47-k45WlYTa.js} +1 -1
  168. package/dist/web/assets/{diagram-OG6HWLK6-H_PHYJoy.js → diagram-OG6HWLK6-D6oP9231.js} +1 -1
  169. package/dist/web/assets/{erDiagram-TEJ5UH35-ePGpWuWD.js → erDiagram-TEJ5UH35-DCsStITe.js} +1 -1
  170. package/dist/web/assets/{flowDiagram-I6XJVG4X-BZUDzSVZ.js → flowDiagram-I6XJVG4X-BpnMpo54.js} +1 -1
  171. package/dist/web/assets/{folder-Ca5RFac7.js → folder-aqzIYw0B.js} +1 -1
  172. package/dist/web/assets/folder-picker-CFznZBP-.js +1 -0
  173. package/dist/web/assets/{ganttDiagram-6RSMTGT7-D2UOmWEL.js → ganttDiagram-6RSMTGT7-CzoF4UuV.js} +1 -1
  174. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-DEzWWRW3.js → gitGraphDiagram-PVQCEYII-AlRFGn3n.js} +1 -1
  175. package/dist/web/assets/index-BMsh00ht.js +120 -0
  176. package/dist/web/assets/{index-JK3A62-g.js → index-BvCxcy2E.js} +4 -4
  177. package/dist/web/assets/index-CMlcurFO.css +1 -0
  178. package/dist/web/assets/{infoDiagram-5YYISTIA-BNClnI_5.js → infoDiagram-5YYISTIA-DYmUMa5y.js} +1 -1
  179. package/dist/web/assets/{input-7UYarzFy.js → input-BOQDrqKN.js} +1 -1
  180. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-B1aSs8GW.js → ishikawaDiagram-YF4QCWOH-BbR4k44d.js} +1 -1
  181. package/dist/web/assets/{journeyDiagram-JHISSGLW-DlXxUTcw.js → journeyDiagram-JHISSGLW-B3BgsbGr.js} +1 -1
  182. package/dist/web/assets/{kanban-definition-UN3LZRKU-Ctkuw8kN.js → kanban-definition-UN3LZRKU-CAw6dg5S.js} +1 -1
  183. package/dist/web/assets/{layers-C89p38EX.js → layers-CHCOcaOD.js} +1 -1
  184. package/dist/web/assets/{linear--QsFiowO.js → linear-DuhwDM_T.js} +1 -1
  185. package/dist/web/assets/{loader-circle-DolxjVmY.js → loader-circle-ZTtR7VFf.js} +1 -1
  186. package/dist/web/assets/{mermaid-NOHMQCX5-CW_FGpKP.js → mermaid-NOHMQCX5-BfcG134x.js} +3 -3
  187. package/dist/web/assets/{message-square-KV4Azzxs.js → message-square-8nr39Elw.js} +1 -1
  188. package/dist/web/assets/{mindmap-definition-RKZ34NQL-Dm6rZMiM.js → mindmap-definition-RKZ34NQL-Dn4_OJVF.js} +1 -1
  189. package/dist/web/assets/{modal-PZSR91HW.js → modal-Ct5Hq4HV.js} +1 -1
  190. package/dist/web/assets/{pencil-9lMJOuw2.js → pencil-CHhoqtja.js} +1 -1
  191. package/dist/web/assets/{pieDiagram-4H26LBE5-DbQPjRBP.js → pieDiagram-4H26LBE5-BazLj2iZ.js} +1 -1
  192. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-DeRrMc4Y.js → quadrantDiagram-W4KKPZXB-By8b3yLK.js} +1 -1
  193. package/dist/web/assets/{requirementDiagram-4Y6WPE33-aajAoXSH.js → requirementDiagram-4Y6WPE33-Y8tQe-HW.js} +1 -1
  194. package/dist/web/assets/{rotate-ccw-D7tnDKF_.js → rotate-ccw-DacB7Wa2.js} +1 -1
  195. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-DWsta0ns.js → sankeyDiagram-5OEKKPKP-CsWPn5i_.js} +1 -1
  196. package/dist/web/assets/select-BAGWw5mB.js +1 -0
  197. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-BGBP9NTB.js → sequenceDiagram-3UESZ5HK-CRYTLL5B.js} +1 -1
  198. package/dist/web/assets/{stateDiagram-AJRCARHV-Dl0Q7uMb.js → stateDiagram-AJRCARHV-CRAWuvD-.js} +1 -1
  199. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DLPzRpsU.js +1 -0
  200. package/dist/web/assets/{switch-BhqMnTiu.js → switch-DEDPfm5p.js} +1 -1
  201. package/dist/web/assets/{terminal-BR0PXV2W.js → terminal-D9ZyN65O.js} +1 -1
  202. package/dist/web/assets/{textarea-eWIZ3eZW.js → textarea-Bwf5qeVw.js} +1 -1
  203. package/dist/web/assets/{timeline-definition-PNZ67QCA-DuDIvs1s.js → timeline-definition-PNZ67QCA-CNyG_LiR.js} +1 -1
  204. package/dist/web/assets/{trash-2-C7F85sIB.js → trash-2-CAJaQyy-.js} +1 -1
  205. package/dist/web/assets/{upload-CQTsuurY.js → upload-CvRhSiH5.js} +1 -1
  206. package/dist/web/assets/{use-profiles-Btexu_oH.js → use-profiles-CXwrOP0r.js} +1 -1
  207. package/dist/web/assets/{use-providers-BEPU5ALg.js → use-providers-cM1M1P2G.js} +1 -1
  208. package/dist/web/assets/{useNormalizedLogs-CvCCSYxy.js → useNormalizedLogs-Bpa12fkI.js} +1 -1
  209. package/dist/web/assets/{vennDiagram-CIIHVFJN-BDyKeyr8.js → vennDiagram-CIIHVFJN-Ccs0W2eH.js} +1 -1
  210. package/dist/web/assets/{wardley-L42UT6IY-DAOA5Zsv.js → wardley-L42UT6IY-DZ98ClK4.js} +1 -1
  211. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-CCmLvkBT.js → wardleyDiagram-YWT4CUSO-CFZaMuWx.js} +1 -1
  212. package/dist/web/assets/{xychartDiagram-2RQKCTM6-EsyeKzfj.js → xychartDiagram-2RQKCTM6-DupmVBai.js} +1 -1
  213. package/dist/web/index.html +2 -2
  214. package/node_modules/@agent-tower/shared/dist/types.d.ts +4 -0
  215. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  216. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  217. package/package.json +1 -1
  218. package/dist/web/assets/ConversationPage-DvD_lYUj.js +0 -3
  219. package/dist/web/assets/CreateTaskInput-CstzayW9.js +0 -2
  220. package/dist/web/assets/ProjectKanbanPage-taUI2xm6.js +0 -89
  221. package/dist/web/assets/ProjectSettingsPage-BfTQwRb7.js +0 -2
  222. package/dist/web/assets/TeamSettingsPage-CHoLj7rL.js +0 -1
  223. package/dist/web/assets/channel-BTbcDemz.js +0 -1
  224. package/dist/web/assets/check-C5Ba8Rby.js +0 -1
  225. package/dist/web/assets/classDiagram-4FO5ZUOK-D4Noh8IG.js +0 -1
  226. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-D4Noh8IG.js +0 -1
  227. package/dist/web/assets/folder-picker-CZIjxGNQ.js +0 -1
  228. package/dist/web/assets/index-17XUvLGe.css +0 -1
  229. package/dist/web/assets/index-M-QRACZK.js +0 -120
  230. package/dist/web/assets/select-CTiftuHJ.js +0 -1
  231. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-BEhmiwth.js +0 -1
@@ -0,0 +1,85 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import Fastify from 'fastify';
3
+ import fs from 'node:fs';
4
+ import os from 'node:os';
5
+ import path from 'node:path';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest';
8
+ import { WorkspaceKind } from '../../types/index.js';
9
+ const testDir = fs.mkdtempSync(path.join(os.tmpdir(), 'agent-tower-workspace-routes-'));
10
+ const dbPath = path.join(testDir, 'test.db');
11
+ process.env.AGENT_TOWER_DATABASE_URL = `file:${dbPath}`;
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = path.dirname(__filename);
14
+ const serverRoot = path.resolve(__dirname, '../../..');
15
+ const schemaPath = path.join(serverRoot, 'prisma/schema.prisma');
16
+ let prisma;
17
+ let workspaceRoutes;
18
+ async function buildTestApp() {
19
+ const app = Fastify();
20
+ await app.register(workspaceRoutes);
21
+ return app;
22
+ }
23
+ describe('workspace routes', () => {
24
+ beforeAll(async () => {
25
+ execFileSync('pnpm', ['exec', 'prisma', 'db', 'push', '--skip-generate', `--schema=${schemaPath}`], {
26
+ cwd: serverRoot,
27
+ env: { ...process.env, AGENT_TOWER_DATABASE_URL: `file:${dbPath}` },
28
+ stdio: 'pipe',
29
+ });
30
+ const routeModule = await import('../workspaces.js');
31
+ const utilsModule = await import('../../utils/index.js');
32
+ workspaceRoutes = routeModule.workspaceRoutes;
33
+ prisma = utilsModule.prisma;
34
+ });
35
+ beforeEach(async () => {
36
+ await prisma.session.deleteMany();
37
+ await prisma.workspace.deleteMany();
38
+ await prisma.task.deleteMany();
39
+ await prisma.project.deleteMany();
40
+ });
41
+ afterAll(async () => {
42
+ await prisma.$disconnect();
43
+ fs.rmSync(testDir, { recursive: true, force: true });
44
+ });
45
+ it('returns git unavailable for non-git main-directory workspace status', async () => {
46
+ const repoPath = fs.mkdtempSync(path.join(testDir, 'local-route-project-'));
47
+ const project = await prisma.project.create({
48
+ data: {
49
+ name: 'Local route project',
50
+ repoPath,
51
+ },
52
+ });
53
+ const task = await prisma.task.create({
54
+ data: {
55
+ title: 'Local route task',
56
+ projectId: project.id,
57
+ },
58
+ });
59
+ const workspace = await prisma.workspace.create({
60
+ data: {
61
+ taskId: task.id,
62
+ workspaceKind: WorkspaceKind.MAIN_DIRECTORY,
63
+ branchName: 'main-directory',
64
+ worktreePath: repoPath,
65
+ workingDir: repoPath,
66
+ status: 'ACTIVE',
67
+ },
68
+ });
69
+ const app = await buildTestApp();
70
+ try {
71
+ const response = await app.inject({
72
+ method: 'GET',
73
+ url: `/workspaces/${workspace.id}/git-status`,
74
+ });
75
+ expect(response.statusCode).toBe(400);
76
+ expect(response.json()).toMatchObject({
77
+ code: 'WORKSPACE_GIT_UNAVAILABLE',
78
+ });
79
+ }
80
+ finally {
81
+ await app.close();
82
+ }
83
+ });
84
+ });
85
+ //# sourceMappingURL=workspaces.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/workspaces.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/routes/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA6D/C,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,eAAe,iBAkL1D"}
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/routes/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA6D/C,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,eAAe,iBAmL1D"}
@@ -177,7 +177,7 @@ export async function filesystemRoutes(app) {
177
177
  });
178
178
  /**
179
179
  * GET /validate?path=<dir>
180
- * 验证路径是否为有效 Git 仓库
180
+ * 验证路径是否为有效项目目录,并返回 Git 元数据状态
181
181
  */
182
182
  app.get('/validate', async (request, reply) => {
183
183
  try {
@@ -207,14 +207,15 @@ export async function filesystemRoutes(app) {
207
207
  };
208
208
  }
209
209
  return {
210
- valid: false,
210
+ valid: true,
211
211
  path: dirPath,
212
212
  reason: 'no_git',
213
+ isGitRepo: false,
213
214
  isEmpty,
214
215
  error: 'Not a Git repository (no .git found)',
215
216
  };
216
217
  }
217
- return { valid: true, path: dirPath };
218
+ return { valid: true, path: dirPath, isGitRepo: true };
218
219
  }
219
220
  catch (error) {
220
221
  return handleError(error, reply);
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/routes/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/routes/filesystem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA+J/C,wBAAsB,SAAS,CAAC,GAAG,EAAE,eAAe,iBA8NnD"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA0L/C,wBAAsB,SAAS,CAAC,GAAG,EAAE,eAAe,iBAmOnD"}
@@ -2,11 +2,27 @@ import { z, ZodError } from 'zod';
2
2
  import { execFile } from 'node:child_process';
3
3
  import * as path from 'node:path';
4
4
  import { prisma } from '../utils/index.js';
5
+ class GitUnavailableError extends Error {
6
+ workingDir;
7
+ constructor(workingDir) {
8
+ super(`Git is not available for workingDir: ${workingDir}`);
9
+ this.workingDir = workingDir;
10
+ this.name = 'GitUnavailableError';
11
+ }
12
+ }
5
13
  function handleError(error, reply) {
6
14
  if (error instanceof ZodError) {
7
15
  reply.code(400);
8
16
  return { error: 'Validation failed', code: 'VALIDATION_ERROR', details: error.errors };
9
17
  }
18
+ if (error instanceof GitUnavailableError) {
19
+ reply.code(400);
20
+ return {
21
+ error: 'Git is not available for this working directory',
22
+ code: 'GIT_UNAVAILABLE',
23
+ workingDir: error.workingDir,
24
+ };
25
+ }
10
26
  console.error('[git] Unhandled error:', error);
11
27
  reply.code(500);
12
28
  return { error: 'Internal server error', code: 'INTERNAL_ERROR' };
@@ -32,6 +48,17 @@ function execGit(cwd, args) {
32
48
  });
33
49
  });
34
50
  }
51
+ async function ensureGitAvailable(workingDir) {
52
+ try {
53
+ const output = await execGit(workingDir, ['rev-parse', '--is-inside-work-tree']);
54
+ if (output.trim() === 'true')
55
+ return;
56
+ }
57
+ catch {
58
+ // Fall through to the structured API error below.
59
+ }
60
+ throw new GitUnavailableError(workingDir);
61
+ }
35
62
  async function resolveBaseBranch(workingDir) {
36
63
  const workspace = await prisma.workspace.findFirst({
37
64
  where: {
@@ -149,6 +176,7 @@ export async function gitRoutes(app) {
149
176
  app.get('/changes', async (request, reply) => {
150
177
  try {
151
178
  const { workingDir } = changesQuerySchema.parse(request.query);
179
+ await ensureGitAvailable(workingDir);
152
180
  const baseBranch = await resolveBaseBranch(workingDir);
153
181
  // Uncommitted changes (staged + unstaged vs HEAD)
154
182
  let uncommitted = [];
@@ -227,6 +255,7 @@ export async function gitRoutes(app) {
227
255
  app.get('/diff', async (request, reply) => {
228
256
  try {
229
257
  const { workingDir, path: filePath, type } = diffQuerySchema.parse(request.query);
258
+ await ensureGitAvailable(workingDir);
230
259
  const baseBranch = type === 'committed' ? await resolveBaseBranch(workingDir) : null;
231
260
  const committedBaseBranch = baseBranch || 'main';
232
261
  let diff = '';
@@ -262,6 +291,7 @@ export async function gitRoutes(app) {
262
291
  app.get('/log', async (request, reply) => {
263
292
  try {
264
293
  const { workingDir, limit, skip } = logQuerySchema.parse(request.query);
294
+ await ensureGitAvailable(workingDir);
265
295
  // NUL (\x00) as field separator; %x01 as record separator (body may contain newlines)
266
296
  const format = '%H%x00%h%x00%an%x00%ae%x00%at%x00%s%x00%b%x01';
267
297
  const args = ['log', `--format=${format}`, `--max-count=${limit}`, `--skip=${skip}`, 'HEAD'];
@@ -305,6 +335,7 @@ export async function gitRoutes(app) {
305
335
  app.get('/commit-files', async (request, reply) => {
306
336
  try {
307
337
  const { workingDir, hash } = commitFilesQuerySchema.parse(request.query);
338
+ await ensureGitAvailable(workingDir);
308
339
  let files = [];
309
340
  try {
310
341
  const output = await execGit(workingDir, ['diff-tree', '--no-commit-id', '--name-status', '-r', hash]);
@@ -328,6 +359,7 @@ export async function gitRoutes(app) {
328
359
  app.get('/commit-diff', async (request, reply) => {
329
360
  try {
330
361
  const { workingDir, hash, path: filePath } = commitDiffQuerySchema.parse(request.query);
362
+ await ensureGitAvailable(workingDir);
331
363
  let diff = '';
332
364
  try {
333
365
  // git show --format= shows only the diff portion, no commit header
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/routes/git.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,mBAAoB,SAAQ,KAAK;IACT;IAA5B,YAA4B,UAAkB;QAC5C,KAAK,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC;QADlC,eAAU,GAAV,UAAU,CAAQ;QAE5C,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,KAAU;IAC7C,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACzF,CAAC;IAED,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO;YACL,KAAK,EAAE,iDAAiD;YACxD,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AACpE,CAAC;AAED,wCAAwC;AACxC,SAAS,OAAO,CAAC,GAAW,EAAE,IAAc;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;YACpB,GAAG;YACH,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,QAAQ,EAAE,OAAO;SAClB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACjB,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;oBAC1C,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAID,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACjF,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM;YAAE,OAAO;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,MAAM,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACjD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QACjD,KAAK,EAAE;YACL,EAAE,EAAE;gBACF,EAAE,UAAU,EAAE;gBACd,EAAE,YAAY,EAAE,UAAU,EAAE;aAC7B;SACF;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QACjD,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;KAC/B,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACnE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,MAAM;SACV,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC5B,sCAAsC;QACtC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoD,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,yGAAyG;QACzG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC/B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;gBAC3E,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAG,CAAC;QACpC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6DAA6D;AAC7D,SAAS,aAAa,CACpB,OAAsB,EACtB,KAA4D;IAE5D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;KAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;KAC7E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IAChD,OAAO,EAAE,oCAAoC;CAC9C,CAAC,CAAC;AAEL,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,gBAAgB;CAC7B,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE,gBAAgB;IAC5B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC/C,OAAO,EAAE,oCAAoC;KAC9C,CAAC;IACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,UAAU,EAAE,gBAAgB;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,gBAAgB;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,gBAAgB;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;IAClE,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC/C,OAAO,EAAE,oCAAoC;KAC9C,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAoB;IAClD,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC7C,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEvD,kDAAkD;YAClD,IAAI,WAAW,GAAkB,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC5E,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzF,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;gBACjE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;oBACpE,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;oBACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBACjF,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE;oBAChD,UAAU,EAAE,UAAU,EAAE,oBAAoB;iBAC7C,CAAC,CAAC;gBACH,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC3B,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC1D,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;wBAC/B,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,wCAAwC;YACxC,MAAM,mBAAmB,GAAG,UAAU,IAAI,MAAM,CAAC;YACjD,IAAI,SAAS,GAAkB,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE;oBACvC,MAAM;oBACN,eAAe;oBACf,GAAG,mBAAmB,SAAS;iBAChC,CAAC,CAAC;gBACH,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,UAAU,EACV,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,mBAAmB,SAAS,CAAC,CACvD,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClB,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;oBAC1D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE;wBACvC,MAAM;wBACN,eAAe;wBACf,GAAG,SAAS,SAAS;qBACtB,CAAC,CAAC;oBACH,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;oBACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,UAAU,EACV,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,SAAS,CAAC,CAC7C,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBAClB,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC;oBACP,6CAA6C;gBAC/C,CAAC;YACH,CAAC;YAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClF,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAErF,MAAM,mBAAmB,GAAG,UAAU,IAAI,MAAM,CAAC;YACjD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC3B,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC3D,0FAA0F;oBAC1F,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;wBACtE,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAClF,GAAG,EAAE,CAAC,EAAE,CACT,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,mBAAmB,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAC5F,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjB,IAAI,GAAG,MAAM,OAAO,CAClB,UAAU,EACV,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAC9E,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAErC,sFAAsF;YACtF,MAAM,MAAM,GAAG,+CAA+C,CAAC;YAC/D,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,YAAY,MAAM,EAAE,EAAE,eAAe,KAAK,EAAE,EAAE,UAAU,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;YAE7F,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;gBACpC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YACzB,CAAC;YAED,MAAM,OAAO,GAAG,MAAM;iBACnB,KAAK,CAAC,MAAM,CAAC;iBACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;iBACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;gBACnE,yFAAyF;gBACzF,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtD,OAAO;oBACL,IAAI,EAAE,IAAI,IAAI,EAAE;oBAChB,SAAS,EAAE,SAAS,IAAI,EAAE;oBAC1B,MAAM,EAAE,MAAM,IAAI,EAAE;oBACpB,KAAK,EAAE,KAAK,IAAI,EAAE;oBAClB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;oBACjC,OAAO,EAAE,OAAO,IAAI,EAAE;oBACtB,IAAI;iBACL,CAAC;YACJ,CAAC,CAAC,CAAC;YAEL,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzE,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAErC,IAAI,KAAK,GAAkB,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvG,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,UAAU,EACV,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CACzD,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClB,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxF,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAErC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,mEAAmE;gBACnE,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -17,7 +17,9 @@ const schemaPath = path.join(serverRoot, 'prisma/schema.prisma');
17
17
  let prisma;
18
18
  let EventBus;
19
19
  let SessionManager;
20
+ let ConversationService;
20
21
  let assertPathInsideConversationRoot;
22
+ let CommandBuildError;
21
23
  describe('Conversation service safety', () => {
22
24
  beforeAll(async () => {
23
25
  execFileSync('pnpm', ['exec', 'prisma', 'db', 'push', '--skip-generate', `--schema=${schemaPath}`], {
@@ -33,10 +35,13 @@ describe('Conversation service safety', () => {
33
35
  const eventBusModule = await import('../../core/event-bus.js');
34
36
  const sessionManagerModule = await import('../session-manager.js');
35
37
  const conversationServiceModule = await import('../conversation.service.js');
38
+ const commandBuilderModule = await import('../../executors/command-builder.js');
36
39
  prisma = utilsModule.prisma;
37
40
  EventBus = eventBusModule.EventBus;
38
41
  SessionManager = sessionManagerModule.SessionManager;
42
+ ConversationService = conversationServiceModule.ConversationService;
39
43
  assertPathInsideConversationRoot = conversationServiceModule.assertPathInsideConversationRoot;
44
+ CommandBuildError = commandBuilderModule.CommandBuildError;
40
45
  });
41
46
  beforeEach(async () => {
42
47
  process.env.AGENT_TOWER_DATABASE_URL = `file:${dbPath}`;
@@ -98,5 +103,63 @@ describe('Conversation service safety', () => {
98
103
  await expect(prisma.session.findUnique({ where: { id: conversation.session.id } }))
99
104
  .resolves.toMatchObject({ status: SessionStatus.CANCELLED });
100
105
  });
106
+ it('maps command build failures while starting a conversation to a service error', async () => {
107
+ const start = vi.fn(async () => {
108
+ throw new CommandBuildError("Executable 'claude' not found in PATH");
109
+ });
110
+ const service = new ConversationService({
111
+ start,
112
+ });
113
+ await expect(service.create({
114
+ prompt: 'hello',
115
+ providerId: 'claude-code-default',
116
+ })).rejects.toMatchObject({
117
+ name: 'ServiceError',
118
+ code: 'AGENT_COMMAND_UNAVAILABLE',
119
+ statusCode: 400,
120
+ message: "Agent command unavailable: Executable 'claude' not found in PATH",
121
+ });
122
+ expect(start).toHaveBeenCalledTimes(1);
123
+ const session = await prisma.session.findFirst({
124
+ where: { agentType: 'CLAUDE_CODE' },
125
+ select: { status: true },
126
+ });
127
+ expect(session?.status).toBe(SessionStatus.FAILED);
128
+ });
129
+ it('maps command build failures while sending a conversation message to a service error', async () => {
130
+ const sendMessage = vi.fn(async () => {
131
+ throw new CommandBuildError("Executable 'claude' not found in PATH");
132
+ });
133
+ const service = new ConversationService({
134
+ sendMessage,
135
+ });
136
+ const conversation = await prisma.conversation.create({
137
+ data: {
138
+ title: 'Quick question',
139
+ directoryName: '20260618-quick-question',
140
+ workingDir: path.join(dataDir, 'conversations', '20260618-quick-question'),
141
+ session: {
142
+ create: {
143
+ context: SessionContext.CONVERSATION,
144
+ agentType: 'CLAUDE_CODE',
145
+ providerId: 'claude-code-default',
146
+ prompt: 'Hello',
147
+ status: SessionStatus.COMPLETED,
148
+ },
149
+ },
150
+ },
151
+ include: { session: true },
152
+ });
153
+ await expect(service.sendMessage(conversation.id, {
154
+ message: 'continue',
155
+ providerId: 'claude-code-default',
156
+ })).rejects.toMatchObject({
157
+ name: 'ServiceError',
158
+ code: 'AGENT_COMMAND_UNAVAILABLE',
159
+ statusCode: 400,
160
+ message: "Agent command unavailable: Executable 'claude' not found in PATH",
161
+ });
162
+ expect(sendMessage).toHaveBeenCalledWith(conversation.session.id, 'continue', 'claude-code-default');
163
+ });
101
164
  });
102
165
  //# sourceMappingURL=conversation.service.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.service.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/conversation.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.service.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/conversation.service.test.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,62 @@ describe('ProjectService', () => {
60
60
  done: 0,
61
61
  });
62
62
  });
63
+ it('creates a non-git project directory as a local project', async () => {
64
+ const service = new ProjectService();
65
+ const projectPath = fs.mkdtempSync(path.join(testDir, 'local-project-'));
66
+ fs.writeFileSync(path.join(projectPath, 'README.md'), 'local project\n', 'utf-8');
67
+ const project = await service.create({
68
+ name: 'Local project',
69
+ repoPath: projectPath,
70
+ });
71
+ expect(project).toMatchObject({
72
+ name: 'Local project',
73
+ repoPath: projectPath,
74
+ repoRemoteUrl: null,
75
+ isGitRepo: false,
76
+ });
77
+ expect(fs.existsSync(path.join(projectPath, '.git'))).toBe(false);
78
+ });
79
+ it('initializes an empty directory as Git when requested', async () => {
80
+ const service = new ProjectService();
81
+ const projectPath = fs.mkdtempSync(path.join(testDir, 'initializable-project-'));
82
+ const project = await service.create({
83
+ name: 'Initializable project',
84
+ repoPath: projectPath,
85
+ initEmptyRepo: true,
86
+ });
87
+ expect(project).toMatchObject({
88
+ name: 'Initializable project',
89
+ repoPath: projectPath,
90
+ isGitRepo: true,
91
+ });
92
+ expect(fs.existsSync(path.join(projectPath, '.git'))).toBe(true);
93
+ });
94
+ it('restores an archived project to a non-git project directory', async () => {
95
+ const service = new ProjectService();
96
+ const oldPath = fs.mkdtempSync(path.join(testDir, 'restore-old-'));
97
+ const nextPath = fs.mkdtempSync(path.join(testDir, 'restore-local-'));
98
+ fs.writeFileSync(path.join(nextPath, 'notes.txt'), 'restored local project\n', 'utf-8');
99
+ const archived = await prisma.project.create({
100
+ data: {
101
+ name: 'Restore local project',
102
+ repoPath: oldPath,
103
+ archivedAt: new Date(),
104
+ repoDeletedAt: new Date(),
105
+ },
106
+ });
107
+ const result = await service.restore(archived.id, {
108
+ repoPath: nextPath,
109
+ });
110
+ expect(result.project).toMatchObject({
111
+ id: archived.id,
112
+ repoPath: nextPath,
113
+ archivedAt: null,
114
+ repoDeletedAt: null,
115
+ repoRemoteUrl: null,
116
+ isGitRepo: false,
117
+ });
118
+ });
63
119
  it('unwatches active workspaces before archiving them', async () => {
64
120
  const unwatchWorkspaceMock = vi.fn();
65
121
  const service = new ProjectService({ unwatchWorkspace: unwatchWorkspaceMock });
@@ -1 +1 @@
1
- {"version":3,"file":"project.service.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/project.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.service.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/project.service.test.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,18 @@ describe('TaskService', () => {
104
104
  const task = await service.create(project.id, { title: ' Ship TeamRun startup ' });
105
105
  expect(task.title).toBe('Ship TeamRun startup');
106
106
  });
107
+ it('returns project Git metadata when creating a task', async () => {
108
+ const service = new TaskService(new EventBus(), {});
109
+ const projectPath = fs.mkdtempSync(path.join(testDir, 'local-task-create-project-'));
110
+ const project = await prisma.project.create({
111
+ data: {
112
+ name: 'Local task create project',
113
+ repoPath: projectPath,
114
+ },
115
+ });
116
+ const task = await service.create(project.id, { title: 'Create local task' });
117
+ expect(task.project?.isGitRepo).toBe(false);
118
+ });
107
119
  it('splits long single-input task content into a short title and full description', async () => {
108
120
  const service = new TaskService(new EventBus(), {});
109
121
  const project = await prisma.project.create({
@@ -185,6 +197,42 @@ describe('TaskService', () => {
185
197
  expect(list.data[0]?.contentPreview).toBeUndefined();
186
198
  expect(list.data[0]?.isTruncated).toBe(true);
187
199
  });
200
+ it('includes project Git metadata in task lists', async () => {
201
+ const service = new TaskService(new EventBus(), {});
202
+ const projectPath = fs.mkdtempSync(path.join(testDir, 'local-task-project-'));
203
+ const project = await prisma.project.create({
204
+ data: {
205
+ name: 'Local task list project',
206
+ repoPath: projectPath,
207
+ },
208
+ });
209
+ await prisma.task.create({
210
+ data: {
211
+ title: 'Local-only task',
212
+ projectId: project.id,
213
+ },
214
+ });
215
+ const list = await service.findByProjectId(project.id);
216
+ expect(list.data[0]?.project?.isGitRepo).toBe(false);
217
+ });
218
+ it('includes project Git metadata in task detail', async () => {
219
+ const service = new TaskService(new EventBus(), {});
220
+ const projectPath = fs.mkdtempSync(path.join(testDir, 'local-task-detail-project-'));
221
+ const project = await prisma.project.create({
222
+ data: {
223
+ name: 'Local task detail project',
224
+ repoPath: projectPath,
225
+ },
226
+ });
227
+ const task = await prisma.task.create({
228
+ data: {
229
+ title: 'Local detail task',
230
+ projectId: project.id,
231
+ },
232
+ });
233
+ const detail = await service.findById(task.id);
234
+ expect(detail.project?.isGitRepo).toBe(false);
235
+ });
188
236
  it('returns summary detail without full description and full body on demand', async () => {
189
237
  const service = new TaskService(new EventBus(), {});
190
238
  const project = await prisma.project.create({
@@ -568,6 +616,7 @@ describe('TaskService', () => {
568
616
  });
569
617
  const updated = await service.retry(task.id);
570
618
  expect(updated.status).toBe('TODO');
619
+ expect(updated.project?.isGitRepo).toBe(false);
571
620
  expect(stopSessionMock).toHaveBeenCalledWith(runningSession.id);
572
621
  expect(unwatchWorkspaceMock).toHaveBeenCalledTimes(1);
573
622
  expect(unwatchWorkspaceMock).toHaveBeenCalledWith(workspace.id);