orcasynth 1.4.1 → 1.4.3
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/dist/api/server.js +14 -5
- package/dist/integrations/projectFiles.js +16 -0
- package/dist/integrations/usage/claude.js +7 -7
- package/dist/integrations/usage/codex.js +5 -7
- package/dist/integrations/usage/index.js +2 -8
- package/dist/integrations/usage/walk.js +14 -0
- package/dist/overseer/stuckDetector.js +4 -10
- package/dist/shared/id.js +7 -0
- package/dist/shared/time.js +12 -0
- package/dist/store/cascade.js +24 -0
- package/dist/store/db.js +3 -0
- package/dist/store/projectStore.js +8 -6
- package/dist/store/schema.sql +1 -1
- package/dist/store/taskStore.js +2 -8
- package/package.json +1 -1
- package/web-dist/.next/BUILD_ID +1 -1
- package/web-dist/.next/build-manifest.json +3 -3
- package/web-dist/.next/server/app/_global-error.html +1 -1
- package/web-dist/.next/server/app/_global-error.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web-dist/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/_not-found.html +1 -1
- package/web-dist/.next/server/app/_not-found.rsc +11 -11
- package/web-dist/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/web-dist/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/web-dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/web-dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/account/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/account/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/account.html +1 -1
- package/web-dist/.next/server/app/account.rsc +13 -13
- package/web-dist/.next/server/app/account.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/account.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/account.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/account.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/account.segments/account/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/account.segments/account.segment.rsc +3 -3
- package/web-dist/.next/server/app/dash/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/dash/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/dash.html +1 -1
- package/web-dist/.next/server/app/dash.rsc +13 -13
- package/web-dist/.next/server/app/dash.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/dash.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/dash.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/dash.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/dash.segments/dash/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/dash.segments/dash.segment.rsc +3 -3
- package/web-dist/.next/server/app/escalations/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/escalations/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/escalations.html +1 -1
- package/web-dist/.next/server/app/escalations.rsc +13 -13
- package/web-dist/.next/server/app/escalations.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/escalations.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/escalations.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/escalations.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/escalations.segments/escalations/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/escalations.segments/escalations.segment.rsc +3 -3
- package/web-dist/.next/server/app/index.html +1 -1
- package/web-dist/.next/server/app/index.rsc +13 -13
- package/web-dist/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/index.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/index.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/kanban/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/kanban/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/kanban.html +1 -1
- package/web-dist/.next/server/app/kanban.rsc +13 -13
- package/web-dist/.next/server/app/kanban.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/kanban.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/kanban.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/kanban.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/kanban.segments/kanban/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/kanban.segments/kanban.segment.rsc +3 -3
- package/web-dist/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/onboarding.html +1 -1
- package/web-dist/.next/server/app/onboarding.rsc +13 -13
- package/web-dist/.next/server/app/onboarding.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/onboarding.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/web-dist/.next/server/app/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/projects/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/projects.html +1 -1
- package/web-dist/.next/server/app/projects.rsc +13 -13
- package/web-dist/.next/server/app/projects.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/projects.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/projects.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/projects.segments/projects.segment.rsc +3 -3
- package/web-dist/.next/server/app/sessions/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/sessions.html +1 -1
- package/web-dist/.next/server/app/sessions.rsc +13 -13
- package/web-dist/.next/server/app/sessions.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/sessions.segments/sessions/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/sessions.segments/sessions.segment.rsc +3 -3
- package/web-dist/.next/server/app/settings/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/settings.html +1 -1
- package/web-dist/.next/server/app/settings.rsc +13 -13
- package/web-dist/.next/server/app/settings.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/settings.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/web-dist/.next/server/app/tasks/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/tasks.html +1 -1
- package/web-dist/.next/server/app/tasks.rsc +13 -13
- package/web-dist/.next/server/app/tasks.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/tasks.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/tasks.segments/tasks.segment.rsc +3 -3
- package/web-dist/.next/server/app/timeline/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/timeline/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/timeline.html +1 -1
- package/web-dist/.next/server/app/timeline.rsc +13 -13
- package/web-dist/.next/server/app/timeline.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/timeline.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/timeline.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/timeline.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/timeline.segments/timeline/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/timeline.segments/timeline.segment.rsc +3 -3
- package/web-dist/.next/server/app/users/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/users/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/users.html +1 -1
- package/web-dist/.next/server/app/users.rsc +13 -13
- package/web-dist/.next/server/app/users.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/users.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/users.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/users.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/users.segments/users/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/users.segments/users.segment.rsc +3 -3
- package/web-dist/.next/server/chunks/[root-of-the-server]__0bvp8h1._.js +1 -1
- package/web-dist/.next/server/chunks/[root-of-the-server]__1dgbigm._.js +1 -1
- package/web-dist/.next/server/chunks/[root-of-the-server]__1wxxtv8._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/{[root-of-the-server]__1tooevx._.js → [root-of-the-server]__0i_7o4p._.js} +2 -2
- package/web-dist/.next/server/chunks/ssr/_015zf-4._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_04ezsju._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_04o_q14._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_057a06r._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_085pshu._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_0tc9z5_._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_0tzourm._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_12jhzvy._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_136wthy._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_193-v_i._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_1heytlk._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_1mjzb9s._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_1xwktd-._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_1zscr7t._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/app_dash_page_tsx_12v0wx-._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/app_kanban_page_tsx_06_8oyf._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/app_projects_page_tsx_1w-8z74._.js +3 -3
- package/web-dist/.next/server/chunks/ssr/app_tasks_page_tsx_1p6mxbw._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/app_timeline_page_tsx_0thxir0._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/components_shell_Shell_tsx_1e5c27h._.js +1 -1
- package/web-dist/.next/server/middleware-build-manifest.js +3 -3
- package/web-dist/.next/server/pages/404.html +1 -1
- package/web-dist/.next/server/pages/500.html +1 -1
- package/web-dist/.next/static/chunks/0l1t1fcd-_jj9.js +1 -0
- package/web-dist/.next/static/chunks/11xbsx12drypd.js +1 -0
- package/web-dist/.next/static/chunks/186xbnkxm5iu3.js +1 -0
- package/web-dist/.next/static/chunks/1c_1_ca4-vgc7.js +1 -0
- package/web-dist/.next/static/chunks/{3wo9m5v__3pi2.js → 1f5f3qgbcjv4u.js} +1 -1
- package/web-dist/.next/static/chunks/1t-dast4rat3s.css +2 -0
- package/web-dist/.next/static/chunks/1wsag7zex3h4_.js +1 -0
- package/web-dist/.next/static/chunks/24unfsl4do--1.js +1 -0
- package/web-dist/.next/static/chunks/2bfjq22q8xyfs.js +1 -0
- package/web-dist/.next/static/chunks/2kuzf7llj_291.js +1 -0
- package/web-dist/.next/static/chunks/2pbhzo7fu4xcs.js +11 -0
- package/web-dist/.next/static/chunks/30ztbacooyerd.js +1 -0
- package/web-dist/.next/static/chunks/34bew8owm40fg.js +1 -0
- package/web-dist/.next/static/chunks/3a7pgnw_6io2v.js +1 -0
- package/web-dist/.next/static/chunks/3k-swqzkcvlzm.js +1 -0
- package/web-dist/.next/static/chunks/{0xgdqczv5tvu5.js → 3saus_snl5ri7.js} +1 -1
- package/web-dist/.next/server/chunks/ssr/_09x5h4x._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_0lctmoh._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_0zho8fx._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_1812xdn._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_1m2qx8p._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_1w24b42._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/app_sessions_page_tsx_0r1_4_3._.js +0 -3
- package/web-dist/.next/static/chunks/05jfk0-07tiga.js +0 -11
- package/web-dist/.next/static/chunks/0x8sf96sz490-.css +0 -2
- package/web-dist/.next/static/chunks/201p8-_l1h8w8.js +0 -1
- package/web-dist/.next/static/chunks/218i8jnxp91u8.js +0 -1
- package/web-dist/.next/static/chunks/2_uoi0tzglv_7.js +0 -1
- package/web-dist/.next/static/chunks/2ki5va2_5l6d6.js +0 -1
- package/web-dist/.next/static/chunks/2sm_cc2r9sjzp.js +0 -1
- package/web-dist/.next/static/chunks/2xur1zqckjlq3.js +0 -1
- package/web-dist/.next/static/chunks/35babynx5l240.js +0 -1
- package/web-dist/.next/static/chunks/3i0jpc47nxz7y.js +0 -1
- package/web-dist/.next/static/chunks/3soklmhd2y9yp.js +0 -1
- package/web-dist/.next/static/chunks/3ssnuxdh0r51g.js +0 -1
- package/web-dist/.next/static/chunks/3ybvfq13cp-hb.js +0 -1
- package/web-dist/.next/static/chunks/3yqt3l54sr5si.js +0 -1
- /package/web-dist/.next/static/{qtJrbMvehxNiblgQJOzhz → -qI9ABgqZPR_Ri56jzVI5}/_buildManifest.js +0 -0
- /package/web-dist/.next/static/{qtJrbMvehxNiblgQJOzhz → -qI9ABgqZPR_Ri56jzVI5}/_clientMiddlewareManifest.js +0 -0
- /package/web-dist/.next/static/{qtJrbMvehxNiblgQJOzhz → -qI9ABgqZPR_Ri56jzVI5}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[69474,a=>{"use strict";var b=a.i(87924),c=a.i(70777),d=a.i(72131),e=a.i(50944),f=a.i(15618),g=a.i(55023),h=a.i(87532),i=a.i(42900),j=a.i(81560),k=a.i(33508),l=a.i(13749),m=a.i(50522),n=a.i(60702),o=a.i(67329),p=a.i(76645),q=a.i(81415),r=a.i(31423),s=a.i(18517),t=a.i(99464),u=a.i(5641),v=a.i(70106);let w=(0,v.default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var x=a.i(97593),y=a.i(5292),z=a.i(69922),A=a.i(5151),B=a.i(4416),C=a.i(87654);let D=(0,v.default)("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var E=a.i(82717),F=a.i(34205),G=a.i(89697);a.i(28130);var H=a.i(29457);function I(a){let b=(0,s.useSpawn)(),c=(0,s.useKillSession)(),d=(0,s.useSetTaskStatus)(),e=(0,s.useSendInput)(),f=(0,p.useSessions)(),{toast:g}=(0,G.useToast)(),{t:h}=(0,H.useTranslation)(),i=(0,F.taskExec)(a.labels),j=(0,q.taskSessionName)(a),k="in_progress"===a.status&&!!j&&(f.data??[]).includes(j);return{session:j,running:k,start:()=>b.mutate({taskId:a.id,exec:i||void 0},{onSuccess:a=>g(h.tasks.launched.replace("{session}",a.session)),onError:a=>g((0,E.apiErrorMessage)(a),"error")}),stop:()=>{j&&c.mutate(j),d.mutate({id:a.id,status:"open"},{onSuccess:()=>g(h.tasks.stopped.replace("{id}",a.id)),onError:a=>g((0,E.apiErrorMessage)(a),"error")})},pause:()=>{j&&e.mutate({name:j,keys:["C-c"]},{onSuccess:()=>g(h.sessions.interrupted.replace("{name}",j)),onError:a=>g((0,E.apiErrorMessage)(a),"error")})}}}var J=a.i(70150),K=a.i(34048),L=a.i(7947),M=a.i(80789),N=a.i(47034),O=a.i(29930),P=a.i(90854),Q=a.i(91589),R=a.i(76773),S=a.i(9173),T=a.i(30322),U=a.i(35360);function V({taskId:a,onEdit:c,onBack:e}){let{t:f,locale:g}=(0,H.useTranslation)(),h=(0,p.useTasks)(),j=(0,p.useAllDeps)(),k=(0,p.useActivity)("signal"),{data:m}=(0,p.useConfig)(),n=(0,s.useCloseTask)(),o=(0,s.useSetTaskStatus)(),r=(0,s.useResumeMission)(),{toast:v}=(0,G.useToast)(),[X,Y]=(0,d.useState)(!1),Z=h.data?.find(b=>b.id===a),{session:$,running:_,start:aa,stop:ab,pause:ac}=I(Z??{id:a,title:"",status:"open"}),ad=(0,p.useSessionSignal)($??"");if(!Z)return(0,b.jsx)(S.EmptyState,{title:f.tasks.selectHint,icon:y.TerminalSquare});let ae=(0,U.taskTypeMeta)(Z.type).icon,af=(0,F.taskExec)(Z.labels),ag=af||m?.defaults?.exec||"",ah=(0,q.taskAgentName)(Z),ai="closed"===Z.status||"cancelled"===Z.status,aj=Z.closed_at||Z.created_at,ak=(0,J.formatTaskTime)(aj,Date.now(),g),al=new Map((h.data??[]).map(a=>[a.id,a])),am=(j.data??[]).filter(b=>b.task_id===a).map(a=>al.get(a.depends_on_id)).filter(a=>!!a),an=(k.data??[]).filter(b=>b.target===a||$&&b.target===$).slice(0,6),ao=async()=>{try{await navigator.clipboard.writeText(Z.id),v(f.tasks.idCopied.replace("{id}",Z.id))}catch{v(f.tasks.idCopyFailed,"error")}},ap=!!Z.parent_id,aq="epic"===Z.type,ar=a=>{o.mutate({id:Z.id,status:"open"},{onSuccess:()=>{ap&&r.mutate(`m-${Z.parent_id}`,{onError:()=>{}}),v(a.replace("{id}",Z.id))},onError:a=>v((0,E.apiErrorMessage)(a),"error")})};return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"sticky top-0 z-10 -mx-4 flex flex-col gap-2 border-b border-border bg-surface px-4 pb-3 pt-1",children:[e?(0,b.jsxs)("button",{type:"button",onClick:e,className:"-ml-1 inline-flex w-fit items-center gap-1 rounded-md px-1.5 py-1 text-xs text-text-muted transition-colors hover:bg-elevated hover:text-text",children:[(0,b.jsx)(l.ChevronLeft,{size:14,"aria-hidden":!0}),f.tasks.backToFlow]}):null,(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("span",{className:"flex h-12 w-12 shrink-0 items-center justify-center rounded-xl border border-border bg-elevated",children:ag?(0,b.jsx)(L.ModelIcon,{name:ag,size:26}):(0,b.jsx)(ae,{size:22,className:"text-text-muted","aria-hidden":!0})}),(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)("h2",{className:"min-w-0 flex-1 text-base font-semibold text-text",children:Z.title}),(0,b.jsx)(N.AgentStatusDot,{signal:ad,live:_})]}),(0,b.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 font-mono text-[11px] text-text-muted",children:[(0,b.jsx)("span",{children:Z.id}),(0,b.jsx)(M.IconButton,{icon:A.Copy,label:f.tasks.copyId,onClick:ao}),ah?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"opacity-50",children:"·"}),(0,b.jsx)("span",{children:(0,q.taskSessionName)(Z)})]}):null,ak.label?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"opacity-50",children:"·"}),(0,b.jsx)("span",{title:ak.title,children:ak.label})]}):null]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(K.Badge,{tone:(0,T.statusTone)(Z.status),children:(0,U.statusLabel)(f,Z.status)}),ai?(0,b.jsx)(O.OutcomeBadge,{outcome:Z.outcome}):null,af?(0,b.jsx)(K.Badge,{children:af}):null,ah?(0,b.jsx)(P.TaskUsageBadge,{taskId:Z.id,live:_}):null]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[_?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(M.IconButton,{icon:w,label:f.tasks.stop,variant:"danger",onClick:ab}),(0,b.jsx)(M.IconButton,{icon:x.SquareSlash,label:f.sessions.interrupt,onClick:ac})]}):"blocked"===Z.status&&ap?(0,b.jsx)(M.IconButton,{icon:B.ShieldCheck,label:f.tasks.approveContinue,onClick:()=>ar(f.tasks.approved)}):ai&&ap?(0,b.jsx)(M.IconButton,{icon:C.RotateCcw,label:f.tasks.rerun,onClick:()=>ar(f.tasks.rerunning)}):(0,b.jsx)(M.IconButton,{icon:u.Play,label:f.tasks.start,onClick:aa}),$?(0,b.jsx)(M.IconButton,{icon:y.TerminalSquare,label:f.tasks.openTerminal,onClick:()=>Y(!0)}):null,c?(0,b.jsx)(M.IconButton,{icon:t.Pencil,label:f.common.edit,onClick:()=>c(Z)}):null,ai?null:(0,b.jsx)(M.IconButton,{icon:i.Archive,label:f.tasks.closeArchive,onClick:()=>n.mutate(Z.id,{onSuccess:()=>v(f.tasks.closed.replace("{id}",Z.id)),onError:a=>v(String(a),"error")})})]})]}),Z.description?.trim()?(0,b.jsx)(W,{label:f.tasks.fieldDetails,children:(0,b.jsx)("p",{className:"whitespace-pre-wrap text-sm leading-relaxed text-text-muted",children:Z.description})}):null,am.length>0?(0,b.jsx)(W,{label:f.tasks.dependencies,children:(0,b.jsx)("ul",{className:"flex flex-col gap-1",children:am.map(a=>(0,b.jsxs)("li",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(z.Link2,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-text",children:a.title}),(0,b.jsx)(K.Badge,{tone:(0,T.statusTone)(a.status),children:(0,U.statusLabel)(f,a.status)})]},a.id))})}):null,_&&$?(0,b.jsx)(W,{label:f.tasks.liveOutput,children:(0,b.jsx)(Q.LiveTail,{name:$,lines:28,heightClass:"max-h-96",onExpand:()=>Y(!0)})}):null,ai&&(Z.result_summary||Z.outcome)?(0,b.jsx)(W,{label:aq?f.tasks.missionSummaryTitle:f.tasks.resultTitle,children:(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-lg border border-border bg-elevated p-3",children:[(0,b.jsx)(D,{size:15,className:"mt-0.5 shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("p",{className:"whitespace-pre-wrap text-sm leading-relaxed text-text",children:Z.result_summary?.trim()||f.tasks.noSummary})]})}):null,an.length>0?(0,b.jsx)(W,{label:f.tasks.recentActivity,children:(0,b.jsx)("ul",{className:"flex flex-col divide-y divide-border",children:an.map(a=>(0,b.jsxs)("li",{className:"flex items-center gap-2 py-1.5 text-xs",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-text-muted",children:a.detail}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-text-muted opacity-70",children:a.ts.slice(11,16)})]},a.id))})}):null,X&&$&&(0,b.jsx)(R.TerminalModal,{session:$,onClose:()=>Y(!1)})]})}function W({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-text-muted",children:a}),c]})}var X=a.i(82478);function Y({epic:a,phases:c,activeId:e,onSelectPhase:f}){let{t:g}=(0,H.useTranslation)(),h=(0,p.useSessions)(),i=(0,p.useSessionSignals)(),{data:j}=(0,p.useConfig)(),k=new Set(h.data??[]),{done:l,total:m}=(0,r.epicProgress)(c);return(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-xl border border-accent/40 bg-accent/[0.06] p-3",style:{boxShadow:"var(--shadow-card)"},children:[(0,b.jsx)("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-border bg-elevated",children:(0,b.jsx)(X.Rocket,{size:20,className:"text-accent","aria-hidden":!0})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("h2",{className:"truncate text-sm font-semibold text-text",children:a.title}),(0,b.jsxs)("span",{className:"font-mono text-[11px] text-text-muted",children:[l,"/",m," ",g.tasks.phasesLabel]})]}),(0,b.jsx)(K.Badge,{tone:(0,T.statusTone)(a.status),children:(0,U.statusLabel)(g,a.status)})]}),c.map((a,c)=>{let h=(0,F.taskExec)(a.labels)||j?.defaults?.exec||"",l=(0,q.taskAgentName)(a),m=(0,q.taskSessionName)(a),n="in_progress"===a.status&&!!m&&k.has(m),o=m?i[m]:void 0,p=n||o?.type==="needs_input";return(0,b.jsxs)(d.Fragment,{children:[(0,b.jsx)("div",{className:"ml-5 flex h-6 w-px justify-center",children:(0,b.jsx)("span",{className:`h-full w-px ${p?"flow-edge flow-edge-active":"flow-edge"}`,"aria-hidden":!0})}),(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>f(a.id),className:`group flex min-w-0 flex-1 items-center gap-3 rounded-xl border bg-surface p-3 text-left transition-all hover:-translate-y-0.5 ${e===a.id?"border-accent":"border-border hover:border-border-strong"} ${p?"flow-active":""}`,style:{boxShadow:"var(--shadow-card)",transitionDuration:"var(--motion-fast)"},children:[(0,b.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-border bg-elevated font-mono text-[11px] text-text-muted",children:c+1}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium text-text",children:a.title}),(0,b.jsx)(K.Badge,{tone:(0,T.statusTone)(a.status),children:(0,U.statusLabel)(g,a.status)})]}),h||l?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"hidden h-px w-6 shrink-0 sm:block flow-edge-h","aria-hidden":!0}),(0,b.jsxs)("div",{className:"flex shrink-0 flex-col gap-1.5 pl-8 sm:pl-0",children:[h?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-elevated px-2 py-1 text-[11px] text-text-muted",title:h,children:[(0,b.jsx)(L.ModelIcon,{name:h,size:14}),(0,b.jsx)("span",{className:"font-mono",children:h})]}):null,l?(0,b.jsxs)("button",{type:"button",onClick:()=>f(a.id),className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-elevated px-2 py-1 text-[11px] text-text transition-colors hover:border-border-strong",title:l,children:[(0,b.jsx)(N.AgentStatusDot,{signal:o,live:n,size:"sm"}),(0,b.jsx)("span",{className:"font-mono",children:l})]}):null]})]}):null]})]},a.id)})]})}var Z=a.i(49651),$=a.i(8549),_=a.i(30206),aa=a.i(72089),ab=a.i(58530),ac=a.i(32824),ad=a.i(49134),ae=a.i(57581),af=a.i(41710),ag=a.i(1027),ah=a.i(66429),ai=a.i(36421),aj=a.i(3470);function ak({task:a,onEdit:c,onSelect:e,active:f=!1,blockers:g,selected:h=!1,onToggleSelect:k,selecting:l=!1}){let m=(0,s.useCloseTask)(),n=(0,s.useDeleteTask)(),{toast:o}=(0,G.useToast)(),{t:q,locale:r}=(0,H.useTranslation)(),[v,x]=(0,d.useState)(!1),{data:y}=(0,p.useConfig)(),z=(0,U.taskTypeMeta)(a.type).icon,A=(0,F.taskExec)(a.labels)||y?.defaults?.exec||"",B="closed"===a.status,{session:C,running:D,start:E,stop:P,pause:Q}=I(a),R=(0,p.useSessionSignal)(C??""),S=(0,aj.useSessionStall)(C??"",D&&!!C),V=C?{stall:S.state,silenceSec:S.silenceSec}:{},W=(g?.length??0)>0,X=()=>(e??c)(a),Y=a.scheduled_at||a.closed_at||a.created_at,Z=Y?(0,J.formatTaskTime)(Y,Date.now(),r):null;return(0,b.jsxs)("div",{role:"button",tabIndex:0,onClick:X,onKeyDown:a=>{"Enter"===a.key&&X()},className:`card-interactive group relative flex flex-wrap cursor-pointer items-center gap-x-3 gap-y-2 rounded-lg border p-2.5 ${h||f?"border-accent bg-accent/[0.06]":"border-border bg-surface"}`,children:[(0,b.jsx)("span",{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border-2 bg-elevated ${D?"border-accent":"border-border"}`,children:A?(0,b.jsx)(L.ModelIcon,{name:A,size:26}):(0,b.jsx)(z,{size:22,className:"text-text-muted","aria-hidden":!0})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium text-text",children:a.title}),(0,b.jsx)(N.AgentStatusDot,{signal:R,live:D,size:"sm",...V})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[A?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",title:A,children:[(0,b.jsx)(L.ModelIcon,{name:A,size:11}),(0,ah.execModel)(A)]}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(z,{size:11,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"truncate font-mono text-[11px] text-text-muted",children:a.id})]}),W?(0,b.jsxs)("span",{className:"shrink-0 text-[11px] text-warning",title:g.map(a=>a.title).join(", "),children:["· ",q.tasks.dependencies," ",g.length]}):null]})]}),(0,b.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:w-auto sm:justify-end",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[Z?(0,b.jsx)("span",{title:Z.title,children:(0,b.jsxs)(K.Badge,{tone:"muted",children:[a.scheduled_at&&a.autostart?(0,b.jsx)(ag.Zap,{size:11,className:"mr-1 inline","aria-hidden":!0}):(0,b.jsx)(af.Clock,{size:11,className:"mr-1 inline","aria-hidden":!0}),Z.label]})}):null,(0,b.jsx)(ac.ProjectPill,{projectId:a.project_id}),B?(0,b.jsx)(O.OutcomeBadge,{outcome:a.outcome}):null,(0,b.jsx)(K.Badge,{tone:(0,T.statusTone)(a.status),children:(0,U.statusLabel)(q,a.status)})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",onClick:a=>a.stopPropagation(),children:[D?(0,b.jsx)(M.IconButton,{icon:w,label:q.tasks.stop,variant:"danger",onClick:P}):(0,b.jsx)(M.IconButton,{icon:u.Play,label:q.tasks.start,onClick:E}),D?(0,b.jsx)(M.IconButton,{icon:$.Pause,label:q.tasks.pause,onClick:Q}):null,(0,b.jsx)(M.IconButton,{icon:t.Pencil,label:q.common.edit,onClick:()=>c(a)}),(0,b.jsx)(ad.ActionMenu,{label:q.tasks.deleteOrClose,items:[{label:q.tasks.closeArchive,icon:i.Archive,onSelect:()=>m.mutate(a.id,{onSuccess:()=>o(q.tasks.closed.replace("{id}",a.id)),onError:a=>o(String(a),"error")})},{label:q.tasks.deletePermanently,icon:j.Trash2,tone:"danger",onSelect:()=>x(!0)}]})]})]}),k?(0,b.jsx)("button",{type:"button",role:"checkbox","aria-checked":h,"aria-label":q.sessions.selectLabel.replace("{id}",a.id),onClick:b=>{b.stopPropagation(),k(a.id)},className:`shrink-0 transition-opacity ${l||h?"opacity-100":"opacity-0 group-hover:opacity-100"}`,children:(0,b.jsx)(ai.Checkbox,{checked:h})}):null,v&&(0,b.jsx)("div",{onClick:a=>a.stopPropagation(),children:(0,b.jsx)(ae.ConfirmDialog,{open:v,title:q.tasks.confirmDeleteTitle.replace("{id}",a.id),description:q.tasks.confirmDeleteDescription,onClose:()=>x(!1),onConfirm:()=>{x(!1),n.mutate(a.id,{onSuccess:()=>o(q.tasks.deleted.replace("{id}",a.id)),onError:a=>o(String(a),"error")})}})})]})}var al=a.i(8406),am=a.i(17545),an=a.i(68522),ao=a.i(88736),ap=a.i(12466),aq=a.i(18180),ar=a.i(56993),as=a.i(53876),at=a.i(83549);function au({epicId:a,onClose:c}){let{data:e}=(0,p.useConfig)(),h=(0,s.useInsertPhases)(),{toast:i}=(0,G.useToast)(),{t:j}=(0,H.useTranslation)(),l=(0,an.allModels)(e?.customModels,e?.hiddenPresets).filter(a=>!e?.allowedExecs||e.allowedExecs.includes(a.exec)),[m,n]=(0,d.useState)("manual"),[o,q]=(0,d.useState)(""),[r,t]=(0,d.useState)(""),[u,v]=(0,d.useState)([{title:"",type:"task"}]),w=h.isPending;async function x(){let b="manual"===m?{phases:u.map(a=>({title:a.title.trim(),type:a.type})).filter(a=>a.title)}:{goal:r.trim()};if("manual"===m&&(!b.phases||0===b.phases.length))return void i(j.missions.addPhaseAtLeastOne,"error");if("replan"===m&&!b.goal)return void i(j.missions.addPhaseGoalRequired,"error");let d={...b,exec:o||void 0};try{let b=await h.mutateAsync({epicId:a,body:d});i(j.missions.addPhaseInserted.replace("{count}",String(b.phases.length)).replace("{s}",1===b.phases.length?"":"s").replace("{epicId}",a)),c()}catch(a){a instanceof E.OrcaApiError&&"autopilot_key_missing"===a.code?i(j.tasks.autopilotKeyMissing,"error"):i(String(a),"error")}}return(0,b.jsxs)(ao.Modal,{title:j.missions.addPhaseModalTitle.replace("{epic}",a),description:a,onClose:c,size:"md",icon:am.Layers,children:[(0,b.jsxs)(ao.ModalBody,{children:[(0,b.jsx)("p",{className:"text-xs text-text-muted",children:j.missions.addPhaseModalDesc}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)(at.Segmented,{value:m,onChange:a=>n(a),options:[{value:"manual",label:j.missions.addPhaseModeManual,icon:g.ListChecks},{value:"replan",label:j.missions.addPhaseModeReplan,icon:al.Sparkles}]}),(0,b.jsx)("p",{className:"text-xs text-text-muted",children:"manual"===m?j.missions.addPhaseManualDesc:j.missions.addPhaseReplanDesc})]}),"manual"===m?(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[u.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(aq.Input,{value:a.title,placeholder:j.tasks.phasePlaceholder.replace("{n}",String(c+1)),onChange:a=>v(b=>b.map((b,d)=>d===c?{...b,title:a.target.value}:b))}),(0,b.jsx)(ar.Select,{value:a.type,onChange:a=>v(b=>b.map((b,d)=>d===c?{...b,type:a.target.value}:b)),className:"w-32",children:U.TASK_TYPES.filter(a=>"epic"!==a).map(a=>(0,b.jsx)("option",{value:a,children:(0,U.taskTypeLabel)(j,a)},a))}),(0,b.jsx)(M.IconButton,{icon:k.X,label:j.tasks.removePhase,onClick:()=>v(a=>a.length>1?a.filter((a,b)=>b!==c):a)})]},c)),(0,b.jsxs)("button",{type:"button",onClick:()=>v(a=>[...a,{title:"",type:"task"}]),className:"inline-flex items-center gap-1 self-start text-xs text-accent hover:underline",children:[(0,b.jsx)(f.Plus,{size:13,"aria-hidden":!0})," ",j.tasks.addPhase]})]}):(0,b.jsx)(as.Field,{label:j.missions.addPhaseFieldGoal,hint:j.missions.addPhaseGoalHint,children:(0,b.jsx)("textarea",{value:r,onChange:a=>t(a.target.value),placeholder:j.missions.addPhaseGoalPlaceholder,rows:4,className:"w-full rounded-md border border-border bg-surface px-3 py-2 text-sm text-text placeholder:text-text-muted focus:border-accent focus:outline-none"})}),(0,b.jsx)(as.Field,{label:j.missions.addPhaseFieldExecutor,children:(0,b.jsxs)(ar.Select,{value:o,onChange:a=>q(a.target.value),children:[(0,b.jsx)("option",{value:"",children:j.tasks.defaultExecutor}),l.map(a=>(0,b.jsx)("option",{value:a.exec,children:a.label},a.exec))]})})]}),(0,b.jsxs)(ao.ModalFooter,{children:[(0,b.jsx)(ap.Button,{variant:"ghost",onClick:c,children:j.common.cancel}),(0,b.jsx)(ap.Button,{variant:"accent",disabled:w,onClick:x,children:j.missions.addPhaseInsert})]})]})}function av({epic:a,phases:c,effectiveStatus:e,expanded:g,onToggle:h,onEdit:i,onSelect:k,activeId:l,blockedBy:n}){let{t:o}=(0,H.useTranslation)(),q=(0,p.useSessions)(),t=(0,p.useSessionSignals)(),v=(0,p.useMissions)(),{data:w}=(0,p.useConfig)(),{toast:x}=(0,G.useToast)(),y=(0,s.useDeleteMission)(),z=(0,s.useEngage)(),A=(0,s.usePauseMission)(),B=(0,s.useResumeMission)(),C=(0,s.useDisengage)(),[D,F]=(0,d.useState)(!1),[I,J]=(0,d.useState)(!1),{done:L,total:M}=(0,r.epicProgress)(c),{running:N,needsInput:O}=(0,r.epicLive)(c,q.data??[],t),P=(0,U.taskTypeMeta)("epic").icon,Q=(0,Z.useQueries)({queries:c.map(a=>({queryKey:["task-usage",a.id],queryFn:()=>E.orcaClient.taskUsage(a.id),staleTime:3e5}))}).reduce((a,b)=>a+(b.data?.costUsd??0),0),R=v.data?.find(b=>b.epic_id===a.id)??null,S=(e??a.status)==="closed"||(e??a.status)==="cancelled",V=null!=R&&"disengaged"!==R.state,W=R?.state==="paused";return(0,b.jsxs)("div",{className:"group/epic rounded-lg border border-accent/30 bg-accent/[0.04]",children:[(0,b.jsxs)("div",{className:"relative flex items-stretch",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>{h(),k(a)},"aria-expanded":g,className:`flex min-w-0 flex-1 items-center gap-3 p-3 text-left transition-colors hover:bg-accent/[0.06] ${l===a.id?"bg-accent/[0.06]":""}`,children:[(0,b.jsx)(m.ChevronRight,{size:16,className:`shrink-0 text-text-muted transition-transform ${g?"rotate-90":""}`,"aria-hidden":!0}),(0,b.jsx)("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-border bg-elevated",children:(0,b.jsx)(P,{size:20,className:"text-accent","aria-hidden":!0})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-text",children:a.title}),O>0||N>0?(0,b.jsx)("span",{className:"live-dot h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:O>0?"var(--color-warning)":"var(--color-success)","--live-ring":O>0?"color-mix(in srgb, var(--color-warning) 50%, transparent)":"color-mix(in srgb, var(--color-success) 50%, transparent)"},"aria-hidden":!0}):null]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(ab.ProgressRibbon,{phases:c,className:"max-w-[12rem] flex-1"}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-text-muted",children:[L,"/",M," ",o.tasks.phasesLabel]}),Q>0?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-0.5 rounded border border-approve/30 px-1.5 py-0.5 font-mono text-[11px] text-approve",title:`${o.usage.cost}: $${Q.toFixed(4)}`,children:[(0,b.jsx)(aa.Coins,{size:10,className:"shrink-0","aria-hidden":!0}),"$",Q.toFixed(4)]}):null,(0,b.jsx)(ac.ProjectPill,{projectId:a.project_id})]})]}),(0,b.jsx)(K.Badge,{tone:(0,T.statusTone)(e??a.status),children:(0,U.statusLabel)(o,e??a.status)})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 pr-3",children:[V||S||R?null:(0,b.jsx)(aw,{icon:X.Rocket,label:o.missions.engage,tone:"accent",onClick:()=>z.mutate({epicId:a.id,autonomy:w?.defaults?.autonomy??"L3",maxSessions:w?.defaults?.maxSessions??1},{onSuccess:()=>x(o.missions.engaged.replace("{epicId}",a.id)),onError:a=>x(String(a),"error")}),disabled:z.isPending}),V?(0,b.jsxs)(b.Fragment,{children:[W?(0,b.jsx)(aw,{icon:u.Play,label:o.missions.resume,tone:"accent",onClick:()=>B.mutate(R.id,{onSuccess:()=>x(o.missions.resumed),onError:a=>x(String(a),"error")}),disabled:B.isPending}):(0,b.jsx)(aw,{icon:$.Pause,label:o.missions.pause,onClick:()=>A.mutate(R.id,{onSuccess:()=>x(o.missions.pausedMsg),onError:a=>x(String(a),"error")}),disabled:A.isPending}),(0,b.jsx)(aw,{icon:_.Power,label:o.missions.disengage,tone:"danger",onClick:()=>C.mutate(R.id,{onSuccess:()=>x(o.missions.disengaged),onError:a=>x(String(a),"error")}),disabled:C.isPending})]}):null,(0,b.jsx)("div",{className:"opacity-0 transition-opacity group-hover/epic:opacity-100",children:(0,b.jsx)(ad.ActionMenu,{label:o.tasks.epicActions,items:[{label:o.missions.addPhase,icon:f.Plus,onSelect:()=>J(!0)},{label:o.tasks.deleteMission,icon:j.Trash2,tone:"danger",onSelect:()=>F(!0)}]})})]})]}),g?(0,b.jsx)("div",{className:"flex flex-col gap-2.5 rounded-b-lg border-t border-accent/20 bg-bg/30 p-2.5 pl-5",children:c.map(a=>(0,b.jsx)(ak,{task:a,onEdit:i,onSelect:k,active:l===a.id,blockers:n.get(a.id)},a.id))}):null,I&&(0,b.jsx)(au,{epicId:a.id,onClose:()=>J(!1)}),(0,b.jsx)(ae.ConfirmDialog,{open:D,title:o.tasks.confirmDeleteMissionTitle.replace("{id}",a.id),description:o.tasks.confirmDeleteMissionDescription,confirmLabel:o.tasks.deleteMission,onClose:()=>F(!1),onConfirm:()=>{F(!1),y.mutate(a.id,{onSuccess:()=>x(o.tasks.missionDeleted.replace("{id}",a.id)),onError:a=>x(String(a),"error")})}})]})}function aw({icon:a,label:c,onClick:d,tone:e="default",disabled:f}){return(0,b.jsxs)("button",{type:"button",onClick:d,disabled:f,title:c,className:`inline-flex items-center gap-1 rounded-full border bg-elevated px-2.5 py-1 text-[11px] font-medium transition-colors disabled:opacity-50 ${"accent"===e?"border-accent/40 text-accent hover:bg-accent/10":"danger"===e?"border-danger/40 text-danger hover:bg-danger/10":"border-border text-text-muted hover:border-border-strong hover:text-text"}`,style:{transitionDuration:"var(--motion-fast)"},children:[(0,b.jsx)(a,{size:12,className:"shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{className:"hidden sm:inline",children:c})]})}var ax=a.i(97222),ay=a.i(92058),az=a.i(86837),aA=a.i(92576),aB=a.i(33139),aC=a.i(23818);let aD=["all","open","in_progress","blocked","closed","cancelled","autopilot"];function aE(a){let b=a.scheduled_at||a.closed_at||a.created_at,c=b?new Date(b).getTime():NaN;return Number.isNaN(c)?0:c}let aF=a=>(0,aC.dayKey)(new Date(a));function aG(){let a=(0,p.useAllDeps)(),c=(0,p.useSessions)(),t=(0,p.useSessionSignals)(),u=(0,p.useMissions)(),v=(0,s.useCloseTask)(),w=(0,s.useDeleteTask)(),{toast:x}=(0,G.useToast)(),{t:y,locale:z}=(0,H.useTranslation)(),[A,B]=(0,d.useState)(!1),[C,D]=(0,d.useState)(null),[E,F]=(0,d.useState)(""),[I,J]=(0,ay.usePersistentState)("orca.tasks.filter","in_progress",aD),{selectedProject:K,setProject:L}=(0,az.useProjectFilter)("orca.tasks.project"),M=(0,p.useTasks)("all"===K?void 0:K),[N,O]=(0,d.useState)(0),[P,Q]=(0,d.useState)(new Set),[R,T]=(0,d.useState)(!1),[U,W]=(0,d.useState)(null),X=(0,d.useMemo)(()=>(0,r.epicChildren)(M.data??[]),[M.data]),Z=(0,d.useMemo)(()=>(0,r.phaseIds)(M.data??[]),[M.data]),[$,_]=(0,d.useState)(new Set),aa=[{value:"in_progress",label:y.tasks.filterActive},{value:"open",label:y.tasks.filterOpen},{value:"blocked",label:y.tasks.filterBlocked},{value:"closed",label:y.tasks.filterClosed},{value:"autopilot",label:y.tasks.filterAutopilot},{value:"all",label:y.tasks.filterAll}],ab=(0,e.useRouter)(),ac=(0,e.useSearchParams)();(0,d.useEffect)(()=>{"1"===ac.get("new")&&(B(!0),ab.replace("/tasks"))},[ac,ab]),(0,d.useEffect)(()=>{let a=ac.get("select");a&&W(a)},[ac]),(0,d.useEffect)(()=>{if(!U)return;let a=M.data?.find(a=>a.id===U);a?.parent_id&&Z.has(U)&&_(b=>new Set(b).add(a.parent_id))},[U,M.data,Z]),(0,d.useEffect)(()=>{if("autopilot"!==I)return;let a=new Set;for(let b of M.data??[]){if("epic"!==b.type)continue;let d=X.get(b.id)??[];if(0===d.length)continue;let{running:e}=(0,r.epicLive)(d,c.data??[],t),f=d.some(a=>{let b=(0,q.taskSessionName)(a);return!!b&&t[b]?.type==="needs_input"});(e>0||f)&&a.add(b.id)}a.size&&_(b=>{let c=new Set(b);for(let b of a)c.add(b);return c})},[I,M.data,X,c.data,t]);let ad=(0,d.useMemo)(()=>{let b=new Map((M.data??[]).map(a=>[a.id,a])),c=new Map;for(let d of M.data??[]){let e=(0,q.taskBlockers)(d.id,a.data??[],b);e.length>0&&c.set(d.id,e)}return c},[M.data,a.data]),af=a=>Q(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),ag=()=>Q(new Set),ah=(0,d.useMemo)(()=>{let a=E.trim().toLowerCase(),b=b=>`${b.title} ${b.id} ${b.description??""}`.toLowerCase().includes(a),d=a=>{let b=X.get(a.id)??[];return(0,r.epicLive)(b,c.data??[],t).running>0||b.some(a=>{let b=(0,q.taskSessionName)(a);return!!b&&t[b]?.type==="needs_input"})};return(M.data??[]).filter(a=>!Z.has(a.id)).filter(c=>{if("autopilot"===I)return"epic"===c.type&&0!==(X.get(c.id)??[]).length;let d="epic"===c.type?X.get(c.id)??[]:[],e="epic"===c.type?(0,r.epicEffectiveStatus)(c,u.data??[],d):c.status;return("all"===I||e===I)&&(!a||b(c)||d.some(b))}).sort((a,b)=>{if("autopilot"===I){let c=d(a);if(c!==d(b))return c?-1:1}return aE(b)-aE(a)})},[M.data,E,I,X,Z,c.data,t,u.data]);(0,d.useEffect)(()=>{O(0)},[E,I,K]);let ai=Math.max(1,Math.ceil(ah.length/12)),aj=Math.min(N,ai-1),al=ah.slice(12*aj,12*aj+12),am=a=>{let b=new Date,c=aF(b.getTime()),d=aF(b.getTime()-864e5),e=aF(a);return e===c?y.tasks.dayToday:e===d?y.tasks.dayYesterday:new Date(a).toLocaleDateString(z,{weekday:"short",month:"short",day:"numeric"})},an=(0,d.useMemo)(()=>{let a=[];for(let b of al){let c=aE(b),d=aF(c),e=a[a.length-1];e&&e.key===d?e.items.push(b):a.push({key:d,label:am(c),items:[b]})}return a},[al,z,y]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(ax.ModuleHeader,{title:y.page.tasks,count:ah.length,icon:g.ListChecks,children:[(0,b.jsxs)("div",{className:"relative w-40 sm:w-52",children:[(0,b.jsx)(h.Search,{size:14,"aria-hidden":!0,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-text-muted"}),(0,b.jsx)(aq.Input,{value:E,onChange:a=>F(a.target.value),placeholder:y.tasks.searchPlaceholder,className:"pl-9"})]}),(0,b.jsx)(at.Segmented,{value:I,onChange:a=>J(a),options:aa}),(0,b.jsx)(ap.Button,{variant:"accent",icon:f.Plus,onClick:()=>B(!0),children:y.tasks.newTask})]}),(0,b.jsx)(aA.ProjectFilterPills,{value:K,onChange:L}),M.isLoading?(0,b.jsx)(S.LoadingState,{variant:"cards"}):M.isError?(0,b.jsx)(S.ErrorState,{message:y.common.daemonUnreachable,onRetry:()=>M.refetch()}):M.data&&0!==M.data.length?0===ah.length?(0,b.jsx)(S.EmptyState,{title:y.tasks.noMatches,description:y.tasks.noMatchesDescription,icon:h.Search}):(0,b.jsxs)("div",{className:"lg:flex lg:items-start lg:gap-5",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-5 lg:w-[42%] lg:shrink-0",children:[an.map(a=>(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(n.CalendarDays,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-muted",children:a.label}),(0,b.jsx)("span",{className:"h-px flex-1 bg-border"}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-tiny text-text-muted",children:[(0,b.jsx)(o.List,{size:11,className:"shrink-0 text-text-muted","aria-hidden":!0}),a.items.length]})]}),(0,b.jsx)("div",{className:"flex flex-col gap-3",children:a.items.map(a=>{let c=X.get(a.id);return"epic"===a.type&&c&&c.length>0?(0,b.jsx)(av,{epic:a,phases:c,effectiveStatus:(0,r.epicEffectiveStatus)(a,u.data??[],c),expanded:$.has(a.id),onToggle:()=>{let b;return b=a.id,_(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},onEdit:D,onSelect:a=>W(a.id),activeId:U,blockedBy:ad},a.id):(0,b.jsx)(ak,{task:a,onEdit:D,onSelect:a=>W(a.id),active:U===a.id,blockers:ad.get(a.id),selected:P.has(a.id),onToggleSelect:af,selecting:P.size>0},a.id)})})]},a.key)),ah.length>12&&(0,b.jsxs)("div",{className:"flex items-center justify-between border-t border-border pt-3",children:[(0,b.jsx)("span",{className:"font-mono text-xs text-text-muted",children:y.tasks.pageRange.replace("{from}",String(12*aj+1)).replace("{to}",String(12*aj+al.length)).replace("{total}",String(ah.length))}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(ap.Button,{variant:"ghost",icon:l.ChevronLeft,disabled:0===aj,onClick:()=>O(aj-1),children:y.tasks.prevPage}),(0,b.jsxs)(ap.Button,{variant:"ghost",disabled:aj>=ai-1,onClick:()=>O(aj+1),children:[y.tasks.nextPage,(0,b.jsx)(m.ChevronRight,{size:15,className:"ml-1"})]})]})]})]}),(0,b.jsx)("aside",{className:"mt-5 min-w-0 lg:mt-0 lg:flex-1 lg:sticky lg:top-16 lg:max-h-[calc(100vh-80px)] lg:overflow-y-auto",children:(()=>{if(!U)return(0,b.jsxs)("div",{className:"hidden items-center justify-center gap-2 rounded-lg border border-dashed border-border py-20 text-sm text-text-muted lg:flex",children:[(0,b.jsx)(g.ListChecks,{size:14,className:"shrink-0 text-text-muted/50","aria-hidden":!0}),y.tasks.selectHint]});let a=M.data?.find(a=>a.id===U),c=a?.type==="epic"?X.get(a.id)??[]:[];if(a?.type==="epic"&&c.length>0)return(0,b.jsx)("div",{className:"rounded-lg border border-border bg-surface p-4",style:{boxShadow:"var(--shadow-card)"},children:(0,b.jsx)(Y,{epic:a,phases:c,activeId:U,onSelectPhase:W})});let d=a?.parent_id&&M.data?.some(b=>b.id===a.parent_id&&"epic"===b.type)?a.parent_id:null;return(0,b.jsx)("div",{className:"rounded-lg border border-border bg-surface p-4",style:{boxShadow:"var(--shadow-card)"},children:(0,b.jsx)(V,{taskId:U,onEdit:D,onBack:d?()=>W(d):void 0})})})()})]}):(0,b.jsx)(S.EmptyState,{title:y.tasks.empty,description:y.tasks.emptyDescription,icon:g.ListChecks,action:(0,b.jsx)(ap.Button,{variant:"accent",icon:f.Plus,onClick:()=>B(!0),children:y.tasks.newTask})}),P.size>0&&(0,b.jsxs)("div",{className:"fixed bottom-6 left-1/2 z-40 flex -translate-x-1/2 items-center gap-2 rounded-xl border border-border bg-elevated px-3 py-2 shadow-[var(--shadow-raised)] animate-fade-up",children:[(0,b.jsx)("span",{className:"px-1 text-sm text-text",children:y.tasks.nSelected.replace("{count}",String(P.size))}),(0,b.jsx)(ap.Button,{variant:"default",icon:i.Archive,onClick:()=>{P.forEach(a=>v.mutate(a)),x(y.tasks.nClosed.replace("{count}",String(P.size))),ag()},children:y.common.close}),(0,b.jsx)(ap.Button,{variant:"danger",icon:j.Trash2,onClick:()=>T(!0),children:y.common.delete}),(0,b.jsx)("button",{type:"button","aria-label":y.tasks.clearSelection,onClick:ag,className:"flex h-8 w-8 items-center justify-center rounded-md text-text-muted hover:bg-surface hover:text-text",children:(0,b.jsx)(k.X,{size:15})})]}),A&&(0,b.jsx)(aB.TaskModal,{onClose:()=>B(!1)}),C&&(0,b.jsx)(aB.TaskModal,{task:C,onClose:()=>D(null)}),(0,b.jsx)(ae.ConfirmDialog,{open:R,title:y.tasks.confirmBulkDeleteTitle.replace("{count}",String(P.size)),description:y.tasks.confirmBulkDeleteDescription,onClose:()=>T(!1),onConfirm:()=>{P.forEach(a=>w.mutate(a)),x(y.tasks.nDeleted.replace("{count}",String(P.size))),ag(),T(!1)}})]})}a.s(["default",0,function(){return(0,b.jsx)(c.ModuleShell,{moduleId:"tasks",children:(0,b.jsx)(aG,{})})},"dynamic",0,"force-dynamic"],69474)}];
|
|
1
|
+
module.exports=[69474,a=>{"use strict";var b=a.i(87924),c=a.i(70777),d=a.i(72131),e=a.i(50944),f=a.i(15618),g=a.i(55023),h=a.i(87532),i=a.i(42900),j=a.i(81560),k=a.i(33508),l=a.i(13749),m=a.i(50522),n=a.i(60702),o=a.i(67329),p=a.i(76645),q=a.i(81415),r=a.i(31423),s=a.i(18517),t=a.i(99464),u=a.i(5641),v=a.i(70106);let w=(0,v.default)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var x=a.i(97593),y=a.i(5292),z=a.i(69922),A=a.i(5151),B=a.i(4416),C=a.i(87654);let D=(0,v.default)("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var E=a.i(82717),F=a.i(89697);a.i(28130);var G=a.i(29457);function H(a){let b=(0,s.useSpawn)(),c=(0,s.useKillSession)(),d=(0,s.useSetTaskStatus)(),e=(0,s.useSendInput)(),f=(0,p.useSessions)(),{toast:g}=(0,F.useToast)(),{t:h}=(0,G.useTranslation)(),i=(0,q.taskExec)(a.labels),j=(0,q.taskSessionName)(a),k="in_progress"===a.status&&!!j&&(f.data??[]).includes(j);return{session:j,running:k,start:()=>b.mutate({taskId:a.id,exec:i||void 0},{onSuccess:a=>g(h.tasks.launched.replace("{session}",a.session)),onError:a=>g((0,E.apiErrorMessage)(a),"error")}),stop:()=>{j&&c.mutate(j),d.mutate({id:a.id,status:"open"},{onSuccess:()=>g(h.tasks.stopped.replace("{id}",a.id)),onError:a=>g((0,E.apiErrorMessage)(a),"error")})},pause:()=>{j&&e.mutate({name:j,keys:["C-c"]},{onSuccess:()=>g(h.sessions.interrupted.replace("{name}",j)),onError:a=>g((0,E.apiErrorMessage)(a),"error")})}}}var I=a.i(81926),J=a.i(34048),K=a.i(7947),L=a.i(80789),M=a.i(47034),N=a.i(29930),O=a.i(90854),P=a.i(91589),Q=a.i(76773),R=a.i(9173),S=a.i(30322),T=a.i(35360);function U({taskId:a,onEdit:c,onBack:e}){let{t:f,locale:g}=(0,G.useTranslation)(),h=(0,p.useTasks)(),j=(0,p.useAllDeps)(),k=(0,p.useActivity)("signal"),{data:m}=(0,p.useConfig)(),n=(0,s.useCloseTask)(),o=(0,s.useSetTaskStatus)(),r=(0,s.useResumeMission)(),{toast:v}=(0,F.useToast)(),[W,X]=(0,d.useState)(!1),Y=h.data?.find(b=>b.id===a),{session:Z,running:$,start:_,stop:aa,pause:ab}=H(Y??{id:a,title:"",status:"open"}),ac=(0,p.useSessionSignal)(Z??"");if(!Y)return(0,b.jsx)(R.EmptyState,{title:f.tasks.selectHint,icon:y.TerminalSquare});let ad=(0,T.taskTypeMeta)(Y.type).icon,ae=(0,q.taskExec)(Y.labels),af=ae||m?.defaults?.exec||"",ag=(0,q.taskAgentName)(Y),ah="closed"===Y.status||"cancelled"===Y.status,ai=Y.closed_at||Y.created_at,aj=(0,I.formatTaskTime)(ai,Date.now(),g),ak=new Map((h.data??[]).map(a=>[a.id,a])),al=(j.data??[]).filter(b=>b.task_id===a).map(a=>ak.get(a.depends_on_id)).filter(a=>!!a),am=(k.data??[]).filter(b=>b.target===a||Z&&b.target===Z).slice(0,6),an=async()=>{try{await navigator.clipboard.writeText(Y.id),v(f.tasks.idCopied.replace("{id}",Y.id))}catch{v(f.tasks.idCopyFailed,"error")}},ao=!!Y.parent_id,ap="epic"===Y.type,aq=a=>{o.mutate({id:Y.id,status:"open"},{onSuccess:()=>{ao&&r.mutate(`m-${Y.parent_id}`,{onError:()=>{}}),v(a.replace("{id}",Y.id))},onError:a=>v((0,E.apiErrorMessage)(a),"error")})};return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"sticky top-0 z-10 -mx-4 flex flex-col gap-2 border-b border-border bg-surface px-4 pb-3 pt-1",children:[e?(0,b.jsxs)("button",{type:"button",onClick:e,className:"-ml-1 inline-flex w-fit items-center gap-1 rounded-md px-1.5 py-1 text-xs text-text-muted transition-colors hover:bg-elevated hover:text-text",children:[(0,b.jsx)(l.ChevronLeft,{size:14,"aria-hidden":!0}),f.tasks.backToFlow]}):null,(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("span",{className:"flex h-12 w-12 shrink-0 items-center justify-center rounded-xl border border-border bg-elevated",children:af?(0,b.jsx)(K.ModelIcon,{name:af,size:26}):(0,b.jsx)(ad,{size:22,className:"text-text-muted","aria-hidden":!0})}),(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)("h2",{className:"min-w-0 flex-1 text-base font-semibold text-text",children:Y.title}),(0,b.jsx)(M.AgentStatusDot,{signal:ac,live:$})]}),(0,b.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 font-mono text-[11px] text-text-muted",children:[(0,b.jsx)("span",{children:Y.id}),(0,b.jsx)(L.IconButton,{icon:A.Copy,label:f.tasks.copyId,onClick:an}),ag?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"opacity-50",children:"·"}),(0,b.jsx)("span",{children:(0,q.taskSessionName)(Y)})]}):null,aj.label?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"opacity-50",children:"·"}),(0,b.jsx)("span",{title:aj.title,children:aj.label})]}):null]})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(J.Badge,{tone:(0,S.statusTone)(Y.status),children:(0,T.statusLabel)(f,Y.status)}),ah?(0,b.jsx)(N.OutcomeBadge,{outcome:Y.outcome}):null,ae?(0,b.jsx)(J.Badge,{children:ae}):null,ag?(0,b.jsx)(O.TaskUsageBadge,{taskId:Y.id,live:$}):null]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[$?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L.IconButton,{icon:w,label:f.tasks.stop,variant:"danger",onClick:aa}),(0,b.jsx)(L.IconButton,{icon:x.SquareSlash,label:f.sessions.interrupt,onClick:ab})]}):"blocked"===Y.status&&ao?(0,b.jsx)(L.IconButton,{icon:B.ShieldCheck,label:f.tasks.approveContinue,onClick:()=>aq(f.tasks.approved)}):ah&&ao?(0,b.jsx)(L.IconButton,{icon:C.RotateCcw,label:f.tasks.rerun,onClick:()=>aq(f.tasks.rerunning)}):(0,b.jsx)(L.IconButton,{icon:u.Play,label:f.tasks.start,onClick:_}),Z?(0,b.jsx)(L.IconButton,{icon:y.TerminalSquare,label:f.tasks.openTerminal,onClick:()=>X(!0)}):null,c?(0,b.jsx)(L.IconButton,{icon:t.Pencil,label:f.common.edit,onClick:()=>c(Y)}):null,ah?null:(0,b.jsx)(L.IconButton,{icon:i.Archive,label:f.tasks.closeArchive,onClick:()=>n.mutate(Y.id,{onSuccess:()=>v(f.tasks.closed.replace("{id}",Y.id)),onError:a=>v(String(a),"error")})})]})]}),Y.description?.trim()?(0,b.jsx)(V,{label:f.tasks.fieldDetails,children:(0,b.jsx)("p",{className:"whitespace-pre-wrap text-sm leading-relaxed text-text-muted",children:Y.description})}):null,al.length>0?(0,b.jsx)(V,{label:f.tasks.dependencies,children:(0,b.jsx)("ul",{className:"flex flex-col gap-1",children:al.map(a=>(0,b.jsxs)("li",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(z.Link2,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-text",children:a.title}),(0,b.jsx)(J.Badge,{tone:(0,S.statusTone)(a.status),children:(0,T.statusLabel)(f,a.status)})]},a.id))})}):null,$&&Z?(0,b.jsx)(V,{label:f.tasks.liveOutput,children:(0,b.jsx)(P.LiveTail,{name:Z,lines:28,heightClass:"max-h-96",onExpand:()=>X(!0)})}):null,ah&&(Y.result_summary||Y.outcome)?(0,b.jsx)(V,{label:ap?f.tasks.missionSummaryTitle:f.tasks.resultTitle,children:(0,b.jsxs)("div",{className:"flex items-start gap-2.5 rounded-lg border border-border bg-elevated p-3",children:[(0,b.jsx)(D,{size:15,className:"mt-0.5 shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("p",{className:"whitespace-pre-wrap text-sm leading-relaxed text-text",children:Y.result_summary?.trim()||f.tasks.noSummary})]})}):null,am.length>0?(0,b.jsx)(V,{label:f.tasks.recentActivity,children:(0,b.jsx)("ul",{className:"flex flex-col divide-y divide-border",children:am.map(a=>(0,b.jsxs)("li",{className:"flex items-center gap-2 py-1.5 text-xs",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-text-muted",children:a.detail}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-text-muted opacity-70",children:a.ts.slice(11,16)})]},a.id))})}):null,W&&Z&&(0,b.jsx)(Q.TerminalModal,{session:Z,onClose:()=>X(!1)})]})}function V({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-text-muted",children:a}),c]})}var W=a.i(82478);function X({epic:a,phases:c,activeId:e,onSelectPhase:f}){let{t:g}=(0,G.useTranslation)(),h=(0,p.useSessions)(),i=(0,p.useSessionSignals)(),{data:j}=(0,p.useConfig)(),k=new Set(h.data??[]),{done:l,total:m}=(0,r.epicProgress)(c);return(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-xl border border-accent/40 bg-accent/[0.06] p-3",style:{boxShadow:"var(--shadow-card)"},children:[(0,b.jsx)("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-border bg-elevated",children:(0,b.jsx)(W.Rocket,{size:20,className:"text-accent","aria-hidden":!0})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("h2",{className:"truncate text-sm font-semibold text-text",children:a.title}),(0,b.jsxs)("span",{className:"font-mono text-[11px] text-text-muted",children:[l,"/",m," ",g.tasks.phasesLabel]})]}),(0,b.jsx)(J.Badge,{tone:(0,S.statusTone)(a.status),children:(0,T.statusLabel)(g,a.status)})]}),c.map((a,c)=>{let h=(0,q.taskExec)(a.labels)||j?.defaults?.exec||"",l=(0,q.taskAgentName)(a),m=(0,q.taskSessionName)(a),n="in_progress"===a.status&&!!m&&k.has(m),o=m?i[m]:void 0,p=n||o?.type==="needs_input";return(0,b.jsxs)(d.Fragment,{children:[(0,b.jsx)("div",{className:"ml-5 flex h-6 w-px justify-center",children:(0,b.jsx)("span",{className:`h-full w-px ${p?"flow-edge flow-edge-active":"flow-edge"}`,"aria-hidden":!0})}),(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>f(a.id),className:`group flex min-w-0 flex-1 items-center gap-3 rounded-xl border bg-surface p-3 text-left transition-all hover:-translate-y-0.5 ${e===a.id?"border-accent":"border-border hover:border-border-strong"} ${p?"flow-active":""}`,style:{boxShadow:"var(--shadow-card)",transitionDuration:"var(--motion-fast)"},children:[(0,b.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-border bg-elevated font-mono text-[11px] text-text-muted",children:c+1}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium text-text",children:a.title}),(0,b.jsx)(J.Badge,{tone:(0,S.statusTone)(a.status),children:(0,T.statusLabel)(g,a.status)})]}),h||l?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"hidden h-px w-6 shrink-0 sm:block flow-edge-h","aria-hidden":!0}),(0,b.jsxs)("div",{className:"flex shrink-0 flex-col gap-1.5 pl-8 sm:pl-0",children:[h?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-elevated px-2 py-1 text-[11px] text-text-muted",title:h,children:[(0,b.jsx)(K.ModelIcon,{name:h,size:14}),(0,b.jsx)("span",{className:"font-mono",children:h})]}):null,l?(0,b.jsxs)("button",{type:"button",onClick:()=>f(a.id),className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-elevated px-2 py-1 text-[11px] text-text transition-colors hover:border-border-strong",title:l,children:[(0,b.jsx)(M.AgentStatusDot,{signal:o,live:n,size:"sm"}),(0,b.jsx)("span",{className:"font-mono",children:l})]}):null]})]}):null]})]},a.id)})]})}var Y=a.i(49651),Z=a.i(8549),$=a.i(30206),_=a.i(72089),aa=a.i(58530),ab=a.i(32824),ac=a.i(49134),ad=a.i(57581),ae=a.i(41710),af=a.i(1027),ag=a.i(66429),ah=a.i(36421),ai=a.i(3470);function aj({task:a,onEdit:c,onSelect:e,active:f=!1,blockers:g,selected:h=!1,onToggleSelect:k,selecting:l=!1}){let m=(0,s.useCloseTask)(),n=(0,s.useDeleteTask)(),{toast:o}=(0,F.useToast)(),{t:r,locale:v}=(0,G.useTranslation)(),[x,y]=(0,d.useState)(!1),{data:z}=(0,p.useConfig)(),A=(0,T.taskTypeMeta)(a.type).icon,B=(0,q.taskExec)(a.labels)||z?.defaults?.exec||"",C="closed"===a.status,{session:D,running:E,start:O,stop:P,pause:Q}=H(a),R=(0,p.useSessionSignal)(D??""),U=(0,ai.useSessionStall)(D??"",E&&!!D),V=D?{stall:U.state,silenceSec:U.silenceSec}:{},W=(g?.length??0)>0,X=()=>(e??c)(a),Y=a.scheduled_at||a.closed_at||a.created_at,$=Y?(0,I.formatTaskTime)(Y,Date.now(),v):null;return(0,b.jsxs)("div",{role:"button",tabIndex:0,onClick:X,onKeyDown:a=>{"Enter"===a.key&&X()},className:`card-interactive group relative flex flex-wrap cursor-pointer items-center gap-x-3 gap-y-2 rounded-lg border p-2.5 ${h||f?"border-accent bg-accent/[0.06]":"border-border bg-surface"}`,children:[(0,b.jsx)("span",{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border-2 bg-elevated ${E?"border-accent":"border-border"}`,children:B?(0,b.jsx)(K.ModelIcon,{name:B,size:26}):(0,b.jsx)(A,{size:22,className:"text-text-muted","aria-hidden":!0})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium text-text",children:a.title}),(0,b.jsx)(M.AgentStatusDot,{signal:R,live:E,size:"sm",...V})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[B?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",title:B,children:[(0,b.jsx)(K.ModelIcon,{name:B,size:11}),(0,ag.execModel)(B)]}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(A,{size:11,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"truncate font-mono text-[11px] text-text-muted",children:a.id})]}),W?(0,b.jsxs)("span",{className:"shrink-0 text-[11px] text-warning",title:g.map(a=>a.title).join(", "),children:["· ",r.tasks.dependencies," ",g.length]}):null]})]}),(0,b.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:w-auto sm:justify-end",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[$?(0,b.jsx)("span",{title:$.title,children:(0,b.jsxs)(J.Badge,{tone:"muted",children:[a.scheduled_at&&a.autostart?(0,b.jsx)(af.Zap,{size:11,className:"mr-1 inline","aria-hidden":!0}):(0,b.jsx)(ae.Clock,{size:11,className:"mr-1 inline","aria-hidden":!0}),$.label]})}):null,(0,b.jsx)(ab.ProjectPill,{projectId:a.project_id}),C?(0,b.jsx)(N.OutcomeBadge,{outcome:a.outcome}):null,(0,b.jsx)(J.Badge,{tone:(0,S.statusTone)(a.status),children:(0,T.statusLabel)(r,a.status)})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",onClick:a=>a.stopPropagation(),children:[E?(0,b.jsx)(L.IconButton,{icon:w,label:r.tasks.stop,variant:"danger",onClick:P}):(0,b.jsx)(L.IconButton,{icon:u.Play,label:r.tasks.start,onClick:O}),E?(0,b.jsx)(L.IconButton,{icon:Z.Pause,label:r.tasks.pause,onClick:Q}):null,(0,b.jsx)(L.IconButton,{icon:t.Pencil,label:r.common.edit,onClick:()=>c(a)}),(0,b.jsx)(ac.ActionMenu,{label:r.tasks.deleteOrClose,items:[{label:r.tasks.closeArchive,icon:i.Archive,onSelect:()=>m.mutate(a.id,{onSuccess:()=>o(r.tasks.closed.replace("{id}",a.id)),onError:a=>o(String(a),"error")})},{label:r.tasks.deletePermanently,icon:j.Trash2,tone:"danger",onSelect:()=>y(!0)}]})]})]}),k?(0,b.jsx)("button",{type:"button",role:"checkbox","aria-checked":h,"aria-label":r.sessions.selectLabel.replace("{id}",a.id),onClick:b=>{b.stopPropagation(),k(a.id)},className:`shrink-0 transition-opacity ${l||h?"opacity-100":"opacity-0 group-hover:opacity-100"}`,children:(0,b.jsx)(ah.Checkbox,{checked:h})}):null,x&&(0,b.jsx)("div",{onClick:a=>a.stopPropagation(),children:(0,b.jsx)(ad.ConfirmDialog,{open:x,title:r.tasks.confirmDeleteTitle.replace("{id}",a.id),description:r.tasks.confirmDeleteDescription,onClose:()=>y(!1),onConfirm:()=>{y(!1),n.mutate(a.id,{onSuccess:()=>o(r.tasks.deleted.replace("{id}",a.id)),onError:a=>o(String(a),"error")})}})})]})}var ak=a.i(8406),al=a.i(17545),am=a.i(68522),an=a.i(88736),ao=a.i(12466),ap=a.i(18180),aq=a.i(56993),ar=a.i(53876),as=a.i(83549);function at({epicId:a,onClose:c}){let{data:e}=(0,p.useConfig)(),h=(0,s.useInsertPhases)(),{toast:i}=(0,F.useToast)(),{t:j}=(0,G.useTranslation)(),l=(0,am.allModels)(e?.customModels,e?.hiddenPresets).filter(a=>!e?.allowedExecs||e.allowedExecs.includes(a.exec)),[m,n]=(0,d.useState)("manual"),[o,q]=(0,d.useState)(""),[r,t]=(0,d.useState)(""),[u,v]=(0,d.useState)([{title:"",type:"task"}]),w=h.isPending;async function x(){let b="manual"===m?{phases:u.map(a=>({title:a.title.trim(),type:a.type})).filter(a=>a.title)}:{goal:r.trim()};if("manual"===m&&(!b.phases||0===b.phases.length))return void i(j.missions.addPhaseAtLeastOne,"error");if("replan"===m&&!b.goal)return void i(j.missions.addPhaseGoalRequired,"error");let d={...b,exec:o||void 0};try{let b=await h.mutateAsync({epicId:a,body:d});i(j.missions.addPhaseInserted.replace("{count}",String(b.phases.length)).replace("{s}",1===b.phases.length?"":"s").replace("{epicId}",a)),c()}catch(a){a instanceof E.OrcaApiError&&"autopilot_key_missing"===a.code?i(j.tasks.autopilotKeyMissing,"error"):i(String(a),"error")}}return(0,b.jsxs)(an.Modal,{title:j.missions.addPhaseModalTitle.replace("{epic}",a),description:a,onClose:c,size:"md",icon:al.Layers,children:[(0,b.jsxs)(an.ModalBody,{children:[(0,b.jsx)("p",{className:"text-xs text-text-muted",children:j.missions.addPhaseModalDesc}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)(as.Segmented,{value:m,onChange:a=>n(a),options:[{value:"manual",label:j.missions.addPhaseModeManual,icon:g.ListChecks},{value:"replan",label:j.missions.addPhaseModeReplan,icon:ak.Sparkles}]}),(0,b.jsx)("p",{className:"text-xs text-text-muted",children:"manual"===m?j.missions.addPhaseManualDesc:j.missions.addPhaseReplanDesc})]}),"manual"===m?(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[u.map((a,c)=>(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(ap.Input,{value:a.title,placeholder:j.tasks.phasePlaceholder.replace("{n}",String(c+1)),onChange:a=>v(b=>b.map((b,d)=>d===c?{...b,title:a.target.value}:b))}),(0,b.jsx)(aq.Select,{value:a.type,onChange:a=>v(b=>b.map((b,d)=>d===c?{...b,type:a.target.value}:b)),className:"w-32",children:T.TASK_TYPES.filter(a=>"epic"!==a).map(a=>(0,b.jsx)("option",{value:a,children:(0,T.taskTypeLabel)(j,a)},a))}),(0,b.jsx)(L.IconButton,{icon:k.X,label:j.tasks.removePhase,onClick:()=>v(a=>a.length>1?a.filter((a,b)=>b!==c):a)})]},c)),(0,b.jsxs)("button",{type:"button",onClick:()=>v(a=>[...a,{title:"",type:"task"}]),className:"inline-flex items-center gap-1 self-start text-xs text-accent hover:underline",children:[(0,b.jsx)(f.Plus,{size:13,"aria-hidden":!0})," ",j.tasks.addPhase]})]}):(0,b.jsx)(ar.Field,{label:j.missions.addPhaseFieldGoal,hint:j.missions.addPhaseGoalHint,children:(0,b.jsx)("textarea",{value:r,onChange:a=>t(a.target.value),placeholder:j.missions.addPhaseGoalPlaceholder,rows:4,className:"w-full rounded-md border border-border bg-surface px-3 py-2 text-sm text-text placeholder:text-text-muted focus:border-accent focus:outline-none"})}),(0,b.jsx)(ar.Field,{label:j.missions.addPhaseFieldExecutor,children:(0,b.jsxs)(aq.Select,{value:o,onChange:a=>q(a.target.value),children:[(0,b.jsx)("option",{value:"",children:j.tasks.defaultExecutor}),l.map(a=>(0,b.jsx)("option",{value:a.exec,children:a.label},a.exec))]})})]}),(0,b.jsxs)(an.ModalFooter,{children:[(0,b.jsx)(ao.Button,{variant:"ghost",onClick:c,children:j.common.cancel}),(0,b.jsx)(ao.Button,{variant:"accent",disabled:w,onClick:x,children:j.missions.addPhaseInsert})]})]})}function au({epic:a,phases:c,effectiveStatus:e,expanded:g,onToggle:h,onEdit:i,onSelect:k,activeId:l,blockedBy:n}){let{t:o}=(0,G.useTranslation)(),q=(0,p.useSessions)(),t=(0,p.useSessionSignals)(),v=(0,p.useMissions)(),{data:w}=(0,p.useConfig)(),{toast:x}=(0,F.useToast)(),y=(0,s.useDeleteMission)(),z=(0,s.useEngage)(),A=(0,s.usePauseMission)(),B=(0,s.useResumeMission)(),C=(0,s.useDisengage)(),[D,H]=(0,d.useState)(!1),[K,L]=(0,d.useState)(!1),{done:M,total:N}=(0,r.epicProgress)(c),{running:O,needsInput:P}=(0,r.epicLive)(c,q.data??[],t),Q=(0,T.taskTypeMeta)("epic").icon,R=(0,Y.useQueries)({queries:c.map(a=>({queryKey:["task-usage",a.id],queryFn:()=>E.orcaClient.taskUsage(a.id),staleTime:3e5}))}).reduce((a,b)=>a+(b.data?.costUsd??0),0),U=v.data?.find(b=>b.epic_id===a.id)??null,V=(e??a.status)==="closed"||(e??a.status)==="cancelled",X=null!=U&&"disengaged"!==U.state,ae=U?.state==="paused";return(0,b.jsxs)("div",{className:"group/epic rounded-lg border border-accent/30 bg-accent/[0.04]",children:[(0,b.jsxs)("div",{className:"relative flex items-stretch",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>{h(),k(a)},"aria-expanded":g,className:`flex min-w-0 flex-1 items-center gap-3 p-3 text-left transition-colors hover:bg-accent/[0.06] ${l===a.id?"bg-accent/[0.06]":""}`,children:[(0,b.jsx)(m.ChevronRight,{size:16,className:`shrink-0 text-text-muted transition-transform ${g?"rotate-90":""}`,"aria-hidden":!0}),(0,b.jsx)("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-border bg-elevated",children:(0,b.jsx)(Q,{size:20,className:"text-accent","aria-hidden":!0})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-text",children:a.title}),P>0||O>0?(0,b.jsx)("span",{className:"live-dot h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:P>0?"var(--color-warning)":"var(--color-success)","--live-ring":P>0?"color-mix(in srgb, var(--color-warning) 50%, transparent)":"color-mix(in srgb, var(--color-success) 50%, transparent)"},"aria-hidden":!0}):null]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(aa.ProgressRibbon,{phases:c,className:"max-w-[12rem] flex-1"}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-text-muted",children:[M,"/",N," ",o.tasks.phasesLabel]}),R>0?(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-0.5 rounded border border-approve/30 px-1.5 py-0.5 font-mono text-[11px] text-approve",title:`${o.usage.cost}: ${(0,I.formatCost)(R)}`,children:[(0,b.jsx)(_.Coins,{size:10,className:"shrink-0","aria-hidden":!0}),(0,I.formatCost)(R)]}):null,(0,b.jsx)(ab.ProjectPill,{projectId:a.project_id})]})]}),(0,b.jsx)(J.Badge,{tone:(0,S.statusTone)(e??a.status),children:(0,T.statusLabel)(o,e??a.status)})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 pr-3",children:[X||V||U?null:(0,b.jsx)(av,{icon:W.Rocket,label:o.missions.engage,tone:"accent",onClick:()=>z.mutate({epicId:a.id,autonomy:w?.defaults?.autonomy??"L3",maxSessions:w?.defaults?.maxSessions??1},{onSuccess:()=>x(o.missions.engaged.replace("{epicId}",a.id)),onError:a=>x(String(a),"error")}),disabled:z.isPending}),X?(0,b.jsxs)(b.Fragment,{children:[ae?(0,b.jsx)(av,{icon:u.Play,label:o.missions.resume,tone:"accent",onClick:()=>B.mutate(U.id,{onSuccess:()=>x(o.missions.resumed),onError:a=>x(String(a),"error")}),disabled:B.isPending}):(0,b.jsx)(av,{icon:Z.Pause,label:o.missions.pause,onClick:()=>A.mutate(U.id,{onSuccess:()=>x(o.missions.pausedMsg),onError:a=>x(String(a),"error")}),disabled:A.isPending}),(0,b.jsx)(av,{icon:$.Power,label:o.missions.disengage,tone:"danger",onClick:()=>C.mutate(U.id,{onSuccess:()=>x(o.missions.disengaged),onError:a=>x(String(a),"error")}),disabled:C.isPending})]}):null,(0,b.jsx)("div",{className:"opacity-0 transition-opacity group-hover/epic:opacity-100",children:(0,b.jsx)(ac.ActionMenu,{label:o.tasks.epicActions,items:[{label:o.missions.addPhase,icon:f.Plus,onSelect:()=>L(!0)},{label:o.tasks.deleteMission,icon:j.Trash2,tone:"danger",onSelect:()=>H(!0)}]})})]})]}),g?(0,b.jsx)("div",{className:"flex flex-col gap-2.5 rounded-b-lg border-t border-accent/20 bg-bg/30 p-2.5 pl-5",children:c.map(a=>(0,b.jsx)(aj,{task:a,onEdit:i,onSelect:k,active:l===a.id,blockers:n.get(a.id)},a.id))}):null,K&&(0,b.jsx)(at,{epicId:a.id,onClose:()=>L(!1)}),(0,b.jsx)(ad.ConfirmDialog,{open:D,title:o.tasks.confirmDeleteMissionTitle.replace("{id}",a.id),description:o.tasks.confirmDeleteMissionDescription,confirmLabel:o.tasks.deleteMission,onClose:()=>H(!1),onConfirm:()=>{H(!1),y.mutate(a.id,{onSuccess:()=>x(o.tasks.missionDeleted.replace("{id}",a.id)),onError:a=>x(String(a),"error")})}})]})}function av({icon:a,label:c,onClick:d,tone:e="default",disabled:f}){return(0,b.jsxs)("button",{type:"button",onClick:d,disabled:f,title:c,className:`inline-flex items-center gap-1 rounded-full border bg-elevated px-2.5 py-1 text-[11px] font-medium transition-colors disabled:opacity-50 ${"accent"===e?"border-accent/40 text-accent hover:bg-accent/10":"danger"===e?"border-danger/40 text-danger hover:bg-danger/10":"border-border text-text-muted hover:border-border-strong hover:text-text"}`,style:{transitionDuration:"var(--motion-fast)"},children:[(0,b.jsx)(a,{size:12,className:"shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{className:"hidden sm:inline",children:c})]})}var aw=a.i(97222),ax=a.i(92058),ay=a.i(86837),az=a.i(92576),aA=a.i(33139),aB=a.i(23818);let aC=["all","open","in_progress","blocked","closed","cancelled","autopilot"];function aD(a){let b=a.scheduled_at||a.closed_at||a.created_at,c=b?new Date(b).getTime():NaN;return Number.isNaN(c)?0:c}let aE=a=>(0,aB.dayKey)(new Date(a));function aF(){let a=(0,p.useAllDeps)(),c=(0,p.useSessions)(),t=(0,p.useSessionSignals)(),u=(0,p.useMissions)(),v=(0,s.useCloseTask)(),w=(0,s.useDeleteTask)(),{toast:x}=(0,F.useToast)(),{t:y,locale:z}=(0,G.useTranslation)(),[A,B]=(0,d.useState)(!1),[C,D]=(0,d.useState)(null),[E,H]=(0,d.useState)(""),[I,J]=(0,ax.usePersistentState)("orca.tasks.filter","in_progress",aC),{selectedProject:K,setProject:L}=(0,ay.useProjectFilter)("orca.tasks.project"),M=(0,p.useTasks)("all"===K?void 0:K),[N,O]=(0,d.useState)(0),[P,Q]=(0,d.useState)(new Set),[S,T]=(0,d.useState)(!1),[V,W]=(0,d.useState)(null),Y=(0,d.useMemo)(()=>(0,r.epicChildren)(M.data??[]),[M.data]),Z=(0,d.useMemo)(()=>(0,r.phaseIds)(M.data??[]),[M.data]),[$,_]=(0,d.useState)(new Set),aa=[{value:"in_progress",label:y.tasks.filterActive},{value:"open",label:y.tasks.filterOpen},{value:"blocked",label:y.tasks.filterBlocked},{value:"closed",label:y.tasks.filterClosed},{value:"autopilot",label:y.tasks.filterAutopilot},{value:"all",label:y.tasks.filterAll}],ab=(0,e.useRouter)(),ac=(0,e.useSearchParams)();(0,d.useEffect)(()=>{"1"===ac.get("new")&&(B(!0),ab.replace("/tasks"))},[ac,ab]),(0,d.useEffect)(()=>{let a=ac.get("select");a&&W(a)},[ac]),(0,d.useEffect)(()=>{if(!V)return;let a=M.data?.find(a=>a.id===V);a?.parent_id&&Z.has(V)&&_(b=>new Set(b).add(a.parent_id))},[V,M.data,Z]),(0,d.useEffect)(()=>{if("autopilot"!==I)return;let a=new Set;for(let b of M.data??[]){if("epic"!==b.type)continue;let d=Y.get(b.id)??[];if(0===d.length)continue;let{running:e}=(0,r.epicLive)(d,c.data??[],t),f=d.some(a=>{let b=(0,q.taskSessionName)(a);return!!b&&t[b]?.type==="needs_input"});(e>0||f)&&a.add(b.id)}a.size&&_(b=>{let c=new Set(b);for(let b of a)c.add(b);return c})},[I,M.data,Y,c.data,t]);let ae=(0,d.useMemo)(()=>{let b=new Map((M.data??[]).map(a=>[a.id,a])),c=new Map;for(let d of M.data??[]){let e=(0,q.taskBlockers)(d.id,a.data??[],b);e.length>0&&c.set(d.id,e)}return c},[M.data,a.data]),af=a=>Q(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),ag=()=>Q(new Set),ah=(0,d.useMemo)(()=>{let a=E.trim().toLowerCase(),b=b=>`${b.title} ${b.id} ${b.description??""}`.toLowerCase().includes(a),d=a=>{let b=Y.get(a.id)??[];return(0,r.epicLive)(b,c.data??[],t).running>0||b.some(a=>{let b=(0,q.taskSessionName)(a);return!!b&&t[b]?.type==="needs_input"})};return(M.data??[]).filter(a=>!Z.has(a.id)).filter(c=>{if("autopilot"===I)return"epic"===c.type&&0!==(Y.get(c.id)??[]).length;let d="epic"===c.type?Y.get(c.id)??[]:[],e="epic"===c.type?(0,r.epicEffectiveStatus)(c,u.data??[],d):c.status;return("all"===I||e===I)&&(!a||b(c)||d.some(b))}).sort((a,b)=>{if("autopilot"===I){let c=d(a);if(c!==d(b))return c?-1:1}return aD(b)-aD(a)})},[M.data,E,I,Y,Z,c.data,t,u.data]);(0,d.useEffect)(()=>{O(0)},[E,I,K]);let ai=Math.max(1,Math.ceil(ah.length/12)),ak=Math.min(N,ai-1),al=ah.slice(12*ak,12*ak+12),am=a=>{let b=new Date,c=aE(b.getTime()),d=aE(b.getTime()-864e5),e=aE(a);return e===c?y.tasks.dayToday:e===d?y.tasks.dayYesterday:new Date(a).toLocaleDateString(z,{weekday:"short",month:"short",day:"numeric"})},an=(0,d.useMemo)(()=>{let a=[];for(let b of al){let c=aD(b),d=aE(c),e=a[a.length-1];e&&e.key===d?e.items.push(b):a.push({key:d,label:am(c),items:[b]})}return a},[al,z,y]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(aw.ModuleHeader,{title:y.page.tasks,count:ah.length,icon:g.ListChecks,children:[(0,b.jsxs)("div",{className:"relative w-40 sm:w-52",children:[(0,b.jsx)(h.Search,{size:14,"aria-hidden":!0,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-text-muted"}),(0,b.jsx)(ap.Input,{value:E,onChange:a=>H(a.target.value),placeholder:y.tasks.searchPlaceholder,className:"pl-9"})]}),(0,b.jsx)(as.Segmented,{value:I,onChange:a=>J(a),options:aa}),(0,b.jsx)(ao.Button,{variant:"accent",icon:f.Plus,onClick:()=>B(!0),children:y.tasks.newTask})]}),(0,b.jsx)(az.ProjectFilterPills,{value:K,onChange:L}),M.isLoading?(0,b.jsx)(R.LoadingState,{variant:"cards"}):M.isError?(0,b.jsx)(R.ErrorState,{message:y.common.daemonUnreachable,onRetry:()=>M.refetch()}):M.data&&0!==M.data.length?0===ah.length?(0,b.jsx)(R.EmptyState,{title:y.tasks.noMatches,description:y.tasks.noMatchesDescription,icon:h.Search}):(0,b.jsxs)("div",{className:"lg:flex lg:items-start lg:gap-5",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-5 lg:w-[42%] lg:shrink-0",children:[an.map(a=>(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(n.CalendarDays,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-muted",children:a.label}),(0,b.jsx)("span",{className:"h-px flex-1 bg-border"}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-tiny text-text-muted",children:[(0,b.jsx)(o.List,{size:11,className:"shrink-0 text-text-muted","aria-hidden":!0}),a.items.length]})]}),(0,b.jsx)("div",{className:"flex flex-col gap-3",children:a.items.map(a=>{let c=Y.get(a.id);return"epic"===a.type&&c&&c.length>0?(0,b.jsx)(au,{epic:a,phases:c,effectiveStatus:(0,r.epicEffectiveStatus)(a,u.data??[],c),expanded:$.has(a.id),onToggle:()=>{let b;return b=a.id,_(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},onEdit:D,onSelect:a=>W(a.id),activeId:V,blockedBy:ae},a.id):(0,b.jsx)(aj,{task:a,onEdit:D,onSelect:a=>W(a.id),active:V===a.id,blockers:ae.get(a.id),selected:P.has(a.id),onToggleSelect:af,selecting:P.size>0},a.id)})})]},a.key)),ah.length>12&&(0,b.jsxs)("div",{className:"flex items-center justify-between border-t border-border pt-3",children:[(0,b.jsx)("span",{className:"font-mono text-xs text-text-muted",children:y.tasks.pageRange.replace("{from}",String(12*ak+1)).replace("{to}",String(12*ak+al.length)).replace("{total}",String(ah.length))}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(ao.Button,{variant:"ghost",icon:l.ChevronLeft,disabled:0===ak,onClick:()=>O(ak-1),children:y.tasks.prevPage}),(0,b.jsxs)(ao.Button,{variant:"ghost",disabled:ak>=ai-1,onClick:()=>O(ak+1),children:[y.tasks.nextPage,(0,b.jsx)(m.ChevronRight,{size:15,className:"ml-1"})]})]})]})]}),(0,b.jsx)("aside",{className:"mt-5 min-w-0 lg:mt-0 lg:flex-1 lg:sticky lg:top-16 lg:max-h-[calc(100vh-80px)] lg:overflow-y-auto",children:(()=>{if(!V)return(0,b.jsxs)("div",{className:"hidden items-center justify-center gap-2 rounded-lg border border-dashed border-border py-20 text-sm text-text-muted lg:flex",children:[(0,b.jsx)(g.ListChecks,{size:14,className:"shrink-0 text-text-muted/50","aria-hidden":!0}),y.tasks.selectHint]});let a=M.data?.find(a=>a.id===V),c=a?.type==="epic"?Y.get(a.id)??[]:[];if(a?.type==="epic"&&c.length>0)return(0,b.jsx)("div",{className:"rounded-lg border border-border bg-surface p-4",style:{boxShadow:"var(--shadow-card)"},children:(0,b.jsx)(X,{epic:a,phases:c,activeId:V,onSelectPhase:W})});let d=a?.parent_id&&M.data?.some(b=>b.id===a.parent_id&&"epic"===b.type)?a.parent_id:null;return(0,b.jsx)("div",{className:"rounded-lg border border-border bg-surface p-4",style:{boxShadow:"var(--shadow-card)"},children:(0,b.jsx)(U,{taskId:V,onEdit:D,onBack:d?()=>W(d):void 0})})})()})]}):(0,b.jsx)(R.EmptyState,{title:y.tasks.empty,description:y.tasks.emptyDescription,icon:g.ListChecks,action:(0,b.jsx)(ao.Button,{variant:"accent",icon:f.Plus,onClick:()=>B(!0),children:y.tasks.newTask})}),P.size>0&&(0,b.jsxs)("div",{className:"fixed bottom-6 left-1/2 z-40 flex -translate-x-1/2 items-center gap-2 rounded-xl border border-border bg-elevated px-3 py-2 shadow-[var(--shadow-raised)] animate-fade-up",children:[(0,b.jsx)("span",{className:"px-1 text-sm text-text",children:y.tasks.nSelected.replace("{count}",String(P.size))}),(0,b.jsx)(ao.Button,{variant:"default",icon:i.Archive,onClick:()=>{P.forEach(a=>v.mutate(a)),x(y.tasks.nClosed.replace("{count}",String(P.size))),ag()},children:y.common.close}),(0,b.jsx)(ao.Button,{variant:"danger",icon:j.Trash2,onClick:()=>T(!0),children:y.common.delete}),(0,b.jsx)("button",{type:"button","aria-label":y.tasks.clearSelection,onClick:ag,className:"flex h-8 w-8 items-center justify-center rounded-md text-text-muted hover:bg-surface hover:text-text",children:(0,b.jsx)(k.X,{size:15})})]}),A&&(0,b.jsx)(aA.TaskModal,{onClose:()=>B(!1)}),C&&(0,b.jsx)(aA.TaskModal,{task:C,onClose:()=>D(null)}),(0,b.jsx)(ad.ConfirmDialog,{open:S,title:y.tasks.confirmBulkDeleteTitle.replace("{count}",String(P.size)),description:y.tasks.confirmBulkDeleteDescription,onClose:()=>T(!1),onConfirm:()=>{P.forEach(a=>w.mutate(a)),x(y.tasks.nDeleted.replace("{count}",String(P.size))),ag(),T(!1)}})]})}a.s(["default",0,function(){return(0,b.jsx)(c.ModuleShell,{moduleId:"tasks",children:(0,b.jsx)(aF,{})})},"dynamic",0,"force-dynamic"],69474)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=app_tasks_page_tsx_1p6mxbw._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[42278,a=>{"use strict";var b=a.i(87924),c=a.i(70777),d=a.i(72131),e=a.i(38246),f=a.i(90669),g=a.i(41710),h=a.i(28886),i=a.i(70106);let j=(0,i.default)("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),k=(0,i.default)("FileDiff",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]);var l=a.i(76645),m=a.i(69883),m=m,n=a.i(15618);let o=(0,i.default)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);a.i(28130);var p=a.i(29457),q=a.i(35487);let r=(0,i.default)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),s=(0,i.default)("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]);var t=a.i(4720);let u=(0,i.default)("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),v=(0,i.default)("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]),w=(0,i.default)("FileCog",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m3.2 12.9-.9-.4",key:"1i3dj5"}],["path",{d:"m3.2 15.1-.9.4",key:"1fvgj0"}],["path",{d:"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5",key:"1yo3oz"}],["path",{d:"m4.9 11.2-.4-.9",key:"otmhb9"}],["path",{d:"m4.9 16.8-.4.9",key:"1b8z07"}],["path",{d:"m7.5 10.3-.4.9",key:"11k65u"}],["path",{d:"m7.5 17.7-.4-.9",key:"431x55"}],["path",{d:"m9.7 12.5-.9.4",key:"87sjan"}],["path",{d:"m9.7 15.5-.9-.4",key:"khqm91"}],["circle",{cx:"6",cy:"14",r:"3",key:"a1xfv6"}]]);var x=a.i(80386);let y=(0,i.default)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),z={ts:r,tsx:r,js:r,jsx:r,mjs:r,cjs:r,go:r,rs:r,php:r,py:r,html:r,json:s,css:v,scss:v,md:t.FileText,markdown:t.FileText,txt:t.FileText,yml:w,yaml:w,toml:w,env:w,ini:w,sh:x.Terminal,bash:x.Terminal,sql:y,png:u,jpg:u,jpeg:u,gif:u,svg:u,webp:u};function A(a){return z[a.split("/").pop()?.split(".").pop()?.toLowerCase()??""]??q.File}var B=a.i(34048),C=a.i(32824),D=a.i(88736),E=a.i(23060);let F=a=>{let b=new Date(a);return`${String(b.getHours()).padStart(2,"0")}:${String(b.getMinutes()).padStart(2,"0")}`},G=a=>a.split("/").pop()??a;function H({stamps:a,start:c,end:e}){let f=(0,d.useMemo)(()=>{let b=Array(12).fill(0),d=e-c||1;for(let e of a){let a=Math.min(11,Math.max(0,Math.floor((e-c)/d*12)));b[a]++}return b},[a,c,e]),g=Math.max(1,...f);return(0,b.jsx)("span",{className:"inline-flex h-4 items-end gap-px","aria-hidden":!0,children:f.map((a,c)=>(0,b.jsx)("span",{className:"w-[3px] rounded-sm bg-accent/55",style:{height:`${a?Math.max(14,a/g*100):6}%`,opacity:a?1:.3}},c))})}function I({c:a,multiProject:c,onOpen:d}){let e=a.files.reduce((a,b)=>a+b.added,0),f=a.files.reduce((a,b)=>a+b.deleted,0);return(0,b.jsxs)("button",{type:"button",onClick:()=>d(a),className:"card-interactive group flex w-full flex-col gap-1.5 rounded-lg border border-border bg-surface p-2.5 text-left",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(m.default,{size:13,className:"shrink-0 text-text-muted group-hover:text-accent","aria-hidden":!0}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:F(a.timestamp)}),(0,b.jsx)("span",{className:"rounded bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:a.hash}),c?(0,b.jsx)(C.ProjectPill,{projectId:a.projectId}):null,(0,b.jsxs)("span",{className:"ml-auto inline-flex items-center gap-2 font-mono text-[11px]",children:[e?(0,b.jsxs)("span",{className:"inline-flex items-center text-success",children:[(0,b.jsx)(n.Plus,{size:10,"aria-hidden":!0}),e]}):null,f?(0,b.jsxs)("span",{className:"inline-flex items-center text-danger",children:[(0,b.jsx)(o,{size:10,"aria-hidden":!0}),f]}):null]})]}),(0,b.jsx)("div",{className:"truncate text-sm text-text",children:a.subject}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(function(a){let b=new Map;for(let c of a){let a=A(c.path),d=a.displayName??a.name??c.path,e=b.get(d);e?e.count++:b.set(d,{Icon:a,count:1})}return[...b.entries()].map(([a,b])=>({key:a,Icon:b.Icon,count:b.count})).slice(0,5)})(a.files).map(({key:a,Icon:c,count:d})=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:[(0,b.jsx)(c,{size:12,className:"shrink-0","aria-hidden":!0}),d]},a)),(0,b.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:1===a.files.length?G(a.files[0].path):`${a.files.length}`})]})]})}function J({commits:a,windowStart:c,now:e,multiProject:f}){let{t:g}=(0,p.useTranslation)(),[h,i]=(0,d.useState)(null),[j,k]=(0,d.useState)(null),n=(0,l.useProjectCommit)(h?h.projectId:null,h?h.hash:null),o=(0,l.useProjectCommitFileDiff)(j?j.projectId:null,j?j.hash:null,j?j.path:null),q=(0,d.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.files){let d=b.get(a.path)??{path:a.path,count:0,added:0,deleted:0,stamps:[],hash:c.hash,projectId:c.projectId};d.count++,d.added+=a.added,d.deleted+=a.deleted,d.stamps.push(c.timestamp),b.set(a.path,d)}return[...b.values()].sort((a,b)=>b.count-a.count||b.added+b.deleted-(a.added+a.deleted)).slice(0,8)},[a]);return a.length?(0,b.jsxs)("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1.3fr)_minmax(0,1fr)]",children:[(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-2",children:[(0,b.jsx)("h3",{className:"font-mono text-[11px] uppercase tracking-widest text-text-muted",children:g.timeline.changesOverTime}),(0,b.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>(0,b.jsx)(I,{c:a,multiProject:f,onOpen:i},`${a.projectId}-${a.hash}`))})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-2",children:[(0,b.jsx)("h3",{className:"font-mono text-[11px] uppercase tracking-widest text-text-muted",children:g.timeline.mostActiveFiles}),(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:q.map(a=>{var d;let f,g=A(a.path);return(0,b.jsxs)("button",{type:"button",onClick:()=>k({path:a.path,hash:a.hash,projectId:a.projectId}),className:"card-interactive flex w-full items-center gap-2.5 rounded-lg border border-border bg-surface p-2.5 text-left",children:[(0,b.jsx)(g,{size:15,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 truncate text-sm",title:a.path,children:[(0,b.jsx)("span",{className:"text-text-muted",children:(f=(d=a.path).lastIndexOf("/"))>=0?d.slice(0,f+1):""}),(0,b.jsx)("span",{className:"text-text",children:G(a.path)})]}),(0,b.jsx)(H,{stamps:a.stamps,start:c,end:e}),(0,b.jsxs)(B.Badge,{tone:"muted",children:[a.count,"×"]}),(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 font-mono text-[11px]",children:[(0,b.jsxs)("span",{className:"text-success",children:["+",a.added]}),(0,b.jsxs)("span",{className:"text-danger",children:["−",a.deleted]})]})]},a.path)})})]}),h?(0,b.jsx)(D.Modal,{title:h.subject,description:`${h.hash} \xb7 ${F(h.timestamp)}`,icon:m.default,size:"lg",onClose:()=>i(null),children:(0,b.jsx)("div",{className:"flex h-full min-h-0 flex-col p-5",children:(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:(0,b.jsx)(E.PatchView,{diff:n.data?.diff??"",empty:n.isLoading?g.common.loading:g.projects.noChanges})})})}):null,j?(0,b.jsx)(D.Modal,{title:G(j.path),description:`${j.path} \xb7 ${j.hash}`,icon:A(j.path),size:"lg",onClose:()=>k(null),children:(0,b.jsx)("div",{className:"flex h-full min-h-0 flex-col p-5",children:(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:(0,b.jsx)(E.PatchView,{diff:o.data?.diff??"",empty:o.isLoading?g.common.loading:g.projects.noChanges})})})}):null]}):(0,b.jsx)("div",{className:"rounded-lg border border-border bg-surface p-6 text-center text-sm text-text-muted",children:g.timeline.noChangesInWindow})}function K(a,b,c){let d=b-36e5*c,e=b-d,f=c<=24?c:Math.max(6,Math.min(12,Math.round(c/24)));return{ticks:Array.from({length:f},(a,b)=>{let g=d+(b+1)*e/f,h=new Date(g);return{label:c<=24?`${String(h.getHours()).padStart(2,"0")}:${String(h.getMinutes()).padStart(2,"0")}`:`${h.getDate()}.${h.getMonth()+1}.`,frac:(g-d)/e}}),points:(function(a){let b=[...a].sort((a,b)=>a.timestamp-b.timestamp),c=[];for(let a of b){let b=c[c.length-1];void 0!==b&&b.type===a.type&&b.target===a.target&&b.detail===a.detail&&a.timestamp-b.timestamp<=3e5?(b.count+=1,b.id=a.id,b.timestamp=a.timestamp):c.push({...a,count:1,firstTimestamp:a.timestamp})}return c})(a).filter(a=>a.timestamp>=d&&a.timestamp<=b).map(a=>({...a,frac:(a.timestamp-d)/(b-d)}))}}var L=a.i(55023),M=a.i(82478),N=a.i(71727),O=a.i(4416),P=a.i(65151);function Q(a){switch(a){case"task":return L.ListChecks;case"mission":return M.Rocket;case"signal":return N.Radio;case"review":return O.ShieldCheck;default:return P.Circle}}function R(a,b){if(b.startsWith("escalated"))return"danger";if(b.startsWith("approved"))return"success";switch(b){case"complete":case"open":return"success";case"working":case"in_progress":case"needs_input":return"warning";case"closed":case"blocked":case"cancelled":return"danger";case"active":return"accent";default:switch(a){case"task":case"mission":return"accent";case"signal":return"muted";case"review":return"warning";default:return"default"}}}var S=a.i(83549),T=a.i(97222),U=a.i(9173),V=a.i(92058);let W={accent:"bg-accent",danger:"bg-danger",success:"bg-success",warning:"bg-warning",muted:"bg-text-muted",default:"bg-text-muted"},X={accent:"text-accent",danger:"text-danger",success:"text-success",warning:"text-warning",muted:"text-text-muted",default:"text-text-muted"},Y={accent:"border-accent/40 bg-accent/10 text-accent",danger:"border-danger/40 bg-danger/10 text-danger",success:"border-success/40 bg-success/10 text-success",warning:"border-warning/40 bg-warning/10 text-warning",muted:"border-border bg-elevated text-text-muted",default:"border-border bg-elevated text-text-muted"};function Z(a){let b=new Date(a);return`${String(b.getHours()).padStart(2,"0")}:${String(b.getMinutes()).padStart(2,"0")}`}function $({point:a,label:c,onPick:d}){let e=R(a.type,a.detail),f=Math.min(20,11+2*Math.floor(Math.log2(a.count+1))),g=`${c} \xb7 ${a.detail} \xb7 ${Z(a.timestamp)}${a.count>1?` \xb7 \xd7${a.count}`:""}`;return(0,b.jsxs)("div",{className:"group absolute top-1/2 -translate-x-1/2 -translate-y-1/2",style:{left:`${100*a.frac}%`},children:[(0,b.jsx)("button",{type:"button","data-testid":"axis-dot",onClick:()=>d(a),className:`block animate-pop-in cursor-pointer rounded-full border-2 border-surface shadow-sm transition-transform hover:scale-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${W[e]}`,style:{width:f,height:f,transitionDuration:"var(--motion-fast)"},"aria-label":g}),(0,b.jsxs)("div",{role:"tooltip",className:`pointer-events-none absolute bottom-full z-10 mb-2 hidden w-max max-w-[18rem] whitespace-normal break-words rounded-md border border-border bg-elevated px-2.5 py-1.5 text-xs text-text group-hover:block ${a.frac<.12?"left-0":a.frac>.88?"right-0":"left-1/2 -translate-x-1/2"}`,style:{boxShadow:"var(--shadow-raised)"},children:[(0,b.jsx)("span",{className:"text-text",children:c}),(0,b.jsxs)("span",{className:"text-text-muted",children:[" · ",a.detail," · ",Z(a.timestamp)]}),a.count>1?(0,b.jsxs)("span",{className:"text-text-muted",children:[" · ×",a.count]}):null]})]})}function _({points:a,ticks:c,resolve:d,onPick:e}){return(0,b.jsxs)("div",{className:"relative w-full select-none",children:[(0,b.jsxs)("div",{className:"relative h-16",children:[c.map(a=>(0,b.jsx)("div",{className:"absolute inset-y-0 w-px bg-border/50",style:{left:`${100*a.frac}%`},"aria-hidden":!0},a.label)),(0,b.jsx)("div",{className:"absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-border","aria-hidden":!0}),(0,b.jsx)("div",{className:"absolute inset-y-0 right-0 w-px bg-accent/40","aria-hidden":!0,children:(0,b.jsx)("span",{className:"live-dot absolute -top-0.5 left-1/2 h-1.5 w-1.5 -translate-x-1/2 rounded-full bg-accent",style:{"--live-ring":"color-mix(in srgb, var(--color-info) 50%, transparent)"}})}),a.map(a=>(0,b.jsx)($,{point:a,label:d(a).label,onPick:e},a.id))]}),(0,b.jsx)("div",{className:"relative mt-1.5 h-4",children:c.map(a=>(0,b.jsx)("span",{"data-testid":"axis-tick",className:"absolute -translate-x-1/2 font-mono text-text-muted",style:{left:`${100*a.frac}%`,fontSize:"var(--text-caption)"},children:a.label},a.label))})]})}function aa({points:a,ticks:c,resolve:d,onPick:e}){let f=a.reduce((a,b)=>b.timestamp>a.timestamp?b:a,a[0]),g=Q(f.type),h=R(f.type,f.detail),{label:i,projectId:j}=d(f);return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-surface px-3 py-2.5",children:[(0,b.jsx)("span",{className:`flex h-12 w-12 shrink-0 items-center justify-center rounded-xl border-2 ${Y[h]}`,children:(0,b.jsx)(g,{size:24,"aria-hidden":!0})}),(0,b.jsxs)("div",{className:"w-44 shrink-0",children:[(0,b.jsx)("div",{className:"flex items-center gap-1.5",children:(0,b.jsx)("span",{className:"truncate text-sm font-medium text-text",title:i,children:i})}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:`shrink-0 text-[11px] ${X[h]}`,children:f.detail}),(0,b.jsx)(C.ProjectPill,{projectId:j??void 0})]})]}),(0,b.jsxs)("div",{className:"relative h-9 flex-1",children:[c.map(a=>(0,b.jsx)("div",{className:"absolute inset-y-0 w-px bg-border/40",style:{left:`${100*a.frac}%`},"aria-hidden":!0},a.label)),(0,b.jsx)("div",{className:"absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-border/60","aria-hidden":!0}),a.map(a=>(0,b.jsx)($,{point:a,label:d(a).label,onPick:e},a.id))]})]})}function ab({tone:a,count:c,label:d}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-surface px-3.5 py-3",children:[(0,b.jsx)("span",{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border-2 text-lg font-semibold ${Y[a]}`,children:c}),(0,b.jsx)("span",{className:"text-xs font-medium uppercase tracking-wide text-text-muted",children:d})]})}function ac({point:a,display:c,onClose:d}){let{t:f}=(0,p.useTranslation)(),g=Q(a.type),h=R(a.type,a.detail),i=c.projectId,m="task"===a.type||"review"===a.type?a.target:null,n=(0,l.useProjectChanged)(i),o=(0,l.useProjectChanges)(i,!0);return(0,b.jsx)(D.Modal,{title:c.label,description:`${a.detail} \xb7 ${Z(a.timestamp)}`,icon:g,size:"lg",onClose:d,children:(0,b.jsxs)("div",{className:"flex h-full flex-col gap-4 overflow-hidden p-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start gap-3",children:[(0,b.jsx)("span",{className:`flex h-14 w-14 shrink-0 items-center justify-center rounded-2xl border-2 ${Y[h]}`,children:(0,b.jsx)(g,{size:30,"aria-hidden":!0})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(B.Badge,{tone:h,children:a.detail}),a.count>1?(0,b.jsxs)("span",{className:"text-xs text-text-muted",children:["×",a.count]}):null,(0,b.jsx)(C.ProjectPill,{projectId:i??void 0})]}),(0,b.jsx)("div",{className:"mt-1 text-sm font-medium text-text",children:c.label})]}),m?(0,b.jsxs)(e.default,{href:`/tasks?select=${encodeURIComponent(m)}`,className:"inline-flex w-full shrink-0 items-center justify-center gap-1 rounded-md border border-border bg-elevated px-2.5 py-1.5 text-xs text-text transition-colors hover:text-accent sm:w-auto sm:justify-start",children:[(0,b.jsx)(j,{size:14,"aria-hidden":!0}),f.timeline.openTask]}):null]}),n.data?.changed?.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:n.data.changed.slice(0,12).map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:[(0,b.jsx)(k,{size:11,"aria-hidden":!0}),a]},a))}):null,i?(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:o.isLoading?(0,b.jsx)(U.LoadingState,{}):(0,b.jsx)(E.PatchView,{diff:o.data?.diff??"",empty:f.timeline.noChanges})}):(0,b.jsx)("p",{className:"rounded-lg border border-border bg-elevated p-4 text-center text-sm text-text-muted",children:f.timeline.noChanges})]})})}function ad(){let{t:a}=(0,p.useTranslation)(),[c,e]=(0,V.usePersistentState)("orca.timeline.filter","all",["all","task","mission","signal","review"]),[i,j]=(0,V.usePersistentState)("orca.timeline.view","axis",["axis","lanes"]),[k,m]=(0,d.useState)(null),n=(0,l.useActivity)("all"===c?void 0:c),o=(0,l.useTasks)(),{byId:q,byAgent:r}=(0,d.useMemo)(()=>{let a=new Map,b=new Map;for(let c of o.data??[]){a.set(c.id,c);let d=c.labels?.find(a=>a.startsWith("agent:"))?.slice("agent:".length);d&&b.set(d,c)}return{byId:a,byAgent:b}},[o.data]),s=(0,d.useMemo)(()=>{let a=new Map;for(let b of n.data??[])b.label&&a.set(b.target,b.label);return a},[n.data]),t=(0,d.useMemo)(()=>a=>(function(a,b,c,d){if(a.target.startsWith("m-")){let c=b.get(a.target.slice(2));return{label:c?.title??d.get(a.target)??a.target,projectId:c?.project_id??a.projectId??null}}if("task"===a.type||"review"===a.type){let c=b.get(a.target);return{label:c?.title??d.get(a.target)??a.target,projectId:a.projectId??c?.project_id??null}}if(a.target.startsWith("orca-")){let b=a.target.slice(5),d=c.get(b);return{label:b,projectId:d?.project_id??a.projectId??null}}return{label:a.target,projectId:a.projectId??null}})(a,q,r,s),[q,r,s]),u=[{label:a.timeline.filterAll,value:"all"},{label:a.timeline.filterTasks,value:"task"},{label:a.timeline.filterMissions,value:"mission"},{label:a.timeline.filterSignals,value:"signal"},{label:a.timeline.filterReviews,value:"review"}],v=(0,d.useMemo)(()=>(n.data??[]).flatMap(a=>{var b;let c=Date.parse((b=a.ts).includes("T")?b:b.replace(" ","T")+"Z");return Number.isNaN(c)?[]:[{id:String(a.id),type:a.type,target:a.target,detail:a.detail,timestamp:c,projectId:a.project_id}]}),[n.data]),w=(0,d.useMemo)(()=>{if(0===v.length)return 12;let a=Math.min(...v.map(a=>a.timestamp));return Math.min(168,Math.max(1,Math.ceil((Date.now()-a)/36e5)))},[v]),x=w>=144?a.timeline.activityWeek:w>=36?a.timeline.activityDays.replace("{n}",String(Math.round(w/24))):a.timeline.activityHours.replace("{n}",String(Math.round(w))),{points:y,ticks:z}=(0,d.useMemo)(()=>K(v,Date.now(),w),[v,w]),A=(0,d.useMemo)(()=>{let a={task:0,mission:0,signal:0,approved:0,escalated:0};for(let b of y)"review"===b.type?b.detail.startsWith("escalated")?a.escalated++:a.approved++:"task"===b.type?a.task++:"mission"===b.type?a.mission++:"signal"===b.type&&a.signal++;return a},[y]),B=(0,d.useMemo)(()=>{let a=Date.now(),b=new Map;for(let a of v){let c=b.get(a.target)??[];c.push(a),b.set(a.target,c)}return Array.from(b.entries()).map(([b,c])=>({target:b,points:K(c,a,w).points,last:Math.max(...c.map(a=>a.timestamp))})).filter(a=>a.points.length>0).sort((a,b)=>b.last-a.last).slice(0,10)},[v,w]),C=!n.isLoading&&!n.isError&&v.length>0,D=(0,l.useProjects)(),E=(0,d.useMemo)(()=>(D.data??[]).map(a=>a.id),[D.data]),F=(0,l.useProjectsCommits)(E,w),G=[{tone:"accent",count:A.task,label:a.timeline.filterTasks},{tone:"accent",count:A.mission,label:a.timeline.filterMissions},{tone:"success",count:A.approved,label:a.timeline.approved},{tone:"danger",count:A.escalated,label:a.timeline.escalated},{tone:"muted",count:A.signal,label:a.timeline.filterSignals}];return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)(T.ModuleHeader,{title:a.page.timeline,icon:f.Activity,children:[(0,b.jsx)(S.Segmented,{options:[{label:a.timeline.axis,value:"axis",icon:f.Activity},{label:a.timeline.lanes,value:"lanes",icon:h.Columns3}],value:i,onChange:j}),(0,b.jsx)(S.Segmented,{options:u,value:c,onChange:e})]}),C?(0,b.jsx)("div",{"data-testid":"timeline-summary",className:"grid grid-cols-2 gap-2.5 sm:grid-cols-3 lg:grid-cols-5",children:G.map(a=>(0,b.jsx)(ab,{tone:a.tone,count:a.count,label:a.label},a.label))}):null,(0,b.jsxs)("section",{className:"rounded-lg border border-border border-t-2 border-t-accent/40 bg-surface p-5",style:{boxShadow:"var(--shadow-card)"},children:[(0,b.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-widest text-text-muted",children:[(0,b.jsx)(g.Clock,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),x]}),C?(0,b.jsx)("span",{className:"hidden text-[11px] text-text-muted sm:inline",children:a.timeline.markerHint}):null]}),n.isLoading?(0,b.jsx)(U.LoadingState,{}):n.isError?(0,b.jsx)(U.ErrorState,{message:a.timeline.loadError,onRetry:()=>n.refetch()}):C?"lanes"===i?(0,b.jsxs)("div",{className:"flex flex-col gap-2.5",children:[B.map(a=>(0,b.jsx)(aa,{points:a.points,ticks:z,resolve:t,onPick:m},a.target)),(0,b.jsx)("div",{className:"relative mt-1 ml-[10.25rem] h-4",children:z.map(a=>(0,b.jsx)("span",{className:"absolute -translate-x-1/2 font-mono text-text-muted",style:{left:`${100*a.frac}%`,fontSize:"var(--text-caption)"},children:a.label},a.label))})]}):(0,b.jsx)(_,{points:y,ticks:z,resolve:t,onPick:m}):(0,b.jsx)(U.EmptyState,{title:a.timeline.empty,description:a.timeline.emptyDescription,icon:f.Activity})]}),C?(0,b.jsx)(J,{commits:F.commits,windowStart:Date.now()-36e5*w,now:Date.now(),multiProject:E.length>1}):null,k?(0,b.jsx)(ac,{point:k,display:t(k),onClose:()=>m(null)}):null]})}a.s(["default",0,function(){return(0,b.jsx)(c.ModuleShell,{moduleId:"timeline",children:(0,b.jsx)(ad,{})})},"dynamic",0,"force-dynamic"],42278)}];
|
|
1
|
+
module.exports=[42278,a=>{"use strict";var b=a.i(87924),c=a.i(70777),d=a.i(72131),e=a.i(38246),f=a.i(90669),g=a.i(41710),h=a.i(28886),i=a.i(70106);let j=(0,i.default)("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),k=(0,i.default)("FileDiff",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]);var l=a.i(76645),m=a.i(81415),n=a.i(69883),n=n,o=a.i(15618);let p=(0,i.default)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);a.i(28130);var q=a.i(29457),r=a.i(35487);let s=(0,i.default)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),t=(0,i.default)("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]);var u=a.i(4720),v=a.i(49625),v=v;let w=(0,i.default)("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]),x=(0,i.default)("FileCog",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m3.2 12.9-.9-.4",key:"1i3dj5"}],["path",{d:"m3.2 15.1-.9.4",key:"1fvgj0"}],["path",{d:"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5",key:"1yo3oz"}],["path",{d:"m4.9 11.2-.4-.9",key:"otmhb9"}],["path",{d:"m4.9 16.8-.4.9",key:"1b8z07"}],["path",{d:"m7.5 10.3-.4.9",key:"11k65u"}],["path",{d:"m7.5 17.7-.4-.9",key:"431x55"}],["path",{d:"m9.7 12.5-.9.4",key:"87sjan"}],["path",{d:"m9.7 15.5-.9-.4",key:"khqm91"}],["circle",{cx:"6",cy:"14",r:"3",key:"a1xfv6"}]]);var y=a.i(80386);let z=(0,i.default)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),A={ts:s,tsx:s,js:s,jsx:s,mjs:s,cjs:s,go:s,rs:s,php:s,py:s,html:s,json:t,css:w,scss:w,md:u.FileText,markdown:u.FileText,txt:u.FileText,yml:x,yaml:x,toml:x,env:x,ini:x,sh:y.Terminal,bash:y.Terminal,sql:z,png:v.default,jpg:v.default,jpeg:v.default,gif:v.default,svg:v.default,webp:v.default};function B(a){return A[a.split("/").pop()?.split(".").pop()?.toLowerCase()??""]??r.File}var C=a.i(34048),D=a.i(32824),E=a.i(88736),F=a.i(23060);let G=a=>{let b=new Date(a);return`${String(b.getHours()).padStart(2,"0")}:${String(b.getMinutes()).padStart(2,"0")}`},H=a=>a.split("/").pop()??a;function I({stamps:a,start:c,end:e}){let f=(0,d.useMemo)(()=>{let b=Array(12).fill(0),d=e-c||1;for(let e of a){let a=Math.min(11,Math.max(0,Math.floor((e-c)/d*12)));b[a]++}return b},[a,c,e]),g=Math.max(1,...f);return(0,b.jsx)("span",{className:"inline-flex h-4 items-end gap-px","aria-hidden":!0,children:f.map((a,c)=>(0,b.jsx)("span",{className:"w-[3px] rounded-sm bg-accent/55",style:{height:`${a?Math.max(14,a/g*100):6}%`,opacity:a?1:.3}},c))})}function J({c:a,multiProject:c,onOpen:d}){let e=a.files.reduce((a,b)=>a+b.added,0),f=a.files.reduce((a,b)=>a+b.deleted,0);return(0,b.jsxs)("button",{type:"button",onClick:()=>d(a),className:"card-interactive group flex w-full flex-col gap-1.5 rounded-lg border border-border bg-surface p-2.5 text-left",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(n.default,{size:13,className:"shrink-0 text-text-muted group-hover:text-accent","aria-hidden":!0}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:G(a.timestamp)}),(0,b.jsx)("span",{className:"rounded bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:a.hash}),c?(0,b.jsx)(D.ProjectPill,{projectId:a.projectId}):null,(0,b.jsxs)("span",{className:"ml-auto inline-flex items-center gap-2 font-mono text-[11px]",children:[e?(0,b.jsxs)("span",{className:"inline-flex items-center text-success",children:[(0,b.jsx)(o.Plus,{size:10,"aria-hidden":!0}),e]}):null,f?(0,b.jsxs)("span",{className:"inline-flex items-center text-danger",children:[(0,b.jsx)(p,{size:10,"aria-hidden":!0}),f]}):null]})]}),(0,b.jsx)("div",{className:"truncate text-sm text-text",children:a.subject}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(function(a){let b=new Map;for(let c of a){let a=B(c.path),d=a.displayName??a.name??c.path,e=b.get(d);e?e.count++:b.set(d,{Icon:a,count:1})}return[...b.entries()].map(([a,b])=>({key:a,Icon:b.Icon,count:b.count})).slice(0,5)})(a.files).map(({key:a,Icon:c,count:d})=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:[(0,b.jsx)(c,{size:12,className:"shrink-0","aria-hidden":!0}),d]},a)),(0,b.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:1===a.files.length?H(a.files[0].path):`${a.files.length}`})]})]})}function K({commits:a,windowStart:c,now:e,multiProject:f}){let{t:g}=(0,q.useTranslation)(),[h,i]=(0,d.useState)(null),[j,k]=(0,d.useState)(null),m=(0,l.useProjectCommit)(h?h.projectId:null,h?h.hash:null),o=(0,l.useProjectCommitFileDiff)(j?j.projectId:null,j?j.hash:null,j?j.path:null),p=(0,d.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.files){let d=b.get(a.path)??{path:a.path,count:0,added:0,deleted:0,stamps:[],hash:c.hash,projectId:c.projectId};d.count++,d.added+=a.added,d.deleted+=a.deleted,d.stamps.push(c.timestamp),b.set(a.path,d)}return[...b.values()].sort((a,b)=>b.count-a.count||b.added+b.deleted-(a.added+a.deleted)).slice(0,8)},[a]);return a.length?(0,b.jsxs)("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1.3fr)_minmax(0,1fr)]",children:[(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-2",children:[(0,b.jsx)("h3",{className:"font-mono text-[11px] uppercase tracking-widest text-text-muted",children:g.timeline.changesOverTime}),(0,b.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>(0,b.jsx)(J,{c:a,multiProject:f,onOpen:i},`${a.projectId}-${a.hash}`))})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-2",children:[(0,b.jsx)("h3",{className:"font-mono text-[11px] uppercase tracking-widest text-text-muted",children:g.timeline.mostActiveFiles}),(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:p.map(a=>{var d;let f,g=B(a.path);return(0,b.jsxs)("button",{type:"button",onClick:()=>k({path:a.path,hash:a.hash,projectId:a.projectId}),className:"card-interactive flex w-full items-center gap-2.5 rounded-lg border border-border bg-surface p-2.5 text-left",children:[(0,b.jsx)(g,{size:15,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 truncate text-sm",title:a.path,children:[(0,b.jsx)("span",{className:"text-text-muted",children:(f=(d=a.path).lastIndexOf("/"))>=0?d.slice(0,f+1):""}),(0,b.jsx)("span",{className:"text-text",children:H(a.path)})]}),(0,b.jsx)(I,{stamps:a.stamps,start:c,end:e}),(0,b.jsxs)(C.Badge,{tone:"muted",children:[a.count,"×"]}),(0,b.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 font-mono text-[11px]",children:[(0,b.jsxs)("span",{className:"text-success",children:["+",a.added]}),(0,b.jsxs)("span",{className:"text-danger",children:["−",a.deleted]})]})]},a.path)})})]}),h?(0,b.jsx)(E.Modal,{title:h.subject,description:`${h.hash} \xb7 ${G(h.timestamp)}`,icon:n.default,size:"lg",onClose:()=>i(null),children:(0,b.jsx)("div",{className:"flex h-full min-h-0 flex-col p-5",children:(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:(0,b.jsx)(F.PatchView,{diff:m.data?.diff??"",empty:m.isLoading?g.common.loading:g.projects.noChanges})})})}):null,j?(0,b.jsx)(E.Modal,{title:H(j.path),description:`${j.path} \xb7 ${j.hash}`,icon:B(j.path),size:"lg",onClose:()=>k(null),children:(0,b.jsx)("div",{className:"flex h-full min-h-0 flex-col p-5",children:(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:(0,b.jsx)(F.PatchView,{diff:o.data?.diff??"",empty:o.isLoading?g.common.loading:g.projects.noChanges})})})}):null]}):(0,b.jsx)("div",{className:"rounded-lg border border-border bg-surface p-6 text-center text-sm text-text-muted",children:g.timeline.noChangesInWindow})}function L(a,b,c){let d=b-36e5*c,e=b-d,f=c<=24?c:Math.max(6,Math.min(12,Math.round(c/24)));return{ticks:Array.from({length:f},(a,b)=>{let g=d+(b+1)*e/f,h=new Date(g);return{label:c<=24?`${String(h.getHours()).padStart(2,"0")}:${String(h.getMinutes()).padStart(2,"0")}`:`${h.getDate()}.${h.getMonth()+1}.`,frac:(g-d)/e}}),points:(function(a){let b=[...a].sort((a,b)=>a.timestamp-b.timestamp),c=[];for(let a of b){let b=c[c.length-1];void 0!==b&&b.type===a.type&&b.target===a.target&&b.detail===a.detail&&a.timestamp-b.timestamp<=3e5?(b.count+=1,b.id=a.id,b.timestamp=a.timestamp):c.push({...a,count:1,firstTimestamp:a.timestamp})}return c})(a).filter(a=>a.timestamp>=d&&a.timestamp<=b).map(a=>({...a,frac:(a.timestamp-d)/(b-d)}))}}var M=a.i(55023),N=a.i(82478),O=a.i(71727),P=a.i(4416),Q=a.i(65151);function R(a){switch(a){case"task":return M.ListChecks;case"mission":return N.Rocket;case"signal":return O.Radio;case"review":return P.ShieldCheck;default:return Q.Circle}}function S(a,b){if(b.startsWith("escalated"))return"danger";if(b.startsWith("approved"))return"success";switch(b){case"complete":case"open":return"success";case"working":case"in_progress":case"needs_input":return"warning";case"closed":case"blocked":case"cancelled":return"danger";case"active":return"accent";default:switch(a){case"task":case"mission":return"accent";case"signal":return"muted";case"review":return"warning";default:return"default"}}}var T=a.i(83549),U=a.i(97222),V=a.i(9173),W=a.i(92058);let X={accent:"bg-accent",danger:"bg-danger",success:"bg-success",warning:"bg-warning",muted:"bg-text-muted",default:"bg-text-muted"},Y={accent:"text-accent",danger:"text-danger",success:"text-success",warning:"text-warning",muted:"text-text-muted",default:"text-text-muted"},Z={accent:"border-accent/40 bg-accent/10 text-accent",danger:"border-danger/40 bg-danger/10 text-danger",success:"border-success/40 bg-success/10 text-success",warning:"border-warning/40 bg-warning/10 text-warning",muted:"border-border bg-elevated text-text-muted",default:"border-border bg-elevated text-text-muted"};function $(a){let b=new Date(a);return`${String(b.getHours()).padStart(2,"0")}:${String(b.getMinutes()).padStart(2,"0")}`}function _({point:a,label:c,onPick:d}){let e=S(a.type,a.detail),f=Math.min(20,11+2*Math.floor(Math.log2(a.count+1))),g=`${c} \xb7 ${a.detail} \xb7 ${$(a.timestamp)}${a.count>1?` \xb7 \xd7${a.count}`:""}`;return(0,b.jsxs)("div",{className:"group absolute top-1/2 -translate-x-1/2 -translate-y-1/2",style:{left:`${100*a.frac}%`},children:[(0,b.jsx)("button",{type:"button","data-testid":"axis-dot",onClick:()=>d(a),className:`block animate-pop-in cursor-pointer rounded-full border-2 border-surface shadow-sm transition-transform hover:scale-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${X[e]}`,style:{width:f,height:f,transitionDuration:"var(--motion-fast)"},"aria-label":g}),(0,b.jsxs)("div",{role:"tooltip",className:`pointer-events-none absolute bottom-full z-10 mb-2 hidden w-max max-w-[18rem] whitespace-normal break-words rounded-md border border-border bg-elevated px-2.5 py-1.5 text-xs text-text group-hover:block ${a.frac<.12?"left-0":a.frac>.88?"right-0":"left-1/2 -translate-x-1/2"}`,style:{boxShadow:"var(--shadow-raised)"},children:[(0,b.jsx)("span",{className:"text-text",children:c}),(0,b.jsxs)("span",{className:"text-text-muted",children:[" · ",a.detail," · ",$(a.timestamp)]}),a.count>1?(0,b.jsxs)("span",{className:"text-text-muted",children:[" · ×",a.count]}):null]})]})}function aa({points:a,ticks:c,resolve:d,onPick:e}){return(0,b.jsxs)("div",{className:"relative w-full select-none",children:[(0,b.jsxs)("div",{className:"relative h-16",children:[c.map(a=>(0,b.jsx)("div",{className:"absolute inset-y-0 w-px bg-border/50",style:{left:`${100*a.frac}%`},"aria-hidden":!0},a.label)),(0,b.jsx)("div",{className:"absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-border","aria-hidden":!0}),(0,b.jsx)("div",{className:"absolute inset-y-0 right-0 w-px bg-accent/40","aria-hidden":!0,children:(0,b.jsx)("span",{className:"live-dot absolute -top-0.5 left-1/2 h-1.5 w-1.5 -translate-x-1/2 rounded-full bg-accent",style:{"--live-ring":"color-mix(in srgb, var(--color-info) 50%, transparent)"}})}),a.map(a=>(0,b.jsx)(_,{point:a,label:d(a).label,onPick:e},a.id))]}),(0,b.jsx)("div",{className:"relative mt-1.5 h-4",children:c.map(a=>(0,b.jsx)("span",{"data-testid":"axis-tick",className:"absolute -translate-x-1/2 font-mono text-text-muted",style:{left:`${100*a.frac}%`,fontSize:"var(--text-caption)"},children:a.label},a.label))})]})}function ab({points:a,ticks:c,resolve:d,onPick:e}){let f=a.reduce((a,b)=>b.timestamp>a.timestamp?b:a,a[0]),g=R(f.type),h=S(f.type,f.detail),{label:i,projectId:j}=d(f);return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-surface px-3 py-2.5",children:[(0,b.jsx)("span",{className:`flex h-12 w-12 shrink-0 items-center justify-center rounded-xl border-2 ${Z[h]}`,children:(0,b.jsx)(g,{size:24,"aria-hidden":!0})}),(0,b.jsxs)("div",{className:"w-44 shrink-0",children:[(0,b.jsx)("div",{className:"flex items-center gap-1.5",children:(0,b.jsx)("span",{className:"truncate text-sm font-medium text-text",title:i,children:i})}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:`shrink-0 text-[11px] ${Y[h]}`,children:f.detail}),(0,b.jsx)(D.ProjectPill,{projectId:j??void 0})]})]}),(0,b.jsxs)("div",{className:"relative h-9 flex-1",children:[c.map(a=>(0,b.jsx)("div",{className:"absolute inset-y-0 w-px bg-border/40",style:{left:`${100*a.frac}%`},"aria-hidden":!0},a.label)),(0,b.jsx)("div",{className:"absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-border/60","aria-hidden":!0}),a.map(a=>(0,b.jsx)(_,{point:a,label:d(a).label,onPick:e},a.id))]})]})}function ac({tone:a,count:c,label:d}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-surface px-3.5 py-3",children:[(0,b.jsx)("span",{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border-2 text-lg font-semibold ${Z[a]}`,children:c}),(0,b.jsx)("span",{className:"text-xs font-medium uppercase tracking-wide text-text-muted",children:d})]})}function ad({point:a,display:c,onClose:d}){let{t:f}=(0,q.useTranslation)(),g=R(a.type),h=S(a.type,a.detail),i=c.projectId,m="task"===a.type||"review"===a.type?a.target:null,n=(0,l.useProjectChanged)(i),o=(0,l.useProjectChanges)(i,!0);return(0,b.jsx)(E.Modal,{title:c.label,description:`${a.detail} \xb7 ${$(a.timestamp)}`,icon:g,size:"lg",onClose:d,children:(0,b.jsxs)("div",{className:"flex h-full flex-col gap-4 overflow-hidden p-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start gap-3",children:[(0,b.jsx)("span",{className:`flex h-14 w-14 shrink-0 items-center justify-center rounded-2xl border-2 ${Z[h]}`,children:(0,b.jsx)(g,{size:30,"aria-hidden":!0})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(C.Badge,{tone:h,children:a.detail}),a.count>1?(0,b.jsxs)("span",{className:"text-xs text-text-muted",children:["×",a.count]}):null,(0,b.jsx)(D.ProjectPill,{projectId:i??void 0})]}),(0,b.jsx)("div",{className:"mt-1 text-sm font-medium text-text",children:c.label})]}),m?(0,b.jsxs)(e.default,{href:`/tasks?select=${encodeURIComponent(m)}`,className:"inline-flex w-full shrink-0 items-center justify-center gap-1 rounded-md border border-border bg-elevated px-2.5 py-1.5 text-xs text-text transition-colors hover:text-accent sm:w-auto sm:justify-start",children:[(0,b.jsx)(j,{size:14,"aria-hidden":!0}),f.timeline.openTask]}):null]}),n.data?.changed?.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:n.data.changed.slice(0,12).map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:[(0,b.jsx)(k,{size:11,"aria-hidden":!0}),a]},a))}):null,i?(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:o.isLoading?(0,b.jsx)(V.LoadingState,{}):(0,b.jsx)(F.PatchView,{diff:o.data?.diff??"",empty:f.timeline.noChanges})}):(0,b.jsx)("p",{className:"rounded-lg border border-border bg-elevated p-4 text-center text-sm text-text-muted",children:f.timeline.noChanges})]})})}function ae(){let{t:a}=(0,q.useTranslation)(),[c,e]=(0,W.usePersistentState)("orca.timeline.filter","all",["all","task","mission","signal","review"]),[i,j]=(0,W.usePersistentState)("orca.timeline.view","axis",["axis","lanes"]),[k,n]=(0,d.useState)(null),o=(0,l.useActivity)("all"===c?void 0:c),p=(0,l.useTasks)(),{byId:r,byAgent:s}=(0,d.useMemo)(()=>{let a=new Map,b=new Map;for(let c of p.data??[]){a.set(c.id,c);let d=c.labels?.find(a=>a.startsWith("agent:"))?.slice("agent:".length);d&&b.set(d,c)}return{byId:a,byAgent:b}},[p.data]),t=(0,d.useMemo)(()=>{let a=new Map;for(let b of o.data??[])b.label&&a.set(b.target,b.label);return a},[o.data]),u=(0,d.useMemo)(()=>a=>(function(a,b,c,d){if(a.target.startsWith("m-")){let c=b.get(a.target.slice(2));return{label:c?.title??d.get(a.target)??a.target,projectId:c?.project_id??a.projectId??null}}if("task"===a.type||"review"===a.type){let c=b.get(a.target);return{label:c?.title??d.get(a.target)??a.target,projectId:a.projectId??c?.project_id??null}}if(a.target.startsWith("orca-")){let b=a.target.slice(5),d=c.get(b);return{label:b,projectId:d?.project_id??a.projectId??null}}return{label:a.target,projectId:a.projectId??null}})(a,r,s,t),[r,s,t]),v=[{label:a.timeline.filterAll,value:"all"},{label:a.timeline.filterTasks,value:"task"},{label:a.timeline.filterMissions,value:"mission"},{label:a.timeline.filterSignals,value:"signal"},{label:a.timeline.filterReviews,value:"review"}],w=(0,d.useMemo)(()=>(o.data??[]).flatMap(a=>{let b=(0,m.parseTs)(a.ts);return null==b?[]:[{id:String(a.id),type:a.type,target:a.target,detail:a.detail,timestamp:b,projectId:a.project_id}]}),[o.data]),x=(0,d.useMemo)(()=>{if(0===w.length)return 12;let a=Math.min(...w.map(a=>a.timestamp));return Math.min(168,Math.max(1,Math.ceil((Date.now()-a)/36e5)))},[w]),y=x>=144?a.timeline.activityWeek:x>=36?a.timeline.activityDays.replace("{n}",String(Math.round(x/24))):a.timeline.activityHours.replace("{n}",String(Math.round(x))),{points:z,ticks:A}=(0,d.useMemo)(()=>L(w,Date.now(),x),[w,x]),B=(0,d.useMemo)(()=>{let a={task:0,mission:0,signal:0,approved:0,escalated:0};for(let b of z)"review"===b.type?b.detail.startsWith("escalated")?a.escalated++:a.approved++:"task"===b.type?a.task++:"mission"===b.type?a.mission++:"signal"===b.type&&a.signal++;return a},[z]),C=(0,d.useMemo)(()=>{let a=Date.now(),b=new Map;for(let a of w){let c=b.get(a.target)??[];c.push(a),b.set(a.target,c)}return Array.from(b.entries()).map(([b,c])=>({target:b,points:L(c,a,x).points,last:Math.max(...c.map(a=>a.timestamp))})).filter(a=>a.points.length>0).sort((a,b)=>b.last-a.last).slice(0,10)},[w,x]),D=!o.isLoading&&!o.isError&&w.length>0,E=(0,l.useProjects)(),F=(0,d.useMemo)(()=>(E.data??[]).map(a=>a.id),[E.data]),G=(0,l.useProjectsCommits)(F,x),H=[{tone:"accent",count:B.task,label:a.timeline.filterTasks},{tone:"accent",count:B.mission,label:a.timeline.filterMissions},{tone:"success",count:B.approved,label:a.timeline.approved},{tone:"danger",count:B.escalated,label:a.timeline.escalated},{tone:"muted",count:B.signal,label:a.timeline.filterSignals}];return(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)(U.ModuleHeader,{title:a.page.timeline,icon:f.Activity,children:[(0,b.jsx)(T.Segmented,{options:[{label:a.timeline.axis,value:"axis",icon:f.Activity},{label:a.timeline.lanes,value:"lanes",icon:h.Columns3}],value:i,onChange:j}),(0,b.jsx)(T.Segmented,{options:v,value:c,onChange:e})]}),D?(0,b.jsx)("div",{"data-testid":"timeline-summary",className:"grid grid-cols-2 gap-2.5 sm:grid-cols-3 lg:grid-cols-5",children:H.map(a=>(0,b.jsx)(ac,{tone:a.tone,count:a.count,label:a.label},a.label))}):null,(0,b.jsxs)("section",{className:"rounded-lg border border-border border-t-2 border-t-accent/40 bg-surface p-5",style:{boxShadow:"var(--shadow-card)"},children:[(0,b.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-widest text-text-muted",children:[(0,b.jsx)(g.Clock,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),y]}),D?(0,b.jsx)("span",{className:"hidden text-[11px] text-text-muted sm:inline",children:a.timeline.markerHint}):null]}),o.isLoading?(0,b.jsx)(V.LoadingState,{}):o.isError?(0,b.jsx)(V.ErrorState,{message:a.timeline.loadError,onRetry:()=>o.refetch()}):D?"lanes"===i?(0,b.jsxs)("div",{className:"flex flex-col gap-2.5",children:[C.map(a=>(0,b.jsx)(ab,{points:a.points,ticks:A,resolve:u,onPick:n},a.target)),(0,b.jsx)("div",{className:"relative mt-1 ml-[10.25rem] h-4",children:A.map(a=>(0,b.jsx)("span",{className:"absolute -translate-x-1/2 font-mono text-text-muted",style:{left:`${100*a.frac}%`,fontSize:"var(--text-caption)"},children:a.label},a.label))})]}):(0,b.jsx)(aa,{points:z,ticks:A,resolve:u,onPick:n}):(0,b.jsx)(V.EmptyState,{title:a.timeline.empty,description:a.timeline.emptyDescription,icon:f.Activity})]}),D?(0,b.jsx)(K,{commits:G.commits,windowStart:Date.now()-36e5*x,now:Date.now(),multiProject:F.length>1}):null,k?(0,b.jsx)(ad,{point:k,display:u(k),onClose:()=>n(null)}):null]})}a.s(["default",0,function(){return(0,b.jsx)(c.ModuleShell,{moduleId:"timeline",children:(0,b.jsx)(ae,{})})},"dynamic",0,"force-dynamic"],42278)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=app_timeline_page_tsx_0thxir0._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[37969,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(70106);let e=(0,d.default)("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);var f=a.i(42871),g=a.i(76644),h=a.i(18544),i=a.i(33791),j=class extends i.Subscribable{constructor(a={}){super(),this.config=a,this.#a=new Map}#a;build(a,b,c){let d=b.queryKey,e=b.queryHash??(0,f.hashQueryKeyByOptions)(d,b),h=this.get(e);return h||(h=new g.Query({client:a,queryKey:d,queryHash:e,options:a.defaultQueryOptions(b),state:c,defaultOptions:a.getQueryDefaults(d)}),this.add(h)),h}add(a){this.#a.has(a.queryHash)||(this.#a.set(a.queryHash,a),this.notify({type:"added",query:a}))}remove(a){let b=this.#a.get(a.queryHash);b&&(a.destroy(),b===a&&this.#a.delete(a.queryHash),this.notify({type:"removed",query:a}))}clear(){h.notifyManager.batch(()=>{this.getAll().forEach(a=>{this.remove(a)})})}get(a){return this.#a.get(a)}getAll(){return[...this.#a.values()]}find(a){let b={exact:!0,...a};return this.getAll().find(a=>(0,f.matchQuery)(b,a))}findAll(a={}){let b=this.getAll();return Object.keys(a).length>0?b.filter(b=>(0,f.matchQuery)(a,b)):b}notify(a){h.notifyManager.batch(()=>{this.listeners.forEach(b=>{b(a)})})}onFocus(){h.notifyManager.batch(()=>{this.getAll().forEach(a=>{a.onFocus()})})}onOnline(){h.notifyManager.batch(()=>{this.getAll().forEach(a=>{a.onOnline()})})}},k=a.i(12794),l=i,m=class extends l.Subscribable{constructor(a={}){super(),this.config=a,this.#b=new Set,this.#c=new Map,this.#d=0}#b;#c;#d;build(a,b,c){let d=new k.Mutation({client:a,mutationCache:this,mutationId:++this.#d,options:a.defaultMutationOptions(b),state:c});return this.add(d),d}add(a){this.#b.add(a);let b=n(a);if("string"==typeof b){let c=this.#c.get(b);c?c.push(a):this.#c.set(b,[a])}this.notify({type:"added",mutation:a})}remove(a){if(this.#b.delete(a)){let b=n(a);if("string"==typeof b){let c=this.#c.get(b);if(c)if(c.length>1){let b=c.indexOf(a);-1!==b&&c.splice(b,1)}else c[0]===a&&this.#c.delete(b)}}this.notify({type:"removed",mutation:a})}canRun(a){let b=n(a);if("string"!=typeof b)return!0;{let c=this.#c.get(b),d=c?.find(a=>"pending"===a.state.status);return!d||d===a}}runNext(a){let b=n(a);if("string"!=typeof b)return Promise.resolve();{let c=this.#c.get(b)?.find(b=>b!==a&&b.state.isPaused);return c?.continue()??Promise.resolve()}}clear(){h.notifyManager.batch(()=>{this.#b.forEach(a=>{this.notify({type:"removed",mutation:a})}),this.#b.clear(),this.#c.clear()})}getAll(){return Array.from(this.#b)}find(a){let b={exact:!0,...a};return this.getAll().find(a=>(0,f.matchMutation)(b,a))}findAll(a={}){return this.getAll().filter(b=>(0,f.matchMutation)(a,b))}notify(a){h.notifyManager.batch(()=>{this.listeners.forEach(b=>{b(a)})})}resumePausedMutations(){let a=this.getAll().filter(a=>a.state.isPaused);return h.notifyManager.batch(()=>Promise.all(a.map(a=>a.continue().catch(f.noop))))}};function n(a){return a.options.scope?.id}var o=a.i(99745),p=a.i(12552),q=class{#e;#f;#g;#h;#i;#j;#k;#l;constructor(a={}){this.#e=a.queryCache||new j,this.#f=a.mutationCache||new m,this.#g=a.defaultOptions||{},this.#h=new Map,this.#i=new Map,this.#j=0}mount(){this.#j++,1===this.#j&&(this.#k=o.focusManager.subscribe(async a=>{a&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#l=p.onlineManager.subscribe(async a=>{a&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#j--,0===this.#j&&(this.#k?.(),this.#k=void 0,this.#l?.(),this.#l=void 0)}isFetching(a){return this.#e.findAll({...a,fetchStatus:"fetching"}).length}isMutating(a){return this.#f.findAll({...a,status:"pending"}).length}getQueryData(a){let b=this.defaultQueryOptions({queryKey:a});return this.#e.get(b.queryHash)?.state.data}ensureQueryData(a){let b=this.defaultQueryOptions(a),c=this.#e.build(this,b),d=c.state.data;return void 0===d?this.fetchQuery(a):(a.revalidateIfStale&&c.isStaleByTime((0,f.resolveStaleTime)(b.staleTime,c))&&this.prefetchQuery(b),Promise.resolve(d))}getQueriesData(a){return this.#e.findAll(a).map(({queryKey:a,state:b})=>[a,b.data])}setQueryData(a,b,c){let d=this.defaultQueryOptions({queryKey:a}),e=this.#e.get(d.queryHash),g=e?.state.data,h=(0,f.functionalUpdate)(b,g);if(void 0!==h)return this.#e.build(this,d).setData(h,{...c,manual:!0})}setQueriesData(a,b,c){return h.notifyManager.batch(()=>this.#e.findAll(a).map(({queryKey:a})=>[a,this.setQueryData(a,b,c)]))}getQueryState(a){let b=this.defaultQueryOptions({queryKey:a});return this.#e.get(b.queryHash)?.state}removeQueries(a){let b=this.#e;h.notifyManager.batch(()=>{b.findAll(a).forEach(a=>{b.remove(a)})})}resetQueries(a,b){let c=this.#e;return h.notifyManager.batch(()=>(c.findAll(a).forEach(a=>{a.reset()}),this.refetchQueries({type:"active",...a},b)))}cancelQueries(a,b={}){let c={revert:!0,...b};return Promise.all(h.notifyManager.batch(()=>this.#e.findAll(a).map(a=>a.cancel(c)))).then(f.noop).catch(f.noop)}invalidateQueries(a,b={}){return h.notifyManager.batch(()=>(this.#e.findAll(a).forEach(a=>{a.invalidate()}),a?.refetchType==="none")?Promise.resolve():this.refetchQueries({...a,type:a?.refetchType??a?.type??"active"},b))}refetchQueries(a,b={}){let c={...b,cancelRefetch:b.cancelRefetch??!0};return Promise.all(h.notifyManager.batch(()=>this.#e.findAll(a).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let b=a.fetch(void 0,c);return c.throwOnError||(b=b.catch(f.noop)),"paused"===a.state.fetchStatus?Promise.resolve():b}))).then(f.noop)}fetchQuery(a){let b=this.defaultQueryOptions(a);void 0===b.retry&&(b.retry=!1);let c=this.#e.build(this,b);return c.isStaleByTime((0,f.resolveStaleTime)(b.staleTime,c))?c.fetch(b):Promise.resolve(c.state.data)}prefetchQuery(a){return this.fetchQuery(a).then(f.noop).catch(f.noop)}fetchInfiniteQuery(a){return a._type="infinite",this.fetchQuery(a)}prefetchInfiniteQuery(a){return this.fetchInfiniteQuery(a).then(f.noop).catch(f.noop)}ensureInfiniteQueryData(a){return a._type="infinite",this.ensureQueryData(a)}resumePausedMutations(){return p.onlineManager.isOnline()?this.#f.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#f}getDefaultOptions(){return this.#g}setDefaultOptions(a){this.#g=a}setQueryDefaults(a,b){this.#h.set((0,f.hashKey)(a),{queryKey:a,defaultOptions:b})}getQueryDefaults(a){let b=[...this.#h.values()],c={};return b.forEach(b=>{(0,f.partialMatchKey)(a,b.queryKey)&&Object.assign(c,b.defaultOptions)}),c}setMutationDefaults(a,b){this.#i.set((0,f.hashKey)(a),{mutationKey:a,defaultOptions:b})}getMutationDefaults(a){let b=[...this.#i.values()],c={};return b.forEach(b=>{(0,f.partialMatchKey)(a,b.mutationKey)&&Object.assign(c,b.defaultOptions)}),c}defaultQueryOptions(a){if(a._defaulted)return a;let b={...this.#g.queries,...this.getQueryDefaults(a.queryKey),...a,_defaulted:!0};return b.queryHash||(b.queryHash=(0,f.hashQueryKeyByOptions)(b.queryKey,b)),void 0===b.refetchOnReconnect&&(b.refetchOnReconnect="always"!==b.networkMode),void 0===b.throwOnError&&(b.throwOnError=!!b.suspense),!b.networkMode&&b.persister&&(b.networkMode="offlineFirst"),b.queryFn===f.skipToken&&(b.enabled=!1),b}defaultMutationOptions(a){return a?._defaulted?a:{...this.#g.mutations,...a?.mutationKey&&this.getMutationDefaults(a.mutationKey),...a,_defaulted:!0}}clear(){this.#e.clear(),this.#f.clear()}},r=a.i(37927),s=a.i(82717),t=a.i(76645);function u(){let a,b;return a=(0,r.useQueryClient)(),(b=(0,c.useRef)(void 0)).current=void 0,(0,c.useEffect)(()=>{let c=new EventSource(`${s.BASE}/events`,{withCredentials:!0});c.onerror=()=>{c.readyState===EventSource.CLOSED&&c.close()};let d=a=>b=>{try{JSON.parse(b.data)}catch{return}a()},e=d(()=>{a.invalidateQueries({queryKey:t.QUERY_KEYS.tasks}),a.invalidateQueries({queryKey:["mission"]}),a.invalidateQueries({queryKey:["activity"]})}),f=d(()=>{a.invalidateQueries({queryKey:t.QUERY_KEYS.missions}),a.invalidateQueries({queryKey:["mission"]}),a.invalidateQueries({queryKey:["activity"]})});return c.addEventListener("task",e),c.addEventListener("mission",f),c.addEventListener("signal",b=>{let c;try{c=JSON.parse(b.data)}catch{return}c.session&&c.signal&&a.setQueryData(t.QUERY_KEYS.sessionSignals,a=>({...a??{},[c.session]:c.signal})),a.invalidateQueries({queryKey:t.QUERY_KEYS.sessions}),a.invalidateQueries({queryKey:["activity"]})}),c.addEventListener("plan",b=>{let c;try{c=JSON.parse(b.data)}catch{return}c.jobId&&c.status&&(a.setQueryData(["plan-job",c.jobId],a=>({id:c.jobId,goal:a?.goal??"",epicId:c.epicId??a?.epicId??null,status:c.status,phases:c.phases??a?.phases??[],error:c.error,sessionName:c.sessionName??a?.sessionName})),"done"===c.status&&(a.invalidateQueries({queryKey:t.QUERY_KEYS.tasks}),a.invalidateQueries({queryKey:t.QUERY_KEYS.missions})))}),c.addEventListener("review",c=>{let d;try{d=JSON.parse(c.data)}catch{return}a.invalidateQueries({queryKey:t.QUERY_KEYS.tasks}),a.invalidateQueries({queryKey:["mission"]}),a.invalidateQueries({queryKey:t.QUERY_KEYS.missions}),a.invalidateQueries({queryKey:["activity"]}),d.taskId&&b.current?.({missionId:d.missionId,taskId:d.taskId,approve:!!d.approve,rationale:d.rationale??""})}),()=>c.close()},[a]),null}function v({children:a}){let[d]=(0,c.useState)(()=>new q({defaultOptions:{queries:{retry:(a,b)=>{let c=b instanceof s.OrcaApiError?b.status:void 0;return(null==c||!(c>=400)||!(c<500))&&a<2}}}}));return(0,b.jsx)(r.QueryClientProvider,{client:d,children:a})}a.i(28130);var w=a.i(29457),x=a.i(89697),y=a.i(50944),z=a.i(30067),A=a.i(18517),B=a.i(12466),C=a.i(18180);function D({onAuthed:a}){let[d,e]=(0,c.useState)(""),[f,g]=(0,c.useState)(""),h=(0,A.useLogin)(),{toast:i}=(0,x.useToast)(),{t:j}=(0,w.useTranslation)();return(0,b.jsx)("div",{className:"flex h-screen items-center justify-center bg-bg",children:(0,b.jsxs)("div",{className:"animate-pop-in flex w-full max-w-sm flex-col gap-4 rounded-xl border border-border bg-surface p-8",style:{boxShadow:"var(--shadow-raised)"},children:[(0,b.jsx)("img",{src:"/orca-logo.png",alt:"Orca",className:"mx-auto h-auto w-64"}),(0,b.jsx)("h1",{className:"text-center text-sm uppercase tracking-wide text-text-muted",children:j.auth.signIn}),(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),h.mutate({username:d,password:f},{onSuccess:()=>{a()},onError:a=>{i(String(a),"error")}})},className:"flex flex-col gap-3",children:[(0,b.jsx)(C.Input,{type:"text",placeholder:j.auth.usernamePlaceholder,value:d,onChange:a=>e(a.target.value),autoComplete:"username"}),(0,b.jsx)(C.Input,{type:"password",placeholder:j.auth.passwordPlaceholder,value:f,onChange:a=>g(a.target.value),autoComplete:"current-password"}),(0,b.jsx)(B.Button,{type:"submit",variant:"accent",disabled:h.isPending,className:"w-full justify-center",children:j.auth.signIn})]})]})})}function E({children:a}){let[d,e]=(0,c.useState)("checking"),f=(0,y.useRouter)(),g=(0,y.usePathname)(),h=(0,r.useQueryClient)();return((0,c.useEffect)(()=>{let a=!0;return s.orcaClient.me().then(()=>{a&&e("open")}).catch(b=>{a&&(401!==(b instanceof s.OrcaApiError?b.status:void 0)?e("login"):s.orcaClient.setupStatus().then(b=>{a&&(b.needsSetup?(e("open"),"/onboarding"!==g&&f.replace("/onboarding")):e("login"))}).catch(()=>{a&&e("login")}))}),()=>{a=!1}},[g,f]),(0,c.useEffect)(()=>{let a=()=>{h.clear(),e("login")};return window.addEventListener(z.AUTH_CLEARED_EVENT,a),()=>window.removeEventListener(z.AUTH_CLEARED_EVENT,a)},[h]),"checking"===d)?null:"login"===d?(0,b.jsx)(D,{onAuthed:()=>e("open")}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u,{}),a]})}var F=a.i(38246);let G=(0,d.default)("Languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]);var H=a.i(46842),I=a.i(66384);let J=[{id:"dashboard",label:"Dash",route:"/dash",icon:a.i(30617).LayoutDashboard,group:"Operate"},{id:"tasks",label:"Tasks",route:"/tasks",icon:a.i(55023).ListChecks,group:"Operate"},{id:"kanban",label:"Kanban",route:"/kanban",icon:a.i(61296).KanbanSquare,group:"Operate"},{id:"timeline",label:"Timeline",route:"/timeline",icon:a.i(90669).Activity,group:"Operate"},{id:"escalations",label:"Escalations",route:"/escalations",icon:I.ShieldAlert,group:"Operate"},{id:"sessions",label:"Sessions",route:"/sessions",icon:a.i(15115).SquareTerminal,group:"Operate"},{id:"settings",label:"Settings",route:"/settings",icon:(0,d.default)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),group:"Config"},{id:"projects",label:"Projects",route:"/projects",icon:a.i(34531).FolderGit2,group:"Operate"},{id:"users",label:"Users",route:"/users",icon:a.i(60246).Users,group:"Config"}],K=["Operate","Config"],L="orca-sidebar",M=a=>Math.max(160,Math.min(360,a));function N(a){try{localStorage.setItem(L,JSON.stringify(a))}catch{}}function O({entry:a,active:c,collapsed:d}){let e=a.icon,f=a.badge&&a.badge>0?a.badge:0;return(0,b.jsxs)(F.default,{href:a.href,title:d?a.label:void 0,"aria-current":c?"page":void 0,className:`relative flex items-center gap-3 border-l-2 px-3 py-2 text-sm transition-colors ${c?"border-accent text-text":"border-transparent text-text-muted hover:text-text"}${d?" justify-center":""}`.trim(),children:[(0,b.jsxs)("span",{className:"relative shrink-0",children:[(0,b.jsx)(e,{size:16,strokeWidth:1.5,"aria-hidden":!0}),f>0&&d&&(0,b.jsx)("span",{className:"absolute -right-1.5 -top-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-warning px-0.5 text-[9px] font-bold text-black",children:f})]}),!d&&(0,b.jsx)("span",{className:"uppercase tracking-wide text-xs",children:a.label}),f>0&&!d&&(0,b.jsx)("span",{className:"ml-auto flex h-4 min-w-4 items-center justify-center rounded-full bg-warning/15 px-1 text-[10px] font-bold text-warning",children:f})]})}function P({group:a,pathname:c,collapsed:d}){return(0,b.jsxs)("div",{className:"flex flex-col py-1",children:[!d&&(0,b.jsx)("span",{className:"px-3 py-1 font-mono text-tiny uppercase tracking-widest text-text-muted",children:a.label}),a.items.map(a=>(0,b.jsx)(O,{entry:a,active:c===a.href,collapsed:d},a.href))]})}var Q=a.i(67453),R=a.i(62722);let S=(0,d.default)("Hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]);var T=a.i(81415),U=a.i(3470);function V({name:a,onStuck:b}){let{state:d}=(0,U.useSessionStall)(a,!0),e="stuck"===d;return(0,c.useEffect)(()=>{b(a,e)},[a,e,b]),null}function W({expanded:a}){let{t:d}=(0,w.useTranslation)(),e=(0,t.useTasks)(),f=(0,t.useSessions)(),g=(0,c.useMemo)(()=>f.data??[],[f.data]),h=g.length,i=(0,T.lastClosedTask)(e.data??[]),j=i?.outcome==="fail",[k,l]=(0,c.useState)({}),m=(0,c.useCallback)((a,b)=>{l(c=>c[a]===b?c:{...c,[a]:b})},[]);(0,c.useEffect)(()=>{let a=new Set(g);l(b=>{let c={},d=!1;for(let[e,f]of Object.entries(b))a.has(e)?c[e]=f:d=!0;return d?c:b})},[g]);let n=g.filter(a=>k[a]).length;if(0===h&&!i)return null;let o=(0,b.jsx)("span",{className:`h-2 w-2 shrink-0 rounded-full ${h>0?"live-dot":""}`,style:{backgroundColor:h>0?"var(--color-success)":"var(--color-border-strong)","--live-ring":"color-mix(in srgb, var(--color-success) 50%, transparent)"},"aria-hidden":!0}),p=g.map(a=>(0,b.jsx)(V,{name:a,onStuck:m},a));return a?(0,b.jsxs)("div",{className:"flex flex-col gap-0.5 border-t border-border px-2 py-2",children:[p,n>0&&(0,b.jsxs)(F.default,{href:"/sessions",className:"flex items-center gap-2 rounded-md px-2 py-1 text-xs font-medium text-danger transition-colors hover:bg-elevated",children:[(0,b.jsx)(S,{size:13,className:"shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:d.sidebar.stuckAgents.replace("{count}",String(n))})]}),(0,b.jsxs)(F.default,{href:"/sessions",className:"flex items-center gap-2 rounded-md px-2 py-1 text-xs text-text-muted transition-colors hover:bg-elevated",children:[o,(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:d.sidebar.liveAgents.replace("{count}",String(h))})]}),i&&(0,b.jsxs)(F.default,{href:`/tasks?select=${encodeURIComponent(i.id)}`,title:i.result_summary??i.title,className:"flex items-center gap-2 rounded-md px-2 py-1 text-xs text-text-muted transition-colors hover:bg-elevated",children:[j?(0,b.jsx)(R.XCircle,{size:13,className:"shrink-0 text-error","aria-hidden":!0}):(0,b.jsx)(Q.CheckCircle2,{size:13,className:"shrink-0 text-success","aria-hidden":!0}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:d.sidebar.lastOutcome.replace("{title}",i.title)})]})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 border-t border-border py-2.5",children:[p,n>0&&(0,b.jsxs)(F.default,{href:"/sessions",title:d.sidebar.stuckAgents.replace("{count}",String(n)),className:"relative flex h-7 w-7 items-center justify-center rounded-md text-danger transition-colors hover:bg-elevated",children:[(0,b.jsx)(S,{size:15,"aria-hidden":!0}),(0,b.jsx)("span",{className:"absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-danger px-0.5 text-[9px] font-bold text-white",children:n})]}),(0,b.jsxs)(F.default,{href:"/sessions",title:d.sidebar.liveAgents.replace("{count}",String(h)),className:"flex items-center gap-1 rounded-md px-1.5 py-1 transition-colors hover:bg-elevated",children:[o,(0,b.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:h})]})]})}var X=a.i(35112),Y=a.i(23312),Z=a.i(34205),$=a.i(99323);function _(){let{t:a}=(0,w.useTranslation)(),d=(0,t.useSessions)(),e=(0,t.useSessionSignals)(),f=(0,t.useTasks)(),g=(0,T.needsInputSessions)(d.data??[],e),h=(0,t.useEscalations)(),i=g.length+h.length,j=(0,c.useRef)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(!1);(0,c.useEffect)(()=>p(!0),[]);let q=()=>{let a=j.current;if(!a)return;let b=a.getBoundingClientRect();n({left:Math.max(8,b.left),bottom:window.innerHeight-b.top+8})};return(0,c.useEffect)(()=>{if(!k)return;let a=a=>{"Escape"===a.key&&l(!1)},b=()=>q();return window.addEventListener("keydown",a),window.addEventListener("resize",b),()=>{window.removeEventListener("keydown",a),window.removeEventListener("resize",b)}},[k]),(0,b.jsxs)("div",{className:"shrink-0",children:[(0,b.jsxs)("button",{ref:j,type:"button",onClick:()=>{k||q(),l(a=>!a)},"aria-label":a.sidebar.notifications,"aria-haspopup":"menu","aria-expanded":k,title:a.sidebar.notifications,className:`relative flex h-7 w-7 items-center justify-center rounded-md transition-colors hover:bg-elevated ${i>0?"text-warning":"text-text-muted hover:text-text"}`,children:[(0,b.jsx)(Y.Bell,{size:15,"aria-hidden":!0}),i>0&&(0,b.jsx)("span",{className:"absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-warning px-0.5 text-[9px] font-bold text-black",children:i})]}),o&&k&&m&&(0,X.createPortal)((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"fixed inset-0 z-[60]",onClick:()=>l(!1),"aria-hidden":!0}),(0,b.jsxs)("div",{role:"menu","aria-label":a.sidebar.notifications,className:"fixed z-[61] w-80 max-w-[calc(100vw-1rem)] overflow-hidden rounded-lg border border-border bg-surface",style:{left:m.left,bottom:m.bottom,boxShadow:"var(--shadow-raised)"},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3 py-2 text-xs font-semibold text-text",children:[(0,b.jsx)(Y.Bell,{size:13,className:i>0?"text-warning":"text-text-muted","aria-hidden":!0}),a.sidebar.notifications,i>0&&(0,b.jsx)("span",{className:"ml-auto flex h-4 min-w-4 items-center justify-center rounded-full bg-warning/15 px-1 text-[10px] font-bold text-warning",children:i})]}),0===i?(0,b.jsx)("div",{className:"px-3 py-7 text-center text-xs text-text-muted",children:a.sidebar.noNotifications}):(0,b.jsxs)("div",{className:"flex max-h-[60vh] flex-col gap-1.5 overflow-auto p-2",children:[h.length>0&&(0,b.jsxs)(F.default,{href:"/escalations",onClick:()=>l(!1),className:"flex items-center gap-2 rounded-md border border-warning/40 bg-warning/[0.06] px-2.5 py-2 transition-colors hover:bg-warning/10",children:[(0,b.jsx)(I.ShieldAlert,{size:14,className:"shrink-0 text-warning","aria-hidden":!0}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsx)("span",{className:"block text-xs font-medium text-text",children:a.sidebar.escalations.replace("{count}",String(h.length))}),(0,b.jsx)("span",{className:"block truncate text-tiny text-text-muted",children:h[0].title})]})]}),g.map(a=>{let c=e[a];return(0,b.jsx)($.NeedsInputRow,{name:a,question:c?.type==="needs_input"?c.question:"",options:c?.type==="needs_input"?c.options:void 0,exec:(0,Z.taskExec)((f.data??[]).find(b=>(0,T.taskSessionName)(b)===a)?.labels)},a)})]})]})]}),document.body)]})}var aa=a.i(14800);let ab={ready:{color:"var(--color-success)",ring:"color-mix(in srgb, var(--color-success) 50%, transparent)"},busy:{color:"var(--color-warning)",ring:"color-mix(in srgb, var(--color-warning) 50%, transparent)"},fail:{color:"var(--color-error)",ring:"color-mix(in srgb, var(--color-error) 50%, transparent)"}};function ac({mobileOpen:a=!1,onMobileClose:d}){let e=(0,y.usePathname)(),{collapsed:f,width:g,toggle:h,setWidth:i}=function(){let[a,b]=(0,c.useState)({collapsed:!1,width:224});(0,c.useEffect)(()=>{b(function(){try{let a=localStorage.getItem(L);if(a){let b=JSON.parse(a);return{collapsed:!!b.collapsed,width:M(Number(b.width??224))}}}catch{}return{collapsed:!1,width:224}}())},[]);let d=(0,c.useCallback)(()=>b(a=>{let b={...a,collapsed:!a.collapsed};return N(b),b}),[]),e=(0,c.useCallback)(a=>b(b=>{let c={...b,width:M(a)};return N(c),c}),[]);return{collapsed:a.collapsed,width:a.width,toggle:d,setWidth:e}}(),{data:j}=(0,t.useHealth)(),k=(0,t.useTasks)(),l=(0,t.useMe)(),m=l.data?.user?.is_admin??!1,n=j?.ok===!0,o=(k.data??[]).some(a=>"in_progress"===a.status),p=n?o?"busy":"ready":"fail",q=(k.data??[]).find(a=>"open"===a.status&&"epic"!==a.type),r=(0,t.useEscalations)(),s=(0,c.useRef)(!1),{t:u,locale:v,setLocale:x}=(0,w.useTranslation)(),[z,A]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=window.matchMedia("(max-width: 767px)");A(a.matches);let b=a=>A(a.matches);return a.addEventListener("change",b),()=>a.removeEventListener("change",b)},[]);let B=!!z||!f;(0,c.useEffect)(()=>{z&&d?.()},[e]);let C=(0,c.useCallback)(a=>{s.current=!0,a.target.setPointerCapture?.(a.pointerId)},[]),D=(0,c.useCallback)(a=>{s.current&&i(a.clientX)},[i]),E=(0,c.useCallback)(a=>{s.current=!1,a.target.releasePointerCapture?.(a.pointerId)},[]);return(0,b.jsxs)(b.Fragment,{children:[z&&(0,b.jsx)("div",{"aria-hidden":!0,onClick:d,className:`fixed inset-0 z-40 bg-black/50 transition-opacity md:hidden ${a?"opacity-100":"pointer-events-none opacity-0"}`}),(0,b.jsxs)("nav",{"aria-label":u.common.primaryNav,className:z?`fixed inset-y-0 left-0 z-50 flex h-full w-[264px] flex-col overflow-hidden border-r border-border bg-surface transition-transform duration-200 md:hidden ${a?"translate-x-0":"-translate-x-full"}`:"relative hidden h-full shrink-0 flex-col border-r border-border bg-surface transition-[width] duration-200 md:flex",style:z?{transitionTimingFunction:"var(--ease-out)"}:{width:B?g:56,transitionTimingFunction:"var(--ease-out)"},children:[(0,b.jsx)("div",{className:"flex items-center justify-center border-b border-border px-3 py-3 overflow-hidden",children:B?(0,b.jsx)("img",{src:"/orca-logo.png",alt:u.common.appName,className:"h-9 w-auto"}):(0,b.jsx)("img",{src:"/icon.png",alt:u.common.appName,className:"h-7 w-7 rounded-md"})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto py-2",children:K.map(a=>({group:a,items:J.filter(b=>b.group===a)})).filter(a=>"Config"!==a.group||m).map(a=>{let c="Operate"===a.group?u.nav.operate:u.nav.config;return(0,b.jsx)(P,{group:{label:c,items:a.items.map(a=>({href:a.route,label:u.nav[a.id]??a.label,icon:a.icon,badge:"escalations"===a.id?r.length:void 0}))},pathname:e,collapsed:!B},a.group)})}),B&&r.length>0&&(0,b.jsxs)(F.default,{href:"/escalations",className:"border-t border-warning/30 bg-warning/[0.06] px-4 py-2.5 transition-colors hover:bg-warning/10",title:r[0].title,children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-tiny font-semibold uppercase tracking-wide text-warning",children:[(0,b.jsx)(I.ShieldAlert,{size:12,"aria-hidden":!0}),u.common.escalationsWaiting.replace("{count}",String(r.length))]}),(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-text",children:r[0].title})]}),B&&q&&(0,b.jsxs)(F.default,{href:"/tasks",className:"border-t border-border px-4 py-2.5 transition-colors hover:bg-elevated",title:q.title,children:[(0,b.jsx)("div",{className:"text-tiny font-medium uppercase tracking-wide text-text-muted",children:u.common.nextReady}),(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-text",children:q.title})]}),(0,b.jsx)(W,{expanded:B}),(0,b.jsxs)("div",{className:`border-t border-border px-3 py-2 ${B?"flex items-center gap-2":"flex flex-col items-center gap-2"}`,children:[(0,b.jsxs)(F.default,{href:"/account",className:`flex min-w-0 items-center gap-2 rounded-md py-1 transition-colors hover:bg-elevated ${B?"flex-1 px-1":""}`,title:l.data?.user?l.data.user.name||l.data.user.username:u.common.daemon,children:[(0,b.jsxs)("span",{className:"relative flex shrink-0 items-center justify-center",children:[l.data?.user?(0,b.jsx)(aa.Avatar,{user:l.data.user,size:28}):(0,b.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-full border border-border bg-elevated",children:(0,b.jsx)(H.User,{size:14,className:"text-text-muted","aria-hidden":!0})}),(0,b.jsx)("span",{role:"status","aria-label":n?u.common.daemonUp:u.common.daemonDown,title:"fail"===p?u.common.daemonOffline:"busy"===p?u.common.daemonBusy:u.common.daemonReady,className:`absolute -bottom-0.5 -right-0.5 h-2.5 w-2.5 rounded-full border-2 border-surface ${n?"live-dot":""}`,style:{backgroundColor:ab[p].color,"--live-ring":ab[p].ring}})]}),B&&l.data?.user&&(0,b.jsxs)("span",{className:"flex min-w-0 flex-col leading-tight",children:[(0,b.jsx)("span",{className:"truncate text-xs font-medium text-text",children:l.data.user.name||l.data.user.username}),(0,b.jsx)("span",{className:"truncate text-tiny text-text-muted",children:l.data.user.is_admin?u.users.admin:u.users.member})]})]}),(0,b.jsx)(_,{}),B&&(0,b.jsxs)("button",{type:"button",onClick:()=>x("en"===v?"cs":"en"),className:"flex shrink-0 items-center gap-1 rounded-md border border-border px-2 py-1 text-tiny font-mono uppercase tracking-wide text-text-muted transition-colors hover:border-border-strong hover:text-text","aria-label":u.common.switchLang,children:[(0,b.jsx)(G,{size:12,"aria-hidden":!0}),"en"===v?"CS":"EN"]})]}),B&&(0,b.jsxs)("div",{className:"flex flex-col items-center gap-0.5 border-t border-border px-3 py-2 text-center",children:[(0,b.jsxs)("span",{className:"font-mono text-tiny text-text-muted",children:["orca v",j?.version??"—"]}),(0,b.jsx)("a",{href:"https://dragocz.dev",target:"_blank",rel:"noreferrer",className:"text-tiny font-semibold uppercase tracking-[0.15em] text-text-muted/70 transition-colors hover:text-text",children:"by dragocz.dev"})]}),!z&&(0,b.jsx)("button",{type:"button","aria-label":u.common.toggleSidebar,onClick:h,className:"group absolute -right-2 top-1/2 z-10 flex h-14 w-4 -translate-y-1/2 items-center justify-center",children:(0,b.jsx)("span",{className:"h-9 w-1 rounded-full bg-border transition-all duration-200 group-hover:h-12 group-hover:bg-text-muted"})}),!z&&B&&(0,b.jsx)("div",{"data-testid":"sidebar-resize",onPointerDown:C,onPointerMove:D,onPointerUp:E,onDoubleClick:()=>i(224),className:"absolute right-0 top-0 h-full w-1 cursor-col-resize"})]})]})}var ad=a.i(87532),ae=a.i(15618),af=a.i(82478);let ag=(0,d.default)("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]);function ah({text:a,q:c}){if(!c)return(0,b.jsx)(b.Fragment,{children:a});let d=a.toLowerCase().indexOf(c.toLowerCase());return d<0?(0,b.jsx)(b.Fragment,{children:a}):(0,b.jsxs)(b.Fragment,{children:[a.slice(0,d),(0,b.jsx)("span",{className:"text-accent",children:a.slice(d,d+c.length)}),a.slice(d+c.length)]})}function ai(){let a=(0,y.useRouter)(),{t:d}=(0,w.useTranslation)(),[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(""),[i,j]=(0,c.useState)(0),k=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=a=>{(a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()?(a.preventDefault(),f(a=>!a)):"Escape"===a.key&&f(!1)};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]),(0,c.useEffect)(()=>{e&&(h(""),j(0),requestAnimationFrame(()=>k.current?.focus()))},[e]);let l=(0,c.useMemo)(()=>{let b=b=>()=>{a.push(b),f(!1)},c=J.map(a=>({id:`nav:${a.route}`,label:`${d.common.goTo} ${d.page[a.id]??a.label}`,hint:a.route,icon:a.icon,run:b(a.route)}));return[{id:"new-task",label:d.tasks.newTask,hint:"create",icon:ae.Plus,run:b("/tasks?new=1")},{id:"new-mission",label:d.missions.newMission,hint:"engage",icon:af.Rocket,run:b("/tasks?new=1")},...c]},[a,d]),m=(0,c.useMemo)(()=>{let a=g.trim().toLowerCase();return a?l.filter(b=>`${b.label} ${b.hint??""}`.toLowerCase().includes(a)):l},[l,g]);return((0,c.useEffect)(()=>{i>=m.length&&j(0)},[m.length,i]),e)?(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-start justify-center bg-black/70 p-4 pt-[12vh]",onClick:()=>f(!1),children:(0,b.jsxs)("div",{className:"animate-pop-in w-full max-w-lg overflow-hidden rounded-xl border border-border bg-surface",style:{boxShadow:"var(--shadow-raised)"},onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5 border-b border-border px-4",children:[(0,b.jsx)(ad.Search,{size:16,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("input",{ref:k,value:g,onChange:a=>h(a.target.value),onKeyDown:a=>{"ArrowDown"===a.key?(a.preventDefault(),j(a=>Math.min(m.length-1,a+1))):"ArrowUp"===a.key?(a.preventDefault(),j(a=>Math.max(0,a-1))):"Enter"===a.key&&(a.preventDefault(),m[i]?.run())},placeholder:d.common.searchCommands,className:"h-12 w-full bg-transparent text-sm text-text placeholder:text-text-muted focus:outline-none"})]}),(0,b.jsx)("ul",{className:"max-h-[50vh] overflow-y-auto p-1.5",children:0===m.length?(0,b.jsx)("li",{className:"px-3 py-6 text-center text-sm text-text-muted",children:d.common.noCommands}):m.map((a,c)=>{let d=a.icon;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onMouseEnter:()=>j(c),onClick:()=>a.run(),className:`flex w-full items-center gap-3 rounded-md px-3 py-2 text-left text-sm transition-colors ${c===i?"bg-elevated text-text":"text-text-muted"}`,children:[(0,b.jsx)(d,{size:15,className:"shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{className:"flex-1 text-text",children:(0,b.jsx)(ah,{text:a.label,q:g.trim()})}),a.hint?(0,b.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:a.hint}):null,c===i?(0,b.jsx)(ag,{size:13,className:"text-text-muted","aria-hidden":!0}):null]})},a.id)})})]})}):null}function aj({children:a}){let{t:d}=(0,w.useTranslation)(),[f,g]=(0,c.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex h-dvh overflow-hidden",children:[(0,b.jsx)(ac,{mobileOpen:f,onMobileClose:()=>g(!1)}),(0,b.jsx)("div",{className:"flex min-w-0 flex-1 flex-col",children:(0,b.jsxs)("main",{className:"flex-1 overflow-y-auto overflow-x-hidden overscroll-contain",children:[(0,b.jsxs)("div",{className:"flex h-12 items-center gap-2 border-b border-border bg-surface px-3 md:hidden",children:[(0,b.jsx)("button",{type:"button",onClick:()=>g(!0),"aria-label":d.common.toggleSidebar,className:"flex h-9 w-9 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-elevated hover:text-text",children:(0,b.jsx)(e,{size:20,"aria-hidden":!0})}),(0,b.jsx)("img",{src:"/orca-logo.png",alt:d.common.appName,className:"h-7 w-auto"})]}),(0,b.jsx)("div",{className:"p-4",children:a})]})})]}),(0,b.jsx)(ai,{})]})}a.s(["Shell",0,function({children:a}){return(0,b.jsx)(v,{children:(0,b.jsx)(w.LanguageProvider,{children:(0,b.jsx)(x.ToastProvider,{children:(0,b.jsx)(E,{children:(0,b.jsx)(aj,{children:a})})})})})}],37969)}];
|
|
1
|
+
module.exports=[37969,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(70106);let e=(0,d.default)("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);var f=a.i(42871),g=a.i(76644),h=a.i(18544),i=a.i(33791),j=class extends i.Subscribable{constructor(a={}){super(),this.config=a,this.#a=new Map}#a;build(a,b,c){let d=b.queryKey,e=b.queryHash??(0,f.hashQueryKeyByOptions)(d,b),h=this.get(e);return h||(h=new g.Query({client:a,queryKey:d,queryHash:e,options:a.defaultQueryOptions(b),state:c,defaultOptions:a.getQueryDefaults(d)}),this.add(h)),h}add(a){this.#a.has(a.queryHash)||(this.#a.set(a.queryHash,a),this.notify({type:"added",query:a}))}remove(a){let b=this.#a.get(a.queryHash);b&&(a.destroy(),b===a&&this.#a.delete(a.queryHash),this.notify({type:"removed",query:a}))}clear(){h.notifyManager.batch(()=>{this.getAll().forEach(a=>{this.remove(a)})})}get(a){return this.#a.get(a)}getAll(){return[...this.#a.values()]}find(a){let b={exact:!0,...a};return this.getAll().find(a=>(0,f.matchQuery)(b,a))}findAll(a={}){let b=this.getAll();return Object.keys(a).length>0?b.filter(b=>(0,f.matchQuery)(a,b)):b}notify(a){h.notifyManager.batch(()=>{this.listeners.forEach(b=>{b(a)})})}onFocus(){h.notifyManager.batch(()=>{this.getAll().forEach(a=>{a.onFocus()})})}onOnline(){h.notifyManager.batch(()=>{this.getAll().forEach(a=>{a.onOnline()})})}},k=a.i(12794),l=i,m=class extends l.Subscribable{constructor(a={}){super(),this.config=a,this.#b=new Set,this.#c=new Map,this.#d=0}#b;#c;#d;build(a,b,c){let d=new k.Mutation({client:a,mutationCache:this,mutationId:++this.#d,options:a.defaultMutationOptions(b),state:c});return this.add(d),d}add(a){this.#b.add(a);let b=n(a);if("string"==typeof b){let c=this.#c.get(b);c?c.push(a):this.#c.set(b,[a])}this.notify({type:"added",mutation:a})}remove(a){if(this.#b.delete(a)){let b=n(a);if("string"==typeof b){let c=this.#c.get(b);if(c)if(c.length>1){let b=c.indexOf(a);-1!==b&&c.splice(b,1)}else c[0]===a&&this.#c.delete(b)}}this.notify({type:"removed",mutation:a})}canRun(a){let b=n(a);if("string"!=typeof b)return!0;{let c=this.#c.get(b),d=c?.find(a=>"pending"===a.state.status);return!d||d===a}}runNext(a){let b=n(a);if("string"!=typeof b)return Promise.resolve();{let c=this.#c.get(b)?.find(b=>b!==a&&b.state.isPaused);return c?.continue()??Promise.resolve()}}clear(){h.notifyManager.batch(()=>{this.#b.forEach(a=>{this.notify({type:"removed",mutation:a})}),this.#b.clear(),this.#c.clear()})}getAll(){return Array.from(this.#b)}find(a){let b={exact:!0,...a};return this.getAll().find(a=>(0,f.matchMutation)(b,a))}findAll(a={}){return this.getAll().filter(b=>(0,f.matchMutation)(a,b))}notify(a){h.notifyManager.batch(()=>{this.listeners.forEach(b=>{b(a)})})}resumePausedMutations(){let a=this.getAll().filter(a=>a.state.isPaused);return h.notifyManager.batch(()=>Promise.all(a.map(a=>a.continue().catch(f.noop))))}};function n(a){return a.options.scope?.id}var o=a.i(99745),p=a.i(12552),q=class{#e;#f;#g;#h;#i;#j;#k;#l;constructor(a={}){this.#e=a.queryCache||new j,this.#f=a.mutationCache||new m,this.#g=a.defaultOptions||{},this.#h=new Map,this.#i=new Map,this.#j=0}mount(){this.#j++,1===this.#j&&(this.#k=o.focusManager.subscribe(async a=>{a&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#l=p.onlineManager.subscribe(async a=>{a&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#j--,0===this.#j&&(this.#k?.(),this.#k=void 0,this.#l?.(),this.#l=void 0)}isFetching(a){return this.#e.findAll({...a,fetchStatus:"fetching"}).length}isMutating(a){return this.#f.findAll({...a,status:"pending"}).length}getQueryData(a){let b=this.defaultQueryOptions({queryKey:a});return this.#e.get(b.queryHash)?.state.data}ensureQueryData(a){let b=this.defaultQueryOptions(a),c=this.#e.build(this,b),d=c.state.data;return void 0===d?this.fetchQuery(a):(a.revalidateIfStale&&c.isStaleByTime((0,f.resolveStaleTime)(b.staleTime,c))&&this.prefetchQuery(b),Promise.resolve(d))}getQueriesData(a){return this.#e.findAll(a).map(({queryKey:a,state:b})=>[a,b.data])}setQueryData(a,b,c){let d=this.defaultQueryOptions({queryKey:a}),e=this.#e.get(d.queryHash),g=e?.state.data,h=(0,f.functionalUpdate)(b,g);if(void 0!==h)return this.#e.build(this,d).setData(h,{...c,manual:!0})}setQueriesData(a,b,c){return h.notifyManager.batch(()=>this.#e.findAll(a).map(({queryKey:a})=>[a,this.setQueryData(a,b,c)]))}getQueryState(a){let b=this.defaultQueryOptions({queryKey:a});return this.#e.get(b.queryHash)?.state}removeQueries(a){let b=this.#e;h.notifyManager.batch(()=>{b.findAll(a).forEach(a=>{b.remove(a)})})}resetQueries(a,b){let c=this.#e;return h.notifyManager.batch(()=>(c.findAll(a).forEach(a=>{a.reset()}),this.refetchQueries({type:"active",...a},b)))}cancelQueries(a,b={}){let c={revert:!0,...b};return Promise.all(h.notifyManager.batch(()=>this.#e.findAll(a).map(a=>a.cancel(c)))).then(f.noop).catch(f.noop)}invalidateQueries(a,b={}){return h.notifyManager.batch(()=>(this.#e.findAll(a).forEach(a=>{a.invalidate()}),a?.refetchType==="none")?Promise.resolve():this.refetchQueries({...a,type:a?.refetchType??a?.type??"active"},b))}refetchQueries(a,b={}){let c={...b,cancelRefetch:b.cancelRefetch??!0};return Promise.all(h.notifyManager.batch(()=>this.#e.findAll(a).filter(a=>!a.isDisabled()&&!a.isStatic()).map(a=>{let b=a.fetch(void 0,c);return c.throwOnError||(b=b.catch(f.noop)),"paused"===a.state.fetchStatus?Promise.resolve():b}))).then(f.noop)}fetchQuery(a){let b=this.defaultQueryOptions(a);void 0===b.retry&&(b.retry=!1);let c=this.#e.build(this,b);return c.isStaleByTime((0,f.resolveStaleTime)(b.staleTime,c))?c.fetch(b):Promise.resolve(c.state.data)}prefetchQuery(a){return this.fetchQuery(a).then(f.noop).catch(f.noop)}fetchInfiniteQuery(a){return a._type="infinite",this.fetchQuery(a)}prefetchInfiniteQuery(a){return this.fetchInfiniteQuery(a).then(f.noop).catch(f.noop)}ensureInfiniteQueryData(a){return a._type="infinite",this.ensureQueryData(a)}resumePausedMutations(){return p.onlineManager.isOnline()?this.#f.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#f}getDefaultOptions(){return this.#g}setDefaultOptions(a){this.#g=a}setQueryDefaults(a,b){this.#h.set((0,f.hashKey)(a),{queryKey:a,defaultOptions:b})}getQueryDefaults(a){let b=[...this.#h.values()],c={};return b.forEach(b=>{(0,f.partialMatchKey)(a,b.queryKey)&&Object.assign(c,b.defaultOptions)}),c}setMutationDefaults(a,b){this.#i.set((0,f.hashKey)(a),{mutationKey:a,defaultOptions:b})}getMutationDefaults(a){let b=[...this.#i.values()],c={};return b.forEach(b=>{(0,f.partialMatchKey)(a,b.mutationKey)&&Object.assign(c,b.defaultOptions)}),c}defaultQueryOptions(a){if(a._defaulted)return a;let b={...this.#g.queries,...this.getQueryDefaults(a.queryKey),...a,_defaulted:!0};return b.queryHash||(b.queryHash=(0,f.hashQueryKeyByOptions)(b.queryKey,b)),void 0===b.refetchOnReconnect&&(b.refetchOnReconnect="always"!==b.networkMode),void 0===b.throwOnError&&(b.throwOnError=!!b.suspense),!b.networkMode&&b.persister&&(b.networkMode="offlineFirst"),b.queryFn===f.skipToken&&(b.enabled=!1),b}defaultMutationOptions(a){return a?._defaulted?a:{...this.#g.mutations,...a?.mutationKey&&this.getMutationDefaults(a.mutationKey),...a,_defaulted:!0}}clear(){this.#e.clear(),this.#f.clear()}},r=a.i(37927),s=a.i(82717),t=a.i(76645);function u(){let a,b;return a=(0,r.useQueryClient)(),(b=(0,c.useRef)(void 0)).current=void 0,(0,c.useEffect)(()=>{let c=new EventSource(`${s.BASE}/events`,{withCredentials:!0});c.onerror=()=>{c.readyState===EventSource.CLOSED&&c.close()};let d=a=>b=>{try{JSON.parse(b.data)}catch{return}a()},e=d(()=>{a.invalidateQueries({queryKey:t.QUERY_KEYS.tasks}),a.invalidateQueries({queryKey:["mission"]}),a.invalidateQueries({queryKey:["activity"]})}),f=d(()=>{a.invalidateQueries({queryKey:t.QUERY_KEYS.missions}),a.invalidateQueries({queryKey:["mission"]}),a.invalidateQueries({queryKey:["activity"]})});return c.addEventListener("task",e),c.addEventListener("mission",f),c.addEventListener("signal",b=>{let c;try{c=JSON.parse(b.data)}catch{return}c.session&&c.signal&&a.setQueryData(t.QUERY_KEYS.sessionSignals,a=>({...a??{},[c.session]:c.signal})),a.invalidateQueries({queryKey:t.QUERY_KEYS.sessions}),a.invalidateQueries({queryKey:["activity"]})}),c.addEventListener("plan",b=>{let c;try{c=JSON.parse(b.data)}catch{return}c.jobId&&c.status&&(a.setQueryData(["plan-job",c.jobId],a=>({id:c.jobId,goal:a?.goal??"",epicId:c.epicId??a?.epicId??null,status:c.status,phases:c.phases??a?.phases??[],error:c.error,sessionName:c.sessionName??a?.sessionName})),"done"===c.status&&(a.invalidateQueries({queryKey:t.QUERY_KEYS.tasks}),a.invalidateQueries({queryKey:t.QUERY_KEYS.missions})))}),c.addEventListener("review",c=>{let d;try{d=JSON.parse(c.data)}catch{return}a.invalidateQueries({queryKey:t.QUERY_KEYS.tasks}),a.invalidateQueries({queryKey:["mission"]}),a.invalidateQueries({queryKey:t.QUERY_KEYS.missions}),a.invalidateQueries({queryKey:["activity"]}),d.taskId&&b.current?.({missionId:d.missionId,taskId:d.taskId,approve:!!d.approve,rationale:d.rationale??""})}),()=>c.close()},[a]),null}function v({children:a}){let[d]=(0,c.useState)(()=>new q({defaultOptions:{queries:{retry:(a,b)=>{let c=b instanceof s.OrcaApiError?b.status:void 0;return(null==c||!(c>=400)||!(c<500))&&a<2}}}}));return(0,b.jsx)(r.QueryClientProvider,{client:d,children:a})}a.i(28130);var w=a.i(29457),x=a.i(89697),y=a.i(50944),z=a.i(30067),A=a.i(18517),B=a.i(12466),C=a.i(18180);function D({onAuthed:a}){let[d,e]=(0,c.useState)(""),[f,g]=(0,c.useState)(""),h=(0,A.useLogin)(),{toast:i}=(0,x.useToast)(),{t:j}=(0,w.useTranslation)();return(0,b.jsx)("div",{className:"flex h-screen items-center justify-center bg-bg",children:(0,b.jsxs)("div",{className:"animate-pop-in flex w-full max-w-sm flex-col gap-4 rounded-xl border border-border bg-surface p-8",style:{boxShadow:"var(--shadow-raised)"},children:[(0,b.jsx)("img",{src:"/orca-logo.png",alt:"Orca",className:"mx-auto h-auto w-64"}),(0,b.jsx)("h1",{className:"text-center text-sm uppercase tracking-wide text-text-muted",children:j.auth.signIn}),(0,b.jsxs)("form",{onSubmit:function(b){b.preventDefault(),h.mutate({username:d,password:f},{onSuccess:()=>{a()},onError:a=>{i(String(a),"error")}})},className:"flex flex-col gap-3",children:[(0,b.jsx)(C.Input,{type:"text",placeholder:j.auth.usernamePlaceholder,value:d,onChange:a=>e(a.target.value),autoComplete:"username"}),(0,b.jsx)(C.Input,{type:"password",placeholder:j.auth.passwordPlaceholder,value:f,onChange:a=>g(a.target.value),autoComplete:"current-password"}),(0,b.jsx)(B.Button,{type:"submit",variant:"accent",disabled:h.isPending,className:"w-full justify-center",children:j.auth.signIn})]})]})})}function E({children:a}){let[d,e]=(0,c.useState)("checking"),f=(0,y.useRouter)(),g=(0,y.usePathname)(),h=(0,r.useQueryClient)();return((0,c.useEffect)(()=>{let a=!0;return s.orcaClient.me().then(()=>{a&&e("open")}).catch(b=>{a&&(401!==(b instanceof s.OrcaApiError?b.status:void 0)?e("login"):s.orcaClient.setupStatus().then(b=>{a&&(b.needsSetup?(e("open"),"/onboarding"!==g&&f.replace("/onboarding")):e("login"))}).catch(()=>{a&&e("login")}))}),()=>{a=!1}},[g,f]),(0,c.useEffect)(()=>{let a=()=>{h.clear(),e("login")};return window.addEventListener(z.AUTH_CLEARED_EVENT,a),()=>window.removeEventListener(z.AUTH_CLEARED_EVENT,a)},[h]),"checking"===d)?null:"login"===d?(0,b.jsx)(D,{onAuthed:()=>e("open")}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u,{}),a]})}var F=a.i(38246);let G=(0,d.default)("Languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]);var H=a.i(46842),I=a.i(66384);let J=[{id:"dashboard",label:"Dash",route:"/dash",icon:a.i(30617).LayoutDashboard,group:"Operate"},{id:"tasks",label:"Tasks",route:"/tasks",icon:a.i(55023).ListChecks,group:"Operate"},{id:"kanban",label:"Kanban",route:"/kanban",icon:a.i(61296).KanbanSquare,group:"Operate"},{id:"timeline",label:"Timeline",route:"/timeline",icon:a.i(90669).Activity,group:"Operate"},{id:"escalations",label:"Escalations",route:"/escalations",icon:I.ShieldAlert,group:"Operate"},{id:"sessions",label:"Sessions",route:"/sessions",icon:a.i(15115).SquareTerminal,group:"Operate"},{id:"settings",label:"Settings",route:"/settings",icon:(0,d.default)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),group:"Config"},{id:"projects",label:"Projects",route:"/projects",icon:a.i(34531).FolderGit2,group:"Operate"},{id:"users",label:"Users",route:"/users",icon:a.i(60246).Users,group:"Config"}],K=["Operate","Config"],L="orca-sidebar",M=a=>Math.max(160,Math.min(360,a));function N(a){try{localStorage.setItem(L,JSON.stringify(a))}catch{}}function O({entry:a,active:c,collapsed:d}){let e=a.icon,f=a.badge&&a.badge>0?a.badge:0;return(0,b.jsxs)(F.default,{href:a.href,title:d?a.label:void 0,"aria-current":c?"page":void 0,className:`relative flex items-center gap-3 border-l-2 px-3 py-2 text-sm transition-colors ${c?"border-accent text-text":"border-transparent text-text-muted hover:text-text"}${d?" justify-center":""}`.trim(),children:[(0,b.jsxs)("span",{className:"relative shrink-0",children:[(0,b.jsx)(e,{size:16,strokeWidth:1.5,"aria-hidden":!0}),f>0&&d&&(0,b.jsx)("span",{className:"absolute -right-1.5 -top-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-warning px-0.5 text-[9px] font-bold text-black",children:f})]}),!d&&(0,b.jsx)("span",{className:"uppercase tracking-wide text-xs",children:a.label}),f>0&&!d&&(0,b.jsx)("span",{className:"ml-auto flex h-4 min-w-4 items-center justify-center rounded-full bg-warning/15 px-1 text-[10px] font-bold text-warning",children:f})]})}function P({group:a,pathname:c,collapsed:d}){return(0,b.jsxs)("div",{className:"flex flex-col py-1",children:[!d&&(0,b.jsx)("span",{className:"px-3 py-1 font-mono text-tiny uppercase tracking-widest text-text-muted",children:a.label}),a.items.map(a=>(0,b.jsx)(O,{entry:a,active:c===a.href,collapsed:d},a.href))]})}var Q=a.i(67453),R=a.i(62722);let S=(0,d.default)("Hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]);var T=a.i(81415),U=a.i(3470);function V({name:a,onStuck:b}){let{state:d}=(0,U.useSessionStall)(a,!0),e="stuck"===d;return(0,c.useEffect)(()=>{b(a,e)},[a,e,b]),null}function W({expanded:a}){let{t:d}=(0,w.useTranslation)(),e=(0,t.useTasks)(),f=(0,t.useSessions)(),g=(0,c.useMemo)(()=>f.data??[],[f.data]),h=g.length,i=(0,T.lastClosedTask)(e.data??[]),j=i?.outcome==="fail",[k,l]=(0,c.useState)({}),m=(0,c.useCallback)((a,b)=>{l(c=>c[a]===b?c:{...c,[a]:b})},[]);(0,c.useEffect)(()=>{let a=new Set(g);l(b=>{let c={},d=!1;for(let[e,f]of Object.entries(b))a.has(e)?c[e]=f:d=!0;return d?c:b})},[g]);let n=g.filter(a=>k[a]).length;if(0===h&&!i)return null;let o=(0,b.jsx)("span",{className:`h-2 w-2 shrink-0 rounded-full ${h>0?"live-dot":""}`,style:{backgroundColor:h>0?"var(--color-success)":"var(--color-border-strong)","--live-ring":"color-mix(in srgb, var(--color-success) 50%, transparent)"},"aria-hidden":!0}),p=g.map(a=>(0,b.jsx)(V,{name:a,onStuck:m},a));return a?(0,b.jsxs)("div",{className:"flex flex-col gap-0.5 border-t border-border px-2 py-2",children:[p,n>0&&(0,b.jsxs)(F.default,{href:"/sessions",className:"flex items-center gap-2 rounded-md px-2 py-1 text-xs font-medium text-danger transition-colors hover:bg-elevated",children:[(0,b.jsx)(S,{size:13,className:"shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:d.sidebar.stuckAgents.replace("{count}",String(n))})]}),(0,b.jsxs)(F.default,{href:"/sessions",className:"flex items-center gap-2 rounded-md px-2 py-1 text-xs text-text-muted transition-colors hover:bg-elevated",children:[o,(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:d.sidebar.liveAgents.replace("{count}",String(h))})]}),i&&(0,b.jsxs)(F.default,{href:`/tasks?select=${encodeURIComponent(i.id)}`,title:i.result_summary??i.title,className:"flex items-center gap-2 rounded-md px-2 py-1 text-xs text-text-muted transition-colors hover:bg-elevated",children:[j?(0,b.jsx)(R.XCircle,{size:13,className:"shrink-0 text-error","aria-hidden":!0}):(0,b.jsx)(Q.CheckCircle2,{size:13,className:"shrink-0 text-success","aria-hidden":!0}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:d.sidebar.lastOutcome.replace("{title}",i.title)})]})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 border-t border-border py-2.5",children:[p,n>0&&(0,b.jsxs)(F.default,{href:"/sessions",title:d.sidebar.stuckAgents.replace("{count}",String(n)),className:"relative flex h-7 w-7 items-center justify-center rounded-md text-danger transition-colors hover:bg-elevated",children:[(0,b.jsx)(S,{size:15,"aria-hidden":!0}),(0,b.jsx)("span",{className:"absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-danger px-0.5 text-[9px] font-bold text-white",children:n})]}),(0,b.jsxs)(F.default,{href:"/sessions",title:d.sidebar.liveAgents.replace("{count}",String(h)),className:"flex items-center gap-1 rounded-md px-1.5 py-1 transition-colors hover:bg-elevated",children:[o,(0,b.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:h})]})]})}var X=a.i(35112),Y=a.i(23312),Z=a.i(99323);function $(){let{t:a}=(0,w.useTranslation)(),d=(0,t.useSessions)(),e=(0,t.useSessionSignals)(),f=(0,t.useTasks)(),g=(0,T.needsInputSessions)(d.data??[],e),h=(0,t.useEscalations)(),i=g.length+h.length,j=(0,c.useRef)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(!1);(0,c.useEffect)(()=>p(!0),[]);let q=()=>{let a=j.current;if(!a)return;let b=a.getBoundingClientRect();n({left:Math.max(8,b.left),bottom:window.innerHeight-b.top+8})};return(0,c.useEffect)(()=>{if(!k)return;let a=a=>{"Escape"===a.key&&l(!1)},b=()=>q();return window.addEventListener("keydown",a),window.addEventListener("resize",b),()=>{window.removeEventListener("keydown",a),window.removeEventListener("resize",b)}},[k]),(0,b.jsxs)("div",{className:"shrink-0",children:[(0,b.jsxs)("button",{ref:j,type:"button",onClick:()=>{k||q(),l(a=>!a)},"aria-label":a.sidebar.notifications,"aria-haspopup":"menu","aria-expanded":k,title:a.sidebar.notifications,className:`relative flex h-7 w-7 items-center justify-center rounded-md transition-colors hover:bg-elevated ${i>0?"text-warning":"text-text-muted hover:text-text"}`,children:[(0,b.jsx)(Y.Bell,{size:15,"aria-hidden":!0}),i>0&&(0,b.jsx)("span",{className:"absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-warning px-0.5 text-[9px] font-bold text-black",children:i})]}),o&&k&&m&&(0,X.createPortal)((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"fixed inset-0 z-[60]",onClick:()=>l(!1),"aria-hidden":!0}),(0,b.jsxs)("div",{role:"menu","aria-label":a.sidebar.notifications,className:"fixed z-[61] w-80 max-w-[calc(100vw-1rem)] overflow-hidden rounded-lg border border-border bg-surface",style:{left:m.left,bottom:m.bottom,boxShadow:"var(--shadow-raised)"},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3 py-2 text-xs font-semibold text-text",children:[(0,b.jsx)(Y.Bell,{size:13,className:i>0?"text-warning":"text-text-muted","aria-hidden":!0}),a.sidebar.notifications,i>0&&(0,b.jsx)("span",{className:"ml-auto flex h-4 min-w-4 items-center justify-center rounded-full bg-warning/15 px-1 text-[10px] font-bold text-warning",children:i})]}),0===i?(0,b.jsx)("div",{className:"px-3 py-7 text-center text-xs text-text-muted",children:a.sidebar.noNotifications}):(0,b.jsxs)("div",{className:"flex max-h-[60vh] flex-col gap-1.5 overflow-auto p-2",children:[h.length>0&&(0,b.jsxs)(F.default,{href:"/escalations",onClick:()=>l(!1),className:"flex items-center gap-2 rounded-md border border-warning/40 bg-warning/[0.06] px-2.5 py-2 transition-colors hover:bg-warning/10",children:[(0,b.jsx)(I.ShieldAlert,{size:14,className:"shrink-0 text-warning","aria-hidden":!0}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsx)("span",{className:"block text-xs font-medium text-text",children:a.sidebar.escalations.replace("{count}",String(h.length))}),(0,b.jsx)("span",{className:"block truncate text-tiny text-text-muted",children:h[0].title})]})]}),g.map(a=>{let c=e[a];return(0,b.jsx)(Z.NeedsInputRow,{name:a,question:c?.type==="needs_input"?c.question:"",options:c?.type==="needs_input"?c.options:void 0,exec:(0,T.taskExec)((f.data??[]).find(b=>(0,T.taskSessionName)(b)===a)?.labels)},a)})]})]})]}),document.body)]})}var _=a.i(14800);let aa={ready:{color:"var(--color-success)",ring:"color-mix(in srgb, var(--color-success) 50%, transparent)"},busy:{color:"var(--color-warning)",ring:"color-mix(in srgb, var(--color-warning) 50%, transparent)"},fail:{color:"var(--color-error)",ring:"color-mix(in srgb, var(--color-error) 50%, transparent)"}};function ab({mobileOpen:a=!1,onMobileClose:d}){let e=(0,y.usePathname)(),{collapsed:f,width:g,toggle:h,setWidth:i}=function(){let[a,b]=(0,c.useState)({collapsed:!1,width:224});(0,c.useEffect)(()=>{b(function(){try{let a=localStorage.getItem(L);if(a){let b=JSON.parse(a);return{collapsed:!!b.collapsed,width:M(Number(b.width??224))}}}catch{}return{collapsed:!1,width:224}}())},[]);let d=(0,c.useCallback)(()=>b(a=>{let b={...a,collapsed:!a.collapsed};return N(b),b}),[]),e=(0,c.useCallback)(a=>b(b=>{let c={...b,width:M(a)};return N(c),c}),[]);return{collapsed:a.collapsed,width:a.width,toggle:d,setWidth:e}}(),{data:j}=(0,t.useHealth)(),k=(0,t.useTasks)(),l=(0,t.useMe)(),m=l.data?.user?.is_admin??!1,n=j?.ok===!0,o=(k.data??[]).some(a=>"in_progress"===a.status),p=n?o?"busy":"ready":"fail",q=(k.data??[]).find(a=>"open"===a.status&&"epic"!==a.type),r=(0,t.useEscalations)(),s=(0,c.useRef)(!1),{t:u,locale:v,setLocale:x}=(0,w.useTranslation)(),[z,A]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=window.matchMedia("(max-width: 767px)");A(a.matches);let b=a=>A(a.matches);return a.addEventListener("change",b),()=>a.removeEventListener("change",b)},[]);let B=!!z||!f;(0,c.useEffect)(()=>{z&&d?.()},[e]);let C=(0,c.useCallback)(a=>{s.current=!0,a.target.setPointerCapture?.(a.pointerId)},[]),D=(0,c.useCallback)(a=>{s.current&&i(a.clientX)},[i]),E=(0,c.useCallback)(a=>{s.current=!1,a.target.releasePointerCapture?.(a.pointerId)},[]);return(0,b.jsxs)(b.Fragment,{children:[z&&(0,b.jsx)("div",{"aria-hidden":!0,onClick:d,className:`fixed inset-0 z-40 bg-black/50 transition-opacity md:hidden ${a?"opacity-100":"pointer-events-none opacity-0"}`}),(0,b.jsxs)("nav",{"aria-label":u.common.primaryNav,className:z?`fixed inset-y-0 left-0 z-50 flex h-full w-[264px] flex-col overflow-hidden border-r border-border bg-surface transition-transform duration-200 md:hidden ${a?"translate-x-0":"-translate-x-full"}`:"relative hidden h-full shrink-0 flex-col border-r border-border bg-surface transition-[width] duration-200 md:flex",style:z?{transitionTimingFunction:"var(--ease-out)"}:{width:B?g:56,transitionTimingFunction:"var(--ease-out)"},children:[(0,b.jsx)("div",{className:"flex items-center justify-center border-b border-border px-3 py-3 overflow-hidden",children:B?(0,b.jsx)("img",{src:"/orca-logo.png",alt:u.common.appName,className:"h-9 w-auto"}):(0,b.jsx)("img",{src:"/icon.png",alt:u.common.appName,className:"h-7 w-7 rounded-md"})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto py-2",children:K.map(a=>({group:a,items:J.filter(b=>b.group===a)})).filter(a=>"Config"!==a.group||m).map(a=>{let c="Operate"===a.group?u.nav.operate:u.nav.config;return(0,b.jsx)(P,{group:{label:c,items:a.items.map(a=>({href:a.route,label:u.nav[a.id]??a.label,icon:a.icon,badge:"escalations"===a.id?r.length:void 0}))},pathname:e,collapsed:!B},a.group)})}),B&&r.length>0&&(0,b.jsxs)(F.default,{href:"/escalations",className:"border-t border-warning/30 bg-warning/[0.06] px-4 py-2.5 transition-colors hover:bg-warning/10",title:r[0].title,children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-tiny font-semibold uppercase tracking-wide text-warning",children:[(0,b.jsx)(I.ShieldAlert,{size:12,"aria-hidden":!0}),u.common.escalationsWaiting.replace("{count}",String(r.length))]}),(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-text",children:r[0].title})]}),B&&q&&(0,b.jsxs)(F.default,{href:"/tasks",className:"border-t border-border px-4 py-2.5 transition-colors hover:bg-elevated",title:q.title,children:[(0,b.jsx)("div",{className:"text-tiny font-medium uppercase tracking-wide text-text-muted",children:u.common.nextReady}),(0,b.jsx)("div",{className:"mt-0.5 truncate text-xs text-text",children:q.title})]}),(0,b.jsx)(W,{expanded:B}),(0,b.jsxs)("div",{className:`border-t border-border px-3 py-2 ${B?"flex items-center gap-2":"flex flex-col items-center gap-2"}`,children:[(0,b.jsxs)(F.default,{href:"/account",className:`flex min-w-0 items-center gap-2 rounded-md py-1 transition-colors hover:bg-elevated ${B?"flex-1 px-1":""}`,title:l.data?.user?l.data.user.name||l.data.user.username:u.common.daemon,children:[(0,b.jsxs)("span",{className:"relative flex shrink-0 items-center justify-center",children:[l.data?.user?(0,b.jsx)(_.Avatar,{user:l.data.user,size:28}):(0,b.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-full border border-border bg-elevated",children:(0,b.jsx)(H.User,{size:14,className:"text-text-muted","aria-hidden":!0})}),(0,b.jsx)("span",{role:"status","aria-label":n?u.common.daemonUp:u.common.daemonDown,title:"fail"===p?u.common.daemonOffline:"busy"===p?u.common.daemonBusy:u.common.daemonReady,className:`absolute -bottom-0.5 -right-0.5 h-2.5 w-2.5 rounded-full border-2 border-surface ${n?"live-dot":""}`,style:{backgroundColor:aa[p].color,"--live-ring":aa[p].ring}})]}),B&&l.data?.user&&(0,b.jsxs)("span",{className:"flex min-w-0 flex-col leading-tight",children:[(0,b.jsx)("span",{className:"truncate text-xs font-medium text-text",children:l.data.user.name||l.data.user.username}),(0,b.jsx)("span",{className:"truncate text-tiny text-text-muted",children:l.data.user.is_admin?u.users.admin:u.users.member})]})]}),(0,b.jsx)($,{}),B&&(0,b.jsxs)("button",{type:"button",onClick:()=>x("en"===v?"cs":"en"),className:"flex shrink-0 items-center gap-1 rounded-md border border-border px-2 py-1 text-tiny font-mono uppercase tracking-wide text-text-muted transition-colors hover:border-border-strong hover:text-text","aria-label":u.common.switchLang,children:[(0,b.jsx)(G,{size:12,"aria-hidden":!0}),"en"===v?"CS":"EN"]})]}),B&&(0,b.jsxs)("div",{className:"flex flex-col items-center gap-0.5 border-t border-border px-3 py-2 text-center",children:[(0,b.jsxs)("span",{className:"font-mono text-tiny text-text-muted",children:["orca v",j?.version??"—"]}),(0,b.jsx)("a",{href:"https://dragocz.dev",target:"_blank",rel:"noreferrer",className:"text-tiny font-semibold uppercase tracking-[0.15em] text-text-muted/70 transition-colors hover:text-text",children:"by dragocz.dev"})]}),!z&&(0,b.jsx)("button",{type:"button","aria-label":u.common.toggleSidebar,onClick:h,className:"group absolute -right-2 top-1/2 z-10 flex h-14 w-4 -translate-y-1/2 items-center justify-center",children:(0,b.jsx)("span",{className:"h-9 w-1 rounded-full bg-border transition-all duration-200 group-hover:h-12 group-hover:bg-text-muted"})}),!z&&B&&(0,b.jsx)("div",{"data-testid":"sidebar-resize",onPointerDown:C,onPointerMove:D,onPointerUp:E,onDoubleClick:()=>i(224),className:"absolute right-0 top-0 h-full w-1 cursor-col-resize"})]})]})}var ac=a.i(87532),ad=a.i(15618),ae=a.i(82478);let af=(0,d.default)("CornerDownLeft",[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]]);function ag({text:a,q:c}){if(!c)return(0,b.jsx)(b.Fragment,{children:a});let d=a.toLowerCase().indexOf(c.toLowerCase());return d<0?(0,b.jsx)(b.Fragment,{children:a}):(0,b.jsxs)(b.Fragment,{children:[a.slice(0,d),(0,b.jsx)("span",{className:"text-accent",children:a.slice(d,d+c.length)}),a.slice(d+c.length)]})}function ah(){let a=(0,y.useRouter)(),{t:d}=(0,w.useTranslation)(),[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(""),[i,j]=(0,c.useState)(0),k=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=a=>{(a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()?(a.preventDefault(),f(a=>!a)):"Escape"===a.key&&f(!1)};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]),(0,c.useEffect)(()=>{e&&(h(""),j(0),requestAnimationFrame(()=>k.current?.focus()))},[e]);let l=(0,c.useMemo)(()=>{let b=b=>()=>{a.push(b),f(!1)},c=J.map(a=>({id:`nav:${a.route}`,label:`${d.common.goTo} ${d.page[a.id]??a.label}`,hint:a.route,icon:a.icon,run:b(a.route)}));return[{id:"new-task",label:d.tasks.newTask,hint:"create",icon:ad.Plus,run:b("/tasks?new=1")},{id:"new-mission",label:d.missions.newMission,hint:"engage",icon:ae.Rocket,run:b("/tasks?new=1")},...c]},[a,d]),m=(0,c.useMemo)(()=>{let a=g.trim().toLowerCase();return a?l.filter(b=>`${b.label} ${b.hint??""}`.toLowerCase().includes(a)):l},[l,g]);return((0,c.useEffect)(()=>{i>=m.length&&j(0)},[m.length,i]),e)?(0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-start justify-center bg-black/70 p-4 pt-[12vh]",onClick:()=>f(!1),children:(0,b.jsxs)("div",{className:"animate-pop-in w-full max-w-lg overflow-hidden rounded-xl border border-border bg-surface",style:{boxShadow:"var(--shadow-raised)"},onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5 border-b border-border px-4",children:[(0,b.jsx)(ac.Search,{size:16,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,b.jsx)("input",{ref:k,value:g,onChange:a=>h(a.target.value),onKeyDown:a=>{"ArrowDown"===a.key?(a.preventDefault(),j(a=>Math.min(m.length-1,a+1))):"ArrowUp"===a.key?(a.preventDefault(),j(a=>Math.max(0,a-1))):"Enter"===a.key&&(a.preventDefault(),m[i]?.run())},placeholder:d.common.searchCommands,className:"h-12 w-full bg-transparent text-sm text-text placeholder:text-text-muted focus:outline-none"})]}),(0,b.jsx)("ul",{className:"max-h-[50vh] overflow-y-auto p-1.5",children:0===m.length?(0,b.jsx)("li",{className:"px-3 py-6 text-center text-sm text-text-muted",children:d.common.noCommands}):m.map((a,c)=>{let d=a.icon;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onMouseEnter:()=>j(c),onClick:()=>a.run(),className:`flex w-full items-center gap-3 rounded-md px-3 py-2 text-left text-sm transition-colors ${c===i?"bg-elevated text-text":"text-text-muted"}`,children:[(0,b.jsx)(d,{size:15,className:"shrink-0","aria-hidden":!0}),(0,b.jsx)("span",{className:"flex-1 text-text",children:(0,b.jsx)(ag,{text:a.label,q:g.trim()})}),a.hint?(0,b.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:a.hint}):null,c===i?(0,b.jsx)(af,{size:13,className:"text-text-muted","aria-hidden":!0}):null]})},a.id)})})]})}):null}function ai({children:a}){let{t:d}=(0,w.useTranslation)(),[f,g]=(0,c.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex h-dvh overflow-hidden",children:[(0,b.jsx)(ab,{mobileOpen:f,onMobileClose:()=>g(!1)}),(0,b.jsx)("div",{className:"flex min-w-0 flex-1 flex-col",children:(0,b.jsxs)("main",{className:"flex-1 overflow-y-auto overflow-x-hidden overscroll-contain",children:[(0,b.jsxs)("div",{className:"flex h-12 items-center gap-2 border-b border-border bg-surface px-3 md:hidden",children:[(0,b.jsx)("button",{type:"button",onClick:()=>g(!0),"aria-label":d.common.toggleSidebar,className:"flex h-9 w-9 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-elevated hover:text-text",children:(0,b.jsx)(e,{size:20,"aria-hidden":!0})}),(0,b.jsx)("img",{src:"/orca-logo.png",alt:d.common.appName,className:"h-7 w-auto"})]}),(0,b.jsx)("div",{className:"p-4",children:a})]})})]}),(0,b.jsx)(ah,{})]})}a.s(["Shell",0,function({children:a}){return(0,b.jsx)(v,{children:(0,b.jsx)(w.LanguageProvider,{children:(0,b.jsx)(x.ToastProvider,{children:(0,b.jsx)(E,{children:(0,b.jsx)(ai,{children:a})})})})})}],37969)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=components_shell_Shell_tsx_1e5c27h._.js.map
|
|
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/0cz1d0mv5g_q7.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/-qI9ABgqZPR_Ri56jzVI5/_buildManifest.js",
|
|
11
|
+
"static/-qI9ABgqZPR_Ri56jzVI5/_ssgManifest.js",
|
|
12
|
+
"static/-qI9ABgqZPR_Ri56jzVI5/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/310vm2bl3xxpt.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="geistmono_157ca88a-module__iaM1Ya__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="geistmono_157ca88a-module__iaM1Ya__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/1t-dast4rat3s.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/310vm2bl3xxpt.js"/><script src="/_next/static/chunks/17tpdgx22zl4v.js" async=""></script><script src="/_next/static/chunks/2nykiepra7i1k.js" async=""></script><script src="/_next/static/chunks/0n-zjr76qg7uq.js" async=""></script><script src="/_next/static/chunks/0paxexg6-m0de.js" async=""></script><script src="/_next/static/chunks/turbopack-2put530kkhy0n.js" async=""></script><script src="/_next/static/chunks/3saus_snl5ri7.js" async=""></script><script src="/_next/static/chunks/186xbnkxm5iu3.js" async=""></script><script src="/_next/static/chunks/0c179dg4znere.js" async=""></script><script src="/_next/static/chunks/3k-swqzkcvlzm.js" async=""></script><script src="/_next/static/chunks/013bf3uuupmww.js" async=""></script><meta name="robots" content="noindex"/><title>Orca</title><link rel="icon" href="/icon.png?icon.0gfvm0_kk3zds.png" sizes="256x256" type="image/png"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="pointer-events-none fixed bottom-5 right-5 z-50 flex w-[22rem] max-w-[calc(100vw-2.5rem)] flex-col gap-2.5"></div><script src="/_next/static/chunks/310vm2bl3xxpt.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[22833,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\"],\"Shell\"]\n3:I[39756,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\"],\"default\"]\n4:I[98168,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\",\"/_next/static/chunks/013bf3uuupmww.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\"],\"default\"]\n6:I[97367,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[97367,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\"],\"ViewportBoundary\"]\nc:I[97367,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\"],\"MetadataBoundary\"]\ne:I[68027,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/1t-dast4rat3s.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1t-dast4rat3s.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3saus_snl5ri7.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/186xbnkxm5iu3.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0c179dg4znere.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/3k-swqzkcvlzm.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geistmono_157ca88a-module__iaM1Ya__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{}]}],\"templateStyles\":[],\"templateScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/013bf3uuupmww.js\",\"async\":true}]],\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1t-dast4rat3s.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"-qI9ABgqZPR_Ri56jzVI5\"}\n"])</script><script>self.__next_f.push([1,"f:[]\n9:\"$Wf\"\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"10:I[27201,[\"/_next/static/chunks/3saus_snl5ri7.js\",\"/_next/static/chunks/186xbnkxm5iu3.js\",\"/_next/static/chunks/0c179dg4znere.js\",\"/_next/static/chunks/3k-swqzkcvlzm.js\"],\"IconMark\"]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"Orca\"}],[\"$\",\"link\",\"1\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.0gfvm0_kk3zds.png\",\"sizes\":\"256x256\",\"type\":\"image/png\"}],[\"$\",\"$L10\",\"2\",{}]]\n"])</script></body></html>
|