tower-studio 0.1.0 → 0.1.1
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/diagnostics/route-bundle-stats.json +38 -38
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +0 -1
- package/.next/required-server-files.json +0 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/_not-found/page/server-reference-manifest.json +23 -23
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +14 -14
- package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +14 -14
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +9 -9
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/missions/page/server-reference-manifest.json +51 -51
- package/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/onboarding/page/server-reference-manifest.json +23 -23
- package/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding.html +1 -1
- package/.next/server/app/onboarding.rsc +16 -16
- package/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
- package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
- package/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +23 -23
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/page/server-reference-manifest.json +32 -32
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +16 -16
- package/.next/server/app/settings.segments/_full.segment.rsc +16 -16
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +9 -9
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +79 -79
- package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +70 -70
- package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +61 -61
- package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +51 -51
- package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +23 -23
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +56 -56
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/page/server-reference-manifest.json +43 -43
- package/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13~vb_i.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__043lk8~._.js +2 -2
- package/.next/server/chunks/ssr/0~.g_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_0bbseig._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0.8y0n9._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__01ws4-7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__02ipahf._.js +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__0h44~z8._.js → [root-of-the-server]__03swpls._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0bk3s4l._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0l~dc3x._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0rs7pkn._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sysz2q._.js +3 -3
- package/.next/server/chunks/ssr/{[root-of-the-server]__0deh_.r._.js → [root-of-the-server]__0v0dk_o._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0vpgotk._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0y-lkvf._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__12f810l._.js +1 -1
- package/.next/server/chunks/ssr/tower_0_i~57x._.js +3 -0
- package/.next/server/chunks/ssr/{tower_0j.-goc._.js → tower_0agzi_m._.js} +2 -2
- package/.next/server/chunks/ssr/tower_0kl_bfy._.js +1 -1
- package/.next/server/chunks/ssr/{tower_0mocaf7._.js → tower_0le1h0h._.js} +2 -2
- package/.next/server/chunks/ssr/tower_0mz4ut.._.js +1 -1
- package/.next/server/chunks/ssr/tower_0pcqezm._.js +1 -1
- package/.next/server/chunks/ssr/{tower_0txw7ny._.js → tower_0rdk81e._.js} +2 -2
- package/.next/server/chunks/ssr/tower_0wvk~r.._.js +1 -1
- package/.next/server/chunks/ssr/{tower_0x1wfcs._.js → tower_0xg_zeq._.js} +2 -2
- package/.next/server/chunks/ssr/{tower_11f_poc._.js → tower_0~oir9k._.js} +2 -2
- package/.next/server/chunks/ssr/tower_10p15te._.js +1 -1
- package/.next/server/chunks/ssr/tower_117pzh8._.js +1 -1
- package/.next/server/chunks/ssr/tower_11q5_.m._.js +1 -1
- package/.next/server/chunks/ssr/tower_138qlx5._.js +1 -1
- package/.next/server/chunks/ssr/tower_src_0puzd-6._.js +3 -0
- package/.next/server/chunks/ssr/tower_src_actions_agent-actions_ts_0j.e1tn._.js +1 -1
- package/.next/server/chunks/ssr/tower_src_actions_file-actions_ts_0424lna._.js +1 -1
- package/.next/server/chunks/ssr/tower_src_app_missions_missions-client_tsx_0a9vjyr._.js +1 -1
- package/.next/server/chunks/ssr/tower_src_app_onboarding_page_tsx_0_3krz1._.js +1 -1
- package/.next/server/chunks/ssr/tower_src_app_settings_page_tsx_0vo5e-o._.js +1 -1
- package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0zfgzhi._.js +1 -1
- package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0kjp1u0._.js +1 -1
- package/.next/server/chunks/tower_0a-x6m.._.js +1 -1
- package/.next/server/chunks/tower_src_0..vg-t._.js +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +214 -214
- package/.next/static/chunks/0.uav~g39w7rr.js +1 -0
- package/.next/static/chunks/{11_3ea_a8knah.js → 02f8le_y~6gnd.js} +1 -1
- package/.next/static/chunks/{0o.ks3~iuzx4r.js → 06-mw~zl.diaf.js} +1 -1
- package/.next/static/chunks/{023~s6crmvsm8.js → 06fsp5nfga486.js} +1 -1
- package/.next/static/chunks/{0c.0-8lt3bz.1.js → 07~c.vc82_c1-.js} +1 -1
- package/.next/static/chunks/{179_l7917u3p2.js → 0amhu3hs4zxxw.js} +1 -1
- package/.next/static/chunks/0drgc-oztq6o-.css +1 -0
- package/.next/static/chunks/{0vg49pdw~qd37.js → 0k_9.73yz~q10.js} +1 -1
- package/.next/static/chunks/0ltsz~s~e4wzu.js +1 -0
- package/.next/static/chunks/{051mi_101oh.a.js → 0mf7~j7tvqr46.js} +1 -1
- package/.next/static/chunks/{0gt7r3-vbdfj9.js → 0qe.8bmmwuucu.js} +1 -1
- package/.next/static/chunks/0qpq1~6v-eql7.js +1 -0
- package/.next/static/chunks/0uxf0jd91e-0r.js +1 -0
- package/.next/static/chunks/{0r1oyqeuqr030.js → 0vn2y~4w7u3ui.js} +1 -1
- package/.next/static/chunks/{0ziax8rwv_767.js → 15gjy.xhhriy8.js} +2 -2
- package/.next/static/chunks/{0qagt5x67~~sx.js → 16ft9mdv3zwse.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/next.config.ts +1 -1
- package/package.json +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0iluaa1._.js +0 -3
- package/.next/server/chunks/ssr/tower_0h2g2_e._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_0u.-h7b._.js +0 -3
- package/.next/static/chunks/08g2tlzp2n4gz.js +0 -1
- package/.next/static/chunks/0_guif4s2s3q..css +0 -1
- package/.next/static/chunks/0q5~5fua-vef8.js +0 -1
- package/.next/static/chunks/0v1_be48b8jhu.js +0 -1
- package/.next/static/chunks/18augppu.eqk1.js +0 -1
- /package/.next/static/{BIQ1l5etqo7aJnbnv-Bqt → dwsGxWRLV_FPRJyEkai5s}/_buildManifest.js +0 -0
- /package/.next/static/{BIQ1l5etqo7aJnbnv-Bqt → dwsGxWRLV_FPRJyEkai5s}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{BIQ1l5etqo7aJnbnv-Bqt → dwsGxWRLV_FPRJyEkai5s}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[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,"40cf6c1859117748ed14e7118f8d998ebb2a8f27ba",null),(0,b.registerServerReference)(m,"6031daff48e2b45377a9f6d7b6eb537a5a7c75419f",null),(0,b.registerServerReference)(n,"6071bd920224e9ac37946b832b602d7b24aad84773",null),(0,b.registerServerReference)(o,"40930e46b4a2c5bfc95280c12ca816a2412a67bf67",null),(0,b.registerServerReference)(p,"40269a0e5984cb6757999424cadbd96e9bdc199b50",null),(0,b.registerServerReference)(q,"400f931429f2a4f8c7f8e1a5d492ca3143839fc45b",null),(0,b.registerServerReference)(r,"400881dc40bca3fa2fedad51ea3e9dd6127ad8503a",null),(0,b.registerServerReference)(s,"40c95dfa086fe8f7b7265c8074f33084476195adfa",null),(0,b.registerServerReference)(t,"40e2ef9cfdff35887d82f5e52b0343c8aa064a4c7f",null),(0,b.registerServerReference)(u,"6091e6fbec741a0762aec992240fcd7c555080c3d9",null),(0,b.registerServerReference)(v,"40e5938aa52d0aa16a6ece106bd5a593c97babf0f6",null),(0,b.registerServerReference)(w,"400d16af455af3d3786ac4b118f7b083bd2f4b54b3",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])},183174,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(827882);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),284161,a=>a.a(async(b,c)=>{try{var d=a.i(183174),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(827882),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["001dd80fe37bbdb476d40ee3aca7ce5fff1e4affd3",()=>j.getOnboardingStatus,"00b7eae21237f9057ae05fc89743cfe4afff37e1d1",()=>h.getActualWsPort,"00eaa3c3c469422d12e3f0f967bea1fe9ae6255f0d",()=>e.getWorkspacesWithProjects,"400881dc40bca3fa2fedad51ea3e9dd6127ad8503a",()=>k.searchTasks,"400d16af455af3d3786ac4b118f7b083bd2f4b54b3",()=>k.getArchivedTaskCount,"400f931429f2a4f8c7f8e1a5d492ca3143839fc45b",()=>k.getProjectTasks,"401ffb7a2c372d300b324d6236162f37868e4cedcf",()=>f.createLabel,"40269a0e5984cb6757999424cadbd96e9bdc199b50",()=>k.deleteTask,"4027617f852a0470bfa1ef8389ba6fc84b5ce227d0",()=>h.resolveGitLocalPath,"402a0c75a3707e6c13c818eac9ee8118fc5344d89c",()=>e.deleteProject,"402f0ff6d94ed4ac587b83a00f736fafc08c87926e",()=>f.getLabelsForWorkspace,"40367069c92f4799ae44be7005a5311da959341d39",()=>i.checkMigrationSafety,"40393a10491ecd044960ad88649e1833d52238a7be",()=>j.dispatchTaskCompletionEvent,"40429088f426ec8fafd80558d3978f09d94570103a",()=>e.getRecentLocalProjects,"404f001000d7a9fd2f8b1ad449919e9514adbbfa88",()=>e.getWorkspacesWithRecentTasks,"40527d6e10a1745c51a0a9ffd192a9e74e880400f2",()=>j.completeOnboarding,"406945679a2ed467bcf9f443c616ca406566b10e84",()=>e.createProject,"406a62bd9cd6b1a4bca82c8daed58624442f44dfa1",()=>e.getWorkspaceById,"40930e46b4a2c5bfc95280c12ca816a2412a67bf67",()=>k.toggleTaskPinned,"40b0ecb3b3d2c63c9a40f31db86242d963dc63465e",()=>f.deleteLabel,"40c28959ba69022f40e31b0e13f169f058bd7603ed",()=>f.getTaskLabels,"40c95dfa086fe8f7b7265c8074f33084476195adfa",()=>k.getArchivedTasks,"40cf6c1859117748ed14e7118f8d998ebb2a8f27ba",()=>k.createTask,"40d21bd4c25eced0d3b76b04af1ef30e966383fdb2",()=>e.getOrCreateTowerTaskId,"40da8820ce2a36b35aa91266678f5f65bd76de41f8",()=>j.setOnboardingProgress,"40e284d0affbfc5dab1ab6118453cdb85386729ec4",()=>e.deleteWorkspace,"40e2ef9cfdff35887d82f5e52b0343c8aa064a4c7f",()=>k.checkWorktreeClean,"40e5938aa52d0aa16a6ece106bd5a593c97babf0f6",()=>k.getTaskOverview,"40eff18c286d0645a87d16a5d168c93bd0d24d57e4",()=>e.getProjectByLocalPath,"40fdaf8a2061f48b7c6c3bf53809ebc17208e3ff34",()=>e.createWorkspace,"600207e0744dfe37495c218be782a0bfb30701e916",()=>i.migrateProjectPath,"6031daff48e2b45377a9f6d7b6eb537a5a7c75419f",()=>k.updateTaskStatus,"6044146d7f7a3c3f41623a7cd430c9db50c0933ba9",()=>h.setConfigValue,"604c021029ee9851cf8ba37f532fca192421425539",()=>g.globalSearch,"6071bd920224e9ac37946b832b602d7b24aad84773",()=>k.updateTask,"6084b4b1449ee073e4934c2b9f82eed7258f3b99e1",()=>f.setTaskLabels,"6091e6fbec741a0762aec992240fcd7c555080c3d9",()=>k.commitWorktreeChanges,"60ac76f518b7ba6b5c6d1b6c9459b4898014a85611",()=>h.getConfigValue,"60acd70db0a2f7e7e476202e7119b37e137305f019",()=>i.analyzeProjectDirectory,"60d0eb7d2e029569ea749e944fcd325b0018454a83",()=>e.updateProject,"60fcf2f0b66e68c74b986ae9b194d8700d18b70e7c",()=>e.updateWorkspace]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_01420_4._.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]__1223b0_._.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]__06o5v8i._.js"].map(b=>a.l(b))).then(()=>b(377780)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
|
|
1
|
+
module.exports=[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,"401d99cb9570cdaa0e5921a5e6e4b6d88d5069e72e",null),(0,b.registerServerReference)(m,"601fc56bc936bf802ec7aac5fb6fdfee34c17293ff",null),(0,b.registerServerReference)(n,"60fc14c737e7affbcdac5bcad5b602ff46710ee717",null),(0,b.registerServerReference)(o,"408b5b009a2ee7ab3eb33f122519d7663c525c7479",null),(0,b.registerServerReference)(p,"40bfe502f8d134b32e4fc087ce719739c82a56109f",null),(0,b.registerServerReference)(q,"40135613f92147bd38bf30615005c52f9aeadf11d3",null),(0,b.registerServerReference)(r,"40eacb56061a6a4af293cb4afcd020a87daeb3e51a",null),(0,b.registerServerReference)(s,"402572e436278319318d97572904b4b2457e68edf3",null),(0,b.registerServerReference)(t,"40fea9224868c1a15421bdee8a053b20283b3bb8b8",null),(0,b.registerServerReference)(u,"6090c0e8a20957323ccaaa23cfdb5fb61eb3c11374",null),(0,b.registerServerReference)(v,"40c2c0c07e368f29ef86c643e2ab5dfe9a145fed22",null),(0,b.registerServerReference)(w,"40a6a92f88fcba212e0422080b4d3f31e190370720",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])},183174,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(827882);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),284161,a=>a.a(async(b,c)=>{try{var d=a.i(183174),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(827882),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["000aa0201d3da49985af24347794aa2a7d5414e92f",()=>j.getOnboardingStatus,"0055bd033108a2e7dff9544389a879e96e003b5c0a",()=>h.getActualWsPort,"00cfc1cbbaa0e3f800fabda86f2ef0a9e603b7fc6d",()=>e.getWorkspacesWithProjects,"400b7f133e28e89b0387649c38609fae5fb871e73a",()=>e.deleteWorkspace,"40135613f92147bd38bf30615005c52f9aeadf11d3",()=>k.getProjectTasks,"401503368c9decac1b3d8b14f29c6691cde06a3fef",()=>f.createLabel,"401d99cb9570cdaa0e5921a5e6e4b6d88d5069e72e",()=>k.createTask,"402572e436278319318d97572904b4b2457e68edf3",()=>k.getArchivedTasks,"40275ae914558cbf323b3f33269e46948537c6e7c1",()=>e.getWorkspacesWithRecentTasks,"403f49295741bccc4ed82c66f9c8891697f701cba8",()=>f.getTaskLabels,"40416858563dfcda6ad71f496e52f1c8ee5c6d10bf",()=>j.dispatchTaskCompletionEvent,"404206c6060c3322641729ddce3abb89d38576e15c",()=>e.deleteProject,"4058e8e4d312485dc58d5764250264411ed6d63a89",()=>j.setOnboardingProgress,"405b29fc4e26dc9ccbd23717c35edef73bb1138ced",()=>i.checkMigrationSafety,"406296ed89890f32faf3f37111aa09bcdf45834027",()=>e.getProjectByLocalPath,"40664364b95b3b5a227f56340eb589c889776e78fb",()=>e.createWorkspace,"406cdedc87de27d3c504d53d054a8cb84a172ff400",()=>f.getLabelsForWorkspace,"4070f38bc997ea067370eed4b14f25482cd6fc16e8",()=>e.getOrCreateTowerTaskId,"408b5b009a2ee7ab3eb33f122519d7663c525c7479",()=>k.toggleTaskPinned,"4096680d6a4a8e5bfd1c701be533f9de9240c37aaf",()=>f.deleteLabel,"40a6a92f88fcba212e0422080b4d3f31e190370720",()=>k.getArchivedTaskCount,"40bfe502f8d134b32e4fc087ce719739c82a56109f",()=>k.deleteTask,"40c2c0c07e368f29ef86c643e2ab5dfe9a145fed22",()=>k.getTaskOverview,"40cb88b84f1a5315c10a26e42571f44d4c42cd7e3f",()=>e.getWorkspaceById,"40d15c9bded9be00ce540df2d7b7f052445490bfd9",()=>e.getRecentLocalProjects,"40df2ebb30174c80ce20f8ebf38fad10c969c0e97f",()=>j.completeOnboarding,"40eacb56061a6a4af293cb4afcd020a87daeb3e51a",()=>k.searchTasks,"40fcf870561199cd7c5d576202c9d659faf650df77",()=>h.resolveGitLocalPath,"40fea9224868c1a15421bdee8a053b20283b3bb8b8",()=>k.checkWorktreeClean,"40ff045525e13df0ce44875c7bd1d8cc43f76b126d",()=>e.createProject,"601fc56bc936bf802ec7aac5fb6fdfee34c17293ff",()=>k.updateTaskStatus,"60320d47298b010f431f90d55a8e2068ba4aec2870",()=>h.setConfigValue,"6077486b91b4600a30ae403d32023b9e75730e4c05",()=>e.updateWorkspace,"60830852add5609d46f1fa921dc10becc42c34cf9a",()=>e.updateProject,"6090c0e8a20957323ccaaa23cfdb5fb61eb3c11374",()=>k.commitWorktreeChanges,"60b0796f41581e28a124adebe3c3e1fe4a0705d3ad",()=>i.analyzeProjectDirectory,"60e490cf59a00c89c16874b64fb8c23438fde0af94",()=>h.getConfigValue,"60ef442946db5cf98424ec8c47bde0f4fe2a64102c",()=>f.setTaskLabels,"60ef5b03e946c7b42fa6df66b4bddcfc7b2dfea33e",()=>i.migrateProjectPath,"60fbab8700474e53a0e400a32e40f79ba99dd9c527",()=>g.globalSearch,"60fc14c737e7affbcdac5bcad5b602ff46710ee717",()=>k.updateTask]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_01420_4._.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]__1223b0_._.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]__06o5v8i._.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__0l~dc3x._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},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,"40cf6c1859117748ed14e7118f8d998ebb2a8f27ba",null),(0,b.registerServerReference)(m,"6031daff48e2b45377a9f6d7b6eb537a5a7c75419f",null),(0,b.registerServerReference)(n,"6071bd920224e9ac37946b832b602d7b24aad84773",null),(0,b.registerServerReference)(o,"40930e46b4a2c5bfc95280c12ca816a2412a67bf67",null),(0,b.registerServerReference)(p,"40269a0e5984cb6757999424cadbd96e9bdc199b50",null),(0,b.registerServerReference)(q,"400f931429f2a4f8c7f8e1a5d492ca3143839fc45b",null),(0,b.registerServerReference)(r,"400881dc40bca3fa2fedad51ea3e9dd6127ad8503a",null),(0,b.registerServerReference)(s,"40c95dfa086fe8f7b7265c8074f33084476195adfa",null),(0,b.registerServerReference)(t,"40e2ef9cfdff35887d82f5e52b0343c8aa064a4c7f",null),(0,b.registerServerReference)(u,"6091e6fbec741a0762aec992240fcd7c555080c3d9",null),(0,b.registerServerReference)(v,"40e5938aa52d0aa16a6ece106bd5a593c97babf0f6",null),(0,b.registerServerReference)(w,"400d16af455af3d3786ac4b118f7b083bd2f4b54b3",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])},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,"4047321a7abdfaaf09ebfaccc7c6f5575ea987fa11",null),(0,b.registerServerReference)(f,"400fd163018400da0b1bdc88a32409019c8ab8bc3f",null),(0,b.registerServerReference)(g,"40a96e3561ff4fad065391c23cb9514544526dda83",null),(0,b.registerServerReference)(h,"60a7c715de5f2967f031923b575f07b0b95111a232",null),(0,b.registerServerReference)(i,"40dfe3fb9f232a4108a544ab9b66f3994e220bfe4f",null),(0,b.registerServerReference)(j,"60b09634685f6283f9e034a401d413dd7e0b42b7a8",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},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,"70947192da794b7a590edf8d14812f710314522efe",null),(0,b.registerServerReference)(l,"409b4e80d45b70c2866a88478cb51579ac40b55b9d",null),(0,b.registerServerReference)(m,"40a2f5fed9e246bb0a3e763d4f92c366c908f43182",null),(0,b.registerServerReference)(o,"40e02b1de9e99ce6b035a489d0e3b46be7af5d4173",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],20317)},103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_0i-zjpa._.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_0h3r32m._.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_0r7uuim._.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"))},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,"401d99cb9570cdaa0e5921a5e6e4b6d88d5069e72e",null),(0,b.registerServerReference)(m,"601fc56bc936bf802ec7aac5fb6fdfee34c17293ff",null),(0,b.registerServerReference)(n,"60fc14c737e7affbcdac5bcad5b602ff46710ee717",null),(0,b.registerServerReference)(o,"408b5b009a2ee7ab3eb33f122519d7663c525c7479",null),(0,b.registerServerReference)(p,"40bfe502f8d134b32e4fc087ce719739c82a56109f",null),(0,b.registerServerReference)(q,"40135613f92147bd38bf30615005c52f9aeadf11d3",null),(0,b.registerServerReference)(r,"40eacb56061a6a4af293cb4afcd020a87daeb3e51a",null),(0,b.registerServerReference)(s,"402572e436278319318d97572904b4b2457e68edf3",null),(0,b.registerServerReference)(t,"40fea9224868c1a15421bdee8a053b20283b3bb8b8",null),(0,b.registerServerReference)(u,"6090c0e8a20957323ccaaa23cfdb5fb61eb3c11374",null),(0,b.registerServerReference)(v,"40c2c0c07e368f29ef86c643e2ab5dfe9a145fed22",null),(0,b.registerServerReference)(w,"40a6a92f88fcba212e0422080b4d3f31e190370720",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])},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,"40c9f4e50b0e1ed71eaaab93bfe9ce73fddd28d884",null),(0,b.registerServerReference)(f,"40aff46d8447a5cfd3a65d516226c756edc09f0bf5",null),(0,b.registerServerReference)(g,"40fd4dbd0ec33a0db611a73e8fb6b26b34b592bff7",null),(0,b.registerServerReference)(h,"60ca22a89eface4a0c7877ca1b4d39b476a3113ae5",null),(0,b.registerServerReference)(i,"400e93570ba0b5c0f939726dd5adb9f3c9e9c76a89",null),(0,b.registerServerReference)(j,"60e86c155919f10693c34322b2e240f8e7d92a59e5",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},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,"709966785dbfd0bb3723e0f4ff0e372732c1099b18",null),(0,b.registerServerReference)(l,"407e016d2bf03345328153639e8a4fcaef2ec1bf9d",null),(0,b.registerServerReference)(m,"405ca85eb63aa103b7b979fffded205479e8d278c1",null),(0,b.registerServerReference)(o,"406ace73fa66f80c83acaaec980439ec83b119040f",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],20317)},103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_src_lib_0i-zjpa._.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_0h3r32m._.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_0r7uuim._.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__0rs7pkn._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[229596,a=>{"use strict";var b=a.i(446786),c=a.i(814747);function d(a){return a.startsWith("~/")?c.default.join(b.default.homedir(),a.slice(2)):a}function e(a){let b,c=a.match(/^git@([^:]+):(.+)$/);if(c)return{host:c[1],pathSegments:f(c[2]).split("/").filter(Boolean)};try{b=new URL(a)}catch{return null}return{host:b.hostname,pathSegments:f(decodeURIComponent(b.pathname)).split("/").filter(Boolean)}}function f(a){return a.replace(/\.git\/?$/,"")}a.s(["expandHome",0,d,"gitUrlToLocalPath",0,function(a){let b=a.trim();if(!b)return"";try{let a=e(b);if(!a)return"";let{host:f,pathSegments:g}=a;if("code.iflytek.com"===f){let a,b;return d((a=[...g],"osc"===a[0]&&"_source"===a[1]&&(a=a.slice(2)),((b=a.indexOf("-"))>0&&(a=a.slice(0,b)),0===a.length)?"":`~/company/${a.join("/")}`))}if("github.com"===f){var c;let a,b;return d((a=(c=g)[0],b=c[1],a&&b?`${"jp-liu"===a?"~/project/i":"~/project/f"}/${b}`:""))}let h=g[g.length-1];return h?d(`~/project/f/${h}`):""}catch{return""}},"matchGitPathRule",0,function(a,b){if(!b.length)return"";let c=a.trim();if(!c)return"";let f=e(c);if(!f)return"";let{host:g,pathSegments:h}=f,i=h[0]??"",j=h[h.length-1]??"",k=[...b].sort((a,b)=>{let c=+("*"===a.ownerMatch),d=+("*"===b.ownerMatch);return c!==d?c-d:a.priority-b.priority}),l=h.join("/");for(let a of k){if(a.host!==g||"*"!==a.ownerMatch&&a.ownerMatch!==i)continue;let b=a.localPathTemplate;if(b.includes("{path}"))return d(b.replace("{path}",l).replace("{owner}",i).replace("{repo}",j).replace(/\/+$/,""));let c=b.replace("{owner}",i).replace("{repo}","").replace(/\/+$/,"");return d(`${c}/${j}`)}return""}])},245744,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(548305),f=a.i(229596);async function g(){return c.db.workspace.findMany({select:{id:!0,name:!0,projects:{select:{id:!0,name:!0,alias:!0},orderBy:{createdAt:"asc"}}},orderBy:{updatedAt:"desc"}})}async function h(a){return c.db.workspace.findUnique({where:{id:a},include:{projects:{include:{tasks:{orderBy:[{order:"asc"},{createdAt:"desc"}]},repositories:!0}}}})}async function i(a){let b=e.createWorkspaceSchema.parse(a),f=await c.db.workspace.create({data:b});return(0,d.revalidatePath)("/workspaces"),f}async function j(a,b){let f=e.updateWorkspaceSchema.parse(b),g=await c.db.workspace.update({where:{id:a},data:f});return(0,d.revalidatePath)("/workspaces"),g}async function k(a){if(await c.db.workspace.count()<=1)throw Error("Cannot delete the last workspace");await c.db.workspace.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function l(b){let g=e.createProjectSchema.parse(b),h=await c.db.project.create({data:{name:g.name,alias:g.alias,description:g.description,type:g.gitUrl?"GIT":"NORMAL",gitUrl:g.gitUrl||void 0,localPath:g.localPath?(0,f.expandHome)(g.localPath):void 0,projectType:g.projectType,previewCommand:g.previewCommand,workspaceId:g.workspaceId}});try{let{ensureTowerTask:b}=await a.A(103488);await b(h.id,g.name)}catch(a){console.warn("Failed to auto-create Tower task",a)}return(0,d.revalidatePath)("/workspaces"),h}async function m(a,b){let g={...e.updateProjectSchema.parse(b)};g.localPath&&(g.localPath=(0,f.expandHome)(g.localPath));let h=await c.db.project.update({where:{id:a},data:g});return(0,d.revalidatePath)("/workspaces"),h}async function n(b){let e=await c.db.task.findMany({where:{projectId:b},include:{project:{select:{localPath:!0}}}}),{destroySession:f}=await a.A(93322),{removeWorktree:g}=await a.A(702832);for(let a of e){try{f(a.id)}catch{}if(await c.db.taskExecution.updateMany({where:{taskId:a.id,status:{in:["PENDING","RUNNING","PAUSED"]}},data:{status:"FAILED",endedAt:new Date}}),a.project?.localPath)try{await g(a.project.localPath,a.id)}catch{}["DONE","CANCELLED"].includes(a.status)||await c.db.task.update({where:{id:a.id},data:{status:"CANCELLED"}})}await c.db.project.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function o(a){return c.db.project.findFirst({where:{localPath:a},include:{workspace:!0}})}async function p(a=3){return c.db.workspace.findMany({select:{id:!0,name:!0,projects:{select:{id:!0,name:!0,alias:!0,tasks:{where:{status:{in:["TODO","IN_PROGRESS","IN_REVIEW"]}},select:{id:!0,title:!0,status:!0,priority:!0,executions:{where:{sessionId:{not:null}},select:{sessionId:!0},orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"},take:a},_count:{select:{tasks:{where:{status:{in:["TODO","IN_PROGRESS","IN_REVIEW"]}}}}}},orderBy:{createdAt:"asc"}}},orderBy:{updatedAt:"desc"}})}async function q(a=10){return c.db.project.findMany({where:{localPath:{not:null}},select:{id:!0,name:!0,alias:!0,localPath:!0,workspaceId:!0,type:!0,updatedAt:!0},orderBy:{updatedAt:"desc"},take:a})}async function r(b){let d=await c.db.project.findUnique({where:{id:b},select:{id:!0,name:!0}});if(!d)throw Error("Project not found");let{ensureTowerTask:e}=await a.A(103488);return e(d.id,d.name)}(0,a.i(126892).ensureServerEntryExports)([g,h,i,j,k,l,m,n,o,p,q,r]),(0,b.registerServerReference)(g,"00eaa3c3c469422d12e3f0f967bea1fe9ae6255f0d",null),(0,b.registerServerReference)(h,"406a62bd9cd6b1a4bca82c8daed58624442f44dfa1",null),(0,b.registerServerReference)(i,"40fdaf8a2061f48b7c6c3bf53809ebc17208e3ff34",null),(0,b.registerServerReference)(j,"60fcf2f0b66e68c74b986ae9b194d8700d18b70e7c",null),(0,b.registerServerReference)(k,"40e284d0affbfc5dab1ab6118453cdb85386729ec4",null),(0,b.registerServerReference)(l,"406945679a2ed467bcf9f443c616ca406566b10e84",null),(0,b.registerServerReference)(m,"60d0eb7d2e029569ea749e944fcd325b0018454a83",null),(0,b.registerServerReference)(n,"402a0c75a3707e6c13c818eac9ee8118fc5344d89c",null),(0,b.registerServerReference)(o,"40eff18c286d0645a87d16a5d168c93bd0d24d57e4",null),(0,b.registerServerReference)(p,"404f001000d7a9fd2f8b1ad449919e9514adbbfa88",null),(0,b.registerServerReference)(q,"40429088f426ec8fafd80558d3978f09d94570103a",null),(0,b.registerServerReference)(r,"40d21bd4c25eced0d3b76b04af1ef30e966383fdb2",null),a.s(["createProject",0,l,"createWorkspace",0,i,"deleteProject",0,n,"deleteWorkspace",0,k,"getOrCreateTowerTaskId",0,r,"getProjectByLocalPath",0,o,"getRecentLocalProjects",0,q,"getWorkspaceById",0,h,"getWorkspacesWithProjects",0,g,"getWorkspacesWithRecentTasks",0,p,"updateProject",0,m,"updateWorkspace",0,j])},600628,a=>{"use strict";a.s(["CONFIG_DEFAULTS",0,{"git.pathMappingRules":{defaultValue:[],type:"object",label:"Git Path Mapping Rules"},"system.maxUploadBytes":{defaultValue:0x3200000,type:"number",label:"Max Upload Size (bytes)"},"system.maxConcurrentExecutions":{defaultValue:20,type:"number",label:"Max Concurrent Executions"},"git.timeoutSec":{defaultValue:30,type:"number",label:"Git Operation Timeout (seconds)"},"search.resultLimit":{defaultValue:20,type:"number",label:"Search Result Limit"},"search.allModeCap":{defaultValue:5,type:"number",label:"All-Mode Per-Type Cap"},"search.debounceMs":{defaultValue:250,type:"number",label:"Search Debounce (ms)"},"search.snippetLength":{defaultValue:80,type:"number",label:"Snippet Length (characters)"},"missions.grid.minCols":{defaultValue:1,type:"number",label:"Grid Min Columns"},"missions.grid.maxCols":{defaultValue:5,type:"number",label:"Grid Max Columns"},"missions.grid.minRows":{defaultValue:1,type:"number",label:"Grid Min Rows"},"missions.grid.maxRows":{defaultValue:5,type:"number",label:"Grid Max Rows"},"terminal.app":{defaultValue:"Terminal",type:"string",label:"Default Terminal App"},"terminal.wsPort":{defaultValue:3001,type:"number",label:"WebSocket Port"},"terminal.idleTimeoutSec":{defaultValue:180,type:"number",label:"Idle Timeout (seconds)"},"assistant.systemPrompt":{defaultValue:'You are Tower Assistant — the built-in AI operator for the Tower task management platform.\n\n## Identity\n- You are a task management operator, NOT a coding assistant.\n- You can ONLY use Tower MCP tools. You CANNOT read files, edit code, run shell commands, or search the web.\n- Always respond in the same language the user uses.\n\n## Capabilities\nWhen users ask what you can do, respond with EXACTLY these 6 groups. Translate to the user\'s language.\n\n1. **Workspace & Project** — View, create, update, delete workspaces and projects. Search projects and repositories.\n2. **Task Management** — Create tasks (priority, labels, worktree branch isolation, sub-path, auto-start). Move task status (TODO → IN_PROGRESS → IN_REVIEW → DONE / CANCELLED). Update task info and labels.\n3. **Execution Monitor** — Start task execution, check execution status, get terminal output, send commands to running terminals.\n4. **Daily Report & Todo** — Generate daily work summary (completed + in-progress). View pending task list sorted by priority.\n5. **Labels & Notes & Assets** — Manage workspace labels, project notes, and file attachments.\n6. **Global Search** — Search tasks, projects, repositories, notes, and assets by keyword.\n\nDo NOT list any capabilities beyond the above. Do NOT mention code editing, debugging, testing, git operations, or any development capabilities.\n\n## Scope Boundary\nIf the user asks you to write code, explain code, debug, search the web, read/write files, or anything outside Tower task management, reply:\n"抱歉,我只能帮你管理工作区、项目和任务。编码、调试等操作请在任务终端中完成。"',type:"string",label:"Assistant System Prompt"},"assistant.displayMode":{defaultValue:"sidebar",type:"string",label:"Assistant Display Mode"},"assistant.communicationMode":{defaultValue:"chat",type:"string",label:"Assistant Communication Mode"}}])},501942,a=>a.a(async(b,c)=>{try{var d=a.i(998503),e=a.i(284527),f=a.i(600628),g=a.i(229596),h=a.i(811030),i=a.i(348858),j=a.i(126892),k=b([i]);async function l(a,b){let c=await e.db.systemConfig.findUnique({where:{key:a}});if(!c)return b;try{return JSON.parse(c.value)}catch{return b}}async function m(a,b){await e.db.systemConfig.upsert({where:{key:a},create:{key:a,value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}async function n(a){let b=a.trim();if(!b)return"";try{let a=await l("git.pathMappingRules",[]),c=(0,g.matchGitPathRule)(b,a);if(c)return c;return(0,g.gitUrlToLocalPath)(b)}catch{return(0,g.gitUrlToLocalPath)(b)}}async function o(a){let b=await e.db.systemConfig.findMany({where:{key:{in:a}}}),c=Object.fromEntries(b.map(a=>{try{return[a.key,JSON.parse(a.value)]}catch{return[a.key,null]}})),d={};for(let b of a)d[b]=b in c?c[b]:f.CONFIG_DEFAULTS[b]?.defaultValue??null;return d}async function p(){return(0,h.detectShells)()}async function q(){return(0,h.detectTerminalApps)()}async function r(){return{platform:process.platform}}async function s(){let a=(0,i.getActiveWsPort)();if(null!==a)return a;let b=parseInt(process.env.PORT||"3000",10);return l("terminal.wsPort",b+1)}[i]=k.then?(await k)():k,(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s]),(0,d.registerServerReference)(l,"60ac76f518b7ba6b5c6d1b6c9459b4898014a85611",null),(0,d.registerServerReference)(m,"6044146d7f7a3c3f41623a7cd430c9db50c0933ba9",null),(0,d.registerServerReference)(n,"4027617f852a0470bfa1ef8389ba6fc84b5ce227d0",null),(0,d.registerServerReference)(o,"4031ca137fd6cb39067ceac1dad94334a8fc2dfc3a",null),(0,d.registerServerReference)(p,"006fabbefab9867f2a6fd8af41fae80c98eff78557",null),(0,d.registerServerReference)(q,"00edca5524f595066800362cca4f920c6870c42fe3",null),(0,d.registerServerReference)(r,"003401f8501da4f7c34176397c9128912de97a7556",null),(0,d.registerServerReference)(s,"00b7eae21237f9057ae05fc89743cfe4afff37e1d1",null),a.s(["getActualWsPort",0,s,"getAvailableShells",0,p,"getAvailableTerminalApps",0,q,"getConfigValue",0,l,"getConfigValues",0,o,"getPlatformInfo",0,r,"resolveGitLocalPath",0,n,"setConfigValue",0,m]),c()}catch(a){c(a)}},!1),522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},160223,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(548305);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(126892).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"402f0ff6d94ed4ac587b83a00f736fafc08c87926e",null),(0,b.registerServerReference)(g,"401ffb7a2c372d300b324d6236162f37868e4cedcf",null),(0,b.registerServerReference)(h,"40b0ecb3b3d2c63c9a40f31db86242d963dc63465e",null),(0,b.registerServerReference)(i,"6084b4b1449ee073e4934c2b9f82eed7258f3b99e1",null),(0,b.registerServerReference)(j,"40c28959ba69022f40e31b0e13f169f058bd7603ed",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},393149,a=>{"use strict";var b=a.i(284527);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
|
|
1
|
+
module.exports=[229596,a=>{"use strict";var b=a.i(446786),c=a.i(814747);function d(a){return a.startsWith("~/")?c.default.join(b.default.homedir(),a.slice(2)):a}function e(a){let b,c=a.match(/^git@([^:]+):(.+)$/);if(c)return{host:c[1],pathSegments:f(c[2]).split("/").filter(Boolean)};try{b=new URL(a)}catch{return null}return{host:b.hostname,pathSegments:f(decodeURIComponent(b.pathname)).split("/").filter(Boolean)}}function f(a){return a.replace(/\.git\/?$/,"")}a.s(["expandHome",0,d,"gitUrlToLocalPath",0,function(a){let b=a.trim();if(!b)return"";try{let a=e(b);if(!a)return"";let{host:f,pathSegments:g}=a;if("code.iflytek.com"===f){let a,b;return d((a=[...g],"osc"===a[0]&&"_source"===a[1]&&(a=a.slice(2)),((b=a.indexOf("-"))>0&&(a=a.slice(0,b)),0===a.length)?"":`~/company/${a.join("/")}`))}if("github.com"===f){var c;let a,b;return d((a=(c=g)[0],b=c[1],a&&b?`${"jp-liu"===a?"~/project/i":"~/project/f"}/${b}`:""))}let h=g[g.length-1];return h?d(`~/project/f/${h}`):""}catch{return""}},"matchGitPathRule",0,function(a,b){if(!b.length)return"";let c=a.trim();if(!c)return"";let f=e(c);if(!f)return"";let{host:g,pathSegments:h}=f,i=h[0]??"",j=h[h.length-1]??"",k=[...b].sort((a,b)=>{let c=+("*"===a.ownerMatch),d=+("*"===b.ownerMatch);return c!==d?c-d:a.priority-b.priority}),l=h.join("/");for(let a of k){if(a.host!==g||"*"!==a.ownerMatch&&a.ownerMatch!==i)continue;let b=a.localPathTemplate;if(b.includes("{path}"))return d(b.replace("{path}",l).replace("{owner}",i).replace("{repo}",j).replace(/\/+$/,""));let c=b.replace("{owner}",i).replace("{repo}","").replace(/\/+$/,"");return d(`${c}/${j}`)}return""}])},245744,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(548305),f=a.i(229596);async function g(){return c.db.workspace.findMany({select:{id:!0,name:!0,projects:{select:{id:!0,name:!0,alias:!0},orderBy:{createdAt:"asc"}}},orderBy:{updatedAt:"desc"}})}async function h(a){return c.db.workspace.findUnique({where:{id:a},include:{projects:{include:{tasks:{orderBy:[{order:"asc"},{createdAt:"desc"}]},repositories:!0}}}})}async function i(a){let b=e.createWorkspaceSchema.parse(a),f=await c.db.workspace.create({data:b});return(0,d.revalidatePath)("/workspaces"),f}async function j(a,b){let f=e.updateWorkspaceSchema.parse(b),g=await c.db.workspace.update({where:{id:a},data:f});return(0,d.revalidatePath)("/workspaces"),g}async function k(a){if(await c.db.workspace.count()<=1)throw Error("Cannot delete the last workspace");await c.db.workspace.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function l(b){let g=e.createProjectSchema.parse(b),h=await c.db.project.create({data:{name:g.name,alias:g.alias,description:g.description,type:g.gitUrl?"GIT":"NORMAL",gitUrl:g.gitUrl||void 0,localPath:g.localPath?(0,f.expandHome)(g.localPath):void 0,projectType:g.projectType,previewCommand:g.previewCommand,workspaceId:g.workspaceId}});try{let{ensureTowerTask:b}=await a.A(103488);await b(h.id,g.name)}catch(a){console.warn("Failed to auto-create Tower task",a)}return(0,d.revalidatePath)("/workspaces"),h}async function m(a,b){let g={...e.updateProjectSchema.parse(b)};g.localPath&&(g.localPath=(0,f.expandHome)(g.localPath));let h=await c.db.project.update({where:{id:a},data:g});return(0,d.revalidatePath)("/workspaces"),h}async function n(b){let e=await c.db.task.findMany({where:{projectId:b},include:{project:{select:{localPath:!0}}}}),{destroySession:f}=await a.A(93322),{removeWorktree:g}=await a.A(702832);for(let a of e){try{f(a.id)}catch{}if(await c.db.taskExecution.updateMany({where:{taskId:a.id,status:{in:["PENDING","RUNNING","PAUSED"]}},data:{status:"FAILED",endedAt:new Date}}),a.project?.localPath)try{await g(a.project.localPath,a.id)}catch{}["DONE","CANCELLED"].includes(a.status)||await c.db.task.update({where:{id:a.id},data:{status:"CANCELLED"}})}await c.db.project.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function o(a){return c.db.project.findFirst({where:{localPath:a},include:{workspace:!0}})}async function p(a=3){return c.db.workspace.findMany({select:{id:!0,name:!0,projects:{select:{id:!0,name:!0,alias:!0,tasks:{where:{status:{in:["TODO","IN_PROGRESS","IN_REVIEW"]}},select:{id:!0,title:!0,status:!0,priority:!0,executions:{where:{sessionId:{not:null}},select:{sessionId:!0},orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"},take:a},_count:{select:{tasks:{where:{status:{in:["TODO","IN_PROGRESS","IN_REVIEW"]}}}}}},orderBy:{createdAt:"asc"}}},orderBy:{updatedAt:"desc"}})}async function q(a=10){return c.db.project.findMany({where:{localPath:{not:null}},select:{id:!0,name:!0,alias:!0,localPath:!0,workspaceId:!0,type:!0,updatedAt:!0},orderBy:{updatedAt:"desc"},take:a})}async function r(b){let d=await c.db.project.findUnique({where:{id:b},select:{id:!0,name:!0}});if(!d)throw Error("Project not found");let{ensureTowerTask:e}=await a.A(103488);return e(d.id,d.name)}(0,a.i(126892).ensureServerEntryExports)([g,h,i,j,k,l,m,n,o,p,q,r]),(0,b.registerServerReference)(g,"00cfc1cbbaa0e3f800fabda86f2ef0a9e603b7fc6d",null),(0,b.registerServerReference)(h,"40cb88b84f1a5315c10a26e42571f44d4c42cd7e3f",null),(0,b.registerServerReference)(i,"40664364b95b3b5a227f56340eb589c889776e78fb",null),(0,b.registerServerReference)(j,"6077486b91b4600a30ae403d32023b9e75730e4c05",null),(0,b.registerServerReference)(k,"400b7f133e28e89b0387649c38609fae5fb871e73a",null),(0,b.registerServerReference)(l,"40ff045525e13df0ce44875c7bd1d8cc43f76b126d",null),(0,b.registerServerReference)(m,"60830852add5609d46f1fa921dc10becc42c34cf9a",null),(0,b.registerServerReference)(n,"404206c6060c3322641729ddce3abb89d38576e15c",null),(0,b.registerServerReference)(o,"406296ed89890f32faf3f37111aa09bcdf45834027",null),(0,b.registerServerReference)(p,"40275ae914558cbf323b3f33269e46948537c6e7c1",null),(0,b.registerServerReference)(q,"40d15c9bded9be00ce540df2d7b7f052445490bfd9",null),(0,b.registerServerReference)(r,"4070f38bc997ea067370eed4b14f25482cd6fc16e8",null),a.s(["createProject",0,l,"createWorkspace",0,i,"deleteProject",0,n,"deleteWorkspace",0,k,"getOrCreateTowerTaskId",0,r,"getProjectByLocalPath",0,o,"getRecentLocalProjects",0,q,"getWorkspaceById",0,h,"getWorkspacesWithProjects",0,g,"getWorkspacesWithRecentTasks",0,p,"updateProject",0,m,"updateWorkspace",0,j])},600628,a=>{"use strict";a.s(["CONFIG_DEFAULTS",0,{"git.pathMappingRules":{defaultValue:[],type:"object",label:"Git Path Mapping Rules"},"system.maxUploadBytes":{defaultValue:0x3200000,type:"number",label:"Max Upload Size (bytes)"},"system.maxConcurrentExecutions":{defaultValue:20,type:"number",label:"Max Concurrent Executions"},"git.timeoutSec":{defaultValue:30,type:"number",label:"Git Operation Timeout (seconds)"},"search.resultLimit":{defaultValue:20,type:"number",label:"Search Result Limit"},"search.allModeCap":{defaultValue:5,type:"number",label:"All-Mode Per-Type Cap"},"search.debounceMs":{defaultValue:250,type:"number",label:"Search Debounce (ms)"},"search.snippetLength":{defaultValue:80,type:"number",label:"Snippet Length (characters)"},"missions.grid.minCols":{defaultValue:1,type:"number",label:"Grid Min Columns"},"missions.grid.maxCols":{defaultValue:5,type:"number",label:"Grid Max Columns"},"missions.grid.minRows":{defaultValue:1,type:"number",label:"Grid Min Rows"},"missions.grid.maxRows":{defaultValue:5,type:"number",label:"Grid Max Rows"},"terminal.app":{defaultValue:"Terminal",type:"string",label:"Default Terminal App"},"terminal.wsPort":{defaultValue:3001,type:"number",label:"WebSocket Port"},"terminal.idleTimeoutSec":{defaultValue:180,type:"number",label:"Idle Timeout (seconds)"},"assistant.systemPrompt":{defaultValue:'You are Tower Assistant — the built-in AI operator for the Tower task management platform.\n\n## Identity\n- You are a task management operator, NOT a coding assistant.\n- You can ONLY use Tower MCP tools. You CANNOT read files, edit code, run shell commands, or search the web.\n- Always respond in the same language the user uses.\n\n## Capabilities\nWhen users ask what you can do, respond with EXACTLY these 6 groups. Translate to the user\'s language.\n\n1. **Workspace & Project** — View, create, update, delete workspaces and projects. Search projects and repositories.\n2. **Task Management** — Create tasks (priority, labels, worktree branch isolation, sub-path, auto-start). Move task status (TODO → IN_PROGRESS → IN_REVIEW → DONE / CANCELLED). Update task info and labels.\n3. **Execution Monitor** — Start task execution, check execution status, get terminal output, send commands to running terminals.\n4. **Daily Report & Todo** — Generate daily work summary (completed + in-progress). View pending task list sorted by priority.\n5. **Labels & Notes & Assets** — Manage workspace labels, project notes, and file attachments.\n6. **Global Search** — Search tasks, projects, repositories, notes, and assets by keyword.\n\nDo NOT list any capabilities beyond the above. Do NOT mention code editing, debugging, testing, git operations, or any development capabilities.\n\n## Scope Boundary\nIf the user asks you to write code, explain code, debug, search the web, read/write files, or anything outside Tower task management, reply:\n"抱歉,我只能帮你管理工作区、项目和任务。编码、调试等操作请在任务终端中完成。"',type:"string",label:"Assistant System Prompt"},"assistant.displayMode":{defaultValue:"sidebar",type:"string",label:"Assistant Display Mode"},"assistant.communicationMode":{defaultValue:"chat",type:"string",label:"Assistant Communication Mode"}}])},501942,a=>a.a(async(b,c)=>{try{var d=a.i(998503),e=a.i(284527),f=a.i(600628),g=a.i(229596),h=a.i(811030),i=a.i(348858),j=a.i(126892),k=b([i]);async function l(a,b){let c=await e.db.systemConfig.findUnique({where:{key:a}});if(!c)return b;try{return JSON.parse(c.value)}catch{return b}}async function m(a,b){await e.db.systemConfig.upsert({where:{key:a},create:{key:a,value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}async function n(a){let b=a.trim();if(!b)return"";try{let a=await l("git.pathMappingRules",[]),c=(0,g.matchGitPathRule)(b,a);if(c)return c;return(0,g.gitUrlToLocalPath)(b)}catch{return(0,g.gitUrlToLocalPath)(b)}}async function o(a){let b=await e.db.systemConfig.findMany({where:{key:{in:a}}}),c=Object.fromEntries(b.map(a=>{try{return[a.key,JSON.parse(a.value)]}catch{return[a.key,null]}})),d={};for(let b of a)d[b]=b in c?c[b]:f.CONFIG_DEFAULTS[b]?.defaultValue??null;return d}async function p(){return(0,h.detectShells)()}async function q(){return(0,h.detectTerminalApps)()}async function r(){return{platform:process.platform}}async function s(){let a=(0,i.getActiveWsPort)();if(null!==a)return a;let b=parseInt(process.env.PORT||"3000",10);return l("terminal.wsPort",b+1)}[i]=k.then?(await k)():k,(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s]),(0,d.registerServerReference)(l,"60e490cf59a00c89c16874b64fb8c23438fde0af94",null),(0,d.registerServerReference)(m,"60320d47298b010f431f90d55a8e2068ba4aec2870",null),(0,d.registerServerReference)(n,"40fcf870561199cd7c5d576202c9d659faf650df77",null),(0,d.registerServerReference)(o,"400bf7f06635db00f1075ca25bbac9a060a36589af",null),(0,d.registerServerReference)(p,"000c29ef1ec561ccd63ba4c07ac57653cce87416a6",null),(0,d.registerServerReference)(q,"00462e606ef0995a71213cdee750c9d3c29e7fc9c1",null),(0,d.registerServerReference)(r,"006ec65e1bcf6f5216b9d487115f61d32d7dcf3746",null),(0,d.registerServerReference)(s,"0055bd033108a2e7dff9544389a879e96e003b5c0a",null),a.s(["getActualWsPort",0,s,"getAvailableShells",0,p,"getAvailableTerminalApps",0,q,"getConfigValue",0,l,"getConfigValues",0,o,"getPlatformInfo",0,r,"resolveGitLocalPath",0,n,"setConfigValue",0,m]),c()}catch(a){c(a)}},!1),522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},160223,a=>{"use strict";var b=a.i(998503),c=a.i(284527),d=a.i(391313),e=a.i(548305);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(126892).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"406cdedc87de27d3c504d53d054a8cb84a172ff400",null),(0,b.registerServerReference)(g,"401503368c9decac1b3d8b14f29c6691cde06a3fef",null),(0,b.registerServerReference)(h,"4096680d6a4a8e5bfd1c701be533f9de9240c37aaf",null),(0,b.registerServerReference)(i,"60ef442946db5cf98424ec8c47bde0f4fe2a64102c",null),(0,b.registerServerReference)(j,"403f49295741bccc4ed82c66f9c8891697f701cba8",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},393149,a=>{"use strict";var b=a.i(284527);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
|
|
2
2
|
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
3
3
|
FROM "ProjectNote" n
|
|
4
4
|
JOIN "Project" p ON p.id = n."projectId"
|
|
@@ -18,7 +18,7 @@ module.exports=[229596,a=>{"use strict";var b=a.i(446786),c=a.i(814747);function
|
|
|
18
18
|
JOIN "Project" p ON p.id = n."projectId"
|
|
19
19
|
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
20
20
|
WHERE n.title LIKE ? OR n.content LIKE ?
|
|
21
|
-
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},584115,a=>a.a(async(b,c)=>{try{var d=a.i(998503),e=a.i(393149),f=a.i(501942),g=a.i(126892),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"
|
|
21
|
+
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},584115,a=>a.a(async(b,c)=>{try{var d=a.i(998503),e=a.i(393149),f=a.i(501942),g=a.i(126892),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"60fbab8700474e53a0e400a32e40f79ba99dd9c527",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),693724,a=>{"use strict";var b=a.i(998503),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(284527),g=a.i(391313),h=a.i(126892);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(93322);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(93322);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}await (0,c.mkdir)(e.default.dirname(h),{recursive:!0});try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
22
|
|
|
23
23
|
读取 package.json、README.md 等关键文件,然后概括:
|
|
24
24
|
|
|
@@ -42,6 +42,6 @@ Requirements:
|
|
|
42
42
|
- Keep it under 1000 words
|
|
43
43
|
- Use concise Markdown (bold labels + short sentences), no ## headings or tables
|
|
44
44
|
- Don't list every file/directory, only key information
|
|
45
|
-
- Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(148134),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"
|
|
45
|
+
- Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(148134),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"405b29fc4e26dc9ccbd23717c35edef73bb1138ced",null),(0,b.registerServerReference)(j,"60ef5b03e946c7b42fa6df66b4bddcfc7b2dfea33e",null),(0,b.registerServerReference)(m,"60b0796f41581e28a124adebe3c3e1fe4a0705d3ad",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])}];
|
|
46
46
|
|
|
47
47
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0sysz2q._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},134999,a=>{"use strict";var b=a.i(348273),c=a.i(15389),d=a.i(851033),e=a.i(414836),f=a.i(529917),g=a.i(522849),h=a.i(803330),i=a.i(282980);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},414836,a=>{"use strict";let b=(0,a.i(173250).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],414836)},580283,a=>{"use strict";var b=a.i(348273),c=a.i(707466);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},727946,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},902517,584366,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("400a783034e60a8fdc5047ac1f66aa8da453a35730",b.callServer,void 0,b.findSourceMapURL,"createNote");a.s(["createNote",0,c],902517);let d=(0,b.createServerReference)("40cf3ee2dcd956751b44d0acc835db566d2119c2ff",b.callServer,void 0,b.findSourceMapURL,"deleteNote");a.s(["deleteNote",0,d],584366)},213126,a=>{"use strict";var b=a.i(348273),c=a.i(399424),d=a.i(709222),e=a.i(348754),f=a.i(134999),g=a.i(282980),h=a.i(727946),i=a.i(902517),j=a.i(441388);let k=(0,j.createServerReference)("608e00fe002044cca80c5e64917713a3b700bafdce",j.callServer,void 0,j.findSourceMapURL,"updateNote");var l=a.i(584366);let m=(0,j.createServerReference)("601e4d795a69d1c2dabbff1a6ead6c3af1fa2c232f",j.callServer,void 0,j.findSourceMapURL,"getProjectNotes");var n=a.i(707466);function o({active:a,onSelect:c}){let{t:d}=(0,g.useI18n)();return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)("button",{onClick:()=>c("all"),className:(0,n.cn)("rounded-lg px-3 py-1 text-xs font-medium transition-colors","all"===a?"bg-primary/15 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent"),children:d("notes.allCategories")}),h.NOTE_CATEGORIES_PRESET.map(d=>(0,b.jsx)("button",{onClick:()=>c(d),className:(0,n.cn)("rounded-lg px-3 py-1 text-xs font-medium transition-colors",a===d?"bg-primary/15 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent"),children:d},d))]})}var p=a.i(422917),q=a.i(344838),r=a.i(529917),s=a.i(580283),t=a.i(957751),u=a.i(657673),v=a.i(93387),w=a.i(348041);function x({note:a,onEdit:c,onDelete:d}){let{t:e}=(0,g.useI18n)(),f=a.content.slice(0,300);return(0,b.jsxs)("div",{className:"group relative rounded-lg border border-border bg-card p-4 transition-colors hover:border-border/80 hover:bg-accent/20",children:[(0,b.jsxs)("div",{className:"absolute right-3 top-3 flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,b.jsx)(p.Button,{variant:"ghost",size:"icon-sm",onClick:()=>c(a),className:"text-muted-foreground","aria-label":e("notes.edit"),children:(0,b.jsx)(t.Pencil,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(p.Button,{variant:"ghost",size:"icon-sm",onClick:()=>d(a.id),className:"text-muted-foreground hover:text-rose-400","aria-label":e("notes.delete"),children:(0,b.jsx)(u.Trash2,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)("div",{className:"mb-2 pr-16",children:(0,b.jsx)("h3",{className:"truncate text-sm font-semibold text-foreground",children:a.title})}),(0,b.jsx)("span",{className:"mb-3 inline-block rounded-full bg-muted px-2 py-0.5 text-[10px] font-medium text-muted-foreground",children:a.category}),(0,b.jsx)("div",{className:"prose prose-sm dark:prose-invert max-h-24 overflow-hidden text-muted-foreground",children:(0,b.jsx)(v.default,{remarkPlugins:[w.default],children:f})})]})}function y({notes:a,onEdit:c,onDelete:d}){let{t:e}=(0,g.useI18n)();return 0===a.length?(0,b.jsx)(s.EmptyState,{icon:r.FileText,title:e("notes.empty"),description:e("notes.emptyHint")}):(0,b.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:a.map(a=>(0,b.jsx)(x,{note:a,onEdit:c,onDelete:d},a.id))})}var z=a.i(302512);function A({value:a,onChange:c}){return(0,b.jsxs)("div",{className:"relative grid grid-cols-2 gap-4 flex-1 min-h-64",children:[(0,b.jsx)(z.Textarea,{value:a,onChange:a=>c(a.target.value),className:"absolute inset-0 w-1/2 pr-2 resize-none font-mono text-sm border rounded-md p-3 bg-background text-foreground border-border focus:outline-none focus:ring-1 focus:ring-ring",placeholder:"Write Markdown here..."}),(0,b.jsx)("div",{className:"absolute inset-0 left-1/2 pl-2",children:(0,b.jsx)("div",{className:"h-full overflow-y-auto border rounded-md p-3 border-border prose prose-sm dark:prose-invert max-w-none",children:(0,b.jsx)(v.default,{remarkPlugins:[w.default],children:a})})})]})}a.s(["NotesPageClient",0,function({allWorkspaces:a,initialWorkspaceId:j,initialProjectId:n,initialNotes:r}){let s,t,{t:u}=(0,g.useI18n)(),[v,w]=(0,c.useTransition)(),[x,z]=(0,c.useState)(j),[B,C]=(0,c.useState)(n),[D,E]=(0,c.useState)(r),[F,G]=(0,c.useState)("all"),[H,I]=(0,c.useState)(null),[J,K]=(0,c.useState)(!1),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)(""),[P,Q]=(0,c.useState)(h.NOTE_CATEGORIES_PRESET[3]),[R,S]=(0,c.useState)(j),[T,U]=(0,c.useState)(n),V=a.find(a=>a.id===x),W=V?.projects??[],X=a.find(a=>a.id===R),Y=X?.projects??[],Z=(0,c.useCallback)(a=>{a?w(async()=>{E(await m(a))}):E([])},[w]),$=async()=>{T&&L.trim()&&(await (0,i.createNote)({title:L.trim(),content:N,category:P,projectId:T}),K(!1),T===B&&Z(B))},_=async()=>{H&&L.trim()&&(await k(H.id,{title:L.trim(),content:N,category:P}),I(null),Z(B))},aa=async a=>{let b=D.find(b=>b.id===a);!b||confirm(u("notes.deleteConfirm",{title:b.title}))&&(await (0,l.deleteNote)(a),Z(B))},ab="all"===F?D.map(a=>({...a,updatedAt:new Date(a.updatedAt)})):D.filter(a=>a.category===F).map(a=>({...a,updatedAt:new Date(a.updatedAt)})),ac=J||null!==H;return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsx)(f.SubPageNav,{workspaceId:x}),(0,b.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,b.jsxs)(q.Select,{value:x,onValueChange:b=>b&&(b=>{if(b===x)return;z(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;C(d?.id??null),G("all"),Z(d?.id??null)})(b),children:[(0,b.jsx)(q.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===x)?.name??x})}),(0,b.jsx)(q.SelectContent,{children:a.map(a=>(0,b.jsx)(q.SelectItem,{value:a.id,children:a.name},a.id))})]}),W.length>0&&(0,b.jsxs)(q.Select,{value:B??"",onValueChange:a=>a&&void(a!==B&&(C(a),G("all"),Z(a))),children:[(0,b.jsx)(q.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,b.jsx)("span",{className:"truncate",children:(s=W.find(a=>a.id===B))?s.alias?`${s.name} (${s.alias})`:s.name:""})}),(0,b.jsx)(q.SelectContent,{children:W.map(a=>(0,b.jsxs)(q.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]}),!ac&&(0,b.jsxs)(p.Button,{onClick:()=>{M(""),O(""),Q(h.NOTE_CATEGORIES_PRESET[3]),S(x),U(B),I(null),K(!0)},className:"ml-auto bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(d.Plus,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:u("notes.newNote")})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden px-6 py-4 flex flex-col",children:ac?(0,b.jsxs)("div",{className:"flex flex-col gap-4 flex-1 min-h-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[!H&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.workspace")}),(0,b.jsxs)(q.Select,{value:R,onValueChange:b=>b&&(b=>{if(b===R)return;S(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;U(d?.id??null)})(b),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[140px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===R)?.name??R})}),(0,b.jsx)(q.SelectContent,{children:a.map(a=>(0,b.jsx)(q.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),!H&&Y.length>0&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.project")}),(0,b.jsxs)(q.Select,{value:T??"",onValueChange:a=>a&&U(a),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[160px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:(t=Y.find(a=>a.id===T))?t.alias?`${t.name} (${t.alias})`:t.name:""})}),(0,b.jsx)(q.SelectContent,{children:Y.map(a=>(0,b.jsxs)(q.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.categoryLabel")}),(0,b.jsxs)(q.Select,{value:P,onValueChange:a=>a&&Q(a),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[120px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:P})}),(0,b.jsx)(q.SelectContent,{children:h.NOTE_CATEGORIES_PRESET.map(a=>(0,b.jsx)(q.SelectItem,{value:a,children:a},a))})]})]})]}),(0,b.jsx)("input",{type:"text",value:L,onChange:a=>M(a.target.value),placeholder:u("notes.titlePlaceholder"),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring"}),(0,b.jsx)(A,{value:N,onChange:O}),(0,b.jsxs)("div",{className:"flex items-center gap-2 justify-end",children:[(0,b.jsx)(p.Button,{variant:"outline",onClick:()=>{K(!1),I(null)},children:u("notes.cancel")}),(0,b.jsx)(p.Button,{onClick:H?_:$,disabled:!L.trim()||!H&&!T,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:u("notes.save")})]})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(o,{active:F,onSelect:G}),(0,b.jsxs)("div",{className:`relative ${v?"opacity-40 pointer-events-none":""} transition-opacity`,children:[v&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,b.jsx)(e.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===W.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:u("notes.noProject")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:u("notes.noProjectHint")})]}):(0,b.jsx)(y,{notes:ab,onEdit:a=>{M(a.title),O(a.content),Q(a.category),I(a),K(!1)},onDelete:aa})]})]})})]})}],213126)}];
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},134999,a=>{"use strict";var b=a.i(348273),c=a.i(15389),d=a.i(851033),e=a.i(414836),f=a.i(529917),g=a.i(522849),h=a.i(803330),i=a.i(282980);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},414836,a=>{"use strict";let b=(0,a.i(173250).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],414836)},580283,a=>{"use strict";var b=a.i(348273),c=a.i(707466);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},727946,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},956698,334394,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("40d86375834c7666d6e6d3259411a40a2f112bc6d4",b.callServer,void 0,b.findSourceMapURL,"createNote");a.s(["createNote",0,c],956698);let d=(0,b.createServerReference)("405378479c4faca2e5653db95730369b873a071957",b.callServer,void 0,b.findSourceMapURL,"deleteNote");a.s(["deleteNote",0,d],334394)},213126,a=>{"use strict";var b=a.i(348273),c=a.i(399424),d=a.i(709222),e=a.i(348754),f=a.i(134999),g=a.i(282980),h=a.i(727946),i=a.i(956698),j=a.i(441388);let k=(0,j.createServerReference)("602ea7cd9245e91baa017833bf8f8cad6f54082080",j.callServer,void 0,j.findSourceMapURL,"updateNote");var l=a.i(334394);let m=(0,j.createServerReference)("60f57e6b4bc86e389ac4290b6cafc129b14fea8d23",j.callServer,void 0,j.findSourceMapURL,"getProjectNotes");var n=a.i(707466);function o({active:a,onSelect:c}){let{t:d}=(0,g.useI18n)();return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)("button",{onClick:()=>c("all"),className:(0,n.cn)("rounded-lg px-3 py-1 text-xs font-medium transition-colors","all"===a?"bg-primary/15 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent"),children:d("notes.allCategories")}),h.NOTE_CATEGORIES_PRESET.map(d=>(0,b.jsx)("button",{onClick:()=>c(d),className:(0,n.cn)("rounded-lg px-3 py-1 text-xs font-medium transition-colors",a===d?"bg-primary/15 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent"),children:d},d))]})}var p=a.i(422917),q=a.i(344838),r=a.i(529917),s=a.i(580283),t=a.i(957751),u=a.i(657673),v=a.i(93387),w=a.i(348041);function x({note:a,onEdit:c,onDelete:d}){let{t:e}=(0,g.useI18n)(),f=a.content.slice(0,300);return(0,b.jsxs)("div",{className:"group relative rounded-lg border border-border bg-card p-4 transition-colors hover:border-border/80 hover:bg-accent/20",children:[(0,b.jsxs)("div",{className:"absolute right-3 top-3 flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,b.jsx)(p.Button,{variant:"ghost",size:"icon-sm",onClick:()=>c(a),className:"text-muted-foreground","aria-label":e("notes.edit"),children:(0,b.jsx)(t.Pencil,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(p.Button,{variant:"ghost",size:"icon-sm",onClick:()=>d(a.id),className:"text-muted-foreground hover:text-rose-400","aria-label":e("notes.delete"),children:(0,b.jsx)(u.Trash2,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)("div",{className:"mb-2 pr-16",children:(0,b.jsx)("h3",{className:"truncate text-sm font-semibold text-foreground",children:a.title})}),(0,b.jsx)("span",{className:"mb-3 inline-block rounded-full bg-muted px-2 py-0.5 text-[10px] font-medium text-muted-foreground",children:a.category}),(0,b.jsx)("div",{className:"prose prose-sm dark:prose-invert max-h-24 overflow-hidden text-muted-foreground",children:(0,b.jsx)(v.default,{remarkPlugins:[w.default],children:f})})]})}function y({notes:a,onEdit:c,onDelete:d}){let{t:e}=(0,g.useI18n)();return 0===a.length?(0,b.jsx)(s.EmptyState,{icon:r.FileText,title:e("notes.empty"),description:e("notes.emptyHint")}):(0,b.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:a.map(a=>(0,b.jsx)(x,{note:a,onEdit:c,onDelete:d},a.id))})}var z=a.i(302512);function A({value:a,onChange:c}){return(0,b.jsxs)("div",{className:"relative grid grid-cols-2 gap-4 flex-1 min-h-64",children:[(0,b.jsx)(z.Textarea,{value:a,onChange:a=>c(a.target.value),className:"absolute inset-0 w-1/2 pr-2 resize-none font-mono text-sm border rounded-md p-3 bg-background text-foreground border-border focus:outline-none focus:ring-1 focus:ring-ring",placeholder:"Write Markdown here..."}),(0,b.jsx)("div",{className:"absolute inset-0 left-1/2 pl-2",children:(0,b.jsx)("div",{className:"h-full overflow-y-auto border rounded-md p-3 border-border prose prose-sm dark:prose-invert max-w-none",children:(0,b.jsx)(v.default,{remarkPlugins:[w.default],children:a})})})]})}a.s(["NotesPageClient",0,function({allWorkspaces:a,initialWorkspaceId:j,initialProjectId:n,initialNotes:r}){let s,t,{t:u}=(0,g.useI18n)(),[v,w]=(0,c.useTransition)(),[x,z]=(0,c.useState)(j),[B,C]=(0,c.useState)(n),[D,E]=(0,c.useState)(r),[F,G]=(0,c.useState)("all"),[H,I]=(0,c.useState)(null),[J,K]=(0,c.useState)(!1),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)(""),[P,Q]=(0,c.useState)(h.NOTE_CATEGORIES_PRESET[3]),[R,S]=(0,c.useState)(j),[T,U]=(0,c.useState)(n),V=a.find(a=>a.id===x),W=V?.projects??[],X=a.find(a=>a.id===R),Y=X?.projects??[],Z=(0,c.useCallback)(a=>{a?w(async()=>{E(await m(a))}):E([])},[w]),$=async()=>{T&&L.trim()&&(await (0,i.createNote)({title:L.trim(),content:N,category:P,projectId:T}),K(!1),T===B&&Z(B))},_=async()=>{H&&L.trim()&&(await k(H.id,{title:L.trim(),content:N,category:P}),I(null),Z(B))},aa=async a=>{let b=D.find(b=>b.id===a);!b||confirm(u("notes.deleteConfirm",{title:b.title}))&&(await (0,l.deleteNote)(a),Z(B))},ab="all"===F?D.map(a=>({...a,updatedAt:new Date(a.updatedAt)})):D.filter(a=>a.category===F).map(a=>({...a,updatedAt:new Date(a.updatedAt)})),ac=J||null!==H;return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsx)(f.SubPageNav,{workspaceId:x}),(0,b.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,b.jsxs)(q.Select,{value:x,onValueChange:b=>b&&(b=>{if(b===x)return;z(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;C(d?.id??null),G("all"),Z(d?.id??null)})(b),children:[(0,b.jsx)(q.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===x)?.name??x})}),(0,b.jsx)(q.SelectContent,{children:a.map(a=>(0,b.jsx)(q.SelectItem,{value:a.id,children:a.name},a.id))})]}),W.length>0&&(0,b.jsxs)(q.Select,{value:B??"",onValueChange:a=>a&&void(a!==B&&(C(a),G("all"),Z(a))),children:[(0,b.jsx)(q.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,b.jsx)("span",{className:"truncate",children:(s=W.find(a=>a.id===B))?s.alias?`${s.name} (${s.alias})`:s.name:""})}),(0,b.jsx)(q.SelectContent,{children:W.map(a=>(0,b.jsxs)(q.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]}),!ac&&(0,b.jsxs)(p.Button,{onClick:()=>{M(""),O(""),Q(h.NOTE_CATEGORIES_PRESET[3]),S(x),U(B),I(null),K(!0)},className:"ml-auto bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(d.Plus,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:u("notes.newNote")})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden px-6 py-4 flex flex-col",children:ac?(0,b.jsxs)("div",{className:"flex flex-col gap-4 flex-1 min-h-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[!H&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.workspace")}),(0,b.jsxs)(q.Select,{value:R,onValueChange:b=>b&&(b=>{if(b===R)return;S(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;U(d?.id??null)})(b),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[140px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===R)?.name??R})}),(0,b.jsx)(q.SelectContent,{children:a.map(a=>(0,b.jsx)(q.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),!H&&Y.length>0&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.project")}),(0,b.jsxs)(q.Select,{value:T??"",onValueChange:a=>a&&U(a),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[160px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:(t=Y.find(a=>a.id===T))?t.alias?`${t.name} (${t.alias})`:t.name:""})}),(0,b.jsx)(q.SelectContent,{children:Y.map(a=>(0,b.jsxs)(q.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.categoryLabel")}),(0,b.jsxs)(q.Select,{value:P,onValueChange:a=>a&&Q(a),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[120px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:P})}),(0,b.jsx)(q.SelectContent,{children:h.NOTE_CATEGORIES_PRESET.map(a=>(0,b.jsx)(q.SelectItem,{value:a,children:a},a))})]})]})]}),(0,b.jsx)("input",{type:"text",value:L,onChange:a=>M(a.target.value),placeholder:u("notes.titlePlaceholder"),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring"}),(0,b.jsx)(A,{value:N,onChange:O}),(0,b.jsxs)("div",{className:"flex items-center gap-2 justify-end",children:[(0,b.jsx)(p.Button,{variant:"outline",onClick:()=>{K(!1),I(null)},children:u("notes.cancel")}),(0,b.jsx)(p.Button,{onClick:H?_:$,disabled:!L.trim()||!H&&!T,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:u("notes.save")})]})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(o,{active:F,onSelect:G}),(0,b.jsxs)("div",{className:`relative ${v?"opacity-40 pointer-events-none":""} transition-opacity`,children:[v&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,b.jsx)(e.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===W.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:u("notes.noProject")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:u("notes.noProjectHint")})]}):(0,b.jsx)(y,{notes:ab,onEdit:a=>{M(a.title),O(a.content),Q(a.category),I(a),K(!1)},onDelete:aa})]})]})})]})}],213126)}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0v0dk_o._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},134999,a=>{"use strict";var b=a.i(348273),c=a.i(15389),d=a.i(851033),e=a.i(414836),f=a.i(529917),g=a.i(522849),h=a.i(803330),i=a.i(282980);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},727946,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},388265,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("4070586ed2e5cef09b54cdc9f4135aafb2110317f8",b.callServer,void 0,b.findSourceMapURL,"deleteAsset");a.s(["deleteAsset",0,c])},262392,54803,a=>{"use strict";let b=(0,a.i(173250).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);a.s(["Upload",0,b],262392);var c=a.i(441388);let d=(0,c.createServerReference)("4059653d273e86f9a50303a80e5daa5c8410fa3597",c.callServer,void 0,c.findSourceMapURL,"uploadAsset");a.s(["uploadAsset",0,d],54803)},481030,a=>{"use strict";var b=a.i(163683),c=a.i(944921),d=a.i(340626),e=a.i(707466);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],481030)},414836,a=>{"use strict";let b=(0,a.i(173250).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],414836)},580283,a=>{"use strict";var b=a.i(348273),c=a.i(707466);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},292441,a=>{"use strict";let b=(0,a.i(173250).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["PlayCircle",0,b],292441)},593677,a=>{"use strict";let b=(0,a.i(173250).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],593677)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0vpgotk._.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)},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,"4047321a7abdfaaf09ebfaccc7c6f5575ea987fa11",null),(0,b.registerServerReference)(f,"400fd163018400da0b1bdc88a32409019c8ab8bc3f",null),(0,b.registerServerReference)(g,"40a96e3561ff4fad065391c23cb9514544526dda83",null),(0,b.registerServerReference)(h,"60a7c715de5f2967f031923b575f07b0b95111a232",null),(0,b.registerServerReference)(i,"40dfe3fb9f232a4108a544ab9b66f3994e220bfe4f",null),(0,b.registerServerReference)(j,"60b09634685f6283f9e034a401d413dd7e0b42b7a8",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},48995,a=>{"use strict";var b=a.i(998503),c=a.i(750227),d=a.i(284527),e=a.i(391313),f=a.i(697265),g=a.i(126892);let h=new Set(["PATH","LD_PRELOAD","DYLD_INSERT_LIBRARIES","LD_LIBRARY_PATH","HOME","SHELL","USER","DYLD_LIBRARY_PATH","NODE_OPTIONS"]);async function i(){let a=await d.db.cliProfile.findFirst({where:{isDefault:!0}});return a?{id:a.id,name:a.name,command:a.command,baseArgs:a.baseArgs,envVars:a.envVars}:null}async function j(a,b){if(void 0!==b.command){let a=c.default.basename(b.command),d=[...new Set([...f.providerRegistry.getAllowedCommands(),"claude-code"])];if(!d.includes(a))throw Error(`command must be one of: ${d.join(", ")} (got: ${a})`)}if(void 0!==b.baseArgs){let a;try{a=JSON.parse(b.baseArgs)}catch{throw Error("baseArgs 格式无效,必须是 JSON 数组")}if(!Array.isArray(a))throw Error("baseArgs 格式无效,必须是 JSON 数组");for(let b of a){if("string"!=typeof b)throw Error("baseArgs 中每个元素必须是字符串");if(/[;&|`$()]/.test(b))throw Error(`baseArgs 包含不允许的字符: ${b}`)}}if(void 0!==b.envVars){let a;try{a=JSON.parse(b.envVars)}catch{throw Error("envVars 格式无效,必须是 JSON 对象")}if("object"!=typeof a||Array.isArray(a)||null===a)throw Error("envVars 格式无效,必须是 JSON 对象");for(let b of Object.keys(a))if(h.has(b.toUpperCase()))throw Error(`envVars 不允许设置系统关键变量: ${b}`)}try{let c=await d.db.cliProfile.update({where:{id:a},data:b});return(0,e.revalidatePath)("/settings"),c}catch(a){if(a&&"object"==typeof a&&"code"in a&&"P2025"===a.code)throw Error("CLI Profile 不存在,请检查配置");throw a}}(0,g.ensureServerEntryExports)([i,j]),(0,b.registerServerReference)(i,"00d7e320373a46bbf2fa2f89221bff5ac617961111",null),(0,b.registerServerReference)(j,"6051fbf5df7d2f3850aa7a6a1088ffeb5518419d26",null),a.s(["getDefaultCliProfile",0,i,"updateCliProfile",0,j])},795050,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(514142),a.i(48995);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),256569,a=>a.a(async(b,c)=>{try{var d=a.i(795050),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(514142),l=a.i(48995),m=b([d,g,h]);[d,g,h]=m.then?(await m)():m,a.s(["001dd80fe37bbdb476d40ee3aca7ce5fff1e4affd3",()=>j.getOnboardingStatus,"00b7eae21237f9057ae05fc89743cfe4afff37e1d1",()=>h.getActualWsPort,"00d7e320373a46bbf2fa2f89221bff5ac617961111",()=>l.getDefaultCliProfile,"00edca5524f595066800362cca4f920c6870c42fe3",()=>h.getAvailableTerminalApps,"401ffb7a2c372d300b324d6236162f37868e4cedcf",()=>f.createLabel,"4027617f852a0470bfa1ef8389ba6fc84b5ce227d0",()=>h.resolveGitLocalPath,"402f0ff6d94ed4ac587b83a00f736fafc08c87926e",()=>f.getLabelsForWorkspace,"4031ca137fd6cb39067ceac1dad94334a8fc2dfc3a",()=>h.getConfigValues,"40367069c92f4799ae44be7005a5311da959341d39",()=>i.checkMigrationSafety,"40393a10491ecd044960ad88649e1833d52238a7be",()=>j.dispatchTaskCompletionEvent,"4047321a7abdfaaf09ebfaccc7c6f5575ea987fa11",()=>k.getPrompts,"40527d6e10a1745c51a0a9ffd192a9e74e880400f2",()=>j.completeOnboarding,"406945679a2ed467bcf9f443c616ca406566b10e84",()=>e.createProject,"40a96e3561ff4fad065391c23cb9514544526dda83",()=>k.createPrompt,"40b0ecb3b3d2c63c9a40f31db86242d963dc63465e",()=>f.deleteLabel,"40da8820ce2a36b35aa91266678f5f65bd76de41f8",()=>j.setOnboardingProgress,"40dfe3fb9f232a4108a544ab9b66f3994e220bfe4f",()=>k.deletePrompt,"40e284d0affbfc5dab1ab6118453cdb85386729ec4",()=>e.deleteWorkspace,"40fdaf8a2061f48b7c6c3bf53809ebc17208e3ff34",()=>e.createWorkspace,"600207e0744dfe37495c218be782a0bfb30701e916",()=>i.migrateProjectPath,"6044146d7f7a3c3f41623a7cd430c9db50c0933ba9",()=>h.setConfigValue,"604c021029ee9851cf8ba37f532fca192421425539",()=>g.globalSearch,"6051fbf5df7d2f3850aa7a6a1088ffeb5518419d26",()=>l.updateCliProfile,"60a7c715de5f2967f031923b575f07b0b95111a232",()=>k.updatePrompt,"60ac76f518b7ba6b5c6d1b6c9459b4898014a85611",()=>h.getConfigValue,"60acd70db0a2f7e7e476202e7119b37e137305f019",()=>i.analyzeProjectDirectory,"60b09634685f6283f9e034a401d413dd7e0b42b7a8",()=>k.setDefaultPrompt,"60fcf2f0b66e68c74b986ae9b194d8700d18b70e7c",()=>e.updateWorkspace]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0fg8.hp._.js"].map(b=>a.l(b))).then(()=>b(870282)))},93322,a=>{a.v(a=>Promise.resolve().then(()=>a(703714)))},702832,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0wwqzmm._.js"].map(b=>a.l(b))).then(()=>b(605389)))},148134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0egtw-7._.js"].map(b=>a.l(b))).then(()=>b(157256)))},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))}];
|
|
1
|
+
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},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,"40c9f4e50b0e1ed71eaaab93bfe9ce73fddd28d884",null),(0,b.registerServerReference)(f,"40aff46d8447a5cfd3a65d516226c756edc09f0bf5",null),(0,b.registerServerReference)(g,"40fd4dbd0ec33a0db611a73e8fb6b26b34b592bff7",null),(0,b.registerServerReference)(h,"60ca22a89eface4a0c7877ca1b4d39b476a3113ae5",null),(0,b.registerServerReference)(i,"400e93570ba0b5c0f939726dd5adb9f3c9e9c76a89",null),(0,b.registerServerReference)(j,"60e86c155919f10693c34322b2e240f8e7d92a59e5",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},48995,a=>{"use strict";var b=a.i(998503),c=a.i(750227),d=a.i(284527),e=a.i(391313),f=a.i(697265),g=a.i(126892);let h=new Set(["PATH","LD_PRELOAD","DYLD_INSERT_LIBRARIES","LD_LIBRARY_PATH","HOME","SHELL","USER","DYLD_LIBRARY_PATH","NODE_OPTIONS"]);async function i(){let a=await d.db.cliProfile.findFirst({where:{isDefault:!0}});return a?{id:a.id,name:a.name,command:a.command,baseArgs:a.baseArgs,envVars:a.envVars}:null}async function j(a,b){if(void 0!==b.command){let a=c.default.basename(b.command),d=[...new Set([...f.providerRegistry.getAllowedCommands(),"claude-code"])];if(!d.includes(a))throw Error(`command must be one of: ${d.join(", ")} (got: ${a})`)}if(void 0!==b.baseArgs){let a;try{a=JSON.parse(b.baseArgs)}catch{throw Error("baseArgs 格式无效,必须是 JSON 数组")}if(!Array.isArray(a))throw Error("baseArgs 格式无效,必须是 JSON 数组");for(let b of a){if("string"!=typeof b)throw Error("baseArgs 中每个元素必须是字符串");if(/[;&|`$()]/.test(b))throw Error(`baseArgs 包含不允许的字符: ${b}`)}}if(void 0!==b.envVars){let a;try{a=JSON.parse(b.envVars)}catch{throw Error("envVars 格式无效,必须是 JSON 对象")}if("object"!=typeof a||Array.isArray(a)||null===a)throw Error("envVars 格式无效,必须是 JSON 对象");for(let b of Object.keys(a))if(h.has(b.toUpperCase()))throw Error(`envVars 不允许设置系统关键变量: ${b}`)}try{let c=await d.db.cliProfile.update({where:{id:a},data:b});return(0,e.revalidatePath)("/settings"),c}catch(a){if(a&&"object"==typeof a&&"code"in a&&"P2025"===a.code)throw Error("CLI Profile 不存在,请检查配置");throw a}}(0,g.ensureServerEntryExports)([i,j]),(0,b.registerServerReference)(i,"008b6430cac78363e0f9e7c439111e548f503dbc5c",null),(0,b.registerServerReference)(j,"60377fce3b671fedaeb616be51a9988c1e8a0b5602",null),a.s(["getDefaultCliProfile",0,i,"updateCliProfile",0,j])},795050,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(514142),a.i(48995);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),256569,a=>a.a(async(b,c)=>{try{var d=a.i(795050),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(514142),l=a.i(48995),m=b([d,g,h]);[d,g,h]=m.then?(await m)():m,a.s(["000aa0201d3da49985af24347794aa2a7d5414e92f",()=>j.getOnboardingStatus,"00462e606ef0995a71213cdee750c9d3c29e7fc9c1",()=>h.getAvailableTerminalApps,"0055bd033108a2e7dff9544389a879e96e003b5c0a",()=>h.getActualWsPort,"008b6430cac78363e0f9e7c439111e548f503dbc5c",()=>l.getDefaultCliProfile,"400b7f133e28e89b0387649c38609fae5fb871e73a",()=>e.deleteWorkspace,"400bf7f06635db00f1075ca25bbac9a060a36589af",()=>h.getConfigValues,"400e93570ba0b5c0f939726dd5adb9f3c9e9c76a89",()=>k.deletePrompt,"401503368c9decac1b3d8b14f29c6691cde06a3fef",()=>f.createLabel,"40416858563dfcda6ad71f496e52f1c8ee5c6d10bf",()=>j.dispatchTaskCompletionEvent,"4058e8e4d312485dc58d5764250264411ed6d63a89",()=>j.setOnboardingProgress,"405b29fc4e26dc9ccbd23717c35edef73bb1138ced",()=>i.checkMigrationSafety,"40664364b95b3b5a227f56340eb589c889776e78fb",()=>e.createWorkspace,"406cdedc87de27d3c504d53d054a8cb84a172ff400",()=>f.getLabelsForWorkspace,"4096680d6a4a8e5bfd1c701be533f9de9240c37aaf",()=>f.deleteLabel,"40c9f4e50b0e1ed71eaaab93bfe9ce73fddd28d884",()=>k.getPrompts,"40df2ebb30174c80ce20f8ebf38fad10c969c0e97f",()=>j.completeOnboarding,"40fcf870561199cd7c5d576202c9d659faf650df77",()=>h.resolveGitLocalPath,"40fd4dbd0ec33a0db611a73e8fb6b26b34b592bff7",()=>k.createPrompt,"40ff045525e13df0ce44875c7bd1d8cc43f76b126d",()=>e.createProject,"60320d47298b010f431f90d55a8e2068ba4aec2870",()=>h.setConfigValue,"60377fce3b671fedaeb616be51a9988c1e8a0b5602",()=>l.updateCliProfile,"6077486b91b4600a30ae403d32023b9e75730e4c05",()=>e.updateWorkspace,"60b0796f41581e28a124adebe3c3e1fe4a0705d3ad",()=>i.analyzeProjectDirectory,"60ca22a89eface4a0c7877ca1b4d39b476a3113ae5",()=>k.updatePrompt,"60e490cf59a00c89c16874b64fb8c23438fde0af94",()=>h.getConfigValue,"60e86c155919f10693c34322b2e240f8e7d92a59e5",()=>k.setDefaultPrompt,"60ef5b03e946c7b42fa6df66b4bddcfc7b2dfea33e",()=>i.migrateProjectPath,"60fbab8700474e53a0e400a32e40f79ba99dd9c527",()=>g.globalSearch]),c()}catch(a){c(a)}},!1),103488,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0fg8.hp._.js"].map(b=>a.l(b))).then(()=>b(870282)))},93322,a=>{a.v(a=>Promise.resolve().then(()=>a(703714)))},702832,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0wwqzmm._.js"].map(b=>a.l(b))).then(()=>b(605389)))},148134,a=>{a.v(b=>Promise.all(["server/chunks/ssr/tower_0egtw-7._.js"].map(b=>a.l(b))).then(()=>b(157256)))},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0y-lkvf._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[906485,(a,b,c)=>{function d(a){return Array.isArray(a)?a:[a]}let e,f=/^\s+$/,g=/(?:[^\\]|^)\\$/,h=/^\\!/,i=/^\\#/,j=/\r?\n/g,k=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,m="node-ignore";"u">typeof Symbol&&(m=Symbol.for("node-ignore"));let n=m,o=(a,b,c)=>(Object.defineProperty(a,b,{value:c}),c),p=/([0-z])-([0-z])/g,q=()=>!1,r=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(a,b,c)=>b+(0===c.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(a,b)=>{let{length:c}=b;return b.slice(0,c-c%2)+" "}],[/[\\$.|*+(){^]/g,a=>`\\${a}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(a,b,c)=>b+6<c.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(a,b,c)=>b+c.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(a,b,c,d,e)=>"\\"===b?`\\[${c}${(a=>{let{length:b}=a;return a.slice(0,b-b%2)})(d)}${e}`:"]"===e&&d.length%2==0?`[${c.replace(p,(a,b,c)=>b.charCodeAt(0)<=c.charCodeAt(0)?a:"")}${d}]`:"[]"],[/(?:[^*])$/,a=>/\/$/.test(a)?`${a}$`:`${a}(?=$|\\/$)`]],s=/(^|\\\/)?\\\*$/,t="regex",u="checkRegex",v={[t](a,b){let c=b?`${b}[^/]+`:"[^/]*";return`${c}(?=$|\\/$)`},[u](a,b){let c=b?`${b}[^/]*`:"[^/]*";return`${c}(?=$|\\/$)`}};class w{constructor(a,b,c,d,e,f){this.pattern=a,this.mark=b,this.negative=e,o(this,"body",c),o(this,"ignoreCase",d),o(this,"regexPrefix",f)}get regex(){let a="_"+t;return this[a]?this[a]:this._make(t,a)}get checkRegex(){let a="_"+u;return this[a]?this[a]:this._make(u,a)}_make(a,b){let c=this.regexPrefix.replace(s,v[a]);return o(this,b,this.ignoreCase?RegExp(c,"i"):new RegExp(c))}}class x{constructor(a){this._ignoreCase=a,this._rules=[]}_add(a){let b;if(a&&a[n]){this._rules=this._rules.concat(a._rules._rules),this._added=!0;return}if("string"==typeof a&&(a={pattern:a}),(b=a.pattern)&&"string"==typeof b&&!f.test(b)&&!g.test(b)&&0!==b.indexOf("#")){let b=(({pattern:a,mark:b},c)=>{let d,e=!1,f=a;0===f.indexOf("!")&&(e=!0,f=f.substr(1));let g=(d=f=f.replace(h,"!").replace(i,"#"),r.reduce((a,[b,c])=>a.replace(b,c.bind(d)),d));return new w(a,b,f,c,e,g)})(a,this._ignoreCase);this._added=!0,this._rules.push(b)}}add(a){return this._added=!1,d("string"==typeof a?a.split(j).filter(Boolean):a).forEach(this._add,this),this._added}test(a,b,c){let d,f=!1,g=!1;this._rules.forEach(h=>{let{negative:i}=h;(g!==i||f===g)&&(!i||f||g||b)&&h[c].test(a)&&(f=!i,g=i,d=i?e:h)});let h={ignored:f,unignored:g};return d&&(h.rule=d),h}}let y=(a,b)=>{throw new b(a)},z=(a,b,c)=>"string"!=typeof a?c(`path must be a string, but got \`${b}\``,TypeError):a?!z.isNotRelative(a)||c(`path should be a \`path.relative()\`d string, but got "${b}"`,RangeError):c("path must not be empty",TypeError),A=a=>k.test(a);z.isNotRelative=A,z.convert=a=>a;class B{constructor({ignorecase:a=!0,ignoreCase:b=a,allowRelativePaths:c=!1}={}){o(this,n,!0),this._rules=new x(b),this._strictPathCheck=!c,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(a){return this._rules.add(a)&&this._initCache(),this}addPattern(a){return this.add(a)}_test(a,b,c,d){let e=a&&z.convert(a);return z(e,a,this._strictPathCheck?y:q),this._t(e,b,c,d)}checkIgnore(a){if(!l.test(a))return this.test(a);let b=a.split("/").filter(Boolean);if(b.pop(),b.length){let a=this._t(b.join("/")+"/",this._testCache,!0,b);if(a.ignored)return a}return this._rules.test(a,!1,u)}_t(a,b,c,d){if(a in b)return b[a];if(d||(d=a.split("/").filter(Boolean)),d.pop(),!d.length)return b[a]=this._rules.test(a,c,t);let e=this._t(d.join("/")+"/",b,c,d);return b[a]=e.ignored?e:this._rules.test(a,c,t)}ignores(a){return this._test(a,this._ignoreCache,!1).ignored}createFilter(){return a=>!this.ignores(a)}filter(a){return d(a).filter(this.createFilter())}test(a){return this._test(a,this._testCache,!0)}}let C=a=>new B(a);b.exports=C,C.default=C,b.exports.isPathValid=a=>z(a&&z.convert(a),a,q),o(b.exports,Symbol.for("setupWindows"),()=>{z.convert=a=>/^\\\\\?\\/.test(a)||/["<>|\u0000-\u001F]+/u.test(a)?a:a.replace(/\\/g,"/");let a=/^[a-z]:\//i;z.isNotRelative=b=>a.test(b)||A(b)})},652590,a=>{"use strict";var b=a.i(998503),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(906485),g=a.i(233405);function h(a,b){let c=a.endsWith(e.default.sep)?a.slice(0,-1):a,d=e.default.resolve(c,b);if(d!==c&&!d.startsWith(c+e.default.sep))throw Error(`Path traversal attempt: ${b}`);return d}var i=a.i(670221),j=a.i(126892);let k=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().default(".")});async function l(a,b="."){k.parse({worktreePath:a,relativePath:b});let g=h(a,b),i=(0,f.default)();i.add(".git");let j=e.default.join(a,".gitignore");if((0,d.existsSync)(j)){let a=await (0,c.readFile)(j,"utf-8");i.add(a)}return(await (0,c.readdir)(g,{withFileTypes:!0})).filter(b=>{let c=e.default.relative(a,e.default.join(g,b.name));return!i.ignores(c)}).sort((a,b)=>a.isDirectory()!==b.isDirectory()?a.isDirectory()?-1:1:a.name.localeCompare(b.name)).map(b=>({name:b.name,relativePath:e.default.relative(a,e.default.join(g,b.name)),isDirectory:b.isDirectory()}))}async function m(a,b,c){try{let d;d=b&&c?(0,g.execFileSync)("git",["diff","--name-status",`${b}...${c}`],{cwd:a,encoding:"utf-8",timeout:1e4}):(0,g.execFileSync)("git",["status","--porcelain","-uall"],{cwd:a,encoding:"utf-8",timeout:1e4});let e={};if(b&&c)for(let a of d.split("\n").filter(Boolean)){let b=a.split(" "),c=b[0],d=b[1];("M"===c||"A"===c||"D"===c)&&d&&(e[d]=c)}else for(let a of d.split("\n").filter(Boolean)){let b=a.substring(0,2),c=a.substring(3);c&&(b.includes("D")?e[c]="D":"??"===b||b.includes("A")?e[c]="A":e[c]="M")}return e}catch{return{}}}async function n(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.writeFile)(d,"",{flag:"wx"})}async function o(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.mkdir)(d,{recursive:!0})}async function p(a,b,d){i.z.object({worktreePath:i.z.string().min(1),oldRelativePath:i.z.string().min(1),newRelativePath:i.z.string().min(1)}).parse({worktreePath:a,oldRelativePath:b,newRelativePath:d});let e=h(a,b),f=h(a,d);await (0,c.rename)(e,f)}async function q(a,b){if(i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b}),".git"===e.default.basename(b))throw Error("Cannot delete .git directory");let d=h(a,b);(await (0,c.stat)(d)).isDirectory()?await (0,c.rm)(d,{recursive:!0,force:!0}):await (0,c.unlink)(d)}let r=i.z.object({worktreePath:i.z.string().min(1)});async function s(a){r.parse({worktreePath:a});let b=(0,f.default)();b.add(".git");let g=e.default.join(a,".gitignore");if((0,d.existsSync)(g)){let a=await (0,c.readFile)(g,"utf-8");b.add(a)}let h=[];async function i(d){for(let f of(await (0,c.readdir)(d,{withFileTypes:!0}))){let c=e.default.join(d,f.name),g=e.default.relative(a,c);b.ignores(g)||(f.isDirectory()?await i(c):h.push(g))}}return await i(a),h}let t=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)});async function u(a,b){t.parse({worktreePath:a,relativePath:b});let d=h(a,b);return(0,c.readFile)(d,"utf-8")}let v=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1),content:i.z.string()});async function w(a,b,d){v.parse({worktreePath:a,relativePath:b,content:d});let e=h(a,b);await (0,c.writeFile)(e,d,"utf-8")}async function x(b,c){let d=h(b,c),{execFile:e}=await a.A(144264);process.platform,await new Promise((a,b)=>{e("open",["-R",d],c=>c?b(c):a())})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,s,u,w,x]),(0,b.registerServerReference)(l,"60bb30d6589f31b437253151964e615a89be42910e",null),(0,b.registerServerReference)(m,"70cc3e540797eeafee2985fe364a7c54cc82d70586",null),(0,b.registerServerReference)(n,"60d5d8d151a6ad74f459060274b0a192b2753e7271",null),(0,b.registerServerReference)(o,"603dbcf04fcd9bcc277e8ddd27475bfab37f304a60",null),(0,b.registerServerReference)(p,"7064cf2c6a4ca05458773ea702ceab1f6b2223c4ca",null),(0,b.registerServerReference)(q,"60cf9cc7604ab9ef08ca2de5ec1442e9cd790250c2",null),(0,b.registerServerReference)(s,"402f42e570414537cd8c7e6c52660f03cfadea94b4",null),(0,b.registerServerReference)(u,"604078f3984c24c51531e4e4696adaae40285bc2b7",null),(0,b.registerServerReference)(w,"70b58892e4e441e89c1c34c2f8621b728c445ad2d3",null),(0,b.registerServerReference)(x,"60996696af84d1326a853c1318fd2249be3fad4273",null),a.s(["createDirectory",0,o,"createFile",0,n,"deleteEntry",0,q,"getGitStatus",0,m,"listAllFiles",0,s,"listDirectory",0,l,"readFileContent",0,u,"renameEntry",0,p,"revealInFinder",0,x,"writeFileContent",0,w],652590)},907464,(a,b,c)=>{b.exports=a.x("@vscode/ripgrep-89cf0df500039649",()=>require("@vscode/ripgrep-89cf0df500039649"))},153186,a=>{"use strict";var b=a.i(998503),c=a.i(233405),d=a.i(670221),e=a.i(907464),f=a.i(126892);let g=d.z.object({localPath:d.z.string().min(1),pattern:d.z.string().min(1).max(500),glob:d.z.string().max(200).optional(),maxResults:d.z.number().int().min(1).max(500).default(200)});async function h(a,b,d,f=200){let i,j=g.safeParse({localPath:a,pattern:b,glob:d,maxResults:f});if(!j.success)return{matches:[],truncated:!1,error:`Invalid input: ${j.error.message}`};let{localPath:k,pattern:l,glob:m,maxResults:n}=j.data;if(!(k.startsWith("/")||/^[a-zA-Z]:[/\\]/.test(k)))return{matches:[],truncated:!1,error:"localPath must be an absolute path"};let o=["--json","-n",l];m&&o.push("--glob",m),o.push(k);try{var p,q;i=await (p=e.rgPath,q={encoding:"utf-8",maxBuffer:0xa00000,timeout:1e4},new Promise((a,b)=>{(0,c.execFile)(p,o,q,(c,d)=>{c?b(c):a("string"==typeof d?d:d.toString())})}))}catch(a){if(1===a.code)return{matches:[],truncated:!1};return console.error("[searchCode] rg failed:",a),{matches:[],truncated:!1,error:"搜索失败,请重试"}}let r=i.split("\n"),s=[];for(let a of r){let b,c=a.trim();if(!c)continue;try{b=JSON.parse(c)}catch{continue}if("match"!==b.type)continue;let d=b.data,e=d.path.text,f=k.endsWith("/")?k:k+"/",g=e.startsWith(f)?e.slice(f.length):e,h=d.lines.text.replace(/\r?\n$/,""),i=d.submatches.map(a=>({start:a.start,end:a.end}));s.push({filePath:g,lineNumber:d.line_number,lineText:h,submatches:i})}let t=s.length>n;return{matches:t?s.slice(0,n):s,truncated:t}}(0,f.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"780eddea32ee4e9e36c19c30eeb99fbb97b90d0bc7",null),a.s(["searchCode",0,h])},795020,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(652590),a.i(153186),a.i(20317),a.i(200082),a.i(827882),a.i(514142);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),71610,a=>a.a(async(b,c)=>{try{var d=a.i(795020),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(652590),l=a.i(153186),m=a.i(20317),n=a.i(200082),o=a.i(827882),p=a.i(514142),q=b([d,g,h]);[d,g,h]=q.then?(await q)():q,a.s(["001dd80fe37bbdb476d40ee3aca7ce5fff1e4affd3",()=>j.getOnboardingStatus,"003cf40feb767da03b1e5e3e0b2218a5fd8604f735",()=>n.getActiveExecutionsAcrossWorkspaces,"00b7eae21237f9057ae05fc89743cfe4afff37e1d1",()=>h.getActualWsPort,"401822c186c107c6263d750905e04e0f3c50efa409",()=>n.continueLatestPtyExecution,"401ffb7a2c372d300b324d6236162f37868e4cedcf",()=>f.createLabel,"4027617f852a0470bfa1ef8389ba6fc84b5ce227d0",()=>h.resolveGitLocalPath,"402f0ff6d94ed4ac587b83a00f736fafc08c87926e",()=>f.getLabelsForWorkspace,"402f42e570414537cd8c7e6c52660f03cfadea94b4",()=>k.listAllFiles,"40367069c92f4799ae44be7005a5311da959341d39",()=>i.checkMigrationSafety,"40393a10491ecd044960ad88649e1833d52238a7be",()=>j.dispatchTaskCompletionEvent,"4047321a7abdfaaf09ebfaccc7c6f5575ea987fa11",()=>p.getPrompts,"404c821ce0995dc7cf7f711a32c9ad460a7c66e61a",()=>n.getTaskMessages,"40527d6e10a1745c51a0a9ffd192a9e74e880400f2",()=>j.completeOnboarding,"406945679a2ed467bcf9f443c616ca406566b10e84",()=>e.createProject,"409b4e80d45b70c2866a88478cb51579ac40b55b9d",()=>m.stopPreview,"40aa27a83e9645e48240c4dece40365e948a04fa08",()=>n.getTaskExecutions,"40ac92863af9c83943ea9bf4a4806e9b2250ec60ab",()=>n.stopPtyExecution,"40b0ecb3b3d2c63c9a40f31db86242d963dc63465e",()=>f.deleteLabel,"40da8820ce2a36b35aa91266678f5f65bd76de41f8",()=>j.setOnboardingProgress,"40e02b1de9e99ce6b035a489d0e3b46be7af5d4173",()=>m.openInTerminal,"40e284d0affbfc5dab1ab6118453cdb85386729ec4",()=>e.deleteWorkspace,"40e2ef9cfdff35887d82f5e52b0343c8aa064a4c7f",()=>o.checkWorktreeClean,"40fdaf8a2061f48b7c6c3bf53809ebc17208e3ff34",()=>e.createWorkspace,"600207e0744dfe37495c218be782a0bfb30701e916",()=>i.migrateProjectPath,"601cd59cdad7f0fc9db897805c687ad392804fdebc",()=>n.resumePtyExecution,"6031daff48e2b45377a9f6d7b6eb537a5a7c75419f",()=>o.updateTaskStatus,"603dbcf04fcd9bcc277e8ddd27475bfab37f304a60",()=>k.createDirectory,"604078f3984c24c51531e4e4696adaae40285bc2b7",()=>k.readFileContent,"6044146d7f7a3c3f41623a7cd430c9db50c0933ba9",()=>h.setConfigValue,"604c021029ee9851cf8ba37f532fca192421425539",()=>g.globalSearch,"6091e6fbec741a0762aec992240fcd7c555080c3d9",()=>o.commitWorktreeChanges,"60996696af84d1326a853c1318fd2249be3fad4273",()=>k.revealInFinder,"60ac76f518b7ba6b5c6d1b6c9459b4898014a85611",()=>h.getConfigValue,"60acd70db0a2f7e7e476202e7119b37e137305f019",()=>i.analyzeProjectDirectory,"60bb30d6589f31b437253151964e615a89be42910e",()=>k.listDirectory,"60cf9cc7604ab9ef08ca2de5ec1442e9cd790250c2",()=>k.deleteEntry,"60d0eb7d2e029569ea749e944fcd325b0018454a83",()=>e.updateProject,"60d5d8d151a6ad74f459060274b0a192b2753e7271",()=>k.createFile,"60dc97fcfae55a8cb6b7fce7331641c356a9f9092a",()=>n.stopTaskExecution,"60e64a73a1a812c4621d813809c8c9bf7702f635e4",()=>n.sendTaskMessage,"60fcf2f0b66e68c74b986ae9b194d8700d18b70e7c",()=>e.updateWorkspace,"7064cf2c6a4ca05458773ea702ceab1f6b2223c4ca",()=>k.renameEntry,"70947192da794b7a590edf8d14812f710314522efe",()=>m.startPreview,"70b58892e4e441e89c1c34c2f8621b728c445ad2d3",()=>k.writeFileContent,"70cc3e540797eeafee2985fe364a7c54cc82d70586",()=>k.getGitStatus,"7809e0414dee5cd1fe76e0e46f161b3b52837d42f6",()=>n.startTaskExecution,"780eddea32ee4e9e36c19c30eeb99fbb97b90d0bc7",()=>l.searchCode,"787e3bda2725d32a68cb2da8187fbe6638e9f9bf8a",()=>n.startPtyExecution]),c()}catch(a){c(a)}},!1)];
|
|
1
|
+
module.exports=[906485,(a,b,c)=>{function d(a){return Array.isArray(a)?a:[a]}let e,f=/^\s+$/,g=/(?:[^\\]|^)\\$/,h=/^\\!/,i=/^\\#/,j=/\r?\n/g,k=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,m="node-ignore";"u">typeof Symbol&&(m=Symbol.for("node-ignore"));let n=m,o=(a,b,c)=>(Object.defineProperty(a,b,{value:c}),c),p=/([0-z])-([0-z])/g,q=()=>!1,r=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(a,b,c)=>b+(0===c.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(a,b)=>{let{length:c}=b;return b.slice(0,c-c%2)+" "}],[/[\\$.|*+(){^]/g,a=>`\\${a}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(a,b,c)=>b+6<c.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(a,b,c)=>b+c.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(a,b,c,d,e)=>"\\"===b?`\\[${c}${(a=>{let{length:b}=a;return a.slice(0,b-b%2)})(d)}${e}`:"]"===e&&d.length%2==0?`[${c.replace(p,(a,b,c)=>b.charCodeAt(0)<=c.charCodeAt(0)?a:"")}${d}]`:"[]"],[/(?:[^*])$/,a=>/\/$/.test(a)?`${a}$`:`${a}(?=$|\\/$)`]],s=/(^|\\\/)?\\\*$/,t="regex",u="checkRegex",v={[t](a,b){let c=b?`${b}[^/]+`:"[^/]*";return`${c}(?=$|\\/$)`},[u](a,b){let c=b?`${b}[^/]*`:"[^/]*";return`${c}(?=$|\\/$)`}};class w{constructor(a,b,c,d,e,f){this.pattern=a,this.mark=b,this.negative=e,o(this,"body",c),o(this,"ignoreCase",d),o(this,"regexPrefix",f)}get regex(){let a="_"+t;return this[a]?this[a]:this._make(t,a)}get checkRegex(){let a="_"+u;return this[a]?this[a]:this._make(u,a)}_make(a,b){let c=this.regexPrefix.replace(s,v[a]);return o(this,b,this.ignoreCase?RegExp(c,"i"):new RegExp(c))}}class x{constructor(a){this._ignoreCase=a,this._rules=[]}_add(a){let b;if(a&&a[n]){this._rules=this._rules.concat(a._rules._rules),this._added=!0;return}if("string"==typeof a&&(a={pattern:a}),(b=a.pattern)&&"string"==typeof b&&!f.test(b)&&!g.test(b)&&0!==b.indexOf("#")){let b=(({pattern:a,mark:b},c)=>{let d,e=!1,f=a;0===f.indexOf("!")&&(e=!0,f=f.substr(1));let g=(d=f=f.replace(h,"!").replace(i,"#"),r.reduce((a,[b,c])=>a.replace(b,c.bind(d)),d));return new w(a,b,f,c,e,g)})(a,this._ignoreCase);this._added=!0,this._rules.push(b)}}add(a){return this._added=!1,d("string"==typeof a?a.split(j).filter(Boolean):a).forEach(this._add,this),this._added}test(a,b,c){let d,f=!1,g=!1;this._rules.forEach(h=>{let{negative:i}=h;(g!==i||f===g)&&(!i||f||g||b)&&h[c].test(a)&&(f=!i,g=i,d=i?e:h)});let h={ignored:f,unignored:g};return d&&(h.rule=d),h}}let y=(a,b)=>{throw new b(a)},z=(a,b,c)=>"string"!=typeof a?c(`path must be a string, but got \`${b}\``,TypeError):a?!z.isNotRelative(a)||c(`path should be a \`path.relative()\`d string, but got "${b}"`,RangeError):c("path must not be empty",TypeError),A=a=>k.test(a);z.isNotRelative=A,z.convert=a=>a;class B{constructor({ignorecase:a=!0,ignoreCase:b=a,allowRelativePaths:c=!1}={}){o(this,n,!0),this._rules=new x(b),this._strictPathCheck=!c,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(a){return this._rules.add(a)&&this._initCache(),this}addPattern(a){return this.add(a)}_test(a,b,c,d){let e=a&&z.convert(a);return z(e,a,this._strictPathCheck?y:q),this._t(e,b,c,d)}checkIgnore(a){if(!l.test(a))return this.test(a);let b=a.split("/").filter(Boolean);if(b.pop(),b.length){let a=this._t(b.join("/")+"/",this._testCache,!0,b);if(a.ignored)return a}return this._rules.test(a,!1,u)}_t(a,b,c,d){if(a in b)return b[a];if(d||(d=a.split("/").filter(Boolean)),d.pop(),!d.length)return b[a]=this._rules.test(a,c,t);let e=this._t(d.join("/")+"/",b,c,d);return b[a]=e.ignored?e:this._rules.test(a,c,t)}ignores(a){return this._test(a,this._ignoreCache,!1).ignored}createFilter(){return a=>!this.ignores(a)}filter(a){return d(a).filter(this.createFilter())}test(a){return this._test(a,this._testCache,!0)}}let C=a=>new B(a);b.exports=C,C.default=C,b.exports.isPathValid=a=>z(a&&z.convert(a),a,q),o(b.exports,Symbol.for("setupWindows"),()=>{z.convert=a=>/^\\\\\?\\/.test(a)||/["<>|\u0000-\u001F]+/u.test(a)?a:a.replace(/\\/g,"/");let a=/^[a-z]:\//i;z.isNotRelative=b=>a.test(b)||A(b)})},652590,a=>{"use strict";var b=a.i(998503),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(906485),g=a.i(233405);function h(a,b){let c=a.endsWith(e.default.sep)?a.slice(0,-1):a,d=e.default.resolve(c,b);if(d!==c&&!d.startsWith(c+e.default.sep))throw Error(`Path traversal attempt: ${b}`);return d}var i=a.i(670221),j=a.i(126892);let k=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().default(".")});async function l(a,b="."){k.parse({worktreePath:a,relativePath:b});let g=h(a,b),i=(0,f.default)();i.add(".git");let j=e.default.join(a,".gitignore");if((0,d.existsSync)(j)){let a=await (0,c.readFile)(j,"utf-8");i.add(a)}return(await (0,c.readdir)(g,{withFileTypes:!0})).filter(b=>{let c=e.default.relative(a,e.default.join(g,b.name));return!i.ignores(c)}).sort((a,b)=>a.isDirectory()!==b.isDirectory()?a.isDirectory()?-1:1:a.name.localeCompare(b.name)).map(b=>({name:b.name,relativePath:e.default.relative(a,e.default.join(g,b.name)),isDirectory:b.isDirectory()}))}async function m(a,b,c){try{let d;d=b&&c?(0,g.execFileSync)("git",["diff","--name-status",`${b}...${c}`],{cwd:a,encoding:"utf-8",timeout:1e4}):(0,g.execFileSync)("git",["status","--porcelain","-uall"],{cwd:a,encoding:"utf-8",timeout:1e4});let e={};if(b&&c)for(let a of d.split("\n").filter(Boolean)){let b=a.split(" "),c=b[0],d=b[1];("M"===c||"A"===c||"D"===c)&&d&&(e[d]=c)}else for(let a of d.split("\n").filter(Boolean)){let b=a.substring(0,2),c=a.substring(3);c&&(b.includes("D")?e[c]="D":"??"===b||b.includes("A")?e[c]="A":e[c]="M")}return e}catch{return{}}}async function n(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.writeFile)(d,"",{flag:"wx"})}async function o(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.mkdir)(d,{recursive:!0})}async function p(a,b,d){i.z.object({worktreePath:i.z.string().min(1),oldRelativePath:i.z.string().min(1),newRelativePath:i.z.string().min(1)}).parse({worktreePath:a,oldRelativePath:b,newRelativePath:d});let e=h(a,b),f=h(a,d);await (0,c.rename)(e,f)}async function q(a,b){if(i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b}),".git"===e.default.basename(b))throw Error("Cannot delete .git directory");let d=h(a,b);(await (0,c.stat)(d)).isDirectory()?await (0,c.rm)(d,{recursive:!0,force:!0}):await (0,c.unlink)(d)}let r=i.z.object({worktreePath:i.z.string().min(1)});async function s(a){r.parse({worktreePath:a});let b=(0,f.default)();b.add(".git");let g=e.default.join(a,".gitignore");if((0,d.existsSync)(g)){let a=await (0,c.readFile)(g,"utf-8");b.add(a)}let h=[];async function i(d){for(let f of(await (0,c.readdir)(d,{withFileTypes:!0}))){let c=e.default.join(d,f.name),g=e.default.relative(a,c);b.ignores(g)||(f.isDirectory()?await i(c):h.push(g))}}return await i(a),h}let t=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)});async function u(a,b){t.parse({worktreePath:a,relativePath:b});let d=h(a,b);return(0,c.readFile)(d,"utf-8")}let v=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1),content:i.z.string()});async function w(a,b,d){v.parse({worktreePath:a,relativePath:b,content:d});let e=h(a,b);await (0,c.writeFile)(e,d,"utf-8")}async function x(b,c){let d=h(b,c),{execFile:e}=await a.A(144264);process.platform,await new Promise((a,b)=>{e("open",["-R",d],c=>c?b(c):a())})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,s,u,w,x]),(0,b.registerServerReference)(l,"60936f8147c964a9239c5bd88173345f7c53e7f8d1",null),(0,b.registerServerReference)(m,"70ffd956f2f98a378b7872dd2cc012dadf27f90287",null),(0,b.registerServerReference)(n,"6023e5214f600cf732637b3a646836ebb9638618f5",null),(0,b.registerServerReference)(o,"60d7851211b9125a1fd440de7fbef4c550da2819d8",null),(0,b.registerServerReference)(p,"70798e135699608a1e650843e18fa248985c13cab6",null),(0,b.registerServerReference)(q,"606c1476dc3701db53f0f07134f238591a167d8004",null),(0,b.registerServerReference)(s,"40de6f4db9aa8810e21c453c227da6761bc1576966",null),(0,b.registerServerReference)(u,"6075acb1a0d0e6ad6f95b7b531a9ce781703f447b9",null),(0,b.registerServerReference)(w,"7010dfe95f23ee445d689cb096aa5867fab2181eee",null),(0,b.registerServerReference)(x,"60fab34ee7d5298f115f54b7db7a8a2dc0637122f4",null),a.s(["createDirectory",0,o,"createFile",0,n,"deleteEntry",0,q,"getGitStatus",0,m,"listAllFiles",0,s,"listDirectory",0,l,"readFileContent",0,u,"renameEntry",0,p,"revealInFinder",0,x,"writeFileContent",0,w],652590)},907464,(a,b,c)=>{b.exports=a.x("@vscode/ripgrep-89cf0df500039649",()=>require("@vscode/ripgrep-89cf0df500039649"))},153186,a=>{"use strict";var b=a.i(998503),c=a.i(233405),d=a.i(670221),e=a.i(907464),f=a.i(126892);let g=d.z.object({localPath:d.z.string().min(1),pattern:d.z.string().min(1).max(500),glob:d.z.string().max(200).optional(),maxResults:d.z.number().int().min(1).max(500).default(200)});async function h(a,b,d,f=200){let i,j=g.safeParse({localPath:a,pattern:b,glob:d,maxResults:f});if(!j.success)return{matches:[],truncated:!1,error:`Invalid input: ${j.error.message}`};let{localPath:k,pattern:l,glob:m,maxResults:n}=j.data;if(!(k.startsWith("/")||/^[a-zA-Z]:[/\\]/.test(k)))return{matches:[],truncated:!1,error:"localPath must be an absolute path"};let o=["--json","-n",l];m&&o.push("--glob",m),o.push(k);try{var p,q;i=await (p=e.rgPath,q={encoding:"utf-8",maxBuffer:0xa00000,timeout:1e4},new Promise((a,b)=>{(0,c.execFile)(p,o,q,(c,d)=>{c?b(c):a("string"==typeof d?d:d.toString())})}))}catch(a){if(1===a.code)return{matches:[],truncated:!1};return console.error("[searchCode] rg failed:",a),{matches:[],truncated:!1,error:"搜索失败,请重试"}}let r=i.split("\n"),s=[];for(let a of r){let b,c=a.trim();if(!c)continue;try{b=JSON.parse(c)}catch{continue}if("match"!==b.type)continue;let d=b.data,e=d.path.text,f=k.endsWith("/")?k:k+"/",g=e.startsWith(f)?e.slice(f.length):e,h=d.lines.text.replace(/\r?\n$/,""),i=d.submatches.map(a=>({start:a.start,end:a.end}));s.push({filePath:g,lineNumber:d.line_number,lineText:h,submatches:i})}let t=s.length>n;return{matches:t?s.slice(0,n):s,truncated:t}}(0,f.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"7834fe9125f5717163058eb8a77983eb722805bdc4",null),a.s(["searchCode",0,h])},795020,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(652590),a.i(153186),a.i(20317),a.i(200082),a.i(827882),a.i(514142);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),71610,a=>a.a(async(b,c)=>{try{var d=a.i(795020),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(652590),l=a.i(153186),m=a.i(20317),n=a.i(200082),o=a.i(827882),p=a.i(514142),q=b([d,g,h]);[d,g,h]=q.then?(await q)():q,a.s(["000aa0201d3da49985af24347794aa2a7d5414e92f",()=>j.getOnboardingStatus,"0055bd033108a2e7dff9544389a879e96e003b5c0a",()=>h.getActualWsPort,"007d2549a6289f05294d74bc2e40423a85bc1f2d56",()=>n.getActiveExecutionsAcrossWorkspaces,"400b7f133e28e89b0387649c38609fae5fb871e73a",()=>e.deleteWorkspace,"4012c0bc23424605056e6aae4956aa7718060ca459",()=>n.stopPtyExecution,"401503368c9decac1b3d8b14f29c6691cde06a3fef",()=>f.createLabel,"40416858563dfcda6ad71f496e52f1c8ee5c6d10bf",()=>j.dispatchTaskCompletionEvent,"4058e8e4d312485dc58d5764250264411ed6d63a89",()=>j.setOnboardingProgress,"405b29fc4e26dc9ccbd23717c35edef73bb1138ced",()=>i.checkMigrationSafety,"40664364b95b3b5a227f56340eb589c889776e78fb",()=>e.createWorkspace,"406ace73fa66f80c83acaaec980439ec83b119040f",()=>m.openInTerminal,"406cdedc87de27d3c504d53d054a8cb84a172ff400",()=>f.getLabelsForWorkspace,"407e016d2bf03345328153639e8a4fcaef2ec1bf9d",()=>m.stopPreview,"4085bdb12a7c36130ca4425f712f21e4c411b89a51",()=>n.continueLatestPtyExecution,"4096680d6a4a8e5bfd1c701be533f9de9240c37aaf",()=>f.deleteLabel,"40a90c7d3374bc46c6aa4f2390ae82109f7ddeddf8",()=>n.getTaskExecutions,"40c9f4e50b0e1ed71eaaab93bfe9ce73fddd28d884",()=>p.getPrompts,"40dc9db41cd9e67e584f1a7adb4fd456f6ecf8e681",()=>n.getTaskMessages,"40de6f4db9aa8810e21c453c227da6761bc1576966",()=>k.listAllFiles,"40df2ebb30174c80ce20f8ebf38fad10c969c0e97f",()=>j.completeOnboarding,"40fcf870561199cd7c5d576202c9d659faf650df77",()=>h.resolveGitLocalPath,"40fea9224868c1a15421bdee8a053b20283b3bb8b8",()=>o.checkWorktreeClean,"40ff045525e13df0ce44875c7bd1d8cc43f76b126d",()=>e.createProject,"601fc56bc936bf802ec7aac5fb6fdfee34c17293ff",()=>o.updateTaskStatus,"6023e5214f600cf732637b3a646836ebb9638618f5",()=>k.createFile,"60320d47298b010f431f90d55a8e2068ba4aec2870",()=>h.setConfigValue,"60623c106b77e5c802c16fc14fc356d08fc2ab5b8f",()=>n.sendTaskMessage,"606c1476dc3701db53f0f07134f238591a167d8004",()=>k.deleteEntry,"6075acb1a0d0e6ad6f95b7b531a9ce781703f447b9",()=>k.readFileContent,"6077486b91b4600a30ae403d32023b9e75730e4c05",()=>e.updateWorkspace,"60830852add5609d46f1fa921dc10becc42c34cf9a",()=>e.updateProject,"6090c0e8a20957323ccaaa23cfdb5fb61eb3c11374",()=>o.commitWorktreeChanges,"60936f8147c964a9239c5bd88173345f7c53e7f8d1",()=>k.listDirectory,"60b0796f41581e28a124adebe3c3e1fe4a0705d3ad",()=>i.analyzeProjectDirectory,"60d7851211b9125a1fd440de7fbef4c550da2819d8",()=>k.createDirectory,"60e490cf59a00c89c16874b64fb8c23438fde0af94",()=>h.getConfigValue,"60e7e6b1fe4178e321a92fbee3432490858f73e9bd",()=>n.stopTaskExecution,"60ef5b03e946c7b42fa6df66b4bddcfc7b2dfea33e",()=>i.migrateProjectPath,"60fab34ee7d5298f115f54b7db7a8a2dc0637122f4",()=>k.revealInFinder,"60fbab8700474e53a0e400a32e40f79ba99dd9c527",()=>g.globalSearch,"60ff3af7bd9fbc86b8e4acf2805e6b108b1c083d61",()=>n.resumePtyExecution,"7010dfe95f23ee445d689cb096aa5867fab2181eee",()=>k.writeFileContent,"70798e135699608a1e650843e18fa248985c13cab6",()=>k.renameEntry,"709966785dbfd0bb3723e0f4ff0e372732c1099b18",()=>m.startPreview,"70ffd956f2f98a378b7872dd2cc012dadf27f90287",()=>k.getGitStatus,"7834fe9125f5717163058eb8a77983eb722805bdc4",()=>l.searchCode,"7886ea6863d0931282634b87c57a3551c22c488c3b",()=>n.startPtyExecution,"78d5fe423bacd7c2d19725ee8bf41ae3f9e82e29dc",()=>n.startTaskExecution]),c()}catch(a){c(a)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__12f810l._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[432174,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("400bf7f06635db00f1075ca25bbac9a060a36589af",b.callServer,void 0,b.findSourceMapURL,"getConfigValues");a.s(["getConfigValues",0,c])},481030,a=>{"use strict";var b=a.i(163683),c=a.i(944921),d=a.i(340626),e=a.i(707466);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],481030)},136913,526116,a=>{"use strict";var b=a.i(116840);a.s(["CheckCircle2",()=>b.default],136913);let c=(0,a.i(173250).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,c],526116)},737316,a=>{"use strict";let b=(0,a.i(173250).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],737316)},611055,a=>{"use strict";var b=a.i(441388);let c=(0,b.createServerReference)("40c9f4e50b0e1ed71eaaab93bfe9ce73fddd28d884",b.callServer,void 0,b.findSourceMapURL,"getPrompts");a.s(["getPrompts",0,c])},648667,a=>{"use strict";var b=a.i(348273),c=a.i(707466);a.s(["Label",0,function({className:a,...d}){return(0,b.jsx)("label",{"data-slot":"label",className:(0,c.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...d})}])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=tower_0_i~57x._.js.map
|