tower-studio 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/diagnostics/route-bundle-stats.json +40 -40
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/_not-found/page/server-reference-manifest.json +25 -25
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assistant/images/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +13 -13
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +13 -13
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +8 -8
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/missions/page/server-reference-manifest.json +51 -51
- package/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/onboarding/page/server-reference-manifest.json +25 -25
- package/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding.html +1 -1
- package/.next/server/app/onboarding.rsc +15 -15
- package/.next/server/app/onboarding.segments/_full.segment.rsc +15 -15
- package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/_index.segment.rsc +8 -8
- package/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +25 -25
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/page/server-reference-manifest.json +34 -34
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +15 -15
- package/.next/server/app/settings.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +8 -8
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +77 -77
- package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +74 -74
- package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +61 -61
- package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +53 -53
- package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +25 -25
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +58 -58
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/page/server-reference-manifest.json +45 -45
- package/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_05yec2y.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0~33o~m._.js +1 -1
- package/.next/server/chunks/project_f_tower_0n1s3ym._.js +1 -1
- package/.next/server/chunks/project_f_tower_src_11e.cv5._.js +1 -1
- package/.next/server/chunks/ssr/04uy_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_01.s1p0._.js +1 -1
- package/.next/server/chunks/ssr/0y0r_f_tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0n4g3bn._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__06qzctf._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__08meal1._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ffdrwp._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0fwuc5u._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0i4rk9v._.js +3 -3
- package/.next/server/chunks/ssr/{[root-of-the-server]__06japut._.js → [root-of-the-server]__0la.lch._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0nmyvwk._.js +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__0fu82np._.js → [root-of-the-server]__0p~~40h._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0w7gbe7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__11j4k9o._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__13cjs8r._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__13eo85g._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0n6q9zh._.js → project_f_tower_0.k8r5w._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0.txwd8._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0jdkold._.js → project_f_tower_0c6n7oo._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0dfyjgz._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0f0-wva._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0hgtev9._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0xkqjno._.js → project_f_tower_0ifpw8k._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0ivvjwd._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0jy~1uf._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0l6ssf8._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0o5.y1e._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0h79vn0._.js → project_f_tower_0ron~f-._.js} +2 -2
- package/.next/server/chunks/ssr/{project_f_tower_0ghw~2t._.js → project_f_tower_0t0smg9._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0ym-aea._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_src_0yr8rna._.js → project_f_tower_src_0_g15e8._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_src_actions_agent-actions_ts_0.s4~m-._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_actions_file-actions_ts_02i742t._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_onboarding_page_tsx_0_9_yoq._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_settings_page_tsx_0oo06~d._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0jmj1xz._.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +205 -205
- package/.next/static/chunks/{0dlrmobwx~tvz.js → 0-plp~pgpcel9.js} +1 -1
- package/.next/static/chunks/{06hfc~t6~gtz9.js → 0.do_z22ngnjd.js} +1 -1
- package/.next/static/chunks/00atyrg-7i0hj.js +1 -0
- package/.next/static/chunks/{0kyb0fcxzykkx.js → 01mymnegugktp.js} +1 -1
- package/.next/static/chunks/09hs9w6-77im2.js +1 -0
- package/.next/static/chunks/09hxu-k8oyivu.js +1 -0
- package/.next/static/chunks/{0afji0z13kos5.js → 09p7-kr_vidww.js} +2 -2
- package/.next/static/chunks/{006_yes1e~uq-.js → 0c49o.5w_cw8_.js} +1 -1
- package/.next/static/chunks/{0upxmdjt9neoj.js → 0d.3wv6u.2g~6.js} +1 -1
- package/.next/static/chunks/0im8~yii0.2mn.js +1 -0
- package/.next/static/chunks/0kbuf91gryyo2.js +1 -0
- package/.next/static/chunks/0p~3m91-t6p91.js +1 -0
- package/.next/static/chunks/{06xnbktd_jmb4.js → 0qp~1_kfjklfg.js} +1 -1
- package/.next/static/chunks/{10xx474hrm.03.js → 0vs5vey5ni44t.js} +1 -1
- package/.next/static/chunks/15zclhqyib88_.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/bin/tower.mjs +9 -0
- package/package.json +1 -1
- package/scripts/generate-prisma-client.js +2 -17
- package/.next/server/chunks/ssr/[root-of-the-server]__0db_p8v._.js +0 -3
- package/.next/server/chunks/ssr/project_f_tower_03k0qr1._.js +0 -3
- package/.next/static/chunks/03~7u57dwxswo.js +0 -1
- package/.next/static/chunks/054pu3m7e37gx.js +0 -1
- package/.next/static/chunks/05fge.5j9lnpa.js +0 -1
- package/.next/static/chunks/0azbwlqgcxx~9.js +0 -1
- package/.next/static/chunks/0g-rx4evmd.pa.js +0 -1
- package/.next/static/chunks/0sa5eiyws1~n0.js +0 -1
- package/.next/static/chunks/16ow8w3exqm6p.js +0 -1
- /package/.next/static/{qVmkMYUuxwdsiFTnn1wfK → jMxcHfsOSldWKgvAjGnAv}/_buildManifest.js +0 -0
- /package/.next/static/{qVmkMYUuxwdsiFTnn1wfK → jMxcHfsOSldWKgvAjGnAv}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{qVmkMYUuxwdsiFTnn1wfK → jMxcHfsOSldWKgvAjGnAv}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[57726,891903,a=>{"use strict";var b=a.i(65735);a.s(["CheckCircle2",()=>b.default],57726);let c=(0,a.i(302856).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,c],891903)},59711,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],59711)},515205,a=>{"use strict";var b=a.i(858360),c=a.i(759985),d=a.i(448287),e=a.i(59711),f=a.i(161604),g=a.i(986379),h=a.i(14180),i=a.i(584335);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},573219,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(14180),e=a.i(57726),f=a.i(891903),g=a.i(109434),h=a.i(224372),i=a.i(584335),j=a.i(515205),k=a.i(879876);let l=(0,k.createServerReference)("
|
|
1
|
+
module.exports=[57726,891903,a=>{"use strict";var b=a.i(65735);a.s(["CheckCircle2",()=>b.default],57726);let c=(0,a.i(302856).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,c],891903)},59711,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],59711)},515205,a=>{"use strict";var b=a.i(858360),c=a.i(759985),d=a.i(448287),e=a.i(59711),f=a.i(161604),g=a.i(986379),h=a.i(14180),i=a.i(584335);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},573219,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(14180),e=a.i(57726),f=a.i(891903),g=a.i(109434),h=a.i(224372),i=a.i(584335),j=a.i(515205),k=a.i(879876);let l=(0,k.createServerReference)("404e0860b4ac94b0d1f5050116c3c308ee36d55862",k.callServer,void 0,k.findSourceMapURL,"getArchivedTasks");function m(a){return new Date(a).toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function n({priority:a}){return(0,b.jsx)("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${{LOW:"bg-slate-400",MEDIUM:"bg-amber-400",HIGH:"bg-orange-500",CRITICAL:"bg-rose-500"}[a]??"bg-slate-400"}`})}a.s(["ArchivePageClient",0,function({allWorkspaces:a,initialWorkspaceId:k,initialProjectId:o,initialTasks:p}){let q,{t:r}=(0,i.useI18n)(),[s,t]=(0,c.useTransition)(),[u,v]=(0,c.useState)(k),[w,x]=(0,c.useState)(o),[y,z]=(0,c.useState)(p),A=a.find(a=>a.id===u),B=A?.projects??[],C=(0,c.useCallback)(a=>{a?t(async()=>{z(await l(a))}):z([])},[t]);return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsx)(j.SubPageNav,{workspaceId:u}),(0,b.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,b.jsxs)(h.Select,{value:u,onValueChange:b=>b&&(b=>{if(b===u)return;v(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;x(d?.id??null),C(d?.id??null)})(b),children:[(0,b.jsx)(h.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,b.jsx)("span",{className:"truncate",children:A?.name??u})}),(0,b.jsx)(h.SelectContent,{children:a.map(a=>(0,b.jsx)(h.SelectItem,{value:a.id,children:a.name},a.id))})]}),B.length>0&&(0,b.jsxs)(h.Select,{value:w??"",onValueChange:a=>a&&void(a!==w&&(x(a),C(a))),children:[(0,b.jsx)(h.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,b.jsx)("span",{className:"truncate",children:(q=B.find(a=>a.id===w))?q.alias?`${q.name} (${q.alias})`:q.name:""})}),(0,b.jsx)(h.SelectContent,{children:B.map(a=>(0,b.jsxs)(h.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]}),(0,b.jsxs)("span",{className:"ml-auto rounded-full bg-muted px-2.5 py-0.5 text-[11px] text-muted-foreground",children:[y.length," ",r("archive.tasksCount")]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-6 py-4",children:(0,b.jsxs)("div",{className:`relative ${s?"opacity-40 pointer-events-none":""} transition-opacity`,children:[s&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,b.jsx)(g.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===y.length?(0,b.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,b.jsx)(d.Archive,{className:"h-10 w-10 text-muted-foreground/30"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:r("archive.noTasks")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:r("archive.noTasksDesc")})]}):(0,b.jsx)("div",{className:"space-y-2",children:y.map(a=>{let c="DONE"===a.status,d=a.executions[0];return(0,b.jsx)("div",{className:"group rounded-lg border border-border bg-card px-4 py-3 transition-colors hover:border-border/80 hover:bg-accent/30",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"mt-0.5 shrink-0",children:c?(0,b.jsx)(e.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}):(0,b.jsx)(f.XCircle,{className:"h-4 w-4 text-rose-500"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(n,{priority:a.priority}),(0,b.jsx)("span",{className:"truncate text-sm font-medium text-foreground",children:a.title}),(0,b.jsx)("span",{className:`ml-1 shrink-0 rounded-full px-2 py-0.5 text-[10px] font-medium ${c?"bg-emerald-500/10 text-emerald-400 ring-1 ring-emerald-500/20":"bg-rose-500/10 text-rose-400 ring-1 ring-rose-500/20"}`,children:c?r("archive.status.done"):r("archive.status.cancelled")})]}),a.labels.length>0&&(0,b.jsx)("div",{className:"mt-1.5 flex flex-wrap gap-1",children:a.labels.map(a=>(0,b.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-medium",style:{backgroundColor:`${a.label.color}20`,color:a.label.color,outline:`1px solid ${a.label.color}40`},children:a.label.name},a.label.id))}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[11px] text-muted-foreground",children:[(0,b.jsxs)("span",{children:[r("archive.createdAt"),": ",m(a.createdAt)]}),(0,b.jsxs)("span",{children:[c?r("archive.completedAt"):r("archive.cancelledAt"),": ",m(a.updatedAt)]}),d&&(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[r("archive.lastExecution"),":"," ",(0,b.jsx)("span",{className:`rounded px-1 py-0.5 font-mono text-[10px] ${"COMPLETED"===d.status?"bg-emerald-500/10 text-emerald-400":"FAILED"===d.status?"bg-rose-500/10 text-rose-400":"bg-amber-500/10 text-amber-400"}`,children:d.status})]})]})]})]})},a.id)})})]})})]})}],573219)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=project_f_tower_0ivvjwd._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[334427,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),697892,a=>a.a(async(b,c)=>{try{var d=a.i(334427),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=b([d,g,h]);[d,g,h]=k.then?(await k)():k,a.s(["
|
|
1
|
+
module.exports=[334427,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),697892,a=>a.a(async(b,c)=>{try{var d=a.i(334427),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=b([d,g,h]);[d,g,h]=k.then?(await k)():k,a.s(["00c5a0d3b9b146d2731747fe1a416361d4501fba21",()=>h.getActualWsPort,"00f7de3735ec23dbbe02b347b3b27fe3293c72dd51",()=>j.getOnboardingStatus,"4002a489b8ddf18fe0011eb46ac0739ec3e093a5bf",()=>j.dispatchTaskCompletionEvent,"4025e96d25637009a8b378148032220c259e2e209b",()=>e.deleteWorkspace,"405e24a96c3040b977262f38c5e06b74894259e0be",()=>j.completeOnboarding,"406303a55224e2a9384b4ad81ed3a003d67d23c0a5",()=>f.getLabelsForWorkspace,"406d0755627b7578b91d776cec0fe19e1bb6bfc1e3",()=>j.setOnboardingProgress,"407cbea3859811102573ba8273dc5d88a5d811928c",()=>h.resolveGitLocalPath,"40805f406dafafbee2bc2893759657900a249fb949",()=>i.checkMigrationSafety,"40b43304845d2ab1bbfcca9e8a22572005f72fdee2",()=>e.createWorkspace,"40de3b59acefdad3d4c0fe96d99c53f2e3910bc5c4",()=>f.createLabel,"40f2f8dd87569241d7237d8e6d9c1062d583dceda0",()=>f.deleteLabel,"40f9512bdf19e6f9f4f666ec480b5d2a34184f2c20",()=>e.createProject,"60422a3dcf869aca6ad2360fc07fff8f7ad667284c",()=>e.updateWorkspace,"6051c20539a0938b9860bfe0dfe34cf20c41177e85",()=>g.globalSearch,"60580b8893845b30deedffa8257cbf297fee7c5689",()=>h.setConfigValue,"6058bc084dfc8fd7335c86f6b96805b28fbfade91d",()=>h.getConfigValue,"60d8faa80f7dca8aa639744b42cee7f20ac78660cd",()=>i.analyzeProjectDirectory,"60f6737005b46b8cdbcf37d9f3db70c559c509ad1a",()=>i.migrateProjectPath]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__105vrk3._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js"].map(b=>a.l(b))).then(()=>b(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__007tg36._.js"].map(b=>a.l(b))).then(()=>b(396477)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=project_f_tower_0jy~1uf._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[772462,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),301225,a=>a.a(async(b,c)=>{try{var d=a.i(772462),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=b([d,g,h]);[d,g,h]=k.then?(await k)():k,a.s(["
|
|
1
|
+
module.exports=[772462,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),301225,a=>a.a(async(b,c)=>{try{var d=a.i(772462),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=b([d,g,h]);[d,g,h]=k.then?(await k)():k,a.s(["00c5a0d3b9b146d2731747fe1a416361d4501fba21",()=>h.getActualWsPort,"00f7de3735ec23dbbe02b347b3b27fe3293c72dd51",()=>j.getOnboardingStatus,"4002a489b8ddf18fe0011eb46ac0739ec3e093a5bf",()=>j.dispatchTaskCompletionEvent,"4025e96d25637009a8b378148032220c259e2e209b",()=>e.deleteWorkspace,"405e24a96c3040b977262f38c5e06b74894259e0be",()=>j.completeOnboarding,"406303a55224e2a9384b4ad81ed3a003d67d23c0a5",()=>f.getLabelsForWorkspace,"406d0755627b7578b91d776cec0fe19e1bb6bfc1e3",()=>j.setOnboardingProgress,"407cbea3859811102573ba8273dc5d88a5d811928c",()=>h.resolveGitLocalPath,"40805f406dafafbee2bc2893759657900a249fb949",()=>i.checkMigrationSafety,"40b43304845d2ab1bbfcca9e8a22572005f72fdee2",()=>e.createWorkspace,"40de3b59acefdad3d4c0fe96d99c53f2e3910bc5c4",()=>f.createLabel,"40f2f8dd87569241d7237d8e6d9c1062d583dceda0",()=>f.deleteLabel,"40f9512bdf19e6f9f4f666ec480b5d2a34184f2c20",()=>e.createProject,"60422a3dcf869aca6ad2360fc07fff8f7ad667284c",()=>e.updateWorkspace,"6051c20539a0938b9860bfe0dfe34cf20c41177e85",()=>g.globalSearch,"60580b8893845b30deedffa8257cbf297fee7c5689",()=>h.setConfigValue,"6058bc084dfc8fd7335c86f6b96805b28fbfade91d",()=>h.getConfigValue,"60d8faa80f7dca8aa639744b42cee7f20ac78660cd",()=>i.analyzeProjectDirectory,"60f6737005b46b8cdbcf37d9f3db70c559c509ad1a",()=>i.migrateProjectPath]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__012ko5_._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js"].map(b=>a.l(b))).then(()=>b(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__025.0xa._.js"].map(b=>a.l(b))).then(()=>b(396477)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=project_f_tower_0l6ssf8._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[638e3,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),444574,a=>a.a(async(b,c)=>{try{var d=a.i(638e3),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=b([d,g,h]);[d,g,h]=k.then?(await k)():k,a.s(["
|
|
1
|
+
module.exports=[638e3,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),444574,a=>a.a(async(b,c)=>{try{var d=a.i(638e3),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=b([d,g,h]);[d,g,h]=k.then?(await k)():k,a.s(["00c5a0d3b9b146d2731747fe1a416361d4501fba21",()=>h.getActualWsPort,"00f7de3735ec23dbbe02b347b3b27fe3293c72dd51",()=>j.getOnboardingStatus,"4002a489b8ddf18fe0011eb46ac0739ec3e093a5bf",()=>j.dispatchTaskCompletionEvent,"4025e96d25637009a8b378148032220c259e2e209b",()=>e.deleteWorkspace,"405e24a96c3040b977262f38c5e06b74894259e0be",()=>j.completeOnboarding,"406303a55224e2a9384b4ad81ed3a003d67d23c0a5",()=>f.getLabelsForWorkspace,"406d0755627b7578b91d776cec0fe19e1bb6bfc1e3",()=>j.setOnboardingProgress,"407cbea3859811102573ba8273dc5d88a5d811928c",()=>h.resolveGitLocalPath,"40805f406dafafbee2bc2893759657900a249fb949",()=>i.checkMigrationSafety,"40b43304845d2ab1bbfcca9e8a22572005f72fdee2",()=>e.createWorkspace,"40de3b59acefdad3d4c0fe96d99c53f2e3910bc5c4",()=>f.createLabel,"40f2f8dd87569241d7237d8e6d9c1062d583dceda0",()=>f.deleteLabel,"40f9512bdf19e6f9f4f666ec480b5d2a34184f2c20",()=>e.createProject,"60422a3dcf869aca6ad2360fc07fff8f7ad667284c",()=>e.updateWorkspace,"6051c20539a0938b9860bfe0dfe34cf20c41177e85",()=>g.globalSearch,"60580b8893845b30deedffa8257cbf297fee7c5689",()=>h.setConfigValue,"6058bc084dfc8fd7335c86f6b96805b28fbfade91d",()=>h.getConfigValue,"60d8faa80f7dca8aa639744b42cee7f20ac78660cd",()=>i.analyzeProjectDirectory,"60f6737005b46b8cdbcf37d9f3db70c559c509ad1a",()=>i.migrateProjectPath]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__09mr4e7._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js"].map(b=>a.l(b))).then(()=>b(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0xe-o3g._.js"].map(b=>a.l(b))).then(()=>b(396477)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=project_f_tower_0o5.y1e._.js.map
|
package/.next/server/chunks/ssr/{project_f_tower_0h79vn0._.js → project_f_tower_0ron~f-._.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[983869,a=>{"use strict";let b=(0,a.i(302856).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],983869)},105916,418841,a=>{"use strict";let b=(0,a.i(302856).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],105916);var c=a.i(582812);a.s(["AlertTriangle",()=>c.default],418841)},641804,569720,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(506008),e=a.i(354994),f=a.i(418841),g=a.i(983869),h=a.i(302856);let i=(0,h.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"}]]);var j=a.i(410756),k=a.i(468518),l=a.i(48300),m=a.i(857122),n=a.i(246962),o=a.i(584335);a.s(["TaskDiffView",0,function({files:a,totalAdded:h,totalRemoved:p,hasConflicts:q,conflictFiles:r,onCommit:s,hasUncommitted:t}){let{t:u}=(0,o.useI18n)(),[v,w]=(0,c.useState)(new Set),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 flex-shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium text-foreground",children:[a.length," files changed"]}),(0,b.jsxs)("span",{className:"text-green-400 font-mono text-xs",children:["+",h]}),(0,b.jsxs)("span",{className:"text-red-400 font-mono text-xs",children:["-",p]})]}),(0,b.jsx)("div",{className:"flex items-center gap-2",children:t&&s&&(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>y(!0),className:"gap-2",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),u("diff.commit")]})})]}),q&&(0,b.jsxs)("div",{className:"flex flex-col gap-2 border-b border-border bg-amber-500/5 px-4 py-3 flex-shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-amber-400",children:[(0,b.jsx)(f.AlertTriangle,{className:"h-4 w-4 flex-shrink-0"}),(0,b.jsxs)("span",{className:"text-sm font-medium",children:["Merge blocked: ",r.length," conflicting file",1!==r.length?"s":""]})]}),(0,b.jsx)("ul",{className:"ml-6 space-y-1",children:r.map(a=>(0,b.jsx)("li",{className:"text-xs font-mono text-amber-300/80",children:a},a))})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto",children:0===a.length?(0,b.jsx)(k.EmptyState,{icon:g.GitCompare,title:u("diff.noChanges"),className:"h-full"}):(0,b.jsx)("div",{className:"divide-y divide-border",children:a.map(a=>{let c=v.has(a.filename);return(0,b.jsxs)("div",{children:[(0,b.jsxs)(j.Button,{variant:"ghost",type:"button",onClick:()=>{var b;return b=a.filename,void w(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-accent/50 transition-colors rounded-none h-auto",children:[c?(0,b.jsx)(e.ChevronDown,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}):(0,b.jsx)(d.ChevronRight,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"flex-1 truncate text-sm font-mono text-foreground",children:a.filename}),a.isBinary?(0,b.jsx)(l.Badge,{variant:"secondary",className:"text-[10px] bg-muted text-muted-foreground border border-border",children:"Binary"}):(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("span",{className:"text-xs font-mono text-green-400",children:["+",a.added]}),(0,b.jsxs)("span",{className:"text-xs font-mono text-red-400",children:["-",a.removed]})]})]}),c&&a.patch&&(0,b.jsx)("div",{className:"border-t border-border bg-background",children:(0,b.jsx)("pre",{className:"overflow-x-auto p-0 text-xs font-mono leading-5",children:a.patch.split("\n").map((a,c)=>{let d=a.startsWith("+")&&!a.startsWith("+++")?"px-4 block bg-green-500/10 text-green-400":a.startsWith("-")&&!a.startsWith("---")?"px-4 block bg-red-500/10 text-red-400":a.startsWith("@@")?"px-4 block bg-blue-500/10 text-blue-300":"px-4 block text-muted-foreground";return(0,b.jsx)("span",{className:d,children:a||" "},c)})})})]},a.filename)})})}),(0,b.jsx)(m.Dialog,{open:x,onOpenChange:y,children:(0,b.jsxs)(m.DialogContent,{className:"max-w-md",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsx)(m.DialogTitle,{children:u("diff.commitChanges")})}),(0,b.jsx)("div",{className:"flex flex-col gap-3",children:(0,b.jsx)(n.Textarea,{value:z,onChange:a=>A(a.target.value),placeholder:u("diff.commitMessagePlaceholder"),rows:5,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none resize-y min-h-[80px]"})}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"ghost",onClick:()=>y(!1),children:u("common.cancel")}),(0,b.jsx)(j.Button,{onClick:async()=>{if(z.trim()&&s){C(!0);try{await s(z.trim()),A(""),y(!1)}finally{C(!1)}}},disabled:!z.trim()||B,children:B?"...":u("diff.commit")})]})]})})]})}],641804);var p=a.i(448287);let q=(0,h.default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);var r=a.i(109434);a.s(["TaskMergeConfirmDialog",0,function({open:a,onOpenChange:d,taskId:e,taskTitle:f,baseBranch:g,fileCount:h,commitCount:i,commitLog:k=[],onMergeComplete:l}){let n=(0,p.useRouter)(),[o,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=async()=>{s(!0),u(null);try{let a=await fetch(`/api/tasks/${e}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){d(!1),l(),n.refresh();return}let b=await a.json().catch(()=>({error:"Merge failed"}));409===a.status?u(`Merge conflicts detected: ${Array.isArray(b.conflictFiles)?b.conflictFiles.join(", "):"unknown files"}`):u(b.error??"Merge failed")}catch{u("Network error — merge failed")}finally{s(!1)}};return(0,b.jsx)(m.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(m.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsxs)(m.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(q,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,b.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:g})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:h})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:i})]})]}),k.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,b.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:k.map((a,c)=>(0,b.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:a},c))})]}),t&&(0,b.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-400",children:t})})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>d(!1),disabled:o,children:"Cancel"}),(0,b.jsx)(j.Button,{onClick:v,disabled:o,className:"gap-2",children:o?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(r.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],569720)},460143,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);a.s(["ArrowUpFromLine",0,b],460143)},929526,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(61966),e=a.i(354994),f=a.i(410215),g=a.i(858967),h=a.i(109434),i=a.i(857122),j=a.i(410756),k=a.i(620235),l=a.i(246962),m=a.i(584335);a.s(["CreateBranchDialog",0,function({open:a,onOpenChange:n,branches:o,currentBranch:p,localPath:q,onCreated:r,onError:s}){let{t}=(0,m.useI18n)(),[u,v]=(0,c.useState)(""),[w,x]=(0,c.useState)(p),[y,z]=(0,c.useState)(""),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(""),[E,F]=(0,c.useState)(!1);(0,c.useEffect)(()=>{a&&(v(""),x(p),z(""),D(""))},[a,p]);let G=[...new Set(o)].filter(a=>a.toLowerCase().includes(C.toLowerCase())),H=async()=>{if(u.trim()){B(!0);try{let a=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create-branch",path:q,branch:u.trim(),baseBranch:w})});if(a.ok)n(!1),r();else{let b=await a.json();s(b.error||"Unknown error")}}catch{s("Network error")}finally{B(!1)}}};return(0,b.jsx)(i.Dialog,{open:a,onOpenChange:n,children:(0,b.jsxs)(i.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(i.DialogHeader,{children:(0,b.jsx)(i.DialogTitle,{children:t("git.createBranch")})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.branchName")}),(0,b.jsx)(k.Input,{value:u,onChange:a=>v(a.target.value),placeholder:t("git.branchNamePlaceholder"),className:"mt-1.5 font-mono text-xs",onKeyDown:a=>"Enter"===a.key&&H()})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.baseBranch")}),(0,b.jsxs)("div",{className:"relative mt-1.5",children:[(0,b.jsxs)("button",{onClick:()=>F(!E),className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(d.GitBranch,{className:"h-3 w-3 text-emerald-400"}),(0,b.jsx)("span",{className:"font-mono text-xs text-foreground",children:w})]}),(0,b.jsx)(e.ChevronDown,{className:`h-3 w-3 text-muted-foreground transition-transform ${E?"rotate-180":""}`})]}),E&&(0,b.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,b.jsx)("div",{className:"border-b border-border p-1.5",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(f.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,b.jsx)("input",{value:C,onChange:a=>D(a.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,b.jsx)("div",{className:"max-h-40 overflow-auto py-1",children:G.map(a=>(0,b.jsxs)("button",{onClick:()=>{x(a),F(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${a===w?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,b.jsx)(d.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate font-mono text-xs",children:a}),a===w&&(0,b.jsx)(g.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},a))})]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.branchDesc")}),(0,b.jsx)(l.Textarea,{value:y,onChange:a=>z(a.target.value),placeholder:t("git.branchDescPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,b.jsxs)(i.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>n(!1),children:t("common.cancel")}),(0,b.jsxs)(j.Button,{onClick:H,disabled:!u.trim()||A,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[A?(0,b.jsx)(h.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,t("common.create")]})]})]})})}])},820838,a=>{"use strict";async function b(a,c,d={}){let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:c,path:a,...d})});if(!e.ok)throw Error((await e.json()).error||`${c} failed`);return e.json()}a.s(["gitAction",0,b])},838329,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60d61a4cf5383e58053ba61c52b70ed758b0042ac6",b.callServer,void 0,b.findSourceMapURL,"updateProject");a.s(["updateProject",0,c])},765122,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("402101054ddd73b75c36e8b52c2353fca90c5fea95",b.callServer,void 0,b.findSourceMapURL,"continueLatestPtyExecution");a.s(["continueLatestPtyExecution",0,c])},685628,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("408115b355b5d59c800f7bc75d3448a2d563196007",b.callServer,void 0,b.findSourceMapURL,"getTaskExecutions");a.s(["getTaskExecutions",0,c])},169751,163431,194848,536453,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60c351a918c1ee9731291483fb857151355d9f0ca9",b.callServer,void 0,b.findSourceMapURL,"updateTaskStatus");a.s(["updateTaskStatus",0,c],169751);let d=(0,b.createServerReference)("409f21aa0a1353a1c59d722a1686ba8ed31b4ab68c",b.callServer,void 0,b.findSourceMapURL,"checkWorktreeClean");a.s(["checkWorktreeClean",0,d],163431);let e=(0,b.createServerReference)("60840bef26147dd4dff7d39641737796069e39069c",b.callServer,void 0,b.findSourceMapURL,"commitWorktreeChanges");a.s(["commitWorktreeChanges",0,e],194848);let f=(0,a.i(302856).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,f],536453)},272932,a=>{"use strict";let b=(0,a.i(302856).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);a.s(["Lightbulb",0,b],272932)},884284,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(354994),e=a.i(413857),f=a.i(57726),g=a.i(891903),h=a.i(109434),i=a.i(536453),j=a.i(236345),k=a.i(595313),l=a.i(272932);let m=(0,a.i(302856).default)("history",[["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"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);var n=a.i(410756),o=a.i(468518),p=a.i(584335);function q({status:a}){switch(a){case"COMPLETED":return(0,b.jsx)(f.CheckCircle2,{className:"h-4 w-4 text-emerald-400"});case"FAILED":return(0,b.jsx)(g.XCircle,{className:"h-4 w-4 text-red-400"});case"RUNNING":return(0,b.jsx)(h.Loader2,{className:"h-4 w-4 text-blue-400 animate-spin"});default:return(0,b.jsx)(i.Clock,{className:"h-4 w-4 text-neutral-500"})}}a.s(["ExecutionTimeline",0,function({executions:a,onResume:f,onContinueLatest:g}){let{t:h,locale:i}=(0,p.useI18n)(),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null);return 0===a.length?(0,b.jsx)(o.EmptyState,{icon:m,title:h("execution.noHistory")}):(0,b.jsxs)("div",{className:"space-y-2 p-3",children:[(0,b.jsx)("p",{className:"px-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:h("execution.history")}),a.map(c=>{let m=function(a){if(!a)return null;try{return JSON.parse(a)}catch{return null}}(c.gitStats??null),o=function(a,b){if(!a||!b)return"";let c=new Date(b).getTime()-new Date(a).getTime();if(c<0)return"";let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);if(e<60)return`${e}m ${d%60}s`;let f=Math.floor(e/60);return`${f}h ${e%60}m`}(c.startedAt??null,c.endedAt??null),p=r===c.id;return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-background/50 overflow-hidden",children:[(0,b.jsxs)("div",{className:"p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(q,{status:c.status}),(0,b.jsx)("span",{className:`font-medium ${function(a){switch(a){case"COMPLETED":return"text-emerald-400";case"FAILED":return"text-red-400";case"RUNNING":return"text-blue-400";default:return"text-neutral-400"}}(c.status)}`,children:function(a,b){switch(a){case"COMPLETED":return b("execution.success");case"FAILED":return b("execution.failed");case"RUNNING":return b("execution.running");default:return a}}(c.status,h)}),(0,b.jsx)("span",{className:"text-muted-foreground",children:function(a,b="zh"){if(!a)return"";let c=new Date(a),d=Math.floor((new Date().getTime()-c.getTime())/864e5),e="zh"===b?"zh-CN":"en-US",f=c.toLocaleTimeString(e,{hour:"2-digit",minute:"2-digit"});return 0===d?f:1===d?"zh"===b?`昨天 ${f}`:`Yesterday ${f}`:d<7?"zh"===b?`${d}天前 ${f}`:`${d}d ago ${f}`:c.toLocaleDateString(e,{month:"2-digit",day:"2-digit"})+" "+f}(c.startedAt??null,i)}),o&&(0,b.jsxs)("span",{className:"text-muted-foreground/60",children:["(",o,")"]})]}),(0,b.jsx)("p",{className:"mt-1.5 text-sm text-foreground/80 line-clamp-2",children:c.summary||h("execution.noSummary")}),m&&(m.commits||m.filesChanged)&&(0,b.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-[11px] text-muted-foreground font-mono",children:[m.commits?(0,b.jsxs)("span",{children:[m.commits," ",h("execution.commits")]}):null,m.filesChanged?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{children:[m.filesChanged," ",h("execution.files")]})]}):null,m.insertions||m.deletions?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),m.insertions?(0,b.jsxs)("span",{className:"text-emerald-500",children:["+",m.insertions]}):null,m.deletions?(0,b.jsxs)("span",{className:"text-red-400",children:["-",m.deletions]}):null]}):null]}),c.insightNote&&(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsxs)("button",{onClick:()=>u(t===c.id?null:c.id),className:"flex items-center gap-1.5 text-xs text-primary/90 hover:text-primary transition-colors",children:[(0,b.jsx)(l.Lightbulb,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{className:"font-medium",children:[h("execution.insight"),":"]}),(0,b.jsx)("span",{className:"text-foreground/70 truncate max-w-[200px]",children:c.insightNote.title}),t===c.id?(0,b.jsx)(e.ChevronUp,{className:"h-3 w-3"}):(0,b.jsx)(d.ChevronDown,{className:"h-3 w-3"})]}),t===c.id&&(0,b.jsx)("div",{className:"mt-2 rounded-md bg-primary/[0.06] border border-primary/10 p-3 text-xs text-foreground/80 whitespace-pre-wrap",children:c.insightNote.content})]}),(0,b.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[c.sessionId&&f?(0,b.jsxs)(n.Button,{size:"sm",onClick:()=>f(c.sessionId),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(j.PlayCircle,{className:"h-3.5 w-3.5"}),h("execution.resume")]}):!c.sessionId&&"FAILED"===c.status&&c.id===a[0]?.id&&g?(0,b.jsxs)(n.Button,{size:"sm",onClick:g,className:"bg-blue-500/15 text-blue-300 ring-1 ring-blue-500/20 hover:bg-blue-500/25",children:[(0,b.jsx)(k.RotateCcw,{className:"h-3.5 w-3.5"}),h("execution.tryRecover")]}):null,(0,b.jsxs)(n.Button,{variant:"ghost",size:"sm",onClick:()=>s(p?null:c.id),className:"bg-muted text-muted-foreground",children:[p?(0,b.jsx)(e.ChevronUp,{className:"h-3.5 w-3.5"}):(0,b.jsx)(d.ChevronDown,{className:"h-3.5 w-3.5"}),p?h("execution.collapse"):h("execution.details")]})]})]}),p&&(0,b.jsxs)("div",{className:"border-t border-border px-3 pb-3 space-y-3",children:[c.gitLog&&(0,b.jsxs)("div",{className:"mt-3",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:h("execution.gitLog")}),(0,b.jsx)("pre",{className:"rounded-md bg-muted/50 p-2.5 text-xs font-mono text-foreground/70 overflow-x-auto whitespace-pre-wrap",children:c.gitLog.split("\n").slice(0,3).join("\n")})]}),c.terminalLog&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:h("execution.terminalOutput")}),(0,b.jsx)("pre",{className:"rounded-md bg-[#0f1419] p-2.5 text-xs font-mono text-neutral-300 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:c.terminalLog})]}),"FAILED"===c.status&&null!=c.exitCode&&(0,b.jsxs)("p",{className:"text-xs text-red-400/70",children:["Exit code: ",c.exitCode]})]})]},c.id)})]})}],884284)}];
|
|
1
|
+
module.exports=[983869,a=>{"use strict";let b=(0,a.i(302856).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],983869)},105916,418841,a=>{"use strict";let b=(0,a.i(302856).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],105916);var c=a.i(582812);a.s(["AlertTriangle",()=>c.default],418841)},641804,569720,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(506008),e=a.i(354994),f=a.i(418841),g=a.i(983869),h=a.i(302856);let i=(0,h.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"}]]);var j=a.i(410756),k=a.i(468518),l=a.i(48300),m=a.i(857122),n=a.i(246962),o=a.i(584335);a.s(["TaskDiffView",0,function({files:a,totalAdded:h,totalRemoved:p,hasConflicts:q,conflictFiles:r,onCommit:s,hasUncommitted:t}){let{t:u}=(0,o.useI18n)(),[v,w]=(0,c.useState)(new Set),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 flex-shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium text-foreground",children:[a.length," files changed"]}),(0,b.jsxs)("span",{className:"text-green-400 font-mono text-xs",children:["+",h]}),(0,b.jsxs)("span",{className:"text-red-400 font-mono text-xs",children:["-",p]})]}),(0,b.jsx)("div",{className:"flex items-center gap-2",children:t&&s&&(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>y(!0),className:"gap-2",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),u("diff.commit")]})})]}),q&&(0,b.jsxs)("div",{className:"flex flex-col gap-2 border-b border-border bg-amber-500/5 px-4 py-3 flex-shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-amber-400",children:[(0,b.jsx)(f.AlertTriangle,{className:"h-4 w-4 flex-shrink-0"}),(0,b.jsxs)("span",{className:"text-sm font-medium",children:["Merge blocked: ",r.length," conflicting file",1!==r.length?"s":""]})]}),(0,b.jsx)("ul",{className:"ml-6 space-y-1",children:r.map(a=>(0,b.jsx)("li",{className:"text-xs font-mono text-amber-300/80",children:a},a))})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto",children:0===a.length?(0,b.jsx)(k.EmptyState,{icon:g.GitCompare,title:u("diff.noChanges"),className:"h-full"}):(0,b.jsx)("div",{className:"divide-y divide-border",children:a.map(a=>{let c=v.has(a.filename);return(0,b.jsxs)("div",{children:[(0,b.jsxs)(j.Button,{variant:"ghost",type:"button",onClick:()=>{var b;return b=a.filename,void w(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-accent/50 transition-colors rounded-none h-auto",children:[c?(0,b.jsx)(e.ChevronDown,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}):(0,b.jsx)(d.ChevronRight,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"flex-1 truncate text-sm font-mono text-foreground",children:a.filename}),a.isBinary?(0,b.jsx)(l.Badge,{variant:"secondary",className:"text-[10px] bg-muted text-muted-foreground border border-border",children:"Binary"}):(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("span",{className:"text-xs font-mono text-green-400",children:["+",a.added]}),(0,b.jsxs)("span",{className:"text-xs font-mono text-red-400",children:["-",a.removed]})]})]}),c&&a.patch&&(0,b.jsx)("div",{className:"border-t border-border bg-background",children:(0,b.jsx)("pre",{className:"overflow-x-auto p-0 text-xs font-mono leading-5",children:a.patch.split("\n").map((a,c)=>{let d=a.startsWith("+")&&!a.startsWith("+++")?"px-4 block bg-green-500/10 text-green-400":a.startsWith("-")&&!a.startsWith("---")?"px-4 block bg-red-500/10 text-red-400":a.startsWith("@@")?"px-4 block bg-blue-500/10 text-blue-300":"px-4 block text-muted-foreground";return(0,b.jsx)("span",{className:d,children:a||" "},c)})})})]},a.filename)})})}),(0,b.jsx)(m.Dialog,{open:x,onOpenChange:y,children:(0,b.jsxs)(m.DialogContent,{className:"max-w-md",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsx)(m.DialogTitle,{children:u("diff.commitChanges")})}),(0,b.jsx)("div",{className:"flex flex-col gap-3",children:(0,b.jsx)(n.Textarea,{value:z,onChange:a=>A(a.target.value),placeholder:u("diff.commitMessagePlaceholder"),rows:5,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none resize-y min-h-[80px]"})}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"ghost",onClick:()=>y(!1),children:u("common.cancel")}),(0,b.jsx)(j.Button,{onClick:async()=>{if(z.trim()&&s){C(!0);try{await s(z.trim()),A(""),y(!1)}finally{C(!1)}}},disabled:!z.trim()||B,children:B?"...":u("diff.commit")})]})]})})]})}],641804);var p=a.i(448287);let q=(0,h.default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);var r=a.i(109434);a.s(["TaskMergeConfirmDialog",0,function({open:a,onOpenChange:d,taskId:e,taskTitle:f,baseBranch:g,fileCount:h,commitCount:i,commitLog:k=[],onMergeComplete:l}){let n=(0,p.useRouter)(),[o,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=async()=>{s(!0),u(null);try{let a=await fetch(`/api/tasks/${e}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){d(!1),l(),n.refresh();return}let b=await a.json().catch(()=>({error:"Merge failed"}));409===a.status?u(`Merge conflicts detected: ${Array.isArray(b.conflictFiles)?b.conflictFiles.join(", "):"unknown files"}`):u(b.error??"Merge failed")}catch{u("Network error — merge failed")}finally{s(!1)}};return(0,b.jsx)(m.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(m.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsxs)(m.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(q,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,b.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:g})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:h})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:i})]})]}),k.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,b.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:k.map((a,c)=>(0,b.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:a},c))})]}),t&&(0,b.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-400",children:t})})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>d(!1),disabled:o,children:"Cancel"}),(0,b.jsx)(j.Button,{onClick:v,disabled:o,className:"gap-2",children:o?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(r.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],569720)},460143,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);a.s(["ArrowUpFromLine",0,b],460143)},929526,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(61966),e=a.i(354994),f=a.i(410215),g=a.i(858967),h=a.i(109434),i=a.i(857122),j=a.i(410756),k=a.i(620235),l=a.i(246962),m=a.i(584335);a.s(["CreateBranchDialog",0,function({open:a,onOpenChange:n,branches:o,currentBranch:p,localPath:q,onCreated:r,onError:s}){let{t}=(0,m.useI18n)(),[u,v]=(0,c.useState)(""),[w,x]=(0,c.useState)(p),[y,z]=(0,c.useState)(""),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(""),[E,F]=(0,c.useState)(!1);(0,c.useEffect)(()=>{a&&(v(""),x(p),z(""),D(""))},[a,p]);let G=[...new Set(o)].filter(a=>a.toLowerCase().includes(C.toLowerCase())),H=async()=>{if(u.trim()){B(!0);try{let a=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create-branch",path:q,branch:u.trim(),baseBranch:w})});if(a.ok)n(!1),r();else{let b=await a.json();s(b.error||"Unknown error")}}catch{s("Network error")}finally{B(!1)}}};return(0,b.jsx)(i.Dialog,{open:a,onOpenChange:n,children:(0,b.jsxs)(i.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(i.DialogHeader,{children:(0,b.jsx)(i.DialogTitle,{children:t("git.createBranch")})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.branchName")}),(0,b.jsx)(k.Input,{value:u,onChange:a=>v(a.target.value),placeholder:t("git.branchNamePlaceholder"),className:"mt-1.5 font-mono text-xs",onKeyDown:a=>"Enter"===a.key&&H()})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.baseBranch")}),(0,b.jsxs)("div",{className:"relative mt-1.5",children:[(0,b.jsxs)("button",{onClick:()=>F(!E),className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(d.GitBranch,{className:"h-3 w-3 text-emerald-400"}),(0,b.jsx)("span",{className:"font-mono text-xs text-foreground",children:w})]}),(0,b.jsx)(e.ChevronDown,{className:`h-3 w-3 text-muted-foreground transition-transform ${E?"rotate-180":""}`})]}),E&&(0,b.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,b.jsx)("div",{className:"border-b border-border p-1.5",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(f.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,b.jsx)("input",{value:C,onChange:a=>D(a.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,b.jsx)("div",{className:"max-h-40 overflow-auto py-1",children:G.map(a=>(0,b.jsxs)("button",{onClick:()=>{x(a),F(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${a===w?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,b.jsx)(d.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate font-mono text-xs",children:a}),a===w&&(0,b.jsx)(g.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},a))})]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.branchDesc")}),(0,b.jsx)(l.Textarea,{value:y,onChange:a=>z(a.target.value),placeholder:t("git.branchDescPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,b.jsxs)(i.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>n(!1),children:t("common.cancel")}),(0,b.jsxs)(j.Button,{onClick:H,disabled:!u.trim()||A,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[A?(0,b.jsx)(h.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,t("common.create")]})]})]})})}])},820838,a=>{"use strict";async function b(a,c,d={}){let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:c,path:a,...d})});if(!e.ok)throw Error((await e.json()).error||`${c} failed`);return e.json()}a.s(["gitAction",0,b])},801231,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60b8da241b1f9f2d12f9b07df697c5d7cc38d4d2a6",b.callServer,void 0,b.findSourceMapURL,"updateProject");a.s(["updateProject",0,c])},394552,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("4036dc278fce434992e90dd8958b9fa89e1c22580c",b.callServer,void 0,b.findSourceMapURL,"continueLatestPtyExecution");a.s(["continueLatestPtyExecution",0,c])},273489,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("405330cd9709f40037aa83521bdac7044a93b13641",b.callServer,void 0,b.findSourceMapURL,"getTaskExecutions");a.s(["getTaskExecutions",0,c])},432378,112763,719666,536453,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60d8d8ed534f28b32d271c58f8f9f2511c65003bdb",b.callServer,void 0,b.findSourceMapURL,"updateTaskStatus");a.s(["updateTaskStatus",0,c],432378);let d=(0,b.createServerReference)("40ec4f72b679f0487a21d7166d20412c1d3e4f1feb",b.callServer,void 0,b.findSourceMapURL,"checkWorktreeClean");a.s(["checkWorktreeClean",0,d],112763);let e=(0,b.createServerReference)("6030bc338dcedc06ab38184da02f82e242e2e73465",b.callServer,void 0,b.findSourceMapURL,"commitWorktreeChanges");a.s(["commitWorktreeChanges",0,e],719666);let f=(0,a.i(302856).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,f],536453)},272932,a=>{"use strict";let b=(0,a.i(302856).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);a.s(["Lightbulb",0,b],272932)},884284,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(354994),e=a.i(413857),f=a.i(57726),g=a.i(891903),h=a.i(109434),i=a.i(536453),j=a.i(236345),k=a.i(595313),l=a.i(272932);let m=(0,a.i(302856).default)("history",[["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"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);var n=a.i(410756),o=a.i(468518),p=a.i(584335);function q({status:a}){switch(a){case"COMPLETED":return(0,b.jsx)(f.CheckCircle2,{className:"h-4 w-4 text-emerald-400"});case"FAILED":return(0,b.jsx)(g.XCircle,{className:"h-4 w-4 text-red-400"});case"RUNNING":return(0,b.jsx)(h.Loader2,{className:"h-4 w-4 text-blue-400 animate-spin"});default:return(0,b.jsx)(i.Clock,{className:"h-4 w-4 text-neutral-500"})}}a.s(["ExecutionTimeline",0,function({executions:a,onResume:f,onContinueLatest:g}){let{t:h,locale:i}=(0,p.useI18n)(),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null);return 0===a.length?(0,b.jsx)(o.EmptyState,{icon:m,title:h("execution.noHistory")}):(0,b.jsxs)("div",{className:"space-y-2 p-3",children:[(0,b.jsx)("p",{className:"px-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:h("execution.history")}),a.map(c=>{let m=function(a){if(!a)return null;try{return JSON.parse(a)}catch{return null}}(c.gitStats??null),o=function(a,b){if(!a||!b)return"";let c=new Date(b).getTime()-new Date(a).getTime();if(c<0)return"";let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);if(e<60)return`${e}m ${d%60}s`;let f=Math.floor(e/60);return`${f}h ${e%60}m`}(c.startedAt??null,c.endedAt??null),p=r===c.id;return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-background/50 overflow-hidden",children:[(0,b.jsxs)("div",{className:"p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(q,{status:c.status}),(0,b.jsx)("span",{className:`font-medium ${function(a){switch(a){case"COMPLETED":return"text-emerald-400";case"FAILED":return"text-red-400";case"RUNNING":return"text-blue-400";default:return"text-neutral-400"}}(c.status)}`,children:function(a,b){switch(a){case"COMPLETED":return b("execution.success");case"FAILED":return b("execution.failed");case"RUNNING":return b("execution.running");default:return a}}(c.status,h)}),(0,b.jsx)("span",{className:"text-muted-foreground",children:function(a,b="zh"){if(!a)return"";let c=new Date(a),d=Math.floor((new Date().getTime()-c.getTime())/864e5),e="zh"===b?"zh-CN":"en-US",f=c.toLocaleTimeString(e,{hour:"2-digit",minute:"2-digit"});return 0===d?f:1===d?"zh"===b?`昨天 ${f}`:`Yesterday ${f}`:d<7?"zh"===b?`${d}天前 ${f}`:`${d}d ago ${f}`:c.toLocaleDateString(e,{month:"2-digit",day:"2-digit"})+" "+f}(c.startedAt??null,i)}),o&&(0,b.jsxs)("span",{className:"text-muted-foreground/60",children:["(",o,")"]})]}),(0,b.jsx)("p",{className:"mt-1.5 text-sm text-foreground/80 line-clamp-2",children:c.summary||h("execution.noSummary")}),m&&(m.commits||m.filesChanged)&&(0,b.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-[11px] text-muted-foreground font-mono",children:[m.commits?(0,b.jsxs)("span",{children:[m.commits," ",h("execution.commits")]}):null,m.filesChanged?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{children:[m.filesChanged," ",h("execution.files")]})]}):null,m.insertions||m.deletions?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),m.insertions?(0,b.jsxs)("span",{className:"text-emerald-500",children:["+",m.insertions]}):null,m.deletions?(0,b.jsxs)("span",{className:"text-red-400",children:["-",m.deletions]}):null]}):null]}),c.insightNote&&(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsxs)("button",{onClick:()=>u(t===c.id?null:c.id),className:"flex items-center gap-1.5 text-xs text-primary/90 hover:text-primary transition-colors",children:[(0,b.jsx)(l.Lightbulb,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{className:"font-medium",children:[h("execution.insight"),":"]}),(0,b.jsx)("span",{className:"text-foreground/70 truncate max-w-[200px]",children:c.insightNote.title}),t===c.id?(0,b.jsx)(e.ChevronUp,{className:"h-3 w-3"}):(0,b.jsx)(d.ChevronDown,{className:"h-3 w-3"})]}),t===c.id&&(0,b.jsx)("div",{className:"mt-2 rounded-md bg-primary/[0.06] border border-primary/10 p-3 text-xs text-foreground/80 whitespace-pre-wrap",children:c.insightNote.content})]}),(0,b.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[c.sessionId&&f?(0,b.jsxs)(n.Button,{size:"sm",onClick:()=>f(c.sessionId),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(j.PlayCircle,{className:"h-3.5 w-3.5"}),h("execution.resume")]}):!c.sessionId&&"FAILED"===c.status&&c.id===a[0]?.id&&g?(0,b.jsxs)(n.Button,{size:"sm",onClick:g,className:"bg-blue-500/15 text-blue-300 ring-1 ring-blue-500/20 hover:bg-blue-500/25",children:[(0,b.jsx)(k.RotateCcw,{className:"h-3.5 w-3.5"}),h("execution.tryRecover")]}):null,(0,b.jsxs)(n.Button,{variant:"ghost",size:"sm",onClick:()=>s(p?null:c.id),className:"bg-muted text-muted-foreground",children:[p?(0,b.jsx)(e.ChevronUp,{className:"h-3.5 w-3.5"}):(0,b.jsx)(d.ChevronDown,{className:"h-3.5 w-3.5"}),p?h("execution.collapse"):h("execution.details")]})]})]}),p&&(0,b.jsxs)("div",{className:"border-t border-border px-3 pb-3 space-y-3",children:[c.gitLog&&(0,b.jsxs)("div",{className:"mt-3",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:h("execution.gitLog")}),(0,b.jsx)("pre",{className:"rounded-md bg-muted/50 p-2.5 text-xs font-mono text-foreground/70 overflow-x-auto whitespace-pre-wrap",children:c.gitLog.split("\n").slice(0,3).join("\n")})]}),c.terminalLog&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:h("execution.terminalOutput")}),(0,b.jsx)("pre",{className:"rounded-md bg-[#0f1419] p-2.5 text-xs font-mono text-neutral-300 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:c.terminalLog})]}),"FAILED"===c.status&&null!=c.exitCode&&(0,b.jsxs)("p",{className:"text-xs text-red-400/70",children:["Exit code: ",c.exitCode]})]})]},c.id)})]})}],884284)}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=project_f_tower_0ron~f-._.js.map
|
package/.next/server/chunks/ssr/{project_f_tower_0ghw~2t._.js → project_f_tower_0t0smg9._.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[272932,a=>{"use strict";let b=(0,a.i(302856).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);a.s(["Lightbulb",0,b],272932)},838329,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60d61a4cf5383e58053ba61c52b70ed758b0042ac6",b.callServer,void 0,b.findSourceMapURL,"updateProject");a.s(["updateProject",0,c])},929526,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(61966),e=a.i(354994),f=a.i(410215),g=a.i(858967),h=a.i(109434),i=a.i(857122),j=a.i(410756),k=a.i(620235),l=a.i(246962),m=a.i(584335);a.s(["CreateBranchDialog",0,function({open:a,onOpenChange:n,branches:o,currentBranch:p,localPath:q,onCreated:r,onError:s}){let{t}=(0,m.useI18n)(),[u,v]=(0,c.useState)(""),[w,x]=(0,c.useState)(p),[y,z]=(0,c.useState)(""),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(""),[E,F]=(0,c.useState)(!1);(0,c.useEffect)(()=>{a&&(v(""),x(p),z(""),D(""))},[a,p]);let G=[...new Set(o)].filter(a=>a.toLowerCase().includes(C.toLowerCase())),H=async()=>{if(u.trim()){B(!0);try{let a=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create-branch",path:q,branch:u.trim(),baseBranch:w})});if(a.ok)n(!1),r();else{let b=await a.json();s(b.error||"Unknown error")}}catch{s("Network error")}finally{B(!1)}}};return(0,b.jsx)(i.Dialog,{open:a,onOpenChange:n,children:(0,b.jsxs)(i.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(i.DialogHeader,{children:(0,b.jsx)(i.DialogTitle,{children:t("git.createBranch")})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.branchName")}),(0,b.jsx)(k.Input,{value:u,onChange:a=>v(a.target.value),placeholder:t("git.branchNamePlaceholder"),className:"mt-1.5 font-mono text-xs",onKeyDown:a=>"Enter"===a.key&&H()})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.baseBranch")}),(0,b.jsxs)("div",{className:"relative mt-1.5",children:[(0,b.jsxs)("button",{onClick:()=>F(!E),className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(d.GitBranch,{className:"h-3 w-3 text-emerald-400"}),(0,b.jsx)("span",{className:"font-mono text-xs text-foreground",children:w})]}),(0,b.jsx)(e.ChevronDown,{className:`h-3 w-3 text-muted-foreground transition-transform ${E?"rotate-180":""}`})]}),E&&(0,b.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,b.jsx)("div",{className:"border-b border-border p-1.5",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(f.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,b.jsx)("input",{value:C,onChange:a=>D(a.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,b.jsx)("div",{className:"max-h-40 overflow-auto py-1",children:G.map(a=>(0,b.jsxs)("button",{onClick:()=>{x(a),F(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${a===w?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,b.jsx)(d.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate font-mono text-xs",children:a}),a===w&&(0,b.jsx)(g.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},a))})]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.branchDesc")}),(0,b.jsx)(l.Textarea,{value:y,onChange:a=>z(a.target.value),placeholder:t("git.branchDescPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,b.jsxs)(i.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>n(!1),children:t("common.cancel")}),(0,b.jsxs)(j.Button,{onClick:H,disabled:!u.trim()||A,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[A?(0,b.jsx)(h.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,t("common.create")]})]})]})})}])},460143,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);a.s(["ArrowUpFromLine",0,b],460143)},820838,a=>{"use strict";async function b(a,c,d={}){let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:c,path:a,...d})});if(!e.ok)throw Error((await e.json()).error||`${c} failed`);return e.json()}a.s(["gitAction",0,b])},105916,418841,a=>{"use strict";let b=(0,a.i(302856).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],105916);var c=a.i(582812);a.s(["AlertTriangle",()=>c.default],418841)},983869,a=>{"use strict";let b=(0,a.i(302856).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],983869)},641804,569720,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(506008),e=a.i(354994),f=a.i(418841),g=a.i(983869),h=a.i(302856);let i=(0,h.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"}]]);var j=a.i(410756),k=a.i(468518),l=a.i(48300),m=a.i(857122),n=a.i(246962),o=a.i(584335);a.s(["TaskDiffView",0,function({files:a,totalAdded:h,totalRemoved:p,hasConflicts:q,conflictFiles:r,onCommit:s,hasUncommitted:t}){let{t:u}=(0,o.useI18n)(),[v,w]=(0,c.useState)(new Set),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 flex-shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium text-foreground",children:[a.length," files changed"]}),(0,b.jsxs)("span",{className:"text-green-400 font-mono text-xs",children:["+",h]}),(0,b.jsxs)("span",{className:"text-red-400 font-mono text-xs",children:["-",p]})]}),(0,b.jsx)("div",{className:"flex items-center gap-2",children:t&&s&&(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>y(!0),className:"gap-2",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),u("diff.commit")]})})]}),q&&(0,b.jsxs)("div",{className:"flex flex-col gap-2 border-b border-border bg-amber-500/5 px-4 py-3 flex-shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-amber-400",children:[(0,b.jsx)(f.AlertTriangle,{className:"h-4 w-4 flex-shrink-0"}),(0,b.jsxs)("span",{className:"text-sm font-medium",children:["Merge blocked: ",r.length," conflicting file",1!==r.length?"s":""]})]}),(0,b.jsx)("ul",{className:"ml-6 space-y-1",children:r.map(a=>(0,b.jsx)("li",{className:"text-xs font-mono text-amber-300/80",children:a},a))})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto",children:0===a.length?(0,b.jsx)(k.EmptyState,{icon:g.GitCompare,title:u("diff.noChanges"),className:"h-full"}):(0,b.jsx)("div",{className:"divide-y divide-border",children:a.map(a=>{let c=v.has(a.filename);return(0,b.jsxs)("div",{children:[(0,b.jsxs)(j.Button,{variant:"ghost",type:"button",onClick:()=>{var b;return b=a.filename,void w(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-accent/50 transition-colors rounded-none h-auto",children:[c?(0,b.jsx)(e.ChevronDown,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}):(0,b.jsx)(d.ChevronRight,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"flex-1 truncate text-sm font-mono text-foreground",children:a.filename}),a.isBinary?(0,b.jsx)(l.Badge,{variant:"secondary",className:"text-[10px] bg-muted text-muted-foreground border border-border",children:"Binary"}):(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("span",{className:"text-xs font-mono text-green-400",children:["+",a.added]}),(0,b.jsxs)("span",{className:"text-xs font-mono text-red-400",children:["-",a.removed]})]})]}),c&&a.patch&&(0,b.jsx)("div",{className:"border-t border-border bg-background",children:(0,b.jsx)("pre",{className:"overflow-x-auto p-0 text-xs font-mono leading-5",children:a.patch.split("\n").map((a,c)=>{let d=a.startsWith("+")&&!a.startsWith("+++")?"px-4 block bg-green-500/10 text-green-400":a.startsWith("-")&&!a.startsWith("---")?"px-4 block bg-red-500/10 text-red-400":a.startsWith("@@")?"px-4 block bg-blue-500/10 text-blue-300":"px-4 block text-muted-foreground";return(0,b.jsx)("span",{className:d,children:a||" "},c)})})})]},a.filename)})})}),(0,b.jsx)(m.Dialog,{open:x,onOpenChange:y,children:(0,b.jsxs)(m.DialogContent,{className:"max-w-md",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsx)(m.DialogTitle,{children:u("diff.commitChanges")})}),(0,b.jsx)("div",{className:"flex flex-col gap-3",children:(0,b.jsx)(n.Textarea,{value:z,onChange:a=>A(a.target.value),placeholder:u("diff.commitMessagePlaceholder"),rows:5,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none resize-y min-h-[80px]"})}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"ghost",onClick:()=>y(!1),children:u("common.cancel")}),(0,b.jsx)(j.Button,{onClick:async()=>{if(z.trim()&&s){C(!0);try{await s(z.trim()),A(""),y(!1)}finally{C(!1)}}},disabled:!z.trim()||B,children:B?"...":u("diff.commit")})]})]})})]})}],641804);var p=a.i(448287);let q=(0,h.default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);var r=a.i(109434);a.s(["TaskMergeConfirmDialog",0,function({open:a,onOpenChange:d,taskId:e,taskTitle:f,baseBranch:g,fileCount:h,commitCount:i,commitLog:k=[],onMergeComplete:l}){let n=(0,p.useRouter)(),[o,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=async()=>{s(!0),u(null);try{let a=await fetch(`/api/tasks/${e}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){d(!1),l(),n.refresh();return}let b=await a.json().catch(()=>({error:"Merge failed"}));409===a.status?u(`Merge conflicts detected: ${Array.isArray(b.conflictFiles)?b.conflictFiles.join(", "):"unknown files"}`):u(b.error??"Merge failed")}catch{u("Network error — merge failed")}finally{s(!1)}};return(0,b.jsx)(m.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(m.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsxs)(m.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(q,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,b.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:g})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:h})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:i})]})]}),k.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,b.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:k.map((a,c)=>(0,b.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:a},c))})]}),t&&(0,b.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-400",children:t})})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>d(!1),disabled:o,children:"Cancel"}),(0,b.jsx)(j.Button,{onClick:v,disabled:o,className:"gap-2",children:o?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(r.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],569720)},685628,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("408115b355b5d59c800f7bc75d3448a2d563196007",b.callServer,void 0,b.findSourceMapURL,"getTaskExecutions");a.s(["getTaskExecutions",0,c])},765122,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("402101054ddd73b75c36e8b52c2353fca90c5fea95",b.callServer,void 0,b.findSourceMapURL,"continueLatestPtyExecution");a.s(["continueLatestPtyExecution",0,c])},169751,163431,194848,536453,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60c351a918c1ee9731291483fb857151355d9f0ca9",b.callServer,void 0,b.findSourceMapURL,"updateTaskStatus");a.s(["updateTaskStatus",0,c],169751);let d=(0,b.createServerReference)("409f21aa0a1353a1c59d722a1686ba8ed31b4ab68c",b.callServer,void 0,b.findSourceMapURL,"checkWorktreeClean");a.s(["checkWorktreeClean",0,d],163431);let e=(0,b.createServerReference)("60840bef26147dd4dff7d39641737796069e39069c",b.callServer,void 0,b.findSourceMapURL,"commitWorktreeChanges");a.s(["commitWorktreeChanges",0,e],194848);let f=(0,a.i(302856).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,f],536453)},884284,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(354994),e=a.i(413857),f=a.i(57726),g=a.i(891903),h=a.i(109434),i=a.i(536453),j=a.i(236345),k=a.i(595313),l=a.i(272932);let m=(0,a.i(302856).default)("history",[["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"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);var n=a.i(410756),o=a.i(468518),p=a.i(584335);function q({status:a}){switch(a){case"COMPLETED":return(0,b.jsx)(f.CheckCircle2,{className:"h-4 w-4 text-emerald-400"});case"FAILED":return(0,b.jsx)(g.XCircle,{className:"h-4 w-4 text-red-400"});case"RUNNING":return(0,b.jsx)(h.Loader2,{className:"h-4 w-4 text-blue-400 animate-spin"});default:return(0,b.jsx)(i.Clock,{className:"h-4 w-4 text-neutral-500"})}}a.s(["ExecutionTimeline",0,function({executions:a,onResume:f,onContinueLatest:g}){let{t:h,locale:i}=(0,p.useI18n)(),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null);return 0===a.length?(0,b.jsx)(o.EmptyState,{icon:m,title:h("execution.noHistory")}):(0,b.jsxs)("div",{className:"space-y-2 p-3",children:[(0,b.jsx)("p",{className:"px-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:h("execution.history")}),a.map(c=>{let m=function(a){if(!a)return null;try{return JSON.parse(a)}catch{return null}}(c.gitStats??null),o=function(a,b){if(!a||!b)return"";let c=new Date(b).getTime()-new Date(a).getTime();if(c<0)return"";let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);if(e<60)return`${e}m ${d%60}s`;let f=Math.floor(e/60);return`${f}h ${e%60}m`}(c.startedAt??null,c.endedAt??null),p=r===c.id;return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-background/50 overflow-hidden",children:[(0,b.jsxs)("div",{className:"p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(q,{status:c.status}),(0,b.jsx)("span",{className:`font-medium ${function(a){switch(a){case"COMPLETED":return"text-emerald-400";case"FAILED":return"text-red-400";case"RUNNING":return"text-blue-400";default:return"text-neutral-400"}}(c.status)}`,children:function(a,b){switch(a){case"COMPLETED":return b("execution.success");case"FAILED":return b("execution.failed");case"RUNNING":return b("execution.running");default:return a}}(c.status,h)}),(0,b.jsx)("span",{className:"text-muted-foreground",children:function(a,b="zh"){if(!a)return"";let c=new Date(a),d=Math.floor((new Date().getTime()-c.getTime())/864e5),e="zh"===b?"zh-CN":"en-US",f=c.toLocaleTimeString(e,{hour:"2-digit",minute:"2-digit"});return 0===d?f:1===d?"zh"===b?`昨天 ${f}`:`Yesterday ${f}`:d<7?"zh"===b?`${d}天前 ${f}`:`${d}d ago ${f}`:c.toLocaleDateString(e,{month:"2-digit",day:"2-digit"})+" "+f}(c.startedAt??null,i)}),o&&(0,b.jsxs)("span",{className:"text-muted-foreground/60",children:["(",o,")"]})]}),(0,b.jsx)("p",{className:"mt-1.5 text-sm text-foreground/80 line-clamp-2",children:c.summary||h("execution.noSummary")}),m&&(m.commits||m.filesChanged)&&(0,b.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-[11px] text-muted-foreground font-mono",children:[m.commits?(0,b.jsxs)("span",{children:[m.commits," ",h("execution.commits")]}):null,m.filesChanged?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{children:[m.filesChanged," ",h("execution.files")]})]}):null,m.insertions||m.deletions?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),m.insertions?(0,b.jsxs)("span",{className:"text-emerald-500",children:["+",m.insertions]}):null,m.deletions?(0,b.jsxs)("span",{className:"text-red-400",children:["-",m.deletions]}):null]}):null]}),c.insightNote&&(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsxs)("button",{onClick:()=>u(t===c.id?null:c.id),className:"flex items-center gap-1.5 text-xs text-primary/90 hover:text-primary transition-colors",children:[(0,b.jsx)(l.Lightbulb,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{className:"font-medium",children:[h("execution.insight"),":"]}),(0,b.jsx)("span",{className:"text-foreground/70 truncate max-w-[200px]",children:c.insightNote.title}),t===c.id?(0,b.jsx)(e.ChevronUp,{className:"h-3 w-3"}):(0,b.jsx)(d.ChevronDown,{className:"h-3 w-3"})]}),t===c.id&&(0,b.jsx)("div",{className:"mt-2 rounded-md bg-primary/[0.06] border border-primary/10 p-3 text-xs text-foreground/80 whitespace-pre-wrap",children:c.insightNote.content})]}),(0,b.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[c.sessionId&&f?(0,b.jsxs)(n.Button,{size:"sm",onClick:()=>f(c.sessionId),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(j.PlayCircle,{className:"h-3.5 w-3.5"}),h("execution.resume")]}):!c.sessionId&&"FAILED"===c.status&&c.id===a[0]?.id&&g?(0,b.jsxs)(n.Button,{size:"sm",onClick:g,className:"bg-blue-500/15 text-blue-300 ring-1 ring-blue-500/20 hover:bg-blue-500/25",children:[(0,b.jsx)(k.RotateCcw,{className:"h-3.5 w-3.5"}),h("execution.tryRecover")]}):null,(0,b.jsxs)(n.Button,{variant:"ghost",size:"sm",onClick:()=>s(p?null:c.id),className:"bg-muted text-muted-foreground",children:[p?(0,b.jsx)(e.ChevronUp,{className:"h-3.5 w-3.5"}):(0,b.jsx)(d.ChevronDown,{className:"h-3.5 w-3.5"}),p?h("execution.collapse"):h("execution.details")]})]})]}),p&&(0,b.jsxs)("div",{className:"border-t border-border px-3 pb-3 space-y-3",children:[c.gitLog&&(0,b.jsxs)("div",{className:"mt-3",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:h("execution.gitLog")}),(0,b.jsx)("pre",{className:"rounded-md bg-muted/50 p-2.5 text-xs font-mono text-foreground/70 overflow-x-auto whitespace-pre-wrap",children:c.gitLog.split("\n").slice(0,3).join("\n")})]}),c.terminalLog&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:h("execution.terminalOutput")}),(0,b.jsx)("pre",{className:"rounded-md bg-[#0f1419] p-2.5 text-xs font-mono text-neutral-300 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:c.terminalLog})]}),"FAILED"===c.status&&null!=c.exitCode&&(0,b.jsxs)("p",{className:"text-xs text-red-400/70",children:["Exit code: ",c.exitCode]})]})]},c.id)})]})}],884284)}];
|
|
1
|
+
module.exports=[272932,a=>{"use strict";let b=(0,a.i(302856).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);a.s(["Lightbulb",0,b],272932)},801231,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60b8da241b1f9f2d12f9b07df697c5d7cc38d4d2a6",b.callServer,void 0,b.findSourceMapURL,"updateProject");a.s(["updateProject",0,c])},929526,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(61966),e=a.i(354994),f=a.i(410215),g=a.i(858967),h=a.i(109434),i=a.i(857122),j=a.i(410756),k=a.i(620235),l=a.i(246962),m=a.i(584335);a.s(["CreateBranchDialog",0,function({open:a,onOpenChange:n,branches:o,currentBranch:p,localPath:q,onCreated:r,onError:s}){let{t}=(0,m.useI18n)(),[u,v]=(0,c.useState)(""),[w,x]=(0,c.useState)(p),[y,z]=(0,c.useState)(""),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(""),[E,F]=(0,c.useState)(!1);(0,c.useEffect)(()=>{a&&(v(""),x(p),z(""),D(""))},[a,p]);let G=[...new Set(o)].filter(a=>a.toLowerCase().includes(C.toLowerCase())),H=async()=>{if(u.trim()){B(!0);try{let a=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create-branch",path:q,branch:u.trim(),baseBranch:w})});if(a.ok)n(!1),r();else{let b=await a.json();s(b.error||"Unknown error")}}catch{s("Network error")}finally{B(!1)}}};return(0,b.jsx)(i.Dialog,{open:a,onOpenChange:n,children:(0,b.jsxs)(i.DialogContent,{className:"sm:max-w-sm",children:[(0,b.jsx)(i.DialogHeader,{children:(0,b.jsx)(i.DialogTitle,{children:t("git.createBranch")})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.branchName")}),(0,b.jsx)(k.Input,{value:u,onChange:a=>v(a.target.value),placeholder:t("git.branchNamePlaceholder"),className:"mt-1.5 font-mono text-xs",onKeyDown:a=>"Enter"===a.key&&H()})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.baseBranch")}),(0,b.jsxs)("div",{className:"relative mt-1.5",children:[(0,b.jsxs)("button",{onClick:()=>F(!E),className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(d.GitBranch,{className:"h-3 w-3 text-emerald-400"}),(0,b.jsx)("span",{className:"font-mono text-xs text-foreground",children:w})]}),(0,b.jsx)(e.ChevronDown,{className:`h-3 w-3 text-muted-foreground transition-transform ${E?"rotate-180":""}`})]}),E&&(0,b.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,b.jsx)("div",{className:"border-b border-border p-1.5",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(f.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,b.jsx)("input",{value:C,onChange:a=>D(a.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,b.jsx)("div",{className:"max-h-40 overflow-auto py-1",children:G.map(a=>(0,b.jsxs)("button",{onClick:()=>{x(a),F(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${a===w?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,b.jsx)(d.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate font-mono text-xs",children:a}),a===w&&(0,b.jsx)(g.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},a))})]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t("git.branchDesc")}),(0,b.jsx)(l.Textarea,{value:y,onChange:a=>z(a.target.value),placeholder:t("git.branchDescPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,b.jsxs)(i.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>n(!1),children:t("common.cancel")}),(0,b.jsxs)(j.Button,{onClick:H,disabled:!u.trim()||A,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[A?(0,b.jsx)(h.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,t("common.create")]})]})]})})}])},460143,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);a.s(["ArrowUpFromLine",0,b],460143)},820838,a=>{"use strict";async function b(a,c,d={}){let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:c,path:a,...d})});if(!e.ok)throw Error((await e.json()).error||`${c} failed`);return e.json()}a.s(["gitAction",0,b])},105916,418841,a=>{"use strict";let b=(0,a.i(302856).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],105916);var c=a.i(582812);a.s(["AlertTriangle",()=>c.default],418841)},983869,a=>{"use strict";let b=(0,a.i(302856).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],983869)},641804,569720,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(506008),e=a.i(354994),f=a.i(418841),g=a.i(983869),h=a.i(302856);let i=(0,h.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"}]]);var j=a.i(410756),k=a.i(468518),l=a.i(48300),m=a.i(857122),n=a.i(246962),o=a.i(584335);a.s(["TaskDiffView",0,function({files:a,totalAdded:h,totalRemoved:p,hasConflicts:q,conflictFiles:r,onCommit:s,hasUncommitted:t}){let{t:u}=(0,o.useI18n)(),[v,w]=(0,c.useState)(new Set),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 flex-shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[(0,b.jsxs)("span",{className:"font-medium text-foreground",children:[a.length," files changed"]}),(0,b.jsxs)("span",{className:"text-green-400 font-mono text-xs",children:["+",h]}),(0,b.jsxs)("span",{className:"text-red-400 font-mono text-xs",children:["-",p]})]}),(0,b.jsx)("div",{className:"flex items-center gap-2",children:t&&s&&(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>y(!0),className:"gap-2",children:[(0,b.jsx)(i,{className:"h-4 w-4"}),u("diff.commit")]})})]}),q&&(0,b.jsxs)("div",{className:"flex flex-col gap-2 border-b border-border bg-amber-500/5 px-4 py-3 flex-shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-amber-400",children:[(0,b.jsx)(f.AlertTriangle,{className:"h-4 w-4 flex-shrink-0"}),(0,b.jsxs)("span",{className:"text-sm font-medium",children:["Merge blocked: ",r.length," conflicting file",1!==r.length?"s":""]})]}),(0,b.jsx)("ul",{className:"ml-6 space-y-1",children:r.map(a=>(0,b.jsx)("li",{className:"text-xs font-mono text-amber-300/80",children:a},a))})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto",children:0===a.length?(0,b.jsx)(k.EmptyState,{icon:g.GitCompare,title:u("diff.noChanges"),className:"h-full"}):(0,b.jsx)("div",{className:"divide-y divide-border",children:a.map(a=>{let c=v.has(a.filename);return(0,b.jsxs)("div",{children:[(0,b.jsxs)(j.Button,{variant:"ghost",type:"button",onClick:()=>{var b;return b=a.filename,void w(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-accent/50 transition-colors rounded-none h-auto",children:[c?(0,b.jsx)(e.ChevronDown,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}):(0,b.jsx)(d.ChevronRight,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"flex-1 truncate text-sm font-mono text-foreground",children:a.filename}),a.isBinary?(0,b.jsx)(l.Badge,{variant:"secondary",className:"text-[10px] bg-muted text-muted-foreground border border-border",children:"Binary"}):(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("span",{className:"text-xs font-mono text-green-400",children:["+",a.added]}),(0,b.jsxs)("span",{className:"text-xs font-mono text-red-400",children:["-",a.removed]})]})]}),c&&a.patch&&(0,b.jsx)("div",{className:"border-t border-border bg-background",children:(0,b.jsx)("pre",{className:"overflow-x-auto p-0 text-xs font-mono leading-5",children:a.patch.split("\n").map((a,c)=>{let d=a.startsWith("+")&&!a.startsWith("+++")?"px-4 block bg-green-500/10 text-green-400":a.startsWith("-")&&!a.startsWith("---")?"px-4 block bg-red-500/10 text-red-400":a.startsWith("@@")?"px-4 block bg-blue-500/10 text-blue-300":"px-4 block text-muted-foreground";return(0,b.jsx)("span",{className:d,children:a||" "},c)})})})]},a.filename)})})}),(0,b.jsx)(m.Dialog,{open:x,onOpenChange:y,children:(0,b.jsxs)(m.DialogContent,{className:"max-w-md",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsx)(m.DialogTitle,{children:u("diff.commitChanges")})}),(0,b.jsx)("div",{className:"flex flex-col gap-3",children:(0,b.jsx)(n.Textarea,{value:z,onChange:a=>A(a.target.value),placeholder:u("diff.commitMessagePlaceholder"),rows:5,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none resize-y min-h-[80px]"})}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"ghost",onClick:()=>y(!1),children:u("common.cancel")}),(0,b.jsx)(j.Button,{onClick:async()=>{if(z.trim()&&s){C(!0);try{await s(z.trim()),A(""),y(!1)}finally{C(!1)}}},disabled:!z.trim()||B,children:B?"...":u("diff.commit")})]})]})})]})}],641804);var p=a.i(448287);let q=(0,h.default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);var r=a.i(109434);a.s(["TaskMergeConfirmDialog",0,function({open:a,onOpenChange:d,taskId:e,taskTitle:f,baseBranch:g,fileCount:h,commitCount:i,commitLog:k=[],onMergeComplete:l}){let n=(0,p.useRouter)(),[o,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=async()=>{s(!0),u(null);try{let a=await fetch(`/api/tasks/${e}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){d(!1),l(),n.refresh();return}let b=await a.json().catch(()=>({error:"Merge failed"}));409===a.status?u(`Merge conflicts detected: ${Array.isArray(b.conflictFiles)?b.conflictFiles.join(", "):"unknown files"}`):u(b.error??"Merge failed")}catch{u("Network error — merge failed")}finally{s(!1)}};return(0,b.jsx)(m.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(m.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,b.jsx)(m.DialogHeader,{children:(0,b.jsxs)(m.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(q,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,b.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:g})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:h})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:i})]})]}),k.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,b.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:k.map((a,c)=>(0,b.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:a},c))})]}),t&&(0,b.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-400",children:t})})]}),(0,b.jsxs)(m.DialogFooter,{children:[(0,b.jsx)(j.Button,{variant:"outline",onClick:()=>d(!1),disabled:o,children:"Cancel"}),(0,b.jsx)(j.Button,{onClick:v,disabled:o,className:"gap-2",children:o?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(r.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(q,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],569720)},273489,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("405330cd9709f40037aa83521bdac7044a93b13641",b.callServer,void 0,b.findSourceMapURL,"getTaskExecutions");a.s(["getTaskExecutions",0,c])},394552,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("4036dc278fce434992e90dd8958b9fa89e1c22580c",b.callServer,void 0,b.findSourceMapURL,"continueLatestPtyExecution");a.s(["continueLatestPtyExecution",0,c])},432378,112763,719666,536453,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("60d8d8ed534f28b32d271c58f8f9f2511c65003bdb",b.callServer,void 0,b.findSourceMapURL,"updateTaskStatus");a.s(["updateTaskStatus",0,c],432378);let d=(0,b.createServerReference)("40ec4f72b679f0487a21d7166d20412c1d3e4f1feb",b.callServer,void 0,b.findSourceMapURL,"checkWorktreeClean");a.s(["checkWorktreeClean",0,d],112763);let e=(0,b.createServerReference)("6030bc338dcedc06ab38184da02f82e242e2e73465",b.callServer,void 0,b.findSourceMapURL,"commitWorktreeChanges");a.s(["commitWorktreeChanges",0,e],719666);let f=(0,a.i(302856).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,f],536453)},884284,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(354994),e=a.i(413857),f=a.i(57726),g=a.i(891903),h=a.i(109434),i=a.i(536453),j=a.i(236345),k=a.i(595313),l=a.i(272932);let m=(0,a.i(302856).default)("history",[["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"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);var n=a.i(410756),o=a.i(468518),p=a.i(584335);function q({status:a}){switch(a){case"COMPLETED":return(0,b.jsx)(f.CheckCircle2,{className:"h-4 w-4 text-emerald-400"});case"FAILED":return(0,b.jsx)(g.XCircle,{className:"h-4 w-4 text-red-400"});case"RUNNING":return(0,b.jsx)(h.Loader2,{className:"h-4 w-4 text-blue-400 animate-spin"});default:return(0,b.jsx)(i.Clock,{className:"h-4 w-4 text-neutral-500"})}}a.s(["ExecutionTimeline",0,function({executions:a,onResume:f,onContinueLatest:g}){let{t:h,locale:i}=(0,p.useI18n)(),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null);return 0===a.length?(0,b.jsx)(o.EmptyState,{icon:m,title:h("execution.noHistory")}):(0,b.jsxs)("div",{className:"space-y-2 p-3",children:[(0,b.jsx)("p",{className:"px-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:h("execution.history")}),a.map(c=>{let m=function(a){if(!a)return null;try{return JSON.parse(a)}catch{return null}}(c.gitStats??null),o=function(a,b){if(!a||!b)return"";let c=new Date(b).getTime()-new Date(a).getTime();if(c<0)return"";let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);if(e<60)return`${e}m ${d%60}s`;let f=Math.floor(e/60);return`${f}h ${e%60}m`}(c.startedAt??null,c.endedAt??null),p=r===c.id;return(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-background/50 overflow-hidden",children:[(0,b.jsxs)("div",{className:"p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(q,{status:c.status}),(0,b.jsx)("span",{className:`font-medium ${function(a){switch(a){case"COMPLETED":return"text-emerald-400";case"FAILED":return"text-red-400";case"RUNNING":return"text-blue-400";default:return"text-neutral-400"}}(c.status)}`,children:function(a,b){switch(a){case"COMPLETED":return b("execution.success");case"FAILED":return b("execution.failed");case"RUNNING":return b("execution.running");default:return a}}(c.status,h)}),(0,b.jsx)("span",{className:"text-muted-foreground",children:function(a,b="zh"){if(!a)return"";let c=new Date(a),d=Math.floor((new Date().getTime()-c.getTime())/864e5),e="zh"===b?"zh-CN":"en-US",f=c.toLocaleTimeString(e,{hour:"2-digit",minute:"2-digit"});return 0===d?f:1===d?"zh"===b?`昨天 ${f}`:`Yesterday ${f}`:d<7?"zh"===b?`${d}天前 ${f}`:`${d}d ago ${f}`:c.toLocaleDateString(e,{month:"2-digit",day:"2-digit"})+" "+f}(c.startedAt??null,i)}),o&&(0,b.jsxs)("span",{className:"text-muted-foreground/60",children:["(",o,")"]})]}),(0,b.jsx)("p",{className:"mt-1.5 text-sm text-foreground/80 line-clamp-2",children:c.summary||h("execution.noSummary")}),m&&(m.commits||m.filesChanged)&&(0,b.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-[11px] text-muted-foreground font-mono",children:[m.commits?(0,b.jsxs)("span",{children:[m.commits," ",h("execution.commits")]}):null,m.filesChanged?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{children:[m.filesChanged," ",h("execution.files")]})]}):null,m.insertions||m.deletions?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),m.insertions?(0,b.jsxs)("span",{className:"text-emerald-500",children:["+",m.insertions]}):null,m.deletions?(0,b.jsxs)("span",{className:"text-red-400",children:["-",m.deletions]}):null]}):null]}),c.insightNote&&(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsxs)("button",{onClick:()=>u(t===c.id?null:c.id),className:"flex items-center gap-1.5 text-xs text-primary/90 hover:text-primary transition-colors",children:[(0,b.jsx)(l.Lightbulb,{className:"h-3.5 w-3.5"}),(0,b.jsxs)("span",{className:"font-medium",children:[h("execution.insight"),":"]}),(0,b.jsx)("span",{className:"text-foreground/70 truncate max-w-[200px]",children:c.insightNote.title}),t===c.id?(0,b.jsx)(e.ChevronUp,{className:"h-3 w-3"}):(0,b.jsx)(d.ChevronDown,{className:"h-3 w-3"})]}),t===c.id&&(0,b.jsx)("div",{className:"mt-2 rounded-md bg-primary/[0.06] border border-primary/10 p-3 text-xs text-foreground/80 whitespace-pre-wrap",children:c.insightNote.content})]}),(0,b.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[c.sessionId&&f?(0,b.jsxs)(n.Button,{size:"sm",onClick:()=>f(c.sessionId),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(j.PlayCircle,{className:"h-3.5 w-3.5"}),h("execution.resume")]}):!c.sessionId&&"FAILED"===c.status&&c.id===a[0]?.id&&g?(0,b.jsxs)(n.Button,{size:"sm",onClick:g,className:"bg-blue-500/15 text-blue-300 ring-1 ring-blue-500/20 hover:bg-blue-500/25",children:[(0,b.jsx)(k.RotateCcw,{className:"h-3.5 w-3.5"}),h("execution.tryRecover")]}):null,(0,b.jsxs)(n.Button,{variant:"ghost",size:"sm",onClick:()=>s(p?null:c.id),className:"bg-muted text-muted-foreground",children:[p?(0,b.jsx)(e.ChevronUp,{className:"h-3.5 w-3.5"}):(0,b.jsx)(d.ChevronDown,{className:"h-3.5 w-3.5"}),p?h("execution.collapse"):h("execution.details")]})]})]}),p&&(0,b.jsxs)("div",{className:"border-t border-border px-3 pb-3 space-y-3",children:[c.gitLog&&(0,b.jsxs)("div",{className:"mt-3",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:h("execution.gitLog")}),(0,b.jsx)("pre",{className:"rounded-md bg-muted/50 p-2.5 text-xs font-mono text-foreground/70 overflow-x-auto whitespace-pre-wrap",children:c.gitLog.split("\n").slice(0,3).join("\n")})]}),c.terminalLog&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:h("execution.terminalOutput")}),(0,b.jsx)("pre",{className:"rounded-md bg-[#0f1419] p-2.5 text-xs font-mono text-neutral-300 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:c.terminalLog})]}),"FAILED"===c.status&&null!=c.exitCode&&(0,b.jsxs)("p",{className:"text-xs text-red-400/70",children:["Exit code: ",c.exitCode]})]})]},c.id)})]})}],884284)}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=project_f_tower_0t0smg9._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[7533,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),157616,a=>a.a(async(b,c)=>{try{var d=a.i(7533),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=b([d,g,h]);[d,g,h]=k.then?(await k)():k,a.s(["
|
|
1
|
+
module.exports=[7533,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),157616,a=>a.a(async(b,c)=>{try{var d=a.i(7533),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=b([d,g,h]);[d,g,h]=k.then?(await k)():k,a.s(["002f8c1907daa108abf0de48763ba7242b18c8768d",()=>e.getWorkspacesWithProjects,"00c5a0d3b9b146d2731747fe1a416361d4501fba21",()=>h.getActualWsPort,"00f7de3735ec23dbbe02b347b3b27fe3293c72dd51",()=>j.getOnboardingStatus,"4002a489b8ddf18fe0011eb46ac0739ec3e093a5bf",()=>j.dispatchTaskCompletionEvent,"400c47cd4a543a8a180be1c4384b39a199af461904",()=>e.getProjectByLocalPath,"401227c576cd75dc12c7d7ef6c4acb53b48d853e45",()=>e.getRecentLocalProjects,"4025e96d25637009a8b378148032220c259e2e209b",()=>e.deleteWorkspace,"405e24a96c3040b977262f38c5e06b74894259e0be",()=>j.completeOnboarding,"406303a55224e2a9384b4ad81ed3a003d67d23c0a5",()=>f.getLabelsForWorkspace,"406d0755627b7578b91d776cec0fe19e1bb6bfc1e3",()=>j.setOnboardingProgress,"407cbea3859811102573ba8273dc5d88a5d811928c",()=>h.resolveGitLocalPath,"40805f406dafafbee2bc2893759657900a249fb949",()=>i.checkMigrationSafety,"40b43304845d2ab1bbfcca9e8a22572005f72fdee2",()=>e.createWorkspace,"40c3e283c4bc09dd0ddeac0fee2d5450add9aba2ef",()=>e.deleteProject,"40d6e8e588bda631b24c5a0e2c634b36786afb4521",()=>e.getOrCreateTowerTaskId,"40de3b59acefdad3d4c0fe96d99c53f2e3910bc5c4",()=>f.createLabel,"40f0eec81bf22876c2506985320bb7faaaeb2e92e7",()=>e.getWorkspaceById,"40f10b98befcfeac7f091134a9d3044dd0589408ae",()=>e.getWorkspacesWithRecentTasks,"40f2f8dd87569241d7237d8e6d9c1062d583dceda0",()=>f.deleteLabel,"40f9512bdf19e6f9f4f666ec480b5d2a34184f2c20",()=>e.createProject,"60422a3dcf869aca6ad2360fc07fff8f7ad667284c",()=>e.updateWorkspace,"6051c20539a0938b9860bfe0dfe34cf20c41177e85",()=>g.globalSearch,"60580b8893845b30deedffa8257cbf297fee7c5689",()=>h.setConfigValue,"6058bc084dfc8fd7335c86f6b96805b28fbfade91d",()=>h.getConfigValue,"60b8da241b1f9f2d12f9b07df697c5d7cc38d4d2a6",()=>e.updateProject,"60d8faa80f7dca8aa639744b42cee7f20ac78660cd",()=>i.analyzeProjectDirectory,"60f6737005b46b8cdbcf37d9f3db70c559c509ad1a",()=>i.migrateProjectPath]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0fkkh9j._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js"].map(b=>a.l(b))).then(()=>b(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__00.lowc._.js"].map(b=>a.l(b))).then(()=>b(396477)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=project_f_tower_0ym-aea._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[
|
|
1
|
+
module.exports=[220213,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("408f9aa4b4846ac38314ce296b0e74b4cc0eb5d2c3",b.callServer,void 0,b.findSourceMapURL,"getConfigValues");a.s(["getConfigValues",0,c])},468518,a=>{"use strict";var b=a.i(858360),c=a.i(44585);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},48300,a=>{"use strict";var b=a.i(293785),c=a.i(256116),d=a.i(488137),e=a.i(44585);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],48300)},730611,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("401f463b01e74265a5a0f6a651625dbaa23ce7f0de",b.callServer,void 0,b.findSourceMapURL,"stopPtyExecution");a.s(["stopPtyExecution",0,c])},348703,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("78fb8fa47faed28ab00400d74b16e6f120e94f9b12",b.callServer,void 0,b.findSourceMapURL,"startPtyExecution");a.s(["startPtyExecution",0,c])},416902,595313,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("602e857033f412e1832ad1c46ff2b99c02da07294f",b.callServer,void 0,b.findSourceMapURL,"resumePtyExecution");a.s(["resumePtyExecution",0,c],416902);let d=(0,a.i(302856).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,d],595313)},113486,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("40dda63072b6d9478cbe91e491c6fb8f623ed50bdc",b.callServer,void 0,b.findSourceMapURL,"openInTerminal");a.s(["openInTerminal",0,c])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=project_f_tower_src_0_g15e8._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[643700,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(961374),f=a.i(264572),g=a.i(6938),h=a.i(968623),i=a.i(143971);class j extends Error{code;provider;constructor(a,b,c){super(c),this.code=a,this.provider=b,this.name="AiProviderError"}}async function k(a){return c.db.aiCapabilityConfig.findUnique({where:{slot:a}})}async function l(a){let b=await k(a),c=b?.provider??"claude",d=b?.model??void 0,e=i.providerRegistry.get(c);if(!e)throw new j("CLI_NOT_FOUND",c,`Provider "${c}" 未注册`);let f=e.cli?.adapter;if(!f)throw new j("UNSUPPORTED_MODE",c,`Provider "${c}" 不支持 CLI 模式`);return{adapter:f,provider:e,model:d}}var m=a.i(924868),n=a.i(446786),o=a.i(814747),p=a.i(632919);let q=g.logger.create("agent-actions"),r=(0,o.join)((0,n.tmpdir)(),"tower-signals");async function s(a,b){try{await (0,m.mkdir)(r,{recursive:!0,mode:448}),await (0,m.writeFile)((0,o.join)(r,`exit-${a}`),String(b),{mode:384})}catch{}}function t(a,b){try{return JSON.parse(a)}catch{throw Error(`CLI Profile ${b} 格式损坏,请在 Settings 中修复`)}}async function u(a,b){let e=await c.db.taskMessage.create({data:{role:"USER",content:b,taskId:a}});return(0,d.revalidatePath)("/workspaces"),{userMessage:e}}async function v(a){return c.db.taskMessage.findMany({where:{taskId:a},orderBy:{createdAt:"asc"}})}async function w(a,b="CLAUDE_CODE",e,f){let g=await c.db.taskExecution.create({data:{taskId:a,agent:b,status:"RUNNING",startedAt:new Date,worktreePath:e??null,worktreeBranch:f??null}});return await c.db.task.update({where:{id:a},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces"),g}async function x(a,b="FAILED"){let e=await c.db.taskExecution.update({where:{id:a},data:{status:b,endedAt:new Date}});return(0,d.revalidatePath)("/workspaces"),e}async function y(b){let{destroySession:e,getSession:f}=await a.A(585988),g=f(b),h=g?.getBuffer()??"",i=await c.db.taskExecution.findFirst({where:{taskId:b,status:"RUNNING"},orderBy:{createdAt:"desc"}}),j=await c.db.task.findUnique({where:{id:b},include:{project:{select:{localPath:!0}}}});if(e(b),i){await c.db.taskExecution.update({where:{id:i.id},data:{status:"COMPLETED",endedAt:new Date}}),await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}});let d=i.worktreePath||j?.project?.localPath||null,{captureExecutionSummary:e}=await a.A(131993);await e(i.id,b,0,h,d)}(0,d.revalidatePath)("/workspaces")}async function z(a){return c.db.taskExecution.findMany({where:{taskId:a},orderBy:{createdAt:"desc"},include:{insightNote:{select:{id:!0,title:!0,content:!0}}}})}async function A(b,e){let g=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!g)throw Error("Task not found");if(!g.project?.localPath)throw Error("Project has no local path configured");await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING",NOT:{sessionId:e}},data:{status:"FAILED",endedAt:new Date}});let i=await c.db.taskExecution.findFirst({where:{taskId:b,sessionId:e},orderBy:{createdAt:"desc"}});if(!i)throw Error("Previous execution not found");let j=i.worktreePath??g.project.localPath,k=g.subPath?(0,o.join)(j,g.subPath):j,m=await c.db.cliProfile.findFirst({where:{isDefault:!0}});if(!m)throw Error("No default CLI profile found — run seed first");let n=t(m.baseArgs,"baseArgs"),p=t(m.envVars,"envVars"),r=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:u}=await l("terminal"),v=u.buildEnvOverrides({taskId:b,taskTitle:g.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:i.callbackUrl??void 0}),w=await c.db.taskExecution.update({where:{id:i.id},data:{status:"RUNNING",endedAt:null}});await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces");let x=await (0,h.readConfigValue)("onboarding.username",""),y=u.buildSpawnArgs({taskId:b,prompt:"",cwd:k,resumeSessionId:e,profileArgs:[...n,...x?["--append-system-prompt",`The user's name is ${x}.`]:[]],profileEnvVars:p,envOverrides:v}),z=/no conversation found with session id|unknown session|session .* not found/i;return(0,f.createSession)(b,y.command,y.args,k,()=>{},async d=>{await s(b,d);let f=await c.db.taskExecution.findUnique({where:{id:w.id}});if(f?.status!=="RUNNING")return;let{getSession:h}=await a.A(585988),j=h(b),k=j?.getBuffer()??"";if(0!==d&&z.test(k)){q.info("Session resume failed — retrying with fresh execution",{taskId:b,previousSessionId:e}),await c.db.taskExecution.update({where:{id:w.id},data:{status:"FAILED",endedAt:new Date}}).catch(()=>{});try{await C(b,g.title)}catch(a){q.error("Fresh execution retry also failed",a,{taskId:b})}return}await c.db.taskExecution.update({where:{id:w.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let l=i.worktreePath||g.project.localPath,{captureExecutionSummary:m}=await a.A(131993);await m(w.id,b,d,k,l);let{dispatchTaskCompletionEvent:n}=await a.A(4868);await n({taskId:b,taskTitle:g.title,status:0===d?"COMPLETED":"FAILED",executionId:w.id,workspaceId:g.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(()=>{})},y.env,void 0,1e3*r),{executionId:w.id,worktreePath:i.worktreePath??j??null}}async function B(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!e)throw Error("Task not found");if(!e.project?.localPath)throw Error("Project has no local path configured");let g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}}),{destroySession:i}=await a.A(585988);i(b),await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}});let j=g?.worktreePath??e.project.localPath,k=e.subPath?(0,o.join)(j,e.subPath):j,m=await c.db.cliProfile.findFirst({where:{isDefault:!0}});if(!m)throw Error("No default CLI profile found — run seed first");let n=t(m.baseArgs,"baseArgs"),p=t(m.envVars,"envVars"),q=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:r,provider:u}=await l("terminal"),v=r.buildEnvOverrides({taskId:b,taskTitle:e.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`}),w=await c.db.taskExecution.create({data:{taskId:b,agent:u.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:g?.worktreePath??null,worktreeBranch:g?.worktreeBranch??null}});await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces");let x=await (0,h.readConfigValue)("onboarding.username",""),y=r.buildSpawnArgs({taskId:b,prompt:"",cwd:k,continueLatest:!0,profileArgs:[...n,...x?["--append-system-prompt",`The user's name is ${x}.`]:[]],profileEnvVars:p,envOverrides:v});return(0,f.createSession)(b,y.command,y.args,k,()=>{},async d=>{await s(b,d);let f=await c.db.taskExecution.findUnique({where:{id:w.id}});if(f?.status!=="RUNNING")return;let{getSession:h}=await a.A(585988),i=h(b),j=i?.getBuffer()??"";await c.db.taskExecution.update({where:{id:w.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let k=g?.worktreePath||e.project.localPath,{captureExecutionSummary:l}=await a.A(131993);await l(w.id,b,d,j,k);let{dispatchTaskCompletionEvent:m}=await a.A(4868);await m({taskId:b,taskTitle:e.title,status:0===d?"COMPLETED":"FAILED",executionId:w.id,workspaceId:e.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(()=>{})},y.env,void 0,1e3*q),{executionId:w.id,worktreePath:g?.worktreePath??j??null}}async function C(b,g,i,j){let k,p,r=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!r)throw Error("Task not found");if(!r.project?.localPath)throw Error("Project has no local path configured");let u=await (0,h.readConfigValue)("system.maxConcurrentExecutions",20);if(await c.db.taskExecution.count({where:{status:"RUNNING"}})>=u)throw Error(`已达并发上限(${u}),请等待其他任务完成后再启动`);let v=await c.db.cliProfile.findFirst({where:{isDefault:!0}});if(!v)throw Error("No default CLI profile found — run seed first");let w=t(v.baseArgs,"baseArgs"),x=t(v.envVars,"envVars"),y=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:z,provider:A,model:B}=await l("terminal");await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}}),"IN_PROGRESS"!==r.status&&(await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces"));let C=await c.db.taskMessage.findMany({where:{taskId:b},orderBy:{createdAt:"desc"},take:10}),D=[`Task: ${r.title}`,r.description?`Description: ${r.description}`:"",C.length>0?`Recent conversation:
|
|
2
|
-
${C.reverse().map(a=>`${a.role}: ${a.content}`).join("\n")}`:"",g.trim()?`User message: ${g}`:""].filter(Boolean).join("\n\n"),E=i??r.promptId;if(E){let a=await c.db.agentPrompt.findUnique({where:{id:E}});a?.content&&(p=await (0,m.mkdtemp)((0,o.join)((0,n.tmpdir)(),"tower-pty-")),k=(0,o.join)(p,"instructions.md"),await (0,m.writeFile)(k,a.content,"utf-8"))}let F=null,G=null;if(r.baseBranch&&r.project.localPath){let{worktreePath:a,worktreeBranch:c}=await (0,e.createWorktree)(r.project.localPath,b,r.baseBranch);F=a,G=c}let H=F??r.project.localPath,I=r.subPath?(0,o.join)(H,r.subPath):H,J=await c.db.taskExecution.create({data:{taskId:b,agent:A.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:F??null,worktreeBranch:G??null,callbackUrl:j??null}});if(r.project.localPath)try{let b,{execFileSync:d}=await a.A(144264);(b=F&&r.baseBranch?d("git",["merge-base",r.baseBranch,"HEAD"],{cwd:F,encoding:"utf-8",timeout:5e3}).trim():d("git",["rev-parse","HEAD"],{cwd:r.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&await c.db.taskExecution.update({where:{id:J.id},data:{forkCommit:b}})}catch{}let K="";if(k){let{readFile:b}=await a.A(260815);K+=await b(k,"utf-8")}let L=await (0,h.readConfigValue)("onboarding.username","");L&&(K+=(K?"\n":"")+`The user's name is ${L}.`);let M=z.buildSpawnArgs({taskId:b,prompt:D,cwd:I,profileArgs:[...w,...K?["--append-system-prompt",K]:[],...B?["--model",B]:[]],profileEnvVars:x,envOverrides:z.buildEnvOverrides({taskId:b,taskTitle:r.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:j??void 0})});return(0,f.createSession)(b,M.command,M.args,I,()=>{},async d=>{await s(b,d);let e=await c.db.taskExecution.findUnique({where:{id:J.id}});if(e?.status!=="RUNNING")return;let{getSession:f}=await a.A(585988),g=f(b),h=g?.getBuffer()??"";await c.db.taskExecution.update({where:{id:J.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(a=>{q.error("Failed to update execution status",a)});let i=F||r.project.localPath,{captureExecutionSummary:j}=await a.A(131993);await j(J.id,b,d,h,i);let{dispatchTaskCompletionEvent:k}=await a.A(4868);await k({taskId:b,taskTitle:r.title,status:0===d?"COMPLETED":"FAILED",executionId:J.id,workspaceId:r.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(a=>{q.error("Failed to update task status",a)}),p&&await (0,m.rm)(p,{recursive:!0,force:!0}).catch(()=>{})},M.env,void 0,1e3*y),{executionId:J.id,worktreePath:F??H??null}}async function D(){return(await c.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(a=>({executionId:a.id,taskId:a.taskId,taskTitle:a.task.title,projectId:a.task.project.id,projectName:a.task.project.name,projectAlias:a.task.project.alias,projectLocalPath:a.task.project.localPath,workspaceId:a.task.project.workspace.id,workspaceName:a.task.project.workspace.name,worktreePath:a.worktreePath,startedAt:a.startedAt?.toISOString()??null}))}(0,p.ensureServerEntryExports)([u,v,w,x,y,z,A,B,C,D]),(0,b.registerServerReference)(u,"
|
|
2
|
+
${C.reverse().map(a=>`${a.role}: ${a.content}`).join("\n")}`:"",g.trim()?`User message: ${g}`:""].filter(Boolean).join("\n\n"),E=i??r.promptId;if(E){let a=await c.db.agentPrompt.findUnique({where:{id:E}});a?.content&&(p=await (0,m.mkdtemp)((0,o.join)((0,n.tmpdir)(),"tower-pty-")),k=(0,o.join)(p,"instructions.md"),await (0,m.writeFile)(k,a.content,"utf-8"))}let F=null,G=null;if(r.baseBranch&&r.project.localPath){let{worktreePath:a,worktreeBranch:c}=await (0,e.createWorktree)(r.project.localPath,b,r.baseBranch);F=a,G=c}let H=F??r.project.localPath,I=r.subPath?(0,o.join)(H,r.subPath):H,J=await c.db.taskExecution.create({data:{taskId:b,agent:A.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:F??null,worktreeBranch:G??null,callbackUrl:j??null}});if(r.project.localPath)try{let b,{execFileSync:d}=await a.A(144264);(b=F&&r.baseBranch?d("git",["merge-base",r.baseBranch,"HEAD"],{cwd:F,encoding:"utf-8",timeout:5e3}).trim():d("git",["rev-parse","HEAD"],{cwd:r.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&await c.db.taskExecution.update({where:{id:J.id},data:{forkCommit:b}})}catch{}let K="";if(k){let{readFile:b}=await a.A(260815);K+=await b(k,"utf-8")}let L=await (0,h.readConfigValue)("onboarding.username","");L&&(K+=(K?"\n":"")+`The user's name is ${L}.`);let M=z.buildSpawnArgs({taskId:b,prompt:D,cwd:I,profileArgs:[...w,...K?["--append-system-prompt",K]:[],...B?["--model",B]:[]],profileEnvVars:x,envOverrides:z.buildEnvOverrides({taskId:b,taskTitle:r.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:j??void 0})});return(0,f.createSession)(b,M.command,M.args,I,()=>{},async d=>{await s(b,d);let e=await c.db.taskExecution.findUnique({where:{id:J.id}});if(e?.status!=="RUNNING")return;let{getSession:f}=await a.A(585988),g=f(b),h=g?.getBuffer()??"";await c.db.taskExecution.update({where:{id:J.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(a=>{q.error("Failed to update execution status",a)});let i=F||r.project.localPath,{captureExecutionSummary:j}=await a.A(131993);await j(J.id,b,d,h,i);let{dispatchTaskCompletionEvent:k}=await a.A(4868);await k({taskId:b,taskTitle:r.title,status:0===d?"COMPLETED":"FAILED",executionId:J.id,workspaceId:r.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(a=>{q.error("Failed to update task status",a)}),p&&await (0,m.rm)(p,{recursive:!0,force:!0}).catch(()=>{})},M.env,void 0,1e3*y),{executionId:J.id,worktreePath:F??H??null}}async function D(){return(await c.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(a=>({executionId:a.id,taskId:a.taskId,taskTitle:a.task.title,projectId:a.task.project.id,projectName:a.task.project.name,projectAlias:a.task.project.alias,projectLocalPath:a.task.project.localPath,workspaceId:a.task.project.workspace.id,workspaceName:a.task.project.workspace.name,worktreePath:a.worktreePath,startedAt:a.startedAt?.toISOString()??null}))}(0,p.ensureServerEntryExports)([u,v,w,x,y,z,A,B,C,D]),(0,b.registerServerReference)(u,"60539a0b43514080c05ac2f7a6e02635a8a87cb99e",null),(0,b.registerServerReference)(v,"40a2271ec5fba80f23a957c9a06fd5d4f208c265e7",null),(0,b.registerServerReference)(w,"780a1d3040561b90e331d3ea2e1c3ff2cddf69f34e",null),(0,b.registerServerReference)(x,"60a766e524b63c644538760cc4573474b87e697389",null),(0,b.registerServerReference)(y,"401f463b01e74265a5a0f6a651625dbaa23ce7f0de",null),(0,b.registerServerReference)(z,"405330cd9709f40037aa83521bdac7044a93b13641",null),(0,b.registerServerReference)(A,"602e857033f412e1832ad1c46ff2b99c02da07294f",null),(0,b.registerServerReference)(B,"4036dc278fce434992e90dd8958b9fa89e1c22580c",null),(0,b.registerServerReference)(C,"78fb8fa47faed28ab00400d74b16e6f120e94f9b12",null),(0,b.registerServerReference)(D,"0074a2acfc7c977675c9240a3cf179d4e8a0497ecb",null),a.s(["continueLatestPtyExecution",0,B,"getActiveExecutionsAcrossWorkspaces",0,D,"getTaskExecutions",0,z,"getTaskMessages",0,v,"resumePtyExecution",0,A,"sendTaskMessage",0,u,"startPtyExecution",0,C,"startTaskExecution",0,w,"stopPtyExecution",0,y,"stopTaskExecution",0,x],643700)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=project_f_tower_src_actions_agent-actions_ts_0.s4~m-._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[5533,a=>{"use strict";a.s([],475505),a.i(475505),a.i(
|
|
1
|
+
module.exports=[5533,a=>{"use strict";a.s([],475505),a.i(475505),a.i(280210),a.i(412963),a.i(647045),a.i(12513),a.i(58996),a.i(33130),a.i(276587),a.i(554577),a.i(978072);var b=a.i(879876);let c=(0,b.createServerReference)("6017dac4be8932abda3e76f89c0720a53260a2e813",b.callServer,void 0,b.findSourceMapURL,"revealInFinder");a.s(["revealInFinder",0,c],5533)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=project_f_tower_src_actions_file-actions_ts_02i742t._.js.map
|
package/.next/server/chunks/ssr/project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[502160,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(584335),e=a.i(879876);let f=(0,e.createServerReference)("00ba4377b901e75414286d0eb0a9635fc2a8e5d7a2",e.callServer,void 0,e.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var g=a.i(793972);let h=[{id:"1x1",label:"1×1",cols:1,rows:1,minHeight:"480px",desc:"Focus mode"},{id:"2x1",label:"2×1",cols:2,rows:1,minHeight:"480px",desc:"Side by side"},{id:"3x2",label:"3×2",cols:3,rows:2,minHeight:"300px",desc:"Default"},{id:"2x2",label:"2×2",cols:2,rows:2,minHeight:"300px",desc:"Balanced"},{id:"4x2",label:"4×2",cols:4,rows:2,minHeight:"240px",desc:"Wide monitor"},{id:"3x3",label:"3×3",cols:3,rows:3,minHeight:"240px",desc:"Max overview"}];var i=a.i(224372),j=a.i(410756),k=a.i(468518),l=a.i(302856);let m=(0,l.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var n=a.i(425193);function o({cols:a,rows:c,active:d}){let e=Array.from({length:a*c});return(0,b.jsx)("div",{className:`grid gap-[1px] w-7 h-5 p-[3px] rounded-sm border shrink-0 ${d?"border-primary bg-primary/10":"border-border bg-muted"}`,style:{gridTemplateColumns:`repeat(${a}, 1fr)`,gridTemplateRows:`repeat(${c}, 1fr)`},children:e.map((a,c)=>(0,b.jsx)("div",{className:`rounded-[1px] min-w-0 min-h-0 ${d?"bg-primary":"bg-muted-foreground/40"}`},c))})}let p="custom";function q({value:a,customValue:e,onChange:f}){let{t:g}=(0,d.useI18n)(),[i,k]=(0,c.useState)(!1),l=(0,c.useRef)(null),m=a===p,r=m?null:h.find(b=>b.id===a)??h[2],[s,t]=(0,c.useState)(e?.cols??2),[u,v]=(0,c.useState)(e?.rows??2),[w,x]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5});(0,c.useEffect)(()=>{(0,n.getConfigValues)(["missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(a=>{x({minCols:a["missions.grid.minCols"]??1,maxCols:a["missions.grid.maxCols"]??5,minRows:a["missions.grid.minRows"]??1,maxRows:a["missions.grid.maxRows"]??5})})},[]),(0,c.useEffect)(()=>{e&&(t(e.cols),v(e.rows))},[e?.cols,e?.rows]),(0,c.useEffect)(()=>{if(i)return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a);function a(a){l.current&&!l.current.contains(a.target)&&k(!1)}},[i]);let y=(a,b,c)=>Math.max(b,Math.min(c,a)),z=m?s:r?.cols??2,A=m?u:r?.rows??2,B=m?`${s}\xd7${u}`:r?.label??"";return(0,b.jsxs)("div",{ref:l,className:"relative",children:[(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>k(a=>!a),className:"gap-2",children:[(0,b.jsx)(o,{cols:z,rows:A,active:!1}),(0,b.jsx)("span",{children:B}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"▼"})]}),i&&(0,b.jsxs)("div",{className:"absolute right-0 z-50 mt-1 w-72 rounded-lg border border-border bg-popover shadow-xl p-3",children:[(0,b.jsx)("h5",{className:"text-sm font-semibold text-foreground mb-3",children:g("missions.gridPreset")}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[h.map(c=>{let d=c.id===a;return(0,b.jsxs)("button",{onClick:()=>{f(c.id),k(!1)},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors ${d?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(o,{cols:c.cols,rows:c.rows,active:d}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${d?"text-primary":"text-foreground"}`,children:c.label}),(0,b.jsx)("span",{className:`text-xs ${d?"text-primary/60":"text-muted-foreground"}`,children:c.desc})]},c.id)}),(0,b.jsxs)("div",{className:"mt-1 border-t border-border pt-2",children:[(0,b.jsxs)("button",{onClick:()=>{m||f(p,{cols:s,rows:u})},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors w-full ${m?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(o,{cols:s,rows:u,active:m}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${m?"text-primary":"text-foreground"}`,children:g("missions.gridCustom")}),(0,b.jsxs)("span",{className:`text-xs ${m?"text-primary/60":"text-muted-foreground"}`,children:[s,"×",u]})]}),m&&(0,b.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridCols")}),(0,b.jsx)("input",{type:"number",min:w.minCols,max:w.maxCols,value:s,onChange:a=>{let b;t(b=y(Number(a.target.value),w.minCols,w.maxCols)),f(p,{cols:b,rows:u})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"×"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridRows")}),(0,b.jsx)("input",{type:"number",min:w.minRows,max:w.maxRows,value:u,onChange:a=>{let b;v(b=y(Number(a.target.value),w.minRows,w.maxRows)),f(p,{cols:s,rows:b})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]})]})]})]})]})]})}var r=a.i(11505),s=a.i(107788),t=a.i(357089),u=a.i(448287),v=a.i(466126);let w=(0,l.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),x=(0,l.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var y=a.i(54709);let z=(0,l.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var A=a.i(95446),B=a.i(48300),C=a.i(302689),D=a.i(942308);let E=(0,t.default)(async()=>{},{loadableGenerated:{modules:[467005]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"h-full w-full bg-[#0a0a0a] animate-pulse"})});function F({execution:a,isRemoving:e,removeReason:f,onStop:g,onSessionEnd:h}){let{t:i}=(0,d.useI18n)(),k=(0,u.useRouter)(),{attributes:l,listeners:m,setNodeRef:n,transform:o,transition:p}=(0,s.useSortable)({id:a.executionId}),q={transform:v.CSS.Transform.toString(o),transition:p,opacity:+!e},[r,t]=(0,c.useState)(()=>a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0);(0,c.useEffect)(()=>{if(e)return;let b=setInterval(()=>{t(a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0)},1e3);return()=>clearInterval(b)},[a.startedAt,e]);let G=Math.floor(r/60),H=`${G}m ${r%60}s`;async function I(){if(a.projectLocalPath)try{await (0,C.openInTerminal)(a.projectLocalPath)}catch{D.toast.error(i("preview.terminalError"))}}return(0,b.jsxs)("div",{ref:n,style:q,className:"border border-border rounded-lg overflow-hidden flex flex-col transition-opacity duration-300",...l,children:[(0,b.jsxs)("div",{className:"h-10 px-3 flex items-center gap-1 border-b border-border bg-card shrink-0",children:[(0,b.jsx)("button",{...m,"aria-label":i("missions.dragHandle"),"aria-roledescription":"sortable",className:"cursor-grab text-muted-foreground hover:text-foreground mr-1",children:(0,b.jsx)(w,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("span",{className:"text-[11px] text-muted-foreground truncate flex-1",children:[a.workspaceName," ›"," ",a.projectAlias||a.projectName," ›"," ",(0,b.jsx)("span",{className:"text-foreground font-semibold",children:a.taskTitle})]}),e?(0,b.jsx)(B.Badge,{variant:"outline",className:"text-[11px] text-muted-foreground bg-muted ml-1 shrink-0",children:"stopped"===f?i("missions.statusStopped"):i("missions.statusCompleted")}):(0,b.jsx)(B.Badge,{variant:"outline",className:"text-[11px] text-primary border-primary/30 bg-primary/10 ml-1 shrink-0",children:i("missions.statusRunning")}),(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground ml-1 shrink-0",children:H}),a.projectLocalPath&&(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:I}),children:(0,b.jsx)(z,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.openInTerminal")})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:()=>k.push(`/workspaces/${a.workspaceId}/tasks/${a.taskId}`)}),children:(0,b.jsx)(x,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.openFullView")})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"destructive",size:"icon",className:"ml-1 shrink-0",onClick:()=>g(a.taskId),disabled:e}),children:(0,b.jsx)(y.X,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.stopTask")})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,b.jsx)(E,{taskId:a.taskId,worktreePath:a.worktreePath??a.projectLocalPath,onSessionEnd:b=>h?.(a.taskId,b),useCanvasRenderer:!0})})]})}let G=(0,e.createServerReference)("40535a6a38bc5b8149d6178b949a6f89b1307d6d44",e.callServer,void 0,e.findSourceMapURL,"getWorkspacesWithRecentTasks"),H=(0,e.createServerReference)("401b61ad7e39ca392cb9beb71bc3b6bfa5ef7f1504",e.callServer,void 0,e.findSourceMapURL,"getProjectTasks");var I=a.i(194135),J=a.i(541566),K=a.i(857122);let L=(0,l.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var M=a.i(595313),N=a.i(358440);let O={TODO:"TODO",IN_PROGRESS:"Running",IN_REVIEW:"Review"},P={LOW:"Low",MEDIUM:"Med",HIGH:"High",CRITICAL:"Crit"};function Q({status:a}){return(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${{TODO:"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400",IN_PROGRESS:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",IN_REVIEW:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400"}[a]??"bg-slate-100 text-slate-600"}`,children:O[a]??a})}function R({task:a,isRunning:c,launchingId:d,onLaunchNew:e,onResume:f,t:g}){let h=a.executions?.[0]?.sessionId,i=d===a.id;return(0,b.jsxs)("div",{className:"group/task flex items-center gap-2 px-3 py-1.5 hover:bg-accent/50 cursor-default",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("p",{className:`text-sm truncate ${c?"italic text-muted-foreground":""}`,children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,b.jsx)(Q,{status:a.status}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:P[a.priority]??a.priority})]})]}),c?(0,b.jsx)("span",{className:"text-[10px] italic text-muted-foreground shrink-0",children:g("missions.alreadyMonitored")}):(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/task:opacity-100 transition-opacity shrink-0",children:[h&&(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>f(a.id,h),disabled:i,title:g("missions.continueSession"),children:[(0,b.jsx)(M.RotateCcw,{className:"h-3 w-3 mr-1"}),g("missions.continueLabel")]}),(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>e(a.id),disabled:i,title:g("missions.launchNew"),children:[(0,b.jsx)(L,{className:"h-3 w-3 mr-1"}),i?"...":g("missions.launchNewLabel")]})]})]})}function S({open:a,onOpenChange:e,onLaunchNew:f,onResume:g,runningTaskIds:h,launchingId:j}){let{t:k}=(0,d.useI18n)(),[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)(""),[p,q]=(0,c.useState)(""),[r,s]=(0,c.useState)([]);(0,c.useEffect)(()=>{a&&(o(""),q(""),s([]),G(100).then(m).catch(()=>D.toast.error(k("missions.error.launchFailed"))))},[a,k]),(0,c.useEffect)(()=>{p?H(p).then(a=>{s(a.filter(a=>"TODO"===a.status||"IN_PROGRESS"===a.status||"IN_REVIEW"===a.status))}).catch(()=>D.toast.error(k("missions.error.launchFailed"))):s([])},[p,k]);let t=l.find(a=>a.id===n),u=t?.projects??[];return(0,b.jsx)(K.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(K.DialogContent,{className:"max-w-lg max-h-[70vh] flex flex-col",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsx)(K.DialogTitle,{children:k("missions.fullPickerTitle")})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,b.jsxs)(i.Select,{value:n,onValueChange:a=>{o(a??""),q("")},children:[(0,b.jsx)(i.SelectTrigger,{id:"full-picker-ws",className:"w-48 h-8",children:(0,b.jsx)("span",{className:"truncate",children:l.find(a=>a.id===n)?.name??k("missions.launcher.selectWorkspace")})}),(0,b.jsx)(i.SelectContent,{children:l.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))})]}),(0,b.jsxs)(i.Select,{value:p,onValueChange:a=>q(a??""),disabled:!n,children:[(0,b.jsx)(i.SelectTrigger,{id:"full-picker-proj",className:"w-48 h-8",children:(0,b.jsx)("span",{className:"truncate",children:u.find(a=>a.id===p)?.name??k("missions.launcher.selectProject")})}),(0,b.jsx)(i.SelectContent,{children:u.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.alias??a.name},a.id))})]})]}),(0,b.jsx)(N.ScrollArea,{className:"flex-1 min-h-0 -mx-2",children:0===r.length&&p?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:k("missions.launcher.noTasks")}):0===r.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:k("missions.fullPickerHint")}):r.map(a=>(0,b.jsx)(R,{task:a,isRunning:h.has(a.id),launchingId:j,onLaunchNew:f,onResume:g,t:k},a.id))})]})})}function T({open:a,onOpenChange:e,onLaunched:f,runningTaskIds:g=new Set,anchorRef:h}){let{t:i}=(0,d.useI18n)(),k=(0,c.useRef)(null),[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1);(0,c.useEffect)(()=>{a&&(o(!0),G(3).then(m).catch(()=>D.toast.error(i("missions.error.launchFailed"))).finally(()=>o(!1)))},[a,i]),(0,c.useEffect)(()=>{if(a)return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b);function b(a){let b=a.target;if(k.current&&!k.current.contains(b)){if(h?.current&&h.current.contains(b))return;e(!1)}}},[a,e,h]);let t=(0,c.useCallback)(async a=>{try{q(a),await (0,I.startPtyExecution)(a,""),f(a),e(!1),s(!1)}catch{D.toast.error(i("missions.error.launchFailed"))}finally{q(null)}},[f,e,i]),u=(0,c.useCallback)(async(a,b)=>{try{q(a),await (0,J.resumePtyExecution)(a,b),f(a),e(!1),s(!1)}catch{D.toast.error(i("missions.error.launchFailed"))}finally{q(null)}},[f,e,i]),v=(0,c.useCallback)(()=>{e(!1),s(!0)},[e]);return a||r?(0,b.jsxs)(b.Fragment,{children:[a&&(0,b.jsxs)("div",{ref:k,className:"absolute right-0 z-50 mt-1 w-96 rounded-lg border border-border bg-popover shadow-xl flex flex-col overflow-hidden",style:{maxHeight:"480px"},children:[(0,b.jsx)("div",{className:"px-3 py-2 border-b border-border shrink-0",children:(0,b.jsx)("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:i("missions.pickerTitle")})}),(0,b.jsx)(N.ScrollArea,{className:"flex-1 min-h-0",children:n?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"Loading..."}):0===l.length?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:i("missions.noAvailableTasks")}):l.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"sticky top-0 z-10 px-3 py-1.5 bg-popover border-b border-border/50",children:(0,b.jsx)("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:a.name})}),a.projects.map(a=>0===a._count.tasks?null:(0,b.jsxs)("div",{className:"mb-1",children:[(0,b.jsx)("div",{className:"px-3 pt-2 pb-0.5",children:(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:a.alias??a.name})}),a.tasks.map(a=>(0,b.jsx)(R,{task:a,isRunning:g.has(a.id),launchingId:p,onLaunchNew:t,onResume:u,t:i},a.id))]},a.id))]},a.id))}),(0,b.jsx)("div",{className:"shrink-0 border-t border-border",children:(0,b.jsx)(j.Button,{variant:"ghost",className:"w-full rounded-none text-xs text-primary font-medium",onClick:v,children:i("missions.showMoreTasks")})})]}),(0,b.jsx)(S,{open:r,onOpenChange:s,onLaunchNew:t,onResume:u,runningTaskIds:g,launchingId:p})]}):null}a.s(["MissionsClient",0,function({initialExecutions:a}){let{t:e}=(0,d.useI18n)(),[l,n]=(0,c.useState)(a),[o,p]=(0,c.useState)(()=>"3x2"),[t,u]=(0,c.useState)(()=>({cols:2,rows:2})),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(""),z=(0,c.useRef)(null),[A,B]=(0,c.useState)(new Map),C=(0,c.useRef)(A);(0,c.useEffect)(()=>{C.current=A},[A]);let E=(0,c.useRef)(new Map),G=h.find(a=>a.id===o)??h[2],H="custom"===o?t.cols:G.cols,I="custom"===o?t.rows:G.rows,J=(0,c.useRef)(null),[K,L]=(0,c.useState)("480px");(0,c.useEffect)(()=>{let a=J.current;if(!a)return;let b=()=>{let b=(a.clientHeight-32-16*(I-1))/I;L(`${Math.max(b,200)}px`)};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[I]);let M=(0,c.useCallback)((a,b)=>{a&&(p(a),localStorage.setItem("missions-grid-preset",a),"custom"===a&&b&&(u(b),localStorage.setItem("missions-grid-custom",JSON.stringify(b))))},[]),N=(0,r.useSensors)((0,r.useSensor)(r.PointerSensor,{activationConstraint:{distance:8}})),O=(0,c.useCallback)(a=>{let{active:b,over:c}=a;c&&b.id!==c.id&&n(a=>{let d=a.findIndex(a=>a.executionId===b.id),e=a.findIndex(a=>a.executionId===c.id);return(0,s.arrayMove)(a,d,e)})},[]),P=(0,c.useCallback)((a,b)=>{if(C.current.has(a))return;B(c=>new Map([...c,[a,b]]));let c=setTimeout(()=>{n(b=>b.filter(b=>b.executionId!==a)),B(b=>{let c=new Map(b);return c.delete(a),c}),E.current.delete(a)},500);E.current.set(a,c)},[]);(0,c.useEffect)(()=>{let a=setInterval(async()=>{try{let a=await f();n(b=>{let c=C.current,{merged:d,goneIds:e}=function({prev:a,fresh:b,removingIds:c}){let d=new Set(b.map(a=>a.executionId)),e=[];a.forEach(a=>{d.has(a.executionId)||c.has(a.executionId)||e.push(a.executionId)});let f=a.filter(a=>d.has(a.executionId)||c.has(a.executionId)),g=new Set(a.map(a=>a.executionId));return{merged:[...f,...b.filter(a=>!g.has(a.executionId))],goneIds:e}}({prev:b,fresh:a,removingIds:new Set(c.keys())});return e.forEach(a=>P(a,"completed")),d})}catch{}},4e3);return()=>clearInterval(a)},[P]),(0,c.useEffect)(()=>{let a=E.current;return()=>{a.forEach(a=>clearTimeout(a))}},[]);let Q=(0,c.useCallback)(async a=>{try{await (0,g.stopPtyExecution)(a),n(b=>{let c=b.find(b=>b.taskId===a);return c&&P(c.executionId,"stopped"),b})}catch{D.toast.error(e("missions.error.stopFailed"))}},[P,e]),R=(0,c.useCallback)((a,b)=>{n(b=>{let c=b.find(b=>b.taskId===a);return c&&P(c.executionId,"completed"),b})},[P]),S=(0,c.useCallback)(a=>{f().then(a=>{n(b=>{let c=new Set(b.map(a=>a.executionId));return[...b,...a.filter(a=>!c.has(a.executionId))]})}).catch(()=>{})},[]),U=Array.from(new Map(l.map(a=>[a.workspaceId,a.workspaceName])).entries()).map(([a,b])=>({id:a,name:b})),V=x?l.filter(a=>a.workspaceId===x):l,W=new Set(l.map(a=>a.taskId));return(0,b.jsxs)("div",{className:"flex h-full flex-col",children:[(0,b.jsxs)("div",{className:"header-sm shrink-0 px-4 flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-base font-semibold",children:e("missions.pageTitle")}),(0,b.jsxs)(i.Select,{value:x,onValueChange:a=>y(a??""),children:[(0,b.jsx)(i.SelectTrigger,{className:"w-36 h-8",children:(0,b.jsx)("span",{className:"truncate",children:x?U.find(a=>a.id===x)?.name??e("missions.filterAll"):e("missions.filterAll")})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"",children:e("missions.filterAll")}),U.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))]})]}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(q,{value:o,customValue:t,onChange:M}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(j.Button,{ref:z,onClick:()=>w(a=>!a),children:e("missions.launchTask")}),(0,b.jsx)(T,{open:v,onOpenChange:w,onLaunched:S,runningTaskIds:W,anchorRef:z})]})]}),(0,b.jsx)("div",{ref:J,className:"flex-1 overflow-auto min-h-0 p-4",children:0===V.length&&0===A.size?(0,b.jsx)(k.EmptyState,{icon:m,title:e("missions.emptyTitle"),description:e("missions.emptyDesc"),className:"h-full",action:(0,b.jsx)(j.Button,{onClick:()=>w(!0),children:e("missions.launchTask")})}):(0,b.jsx)(r.DndContext,{id:"missions-dnd",sensors:N,collisionDetection:r.closestCenter,onDragEnd:O,children:(0,b.jsx)(s.SortableContext,{items:V.map(a=>a.executionId),strategy:s.rectSortingStrategy,children:(0,b.jsx)("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${H}, 1fr)`,gridAutoRows:K},children:V.map(a=>(0,b.jsx)(F,{execution:a,isRemoving:A.has(a.executionId),removeReason:A.get(a.executionId),onStop:Q,onSessionEnd:R},a.executionId))})})})})]})}],502160)}];
|
|
1
|
+
module.exports=[502160,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(584335),e=a.i(879876);let f=(0,e.createServerReference)("0074a2acfc7c977675c9240a3cf179d4e8a0497ecb",e.callServer,void 0,e.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var g=a.i(730611);let h=[{id:"1x1",label:"1×1",cols:1,rows:1,minHeight:"480px",desc:"Focus mode"},{id:"2x1",label:"2×1",cols:2,rows:1,minHeight:"480px",desc:"Side by side"},{id:"3x2",label:"3×2",cols:3,rows:2,minHeight:"300px",desc:"Default"},{id:"2x2",label:"2×2",cols:2,rows:2,minHeight:"300px",desc:"Balanced"},{id:"4x2",label:"4×2",cols:4,rows:2,minHeight:"240px",desc:"Wide monitor"},{id:"3x3",label:"3×3",cols:3,rows:3,minHeight:"240px",desc:"Max overview"}];var i=a.i(224372),j=a.i(410756),k=a.i(468518),l=a.i(302856);let m=(0,l.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var n=a.i(220213);function o({cols:a,rows:c,active:d}){let e=Array.from({length:a*c});return(0,b.jsx)("div",{className:`grid gap-[1px] w-7 h-5 p-[3px] rounded-sm border shrink-0 ${d?"border-primary bg-primary/10":"border-border bg-muted"}`,style:{gridTemplateColumns:`repeat(${a}, 1fr)`,gridTemplateRows:`repeat(${c}, 1fr)`},children:e.map((a,c)=>(0,b.jsx)("div",{className:`rounded-[1px] min-w-0 min-h-0 ${d?"bg-primary":"bg-muted-foreground/40"}`},c))})}let p="custom";function q({value:a,customValue:e,onChange:f}){let{t:g}=(0,d.useI18n)(),[i,k]=(0,c.useState)(!1),l=(0,c.useRef)(null),m=a===p,r=m?null:h.find(b=>b.id===a)??h[2],[s,t]=(0,c.useState)(e?.cols??2),[u,v]=(0,c.useState)(e?.rows??2),[w,x]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5});(0,c.useEffect)(()=>{(0,n.getConfigValues)(["missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(a=>{x({minCols:a["missions.grid.minCols"]??1,maxCols:a["missions.grid.maxCols"]??5,minRows:a["missions.grid.minRows"]??1,maxRows:a["missions.grid.maxRows"]??5})})},[]),(0,c.useEffect)(()=>{e&&(t(e.cols),v(e.rows))},[e?.cols,e?.rows]),(0,c.useEffect)(()=>{if(i)return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a);function a(a){l.current&&!l.current.contains(a.target)&&k(!1)}},[i]);let y=(a,b,c)=>Math.max(b,Math.min(c,a)),z=m?s:r?.cols??2,A=m?u:r?.rows??2,B=m?`${s}\xd7${u}`:r?.label??"";return(0,b.jsxs)("div",{ref:l,className:"relative",children:[(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>k(a=>!a),className:"gap-2",children:[(0,b.jsx)(o,{cols:z,rows:A,active:!1}),(0,b.jsx)("span",{children:B}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"▼"})]}),i&&(0,b.jsxs)("div",{className:"absolute right-0 z-50 mt-1 w-72 rounded-lg border border-border bg-popover shadow-xl p-3",children:[(0,b.jsx)("h5",{className:"text-sm font-semibold text-foreground mb-3",children:g("missions.gridPreset")}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[h.map(c=>{let d=c.id===a;return(0,b.jsxs)("button",{onClick:()=>{f(c.id),k(!1)},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors ${d?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(o,{cols:c.cols,rows:c.rows,active:d}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${d?"text-primary":"text-foreground"}`,children:c.label}),(0,b.jsx)("span",{className:`text-xs ${d?"text-primary/60":"text-muted-foreground"}`,children:c.desc})]},c.id)}),(0,b.jsxs)("div",{className:"mt-1 border-t border-border pt-2",children:[(0,b.jsxs)("button",{onClick:()=>{m||f(p,{cols:s,rows:u})},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors w-full ${m?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(o,{cols:s,rows:u,active:m}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${m?"text-primary":"text-foreground"}`,children:g("missions.gridCustom")}),(0,b.jsxs)("span",{className:`text-xs ${m?"text-primary/60":"text-muted-foreground"}`,children:[s,"×",u]})]}),m&&(0,b.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridCols")}),(0,b.jsx)("input",{type:"number",min:w.minCols,max:w.maxCols,value:s,onChange:a=>{let b;t(b=y(Number(a.target.value),w.minCols,w.maxCols)),f(p,{cols:b,rows:u})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"×"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridRows")}),(0,b.jsx)("input",{type:"number",min:w.minRows,max:w.maxRows,value:u,onChange:a=>{let b;v(b=y(Number(a.target.value),w.minRows,w.maxRows)),f(p,{cols:s,rows:b})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]})]})]})]})]})]})}var r=a.i(11505),s=a.i(107788),t=a.i(357089),u=a.i(448287),v=a.i(466126);let w=(0,l.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),x=(0,l.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var y=a.i(54709);let z=(0,l.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var A=a.i(95446),B=a.i(48300),C=a.i(113486),D=a.i(942308);let E=(0,t.default)(async()=>{},{loadableGenerated:{modules:[467005]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"h-full w-full bg-[#0a0a0a] animate-pulse"})});function F({execution:a,isRemoving:e,removeReason:f,onStop:g,onSessionEnd:h}){let{t:i}=(0,d.useI18n)(),k=(0,u.useRouter)(),{attributes:l,listeners:m,setNodeRef:n,transform:o,transition:p}=(0,s.useSortable)({id:a.executionId}),q={transform:v.CSS.Transform.toString(o),transition:p,opacity:+!e},[r,t]=(0,c.useState)(()=>a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0);(0,c.useEffect)(()=>{if(e)return;let b=setInterval(()=>{t(a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0)},1e3);return()=>clearInterval(b)},[a.startedAt,e]);let G=Math.floor(r/60),H=`${G}m ${r%60}s`;async function I(){if(a.projectLocalPath)try{await (0,C.openInTerminal)(a.projectLocalPath)}catch{D.toast.error(i("preview.terminalError"))}}return(0,b.jsxs)("div",{ref:n,style:q,className:"border border-border rounded-lg overflow-hidden flex flex-col transition-opacity duration-300",...l,children:[(0,b.jsxs)("div",{className:"h-10 px-3 flex items-center gap-1 border-b border-border bg-card shrink-0",children:[(0,b.jsx)("button",{...m,"aria-label":i("missions.dragHandle"),"aria-roledescription":"sortable",className:"cursor-grab text-muted-foreground hover:text-foreground mr-1",children:(0,b.jsx)(w,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("span",{className:"text-[11px] text-muted-foreground truncate flex-1",children:[a.workspaceName," ›"," ",a.projectAlias||a.projectName," ›"," ",(0,b.jsx)("span",{className:"text-foreground font-semibold",children:a.taskTitle})]}),e?(0,b.jsx)(B.Badge,{variant:"outline",className:"text-[11px] text-muted-foreground bg-muted ml-1 shrink-0",children:"stopped"===f?i("missions.statusStopped"):i("missions.statusCompleted")}):(0,b.jsx)(B.Badge,{variant:"outline",className:"text-[11px] text-primary border-primary/30 bg-primary/10 ml-1 shrink-0",children:i("missions.statusRunning")}),(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground ml-1 shrink-0",children:H}),a.projectLocalPath&&(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:I}),children:(0,b.jsx)(z,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.openInTerminal")})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:()=>k.push(`/workspaces/${a.workspaceId}/tasks/${a.taskId}`)}),children:(0,b.jsx)(x,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.openFullView")})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"destructive",size:"icon",className:"ml-1 shrink-0",onClick:()=>g(a.taskId),disabled:e}),children:(0,b.jsx)(y.X,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.stopTask")})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,b.jsx)(E,{taskId:a.taskId,worktreePath:a.worktreePath??a.projectLocalPath,onSessionEnd:b=>h?.(a.taskId,b),useCanvasRenderer:!0})})]})}let G=(0,e.createServerReference)("40f10b98befcfeac7f091134a9d3044dd0589408ae",e.callServer,void 0,e.findSourceMapURL,"getWorkspacesWithRecentTasks"),H=(0,e.createServerReference)("402b8c5867f9414d72e69d6b9b5aa8f56b6f453a36",e.callServer,void 0,e.findSourceMapURL,"getProjectTasks");var I=a.i(348703),J=a.i(416902),K=a.i(857122);let L=(0,l.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var M=a.i(595313),N=a.i(358440);let O={TODO:"TODO",IN_PROGRESS:"Running",IN_REVIEW:"Review"},P={LOW:"Low",MEDIUM:"Med",HIGH:"High",CRITICAL:"Crit"};function Q({status:a}){return(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${{TODO:"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400",IN_PROGRESS:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",IN_REVIEW:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400"}[a]??"bg-slate-100 text-slate-600"}`,children:O[a]??a})}function R({task:a,isRunning:c,launchingId:d,onLaunchNew:e,onResume:f,t:g}){let h=a.executions?.[0]?.sessionId,i=d===a.id;return(0,b.jsxs)("div",{className:"group/task flex items-center gap-2 px-3 py-1.5 hover:bg-accent/50 cursor-default",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("p",{className:`text-sm truncate ${c?"italic text-muted-foreground":""}`,children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,b.jsx)(Q,{status:a.status}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:P[a.priority]??a.priority})]})]}),c?(0,b.jsx)("span",{className:"text-[10px] italic text-muted-foreground shrink-0",children:g("missions.alreadyMonitored")}):(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/task:opacity-100 transition-opacity shrink-0",children:[h&&(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>f(a.id,h),disabled:i,title:g("missions.continueSession"),children:[(0,b.jsx)(M.RotateCcw,{className:"h-3 w-3 mr-1"}),g("missions.continueLabel")]}),(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>e(a.id),disabled:i,title:g("missions.launchNew"),children:[(0,b.jsx)(L,{className:"h-3 w-3 mr-1"}),i?"...":g("missions.launchNewLabel")]})]})]})}function S({open:a,onOpenChange:e,onLaunchNew:f,onResume:g,runningTaskIds:h,launchingId:j}){let{t:k}=(0,d.useI18n)(),[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)(""),[p,q]=(0,c.useState)(""),[r,s]=(0,c.useState)([]);(0,c.useEffect)(()=>{a&&(o(""),q(""),s([]),G(100).then(m).catch(()=>D.toast.error(k("missions.error.launchFailed"))))},[a,k]),(0,c.useEffect)(()=>{p?H(p).then(a=>{s(a.filter(a=>"TODO"===a.status||"IN_PROGRESS"===a.status||"IN_REVIEW"===a.status))}).catch(()=>D.toast.error(k("missions.error.launchFailed"))):s([])},[p,k]);let t=l.find(a=>a.id===n),u=t?.projects??[];return(0,b.jsx)(K.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(K.DialogContent,{className:"max-w-lg max-h-[70vh] flex flex-col",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsx)(K.DialogTitle,{children:k("missions.fullPickerTitle")})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,b.jsxs)(i.Select,{value:n,onValueChange:a=>{o(a??""),q("")},children:[(0,b.jsx)(i.SelectTrigger,{id:"full-picker-ws",className:"w-48 h-8",children:(0,b.jsx)("span",{className:"truncate",children:l.find(a=>a.id===n)?.name??k("missions.launcher.selectWorkspace")})}),(0,b.jsx)(i.SelectContent,{children:l.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))})]}),(0,b.jsxs)(i.Select,{value:p,onValueChange:a=>q(a??""),disabled:!n,children:[(0,b.jsx)(i.SelectTrigger,{id:"full-picker-proj",className:"w-48 h-8",children:(0,b.jsx)("span",{className:"truncate",children:u.find(a=>a.id===p)?.name??k("missions.launcher.selectProject")})}),(0,b.jsx)(i.SelectContent,{children:u.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.alias??a.name},a.id))})]})]}),(0,b.jsx)(N.ScrollArea,{className:"flex-1 min-h-0 -mx-2",children:0===r.length&&p?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:k("missions.launcher.noTasks")}):0===r.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:k("missions.fullPickerHint")}):r.map(a=>(0,b.jsx)(R,{task:a,isRunning:h.has(a.id),launchingId:j,onLaunchNew:f,onResume:g,t:k},a.id))})]})})}function T({open:a,onOpenChange:e,onLaunched:f,runningTaskIds:g=new Set,anchorRef:h}){let{t:i}=(0,d.useI18n)(),k=(0,c.useRef)(null),[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1);(0,c.useEffect)(()=>{a&&(o(!0),G(3).then(m).catch(()=>D.toast.error(i("missions.error.launchFailed"))).finally(()=>o(!1)))},[a,i]),(0,c.useEffect)(()=>{if(a)return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b);function b(a){let b=a.target;if(k.current&&!k.current.contains(b)){if(h?.current&&h.current.contains(b))return;e(!1)}}},[a,e,h]);let t=(0,c.useCallback)(async a=>{try{q(a),await (0,I.startPtyExecution)(a,""),f(a),e(!1),s(!1)}catch{D.toast.error(i("missions.error.launchFailed"))}finally{q(null)}},[f,e,i]),u=(0,c.useCallback)(async(a,b)=>{try{q(a),await (0,J.resumePtyExecution)(a,b),f(a),e(!1),s(!1)}catch{D.toast.error(i("missions.error.launchFailed"))}finally{q(null)}},[f,e,i]),v=(0,c.useCallback)(()=>{e(!1),s(!0)},[e]);return a||r?(0,b.jsxs)(b.Fragment,{children:[a&&(0,b.jsxs)("div",{ref:k,className:"absolute right-0 z-50 mt-1 w-96 rounded-lg border border-border bg-popover shadow-xl flex flex-col overflow-hidden",style:{maxHeight:"480px"},children:[(0,b.jsx)("div",{className:"px-3 py-2 border-b border-border shrink-0",children:(0,b.jsx)("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:i("missions.pickerTitle")})}),(0,b.jsx)(N.ScrollArea,{className:"flex-1 min-h-0",children:n?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"Loading..."}):0===l.length?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:i("missions.noAvailableTasks")}):l.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"sticky top-0 z-10 px-3 py-1.5 bg-popover border-b border-border/50",children:(0,b.jsx)("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:a.name})}),a.projects.map(a=>0===a._count.tasks?null:(0,b.jsxs)("div",{className:"mb-1",children:[(0,b.jsx)("div",{className:"px-3 pt-2 pb-0.5",children:(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:a.alias??a.name})}),a.tasks.map(a=>(0,b.jsx)(R,{task:a,isRunning:g.has(a.id),launchingId:p,onLaunchNew:t,onResume:u,t:i},a.id))]},a.id))]},a.id))}),(0,b.jsx)("div",{className:"shrink-0 border-t border-border",children:(0,b.jsx)(j.Button,{variant:"ghost",className:"w-full rounded-none text-xs text-primary font-medium",onClick:v,children:i("missions.showMoreTasks")})})]}),(0,b.jsx)(S,{open:r,onOpenChange:s,onLaunchNew:t,onResume:u,runningTaskIds:g,launchingId:p})]}):null}a.s(["MissionsClient",0,function({initialExecutions:a}){let{t:e}=(0,d.useI18n)(),[l,n]=(0,c.useState)(a),[o,p]=(0,c.useState)(()=>"3x2"),[t,u]=(0,c.useState)(()=>({cols:2,rows:2})),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(""),z=(0,c.useRef)(null),[A,B]=(0,c.useState)(new Map),C=(0,c.useRef)(A);(0,c.useEffect)(()=>{C.current=A},[A]);let E=(0,c.useRef)(new Map),G=h.find(a=>a.id===o)??h[2],H="custom"===o?t.cols:G.cols,I="custom"===o?t.rows:G.rows,J=(0,c.useRef)(null),[K,L]=(0,c.useState)("480px");(0,c.useEffect)(()=>{let a=J.current;if(!a)return;let b=()=>{let b=(a.clientHeight-32-16*(I-1))/I;L(`${Math.max(b,200)}px`)};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[I]);let M=(0,c.useCallback)((a,b)=>{a&&(p(a),localStorage.setItem("missions-grid-preset",a),"custom"===a&&b&&(u(b),localStorage.setItem("missions-grid-custom",JSON.stringify(b))))},[]),N=(0,r.useSensors)((0,r.useSensor)(r.PointerSensor,{activationConstraint:{distance:8}})),O=(0,c.useCallback)(a=>{let{active:b,over:c}=a;c&&b.id!==c.id&&n(a=>{let d=a.findIndex(a=>a.executionId===b.id),e=a.findIndex(a=>a.executionId===c.id);return(0,s.arrayMove)(a,d,e)})},[]),P=(0,c.useCallback)((a,b)=>{if(C.current.has(a))return;B(c=>new Map([...c,[a,b]]));let c=setTimeout(()=>{n(b=>b.filter(b=>b.executionId!==a)),B(b=>{let c=new Map(b);return c.delete(a),c}),E.current.delete(a)},500);E.current.set(a,c)},[]);(0,c.useEffect)(()=>{let a=setInterval(async()=>{try{let a=await f();n(b=>{let c=C.current,{merged:d,goneIds:e}=function({prev:a,fresh:b,removingIds:c}){let d=new Set(b.map(a=>a.executionId)),e=[];a.forEach(a=>{d.has(a.executionId)||c.has(a.executionId)||e.push(a.executionId)});let f=a.filter(a=>d.has(a.executionId)||c.has(a.executionId)),g=new Set(a.map(a=>a.executionId));return{merged:[...f,...b.filter(a=>!g.has(a.executionId))],goneIds:e}}({prev:b,fresh:a,removingIds:new Set(c.keys())});return e.forEach(a=>P(a,"completed")),d})}catch{}},4e3);return()=>clearInterval(a)},[P]),(0,c.useEffect)(()=>{let a=E.current;return()=>{a.forEach(a=>clearTimeout(a))}},[]);let Q=(0,c.useCallback)(async a=>{try{await (0,g.stopPtyExecution)(a),n(b=>{let c=b.find(b=>b.taskId===a);return c&&P(c.executionId,"stopped"),b})}catch{D.toast.error(e("missions.error.stopFailed"))}},[P,e]),R=(0,c.useCallback)((a,b)=>{n(b=>{let c=b.find(b=>b.taskId===a);return c&&P(c.executionId,"completed"),b})},[P]),S=(0,c.useCallback)(a=>{f().then(a=>{n(b=>{let c=new Set(b.map(a=>a.executionId));return[...b,...a.filter(a=>!c.has(a.executionId))]})}).catch(()=>{})},[]),U=Array.from(new Map(l.map(a=>[a.workspaceId,a.workspaceName])).entries()).map(([a,b])=>({id:a,name:b})),V=x?l.filter(a=>a.workspaceId===x):l,W=new Set(l.map(a=>a.taskId));return(0,b.jsxs)("div",{className:"flex h-full flex-col",children:[(0,b.jsxs)("div",{className:"header-sm shrink-0 px-4 flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-base font-semibold",children:e("missions.pageTitle")}),(0,b.jsxs)(i.Select,{value:x,onValueChange:a=>y(a??""),children:[(0,b.jsx)(i.SelectTrigger,{className:"w-36 h-8",children:(0,b.jsx)("span",{className:"truncate",children:x?U.find(a=>a.id===x)?.name??e("missions.filterAll"):e("missions.filterAll")})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"",children:e("missions.filterAll")}),U.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))]})]}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(q,{value:o,customValue:t,onChange:M}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(j.Button,{ref:z,onClick:()=>w(a=>!a),children:e("missions.launchTask")}),(0,b.jsx)(T,{open:v,onOpenChange:w,onLaunched:S,runningTaskIds:W,anchorRef:z})]})]}),(0,b.jsx)("div",{ref:J,className:"flex-1 overflow-auto min-h-0 p-4",children:0===V.length&&0===A.size?(0,b.jsx)(k.EmptyState,{icon:m,title:e("missions.emptyTitle"),description:e("missions.emptyDesc"),className:"h-full",action:(0,b.jsx)(j.Button,{onClick:()=>w(!0),children:e("missions.launchTask")})}):(0,b.jsx)(r.DndContext,{id:"missions-dnd",sensors:N,collisionDetection:r.closestCenter,onDragEnd:O,children:(0,b.jsx)(s.SortableContext,{items:V.map(a=>a.executionId),strategy:s.rectSortingStrategy,children:(0,b.jsx)("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${H}, 1fr)`,gridAutoRows:K},children:V.map(a=>(0,b.jsx)(F,{execution:a,isRemoving:A.has(a.executionId),removeReason:A.get(a.executionId),onStop:Q,onSessionEnd:R},a.executionId))})})})})]})}],502160)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js.map
|