tower-studio 0.1.11 → 0.1.12

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 (180) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.previewinfo +1 -1
  4. package/.next/cache/.rscinfo +1 -1
  5. package/.next/diagnostics/route-bundle-stats.json +40 -40
  6. package/.next/fallback-build-manifest.json +3 -3
  7. package/.next/prerender-manifest.json +3 -3
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
  16. package/.next/server/app/_not-found/page/server-reference-manifest.json +25 -25
  17. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +13 -13
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  28. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  30. package/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  31. package/.next/server/app/api/internal/assistant/images/route.js.nft.json +1 -1
  32. package/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  33. package/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  35. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  36. package/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  37. package/.next/server/app/index.html +1 -1
  38. package/.next/server/app/index.rsc +13 -13
  39. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  40. package/.next/server/app/index.segments/_full.segment.rsc +13 -13
  41. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  42. package/.next/server/app/index.segments/_index.segment.rsc +8 -8
  43. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  44. package/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  45. package/.next/server/app/missions/page/server-reference-manifest.json +51 -51
  46. package/.next/server/app/missions/page.js.nft.json +1 -1
  47. package/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
  49. package/.next/server/app/onboarding/page/server-reference-manifest.json +25 -25
  50. package/.next/server/app/onboarding/page.js.nft.json +1 -1
  51. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/onboarding.html +1 -1
  53. package/.next/server/app/onboarding.rsc +15 -15
  54. package/.next/server/app/onboarding.segments/_full.segment.rsc +15 -15
  55. package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
  56. package/.next/server/app/onboarding.segments/_index.segment.rsc +8 -8
  57. package/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  58. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  59. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
  60. package/.next/server/app/page/react-loadable-manifest.json +1 -1
  61. package/.next/server/app/page/server-reference-manifest.json +25 -25
  62. package/.next/server/app/page.js.nft.json +1 -1
  63. package/.next/server/app/page_client-reference-manifest.js +1 -1
  64. package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  65. package/.next/server/app/settings/page/server-reference-manifest.json +34 -34
  66. package/.next/server/app/settings/page.js.nft.json +1 -1
  67. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/settings.html +1 -1
  69. package/.next/server/app/settings.rsc +15 -15
  70. package/.next/server/app/settings.segments/_full.segment.rsc +15 -15
  71. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  72. package/.next/server/app/settings.segments/_index.segment.rsc +8 -8
  73. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  74. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  75. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  76. package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
  77. package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +77 -77
  78. package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  79. package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
  81. package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +74 -74
  82. package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  83. package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  84. package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
  85. package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +61 -61
  86. package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  87. package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  88. package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
  89. package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +53 -53
  90. package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  91. package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
  93. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +25 -25
  94. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  95. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  96. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +1 -1
  97. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +58 -58
  98. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  99. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  100. package/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
  101. package/.next/server/app/workspaces/page/server-reference-manifest.json +45 -45
  102. package/.next/server/app/workspaces/page.js.nft.json +1 -1
  103. package/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  104. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_05yec2y.js +2 -2
  105. package/.next/server/chunks/[root-of-the-server]__0~33o~m._.js +1 -1
  106. package/.next/server/chunks/project_f_tower_0n1s3ym._.js +1 -1
  107. package/.next/server/chunks/project_f_tower_src_11e.cv5._.js +1 -1
  108. package/.next/server/chunks/ssr/04uy_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_01.s1p0._.js +1 -1
  109. package/.next/server/chunks/ssr/0y0r_f_tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0n4g3bn._.js +1 -1
  110. package/.next/server/chunks/ssr/[root-of-the-server]__06qzctf._.js +1 -1
  111. package/.next/server/chunks/ssr/[root-of-the-server]__08meal1._.js +3 -0
  112. package/.next/server/chunks/ssr/[root-of-the-server]__0ffdrwp._.js +1 -1
  113. package/.next/server/chunks/ssr/[root-of-the-server]__0fwuc5u._.js +1 -1
  114. package/.next/server/chunks/ssr/[root-of-the-server]__0i4rk9v._.js +3 -3
  115. package/.next/server/chunks/ssr/{[root-of-the-server]__06japut._.js → [root-of-the-server]__0la.lch._.js} +2 -2
  116. package/.next/server/chunks/ssr/[root-of-the-server]__0nmyvwk._.js +1 -1
  117. package/.next/server/chunks/ssr/{[root-of-the-server]__0fu82np._.js → [root-of-the-server]__0p~~40h._.js} +2 -2
  118. package/.next/server/chunks/ssr/[root-of-the-server]__0w7gbe7._.js +1 -1
  119. package/.next/server/chunks/ssr/[root-of-the-server]__11j4k9o._.js +1 -1
  120. package/.next/server/chunks/ssr/[root-of-the-server]__13cjs8r._.js +1 -1
  121. package/.next/server/chunks/ssr/[root-of-the-server]__13eo85g._.js +1 -1
  122. package/.next/server/chunks/ssr/{project_f_tower_0n6q9zh._.js → project_f_tower_0.k8r5w._.js} +2 -2
  123. package/.next/server/chunks/ssr/project_f_tower_0.txwd8._.js +1 -1
  124. package/.next/server/chunks/ssr/{project_f_tower_0jdkold._.js → project_f_tower_0c6n7oo._.js} +2 -2
  125. package/.next/server/chunks/ssr/project_f_tower_0dfyjgz._.js +3 -0
  126. package/.next/server/chunks/ssr/project_f_tower_0f0-wva._.js +1 -1
  127. package/.next/server/chunks/ssr/project_f_tower_0hgtev9._.js +1 -1
  128. package/.next/server/chunks/ssr/{project_f_tower_0xkqjno._.js → project_f_tower_0ifpw8k._.js} +2 -2
  129. package/.next/server/chunks/ssr/project_f_tower_0ivvjwd._.js +1 -1
  130. package/.next/server/chunks/ssr/project_f_tower_0jy~1uf._.js +1 -1
  131. package/.next/server/chunks/ssr/project_f_tower_0l6ssf8._.js +1 -1
  132. package/.next/server/chunks/ssr/project_f_tower_0o5.y1e._.js +1 -1
  133. package/.next/server/chunks/ssr/{project_f_tower_0h79vn0._.js → project_f_tower_0ron~f-._.js} +2 -2
  134. package/.next/server/chunks/ssr/{project_f_tower_0ghw~2t._.js → project_f_tower_0t0smg9._.js} +2 -2
  135. package/.next/server/chunks/ssr/project_f_tower_0ym-aea._.js +1 -1
  136. package/.next/server/chunks/ssr/{project_f_tower_src_0yr8rna._.js → project_f_tower_src_0_g15e8._.js} +2 -2
  137. package/.next/server/chunks/ssr/project_f_tower_src_actions_agent-actions_ts_0.s4~m-._.js +1 -1
  138. package/.next/server/chunks/ssr/project_f_tower_src_actions_file-actions_ts_02i742t._.js +1 -1
  139. package/.next/server/chunks/ssr/project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js +1 -1
  140. package/.next/server/chunks/ssr/project_f_tower_src_app_onboarding_page_tsx_0_9_yoq._.js +1 -1
  141. package/.next/server/chunks/ssr/project_f_tower_src_app_settings_page_tsx_0oo06~d._.js +1 -1
  142. package/.next/server/chunks/ssr/project_f_tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0jmj1xz._.js +1 -1
  143. package/.next/server/instrumentation.js.nft.json +1 -1
  144. package/.next/server/middleware-build-manifest.js +3 -3
  145. package/.next/server/pages/404.html +1 -1
  146. package/.next/server/pages/500.html +1 -1
  147. package/.next/server/server-reference-manifest.js +1 -1
  148. package/.next/server/server-reference-manifest.json +205 -205
  149. package/.next/static/chunks/{0dlrmobwx~tvz.js → 0-plp~pgpcel9.js} +1 -1
  150. package/.next/static/chunks/{06hfc~t6~gtz9.js → 0.do_z22ngnjd.js} +1 -1
  151. package/.next/static/chunks/00atyrg-7i0hj.js +1 -0
  152. package/.next/static/chunks/{0kyb0fcxzykkx.js → 01mymnegugktp.js} +1 -1
  153. package/.next/static/chunks/09hs9w6-77im2.js +1 -0
  154. package/.next/static/chunks/09hxu-k8oyivu.js +1 -0
  155. package/.next/static/chunks/{0afji0z13kos5.js → 09p7-kr_vidww.js} +2 -2
  156. package/.next/static/chunks/{006_yes1e~uq-.js → 0c49o.5w_cw8_.js} +1 -1
  157. package/.next/static/chunks/{0upxmdjt9neoj.js → 0d.3wv6u.2g~6.js} +1 -1
  158. package/.next/static/chunks/0im8~yii0.2mn.js +1 -0
  159. package/.next/static/chunks/0kbuf91gryyo2.js +1 -0
  160. package/.next/static/chunks/0p~3m91-t6p91.js +1 -0
  161. package/.next/static/chunks/{06xnbktd_jmb4.js → 0qp~1_kfjklfg.js} +1 -1
  162. package/.next/static/chunks/{10xx474hrm.03.js → 0vs5vey5ni44t.js} +1 -1
  163. package/.next/static/chunks/15zclhqyib88_.js +1 -0
  164. package/.next/trace +2 -2
  165. package/.next/trace-build +1 -1
  166. package/bin/tower.mjs +9 -0
  167. package/package.json +1 -1
  168. package/scripts/generate-prisma-client.js +2 -17
  169. package/.next/server/chunks/ssr/[root-of-the-server]__0db_p8v._.js +0 -3
  170. package/.next/server/chunks/ssr/project_f_tower_03k0qr1._.js +0 -3
  171. package/.next/static/chunks/03~7u57dwxswo.js +0 -1
  172. package/.next/static/chunks/054pu3m7e37gx.js +0 -1
  173. package/.next/static/chunks/05fge.5j9lnpa.js +0 -1
  174. package/.next/static/chunks/0azbwlqgcxx~9.js +0 -1
  175. package/.next/static/chunks/0g-rx4evmd.pa.js +0 -1
  176. package/.next/static/chunks/0sa5eiyws1~n0.js +0 -1
  177. package/.next/static/chunks/16ow8w3exqm6p.js +0 -1
  178. /package/.next/static/{qVmkMYUuxwdsiFTnn1wfK → jMxcHfsOSldWKgvAjGnAv}/_buildManifest.js +0 -0
  179. /package/.next/static/{qVmkMYUuxwdsiFTnn1wfK → jMxcHfsOSldWKgvAjGnAv}/_clientMiddlewareManifest.js +0 -0
  180. /package/.next/static/{qVmkMYUuxwdsiFTnn1wfK → jMxcHfsOSldWKgvAjGnAv}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},515205,a=>{"use strict";var b=a.i(858360),c=a.i(759985),d=a.i(448287),e=a.i(59711),f=a.i(161604),g=a.i(986379),h=a.i(14180),i=a.i(584335);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},113620,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},245095,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("40f5eb7f5803dd1b46b71a47e34ff8dbe539f1a5e3",b.callServer,void 0,b.findSourceMapURL,"deleteAsset");a.s(["deleteAsset",0,c])},208168,319884,a=>{"use strict";let b=(0,a.i(302856).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);a.s(["Upload",0,b],208168);var c=a.i(879876);let d=(0,c.createServerReference)("405e1016a806f0737b6513e65c99049263410f5b20",c.callServer,void 0,c.findSourceMapURL,"uploadAsset");a.s(["uploadAsset",0,d],319884)},48300,a=>{"use strict";var b=a.i(293785),c=a.i(256116),d=a.i(488137),e=a.i(44585);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],48300)},59711,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],59711)},468518,a=>{"use strict";var b=a.i(858360),c=a.i(44585);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},236345,a=>{"use strict";let b=(0,a.i(302856).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["PlayCircle",0,b],236345)},797896,a=>{"use strict";let b=(0,a.i(302856).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],797896)}];
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},515205,a=>{"use strict";var b=a.i(858360),c=a.i(759985),d=a.i(448287),e=a.i(59711),f=a.i(161604),g=a.i(986379),h=a.i(14180),i=a.i(584335);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},113620,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},491310,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("402824ab66f9a2d99e981123aa9da50142d1e9f49c",b.callServer,void 0,b.findSourceMapURL,"deleteAsset");a.s(["deleteAsset",0,c])},208168,300697,a=>{"use strict";let b=(0,a.i(302856).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);a.s(["Upload",0,b],208168);var c=a.i(879876);let d=(0,c.createServerReference)("4080a7229d9c52869922953b0691c8cfb8683cfd7c",c.callServer,void 0,c.findSourceMapURL,"uploadAsset");a.s(["uploadAsset",0,d],300697)},48300,a=>{"use strict";var b=a.i(293785),c=a.i(256116),d=a.i(488137),e=a.i(44585);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],48300)},59711,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],59711)},468518,a=>{"use strict";var b=a.i(858360),c=a.i(44585);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},236345,a=>{"use strict";let b=(0,a.i(302856).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["PlayCircle",0,b],236345)},797896,a=>{"use strict";let b=(0,a.i(302856).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],797896)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__06japut._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0la.lch._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},143971,a=>{"use strict";class b{providers=new Map;register(a){this.providers.set(a.name,a)}get(a){return this.providers.get(a)}getAll(){return Array.from(this.providers.values())}getCliAdapter(a){return this.providers.get(a)?.cli?.adapter??null}getQueryAdapter(a,b){let c=this.providers.get(a);return c?"api"===b?c.api?.adapter??null:c.cliQuery?.adapter??null:null}getAllowedCommands(){let a=[];for(let b of this.providers.values())b.cli?.command&&a.push(b.cli.command);return a}async getAvailableProviders(){let a=[];for(let b of this.providers.values()){let c=!!b.cli&&await b.cli.adapter.isAvailable(),d=c&&b.cli?await b.cli.adapter.getVersion():null,e=!!b.api&&!!process.env[b.api.keyEnvVar],f=!!b.api&&e;a.push({name:b.name,displayName:b.displayName,cli:{available:c,version:d},api:{available:f,keyConfigured:e}})}return a}}var c=a.i(575675);let d=globalThis;if(!d.__providerRegistry){let a=new b;a.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new c.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),d.__providerRegistry=a}let e=d.__providerRegistry;a.s(["providerRegistry",0,e],143971)},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"401428759ab9bf4954951f15e712c11118732f9f15",null),(0,b.registerServerReference)(m,"60c351a918c1ee9731291483fb857151355d9f0ca9",null),(0,b.registerServerReference)(n,"60755b61effe8e442dd2b359fdc73d136e6d4505b1",null),(0,b.registerServerReference)(o,"40f5eefd6462353c3411c04d870aa58bea4cab70e8",null),(0,b.registerServerReference)(p,"405df46b2b518ec5fe9eae6a2b958cd0c022087300",null),(0,b.registerServerReference)(q,"401b61ad7e39ca392cb9beb71bc3b6bfa5ef7f1504",null),(0,b.registerServerReference)(r,"40947bbcaa80f4cdfe2e251c86703557681660bb46",null),(0,b.registerServerReference)(s,"40fc6fb8a421b620849a65f59e6e0cfd363a232907",null),(0,b.registerServerReference)(t,"409f21aa0a1353a1c59d722a1686ba8ed31b4ab68c",null),(0,b.registerServerReference)(u,"60840bef26147dd4dff7d39641737796069e39069c",null),(0,b.registerServerReference)(v,"40ae3f40b62ca3c5a2377e58d67b407afcf20387e5",null),(0,b.registerServerReference)(w,"40917351bef2fa1c7314359e8e06c5f69122b9245e",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},614688,a=>{"use strict";var b=a.i(680889),c=a.i(874533),d=a.i(902157),e=a.i(750227);let f=new Map;function g(a){let b=f.get(a);return!!b&&(f.delete(a),!b.killed&&(b.kill("SIGTERM"),!0))}function h(){for(let a of[...f.keys()])g(a)}process.on("SIGTERM",()=>h()),process.on("SIGINT",()=>h());var i=a.i(968623),j=a.i(632919);async function k(a,b,d){let e;(e=f.get(a))&&!e.killed&&g(a);try{let[e,...h]=b.trim().split(/\s+/),i=(0,c.spawn)(e,h,{cwd:d,shell:!1,detached:!1,stdio:"ignore"});return g(a),i.on("exit",()=>{f.get(a)===i&&f.delete(a)}),f.set(a,i),{started:!0}}catch(a){return{started:!1,error:String(a)}}}async function l(a){g(a)}async function m(a){try{let b=(0,d.readFileSync)((0,e.join)(a,"package.json"),"utf-8"),c=JSON.parse(b),f={...c.dependencies,...c.devDependencies};if(f.vite||f["@vitejs/plugin-vue"]||f["@vitejs/plugin-react"])return"vite";if(f.next)return"next";if(f.nuxt)return"nuxt";if(f["@angular/core"])return"angular";return null}catch{return null}}let n=["Terminal","iTerm","iTerm2","Warp","Hyper","Alacritty","WezTerm","kitty"];async function o(a){if(!a||!(0,e.isAbsolute)(a))throw Error("openInTerminal requires an absolute path");let b=await (0,i.readConfigValue)("terminal.app","Terminal");if(!n.includes(b))throw Error(`Terminal app '${b}' is not in the allowed list`);(0,c.execFileSync)("open",["-a",b,a])}(0,j.ensureServerEntryExports)([k,l,m,o]),(0,b.registerServerReference)(k,"706d55c3cf4697717fa52c2e1ea7b537f32e05d622",null),(0,b.registerServerReference)(l,"406dadcda0c51c13b91211c963e904ced84ea5694e",null),(0,b.registerServerReference)(m,"4075b1597db85ad471108e9bd77e0ede76533ea720",null),(0,b.registerServerReference)(o,"40c8dd735fe52600a2307629dfbdf14e794f96be81",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],614688)},319238,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(643700),a.i(614688),a.i(31782);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),901654,a=>a.a(async(b,c)=>{try{var d=a.i(319238),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(643700),l=a.i(614688),m=a.i(31782),n=b([d,g,h]);[d,g,h]=n.then?(await n)():n,a.s(["00803dfba01a59109739236b9c79eb555dfe726559",()=>h.getActualWsPort,"0088720ea6f78a7d440f0ffe918e2017c6ed4a091c",()=>j.getOnboardingStatus,"00ba4377b901e75414286d0eb0a9635fc2a8e5d7a2",()=>k.getActiveExecutionsAcrossWorkspaces,"4002d8571b6bdf58868e87d1d81f586b88cf87057e",()=>h.getConfigValues,"4008da5fb2e740b1e3c6df4ff7e170a1140d107426",()=>j.completeOnboarding,"4013c88773d9eb1e2401f45a6f7f0d004f6460ddc3",()=>e.createProject,"401b61ad7e39ca392cb9beb71bc3b6bfa5ef7f1504",()=>m.getProjectTasks,"402101054ddd73b75c36e8b52c2353fca90c5fea95",()=>k.continueLatestPtyExecution,"403ff6fb6679e7d59c36b91d1641a70cef02d4b234",()=>k.stopPtyExecution,"40535a6a38bc5b8149d6178b949a6f89b1307d6d44",()=>e.getWorkspacesWithRecentTasks,"40556e416c26c7e086bc6c0026b4f12eee10ce659c",()=>j.setOnboardingProgress,"407818a74d78397b1421f728f63974b3c70235f449",()=>h.resolveGitLocalPath,"408115b355b5d59c800f7bc75d3448a2d563196007",()=>k.getTaskExecutions,"408abee9d22d9054dd5a6ecc32b0c3daa69ef66c6e",()=>j.dispatchTaskCompletionEvent,"40b3591c77b7bc8565eb59161e29cffb57fe4fe1a5",()=>e.createWorkspace,"40c65d3caeb7cc578408a85b29d3ba4ebe00eb4a89",()=>f.getLabelsForWorkspace,"40c8dd735fe52600a2307629dfbdf14e794f96be81",()=>l.openInTerminal,"40ce50a21599ff19e5c2ad9f6b191d1e448f74cfb3",()=>k.getTaskMessages,"40eaddcac6fa4edf051cd8d3168d3048a4158112c0",()=>f.createLabel,"40f00a067fb6de012eaf03c9eef4ebf4964d647581",()=>e.deleteWorkspace,"40f109f5cc72d3c8512abb532f19ecdf3d57a9de92",()=>i.checkMigrationSafety,"40f96ef73252afb252f5b9a67a3e940b91d910020e",()=>f.deleteLabel,"6012050e4657ea78a8775111af012678ef9d34a8b9",()=>k.stopTaskExecution,"601c654f3d94a3fa93c8a4f803525145ef41461d43",()=>h.getConfigValue,"601e7393f346eeebf241ef05b3c434d1074e6b83ca",()=>h.setConfigValue,"604f648d394271e37eab29c0f0c16170bd75606176",()=>i.migrateProjectPath,"606a6ac57a64d74ac8910b538bca7b8d0286ea4a03",()=>i.analyzeProjectDirectory,"608940db009d9ab74b2e4d144069b697417c331166",()=>g.globalSearch,"6090661be83a06fb8677f5401a51bf2e0cb9fc513b",()=>k.sendTaskMessage,"60a4883fbe9441f4bbb20550d941f5b5c39d7bf696",()=>e.updateWorkspace,"60d8d343d6d5c044dadeb71b8d3a7e5f3fff699d6d",()=>k.resumePtyExecution,"7839f6340d8e220203392fedeee21e01e0831c8012",()=>k.startPtyExecution,"78815dbcfffc8cc25272bf93f43362afa1ca18417c",()=>k.startTaskExecution]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0._5zby._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_0knz136._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_10lk3gb._.js"].map(b=>a.l(b))).then(()=>b(23999)))},4868,a=>{a.v(a=>Promise.resolve().then(()=>a(541587)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
1
+ module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},143971,a=>{"use strict";class b{providers=new Map;register(a){this.providers.set(a.name,a)}get(a){return this.providers.get(a)}getAll(){return Array.from(this.providers.values())}getCliAdapter(a){return this.providers.get(a)?.cli?.adapter??null}getQueryAdapter(a,b){let c=this.providers.get(a);return c?"api"===b?c.api?.adapter??null:c.cliQuery?.adapter??null:null}getAllowedCommands(){let a=[];for(let b of this.providers.values())b.cli?.command&&a.push(b.cli.command);return a}async getAvailableProviders(){let a=[];for(let b of this.providers.values()){let c=!!b.cli&&await b.cli.adapter.isAvailable(),d=c&&b.cli?await b.cli.adapter.getVersion():null,e=!!b.api&&!!process.env[b.api.keyEnvVar],f=!!b.api&&e;a.push({name:b.name,displayName:b.displayName,cli:{available:c,version:d},api:{available:f,keyConfigured:e}})}return a}}var c=a.i(575675);let d=globalThis;if(!d.__providerRegistry){let a=new b;a.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new c.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),d.__providerRegistry=a}let e=d.__providerRegistry;a.s(["providerRegistry",0,e],143971)},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"40622d25277e3c11015df1608e15d738bebaf6e879",null),(0,b.registerServerReference)(m,"60d8d8ed534f28b32d271c58f8f9f2511c65003bdb",null),(0,b.registerServerReference)(n,"605b03fbb419cd1a1831e8464a8242d82cdae18ae6",null),(0,b.registerServerReference)(o,"40a7e4fdd6803b7d8447525be3097063e42fc480f2",null),(0,b.registerServerReference)(p,"4037a0d2f662d32e4dd9a4b1a619489e9fdf17d735",null),(0,b.registerServerReference)(q,"402b8c5867f9414d72e69d6b9b5aa8f56b6f453a36",null),(0,b.registerServerReference)(r,"4022ff111b8a8abaefd935dae43bc6e25fdac3b561",null),(0,b.registerServerReference)(s,"404e0860b4ac94b0d1f5050116c3c308ee36d55862",null),(0,b.registerServerReference)(t,"40ec4f72b679f0487a21d7166d20412c1d3e4f1feb",null),(0,b.registerServerReference)(u,"6030bc338dcedc06ab38184da02f82e242e2e73465",null),(0,b.registerServerReference)(v,"408bb641755358e099b0f600083d554bdece767654",null),(0,b.registerServerReference)(w,"40a90813a2de2ddd04c90819beeddce2193366c1b2",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},614688,a=>{"use strict";var b=a.i(680889),c=a.i(874533),d=a.i(902157),e=a.i(750227);let f=new Map;function g(a){let b=f.get(a);return!!b&&(f.delete(a),!b.killed&&(b.kill("SIGTERM"),!0))}function h(){for(let a of[...f.keys()])g(a)}process.on("SIGTERM",()=>h()),process.on("SIGINT",()=>h());var i=a.i(968623),j=a.i(632919);async function k(a,b,d){let e;(e=f.get(a))&&!e.killed&&g(a);try{let[e,...h]=b.trim().split(/\s+/),i=(0,c.spawn)(e,h,{cwd:d,shell:!1,detached:!1,stdio:"ignore"});return g(a),i.on("exit",()=>{f.get(a)===i&&f.delete(a)}),f.set(a,i),{started:!0}}catch(a){return{started:!1,error:String(a)}}}async function l(a){g(a)}async function m(a){try{let b=(0,d.readFileSync)((0,e.join)(a,"package.json"),"utf-8"),c=JSON.parse(b),f={...c.dependencies,...c.devDependencies};if(f.vite||f["@vitejs/plugin-vue"]||f["@vitejs/plugin-react"])return"vite";if(f.next)return"next";if(f.nuxt)return"nuxt";if(f["@angular/core"])return"angular";return null}catch{return null}}let n=["Terminal","iTerm","iTerm2","Warp","Hyper","Alacritty","WezTerm","kitty"];async function o(a){if(!a||!(0,e.isAbsolute)(a))throw Error("openInTerminal requires an absolute path");let b=await (0,i.readConfigValue)("terminal.app","Terminal");if(!n.includes(b))throw Error(`Terminal app '${b}' is not in the allowed list`);(0,c.execFileSync)("open",["-a",b,a])}(0,j.ensureServerEntryExports)([k,l,m,o]),(0,b.registerServerReference)(k,"707b0bb956bf170e514e9cf105d4b333ff103217de",null),(0,b.registerServerReference)(l,"40e41704353809c1535ae419f60d4940b43e793e1b",null),(0,b.registerServerReference)(m,"40c22124a5bd0c0f57f97d900ab19a8f37a696dde0",null),(0,b.registerServerReference)(o,"40dda63072b6d9478cbe91e491c6fb8f623ed50bdc",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],614688)},319238,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(643700),a.i(614688),a.i(31782);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),901654,a=>a.a(async(b,c)=>{try{var d=a.i(319238),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(643700),l=a.i(614688),m=a.i(31782),n=b([d,g,h]);[d,g,h]=n.then?(await n)():n,a.s(["0074a2acfc7c977675c9240a3cf179d4e8a0497ecb",()=>k.getActiveExecutionsAcrossWorkspaces,"00c5a0d3b9b146d2731747fe1a416361d4501fba21",()=>h.getActualWsPort,"00f7de3735ec23dbbe02b347b3b27fe3293c72dd51",()=>j.getOnboardingStatus,"4002a489b8ddf18fe0011eb46ac0739ec3e093a5bf",()=>j.dispatchTaskCompletionEvent,"401f463b01e74265a5a0f6a651625dbaa23ce7f0de",()=>k.stopPtyExecution,"4025e96d25637009a8b378148032220c259e2e209b",()=>e.deleteWorkspace,"402b8c5867f9414d72e69d6b9b5aa8f56b6f453a36",()=>m.getProjectTasks,"4036dc278fce434992e90dd8958b9fa89e1c22580c",()=>k.continueLatestPtyExecution,"405330cd9709f40037aa83521bdac7044a93b13641",()=>k.getTaskExecutions,"405e24a96c3040b977262f38c5e06b74894259e0be",()=>j.completeOnboarding,"406303a55224e2a9384b4ad81ed3a003d67d23c0a5",()=>f.getLabelsForWorkspace,"406d0755627b7578b91d776cec0fe19e1bb6bfc1e3",()=>j.setOnboardingProgress,"407cbea3859811102573ba8273dc5d88a5d811928c",()=>h.resolveGitLocalPath,"40805f406dafafbee2bc2893759657900a249fb949",()=>i.checkMigrationSafety,"408f9aa4b4846ac38314ce296b0e74b4cc0eb5d2c3",()=>h.getConfigValues,"40a2271ec5fba80f23a957c9a06fd5d4f208c265e7",()=>k.getTaskMessages,"40b43304845d2ab1bbfcca9e8a22572005f72fdee2",()=>e.createWorkspace,"40dda63072b6d9478cbe91e491c6fb8f623ed50bdc",()=>l.openInTerminal,"40de3b59acefdad3d4c0fe96d99c53f2e3910bc5c4",()=>f.createLabel,"40f10b98befcfeac7f091134a9d3044dd0589408ae",()=>e.getWorkspacesWithRecentTasks,"40f2f8dd87569241d7237d8e6d9c1062d583dceda0",()=>f.deleteLabel,"40f9512bdf19e6f9f4f666ec480b5d2a34184f2c20",()=>e.createProject,"602e857033f412e1832ad1c46ff2b99c02da07294f",()=>k.resumePtyExecution,"60422a3dcf869aca6ad2360fc07fff8f7ad667284c",()=>e.updateWorkspace,"6051c20539a0938b9860bfe0dfe34cf20c41177e85",()=>g.globalSearch,"60539a0b43514080c05ac2f7a6e02635a8a87cb99e",()=>k.sendTaskMessage,"60580b8893845b30deedffa8257cbf297fee7c5689",()=>h.setConfigValue,"6058bc084dfc8fd7335c86f6b96805b28fbfade91d",()=>h.getConfigValue,"60a766e524b63c644538760cc4573474b87e697389",()=>k.stopTaskExecution,"60d8faa80f7dca8aa639744b42cee7f20ac78660cd",()=>i.analyzeProjectDirectory,"60f6737005b46b8cdbcf37d9f3db70c559c509ad1a",()=>i.migrateProjectPath,"780a1d3040561b90e331d3ea2e1c3ff2cddf69f34e",()=>k.startTaskExecution,"78fb8fa47faed28ab00400d74b16e6f120e94f9b12",()=>k.startPtyExecution]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0._5zby._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_0knz136._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_10lk3gb._.js"].map(b=>a.l(b))).then(()=>b(23999)))},4868,a=>{a.v(a=>Promise.resolve().then(()=>a(541587)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0nmyvwk._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[814747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},918622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},427934,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},666775,a=>{"use strict";let b=(0,a.i(302856).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Settings",0,b],666775)},153921,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("601c654f3d94a3fa93c8a4f803525145ef41461d43",b.callServer,void 0,b.findSourceMapURL,"getConfigValue");a.s(["getConfigValue",0,c])},775788,a=>{"use strict";var b,c=a.i(858360);a.s([],783786),a.i(783786);var d=a.i(175391),e=a.i(910600),f=a.i(825863),g=a.i(971441),h=a.i(527993),i=a.i(630517),j=a.i(302398),k=a.i(256116),l=a.i(293785),m=a.i(128429),n=a.i(88326),o=a.i(545264);let p=d.createContext(void 0);var q=a.i(170469);let r=((b={}).checked="data-checked",b.unchecked="data-unchecked",b.disabled="data-disabled",b.readonly="data-readonly",b.required="data-required",b.valid="data-valid",b.invalid="data-invalid",b.touched="data-touched",b.dirty="data-dirty",b.filled="data-filled",b.focused="data-focused",b),s={...q.fieldValidityMapping,checked:a=>a?{[r.checked]:""}:{[r.unchecked]:""}};var t=a.i(98719),u=a.i(969626),v=a.i(506489),w=a.i(176174),x=a.i(648172),y=a.i(703599),z=a.i(107432),A=a.i(222545);let B=d.forwardRef(function(a,b){let{checked:o,className:q,defaultChecked:r,"aria-labelledby":B,id:C,inputRef:D,name:E,nativeButton:F=!1,onCheckedChange:G,readOnly:H=!1,required:I=!1,disabled:J=!1,render:K,uncheckedValue:L,value:M,...N}=a,{clearErrors:O}=(0,v.useFormContext)(),{state:P,setTouched:Q,setDirty:R,validityData:S,setFilled:T,setFocused:U,shouldValidateOnChange:V,validationMode:W,disabled:X,name:Y,validation:Z}=(0,u.useFieldRootContext)(),{labelId:$}=(0,w.useLabelableContext)(),_=X||J,aa=Y??E,ab=(0,f.useStableCallback)(G),ac=d.useRef(null),ad=(0,g.useMergedRefs)(ac,D,Z.inputRef),ae=d.useRef(null),af=(0,m.useBaseUiId)(),ag=(0,x.useLabelableId)({id:C,implicit:!1,controlRef:ae}),ah=F?void 0:ag,[ai,aj]=(0,e.useControlled)({controlled:o,default:!!r,name:"Switch",state:"checked"});(0,t.useField)({id:af,commit:Z.commit,value:ai,controlRef:ae,name:aa,getValue:()=>ai}),(0,h.useIsoLayoutEffect)(()=>{ac.current&&T(ac.current.checked)},[ac,T]),(0,A.useValueChanged)(ai,()=>{O(aa),R(ai!==S.initialValue),T(ai),V()?Z.commit(ai):Z.commit(ai,!0)});let{getButtonProps:ak,buttonRef:al}=(0,n.useButton)({disabled:_,native:F}),am=function(a,b,c,e=!0,f){let[g,i]=d.useState(),j=(0,m.useBaseUiId)(f?`${f}-label`:void 0),k=a??b??g;return(0,h.useIsoLayoutEffect)(()=>{let d=a||b||!e?void 0:function(a,b){let c=function(a){if(!a)return;let b=a.parentElement;if(b&&"LABEL"===b.tagName)return b;let c=a.id;if(c){let b=a.nextElementSibling;if(b&&b.htmlFor===c)return b}let d=a.labels;return d&&d[0]}(a);if(c)return!c.id&&b&&(c.id=b),c.id||void 0}(c.current,j);g!==d&&i(d)}),k}(B,$,ac,!F,ah),an=d.useMemo(()=>(0,l.mergeProps)({checked:ai,disabled:_,id:ah,name:aa,required:I,style:aa?i.visuallyHiddenInput:i.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ad,onChange(a){if(a.nativeEvent.defaultPrevented)return;let b=a.target.checked,c=(0,y.createChangeEventDetails)(z.REASONS.none,a.nativeEvent);ab?.(b,c),c.isCanceled||aj(b)},onFocus(){ae.current?.focus()}},Z.getInputValidationProps,void 0!==M?{value:M}:j.EMPTY_OBJECT),[ai,_,ad,ah,aa,ab,I,aj,Z,M]),ao=d.useMemo(()=>({...P,checked:ai,disabled:_,readOnly:H,required:I}),[P,ai,_,H,I]),ap=(0,k.useRenderElement)("span",a,{state:ao,ref:[b,ae,al],props:[{id:F?ag:af,role:"switch","aria-checked":ai,"aria-readonly":H||void 0,"aria-required":I||void 0,"aria-labelledby":am,onFocus(){_||U(!0)},onBlur(){let a=ac.current;a&&!_&&(Q(!0),U(!1),"onBlur"===W&&Z.commit(a.checked))},onClick(a){H||_||(a.preventDefault(),ac.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:a.shiftKey,ctrlKey:a.ctrlKey,altKey:a.altKey,metaKey:a.metaKey})))}},Z.getValidationProps,N,ak],stateAttributesMapping:s});return(0,c.jsxs)(p.Provider,{value:ao,children:[ap,!ai&&aa&&void 0!==L&&(0,c.jsx)("input",{type:"hidden",name:aa,value:L}),(0,c.jsx)("input",{...an})]})}),C=d.forwardRef(function(a,b){let{render:c,className:e,...f}=a,{state:g}=(0,u.useFieldRootContext)(),h=function(){let a=d.useContext(p);if(void 0===a)throw Error((0,o.default)(63));return a}(),i={...g,...h};return(0,k.useRenderElement)("span",a,{state:i,ref:b,stateAttributesMapping:s,props:f})});a.s(["Root",0,B,"Thumb",0,C],431499);var D=a.i(431499),D=D,E=a.i(44585);a.s(["Switch",0,function({className:a,size:b="default",...d}){return(0,c.jsx)(D.Root,{"data-slot":"switch","data-size":b,className:(0,E.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",a),...d,children:(0,c.jsx)(D.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],775788)},684262,a=>{"use strict";let b=(0,a.i(302856).default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);a.s(["Bell",0,b],684262)},761149,a=>{"use strict";var b=a.i(175391),c=a.i(88326),d=a.i(256116);let e=b.forwardRef(function(a,b){let{render:e,className:f,disabled:g=!1,focusableWhenDisabled:h=!1,nativeButton:i=!0,...j}=a,{getButtonProps:k,buttonRef:l}=(0,c.useButton)({disabled:g,focusableWhenDisabled:h,native:i});return(0,d.useRenderElement)("button",a,{state:{disabled:g},ref:[b,l],props:[j,k]})});a.s(["Button",0,e])},488137,a=>{"use strict";var b=a.i(739220);let c=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,d=b.clsx;a.s(["cva",0,(a,b)=>e=>{var f;if((null==b?void 0:b.variants)==null)return d(a,null==e?void 0:e.class,null==e?void 0:e.className);let{variants:g,defaultVariants:h}=b,i=Object.keys(g).map(a=>{let b=null==e?void 0:e[a],d=null==h?void 0:h[a];if(null===b)return null;let f=c(b)||c(d);return g[a][f]}),j=e&&Object.entries(e).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return d(a,i,null==b||null==(f=b.compoundVariants)?void 0:f.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...h,...j}[b]):({...h,...j})[b]===c})?[...a,c,d]:a},[]),null==e?void 0:e.class,null==e?void 0:e.className)}])},410756,a=>{"use strict";var b=a.i(858360),c=a.i(761149),d=a.i(488137),e=a.i(44585);let f=(0,d.cva)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});a.s(["Button",0,function({className:a,variant:d="default",size:g="default",...h}){return(0,b.jsx)(c.Button,{"data-slot":"button",className:(0,e.cn)(f({variant:d,size:g,className:a})),...h})}])},54709,912971,a=>{"use strict";let b=(0,a.i(302856).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["default",0,b],912971),a.s(["X",0,b],54709)},65735,a=>{"use strict";let b=(0,a.i(302856).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",0,b])},360295,a=>{"use strict";let b=(0,a.i(302856).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},61966,a=>{"use strict";let b=(0,a.i(302856).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],61966)},845924,a=>{"use strict";var b=a.i(858360),c=a.i(44585);a.s(["SegmentedControl",0,function({options:a,value:d,onChange:e,className:f}){return(0,b.jsx)("div",{className:(0,c.cn)("inline-flex rounded-md border border-border bg-muted p-1 gap-1",f),children:a.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>e(a.value),className:(0,c.cn)("rounded px-3 py-1 text-sm transition-colors",d===a.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:a.label},a.value))})}])},432120,a=>{"use strict";var b=a.i(175391),c=(a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}},d=["light","dark"],e="(prefers-color-scheme: dark)",f=b.createContext(void 0),g={setTheme:a=>{},themes:[]},h=["light","dark"],i=({forcedTheme:a,disableTransitionOnChange:c=!1,enableSystem:g=!0,enableColorScheme:i=!0,storageKey:n="theme",themes:o=h,defaultTheme:p=g?"system":"light",attribute:q="data-theme",value:r,children:s,nonce:t,scriptProps:u})=>{let[v,w]=b.useState(()=>k(n,p)),[x,y]=b.useState(()=>"system"===v?m():v),z=r?Object.values(r):o,A=b.useCallback(a=>{let b=a;if(!b)return;"system"===a&&g&&(b=m());let e=r?r[b]:b,f=c?l(t):null,h=document.documentElement,j=a=>{"class"===a?(h.classList.remove(...z),e&&h.classList.add(e)):a.startsWith("data-")&&(e?h.setAttribute(a,e):h.removeAttribute(a))};if(Array.isArray(q)?q.forEach(j):j(q),i){let a=d.includes(p)?p:null,c=d.includes(b)?b:a;h.style.colorScheme=c}null==f||f()},[t]),B=b.useCallback(a=>{let b="function"==typeof a?a(v):a;w(b);try{localStorage.setItem(n,b)}catch(a){}},[v]),C=b.useCallback(b=>{y(m(b)),"system"===v&&g&&!a&&A("system")},[v,a]);b.useEffect(()=>{let a=window.matchMedia(e);return a.addListener(C),C(a),()=>a.removeListener(C)},[C]),b.useEffect(()=>{let a=a=>{a.key===n&&(a.newValue?w(a.newValue):B(p))};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)},[B]),b.useEffect(()=>{A(null!=a?a:v)},[a,v]);let D=b.useMemo(()=>({theme:v,setTheme:B,forcedTheme:a,resolvedTheme:"system"===v?x:v,themes:g?[...o,"system"]:o,systemTheme:g?x:void 0}),[v,B,a,x,g,o]);return b.createElement(f.Provider,{value:D},b.createElement(j,{forcedTheme:a,storageKey:n,attribute:q,enableSystem:g,enableColorScheme:i,defaultTheme:p,value:r,themes:o,nonce:t,scriptProps:u}),s)},j=b.memo(({forcedTheme:a,storageKey:d,attribute:e,enableSystem:f,enableColorScheme:g,defaultTheme:h,value:i,themes:j,nonce:k,scriptProps:l})=>{let m=JSON.stringify([e,d,h,a,j,i,f,g]).slice(1,-1);return b.createElement("script",{...l,suppressHydrationWarning:!0,nonce:k,dangerouslySetInnerHTML:{__html:`(${c.toString()})(${m})`}})}),k=(a,b)=>{},l=a=>{let b=document.createElement("style");return a&&b.setAttribute("nonce",a),b.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(b),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(b)},1)}},m=a=>(a||(a=window.matchMedia(e)),a.matches?"dark":"light");a.s(["ThemeProvider",0,a=>b.useContext(f)?b.createElement(b.Fragment,null,a.children):b.createElement(i,{...a}),"useTheme",0,()=>{var a;return null!=(a=b.useContext(f))?a:g}])},658691,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("601e7393f346eeebf241ef05b3c434d1074e6b83ca",b.callServer,void 0,b.findSourceMapURL,"setConfigValue");a.s(["setConfigValue",0,c])},248763,470612,a=>{"use strict";var b=a.i(302856);let c=(0,b.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);a.s(["Sun",0,c],248763);let d=(0,b.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);a.s(["Moon",0,d],470612)}];
1
+ module.exports=[814747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},918622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},427934,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},666775,a=>{"use strict";let b=(0,a.i(302856).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Settings",0,b],666775)},716502,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("6058bc084dfc8fd7335c86f6b96805b28fbfade91d",b.callServer,void 0,b.findSourceMapURL,"getConfigValue");a.s(["getConfigValue",0,c])},775788,a=>{"use strict";var b,c=a.i(858360);a.s([],783786),a.i(783786);var d=a.i(175391),e=a.i(910600),f=a.i(825863),g=a.i(971441),h=a.i(527993),i=a.i(630517),j=a.i(302398),k=a.i(256116),l=a.i(293785),m=a.i(128429),n=a.i(88326),o=a.i(545264);let p=d.createContext(void 0);var q=a.i(170469);let r=((b={}).checked="data-checked",b.unchecked="data-unchecked",b.disabled="data-disabled",b.readonly="data-readonly",b.required="data-required",b.valid="data-valid",b.invalid="data-invalid",b.touched="data-touched",b.dirty="data-dirty",b.filled="data-filled",b.focused="data-focused",b),s={...q.fieldValidityMapping,checked:a=>a?{[r.checked]:""}:{[r.unchecked]:""}};var t=a.i(98719),u=a.i(969626),v=a.i(506489),w=a.i(176174),x=a.i(648172),y=a.i(703599),z=a.i(107432),A=a.i(222545);let B=d.forwardRef(function(a,b){let{checked:o,className:q,defaultChecked:r,"aria-labelledby":B,id:C,inputRef:D,name:E,nativeButton:F=!1,onCheckedChange:G,readOnly:H=!1,required:I=!1,disabled:J=!1,render:K,uncheckedValue:L,value:M,...N}=a,{clearErrors:O}=(0,v.useFormContext)(),{state:P,setTouched:Q,setDirty:R,validityData:S,setFilled:T,setFocused:U,shouldValidateOnChange:V,validationMode:W,disabled:X,name:Y,validation:Z}=(0,u.useFieldRootContext)(),{labelId:$}=(0,w.useLabelableContext)(),_=X||J,aa=Y??E,ab=(0,f.useStableCallback)(G),ac=d.useRef(null),ad=(0,g.useMergedRefs)(ac,D,Z.inputRef),ae=d.useRef(null),af=(0,m.useBaseUiId)(),ag=(0,x.useLabelableId)({id:C,implicit:!1,controlRef:ae}),ah=F?void 0:ag,[ai,aj]=(0,e.useControlled)({controlled:o,default:!!r,name:"Switch",state:"checked"});(0,t.useField)({id:af,commit:Z.commit,value:ai,controlRef:ae,name:aa,getValue:()=>ai}),(0,h.useIsoLayoutEffect)(()=>{ac.current&&T(ac.current.checked)},[ac,T]),(0,A.useValueChanged)(ai,()=>{O(aa),R(ai!==S.initialValue),T(ai),V()?Z.commit(ai):Z.commit(ai,!0)});let{getButtonProps:ak,buttonRef:al}=(0,n.useButton)({disabled:_,native:F}),am=function(a,b,c,e=!0,f){let[g,i]=d.useState(),j=(0,m.useBaseUiId)(f?`${f}-label`:void 0),k=a??b??g;return(0,h.useIsoLayoutEffect)(()=>{let d=a||b||!e?void 0:function(a,b){let c=function(a){if(!a)return;let b=a.parentElement;if(b&&"LABEL"===b.tagName)return b;let c=a.id;if(c){let b=a.nextElementSibling;if(b&&b.htmlFor===c)return b}let d=a.labels;return d&&d[0]}(a);if(c)return!c.id&&b&&(c.id=b),c.id||void 0}(c.current,j);g!==d&&i(d)}),k}(B,$,ac,!F,ah),an=d.useMemo(()=>(0,l.mergeProps)({checked:ai,disabled:_,id:ah,name:aa,required:I,style:aa?i.visuallyHiddenInput:i.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ad,onChange(a){if(a.nativeEvent.defaultPrevented)return;let b=a.target.checked,c=(0,y.createChangeEventDetails)(z.REASONS.none,a.nativeEvent);ab?.(b,c),c.isCanceled||aj(b)},onFocus(){ae.current?.focus()}},Z.getInputValidationProps,void 0!==M?{value:M}:j.EMPTY_OBJECT),[ai,_,ad,ah,aa,ab,I,aj,Z,M]),ao=d.useMemo(()=>({...P,checked:ai,disabled:_,readOnly:H,required:I}),[P,ai,_,H,I]),ap=(0,k.useRenderElement)("span",a,{state:ao,ref:[b,ae,al],props:[{id:F?ag:af,role:"switch","aria-checked":ai,"aria-readonly":H||void 0,"aria-required":I||void 0,"aria-labelledby":am,onFocus(){_||U(!0)},onBlur(){let a=ac.current;a&&!_&&(Q(!0),U(!1),"onBlur"===W&&Z.commit(a.checked))},onClick(a){H||_||(a.preventDefault(),ac.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:a.shiftKey,ctrlKey:a.ctrlKey,altKey:a.altKey,metaKey:a.metaKey})))}},Z.getValidationProps,N,ak],stateAttributesMapping:s});return(0,c.jsxs)(p.Provider,{value:ao,children:[ap,!ai&&aa&&void 0!==L&&(0,c.jsx)("input",{type:"hidden",name:aa,value:L}),(0,c.jsx)("input",{...an})]})}),C=d.forwardRef(function(a,b){let{render:c,className:e,...f}=a,{state:g}=(0,u.useFieldRootContext)(),h=function(){let a=d.useContext(p);if(void 0===a)throw Error((0,o.default)(63));return a}(),i={...g,...h};return(0,k.useRenderElement)("span",a,{state:i,ref:b,stateAttributesMapping:s,props:f})});a.s(["Root",0,B,"Thumb",0,C],431499);var D=a.i(431499),D=D,E=a.i(44585);a.s(["Switch",0,function({className:a,size:b="default",...d}){return(0,c.jsx)(D.Root,{"data-slot":"switch","data-size":b,className:(0,E.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",a),...d,children:(0,c.jsx)(D.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],775788)},684262,a=>{"use strict";let b=(0,a.i(302856).default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);a.s(["Bell",0,b],684262)},761149,a=>{"use strict";var b=a.i(175391),c=a.i(88326),d=a.i(256116);let e=b.forwardRef(function(a,b){let{render:e,className:f,disabled:g=!1,focusableWhenDisabled:h=!1,nativeButton:i=!0,...j}=a,{getButtonProps:k,buttonRef:l}=(0,c.useButton)({disabled:g,focusableWhenDisabled:h,native:i});return(0,d.useRenderElement)("button",a,{state:{disabled:g},ref:[b,l],props:[j,k]})});a.s(["Button",0,e])},488137,a=>{"use strict";var b=a.i(739220);let c=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,d=b.clsx;a.s(["cva",0,(a,b)=>e=>{var f;if((null==b?void 0:b.variants)==null)return d(a,null==e?void 0:e.class,null==e?void 0:e.className);let{variants:g,defaultVariants:h}=b,i=Object.keys(g).map(a=>{let b=null==e?void 0:e[a],d=null==h?void 0:h[a];if(null===b)return null;let f=c(b)||c(d);return g[a][f]}),j=e&&Object.entries(e).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return d(a,i,null==b||null==(f=b.compoundVariants)?void 0:f.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...h,...j}[b]):({...h,...j})[b]===c})?[...a,c,d]:a},[]),null==e?void 0:e.class,null==e?void 0:e.className)}])},410756,a=>{"use strict";var b=a.i(858360),c=a.i(761149),d=a.i(488137),e=a.i(44585);let f=(0,d.cva)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});a.s(["Button",0,function({className:a,variant:d="default",size:g="default",...h}){return(0,b.jsx)(c.Button,{"data-slot":"button",className:(0,e.cn)(f({variant:d,size:g,className:a})),...h})}])},54709,912971,a=>{"use strict";let b=(0,a.i(302856).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["default",0,b],912971),a.s(["X",0,b],54709)},65735,a=>{"use strict";let b=(0,a.i(302856).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",0,b])},360295,a=>{"use strict";let b=(0,a.i(302856).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},61966,a=>{"use strict";let b=(0,a.i(302856).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],61966)},845924,a=>{"use strict";var b=a.i(858360),c=a.i(44585);a.s(["SegmentedControl",0,function({options:a,value:d,onChange:e,className:f}){return(0,b.jsx)("div",{className:(0,c.cn)("inline-flex rounded-md border border-border bg-muted p-1 gap-1",f),children:a.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>e(a.value),className:(0,c.cn)("rounded px-3 py-1 text-sm transition-colors",d===a.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:a.label},a.value))})}])},432120,a=>{"use strict";var b=a.i(175391),c=(a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}},d=["light","dark"],e="(prefers-color-scheme: dark)",f=b.createContext(void 0),g={setTheme:a=>{},themes:[]},h=["light","dark"],i=({forcedTheme:a,disableTransitionOnChange:c=!1,enableSystem:g=!0,enableColorScheme:i=!0,storageKey:n="theme",themes:o=h,defaultTheme:p=g?"system":"light",attribute:q="data-theme",value:r,children:s,nonce:t,scriptProps:u})=>{let[v,w]=b.useState(()=>k(n,p)),[x,y]=b.useState(()=>"system"===v?m():v),z=r?Object.values(r):o,A=b.useCallback(a=>{let b=a;if(!b)return;"system"===a&&g&&(b=m());let e=r?r[b]:b,f=c?l(t):null,h=document.documentElement,j=a=>{"class"===a?(h.classList.remove(...z),e&&h.classList.add(e)):a.startsWith("data-")&&(e?h.setAttribute(a,e):h.removeAttribute(a))};if(Array.isArray(q)?q.forEach(j):j(q),i){let a=d.includes(p)?p:null,c=d.includes(b)?b:a;h.style.colorScheme=c}null==f||f()},[t]),B=b.useCallback(a=>{let b="function"==typeof a?a(v):a;w(b);try{localStorage.setItem(n,b)}catch(a){}},[v]),C=b.useCallback(b=>{y(m(b)),"system"===v&&g&&!a&&A("system")},[v,a]);b.useEffect(()=>{let a=window.matchMedia(e);return a.addListener(C),C(a),()=>a.removeListener(C)},[C]),b.useEffect(()=>{let a=a=>{a.key===n&&(a.newValue?w(a.newValue):B(p))};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)},[B]),b.useEffect(()=>{A(null!=a?a:v)},[a,v]);let D=b.useMemo(()=>({theme:v,setTheme:B,forcedTheme:a,resolvedTheme:"system"===v?x:v,themes:g?[...o,"system"]:o,systemTheme:g?x:void 0}),[v,B,a,x,g,o]);return b.createElement(f.Provider,{value:D},b.createElement(j,{forcedTheme:a,storageKey:n,attribute:q,enableSystem:g,enableColorScheme:i,defaultTheme:p,value:r,themes:o,nonce:t,scriptProps:u}),s)},j=b.memo(({forcedTheme:a,storageKey:d,attribute:e,enableSystem:f,enableColorScheme:g,defaultTheme:h,value:i,themes:j,nonce:k,scriptProps:l})=>{let m=JSON.stringify([e,d,h,a,j,i,f,g]).slice(1,-1);return b.createElement("script",{...l,suppressHydrationWarning:!0,nonce:k,dangerouslySetInnerHTML:{__html:`(${c.toString()})(${m})`}})}),k=(a,b)=>{},l=a=>{let b=document.createElement("style");return a&&b.setAttribute("nonce",a),b.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(b),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(b)},1)}},m=a=>(a||(a=window.matchMedia(e)),a.matches?"dark":"light");a.s(["ThemeProvider",0,a=>b.useContext(f)?b.createElement(b.Fragment,null,a.children):b.createElement(i,{...a}),"useTheme",0,()=>{var a;return null!=(a=b.useContext(f))?a:g}])},385174,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60580b8893845b30deedffa8257cbf297fee7c5689",b.callServer,void 0,b.findSourceMapURL,"setConfigValue");a.s(["setConfigValue",0,c])},248763,470612,a=>{"use strict";var b=a.i(302856);let c=(0,b.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);a.s(["Sun",0,c],248763);let d=(0,b.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);a.s(["Moon",0,d],470612)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0fu82np._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0p~~40h._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"401428759ab9bf4954951f15e712c11118732f9f15",null),(0,b.registerServerReference)(m,"60c351a918c1ee9731291483fb857151355d9f0ca9",null),(0,b.registerServerReference)(n,"60755b61effe8e442dd2b359fdc73d136e6d4505b1",null),(0,b.registerServerReference)(o,"40f5eefd6462353c3411c04d870aa58bea4cab70e8",null),(0,b.registerServerReference)(p,"405df46b2b518ec5fe9eae6a2b958cd0c022087300",null),(0,b.registerServerReference)(q,"401b61ad7e39ca392cb9beb71bc3b6bfa5ef7f1504",null),(0,b.registerServerReference)(r,"40947bbcaa80f4cdfe2e251c86703557681660bb46",null),(0,b.registerServerReference)(s,"40fc6fb8a421b620849a65f59e6e0cfd363a232907",null),(0,b.registerServerReference)(t,"409f21aa0a1353a1c59d722a1686ba8ed31b4ab68c",null),(0,b.registerServerReference)(u,"60840bef26147dd4dff7d39641737796069e39069c",null),(0,b.registerServerReference)(v,"40ae3f40b62ca3c5a2377e58d67b407afcf20387e5",null),(0,b.registerServerReference)(w,"40917351bef2fa1c7314359e8e06c5f69122b9245e",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},532941,a=>{"use strict";let b,c;a.i(666680);var d=a.i(902157),e=a.i(750227),f=a.i(660526);let g=(c=(0,e.join)((b||(b=(0,e.join)((0,f.homedir)(),".tower"),(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0})),b),"storage"),(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),c);a.s(["ensureAssetsDir",0,function(a){let b=function(a){let b=e.join(g,"assets",a);if(!b.startsWith(g+e.sep))throw Error("Path traversal detected");return b}(a);return d.mkdirSync(b,{recursive:!0}),b}],532941)},790146,a=>a.a(async(b,c)=>{try{var d=a.i(680889),e=a.i(902157),f=a.i(750227),g=a.i(96063),h=a.i(832116),i=a.i(972795),j=a.i(532941),k=a.i(727977),l=a.i(632919),m=b([k]);[k]=m.then?(await m)():m;let t=g.z.object({filename:g.z.string().min(1).max(255),path:g.z.string().min(1),mimeType:g.z.string().max(100).optional(),size:g.z.number().int().nonnegative().optional(),projectId:g.z.string().min(1),description:g.z.string().max(500).optional(),taskId:g.z.string().optional()});async function n(a){let b=t.parse(a);(0,j.ensureAssetsDir)(b.projectId);let c=await h.db.projectAsset.create({data:{...b,taskId:b.taskId??null}});return(0,i.revalidatePath)("/workspaces"),c}async function o(a){let b=await h.db.projectAsset.findUnique({where:{id:a}});b?.path&&await e.promises.unlink(b.path).catch(()=>{}),await h.db.projectAsset.delete({where:{id:a}}),(0,i.revalidatePath)("/workspaces")}async function p(a){return h.db.projectAsset.findMany({where:{projectId:a},orderBy:{createdAt:"desc"},include:{task:{select:{id:!0,title:!0,status:!0,priority:!0,description:!0,createdAt:!0,labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}}})}async function q(a){return h.db.projectAsset.findMany({where:{taskId:a},orderBy:{createdAt:"desc"}})}async function r(a){return h.db.projectAsset.findUnique({where:{id:a}})}async function s(a){let b=a.get("file"),c=a.get("projectId"),d=a.get("taskId")||void 0;if(!b||!c)throw Error("Missing file or projectId");let g=await (0,k.getConfigValue)("system.maxUploadBytes",0x3200000);if(b.size>g)throw Error(`File too large (max ${Math.round(g/1024/1024)} MB)`);let l=a.get("description")??"";if(!await h.db.project.findUnique({where:{id:c}}))throw Error("Invalid projectId");let m=Buffer.from(await b.arrayBuffer()),o=(0,j.ensureAssetsDir)(c),p=f.basename(b.name);p&&"."!==p&&".."!==p||(p=`upload-${Date.now()}`);let q=f.join(o,p);if(e.existsSync(q)){let a=f.extname(p),b=f.basename(p,a);p=`${b}-${Date.now()}${a}`}let r=f.join(o,p);if(!r.startsWith(o))throw Error("Invalid filename");await e.promises.writeFile(r,m);let s=await n({filename:p,path:r,mimeType:b.type||void 0,size:b.size,projectId:c,description:l||void 0,taskId:d});return(0,i.revalidatePath)("/workspaces"),s}(0,l.ensureServerEntryExports)([n,o,p,q,r,s]),(0,d.registerServerReference)(n,"409b3ddbd54f88673008bfb4f04699acb27a9cdc90",null),(0,d.registerServerReference)(o,"40f5eb7f5803dd1b46b71a47e34ff8dbe539f1a5e3",null),(0,d.registerServerReference)(p,"40870caaf2b99caede2d1f3d00d181fc220d73e640",null),(0,d.registerServerReference)(q,"407d3b3ed5ed1edbc92d8a6350e88e0e29bdc5626d",null),(0,d.registerServerReference)(r,"4027197809656c3a371a2676bf9f2b7ffa2f58561f",null),(0,d.registerServerReference)(s,"405e1016a806f0737b6513e65c99049263410f5b20",null),a.s(["createAsset",0,n,"deleteAsset",0,o,"getAssetById",0,r,"getProjectAssets",0,p,"getTaskAssets",0,q,"uploadAsset",0,s]),c()}catch(a){c(a)}},!1),691429,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=a.i(790146);a.i(31782);var g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),95547,a=>a.a(async(b,c)=>{try{var d=a.i(691429),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(790146),l=a.i(31782),m=b([d,g,h,k]);[d,g,h,k]=m.then?(await m)():m,a.s(["0043b9754ea16d04f37721188273542591d340592c",()=>h.getPlatformInfo,"00803dfba01a59109739236b9c79eb555dfe726559",()=>h.getActualWsPort,"0088720ea6f78a7d440f0ffe918e2017c6ed4a091c",()=>j.getOnboardingStatus,"009e9eb06b5d880738cdc44ef434941a72e320e010",()=>e.getWorkspacesWithProjects,"00b7bf47e3452b8d8e8894dcd22bb8e41da7341170",()=>h.getAvailableTerminalApps,"00dc83ca75dab2999e6136bac0e662b581de2a9e72",()=>h.getAvailableShells,"4002d8571b6bdf58868e87d1d81f586b88cf87057e",()=>h.getConfigValues,"40084c89b2285bf95be399366342c9a6aee7f7c56f",()=>e.deleteProject,"4008da5fb2e740b1e3c6df4ff7e170a1140d107426",()=>j.completeOnboarding,"4013c88773d9eb1e2401f45a6f7f0d004f6460ddc3",()=>e.createProject,"4027197809656c3a371a2676bf9f2b7ffa2f58561f",()=>k.getAssetById,"4032075180d73f329cca1ea967021d020837bcbda7",()=>e.getProjectByLocalPath,"4033a25d649e20c263ecd33888f119bbd68d23525a",()=>e.getRecentLocalProjects,"40535a6a38bc5b8149d6178b949a6f89b1307d6d44",()=>e.getWorkspacesWithRecentTasks,"40556e416c26c7e086bc6c0026b4f12eee10ce659c",()=>j.setOnboardingProgress,"405e1016a806f0737b6513e65c99049263410f5b20",()=>k.uploadAsset,"407818a74d78397b1421f728f63974b3c70235f449",()=>h.resolveGitLocalPath,"407d3b3ed5ed1edbc92d8a6350e88e0e29bdc5626d",()=>k.getTaskAssets,"40870caaf2b99caede2d1f3d00d181fc220d73e640",()=>k.getProjectAssets,"408abee9d22d9054dd5a6ecc32b0c3daa69ef66c6e",()=>j.dispatchTaskCompletionEvent,"409b3ddbd54f88673008bfb4f04699acb27a9cdc90",()=>k.createAsset,"40a0a8500c07adee5c4e9f993dde67c6229d794f81",()=>e.getOrCreateTowerTaskId,"40ae3f40b62ca3c5a2377e58d67b407afcf20387e5",()=>l.getTaskOverview,"40b3591c77b7bc8565eb59161e29cffb57fe4fe1a5",()=>e.createWorkspace,"40c65d3caeb7cc578408a85b29d3ba4ebe00eb4a89",()=>f.getLabelsForWorkspace,"40e11907297db22577c19b0852a3c22e191d9bab8a",()=>e.getWorkspaceById,"40eaddcac6fa4edf051cd8d3168d3048a4158112c0",()=>f.createLabel,"40f00a067fb6de012eaf03c9eef4ebf4964d647581",()=>e.deleteWorkspace,"40f109f5cc72d3c8512abb532f19ecdf3d57a9de92",()=>i.checkMigrationSafety,"40f5eb7f5803dd1b46b71a47e34ff8dbe539f1a5e3",()=>k.deleteAsset,"40f96ef73252afb252f5b9a67a3e940b91d910020e",()=>f.deleteLabel,"601c654f3d94a3fa93c8a4f803525145ef41461d43",()=>h.getConfigValue,"601e7393f346eeebf241ef05b3c434d1074e6b83ca",()=>h.setConfigValue,"604f648d394271e37eab29c0f0c16170bd75606176",()=>i.migrateProjectPath,"606a6ac57a64d74ac8910b538bca7b8d0286ea4a03",()=>i.analyzeProjectDirectory,"608940db009d9ab74b2e4d144069b697417c331166",()=>g.globalSearch,"60a4883fbe9441f4bbb20550d941f5b5c39d7bf696",()=>e.updateWorkspace,"60d61a4cf5383e58053ba61c52b70ed758b0042ac6",()=>e.updateProject]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0kwu.w7._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0uca1bc._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__04u4kb4._.js"].map(b=>a.l(b))).then(()=>b(23999)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
1
+ module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"40622d25277e3c11015df1608e15d738bebaf6e879",null),(0,b.registerServerReference)(m,"60d8d8ed534f28b32d271c58f8f9f2511c65003bdb",null),(0,b.registerServerReference)(n,"605b03fbb419cd1a1831e8464a8242d82cdae18ae6",null),(0,b.registerServerReference)(o,"40a7e4fdd6803b7d8447525be3097063e42fc480f2",null),(0,b.registerServerReference)(p,"4037a0d2f662d32e4dd9a4b1a619489e9fdf17d735",null),(0,b.registerServerReference)(q,"402b8c5867f9414d72e69d6b9b5aa8f56b6f453a36",null),(0,b.registerServerReference)(r,"4022ff111b8a8abaefd935dae43bc6e25fdac3b561",null),(0,b.registerServerReference)(s,"404e0860b4ac94b0d1f5050116c3c308ee36d55862",null),(0,b.registerServerReference)(t,"40ec4f72b679f0487a21d7166d20412c1d3e4f1feb",null),(0,b.registerServerReference)(u,"6030bc338dcedc06ab38184da02f82e242e2e73465",null),(0,b.registerServerReference)(v,"408bb641755358e099b0f600083d554bdece767654",null),(0,b.registerServerReference)(w,"40a90813a2de2ddd04c90819beeddce2193366c1b2",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},532941,a=>{"use strict";let b,c;a.i(666680);var d=a.i(902157),e=a.i(750227),f=a.i(660526);let g=(c=(0,e.join)((b||(b=(0,e.join)((0,f.homedir)(),".tower"),(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0})),b),"storage"),(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),c);a.s(["ensureAssetsDir",0,function(a){let b=function(a){let b=e.join(g,"assets",a);if(!b.startsWith(g+e.sep))throw Error("Path traversal detected");return b}(a);return d.mkdirSync(b,{recursive:!0}),b}],532941)},790146,a=>a.a(async(b,c)=>{try{var d=a.i(680889),e=a.i(902157),f=a.i(750227),g=a.i(96063),h=a.i(832116),i=a.i(972795),j=a.i(532941),k=a.i(727977),l=a.i(632919),m=b([k]);[k]=m.then?(await m)():m;let t=g.z.object({filename:g.z.string().min(1).max(255),path:g.z.string().min(1),mimeType:g.z.string().max(100).optional(),size:g.z.number().int().nonnegative().optional(),projectId:g.z.string().min(1),description:g.z.string().max(500).optional(),taskId:g.z.string().optional()});async function n(a){let b=t.parse(a);(0,j.ensureAssetsDir)(b.projectId);let c=await h.db.projectAsset.create({data:{...b,taskId:b.taskId??null}});return(0,i.revalidatePath)("/workspaces"),c}async function o(a){let b=await h.db.projectAsset.findUnique({where:{id:a}});b?.path&&await e.promises.unlink(b.path).catch(()=>{}),await h.db.projectAsset.delete({where:{id:a}}),(0,i.revalidatePath)("/workspaces")}async function p(a){return h.db.projectAsset.findMany({where:{projectId:a},orderBy:{createdAt:"desc"},include:{task:{select:{id:!0,title:!0,status:!0,priority:!0,description:!0,createdAt:!0,labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}}})}async function q(a){return h.db.projectAsset.findMany({where:{taskId:a},orderBy:{createdAt:"desc"}})}async function r(a){return h.db.projectAsset.findUnique({where:{id:a}})}async function s(a){let b=a.get("file"),c=a.get("projectId"),d=a.get("taskId")||void 0;if(!b||!c)throw Error("Missing file or projectId");let g=await (0,k.getConfigValue)("system.maxUploadBytes",0x3200000);if(b.size>g)throw Error(`File too large (max ${Math.round(g/1024/1024)} MB)`);let l=a.get("description")??"";if(!await h.db.project.findUnique({where:{id:c}}))throw Error("Invalid projectId");let m=Buffer.from(await b.arrayBuffer()),o=(0,j.ensureAssetsDir)(c),p=f.basename(b.name);p&&"."!==p&&".."!==p||(p=`upload-${Date.now()}`);let q=f.join(o,p);if(e.existsSync(q)){let a=f.extname(p),b=f.basename(p,a);p=`${b}-${Date.now()}${a}`}let r=f.join(o,p);if(!r.startsWith(o))throw Error("Invalid filename");await e.promises.writeFile(r,m);let s=await n({filename:p,path:r,mimeType:b.type||void 0,size:b.size,projectId:c,description:l||void 0,taskId:d});return(0,i.revalidatePath)("/workspaces"),s}(0,l.ensureServerEntryExports)([n,o,p,q,r,s]),(0,d.registerServerReference)(n,"402a270104dd43ff67a00ab430520f1f65af0d274e",null),(0,d.registerServerReference)(o,"402824ab66f9a2d99e981123aa9da50142d1e9f49c",null),(0,d.registerServerReference)(p,"4023e55fcbc73de4c49711b7198b753038ecf19f43",null),(0,d.registerServerReference)(q,"400ea84e8a7836f87ab0e72d3b669f65e54ac05662",null),(0,d.registerServerReference)(r,"40f0a42ba59be80b672d891fdf705234948fc34b65",null),(0,d.registerServerReference)(s,"4080a7229d9c52869922953b0691c8cfb8683cfd7c",null),a.s(["createAsset",0,n,"deleteAsset",0,o,"getAssetById",0,r,"getProjectAssets",0,p,"getTaskAssets",0,q,"uploadAsset",0,s]),c()}catch(a){c(a)}},!1),691429,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=a.i(790146);a.i(31782);var g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),95547,a=>a.a(async(b,c)=>{try{var d=a.i(691429),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(790146),l=a.i(31782),m=b([d,g,h,k]);[d,g,h,k]=m.then?(await m)():m,a.s(["00197e3b2d9aa341799592ef60812ef91e5af5acb4",()=>h.getAvailableShells,"002f8c1907daa108abf0de48763ba7242b18c8768d",()=>e.getWorkspacesWithProjects,"0066d3cce4c6876ba27ced4f570ecfd18cfb017be0",()=>h.getPlatformInfo,"00842dc3e197598d264390adccbf90436448e74dd4",()=>h.getAvailableTerminalApps,"00c5a0d3b9b146d2731747fe1a416361d4501fba21",()=>h.getActualWsPort,"00f7de3735ec23dbbe02b347b3b27fe3293c72dd51",()=>j.getOnboardingStatus,"4002a489b8ddf18fe0011eb46ac0739ec3e093a5bf",()=>j.dispatchTaskCompletionEvent,"400c47cd4a543a8a180be1c4384b39a199af461904",()=>e.getProjectByLocalPath,"400ea84e8a7836f87ab0e72d3b669f65e54ac05662",()=>k.getTaskAssets,"401227c576cd75dc12c7d7ef6c4acb53b48d853e45",()=>e.getRecentLocalProjects,"4023e55fcbc73de4c49711b7198b753038ecf19f43",()=>k.getProjectAssets,"4025e96d25637009a8b378148032220c259e2e209b",()=>e.deleteWorkspace,"402824ab66f9a2d99e981123aa9da50142d1e9f49c",()=>k.deleteAsset,"402a270104dd43ff67a00ab430520f1f65af0d274e",()=>k.createAsset,"405e24a96c3040b977262f38c5e06b74894259e0be",()=>j.completeOnboarding,"406303a55224e2a9384b4ad81ed3a003d67d23c0a5",()=>f.getLabelsForWorkspace,"406d0755627b7578b91d776cec0fe19e1bb6bfc1e3",()=>j.setOnboardingProgress,"407cbea3859811102573ba8273dc5d88a5d811928c",()=>h.resolveGitLocalPath,"40805f406dafafbee2bc2893759657900a249fb949",()=>i.checkMigrationSafety,"4080a7229d9c52869922953b0691c8cfb8683cfd7c",()=>k.uploadAsset,"408bb641755358e099b0f600083d554bdece767654",()=>l.getTaskOverview,"408f9aa4b4846ac38314ce296b0e74b4cc0eb5d2c3",()=>h.getConfigValues,"40b43304845d2ab1bbfcca9e8a22572005f72fdee2",()=>e.createWorkspace,"40c3e283c4bc09dd0ddeac0fee2d5450add9aba2ef",()=>e.deleteProject,"40d6e8e588bda631b24c5a0e2c634b36786afb4521",()=>e.getOrCreateTowerTaskId,"40de3b59acefdad3d4c0fe96d99c53f2e3910bc5c4",()=>f.createLabel,"40f0a42ba59be80b672d891fdf705234948fc34b65",()=>k.getAssetById,"40f0eec81bf22876c2506985320bb7faaaeb2e92e7",()=>e.getWorkspaceById,"40f10b98befcfeac7f091134a9d3044dd0589408ae",()=>e.getWorkspacesWithRecentTasks,"40f2f8dd87569241d7237d8e6d9c1062d583dceda0",()=>f.deleteLabel,"40f9512bdf19e6f9f4f666ec480b5d2a34184f2c20",()=>e.createProject,"60422a3dcf869aca6ad2360fc07fff8f7ad667284c",()=>e.updateWorkspace,"6051c20539a0938b9860bfe0dfe34cf20c41177e85",()=>g.globalSearch,"60580b8893845b30deedffa8257cbf297fee7c5689",()=>h.setConfigValue,"6058bc084dfc8fd7335c86f6b96805b28fbfade91d",()=>h.getConfigValue,"60b8da241b1f9f2d12f9b07df697c5d7cc38d4d2a6",()=>e.updateProject,"60d8faa80f7dca8aa639744b42cee7f20ac78660cd",()=>i.analyzeProjectDirectory,"60f6737005b46b8cdbcf37d9f3db70c559c509ad1a",()=>i.migrateProjectPath]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0kwu.w7._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0uca1bc._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__04u4kb4._.js"].map(b=>a.l(b))).then(()=>b(23999)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0w7gbe7._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"401428759ab9bf4954951f15e712c11118732f9f15",null),(0,b.registerServerReference)(m,"60c351a918c1ee9731291483fb857151355d9f0ca9",null),(0,b.registerServerReference)(n,"60755b61effe8e442dd2b359fdc73d136e6d4505b1",null),(0,b.registerServerReference)(o,"40f5eefd6462353c3411c04d870aa58bea4cab70e8",null),(0,b.registerServerReference)(p,"405df46b2b518ec5fe9eae6a2b958cd0c022087300",null),(0,b.registerServerReference)(q,"401b61ad7e39ca392cb9beb71bc3b6bfa5ef7f1504",null),(0,b.registerServerReference)(r,"40947bbcaa80f4cdfe2e251c86703557681660bb46",null),(0,b.registerServerReference)(s,"40fc6fb8a421b620849a65f59e6e0cfd363a232907",null),(0,b.registerServerReference)(t,"409f21aa0a1353a1c59d722a1686ba8ed31b4ab68c",null),(0,b.registerServerReference)(u,"60840bef26147dd4dff7d39641737796069e39069c",null),(0,b.registerServerReference)(v,"40ae3f40b62ca3c5a2377e58d67b407afcf20387e5",null),(0,b.registerServerReference)(w,"40917351bef2fa1c7314359e8e06c5f69122b9245e",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},143971,a=>{"use strict";class b{providers=new Map;register(a){this.providers.set(a.name,a)}get(a){return this.providers.get(a)}getAll(){return Array.from(this.providers.values())}getCliAdapter(a){return this.providers.get(a)?.cli?.adapter??null}getQueryAdapter(a,b){let c=this.providers.get(a);return c?"api"===b?c.api?.adapter??null:c.cliQuery?.adapter??null:null}getAllowedCommands(){let a=[];for(let b of this.providers.values())b.cli?.command&&a.push(b.cli.command);return a}async getAvailableProviders(){let a=[];for(let b of this.providers.values()){let c=!!b.cli&&await b.cli.adapter.isAvailable(),d=c&&b.cli?await b.cli.adapter.getVersion():null,e=!!b.api&&!!process.env[b.api.keyEnvVar],f=!!b.api&&e;a.push({name:b.name,displayName:b.displayName,cli:{available:c,version:d},api:{available:f,keyConfigured:e}})}return a}}var c=a.i(575675);let d=globalThis;if(!d.__providerRegistry){let a=new b;a.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new c.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),d.__providerRegistry=a}let e=d.__providerRegistry;a.s(["providerRegistry",0,e],143971)},796544,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(632919).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"4080109083f5a4d4901787d0c9ca64a3763b552df4",null),(0,b.registerServerReference)(f,"40a0fc20a744e0a2d9e393df5dd0310aaf10c9391c",null),(0,b.registerServerReference)(g,"40893ff99bb7ceb2d6956fc8f86f8cee6880c088fd",null),(0,b.registerServerReference)(h,"60497df3d205c43d7f1947ab028bee5ddc724047eb",null),(0,b.registerServerReference)(i,"409abc480662dc07b5891cee50c85f506f0e29955a",null),(0,b.registerServerReference)(j,"60fd0a74b1f7d623d3b669f6cf4b3e32ba765e00d3",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},614688,a=>{"use strict";var b=a.i(680889),c=a.i(874533),d=a.i(902157),e=a.i(750227);let f=new Map;function g(a){let b=f.get(a);return!!b&&(f.delete(a),!b.killed&&(b.kill("SIGTERM"),!0))}function h(){for(let a of[...f.keys()])g(a)}process.on("SIGTERM",()=>h()),process.on("SIGINT",()=>h());var i=a.i(968623),j=a.i(632919);async function k(a,b,d){let e;(e=f.get(a))&&!e.killed&&g(a);try{let[e,...h]=b.trim().split(/\s+/),i=(0,c.spawn)(e,h,{cwd:d,shell:!1,detached:!1,stdio:"ignore"});return g(a),i.on("exit",()=>{f.get(a)===i&&f.delete(a)}),f.set(a,i),{started:!0}}catch(a){return{started:!1,error:String(a)}}}async function l(a){g(a)}async function m(a){try{let b=(0,d.readFileSync)((0,e.join)(a,"package.json"),"utf-8"),c=JSON.parse(b),f={...c.dependencies,...c.devDependencies};if(f.vite||f["@vitejs/plugin-vue"]||f["@vitejs/plugin-react"])return"vite";if(f.next)return"next";if(f.nuxt)return"nuxt";if(f["@angular/core"])return"angular";return null}catch{return null}}let n=["Terminal","iTerm","iTerm2","Warp","Hyper","Alacritty","WezTerm","kitty"];async function o(a){if(!a||!(0,e.isAbsolute)(a))throw Error("openInTerminal requires an absolute path");let b=await (0,i.readConfigValue)("terminal.app","Terminal");if(!n.includes(b))throw Error(`Terminal app '${b}' is not in the allowed list`);(0,c.execFileSync)("open",["-a",b,a])}(0,j.ensureServerEntryExports)([k,l,m,o]),(0,b.registerServerReference)(k,"706d55c3cf4697717fa52c2e1ea7b537f32e05d622",null),(0,b.registerServerReference)(l,"406dadcda0c51c13b91211c963e904ced84ea5694e",null),(0,b.registerServerReference)(m,"4075b1597db85ad471108e9bd77e0ede76533ea720",null),(0,b.registerServerReference)(o,"40c8dd735fe52600a2307629dfbdf14e794f96be81",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],614688)},939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0q3t9-e._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_10~x~zx._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_0cjk_8x._.js"].map(b=>a.l(b))).then(()=>b(23999)))},4868,a=>{a.v(a=>Promise.resolve().then(()=>a(541587)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
1
+ module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"40622d25277e3c11015df1608e15d738bebaf6e879",null),(0,b.registerServerReference)(m,"60d8d8ed534f28b32d271c58f8f9f2511c65003bdb",null),(0,b.registerServerReference)(n,"605b03fbb419cd1a1831e8464a8242d82cdae18ae6",null),(0,b.registerServerReference)(o,"40a7e4fdd6803b7d8447525be3097063e42fc480f2",null),(0,b.registerServerReference)(p,"4037a0d2f662d32e4dd9a4b1a619489e9fdf17d735",null),(0,b.registerServerReference)(q,"402b8c5867f9414d72e69d6b9b5aa8f56b6f453a36",null),(0,b.registerServerReference)(r,"4022ff111b8a8abaefd935dae43bc6e25fdac3b561",null),(0,b.registerServerReference)(s,"404e0860b4ac94b0d1f5050116c3c308ee36d55862",null),(0,b.registerServerReference)(t,"40ec4f72b679f0487a21d7166d20412c1d3e4f1feb",null),(0,b.registerServerReference)(u,"6030bc338dcedc06ab38184da02f82e242e2e73465",null),(0,b.registerServerReference)(v,"408bb641755358e099b0f600083d554bdece767654",null),(0,b.registerServerReference)(w,"40a90813a2de2ddd04c90819beeddce2193366c1b2",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},143971,a=>{"use strict";class b{providers=new Map;register(a){this.providers.set(a.name,a)}get(a){return this.providers.get(a)}getAll(){return Array.from(this.providers.values())}getCliAdapter(a){return this.providers.get(a)?.cli?.adapter??null}getQueryAdapter(a,b){let c=this.providers.get(a);return c?"api"===b?c.api?.adapter??null:c.cliQuery?.adapter??null:null}getAllowedCommands(){let a=[];for(let b of this.providers.values())b.cli?.command&&a.push(b.cli.command);return a}async getAvailableProviders(){let a=[];for(let b of this.providers.values()){let c=!!b.cli&&await b.cli.adapter.isAvailable(),d=c&&b.cli?await b.cli.adapter.getVersion():null,e=!!b.api&&!!process.env[b.api.keyEnvVar],f=!!b.api&&e;a.push({name:b.name,displayName:b.displayName,cli:{available:c,version:d},api:{available:f,keyConfigured:e}})}return a}}var c=a.i(575675);let d=globalThis;if(!d.__providerRegistry){let a=new b;a.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new c.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),d.__providerRegistry=a}let e=d.__providerRegistry;a.s(["providerRegistry",0,e],143971)},796544,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(632919).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"40b2fed3c8e27c9a082b7c8dd48ccbc23887a13c78",null),(0,b.registerServerReference)(f,"401fd17976fc087cd2f586dc6a6e266a993231951b",null),(0,b.registerServerReference)(g,"4068de3108c895bba61c2707fd8fce9e44f2901808",null),(0,b.registerServerReference)(h,"607a657536f031e36c1b88fa62f59f39c052b98fd8",null),(0,b.registerServerReference)(i,"40405b1d5283d0c85b87ad1a8931e9f5787ccbbe8e",null),(0,b.registerServerReference)(j,"6064b117a304dfb3ec8c3d3611334d2601fe82ac7e",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},614688,a=>{"use strict";var b=a.i(680889),c=a.i(874533),d=a.i(902157),e=a.i(750227);let f=new Map;function g(a){let b=f.get(a);return!!b&&(f.delete(a),!b.killed&&(b.kill("SIGTERM"),!0))}function h(){for(let a of[...f.keys()])g(a)}process.on("SIGTERM",()=>h()),process.on("SIGINT",()=>h());var i=a.i(968623),j=a.i(632919);async function k(a,b,d){let e;(e=f.get(a))&&!e.killed&&g(a);try{let[e,...h]=b.trim().split(/\s+/),i=(0,c.spawn)(e,h,{cwd:d,shell:!1,detached:!1,stdio:"ignore"});return g(a),i.on("exit",()=>{f.get(a)===i&&f.delete(a)}),f.set(a,i),{started:!0}}catch(a){return{started:!1,error:String(a)}}}async function l(a){g(a)}async function m(a){try{let b=(0,d.readFileSync)((0,e.join)(a,"package.json"),"utf-8"),c=JSON.parse(b),f={...c.dependencies,...c.devDependencies};if(f.vite||f["@vitejs/plugin-vue"]||f["@vitejs/plugin-react"])return"vite";if(f.next)return"next";if(f.nuxt)return"nuxt";if(f["@angular/core"])return"angular";return null}catch{return null}}let n=["Terminal","iTerm","iTerm2","Warp","Hyper","Alacritty","WezTerm","kitty"];async function o(a){if(!a||!(0,e.isAbsolute)(a))throw Error("openInTerminal requires an absolute path");let b=await (0,i.readConfigValue)("terminal.app","Terminal");if(!n.includes(b))throw Error(`Terminal app '${b}' is not in the allowed list`);(0,c.execFileSync)("open",["-a",b,a])}(0,j.ensureServerEntryExports)([k,l,m,o]),(0,b.registerServerReference)(k,"707b0bb956bf170e514e9cf105d4b333ff103217de",null),(0,b.registerServerReference)(l,"40e41704353809c1535ae419f60d4940b43e793e1b",null),(0,b.registerServerReference)(m,"40c22124a5bd0c0f57f97d900ab19a8f37a696dde0",null),(0,b.registerServerReference)(o,"40dda63072b6d9478cbe91e491c6fb8f623ed50bdc",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],614688)},939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0q3t9-e._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_10~x~zx._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_0cjk_8x._.js"].map(b=>a.l(b))).then(()=>b(23999)))},4868,a=>{a.v(a=>Promise.resolve().then(()=>a(541587)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__11j4k9o._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},143971,a=>{"use strict";class b{providers=new Map;register(a){this.providers.set(a.name,a)}get(a){return this.providers.get(a)}getAll(){return Array.from(this.providers.values())}getCliAdapter(a){return this.providers.get(a)?.cli?.adapter??null}getQueryAdapter(a,b){let c=this.providers.get(a);return c?"api"===b?c.api?.adapter??null:c.cliQuery?.adapter??null:null}getAllowedCommands(){let a=[];for(let b of this.providers.values())b.cli?.command&&a.push(b.cli.command);return a}async getAvailableProviders(){let a=[];for(let b of this.providers.values()){let c=!!b.cli&&await b.cli.adapter.isAvailable(),d=c&&b.cli?await b.cli.adapter.getVersion():null,e=!!b.api&&!!process.env[b.api.keyEnvVar],f=!!b.api&&e;a.push({name:b.name,displayName:b.displayName,cli:{available:c,version:d},api:{available:f,keyConfigured:e}})}return a}}var c=a.i(575675);let d=globalThis;if(!d.__providerRegistry){let a=new b;a.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new c.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),d.__providerRegistry=a}let e=d.__providerRegistry;a.s(["providerRegistry",0,e],143971)},796544,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(632919).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"4080109083f5a4d4901787d0c9ca64a3763b552df4",null),(0,b.registerServerReference)(f,"40a0fc20a744e0a2d9e393df5dd0310aaf10c9391c",null),(0,b.registerServerReference)(g,"40893ff99bb7ceb2d6956fc8f86f8cee6880c088fd",null),(0,b.registerServerReference)(h,"60497df3d205c43d7f1947ab028bee5ddc724047eb",null),(0,b.registerServerReference)(i,"409abc480662dc07b5891cee50c85f506f0e29955a",null),(0,b.registerServerReference)(j,"60fd0a74b1f7d623d3b669f6cf4b3e32ba765e00d3",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},540363,a=>{"use strict";var b=a.i(680889),c=a.i(750227),d=a.i(832116),e=a.i(972795),f=a.i(143971),g=a.i(632919);let h=new Set(["PATH","LD_PRELOAD","DYLD_INSERT_LIBRARIES","LD_LIBRARY_PATH","HOME","SHELL","USER","DYLD_LIBRARY_PATH","NODE_OPTIONS"]);async function i(){let a=await d.db.cliProfile.findFirst({where:{isDefault:!0}});return a?{id:a.id,name:a.name,command:a.command,baseArgs:a.baseArgs,envVars:a.envVars}:null}async function j(a,b){if(void 0!==b.command){let a=c.default.basename(b.command),d=[...new Set([...f.providerRegistry.getAllowedCommands(),"claude-code"])];if(!d.includes(a))throw Error(`command must be one of: ${d.join(", ")} (got: ${a})`)}if(void 0!==b.baseArgs){let a;try{a=JSON.parse(b.baseArgs)}catch{throw Error("baseArgs 格式无效,必须是 JSON 数组")}if(!Array.isArray(a))throw Error("baseArgs 格式无效,必须是 JSON 数组");for(let b of a){if("string"!=typeof b)throw Error("baseArgs 中每个元素必须是字符串");if(/[;&|`$()]/.test(b))throw Error(`baseArgs 包含不允许的字符: ${b}`)}}if(void 0!==b.envVars){let a;try{a=JSON.parse(b.envVars)}catch{throw Error("envVars 格式无效,必须是 JSON 对象")}if("object"!=typeof a||Array.isArray(a)||null===a)throw Error("envVars 格式无效,必须是 JSON 对象");for(let b of Object.keys(a))if(h.has(b.toUpperCase()))throw Error(`envVars 不允许设置系统关键变量: ${b}`)}try{let c=await d.db.cliProfile.update({where:{id:a},data:b});return(0,e.revalidatePath)("/settings"),c}catch(a){if(a&&"object"==typeof a&&"code"in a&&"P2025"===a.code)throw Error("CLI Profile 不存在,请检查配置");throw a}}(0,g.ensureServerEntryExports)([i,j]),(0,b.registerServerReference)(i,"00232983b637333e28e353874b7a9348d429947fe4",null),(0,b.registerServerReference)(j,"60dacf1279337b28a68bf965936a067462423313e2",null),a.s(["getDefaultCliProfile",0,i,"updateCliProfile",0,j])},608880,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(796544),a.i(540363);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),150585,a=>a.a(async(b,c)=>{try{var d=a.i(608880),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(796544),l=a.i(540363),m=b([d,g,h]);[d,g,h]=m.then?(await m)():m,a.s(["00232983b637333e28e353874b7a9348d429947fe4",()=>l.getDefaultCliProfile,"00803dfba01a59109739236b9c79eb555dfe726559",()=>h.getActualWsPort,"0088720ea6f78a7d440f0ffe918e2017c6ed4a091c",()=>j.getOnboardingStatus,"00b7bf47e3452b8d8e8894dcd22bb8e41da7341170",()=>h.getAvailableTerminalApps,"4002d8571b6bdf58868e87d1d81f586b88cf87057e",()=>h.getConfigValues,"4008da5fb2e740b1e3c6df4ff7e170a1140d107426",()=>j.completeOnboarding,"4013c88773d9eb1e2401f45a6f7f0d004f6460ddc3",()=>e.createProject,"40556e416c26c7e086bc6c0026b4f12eee10ce659c",()=>j.setOnboardingProgress,"407818a74d78397b1421f728f63974b3c70235f449",()=>h.resolveGitLocalPath,"4080109083f5a4d4901787d0c9ca64a3763b552df4",()=>k.getPrompts,"40893ff99bb7ceb2d6956fc8f86f8cee6880c088fd",()=>k.createPrompt,"408abee9d22d9054dd5a6ecc32b0c3daa69ef66c6e",()=>j.dispatchTaskCompletionEvent,"409abc480662dc07b5891cee50c85f506f0e29955a",()=>k.deletePrompt,"40b3591c77b7bc8565eb59161e29cffb57fe4fe1a5",()=>e.createWorkspace,"40c65d3caeb7cc578408a85b29d3ba4ebe00eb4a89",()=>f.getLabelsForWorkspace,"40eaddcac6fa4edf051cd8d3168d3048a4158112c0",()=>f.createLabel,"40f00a067fb6de012eaf03c9eef4ebf4964d647581",()=>e.deleteWorkspace,"40f109f5cc72d3c8512abb532f19ecdf3d57a9de92",()=>i.checkMigrationSafety,"40f96ef73252afb252f5b9a67a3e940b91d910020e",()=>f.deleteLabel,"601c654f3d94a3fa93c8a4f803525145ef41461d43",()=>h.getConfigValue,"601e7393f346eeebf241ef05b3c434d1074e6b83ca",()=>h.setConfigValue,"60497df3d205c43d7f1947ab028bee5ddc724047eb",()=>k.updatePrompt,"604f648d394271e37eab29c0f0c16170bd75606176",()=>i.migrateProjectPath,"606a6ac57a64d74ac8910b538bca7b8d0286ea4a03",()=>i.analyzeProjectDirectory,"608940db009d9ab74b2e4d144069b697417c331166",()=>g.globalSearch,"60a4883fbe9441f4bbb20550d941f5b5c39d7bf696",()=>e.updateWorkspace,"60dacf1279337b28a68bf965936a067462423313e2",()=>l.updateCliProfile,"60fd0a74b1f7d623d3b669f6cf4b3e32ba765e00d3",()=>k.setDefaultPrompt]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0wkjslq._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js"].map(b=>a.l(b))).then(()=>b(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_04g3~44._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))}];
1
+ module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},143971,a=>{"use strict";class b{providers=new Map;register(a){this.providers.set(a.name,a)}get(a){return this.providers.get(a)}getAll(){return Array.from(this.providers.values())}getCliAdapter(a){return this.providers.get(a)?.cli?.adapter??null}getQueryAdapter(a,b){let c=this.providers.get(a);return c?"api"===b?c.api?.adapter??null:c.cliQuery?.adapter??null:null}getAllowedCommands(){let a=[];for(let b of this.providers.values())b.cli?.command&&a.push(b.cli.command);return a}async getAvailableProviders(){let a=[];for(let b of this.providers.values()){let c=!!b.cli&&await b.cli.adapter.isAvailable(),d=c&&b.cli?await b.cli.adapter.getVersion():null,e=!!b.api&&!!process.env[b.api.keyEnvVar],f=!!b.api&&e;a.push({name:b.name,displayName:b.displayName,cli:{available:c,version:d},api:{available:f,keyConfigured:e}})}return a}}var c=a.i(575675);let d=globalThis;if(!d.__providerRegistry){let a=new b;a.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new c.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),d.__providerRegistry=a}let e=d.__providerRegistry;a.s(["providerRegistry",0,e],143971)},796544,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(632919).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"40b2fed3c8e27c9a082b7c8dd48ccbc23887a13c78",null),(0,b.registerServerReference)(f,"401fd17976fc087cd2f586dc6a6e266a993231951b",null),(0,b.registerServerReference)(g,"4068de3108c895bba61c2707fd8fce9e44f2901808",null),(0,b.registerServerReference)(h,"607a657536f031e36c1b88fa62f59f39c052b98fd8",null),(0,b.registerServerReference)(i,"40405b1d5283d0c85b87ad1a8931e9f5787ccbbe8e",null),(0,b.registerServerReference)(j,"6064b117a304dfb3ec8c3d3611334d2601fe82ac7e",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},540363,a=>{"use strict";var b=a.i(680889),c=a.i(750227),d=a.i(832116),e=a.i(972795),f=a.i(143971),g=a.i(632919);let h=new Set(["PATH","LD_PRELOAD","DYLD_INSERT_LIBRARIES","LD_LIBRARY_PATH","HOME","SHELL","USER","DYLD_LIBRARY_PATH","NODE_OPTIONS"]);async function i(){let a=await d.db.cliProfile.findFirst({where:{isDefault:!0}});return a?{id:a.id,name:a.name,command:a.command,baseArgs:a.baseArgs,envVars:a.envVars}:null}async function j(a,b){if(void 0!==b.command){let a=c.default.basename(b.command),d=[...new Set([...f.providerRegistry.getAllowedCommands(),"claude-code"])];if(!d.includes(a))throw Error(`command must be one of: ${d.join(", ")} (got: ${a})`)}if(void 0!==b.baseArgs){let a;try{a=JSON.parse(b.baseArgs)}catch{throw Error("baseArgs 格式无效,必须是 JSON 数组")}if(!Array.isArray(a))throw Error("baseArgs 格式无效,必须是 JSON 数组");for(let b of a){if("string"!=typeof b)throw Error("baseArgs 中每个元素必须是字符串");if(/[;&|`$()]/.test(b))throw Error(`baseArgs 包含不允许的字符: ${b}`)}}if(void 0!==b.envVars){let a;try{a=JSON.parse(b.envVars)}catch{throw Error("envVars 格式无效,必须是 JSON 对象")}if("object"!=typeof a||Array.isArray(a)||null===a)throw Error("envVars 格式无效,必须是 JSON 对象");for(let b of Object.keys(a))if(h.has(b.toUpperCase()))throw Error(`envVars 不允许设置系统关键变量: ${b}`)}try{let c=await d.db.cliProfile.update({where:{id:a},data:b});return(0,e.revalidatePath)("/settings"),c}catch(a){if(a&&"object"==typeof a&&"code"in a&&"P2025"===a.code)throw Error("CLI Profile 不存在,请检查配置");throw a}}(0,g.ensureServerEntryExports)([i,j]),(0,b.registerServerReference)(i,"003a5b1b6c5d5809691ca07ca4ef79c20598a198ab",null),(0,b.registerServerReference)(j,"609f41f18587408747d2579c79c29b386efa5d1d2d",null),a.s(["getDefaultCliProfile",0,i,"updateCliProfile",0,j])},608880,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(796544),a.i(540363);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),150585,a=>a.a(async(b,c)=>{try{var d=a.i(608880),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(796544),l=a.i(540363),m=b([d,g,h]);[d,g,h]=m.then?(await m)():m,a.s(["003a5b1b6c5d5809691ca07ca4ef79c20598a198ab",()=>l.getDefaultCliProfile,"00842dc3e197598d264390adccbf90436448e74dd4",()=>h.getAvailableTerminalApps,"00c5a0d3b9b146d2731747fe1a416361d4501fba21",()=>h.getActualWsPort,"00f7de3735ec23dbbe02b347b3b27fe3293c72dd51",()=>j.getOnboardingStatus,"4002a489b8ddf18fe0011eb46ac0739ec3e093a5bf",()=>j.dispatchTaskCompletionEvent,"4025e96d25637009a8b378148032220c259e2e209b",()=>e.deleteWorkspace,"40405b1d5283d0c85b87ad1a8931e9f5787ccbbe8e",()=>k.deletePrompt,"405e24a96c3040b977262f38c5e06b74894259e0be",()=>j.completeOnboarding,"406303a55224e2a9384b4ad81ed3a003d67d23c0a5",()=>f.getLabelsForWorkspace,"4068de3108c895bba61c2707fd8fce9e44f2901808",()=>k.createPrompt,"406d0755627b7578b91d776cec0fe19e1bb6bfc1e3",()=>j.setOnboardingProgress,"407cbea3859811102573ba8273dc5d88a5d811928c",()=>h.resolveGitLocalPath,"40805f406dafafbee2bc2893759657900a249fb949",()=>i.checkMigrationSafety,"408f9aa4b4846ac38314ce296b0e74b4cc0eb5d2c3",()=>h.getConfigValues,"40b2fed3c8e27c9a082b7c8dd48ccbc23887a13c78",()=>k.getPrompts,"40b43304845d2ab1bbfcca9e8a22572005f72fdee2",()=>e.createWorkspace,"40de3b59acefdad3d4c0fe96d99c53f2e3910bc5c4",()=>f.createLabel,"40f2f8dd87569241d7237d8e6d9c1062d583dceda0",()=>f.deleteLabel,"40f9512bdf19e6f9f4f666ec480b5d2a34184f2c20",()=>e.createProject,"60422a3dcf869aca6ad2360fc07fff8f7ad667284c",()=>e.updateWorkspace,"6051c20539a0938b9860bfe0dfe34cf20c41177e85",()=>g.globalSearch,"60580b8893845b30deedffa8257cbf297fee7c5689",()=>h.setConfigValue,"6058bc084dfc8fd7335c86f6b96805b28fbfade91d",()=>h.getConfigValue,"6064b117a304dfb3ec8c3d3611334d2601fe82ac7e",()=>k.setDefaultPrompt,"607a657536f031e36c1b88fa62f59f39c052b98fd8",()=>k.updatePrompt,"609f41f18587408747d2579c79c29b386efa5d1d2d",()=>l.updateCliProfile,"60d8faa80f7dca8aa639744b42cee7f20ac78660cd",()=>i.analyzeProjectDirectory,"60f6737005b46b8cdbcf37d9f3db70c559c509ad1a",()=>i.migrateProjectPath]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0wkjslq._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js"].map(b=>a.l(b))).then(()=>b(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_04g3~44._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__13cjs8r._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[715416,(a,b,c)=>{function d(a){return Array.isArray(a)?a:[a]}let e,f=/^\s+$/,g=/(?:[^\\]|^)\\$/,h=/^\\!/,i=/^\\#/,j=/\r?\n/g,k=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,m="node-ignore";"u">typeof Symbol&&(m=Symbol.for("node-ignore"));let n=m,o=(a,b,c)=>(Object.defineProperty(a,b,{value:c}),c),p=/([0-z])-([0-z])/g,q=()=>!1,r=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(a,b,c)=>b+(0===c.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(a,b)=>{let{length:c}=b;return b.slice(0,c-c%2)+" "}],[/[\\$.|*+(){^]/g,a=>`\\${a}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(a,b,c)=>b+6<c.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(a,b,c)=>b+c.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(a,b,c,d,e)=>"\\"===b?`\\[${c}${(a=>{let{length:b}=a;return a.slice(0,b-b%2)})(d)}${e}`:"]"===e&&d.length%2==0?`[${c.replace(p,(a,b,c)=>b.charCodeAt(0)<=c.charCodeAt(0)?a:"")}${d}]`:"[]"],[/(?:[^*])$/,a=>/\/$/.test(a)?`${a}$`:`${a}(?=$|\\/$)`]],s=/(^|\\\/)?\\\*$/,t="regex",u="checkRegex",v={[t](a,b){let c=b?`${b}[^/]+`:"[^/]*";return`${c}(?=$|\\/$)`},[u](a,b){let c=b?`${b}[^/]*`:"[^/]*";return`${c}(?=$|\\/$)`}};class w{constructor(a,b,c,d,e,f){this.pattern=a,this.mark=b,this.negative=e,o(this,"body",c),o(this,"ignoreCase",d),o(this,"regexPrefix",f)}get regex(){let a="_"+t;return this[a]?this[a]:this._make(t,a)}get checkRegex(){let a="_"+u;return this[a]?this[a]:this._make(u,a)}_make(a,b){let c=this.regexPrefix.replace(s,v[a]);return o(this,b,this.ignoreCase?RegExp(c,"i"):new RegExp(c))}}class x{constructor(a){this._ignoreCase=a,this._rules=[]}_add(a){let b;if(a&&a[n]){this._rules=this._rules.concat(a._rules._rules),this._added=!0;return}if("string"==typeof a&&(a={pattern:a}),(b=a.pattern)&&"string"==typeof b&&!f.test(b)&&!g.test(b)&&0!==b.indexOf("#")){let b=(({pattern:a,mark:b},c)=>{let d,e=!1,f=a;0===f.indexOf("!")&&(e=!0,f=f.substr(1));let g=(d=f=f.replace(h,"!").replace(i,"#"),r.reduce((a,[b,c])=>a.replace(b,c.bind(d)),d));return new w(a,b,f,c,e,g)})(a,this._ignoreCase);this._added=!0,this._rules.push(b)}}add(a){return this._added=!1,d("string"==typeof a?a.split(j).filter(Boolean):a).forEach(this._add,this),this._added}test(a,b,c){let d,f=!1,g=!1;this._rules.forEach(h=>{let{negative:i}=h;(g!==i||f===g)&&(!i||f||g||b)&&h[c].test(a)&&(f=!i,g=i,d=i?e:h)});let h={ignored:f,unignored:g};return d&&(h.rule=d),h}}let y=(a,b)=>{throw new b(a)},z=(a,b,c)=>"string"!=typeof a?c(`path must be a string, but got \`${b}\``,TypeError):a?!z.isNotRelative(a)||c(`path should be a \`path.relative()\`d string, but got "${b}"`,RangeError):c("path must not be empty",TypeError),A=a=>k.test(a);z.isNotRelative=A,z.convert=a=>a;class B{constructor({ignorecase:a=!0,ignoreCase:b=a,allowRelativePaths:c=!1}={}){o(this,n,!0),this._rules=new x(b),this._strictPathCheck=!c,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(a){return this._rules.add(a)&&this._initCache(),this}addPattern(a){return this.add(a)}_test(a,b,c,d){let e=a&&z.convert(a);return z(e,a,this._strictPathCheck?y:q),this._t(e,b,c,d)}checkIgnore(a){if(!l.test(a))return this.test(a);let b=a.split("/").filter(Boolean);if(b.pop(),b.length){let a=this._t(b.join("/")+"/",this._testCache,!0,b);if(a.ignored)return a}return this._rules.test(a,!1,u)}_t(a,b,c,d){if(a in b)return b[a];if(d||(d=a.split("/").filter(Boolean)),d.pop(),!d.length)return b[a]=this._rules.test(a,c,t);let e=this._t(d.join("/")+"/",b,c,d);return b[a]=e.ignored?e:this._rules.test(a,c,t)}ignores(a){return this._test(a,this._ignoreCache,!1).ignored}createFilter(){return a=>!this.ignores(a)}filter(a){return d(a).filter(this.createFilter())}test(a){return this._test(a,this._testCache,!0)}}let C=a=>new B(a);b.exports=C,C.default=C,b.exports.isPathValid=a=>z(a&&z.convert(a),a,q),o(b.exports,Symbol.for("setupWindows"),()=>{z.convert=a=>/^\\\\\?\\/.test(a)||/["<>|\u0000-\u001F]+/u.test(a)?a:a.replace(/\\/g,"/");let a=/^[a-z]:\//i;z.isNotRelative=b=>a.test(b)||A(b)})},507674,a=>{"use strict";var b=a.i(680889),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(715416),g=a.i(233405);function h(a,b){let c=a.endsWith(e.default.sep)?a.slice(0,-1):a,d=e.default.resolve(c,b);if(d!==c&&!d.startsWith(c+e.default.sep))throw Error(`Path traversal attempt: ${b}`);return d}var i=a.i(96063),j=a.i(632919);let k=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().default(".")});async function l(a,b="."){k.parse({worktreePath:a,relativePath:b});let g=h(a,b),i=(0,f.default)();i.add(".git");let j=e.default.join(a,".gitignore");if((0,d.existsSync)(j)){let a=await (0,c.readFile)(j,"utf-8");i.add(a)}return(await (0,c.readdir)(g,{withFileTypes:!0})).filter(b=>{let c=e.default.relative(a,e.default.join(g,b.name));return!i.ignores(c)}).sort((a,b)=>a.isDirectory()!==b.isDirectory()?a.isDirectory()?-1:1:a.name.localeCompare(b.name)).map(b=>({name:b.name,relativePath:e.default.relative(a,e.default.join(g,b.name)),isDirectory:b.isDirectory()}))}async function m(a,b,c){try{let d;d=b&&c?(0,g.execFileSync)("git",["diff","--name-status",`${b}...${c}`],{cwd:a,encoding:"utf-8",timeout:1e4}):(0,g.execFileSync)("git",["status","--porcelain","-uall"],{cwd:a,encoding:"utf-8",timeout:1e4});let e={};if(b&&c)for(let a of d.split("\n").filter(Boolean)){let b=a.split(" "),c=b[0],d=b[1];("M"===c||"A"===c||"D"===c)&&d&&(e[d]=c)}else for(let a of d.split("\n").filter(Boolean)){let b=a.substring(0,2),c=a.substring(3);c&&(b.includes("D")?e[c]="D":"??"===b||b.includes("A")?e[c]="A":e[c]="M")}return e}catch{return{}}}async function n(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.writeFile)(d,"",{flag:"wx"})}async function o(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.mkdir)(d,{recursive:!0})}async function p(a,b,d){i.z.object({worktreePath:i.z.string().min(1),oldRelativePath:i.z.string().min(1),newRelativePath:i.z.string().min(1)}).parse({worktreePath:a,oldRelativePath:b,newRelativePath:d});let e=h(a,b),f=h(a,d);await (0,c.rename)(e,f)}async function q(a,b){if(i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b}),".git"===e.default.basename(b))throw Error("Cannot delete .git directory");let d=h(a,b);(await (0,c.stat)(d)).isDirectory()?await (0,c.rm)(d,{recursive:!0,force:!0}):await (0,c.unlink)(d)}let r=i.z.object({worktreePath:i.z.string().min(1)});async function s(a){r.parse({worktreePath:a});let b=(0,f.default)();b.add(".git");let g=e.default.join(a,".gitignore");if((0,d.existsSync)(g)){let a=await (0,c.readFile)(g,"utf-8");b.add(a)}let h=[];async function i(d){for(let f of(await (0,c.readdir)(d,{withFileTypes:!0}))){let c=e.default.join(d,f.name),g=e.default.relative(a,c);b.ignores(g)||(f.isDirectory()?await i(c):h.push(g))}}return await i(a),h}let t=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)});async function u(a,b){t.parse({worktreePath:a,relativePath:b});let d=h(a,b);return(0,c.readFile)(d,"utf-8")}let v=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1),content:i.z.string()});async function w(a,b,d){v.parse({worktreePath:a,relativePath:b,content:d});let e=h(a,b);await (0,c.writeFile)(e,d,"utf-8")}async function x(b,c){let d=h(b,c),{execFile:e}=await a.A(144264);process.platform,await new Promise((a,b)=>{e("open",["-R",d],c=>c?b(c):a())})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,s,u,w,x]),(0,b.registerServerReference)(l,"609f16fb322be28fd0285aa8b48f3de7cc606650b6",null),(0,b.registerServerReference)(m,"70ee3afc104696305cce78c21e46b043f835402182",null),(0,b.registerServerReference)(n,"60919c02a438d97064af65bff2db38610ab2dbcbab",null),(0,b.registerServerReference)(o,"60ffa8f3bfaff9d665a9c8d38cd884752e2d4d2791",null),(0,b.registerServerReference)(p,"70e5e4682cd96c4ae217e83b0f28241634cd85a388",null),(0,b.registerServerReference)(q,"60ccf7d4ab877005ca785d5f993bb6541a8dedbb08",null),(0,b.registerServerReference)(s,"404fa50b882688e8faa2d77eb829748826e7fcbf39",null),(0,b.registerServerReference)(u,"6051e2a97c7be275bf4103a5df8e7bd0b0aa11e6bc",null),(0,b.registerServerReference)(w,"70d28e03f09ce6a1e320217ccc37bff3c2f4cc8f96",null),(0,b.registerServerReference)(x,"603be4cc9cea80c4403a179a06fbe963020f2e66b9",null),a.s(["createDirectory",0,o,"createFile",0,n,"deleteEntry",0,q,"getGitStatus",0,m,"listAllFiles",0,s,"listDirectory",0,l,"readFileContent",0,u,"renameEntry",0,p,"revealInFinder",0,x,"writeFileContent",0,w],507674)},187232,(a,b,c)=>{b.exports=a.x("@vscode/ripgrep-7e064cbe2fef7e45",()=>require("@vscode/ripgrep-7e064cbe2fef7e45"))},188329,a=>{"use strict";var b=a.i(680889),c=a.i(233405),d=a.i(96063),e=a.i(187232),f=a.i(632919);let g=d.z.object({localPath:d.z.string().min(1),pattern:d.z.string().min(1).max(500),glob:d.z.string().max(200).optional(),maxResults:d.z.number().int().min(1).max(500).default(200)});async function h(a,b,d,f=200){let i,j=g.safeParse({localPath:a,pattern:b,glob:d,maxResults:f});if(!j.success)return{matches:[],truncated:!1,error:`Invalid input: ${j.error.message}`};let{localPath:k,pattern:l,glob:m,maxResults:n}=j.data;if(!(k.startsWith("/")||/^[a-zA-Z]:[/\\]/.test(k)))return{matches:[],truncated:!1,error:"localPath must be an absolute path"};let o=["--json","-n",l];m&&o.push("--glob",m),o.push(k);try{var p,q;i=await (p=e.rgPath,q={encoding:"utf-8",maxBuffer:0xa00000,timeout:1e4},new Promise((a,b)=>{(0,c.execFile)(p,o,q,(c,d)=>{c?b(c):a("string"==typeof d?d:d.toString())})}))}catch(a){if(1===a.code)return{matches:[],truncated:!1};return console.error("[searchCode] rg failed:",a),{matches:[],truncated:!1,error:"搜索失败,请重试"}}let r=i.split("\n"),s=[];for(let a of r){let b,c=a.trim();if(!c)continue;try{b=JSON.parse(c)}catch{continue}if("match"!==b.type)continue;let d=b.data,e=d.path.text,f=k.endsWith("/")?k:k+"/",g=e.startsWith(f)?e.slice(f.length):e,h=d.lines.text.replace(/\r?\n$/,""),i=d.submatches.map(a=>({start:a.start,end:a.end}));s.push({filePath:g,lineNumber:d.line_number,lineText:h,submatches:i})}let t=s.length>n;return{matches:t?s.slice(0,n):s,truncated:t}}(0,f.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"784b4d8433a44dbbb342f620cda40d5402e29bb17a",null),a.s(["searchCode",0,h])},2297,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(507674),a.i(188329),a.i(614688),a.i(643700),a.i(31782),a.i(796544);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),942327,a=>a.a(async(b,c)=>{try{var d=a.i(2297),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(507674),l=a.i(188329),m=a.i(614688),n=a.i(643700),o=a.i(31782),p=a.i(796544),q=b([d,g,h]);[d,g,h]=q.then?(await q)():q,a.s(["00803dfba01a59109739236b9c79eb555dfe726559",()=>h.getActualWsPort,"0088720ea6f78a7d440f0ffe918e2017c6ed4a091c",()=>j.getOnboardingStatus,"00ba4377b901e75414286d0eb0a9635fc2a8e5d7a2",()=>n.getActiveExecutionsAcrossWorkspaces,"4008da5fb2e740b1e3c6df4ff7e170a1140d107426",()=>j.completeOnboarding,"4013c88773d9eb1e2401f45a6f7f0d004f6460ddc3",()=>e.createProject,"402101054ddd73b75c36e8b52c2353fca90c5fea95",()=>n.continueLatestPtyExecution,"403ff6fb6679e7d59c36b91d1641a70cef02d4b234",()=>n.stopPtyExecution,"404fa50b882688e8faa2d77eb829748826e7fcbf39",()=>k.listAllFiles,"40556e416c26c7e086bc6c0026b4f12eee10ce659c",()=>j.setOnboardingProgress,"406dadcda0c51c13b91211c963e904ced84ea5694e",()=>m.stopPreview,"407818a74d78397b1421f728f63974b3c70235f449",()=>h.resolveGitLocalPath,"4080109083f5a4d4901787d0c9ca64a3763b552df4",()=>p.getPrompts,"408115b355b5d59c800f7bc75d3448a2d563196007",()=>n.getTaskExecutions,"408abee9d22d9054dd5a6ecc32b0c3daa69ef66c6e",()=>j.dispatchTaskCompletionEvent,"409f21aa0a1353a1c59d722a1686ba8ed31b4ab68c",()=>o.checkWorktreeClean,"40b3591c77b7bc8565eb59161e29cffb57fe4fe1a5",()=>e.createWorkspace,"40c65d3caeb7cc578408a85b29d3ba4ebe00eb4a89",()=>f.getLabelsForWorkspace,"40c8dd735fe52600a2307629dfbdf14e794f96be81",()=>m.openInTerminal,"40ce50a21599ff19e5c2ad9f6b191d1e448f74cfb3",()=>n.getTaskMessages,"40eaddcac6fa4edf051cd8d3168d3048a4158112c0",()=>f.createLabel,"40f00a067fb6de012eaf03c9eef4ebf4964d647581",()=>e.deleteWorkspace,"40f109f5cc72d3c8512abb532f19ecdf3d57a9de92",()=>i.checkMigrationSafety,"40f96ef73252afb252f5b9a67a3e940b91d910020e",()=>f.deleteLabel,"6012050e4657ea78a8775111af012678ef9d34a8b9",()=>n.stopTaskExecution,"601c654f3d94a3fa93c8a4f803525145ef41461d43",()=>h.getConfigValue,"601e7393f346eeebf241ef05b3c434d1074e6b83ca",()=>h.setConfigValue,"603be4cc9cea80c4403a179a06fbe963020f2e66b9",()=>k.revealInFinder,"604f648d394271e37eab29c0f0c16170bd75606176",()=>i.migrateProjectPath,"6051e2a97c7be275bf4103a5df8e7bd0b0aa11e6bc",()=>k.readFileContent,"606a6ac57a64d74ac8910b538bca7b8d0286ea4a03",()=>i.analyzeProjectDirectory,"60840bef26147dd4dff7d39641737796069e39069c",()=>o.commitWorktreeChanges,"608940db009d9ab74b2e4d144069b697417c331166",()=>g.globalSearch,"6090661be83a06fb8677f5401a51bf2e0cb9fc513b",()=>n.sendTaskMessage,"60919c02a438d97064af65bff2db38610ab2dbcbab",()=>k.createFile,"609f16fb322be28fd0285aa8b48f3de7cc606650b6",()=>k.listDirectory,"60a4883fbe9441f4bbb20550d941f5b5c39d7bf696",()=>e.updateWorkspace,"60c351a918c1ee9731291483fb857151355d9f0ca9",()=>o.updateTaskStatus,"60ccf7d4ab877005ca785d5f993bb6541a8dedbb08",()=>k.deleteEntry,"60d61a4cf5383e58053ba61c52b70ed758b0042ac6",()=>e.updateProject,"60d8d343d6d5c044dadeb71b8d3a7e5f3fff699d6d",()=>n.resumePtyExecution,"60ffa8f3bfaff9d665a9c8d38cd884752e2d4d2791",()=>k.createDirectory,"706d55c3cf4697717fa52c2e1ea7b537f32e05d622",()=>m.startPreview,"70d28e03f09ce6a1e320217ccc37bff3c2f4cc8f96",()=>k.writeFileContent,"70e5e4682cd96c4ae217e83b0f28241634cd85a388",()=>k.renameEntry,"70ee3afc104696305cce78c21e46b043f835402182",()=>k.getGitStatus,"7839f6340d8e220203392fedeee21e01e0831c8012",()=>n.startPtyExecution,"784b4d8433a44dbbb342f620cda40d5402e29bb17a",()=>l.searchCode,"78815dbcfffc8cc25272bf93f43362afa1ca18417c",()=>n.startTaskExecution]),c()}catch(a){c(a)}},!1)];
1
+ module.exports=[715416,(a,b,c)=>{function d(a){return Array.isArray(a)?a:[a]}let e,f=/^\s+$/,g=/(?:[^\\]|^)\\$/,h=/^\\!/,i=/^\\#/,j=/\r?\n/g,k=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,m="node-ignore";"u">typeof Symbol&&(m=Symbol.for("node-ignore"));let n=m,o=(a,b,c)=>(Object.defineProperty(a,b,{value:c}),c),p=/([0-z])-([0-z])/g,q=()=>!1,r=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(a,b,c)=>b+(0===c.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(a,b)=>{let{length:c}=b;return b.slice(0,c-c%2)+" "}],[/[\\$.|*+(){^]/g,a=>`\\${a}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(a,b,c)=>b+6<c.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(a,b,c)=>b+c.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(a,b,c,d,e)=>"\\"===b?`\\[${c}${(a=>{let{length:b}=a;return a.slice(0,b-b%2)})(d)}${e}`:"]"===e&&d.length%2==0?`[${c.replace(p,(a,b,c)=>b.charCodeAt(0)<=c.charCodeAt(0)?a:"")}${d}]`:"[]"],[/(?:[^*])$/,a=>/\/$/.test(a)?`${a}$`:`${a}(?=$|\\/$)`]],s=/(^|\\\/)?\\\*$/,t="regex",u="checkRegex",v={[t](a,b){let c=b?`${b}[^/]+`:"[^/]*";return`${c}(?=$|\\/$)`},[u](a,b){let c=b?`${b}[^/]*`:"[^/]*";return`${c}(?=$|\\/$)`}};class w{constructor(a,b,c,d,e,f){this.pattern=a,this.mark=b,this.negative=e,o(this,"body",c),o(this,"ignoreCase",d),o(this,"regexPrefix",f)}get regex(){let a="_"+t;return this[a]?this[a]:this._make(t,a)}get checkRegex(){let a="_"+u;return this[a]?this[a]:this._make(u,a)}_make(a,b){let c=this.regexPrefix.replace(s,v[a]);return o(this,b,this.ignoreCase?RegExp(c,"i"):new RegExp(c))}}class x{constructor(a){this._ignoreCase=a,this._rules=[]}_add(a){let b;if(a&&a[n]){this._rules=this._rules.concat(a._rules._rules),this._added=!0;return}if("string"==typeof a&&(a={pattern:a}),(b=a.pattern)&&"string"==typeof b&&!f.test(b)&&!g.test(b)&&0!==b.indexOf("#")){let b=(({pattern:a,mark:b},c)=>{let d,e=!1,f=a;0===f.indexOf("!")&&(e=!0,f=f.substr(1));let g=(d=f=f.replace(h,"!").replace(i,"#"),r.reduce((a,[b,c])=>a.replace(b,c.bind(d)),d));return new w(a,b,f,c,e,g)})(a,this._ignoreCase);this._added=!0,this._rules.push(b)}}add(a){return this._added=!1,d("string"==typeof a?a.split(j).filter(Boolean):a).forEach(this._add,this),this._added}test(a,b,c){let d,f=!1,g=!1;this._rules.forEach(h=>{let{negative:i}=h;(g!==i||f===g)&&(!i||f||g||b)&&h[c].test(a)&&(f=!i,g=i,d=i?e:h)});let h={ignored:f,unignored:g};return d&&(h.rule=d),h}}let y=(a,b)=>{throw new b(a)},z=(a,b,c)=>"string"!=typeof a?c(`path must be a string, but got \`${b}\``,TypeError):a?!z.isNotRelative(a)||c(`path should be a \`path.relative()\`d string, but got "${b}"`,RangeError):c("path must not be empty",TypeError),A=a=>k.test(a);z.isNotRelative=A,z.convert=a=>a;class B{constructor({ignorecase:a=!0,ignoreCase:b=a,allowRelativePaths:c=!1}={}){o(this,n,!0),this._rules=new x(b),this._strictPathCheck=!c,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(a){return this._rules.add(a)&&this._initCache(),this}addPattern(a){return this.add(a)}_test(a,b,c,d){let e=a&&z.convert(a);return z(e,a,this._strictPathCheck?y:q),this._t(e,b,c,d)}checkIgnore(a){if(!l.test(a))return this.test(a);let b=a.split("/").filter(Boolean);if(b.pop(),b.length){let a=this._t(b.join("/")+"/",this._testCache,!0,b);if(a.ignored)return a}return this._rules.test(a,!1,u)}_t(a,b,c,d){if(a in b)return b[a];if(d||(d=a.split("/").filter(Boolean)),d.pop(),!d.length)return b[a]=this._rules.test(a,c,t);let e=this._t(d.join("/")+"/",b,c,d);return b[a]=e.ignored?e:this._rules.test(a,c,t)}ignores(a){return this._test(a,this._ignoreCache,!1).ignored}createFilter(){return a=>!this.ignores(a)}filter(a){return d(a).filter(this.createFilter())}test(a){return this._test(a,this._testCache,!0)}}let C=a=>new B(a);b.exports=C,C.default=C,b.exports.isPathValid=a=>z(a&&z.convert(a),a,q),o(b.exports,Symbol.for("setupWindows"),()=>{z.convert=a=>/^\\\\\?\\/.test(a)||/["<>|\u0000-\u001F]+/u.test(a)?a:a.replace(/\\/g,"/");let a=/^[a-z]:\//i;z.isNotRelative=b=>a.test(b)||A(b)})},507674,a=>{"use strict";var b=a.i(680889),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(715416),g=a.i(233405);function h(a,b){let c=a.endsWith(e.default.sep)?a.slice(0,-1):a,d=e.default.resolve(c,b);if(d!==c&&!d.startsWith(c+e.default.sep))throw Error(`Path traversal attempt: ${b}`);return d}var i=a.i(96063),j=a.i(632919);let k=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().default(".")});async function l(a,b="."){k.parse({worktreePath:a,relativePath:b});let g=h(a,b),i=(0,f.default)();i.add(".git");let j=e.default.join(a,".gitignore");if((0,d.existsSync)(j)){let a=await (0,c.readFile)(j,"utf-8");i.add(a)}return(await (0,c.readdir)(g,{withFileTypes:!0})).filter(b=>{let c=e.default.relative(a,e.default.join(g,b.name));return!i.ignores(c)}).sort((a,b)=>a.isDirectory()!==b.isDirectory()?a.isDirectory()?-1:1:a.name.localeCompare(b.name)).map(b=>({name:b.name,relativePath:e.default.relative(a,e.default.join(g,b.name)),isDirectory:b.isDirectory()}))}async function m(a,b,c){try{let d;d=b&&c?(0,g.execFileSync)("git",["diff","--name-status",`${b}...${c}`],{cwd:a,encoding:"utf-8",timeout:1e4}):(0,g.execFileSync)("git",["status","--porcelain","-uall"],{cwd:a,encoding:"utf-8",timeout:1e4});let e={};if(b&&c)for(let a of d.split("\n").filter(Boolean)){let b=a.split(" "),c=b[0],d=b[1];("M"===c||"A"===c||"D"===c)&&d&&(e[d]=c)}else for(let a of d.split("\n").filter(Boolean)){let b=a.substring(0,2),c=a.substring(3);c&&(b.includes("D")?e[c]="D":"??"===b||b.includes("A")?e[c]="A":e[c]="M")}return e}catch{return{}}}async function n(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.writeFile)(d,"",{flag:"wx"})}async function o(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.mkdir)(d,{recursive:!0})}async function p(a,b,d){i.z.object({worktreePath:i.z.string().min(1),oldRelativePath:i.z.string().min(1),newRelativePath:i.z.string().min(1)}).parse({worktreePath:a,oldRelativePath:b,newRelativePath:d});let e=h(a,b),f=h(a,d);await (0,c.rename)(e,f)}async function q(a,b){if(i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b}),".git"===e.default.basename(b))throw Error("Cannot delete .git directory");let d=h(a,b);(await (0,c.stat)(d)).isDirectory()?await (0,c.rm)(d,{recursive:!0,force:!0}):await (0,c.unlink)(d)}let r=i.z.object({worktreePath:i.z.string().min(1)});async function s(a){r.parse({worktreePath:a});let b=(0,f.default)();b.add(".git");let g=e.default.join(a,".gitignore");if((0,d.existsSync)(g)){let a=await (0,c.readFile)(g,"utf-8");b.add(a)}let h=[];async function i(d){for(let f of(await (0,c.readdir)(d,{withFileTypes:!0}))){let c=e.default.join(d,f.name),g=e.default.relative(a,c);b.ignores(g)||(f.isDirectory()?await i(c):h.push(g))}}return await i(a),h}let t=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)});async function u(a,b){t.parse({worktreePath:a,relativePath:b});let d=h(a,b);return(0,c.readFile)(d,"utf-8")}let v=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1),content:i.z.string()});async function w(a,b,d){v.parse({worktreePath:a,relativePath:b,content:d});let e=h(a,b);await (0,c.writeFile)(e,d,"utf-8")}async function x(b,c){let d=h(b,c),{execFile:e}=await a.A(144264);process.platform,await new Promise((a,b)=>{e("open",["-R",d],c=>c?b(c):a())})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,s,u,w,x]),(0,b.registerServerReference)(l,"600671d1d6e7a224405039d8d77d38721dccef91a5",null),(0,b.registerServerReference)(m,"706e0a9f509c35c3b59d1839a2251fbd3b6e843b68",null),(0,b.registerServerReference)(n,"60d03c2ef96057ffcc15e87f6d8e38e7d6e5e98ea3",null),(0,b.registerServerReference)(o,"60080268456ba09ec6e80a70b2a94954ed7d4e5908",null),(0,b.registerServerReference)(p,"7089e089fd2451f5abedcded3a012391d5413ecfc8",null),(0,b.registerServerReference)(q,"601f604fadf0517208b49582f2630a520c9049c3af",null),(0,b.registerServerReference)(s,"40842f1c734540be453d1bba1a6b19adf56694c258",null),(0,b.registerServerReference)(u,"60c7ccc1a8dd11c1e64102b953e1c1c8b7d35a30c4",null),(0,b.registerServerReference)(w,"702b1e33a125c6fd6ea494d556ecdd28218e51172c",null),(0,b.registerServerReference)(x,"6017dac4be8932abda3e76f89c0720a53260a2e813",null),a.s(["createDirectory",0,o,"createFile",0,n,"deleteEntry",0,q,"getGitStatus",0,m,"listAllFiles",0,s,"listDirectory",0,l,"readFileContent",0,u,"renameEntry",0,p,"revealInFinder",0,x,"writeFileContent",0,w],507674)},187232,(a,b,c)=>{b.exports=a.x("@vscode/ripgrep-7e064cbe2fef7e45",()=>require("@vscode/ripgrep-7e064cbe2fef7e45"))},188329,a=>{"use strict";var b=a.i(680889),c=a.i(233405),d=a.i(96063),e=a.i(187232),f=a.i(632919);let g=d.z.object({localPath:d.z.string().min(1),pattern:d.z.string().min(1).max(500),glob:d.z.string().max(200).optional(),maxResults:d.z.number().int().min(1).max(500).default(200)});async function h(a,b,d,f=200){let i,j=g.safeParse({localPath:a,pattern:b,glob:d,maxResults:f});if(!j.success)return{matches:[],truncated:!1,error:`Invalid input: ${j.error.message}`};let{localPath:k,pattern:l,glob:m,maxResults:n}=j.data;if(!(k.startsWith("/")||/^[a-zA-Z]:[/\\]/.test(k)))return{matches:[],truncated:!1,error:"localPath must be an absolute path"};let o=["--json","-n",l];m&&o.push("--glob",m),o.push(k);try{var p,q;i=await (p=e.rgPath,q={encoding:"utf-8",maxBuffer:0xa00000,timeout:1e4},new Promise((a,b)=>{(0,c.execFile)(p,o,q,(c,d)=>{c?b(c):a("string"==typeof d?d:d.toString())})}))}catch(a){if(1===a.code)return{matches:[],truncated:!1};return console.error("[searchCode] rg failed:",a),{matches:[],truncated:!1,error:"搜索失败,请重试"}}let r=i.split("\n"),s=[];for(let a of r){let b,c=a.trim();if(!c)continue;try{b=JSON.parse(c)}catch{continue}if("match"!==b.type)continue;let d=b.data,e=d.path.text,f=k.endsWith("/")?k:k+"/",g=e.startsWith(f)?e.slice(f.length):e,h=d.lines.text.replace(/\r?\n$/,""),i=d.submatches.map(a=>({start:a.start,end:a.end}));s.push({filePath:g,lineNumber:d.line_number,lineText:h,submatches:i})}let t=s.length>n;return{matches:t?s.slice(0,n):s,truncated:t}}(0,f.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"78291791dd1dbde5c515bd58eecb21dd19188195a0",null),a.s(["searchCode",0,h])},2297,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(507674),a.i(188329),a.i(614688),a.i(643700),a.i(31782),a.i(796544);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),942327,a=>a.a(async(b,c)=>{try{var d=a.i(2297),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(507674),l=a.i(188329),m=a.i(614688),n=a.i(643700),o=a.i(31782),p=a.i(796544),q=b([d,g,h]);[d,g,h]=q.then?(await q)():q,a.s(["0074a2acfc7c977675c9240a3cf179d4e8a0497ecb",()=>n.getActiveExecutionsAcrossWorkspaces,"00c5a0d3b9b146d2731747fe1a416361d4501fba21",()=>h.getActualWsPort,"00f7de3735ec23dbbe02b347b3b27fe3293c72dd51",()=>j.getOnboardingStatus,"4002a489b8ddf18fe0011eb46ac0739ec3e093a5bf",()=>j.dispatchTaskCompletionEvent,"401f463b01e74265a5a0f6a651625dbaa23ce7f0de",()=>n.stopPtyExecution,"4025e96d25637009a8b378148032220c259e2e209b",()=>e.deleteWorkspace,"4036dc278fce434992e90dd8958b9fa89e1c22580c",()=>n.continueLatestPtyExecution,"405330cd9709f40037aa83521bdac7044a93b13641",()=>n.getTaskExecutions,"405e24a96c3040b977262f38c5e06b74894259e0be",()=>j.completeOnboarding,"406303a55224e2a9384b4ad81ed3a003d67d23c0a5",()=>f.getLabelsForWorkspace,"406d0755627b7578b91d776cec0fe19e1bb6bfc1e3",()=>j.setOnboardingProgress,"407cbea3859811102573ba8273dc5d88a5d811928c",()=>h.resolveGitLocalPath,"40805f406dafafbee2bc2893759657900a249fb949",()=>i.checkMigrationSafety,"40842f1c734540be453d1bba1a6b19adf56694c258",()=>k.listAllFiles,"40a2271ec5fba80f23a957c9a06fd5d4f208c265e7",()=>n.getTaskMessages,"40b2fed3c8e27c9a082b7c8dd48ccbc23887a13c78",()=>p.getPrompts,"40b43304845d2ab1bbfcca9e8a22572005f72fdee2",()=>e.createWorkspace,"40dda63072b6d9478cbe91e491c6fb8f623ed50bdc",()=>m.openInTerminal,"40de3b59acefdad3d4c0fe96d99c53f2e3910bc5c4",()=>f.createLabel,"40e41704353809c1535ae419f60d4940b43e793e1b",()=>m.stopPreview,"40ec4f72b679f0487a21d7166d20412c1d3e4f1feb",()=>o.checkWorktreeClean,"40f2f8dd87569241d7237d8e6d9c1062d583dceda0",()=>f.deleteLabel,"40f9512bdf19e6f9f4f666ec480b5d2a34184f2c20",()=>e.createProject,"600671d1d6e7a224405039d8d77d38721dccef91a5",()=>k.listDirectory,"60080268456ba09ec6e80a70b2a94954ed7d4e5908",()=>k.createDirectory,"6017dac4be8932abda3e76f89c0720a53260a2e813",()=>k.revealInFinder,"601f604fadf0517208b49582f2630a520c9049c3af",()=>k.deleteEntry,"602e857033f412e1832ad1c46ff2b99c02da07294f",()=>n.resumePtyExecution,"6030bc338dcedc06ab38184da02f82e242e2e73465",()=>o.commitWorktreeChanges,"60422a3dcf869aca6ad2360fc07fff8f7ad667284c",()=>e.updateWorkspace,"6051c20539a0938b9860bfe0dfe34cf20c41177e85",()=>g.globalSearch,"60539a0b43514080c05ac2f7a6e02635a8a87cb99e",()=>n.sendTaskMessage,"60580b8893845b30deedffa8257cbf297fee7c5689",()=>h.setConfigValue,"6058bc084dfc8fd7335c86f6b96805b28fbfade91d",()=>h.getConfigValue,"60a766e524b63c644538760cc4573474b87e697389",()=>n.stopTaskExecution,"60b8da241b1f9f2d12f9b07df697c5d7cc38d4d2a6",()=>e.updateProject,"60c7ccc1a8dd11c1e64102b953e1c1c8b7d35a30c4",()=>k.readFileContent,"60d03c2ef96057ffcc15e87f6d8e38e7d6e5e98ea3",()=>k.createFile,"60d8d8ed534f28b32d271c58f8f9f2511c65003bdb",()=>o.updateTaskStatus,"60d8faa80f7dca8aa639744b42cee7f20ac78660cd",()=>i.analyzeProjectDirectory,"60f6737005b46b8cdbcf37d9f3db70c559c509ad1a",()=>i.migrateProjectPath,"702b1e33a125c6fd6ea494d556ecdd28218e51172c",()=>k.writeFileContent,"706e0a9f509c35c3b59d1839a2251fbd3b6e843b68",()=>k.getGitStatus,"707b0bb956bf170e514e9cf105d4b333ff103217de",()=>m.startPreview,"7089e089fd2451f5abedcded3a012391d5413ecfc8",()=>k.renameEntry,"780a1d3040561b90e331d3ea2e1c3ff2cddf69f34e",()=>n.startTaskExecution,"78291791dd1dbde5c515bd58eecb21dd19188195a0",()=>l.searchCode,"78fb8fa47faed28ab00400d74b16e6f120e94f9b12",()=>n.startPtyExecution]),c()}catch(a){c(a)}},!1)];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__13eo85g._.js.map