tower-studio 0.1.16 → 0.1.18
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 +47 -47
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- 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 +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
- 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 +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +13 -13
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +13 -13
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +8 -8
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/missions/page/server-reference-manifest.json +47 -47
- 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 +15 -15
- package/.next/server/app/onboarding.segments/_full.segment.rsc +15 -15
- package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/_index.segment.rsc +8 -8
- package/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
- 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 +30 -30
- 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 +15 -15
- package/.next/server/app/settings.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +8 -8
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- 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 +73 -73
- 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 +68 -68
- 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 +57 -57
- 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/0uz~_next_dist_esm_build_templates_app-route_05yec2y.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__00~8_qz._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0bvqbq0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0rb-ear._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0ze75mm._.js +1 -1
- package/.next/server/chunks/project_f_tower_0n1s3ym._.js +1 -1
- package/.next/server/chunks/project_f_tower_src_11e.cv5._.js +1 -1
- package/.next/server/chunks/project_f_tower_src_lib_10p8sue._.js +1 -1
- package/.next/server/chunks/ssr/04uy_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_01.s1p0._.js +1 -1
- package/.next/server/chunks/ssr/0y0r_f_tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0n4g3bn._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0.yn90z._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0h8nl.m._.js → [root-of-the-server]__00_.ri0._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__06qzctf._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0_47k-j._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0aidehy._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ffdrwp._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0hiekzn._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0i4rk9v._.js +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0jpbiq_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0w7gbe7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0zaw-fl._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__13eo85g._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0.txwd8._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0tlnklr._.js → project_f_tower_006ysi2._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_09re1~6._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0d9_kxc._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0f0-wva._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0hgtev9._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0ivvjwd._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0jy~1uf._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0l6ssf8._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0ps2~v1._.js → project_f_tower_0m76uwh._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0o5.y1e._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_12oax__._.js → project_f_tower_0vfw8sn._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0w01kgd._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0ym-aea._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0i96rjz._.js → project_f_tower_13hdtgf._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_src_13jw2_q._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_actions_agent-actions_ts_0.s4~m-._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_actions_file-actions_ts_02i742t._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_onboarding_page_tsx_0_9_yoq._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_settings_page_tsx_0oo06~d._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0jmj1xz._.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 +187 -187
- package/.next/static/chunks/{0amzt~927k5f5.js → 09mbyvk8z.wx2.js} +1 -1
- package/.next/static/chunks/{0uxf3e~tjkjuz.js → 0a93fdjk-37r7.js} +1 -1
- package/.next/static/chunks/{0jfknbbi-cjcl.js → 0ejd72g7tekop.js} +1 -1
- package/.next/static/chunks/{08x0olwzpsczv.js → 0j3ixh~tlr2~~.js} +2 -2
- package/.next/static/chunks/{076vhlm6g1m9n.js → 0jm.d2tvttdcy.js} +1 -1
- package/.next/static/chunks/0kjm.xm_~nzz0.js +1 -0
- package/.next/static/chunks/{0l5tqul.pwfze.js → 0mf6fqi52ca~q.js} +1 -1
- package/.next/static/chunks/{181v0f2l.x5_p.js → 0vhwphmq69i0d.js} +1 -1
- package/.next/static/chunks/{0jef3e_wsh4mf.js → 0x2z0sza~9erw.js} +1 -1
- package/.next/static/chunks/{12q1f_9u6eduf.js → 0x9x7bxnrbi1..js} +1 -1
- package/.next/static/chunks/{14xrab1qyw2yw.js → 0~wu849la7jq2.js} +1 -1
- package/.next/static/chunks/{06~5p79536pfs.js → 1068kwso1r._u.js} +1 -1
- package/.next/static/chunks/14ul.txcdkz4n.js +1 -0
- package/.next/static/chunks/{0gwxdr2ihtu8z.js → 163-h-672vjtc.js} +1 -1
- package/.next/static/chunks/17b4edxd7wg5~.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/package.json +4 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0bqzhpe._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0h38s6n._.js +0 -3
- package/.next/server/chunks/ssr/project_f_tower_047pa2s._.js +0 -3
- package/.next/server/chunks/ssr/project_f_tower_0ssr2sl._.js +0 -3
- package/.next/server/chunks/ssr/project_f_tower_src_10.nkh7._.js +0 -3
- package/.next/static/chunks/0pez9k2q~8lom.js +0 -1
- package/.next/static/chunks/1034h4copyi13.js +0 -1
- package/.next/static/chunks/11j_4bpiqb5on.js +0 -1
- /package/.next/static/{UuR3rJNr0J0cwFZgsovkL → EMk0oZpCVYuq8amkRB5za}/_buildManifest.js +0 -0
- /package/.next/static/{UuR3rJNr0J0cwFZgsovkL → EMk0oZpCVYuq8amkRB5za}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{UuR3rJNr0J0cwFZgsovkL → EMk0oZpCVYuq8amkRB5za}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},902157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},456551,(a,b,c)=>{b.exports=a.x("node-pty-0c54088e7263f93d",()=>require("node-pty-0c54088e7263f93d"))},278418,a=>a.a(async(b,c)=>{try{let b=await a.y("ws-7d576e2771b2dc49");a.n(b),c()}catch(a){c(a)}},!0),504446,(a,b,c)=>{b.exports=a.x("net",()=>require("net"))},912206,a=>{"use strict";var b=a.i(902157),c=a.i(874533),d=a.i(750227);function e(a=process.platform){return"win32"===a}function f(a){let b=a.replace(/\r\n|\r|\n/g," ");if(!b.length)return'""';let c=b.replace(/"/g,'""');return/[\s"&<>|^()]/.test(c)?`"${c}"`:c}let g=["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_SESSION","CLAUDE_CODE_PARENT_SESSION"];async function h(a,b={}){let c=b.cwd??process.cwd(),f=b.env??process.env,g=b.platform??process.platform;if(a.includes("/")||a.includes("\\")){let b=d.default.isAbsolute(a)?a:d.default.resolve(c,a);return await k(b,g)?b:null}let i=f.PATH??f.Path??"",j=e(g)?";":":",l=i.split(j).filter(Boolean),m=e(g)?(f.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],n=e(g)&&d.default.extname(a).length>0;for(let b of l)for(let c of e(g)?n?[d.default.join(b,a)]:m.map(c=>d.default.join(b,`${a}${c}`)):[d.default.join(b,a)])if(await k(c,g))return c;return null}let i=a=>(0,c.execSync)(a,{encoding:"utf-8",timeout:5e3});function j(a,b=process.platform,c=i){if(d.default.extname(a)||a.includes("/")||a.includes("\\")||!e(b))return a;try{let b=c(`where ${a}`).trim().split("\n").map(a=>a.trim()).filter(Boolean),d=b.find(a=>/\.(cmd|bat|exe)$/i.test(a));if(d)return d;if(b.length>0)return b[0]}catch{}return a}async function k(a,c=process.platform){try{return await b.promises.access(a,e(c)?b.constants.F_OK:b.constants.X_OK),!0}catch{return!1}}async function l(a=process.platform){return e(a)?n():m()}async function m(){try{let a=await b.promises.readFile("/etc/shells","utf-8"),c=[],e=new Map;for(let b of a.split("\n")){let a=b.replace(/#.*/,"").trim();if(!a||!a.startsWith("/")||!await k(a))continue;let f=d.default.basename(a),g=e.get(f)??0;e.set(f,g+1),g>0&&(f=`${f} (${g+1})`),c.push({name:f,path:a})}return c}catch{let a=[];for(let b of["/bin/zsh","/bin/bash","/bin/sh"])await k(b)&&a.push({name:d.default.basename(b),path:b});return a}}async function n(){let a=[],b=[],c=await h("git",{platform:"win32"});if(c){let a=d.default.resolve(d.default.dirname(c),"..","..");b.push(d.default.join(a,"bin","bash.exe"),d.default.join(a,"usr","bin","bash.exe"))}for(let a of[process.env.ProgramW6432,process.env.ProgramFiles,process.env["ProgramFiles(x86)"],process.env.LocalAppData?d.default.join(process.env.LocalAppData,"Programs"):null].filter(Boolean))b.push(d.default.join(a,"Git","bin","bash.exe"),d.default.join(a,"Git","usr","bin","bash.exe"));let e=process.env.USERPROFILE??"";for(let c of(e&&b.push(d.default.join(e,"scoop","apps","git","current","bin","bash.exe")),process.env.CLAUDE_CODE_GIT_BASH_PATH&&b.unshift(process.env.CLAUDE_CODE_GIT_BASH_PATH),b))if(await k(c,"win32")){a.push({name:"Git Bash",path:c});break}let f=await h("pwsh",{platform:"win32"});f&&a.push({name:"PowerShell",path:f});let g=process.env.windir??"C:\\WINDOWS",i=d.default.join(g,"System32","WindowsPowerShell","v1.0","powershell.exe");await k(i,"win32")&&a.push({name:"Windows PowerShell",path:i});let j=process.env.ComSpec??d.default.join(g,"System32","cmd.exe");return await k(j,"win32")&&a.push({name:"Command Prompt",path:j}),a}let o=[{name:"Terminal",bundleName:"Terminal"},{name:"iTerm2",bundleName:"iTerm"},{name:"Warp",bundleName:"Warp"},{name:"Alacritty",bundleName:"Alacritty"},{name:"WezTerm",bundleName:"WezTerm"},{name:"kitty",bundleName:"kitty"},{name:"Hyper",bundleName:"Hyper"}];async function p(a=process.platform){if("darwin"===a){let b=[];for(let c of o)await k(`/Applications/${c.bundleName}.app`,a)&&b.push({name:c.name,value:c.bundleName});return b}if(e(a)){let b=[],c=await h("wt",{platform:a});return c&&b.push({name:"Windows Terminal",value:c}),b}return[]}a.s(["detectShells",0,l,"detectTerminalApps",0,p,"ensurePathInEnv",0,function(a,b=process.platform){let c=e(b)?"Path":"PATH";return(a.PATH??a.Path??"").length>0?a:{...a,[c]:function(a=process.platform){return e(a)?"C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem":"/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"}(b)}},"resolveCommandPathSync",0,j,"resolveSpawnTargetSync",0,function(a,b,c=process.platform,g){return function(a,b,c,g){if(!e(g))return{command:a,args:b};let h=d.default.extname(a).toLowerCase();return".cmd"===h||".bat"===h||".com"===h?{command:c.ComSpec||"cmd.exe",args:["/d","/s","/c",[f(a),...b.map(f)].join(" ")]}:{command:a,args:b}}(j(a,c,g),b,process.env,c)},"stripClaudeNestingEnv",0,function(a){let b={...a};for(let a of g)delete b[a];return b}])},264572,a=>{"use strict";var b=a.i(456551),c=a.i(912206);class d{taskId;_pty;killed=!1;disconnectTimer=null;_buffer="";static BUFFER_MAX=51200;_onData;_exitListeners=[];_idleTimer=null;_idleThresholdMs;_onIdle;_idleFired=!1;constructor(a,e,f,g,h,i,j,k,l){this.taskId=a,this._onData=h,this._onIdle=k??null,this._idleThresholdMs=Math.max(l??18e4,18e4);const m=(0,c.stripClaudeNestingEnv)((0,c.ensurePathInEnv)(process.env));this._pty=b.spawn(e,f,{name:"xterm-color",cols:80,rows:24,cwd:g,env:{
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},902157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},874533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},456551,(a,b,c)=>{b.exports=a.x("node-pty-0c54088e7263f93d",()=>require("node-pty-0c54088e7263f93d"))},278418,a=>a.a(async(b,c)=>{try{let b=await a.y("ws-7d576e2771b2dc49");a.n(b),c()}catch(a){c(a)}},!0),504446,(a,b,c)=>{b.exports=a.x("net",()=>require("net"))},912206,a=>{"use strict";var b=a.i(902157),c=a.i(874533),d=a.i(750227);function e(a=process.platform){return"win32"===a}function f(a){let b=a.replace(/\r\n|\r|\n/g," ");if(!b.length)return'""';let c=b.replace(/"/g,'""');return/[\s"&<>|^()]/.test(c)?`"${c}"`:c}let g=["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_SESSION","CLAUDE_CODE_PARENT_SESSION"];async function h(a,b={}){let c=b.cwd??process.cwd(),f=b.env??process.env,g=b.platform??process.platform;if(a.includes("/")||a.includes("\\")){let b=d.default.isAbsolute(a)?a:d.default.resolve(c,a);return await k(b,g)?b:null}let i=f.PATH??f.Path??"",j=e(g)?";":":",l=i.split(j).filter(Boolean),m=e(g)?(f.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],n=e(g)&&d.default.extname(a).length>0;for(let b of l)for(let c of e(g)?n?[d.default.join(b,a)]:m.map(c=>d.default.join(b,`${a}${c}`)):[d.default.join(b,a)])if(await k(c,g))return c;return null}let i=a=>(0,c.execSync)(a,{encoding:"utf-8",timeout:5e3});function j(a,b=process.platform,c=i){if(d.default.extname(a)||a.includes("/")||a.includes("\\")||!e(b))return a;try{let b=c(`where ${a}`).trim().split("\n").map(a=>a.trim()).filter(Boolean),d=b.find(a=>/\.(cmd|bat|exe)$/i.test(a));if(d)return d;if(b.length>0)return b[0]}catch{}return a}async function k(a,c=process.platform){try{return await b.promises.access(a,e(c)?b.constants.F_OK:b.constants.X_OK),!0}catch{return!1}}async function l(a=process.platform){return e(a)?n():m()}async function m(){try{let a=await b.promises.readFile("/etc/shells","utf-8"),c=[],e=new Map;for(let b of a.split("\n")){let a=b.replace(/#.*/,"").trim();if(!a||!a.startsWith("/")||!await k(a))continue;let f=d.default.basename(a),g=e.get(f)??0;e.set(f,g+1),g>0&&(f=`${f} (${g+1})`),c.push({name:f,path:a})}return c}catch{let a=[];for(let b of["/bin/zsh","/bin/bash","/bin/sh"])await k(b)&&a.push({name:d.default.basename(b),path:b});return a}}async function n(){let a=[],b=[],c=await h("git",{platform:"win32"});if(c){let a=d.default.resolve(d.default.dirname(c),"..","..");b.push(d.default.join(a,"bin","bash.exe"),d.default.join(a,"usr","bin","bash.exe"))}for(let a of[process.env.ProgramW6432,process.env.ProgramFiles,process.env["ProgramFiles(x86)"],process.env.LocalAppData?d.default.join(process.env.LocalAppData,"Programs"):null].filter(Boolean))b.push(d.default.join(a,"Git","bin","bash.exe"),d.default.join(a,"Git","usr","bin","bash.exe"));let e=process.env.USERPROFILE??"";for(let c of(e&&b.push(d.default.join(e,"scoop","apps","git","current","bin","bash.exe")),process.env.CLAUDE_CODE_GIT_BASH_PATH&&b.unshift(process.env.CLAUDE_CODE_GIT_BASH_PATH),b))if(await k(c,"win32")){a.push({name:"Git Bash",path:c});break}let f=await h("pwsh",{platform:"win32"});f&&a.push({name:"PowerShell",path:f});let g=process.env.windir??"C:\\WINDOWS",i=d.default.join(g,"System32","WindowsPowerShell","v1.0","powershell.exe");await k(i,"win32")&&a.push({name:"Windows PowerShell",path:i});let j=process.env.ComSpec??d.default.join(g,"System32","cmd.exe");return await k(j,"win32")&&a.push({name:"Command Prompt",path:j}),a}let o=[{name:"Terminal",bundleName:"Terminal"},{name:"iTerm2",bundleName:"iTerm"},{name:"Warp",bundleName:"Warp"},{name:"Alacritty",bundleName:"Alacritty"},{name:"WezTerm",bundleName:"WezTerm"},{name:"kitty",bundleName:"kitty"},{name:"Hyper",bundleName:"Hyper"}];async function p(a=process.platform){if("darwin"===a){let b=[];for(let c of o)await k(`/Applications/${c.bundleName}.app`,a)&&b.push({name:c.name,value:c.bundleName});return b}if(e(a)){let b=[],c=await h("wt",{platform:a});return c&&b.push({name:"Windows Terminal",value:c}),b}return[]}a.s(["detectShells",0,l,"detectTerminalApps",0,p,"ensurePathInEnv",0,function(a,b=process.platform){let c=e(b)?"Path":"PATH";return(a.PATH??a.Path??"").length>0?a:{...a,[c]:function(a=process.platform){return e(a)?"C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem":"/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"}(b)}},"resolveCommandPathSync",0,j,"resolveSpawnTargetSync",0,function(a,b,c=process.platform,g){return function(a,b,c,g){if(!e(g))return{command:a,args:b};let h=d.default.extname(a).toLowerCase();return".cmd"===h||".bat"===h||".com"===h?{command:c.ComSpec||"cmd.exe",args:["/d","/s","/c",[f(a),...b.map(f)].join(" ")]}:{command:a,args:b}}(j(a,c,g),b,process.env,c)},"stripClaudeNestingEnv",0,function(a){let b={...a};for(let a of g)delete b[a];return b}])},264572,a=>{"use strict";var b=a.i(456551),c=a.i(912206);class d{taskId;_pty;killed=!1;disconnectTimer=null;_buffer="";static BUFFER_MAX=51200;_onData;_exitListeners=[];_idleTimer=null;_idleThresholdMs;_onIdle;_idleFired=!1;constructor(a,e,f,g,h,i,j,k,l){this.taskId=a,this._onData=h,this._onIdle=k??null,this._idleThresholdMs=Math.max(l??18e4,18e4);const m={...(0,c.stripClaudeNestingEnv)((0,c.ensurePathInEnv)(process.env)),TERM:"xterm-color",...j};try{this._pty=b.spawn(e,f,{name:"xterm-color",cols:80,rows:24,cwd:g,env:m})}catch(a){throw console.error(`[pty] spawn failed: command="${e}", cwd="${g}", PATH="${m.PATH?.slice(0,200)}"`),a}this._pty.onData(a=>{this._buffer+=a,this._buffer.length>d.BUFFER_MAX&&(this._buffer=this._buffer.slice(this._buffer.length-d.BUFFER_MAX)),this._resetIdleTimer(),this._onData(a)}),this._pty.onExit(({exitCode:a,signal:b})=>{for(let c of(this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),i(a,b),this._exitListeners))c(a)}),this._resetIdleTimer()}_resetIdleTimer(){this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),null===this._onIdle||this.killed||this._idleFired||(this._idleTimer=setTimeout(()=>{this._idleFired=!0,this._onIdle?.()},this._idleThresholdMs))}setDataListener(a){this._onData=a}setExitListener(a){this._exitListeners=[a]}write(a){this.killed||(this._resetIdleTimer(),this._pty.write(a))}resize(a,b){this.killed||this._pty.resize(a,b)}getBuffer(){return this._buffer}get isIdle(){return this._idleFired}kill(){if(!this.killed){this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null);try{this._pty.kill()}catch{}}}}let e=globalThis;e.__ptySessions||(e.__ptySessions=new Map);let f=e.__ptySessions;function g(a){let b=f.get(a);b&&(f.delete(a),b.disconnectTimer&&(clearTimeout(b.disconnectTimer),b.disconnectTimer=null),b.kill())}function h(){for(let a of f.keys())g(a)}process.once("SIGTERM",()=>{console.error("[session-store] SIGTERM received — cleaning up PTY sessions"),h()}),process.once("SIGINT",()=>{console.error("[session-store] SIGINT received — cleaning up PTY sessions"),h()}),a.s(["createSession",0,function(a,b,e,h,i,j,k,l,m){g(a);let{command:n,args:o}=(0,c.resolveSpawnTargetSync)(b,e),p=new d(a,n,o,h,i,j,k,l,m);return f.set(a,p),p},"destroySession",0,g,"getSession",0,function(a){return f.get(a)}],264572)},968623,a=>{"use strict";var b=a.i(832116);async function c(a,c){let d=await b.db.systemConfig.findUnique({where:{key:a}});if(!d)return c;try{return JSON.parse(d.value)}catch{return c}}a.s(["readConfigValue",0,c])},155482,a=>a.a(async(b,c)=>{try{var d=a.i(278418);a.i(264572),a.i(968623);var e=b([d]);[d]=e.then?(await e)():e;let f=new Set,g=globalThis;a.s(["broadcastNotification",0,function(a){let b=JSON.stringify(a);for(let a of f)a.readyState===d.WebSocket.OPEN&&a.send(b)},"getActiveWsPort",0,function(){return g.__wsPort??null}]),c()}catch(a){c(a)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0hiekzn._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[951682,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""}])},279254,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(232779),f=a.i(951682);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(939768);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(585988),{removeWorktree:g}=await a.A(908462);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(939768);return e(d.id,d.name)}(0,a.i(632919).ensureServerEntryExports)([g,h,i,j,k,l,m,n,o,p,q,r]),(0,b.registerServerReference)(g,"00235c623c04354502ba5956e733cd9f573160f239",null),(0,b.registerServerReference)(h,"406f33c8ec7d9312197d23a2d0c3d5c9584c78cef9",null),(0,b.registerServerReference)(i,"4045532c037c0bb58b6d84a61e959dafafe8698f2c",null),(0,b.registerServerReference)(j,"603d8220d9971e2817d51cf9f94f942f90de024db3",null),(0,b.registerServerReference)(k,"4085ad95cf4a1880515947752df5ee54e1942e78da",null),(0,b.registerServerReference)(l,"40500893d96f62940c08771fecb4962e8e67be7228",null),(0,b.registerServerReference)(m,"60a4ba34f60e290ae4231c1a5d2200c6665025e6b0",null),(0,b.registerServerReference)(n,"401ce808277c60ba0267c139ba81fdb582d814d0b5",null),(0,b.registerServerReference)(o,"409c71dc0ccfda4fd1ceee3c87f9566ecdbd53cf00",null),(0,b.registerServerReference)(p,"409aeed388fbd0822fd35851a45232ef5f14ca8323",null),(0,b.registerServerReference)(q,"407153200c62c4323580f364a8ee04c47f4482e8bf",null),(0,b.registerServerReference)(r,"406b12d737455e73410f87f1d19e45a002438f6195",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])},509270,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"}}])},727977,a=>a.a(async(b,c)=>{try{var d=a.i(680889),e=a.i(832116),f=a.i(509270),g=a.i(951682),h=a.i(912206),i=a.i(155482),j=a.i(632919),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,"60b4bbab24cd5fcee6effb0677c002d7f3c8be8252",null),(0,d.registerServerReference)(m,"60d7ee112ff4e3f58ea3585ad8b20ba9bd551a805c",null),(0,d.registerServerReference)(n,"40f717adff2971d11320b6aa0d6ba72cc3dae7b53d",null),(0,d.registerServerReference)(o,"405c05edca6d848111ef9bf828871ea1a8a7c2e1ae",null),(0,d.registerServerReference)(p,"002b3ab8b0b4bffbac8a5f4936dfcb2aeb8e63cc2b",null),(0,d.registerServerReference)(q,"00bb31f16bc35b11ac323547725b885aa5d4c9f698",null),(0,d.registerServerReference)(r,"0068bcdb7668f6775587717082c1d591615c6cdafa",null),(0,d.registerServerReference)(s,"007f19f19aa7f0acb7a761c314a29d3ed85512a22c",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"))},30292,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(232779);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(632919).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"407673f8e11f3964af64ab6713c0aec3929f5255ae",null),(0,b.registerServerReference)(g,"40f24916a951e2e62a7142c175dc8d9a848498ecff",null),(0,b.registerServerReference)(h,"408964737d16a75d0dafd270f39e1758fb20ea91ab",null),(0,b.registerServerReference)(i,"60d62864983f83c64ab380fb3bb405de12b96ff80e",null),(0,b.registerServerReference)(j,"402bd0e7bf197d3a32a9c1aeb13781ed7b9ee77c5c",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},213803,a=>{"use strict";var b=a.i(832116);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=[951682,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""}])},279254,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(232779),f=a.i(951682);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(939768);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(585988),{removeWorktree:g}=await a.A(908462);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(939768);return e(d.id,d.name)}(0,a.i(632919).ensureServerEntryExports)([g,h,i,j,k,l,m,n,o,p,q,r]),(0,b.registerServerReference)(g,"00e1e55dd1d05ec060b223e4aa2b19eabf0885a653",null),(0,b.registerServerReference)(h,"4099010054cc103e24e8d4e1f51d03f149775ebb06",null),(0,b.registerServerReference)(i,"40331099e112cf0a12c70815aea55488d6338ffaa5",null),(0,b.registerServerReference)(j,"60cdcaf10b283d21d6be72f5416a056779b2d9f1c3",null),(0,b.registerServerReference)(k,"40e92d14e52706c339034c1d51a996ef2a93e177f3",null),(0,b.registerServerReference)(l,"40797d27b8ca6795d755ae7230dd593555864c7745",null),(0,b.registerServerReference)(m,"6001c2db587ae9837c01852b0a264ee014f9f96ea4",null),(0,b.registerServerReference)(n,"4041fd6a243486060eb931237780ae3eeac30e101d",null),(0,b.registerServerReference)(o,"404fd02650375319600b5b74842eae10623e17e810",null),(0,b.registerServerReference)(p,"40f256c6b3398ca41cb34fd000213fefa60d75e767",null),(0,b.registerServerReference)(q,"40105913bb5acaa20f5973651e9f371a844ed0bf80",null),(0,b.registerServerReference)(r,"40aacb5874521e8e6e7a939bb37e9f74f72e20a8b8",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])},509270,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"}}])},727977,a=>a.a(async(b,c)=>{try{var d=a.i(680889),e=a.i(832116),f=a.i(509270),g=a.i(951682),h=a.i(912206),i=a.i(155482),j=a.i(632919),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,"60745f5f7d18bf2b3783f2cc7b80d57a0a25c83e18",null),(0,d.registerServerReference)(m,"60d4299544a099ef9a764f2c22530968bdd9aba3b8",null),(0,d.registerServerReference)(n,"40789c5e8c7ca0f0a2af6d7b34a423ee37334a05b4",null),(0,d.registerServerReference)(o,"4076c6a97cc508bca550a0436e846fd61b54c1d6d8",null),(0,d.registerServerReference)(p,"001f2500de0a3163462e5799ad7a5dc424d6318684",null),(0,d.registerServerReference)(q,"004f1a77e55d8bdf466af93a84f85dd6153e1efab6",null),(0,d.registerServerReference)(r,"00c6169399e08bf6c0225c4088ba74c3c0e6340d64",null),(0,d.registerServerReference)(s,"00ca1a7c5d8c4e7adbcc0fa5820f16d2f282bdd870",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"))},30292,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(232779);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(632919).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"4050e118a4c6b1e6a776991f0a0ee8dffc19531892",null),(0,b.registerServerReference)(g,"4055c35b9777afb0676c2235fec3a77dddbb35484d",null),(0,b.registerServerReference)(h,"4035132a339561d1675b7bb24bdca38154a4d95293",null),(0,b.registerServerReference)(i,"602fb812cf96db0cbe651d01a876659964f1103b9c",null),(0,b.registerServerReference)(j,"40825d20343d90a43a00c4a3611d7ae56b2283bfc5",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},213803,a=>{"use strict";var b=a.i(832116);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=[951682,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])},322220,a=>a.a(async(b,c)=>{try{var d=a.i(680889),e=a.i(213803),f=a.i(727977),g=a.i(632919),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])},322220,a=>a.a(async(b,c)=>{try{var d=a.i(680889),e=a.i(213803),f=a.i(727977),g=a.i(632919),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,"607d00ead39c57d614468a73b1700ed559c7478ddb",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),198433,a=>{"use strict";var b=a.i(680889),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(832116),g=a.i(972795),h=a.i(632919);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(585988);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(585988);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(302452),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(302452),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,"40877c024ad087151d0a998dfd9933573de30c3c5e",null),(0,b.registerServerReference)(j,"603147b7c50c397f9344014a578b01144b2f53989d",null),(0,b.registerServerReference)(m,"601723fd09c3075bb43df49941e81b4f588c6f8132",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])}];
|
|
46
46
|
|
|
47
47
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0i4rk9v._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[814747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},918622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},427934,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},666775,a=>{"use strict";let b=(0,a.i(302856).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Settings",0,b],666775)},876674,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60745f5f7d18bf2b3783f2cc7b80d57a0a25c83e18",b.callServer,void 0,b.findSourceMapURL,"getConfigValue");a.s(["getConfigValue",0,c])},775788,a=>{"use strict";var b,c=a.i(858360);a.s([],783786),a.i(783786);var d=a.i(175391),e=a.i(910600),f=a.i(825863),g=a.i(971441),h=a.i(527993),i=a.i(630517),j=a.i(302398),k=a.i(256116),l=a.i(293785),m=a.i(128429),n=a.i(88326),o=a.i(545264);let p=d.createContext(void 0);var q=a.i(170469);let r=((b={}).checked="data-checked",b.unchecked="data-unchecked",b.disabled="data-disabled",b.readonly="data-readonly",b.required="data-required",b.valid="data-valid",b.invalid="data-invalid",b.touched="data-touched",b.dirty="data-dirty",b.filled="data-filled",b.focused="data-focused",b),s={...q.fieldValidityMapping,checked:a=>a?{[r.checked]:""}:{[r.unchecked]:""}};var t=a.i(98719),u=a.i(969626),v=a.i(506489),w=a.i(176174),x=a.i(648172),y=a.i(703599),z=a.i(107432),A=a.i(222545);let B=d.forwardRef(function(a,b){let{checked:o,className:q,defaultChecked:r,"aria-labelledby":B,id:C,inputRef:D,name:E,nativeButton:F=!1,onCheckedChange:G,readOnly:H=!1,required:I=!1,disabled:J=!1,render:K,uncheckedValue:L,value:M,...N}=a,{clearErrors:O}=(0,v.useFormContext)(),{state:P,setTouched:Q,setDirty:R,validityData:S,setFilled:T,setFocused:U,shouldValidateOnChange:V,validationMode:W,disabled:X,name:Y,validation:Z}=(0,u.useFieldRootContext)(),{labelId:$}=(0,w.useLabelableContext)(),_=X||J,aa=Y??E,ab=(0,f.useStableCallback)(G),ac=d.useRef(null),ad=(0,g.useMergedRefs)(ac,D,Z.inputRef),ae=d.useRef(null),af=(0,m.useBaseUiId)(),ag=(0,x.useLabelableId)({id:C,implicit:!1,controlRef:ae}),ah=F?void 0:ag,[ai,aj]=(0,e.useControlled)({controlled:o,default:!!r,name:"Switch",state:"checked"});(0,t.useField)({id:af,commit:Z.commit,value:ai,controlRef:ae,name:aa,getValue:()=>ai}),(0,h.useIsoLayoutEffect)(()=>{ac.current&&T(ac.current.checked)},[ac,T]),(0,A.useValueChanged)(ai,()=>{O(aa),R(ai!==S.initialValue),T(ai),V()?Z.commit(ai):Z.commit(ai,!0)});let{getButtonProps:ak,buttonRef:al}=(0,n.useButton)({disabled:_,native:F}),am=function(a,b,c,e=!0,f){let[g,i]=d.useState(),j=(0,m.useBaseUiId)(f?`${f}-label`:void 0),k=a??b??g;return(0,h.useIsoLayoutEffect)(()=>{let d=a||b||!e?void 0:function(a,b){let c=function(a){if(!a)return;let b=a.parentElement;if(b&&"LABEL"===b.tagName)return b;let c=a.id;if(c){let b=a.nextElementSibling;if(b&&b.htmlFor===c)return b}let d=a.labels;return d&&d[0]}(a);if(c)return!c.id&&b&&(c.id=b),c.id||void 0}(c.current,j);g!==d&&i(d)}),k}(B,$,ac,!F,ah),an=d.useMemo(()=>(0,l.mergeProps)({checked:ai,disabled:_,id:ah,name:aa,required:I,style:aa?i.visuallyHiddenInput:i.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ad,onChange(a){if(a.nativeEvent.defaultPrevented)return;let b=a.target.checked,c=(0,y.createChangeEventDetails)(z.REASONS.none,a.nativeEvent);ab?.(b,c),c.isCanceled||aj(b)},onFocus(){ae.current?.focus()}},Z.getInputValidationProps,void 0!==M?{value:M}:j.EMPTY_OBJECT),[ai,_,ad,ah,aa,ab,I,aj,Z,M]),ao=d.useMemo(()=>({...P,checked:ai,disabled:_,readOnly:H,required:I}),[P,ai,_,H,I]),ap=(0,k.useRenderElement)("span",a,{state:ao,ref:[b,ae,al],props:[{id:F?ag:af,role:"switch","aria-checked":ai,"aria-readonly":H||void 0,"aria-required":I||void 0,"aria-labelledby":am,onFocus(){_||U(!0)},onBlur(){let a=ac.current;a&&!_&&(Q(!0),U(!1),"onBlur"===W&&Z.commit(a.checked))},onClick(a){H||_||(a.preventDefault(),ac.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:a.shiftKey,ctrlKey:a.ctrlKey,altKey:a.altKey,metaKey:a.metaKey})))}},Z.getValidationProps,N,ak],stateAttributesMapping:s});return(0,c.jsxs)(p.Provider,{value:ao,children:[ap,!ai&&aa&&void 0!==L&&(0,c.jsx)("input",{type:"hidden",name:aa,value:L}),(0,c.jsx)("input",{...an})]})}),C=d.forwardRef(function(a,b){let{render:c,className:e,...f}=a,{state:g}=(0,u.useFieldRootContext)(),h=function(){let a=d.useContext(p);if(void 0===a)throw Error((0,o.default)(63));return a}(),i={...g,...h};return(0,k.useRenderElement)("span",a,{state:i,ref:b,stateAttributesMapping:s,props:f})});a.s(["Root",0,B,"Thumb",0,C],431499);var D=a.i(431499),D=D,E=a.i(44585);a.s(["Switch",0,function({className:a,size:b="default",...d}){return(0,c.jsx)(D.Root,{"data-slot":"switch","data-size":b,className:(0,E.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",a),...d,children:(0,c.jsx)(D.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],775788)},684262,a=>{"use strict";let b=(0,a.i(302856).default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);a.s(["Bell",0,b],684262)},761149,a=>{"use strict";var b=a.i(175391),c=a.i(88326),d=a.i(256116);let e=b.forwardRef(function(a,b){let{render:e,className:f,disabled:g=!1,focusableWhenDisabled:h=!1,nativeButton:i=!0,...j}=a,{getButtonProps:k,buttonRef:l}=(0,c.useButton)({disabled:g,focusableWhenDisabled:h,native:i});return(0,d.useRenderElement)("button",a,{state:{disabled:g},ref:[b,l],props:[j,k]})});a.s(["Button",0,e])},488137,a=>{"use strict";var b=a.i(739220);let c=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,d=b.clsx;a.s(["cva",0,(a,b)=>e=>{var f;if((null==b?void 0:b.variants)==null)return d(a,null==e?void 0:e.class,null==e?void 0:e.className);let{variants:g,defaultVariants:h}=b,i=Object.keys(g).map(a=>{let b=null==e?void 0:e[a],d=null==h?void 0:h[a];if(null===b)return null;let f=c(b)||c(d);return g[a][f]}),j=e&&Object.entries(e).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return d(a,i,null==b||null==(f=b.compoundVariants)?void 0:f.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...h,...j}[b]):({...h,...j})[b]===c})?[...a,c,d]:a},[]),null==e?void 0:e.class,null==e?void 0:e.className)}])},410756,a=>{"use strict";var b=a.i(858360),c=a.i(761149),d=a.i(488137),e=a.i(44585);let f=(0,d.cva)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});a.s(["Button",0,function({className:a,variant:d="default",size:g="default",...h}){return(0,b.jsx)(c.Button,{"data-slot":"button",className:(0,e.cn)(f({variant:d,size:g,className:a})),...h})}])},54709,912971,a=>{"use strict";let b=(0,a.i(302856).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["default",0,b],912971),a.s(["X",0,b],54709)},263973,a=>{"use strict";let b=(0,a.i(302856).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],263973)},65735,a=>{"use strict";let b=(0,a.i(302856).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",0,b])},360295,a=>{"use strict";let b=(0,a.i(302856).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["default",0,b])},61966,a=>{"use strict";let b=(0,a.i(302856).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],61966)},858967,a=>{"use strict";var b=a.i(669794);a.s(["Check",()=>b.default])},845924,a=>{"use strict";var b=a.i(858360),c=a.i(44585);a.s(["SegmentedControl",0,function({options:a,value:d,onChange:e,className:f}){return(0,b.jsx)("div",{className:(0,c.cn)("inline-flex rounded-md border border-border bg-muted p-1 gap-1",f),children:a.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>e(a.value),className:(0,c.cn)("rounded px-3 py-1 text-sm transition-colors",d===a.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:a.label},a.value))})}])},432120,a=>{"use strict";var b=a.i(175391),c=(a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}},d=["light","dark"],e="(prefers-color-scheme: dark)",f=b.createContext(void 0),g={setTheme:a=>{},themes:[]},h=["light","dark"],i=({forcedTheme:a,disableTransitionOnChange:c=!1,enableSystem:g=!0,enableColorScheme:i=!0,storageKey:n="theme",themes:o=h,defaultTheme:p=g?"system":"light",attribute:q="data-theme",value:r,children:s,nonce:t,scriptProps:u})=>{let[v,w]=b.useState(()=>k(n,p)),[x,y]=b.useState(()=>"system"===v?m():v),z=r?Object.values(r):o,A=b.useCallback(a=>{let b=a;if(!b)return;"system"===a&&g&&(b=m());let e=r?r[b]:b,f=c?l(t):null,h=document.documentElement,j=a=>{"class"===a?(h.classList.remove(...z),e&&h.classList.add(e)):a.startsWith("data-")&&(e?h.setAttribute(a,e):h.removeAttribute(a))};if(Array.isArray(q)?q.forEach(j):j(q),i){let a=d.includes(p)?p:null,c=d.includes(b)?b:a;h.style.colorScheme=c}null==f||f()},[t]),B=b.useCallback(a=>{let b="function"==typeof a?a(v):a;w(b);try{localStorage.setItem(n,b)}catch(a){}},[v]),C=b.useCallback(b=>{y(m(b)),"system"===v&&g&&!a&&A("system")},[v,a]);b.useEffect(()=>{let a=window.matchMedia(e);return a.addListener(C),C(a),()=>a.removeListener(C)},[C]),b.useEffect(()=>{let a=a=>{a.key===n&&(a.newValue?w(a.newValue):B(p))};return window.addEventListener("storage",a),()=>window.removeEventListener("storage",a)},[B]),b.useEffect(()=>{A(null!=a?a:v)},[a,v]);let D=b.useMemo(()=>({theme:v,setTheme:B,forcedTheme:a,resolvedTheme:"system"===v?x:v,themes:g?[...o,"system"]:o,systemTheme:g?x:void 0}),[v,B,a,x,g,o]);return b.createElement(f.Provider,{value:D},b.createElement(j,{forcedTheme:a,storageKey:n,attribute:q,enableSystem:g,enableColorScheme:i,defaultTheme:p,value:r,themes:o,nonce:t,scriptProps:u}),s)},j=b.memo(({forcedTheme:a,storageKey:d,attribute:e,enableSystem:f,enableColorScheme:g,defaultTheme:h,value:i,themes:j,nonce:k,scriptProps:l})=>{let m=JSON.stringify([e,d,h,a,j,i,f,g]).slice(1,-1);return b.createElement("script",{...l,suppressHydrationWarning:!0,nonce:k,dangerouslySetInnerHTML:{__html:`(${c.toString()})(${m})`}})}),k=(a,b)=>{},l=a=>{let b=document.createElement("style");return a&&b.setAttribute("nonce",a),b.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(b),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(b)},1)}},m=a=>(a||(a=window.matchMedia(e)),a.matches?"dark":"light");a.s(["ThemeProvider",0,a=>b.useContext(f)?b.createElement(b.Fragment,null,a.children):b.createElement(i,{...a}),"useTheme",0,()=>{var a;return null!=(a=b.useContext(f))?a:g}])},89402,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60d4299544a099ef9a764f2c22530968bdd9aba3b8",b.callServer,void 0,b.findSourceMapURL,"setConfigValue");a.s(["setConfigValue",0,c])},248763,470612,a=>{"use strict";var b=a.i(302856);let c=(0,b.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);a.s(["Sun",0,c],248763);let d=(0,b.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);a.s(["Moon",0,d],470612)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0jpbiq_._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"400a54a655d5e42e9fd42e248f57ade7d783a9112c",null),(0,b.registerServerReference)(m,"603e8da543b13fd18b235538edb812db23819cc7a1",null),(0,b.registerServerReference)(n,"604e33de27080212522c7823c6a0ab28de9605544a",null),(0,b.registerServerReference)(o,"409d0fe22194f52b40651ac4340b63759f96ddcea6",null),(0,b.registerServerReference)(p,"40b50a4cc59eca82c5f5c49d37b6be157e1e065dfd",null),(0,b.registerServerReference)(q,"4085db19f9504cf12d79ee12d86913ca1d182f58cb",null),(0,b.registerServerReference)(r,"40b318bab1cc36a66f93ee2bc56d3767d5b42a0723",null),(0,b.registerServerReference)(s,"40636d1b44bc86e646dfe6b78f00fd18562649e806",null),(0,b.registerServerReference)(t,"407b9e94f9c79be134a77d9ce4c0b0a15b4261a88d",null),(0,b.registerServerReference)(u,"60acc3d390a48cd5616f27d78cf43022df7960feba",null),(0,b.registerServerReference)(v,"4080a162ef557ee4f63eaa513a0b2ce704d00181f0",null),(0,b.registerServerReference)(w,"40eb123317423a8b68c7b60b41cb6c5e472a7e9006",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},532941,a=>{"use strict";let b,c;a.i(666680);var d=a.i(902157),e=a.i(750227),f=a.i(660526);let g=(c=(0,e.join)((b||(b=(0,e.join)((0,f.homedir)(),".tower"),(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0})),b),"storage"),(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),c);a.s(["ensureAssetsDir",0,function(a){let b=function(a){let b=e.join(g,"assets",a);if(!b.startsWith(g+e.sep))throw Error("Path traversal detected");return b}(a);return d.mkdirSync(b,{recursive:!0}),b}],532941)},790146,a=>a.a(async(b,c)=>{try{var d=a.i(680889),e=a.i(902157),f=a.i(750227),g=a.i(96063),h=a.i(832116),i=a.i(972795),j=a.i(532941),k=a.i(727977),l=a.i(632919),m=b([k]);[k]=m.then?(await m)():m;let t=g.z.object({filename:g.z.string().min(1).max(255),path:g.z.string().min(1),mimeType:g.z.string().max(100).optional(),size:g.z.number().int().nonnegative().optional(),projectId:g.z.string().min(1),description:g.z.string().max(500).optional(),taskId:g.z.string().optional()});async function n(a){let b=t.parse(a);(0,j.ensureAssetsDir)(b.projectId);let c=await h.db.projectAsset.create({data:{...b,taskId:b.taskId??null}});return(0,i.revalidatePath)("/workspaces"),c}async function o(a){let b=await h.db.projectAsset.findUnique({where:{id:a}});b?.path&&await e.promises.unlink(b.path).catch(()=>{}),await h.db.projectAsset.delete({where:{id:a}}),(0,i.revalidatePath)("/workspaces")}async function p(a){return h.db.projectAsset.findMany({where:{projectId:a},orderBy:{createdAt:"desc"},include:{task:{select:{id:!0,title:!0,status:!0,priority:!0,description:!0,createdAt:!0,labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}}})}async function q(a){return h.db.projectAsset.findMany({where:{taskId:a},orderBy:{createdAt:"desc"}})}async function r(a){return h.db.projectAsset.findUnique({where:{id:a}})}async function s(a){let b=a.get("file"),c=a.get("projectId"),d=a.get("taskId")||void 0;if(!b||!c)throw Error("Missing file or projectId");let g=await (0,k.getConfigValue)("system.maxUploadBytes",0x3200000);if(b.size>g)throw Error(`File too large (max ${Math.round(g/1024/1024)} MB)`);let l=a.get("description")??"";if(!await h.db.project.findUnique({where:{id:c}}))throw Error("Invalid projectId");let m=Buffer.from(await b.arrayBuffer()),o=(0,j.ensureAssetsDir)(c),p=f.basename(b.name);p&&"."!==p&&".."!==p||(p=`upload-${Date.now()}`);let q=f.join(o,p);if(e.existsSync(q)){let a=f.extname(p),b=f.basename(p,a);p=`${b}-${Date.now()}${a}`}let r=f.join(o,p);if(!r.startsWith(o))throw Error("Invalid filename");await e.promises.writeFile(r,m);let s=await n({filename:p,path:r,mimeType:b.type||void 0,size:b.size,projectId:c,description:l||void 0,taskId:d});return(0,i.revalidatePath)("/workspaces"),s}(0,l.ensureServerEntryExports)([n,o,p,q,r,s]),(0,d.registerServerReference)(n,"405183e30fc532b542d4f4cf19a18346362b7a0d0a",null),(0,d.registerServerReference)(o,"400a3d7f248c3c29008609be900f6ec07affb2cb13",null),(0,d.registerServerReference)(p,"408653a9af0b50bec7cfd8e7279cf80995989e8319",null),(0,d.registerServerReference)(q,"407e1a70d0fb408f9f9ff3a2999d0e404405047fd1",null),(0,d.registerServerReference)(r,"40b1cbd0f2eaeb938beb162ca3ac099e731f0122a3",null),(0,d.registerServerReference)(s,"40a84b7d129899b8581625c0a80107cb2b16c62f6a",null),a.s(["createAsset",0,n,"deleteAsset",0,o,"getAssetById",0,r,"getProjectAssets",0,p,"getTaskAssets",0,q,"uploadAsset",0,s]),c()}catch(a){c(a)}},!1),691429,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=a.i(790146);a.i(31782);var g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),95547,a=>a.a(async(b,c)=>{try{var d=a.i(691429),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(790146),l=a.i(31782),m=b([d,g,h,k]);[d,g,h,k]=m.then?(await m)():m,a.s(["00235c623c04354502ba5956e733cd9f573160f239",()=>e.getWorkspacesWithProjects,"002b3ab8b0b4bffbac8a5f4936dfcb2aeb8e63cc2b",()=>h.getAvailableShells,"0068bcdb7668f6775587717082c1d591615c6cdafa",()=>h.getPlatformInfo,"007f19f19aa7f0acb7a761c314a29d3ed85512a22c",()=>h.getActualWsPort,"00bb31f16bc35b11ac323547725b885aa5d4c9f698",()=>h.getAvailableTerminalApps,"00bc3693793d5b54f783edd1d2980266ef77dd187a",()=>j.getOnboardingStatus,"400a3d7f248c3c29008609be900f6ec07affb2cb13",()=>k.deleteAsset,"401ce808277c60ba0267c139ba81fdb582d814d0b5",()=>e.deleteProject,"4045532c037c0bb58b6d84a61e959dafafe8698f2c",()=>e.createWorkspace,"40500893d96f62940c08771fecb4962e8e67be7228",()=>e.createProject,"405183e30fc532b542d4f4cf19a18346362b7a0d0a",()=>k.createAsset,"405c05edca6d848111ef9bf828871ea1a8a7c2e1ae",()=>h.getConfigValues,"406b12d737455e73410f87f1d19e45a002438f6195",()=>e.getOrCreateTowerTaskId,"406f33c8ec7d9312197d23a2d0c3d5c9584c78cef9",()=>e.getWorkspaceById,"407153200c62c4323580f364a8ee04c47f4482e8bf",()=>e.getRecentLocalProjects,"407673f8e11f3964af64ab6713c0aec3929f5255ae",()=>f.getLabelsForWorkspace,"407e1a70d0fb408f9f9ff3a2999d0e404405047fd1",()=>k.getTaskAssets,"4080a162ef557ee4f63eaa513a0b2ce704d00181f0",()=>l.getTaskOverview,"4085ad95cf4a1880515947752df5ee54e1942e78da",()=>e.deleteWorkspace,"408653a9af0b50bec7cfd8e7279cf80995989e8319",()=>k.getProjectAssets,"408964737d16a75d0dafd270f39e1758fb20ea91ab",()=>f.deleteLabel,"409aeed388fbd0822fd35851a45232ef5f14ca8323",()=>e.getWorkspacesWithRecentTasks,"409c71dc0ccfda4fd1ceee3c87f9566ecdbd53cf00",()=>e.getProjectByLocalPath,"40a84b7d129899b8581625c0a80107cb2b16c62f6a",()=>k.uploadAsset,"40b1cbd0f2eaeb938beb162ca3ac099e731f0122a3",()=>k.getAssetById,"40bf29122e3767079bdd6ed916b5ad5c005ee11ccc",()=>j.setOnboardingProgress,"40d8d13e21f2d36893466011a1cf361785de56c009",()=>i.checkMigrationSafety,"40f24916a951e2e62a7142c175dc8d9a848498ecff",()=>f.createLabel,"40f25741b725b8f8b3f2e3a6cb06f71ef80d5258ad",()=>j.completeOnboarding,"40f717adff2971d11320b6aa0d6ba72cc3dae7b53d",()=>h.resolveGitLocalPath,"40fa0f9e83c40e87c5a6d5d8de2d56ce714505c16b",()=>j.dispatchTaskCompletionEvent,"603d8220d9971e2817d51cf9f94f942f90de024db3",()=>e.updateWorkspace,"604791f15787de63a881aa689f3d5f281e237922db",()=>i.analyzeProjectDirectory,"60798cfb96bf7cac09a22fc324d9bfa6f70a069090",()=>g.globalSearch,"6084196ed91ce6b364ea04c8d3a457cec94f6f3ddb",()=>i.migrateProjectPath,"60a4ba34f60e290ae4231c1a5d2200c6665025e6b0",()=>e.updateProject,"60b4bbab24cd5fcee6effb0677c002d7f3c8be8252",()=>h.getConfigValue,"60d7ee112ff4e3f58ea3585ad8b20ba9bd551a805c",()=>h.setConfigValue]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0kwu.w7._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0uca1bc._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__04u4kb4._.js"].map(b=>a.l(b))).then(()=>b(23999)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
|
|
1
|
+
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"4054138fc41b122bd1ed800c6f1eac9534bef223c8",null),(0,b.registerServerReference)(m,"602d79bb6af0a9cd6edb1759776d8dfeb1b0b958b7",null),(0,b.registerServerReference)(n,"6054c2461447b80b81a8919d07204182565401aa75",null),(0,b.registerServerReference)(o,"4092a979dbd48b2897259dfbd4283c8d707dc12413",null),(0,b.registerServerReference)(p,"4098d493db5337c6626a8fb7b62ba3db92fd6aee92",null),(0,b.registerServerReference)(q,"40261d942dbaaffdbe2427efd3209155c635e6506a",null),(0,b.registerServerReference)(r,"409638c08fddf6defa1061222cf07cf4ae5391607d",null),(0,b.registerServerReference)(s,"407f4229b43fd9ab6921f353b0f0645634a01021c2",null),(0,b.registerServerReference)(t,"400840a4148c075cf61f4f65faf3465628532c3c9e",null),(0,b.registerServerReference)(u,"60569a6af1a9da72231ee81243df47abfc51f92540",null),(0,b.registerServerReference)(v,"40470c93f05453489f02716b5f616413ce5b3ab372",null),(0,b.registerServerReference)(w,"401feab310deb070fedfdbcf8030149b5ffeb7c72a",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},532941,a=>{"use strict";let b,c;a.i(666680);var d=a.i(902157),e=a.i(750227),f=a.i(660526);let g=(c=(0,e.join)((b||(b=(0,e.join)((0,f.homedir)(),".tower"),(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0})),b),"storage"),(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),c);a.s(["ensureAssetsDir",0,function(a){let b=function(a){let b=e.join(g,"assets",a);if(!b.startsWith(g+e.sep))throw Error("Path traversal detected");return b}(a);return d.mkdirSync(b,{recursive:!0}),b}],532941)},790146,a=>a.a(async(b,c)=>{try{var d=a.i(680889),e=a.i(902157),f=a.i(750227),g=a.i(96063),h=a.i(832116),i=a.i(972795),j=a.i(532941),k=a.i(727977),l=a.i(632919),m=b([k]);[k]=m.then?(await m)():m;let t=g.z.object({filename:g.z.string().min(1).max(255),path:g.z.string().min(1),mimeType:g.z.string().max(100).optional(),size:g.z.number().int().nonnegative().optional(),projectId:g.z.string().min(1),description:g.z.string().max(500).optional(),taskId:g.z.string().optional()});async function n(a){let b=t.parse(a);(0,j.ensureAssetsDir)(b.projectId);let c=await h.db.projectAsset.create({data:{...b,taskId:b.taskId??null}});return(0,i.revalidatePath)("/workspaces"),c}async function o(a){let b=await h.db.projectAsset.findUnique({where:{id:a}});b?.path&&await e.promises.unlink(b.path).catch(()=>{}),await h.db.projectAsset.delete({where:{id:a}}),(0,i.revalidatePath)("/workspaces")}async function p(a){return h.db.projectAsset.findMany({where:{projectId:a},orderBy:{createdAt:"desc"},include:{task:{select:{id:!0,title:!0,status:!0,priority:!0,description:!0,createdAt:!0,labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}}})}async function q(a){return h.db.projectAsset.findMany({where:{taskId:a},orderBy:{createdAt:"desc"}})}async function r(a){return h.db.projectAsset.findUnique({where:{id:a}})}async function s(a){let b=a.get("file"),c=a.get("projectId"),d=a.get("taskId")||void 0;if(!b||!c)throw Error("Missing file or projectId");let g=await (0,k.getConfigValue)("system.maxUploadBytes",0x3200000);if(b.size>g)throw Error(`File too large (max ${Math.round(g/1024/1024)} MB)`);let l=a.get("description")??"";if(!await h.db.project.findUnique({where:{id:c}}))throw Error("Invalid projectId");let m=Buffer.from(await b.arrayBuffer()),o=(0,j.ensureAssetsDir)(c),p=f.basename(b.name);p&&"."!==p&&".."!==p||(p=`upload-${Date.now()}`);let q=f.join(o,p);if(e.existsSync(q)){let a=f.extname(p),b=f.basename(p,a);p=`${b}-${Date.now()}${a}`}let r=f.join(o,p);if(!r.startsWith(o))throw Error("Invalid filename");await e.promises.writeFile(r,m);let s=await n({filename:p,path:r,mimeType:b.type||void 0,size:b.size,projectId:c,description:l||void 0,taskId:d});return(0,i.revalidatePath)("/workspaces"),s}(0,l.ensureServerEntryExports)([n,o,p,q,r,s]),(0,d.registerServerReference)(n,"40ae14097b7fac279701bef47c08a2c3d38a000e33",null),(0,d.registerServerReference)(o,"40f2e04c89b9addd932b158350a08db217fa4acea5",null),(0,d.registerServerReference)(p,"40f39157d3a0038b0691ac8347ccd5453a569e45a9",null),(0,d.registerServerReference)(q,"403bdae23725e2984e65c282e1ce2932a7611cd7b0",null),(0,d.registerServerReference)(r,"40ed4724f0291f87469d6caff185cf035ad20ee635",null),(0,d.registerServerReference)(s,"40b9738e6597fb9a126f5b952c27544c08d42b273c",null),a.s(["createAsset",0,n,"deleteAsset",0,o,"getAssetById",0,r,"getProjectAssets",0,p,"getTaskAssets",0,q,"uploadAsset",0,s]),c()}catch(a){c(a)}},!1),691429,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=a.i(790146);a.i(31782);var g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),95547,a=>a.a(async(b,c)=>{try{var d=a.i(691429),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(790146),l=a.i(31782),m=b([d,g,h,k]);[d,g,h,k]=m.then?(await m)():m,a.s(["001f2500de0a3163462e5799ad7a5dc424d6318684",()=>h.getAvailableShells,"004f1a77e55d8bdf466af93a84f85dd6153e1efab6",()=>h.getAvailableTerminalApps,"0078f4786fa49b266ffa694e34a4c1ccbe901c2b55",()=>j.getOnboardingStatus,"00c6169399e08bf6c0225c4088ba74c3c0e6340d64",()=>h.getPlatformInfo,"00ca1a7c5d8c4e7adbcc0fa5820f16d2f282bdd870",()=>h.getActualWsPort,"00e1e55dd1d05ec060b223e4aa2b19eabf0885a653",()=>e.getWorkspacesWithProjects,"40105913bb5acaa20f5973651e9f371a844ed0bf80",()=>e.getRecentLocalProjects,"40331099e112cf0a12c70815aea55488d6338ffaa5",()=>e.createWorkspace,"4035132a339561d1675b7bb24bdca38154a4d95293",()=>f.deleteLabel,"4037de57d0599f29df53638115136474393de6e339",()=>j.setOnboardingProgress,"403bdae23725e2984e65c282e1ce2932a7611cd7b0",()=>k.getTaskAssets,"40412b528ff795345783a28794c363626c155d6970",()=>j.dispatchTaskCompletionEvent,"4041fd6a243486060eb931237780ae3eeac30e101d",()=>e.deleteProject,"40470c93f05453489f02716b5f616413ce5b3ab372",()=>l.getTaskOverview,"404fd02650375319600b5b74842eae10623e17e810",()=>e.getProjectByLocalPath,"4050e118a4c6b1e6a776991f0a0ee8dffc19531892",()=>f.getLabelsForWorkspace,"4055c35b9777afb0676c2235fec3a77dddbb35484d",()=>f.createLabel,"4076c6a97cc508bca550a0436e846fd61b54c1d6d8",()=>h.getConfigValues,"40789c5e8c7ca0f0a2af6d7b34a423ee37334a05b4",()=>h.resolveGitLocalPath,"40797d27b8ca6795d755ae7230dd593555864c7745",()=>e.createProject,"40877c024ad087151d0a998dfd9933573de30c3c5e",()=>i.checkMigrationSafety,"4099010054cc103e24e8d4e1f51d03f149775ebb06",()=>e.getWorkspaceById,"40aacb5874521e8e6e7a939bb37e9f74f72e20a8b8",()=>e.getOrCreateTowerTaskId,"40ae14097b7fac279701bef47c08a2c3d38a000e33",()=>k.createAsset,"40b9738e6597fb9a126f5b952c27544c08d42b273c",()=>k.uploadAsset,"40c64a99851b9cf49554c71b8c97f91c24632d635b",()=>j.completeOnboarding,"40e92d14e52706c339034c1d51a996ef2a93e177f3",()=>e.deleteWorkspace,"40ed4724f0291f87469d6caff185cf035ad20ee635",()=>k.getAssetById,"40f256c6b3398ca41cb34fd000213fefa60d75e767",()=>e.getWorkspacesWithRecentTasks,"40f2e04c89b9addd932b158350a08db217fa4acea5",()=>k.deleteAsset,"40f39157d3a0038b0691ac8347ccd5453a569e45a9",()=>k.getProjectAssets,"6001c2db587ae9837c01852b0a264ee014f9f96ea4",()=>e.updateProject,"601723fd09c3075bb43df49941e81b4f588c6f8132",()=>i.analyzeProjectDirectory,"603147b7c50c397f9344014a578b01144b2f53989d",()=>i.migrateProjectPath,"60745f5f7d18bf2b3783f2cc7b80d57a0a25c83e18",()=>h.getConfigValue,"607d00ead39c57d614468a73b1700ed559c7478ddb",()=>g.globalSearch,"60cdcaf10b283d21d6be72f5416a056779b2d9f1c3",()=>e.updateWorkspace,"60d4299544a099ef9a764f2c22530968bdd9aba3b8",()=>h.setConfigValue]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0kwu.w7._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0uca1bc._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__04u4kb4._.js"].map(b=>a.l(b))).then(()=>b(23999)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0w7gbe7._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=["--dangerously-skip-permissions"];a.extraArgs?.length&&b.push(...a.extraArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...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")))}}])},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"400a54a655d5e42e9fd42e248f57ade7d783a9112c",null),(0,b.registerServerReference)(m,"603e8da543b13fd18b235538edb812db23819cc7a1",null),(0,b.registerServerReference)(n,"604e33de27080212522c7823c6a0ab28de9605544a",null),(0,b.registerServerReference)(o,"409d0fe22194f52b40651ac4340b63759f96ddcea6",null),(0,b.registerServerReference)(p,"40b50a4cc59eca82c5f5c49d37b6be157e1e065dfd",null),(0,b.registerServerReference)(q,"4085db19f9504cf12d79ee12d86913ca1d182f58cb",null),(0,b.registerServerReference)(r,"40b318bab1cc36a66f93ee2bc56d3767d5b42a0723",null),(0,b.registerServerReference)(s,"40636d1b44bc86e646dfe6b78f00fd18562649e806",null),(0,b.registerServerReference)(t,"407b9e94f9c79be134a77d9ce4c0b0a15b4261a88d",null),(0,b.registerServerReference)(u,"60acc3d390a48cd5616f27d78cf43022df7960feba",null),(0,b.registerServerReference)(v,"4080a162ef557ee4f63eaa513a0b2ce704d00181f0",null),(0,b.registerServerReference)(w,"40eb123317423a8b68c7b60b41cb6c5e472a7e9006",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])},796544,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(632919).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"40dd2ab0c8b2fb4ecc971b049e181389621ccbe851",null),(0,b.registerServerReference)(f,"4052e4aca13e2938a01cf13be3785998246494b863",null),(0,b.registerServerReference)(g,"40fae2e614e32f0f2e911fd8b11f6a4f71bb3c4c50",null),(0,b.registerServerReference)(h,"60c7d0b90084e9b788388c5c7f62b6226da5a661ab",null),(0,b.registerServerReference)(i,"40c93c4ab34aaa81fa1b78cd8c363e8c60d251d30b",null),(0,b.registerServerReference)(j,"600ef2c04515f18b2b89c04235adef41b2d831124e",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},614688,a=>{"use strict";var b=a.i(680889),c=a.i(874533),d=a.i(902157),e=a.i(750227);let f=new Map;function g(a){let b=f.get(a);return!!b&&(f.delete(a),!b.killed&&(b.kill("SIGTERM"),!0))}function h(){for(let a of[...f.keys()])g(a)}process.on("SIGTERM",()=>h()),process.on("SIGINT",()=>h());var i=a.i(968623),j=a.i(632919);async function k(a,b,d){let e;(e=f.get(a))&&!e.killed&&g(a);try{let[e,...h]=b.trim().split(/\s+/),i=(0,c.spawn)(e,h,{cwd:d,shell:!1,detached:!1,stdio:"ignore"});return g(a),i.on("exit",()=>{f.get(a)===i&&f.delete(a)}),f.set(a,i),{started:!0}}catch(a){return{started:!1,error:String(a)}}}async function l(a){g(a)}async function m(a){try{let b=(0,d.readFileSync)((0,e.join)(a,"package.json"),"utf-8"),c=JSON.parse(b),f={...c.dependencies,...c.devDependencies};if(f.vite||f["@vitejs/plugin-vue"]||f["@vitejs/plugin-react"])return"vite";if(f.next)return"next";if(f.nuxt)return"nuxt";if(f["@angular/core"])return"angular";return null}catch{return null}}let n=["Terminal","iTerm","iTerm2","Warp","Hyper","Alacritty","WezTerm","kitty"];async function o(a){if(!a||!(0,e.isAbsolute)(a))throw Error("openInTerminal requires an absolute path");let b=await (0,i.readConfigValue)("terminal.app","Terminal");if(!n.includes(b))throw Error(`Terminal app '${b}' is not in the allowed list`);(0,c.execFileSync)("open",["-a",b,a])}(0,j.ensureServerEntryExports)([k,l,m,o]),(0,b.registerServerReference)(k,"70f5415cfb1e90dbdb9399c0a79988a3c766449d27",null),(0,b.registerServerReference)(l,"4044d6ca5c4b62d2d2e3952f2dea346d79dc4bc001",null),(0,b.registerServerReference)(m,"40711c28af527584ccd9db8fe063810906fe3d5ea8",null),(0,b.registerServerReference)(o,"40d3bb361175ccf31fa1cbe570d51abec9e9a840a0",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],614688)},939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0q3t9-e._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_10~x~zx._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_0cjk_8x._.js"].map(b=>a.l(b))).then(()=>b(23999)))},4868,a=>{a.v(a=>Promise.resolve().then(()=>a(541587)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
|
|
1
|
+
module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=["--dangerously-skip-permissions"];a.extraArgs?.length&&b.push(...a.extraArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...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")))}}])},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"4054138fc41b122bd1ed800c6f1eac9534bef223c8",null),(0,b.registerServerReference)(m,"602d79bb6af0a9cd6edb1759776d8dfeb1b0b958b7",null),(0,b.registerServerReference)(n,"6054c2461447b80b81a8919d07204182565401aa75",null),(0,b.registerServerReference)(o,"4092a979dbd48b2897259dfbd4283c8d707dc12413",null),(0,b.registerServerReference)(p,"4098d493db5337c6626a8fb7b62ba3db92fd6aee92",null),(0,b.registerServerReference)(q,"40261d942dbaaffdbe2427efd3209155c635e6506a",null),(0,b.registerServerReference)(r,"409638c08fddf6defa1061222cf07cf4ae5391607d",null),(0,b.registerServerReference)(s,"407f4229b43fd9ab6921f353b0f0645634a01021c2",null),(0,b.registerServerReference)(t,"400840a4148c075cf61f4f65faf3465628532c3c9e",null),(0,b.registerServerReference)(u,"60569a6af1a9da72231ee81243df47abfc51f92540",null),(0,b.registerServerReference)(v,"40470c93f05453489f02716b5f616413ce5b3ab372",null),(0,b.registerServerReference)(w,"401feab310deb070fedfdbcf8030149b5ffeb7c72a",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])},796544,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(632919).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"409ae7e7e89ea2e0f5f1e50c1ace524ab68774c79c",null),(0,b.registerServerReference)(f,"406b598e4eddb75ef0c82f0513facfda15a1d4a862",null),(0,b.registerServerReference)(g,"40bfb3cb79883e2768cea9b1a18d89a01e7b1f8d67",null),(0,b.registerServerReference)(h,"6025a527a57d3023dac08fb0af1aa2c5520ddf6df5",null),(0,b.registerServerReference)(i,"406ebc5ada1c7d97d94766f447fdccc90b49179f6b",null),(0,b.registerServerReference)(j,"60535812c2ccdabf1dd33129c66bec4c80008c59d8",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"setDefaultPrompt",0,j,"updatePrompt",0,h])},614688,a=>{"use strict";var b=a.i(680889),c=a.i(874533),d=a.i(902157),e=a.i(750227);let f=new Map;function g(a){let b=f.get(a);return!!b&&(f.delete(a),!b.killed&&(b.kill("SIGTERM"),!0))}function h(){for(let a of[...f.keys()])g(a)}process.on("SIGTERM",()=>h()),process.on("SIGINT",()=>h());var i=a.i(968623),j=a.i(632919);async function k(a,b,d){let e;(e=f.get(a))&&!e.killed&&g(a);try{let[e,...h]=b.trim().split(/\s+/),i=(0,c.spawn)(e,h,{cwd:d,shell:!1,detached:!1,stdio:"ignore"});return g(a),i.on("exit",()=>{f.get(a)===i&&f.delete(a)}),f.set(a,i),{started:!0}}catch(a){return{started:!1,error:String(a)}}}async function l(a){g(a)}async function m(a){try{let b=(0,d.readFileSync)((0,e.join)(a,"package.json"),"utf-8"),c=JSON.parse(b),f={...c.dependencies,...c.devDependencies};if(f.vite||f["@vitejs/plugin-vue"]||f["@vitejs/plugin-react"])return"vite";if(f.next)return"next";if(f.nuxt)return"nuxt";if(f["@angular/core"])return"angular";return null}catch{return null}}let n=["Terminal","iTerm","iTerm2","Warp","Hyper","Alacritty","WezTerm","kitty"];async function o(a){if(!a||!(0,e.isAbsolute)(a))throw Error("openInTerminal requires an absolute path");let b=await (0,i.readConfigValue)("terminal.app","Terminal");if(!n.includes(b))throw Error(`Terminal app '${b}' is not in the allowed list`);(0,c.execFileSync)("open",["-a",b,a])}(0,j.ensureServerEntryExports)([k,l,m,o]),(0,b.registerServerReference)(k,"70f03e1478d04e52199771a54a04ef34325d6b1042",null),(0,b.registerServerReference)(l,"40edfacd83b2ef02b41fb3bdd67aad9454afb53620",null),(0,b.registerServerReference)(m,"40c11fb067940afc41ac8390824b9683ff220f8b4e",null),(0,b.registerServerReference)(o,"408893e70b6aa2c0f63a9e5ad8957e7ecac34cb742",null),a.s(["openInTerminal",0,o,"startPreview",0,k,"stopPreview",0,l],614688)},939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_0q3t9-e._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_10~x~zx._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_0cjk_8x._.js"].map(b=>a.l(b))).then(()=>b(23999)))},4868,a=>{a.v(a=>Promise.resolve().then(()=>a(541587)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0zaw-fl._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[715416,(a,b,c)=>{function d(a){return Array.isArray(a)?a:[a]}let e,f=/^\s+$/,g=/(?:[^\\]|^)\\$/,h=/^\\!/,i=/^\\#/,j=/\r?\n/g,k=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,m="node-ignore";"u">typeof Symbol&&(m=Symbol.for("node-ignore"));let n=m,o=(a,b,c)=>(Object.defineProperty(a,b,{value:c}),c),p=/([0-z])-([0-z])/g,q=()=>!1,r=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(a,b,c)=>b+(0===c.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(a,b)=>{let{length:c}=b;return b.slice(0,c-c%2)+" "}],[/[\\$.|*+(){^]/g,a=>`\\${a}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(a,b,c)=>b+6<c.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(a,b,c)=>b+c.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(a,b,c,d,e)=>"\\"===b?`\\[${c}${(a=>{let{length:b}=a;return a.slice(0,b-b%2)})(d)}${e}`:"]"===e&&d.length%2==0?`[${c.replace(p,(a,b,c)=>b.charCodeAt(0)<=c.charCodeAt(0)?a:"")}${d}]`:"[]"],[/(?:[^*])$/,a=>/\/$/.test(a)?`${a}$`:`${a}(?=$|\\/$)`]],s=/(^|\\\/)?\\\*$/,t="regex",u="checkRegex",v={[t](a,b){let c=b?`${b}[^/]+`:"[^/]*";return`${c}(?=$|\\/$)`},[u](a,b){let c=b?`${b}[^/]*`:"[^/]*";return`${c}(?=$|\\/$)`}};class w{constructor(a,b,c,d,e,f){this.pattern=a,this.mark=b,this.negative=e,o(this,"body",c),o(this,"ignoreCase",d),o(this,"regexPrefix",f)}get regex(){let a="_"+t;return this[a]?this[a]:this._make(t,a)}get checkRegex(){let a="_"+u;return this[a]?this[a]:this._make(u,a)}_make(a,b){let c=this.regexPrefix.replace(s,v[a]);return o(this,b,this.ignoreCase?RegExp(c,"i"):new RegExp(c))}}class x{constructor(a){this._ignoreCase=a,this._rules=[]}_add(a){let b;if(a&&a[n]){this._rules=this._rules.concat(a._rules._rules),this._added=!0;return}if("string"==typeof a&&(a={pattern:a}),(b=a.pattern)&&"string"==typeof b&&!f.test(b)&&!g.test(b)&&0!==b.indexOf("#")){let b=(({pattern:a,mark:b},c)=>{let d,e=!1,f=a;0===f.indexOf("!")&&(e=!0,f=f.substr(1));let g=(d=f=f.replace(h,"!").replace(i,"#"),r.reduce((a,[b,c])=>a.replace(b,c.bind(d)),d));return new w(a,b,f,c,e,g)})(a,this._ignoreCase);this._added=!0,this._rules.push(b)}}add(a){return this._added=!1,d("string"==typeof a?a.split(j).filter(Boolean):a).forEach(this._add,this),this._added}test(a,b,c){let d,f=!1,g=!1;this._rules.forEach(h=>{let{negative:i}=h;(g!==i||f===g)&&(!i||f||g||b)&&h[c].test(a)&&(f=!i,g=i,d=i?e:h)});let h={ignored:f,unignored:g};return d&&(h.rule=d),h}}let y=(a,b)=>{throw new b(a)},z=(a,b,c)=>"string"!=typeof a?c(`path must be a string, but got \`${b}\``,TypeError):a?!z.isNotRelative(a)||c(`path should be a \`path.relative()\`d string, but got "${b}"`,RangeError):c("path must not be empty",TypeError),A=a=>k.test(a);z.isNotRelative=A,z.convert=a=>a;class B{constructor({ignorecase:a=!0,ignoreCase:b=a,allowRelativePaths:c=!1}={}){o(this,n,!0),this._rules=new x(b),this._strictPathCheck=!c,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(a){return this._rules.add(a)&&this._initCache(),this}addPattern(a){return this.add(a)}_test(a,b,c,d){let e=a&&z.convert(a);return z(e,a,this._strictPathCheck?y:q),this._t(e,b,c,d)}checkIgnore(a){if(!l.test(a))return this.test(a);let b=a.split("/").filter(Boolean);if(b.pop(),b.length){let a=this._t(b.join("/")+"/",this._testCache,!0,b);if(a.ignored)return a}return this._rules.test(a,!1,u)}_t(a,b,c,d){if(a in b)return b[a];if(d||(d=a.split("/").filter(Boolean)),d.pop(),!d.length)return b[a]=this._rules.test(a,c,t);let e=this._t(d.join("/")+"/",b,c,d);return b[a]=e.ignored?e:this._rules.test(a,c,t)}ignores(a){return this._test(a,this._ignoreCache,!1).ignored}createFilter(){return a=>!this.ignores(a)}filter(a){return d(a).filter(this.createFilter())}test(a){return this._test(a,this._testCache,!0)}}let C=a=>new B(a);b.exports=C,C.default=C,b.exports.isPathValid=a=>z(a&&z.convert(a),a,q),o(b.exports,Symbol.for("setupWindows"),()=>{z.convert=a=>/^\\\\\?\\/.test(a)||/["<>|\u0000-\u001F]+/u.test(a)?a:a.replace(/\\/g,"/");let a=/^[a-z]:\//i;z.isNotRelative=b=>a.test(b)||A(b)})},507674,a=>{"use strict";var b=a.i(680889),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(715416),g=a.i(233405);function h(a,b){let c=a.endsWith(e.default.sep)?a.slice(0,-1):a,d=e.default.resolve(c,b);if(d!==c&&!d.startsWith(c+e.default.sep))throw Error(`Path traversal attempt: ${b}`);return d}var i=a.i(96063),j=a.i(632919);let k=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().default(".")});async function l(a,b="."){k.parse({worktreePath:a,relativePath:b});let g=h(a,b),i=(0,f.default)();i.add(".git");let j=e.default.join(a,".gitignore");if((0,d.existsSync)(j)){let a=await (0,c.readFile)(j,"utf-8");i.add(a)}return(await (0,c.readdir)(g,{withFileTypes:!0})).filter(b=>{let c=e.default.relative(a,e.default.join(g,b.name));return!i.ignores(c)}).sort((a,b)=>a.isDirectory()!==b.isDirectory()?a.isDirectory()?-1:1:a.name.localeCompare(b.name)).map(b=>({name:b.name,relativePath:e.default.relative(a,e.default.join(g,b.name)),isDirectory:b.isDirectory()}))}async function m(a,b,c){try{let d;d=b&&c?(0,g.execFileSync)("git",["diff","--name-status",`${b}...${c}`],{cwd:a,encoding:"utf-8",timeout:1e4}):(0,g.execFileSync)("git",["status","--porcelain","-uall"],{cwd:a,encoding:"utf-8",timeout:1e4});let e={};if(b&&c)for(let a of d.split("\n").filter(Boolean)){let b=a.split(" "),c=b[0],d=b[1];("M"===c||"A"===c||"D"===c)&&d&&(e[d]=c)}else for(let a of d.split("\n").filter(Boolean)){let b=a.substring(0,2),c=a.substring(3);c&&(b.includes("D")?e[c]="D":"??"===b||b.includes("A")?e[c]="A":e[c]="M")}return e}catch{return{}}}async function n(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.writeFile)(d,"",{flag:"wx"})}async function o(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.mkdir)(d,{recursive:!0})}async function p(a,b,d){i.z.object({worktreePath:i.z.string().min(1),oldRelativePath:i.z.string().min(1),newRelativePath:i.z.string().min(1)}).parse({worktreePath:a,oldRelativePath:b,newRelativePath:d});let e=h(a,b),f=h(a,d);await (0,c.rename)(e,f)}async function q(a,b){if(i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b}),".git"===e.default.basename(b))throw Error("Cannot delete .git directory");let d=h(a,b);(await (0,c.stat)(d)).isDirectory()?await (0,c.rm)(d,{recursive:!0,force:!0}):await (0,c.unlink)(d)}let r=i.z.object({worktreePath:i.z.string().min(1)});async function s(a){r.parse({worktreePath:a});let b=(0,f.default)();b.add(".git");let g=e.default.join(a,".gitignore");if((0,d.existsSync)(g)){let a=await (0,c.readFile)(g,"utf-8");b.add(a)}let h=[];async function i(d){for(let f of(await (0,c.readdir)(d,{withFileTypes:!0}))){let c=e.default.join(d,f.name),g=e.default.relative(a,c);b.ignores(g)||(f.isDirectory()?await i(c):h.push(g))}}return await i(a),h}let t=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)});async function u(a,b){t.parse({worktreePath:a,relativePath:b});let d=h(a,b);return(0,c.readFile)(d,"utf-8")}let v=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1),content:i.z.string()});async function w(a,b,d){v.parse({worktreePath:a,relativePath:b,content:d});let e=h(a,b);await (0,c.writeFile)(e,d,"utf-8")}async function x(b,c){let d=h(b,c),{execFile:e}=await a.A(144264);process.platform,await new Promise((a,b)=>{e("open",["-R",d],c=>c?b(c):a())})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,s,u,w,x]),(0,b.registerServerReference)(l,"60bc9aafe74370b9ffe2232b6166b7a09d2e6a4a47",null),(0,b.registerServerReference)(m,"700ea83a213eccf080afc266fade70b13a733846ac",null),(0,b.registerServerReference)(n,"6068d9aa0854818024cc4b7ca69201d68ea0850ccf",null),(0,b.registerServerReference)(o,"60910913251745beffa465225fd9d526ef430578b4",null),(0,b.registerServerReference)(p,"709ee9ffb2cf46a94b93a91ebfa10f3806fed83aed",null),(0,b.registerServerReference)(q,"60ab539172e7ca850e18067c6ebc644977e532d7e5",null),(0,b.registerServerReference)(s,"40580933dc3658e996e85eefaeb7c602bfbfd14975",null),(0,b.registerServerReference)(u,"60e32b7efc40d8da23190cbe685686ad45164cbd53",null),(0,b.registerServerReference)(w,"70d6f88807b3e79716df55ada35d3cbaaae47fab3a",null),(0,b.registerServerReference)(x,"6001eb003f774729f9b987f7fa8be7a12a0d3680be",null),a.s(["createDirectory",0,o,"createFile",0,n,"deleteEntry",0,q,"getGitStatus",0,m,"listAllFiles",0,s,"listDirectory",0,l,"readFileContent",0,u,"renameEntry",0,p,"revealInFinder",0,x,"writeFileContent",0,w],507674)},187232,(a,b,c)=>{b.exports=a.x("@vscode/ripgrep-7e064cbe2fef7e45",()=>require("@vscode/ripgrep-7e064cbe2fef7e45"))},188329,a=>{"use strict";var b=a.i(680889),c=a.i(233405),d=a.i(96063),e=a.i(187232),f=a.i(632919);let g=d.z.object({localPath:d.z.string().min(1),pattern:d.z.string().min(1).max(500),glob:d.z.string().max(200).optional(),maxResults:d.z.number().int().min(1).max(500).default(200)});async function h(a,b,d,f=200){let i,j=g.safeParse({localPath:a,pattern:b,glob:d,maxResults:f});if(!j.success)return{matches:[],truncated:!1,error:`Invalid input: ${j.error.message}`};let{localPath:k,pattern:l,glob:m,maxResults:n}=j.data;if(!(k.startsWith("/")||/^[a-zA-Z]:[/\\]/.test(k)))return{matches:[],truncated:!1,error:"localPath must be an absolute path"};let o=["--json","-n",l];m&&o.push("--glob",m),o.push(k);try{var p,q;i=await (p=e.rgPath,q={encoding:"utf-8",maxBuffer:0xa00000,timeout:1e4},new Promise((a,b)=>{(0,c.execFile)(p,o,q,(c,d)=>{c?b(c):a("string"==typeof d?d:d.toString())})}))}catch(a){if(1===a.code)return{matches:[],truncated:!1};return console.error("[searchCode] rg failed:",a),{matches:[],truncated:!1,error:"搜索失败,请重试"}}let r=i.split("\n"),s=[];for(let a of r){let b,c=a.trim();if(!c)continue;try{b=JSON.parse(c)}catch{continue}if("match"!==b.type)continue;let d=b.data,e=d.path.text,f=k.endsWith("/")?k:k+"/",g=e.startsWith(f)?e.slice(f.length):e,h=d.lines.text.replace(/\r?\n$/,""),i=d.submatches.map(a=>({start:a.start,end:a.end}));s.push({filePath:g,lineNumber:d.line_number,lineText:h,submatches:i})}let t=s.length>n;return{matches:t?s.slice(0,n):s,truncated:t}}(0,f.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"78031da02ba96662ab19316582a880268262d784cf",null),a.s(["searchCode",0,h])},2297,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(507674),a.i(188329),a.i(614688),a.i(643700),a.i(31782),a.i(796544);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),942327,a=>a.a(async(b,c)=>{try{var d=a.i(2297),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(507674),l=a.i(188329),m=a.i(614688),n=a.i(643700),o=a.i(31782),p=a.i(796544),q=b([d,g,h]);[d,g,h]=q.then?(await q)():q,a.s(["007f19f19aa7f0acb7a761c314a29d3ed85512a22c",()=>h.getActualWsPort,"00a268f3cf0427d3f86f445d5c4724f55507814b04",()=>n.getActiveExecutionsAcrossWorkspaces,"00bc3693793d5b54f783edd1d2980266ef77dd187a",()=>j.getOnboardingStatus,"40129fd62a111749d8b35bef826bfca54222e9f910",()=>n.getTaskMessages,"4044d6ca5c4b62d2d2e3952f2dea346d79dc4bc001",()=>m.stopPreview,"4045532c037c0bb58b6d84a61e959dafafe8698f2c",()=>e.createWorkspace,"40497fcd3ab1c5238a08d4cb0ce3e98c8dbde9dfbd",()=>n.stopPtyExecution,"40500893d96f62940c08771fecb4962e8e67be7228",()=>e.createProject,"40580933dc3658e996e85eefaeb7c602bfbfd14975",()=>k.listAllFiles,"4063918367cd563e2058c622e701bbbe48352b8284",()=>n.getTaskExecutions,"407673f8e11f3964af64ab6713c0aec3929f5255ae",()=>f.getLabelsForWorkspace,"407b9e94f9c79be134a77d9ce4c0b0a15b4261a88d",()=>o.checkWorktreeClean,"4085ad95cf4a1880515947752df5ee54e1942e78da",()=>e.deleteWorkspace,"408964737d16a75d0dafd270f39e1758fb20ea91ab",()=>f.deleteLabel,"4096ff3c2eb9b14c7722d91462a22aa3eddc0efb50",()=>n.continueLatestPtyExecution,"40bf29122e3767079bdd6ed916b5ad5c005ee11ccc",()=>j.setOnboardingProgress,"40d3bb361175ccf31fa1cbe570d51abec9e9a840a0",()=>m.openInTerminal,"40d8d13e21f2d36893466011a1cf361785de56c009",()=>i.checkMigrationSafety,"40dd2ab0c8b2fb4ecc971b049e181389621ccbe851",()=>p.getPrompts,"40f24916a951e2e62a7142c175dc8d9a848498ecff",()=>f.createLabel,"40f25741b725b8f8b3f2e3a6cb06f71ef80d5258ad",()=>j.completeOnboarding,"40f717adff2971d11320b6aa0d6ba72cc3dae7b53d",()=>h.resolveGitLocalPath,"40fa0f9e83c40e87c5a6d5d8de2d56ce714505c16b",()=>j.dispatchTaskCompletionEvent,"6001eb003f774729f9b987f7fa8be7a12a0d3680be",()=>k.revealInFinder,"6002704f9d1116e74bcd8fab6c0fbb55b03952e4df",()=>n.sendTaskMessage,"600f42b87ee3eab910cb620c77768d58f6fef3b34b",()=>n.stopTaskExecution,"602709e7f331707daade8f9ffa826382f472cea8df",()=>n.resumePtyExecution,"603d8220d9971e2817d51cf9f94f942f90de024db3",()=>e.updateWorkspace,"603e8da543b13fd18b235538edb812db23819cc7a1",()=>o.updateTaskStatus,"604791f15787de63a881aa689f3d5f281e237922db",()=>i.analyzeProjectDirectory,"6068d9aa0854818024cc4b7ca69201d68ea0850ccf",()=>k.createFile,"60798cfb96bf7cac09a22fc324d9bfa6f70a069090",()=>g.globalSearch,"6084196ed91ce6b364ea04c8d3a457cec94f6f3ddb",()=>i.migrateProjectPath,"60910913251745beffa465225fd9d526ef430578b4",()=>k.createDirectory,"60a4ba34f60e290ae4231c1a5d2200c6665025e6b0",()=>e.updateProject,"60ab539172e7ca850e18067c6ebc644977e532d7e5",()=>k.deleteEntry,"60acc3d390a48cd5616f27d78cf43022df7960feba",()=>o.commitWorktreeChanges,"60b4bbab24cd5fcee6effb0677c002d7f3c8be8252",()=>h.getConfigValue,"60bc9aafe74370b9ffe2232b6166b7a09d2e6a4a47",()=>k.listDirectory,"60d7ee112ff4e3f58ea3585ad8b20ba9bd551a805c",()=>h.setConfigValue,"60e32b7efc40d8da23190cbe685686ad45164cbd53",()=>k.readFileContent,"700ea83a213eccf080afc266fade70b13a733846ac",()=>k.getGitStatus,"709ee9ffb2cf46a94b93a91ebfa10f3806fed83aed",()=>k.renameEntry,"70d6f88807b3e79716df55ada35d3cbaaae47fab3a",()=>k.writeFileContent,"70f5415cfb1e90dbdb9399c0a79988a3c766449d27",()=>m.startPreview,"78031da02ba96662ab19316582a880268262d784cf",()=>l.searchCode,"78af7cd15573edb9bbe7295c42ae438e98dc783b26",()=>n.startPtyExecution,"78ddd4195b48c6388a9a55fe3928706c8dc3534687",()=>n.startTaskExecution]),c()}catch(a){c(a)}},!1)];
|
|
1
|
+
module.exports=[715416,(a,b,c)=>{function d(a){return Array.isArray(a)?a:[a]}let e,f=/^\s+$/,g=/(?:[^\\]|^)\\$/,h=/^\\!/,i=/^\\#/,j=/\r?\n/g,k=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,m="node-ignore";"u">typeof Symbol&&(m=Symbol.for("node-ignore"));let n=m,o=(a,b,c)=>(Object.defineProperty(a,b,{value:c}),c),p=/([0-z])-([0-z])/g,q=()=>!1,r=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(a,b,c)=>b+(0===c.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(a,b)=>{let{length:c}=b;return b.slice(0,c-c%2)+" "}],[/[\\$.|*+(){^]/g,a=>`\\${a}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(a,b,c)=>b+6<c.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(a,b,c)=>b+c.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(a,b,c,d,e)=>"\\"===b?`\\[${c}${(a=>{let{length:b}=a;return a.slice(0,b-b%2)})(d)}${e}`:"]"===e&&d.length%2==0?`[${c.replace(p,(a,b,c)=>b.charCodeAt(0)<=c.charCodeAt(0)?a:"")}${d}]`:"[]"],[/(?:[^*])$/,a=>/\/$/.test(a)?`${a}$`:`${a}(?=$|\\/$)`]],s=/(^|\\\/)?\\\*$/,t="regex",u="checkRegex",v={[t](a,b){let c=b?`${b}[^/]+`:"[^/]*";return`${c}(?=$|\\/$)`},[u](a,b){let c=b?`${b}[^/]*`:"[^/]*";return`${c}(?=$|\\/$)`}};class w{constructor(a,b,c,d,e,f){this.pattern=a,this.mark=b,this.negative=e,o(this,"body",c),o(this,"ignoreCase",d),o(this,"regexPrefix",f)}get regex(){let a="_"+t;return this[a]?this[a]:this._make(t,a)}get checkRegex(){let a="_"+u;return this[a]?this[a]:this._make(u,a)}_make(a,b){let c=this.regexPrefix.replace(s,v[a]);return o(this,b,this.ignoreCase?RegExp(c,"i"):new RegExp(c))}}class x{constructor(a){this._ignoreCase=a,this._rules=[]}_add(a){let b;if(a&&a[n]){this._rules=this._rules.concat(a._rules._rules),this._added=!0;return}if("string"==typeof a&&(a={pattern:a}),(b=a.pattern)&&"string"==typeof b&&!f.test(b)&&!g.test(b)&&0!==b.indexOf("#")){let b=(({pattern:a,mark:b},c)=>{let d,e=!1,f=a;0===f.indexOf("!")&&(e=!0,f=f.substr(1));let g=(d=f=f.replace(h,"!").replace(i,"#"),r.reduce((a,[b,c])=>a.replace(b,c.bind(d)),d));return new w(a,b,f,c,e,g)})(a,this._ignoreCase);this._added=!0,this._rules.push(b)}}add(a){return this._added=!1,d("string"==typeof a?a.split(j).filter(Boolean):a).forEach(this._add,this),this._added}test(a,b,c){let d,f=!1,g=!1;this._rules.forEach(h=>{let{negative:i}=h;(g!==i||f===g)&&(!i||f||g||b)&&h[c].test(a)&&(f=!i,g=i,d=i?e:h)});let h={ignored:f,unignored:g};return d&&(h.rule=d),h}}let y=(a,b)=>{throw new b(a)},z=(a,b,c)=>"string"!=typeof a?c(`path must be a string, but got \`${b}\``,TypeError):a?!z.isNotRelative(a)||c(`path should be a \`path.relative()\`d string, but got "${b}"`,RangeError):c("path must not be empty",TypeError),A=a=>k.test(a);z.isNotRelative=A,z.convert=a=>a;class B{constructor({ignorecase:a=!0,ignoreCase:b=a,allowRelativePaths:c=!1}={}){o(this,n,!0),this._rules=new x(b),this._strictPathCheck=!c,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(a){return this._rules.add(a)&&this._initCache(),this}addPattern(a){return this.add(a)}_test(a,b,c,d){let e=a&&z.convert(a);return z(e,a,this._strictPathCheck?y:q),this._t(e,b,c,d)}checkIgnore(a){if(!l.test(a))return this.test(a);let b=a.split("/").filter(Boolean);if(b.pop(),b.length){let a=this._t(b.join("/")+"/",this._testCache,!0,b);if(a.ignored)return a}return this._rules.test(a,!1,u)}_t(a,b,c,d){if(a in b)return b[a];if(d||(d=a.split("/").filter(Boolean)),d.pop(),!d.length)return b[a]=this._rules.test(a,c,t);let e=this._t(d.join("/")+"/",b,c,d);return b[a]=e.ignored?e:this._rules.test(a,c,t)}ignores(a){return this._test(a,this._ignoreCache,!1).ignored}createFilter(){return a=>!this.ignores(a)}filter(a){return d(a).filter(this.createFilter())}test(a){return this._test(a,this._testCache,!0)}}let C=a=>new B(a);b.exports=C,C.default=C,b.exports.isPathValid=a=>z(a&&z.convert(a),a,q),o(b.exports,Symbol.for("setupWindows"),()=>{z.convert=a=>/^\\\\\?\\/.test(a)||/["<>|\u0000-\u001F]+/u.test(a)?a:a.replace(/\\/g,"/");let a=/^[a-z]:\//i;z.isNotRelative=b=>a.test(b)||A(b)})},507674,a=>{"use strict";var b=a.i(680889),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(715416),g=a.i(233405);function h(a,b){let c=a.endsWith(e.default.sep)?a.slice(0,-1):a,d=e.default.resolve(c,b);if(d!==c&&!d.startsWith(c+e.default.sep))throw Error(`Path traversal attempt: ${b}`);return d}var i=a.i(96063),j=a.i(632919);let k=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().default(".")});async function l(a,b="."){k.parse({worktreePath:a,relativePath:b});let g=h(a,b),i=(0,f.default)();i.add(".git");let j=e.default.join(a,".gitignore");if((0,d.existsSync)(j)){let a=await (0,c.readFile)(j,"utf-8");i.add(a)}return(await (0,c.readdir)(g,{withFileTypes:!0})).filter(b=>{let c=e.default.relative(a,e.default.join(g,b.name));return!i.ignores(c)}).sort((a,b)=>a.isDirectory()!==b.isDirectory()?a.isDirectory()?-1:1:a.name.localeCompare(b.name)).map(b=>({name:b.name,relativePath:e.default.relative(a,e.default.join(g,b.name)),isDirectory:b.isDirectory()}))}async function m(a,b,c){try{let d;d=b&&c?(0,g.execFileSync)("git",["diff","--name-status",`${b}...${c}`],{cwd:a,encoding:"utf-8",timeout:1e4}):(0,g.execFileSync)("git",["status","--porcelain","-uall"],{cwd:a,encoding:"utf-8",timeout:1e4});let e={};if(b&&c)for(let a of d.split("\n").filter(Boolean)){let b=a.split(" "),c=b[0],d=b[1];("M"===c||"A"===c||"D"===c)&&d&&(e[d]=c)}else for(let a of d.split("\n").filter(Boolean)){let b=a.substring(0,2),c=a.substring(3);c&&(b.includes("D")?e[c]="D":"??"===b||b.includes("A")?e[c]="A":e[c]="M")}return e}catch{return{}}}async function n(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.writeFile)(d,"",{flag:"wx"})}async function o(a,b){i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let d=h(a,b);await (0,c.mkdir)(d,{recursive:!0})}async function p(a,b,d){i.z.object({worktreePath:i.z.string().min(1),oldRelativePath:i.z.string().min(1),newRelativePath:i.z.string().min(1)}).parse({worktreePath:a,oldRelativePath:b,newRelativePath:d});let e=h(a,b),f=h(a,d);await (0,c.rename)(e,f)}async function q(a,b){if(i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)}).parse({worktreePath:a,relativePath:b}),".git"===e.default.basename(b))throw Error("Cannot delete .git directory");let d=h(a,b);(await (0,c.stat)(d)).isDirectory()?await (0,c.rm)(d,{recursive:!0,force:!0}):await (0,c.unlink)(d)}let r=i.z.object({worktreePath:i.z.string().min(1)});async function s(a){r.parse({worktreePath:a});let b=(0,f.default)();b.add(".git");let g=e.default.join(a,".gitignore");if((0,d.existsSync)(g)){let a=await (0,c.readFile)(g,"utf-8");b.add(a)}let h=[];async function i(d){for(let f of(await (0,c.readdir)(d,{withFileTypes:!0}))){let c=e.default.join(d,f.name),g=e.default.relative(a,c);b.ignores(g)||(f.isDirectory()?await i(c):h.push(g))}}return await i(a),h}let t=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1)});async function u(a,b){t.parse({worktreePath:a,relativePath:b});let d=h(a,b);return(0,c.readFile)(d,"utf-8")}let v=i.z.object({worktreePath:i.z.string().min(1),relativePath:i.z.string().min(1),content:i.z.string()});async function w(a,b,d){v.parse({worktreePath:a,relativePath:b,content:d});let e=h(a,b);await (0,c.writeFile)(e,d,"utf-8")}async function x(b,c){let d=h(b,c),{execFile:e}=await a.A(144264);process.platform,await new Promise((a,b)=>{e("open",["-R",d],c=>c?b(c):a())})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,s,u,w,x]),(0,b.registerServerReference)(l,"603768333dafe8b14a346aed850e0b3d3b64f16281",null),(0,b.registerServerReference)(m,"701dfc1f5f102584b2bde4dc24515a75773d9cc9d5",null),(0,b.registerServerReference)(n,"608d56bd0e7c8c8a32d9d9ab555223f23a0475145a",null),(0,b.registerServerReference)(o,"60b8477adddb5ce5ae26d808591d4b31a29bccd95f",null),(0,b.registerServerReference)(p,"704773ce2ed0c54037ad97993c5701490ed3367c10",null),(0,b.registerServerReference)(q,"60a7559cff1310724541da3570c37c907af93fd514",null),(0,b.registerServerReference)(s,"40617327bfc979aa3c30b0e00944da47285da6b6bd",null),(0,b.registerServerReference)(u,"605996de37c21498791d65c5ca6beb45bfa063274b",null),(0,b.registerServerReference)(w,"7031bcbbbbec2c31e6e9df32b9d5d6eab1a7058b90",null),(0,b.registerServerReference)(x,"60d38933727e4b08f110c6ea8f0be204b59d0e2d71",null),a.s(["createDirectory",0,o,"createFile",0,n,"deleteEntry",0,q,"getGitStatus",0,m,"listAllFiles",0,s,"listDirectory",0,l,"readFileContent",0,u,"renameEntry",0,p,"revealInFinder",0,x,"writeFileContent",0,w],507674)},187232,(a,b,c)=>{b.exports=a.x("@vscode/ripgrep-7e064cbe2fef7e45",()=>require("@vscode/ripgrep-7e064cbe2fef7e45"))},188329,a=>{"use strict";let b;var c=a.i(680889),d=a.i(233405),e=a.i(96063),f=a.i(632919);let g=e.z.object({localPath:e.z.string().min(1),pattern:e.z.string().min(1).max(500),glob:e.z.string().max(200).optional(),maxResults:e.z.number().int().min(1).max(500).default(200)});async function h(c,e,f,i=200){let j,k=g.safeParse({localPath:c,pattern:e,glob:f,maxResults:i});if(!k.success)return{matches:[],truncated:!1,error:`Invalid input: ${k.error.message}`};let{localPath:l,pattern:m,glob:n,maxResults:o}=k.data;if(!(l.startsWith("/")||/^[a-zA-Z]:[/\\]/.test(l)))return{matches:[],truncated:!1,error:"localPath must be an absolute path"};let p=["--json","-n",m];n&&p.push("--glob",n),p.push(l);try{var q,r;j=await (!b&&(b=function(){try{return a.r(187232).rgPath}catch{try{return(0,d.execFileSync)("which",["rg"],{encoding:"utf-8"}).trim()}catch{throw Error("ripgrep not found: install @vscode/ripgrep or system rg")}}}()),q=b,r={encoding:"utf-8",maxBuffer:0xa00000,timeout:1e4},new Promise((a,b)=>{(0,d.execFile)(q,p,r,(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 s=j.split("\n"),t=[];for(let a of s){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=l.endsWith("/")?l:l+"/",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}));t.push({filePath:g,lineNumber:d.line_number,lineText:h,submatches:i})}let u=t.length>o;return{matches:u?t.slice(0,o):t,truncated:u}}(0,f.ensureServerEntryExports)([h]),(0,c.registerServerReference)(h,"78f8575572a6a83d646cf148dba638adf4f10b82c1",null),a.s(["searchCode",0,h])},2297,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(507674),a.i(188329),a.i(614688),a.i(643700),a.i(31782),a.i(796544);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),942327,a=>a.a(async(b,c)=>{try{var d=a.i(2297),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(507674),l=a.i(188329),m=a.i(614688),n=a.i(643700),o=a.i(31782),p=a.i(796544),q=b([d,g,h]);[d,g,h]=q.then?(await q)():q,a.s(["0078f4786fa49b266ffa694e34a4c1ccbe901c2b55",()=>j.getOnboardingStatus,"009071c5a825fbf14a6e4b68ead4943a00e803d1c8",()=>n.getActiveExecutionsAcrossWorkspaces,"00ca1a7c5d8c4e7adbcc0fa5820f16d2f282bdd870",()=>h.getActualWsPort,"400840a4148c075cf61f4f65faf3465628532c3c9e",()=>o.checkWorktreeClean,"40331099e112cf0a12c70815aea55488d6338ffaa5",()=>e.createWorkspace,"4035132a339561d1675b7bb24bdca38154a4d95293",()=>f.deleteLabel,"4037de57d0599f29df53638115136474393de6e339",()=>j.setOnboardingProgress,"40412b528ff795345783a28794c363626c155d6970",()=>j.dispatchTaskCompletionEvent,"4050e118a4c6b1e6a776991f0a0ee8dffc19531892",()=>f.getLabelsForWorkspace,"4055c35b9777afb0676c2235fec3a77dddbb35484d",()=>f.createLabel,"405800d4267c5b028ffdb01aef8512f3fa1a2d6d99",()=>n.getTaskExecutions,"40617327bfc979aa3c30b0e00944da47285da6b6bd",()=>k.listAllFiles,"40789c5e8c7ca0f0a2af6d7b34a423ee37334a05b4",()=>h.resolveGitLocalPath,"40797d27b8ca6795d755ae7230dd593555864c7745",()=>e.createProject,"40877c024ad087151d0a998dfd9933573de30c3c5e",()=>i.checkMigrationSafety,"408893e70b6aa2c0f63a9e5ad8957e7ecac34cb742",()=>m.openInTerminal,"409ae7e7e89ea2e0f5f1e50c1ace524ab68774c79c",()=>p.getPrompts,"409f0e088eaf9d3417643e2478c3c79c23ee06740f",()=>n.getTaskMessages,"40a647acdd2e46f1d20023385b48729907d6fe2887",()=>n.stopPtyExecution,"40bf60c774e66b2bb48a9716aeaa207deb762b0a7b",()=>n.continueLatestPtyExecution,"40c64a99851b9cf49554c71b8c97f91c24632d635b",()=>j.completeOnboarding,"40e92d14e52706c339034c1d51a996ef2a93e177f3",()=>e.deleteWorkspace,"40edfacd83b2ef02b41fb3bdd67aad9454afb53620",()=>m.stopPreview,"6001c2db587ae9837c01852b0a264ee014f9f96ea4",()=>e.updateProject,"601723fd09c3075bb43df49941e81b4f588c6f8132",()=>i.analyzeProjectDirectory,"602d79bb6af0a9cd6edb1759776d8dfeb1b0b958b7",()=>o.updateTaskStatus,"603147b7c50c397f9344014a578b01144b2f53989d",()=>i.migrateProjectPath,"6036b9e4fc9edfdd691292f2f6aab94b838e535ef5",()=>n.resumePtyExecution,"603768333dafe8b14a346aed850e0b3d3b64f16281",()=>k.listDirectory,"60569a6af1a9da72231ee81243df47abfc51f92540",()=>o.commitWorktreeChanges,"605996de37c21498791d65c5ca6beb45bfa063274b",()=>k.readFileContent,"60745f5f7d18bf2b3783f2cc7b80d57a0a25c83e18",()=>h.getConfigValue,"607d00ead39c57d614468a73b1700ed559c7478ddb",()=>g.globalSearch,"608d56bd0e7c8c8a32d9d9ab555223f23a0475145a",()=>k.createFile,"60a7559cff1310724541da3570c37c907af93fd514",()=>k.deleteEntry,"60b8477adddb5ce5ae26d808591d4b31a29bccd95f",()=>k.createDirectory,"60cdcaf10b283d21d6be72f5416a056779b2d9f1c3",()=>e.updateWorkspace,"60d38933727e4b08f110c6ea8f0be204b59d0e2d71",()=>k.revealInFinder,"60d4299544a099ef9a764f2c22530968bdd9aba3b8",()=>h.setConfigValue,"60ebf0618e0e2ca8cf6eaab27e985b8f445e806b25",()=>n.stopTaskExecution,"60f046c5f6b9b968984e379661da654b5601d6e46e",()=>n.sendTaskMessage,"701dfc1f5f102584b2bde4dc24515a75773d9cc9d5",()=>k.getGitStatus,"7031bcbbbbec2c31e6e9df32b9d5d6eab1a7058b90",()=>k.writeFileContent,"704773ce2ed0c54037ad97993c5701490ed3367c10",()=>k.renameEntry,"70f03e1478d04e52199771a54a04ef34325d6b1042",()=>m.startPreview,"78312646a8f7042ca8f29d708f48116d41bfb2306e",()=>n.startPtyExecution,"78c85193f8bd89751a2c8d85bba604d7f1f64c3031",()=>n.startTaskExecution,"78f8575572a6a83d646cf148dba638adf4f10b82c1",()=>l.searchCode]),c()}catch(a){c(a)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__13eo85g._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[182118,a=>{"use strict";var b=a.i(680889),c=a.i(96063),d=a.i(832116),e=a.i(972795);async function f(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b.id),await a.$executeRawUnsafe("INSERT INTO notes_fts(note_id, title, content) VALUES (?, ?, ?)",b.id,b.title,b.content)}async function g(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b)}var h=a.i(632919);let i=c.z.object({title:c.z.string().min(1).max(200),content:c.z.string(),category:c.z.string().max(50).optional(),projectId:c.z.string().min(1),taskId:c.z.string().optional()}),j=c.z.object({title:c.z.string().min(1).max(200).optional(),content:c.z.string().optional(),category:c.z.string().max(50).optional()});async function k(a){let b=i.parse(a),c=await d.db.projectNote.create({data:{title:b.title,content:b.content,category:b.category??"备忘",projectId:b.projectId,taskId:b.taskId??null}});return await f(d.db,{id:c.id,title:c.title,content:c.content}),(0,e.revalidatePath)("/workspace"),c}async function l(a,b){let c=j.parse(b),g=await d.db.projectNote.update({where:{id:a},data:c});return await f(d.db,{id:g.id,title:g.title,content:g.content}),(0,e.revalidatePath)("/workspace"),g}async function m(a){await g(d.db,a),await d.db.projectNote.delete({where:{id:a}}),(0,e.revalidatePath)("/workspace")}async function n(a){return d.db.projectNote.findUnique({where:{id:a}})}async function o(a,b){return d.db.projectNote.findMany({where:{projectId:a,taskId:null,...b?.category?{category:b.category}:{}},orderBy:{updatedAt:"desc"}})}async function p(a){return d.db.projectNote.findMany({where:{taskId:a},orderBy:{updatedAt:"desc"}})}(0,h.ensureServerEntryExports)([k,l,m,n,o,p]),(0,b.registerServerReference)(k,"
|
|
1
|
+
module.exports=[182118,a=>{"use strict";var b=a.i(680889),c=a.i(96063),d=a.i(832116),e=a.i(972795);async function f(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b.id),await a.$executeRawUnsafe("INSERT INTO notes_fts(note_id, title, content) VALUES (?, ?, ?)",b.id,b.title,b.content)}async function g(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b)}var h=a.i(632919);let i=c.z.object({title:c.z.string().min(1).max(200),content:c.z.string(),category:c.z.string().max(50).optional(),projectId:c.z.string().min(1),taskId:c.z.string().optional()}),j=c.z.object({title:c.z.string().min(1).max(200).optional(),content:c.z.string().optional(),category:c.z.string().max(50).optional()});async function k(a){let b=i.parse(a),c=await d.db.projectNote.create({data:{title:b.title,content:b.content,category:b.category??"备忘",projectId:b.projectId,taskId:b.taskId??null}});return await f(d.db,{id:c.id,title:c.title,content:c.content}),(0,e.revalidatePath)("/workspace"),c}async function l(a,b){let c=j.parse(b),g=await d.db.projectNote.update({where:{id:a},data:c});return await f(d.db,{id:g.id,title:g.title,content:g.content}),(0,e.revalidatePath)("/workspace"),g}async function m(a){await g(d.db,a),await d.db.projectNote.delete({where:{id:a}}),(0,e.revalidatePath)("/workspace")}async function n(a){return d.db.projectNote.findUnique({where:{id:a}})}async function o(a,b){return d.db.projectNote.findMany({where:{projectId:a,taskId:null,...b?.category?{category:b.category}:{}},orderBy:{updatedAt:"desc"}})}async function p(a){return d.db.projectNote.findMany({where:{taskId:a},orderBy:{updatedAt:"desc"}})}(0,h.ensureServerEntryExports)([k,l,m,n,o,p]),(0,b.registerServerReference)(k,"402017afc57d09f77c586036e5a209c6440b02e3ea",null),(0,b.registerServerReference)(l,"608bf387e36d9578316455ead1e0d39f46de1e8bd3",null),(0,b.registerServerReference)(m,"40a6c78693aa8ed7d908abda7866e675fa23c4120d",null),(0,b.registerServerReference)(n,"407ee89f9f047fbafa086f868f79d42bbd33df0367",null),(0,b.registerServerReference)(o,"608d975ebb45d4bc41ace948b2e88321248d58373e",null),(0,b.registerServerReference)(p,"40f3201587849ea3cbadf6e659f4c878e17b615f87",null),a.s(["createNote",0,k,"deleteNote",0,m,"getNoteById",0,n,"getProjectNotes",0,o,"getTaskNotes",0,p,"updateNote",0,l],182118)},675263,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(182118);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),365056,a=>a.a(async(b,c)=>{try{var d=a.i(675263),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(182118),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["0078f4786fa49b266ffa694e34a4c1ccbe901c2b55",()=>j.getOnboardingStatus,"00ca1a7c5d8c4e7adbcc0fa5820f16d2f282bdd870",()=>h.getActualWsPort,"00e1e55dd1d05ec060b223e4aa2b19eabf0885a653",()=>e.getWorkspacesWithProjects,"40105913bb5acaa20f5973651e9f371a844ed0bf80",()=>e.getRecentLocalProjects,"402017afc57d09f77c586036e5a209c6440b02e3ea",()=>k.createNote,"40331099e112cf0a12c70815aea55488d6338ffaa5",()=>e.createWorkspace,"4035132a339561d1675b7bb24bdca38154a4d95293",()=>f.deleteLabel,"4037de57d0599f29df53638115136474393de6e339",()=>j.setOnboardingProgress,"40412b528ff795345783a28794c363626c155d6970",()=>j.dispatchTaskCompletionEvent,"4041fd6a243486060eb931237780ae3eeac30e101d",()=>e.deleteProject,"404fd02650375319600b5b74842eae10623e17e810",()=>e.getProjectByLocalPath,"4050e118a4c6b1e6a776991f0a0ee8dffc19531892",()=>f.getLabelsForWorkspace,"4055c35b9777afb0676c2235fec3a77dddbb35484d",()=>f.createLabel,"40789c5e8c7ca0f0a2af6d7b34a423ee37334a05b4",()=>h.resolveGitLocalPath,"40797d27b8ca6795d755ae7230dd593555864c7745",()=>e.createProject,"407ee89f9f047fbafa086f868f79d42bbd33df0367",()=>k.getNoteById,"40877c024ad087151d0a998dfd9933573de30c3c5e",()=>i.checkMigrationSafety,"4099010054cc103e24e8d4e1f51d03f149775ebb06",()=>e.getWorkspaceById,"40a6c78693aa8ed7d908abda7866e675fa23c4120d",()=>k.deleteNote,"40aacb5874521e8e6e7a939bb37e9f74f72e20a8b8",()=>e.getOrCreateTowerTaskId,"40c64a99851b9cf49554c71b8c97f91c24632d635b",()=>j.completeOnboarding,"40e92d14e52706c339034c1d51a996ef2a93e177f3",()=>e.deleteWorkspace,"40f256c6b3398ca41cb34fd000213fefa60d75e767",()=>e.getWorkspacesWithRecentTasks,"40f3201587849ea3cbadf6e659f4c878e17b615f87",()=>k.getTaskNotes,"6001c2db587ae9837c01852b0a264ee014f9f96ea4",()=>e.updateProject,"601723fd09c3075bb43df49941e81b4f588c6f8132",()=>i.analyzeProjectDirectory,"603147b7c50c397f9344014a578b01144b2f53989d",()=>i.migrateProjectPath,"60745f5f7d18bf2b3783f2cc7b80d57a0a25c83e18",()=>h.getConfigValue,"607d00ead39c57d614468a73b1700ed559c7478ddb",()=>g.globalSearch,"608bf387e36d9578316455ead1e0d39f46de1e8bd3",()=>k.updateNote,"608d975ebb45d4bc41ace948b2e88321248d58373e",()=>k.getProjectNotes,"60cdcaf10b283d21d6be72f5416a056779b2d9f1c3",()=>e.updateWorkspace,"60d4299544a099ef9a764f2c22530968bdd9aba3b8",()=>h.setConfigValue]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0zugnux._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js"].map(b=>a.l(b))).then(()=>b(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__13x5mmo._.js"].map(b=>a.l(b))).then(()=>b(396477)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=project_f_tower_0.txwd8._.js.map
|