tower-studio 0.2.36 → 0.2.38
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/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +26 -26
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +61 -61
- package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +26 -26
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +26 -26
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +43 -43
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +97 -97
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +84 -84
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +71 -71
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +72 -72
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +26 -26
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +70 -70
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +81 -81
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +46 -46
- package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0eh8dj_.js +5 -5
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00llstz._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01n7exm._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01yu.gw._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05nz.tg._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qif839._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~foo~5._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0bkvm8c._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-tolks._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__046-2.-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0bsx096._.js → [root-of-the-server]__04p5fnx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05sv58d._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05xg05r._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__062b.yt._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__093tt4a._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0bgr0ql._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0pa9_bd._.js → [root-of-the-server]__0dixwk_._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0guqcva._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gzafdq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vv4hxw._.js → [root-of-the-server]__0i97rbw._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__13~k9z5._.js → [root-of-the-server]__0mbvmq1._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p0te97._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0iatlhd._.js → [root-of-the-server]__0rlar2j._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0siyg1p._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t6f4lq._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0th-t1a._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_00t6138._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0mhdb-a._.js → _00vn2qb._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_070t_mh._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_07_.oek._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0zidle2._.js → _09j.h2h._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_09ri_be._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0_q.4.i._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0cxhub8._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0ebel46._.js → _0ght75u._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0hh17jg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0izxa9k._.js → _0j84cn0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0mpce0d._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0muaopo._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0n1l7yo._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0nk7qd4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0no6nrx._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0xx4aa5._.js → _0qkt.3y._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0jf91oa._.js → _0t53a7_._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/_0vqyl_~._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0soj-y2._.js → _13glpna._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_notes_notes-page-client_tsx_10gyo3v._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_0d2ra01._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +215 -215
- package/.next/standalone/.next/static/chunks/0.nk_89kz3j6c.js +1 -0
- package/.next/standalone/.next/static/chunks/01.g0gvh6h11a.js +2 -0
- package/.next/standalone/.next/static/chunks/03zzmb3y7kpxl.js +1 -0
- package/.next/standalone/.next/static/chunks/04t77qlr4-sw7.js +1 -0
- package/.next/standalone/.next/static/chunks/097rglx2_e2oo.js +1 -0
- package/.next/standalone/.next/static/chunks/{0xy8x3-.0bopl.js → 0a234qgxmvbfu.js} +1 -1
- package/.next/standalone/.next/static/chunks/{01tsz1~lswudb.js → 0bsigqvr2-qcp.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0m_l01d2lzffq.js → 0c0u4it7gyb1..js} +1 -1
- package/.next/standalone/.next/static/chunks/0dt3ljzz2pz0r.css +1 -0
- package/.next/standalone/.next/static/chunks/{188_7xt~9qo5z.js → 0jlzko424.5et.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0xc5b.xin3frr.js → 0khxfvo-tgpbc.js} +1 -1
- package/.next/standalone/.next/static/chunks/0nfwp8f87wok1.js +1 -0
- package/.next/standalone/.next/static/chunks/0qu5zm6k.e_de.js +5 -0
- package/.next/standalone/.next/static/chunks/0rbykdrqih-0t.js +1 -0
- package/.next/standalone/.next/static/chunks/{0n9bv.-ktyu9g.js → 0w7_~s93hxxkk.js} +1 -1
- package/.next/standalone/.next/static/chunks/0wbzgoyu4~g4x.js +1 -0
- package/.next/standalone/.next/static/chunks/{0odml~1zfmatg.js → 0yl2smjfz2bzk.js} +1 -1
- package/.next/standalone/.next/static/chunks/{06pdwir_r4uhn.js → 10q75vl~mg7vy.js} +1 -1
- package/.next/standalone/.next/static/chunks/11pivwhywsmj9.js +1 -0
- package/.next/standalone/.next/static/chunks/{0m5kd96epukmx.js → 13ipvyn1q8z4y.js} +1 -1
- package/.next/standalone/.next/static/chunks/13qts-1uv7-ee.js +1 -0
- package/.next/standalone/.next/static/chunks/14bii1nj2yewi.js +1 -0
- package/.next/standalone/.next/static/chunks/14man4i21otxe.js +1 -0
- package/.next/standalone/.next/static/chunks/{0p0_.0f~k5o3x.js → 151eqj4g7bidp.js} +1 -1
- package/.next/standalone/.next/static/chunks/15_ulpp1r-6ra.js +1 -0
- package/.next/standalone/.next/static/chunks/15~2jg4z8h54~.js +1 -0
- package/.next/standalone/.next/static/chunks/{02_isu4z4lk1~.js → 17ldo-bezxis..js} +1 -1
- package/.next/standalone/.next/static/chunks/{0ntang9wkuj-8.js → 183k6undfylp5.js} +1 -1
- package/.next/standalone/package.json +2 -2
- package/package.json +2 -2
- package/scripts/migrations/0002-backfill-done-at.ts +29 -0
- package/skills/tower/SKILL.md +81 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10xjtl0._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0.7vx4q._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0gc019m._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0m_1ssw._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0nghgzi._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0reranf._.js +0 -3
- package/.next/standalone/.next/static/chunks/0-fc2i1mw_t-2.js +0 -2
- package/.next/standalone/.next/static/chunks/0.7r6od5..1~d.css +0 -1
- package/.next/standalone/.next/static/chunks/0.duc36elgwmt.js +0 -1
- package/.next/standalone/.next/static/chunks/093zwcwn8el.s.js +0 -1
- package/.next/standalone/.next/static/chunks/0gx4n5njdyksz.js +0 -1
- package/.next/standalone/.next/static/chunks/0l49-stccar4a.js +0 -1
- package/.next/standalone/.next/static/chunks/0l~z-vsf.633k.js +0 -5
- package/.next/standalone/.next/static/chunks/0m_9-3_hpbfly.js +0 -1
- package/.next/standalone/.next/static/chunks/0sm78n1ikzixj.js +0 -1
- package/.next/standalone/.next/static/chunks/0v73i.x591~km.js +0 -1
- package/.next/standalone/.next/static/chunks/0wkd~xb2skr1g.js +0 -1
- package/.next/standalone/.next/static/chunks/0xyj_-7b.4l1l.js +0 -1
- package/.next/standalone/.next/static/chunks/10f-2fo.qg504.js +0 -1
- package/.next/standalone/.next/static/chunks/11p_dl5tngif4.js +0 -1
- package/.next/standalone/.next/static/chunks/153-zn4e8fta1.js +0 -1
- /package/.next/standalone/.next/static/{SCktqI1yaRGMJYovFwj4q → 08PQLn-tnfP4XX6HBzxZ7}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{SCktqI1yaRGMJYovFwj4q → 08PQLn-tnfP4XX6HBzxZ7}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{SCktqI1yaRGMJYovFwj4q → 08PQLn-tnfP4XX6HBzxZ7}/_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"))},660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},163812,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 m(b,g)?b:null}let i=f.PATH??f.Path??"",j=e(g)?";":":",k=i.split(j).filter(Boolean),l=e(g)?(f.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],n=e(g)&&d.default.extname(a).length>0;for(let b of k)for(let c of e(g)?n?[d.default.join(b,a)]:l.map(c=>d.default.join(b,`${a}${c}`)):[d.default.join(b,a)])if(await m(c,g))return c;return null}let i=a=>(0,c.execSync)(a,{encoding:"utf-8",timeout:5e3,stdio:["ignore","pipe","ignore"]});function j(a,b=process.platform,f=i){if(d.default.extname(a)||a.includes("/")||a.includes("\\"))return a;if(!e(b)){try{let b=(0,c.execFileSync)("which",[a],{encoding:"utf-8",timeout:5e3,stdio:["ignore","pipe","ignore"]}).trim();if(b)return b}catch{}return a}try{let b=f(`where ${a}`).trim().split("\n").map(a=>a.trim()).filter(Boolean),c=b.find(a=>/\.(cmd|bat|exe)$/i.test(a));if(c)return c;if(b.length>0)return b[0]}catch{}return a}async function k(a,b,c={}){let d=c.env??process.env,e=c.platform??process.platform;return l(await h(a,c)??a,b,d,e)}function l(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}}async function m(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 n(a=process.platform){return e(a)?p():o()}async function o(){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 m(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 m(b)&&a.push({name:d.default.basename(b),path:b});return a}}async function p(){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 m(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 m(i,"win32")&&a.push({name:"Windows PowerShell",path:i});let j=process.env.ComSpec??d.default.join(g,"System32","cmd.exe");return await m(j,"win32")&&a.push({name:"Command Prompt",path:j}),a}let q=[{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 r(a=process.platform){if("darwin"===a){let b=[];for(let c of q){let d=await m(`/Applications/${c.bundleName}.app`,a);b.push({name:c.name,value:c.bundleName,installed:d})}return b}if(e(a)){let b=[],c=await h("wt",{platform:a});return c&&b.push({name:"Windows Terminal",value:c,installed:!0}),b}return[]}let s=[{name:"VS Code",command:"code"},{name:"VS Code Insiders",command:"code-insiders"},{name:"Cursor",command:"cursor"},{name:"Windsurf",command:"windsurf"},{name:"Zed",command:"zed"},{name:"Sublime Text",command:"subl"},{name:"IntelliJ IDEA",command:"idea"},{name:"WebStorm",command:"webstorm"},{name:"PyCharm",command:"pycharm"},{name:"GoLand",command:"goland"},{name:"RubyMine",command:"rubymine"},{name:"PhpStorm",command:"phpstorm"},{name:"CLion",command:"clion"},{name:"Rider",command:"rider"}],t={code:{darwin:["/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"],win32:["%LOCALAPPDATA%\\Programs\\Microsoft VS Code\\bin\\code.cmd","%ProgramFiles%\\Microsoft VS Code\\bin\\code.cmd"]},"code-insiders":{darwin:["/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code-insiders"],win32:["%LOCALAPPDATA%\\Programs\\Microsoft VS Code Insiders\\bin\\code-insiders.cmd","%ProgramFiles%\\Microsoft VS Code Insiders\\bin\\code-insiders.cmd"]},cursor:{darwin:["/Applications/Cursor.app/Contents/Resources/app/bin/cursor"],win32:["%LOCALAPPDATA%\\Programs\\cursor\\resources\\app\\bin\\cursor.cmd"]},windsurf:{darwin:["/Applications/Windsurf.app/Contents/Resources/app/bin/windsurf"],win32:["%LOCALAPPDATA%\\Programs\\Windsurf\\bin\\windsurf.cmd"]},zed:{darwin:["/Applications/Zed.app/Contents/MacOS/cli"]},subl:{darwin:["/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl"],win32:["%ProgramFiles%\\Sublime Text\\subl.exe","%ProgramFiles%\\Sublime Text 3\\subl.exe"]},idea:{darwin:["/Applications/IntelliJ IDEA.app/Contents/MacOS/idea","/Applications/IntelliJ IDEA CE.app/Contents/MacOS/idea"]},webstorm:{darwin:["/Applications/WebStorm.app/Contents/MacOS/webstorm"]},pycharm:{darwin:["/Applications/PyCharm.app/Contents/MacOS/pycharm","/Applications/PyCharm CE.app/Contents/MacOS/pycharm"]},goland:{darwin:["/Applications/GoLand.app/Contents/MacOS/goland"]},rubymine:{darwin:["/Applications/RubyMine.app/Contents/MacOS/rubymine"]},phpstorm:{darwin:["/Applications/PhpStorm.app/Contents/MacOS/phpstorm"]},clion:{darwin:["/Applications/CLion.app/Contents/MacOS/clion"]},rider:{darwin:["/Applications/Rider.app/Contents/MacOS/rider"]}};async function u(a,b={}){let c=b.platform??process.platform,d=b.env??process.env,f=await h(a,b);if(f)return f;for(let b of t[a]?.[c]??[]){let a=e(c)?function(a,b){return a.replace(/%([^%]+)%/g,(a,c)=>{let d=b[c];if(void 0!==d)return d;let e=Object.keys(b).find(a=>a.toLowerCase()===c.toLowerCase());return e?b[e]??a:a})}(b,d):b;if(await m(a,c))return a}return null}async function v(a=process.platform){let b=[];for(let c of s){let d=!!await u(c.command,{platform:a});b.push({name:c.name,command:c.command,installed:d})}return b}a.s(["detectEditors",0,v,"detectShells",0,n,"detectTerminalApps",0,r,"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)}},"isWindows",0,e,"resolveCommandPathSync",0,j,"resolveEditorBinary",0,u,"resolveSpawnTarget",0,k,"resolveSpawnTargetSync",0,function(a,b,c=process.platform,d){return l(j(a,c,d),b,process.env,c)},"stripClaudeNestingEnv",0,function(a){let b={...a};for(let a of g)delete b[a];return b}])},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},432201,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},933919,(a,b,c)=>{b.exports=a.x("@prisma/client-9249dd53ac5b6a44",()=>require("@prisma/client-9249dd53ac5b6a44"))},761469,a=>{"use strict";var b=a.i(933919);let c=globalThis.prisma??new b.PrismaClient({log:[]}),d=!1;async function e(){return d||(await c.$connect(),await c.$queryRaw`PRAGMA journal_mode=WAL`,await c.$queryRaw`PRAGMA busy_timeout=5000`,d=!0),c}async function f(){try{await c.$disconnect()}catch{}d=!1,await e()}process.on("SIGTERM",()=>{c.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{c.$disconnect().catch(()=>{})}),a.s(["db",0,c,"resetDbConnection",0,f])},26683,a=>{"use strict";function b(a,b,c,d){let e=new Date().toISOString(),f=`[${e}] ${a.toUpperCase()} [${b}] ${c}`;return d&&Object.keys(d).length>0?`${f} ${JSON.stringify(d)}`:f}a.s(["logger",0,{create:function(a){return{info(c,d){console.log(b("info",a,c,d))},warn(c,d){console.warn(b("warn",a,c,d))},error(c,d,e){console.error(b("error",a,c,d instanceof Error?{...e,error:d.message,stack:d.stack}:{...e,error:String(d)}))}}},info(a,c){console.log(b("info","app",a,c))},warn(a,c){console.warn(b("warn","app",a,c))},error(a,c,d){console.error(b("error","app",a,c instanceof Error?{...d,error:c.message,stack:c.stack}:{...d,error:String(c)}))}}])},319997,a=>{"use strict";let b;var c=a.i(750227),d=a.i(660526),e=a.i(902157);function f(){return b||(b=process.env.TOWER_DATA_DIR||(0,c.join)((0,d.homedir)(),".tower"),(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0})),b}function g(){return(0,c.join)(f(),"storage")}function h(){return(0,c.join)(f(),"storage-location")}function i(){try{let a=(0,e.readFileSync)(h(),"utf-8").trim();return a.length>0?a:null}catch{return null}}a.s(["getBackupsDir",0,function(){let a=(0,c.join)(f(),"backups");return(0,e.existsSync)(a)||(0,e.mkdirSync)(a,{recursive:!0}),a},"getDefaultStorageDir",0,g,"getExtensionsDir",0,function(){let a=(0,c.join)(f(),"extensions");return(0,e.existsSync)(a)||(0,e.mkdirSync)(a,{recursive:!0}),a},"getStorageDir",0,function(){let a=process.env.TOWER_STORAGE_DIR||i(),b=a&&a.length>0?a:g();return(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0}),b},"getTowerDir",0,f,"readStoragePointer",0,i,"writeStoragePointer",0,function(a){let b=h();null===a?(0,e.rmSync)(b,{force:!0}):(0,e.writeFileSync)(b,a,"utf-8")}])},427699,(a,b,c)=>{b.exports=a.x("events",()=>require("events"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},687769,(a,b,c)=>{b.exports=a.x("node:events",()=>require("node:events"))},81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))},899871,(a,b,c)=>{b.exports=a.x("node:string_decoder",()=>require("node:string_decoder"))},449719,(a,b,c)=>{b.exports=a.x("assert",()=>require("assert"))},500874,(a,b,c)=>{b.exports=a.x("buffer",()=>require("buffer"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},57328,(a,b,c)=>{b.exports=a.x("node:assert",()=>require("node:assert"))},4634,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(26683),f=a.i(630048);let g=["onboarding.completed","onboarding.lastStep","onboarding.username"];async function h(){let a=await c.db.systemConfig.findMany({where:{key:{in:[...g]}}}),b={};for(let c of a)try{b[c.key]=JSON.parse(c.value)}catch{b[c.key]=null}let d=!0===b["onboarding.completed"],e=b["onboarding.lastStep"],f=b["onboarding.username"];return{isFirstRun:!d,isCompleted:d,lastStep:"number"==typeof e?e:0,username:"string"==typeof f&&f.length>0?f:null}}async function i(a){await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:JSON.stringify(a)},update:{value:JSON.stringify(a)}}),(0,d.revalidatePath)("/","layout")}async function j(a,b=4){if(await c.db.systemConfig.upsert({where:{key:"onboarding.completed"},create:{key:"onboarding.completed",value:"true"},update:{value:"true"}}),await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:String(b)},update:{value:String(b)}}),void 0!==a){let b=a.trim().slice(0,64).replace(/[\r\n]/g," ");b.length>0&&await c.db.systemConfig.upsert({where:{key:"onboarding.username"},create:{key:"onboarding.username",value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}(0,d.revalidatePath)("/","layout")}async function k(a,b){await c.db.systemConfig.upsert({where:{key:"onboarding.extensions.requested"},create:{key:"onboarding.extensions.requested",value:JSON.stringify(a)},update:{value:JSON.stringify(a)}}),await c.db.systemConfig.upsert({where:{key:"onboarding.extensions.completed"},create:{key:"onboarding.extensions.completed",value:JSON.stringify(b)},update:{value:JSON.stringify(b)}}),(0,d.revalidatePath)("/","layout")}async function l(b){try{e.logger.create("task-completion").info("Task completion event dispatched",{taskId:b.taskId,taskTitle:b.taskTitle,status:b.status,executionId:b.executionId});let{broadcastNotification:c}=await a.A(904454);c({...b,type:"completion"})}catch{}}(0,f.ensureServerEntryExports)([h,i,j,k,l]),(0,b.registerServerReference)(h,"0088815a968a7a4ad9e7015f8071ac6e747d1a8c42",null),(0,b.registerServerReference)(i,"40e1e52b41ef557a62975b4e2ce662a0580ce63110",null),(0,b.registerServerReference)(j,"604ee5ee09f7ae320b78443e9e39b452bd8ca729e0",null),(0,b.registerServerReference)(k,"6011b4bfa9c5cb7d3279cfd103fa3a704c94cb28bb",null),(0,b.registerServerReference)(l,"402eb341008628ca65e9099b8135d5a6ea95cb67c2",null),a.s(["completeOnboarding",0,j,"dispatchTaskCompletionEvent",0,l,"getOnboardingStatus",0,h,"setOnboardingExtensions",0,k,"setOnboardingProgress",0,i])}];
|
|
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"))},660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},163812,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 m(b,g)?b:null}let i=f.PATH??f.Path??"",j=e(g)?";":":",k=i.split(j).filter(Boolean),l=e(g)?(f.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],n=e(g)&&d.default.extname(a).length>0;for(let b of k)for(let c of e(g)?n?[d.default.join(b,a)]:l.map(c=>d.default.join(b,`${a}${c}`)):[d.default.join(b,a)])if(await m(c,g))return c;return null}let i=a=>(0,c.execSync)(a,{encoding:"utf-8",timeout:5e3,stdio:["ignore","pipe","ignore"]});function j(a,b=process.platform,f=i){if(d.default.extname(a)||a.includes("/")||a.includes("\\"))return a;if(!e(b)){try{let b=(0,c.execFileSync)("which",[a],{encoding:"utf-8",timeout:5e3,stdio:["ignore","pipe","ignore"]}).trim();if(b)return b}catch{}return a}try{let b=f(`where ${a}`).trim().split("\n").map(a=>a.trim()).filter(Boolean),c=b.find(a=>/\.(cmd|bat|exe)$/i.test(a));if(c)return c;if(b.length>0)return b[0]}catch{}return a}async function k(a,b,c={}){let d=c.env??process.env,e=c.platform??process.platform;return l(await h(a,c)??a,b,d,e)}function l(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}}async function m(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 n(a=process.platform){return e(a)?p():o()}async function o(){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 m(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 m(b)&&a.push({name:d.default.basename(b),path:b});return a}}async function p(){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 m(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 m(i,"win32")&&a.push({name:"Windows PowerShell",path:i});let j=process.env.ComSpec??d.default.join(g,"System32","cmd.exe");return await m(j,"win32")&&a.push({name:"Command Prompt",path:j}),a}let q=[{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 r(a=process.platform){if("darwin"===a){let b=[];for(let c of q){let d=await m(`/Applications/${c.bundleName}.app`,a);b.push({name:c.name,value:c.bundleName,installed:d})}return b}if(e(a)){let b=[],c=await h("wt",{platform:a});return c&&b.push({name:"Windows Terminal",value:c,installed:!0}),b}return[]}let s=[{name:"VS Code",command:"code"},{name:"VS Code Insiders",command:"code-insiders"},{name:"Cursor",command:"cursor"},{name:"Windsurf",command:"windsurf"},{name:"Zed",command:"zed"},{name:"Sublime Text",command:"subl"},{name:"IntelliJ IDEA",command:"idea"},{name:"WebStorm",command:"webstorm"},{name:"PyCharm",command:"pycharm"},{name:"GoLand",command:"goland"},{name:"RubyMine",command:"rubymine"},{name:"PhpStorm",command:"phpstorm"},{name:"CLion",command:"clion"},{name:"Rider",command:"rider"}],t={code:{darwin:["/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"],win32:["%LOCALAPPDATA%\\Programs\\Microsoft VS Code\\bin\\code.cmd","%ProgramFiles%\\Microsoft VS Code\\bin\\code.cmd"]},"code-insiders":{darwin:["/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code-insiders"],win32:["%LOCALAPPDATA%\\Programs\\Microsoft VS Code Insiders\\bin\\code-insiders.cmd","%ProgramFiles%\\Microsoft VS Code Insiders\\bin\\code-insiders.cmd"]},cursor:{darwin:["/Applications/Cursor.app/Contents/Resources/app/bin/cursor"],win32:["%LOCALAPPDATA%\\Programs\\cursor\\resources\\app\\bin\\cursor.cmd"]},windsurf:{darwin:["/Applications/Windsurf.app/Contents/Resources/app/bin/windsurf"],win32:["%LOCALAPPDATA%\\Programs\\Windsurf\\bin\\windsurf.cmd"]},zed:{darwin:["/Applications/Zed.app/Contents/MacOS/cli"]},subl:{darwin:["/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl"],win32:["%ProgramFiles%\\Sublime Text\\subl.exe","%ProgramFiles%\\Sublime Text 3\\subl.exe"]},idea:{darwin:["/Applications/IntelliJ IDEA.app/Contents/MacOS/idea","/Applications/IntelliJ IDEA CE.app/Contents/MacOS/idea"]},webstorm:{darwin:["/Applications/WebStorm.app/Contents/MacOS/webstorm"]},pycharm:{darwin:["/Applications/PyCharm.app/Contents/MacOS/pycharm","/Applications/PyCharm CE.app/Contents/MacOS/pycharm"]},goland:{darwin:["/Applications/GoLand.app/Contents/MacOS/goland"]},rubymine:{darwin:["/Applications/RubyMine.app/Contents/MacOS/rubymine"]},phpstorm:{darwin:["/Applications/PhpStorm.app/Contents/MacOS/phpstorm"]},clion:{darwin:["/Applications/CLion.app/Contents/MacOS/clion"]},rider:{darwin:["/Applications/Rider.app/Contents/MacOS/rider"]}};async function u(a,b={}){let c=b.platform??process.platform,d=b.env??process.env,f=await h(a,b);if(f)return f;for(let b of t[a]?.[c]??[]){let a=e(c)?function(a,b){return a.replace(/%([^%]+)%/g,(a,c)=>{let d=b[c];if(void 0!==d)return d;let e=Object.keys(b).find(a=>a.toLowerCase()===c.toLowerCase());return e?b[e]??a:a})}(b,d):b;if(await m(a,c))return a}return null}async function v(a=process.platform){let b=[];for(let c of s){let d=!!await u(c.command,{platform:a});b.push({name:c.name,command:c.command,installed:d})}return b}a.s(["detectEditors",0,v,"detectShells",0,n,"detectTerminalApps",0,r,"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)}},"isWindows",0,e,"resolveCommandPathSync",0,j,"resolveEditorBinary",0,u,"resolveSpawnTarget",0,k,"resolveSpawnTargetSync",0,function(a,b,c=process.platform,d){return l(j(a,c,d),b,process.env,c)},"stripClaudeNestingEnv",0,function(a){let b={...a};for(let a of g)delete b[a];return b}])},446786,(a,b,c)=>{b.exports=a.x("os",()=>require("os"))},522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},432201,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},933919,(a,b,c)=>{b.exports=a.x("@prisma/client-9249dd53ac5b6a44",()=>require("@prisma/client-9249dd53ac5b6a44"))},761469,a=>{"use strict";var b=a.i(933919);let c=globalThis.prisma??new b.PrismaClient({log:[]}),d=!1;async function e(){return d||(await c.$connect(),await c.$queryRaw`PRAGMA journal_mode=WAL`,await c.$queryRaw`PRAGMA busy_timeout=5000`,d=!0),c}async function f(){try{await c.$disconnect()}catch{}d=!1,await e()}process.on("SIGTERM",()=>{c.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{c.$disconnect().catch(()=>{})}),a.s(["db",0,c,"resetDbConnection",0,f])},26683,a=>{"use strict";function b(a,b,c,d){let e=new Date().toISOString(),f=`[${e}] ${a.toUpperCase()} [${b}] ${c}`;return d&&Object.keys(d).length>0?`${f} ${JSON.stringify(d)}`:f}a.s(["logger",0,{create:function(a){return{info(c,d){console.log(b("info",a,c,d))},warn(c,d){console.warn(b("warn",a,c,d))},error(c,d,e){console.error(b("error",a,c,d instanceof Error?{...e,error:d.message,stack:d.stack}:{...e,error:String(d)}))}}},info(a,c){console.log(b("info","app",a,c))},warn(a,c){console.warn(b("warn","app",a,c))},error(a,c,d){console.error(b("error","app",a,c instanceof Error?{...d,error:c.message,stack:c.stack}:{...d,error:String(c)}))}}])},319997,a=>{"use strict";let b;var c=a.i(750227),d=a.i(660526),e=a.i(902157);function f(){return b||(b=process.env.TOWER_DATA_DIR||(0,c.join)((0,d.homedir)(),".tower"),(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0})),b}function g(){return(0,c.join)(f(),"storage")}function h(){return(0,c.join)(f(),"storage-location")}function i(){try{let a=(0,e.readFileSync)(h(),"utf-8").trim();return a.length>0?a:null}catch{return null}}a.s(["getBackupsDir",0,function(){let a=(0,c.join)(f(),"backups");return(0,e.existsSync)(a)||(0,e.mkdirSync)(a,{recursive:!0}),a},"getDefaultStorageDir",0,g,"getExtensionsDir",0,function(){let a=(0,c.join)(f(),"extensions");return(0,e.existsSync)(a)||(0,e.mkdirSync)(a,{recursive:!0}),a},"getStorageDir",0,function(){let a=process.env.TOWER_STORAGE_DIR||i(),b=a&&a.length>0?a:g();return(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0}),b},"getTowerDir",0,f,"readStoragePointer",0,i,"writeStoragePointer",0,function(a){let b=h();null===a?(0,e.rmSync)(b,{force:!0}):(0,e.writeFileSync)(b,a,"utf-8")}])},427699,(a,b,c)=>{b.exports=a.x("events",()=>require("events"))},666680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},912714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},687769,(a,b,c)=>{b.exports=a.x("node:events",()=>require("node:events"))},81111,(a,b,c)=>{b.exports=a.x("node:stream",()=>require("node:stream"))},899871,(a,b,c)=>{b.exports=a.x("node:string_decoder",()=>require("node:string_decoder"))},449719,(a,b,c)=>{b.exports=a.x("assert",()=>require("assert"))},500874,(a,b,c)=>{b.exports=a.x("buffer",()=>require("buffer"))},406461,(a,b,c)=>{b.exports=a.x("zlib",()=>require("zlib"))},57328,(a,b,c)=>{b.exports=a.x("node:assert",()=>require("node:assert"))},4634,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(26683),f=a.i(630048);let g=["onboarding.completed","onboarding.lastStep","onboarding.username"];async function h(){let a=await c.db.systemConfig.findMany({where:{key:{in:[...g]}}}),b={};for(let c of a)try{b[c.key]=JSON.parse(c.value)}catch{b[c.key]=null}let d=!0===b["onboarding.completed"],e=b["onboarding.lastStep"],f=b["onboarding.username"];return{isFirstRun:!d,isCompleted:d,lastStep:"number"==typeof e?e:0,username:"string"==typeof f&&f.length>0?f:null}}async function i(a){await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:JSON.stringify(a)},update:{value:JSON.stringify(a)}}),(0,d.revalidatePath)("/","layout")}async function j(a,b=4){if(await c.db.systemConfig.upsert({where:{key:"onboarding.completed"},create:{key:"onboarding.completed",value:"true"},update:{value:"true"}}),await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:String(b)},update:{value:String(b)}}),void 0!==a){let b=a.trim().slice(0,64).replace(/[\r\n]/g," ");b.length>0&&await c.db.systemConfig.upsert({where:{key:"onboarding.username"},create:{key:"onboarding.username",value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}(0,d.revalidatePath)("/","layout")}async function k(a,b){await c.db.systemConfig.upsert({where:{key:"onboarding.extensions.requested"},create:{key:"onboarding.extensions.requested",value:JSON.stringify(a)},update:{value:JSON.stringify(a)}}),await c.db.systemConfig.upsert({where:{key:"onboarding.extensions.completed"},create:{key:"onboarding.extensions.completed",value:JSON.stringify(b)},update:{value:JSON.stringify(b)}}),(0,d.revalidatePath)("/","layout")}async function l(b){try{e.logger.create("task-completion").info("Task completion event dispatched",{taskId:b.taskId,taskTitle:b.taskTitle,status:b.status,executionId:b.executionId});let{broadcastNotification:c}=await a.A(904454);c({...b,type:"completion"})}catch{}}(0,f.ensureServerEntryExports)([h,i,j,k,l]),(0,b.registerServerReference)(h,"003f1dfdc13dd3928867e8ca32a72ccaefc2e0573d",null),(0,b.registerServerReference)(i,"40ace337192d4dd9a4a7362eab01bc86850fb4a0d8",null),(0,b.registerServerReference)(j,"6022565280345647acafc879d6697aabada2ec392f",null),(0,b.registerServerReference)(k,"6003b9bf4e05e9d923ec7aa8ed47b1d2e8b1806cb7",null),(0,b.registerServerReference)(l,"4089bb43b964c3cc5b2848bc729865dee8e56f60a6",null),a.s(["completeOnboarding",0,j,"dispatchTaskCompletionEvent",0,l,"getOnboardingStatus",0,h,"setOnboardingExtensions",0,k,"setOnboardingProgress",0,i])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__05sv58d._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},989927,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""}])},292380,742978,a=>{"use strict";var b=a.i(912714),c=a.i(902157),d=a.i(750227);function e(a,b){let c=function(a){if(!a)return null;try{return JSON.parse(a)}catch{return null}}(a.files["package.json"]);return!!c&&b in{...c.dependencies,...c.devDependencies}}let f=[{id:"next",name:"Next.js",icon:"simple-icons:nextdotjs",detect:a=>e(a,"next"),command:"pnpm dev",port:3e3,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/Ready in \d+/i,urlExtractRegex:/(https?:\/\/[^\s]+)/,docUrl:"https://nextjs.org/docs"},{id:"nuxt",name:"Nuxt",icon:"simple-icons:nuxtdotjs",detect:a=>e(a,"nuxt"),command:"pnpm dev",port:3e3,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/Nuxt .* ready in/i,urlExtractRegex:/(https?:\/\/[^\s]+)/},{id:"uniapp",name:"uni-app",icon:"simple-icons:vuedotjs",detect:a=>e(a,"@dcloudio/uni-app"),command:"pnpm dev:h5",port:9e3,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/ready in|App running at|Network:/i,urlExtractRegex:/Local:\s+(https?:\/\/[^\s]+)/,docUrl:"https://uniapp.dcloud.net.cn/"},{id:"vue-cli",name:"Vue (CLI)",icon:"simple-icons:vuedotjs",detect:a=>e(a,"@vue/cli-service"),command:"pnpm serve",port:8080,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/App running at|DONE\s+Compiled successfully/i,urlExtractRegex:/Local:\s+(https?:\/\/[^\s]+)/,docUrl:"https://cli.vuejs.org/"},{id:"cra",name:"Create React App",icon:"simple-icons:react",detect:a=>e(a,"react-scripts"),command:"pnpm start",port:3e3,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/Compiled successfully|webpack compiled/i,urlExtractRegex:/Local:\s+(https?:\/\/[^\s]+)/,docUrl:"https://create-react-app.dev/"},{id:"vite",name:"Vite",icon:"simple-icons:vite",detect:a=>e(a,"vite"),command:"pnpm dev",port:5173,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/ready in \d+\s*ms/i,urlExtractRegex:/Local:\s+(https?:\/\/[^\s]+)/},{id:"angular",name:"Angular",icon:"simple-icons:angular",detect:a=>e(a,"@angular/core"),command:"pnpm start",port:4200,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/Compiled successfully|Application bundle generation complete/i,urlExtractRegex:/(https?:\/\/[^\s]+)/},{id:"spring-boot-maven",name:"Spring Boot (Maven)",icon:"simple-icons:springboot",detect:a=>{let b=a.files["pom.xml"];return!!(b&&/spring-boot-starter/.test(b))},command:"./mvnw spring-boot:run",port:8080,installCommand:"./mvnw dependency:resolve",installMarker:["target"],readyRegex:/Started \w+Application in [\d.]+ seconds/i,urlExtractRegex:null,startTimeoutMs:12e4},{id:"spring-boot-gradle",name:"Spring Boot (Gradle)",icon:"simple-icons:springboot",detect:a=>{let b=a.files["build.gradle"]??a.files["build.gradle.kts"];return!!(b&&/spring-boot/.test(b))},command:"./gradlew bootRun",port:8080,installCommand:"./gradlew --refresh-dependencies",installMarker:[".gradle"],readyRegex:/Started \w+Application in [\d.]+ seconds/i,urlExtractRegex:null,startTimeoutMs:12e4},{id:"django",name:"Django",icon:"simple-icons:django",detect:a=>null!==a.files["manage.py"]&&void 0!==a.files["manage.py"],command:"python manage.py runserver",port:8e3,installCommand:"pip install -r requirements.txt",installMarker:[".venv","venv"],readyRegex:/Starting development server at/i,urlExtractRegex:/at\s+(https?:\/\/[^\s]+)/},{id:"fastapi",name:"FastAPI",icon:"simple-icons:fastapi",detect:a=>{let b=a.files["requirements.txt"]??"",c=a.files["pyproject.toml"]??"";return/fastapi/i.test((b??"")+(c??""))},command:"uvicorn main:app --reload",port:8e3,installCommand:"pip install -r requirements.txt",installMarker:[".venv","venv"],readyRegex:/Application startup complete|Uvicorn running on/i,urlExtractRegex:/running on\s+(https?:\/\/[^\s]+)/},{id:"flask",name:"Flask",icon:"simple-icons:flask",detect:a=>{let b=a.files["requirements.txt"]??"";return/^flask/im.test(b??"")},command:"flask --app app run",port:5e3,installCommand:"pip install -r requirements.txt",installMarker:[".venv","venv"],readyRegex:/Running on\s+http/i,urlExtractRegex:/Running on\s+(https?:\/\/[^\s]+)/},{id:"go-generic",name:"Go",icon:"simple-icons:go",detect:a=>null!==a.files["go.mod"]&&void 0!==a.files["go.mod"],command:"go run .",port:8080,installCommand:"go mod download",installMarker:["go.sum"],readyRegex:null,urlExtractRegex:/(https?:\/\/[^\s]+)/},{id:"static",name:"Static HTML",icon:"simple-icons:html5",detect:a=>null!==a.files["index.html"]&&void 0!==a.files["index.html"]&&!a.files["package.json"]&&!a.files["pom.xml"],command:"npx serve -l {port} .",port:3e3,installCommand:null,installMarker:null,readyRegex:/Accepting connections at/i,urlExtractRegex:/(https?:\/\/[^\s]+)/}];a.s(["PRESETS",0,f],742978);let g=["package.json","pom.xml","build.gradle","build.gradle.kts","manage.py","requirements.txt","pyproject.toml","go.mod","index.html"];async function h(a){return Object.fromEntries(await Promise.all(g.map(async c=>{try{let e=await (0,b.readFile)((0,d.join)(a,c),"utf-8");return[c,e]}catch{return[c,null]}})))}async function i(a){return{files:await h(a),hasDir:()=>!1}}async function j(a){try{await (0,b.access)(a,c.constants.R_OK)}catch{return null}let d=await i(a);for(let a of f)try{if(a.detect(d))return a}catch{}return null}a.s(["detectPreset",0,j],292380)},244256,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(912714),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(496877),i=a.i(989927),j=a.i(292380);async function k(){return f.db.workspace.findMany({select:{id:!0,name:!0,projects:{select:{id:!0,name:!0,alias:!0},orderBy:{createdAt:"asc"}}},orderBy:{updatedAt:"desc"}})}async function l(a){return f.db.workspace.findUnique({where:{id:a},include:{projects:{include:{tasks:{orderBy:[{order:"asc"},{createdAt:"desc"}]},repositories:!0}}}})}async function m(a){let b=h.createWorkspaceSchema.parse(a),c=await f.db.workspace.create({data:b});return(0,g.revalidatePath)("/workspaces"),c}async function n(a,b){let c=h.updateWorkspaceSchema.parse(b),d=await f.db.workspace.update({where:{id:a},data:c});return(0,g.revalidatePath)("/workspaces"),d}async function o(a){let b=h.reorderWorkspacesSchema.parse(a);if(new Set(b).size!==b.length)throw Error("Duplicate workspace ids in reorder request");let c=new Set((await f.db.workspace.findMany({select:{id:!0}})).map(a=>a.id));for(let a of b)if(!c.has(a))throw Error("Unknown workspace id in reorder request");if(b.length!==c.size)throw Error("Reorder request must include every workspace");await f.db.$transaction(b.map((a,b)=>f.db.workspace.update({where:{id:a},data:{order:b}}))),(0,g.revalidatePath)("/workspaces")}async function p(a){if(await f.db.workspace.count()<=1)throw Error("Cannot delete the last workspace");await f.db.workspace.delete({where:{id:a}}),(0,g.revalidatePath)("/workspaces")}async function q(b){let k=h.createProjectSchema.parse(b),l=k.localPath?(0,i.expandHome)(k.localPath):void 0;if(l&&!k.gitUrl&&e.default.isAbsolute(l))try{await (0,c.mkdir)(l,{recursive:!0})}catch(a){throw Error(`无法创建项目目录 ${l}: ${a.message}`)}let m=await f.db.project.create({data:{name:k.name,alias:k.alias,description:k.description,type:k.gitUrl?"GIT":"NORMAL",gitUrl:k.gitUrl||void 0,localPath:l,projectType:k.projectType,previewCommand:k.previewCommand,workspaceId:k.workspaceId}});try{let{ensureTowerTask:b}=await a.A(76052);await b(m.id,k.name)}catch(a){console.warn("Failed to auto-create Tower task",a)}if(l)try{if((await (0,d.readdir)(l).catch(()=>[])).length>0){let a=await (0,j.detectPreset)(l);a&&await f.db.project.update({where:{id:m.id},data:{previewPreset:a.id}})}}catch{}return(0,g.revalidatePath)("/workspaces"),m}async function r(a,b){let c={...h.updateProjectSchema.parse(b)};c.localPath&&(c.localPath=(0,i.expandHome)(c.localPath));let e=await f.db.project.update({where:{id:a},data:c});if(void 0!==b.localPath){let c=b.localPath?(0,i.expandHome)(b.localPath):null;if(c)try{if((await (0,d.readdir)(c).catch(()=>[])).length>0){let b=await (0,j.detectPreset)(c);await f.db.project.update({where:{id:a},data:{previewPreset:b?.id??null}})}}catch{}}return(0,g.revalidatePath)("/workspaces"),e}async function s(b){let c=await f.db.task.findMany({where:{projectId:b},include:{project:{select:{localPath:!0}}}}),{destroySession:d}=await a.A(98813),{removeWorktree:e}=await a.A(507502);for(let a of c){try{d(a.id)}catch{}if(await f.db.taskExecution.updateMany({where:{taskId:a.id,status:{in:["PENDING","RUNNING","PAUSED"]}},data:{status:"FAILED",endedAt:new Date}}),a.project?.localPath)try{await e(a.project.localPath,a.id)}catch{}["DONE","CANCELLED"].includes(a.status)||await f.db.task.update({where:{id:a.id},data:{status:"CANCELLED"}})}await f.db.project.delete({where:{id:b}}),(0,g.revalidatePath)("/workspaces")}async function t(a){return f.db.project.findFirst({where:{localPath:a},include:{workspace:!0}})}async function u(a=3){return f.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"]},NOT:{labels:{some:{label:{name:"Tower",isBuiltin:!0}}}}},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"]},NOT:{labels:{some:{label:{name:"Tower",isBuiltin:!0}}}}}}}}},orderBy:{createdAt:"asc"}}},orderBy:{updatedAt:"desc"}})}async function v(a=10){return f.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 w(b){let c=await f.db.project.findUnique({where:{id:b},select:{id:!0,name:!0}});if(!c)throw Error("Project not found");let{ensureTowerTask:d}=await a.A(76052);return d(c.id,c.name)}(0,a.i(630048).ensureServerEntryExports)([k,l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(k,"00526acada8bf7aa05496f62edc9aef62923924aa0",null),(0,b.registerServerReference)(l,"40895195ba42bfc12573fd373cbcf756a46f76636e",null),(0,b.registerServerReference)(m,"4092d91e17ecc8b9d804fe44cc6ba1c4b30220bd3d",null),(0,b.registerServerReference)(n,"606d63817790733987cad04de74b4c3d41d7065fa1",null),(0,b.registerServerReference)(o,"4040c9b07f2eb4fef73826c847a722f7e2a942bf80",null),(0,b.registerServerReference)(p,"40a96c0f2c1265c92ce7db1d2ffaed1b249956cd85",null),(0,b.registerServerReference)(q,"4025ff7ebd68ae6e5fe7e81641ffa68a30d7aa6fba",null),(0,b.registerServerReference)(r,"6065815463614337867c128dc924e70a8aa1f0b278",null),(0,b.registerServerReference)(s,"40b902fb48f59e2b21b788ad8f305be82d66522b4a",null),(0,b.registerServerReference)(t,"40e8616e3b7005c14610f22174f55c34af2a3704be",null),(0,b.registerServerReference)(u,"407237551552d0fef859f4e905efcf857d427eb57c",null),(0,b.registerServerReference)(v,"40452e0dba5108423aa37849088c015373f47f3ce3",null),(0,b.registerServerReference)(w,"40ba81ca8ff5f9521b2ab7a3f39837cfaa6fa03e1a",null),a.s(["createProject",0,q,"createWorkspace",0,m,"deleteProject",0,s,"deleteWorkspace",0,p,"getOrCreateTowerTaskId",0,w,"getProjectByLocalPath",0,t,"getRecentLocalProjects",0,v,"getWorkspaceById",0,l,"getWorkspacesWithProjects",0,k,"getWorkspacesWithRecentTasks",0,u,"reorderWorkspaces",0,o,"updateProject",0,r,"updateWorkspace",0,n])}];
|
|
1
|
+
module.exports=[924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},989927,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""}])},292380,742978,a=>{"use strict";var b=a.i(912714),c=a.i(902157),d=a.i(750227);function e(a,b){let c=function(a){if(!a)return null;try{return JSON.parse(a)}catch{return null}}(a.files["package.json"]);return!!c&&b in{...c.dependencies,...c.devDependencies}}let f=[{id:"next",name:"Next.js",icon:"simple-icons:nextdotjs",detect:a=>e(a,"next"),command:"pnpm dev",port:3e3,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/Ready in \d+/i,urlExtractRegex:/(https?:\/\/[^\s]+)/,docUrl:"https://nextjs.org/docs"},{id:"nuxt",name:"Nuxt",icon:"simple-icons:nuxtdotjs",detect:a=>e(a,"nuxt"),command:"pnpm dev",port:3e3,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/Nuxt .* ready in/i,urlExtractRegex:/(https?:\/\/[^\s]+)/},{id:"uniapp",name:"uni-app",icon:"simple-icons:vuedotjs",detect:a=>e(a,"@dcloudio/uni-app"),command:"pnpm dev:h5",port:9e3,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/ready in|App running at|Network:/i,urlExtractRegex:/Local:\s+(https?:\/\/[^\s]+)/,docUrl:"https://uniapp.dcloud.net.cn/"},{id:"vue-cli",name:"Vue (CLI)",icon:"simple-icons:vuedotjs",detect:a=>e(a,"@vue/cli-service"),command:"pnpm serve",port:8080,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/App running at|DONE\s+Compiled successfully/i,urlExtractRegex:/Local:\s+(https?:\/\/[^\s]+)/,docUrl:"https://cli.vuejs.org/"},{id:"cra",name:"Create React App",icon:"simple-icons:react",detect:a=>e(a,"react-scripts"),command:"pnpm start",port:3e3,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/Compiled successfully|webpack compiled/i,urlExtractRegex:/Local:\s+(https?:\/\/[^\s]+)/,docUrl:"https://create-react-app.dev/"},{id:"vite",name:"Vite",icon:"simple-icons:vite",detect:a=>e(a,"vite"),command:"pnpm dev",port:5173,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/ready in \d+\s*ms/i,urlExtractRegex:/Local:\s+(https?:\/\/[^\s]+)/},{id:"angular",name:"Angular",icon:"simple-icons:angular",detect:a=>e(a,"@angular/core"),command:"pnpm start",port:4200,installCommand:"pnpm install",installMarker:["node_modules"],readyRegex:/Compiled successfully|Application bundle generation complete/i,urlExtractRegex:/(https?:\/\/[^\s]+)/},{id:"spring-boot-maven",name:"Spring Boot (Maven)",icon:"simple-icons:springboot",detect:a=>{let b=a.files["pom.xml"];return!!(b&&/spring-boot-starter/.test(b))},command:"./mvnw spring-boot:run",port:8080,installCommand:"./mvnw dependency:resolve",installMarker:["target"],readyRegex:/Started \w+Application in [\d.]+ seconds/i,urlExtractRegex:null,startTimeoutMs:12e4},{id:"spring-boot-gradle",name:"Spring Boot (Gradle)",icon:"simple-icons:springboot",detect:a=>{let b=a.files["build.gradle"]??a.files["build.gradle.kts"];return!!(b&&/spring-boot/.test(b))},command:"./gradlew bootRun",port:8080,installCommand:"./gradlew --refresh-dependencies",installMarker:[".gradle"],readyRegex:/Started \w+Application in [\d.]+ seconds/i,urlExtractRegex:null,startTimeoutMs:12e4},{id:"django",name:"Django",icon:"simple-icons:django",detect:a=>null!==a.files["manage.py"]&&void 0!==a.files["manage.py"],command:"python manage.py runserver",port:8e3,installCommand:"pip install -r requirements.txt",installMarker:[".venv","venv"],readyRegex:/Starting development server at/i,urlExtractRegex:/at\s+(https?:\/\/[^\s]+)/},{id:"fastapi",name:"FastAPI",icon:"simple-icons:fastapi",detect:a=>{let b=a.files["requirements.txt"]??"",c=a.files["pyproject.toml"]??"";return/fastapi/i.test((b??"")+(c??""))},command:"uvicorn main:app --reload",port:8e3,installCommand:"pip install -r requirements.txt",installMarker:[".venv","venv"],readyRegex:/Application startup complete|Uvicorn running on/i,urlExtractRegex:/running on\s+(https?:\/\/[^\s]+)/},{id:"flask",name:"Flask",icon:"simple-icons:flask",detect:a=>{let b=a.files["requirements.txt"]??"";return/^flask/im.test(b??"")},command:"flask --app app run",port:5e3,installCommand:"pip install -r requirements.txt",installMarker:[".venv","venv"],readyRegex:/Running on\s+http/i,urlExtractRegex:/Running on\s+(https?:\/\/[^\s]+)/},{id:"go-generic",name:"Go",icon:"simple-icons:go",detect:a=>null!==a.files["go.mod"]&&void 0!==a.files["go.mod"],command:"go run .",port:8080,installCommand:"go mod download",installMarker:["go.sum"],readyRegex:null,urlExtractRegex:/(https?:\/\/[^\s]+)/},{id:"static",name:"Static HTML",icon:"simple-icons:html5",detect:a=>null!==a.files["index.html"]&&void 0!==a.files["index.html"]&&!a.files["package.json"]&&!a.files["pom.xml"],command:"npx serve -l {port} .",port:3e3,installCommand:null,installMarker:null,readyRegex:/Accepting connections at/i,urlExtractRegex:/(https?:\/\/[^\s]+)/}];a.s(["PRESETS",0,f],742978);let g=["package.json","pom.xml","build.gradle","build.gradle.kts","manage.py","requirements.txt","pyproject.toml","go.mod","index.html"];async function h(a){return Object.fromEntries(await Promise.all(g.map(async c=>{try{let e=await (0,b.readFile)((0,d.join)(a,c),"utf-8");return[c,e]}catch{return[c,null]}})))}async function i(a){return{files:await h(a),hasDir:()=>!1}}async function j(a){try{await (0,b.access)(a,c.constants.R_OK)}catch{return null}let d=await i(a);for(let a of f)try{if(a.detect(d))return a}catch{}return null}a.s(["detectPreset",0,j],292380)},244256,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(912714),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(496877),i=a.i(989927),j=a.i(292380);async function k(){return f.db.workspace.findMany({select:{id:!0,name:!0,projects:{select:{id:!0,name:!0,alias:!0},orderBy:{createdAt:"asc"}}},orderBy:{updatedAt:"desc"}})}async function l(a){return f.db.workspace.findUnique({where:{id:a},include:{projects:{include:{tasks:{orderBy:[{order:"asc"},{createdAt:"desc"}]},repositories:!0}}}})}async function m(a){let b=h.createWorkspaceSchema.parse(a),c=await f.db.workspace.create({data:b});return(0,g.revalidatePath)("/workspaces"),c}async function n(a,b){let c=h.updateWorkspaceSchema.parse(b),d=await f.db.workspace.update({where:{id:a},data:c});return(0,g.revalidatePath)("/workspaces"),d}async function o(a){let b=h.reorderWorkspacesSchema.parse(a);if(new Set(b).size!==b.length)throw Error("Duplicate workspace ids in reorder request");let c=new Set((await f.db.workspace.findMany({select:{id:!0}})).map(a=>a.id));for(let a of b)if(!c.has(a))throw Error("Unknown workspace id in reorder request");if(b.length!==c.size)throw Error("Reorder request must include every workspace");await f.db.$transaction(b.map((a,b)=>f.db.workspace.update({where:{id:a},data:{order:b}}))),(0,g.revalidatePath)("/workspaces")}async function p(a){if(await f.db.workspace.count()<=1)throw Error("Cannot delete the last workspace");await f.db.workspace.delete({where:{id:a}}),(0,g.revalidatePath)("/workspaces")}async function q(b){let k=h.createProjectSchema.parse(b),l=k.localPath?(0,i.expandHome)(k.localPath):void 0;if(l&&!k.gitUrl&&e.default.isAbsolute(l))try{await (0,c.mkdir)(l,{recursive:!0})}catch(a){throw Error(`无法创建项目目录 ${l}: ${a.message}`)}let m=await f.db.project.create({data:{name:k.name,alias:k.alias,description:k.description,type:k.gitUrl?"GIT":"NORMAL",gitUrl:k.gitUrl||void 0,localPath:l,projectType:k.projectType,previewCommand:k.previewCommand,workspaceId:k.workspaceId}});try{let{ensureTowerTask:b}=await a.A(76052);await b(m.id,k.name)}catch(a){console.warn("Failed to auto-create Tower task",a)}if(l)try{if((await (0,d.readdir)(l).catch(()=>[])).length>0){let a=await (0,j.detectPreset)(l);a&&await f.db.project.update({where:{id:m.id},data:{previewPreset:a.id}})}}catch{}return(0,g.revalidatePath)("/workspaces"),m}async function r(a,b){let c={...h.updateProjectSchema.parse(b)};c.localPath&&(c.localPath=(0,i.expandHome)(c.localPath));let e=await f.db.project.update({where:{id:a},data:c});if(void 0!==b.localPath){let c=b.localPath?(0,i.expandHome)(b.localPath):null;if(c)try{if((await (0,d.readdir)(c).catch(()=>[])).length>0){let b=await (0,j.detectPreset)(c);await f.db.project.update({where:{id:a},data:{previewPreset:b?.id??null}})}}catch{}}return(0,g.revalidatePath)("/workspaces"),e}async function s(b){let c=await f.db.task.findMany({where:{projectId:b},include:{project:{select:{localPath:!0}}}}),{destroySession:d}=await a.A(98813),{removeWorktree:e}=await a.A(507502);for(let a of c){try{d(a.id)}catch{}if(await f.db.taskExecution.updateMany({where:{taskId:a.id,status:{in:["PENDING","RUNNING","PAUSED"]}},data:{status:"FAILED",endedAt:new Date}}),a.project?.localPath)try{await e(a.project.localPath,a.id)}catch{}["DONE","CANCELLED"].includes(a.status)||await f.db.task.update({where:{id:a.id},data:{status:"CANCELLED"}})}await f.db.project.delete({where:{id:b}}),(0,g.revalidatePath)("/workspaces")}async function t(a){return f.db.project.findFirst({where:{localPath:a},include:{workspace:!0}})}async function u(a=3){return f.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"]},NOT:{labels:{some:{label:{name:"Tower",isBuiltin:!0}}}}},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"]},NOT:{labels:{some:{label:{name:"Tower",isBuiltin:!0}}}}}}}}},orderBy:{createdAt:"asc"}}},orderBy:{updatedAt:"desc"}})}async function v(a=10){return f.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 w(b){let c=await f.db.project.findUnique({where:{id:b},select:{id:!0,name:!0}});if(!c)throw Error("Project not found");let{ensureTowerTask:d}=await a.A(76052);return d(c.id,c.name)}(0,a.i(630048).ensureServerEntryExports)([k,l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(k,"00fa55ebd9d1d5ceb95043299ea7562fd61ec198c5",null),(0,b.registerServerReference)(l,"40d414be0267c6c046b1363c5df465e642040fea2c",null),(0,b.registerServerReference)(m,"40769e3e7c790732374614ca824e004ce8291d79f2",null),(0,b.registerServerReference)(n,"609263c53e73f969487fb3a78f5cad865efcc601e8",null),(0,b.registerServerReference)(o,"4054f9623c07304a83a2f85e6b3b6fae81dc47f655",null),(0,b.registerServerReference)(p,"405365149185a3f1aa7bf7b74cf5fd91f66a6c9d5b",null),(0,b.registerServerReference)(q,"40ccc3be5ee2c307201017260aa05492281bf067fb",null),(0,b.registerServerReference)(r,"60d71d3fa805fa2e9c75423c15e1c97fab192e0bbb",null),(0,b.registerServerReference)(s,"40dbb1eb469e90f3055f19af1546fa852e53b8460d",null),(0,b.registerServerReference)(t,"40c351fba542acb75c02e058410a9bd51d4bd70586",null),(0,b.registerServerReference)(u,"406b7dfd994a538ceb25281cc778f7d604197c144b",null),(0,b.registerServerReference)(v,"4090685fce0a0471d05e033e1bcbffcfbe830ff4de",null),(0,b.registerServerReference)(w,"40ecd40642698958b84412a7dd960a70f41dfd5a26",null),a.s(["createProject",0,q,"createWorkspace",0,m,"deleteProject",0,s,"deleteWorkspace",0,p,"getOrCreateTowerTaskId",0,w,"getProjectByLocalPath",0,t,"getRecentLocalProjects",0,v,"getWorkspaceById",0,l,"getWorkspacesWithProjects",0,k,"getWorkspacesWithRecentTasks",0,u,"reorderWorkspaces",0,o,"updateProject",0,r,"updateWorkspace",0,n])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__05xg05r._.js.map
|
|
@@ -18,7 +18,7 @@ module.exports=[287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return
|
|
|
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])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"
|
|
21
|
+
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"605c2fc35fe8ffc8c86eea4b9b750a9ac5c7b745f6",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
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(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40c34bf6c0b511ce7696a224456f1439e308c82cf8",null),(0,b.registerServerReference)(j,"60e86293213deff9b6ad202299a44d1aac6ade5ea5",null),(0,b.registerServerReference)(m,"60987e8130a02058bf0c39c68f36f738a09e2b19a5",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},52350,562278,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(163812);function f(){return process.env.TOWER_PACKAGE_ROOT||process.cwd()}a.s(["getPackageRoot",0,f],562278);let g=["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){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=d.join(c,"scripts","session-start-hook.js").replace(/\\/g,"/"),g=d.join(c,"scripts","post-tool-hook.js").replace(/\\/g,"/"),h=d.join(c,"scripts","stop-hook.js").replace(/\\/g,"/"),i=!1;return i=this.upsertHook(b,"SessionStart","session-start-hook.js",{hooks:[{command:`node "${e}"`,timeout:5,type:"command"}]})||i,i=this.upsertHook(b,"PostToolUse","post-tool-hook.js",{hooks:[{command:`node "${g}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"})||i,(i=this.upsertHook(b,"Stop","stop-hook.js",{hooks:[{command:`node "${h}"`,timeout:5,type:"command"}]})||i)&&(a.hooks=b,this.writeSettings(a)),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async repairHookPaths(){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=!1;for(let[a,f]of[["SessionStart","session-start-hook.js"],["PostToolUse","post-tool-hook.js"],["Stop","stop-hook.js"]]){let g=this.getHookArray(b,a),h=g.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(f)));if(h<0)continue;let i=d.join(c,"scripts",f).replace(/\\/g,"/"),j=`node "${i}"`,k=g[h]?.hooks?.[0];k&&k.command!==j&&(k.command=j,b[a]=g,e=!0)}e&&(a.hooks=b,this.writeSettings(a))}catch{}}upsertHook(a,b,c,d){let e=this.getHookArray(a,b),f=d?.hooks?.[0]?.command,g=e.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(c)));if(g>=0){if(e[g]?.hooks?.[0]?.command===f)return!1;e.splice(g,1)}return e.push(d),a[b]=e,!0}async uninstallHooks(){try{let a=this.readSettings(),b=a.hooks??{},c=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let a of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(b,a);b[a]=d.filter(a=>!a.hooks?.some(a=>c.some(b=>a.command?.includes(b))))}return a.hooks=b,this.writeSettings(a),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readSettings().hooks??{},b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=b.scope??"user",d={command:a.command,args:a.args};a.env&&Object.keys(a.env).length>0&&(d.env=a.env);let e=this.resolveCommand(),f=["mcp","add-json","-s",c,a.name,JSON.stringify(d)];try{return await this.runCli(e,["mcp","remove","-s",c,a.name],b.cwd).catch(()=>{}),await this.runCli(e,f,b.cwd),{ok:!0,method:"cli",detail:`${e} ${f.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${e} ${f.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=b.scope??"user",d=this.resolveCommand(),e=["mcp","remove","-s",c,a];try{return await this.runCli(d,e,b.cwd),{ok:!0,method:"cli",detail:`${d} ${e.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${d} ${e.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async isMcpInstalled(a,b={}){let c=this.resolveCommand();try{return await this.runCli(c,["mcp","get",a],b.cwd,5e3),!0}catch{return!1}}async installSkill(a,c){let f=d.join(this.getConfigDir(),"skills",a);try{if(!b.existsSync(c))return{ok:!1,method:"symlink",detail:f,error:`Source skill dir does not exist: ${c}`};b.mkdirSync(d.dirname(f),{recursive:!0});let a=await b.promises.lstat(f).catch(()=>null);if(a)if(!(a.isSymbolicLink()||(0,e.isWindows)()&&a.isDirectory()))return{ok:!1,method:"symlink",detail:f,error:`Refusing to overwrite non-symlink at ${f}`};else try{let a=await b.promises.readlink(f);if(d.resolve(a)===d.resolve(c))return{ok:!0,method:"symlink",detail:`${f} → ${c} (already)`};await b.promises.unlink(f)}catch{if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:f,error:`Refusing to overwrite non-symlink at ${f}`}}let g=(0,e.isWindows)()?"junction":"dir";return await b.promises.symlink(c,f,g),{ok:!0,method:"symlink",detail:`${f} → ${c}`}}catch(a){return{ok:!1,method:"symlink",detail:f,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let c=d.join(this.getConfigDir(),"skills",a);try{let a=await b.promises.lstat(c).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${c} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to remove non-symlink at ${c}`};return await b.promises.unlink(c),{ok:!0,method:"symlink",detail:c}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!(await b.promises.lstat(e)).isSymbolicLink())return!1;if(!c)return!0;let a=await b.promises.readlink(e),f=d.isAbsolute(a)?a:d.resolve(d.dirname(e),a);return d.resolve(f)===d.resolve(c)}catch{return!1}}async runCli(b,c,d,e=1e4){let{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),{stdout:i}=await h(b,c,{cwd:d,timeout:e});return i}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),{resolveSpawnTarget:d}=await a.A(889618),e=c(b),f=await d(this.resolveCommand(),["--version"]),{stdout:g}=await e(f.command,f.args,{timeout:5e3});return g.trim()||null}catch{return null}}async getModels(){return g}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}getApiKeyInfo(){return{envVar:"ANTHROPIC_API_KEY",required:!1}}buildHelloProbeArgs(a){return{command:this.resolveCommand(),args:["--print",a,"--output-format","stream-json","--verbose"]}}resolveCommand(){if(process.env.CLAUDE_CODE_PATH)return process.env.CLAUDE_CODE_PATH;if((0,e.isWindows)()){let a=(0,e.resolveCommandPathSync)("claude-code");if("claude-code"!==a)return a}return(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")}getHookArray(a,b){let c=a[b];return Array.isArray(c)?c:[]}hasHook(a,b){return a.some(a=>a.hooks?.some(a=>a.command?.includes(b)))}}],52350)},794391,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634),a.i(347427),a.i(855806),a.i(536960);var f=a.i(689171),g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),289201,a=>a.a(async(b,c)=>{try{var d=a.i(794391),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=a.i(347427),m=a.i(855806),n=a.i(536960),o=a.i(689171),p=b([d,g,h,o]);[d,g,h,o]=p.then?(await p)():p,a.s(["0088815a968a7a4ad9e7015f8071ac6e747d1a8c42",()=>k.getOnboardingStatus,"00bfa74f30650ef66e329d28969bd80b4d1cc27634",()=>m.getConnectedProviders,"00d78bd00b393b69822b0869b4a431c33d44b57ce2",()=>j.listAllExtensionStatus,"00d7c0f191ad90c5e8a540acb3e511f13d53f9d7b3",()=>l.getActiveExecutionsAcrossWorkspaces,"00decfaa1df4f11565ab21c2e0832bbb98f8ccab80",()=>h.getActualWsPort,"00f076b5309f8854e5ae0610274df53d9a31057ec1",()=>m.getProviderConnections,"4007580ef1fbcb816fe92b13f25f9b288d52471145",()=>j.installExtension,"4025ff7ebd68ae6e5fe7e81641ffa68a30d7aa6fba",()=>e.createProject,"402be388a6bfb481b734ff5f0916e5f22ad4fe7bd0",()=>f.deleteLabel,"402eb341008628ca65e9099b8135d5a6ea95cb67c2",()=>k.dispatchTaskCompletionEvent,"402f41b94dc40a13d9b48c81b8ebc4c349935d9934",()=>h.resolveGitLocalPath,"4030de70df142d2cb84decd359d55a09475bab253f",()=>f.createLabel,"4040c9b07f2eb4fef73826c847a722f7e2a942bf80",()=>e.reorderWorkspaces,"4044480c2820912250aa5e72984e1e2006506180c4",()=>h.getConfigValues,"4054cc7cd9dd5fd2229e2b65ade59aa5333ed3c973",()=>m.isProviderConnected,"4057d86c9b2181ea1eb96dd442732684ee78e67e40",()=>j.checkExtension,"407237551552d0fef859f4e905efcf857d427eb57c",()=>e.getWorkspacesWithRecentTasks,"4073d05761e3f9ce67ac864cc8ff8a024123c3b697",()=>l.continueLatestPtyExecution,"40831ad73b080b77942c62c5080e57ac3b7ed95339",()=>l.getTaskExecutions,"4092d91e17ecc8b9d804fe44cc6ba1c4b30220bd3d",()=>e.createWorkspace,"40a96c0f2c1265c92ce7db1d2ffaed1b249956cd85",()=>e.deleteWorkspace,"40abfe70a3623ef00cf758e9e7cee6754bb8472af0",()=>l.stopPtyExecution,"40b70f907f0126b0a7496efbbe7db02a0543895d5d",()=>j.uninstallExtension,"40bba185dd799bc667b44acc2bed8d17413acbe55c",()=>f.getLabelsForWorkspace,"40c34bf6c0b511ce7696a224456f1439e308c82cf8",()=>i.checkMigrationSafety,"40cf5e202a2eb11be7191582eebf0603aba621be26",()=>o.getProjectTasks,"40dc811281eb1fe96bf6dd7cb806e9c358442c3436",()=>l.getTaskMessages,"40dfc84a5fba82cba2619a1e31a374cc10c50c668a",()=>n.openInTerminal,"40e1e52b41ef557a62975b4e2ce662a0580ce63110",()=>k.setOnboardingProgress,"6003c3cecd13125ce0fa7031ae4ba6c79f9da4ea9b",()=>h.getConfigValue,"6011b4bfa9c5cb7d3279cfd103fa3a704c94cb28bb",()=>k.setOnboardingExtensions,"604ee5ee09f7ae320b78443e9e39b452bd8ca729e0",()=>k.completeOnboarding,"606d63817790733987cad04de74b4c3d41d7065fa1",()=>e.updateWorkspace,"606e1d99b8aa55042e1a9d8517c0e7a639d8ab9da8",()=>h.setConfigValue,"6096d1d3bf2f8fa7e5bf5f0323215b769e4f869553",()=>l.sendTaskMessage,"60987e8130a02058bf0c39c68f36f738a09e2b19a5",()=>i.analyzeProjectDirectory,"609a809413b335d77b348452dbe31f8ca5a0ee0878",()=>m.markProviderConnected,"60a0d0c8e35de8d3bca9bcedccb1281a0efd99d786",()=>l.stopTaskExecution,"60b78220cadd97b4c54a8d52c21b95298055367c69",()=>m.markProviderDisconnected,"60df8b59eb56eb5823f81294a8e3a9a67a737d9875",()=>g.globalSearch,"60e36e14585f0c7db20e4e4a22c1130d5a951c8208",()=>l.resumePtyExecution,"60e86293213deff9b6ad202299a44d1aac6ade5ea5",()=>i.migrateProjectPath,"7882e8f27b8a9c4afc93603e825974269350276172",()=>l.startTaskExecution,"7cccb789ac0db87b723ee134e9970316481d11bf81",()=>l.startPtyExecutionSafe,"7cfaa9a0379e65ef57f4fbea360fffc99b5913feb6",()=>l.startPtyExecution]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_05mu4f0._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(a=>Promise.resolve().then(()=>a(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0n54odq._.js"].map(b=>a.l(b))).then(()=>b(897667)))},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))},662330,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0clhm~f._.js"].map(b=>a.l(b))).then(()=>b(818992)))},610073,a=>{a.v(a=>Promise.resolve().then(()=>a(4634)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))},173855,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_open-targets_ts_12a-_~u._.js"].map(b=>a.l(b))).then(()=>b(289288)))},200442,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0e-zyn2._.js"].map(b=>a.l(b))).then(()=>b(941750)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
|
|
45
|
+
- Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40c7f324fe557fb80c37a1a32181503a0536257351",null),(0,b.registerServerReference)(j,"60c86ef167fca66c0b566738b7d16ce04945d66ce2",null),(0,b.registerServerReference)(m,"603afc0abc8a99c0d1556130213be4f1900ced3cf3",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},52350,562278,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(163812);function f(){return process.env.TOWER_PACKAGE_ROOT||process.cwd()}a.s(["getPackageRoot",0,f],562278);let g=["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){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=d.join(c,"scripts","session-start-hook.js").replace(/\\/g,"/"),g=d.join(c,"scripts","post-tool-hook.js").replace(/\\/g,"/"),h=d.join(c,"scripts","stop-hook.js").replace(/\\/g,"/"),i=!1;return i=this.upsertHook(b,"SessionStart","session-start-hook.js",{hooks:[{command:`node "${e}"`,timeout:5,type:"command"}]})||i,i=this.upsertHook(b,"PostToolUse","post-tool-hook.js",{hooks:[{command:`node "${g}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"})||i,(i=this.upsertHook(b,"Stop","stop-hook.js",{hooks:[{command:`node "${h}"`,timeout:5,type:"command"}]})||i)&&(a.hooks=b,this.writeSettings(a)),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async repairHookPaths(){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=!1;for(let[a,f]of[["SessionStart","session-start-hook.js"],["PostToolUse","post-tool-hook.js"],["Stop","stop-hook.js"]]){let g=this.getHookArray(b,a),h=g.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(f)));if(h<0)continue;let i=d.join(c,"scripts",f).replace(/\\/g,"/"),j=`node "${i}"`,k=g[h]?.hooks?.[0];k&&k.command!==j&&(k.command=j,b[a]=g,e=!0)}e&&(a.hooks=b,this.writeSettings(a))}catch{}}upsertHook(a,b,c,d){let e=this.getHookArray(a,b),f=d?.hooks?.[0]?.command,g=e.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(c)));if(g>=0){if(e[g]?.hooks?.[0]?.command===f)return!1;e.splice(g,1)}return e.push(d),a[b]=e,!0}async uninstallHooks(){try{let a=this.readSettings(),b=a.hooks??{},c=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let a of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(b,a);b[a]=d.filter(a=>!a.hooks?.some(a=>c.some(b=>a.command?.includes(b))))}return a.hooks=b,this.writeSettings(a),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readSettings().hooks??{},b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=b.scope??"user",d={command:a.command,args:a.args};a.env&&Object.keys(a.env).length>0&&(d.env=a.env);let e=this.resolveCommand(),f=["mcp","add-json","-s",c,a.name,JSON.stringify(d)];try{return await this.runCli(e,["mcp","remove","-s",c,a.name],b.cwd).catch(()=>{}),await this.runCli(e,f,b.cwd),{ok:!0,method:"cli",detail:`${e} ${f.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${e} ${f.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=b.scope??"user",d=this.resolveCommand(),e=["mcp","remove","-s",c,a];try{return await this.runCli(d,e,b.cwd),{ok:!0,method:"cli",detail:`${d} ${e.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${d} ${e.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async isMcpInstalled(a,b={}){let c=this.resolveCommand();try{return await this.runCli(c,["mcp","get",a],b.cwd,5e3),!0}catch{return!1}}async installSkill(a,c){let f=d.join(this.getConfigDir(),"skills",a);try{if(!b.existsSync(c))return{ok:!1,method:"symlink",detail:f,error:`Source skill dir does not exist: ${c}`};b.mkdirSync(d.dirname(f),{recursive:!0});let a=await b.promises.lstat(f).catch(()=>null);if(a)if(!(a.isSymbolicLink()||(0,e.isWindows)()&&a.isDirectory()))return{ok:!1,method:"symlink",detail:f,error:`Refusing to overwrite non-symlink at ${f}`};else try{let a=await b.promises.readlink(f);if(d.resolve(a)===d.resolve(c))return{ok:!0,method:"symlink",detail:`${f} → ${c} (already)`};await b.promises.unlink(f)}catch{if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:f,error:`Refusing to overwrite non-symlink at ${f}`}}let g=(0,e.isWindows)()?"junction":"dir";return await b.promises.symlink(c,f,g),{ok:!0,method:"symlink",detail:`${f} → ${c}`}}catch(a){return{ok:!1,method:"symlink",detail:f,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let c=d.join(this.getConfigDir(),"skills",a);try{let a=await b.promises.lstat(c).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${c} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to remove non-symlink at ${c}`};return await b.promises.unlink(c),{ok:!0,method:"symlink",detail:c}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!(await b.promises.lstat(e)).isSymbolicLink())return!1;if(!c)return!0;let a=await b.promises.readlink(e),f=d.isAbsolute(a)?a:d.resolve(d.dirname(e),a);return d.resolve(f)===d.resolve(c)}catch{return!1}}async runCli(b,c,d,e=1e4){let{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),{stdout:i}=await h(b,c,{cwd:d,timeout:e});return i}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),{resolveSpawnTarget:d}=await a.A(889618),e=c(b),f=await d(this.resolveCommand(),["--version"]),{stdout:g}=await e(f.command,f.args,{timeout:5e3});return g.trim()||null}catch{return null}}async getModels(){return g}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}getApiKeyInfo(){return{envVar:"ANTHROPIC_API_KEY",required:!1}}buildHelloProbeArgs(a){return{command:this.resolveCommand(),args:["--print",a,"--output-format","stream-json","--verbose"]}}resolveCommand(){if(process.env.CLAUDE_CODE_PATH)return process.env.CLAUDE_CODE_PATH;if((0,e.isWindows)()){let a=(0,e.resolveCommandPathSync)("claude-code");if("claude-code"!==a)return a}return(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")}getHookArray(a,b){let c=a[b];return Array.isArray(c)?c:[]}hasHook(a,b){return a.some(a=>a.hooks?.some(a=>a.command?.includes(b)))}}],52350)},794391,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634),a.i(347427),a.i(855806),a.i(536960);var f=a.i(689171),g=b([d,e,f]);[d,e,f]=g.then?(await g)():g,a.s([]),c()}catch(a){c(a)}},!1),289201,a=>a.a(async(b,c)=>{try{var d=a.i(794391),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=a.i(347427),m=a.i(855806),n=a.i(536960),o=a.i(689171),p=b([d,g,h,o]);[d,g,h,o]=p.then?(await p)():p,a.s(["000863e4bcea15ea38d43ed0ddb7936ea4bd231b21",()=>l.getActiveExecutionsAcrossWorkspaces,"003ef32d24bc4b29c342acf4c816cf95fa4fe3f598",()=>h.getActualWsPort,"003f1dfdc13dd3928867e8ca32a72ccaefc2e0573d",()=>k.getOnboardingStatus,"006aab408acb61a0962235f55a3de594983b7dd5bf",()=>j.listAllExtensionStatus,"0078654cad65a0dec26eb055d3e8750bcd11d61e91",()=>m.getProviderConnections,"008dd6818c30cdcd3a01a27de1cc9bc5a66081beac",()=>m.getConnectedProviders,"400e2fda1bae5acb01074e51d080a2be2a77bc34cd",()=>h.getConfigValues,"4012b5a73e0f56276592ab3dffbfb4a5886b44ad1f",()=>h.resolveGitLocalPath,"401b19ed1de78cc49e951594c328f146e9f3b16d23",()=>l.continueLatestPtyExecution,"401eefa1cea47e1a431bf89049462cc58dc6f0fc12",()=>l.getTaskMessages,"4030983d0916967d1b45111b1f8932995e322ac168",()=>f.getLabelsForWorkspace,"403621a3d9269da35cf786324f702cfdd3f4e342d1",()=>m.isProviderConnected,"405365149185a3f1aa7bf7b74cf5fd91f66a6c9d5b",()=>e.deleteWorkspace,"4054c3d2ea9f6bcddfa7d33d42dc7ae43c5d3bc071",()=>j.installExtension,"4054f9623c07304a83a2f85e6b3b6fae81dc47f655",()=>e.reorderWorkspaces,"406b7dfd994a538ceb25281cc778f7d604197c144b",()=>e.getWorkspacesWithRecentTasks,"406ef513cf67080721de0a99753be69d59b87507bf",()=>o.getProjectTasks,"40769e3e7c790732374614ca824e004ce8291d79f2",()=>e.createWorkspace,"4089bb43b964c3cc5b2848bc729865dee8e56f60a6",()=>k.dispatchTaskCompletionEvent,"4090dece3eac4df8d9aa55e39136298bd458446dac",()=>f.createLabel,"40ace337192d4dd9a4a7362eab01bc86850fb4a0d8",()=>k.setOnboardingProgress,"40b312e080b33001e97622ba996bad24f8aaf9fe1d",()=>j.checkExtension,"40b400ff5b05c6a2cc9e22bb08c49c3a9384b04f0d",()=>l.stopPtyExecution,"40b4afd819167bb48c681e66a7e9184ef54b187356",()=>j.uninstallExtension,"40c7f324fe557fb80c37a1a32181503a0536257351",()=>i.checkMigrationSafety,"40ccc3be5ee2c307201017260aa05492281bf067fb",()=>e.createProject,"40d2dd1b5fc5c81f4ded0113d429d62fa7910ff56d",()=>n.openInTerminal,"40e35bb2d01b14eeccf0c46897d86399797ff36feb",()=>l.getTaskExecutions,"40f89aa83057e20a65456875f67e50fe3a99de604e",()=>f.deleteLabel,"6003b9bf4e05e9d923ec7aa8ed47b1d2e8b1806cb7",()=>k.setOnboardingExtensions,"6022565280345647acafc879d6697aabada2ec392f",()=>k.completeOnboarding,"603afc0abc8a99c0d1556130213be4f1900ced3cf3",()=>i.analyzeProjectDirectory,"605c2fc35fe8ffc8c86eea4b9b750a9ac5c7b745f6",()=>g.globalSearch,"608717f3a5b22d3dd4c73f01edab5bc2853a8db873",()=>m.markProviderDisconnected,"609263c53e73f969487fb3a78f5cad865efcc601e8",()=>e.updateWorkspace,"60977d47949e30ee77ee1faa286d80422ab9342e05",()=>m.markProviderConnected,"60c086bb0d6a417695daf1a78de8b35ca7f8183e15",()=>h.setConfigValue,"60c86ef167fca66c0b566738b7d16ce04945d66ce2",()=>i.migrateProjectPath,"60d723f36a51c943e8baad0f3a222ebff10d31acb9",()=>l.stopTaskExecution,"60e4624c6f33d0ffe3e0a77e431ea28f37949b22d2",()=>l.sendTaskMessage,"60ee0e6712a226685ca6e1745323baabb2172f74b5",()=>l.resumePtyExecution,"60fed8ee888cd0a6a4480474a484ee4fe77a6d9c20",()=>h.getConfigValue,"78652ad06febde9df0656ee502969cfa42fa80f101",()=>l.startTaskExecution,"7c1e12d6aeb59bf8e240aa5902e48cd569ebcc127a",()=>l.startPtyExecutionSafe,"7ce9d6cf599f47d28dee6ce3b03c08930d3f12476e",()=>l.startPtyExecution]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_05mu4f0._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(a=>Promise.resolve().then(()=>a(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0n54odq._.js"].map(b=>a.l(b))).then(()=>b(897667)))},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))},662330,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0clhm~f._.js"].map(b=>a.l(b))).then(()=>b(818992)))},610073,a=>{a.v(a=>Promise.resolve().then(()=>a(4634)))},260815,a=>{a.v(a=>Promise.resolve().then(()=>a(924868)))},173855,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_open-targets_ts_12a-_~u._.js"].map(b=>a.l(b))).then(()=>b(289288)))},200442,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0e-zyn2._.js"].map(b=>a.l(b))).then(()=>b(941750)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
|
|
46
46
|
|
|
47
47
|
//# sourceMappingURL=%5Broot-of-the-server%5D__062b.yt._.js.map
|
|
@@ -18,7 +18,7 @@ module.exports=[287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return
|
|
|
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])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"
|
|
21
|
+
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"605c2fc35fe8ffc8c86eea4b9b750a9ac5c7b745f6",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
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(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40c34bf6c0b511ce7696a224456f1439e308c82cf8",null),(0,b.registerServerReference)(j,"60e86293213deff9b6ad202299a44d1aac6ade5ea5",null),(0,b.registerServerReference)(m,"60987e8130a02058bf0c39c68f36f738a09e2b19a5",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},417219,a=>{"use strict";a.i(666680);var b=a.i(902157),c=a.i(750227),d=a.i(319997);a.s(["ensureAssetsDir",0,function(a){let e=function(a){let b=c.join((0,d.getStorageDir)(),"assets",a);if(!b.startsWith((0,d.getStorageDir)()+c.sep))throw Error("Path traversal detected");return b}(a);return b.mkdirSync(e,{recursive:!0}),e}])},97397,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(902157),f=a.i(750227),g=a.i(75681),h=a.i(761469),i=a.i(188139),j=a.i(417219),k=a.i(980999),l=a.i(630048),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,"40c7843bee07a0d8e804b399f7723acd3c9ddc8ec0",null),(0,d.registerServerReference)(o,"408ec02b3b8ad0764bfcc494f3ec3cea33889af5f9",null),(0,d.registerServerReference)(p,"4078c11ed2cd78bb4dd086cb4ab47243720423f6dd",null),(0,d.registerServerReference)(q,"40bc08544885636f5a33a149f2ca4aa39d638cd7ad",null),(0,d.registerServerReference)(r,"40fff8f7f65e3e185622e47f143e51a8325ee9f6f1",null),(0,d.registerServerReference)(s,"40bcda45859b9f4e7034506ea354a31bc244f2c0a4",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),835032,a=>{"use strict";async function b(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 c(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b)}a.s(["deleteNoteFromFts",0,c,"syncNoteToFts",0,b])},392164,a=>{"use strict";var b=a.i(815429),c=a.i(75681),d=a.i(761469),e=a.i(188139),f=a.i(835032),g=a.i(630048);let h=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()}),i=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 j(a){let b=h.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 (0,f.syncNoteToFts)(d.db,{id:c.id,title:c.title,content:c.content}),(0,e.revalidatePath)("/workspace"),c}async function k(a,b){let c=i.parse(b),g=await d.db.projectNote.update({where:{id:a},data:c});return await (0,f.syncNoteToFts)(d.db,{id:g.id,title:g.title,content:g.content}),(0,e.revalidatePath)("/workspace"),g}async function l(a){await (0,f.deleteNoteFromFts)(d.db,a),await d.db.projectNote.delete({where:{id:a}}),(0,e.revalidatePath)("/workspace")}async function m(a){return d.db.projectNote.findUnique({where:{id:a}})}async function n(a,b){return d.db.projectNote.findMany({where:{projectId:a,...b?.category?{category:b.category}:{}},orderBy:[{updatedAt:"desc"},{id:"desc"}],include:{task:{select:{id:!0,title:!0}}}})}async function o(a){return d.db.projectNote.findMany({where:{taskId:a},orderBy:[{updatedAt:"desc"},{id:"desc"}]})}(0,g.ensureServerEntryExports)([j,k,l,m,n,o]),(0,b.registerServerReference)(j,"40089446e14dfccae4d9cfae25d87fe426f881796b",null),(0,b.registerServerReference)(k,"603a47abed710c0d42bb7866767beb055bdc0b79ba",null),(0,b.registerServerReference)(l,"40eb2a344429aa574c7aa9c35c50ef2294b7e1f880",null),(0,b.registerServerReference)(m,"40e507ab7996f52501a234266979bdbe18a6cf30f6",null),(0,b.registerServerReference)(n,"60780b5248de0826b96d55da66341a45449290a472",null),(0,b.registerServerReference)(o,"404268743695e9bb2522c2739b49209f98a0e6c410",null),a.s(["createNote",0,j,"deleteNote",0,l,"getNoteById",0,m,"getProjectNotes",0,n,"getTaskNotes",0,o,"updateNote",0,k])},196195,a=>{"use strict";var b=a.i(815429),c=a.i(233405),d=a.i(814747),e=a.i(446786);function f(a){return a.startsWith("~/")||"~"===a?d.default.join(e.default.homedir(),a.slice(1)):a}async function g(a){if(!a?.trim())return null;let b=d.default.resolve(f(a));try{return(0,c.execSync)("git rev-parse --abbrev-ref HEAD",{cwd:b,encoding:"utf-8",timeout:5e3}).trim()}catch{return null}}async function h(a){if(!a?.trim())return[];let b=d.default.resolve(f(a));try{let a,d;return a=new Set((0,c.execSync)("git branch --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,""))),d=(0,c.execSync)("git branch -r --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,"").replace(/^origin\//,"")).filter(b=>"HEAD"!==b&&!a.has(b)),[...a,...d]}catch{return[]}}async function i(a){if(!a?.trim())return;let b=d.default.resolve(f(a));try{(0,c.spawn)("git",["fetch","--prune"],{cwd:b,stdio:"ignore",detached:!0}).unref()}catch{}}(0,a.i(630048).ensureServerEntryExports)([g,h,i]),(0,b.registerServerReference)(g,"40fddb22bbbfdcde5c0c57a5ab4aea8886d8cebef8",null),(0,b.registerServerReference)(h,"405dda82de054a22fa6f48d7a303a6399f1f1ea165",null),(0,b.registerServerReference)(i,"40445148acbf903a1eb13a7785977e49ed766bb8bb",null),a.s(["fetchRemoteBranches",0,i,"getCurrentBranch",0,g,"getProjectBranches",0,h])},181207,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634),a.i(392164);var f=a.i(689171),g=a.i(97397);a.i(536960),a.i(196195);var h=b([d,e,f,g]);[d,e,f,g]=h.then?(await h)():h,a.s([]),c()}catch(a){c(a)}},!1),593804,a=>a.a(async(b,c)=>{try{var d=a.i(181207),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=a.i(392164),m=a.i(689171),n=a.i(97397),o=a.i(536960),p=a.i(196195),q=b([d,g,h,m,n]);[d,g,h,m,n]=q.then?(await q)():q,a.s(["00526acada8bf7aa05496f62edc9aef62923924aa0",()=>e.getWorkspacesWithProjects,"0088815a968a7a4ad9e7015f8071ac6e747d1a8c42",()=>k.getOnboardingStatus,"00d78bd00b393b69822b0869b4a431c33d44b57ce2",()=>j.listAllExtensionStatus,"00decfaa1df4f11565ab21c2e0832bbb98f8ccab80",()=>h.getActualWsPort,"4007580ef1fbcb816fe92b13f25f9b288d52471145",()=>j.installExtension,"40089446e14dfccae4d9cfae25d87fe426f881796b",()=>l.createNote,"4025ff7ebd68ae6e5fe7e81641ffa68a30d7aa6fba",()=>e.createProject,"402be388a6bfb481b734ff5f0916e5f22ad4fe7bd0",()=>f.deleteLabel,"402eb341008628ca65e9099b8135d5a6ea95cb67c2",()=>k.dispatchTaskCompletionEvent,"402f41b94dc40a13d9b48c81b8ebc4c349935d9934",()=>h.resolveGitLocalPath,"4030de70df142d2cb84decd359d55a09475bab253f",()=>f.createLabel,"4040c9b07f2eb4fef73826c847a722f7e2a942bf80",()=>e.reorderWorkspaces,"404268743695e9bb2522c2739b49209f98a0e6c410",()=>l.getTaskNotes,"4044480c2820912250aa5e72984e1e2006506180c4",()=>h.getConfigValues,"40445148acbf903a1eb13a7785977e49ed766bb8bb",()=>p.fetchRemoteBranches,"40452e0dba5108423aa37849088c015373f47f3ce3",()=>e.getRecentLocalProjects,"4057d86c9b2181ea1eb96dd442732684ee78e67e40",()=>j.checkExtension,"405dda82de054a22fa6f48d7a303a6399f1f1ea165",()=>p.getProjectBranches,"407237551552d0fef859f4e905efcf857d427eb57c",()=>e.getWorkspacesWithRecentTasks,"40744ed3c17602f30e1df64a1ea0d8368af7bd224c",()=>o.openInFileManager,"40895195ba42bfc12573fd373cbcf756a46f76636e",()=>e.getWorkspaceById,"4092d91e17ecc8b9d804fe44cc6ba1c4b30220bd3d",()=>e.createWorkspace,"40a96c0f2c1265c92ce7db1d2ffaed1b249956cd85",()=>e.deleteWorkspace,"40b70f907f0126b0a7496efbbe7db02a0543895d5d",()=>j.uninstallExtension,"40b902fb48f59e2b21b788ad8f305be82d66522b4a",()=>e.deleteProject,"40ba81ca8ff5f9521b2ab7a3f39837cfaa6fa03e1a",()=>e.getOrCreateTowerTaskId,"40bba185dd799bc667b44acc2bed8d17413acbe55c",()=>f.getLabelsForWorkspace,"40bc08544885636f5a33a149f2ca4aa39d638cd7ad",()=>n.getTaskAssets,"40c34bf6c0b511ce7696a224456f1439e308c82cf8",()=>i.checkMigrationSafety,"40d4947da4af538751a36db357c67231410622b977",()=>m.getTaskOverview,"40df13f09c67846d69939bdf708fb29fea1275139b",()=>m.createTask,"40dfc84a5fba82cba2619a1e31a374cc10c50c668a",()=>o.openInTerminal,"40e1e52b41ef557a62975b4e2ce662a0580ce63110",()=>k.setOnboardingProgress,"40e507ab7996f52501a234266979bdbe18a6cf30f6",()=>l.getNoteById,"40e8616e3b7005c14610f22174f55c34af2a3704be",()=>e.getProjectByLocalPath,"40eb2a344429aa574c7aa9c35c50ef2294b7e1f880",()=>l.deleteNote,"40effa36b2c8877c59eaceb39025dce4844df564de",()=>o.openInEditor,"40fddb22bbbfdcde5c0c57a5ab4aea8886d8cebef8",()=>p.getCurrentBranch,"6003c3cecd13125ce0fa7031ae4ba6c79f9da4ea9b",()=>h.getConfigValue,"6011b4bfa9c5cb7d3279cfd103fa3a704c94cb28bb",()=>k.setOnboardingExtensions,"603a47abed710c0d42bb7866767beb055bdc0b79ba",()=>l.updateNote,"604ee5ee09f7ae320b78443e9e39b452bd8ca729e0",()=>k.completeOnboarding,"6065815463614337867c128dc924e70a8aa1f0b278",()=>e.updateProject,"606d63817790733987cad04de74b4c3d41d7065fa1",()=>e.updateWorkspace,"606e1d99b8aa55042e1a9d8517c0e7a639d8ab9da8",()=>h.setConfigValue,"60780b5248de0826b96d55da66341a45449290a472",()=>l.getProjectNotes,"60987e8130a02058bf0c39c68f36f738a09e2b19a5",()=>i.analyzeProjectDirectory,"60df8b59eb56eb5823f81294a8e3a9a67a737d9875",()=>g.globalSearch,"60e86293213deff9b6ad202299a44d1aac6ade5ea5",()=>i.migrateProjectPath]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_0t5xz2y._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(a=>Promise.resolve().then(()=>a(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0wofia_._.js"].map(b=>a.l(b))).then(()=>b(897667)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},662330,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0scj6ed._.js"].map(b=>a.l(b))).then(()=>b(818992)))},200442,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0lozqxc._.js"].map(b=>a.l(b))).then(()=>b(941750)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))},173855,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_open-targets_ts_12a-_~u._.js"].map(b=>a.l(b))).then(()=>b(289288)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))}];
|
|
45
|
+
- Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40c7f324fe557fb80c37a1a32181503a0536257351",null),(0,b.registerServerReference)(j,"60c86ef167fca66c0b566738b7d16ce04945d66ce2",null),(0,b.registerServerReference)(m,"603afc0abc8a99c0d1556130213be4f1900ced3cf3",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},417219,a=>{"use strict";a.i(666680);var b=a.i(902157),c=a.i(750227),d=a.i(319997);a.s(["ensureAssetsDir",0,function(a){let e=function(a){let b=c.join((0,d.getStorageDir)(),"assets",a);if(!b.startsWith((0,d.getStorageDir)()+c.sep))throw Error("Path traversal detected");return b}(a);return b.mkdirSync(e,{recursive:!0}),e}])},97397,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(902157),f=a.i(750227),g=a.i(75681),h=a.i(761469),i=a.i(188139),j=a.i(417219),k=a.i(980999),l=a.i(630048),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,"40692d78f9f9856c4d731d0174d846843529ae4da6",null),(0,d.registerServerReference)(o,"40c0e84099b888ee15c70367c45cfde562ecbaf67f",null),(0,d.registerServerReference)(p,"405bfb0d8c83e6fd1f6fab5f7c1702ad27bee95412",null),(0,d.registerServerReference)(q,"4024c970ae8e22133b65e280b1f6790b6dcc9e8aab",null),(0,d.registerServerReference)(r,"40f8c6447656a06913790e85dc05a691c7aa8c4d5f",null),(0,d.registerServerReference)(s,"40f1890174662fd3e05a8ab2f28cc37679e3f35653",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),835032,a=>{"use strict";async function b(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 c(a,b){await a.$executeRawUnsafe("DELETE FROM notes_fts WHERE note_id = ?",b)}a.s(["deleteNoteFromFts",0,c,"syncNoteToFts",0,b])},392164,a=>{"use strict";var b=a.i(815429),c=a.i(75681),d=a.i(761469),e=a.i(188139),f=a.i(835032),g=a.i(630048);let h=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()}),i=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 j(a){let b=h.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 (0,f.syncNoteToFts)(d.db,{id:c.id,title:c.title,content:c.content}),(0,e.revalidatePath)("/workspace"),c}async function k(a,b){let c=i.parse(b),g=await d.db.projectNote.update({where:{id:a},data:c});return await (0,f.syncNoteToFts)(d.db,{id:g.id,title:g.title,content:g.content}),(0,e.revalidatePath)("/workspace"),g}async function l(a){await (0,f.deleteNoteFromFts)(d.db,a),await d.db.projectNote.delete({where:{id:a}}),(0,e.revalidatePath)("/workspace")}async function m(a){return d.db.projectNote.findUnique({where:{id:a}})}async function n(a,b){return d.db.projectNote.findMany({where:{projectId:a,...b?.category?{category:b.category}:{}},orderBy:[{updatedAt:"desc"},{id:"desc"}],include:{task:{select:{id:!0,title:!0}}}})}async function o(a){return d.db.projectNote.findMany({where:{taskId:a},orderBy:[{updatedAt:"desc"},{id:"desc"}]})}(0,g.ensureServerEntryExports)([j,k,l,m,n,o]),(0,b.registerServerReference)(j,"40359404df2000745963c2ef56b3ebd5920dd11881",null),(0,b.registerServerReference)(k,"60bc7620818cdef3c2044437e2a288b05c2cf29c96",null),(0,b.registerServerReference)(l,"402d235d3cadb13ac7f299a35a91a721ee40b76d4d",null),(0,b.registerServerReference)(m,"40447909230dc07a789f27d886e53db06667104982",null),(0,b.registerServerReference)(n,"60470084914533a1b0571ecba35d1ed99b679b18e8",null),(0,b.registerServerReference)(o,"40b9da4796cde7c3039167d8c9a106bd4eca5494bf",null),a.s(["createNote",0,j,"deleteNote",0,l,"getNoteById",0,m,"getProjectNotes",0,n,"getTaskNotes",0,o,"updateNote",0,k])},196195,a=>{"use strict";var b=a.i(815429),c=a.i(233405),d=a.i(814747),e=a.i(446786);function f(a){return a.startsWith("~/")||"~"===a?d.default.join(e.default.homedir(),a.slice(1)):a}async function g(a){if(!a?.trim())return null;let b=d.default.resolve(f(a));try{return(0,c.execSync)("git rev-parse --abbrev-ref HEAD",{cwd:b,encoding:"utf-8",timeout:5e3}).trim()}catch{return null}}async function h(a){if(!a?.trim())return[];let b=d.default.resolve(f(a));try{let a,d;return a=new Set((0,c.execSync)("git branch --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,""))),d=(0,c.execSync)("git branch -r --format='%(refname:short)'",{cwd:b,encoding:"utf-8",timeout:5e3}).trim().split("\n").filter(Boolean).map(a=>a.replace(/'/g,"").replace(/^origin\//,"")).filter(b=>"HEAD"!==b&&!a.has(b)),[...a,...d]}catch{return[]}}async function i(a){if(!a?.trim())return;let b=d.default.resolve(f(a));try{(0,c.spawn)("git",["fetch","--prune"],{cwd:b,stdio:"ignore",detached:!0}).unref()}catch{}}(0,a.i(630048).ensureServerEntryExports)([g,h,i]),(0,b.registerServerReference)(g,"400954e103ea703bf5fe6e03cc8c3f1a4a7b47a9a1",null),(0,b.registerServerReference)(h,"4005c134080c66bb8cabf390cf0ff11380f0e0b6db",null),(0,b.registerServerReference)(i,"4078d8e4a64f54b301edad3a8747029da86e985d81",null),a.s(["fetchRemoteBranches",0,i,"getCurrentBranch",0,g,"getProjectBranches",0,h])},181207,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634),a.i(392164);var f=a.i(689171),g=a.i(97397);a.i(536960),a.i(196195);var h=b([d,e,f,g]);[d,e,f,g]=h.then?(await h)():h,a.s([]),c()}catch(a){c(a)}},!1),593804,a=>a.a(async(b,c)=>{try{var d=a.i(181207),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=a.i(392164),m=a.i(689171),n=a.i(97397),o=a.i(536960),p=a.i(196195),q=b([d,g,h,m,n]);[d,g,h,m,n]=q.then?(await q)():q,a.s(["003ef32d24bc4b29c342acf4c816cf95fa4fe3f598",()=>h.getActualWsPort,"003f1dfdc13dd3928867e8ca32a72ccaefc2e0573d",()=>k.getOnboardingStatus,"006aab408acb61a0962235f55a3de594983b7dd5bf",()=>j.listAllExtensionStatus,"00fa55ebd9d1d5ceb95043299ea7562fd61ec198c5",()=>e.getWorkspacesWithProjects,"4005c134080c66bb8cabf390cf0ff11380f0e0b6db",()=>p.getProjectBranches,"400954e103ea703bf5fe6e03cc8c3f1a4a7b47a9a1",()=>p.getCurrentBranch,"400e2fda1bae5acb01074e51d080a2be2a77bc34cd",()=>h.getConfigValues,"4012b5a73e0f56276592ab3dffbfb4a5886b44ad1f",()=>h.resolveGitLocalPath,"4020a59af9c321427f702c3c13f21ccd90a0734683",()=>m.createTask,"4024c970ae8e22133b65e280b1f6790b6dcc9e8aab",()=>n.getTaskAssets,"402d235d3cadb13ac7f299a35a91a721ee40b76d4d",()=>l.deleteNote,"4030983d0916967d1b45111b1f8932995e322ac168",()=>f.getLabelsForWorkspace,"40359404df2000745963c2ef56b3ebd5920dd11881",()=>l.createNote,"40447909230dc07a789f27d886e53db06667104982",()=>l.getNoteById,"404c560cd8f5726f68215bdda66da5b48b80ba8dca",()=>o.openInFileManager,"405365149185a3f1aa7bf7b74cf5fd91f66a6c9d5b",()=>e.deleteWorkspace,"4054c3d2ea9f6bcddfa7d33d42dc7ae43c5d3bc071",()=>j.installExtension,"4054f9623c07304a83a2f85e6b3b6fae81dc47f655",()=>e.reorderWorkspaces,"406b7dfd994a538ceb25281cc778f7d604197c144b",()=>e.getWorkspacesWithRecentTasks,"40769e3e7c790732374614ca824e004ce8291d79f2",()=>e.createWorkspace,"4078d8e4a64f54b301edad3a8747029da86e985d81",()=>p.fetchRemoteBranches,"4089bb43b964c3cc5b2848bc729865dee8e56f60a6",()=>k.dispatchTaskCompletionEvent,"4090685fce0a0471d05e033e1bcbffcfbe830ff4de",()=>e.getRecentLocalProjects,"4090dece3eac4df8d9aa55e39136298bd458446dac",()=>f.createLabel,"40ace337192d4dd9a4a7362eab01bc86850fb4a0d8",()=>k.setOnboardingProgress,"40b312e080b33001e97622ba996bad24f8aaf9fe1d",()=>j.checkExtension,"40b4afd819167bb48c681e66a7e9184ef54b187356",()=>j.uninstallExtension,"40b9da4796cde7c3039167d8c9a106bd4eca5494bf",()=>l.getTaskNotes,"40c351fba542acb75c02e058410a9bd51d4bd70586",()=>e.getProjectByLocalPath,"40c7f324fe557fb80c37a1a32181503a0536257351",()=>i.checkMigrationSafety,"40ccc3be5ee2c307201017260aa05492281bf067fb",()=>e.createProject,"40d2dd1b5fc5c81f4ded0113d429d62fa7910ff56d",()=>o.openInTerminal,"40d414be0267c6c046b1363c5df465e642040fea2c",()=>e.getWorkspaceById,"40d6e6cd81118bfc412c65781fe012684d0c03711d",()=>m.getTaskOverview,"40dbb1eb469e90f3055f19af1546fa852e53b8460d",()=>e.deleteProject,"40ecd40642698958b84412a7dd960a70f41dfd5a26",()=>e.getOrCreateTowerTaskId,"40f28d24ba27f24fcda354e690ce301b9209fb8247",()=>o.openInEditor,"40f89aa83057e20a65456875f67e50fe3a99de604e",()=>f.deleteLabel,"6003b9bf4e05e9d923ec7aa8ed47b1d2e8b1806cb7",()=>k.setOnboardingExtensions,"6022565280345647acafc879d6697aabada2ec392f",()=>k.completeOnboarding,"603afc0abc8a99c0d1556130213be4f1900ced3cf3",()=>i.analyzeProjectDirectory,"60470084914533a1b0571ecba35d1ed99b679b18e8",()=>l.getProjectNotes,"605c2fc35fe8ffc8c86eea4b9b750a9ac5c7b745f6",()=>g.globalSearch,"609263c53e73f969487fb3a78f5cad865efcc601e8",()=>e.updateWorkspace,"60bc7620818cdef3c2044437e2a288b05c2cf29c96",()=>l.updateNote,"60c086bb0d6a417695daf1a78de8b35ca7f8183e15",()=>h.setConfigValue,"60c86ef167fca66c0b566738b7d16ce04945d66ce2",()=>i.migrateProjectPath,"60d71d3fa805fa2e9c75423c15e1c97fab192e0bbb",()=>e.updateProject,"60fed8ee888cd0a6a4480474a484ee4fe77a6d9c20",()=>h.getConfigValue]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_0t5xz2y._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(962620)))},507502,a=>{a.v(a=>Promise.resolve().then(()=>a(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0wofia_._.js"].map(b=>a.l(b))).then(()=>b(897667)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},662330,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0scj6ed._.js"].map(b=>a.l(b))).then(()=>b(818992)))},200442,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0lozqxc._.js"].map(b=>a.l(b))).then(()=>b(941750)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))},173855,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_open-targets_ts_12a-_~u._.js"].map(b=>a.l(b))).then(()=>b(289288)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))}];
|
|
46
46
|
|
|
47
47
|
//# sourceMappingURL=%5Broot-of-the-server%5D__093tt4a._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[589578,a=>{a.v({className:"geist_a71539c9-module__T19VSG__className",variable:"geist_a71539c9-module__T19VSG__variable"})},435214,a=>{a.v({className:"geist_mono_8d43a2aa-module__8Li5zG__className",variable:"geist_mono_8d43a2aa-module__8Li5zG__variable"})},655209,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx <module evaluation>","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx <module evaluation>","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx <module evaluation>","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx <module evaluation>","TooltipTrigger")},480581,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx","TooltipTrigger")},570588,a=>{"use strict";a.i(655209);var b=a.i(480581);a.n(b)},58951,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/layout/layout-client.tsx <module evaluation>","LayoutClient")},890170,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/layout/layout-client.tsx","LayoutClient")},910515,a=>{"use strict";a.i(58951);var b=a.i(890170);a.n(b)},878776,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/i18n.tsx <module evaluation>","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/i18n.tsx <module evaluation>","useI18n")},604483,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/i18n.tsx","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/i18n.tsx","useI18n")},796661,a=>{"use strict";a.i(878776);var b=a.i(604483);a.n(b)},314493,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/providers/theme-provider.tsx <module evaluation>","ThemeProvider")},718127,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/providers/theme-provider.tsx","ThemeProvider")},538939,a=>{"use strict";a.i(314493);var b=a.i(718127);a.n(b)},336511,a=>{"use strict";a.s(["ExtensionContext",()=>c,"ExtensionProvider",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ExtensionContext() from the server but ExtensionContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/extensions/context.tsx <module evaluation>","ExtensionContext"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call ExtensionProvider() from the server but ExtensionProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/extensions/context.tsx <module evaluation>","ExtensionProvider")},948109,a=>{"use strict";a.s(["ExtensionContext",()=>c,"ExtensionProvider",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ExtensionContext() from the server but ExtensionContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/extensions/context.tsx","ExtensionContext"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call ExtensionProvider() from the server but ExtensionProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/extensions/context.tsx","ExtensionProvider")},350569,a=>{"use strict";a.i(336511);var b=a.i(948109);a.n(b)},972041,a=>{"use strict";a.s(["ShortcutProvider",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call ShortcutProvider() from the server but ShortcutProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/shortcut-provider.tsx <module evaluation>","ShortcutProvider")},240404,a=>{"use strict";a.s(["ShortcutProvider",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call ShortcutProvider() from the server but ShortcutProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/shortcut-provider.tsx","ShortcutProvider")},187495,a=>{"use strict";a.i(972041);var b=a.i(240404);a.n(b)},125792,a=>{"use strict";a.s(["useShortcut",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call useShortcut() from the server but useShortcut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut.ts <module evaluation>","useShortcut")},320609,a=>{"use strict";a.s(["useShortcut",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call useShortcut() from the server but useShortcut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut.ts","useShortcut")},335260,a=>{"use strict";a.i(125792);var b=a.i(320609);a.n(b)},48119,a=>{"use strict";a.s(["compactKeyList",()=>c,"isMac",()=>d,"renderComboTokens",()=>e,"renderKeys",()=>f,"useShortcutHelp",()=>g]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call compactKeyList() from the server but compactKeyList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","compactKeyList"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call isMac() from the server but isMac is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","isMac"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call renderComboTokens() from the server but renderComboTokens is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","renderComboTokens"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call renderKeys() from the server but renderKeys is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","renderKeys"),g=(0,b.registerClientReference)(function(){throw Error("Attempted to call useShortcutHelp() from the server but useShortcutHelp is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","useShortcutHelp")},994168,a=>{"use strict";a.s(["compactKeyList",()=>c,"isMac",()=>d,"renderComboTokens",()=>e,"renderKeys",()=>f,"useShortcutHelp",()=>g]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call compactKeyList() from the server but compactKeyList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","compactKeyList"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call isMac() from the server but isMac is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","isMac"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call renderComboTokens() from the server but renderComboTokens is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","renderComboTokens"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call renderKeys() from the server but renderKeys is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","renderKeys"),g=(0,b.registerClientReference)(function(){throw Error("Attempted to call useShortcutHelp() from the server but useShortcutHelp is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","useShortcutHelp")},796927,a=>{"use strict";a.i(48119);var b=a.i(994168);a.n(b)},838913,a=>{"use strict";a.s(["useActionShortcut",()=>c,"useResolvedKeys",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call useActionShortcut() from the server but useActionShortcut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-action-shortcut.ts <module evaluation>","useActionShortcut"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useResolvedKeys() from the server but useResolvedKeys is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-action-shortcut.ts <module evaluation>","useResolvedKeys")},448525,a=>{"use strict";a.s(["useActionShortcut",()=>c,"useResolvedKeys",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call useActionShortcut() from the server but useActionShortcut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-action-shortcut.ts","useActionShortcut"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useResolvedKeys() from the server but useResolvedKeys is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-action-shortcut.ts","useResolvedKeys")},218053,a=>{"use strict";a.i(838913);var b=a.i(448525);a.n(b)},396988,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/sonner.tsx <module evaluation>","Toaster")},324257,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/sonner.tsx","Toaster")},767807,a=>{"use strict";a.i(396988);var b=a.i(324257);a.n(b)},827572,a=>{"use strict";var b=a.i(203469),c=a.i(589578);let d={className:c.default.className,style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"}};null!=c.default.variable&&(d.variable=c.default.variable);var e=a.i(435214);let f={className:e.default.className,style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"}};null!=e.default.variable&&(f.variable=e.default.variable);var g=a.i(570588),h=a.i(910515),i=a.i(796661),j=a.i(538939),k=a.i(350569),l=a.i(187495);a.i(335260),a.i(796927);var m=a.i(942372);let n=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},o=a=>{let b=a?n(a):n,c=a=>(function(a,b=a=>a){let c=m.default.useSyncExternalStore(a.subscribe,m.default.useCallback(()=>b(a.getState()),[a,b]),m.default.useCallback(()=>b(a.getInitialState()),[a,b]));return m.default.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},p=a=>a?o(a):o,q="object"==typeof navigator?navigator.platform:"",r=/Mac|iPod|iPhone|iPad/.test(q)?"Meta":"Control",s=0,t=0;p(a=>({entries:new Map,register:b=>{var c;let d=(s+=1,`sc_${s}`);t+=1;let e=Array.isArray(c=b.keys)?[...c]:[c],f={...b,id:d,keys:e,presses:e.map(a=>a.trim().split(" ").map(a=>{let b=a.split(/(?<=\w|\])\+/),c=b.pop(),d=c.match(/^\((.+)\)$/),e=d?RegExp(`^(?:${d[1]})$`,"iv"):c,f=[],g=[];for(let a of b){let b=a.match(/^\[(.*)\]$/),c=b?.[1]??a;c="$mod"===c?r:c,b?g.push(c):f.push(c)}return[f,g,e]})),seq:t};return a(a=>{let b=new Map(a.entries);return b.set(d,f),{entries:b}}),d},unregister:b=>{a(a=>{if(!a.entries.has(b))return a;let c=new Map(a.entries);return c.delete(b),{entries:c}})}}));let u=new Map([{id:"global.search",defaultKeys:["$mod+k"],descriptionKey:"shortcuts.search",group:"global",scope:"global",configurable:!0},{id:"global.commandPalette",defaultKeys:["$mod+p"],descriptionKey:"shortcuts.commandPalette",group:"global",scope:"global",configurable:!0},{id:"global.help",defaultKeys:["$mod+/","?"],descriptionKey:"shortcuts.openHelp",group:"global",scope:"global",configurable:!0},{id:"global.assistant",defaultKeys:["$mod+l"],descriptionKey:"shortcuts.assistant",group:"global",scope:"global",configurable:!0},{id:"global.gotoWorkspace",defaultKeys:["Alt+Digit1","Alt+Digit2","Alt+Digit3","Alt+Digit4","Alt+Digit5","Alt+Digit6","Alt+Digit7","Alt+Digit8","Alt+Digit9"],descriptionKey:"shortcuts.gotoWorkspace",group:"global",scope:"global",configurable:!1,allowInInput:!0},{id:"panels.taskManager",defaultKeys:["$mod+Control+j"],descriptionKey:"shortcuts.panels.taskManager",group:"panels",scope:"global",configurable:!0},{id:"panels.assets",defaultKeys:["$mod+Control+k"],descriptionKey:"shortcuts.panels.assets",group:"panels",scope:"global",configurable:!0},{id:"panels.notes",defaultKeys:["$mod+Control+l"],descriptionKey:"shortcuts.panels.notes",group:"panels",scope:"global",configurable:!0},{id:"panels.archive",defaultKeys:["$mod+Control+;"],descriptionKey:"shortcuts.panels.archive",group:"panels",scope:"global",configurable:!0},{id:"missions.exit",defaultKeys:["Control+;"],descriptionKey:"shortcuts.missions.exitToNav",group:"missions",scope:"missions",configurable:!0,allowInInput:!0},{id:"missions.jump",defaultKeys:["1","2","3","4","5","6","7","8","9"],descriptionKey:"shortcuts.missions.jump",group:"missions",scope:"missions",configurable:!1},{id:"missions.moveSelection",defaultKeys:["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],descriptionKey:"shortcuts.missions.moveSel",group:"missions",scope:"missions",configurable:!1},{id:"missions.cycle",defaultKeys:["Tab"],descriptionKey:"shortcuts.missions.cyclePane",group:"missions",scope:"missions",configurable:!1},{id:"missions.cycleBack",defaultKeys:["Shift+Tab"],descriptionKey:"shortcuts.missions.cyclePane",group:"missions",scope:"missions",configurable:!1},{id:"missions.focus",defaultKeys:["Enter"],descriptionKey:"shortcuts.missions.focusSel",group:"missions",scope:"missions",configurable:!1},{id:"missions.next",defaultKeys:["$mod+]","$mod+ArrowRight"],descriptionKey:"shortcuts.missions.nextPane",group:"missions",scope:"missions",configurable:!0,allowInInput:!0},{id:"missions.prev",defaultKeys:["$mod+[","$mod+ArrowLeft"],descriptionKey:"shortcuts.missions.prevPane",group:"missions",scope:"missions",configurable:!0,allowInInput:!0}].map(a=>[a.id,a]));function v(a){}a.i(218053),p((a,b)=>({overrides:{},setBinding:(b,c)=>a(a=>{let d={...a.overrides,[b]:c};return v(d),{overrides:d}}),resetBinding:b=>a(a=>{if(!(b in a.overrides))return a;let c={...a.overrides};return delete c[b],v(c),{overrides:c}}),resetAll:()=>{v({}),a({overrides:{}})},resolveKeys:a=>b().overrides[a]??[...function(a){let b=u.get(a);if(!b)throw Error(`Unknown shortcut action: ${a}`);return b}(a).defaultKeys]}));var w=a.i(767807),x=a.i(761469),y=a.i(4634),z=a.i(563736);async function A({children:a}){let[c,e,m]=await Promise.all([x.db.workspace.findMany({orderBy:[{order:"asc"},{updatedAt:"desc"}],select:{id:!0,name:!0,description:!0,updatedAt:!0}}),(0,y.getOnboardingStatus)(),(0,z.listAllExtensionStatus)()]);return(0,b.jsxs)("html",{lang:"zh-CN",suppressHydrationWarning:!0,children:[(0,b.jsxs)("head",{children:[(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,b.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@400;500;600&display=swap",rel:"stylesheet"})]}),(0,b.jsx)("body",{className:`${d.variable} ${f.variable} antialiased`,children:(0,b.jsx)(j.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,b.jsx)(g.TooltipProvider,{children:(0,b.jsx)(i.I18nProvider,{children:(0,b.jsx)(l.ShortcutProvider,{children:(0,b.jsxs)(k.ExtensionProvider,{initialStatus:m,children:[(0,b.jsx)(h.LayoutClient,{workspaces:c,isFirstRun:e.isFirstRun,username:e.username,children:a}),(0,b.jsx)(w.Toaster,{richColors:!0,position:"top-right"})]})})})})})})]})}a.s(["default",0,A,"dynamic",0,"force-dynamic","metadata",0,{title:"AI Task Platform - Tower",description:"AI task orchestration and multi-project management platform"},"runtime",0,"nodejs"],827572)},650645,a=>{a.n(a.i(827572))}];
|
|
1
|
+
module.exports=[589578,a=>{a.v({className:"geist_a71539c9-module__T19VSG__className",variable:"geist_a71539c9-module__T19VSG__variable"})},435214,a=>{a.v({className:"geist_mono_8d43a2aa-module__8Li5zG__className",variable:"geist_mono_8d43a2aa-module__8Li5zG__variable"})},655209,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx <module evaluation>","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx <module evaluation>","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx <module evaluation>","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx <module evaluation>","TooltipTrigger")},480581,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/tooltip.tsx","TooltipTrigger")},570588,a=>{"use strict";a.i(655209);var b=a.i(480581);a.n(b)},58951,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/layout/layout-client.tsx <module evaluation>","LayoutClient")},890170,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/layout/layout-client.tsx","LayoutClient")},910515,a=>{"use strict";a.i(58951);var b=a.i(890170);a.n(b)},878776,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/i18n.tsx <module evaluation>","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/i18n.tsx <module evaluation>","useI18n")},604483,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/i18n.tsx","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/i18n.tsx","useI18n")},796661,a=>{"use strict";a.i(878776);var b=a.i(604483);a.n(b)},314493,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/providers/theme-provider.tsx <module evaluation>","ThemeProvider")},718127,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/providers/theme-provider.tsx","ThemeProvider")},538939,a=>{"use strict";a.i(314493);var b=a.i(718127);a.n(b)},336511,a=>{"use strict";a.s(["ExtensionContext",()=>c,"ExtensionProvider",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ExtensionContext() from the server but ExtensionContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/extensions/context.tsx <module evaluation>","ExtensionContext"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call ExtensionProvider() from the server but ExtensionProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/extensions/context.tsx <module evaluation>","ExtensionProvider")},948109,a=>{"use strict";a.s(["ExtensionContext",()=>c,"ExtensionProvider",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ExtensionContext() from the server but ExtensionContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/extensions/context.tsx","ExtensionContext"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call ExtensionProvider() from the server but ExtensionProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/extensions/context.tsx","ExtensionProvider")},350569,a=>{"use strict";a.i(336511);var b=a.i(948109);a.n(b)},972041,a=>{"use strict";a.s(["ShortcutProvider",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call ShortcutProvider() from the server but ShortcutProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/shortcut-provider.tsx <module evaluation>","ShortcutProvider")},240404,a=>{"use strict";a.s(["ShortcutProvider",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call ShortcutProvider() from the server but ShortcutProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/shortcut-provider.tsx","ShortcutProvider")},187495,a=>{"use strict";a.i(972041);var b=a.i(240404);a.n(b)},125792,a=>{"use strict";a.s(["useShortcut",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call useShortcut() from the server but useShortcut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut.ts <module evaluation>","useShortcut")},320609,a=>{"use strict";a.s(["useShortcut",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call useShortcut() from the server but useShortcut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut.ts","useShortcut")},335260,a=>{"use strict";a.i(125792);var b=a.i(320609);a.n(b)},48119,a=>{"use strict";a.s(["compactKeyList",()=>c,"isMac",()=>d,"renderComboTokens",()=>e,"renderKeys",()=>f,"useShortcutHelp",()=>g]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call compactKeyList() from the server but compactKeyList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","compactKeyList"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call isMac() from the server but isMac is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","isMac"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call renderComboTokens() from the server but renderComboTokens is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","renderComboTokens"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call renderKeys() from the server but renderKeys is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","renderKeys"),g=(0,b.registerClientReference)(function(){throw Error("Attempted to call useShortcutHelp() from the server but useShortcutHelp is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts <module evaluation>","useShortcutHelp")},994168,a=>{"use strict";a.s(["compactKeyList",()=>c,"isMac",()=>d,"renderComboTokens",()=>e,"renderKeys",()=>f,"useShortcutHelp",()=>g]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call compactKeyList() from the server but compactKeyList is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","compactKeyList"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call isMac() from the server but isMac is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","isMac"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call renderComboTokens() from the server but renderComboTokens is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","renderComboTokens"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call renderKeys() from the server but renderKeys is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","renderKeys"),g=(0,b.registerClientReference)(function(){throw Error("Attempted to call useShortcutHelp() from the server but useShortcutHelp is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-shortcut-help.ts","useShortcutHelp")},796927,a=>{"use strict";a.i(48119);var b=a.i(994168);a.n(b)},838913,a=>{"use strict";a.s(["useActionShortcut",()=>c,"useResolvedKeys",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call useActionShortcut() from the server but useActionShortcut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-action-shortcut.ts <module evaluation>","useActionShortcut"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useResolvedKeys() from the server but useResolvedKeys is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-action-shortcut.ts <module evaluation>","useResolvedKeys")},448525,a=>{"use strict";a.s(["useActionShortcut",()=>c,"useResolvedKeys",()=>d]);var b=a.i(797225);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call useActionShortcut() from the server but useActionShortcut is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-action-shortcut.ts","useActionShortcut"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useResolvedKeys() from the server but useResolvedKeys is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/lib/shortcuts/use-action-shortcut.ts","useResolvedKeys")},218053,a=>{"use strict";a.i(838913);var b=a.i(448525);a.n(b)},396988,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/sonner.tsx <module evaluation>","Toaster")},324257,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(797225).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/ui/sonner.tsx","Toaster")},767807,a=>{"use strict";a.i(396988);var b=a.i(324257);a.n(b)},827572,a=>{"use strict";var b=a.i(203469),c=a.i(589578);let d={className:c.default.className,style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"}};null!=c.default.variable&&(d.variable=c.default.variable);var e=a.i(435214);let f={className:e.default.className,style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"}};null!=e.default.variable&&(f.variable=e.default.variable);var g=a.i(570588),h=a.i(910515),i=a.i(796661),j=a.i(538939),k=a.i(350569),l=a.i(187495);a.i(335260),a.i(796927);var m=a.i(942372);let n=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},o=a=>{let b=a?n(a):n,c=a=>(function(a,b=a=>a){let c=m.default.useSyncExternalStore(a.subscribe,m.default.useCallback(()=>b(a.getState()),[a,b]),m.default.useCallback(()=>b(a.getInitialState()),[a,b]));return m.default.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},p=a=>a?o(a):o,q="object"==typeof navigator?navigator.platform:"",r=/Mac|iPod|iPhone|iPad/.test(q)?"Meta":"Control",s=0,t=0;p(a=>({entries:new Map,register:b=>{var c;let d=(s+=1,`sc_${s}`);t+=1;let e=Array.isArray(c=b.keys)?[...c]:[c],f={...b,id:d,keys:e,presses:e.map(a=>a.trim().split(" ").map(a=>{let b=a.split(/(?<=\w|\])\+/),c=b.pop(),d=c.match(/^\((.+)\)$/),e=d?RegExp(`^(?:${d[1]})$`,"iv"):c,f=[],g=[];for(let a of b){let b=a.match(/^\[(.*)\]$/),c=b?.[1]??a;c="$mod"===c?r:c,b?g.push(c):f.push(c)}return[f,g,e]})),seq:t};return a(a=>{let b=new Map(a.entries);return b.set(d,f),{entries:b}}),d},unregister:b=>{a(a=>{if(!a.entries.has(b))return a;let c=new Map(a.entries);return c.delete(b),{entries:c}})}}));let u=new Map([{id:"global.search",defaultKeys:["$mod+k"],descriptionKey:"shortcuts.search",group:"global",scope:"global",configurable:!0},{id:"global.commandPalette",defaultKeys:["$mod+p"],descriptionKey:"shortcuts.commandPalette",group:"global",scope:"global",configurable:!0},{id:"global.help",defaultKeys:["$mod+/","?"],descriptionKey:"shortcuts.openHelp",group:"global",scope:"global",configurable:!0},{id:"global.assistant",defaultKeys:["$mod+l"],descriptionKey:"shortcuts.assistant",group:"global",scope:"global",configurable:!0},{id:"global.gotoWorkspace",defaultKeys:["Alt+Digit1","Alt+Digit2","Alt+Digit3","Alt+Digit4","Alt+Digit5","Alt+Digit6","Alt+Digit7","Alt+Digit8","Alt+Digit9"],descriptionKey:"shortcuts.gotoWorkspace",group:"global",scope:"global",configurable:!1,allowInInput:!0},{id:"panels.taskManager",defaultKeys:["$mod+Control+j"],descriptionKey:"shortcuts.panels.taskManager",group:"panels",scope:"global",configurable:!0},{id:"panels.assets",defaultKeys:["$mod+Control+k"],descriptionKey:"shortcuts.panels.assets",group:"panels",scope:"global",configurable:!0},{id:"panels.notes",defaultKeys:["$mod+Control+l"],descriptionKey:"shortcuts.panels.notes",group:"panels",scope:"global",configurable:!0},{id:"panels.archive",defaultKeys:["$mod+Control+;"],descriptionKey:"shortcuts.panels.archive",group:"panels",scope:"global",configurable:!0},{id:"missions.exit",defaultKeys:["Control+;"],descriptionKey:"shortcuts.missions.exitToNav",group:"missions",scope:"missions",configurable:!0,allowInInput:!0},{id:"missions.jump",defaultKeys:["1","2","3","4","5","6","7","8","9"],descriptionKey:"shortcuts.missions.jump",group:"missions",scope:"missions",configurable:!1},{id:"missions.moveSelection",defaultKeys:["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],descriptionKey:"shortcuts.missions.moveSel",group:"missions",scope:"missions",configurable:!1},{id:"missions.cycle",defaultKeys:["Tab"],descriptionKey:"shortcuts.missions.cyclePane",group:"missions",scope:"missions",configurable:!1},{id:"missions.cycleBack",defaultKeys:["Shift+Tab"],descriptionKey:"shortcuts.missions.cyclePane",group:"missions",scope:"missions",configurable:!1},{id:"missions.focus",defaultKeys:["Enter"],descriptionKey:"shortcuts.missions.focusSel",group:"missions",scope:"missions",configurable:!1},{id:"missions.next",defaultKeys:["$mod+ArrowRight"],descriptionKey:"shortcuts.missions.nextPane",group:"missions",scope:"missions",configurable:!0,allowInInput:!0},{id:"missions.prev",defaultKeys:["$mod+ArrowLeft"],descriptionKey:"shortcuts.missions.prevPane",group:"missions",scope:"missions",configurable:!0,allowInInput:!0}].map(a=>[a.id,a]));function v(a){}a.i(218053),p((a,b)=>({overrides:{},setBinding:(b,c)=>a(a=>{let d={...a.overrides,[b]:c};return v(d),{overrides:d}}),resetBinding:b=>a(a=>{if(!(b in a.overrides))return a;let c={...a.overrides};return delete c[b],v(c),{overrides:c}}),resetAll:()=>{v({}),a({overrides:{}})},resolveKeys:a=>b().overrides[a]??[...function(a){let b=u.get(a);if(!b)throw Error(`Unknown shortcut action: ${a}`);return b}(a).defaultKeys]}));var w=a.i(767807),x=a.i(761469),y=a.i(4634),z=a.i(563736);async function A({children:a}){let[c,e,m]=await Promise.all([x.db.workspace.findMany({orderBy:[{order:"asc"},{updatedAt:"desc"}],select:{id:!0,name:!0,description:!0,updatedAt:!0}}),(0,y.getOnboardingStatus)(),(0,z.listAllExtensionStatus)()]);return(0,b.jsxs)("html",{lang:"zh-CN",suppressHydrationWarning:!0,children:[(0,b.jsxs)("head",{children:[(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,b.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@400;500;600&display=swap",rel:"stylesheet"})]}),(0,b.jsx)("body",{className:`${d.variable} ${f.variable} antialiased`,children:(0,b.jsx)(j.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,b.jsx)(g.TooltipProvider,{children:(0,b.jsx)(i.I18nProvider,{children:(0,b.jsx)(l.ShortcutProvider,{children:(0,b.jsxs)(k.ExtensionProvider,{initialStatus:m,children:[(0,b.jsx)(h.LayoutClient,{workspaces:c,isFirstRun:e.isFirstRun,username:e.username,children:a}),(0,b.jsx)(w.Toaster,{richColors:!0,position:"top-right"})]})})})})})})]})}a.s(["default",0,A,"dynamic",0,"force-dynamic","metadata",0,{title:"AI Task Platform - Tower",description:"AI task orchestration and multi-project management platform"},"runtime",0,"nodejs"],827572)},650645,a=>{a.n(a.i(827572))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0bgr0ql._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},264589,a=>{"use strict";let b=(0,a.i(711796).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);a.s(["Package",0,b],264589)},10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},648512,a=>{"use strict";let b=(0,a.i(711796).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],648512)},912868,a=>{"use strict";let b=(0,a.i(711796).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],912868)},786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},747798,a=>{"use strict";let b=(0,a.i(711796).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],747798)},
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},264589,a=>{"use strict";let b=(0,a.i(711796).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);a.s(["Package",0,b],264589)},10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},648512,a=>{"use strict";let b=(0,a.i(711796).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],648512)},912868,a=>{"use strict";let b=(0,a.i(711796).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],912868)},786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},747798,a=>{"use strict";let b=(0,a.i(711796).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],747798)},504571,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("400e2fda1bae5acb01074e51d080a2be2a77bc34cd",b.callServer,void 0,b.findSourceMapURL,"getConfigValues");a.s(["getConfigValues",0,c])},412783,22761,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["Label",0,function({className:a,...d}){return(0,b.jsx)("label",{"data-slot":"label",className:(0,c.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...d})}],412783);let d=(0,a.i(711796).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,d],22761)},269280,a=>{"use strict";let b=(0,a.i(711796).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],269280)},551578,a=>{"use strict";var b=a.i(728778);let c=(0,a.i(711796).default)("milestone",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M12 3v3",key:"1n5kay"}],["path",{d:"M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z",key:"8gz4t4"}]]);var d=a.i(951192);let e=["bg-sky-500/20 text-sky-300 border border-sky-500/30","bg-amber-500/20 text-amber-300 border border-amber-500/30","bg-violet-500/20 text-violet-300 border border-violet-500/30","bg-emerald-500/20 text-emerald-300 border border-emerald-500/30","bg-rose-500/20 text-rose-300 border border-rose-500/30","bg-cyan-500/20 text-cyan-300 border border-cyan-500/30","bg-indigo-500/20 text-indigo-300 border border-indigo-500/30"];function f(a){return e[function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)>>>0;return b}(a)%e.length]}let g={PLANNED:"bg-slate-500/20 text-slate-300 border border-slate-500/30",ACTIVE:"bg-emerald-500/20 text-emerald-300 border border-emerald-500/30",RELEASED:"bg-zinc-500/20 text-zinc-400 border border-zinc-500/30"};a.s(["TaskVersionTag",0,function({number:a,name:d,showName:e=!1,className:f="",title:g}){return(0,b.jsxs)("span",{className:`inline-flex items-center gap-1 rounded-md border border-border bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground ${f}`,title:g??(d?`${a} \xb7 ${d}`:a),children:[(0,b.jsx)(c,{className:"h-2.5 w-2.5 shrink-0"}),(0,b.jsx)("span",{className:"font-mono",children:a}),e&&d?(0,b.jsx)("span",{className:"max-w-[140px] truncate",children:d}):null]})},"VersionStatusBadge",0,function({status:a}){let{t:c}=(0,d.useI18n)();return(0,b.jsx)("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${g[a]}`,children:c(`version.status.${a}`)})},"VersionTypeBadge",0,function({name:a}){let{t:c}=(0,d.useI18n)();return a?(0,b.jsx)("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${f(a)}`,children:a}):(0,b.jsx)("span",{className:"inline-flex items-center rounded-full border border-border bg-muted/40 px-2 py-0.5 text-xs font-medium text-muted-foreground",children:c("version.type.uncategorized")})},"typeBadgeColor",0,f],551578)},617134,754161,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("404c560cd8f5726f68215bdda66da5b48b80ba8dca",b.callServer,void 0,b.findSourceMapURL,"openInFileManager");a.s(["openInFileManager",0,c],617134);let d=(0,b.createServerReference)("40f28d24ba27f24fcda354e690ce301b9209fb8247",b.callServer,void 0,b.findSourceMapURL,"openInEditor");a.s(["openInEditor",0,d],754161)},165614,a=>{"use strict";let b=(0,a.i(711796).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["PlayCircle",0,b],165614)},625892,939859,a=>{"use strict";var b=a.i(711796);let c=(0,b.default)("folder-search",[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]);a.s(["FolderSearch",0,c],625892);let d=(0,b.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);a.s(["Code",0,d],939859)},509405,a=>{"use strict";let b=(0,a.i(711796).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],509405)},207339,a=>{"use strict";let b=(0,a.i(711796).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);a.s(["GitCommitHorizontal",0,b],207339)},394869,a=>{"use strict";let b=(0,a.i(711796).default)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);a.s(["GitCompare",0,b],394869)},945513,(a,b,c)=>{b.exports=a=>{if(!a||"string"!=typeof a||a.match(/^\s+$/))return[];let b=a.split(`
|
|
2
2
|
`);if(0===b.length)return[];let c=[],d=null,e=null,g=0,i=0,j=null,k=a=>{let[b,e]=f(a)??[];d={chunks:[],deletions:0,additions:0,from:b,to:e},c.push(d)},l=()=>{(!d||d.chunks.length)&&k()},m=a=>{if(!e)return;let[b]=e.changes.slice(-1);e.changes.push({type:b.type,[b.type]:!0,ln1:b.ln1,ln2:b.ln2,ln:b.ln,content:a})},n=[[/^diff\s/,k],[/^new file mode (\d+)$/,(a,b)=>{l(),d.new=!0,d.newMode=b[1],d.from="/dev/null"}],[/^deleted file mode (\d+)$/,(a,b)=>{l(),d.deleted=!0,d.oldMode=b[1],d.to="/dev/null"}],[/^old mode (\d+)$/,(a,b)=>{l(),d.oldMode=b[1]}],[/^new mode (\d+)$/,(a,b)=>{l(),d.newMode=b[1]}],[/^index\s[\da-zA-Z]+\.\.[\da-zA-Z]+(\s(\d+))?$/,(a,b)=>{l(),d.index=a.split(" ").slice(1),b[1]&&(d.oldMode=d.newMode=b[1].trim())}],[/^---\s/,a=>{l(),d.from=h(a)}],[/^\+\+\+\s/,a=>{l(),d.to=h(a)}],[/^@@\s+-(\d+),?(\d+)?\s+\+(\d+),?(\d+)?\s@@/,(a,b)=>{d||k(a);let[c,f,h,l]=b.slice(1);g=+c,i=+h,e={content:a,changes:[],oldStart:+c,oldLines:+(f||1),newStart:+h,newLines:+(l||1)},j={oldLines:+(f||1),newLines:+(l||1)},d.chunks.push(e)}],[/^\$/,m]],o=[[/^\$/,m],[/^-/,a=>{e&&(e.changes.push({type:"del",del:!0,ln:g++,content:a}),d.deletions++,j.oldLines--)}],[/^\+/,a=>{e&&(e.changes.push({type:"add",add:!0,ln:i++,content:a}),d.additions++,j.newLines--)}],[/^\s*/,a=>{e?.changes.push({type:"normal",normal:!0,ln1:g++,ln2:i++,content:a}),j.oldLines--,j.newLines--}]],p=a=>{j?(a=>{for(let[b,c]of o){let d=a.match(b);if(d){c(a,d);break}}0===j.oldLines&&0===j.newLines&&(j=null)})(a):(a=>{for(let[b,c]of n){let d=a.match(b);if(d){c(a,d);break}}})(a)};for(let a of b)p(a);return c};let d=/(a|i|w|c|o|1|2)\/.*(?=["']? ["']?(b|i|w|c|o|1|2)\/)|(b|i|w|c|o|1|2)\/.*$/g,e=/^(a|b|i|w|c|o|1|2)\//,f=a=>a?.match(d)?.map(a=>a.replace(e,"").replace(/("|')$/,"")),g=/^\\?['"]|\\?['"]$/g,h=a=>{let b=i(a,"-+").trim();return(b=k(b)).replace(g,"").replace(e,"")},i=(a,b)=>{if(a=m(a),!b&&String.prototype.trimLeft)return a.trimLeft();let c=l(b);return a.replace(RegExp(`^${c}+`),"")},j=/\t.*|\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d(.\d+)?\s(\+|-)\d\d\d\d/,k=a=>{let b=j.exec(a);return b&&(a=a.substring(0,b.index).trim()),a},l=a=>null==a?"\\s":a instanceof RegExp?a.source:`[${m(a).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}]`,m=a=>`${a??""}`},514872,a=>{"use strict";var b=a.i(945513);function c(a){return a.replace(/\r\n/g,"\n")}a.s(["normalizeLF",0,c,"parseUnifiedDiff",0,function(a){return(0,b.default)(c(a))}])},574046,a=>{a.v(b=>Promise.all(["server/chunks/ssr/04y0_streamdown_dist_highlighted-body-OFNGDK62_0dm8t_v.js"].map(b=>a.l(b))).then(()=>b(514138)))},170967,a=>{a.v(b=>Promise.all(["server/chunks/ssr/04y0_streamdown_dist_mermaid-GHXKKRXX_0oxtju0.js"].map(b=>a.l(b))).then(()=>b(729004)))}];
|
|
3
3
|
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0dixwk_._.js.map
|