tower-studio 0.2.28 → 0.2.30

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 (260) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +2 -2
  12. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +29 -29
  13. package/.next/standalone/.next/server/app/_not-found/page.js +4 -3
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +2 -1
  23. package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +1 -1
  25. package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/internal/assistant/route.js +2 -1
  27. package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +3 -2
  30. package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js +3 -2
  33. package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +1 -1
  35. package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +3 -2
  38. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js +3 -2
  40. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +4 -3
  42. package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +2 -2
  46. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +69 -69
  47. package/.next/standalone/.next/server/app/missions/page.js +4 -3
  48. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +2 -2
  51. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +29 -29
  52. package/.next/standalone/.next/server/app/onboarding/page.js +4 -3
  53. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +2 -2
  56. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +29 -29
  57. package/.next/standalone/.next/server/app/page.js +4 -3
  58. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +2 -2
  61. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +47 -47
  62. package/.next/standalone/.next/server/app/settings/page.js +5 -4
  63. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  65. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +2 -2
  66. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +92 -92
  67. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +4 -3
  68. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +2 -2
  71. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +84 -84
  72. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +5 -4
  73. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +2 -2
  76. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +67 -67
  77. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +4 -3
  78. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +2 -2
  81. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +63 -63
  82. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +5 -4
  83. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +2 -2
  86. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +29 -29
  87. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +4 -3
  88. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +2 -2
  91. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +70 -70
  92. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +3 -2
  93. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +3 -3
  96. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +80 -80
  97. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +6 -5
  98. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +2 -2
  101. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +49 -49
  102. package/.next/standalone/.next/server/app/workspaces/page.js +4 -3
  103. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  105. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0eh8dj_.js +5 -5
  106. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +2 -2
  107. package/.next/standalone/.next/server/chunks/[externals]__0k7u3dx._.js +3 -0
  108. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.a1443._.js +3 -0
  109. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.z97nx._.js +4 -0
  110. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03nvcdl._.js +3 -0
  111. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ul.hbv._.js → [root-of-the-server]__0541-er._.js} +2 -2
  112. package/.next/standalone/.next/server/chunks/[root-of-the-server]__062mzio._.js +4 -0
  113. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09sw_a5._.js +1 -1
  114. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bx47rj._.js +4 -0
  115. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qif839._.js +1 -1
  116. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qijr4h._.js +3 -0
  117. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rc0ntp._.js +3 -0
  118. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0v5.ht~._.js +1 -1
  119. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xelcb1._.js +4 -0
  120. package/.next/standalone/.next/server/chunks/src_0bkvm8c._.js +1 -1
  121. package/.next/standalone/.next/server/chunks/src_lib_02llcit._.js +3 -0
  122. package/.next/standalone/.next/server/chunks/src_lib_0aowbzy._.js +1 -1
  123. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  124. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04ze9p8._.js +47 -0
  125. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c7x0o9._.js +3 -0
  126. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cv7yj9._.js +3 -0
  127. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e82_jw._.js +3 -0
  128. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ihwpkg._.js +1 -1
  129. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05e0gxk._.js → [root-of-the-server]__0lm5l_t._.js} +2 -2
  131. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sk.itb._.js +3 -0
  132. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0v7p~3.._.js +3 -0
  133. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0va-no0._.js +3 -0
  134. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wjuu0z._.js +3 -0
  135. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.s5ax._.js +3 -0
  136. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +1 -1
  137. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0wzbc5p._.js → [root-of-the-server]__0z7pni-._.js} +1 -1
  138. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0jx9k3y._.js → [root-of-the-server]__0z8ui4-._.js} +2 -2
  139. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~bt1fr._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/ssr/{_0tzo4ru._.js → _0-qr_as._.js} +2 -2
  141. package/.next/standalone/.next/server/chunks/ssr/_012ww1b._.js +3 -0
  142. package/.next/standalone/.next/server/chunks/ssr/_04y11oe._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/ssr/_070t_mh._.js +2 -2
  144. package/.next/standalone/.next/server/chunks/ssr/{_0kw.n0e._.js → _078bw0_._.js} +2 -2
  145. package/.next/standalone/.next/server/chunks/ssr/_0_f-~8n._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/ssr/_0a0aq2i._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/ssr/{_0uw7ybd._.js → _0aauqey._.js} +2 -2
  148. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/_0gpx4jx._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/ssr/_0jg.s-g._.js +1 -1
  151. package/.next/standalone/.next/server/chunks/ssr/_0ju8_ep._.js +7 -0
  152. package/.next/standalone/.next/server/chunks/ssr/_0me6z_3._.js +3 -0
  153. package/.next/standalone/.next/server/chunks/ssr/_0n.x-_v._.js +3 -0
  154. package/.next/standalone/.next/server/chunks/ssr/_0o-bbux._.js +7 -0
  155. package/.next/standalone/.next/server/chunks/ssr/_0qxrl.t._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/ssr/{_0zjgr-h._.js → _0t01inz._.js} +2 -2
  158. package/.next/standalone/.next/server/chunks/ssr/_0ueyys5._.js +1 -1
  159. package/.next/standalone/.next/server/chunks/ssr/_0vql1oz._.js +7 -0
  160. package/.next/standalone/.next/server/chunks/ssr/{_07jj8ci._.js → _0wy-d3b._.js} +2 -2
  161. package/.next/standalone/.next/server/chunks/ssr/{_0rpevwe._.js → _0xpmq0e._.js} +2 -2
  162. package/.next/standalone/.next/server/chunks/ssr/_10x572b._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/ssr/_12t~l2u._.js +3 -0
  164. package/.next/standalone/.next/server/chunks/ssr/_13jok5r._.js +4 -0
  165. package/.next/standalone/.next/server/chunks/ssr/src_075s.rk._.js +1 -1
  166. package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
  168. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  169. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  170. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  171. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  172. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  173. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  174. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  175. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  176. package/.next/standalone/.next/server/chunks/ssr/src_lib_0l9igqj._.js +3 -0
  177. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  178. package/.next/standalone/.next/server/pages/500.html +1 -1
  179. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  180. package/.next/standalone/.next/server/server-reference-manifest.json +275 -275
  181. package/.next/standalone/.next/static/chunks/{12xbq.i5.4um4.js → 00-qsp2rgr~9e.js} +1 -1
  182. package/.next/standalone/.next/static/chunks/{0cmm~17o2ncmw.js → 00bpfr3on13rd.js} +1 -1
  183. package/.next/standalone/.next/static/chunks/00f-5x4td6zgy.js +1 -0
  184. package/.next/standalone/.next/static/chunks/{00jj6_6k-he4j.js → 018nzynk-7ymo.js} +1 -1
  185. package/.next/standalone/.next/static/chunks/{0p.m23h3x7s7h.js → 0382n4mer7zw7.js} +1 -1
  186. package/.next/standalone/.next/static/chunks/{0bcwih7v8m2h1.js → 043iv-p72g6be.js} +1 -1
  187. package/.next/standalone/.next/static/chunks/{0zgmxgp3uz49i.js → 044tctb~y5f~k.js} +1 -1
  188. package/.next/standalone/.next/static/chunks/06~jm.4aoyfyw.js +1 -0
  189. package/.next/standalone/.next/static/chunks/{0mil3f0b5pe7b.js → 086bqc5i2rlpm.js} +1 -1
  190. package/.next/standalone/.next/static/chunks/{0upijdfop-ges.js → 094ex~6.hxq6o.js} +2 -2
  191. package/.next/standalone/.next/static/chunks/0_nvyx4n5udqj.js +1 -0
  192. package/.next/standalone/.next/static/chunks/{078~heh-_w9zu.js → 0ai2m~ygx_ozn.js} +1 -1
  193. package/.next/standalone/.next/static/chunks/0g3b5c_331j4-.js +2 -0
  194. package/.next/standalone/.next/static/chunks/{02eo0k4womus9.js → 0g_wu-ndkch9v.js} +1 -1
  195. package/.next/standalone/.next/static/chunks/0h0glghhkqke5.js +1 -0
  196. package/.next/standalone/.next/static/chunks/{0xvmuush8uk25.js → 0hcrbkhk8na.-.js} +2 -2
  197. package/.next/standalone/.next/static/chunks/{09o2-vr2.n2-8.js → 0if81~5.-1uwv.js} +1 -1
  198. package/.next/standalone/.next/static/chunks/{0ctiyljlop~~w.js → 0jp9lol2a7aop.js} +1 -1
  199. package/.next/standalone/.next/static/chunks/0ktahv77jdq60.css +1 -0
  200. package/.next/standalone/.next/static/chunks/0rlg9rdgow_pv.js +1 -0
  201. package/.next/standalone/.next/static/chunks/0vd_bap5imsr-.js +1 -0
  202. package/.next/standalone/.next/static/chunks/{0dbhk-h~9g4q2.js → 0y4dmfw2s9355.js} +1 -1
  203. package/.next/standalone/.next/static/chunks/{0~2l.ii03wnka.js → 0z_jeui92bm3z.js} +1 -1
  204. package/.next/standalone/.next/static/chunks/{00dktb_jz1pai.js → 0~svr0.~cdub6.js} +1 -1
  205. package/.next/standalone/.next/static/chunks/0~zfdzg1kbyyc.js +5 -0
  206. package/.next/standalone/.next/static/chunks/{0t48-x60rutdz.js → 10xxx.13f3ai3.js} +1 -1
  207. package/.next/standalone/.next/static/chunks/{01-_-lg8ab6d8.js → 154m-mwti5t9y.js} +1 -1
  208. package/.next/standalone/.next/static/chunks/16a7drp94.244.js +1 -0
  209. package/.next/standalone/.next/static/chunks/{0jo4hj8tcofrj.js → 16e-tphf5.yiq.js} +1 -1
  210. package/.next/standalone/.next/static/chunks/16qrq9hn5f~bi.js +1 -0
  211. package/.next/standalone/package.json +1 -1
  212. package/dist/mcp-server.cjs +75 -2
  213. package/package.json +1 -1
  214. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09p152b._.js +0 -3
  215. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b-ib~7._.js +0 -3
  216. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gmwjkc._.js +0 -3
  217. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nggjno._.js +0 -4
  218. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0oe.86i._.js +0 -4
  219. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qn.178._.js +0 -4
  220. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r17py1._.js +0 -3
  221. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11j15wy._.js +0 -4
  222. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12brxjg._.js +0 -3
  223. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02-6df-._.js +0 -47
  224. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03e009u._.js +0 -47
  225. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__080kiy9._.js +0 -3
  226. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e_-mj-._.js +0 -47
  227. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0fzkdjl._.js +0 -47
  228. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0pu-v0l._.js +0 -47
  229. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0um1ugs._.js +0 -47
  230. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11zjs~k._.js +0 -3
  231. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__134_xv.._.js +0 -3
  232. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13vgkq5._.js +0 -47
  233. package/.next/standalone/.next/server/chunks/ssr/_0-n9dhy._.js +0 -3
  234. package/.next/standalone/.next/server/chunks/ssr/_06qyml0._.js +0 -3
  235. package/.next/standalone/.next/server/chunks/ssr/_08z-g~5._.js +0 -47
  236. package/.next/standalone/.next/server/chunks/ssr/_09572e6._.js +0 -7
  237. package/.next/standalone/.next/server/chunks/ssr/_0_vjay8._.js +0 -47
  238. package/.next/standalone/.next/server/chunks/ssr/_0_xd482._.js +0 -7
  239. package/.next/standalone/.next/server/chunks/ssr/_0dg.i22._.js +0 -4
  240. package/.next/standalone/.next/server/chunks/ssr/_0dgb5wq._.js +0 -3
  241. package/.next/standalone/.next/server/chunks/ssr/_0nmz1-7._.js +0 -7
  242. package/.next/standalone/.next/server/chunks/ssr/_0o33bts._.js +0 -3
  243. package/.next/standalone/.next/server/chunks/ssr/_0r6gweb._.js +0 -47
  244. package/.next/standalone/.next/server/chunks/ssr/_0rt8jf_._.js +0 -47
  245. package/.next/standalone/.next/server/chunks/ssr/_0uuzh5m._.js +0 -47
  246. package/.next/standalone/.next/server/chunks/ssr/_0~aon4t._.js +0 -47
  247. package/.next/standalone/.next/static/chunks/04iae2dax3a4_.css +0 -1
  248. package/.next/standalone/.next/static/chunks/05lky664ou92k.js +0 -1
  249. package/.next/standalone/.next/static/chunks/06lipndakw1ic.js +0 -5
  250. package/.next/standalone/.next/static/chunks/09901.bm54e~l.js +0 -1
  251. package/.next/standalone/.next/static/chunks/0bgul1p_3tagi.js +0 -2
  252. package/.next/standalone/.next/static/chunks/0qdttkj5zf6ju.js +0 -1
  253. package/.next/standalone/.next/static/chunks/0svolan4tl..v.js +0 -1
  254. package/.next/standalone/.next/static/chunks/0vf_uco-lm6~o.js +0 -1
  255. package/.next/standalone/.next/static/chunks/0z3tf8m36xu.6.js +0 -1
  256. package/.next/standalone/.next/static/chunks/14oitizikzgyx.js +0 -1
  257. package/.next/standalone/.next/static/chunks/15_.l.-~mxr1v.js +0 -1
  258. /package/.next/standalone/.next/static/{zK4nMkhC4teS3dDlHoM6k → T0_4rffAVf7qpxDyWNRLi}/_buildManifest.js +0 -0
  259. /package/.next/standalone/.next/static/{zK4nMkhC4teS3dDlHoM6k → T0_4rffAVf7qpxDyWNRLi}/_clientMiddlewareManifest.js +0 -0
  260. /package/.next/standalone/.next/static/{zK4nMkhC4teS3dDlHoM6k → T0_4rffAVf7qpxDyWNRLi}/_ssgManifest.js +0 -0
@@ -1,47 +0,0 @@
1
- module.exports=[495370,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(496877);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"404c4e3a500d71294eec0282d99cd52ae69ff9f912",null),(0,b.registerServerReference)(g,"40694a8b7e3dfee12c3f14aef6186cf6d60b75b54e",null),(0,b.registerServerReference)(h,"40122d445f0fe947895dd124dd00ae78837c018ef7",null),(0,b.registerServerReference)(i,"6092c078ae58fb5c723248d524f0cc292dd1473422",null),(0,b.registerServerReference)(j,"40dc368637f8206d04c9cb523d1d07650cd91b0510",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>{let b="DONE"===a.status||"CANCELLED"===a.status,c=a.project.workspaceId;return{id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:b?`/workspaces/${c}/archive?projectId=${a.projectId}`:`/workspaces/${c}?projectId=${a.projectId}`}});if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
2
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
3
- FROM "ProjectNote" n
4
- JOIN "Project" p ON p.id = n."projectId"
5
- JOIN "Workspace" w ON w.id = p."workspaceId"
6
- WHERE n.title LIKE ? OR n.content LIKE ?
7
- LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j));try{return(await b.db.$queryRawUnsafe(`SELECT f.note_id, f.title, f.content,
8
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
9
- FROM notes_fts f
10
- JOIN "ProjectNote" n ON n.id = f.note_id
11
- JOIN "Project" p ON p.id = n."projectId"
12
- JOIN "Workspace" w ON w.id = p."workspaceId"
13
- WHERE f.notes_fts MATCH ?
14
- ORDER BY rank
15
- LIMIT ?`,g,h)).map(a=>c(a,j))}catch{return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
16
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
17
- FROM "ProjectNote" n
18
- JOIN "Project" p ON p.id = n."projectId"
19
- JOIN "Workspace" w ON w.id = p."workspaceId"
20
- WHERE n.title LIKE ? OR n.content LIKE ?
21
- LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"60e80c193b699ad21f4f33122cfcf5080a02965417",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
22
-
23
- 读取 package.json、README.md 等关键文件,然后概括:
24
-
25
- **技术栈:** 一句话列出主要语言、框架、关键库
26
- **定位:** 一句话说明项目是什么
27
- **核心模块:** 2-3 个关键模块,每个一句话
28
-
29
- 要求:
30
- - 总字数不超过 500 字
31
- - 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
32
- - 不要罗列每个文件/目录,只说关键信息
33
- - 中文输出`,l=`Analyze this project directory and generate a brief Markdown project description.
34
-
35
- Read package.json, README.md and other key files, then summarize:
36
-
37
- **Tech Stack:** One sentence listing primary languages, frameworks, and key libraries
38
- **Overview:** One sentence describing what this project is
39
- **Core Modules:** 2-3 key modules, one sentence each
40
-
41
- Requirements:
42
- - Keep it under 1000 words
43
- - Use concise Markdown (bold labels + short sentences), no ## headings or tables
44
- - Don't list every file/directory, only key information
45
- - Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40455070bf1efea18955a656364d9d5f6f81405df3",null),(0,b.registerServerReference)(j,"60935d958ee4de4d23f3d6eb2cac58925798a56de0",null),(0,b.registerServerReference)(m,"6021aad7fd7a8aa84826e8e1faf18ac3168645e977",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},846195,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),861951,a=>a.a(async(b,c)=>{try{var d=a.i(846195),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["00788d118dda81cdfbbd9c63ec46b3c913896e5851",()=>h.getActualWsPort,"009ca2f595896f27c6c212eadc72dd771af59b87a2",()=>j.listAllExtensionStatus,"00c04618a7b3d6b1ff384e0e2c7502ffcac99c1b8c",()=>k.getOnboardingStatus,"40122d445f0fe947895dd124dd00ae78837c018ef7",()=>f.deleteLabel,"401f49996262664b9610a2f67651b660c4bb774287",()=>j.uninstallExtension,"40332a9939d399608f3939c4125c3ba181eb80af1f",()=>j.installExtension,"40455070bf1efea18955a656364d9d5f6f81405df3",()=>i.checkMigrationSafety,"404c4e3a500d71294eec0282d99cd52ae69ff9f912",()=>f.getLabelsForWorkspace,"4067ec8a4012cb20c10b47fa782eb33cc1e243ca7f",()=>h.resolveGitLocalPath,"40694a8b7e3dfee12c3f14aef6186cf6d60b75b54e",()=>f.createLabel,"4088eabde67d312066d4008553ea3b96df452437e5",()=>e.createProject,"40989042f585e20643fb9c318bec3d90946b3e7bf4",()=>k.setOnboardingProgress,"40a2286e0e371e7281ce4856eccfd991c035cff6ea",()=>j.checkExtension,"40aae0a5c77ecb29bf299a9b5b7ded7c48fcb15035",()=>e.createWorkspace,"40c4ea0176b204ccd558edddd45e3b0fc6d3937db7",()=>e.deleteWorkspace,"40d044aa23e19d5631a2167597c647d03277e0ecef",()=>k.dispatchTaskCompletionEvent,"40ed7bd4658bec28e8fdbdf52207e42489021aaa31",()=>e.reorderWorkspaces,"6021aad7fd7a8aa84826e8e1faf18ac3168645e977",()=>i.analyzeProjectDirectory,"602e301b7ed503b4c93c343298db6f2dadb5fe7424",()=>k.setOnboardingExtensions,"6043d0b586d9e951db3acc3fa862dbed9a26fd95c5",()=>k.completeOnboarding,"6074746776a1e1f12272b15edd60cc2c8a5595976a",()=>h.setConfigValue,"6092b8913233665a4edde6a26eb9732889b077331b",()=>h.getConfigValue,"60935d958ee4de4d23f3d6eb2cac58925798a56de0",()=>i.migrateProjectPath,"60ac6f4bd4d697bdb9a80ee84b6b8681a016324318",()=>e.updateWorkspace,"60e80c193b699ad21f4f33122cfcf5080a02965417",()=>g.globalSearch]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_12h5txa._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0sc_a_d._.js"].map(b=>a.l(b))).then(()=>b(897667)))}];
46
-
47
- //# sourceMappingURL=_0r6gweb._.js.map
@@ -1,47 +0,0 @@
1
- module.exports=[495370,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(496877);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"404c4e3a500d71294eec0282d99cd52ae69ff9f912",null),(0,b.registerServerReference)(g,"40694a8b7e3dfee12c3f14aef6186cf6d60b75b54e",null),(0,b.registerServerReference)(h,"40122d445f0fe947895dd124dd00ae78837c018ef7",null),(0,b.registerServerReference)(i,"6092c078ae58fb5c723248d524f0cc292dd1473422",null),(0,b.registerServerReference)(j,"40dc368637f8206d04c9cb523d1d07650cd91b0510",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>{let b="DONE"===a.status||"CANCELLED"===a.status,c=a.project.workspaceId;return{id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:b?`/workspaces/${c}/archive?projectId=${a.projectId}`:`/workspaces/${c}?projectId=${a.projectId}`}});if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
2
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
3
- FROM "ProjectNote" n
4
- JOIN "Project" p ON p.id = n."projectId"
5
- JOIN "Workspace" w ON w.id = p."workspaceId"
6
- WHERE n.title LIKE ? OR n.content LIKE ?
7
- LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j));try{return(await b.db.$queryRawUnsafe(`SELECT f.note_id, f.title, f.content,
8
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
9
- FROM notes_fts f
10
- JOIN "ProjectNote" n ON n.id = f.note_id
11
- JOIN "Project" p ON p.id = n."projectId"
12
- JOIN "Workspace" w ON w.id = p."workspaceId"
13
- WHERE f.notes_fts MATCH ?
14
- ORDER BY rank
15
- LIMIT ?`,g,h)).map(a=>c(a,j))}catch{return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
16
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
17
- FROM "ProjectNote" n
18
- JOIN "Project" p ON p.id = n."projectId"
19
- JOIN "Workspace" w ON w.id = p."workspaceId"
20
- WHERE n.title LIKE ? OR n.content LIKE ?
21
- LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"60e80c193b699ad21f4f33122cfcf5080a02965417",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
22
-
23
- 读取 package.json、README.md 等关键文件,然后概括:
24
-
25
- **技术栈:** 一句话列出主要语言、框架、关键库
26
- **定位:** 一句话说明项目是什么
27
- **核心模块:** 2-3 个关键模块,每个一句话
28
-
29
- 要求:
30
- - 总字数不超过 500 字
31
- - 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
32
- - 不要罗列每个文件/目录,只说关键信息
33
- - 中文输出`,l=`Analyze this project directory and generate a brief Markdown project description.
34
-
35
- Read package.json, README.md and other key files, then summarize:
36
-
37
- **Tech Stack:** One sentence listing primary languages, frameworks, and key libraries
38
- **Overview:** One sentence describing what this project is
39
- **Core Modules:** 2-3 key modules, one sentence each
40
-
41
- Requirements:
42
- - Keep it under 1000 words
43
- - Use concise Markdown (bold labels + short sentences), no ## headings or tables
44
- - Don't list every file/directory, only key information
45
- - Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40455070bf1efea18955a656364d9d5f6f81405df3",null),(0,b.registerServerReference)(j,"60935d958ee4de4d23f3d6eb2cac58925798a56de0",null),(0,b.registerServerReference)(m,"6021aad7fd7a8aa84826e8e1faf18ac3168645e977",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},402854,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),101752,a=>a.a(async(b,c)=>{try{var d=a.i(402854),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["005429117bdd45e50d1adc29005d1911d1829c41a3",()=>e.getWorkspacesWithProjects,"00788d118dda81cdfbbd9c63ec46b3c913896e5851",()=>h.getActualWsPort,"009ca2f595896f27c6c212eadc72dd771af59b87a2",()=>j.listAllExtensionStatus,"00c04618a7b3d6b1ff384e0e2c7502ffcac99c1b8c",()=>k.getOnboardingStatus,"40030d589095f9dfe293451208a61767d1b5ec9430",()=>e.getWorkspacesWithRecentTasks,"40122d445f0fe947895dd124dd00ae78837c018ef7",()=>f.deleteLabel,"401f49996262664b9610a2f67651b660c4bb774287",()=>j.uninstallExtension,"40332a9939d399608f3939c4125c3ba181eb80af1f",()=>j.installExtension,"40392118f03c7aebb97a179dc5bd851025f5b9df7a",()=>e.getWorkspaceById,"40455070bf1efea18955a656364d9d5f6f81405df3",()=>i.checkMigrationSafety,"404c4e3a500d71294eec0282d99cd52ae69ff9f912",()=>f.getLabelsForWorkspace,"405154b3aad6ae41b11af48b01596bba8b3962958a",()=>e.deleteProject,"4067ec8a4012cb20c10b47fa782eb33cc1e243ca7f",()=>h.resolveGitLocalPath,"40694a8b7e3dfee12c3f14aef6186cf6d60b75b54e",()=>f.createLabel,"4088eabde67d312066d4008553ea3b96df452437e5",()=>e.createProject,"40989042f585e20643fb9c318bec3d90946b3e7bf4",()=>k.setOnboardingProgress,"409ffb76a379bd27c446dc012e59fc108604d5c98e",()=>e.getOrCreateTowerTaskId,"40a2286e0e371e7281ce4856eccfd991c035cff6ea",()=>j.checkExtension,"40aae0a5c77ecb29bf299a9b5b7ded7c48fcb15035",()=>e.createWorkspace,"40c4ea0176b204ccd558edddd45e3b0fc6d3937db7",()=>e.deleteWorkspace,"40d044aa23e19d5631a2167597c647d03277e0ecef",()=>k.dispatchTaskCompletionEvent,"40d6e0d79e87ca71f3205bc05a3276930836bda242",()=>e.getProjectByLocalPath,"40ed7bd4658bec28e8fdbdf52207e42489021aaa31",()=>e.reorderWorkspaces,"40f5fefb6161305b40ad46f14efac16f6a2dded8bb",()=>e.getRecentLocalProjects,"6021aad7fd7a8aa84826e8e1faf18ac3168645e977",()=>i.analyzeProjectDirectory,"602e301b7ed503b4c93c343298db6f2dadb5fe7424",()=>k.setOnboardingExtensions,"6043d0b586d9e951db3acc3fa862dbed9a26fd95c5",()=>k.completeOnboarding,"6074746776a1e1f12272b15edd60cc2c8a5595976a",()=>h.setConfigValue,"6084ba8377607c1d13b18a02877c96d01c7f796b67",()=>e.updateProject,"6092b8913233665a4edde6a26eb9732889b077331b",()=>h.getConfigValue,"60935d958ee4de4d23f3d6eb2cac58925798a56de0",()=>i.migrateProjectPath,"60ac6f4bd4d697bdb9a80ee84b6b8681a016324318",()=>e.updateWorkspace,"60e80c193b699ad21f4f33122cfcf5080a02965417",()=>g.globalSearch]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_0haj7_-._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0261~vp._.js"].map(b=>a.l(b))).then(()=>b(897667)))}];
46
-
47
- //# sourceMappingURL=_0rt8jf_._.js.map
@@ -1,47 +0,0 @@
1
- module.exports=[495370,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(496877);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"404c4e3a500d71294eec0282d99cd52ae69ff9f912",null),(0,b.registerServerReference)(g,"40694a8b7e3dfee12c3f14aef6186cf6d60b75b54e",null),(0,b.registerServerReference)(h,"40122d445f0fe947895dd124dd00ae78837c018ef7",null),(0,b.registerServerReference)(i,"6092c078ae58fb5c723248d524f0cc292dd1473422",null),(0,b.registerServerReference)(j,"40dc368637f8206d04c9cb523d1d07650cd91b0510",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>{let b="DONE"===a.status||"CANCELLED"===a.status,c=a.project.workspaceId;return{id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:b?`/workspaces/${c}/archive?projectId=${a.projectId}`:`/workspaces/${c}?projectId=${a.projectId}`}});if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
2
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
3
- FROM "ProjectNote" n
4
- JOIN "Project" p ON p.id = n."projectId"
5
- JOIN "Workspace" w ON w.id = p."workspaceId"
6
- WHERE n.title LIKE ? OR n.content LIKE ?
7
- LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j));try{return(await b.db.$queryRawUnsafe(`SELECT f.note_id, f.title, f.content,
8
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
9
- FROM notes_fts f
10
- JOIN "ProjectNote" n ON n.id = f.note_id
11
- JOIN "Project" p ON p.id = n."projectId"
12
- JOIN "Workspace" w ON w.id = p."workspaceId"
13
- WHERE f.notes_fts MATCH ?
14
- ORDER BY rank
15
- LIMIT ?`,g,h)).map(a=>c(a,j))}catch{return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
16
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
17
- FROM "ProjectNote" n
18
- JOIN "Project" p ON p.id = n."projectId"
19
- JOIN "Workspace" w ON w.id = p."workspaceId"
20
- WHERE n.title LIKE ? OR n.content LIKE ?
21
- LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"60e80c193b699ad21f4f33122cfcf5080a02965417",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
22
-
23
- 读取 package.json、README.md 等关键文件,然后概括:
24
-
25
- **技术栈:** 一句话列出主要语言、框架、关键库
26
- **定位:** 一句话说明项目是什么
27
- **核心模块:** 2-3 个关键模块,每个一句话
28
-
29
- 要求:
30
- - 总字数不超过 500 字
31
- - 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
32
- - 不要罗列每个文件/目录,只说关键信息
33
- - 中文输出`,l=`Analyze this project directory and generate a brief Markdown project description.
34
-
35
- Read package.json, README.md and other key files, then summarize:
36
-
37
- **Tech Stack:** One sentence listing primary languages, frameworks, and key libraries
38
- **Overview:** One sentence describing what this project is
39
- **Core Modules:** 2-3 key modules, one sentence each
40
-
41
- Requirements:
42
- - Keep it under 1000 words
43
- - Use concise Markdown (bold labels + short sentences), no ## headings or tables
44
- - Don't list every file/directory, only key information
45
- - Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40455070bf1efea18955a656364d9d5f6f81405df3",null),(0,b.registerServerReference)(j,"60935d958ee4de4d23f3d6eb2cac58925798a56de0",null),(0,b.registerServerReference)(m,"6021aad7fd7a8aa84826e8e1faf18ac3168645e977",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},692497,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),656705,a=>a.a(async(b,c)=>{try{var d=a.i(692497),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["00788d118dda81cdfbbd9c63ec46b3c913896e5851",()=>h.getActualWsPort,"009ca2f595896f27c6c212eadc72dd771af59b87a2",()=>j.listAllExtensionStatus,"00c04618a7b3d6b1ff384e0e2c7502ffcac99c1b8c",()=>k.getOnboardingStatus,"40122d445f0fe947895dd124dd00ae78837c018ef7",()=>f.deleteLabel,"401f49996262664b9610a2f67651b660c4bb774287",()=>j.uninstallExtension,"40332a9939d399608f3939c4125c3ba181eb80af1f",()=>j.installExtension,"40455070bf1efea18955a656364d9d5f6f81405df3",()=>i.checkMigrationSafety,"404c4e3a500d71294eec0282d99cd52ae69ff9f912",()=>f.getLabelsForWorkspace,"4067ec8a4012cb20c10b47fa782eb33cc1e243ca7f",()=>h.resolveGitLocalPath,"40694a8b7e3dfee12c3f14aef6186cf6d60b75b54e",()=>f.createLabel,"4088eabde67d312066d4008553ea3b96df452437e5",()=>e.createProject,"40989042f585e20643fb9c318bec3d90946b3e7bf4",()=>k.setOnboardingProgress,"40a2286e0e371e7281ce4856eccfd991c035cff6ea",()=>j.checkExtension,"40aae0a5c77ecb29bf299a9b5b7ded7c48fcb15035",()=>e.createWorkspace,"40c4ea0176b204ccd558edddd45e3b0fc6d3937db7",()=>e.deleteWorkspace,"40d044aa23e19d5631a2167597c647d03277e0ecef",()=>k.dispatchTaskCompletionEvent,"40ed7bd4658bec28e8fdbdf52207e42489021aaa31",()=>e.reorderWorkspaces,"6021aad7fd7a8aa84826e8e1faf18ac3168645e977",()=>i.analyzeProjectDirectory,"602e301b7ed503b4c93c343298db6f2dadb5fe7424",()=>k.setOnboardingExtensions,"6043d0b586d9e951db3acc3fa862dbed9a26fd95c5",()=>k.completeOnboarding,"6074746776a1e1f12272b15edd60cc2c8a5595976a",()=>h.setConfigValue,"6092b8913233665a4edde6a26eb9732889b077331b",()=>h.getConfigValue,"60935d958ee4de4d23f3d6eb2cac58925798a56de0",()=>i.migrateProjectPath,"60ac6f4bd4d697bdb9a80ee84b6b8681a016324318",()=>e.updateWorkspace,"60e80c193b699ad21f4f33122cfcf5080a02965417",()=>g.globalSearch]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_00tdjs9._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__09rts_e._.js"].map(b=>a.l(b))).then(()=>b(897667)))}];
46
-
47
- //# sourceMappingURL=_0uuzh5m._.js.map
@@ -1,47 +0,0 @@
1
- module.exports=[495370,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(496877);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"404c4e3a500d71294eec0282d99cd52ae69ff9f912",null),(0,b.registerServerReference)(g,"40694a8b7e3dfee12c3f14aef6186cf6d60b75b54e",null),(0,b.registerServerReference)(h,"40122d445f0fe947895dd124dd00ae78837c018ef7",null),(0,b.registerServerReference)(i,"6092c078ae58fb5c723248d524f0cc292dd1473422",null),(0,b.registerServerReference)(j,"40dc368637f8206d04c9cb523d1d07650cd91b0510",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>{let b="DONE"===a.status||"CANCELLED"===a.status,c=a.project.workspaceId;return{id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:b?`/workspaces/${c}/archive?projectId=${a.projectId}`:`/workspaces/${c}?projectId=${a.projectId}`}});if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
2
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
3
- FROM "ProjectNote" n
4
- JOIN "Project" p ON p.id = n."projectId"
5
- JOIN "Workspace" w ON w.id = p."workspaceId"
6
- WHERE n.title LIKE ? OR n.content LIKE ?
7
- LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j));try{return(await b.db.$queryRawUnsafe(`SELECT f.note_id, f.title, f.content,
8
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
9
- FROM notes_fts f
10
- JOIN "ProjectNote" n ON n.id = f.note_id
11
- JOIN "Project" p ON p.id = n."projectId"
12
- JOIN "Workspace" w ON w.id = p."workspaceId"
13
- WHERE f.notes_fts MATCH ?
14
- ORDER BY rank
15
- LIMIT ?`,g,h)).map(a=>c(a,j))}catch{return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
16
- n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
17
- FROM "ProjectNote" n
18
- JOIN "Project" p ON p.id = n."projectId"
19
- JOIN "Workspace" w ON w.id = p."workspaceId"
20
- WHERE n.title LIKE ? OR n.content LIKE ?
21
- LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"60e80c193b699ad21f4f33122cfcf5080a02965417",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
22
-
23
- 读取 package.json、README.md 等关键文件,然后概括:
24
-
25
- **技术栈:** 一句话列出主要语言、框架、关键库
26
- **定位:** 一句话说明项目是什么
27
- **核心模块:** 2-3 个关键模块,每个一句话
28
-
29
- 要求:
30
- - 总字数不超过 500 字
31
- - 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
32
- - 不要罗列每个文件/目录,只说关键信息
33
- - 中文输出`,l=`Analyze this project directory and generate a brief Markdown project description.
34
-
35
- Read package.json, README.md and other key files, then summarize:
36
-
37
- **Tech Stack:** One sentence listing primary languages, frameworks, and key libraries
38
- **Overview:** One sentence describing what this project is
39
- **Core Modules:** 2-3 key modules, one sentence each
40
-
41
- Requirements:
42
- - Keep it under 1000 words
43
- - Use concise Markdown (bold labels + short sentences), no ## headings or tables
44
- - Don't list every file/directory, only key information
45
- - Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40455070bf1efea18955a656364d9d5f6f81405df3",null),(0,b.registerServerReference)(j,"60935d958ee4de4d23f3d6eb2cac58925798a56de0",null),(0,b.registerServerReference)(m,"6021aad7fd7a8aa84826e8e1faf18ac3168645e977",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},42344,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),413773,a=>a.a(async(b,c)=>{try{var d=a.i(42344),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["00788d118dda81cdfbbd9c63ec46b3c913896e5851",()=>h.getActualWsPort,"009ca2f595896f27c6c212eadc72dd771af59b87a2",()=>j.listAllExtensionStatus,"00c04618a7b3d6b1ff384e0e2c7502ffcac99c1b8c",()=>k.getOnboardingStatus,"40122d445f0fe947895dd124dd00ae78837c018ef7",()=>f.deleteLabel,"401f49996262664b9610a2f67651b660c4bb774287",()=>j.uninstallExtension,"40332a9939d399608f3939c4125c3ba181eb80af1f",()=>j.installExtension,"40455070bf1efea18955a656364d9d5f6f81405df3",()=>i.checkMigrationSafety,"404c4e3a500d71294eec0282d99cd52ae69ff9f912",()=>f.getLabelsForWorkspace,"4067ec8a4012cb20c10b47fa782eb33cc1e243ca7f",()=>h.resolveGitLocalPath,"40694a8b7e3dfee12c3f14aef6186cf6d60b75b54e",()=>f.createLabel,"4088eabde67d312066d4008553ea3b96df452437e5",()=>e.createProject,"40989042f585e20643fb9c318bec3d90946b3e7bf4",()=>k.setOnboardingProgress,"40a2286e0e371e7281ce4856eccfd991c035cff6ea",()=>j.checkExtension,"40aae0a5c77ecb29bf299a9b5b7ded7c48fcb15035",()=>e.createWorkspace,"40c4ea0176b204ccd558edddd45e3b0fc6d3937db7",()=>e.deleteWorkspace,"40d044aa23e19d5631a2167597c647d03277e0ecef",()=>k.dispatchTaskCompletionEvent,"40ed7bd4658bec28e8fdbdf52207e42489021aaa31",()=>e.reorderWorkspaces,"6021aad7fd7a8aa84826e8e1faf18ac3168645e977",()=>i.analyzeProjectDirectory,"602e301b7ed503b4c93c343298db6f2dadb5fe7424",()=>k.setOnboardingExtensions,"6043d0b586d9e951db3acc3fa862dbed9a26fd95c5",()=>k.completeOnboarding,"6074746776a1e1f12272b15edd60cc2c8a5595976a",()=>h.setConfigValue,"6092b8913233665a4edde6a26eb9732889b077331b",()=>h.getConfigValue,"60935d958ee4de4d23f3d6eb2cac58925798a56de0",()=>i.migrateProjectPath,"60ac6f4bd4d697bdb9a80ee84b6b8681a016324318",()=>e.updateWorkspace,"60e80c193b699ad21f4f33122cfcf5080a02965417",()=>g.globalSearch]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_0zfjhu1._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0zq.n2w._.js"].map(b=>a.l(b))).then(()=>b(897667)))}];
46
-
47
- //# sourceMappingURL=_0~aon4t._.js.map