tower-studio 0.1.9 → 0.1.10

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 (189) 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/cache/.tsbuildinfo +1 -1
  6. package/.next/diagnostics/route-bundle-stats.json +46 -46
  7. package/.next/fallback-build-manifest.json +3 -3
  8. package/.next/prerender-manifest.json +3 -3
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
  17. package/.next/server/app/_not-found/page/server-reference-manifest.json +23 -23
  18. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.rsc +14 -14
  22. package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  23. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  24. package/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
  25. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  26. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  27. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  29. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  30. package/.next/server/app/api/git/route.js.nft.json +1 -1
  31. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  32. package/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  33. package/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  34. package/.next/server/app/api/internal/assistant/images/route.js.nft.json +1 -1
  35. package/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  36. package/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  38. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  39. package/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  40. package/.next/server/app/index.html +1 -1
  41. package/.next/server/app/index.rsc +14 -14
  42. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  43. package/.next/server/app/index.segments/_full.segment.rsc +14 -14
  44. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  45. package/.next/server/app/index.segments/_index.segment.rsc +9 -9
  46. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  47. package/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  48. package/.next/server/app/missions/page/server-reference-manifest.json +50 -50
  49. package/.next/server/app/missions/page.js.nft.json +1 -1
  50. package/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  51. package/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
  52. package/.next/server/app/onboarding/page/server-reference-manifest.json +23 -23
  53. package/.next/server/app/onboarding/page.js.nft.json +1 -1
  54. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/onboarding.html +1 -1
  56. package/.next/server/app/onboarding.rsc +16 -16
  57. package/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
  58. package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
  59. package/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
  60. package/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
  61. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  62. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
  63. package/.next/server/app/page/react-loadable-manifest.json +1 -1
  64. package/.next/server/app/page/server-reference-manifest.json +23 -23
  65. package/.next/server/app/page.js.nft.json +1 -1
  66. package/.next/server/app/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  68. package/.next/server/app/settings/page/server-reference-manifest.json +32 -32
  69. package/.next/server/app/settings/page.js.nft.json +1 -1
  70. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/settings.html +1 -1
  72. package/.next/server/app/settings.rsc +16 -16
  73. package/.next/server/app/settings.segments/_full.segment.rsc +16 -16
  74. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  75. package/.next/server/app/settings.segments/_index.segment.rsc +9 -9
  76. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  77. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  78. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  79. package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
  80. package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +75 -75
  81. package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  82. package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
  84. package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +64 -64
  85. package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  86. package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  87. package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
  88. package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +49 -49
  89. package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  90. package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  91. package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
  92. package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +51 -51
  93. package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  94. package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
  96. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +23 -23
  97. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  98. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  99. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +1 -1
  100. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +56 -56
  101. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  102. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
  104. package/.next/server/app/workspaces/page/server-reference-manifest.json +39 -39
  105. package/.next/server/app/workspaces/page.js.nft.json +1 -1
  106. package/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  107. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13~vb_i.js +2 -2
  108. package/.next/server/chunks/[root-of-the-server]__043lk8~._.js +2 -2
  109. package/.next/server/chunks/ssr/0~.g_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_0bbseig._.js +1 -1
  110. package/.next/server/chunks/ssr/[root-of-the-server]__0.8y0n9._.js +1 -1
  111. package/.next/server/chunks/ssr/[root-of-the-server]__01ws4-7._.js +1 -1
  112. package/.next/server/chunks/ssr/[root-of-the-server]__02ipahf._.js +1 -1
  113. package/.next/server/chunks/ssr/{[root-of-the-server]__0i1tzvg._.js → [root-of-the-server]__08_0ex9._.js} +2 -2
  114. package/.next/server/chunks/ssr/[root-of-the-server]__0bk3s4l._.js +1 -1
  115. package/.next/server/chunks/ssr/{[root-of-the-server]__0i52qt7._.js → [root-of-the-server]__0bo1n69._.js} +2 -2
  116. package/.next/server/chunks/ssr/[root-of-the-server]__0ld6_w6._.js +3 -0
  117. package/.next/server/chunks/ssr/[root-of-the-server]__0l~dc3x._.js +1 -1
  118. package/.next/server/chunks/ssr/[root-of-the-server]__0rs7pkn._.js +1 -1
  119. package/.next/server/chunks/ssr/[root-of-the-server]__0sysz2q._.js +3 -3
  120. package/.next/server/chunks/ssr/[root-of-the-server]__0y-lkvf._.js +1 -1
  121. package/.next/server/chunks/ssr/[root-of-the-server]__12f810l._.js +1 -1
  122. package/.next/server/chunks/ssr/tower_0donrdk._.js +3 -0
  123. package/.next/server/chunks/ssr/{tower_0cmuq4n._.js → tower_0i9k4a6._.js} +2 -2
  124. package/.next/server/chunks/ssr/tower_0kl_bfy._.js +1 -1
  125. package/.next/server/chunks/ssr/tower_0m_uudm._.js +3 -0
  126. package/.next/server/chunks/ssr/{tower_0tjo~2z._.js → tower_0mn8ig7._.js} +2 -2
  127. package/.next/server/chunks/ssr/tower_0mz4ut.._.js +1 -1
  128. package/.next/server/chunks/ssr/tower_0pcqezm._.js +1 -1
  129. package/.next/server/chunks/ssr/{tower_0.csoof._.js → tower_0pmey24._.js} +2 -2
  130. package/.next/server/chunks/ssr/{tower_0c8unc1._.js → tower_0ut7r._._.js} +2 -2
  131. package/.next/server/chunks/ssr/tower_0wvk~r.._.js +1 -1
  132. package/.next/server/chunks/ssr/tower_10p15te._.js +1 -1
  133. package/.next/server/chunks/ssr/tower_117pzh8._.js +1 -1
  134. package/.next/server/chunks/ssr/tower_11q5_.m._.js +1 -1
  135. package/.next/server/chunks/ssr/tower_138qlx5._.js +1 -1
  136. package/.next/server/chunks/ssr/tower_src_077qk8s._.js +3 -0
  137. package/.next/server/chunks/ssr/tower_src_actions_agent-actions_ts_0j.e1tn._.js +1 -1
  138. package/.next/server/chunks/ssr/tower_src_actions_file-actions_ts_0424lna._.js +1 -1
  139. package/.next/server/chunks/ssr/tower_src_app_missions_missions-client_tsx_0a9vjyr._.js +1 -1
  140. package/.next/server/chunks/ssr/tower_src_app_onboarding_page_tsx_0_3krz1._.js +1 -1
  141. package/.next/server/chunks/ssr/tower_src_app_settings_page_tsx_0vo5e-o._.js +1 -1
  142. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0zfgzhi._.js +1 -1
  143. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0kjp1u0._.js +1 -1
  144. package/.next/server/chunks/tower_0a-x6m.._.js +1 -1
  145. package/.next/server/chunks/tower_src_0..vg-t._.js +1 -1
  146. package/.next/server/instrumentation.js.nft.json +1 -1
  147. package/.next/server/middleware-build-manifest.js +3 -3
  148. package/.next/server/pages/404.html +1 -1
  149. package/.next/server/pages/500.html +1 -1
  150. package/.next/server/server-reference-manifest.js +1 -1
  151. package/.next/server/server-reference-manifest.json +186 -186
  152. package/.next/static/chunks/{01499ombtjk9..js → 0-z_mj0p3..hy.js} +1 -1
  153. package/.next/static/chunks/{0drgc-oztq6o-.css → 04pjsuj.mivbh.css} +1 -1
  154. package/.next/static/chunks/{04zt_ewq9gd.f.js → 053~3fys7om-7.js} +2 -2
  155. package/.next/static/chunks/0887ab.hh21q9.js +1 -0
  156. package/.next/static/chunks/0c7oqfzd78s3-.js +1 -0
  157. package/.next/static/chunks/{12p4plfwlovc5.js → 0g4scpy5b3a_n.js} +1 -1
  158. package/.next/static/chunks/{0uukquowg_doj.js → 0ho7y42kl8m7v.js} +1 -1
  159. package/.next/static/chunks/0iudqcn98ftki.js +1 -0
  160. package/.next/static/chunks/{0jod832.e8dvp.js → 0j~wmjbqds1dv.js} +1 -1
  161. package/.next/static/chunks/0mvu29h4.06~b.js +1 -0
  162. package/.next/static/chunks/{07ll8eylriw_..js → 0rej~f94o9a~6.js} +1 -1
  163. package/.next/static/chunks/{0_dgukndtuspa.js → 0xi0wi2z6otp9.js} +1 -1
  164. package/.next/static/chunks/{0465wja5wuj_t.js → 16qoc.u84jlcd.js} +1 -1
  165. package/.next/static/chunks/17tob96chk6i1.js +1 -0
  166. package/.next/static/chunks/17zywpt-0o8gl.js +1 -0
  167. package/.next/static/chunks/{0o0v~cegree8o.js → 185n7s7fwb2j_.js} +1 -1
  168. package/.next/trace +2 -2
  169. package/.next/trace-build +1 -1
  170. package/bin/tower.mjs +36 -8
  171. package/package.json +10 -4
  172. package/scripts/generate-prisma-client.js +43 -0
  173. package/scripts/link-prisma.js +144 -0
  174. package/scripts/post-tool-hook.js +188 -0
  175. package/scripts/session-start-hook.js +79 -0
  176. package/scripts/stop-hook.js +78 -0
  177. package/.next/server/chunks/ssr/[root-of-the-server]__0yuwh~5._.js +0 -3
  178. package/.next/server/chunks/ssr/tower_005_jvc._.js +0 -3
  179. package/.next/server/chunks/ssr/tower_0ih8lcc._.js +0 -3
  180. package/.next/server/chunks/ssr/tower_src_0lq.aoc._.js +0 -3
  181. package/.next/static/chunks/08kdkf9zhbx5h.js +0 -1
  182. package/.next/static/chunks/0focg9l2pd5qe.js +0 -1
  183. package/.next/static/chunks/0v593lcts~8.5.js +0 -1
  184. package/.next/static/chunks/0yz33_rbgu2sz.js +0 -1
  185. package/.next/static/chunks/0~2w0fbj7o3fv.js +0 -1
  186. package/.next/static/chunks/13juk.piouzom.js +0 -1
  187. /package/.next/static/{uSvLXzMcHlsrWUxtSBOMM → KX5Si-44bPnjdFNmiHDRY}/_buildManifest.js +0 -0
  188. /package/.next/static/{uSvLXzMcHlsrWUxtSBOMM → KX5Si-44bPnjdFNmiHDRY}/_clientMiddlewareManifest.js +0 -0
  189. /package/.next/static/{uSvLXzMcHlsrWUxtSBOMM → KX5Si-44bPnjdFNmiHDRY}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[43900,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},477714,(a,b,c)=>{b.exports=a.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},284527,a=>{"use strict";var b=a.i(477714);let c=globalThis.prisma??new b.PrismaClient({log:[]});process.on("SIGTERM",()=>{c.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{c.$disconnect().catch(()=>{})}),a.s(["db",0,c])},787084,a=>{"use strict";function b(a,b,c,d){let e=new Date().toISOString(),f=`[${e}] ${a.toUpperCase()} [${b}] ${c}`;return d&&Object.keys(d).length>0?`${f} ${JSON.stringify(d)}`:f}a.s(["logger",0,{create:function(a){return{info(c,d){console.log(b("info",a,c,d))},warn(c,d){console.warn(b("warn",a,c,d))},error(c,d,e){console.error(b("error",a,c,d instanceof Error?{...e,error:d.message,stack:d.stack}:{...e,error:String(d)}))}}},info(a,c){console.log(b("info","app",a,c))},warn(a,c){console.warn(b("warn","app",a,c))},error(a,c,d){console.error(b("error","app",a,c instanceof Error?{...d,error:c.message,stack:c.stack}:{...d,error:String(c)}))}}])},772887,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(787084),f=a.i(126892);let g=["onboarding.completed","onboarding.lastStep","onboarding.username"];async function h(){let a=await c.db.systemConfig.findMany({where:{key:{in:[...g]}}}),b={};for(let c of a)try{b[c.key]=JSON.parse(c.value)}catch{b[c.key]=null}let d=!0===b["onboarding.completed"],e=b["onboarding.lastStep"],f=b["onboarding.username"];return{isFirstRun:!d,isCompleted:d,lastStep:"number"==typeof e?e:0,username:"string"==typeof f&&f.length>0?f:null}}async function i(a){await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:JSON.stringify(a)},update:{value:JSON.stringify(a)}}),(0,d.revalidatePath)("/","layout")}async function j(a){if(await c.db.systemConfig.upsert({where:{key:"onboarding.completed"},create:{key:"onboarding.completed",value:"true"},update:{value:"true"}}),await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:"2"},update:{value:"2"}}),void 0!==a){let b=a.trim().slice(0,64).replace(/[\r\n]/g," ");b.length>0&&await c.db.systemConfig.upsert({where:{key:"onboarding.username"},create:{key:"onboarding.username",value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}(0,d.revalidatePath)("/","layout")}async function k(b){try{e.logger.create("task-completion").info("Task completion event dispatched",{taskId:b.taskId,taskTitle:b.taskTitle,status:b.status,executionId:b.executionId});let{broadcastNotification:c}=await a.A(489314);c({...b,type:"completion"})}catch{}}(0,f.ensureServerEntryExports)([h,i,j,k]),(0,b.registerServerReference)(h,"003e6e9539bd00fde1b083281b1fbd6752dcf13d07",null),(0,b.registerServerReference)(i,"406a8a03db6d67591674ab7ca63a17abfe2c4e72f7",null),(0,b.registerServerReference)(j,"4050d3cd9ba24becee3da103dd8463aa030c2303b5",null),(0,b.registerServerReference)(k,"40f8df5d6a159bf439fe06197ee2b23705fb4910ba",null),a.s(["completeOnboarding",0,j,"dispatchTaskCompletionEvent",0,k,"getOnboardingStatus",0,h,"setOnboardingProgress",0,i])},589578,a=>{a.v({className:"geist_a71539c9-module__T19VSG__className",variable:"geist_a71539c9-module__T19VSG__variable"})},435214,a=>{a.v({className:"geist_mono_8d43a2aa-module__8Li5zG__className",variable:"geist_mono_8d43a2aa-module__8Li5zG__variable"})},528350,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(824776);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx <module evaluation>","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipTrigger")},455508,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(824776);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx","TooltipTrigger")},802311,a=>{"use strict";a.i(528350);var b=a.i(455508);a.n(b)},294997,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/layout/layout-client.tsx <module evaluation>","LayoutClient")},648047,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/layout/layout-client.tsx","LayoutClient")},174594,a=>{"use strict";a.i(294997);var b=a.i(648047);a.n(b)},772819,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(824776);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/lib/i18n.tsx <module evaluation>","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/lib/i18n.tsx <module evaluation>","useI18n")},508373,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(824776);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/lib/i18n.tsx","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/lib/i18n.tsx","useI18n")},376536,a=>{"use strict";a.i(772819);var b=a.i(508373);a.n(b)},917666,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/providers/theme-provider.tsx <module evaluation>","ThemeProvider")},589401,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/providers/theme-provider.tsx","ThemeProvider")},655305,a=>{"use strict";a.i(917666);var b=a.i(589401);a.n(b)},346146,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/sonner.tsx <module evaluation>","Toaster")},145764,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/sonner.tsx","Toaster")},981016,a=>{"use strict";a.i(346146);var b=a.i(145764);a.n(b)},17488,a=>{"use strict";var b=a.i(906422),c=a.i(589578);let d={className:c.default.className,style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"}};null!=c.default.variable&&(d.variable=c.default.variable);var e=a.i(435214);let f={className:e.default.className,style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"}};null!=e.default.variable&&(f.variable=e.default.variable);var g=a.i(802311),h=a.i(174594),i=a.i(376536),j=a.i(655305),k=a.i(981016),l=a.i(284527),m=a.i(772887);async function n({children:a}){let[c,e]=await Promise.all([l.db.workspace.findMany({orderBy:{updatedAt:"desc"},select:{id:!0,name:!0,description:!0,updatedAt:!0}}),(0,m.getOnboardingStatus)()]);return(0,b.jsxs)("html",{lang:"zh-CN",suppressHydrationWarning:!0,children:[(0,b.jsxs)("head",{children:[(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,b.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@400;500;600&display=swap",rel:"stylesheet"})]}),(0,b.jsx)("body",{className:`${d.variable} ${f.variable} antialiased`,children:(0,b.jsx)(j.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,b.jsx)(g.TooltipProvider,{children:(0,b.jsxs)(i.I18nProvider,{children:[(0,b.jsx)(h.LayoutClient,{workspaces:c,isFirstRun:e.isFirstRun,username:e.username,children:a}),(0,b.jsx)(k.Toaster,{richColors:!0,position:"top-right"})]})})})})]})}a.s(["default",0,n,"metadata",0,{title:"AI Task Platform - Tower",description:"AI task orchestration and multi-project management platform"}],17488)},963340,a=>{a.n(a.i(17488))},489314,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__06sm5cw._.js"].map(b=>a.l(b))).then(()=>b(348858)))}];
1
+ module.exports=[43900,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},477714,(a,b,c)=>{b.exports=a.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},284527,a=>{"use strict";var b=a.i(477714);let c=globalThis.prisma??new b.PrismaClient({log:[]});process.on("SIGTERM",()=>{c.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{c.$disconnect().catch(()=>{})}),a.s(["db",0,c])},787084,a=>{"use strict";function b(a,b,c,d){let e=new Date().toISOString(),f=`[${e}] ${a.toUpperCase()} [${b}] ${c}`;return d&&Object.keys(d).length>0?`${f} ${JSON.stringify(d)}`:f}a.s(["logger",0,{create:function(a){return{info(c,d){console.log(b("info",a,c,d))},warn(c,d){console.warn(b("warn",a,c,d))},error(c,d,e){console.error(b("error",a,c,d instanceof Error?{...e,error:d.message,stack:d.stack}:{...e,error:String(d)}))}}},info(a,c){console.log(b("info","app",a,c))},warn(a,c){console.warn(b("warn","app",a,c))},error(a,c,d){console.error(b("error","app",a,c instanceof Error?{...d,error:c.message,stack:c.stack}:{...d,error:String(c)}))}}])},772887,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(787084),f=a.i(126892);let g=["onboarding.completed","onboarding.lastStep","onboarding.username"];async function h(){let a=await c.db.systemConfig.findMany({where:{key:{in:[...g]}}}),b={};for(let c of a)try{b[c.key]=JSON.parse(c.value)}catch{b[c.key]=null}let d=!0===b["onboarding.completed"],e=b["onboarding.lastStep"],f=b["onboarding.username"];return{isFirstRun:!d,isCompleted:d,lastStep:"number"==typeof e?e:0,username:"string"==typeof f&&f.length>0?f:null}}async function i(a){await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:JSON.stringify(a)},update:{value:JSON.stringify(a)}}),(0,d.revalidatePath)("/","layout")}async function j(a){if(await c.db.systemConfig.upsert({where:{key:"onboarding.completed"},create:{key:"onboarding.completed",value:"true"},update:{value:"true"}}),await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:"2"},update:{value:"2"}}),void 0!==a){let b=a.trim().slice(0,64).replace(/[\r\n]/g," ");b.length>0&&await c.db.systemConfig.upsert({where:{key:"onboarding.username"},create:{key:"onboarding.username",value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}(0,d.revalidatePath)("/","layout")}async function k(b){try{e.logger.create("task-completion").info("Task completion event dispatched",{taskId:b.taskId,taskTitle:b.taskTitle,status:b.status,executionId:b.executionId});let{broadcastNotification:c}=await a.A(489314);c({...b,type:"completion"})}catch{}}(0,f.ensureServerEntryExports)([h,i,j,k]),(0,b.registerServerReference)(h,"0000e2f79e5781f96d88642c8c95baca45e100db53",null),(0,b.registerServerReference)(i,"40dfc50cdbcd6adecb61d7633f79da5cb6213909b7",null),(0,b.registerServerReference)(j,"401b6083804009030d38d04c29047d9b43edd6bc02",null),(0,b.registerServerReference)(k,"40a5f1daadfc1e36fdf81b8b74cb2bc8cc717c7099",null),a.s(["completeOnboarding",0,j,"dispatchTaskCompletionEvent",0,k,"getOnboardingStatus",0,h,"setOnboardingProgress",0,i])},589578,a=>{a.v({className:"geist_a71539c9-module__T19VSG__className",variable:"geist_a71539c9-module__T19VSG__variable"})},435214,a=>{a.v({className:"geist_mono_8d43a2aa-module__8Li5zG__className",variable:"geist_mono_8d43a2aa-module__8Li5zG__variable"})},528350,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(824776);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx <module evaluation>","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipTrigger")},455508,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(824776);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/tooltip.tsx","TooltipTrigger")},802311,a=>{"use strict";a.i(528350);var b=a.i(455508);a.n(b)},294997,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/layout/layout-client.tsx <module evaluation>","LayoutClient")},648047,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/layout/layout-client.tsx","LayoutClient")},174594,a=>{"use strict";a.i(294997);var b=a.i(648047);a.n(b)},772819,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(824776);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/lib/i18n.tsx <module evaluation>","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/lib/i18n.tsx <module evaluation>","useI18n")},508373,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(824776);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/lib/i18n.tsx","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/lib/i18n.tsx","useI18n")},376536,a=>{"use strict";a.i(772819);var b=a.i(508373);a.n(b)},917666,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/providers/theme-provider.tsx <module evaluation>","ThemeProvider")},589401,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/providers/theme-provider.tsx","ThemeProvider")},655305,a=>{"use strict";a.i(917666);var b=a.i(589401);a.n(b)},346146,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/sonner.tsx <module evaluation>","Toaster")},145764,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(824776).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/tower/src/components/ui/sonner.tsx","Toaster")},981016,a=>{"use strict";a.i(346146);var b=a.i(145764);a.n(b)},17488,a=>{"use strict";var b=a.i(906422),c=a.i(589578);let d={className:c.default.className,style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"}};null!=c.default.variable&&(d.variable=c.default.variable);var e=a.i(435214);let f={className:e.default.className,style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"}};null!=e.default.variable&&(f.variable=e.default.variable);var g=a.i(802311),h=a.i(174594),i=a.i(376536),j=a.i(655305),k=a.i(981016),l=a.i(284527),m=a.i(772887);async function n({children:a}){let[c,e]=await Promise.all([l.db.workspace.findMany({orderBy:{updatedAt:"desc"},select:{id:!0,name:!0,description:!0,updatedAt:!0}}),(0,m.getOnboardingStatus)()]);return(0,b.jsxs)("html",{lang:"zh-CN",suppressHydrationWarning:!0,children:[(0,b.jsxs)("head",{children:[(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,b.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@400;500;600&display=swap",rel:"stylesheet"})]}),(0,b.jsx)("body",{className:`${d.variable} ${f.variable} antialiased`,children:(0,b.jsx)(j.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,b.jsx)(g.TooltipProvider,{children:(0,b.jsxs)(i.I18nProvider,{children:[(0,b.jsx)(h.LayoutClient,{workspaces:c,isFirstRun:e.isFirstRun,username:e.username,children:a}),(0,b.jsx)(k.Toaster,{richColors:!0,position:"top-right"})]})})})})]})}a.s(["default",0,n,"metadata",0,{title:"AI Task Platform - Tower",description:"AI task orchestration and multi-project management platform"}],17488)},963340,a=>{a.n(a.i(17488))},489314,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__06sm5cw._.js"].map(b=>a.l(b))).then(()=>b(348858)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0.8y0n9._.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"))},605389,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(787084);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])},827882,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(160223),f=a.i(605389),g=a.i(670221),h=a.i(548305),i=a.i(787084),j=a.i(126892);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(528814).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(93322);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,"4022f61d1885a5be9c26da7994c68667c12de722da",null),(0,b.registerServerReference)(m,"60af9bb4c12c5ad908eb74c7d14f1d1f25baea4eab",null),(0,b.registerServerReference)(n,"60a45f0f408b0c67e66915746ca036d0992662b7e0",null),(0,b.registerServerReference)(o,"40d56782fc445c91fb0c4b7d86f947f1978ca2ca58",null),(0,b.registerServerReference)(p,"402954ce15cb09643fd987734a958ccac0a2337b85",null),(0,b.registerServerReference)(q,"4063c8bcd08de88b4feaf9e92348e0eddc2352cd43",null),(0,b.registerServerReference)(r,"40aa0ce5b7b4a47fa808626a8950a493f7ae23cad0",null),(0,b.registerServerReference)(s,"40bfbc16a912de542a77473dcd9b380e4bb3c080f2",null),(0,b.registerServerReference)(t,"406a216a33797e8e8d95bd4b55e31a9e670f7acfe8",null),(0,b.registerServerReference)(u,"60b2324a08134cea27b48821a7151f989d0f6a9fb0",null),(0,b.registerServerReference)(v,"4019c459189166055772b1508ea485436454224a76",null),(0,b.registerServerReference)(w,"40d8da32e854939b5b722576ac72f259f0bcc9424d",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])},682224,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}],682224)},231133,a=>a.a(async(b,c)=>{try{var d=a.i(998503),e=a.i(902157),f=a.i(750227),g=a.i(670221),h=a.i(284527),i=a.i(391313),j=a.i(682224),k=a.i(501942),l=a.i(126892),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,"40de1591a9f44afbb625f4fe9be072145e90f798b1",null),(0,d.registerServerReference)(o,"400cfe057d51345844f16399d7ba3946dde3add963",null),(0,d.registerServerReference)(p,"40818ce2fe003cc30eef720c79416121bd741d4501",null),(0,d.registerServerReference)(q,"40332e3813fdea4b50746c7a5fb7b3f42a5e3f32f0",null),(0,d.registerServerReference)(r,"408c9300aec568993ad1ae39fbf87c6df2297f7651",null),(0,d.registerServerReference)(s,"40e34f13674cf61e45f58053581818363d5c4295b1",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),266398,a=>a.a(async(b,c)=>{try{a.i(245744),a.i(160223);var d=a.i(584115),e=a.i(501942);a.i(693724),a.i(772887);var f=a.i(231133);a.i(827882);var g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),889180,a=>a.a(async(b,c)=>{try{var d=a.i(266398),e=a.i(245744),f=a.i(160223),g=a.i(584115),h=a.i(501942),i=a.i(693724),j=a.i(772887),k=a.i(231133),l=a.i(827882),m=b([d,g,h,k]);[d,g,h,k]=m.then?(await m)():m,a.s(["0008e29d67b3a272dcb6583c4035eded39e6fc79b4",()=>h.getAvailableTerminalApps,"003e6e9539bd00fde1b083281b1fbd6752dcf13d07",()=>j.getOnboardingStatus,"008646a7348622ff1cbe7d9492bd3eb4298daba4cc",()=>e.getWorkspacesWithProjects,"00a308aee2014156a95b20a57017540ead067b4b62",()=>h.getActualWsPort,"00a6b1cc2226facd67953ecc07e54fa3da7fa45c0f",()=>h.getAvailableShells,"00f2308b8db066a00aed15e4205c3a0388b4778b0e",()=>h.getPlatformInfo,"4007431eec99a358fad17604b05f3f2257cc1f0cd1",()=>e.deleteProject,"400cfe057d51345844f16399d7ba3946dde3add963",()=>k.deleteAsset,"4019c459189166055772b1508ea485436454224a76",()=>l.getTaskOverview,"40332e3813fdea4b50746c7a5fb7b3f42a5e3f32f0",()=>k.getTaskAssets,"4033da9efec93a76fc0620d306c619b298322208ee",()=>h.resolveGitLocalPath,"40399a19bc838316ffdccd30cf1aaf685d0f6ebf6a",()=>h.getConfigValues,"40462fd9c59ff0a29ea62946b3d822498adc167bf9",()=>e.getProjectByLocalPath,"4050d3cd9ba24becee3da103dd8463aa030c2303b5",()=>j.completeOnboarding,"4052835964708c3d2b5d85b98110624ed61a4f2439",()=>e.createWorkspace,"405eec75d236488acfa8e40dc2816aaa96dc59466e",()=>e.getOrCreateTowerTaskId,"406a8a03db6d67591674ab7ca63a17abfe2c4e72f7",()=>j.setOnboardingProgress,"406d77475c2babb800fcb8428625e0d51a3e2735f2",()=>f.getLabelsForWorkspace,"406fb74dba771d9c62c45717b21428a9431e25105e",()=>e.createProject,"40818ce2fe003cc30eef720c79416121bd741d4501",()=>k.getProjectAssets,"4081d55346a0f46271878f3fcde1aef5f3c91f6346",()=>e.deleteWorkspace,"408c9300aec568993ad1ae39fbf87c6df2297f7651",()=>k.getAssetById,"40affac6e2d94f941de4352ef66bc770b735ee2daa",()=>e.getWorkspacesWithRecentTasks,"40b9eb4ca6399724b1d38410124c64367a8cfe3e00",()=>e.getRecentLocalProjects,"40cb1f872088018d4b1347bb3fca95fe0366ca425a",()=>f.deleteLabel,"40d3abd28d0a5bb431895dd4ac52143ab15cfccb6b",()=>i.checkMigrationSafety,"40d743864fd9095bbd9c7862aff96e4555c9f4b9d0",()=>e.getWorkspaceById,"40d766282a86cab7bf3dc801c30d35c206032d4955",()=>f.createLabel,"40de1591a9f44afbb625f4fe9be072145e90f798b1",()=>k.createAsset,"40e34f13674cf61e45f58053581818363d5c4295b1",()=>k.uploadAsset,"40f8df5d6a159bf439fe06197ee2b23705fb4910ba",()=>j.dispatchTaskCompletionEvent,"600fac665056812ea5f79dbd12710695302158346f",()=>e.updateProject,"601e95e0f8db1209731d6d794c1d7142a382eba10b",()=>g.globalSearch,"6043bbeef85f5a0ca7ea30b7734a1e2b721df9b056",()=>h.setConfigValue,"60449d4cf48fc16063e8c051c5e42076795b2fdcaf",()=>e.updateWorkspace,"60574fdac6089bf8fc377ba388554ac09dd4e6dcc4",()=>i.migrateProjectPath,"608f74258f56af793428aacdf2868255de1bdb130c",()=>h.getConfigValue,"608fbac53cc31e97f39b9f54af48f45fcf7700714c",()=>i.analyzeProjectDirectory]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_0obw2r8._.js"].map(b=>a.l(b))).then(()=>b(870282)))},93322,a=>{a.v(a=>Promise.resolve().then(()=>a(703714)))},702832,a=>{a.v(a=>Promise.resolve().then(()=>a(605389)))},148134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__04xn50b._.js"].map(b=>a.l(b))).then(()=>b(157256)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},528814,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0gsj3~.._.js"].map(b=>a.l(b))).then(()=>b(377780)))},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"))},605389,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(787084);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])},827882,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(160223),f=a.i(605389),g=a.i(670221),h=a.i(548305),i=a.i(787084),j=a.i(126892);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(528814).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(93322);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,"40be09b5b44f68338e716323ae63b5c060dbe67a98",null),(0,b.registerServerReference)(m,"6012ff7cefee13232d9d622da5dc83381e0d715935",null),(0,b.registerServerReference)(n,"60eb09d53d709a0abfc38243780a5c585f72c791fe",null),(0,b.registerServerReference)(o,"40e3dd28c55b473fec0951ad2303e18bcae5da94ad",null),(0,b.registerServerReference)(p,"4020e4992613d0054a809fe4fe7b039b97eb746225",null),(0,b.registerServerReference)(q,"40cfa7600cccb5b8b0a99ea775a4494049da5ebb38",null),(0,b.registerServerReference)(r,"4097eeb78fdb598ce503fa9204bdece27da2b763bc",null),(0,b.registerServerReference)(s,"405188d754af224a1b8cdc2b75a13090f47c19d036",null),(0,b.registerServerReference)(t,"40b2455cb970ebc4515f5b889c41bc7ce2ac6fc880",null),(0,b.registerServerReference)(u,"60cf9fe71b8c158269b3ac0046840a51cc51e8b2e8",null),(0,b.registerServerReference)(v,"4040f15d9ff7fcc9da879df4aca5559cfeb64a49bb",null),(0,b.registerServerReference)(w,"40e2e31042445684c01667b79b3fb02686b0ffd594",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])},682224,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}],682224)},231133,a=>a.a(async(b,c)=>{try{var d=a.i(998503),e=a.i(902157),f=a.i(750227),g=a.i(670221),h=a.i(284527),i=a.i(391313),j=a.i(682224),k=a.i(501942),l=a.i(126892),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,"401409edc63a67ed10fff420bb96cd884e3d00d79c",null),(0,d.registerServerReference)(o,"40cc4cd0ee7a00f9b6941c3dc3f6d13b961eb28d7a",null),(0,d.registerServerReference)(p,"40ba75a916021bce4504fd639c694823268bedd618",null),(0,d.registerServerReference)(q,"40730e9ec84d399520deaab7ae6d6dd0d82e786d22",null),(0,d.registerServerReference)(r,"40e83218952301826b9abe3ca39deecaec3ef7a4c4",null),(0,d.registerServerReference)(s,"40c362b37281f9c39d1d8a379212895d5c2432e77d",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),266398,a=>a.a(async(b,c)=>{try{a.i(245744),a.i(160223);var d=a.i(584115),e=a.i(501942);a.i(693724),a.i(772887);var f=a.i(231133);a.i(827882);var g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),889180,a=>a.a(async(b,c)=>{try{var d=a.i(266398),e=a.i(245744),f=a.i(160223),g=a.i(584115),h=a.i(501942),i=a.i(693724),j=a.i(772887),k=a.i(231133),l=a.i(827882),m=b([d,g,h,k]);[d,g,h,k]=m.then?(await m)():m,a.s(["0000e2f79e5781f96d88642c8c95baca45e100db53",()=>j.getOnboardingStatus,"0017fbf1a83554af7c1dbe28a92876053725669fef",()=>h.getPlatformInfo,"004c84c9bb6d0a951c6ccd77c4572df0106cfd3867",()=>h.getActualWsPort,"0064dade2d6202e2aa6a7485fe8656aa24e5136bd0",()=>h.getAvailableTerminalApps,"006c6ec68f5a7f99c79752a3f083ba27716c90fc04",()=>e.getWorkspacesWithProjects,"00a6d4d29a355d822b4c43630adaae5795f5af1928",()=>h.getAvailableShells,"400236ce08226357e9bd2a3c91aca1b80ff5242010",()=>e.getWorkspaceById,"400ec96ea780f444f49b80f4c49fb7f5dc2f66db0c",()=>i.checkMigrationSafety,"401409edc63a67ed10fff420bb96cd884e3d00d79c",()=>k.createAsset,"401a3fc838da1f714a6f41aa76324b912fe6c28d8c",()=>e.getProjectByLocalPath,"401b6083804009030d38d04c29047d9b43edd6bc02",()=>j.completeOnboarding,"403ab5ecbedc6ea354d97d507961c314232abb6853",()=>e.createProject,"4040f15d9ff7fcc9da879df4aca5559cfeb64a49bb",()=>l.getTaskOverview,"4061fb3b9dae5053bbce1d17553c2a593269c3535d",()=>e.deleteProject,"40730e9ec84d399520deaab7ae6d6dd0d82e786d22",()=>k.getTaskAssets,"407fdb60fdc795ce23d4643f351ab944f44190d0b0",()=>h.resolveGitLocalPath,"40975c1ba2a1b9a1d0a8f1a7dcd695ccc14e4121b0",()=>e.getOrCreateTowerTaskId,"409fd6de89d0e3ee0e8b6a6e96b23ab729693442ff",()=>e.createWorkspace,"40a5f1daadfc1e36fdf81b8b74cb2bc8cc717c7099",()=>j.dispatchTaskCompletionEvent,"40aafc71d9540a5453e68c04f6b00f9623e8a621e3",()=>f.getLabelsForWorkspace,"40b8961d191090773210b5a2b988968d61448c8410",()=>f.deleteLabel,"40ba75a916021bce4504fd639c694823268bedd618",()=>k.getProjectAssets,"40bf625cc6345400eb53997dc99a55da62bf926002",()=>e.getRecentLocalProjects,"40c362b37281f9c39d1d8a379212895d5c2432e77d",()=>k.uploadAsset,"40cc4cd0ee7a00f9b6941c3dc3f6d13b961eb28d7a",()=>k.deleteAsset,"40d6e9c9dd9c318e82ca11b087683302339718edfd",()=>f.createLabel,"40dc9cc29b66a065ce76f46d7ff9f363dd353974f2",()=>h.getConfigValues,"40dfc50cdbcd6adecb61d7633f79da5cb6213909b7",()=>j.setOnboardingProgress,"40e83218952301826b9abe3ca39deecaec3ef7a4c4",()=>k.getAssetById,"40ea0490fe368b21cc3cbcc3e2f636390c84ed3e22",()=>e.getWorkspacesWithRecentTasks,"40f160113003fdff4998a712f889a3153ba342972a",()=>e.deleteWorkspace,"601586f8d3427853ed8b6b693e69dc6af609eea755",()=>i.migrateProjectPath,"6035c71a13ef47bc6fa9aafcf3ecbec36630b4b95f",()=>e.updateWorkspace,"60481a02b04a77768d3e97a34f8ec6a44e1e7d3635",()=>e.updateProject,"605c4d77ca0b1873334e91b6a685b52366d0e0528c",()=>i.analyzeProjectDirectory,"6064679be0f2ea46f2f3277bdddc94b164dd35efea",()=>h.setConfigValue,"60bb829bb9c7a171ea35c042d1458e5bae7f05a8b1",()=>g.globalSearch,"60d3c311fdd64428acd28214b74f91feac51ecea79",()=>h.getConfigValue]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_0obw2r8._.js"].map(b=>a.l(b))).then(()=>b(870282)))},93322,a=>{a.v(a=>Promise.resolve().then(()=>a(703714)))},702832,a=>{a.v(a=>Promise.resolve().then(()=>a(605389)))},148134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__04xn50b._.js"].map(b=>a.l(b))).then(()=>b(157256)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},528814,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0gsj3~.._.js"].map(b=>a.l(b))).then(()=>b(377780)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__01ws4-7._.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"))},605389,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(787084);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])},827882,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(160223),f=a.i(605389),g=a.i(670221),h=a.i(548305),i=a.i(787084),j=a.i(126892);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(528814).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(93322);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,"4022f61d1885a5be9c26da7994c68667c12de722da",null),(0,b.registerServerReference)(m,"60af9bb4c12c5ad908eb74c7d14f1d1f25baea4eab",null),(0,b.registerServerReference)(n,"60a45f0f408b0c67e66915746ca036d0992662b7e0",null),(0,b.registerServerReference)(o,"40d56782fc445c91fb0c4b7d86f947f1978ca2ca58",null),(0,b.registerServerReference)(p,"402954ce15cb09643fd987734a958ccac0a2337b85",null),(0,b.registerServerReference)(q,"4063c8bcd08de88b4feaf9e92348e0eddc2352cd43",null),(0,b.registerServerReference)(r,"40aa0ce5b7b4a47fa808626a8950a493f7ae23cad0",null),(0,b.registerServerReference)(s,"40bfbc16a912de542a77473dcd9b380e4bb3c080f2",null),(0,b.registerServerReference)(t,"406a216a33797e8e8d95bd4b55e31a9e670f7acfe8",null),(0,b.registerServerReference)(u,"60b2324a08134cea27b48821a7151f989d0f6a9fb0",null),(0,b.registerServerReference)(v,"4019c459189166055772b1508ea485436454224a76",null),(0,b.registerServerReference)(w,"40d8da32e854939b5b722576ac72f259f0bcc9424d",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])},630214,a=>{"use strict";var b=a.i(998503),c=a.i(670221),d=a.i(284527),e=a.i(391313);async function f(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b.id),await a.$executeRawUnsafe("INSERT INTO notes_fts(note_id, title, content) VALUES (?, ?, ?)",b.id,b.title,b.content)}async function g(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b)}var h=a.i(126892);let i=c.z.object({title:c.z.string().min(1).max(200),content:c.z.string(),category:c.z.string().max(50).optional(),projectId:c.z.string().min(1),taskId:c.z.string().optional()}),j=c.z.object({title:c.z.string().min(1).max(200).optional(),content:c.z.string().optional(),category:c.z.string().max(50).optional()});async function k(a){let b=i.parse(a),c=await d.db.projectNote.create({data:{title:b.title,content:b.content,category:b.category??"备忘",projectId:b.projectId,taskId:b.taskId??null}});return await f(d.db,{id:c.id,title:c.title,content:c.content}),(0,e.revalidatePath)("/workspace"),c}async function l(a,b){let c=j.parse(b),g=await d.db.projectNote.update({where:{id:a},data:c});return await f(d.db,{id:g.id,title:g.title,content:g.content}),(0,e.revalidatePath)("/workspace"),g}async function m(a){await g(d.db,a),await d.db.projectNote.delete({where:{id:a}}),(0,e.revalidatePath)("/workspace")}async function n(a){return d.db.projectNote.findUnique({where:{id:a}})}async function o(a,b){return d.db.projectNote.findMany({where:{projectId:a,taskId:null,...b?.category?{category:b.category}:{}},orderBy:{updatedAt:"desc"}})}async function p(a){return d.db.projectNote.findMany({where:{taskId:a},orderBy:{updatedAt:"desc"}})}(0,h.ensureServerEntryExports)([k,l,m,n,o,p]),(0,b.registerServerReference)(k,"40007c6f77a5e79b9b4feabd63c242bbd0c6914827",null),(0,b.registerServerReference)(l,"60f6608685ac4d288e3d078d48f77f8324b70c810e",null),(0,b.registerServerReference)(m,"40dd000b9b23d057ddc8b2eefe5086c16b4deb0657",null),(0,b.registerServerReference)(n,"407751c0ab69a303581a946f795084170934bbf33c",null),(0,b.registerServerReference)(o,"60b5fbb1d294f85dc828eb4cc9adc9f27878ae3ff5",null),(0,b.registerServerReference)(p,"40c8646a4b63836771db2849abf97556ae8ec4f1b7",null),a.s(["createNote",0,k,"deleteNote",0,m,"getNoteById",0,n,"getProjectNotes",0,o,"getTaskNotes",0,p,"updateNote",0,l],630214)},682224,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}],682224)},231133,a=>a.a(async(b,c)=>{try{var d=a.i(998503),e=a.i(902157),f=a.i(750227),g=a.i(670221),h=a.i(284527),i=a.i(391313),j=a.i(682224),k=a.i(501942),l=a.i(126892),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,"40de1591a9f44afbb625f4fe9be072145e90f798b1",null),(0,d.registerServerReference)(o,"400cfe057d51345844f16399d7ba3946dde3add963",null),(0,d.registerServerReference)(p,"40818ce2fe003cc30eef720c79416121bd741d4501",null),(0,d.registerServerReference)(q,"40332e3813fdea4b50746c7a5fb7b3f42a5e3f32f0",null),(0,d.registerServerReference)(r,"408c9300aec568993ad1ae39fbf87c6df2297f7651",null),(0,d.registerServerReference)(s,"40e34f13674cf61e45f58053581818363d5c4295b1",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),359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);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")))}}])},697265,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(359869);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],697265)},514142,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313);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(126892).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"408ea8569fbeb88bb94d6cfaa372c2c69cf2e78140",null),(0,b.registerServerReference)(f,"40da6bc8b08e5a04b3d7d59d3d3fef295a81d5b58c",null),(0,b.registerServerReference)(g,"40dab4ce3686723e1500d7ddda2b44e3570a6ea7f6",null),(0,b.registerServerReference)(h,"6071a1e1d8668dd307ab4ef8d5d93548a89309dee0",null),(0,b.registerServerReference)(i,"40a58db332155a3a9a01888dbb09e9b32fa61aa303",null),(0,b.registerServerReference)(j,"60995789eba8497a2f6b2ec42ca4668ab2f07aff83",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},992704,a=>{"use strict";var b=a.i(998503),c=a.i(233405),d=a.i(814747),e=a.i(446786);function f(a){return a.startsWith("~/")||"~"===a?d.default.join(e.default.homedir(),a.slice(1)):a}async function g(a){if(!a?.trim())return null;let b=d.default.resolve(f(a));try{return(0,c.execSync)("git rev-parse --abbrev-ref HEAD",{cwd:b,encoding:"utf-8",timeout:5e3}).trim()}catch{return null}}async function h(a){if(!a?.trim())return[];let b=d.default.resolve(f(a));try{let a,d;return a=new Set((0,c.execSync)("git branch --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,""))),d=(0,c.execSync)("git branch -r --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,"").replace(/^origin\//,"")).filter(b=>"HEAD"!==b&&!a.has(b)),[...a,...d]}catch{return[]}}async function i(a){if(!a?.trim())return;let b=d.default.resolve(f(a));try{(0,c.spawn)("git",["fetch","--prune"],{cwd:b,stdio:"ignore",detached:!0}).unref()}catch{}}(0,a.i(126892).ensureServerEntryExports)([g,h,i]),(0,b.registerServerReference)(g,"4084c50da9591519b20e801d239bca7ee7da670e19",null),(0,b.registerServerReference)(h,"40b3cecd00d6dcaa740de3d2f44f17c15ca28d6d5b",null),(0,b.registerServerReference)(i,"40ac538448b52a2f304348ed51bd6cbe228550cbb2",null),a.s(["fetchRemoteBranches",0,i,"getCurrentBranch",0,g,"getProjectBranches",0,h])},848046,a=>a.a(async(b,c)=>{try{a.i(245744),a.i(160223);var d=a.i(584115),e=a.i(501942);a.i(693724),a.i(772887),a.i(992704),a.i(200082),a.i(827882),a.i(514142),a.i(630214);var f=a.i(231133),g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),301891,a=>a.a(async(b,c)=>{try{var d=a.i(848046),e=a.i(245744),f=a.i(160223),g=a.i(584115),h=a.i(501942),i=a.i(693724),j=a.i(772887),k=a.i(992704),l=a.i(200082),m=a.i(827882),n=a.i(514142),o=a.i(630214),p=a.i(231133),q=b([d,g,h,p]);[d,g,h,p]=q.then?(await q)():q,a.s(["003e6e9539bd00fde1b083281b1fbd6752dcf13d07",()=>j.getOnboardingStatus,"00a308aee2014156a95b20a57017540ead067b4b62",()=>h.getActualWsPort,"40007c6f77a5e79b9b4feabd63c242bbd0c6914827",()=>o.createNote,"4007431eec99a358fad17604b05f3f2257cc1f0cd1",()=>e.deleteProject,"400cfe057d51345844f16399d7ba3946dde3add963",()=>p.deleteAsset,"4022f61d1885a5be9c26da7994c68667c12de722da",()=>m.createTask,"402954ce15cb09643fd987734a958ccac0a2337b85",()=>m.deleteTask,"40332e3813fdea4b50746c7a5fb7b3f42a5e3f32f0",()=>p.getTaskAssets,"4033da9efec93a76fc0620d306c619b298322208ee",()=>h.resolveGitLocalPath,"4047135f0933191c5ee458162e6e6d92a29ed59f4b",()=>l.getTaskExecutions,"4050d3cd9ba24becee3da103dd8463aa030c2303b5",()=>j.completeOnboarding,"4052835964708c3d2b5d85b98110624ed61a4f2439",()=>e.createWorkspace,"405eec75d236488acfa8e40dc2816aaa96dc59466e",()=>e.getOrCreateTowerTaskId,"406a216a33797e8e8d95bd4b55e31a9e670f7acfe8",()=>m.checkWorktreeClean,"406a8a03db6d67591674ab7ca63a17abfe2c4e72f7",()=>j.setOnboardingProgress,"406c967913fe9145ac98ae71a6f0a5ff43b2845d20",()=>f.getTaskLabels,"406d77475c2babb800fcb8428625e0d51a3e2735f2",()=>f.getLabelsForWorkspace,"406fb74dba771d9c62c45717b21428a9431e25105e",()=>e.createProject,"4081d55346a0f46271878f3fcde1aef5f3c91f6346",()=>e.deleteWorkspace,"4084c50da9591519b20e801d239bca7ee7da670e19",()=>k.getCurrentBranch,"408ea8569fbeb88bb94d6cfaa372c2c69cf2e78140",()=>n.getPrompts,"40ac538448b52a2f304348ed51bd6cbe228550cbb2",()=>k.fetchRemoteBranches,"40b3cecd00d6dcaa740de3d2f44f17c15ca28d6d5b",()=>k.getProjectBranches,"40b9eb4ca6399724b1d38410124c64367a8cfe3e00",()=>e.getRecentLocalProjects,"40c8646a4b63836771db2849abf97556ae8ec4f1b7",()=>o.getTaskNotes,"40cb1f872088018d4b1347bb3fca95fe0366ca425a",()=>f.deleteLabel,"40d3abd28d0a5bb431895dd4ac52143ab15cfccb6b",()=>i.checkMigrationSafety,"40d3c7de8b64ddb900e3f7ac46ac802673feb23198",()=>l.stopPtyExecution,"40d56782fc445c91fb0c4b7d86f947f1978ca2ca58",()=>m.toggleTaskPinned,"40d766282a86cab7bf3dc801c30d35c206032d4955",()=>f.createLabel,"40dd000b9b23d057ddc8b2eefe5086c16b4deb0657",()=>o.deleteNote,"40e34f13674cf61e45f58053581818363d5c4295b1",()=>p.uploadAsset,"40f21730f368b920d8bd0817480ffbbc2b201c3e95",()=>l.continueLatestPtyExecution,"40f8df5d6a159bf439fe06197ee2b23705fb4910ba",()=>j.dispatchTaskCompletionEvent,"600fac665056812ea5f79dbd12710695302158346f",()=>e.updateProject,"601e95e0f8db1209731d6d794c1d7142a382eba10b",()=>g.globalSearch,"6043bbeef85f5a0ca7ea30b7734a1e2b721df9b056",()=>h.setConfigValue,"60449d4cf48fc16063e8c051c5e42076795b2fdcaf",()=>e.updateWorkspace,"60574fdac6089bf8fc377ba388554ac09dd4e6dcc4",()=>i.migrateProjectPath,"607d47f7159f261048faf87ff026b8508d0239fdaa",()=>l.resumePtyExecution,"608f74258f56af793428aacdf2868255de1bdb130c",()=>h.getConfigValue,"608fbac53cc31e97f39b9f54af48f45fcf7700714c",()=>i.analyzeProjectDirectory,"60a45f0f408b0c67e66915746ca036d0992662b7e0",()=>m.updateTask,"60af9bb4c12c5ad908eb74c7d14f1d1f25baea4eab",()=>m.updateTaskStatus,"60b2324a08134cea27b48821a7151f989d0f6a9fb0",()=>m.commitWorktreeChanges,"60fd11630cf2c2c6aeb85a6a020619598452bcbb6a",()=>f.setTaskLabels,"784ae1b90278fff4ac2f4d261a8f5298a3e7986b0a",()=>l.startPtyExecution]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_0rgfsuf._.js"].map(b=>a.l(b))).then(()=>b(870282)))},93322,a=>{a.v(a=>Promise.resolve().then(()=>a(703714)))},702832,a=>{a.v(a=>Promise.resolve().then(()=>a(605389)))},148134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0tuq2iz._.js"].map(b=>a.l(b))).then(()=>b(157256)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},528814,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0tc~.xl._.js"].map(b=>a.l(b))).then(()=>b(377780)))},414961,a=>{a.v(a=>Promise.resolve().then(()=>a(772887)))},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"))},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"))},605389,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(787084);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])},827882,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(160223),f=a.i(605389),g=a.i(670221),h=a.i(548305),i=a.i(787084),j=a.i(126892);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(528814).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(93322);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,"40be09b5b44f68338e716323ae63b5c060dbe67a98",null),(0,b.registerServerReference)(m,"6012ff7cefee13232d9d622da5dc83381e0d715935",null),(0,b.registerServerReference)(n,"60eb09d53d709a0abfc38243780a5c585f72c791fe",null),(0,b.registerServerReference)(o,"40e3dd28c55b473fec0951ad2303e18bcae5da94ad",null),(0,b.registerServerReference)(p,"4020e4992613d0054a809fe4fe7b039b97eb746225",null),(0,b.registerServerReference)(q,"40cfa7600cccb5b8b0a99ea775a4494049da5ebb38",null),(0,b.registerServerReference)(r,"4097eeb78fdb598ce503fa9204bdece27da2b763bc",null),(0,b.registerServerReference)(s,"405188d754af224a1b8cdc2b75a13090f47c19d036",null),(0,b.registerServerReference)(t,"40b2455cb970ebc4515f5b889c41bc7ce2ac6fc880",null),(0,b.registerServerReference)(u,"60cf9fe71b8c158269b3ac0046840a51cc51e8b2e8",null),(0,b.registerServerReference)(v,"4040f15d9ff7fcc9da879df4aca5559cfeb64a49bb",null),(0,b.registerServerReference)(w,"40e2e31042445684c01667b79b3fb02686b0ffd594",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])},630214,a=>{"use strict";var b=a.i(998503),c=a.i(670221),d=a.i(284527),e=a.i(391313);async function f(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b.id),await a.$executeRawUnsafe("INSERT INTO notes_fts(note_id, title, content) VALUES (?, ?, ?)",b.id,b.title,b.content)}async function g(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b)}var h=a.i(126892);let i=c.z.object({title:c.z.string().min(1).max(200),content:c.z.string(),category:c.z.string().max(50).optional(),projectId:c.z.string().min(1),taskId:c.z.string().optional()}),j=c.z.object({title:c.z.string().min(1).max(200).optional(),content:c.z.string().optional(),category:c.z.string().max(50).optional()});async function k(a){let b=i.parse(a),c=await d.db.projectNote.create({data:{title:b.title,content:b.content,category:b.category??"备忘",projectId:b.projectId,taskId:b.taskId??null}});return await f(d.db,{id:c.id,title:c.title,content:c.content}),(0,e.revalidatePath)("/workspace"),c}async function l(a,b){let c=j.parse(b),g=await d.db.projectNote.update({where:{id:a},data:c});return await f(d.db,{id:g.id,title:g.title,content:g.content}),(0,e.revalidatePath)("/workspace"),g}async function m(a){await g(d.db,a),await d.db.projectNote.delete({where:{id:a}}),(0,e.revalidatePath)("/workspace")}async function n(a){return d.db.projectNote.findUnique({where:{id:a}})}async function o(a,b){return d.db.projectNote.findMany({where:{projectId:a,taskId:null,...b?.category?{category:b.category}:{}},orderBy:{updatedAt:"desc"}})}async function p(a){return d.db.projectNote.findMany({where:{taskId:a},orderBy:{updatedAt:"desc"}})}(0,h.ensureServerEntryExports)([k,l,m,n,o,p]),(0,b.registerServerReference)(k,"403fad9ebe8b9e1dc7f1d84ba9f267d69f1e3f20c4",null),(0,b.registerServerReference)(l,"60b021782424769ccf051331f15e8143a514563074",null),(0,b.registerServerReference)(m,"40ac13c2e48d6ff0756d0719dc52cfb65d8122e8fb",null),(0,b.registerServerReference)(n,"402c599a184b6cea9da27cc16fc4d62aa42bce8d13",null),(0,b.registerServerReference)(o,"60472b00827db9471649abde9c128bb3ddf48c5c90",null),(0,b.registerServerReference)(p,"4044fd6d5f5ea95518857733d60cc74f94585d95a7",null),a.s(["createNote",0,k,"deleteNote",0,m,"getNoteById",0,n,"getProjectNotes",0,o,"getTaskNotes",0,p,"updateNote",0,l],630214)},682224,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}],682224)},231133,a=>a.a(async(b,c)=>{try{var d=a.i(998503),e=a.i(902157),f=a.i(750227),g=a.i(670221),h=a.i(284527),i=a.i(391313),j=a.i(682224),k=a.i(501942),l=a.i(126892),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,"401409edc63a67ed10fff420bb96cd884e3d00d79c",null),(0,d.registerServerReference)(o,"40cc4cd0ee7a00f9b6941c3dc3f6d13b961eb28d7a",null),(0,d.registerServerReference)(p,"40ba75a916021bce4504fd639c694823268bedd618",null),(0,d.registerServerReference)(q,"40730e9ec84d399520deaab7ae6d6dd0d82e786d22",null),(0,d.registerServerReference)(r,"40e83218952301826b9abe3ca39deecaec3ef7a4c4",null),(0,d.registerServerReference)(s,"40c362b37281f9c39d1d8a379212895d5c2432e77d",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),359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);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")))}}])},697265,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(359869);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],697265)},514142,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313);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(126892).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"40b16fc79d05bc036b0b898cc5c16d7ecd20566252",null),(0,b.registerServerReference)(f,"40ff9a9098a5c0e3e784bdc5d04ebca2df2dc3a67c",null),(0,b.registerServerReference)(g,"403ace48c62cdd56db88b85c44d847d5b1a2a2315e",null),(0,b.registerServerReference)(h,"6026ab430111b7c84e36d6ae7c6a83bc294fbe8f63",null),(0,b.registerServerReference)(i,"405c413b51a86b2b3628e8ffab27155fc36ae88d80",null),(0,b.registerServerReference)(j,"604232d1e702ec23d3a6daf49011a9274a496eeaf9",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},992704,a=>{"use strict";var b=a.i(998503),c=a.i(233405),d=a.i(814747),e=a.i(446786);function f(a){return a.startsWith("~/")||"~"===a?d.default.join(e.default.homedir(),a.slice(1)):a}async function g(a){if(!a?.trim())return null;let b=d.default.resolve(f(a));try{return(0,c.execSync)("git rev-parse --abbrev-ref HEAD",{cwd:b,encoding:"utf-8",timeout:5e3}).trim()}catch{return null}}async function h(a){if(!a?.trim())return[];let b=d.default.resolve(f(a));try{let a,d;return a=new Set((0,c.execSync)("git branch --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,""))),d=(0,c.execSync)("git branch -r --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,"").replace(/^origin\//,"")).filter(b=>"HEAD"!==b&&!a.has(b)),[...a,...d]}catch{return[]}}async function i(a){if(!a?.trim())return;let b=d.default.resolve(f(a));try{(0,c.spawn)("git",["fetch","--prune"],{cwd:b,stdio:"ignore",detached:!0}).unref()}catch{}}(0,a.i(126892).ensureServerEntryExports)([g,h,i]),(0,b.registerServerReference)(g,"408dd6eccf56b77a51c145a05cf649024c811a7762",null),(0,b.registerServerReference)(h,"408d59ca4a7d1153317461f67fe8db1d20891638a1",null),(0,b.registerServerReference)(i,"40e06500b3292b2e07b9ee7f5c2fb594efe17a0a90",null),a.s(["fetchRemoteBranches",0,i,"getCurrentBranch",0,g,"getProjectBranches",0,h])},848046,a=>a.a(async(b,c)=>{try{a.i(245744),a.i(160223);var d=a.i(584115),e=a.i(501942);a.i(693724),a.i(772887),a.i(992704),a.i(200082),a.i(827882),a.i(514142),a.i(630214);var f=a.i(231133),g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),301891,a=>a.a(async(b,c)=>{try{var d=a.i(848046),e=a.i(245744),f=a.i(160223),g=a.i(584115),h=a.i(501942),i=a.i(693724),j=a.i(772887),k=a.i(992704),l=a.i(200082),m=a.i(827882),n=a.i(514142),o=a.i(630214),p=a.i(231133),q=b([d,g,h,p]);[d,g,h,p]=q.then?(await q)():q,a.s(["0000e2f79e5781f96d88642c8c95baca45e100db53",()=>j.getOnboardingStatus,"004c84c9bb6d0a951c6ccd77c4572df0106cfd3867",()=>h.getActualWsPort,"400ec96ea780f444f49b80f4c49fb7f5dc2f66db0c",()=>i.checkMigrationSafety,"4011c20f397521b7a2fda78f6c6f5fffadc27042c9",()=>f.getTaskLabels,"401b6083804009030d38d04c29047d9b43edd6bc02",()=>j.completeOnboarding,"4020e4992613d0054a809fe4fe7b039b97eb746225",()=>m.deleteTask,"40277c58c7db736b9f772aa25c27e2efec4c1ec24c",()=>l.stopPtyExecution,"403ab5ecbedc6ea354d97d507961c314232abb6853",()=>e.createProject,"403fad9ebe8b9e1dc7f1d84ba9f267d69f1e3f20c4",()=>o.createNote,"4044fd6d5f5ea95518857733d60cc74f94585d95a7",()=>o.getTaskNotes,"4061fb3b9dae5053bbce1d17553c2a593269c3535d",()=>e.deleteProject,"40730e9ec84d399520deaab7ae6d6dd0d82e786d22",()=>p.getTaskAssets,"407fdb60fdc795ce23d4643f351ab944f44190d0b0",()=>h.resolveGitLocalPath,"408d59ca4a7d1153317461f67fe8db1d20891638a1",()=>k.getProjectBranches,"408dd6eccf56b77a51c145a05cf649024c811a7762",()=>k.getCurrentBranch,"40975c1ba2a1b9a1d0a8f1a7dcd695ccc14e4121b0",()=>e.getOrCreateTowerTaskId,"409dfba5eaab2515ac1954906b83d50b3c628f1d1b",()=>l.continueLatestPtyExecution,"409fd6de89d0e3ee0e8b6a6e96b23ab729693442ff",()=>e.createWorkspace,"40a5f1daadfc1e36fdf81b8b74cb2bc8cc717c7099",()=>j.dispatchTaskCompletionEvent,"40aafc71d9540a5453e68c04f6b00f9623e8a621e3",()=>f.getLabelsForWorkspace,"40ac13c2e48d6ff0756d0719dc52cfb65d8122e8fb",()=>o.deleteNote,"40b16fc79d05bc036b0b898cc5c16d7ecd20566252",()=>n.getPrompts,"40b2455cb970ebc4515f5b889c41bc7ce2ac6fc880",()=>m.checkWorktreeClean,"40b8961d191090773210b5a2b988968d61448c8410",()=>f.deleteLabel,"40be09b5b44f68338e716323ae63b5c060dbe67a98",()=>m.createTask,"40bf625cc6345400eb53997dc99a55da62bf926002",()=>e.getRecentLocalProjects,"40c362b37281f9c39d1d8a379212895d5c2432e77d",()=>p.uploadAsset,"40cc4cd0ee7a00f9b6941c3dc3f6d13b961eb28d7a",()=>p.deleteAsset,"40d6e9c9dd9c318e82ca11b087683302339718edfd",()=>f.createLabel,"40dfc50cdbcd6adecb61d7633f79da5cb6213909b7",()=>j.setOnboardingProgress,"40e06500b3292b2e07b9ee7f5c2fb594efe17a0a90",()=>k.fetchRemoteBranches,"40e3dd28c55b473fec0951ad2303e18bcae5da94ad",()=>m.toggleTaskPinned,"40ed6873e031184384c0ecf15f815a13de5820bfa1",()=>l.getTaskExecutions,"40f160113003fdff4998a712f889a3153ba342972a",()=>e.deleteWorkspace,"6012ff7cefee13232d9d622da5dc83381e0d715935",()=>m.updateTaskStatus,"601586f8d3427853ed8b6b693e69dc6af609eea755",()=>i.migrateProjectPath,"6035c71a13ef47bc6fa9aafcf3ecbec36630b4b95f",()=>e.updateWorkspace,"60481a02b04a77768d3e97a34f8ec6a44e1e7d3635",()=>e.updateProject,"605c4d77ca0b1873334e91b6a685b52366d0e0528c",()=>i.analyzeProjectDirectory,"6064679be0f2ea46f2f3277bdddc94b164dd35efea",()=>h.setConfigValue,"60655c0c0525575e489567a3b545da3741ccceff8c",()=>f.setTaskLabels,"608a1e69db59b3af747f4194ccb8b2db70f034437c",()=>l.resumePtyExecution,"60bb829bb9c7a171ea35c042d1458e5bae7f05a8b1",()=>g.globalSearch,"60cf9fe71b8c158269b3ac0046840a51cc51e8b2e8",()=>m.commitWorktreeChanges,"60d3c311fdd64428acd28214b74f91feac51ecea79",()=>h.getConfigValue,"60eb09d53d709a0abfc38243780a5c585f72c791fe",()=>m.updateTask,"780fbf51c8301f404b2c4273b548d05ab19803b5ac",()=>l.startPtyExecution]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_0rgfsuf._.js"].map(b=>a.l(b))).then(()=>b(870282)))},93322,a=>{a.v(a=>Promise.resolve().then(()=>a(703714)))},702832,a=>{a.v(a=>Promise.resolve().then(()=>a(605389)))},148134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0tuq2iz._.js"].map(b=>a.l(b))).then(()=>b(157256)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},528814,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0tc~.xl._.js"].map(b=>a.l(b))).then(()=>b(377780)))},414961,a=>{a.v(a=>Promise.resolve().then(()=>a(772887)))},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__02ipahf._.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"))},642948,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},885950,a=>{"use strict";let b=(0,a.i(173250).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],885950)},784108,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("608f74258f56af793428aacdf2868255de1bdb130c",b.callServer,void 0,b.findSourceMapURL,"getConfigValue");a.s(["getConfigValue",0,c])},661964,a=>{"use strict";var b,c=a.i(348273);a.s([],197987),a.i(197987);var d=a.i(399424),e=a.i(514310),f=a.i(867276),g=a.i(702151),h=a.i(36902),i=a.i(176604),j=a.i(490003),k=a.i(944921),l=a.i(163683),m=a.i(371410),n=a.i(566155),o=a.i(873946);let p=d.createContext(void 0);var q=a.i(166775);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(766230),u=a.i(136185),v=a.i(87142),w=a.i(33885),x=a.i(886173),y=a.i(662933),z=a.i(739631),A=a.i(873010);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],681441);var D=a.i(681441),D=D,E=a.i(707466);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"})})}],661964)},901927,a=>{"use strict";let b=(0,a.i(173250).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],901927)},919379,a=>{"use strict";var b=a.i(399424),c=a.i(566155),d=a.i(944921);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])},340626,a=>{"use strict";var b=a.i(575400);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)}])},422917,a=>{"use strict";var b=a.i(348273),c=a.i(919379),d=a.i(340626),e=a.i(707466);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})}])},17787,3862,a=>{"use strict";let b=(0,a.i(173250).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["default",0,b],3862),a.s(["X",0,b],17787)},116840,a=>{"use strict";let b=(0,a.i(173250).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])},379458,a=>{"use strict";let b=(0,a.i(173250).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},280844,a=>{"use strict";let b=(0,a.i(173250).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],280844)},560874,a=>{"use strict";var b=a.i(348273),c=a.i(707466);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))})}])},706193,a=>{"use strict";var b=a.i(399424),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}])},948355,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("6043bbeef85f5a0ca7ea30b7734a1e2b721df9b056",b.callServer,void 0,b.findSourceMapURL,"setConfigValue");a.s(["setConfigValue",0,c])},538186,167727,a=>{"use strict";var b=a.i(173250);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],538186);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],167727)}];
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"))},642948,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},885950,a=>{"use strict";let b=(0,a.i(173250).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],885950)},686058,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("60d3c311fdd64428acd28214b74f91feac51ecea79",b.callServer,void 0,b.findSourceMapURL,"getConfigValue");a.s(["getConfigValue",0,c])},661964,a=>{"use strict";var b,c=a.i(348273);a.s([],197987),a.i(197987);var d=a.i(399424),e=a.i(514310),f=a.i(867276),g=a.i(702151),h=a.i(36902),i=a.i(176604),j=a.i(490003),k=a.i(944921),l=a.i(163683),m=a.i(371410),n=a.i(566155),o=a.i(873946);let p=d.createContext(void 0);var q=a.i(166775);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(766230),u=a.i(136185),v=a.i(87142),w=a.i(33885),x=a.i(886173),y=a.i(662933),z=a.i(739631),A=a.i(873010);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],681441);var D=a.i(681441),D=D,E=a.i(707466);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"})})}],661964)},901927,a=>{"use strict";let b=(0,a.i(173250).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],901927)},919379,a=>{"use strict";var b=a.i(399424),c=a.i(566155),d=a.i(944921);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])},340626,a=>{"use strict";var b=a.i(575400);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)}])},422917,a=>{"use strict";var b=a.i(348273),c=a.i(919379),d=a.i(340626),e=a.i(707466);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})}])},17787,3862,a=>{"use strict";let b=(0,a.i(173250).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["default",0,b],3862),a.s(["X",0,b],17787)},116840,a=>{"use strict";let b=(0,a.i(173250).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])},379458,a=>{"use strict";let b=(0,a.i(173250).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},280844,a=>{"use strict";let b=(0,a.i(173250).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],280844)},560874,a=>{"use strict";var b=a.i(348273),c=a.i(707466);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))})}])},706193,a=>{"use strict";var b=a.i(399424),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}])},397267,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("6064679be0f2ea46f2f3277bdddc94b164dd35efea",b.callServer,void 0,b.findSourceMapURL,"setConfigValue");a.s(["setConfigValue",0,c])},538186,167727,a=>{"use strict";var b=a.i(173250);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],538186);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],167727)}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0i1tzvg._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__08_0ex9._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);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")))}}])},697265,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(359869);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],697265)},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},605389,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(787084);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])},827882,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(160223),f=a.i(605389),g=a.i(670221),h=a.i(548305),i=a.i(787084),j=a.i(126892);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(528814).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(93322);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,"4022f61d1885a5be9c26da7994c68667c12de722da",null),(0,b.registerServerReference)(m,"60af9bb4c12c5ad908eb74c7d14f1d1f25baea4eab",null),(0,b.registerServerReference)(n,"60a45f0f408b0c67e66915746ca036d0992662b7e0",null),(0,b.registerServerReference)(o,"40d56782fc445c91fb0c4b7d86f947f1978ca2ca58",null),(0,b.registerServerReference)(p,"402954ce15cb09643fd987734a958ccac0a2337b85",null),(0,b.registerServerReference)(q,"4063c8bcd08de88b4feaf9e92348e0eddc2352cd43",null),(0,b.registerServerReference)(r,"40aa0ce5b7b4a47fa808626a8950a493f7ae23cad0",null),(0,b.registerServerReference)(s,"40bfbc16a912de542a77473dcd9b380e4bb3c080f2",null),(0,b.registerServerReference)(t,"406a216a33797e8e8d95bd4b55e31a9e670f7acfe8",null),(0,b.registerServerReference)(u,"60b2324a08134cea27b48821a7151f989d0f6a9fb0",null),(0,b.registerServerReference)(v,"4019c459189166055772b1508ea485436454224a76",null),(0,b.registerServerReference)(w,"40d8da32e854939b5b722576ac72f259f0bcc9424d",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])},20317,a=>{"use strict";var b=a.i(998503),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(988594),j=a.i(126892);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,"70bbc25c22696edfb5b539918017c4cf2eabd9cdf5",null),(0,b.registerServerReference)(l,"40a4cbf7bdbb266d524a890ea62c07e8a159e95b0d",null),(0,b.registerServerReference)(m,"40147e710994237546b5075377961c3ac1641c3878",null),(0,b.registerServerReference)(o,"40501732ea446df50236c8eec161d0fa22375ef8db",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],20317)},207292,a=>a.a(async(b,c)=>{try{a.i(245744),a.i(160223);var d=a.i(584115),e=a.i(501942);a.i(693724),a.i(772887),a.i(200082),a.i(20317),a.i(827882);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),973820,a=>a.a(async(b,c)=>{try{var d=a.i(207292),e=a.i(245744),f=a.i(160223),g=a.i(584115),h=a.i(501942),i=a.i(693724),j=a.i(772887),k=a.i(200082),l=a.i(20317),m=a.i(827882),n=b([d,g,h]);[d,g,h]=n.then?(await n)():n,a.s(["0014f15c969c980aa4f372768360135b01c9760165",()=>k.getActiveExecutionsAcrossWorkspaces,"003e6e9539bd00fde1b083281b1fbd6752dcf13d07",()=>j.getOnboardingStatus,"00a308aee2014156a95b20a57017540ead067b4b62",()=>h.getActualWsPort,"4033da9efec93a76fc0620d306c619b298322208ee",()=>h.resolveGitLocalPath,"40399a19bc838316ffdccd30cf1aaf685d0f6ebf6a",()=>h.getConfigValues,"4047135f0933191c5ee458162e6e6d92a29ed59f4b",()=>k.getTaskExecutions,"40501732ea446df50236c8eec161d0fa22375ef8db",()=>l.openInTerminal,"4050d3cd9ba24becee3da103dd8463aa030c2303b5",()=>j.completeOnboarding,"4052835964708c3d2b5d85b98110624ed61a4f2439",()=>e.createWorkspace,"4063c8bcd08de88b4feaf9e92348e0eddc2352cd43",()=>m.getProjectTasks,"406a8a03db6d67591674ab7ca63a17abfe2c4e72f7",()=>j.setOnboardingProgress,"406d77475c2babb800fcb8428625e0d51a3e2735f2",()=>f.getLabelsForWorkspace,"406fb74dba771d9c62c45717b21428a9431e25105e",()=>e.createProject,"4081d55346a0f46271878f3fcde1aef5f3c91f6346",()=>e.deleteWorkspace,"40affac6e2d94f941de4352ef66bc770b735ee2daa",()=>e.getWorkspacesWithRecentTasks,"40c781bcf5f2d820e508850bc2999667fea2af4b4e",()=>k.getTaskMessages,"40cb1f872088018d4b1347bb3fca95fe0366ca425a",()=>f.deleteLabel,"40d3abd28d0a5bb431895dd4ac52143ab15cfccb6b",()=>i.checkMigrationSafety,"40d3c7de8b64ddb900e3f7ac46ac802673feb23198",()=>k.stopPtyExecution,"40d766282a86cab7bf3dc801c30d35c206032d4955",()=>f.createLabel,"40f21730f368b920d8bd0817480ffbbc2b201c3e95",()=>k.continueLatestPtyExecution,"40f8df5d6a159bf439fe06197ee2b23705fb4910ba",()=>j.dispatchTaskCompletionEvent,"601e95e0f8db1209731d6d794c1d7142a382eba10b",()=>g.globalSearch,"60330564158ae1a77022ac7d952c883e50f212369f",()=>k.stopTaskExecution,"6043bbeef85f5a0ca7ea30b7734a1e2b721df9b056",()=>h.setConfigValue,"60449d4cf48fc16063e8c051c5e42076795b2fdcaf",()=>e.updateWorkspace,"60574fdac6089bf8fc377ba388554ac09dd4e6dcc4",()=>i.migrateProjectPath,"607d47f7159f261048faf87ff026b8508d0239fdaa",()=>k.resumePtyExecution,"608f74258f56af793428aacdf2868255de1bdb130c",()=>h.getConfigValue,"608fbac53cc31e97f39b9f54af48f45fcf7700714c",()=>i.analyzeProjectDirectory,"60fd02be1199a75ab601e3d0cf94400db69ad080f4",()=>k.sendTaskMessage,"784ae1b90278fff4ac2f4d261a8f5298a3e7986b0a",()=>k.startPtyExecution,"78e3691aa6b1ec2884874a5aeb698d9155b46db783",()=>k.startTaskExecution]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_0ja~kdb._.js"].map(b=>a.l(b))).then(()=>b(870282)))},93322,a=>{a.v(a=>Promise.resolve().then(()=>a(703714)))},702832,a=>{a.v(a=>Promise.resolve().then(()=>a(605389)))},148134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0d.car1._.js"].map(b=>a.l(b))).then(()=>b(157256)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},528814,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0-omr_b._.js"].map(b=>a.l(b))).then(()=>b(377780)))},414961,a=>{a.v(a=>Promise.resolve().then(()=>a(772887)))},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"))},359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);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")))}}])},697265,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(359869);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],697265)},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},605389,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(787084);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])},827882,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(160223),f=a.i(605389),g=a.i(670221),h=a.i(548305),i=a.i(787084),j=a.i(126892);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(528814).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(93322);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,"40be09b5b44f68338e716323ae63b5c060dbe67a98",null),(0,b.registerServerReference)(m,"6012ff7cefee13232d9d622da5dc83381e0d715935",null),(0,b.registerServerReference)(n,"60eb09d53d709a0abfc38243780a5c585f72c791fe",null),(0,b.registerServerReference)(o,"40e3dd28c55b473fec0951ad2303e18bcae5da94ad",null),(0,b.registerServerReference)(p,"4020e4992613d0054a809fe4fe7b039b97eb746225",null),(0,b.registerServerReference)(q,"40cfa7600cccb5b8b0a99ea775a4494049da5ebb38",null),(0,b.registerServerReference)(r,"4097eeb78fdb598ce503fa9204bdece27da2b763bc",null),(0,b.registerServerReference)(s,"405188d754af224a1b8cdc2b75a13090f47c19d036",null),(0,b.registerServerReference)(t,"40b2455cb970ebc4515f5b889c41bc7ce2ac6fc880",null),(0,b.registerServerReference)(u,"60cf9fe71b8c158269b3ac0046840a51cc51e8b2e8",null),(0,b.registerServerReference)(v,"4040f15d9ff7fcc9da879df4aca5559cfeb64a49bb",null),(0,b.registerServerReference)(w,"40e2e31042445684c01667b79b3fb02686b0ffd594",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])},20317,a=>{"use strict";var b=a.i(998503),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(988594),j=a.i(126892);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,"7013a4bb6224800d2845c480f66bdfbe1f8af12517",null),(0,b.registerServerReference)(l,"40d481d5610daa941058e2d57a889d912c21c5b86b",null),(0,b.registerServerReference)(m,"40d428d2c844cd3881af976c00b97f8249f60abada",null),(0,b.registerServerReference)(o,"4018b6a7fcc515b60e597ce3c1cf00952eb01c589a",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],20317)},207292,a=>a.a(async(b,c)=>{try{a.i(245744),a.i(160223);var d=a.i(584115),e=a.i(501942);a.i(693724),a.i(772887),a.i(200082),a.i(20317),a.i(827882);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),973820,a=>a.a(async(b,c)=>{try{var d=a.i(207292),e=a.i(245744),f=a.i(160223),g=a.i(584115),h=a.i(501942),i=a.i(693724),j=a.i(772887),k=a.i(200082),l=a.i(20317),m=a.i(827882),n=b([d,g,h]);[d,g,h]=n.then?(await n)():n,a.s(["00007a5674cb89cfda231d35cfcc39eb813fc36891",()=>k.getActiveExecutionsAcrossWorkspaces,"0000e2f79e5781f96d88642c8c95baca45e100db53",()=>j.getOnboardingStatus,"004c84c9bb6d0a951c6ccd77c4572df0106cfd3867",()=>h.getActualWsPort,"400ec96ea780f444f49b80f4c49fb7f5dc2f66db0c",()=>i.checkMigrationSafety,"4018b6a7fcc515b60e597ce3c1cf00952eb01c589a",()=>l.openInTerminal,"401b6083804009030d38d04c29047d9b43edd6bc02",()=>j.completeOnboarding,"40233935341d7e756ee3f5db1ad0ba3480c97d4c06",()=>k.getTaskMessages,"40277c58c7db736b9f772aa25c27e2efec4c1ec24c",()=>k.stopPtyExecution,"403ab5ecbedc6ea354d97d507961c314232abb6853",()=>e.createProject,"407fdb60fdc795ce23d4643f351ab944f44190d0b0",()=>h.resolveGitLocalPath,"409dfba5eaab2515ac1954906b83d50b3c628f1d1b",()=>k.continueLatestPtyExecution,"409fd6de89d0e3ee0e8b6a6e96b23ab729693442ff",()=>e.createWorkspace,"40a5f1daadfc1e36fdf81b8b74cb2bc8cc717c7099",()=>j.dispatchTaskCompletionEvent,"40aafc71d9540a5453e68c04f6b00f9623e8a621e3",()=>f.getLabelsForWorkspace,"40b8961d191090773210b5a2b988968d61448c8410",()=>f.deleteLabel,"40cfa7600cccb5b8b0a99ea775a4494049da5ebb38",()=>m.getProjectTasks,"40d6e9c9dd9c318e82ca11b087683302339718edfd",()=>f.createLabel,"40dc9cc29b66a065ce76f46d7ff9f363dd353974f2",()=>h.getConfigValues,"40dfc50cdbcd6adecb61d7633f79da5cb6213909b7",()=>j.setOnboardingProgress,"40ea0490fe368b21cc3cbcc3e2f636390c84ed3e22",()=>e.getWorkspacesWithRecentTasks,"40ed6873e031184384c0ecf15f815a13de5820bfa1",()=>k.getTaskExecutions,"40f160113003fdff4998a712f889a3153ba342972a",()=>e.deleteWorkspace,"601586f8d3427853ed8b6b693e69dc6af609eea755",()=>i.migrateProjectPath,"6035c71a13ef47bc6fa9aafcf3ecbec36630b4b95f",()=>e.updateWorkspace,"605c4d77ca0b1873334e91b6a685b52366d0e0528c",()=>i.analyzeProjectDirectory,"6064679be0f2ea46f2f3277bdddc94b164dd35efea",()=>h.setConfigValue,"608a1e69db59b3af747f4194ccb8b2db70f034437c",()=>k.resumePtyExecution,"60a9e99f427fd0f0ff2441040a067bd1c2ee05cb5c",()=>k.sendTaskMessage,"60bb829bb9c7a171ea35c042d1458e5bae7f05a8b1",()=>g.globalSearch,"60d3c311fdd64428acd28214b74f91feac51ecea79",()=>h.getConfigValue,"60d7d06b61d7ee83dccdd74d0ced3f61eba459f570",()=>k.stopTaskExecution,"780fbf51c8301f404b2c4273b548d05ab19803b5ac",()=>k.startPtyExecution,"78cd87ccaf5f012a904278b562b9a2983e4afd081d",()=>k.startTaskExecution]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_0ja~kdb._.js"].map(b=>a.l(b))).then(()=>b(870282)))},93322,a=>{a.v(a=>Promise.resolve().then(()=>a(703714)))},702832,a=>{a.v(a=>Promise.resolve().then(()=>a(605389)))},148134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0d.car1._.js"].map(b=>a.l(b))).then(()=>b(157256)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},528814,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0-omr_b._.js"].map(b=>a.l(b))).then(()=>b(377780)))},414961,a=>{a.v(a=>Promise.resolve().then(()=>a(772887)))},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__0bk3s4l._.js.map