cogpit 3.5.0 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-runtime.js +1462 -260
- package/dist/instance-worker.js +3 -3
- package/dist/web/assets/{CogpitBlock-Ku77iAFz.js → CogpitBlock-ZgOubpsS.js} +1 -1
- package/dist/web/assets/{CommandPaletteHost-CjZO-FyZ.js → CommandPaletteHost-Djn2jqYR.js} +1 -1
- package/dist/web/assets/{ConfigBrowser-B6jQRpcW.js → ConfigBrowser-CRwh8BXq.js} +1 -1
- package/dist/web/assets/{CrewPanel-DvHboAAW.js → CrewPanel-BxPl5D7h.js} +1 -1
- package/dist/web/assets/{HighlightedEditor-5NbcDE8n.js → HighlightedEditor-D9A-dW2Z.js} +1 -1
- package/dist/web/assets/{KeyboardShortcutsDialog-yO3h4xr-.js → KeyboardShortcutsDialog-L7rRhApI.js} +1 -1
- package/dist/web/assets/{MissionHome-CZpQbWs3.js → MissionHome-zp7VebSO.js} +2 -2
- package/dist/web/assets/{MobileFileChanges-DERAdWVc.js → MobileFileChanges-O-SvMq9F.js} +1 -1
- package/dist/web/assets/{PluginsDialog-DusZU8fA.js → PluginsDialog-CBOyfoUX.js} +1 -1
- package/dist/web/assets/{PreviewPanel-BpCD0UAz.js → PreviewPanel-_pKuUaps.js} +1 -1
- package/dist/web/assets/{ProjectFilesPanel-CPHWyVwU.js → ProjectFilesPanel-BsbpTgWK.js} +1 -1
- package/dist/web/assets/{ProjectSwitcherModal-BmYW6es0.js → ProjectSwitcherModal-D4MzdPVH.js} +1 -1
- package/dist/web/assets/{TerminalOutput-4YZ5J0ny.js → TerminalOutput-DOX29EmA.js} +1 -1
- package/dist/web/assets/{ThemeSelectorModal-CHFAl7zz.js → ThemeSelectorModal-7CWXZB-z.js} +1 -1
- package/dist/web/assets/{WorkflowsPanel-B6whBEyJ.js → WorkflowsPanel-aOz1o3kA.js} +1 -1
- package/dist/web/assets/{WorktreePanel-ASvzuwqm.js → WorktreePanel-BFve9bpC.js} +1 -1
- package/dist/web/assets/{edition-ui-DZ5m565z.js → edition-ui-CFxEM3WF.js} +1 -1
- package/dist/web/assets/{index-BFA_YkUM.js → index-By5-_P50.js} +1 -1
- package/dist/web/assets/{index-yM7CTfeg.js → index-CPTFl4Qh.js} +13 -13
- package/dist/web/assets/index-DjpYbGVZ.js +2 -0
- package/dist/web/assets/{index-D262IRnL.js → index-DmMg-zf3.js} +1 -1
- package/dist/web/assets/{switch-BBkU1zqg.js → switch-DS7UyNS2.js} +1 -1
- package/dist/web/assets/{vendor-ui-DkzcTXCS.js → vendor-ui-DQeMoSiV.js} +195 -190
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/index-C9bzBC6T.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as C,c as ue,j as n}from"./vendor-react-gGw_S5I_.js";import{U as ze,bJ as it,bK as je,bL as jt,bM as yt,bN as Nt,B as te,L as rt,M as ct,N as It,O as dt,Q as ut,C as Je,bO as Ct,b6 as Qe,z as et,bP as kt,bQ as St,q as ft,aK as Mt,bR as $t,b7 as Rt,bC as Tt,bS as At,aP as Ot,R as Et,D as Lt,h as _t,j as zt,k as Dt,J as oe,bT as Ft,bU as Pt,bV as Yt,bW as qt,bX as qe,$ as We,bY as Wt,bz as Ht,bZ as Ut,b_ as Bt,b$ as Ae,c0 as Oe,bk as Kt,Z as Gt,c1 as Vt,c2 as Xt,c3 as Zt,bH as Jt}from"./index-yM7CTfeg.js";import{S as Qt}from"./switch-BBkU1zqg.js";import{m as es,aq as ts,ak as ss,e as ns,ar as ht,as as mt,P as os,a7 as as,$ as ls,C as De,at as is,au as rs,X as cs}from"./vendor-ui-DkzcTXCS.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";async function ke(t){if(t.ok)return t;const e=await t.json().catch(()=>null);throw new Error((e==null?void 0:e.error)||"Couldn't update crew chat.")}function Ee(t,e){return[...new Map([...t,...e].map(s=>[s.sequence,s])).values()].sort((s,r)=>s.sequence-r.sequence)}function ds(t){const[e,s]=C.useState(null),[r,i]=C.useState([]),[a,c]=C.useState(null),[o,f]=C.useState(!1),[g,h]=C.useState(!1),[l,w]=C.useState(!1),[u,x]=C.useState(new Set),m=C.useRef(0),p=C.useRef(null),y=C.useRef(!1),k=C.useRef(!1),b=C.useRef(new Set),M=C.useRef(!1),N=C.useRef(null),$=C.useCallback(async j=>{const L=++m.current;try{const I=N.current,S=await(await ke(await ze(`/api/crew-chat/${encodeURIComponent(t)}${I===null?"":`?after=${I}&limit=100`}`))).json();if(!j()||L!==m.current)return;s(R=>R&&JSON.stringify(R.members)===JSON.stringify(S.members)?{...S,members:R.members}:S),i(R=>Ee(R,S.messages)),N.current=S.nextCursor,M.current||(M.current=!0,w(S.hasMore)),c(null)}catch(I){j()&&L===m.current&&c(I instanceof Error?I.message:"Couldn't load crew chat.")}},[t]);it($,2e3);const _=C.useCallback(async j=>{var L;if(y.current)return!1;y.current=!0,f(!0),((L=p.current)==null?void 0:L.text)!==j&&(p.current={text:j,id:crypto.randomUUID()});try{const A=await(await ke(await je(`/api/crew-chat/${encodeURIComponent(t)}`,{text:j,commandId:p.current.id}))).json();return m.current++,i(S=>Ee(S,[A.message])),p.current=null,c(A.pending.length?"Message saved. Some members are unavailable; delivery will retry.":null),!0}catch(I){return c(I instanceof Error?I.message:"Couldn't send the message."),!1}finally{y.current=!1,f(!1)}},[t]),O=C.useCallback(async(j,L)=>{if(!b.current.has(j)){b.current.add(j),x(I=>new Set(I).add(j));try{await ke(await je(`/api/crew-chat/${encodeURIComponent(t)}`,{sessionId:j,listening:L},{method:"PATCH"})),m.current++,s(I=>I&&{...I,members:I.members.map(A=>A.sessionId===j?{...A,listening:L}:A)}),c(null)}catch(I){c(I instanceof Error?I.message:"Couldn't change listening.")}finally{b.current.delete(j),x(I=>{const A=new Set(I);return A.delete(j),A})}}},[t]),E=C.useCallback(async()=>{if(!(!r.length||k.current)){k.current=!0,h(!0);try{const L=await(await ke(await ze(`/api/crew-chat/${encodeURIComponent(t)}?before=${r[0].sequence}`))).json();i(I=>Ee(I,L.messages)),w(L.hasMore)}catch(j){c(j instanceof Error?j.message:"Couldn't load older messages.")}finally{k.current=!1,h(!1)}}},[r,t]);return{page:e,messages:r,error:a,posting:o,busyMembers:u,hasOlder:l,loadingOlder:g,post:_,setListening:O,older:E}}const us=[],fs=new Map;function hs(t){var He,Ue,Be,Ke,Ge,Ve,Xe;const e=ue.c(111),{rootId:s,kinds:r,active:i}=t,a=r===void 0?fs:r,c=i===void 0?!0:i,o=ds(s),[f,g]=C.useState(""),h=C.useRef(null),l=C.useRef(!0);let w;e[0]!==o.messages?(w=(He=o.messages.at(-1))==null?void 0:He.sequence,e[0]=o.messages,e[1]=w):w=e[1];const u=w,x=((Ue=o.page)==null?void 0:Ue.members)??us;let m;e[2]!==x?(m=jt(x),e[2]=x,e[3]=m):m=e[3];const p=m;let y;e[4]!==x||e[5]!==s?(y=yt(x,s),e[4]=x,e[5]=s,e[6]=y):y=e[6];const k=y;let b;e[7]!==x?(b=new Map(x.map(ps)),e[7]=x,e[8]=b):b=e[8];const M=b;let N;e[9]!==o.messages||e[10]!==s?(N=Nt(o.messages,s),e[9]=o.messages,e[10]=s,e[11]=N):N=e[11];const $=N;let _;e[12]!==c?(_=()=>{var G,B;c&&l.current&&((B=(G=h.current)==null?void 0:G.scrollIntoView)==null||B.call(G,{block:"end"}))},e[12]=c,e[13]=_):_=e[13];let O;e[14]!==c||e[15]!==u?(O=[c,u],e[14]=c,e[15]=u,e[16]=O):O=e[16],C.useEffect(_,O);let E;e[17]!==o||e[18]!==f?(E=async()=>{const G=f.trim();!G||o.posting||await o.post(G)&&(g(B=>B.trim()===G?"":B),l.current=!0)},e[17]=o,e[18]=f,e[19]=E):E=e[19];const j=E;let L;e[20]!==o.page||e[21]!==x?(L=o.page?`${x.filter(ms).length} listening · Members & mentions`:"Loading chat…",e[20]=o.page,e[21]=x,e[22]=L):L=e[22];let I;e[23]!==L?(I=n.jsx("summary",{className:"cursor-pointer text-xs text-muted-foreground",children:L}),e[23]=L,e[24]=I):I=e[24];let A;if(e[25]!==o||e[26]!==a||e[27]!==x||e[28]!==s||e[29]!==k){let G;e[31]!==o||e[32]!==a||e[33]!==s||e[34]!==k?(G=B=>{var Ze;return n.jsxs(Je,{orientation:"horizontal",className:"items-center gap-2",children:[n.jsx(Ct,{role:B.sessionId===s?"lead":"agent",sessionId:B.sessionId,kinds:a,tints:k,className:"size-5"}),n.jsxs(Qe,{className:"min-w-0 flex-1 items-baseline gap-1.5",htmlFor:`listen-${B.sessionId}`,"aria-label":`Listen for ${B.name}`,children:[n.jsx("span",{className:"truncate",children:B.name}),n.jsxs("span",{className:"truncate text-xs font-normal text-muted-foreground",children:["@",B.handle]})]}),n.jsx(te,{variant:"ghost",size:"icon-xs",disabled:!((Ze=o.page)!=null&&Ze.canPost)||!B.canInteract,onClick:()=>g(ye=>`${ye}${ye&&!/\s$/.test(ye)?" ":""}@${B.handle} `),"aria-label":`Mention ${B.name}`,title:`Mention @${B.handle}`,className:"text-muted-foreground",children:n.jsx(ts,{"data-icon":"inline-start"})}),n.jsx(Qt,{id:`listen-${B.sessionId}`,size:"sm",checked:B.listening,disabled:!B.canInteract||o.busyMembers.has(B.sessionId),onCheckedChange:ye=>void o.setListening(B.sessionId,ye)})]},B.sessionId)},e[31]=o,e[32]=a,e[33]=s,e[34]=k,e[35]=G):G=e[35],A=x.map(G),e[25]=o,e[26]=a,e[27]=x,e[28]=s,e[29]=k,e[30]=A}else A=e[30];let S;e[36]!==A?(S=n.jsx(et,{className:"max-h-48 gap-2 overflow-y-auto py-2",children:A}),e[36]=A,e[37]=S):S=e[37];let R;e[38]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx("p",{className:"pb-1 text-xs text-muted-foreground",children:"Listening sends short notices while an agent works. @mentions send the full message, even when listening is off."}),e[38]=R):R=e[38];let F;e[39]!==I||e[40]!==S?(F=n.jsxs("details",{className:"shrink-0 border-b px-3 py-2",children:[I,S,R]}),e[39]=I,e[40]=S,e[41]=F):F=e[41];let P;e[42]===Symbol.for("react.memo_cache_sentinel")?(P=G=>{const B=G.target;l.current=B.scrollHeight-B.scrollTop-B.clientHeight<80},e[42]=P):P=e[42];let H;e[43]!==o?(H=o.hasOlder&&n.jsx("div",{className:"flex justify-center py-2",children:n.jsx(te,{variant:"ghost",size:"xs",disabled:o.loadingOlder,onClick:()=>void o.older(),children:o.loadingOlder?"Loading…":"Load earlier messages"})}),e[43]=o,e[44]=H):H=e[44];let D;e[45]!==o.messages.length||e[46]!==o.page?(D=o.page&&o.messages.length===0&&n.jsx(rt,{children:n.jsxs(ct,{children:[n.jsx(It,{variant:"icon",children:n.jsx(es,{})}),n.jsx(dt,{children:"Talk to the crew"}),n.jsx(ut,{children:"Share a discovery, ask a question, or tag someone for their input."})]})}),e[45]=o.messages.length,e[46]=o.page,e[47]=D):D=e[47];let Y;if(e[48]!==M||e[49]!==p||e[50]!==a||e[51]!==s||e[52]!==$||e[53]!==k){let G;e[55]!==M||e[56]!==p||e[57]!==a||e[58]!==s||e[59]!==k?(G=B=>n.jsxs(C.Fragment,{children:[B.day!==void 0&&n.jsx(kt,{day:B.day}),n.jsx(St,{run:B,members:M,handles:p,kinds:a,tints:k,rootId:s})]},B.messages[0].sequence),e[55]=M,e[56]=p,e[57]=a,e[58]=s,e[59]=k,e[60]=G):G=e[60],Y=$.map(G),e[48]=M,e[49]=p,e[50]=a,e[51]=s,e[52]=$,e[53]=k,e[54]=Y}else Y=e[54];let K;e[61]===Symbol.for("react.memo_cache_sentinel")?(K=n.jsx("div",{ref:h}),e[61]=K):K=e[61];let U;e[62]!==Y?(U=n.jsxs("div",{role:"log","aria-label":"Shared messages","aria-live":"polite","aria-relevant":"additions",className:"flex flex-col gap-4 px-3 py-3",children:[Y,K]}),e[62]=Y,e[63]=U):U=e[63];let z;e[64]!==H||e[65]!==D||e[66]!==U?(z=n.jsxs(ft,{className:"min-h-0 flex-1",onScrollCapture:P,children:[H,D,U]}),e[64]=H,e[65]=D,e[66]=U,e[67]=z):z=e[67];let q;e[68]!==j?(q=G=>{G.preventDefault(),j()},e[68]=j,e[69]=q):q=e[69];const W=!!o.error,V=`crew-chat-${s}`;let d;e[70]!==V?(d=n.jsx(Qe,{htmlFor:V,className:"sr-only",children:"Message the crew"}),e[70]=V,e[71]=d):d=e[71];const v=`crew-chat-${s}`,T=!((Be=o.page)!=null&&Be.canPost),X=!!o.error;let ae;e[72]===Symbol.for("react.memo_cache_sentinel")?(ae=G=>g(G.target.value),e[72]=ae):ae=e[72];let J;e[73]!==j?(J=G=>{G.key==="Enter"&&(G.metaKey||G.ctrlKey)&&!G.nativeEvent.isComposing&&(G.preventDefault(),j())},e[73]=j,e[74]=J):J=e[74];let Q;e[75]!==f||e[76]!==v||e[77]!==T||e[78]!==X||e[79]!==J?(Q=n.jsx(Mt,{id:v,value:f,rows:3,maxLength:$t,placeholder:"Message the crew… use @ to tag an agent",disabled:T,"aria-invalid":X,onChange:ae,onKeyDown:J}),e[75]=f,e[76]=v,e[77]=T,e[78]=X,e[79]=J,e[80]=Q):Q=e[80];let ee;e[81]!==o.error?(ee=o.error&&n.jsx("p",{role:"alert",className:"text-xs text-destructive",children:o.error}),e[81]=o.error,e[82]=ee):ee=e[82];let se;e[83]!==W||e[84]!==d||e[85]!==Q||e[86]!==ee?(se=n.jsxs(Je,{"data-invalid":W,children:[d,Q,ee]}),e[83]=W,e[84]=d,e[85]=Q,e[86]=ee,e[87]=se):se=e[87];const re=((Ke=o.page)==null?void 0:Ke.canPost)===!1?"You have read access to this crew.":"⌘ / Ctrl + Enter to send";let Z;e[88]!==re?(Z=n.jsx(Rt,{className:"flex-1",children:re}),e[88]=re,e[89]=Z):Z=e[89];let ce;e[90]!==((Ge=o.page)==null?void 0:Ge.canPost)||e[91]!==o.posting||e[92]!==f?(ce=!((Ve=o.page)!=null&&Ve.canPost)||!f.trim()||o.posting,e[90]=(Xe=o.page)==null?void 0:Xe.canPost,e[91]=o.posting,e[92]=f,e[93]=ce):ce=e[93];let me;e[94]===Symbol.for("react.memo_cache_sentinel")?(me=n.jsx(ss,{"data-icon":"inline-start"}),e[94]=me):me=e[94];const Te=o.posting?"Sending…":"Send";let ge;e[95]!==ce||e[96]!==Te?(ge=n.jsxs(te,{type:"submit",size:"sm",disabled:ce,children:[me,Te]}),e[95]=ce,e[96]=Te,e[97]=ge):ge=e[97];let xe;e[98]!==Z||e[99]!==ge?(xe=n.jsxs("div",{className:"flex items-center gap-2",children:[Z,ge]}),e[98]=Z,e[99]=ge,e[100]=xe):xe=e[100];let we;e[101]!==se||e[102]!==xe?(we=n.jsxs(et,{className:"gap-2",children:[se,xe]}),e[101]=se,e[102]=xe,e[103]=we):we=e[103];let be;e[104]!==q||e[105]!==we?(be=n.jsx("form",{className:"shrink-0 border-t p-3",onSubmit:q,children:we}),e[104]=q,e[105]=we,e[106]=be):be=e[106];let Ce;return e[107]!==F||e[108]!==z||e[109]!==be?(Ce=n.jsxs("section",{"aria-label":"Crew chat",className:"flex h-full min-h-0 flex-col",children:[F,z,be]}),e[107]=F,e[108]=z,e[109]=be,e[110]=Ce):Ce=e[110],Ce}function ms(t){return t.listening}function ps(t){return[t.sessionId,t]}const fe={working:"bg-success ring-2 ring-success/30","needs-you":"bg-warning",done:"bg-muted-foreground/50",failed:"bg-destructive",unreachable:"border border-muted-foreground/60"};function pt(t){const e=new Date(t),s=e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return e.toDateString()===new Date().toDateString()?s:`${e.toLocaleDateString([],{month:"short",day:"numeric"})}, ${s}`}function he(t){if(t.status==="deferred")return"needs-you";switch(t.outcome){case"needs_input":return"needs-you";case"running":return"working";case"error":return"failed";case"unreachable":case"not_found":return"unreachable";default:return"done"}}function tt(t,e){var s,r;return{sessionId:t.sessionId,dirName:((s=t.address)==null?void 0:s.dirName)??"",fileName:((r=t.address)==null?void 0:r.fileName)??"",projectShortName:"",lastModified:t.lastActivityAt??"",lastActivityAt:t.lastActivityAt,size:0,cwd:t.cwd,customTitle:t.customTitle,aiTitle:t.aiTitle,firstUserMessage:t.firstUserMessage,...t.parentId&&{crew:{rootId:e,parentId:t.parentId,startedAt:t.startedAt??0,...t.name&&{name:t.name}}}}}function gs(t,e,s){var o;const r=((o=[...e.values()].find(f=>f.parentId===null))==null?void 0:o.sessionId)??t.sessionId,i=s[t.sessionId],a=tt(t,r);if(!t.parentId)return Tt(a,i);const c=e.get(t.parentId);return At(a,{customName:i,parent:c&&tt(c,r)})}function xs(t){const e=new Map;for(const a of t.members){if(!a.parentId)continue;const c=e.get(a.parentId);c?c.push(a):e.set(a.parentId,[a])}const s=[],r=new Set,i=(a,c)=>{var f;const o=[...e.get(a)??[]].sort((g,h)=>(g.startedAt??0)-(h.startedAt??0));for(const g of o)r.has(g.sessionId)||(r.add(g.sessionId),s.push({member:g,depth:c,children:((f=e.get(g.sessionId))==null?void 0:f.length)??0}),i(g.sessionId,c+1))};i(t.rootId,0);for(const a of t.members)a.parentId&&!r.has(a.sessionId)&&(r.add(a.sessionId),s.push({member:a,depth:0,children:0}));return s}function ws(t){const e=({member:s,pending:r})=>r.askedAt??(Date.parse(s.lastActivityAt??"")||0);return t.members.flatMap(s=>s.waiting.map(r=>({member:s,pending:r}))).sort((s,r)=>e(s)-e(r))}function bs(t){const e={size:0,working:0,needsYou:0,done:0,failed:0,unreachable:0,unreadResults:0};for(const s of t.members){if(!s.parentId)continue;e.size++;const r=he(s);r==="working"?e.working++:r==="needs-you"?e.needsYou++:r==="failed"?e.failed++:r==="unreachable"?e.unreachable++:e.done++,Re(s)&&e.unreadResults++}return e}function Re(t){return!!(t.result&&t.result.state!=="running"&&!t.result.acknowledged)}function Ie(t){const[e]=t.waiting;switch(he(t)){case"needs-you":return(e==null?void 0:e.kind)==="permission"?`Waiting on a permission · ${e.toolName}`:(e==null?void 0:e.kind)==="question"?"Asked a question":!e&&t.status==="deferred"?"Awaiting permission review":"Plan to review";case"working":return t.status==="tool_use"&&t.toolName?t.toolName:t.status==="thinking"?"Thinking":t.status==="compacting"?"Compacting":t.status==="awaiting_agents"?"Waiting on its agents":"Working";case"failed":return t.error?`Failed · ${t.error}`:"Failed";case"unreachable":return t.device?`${t.device.name} is not answering`:"Not found";default:return Re(t)?"Finished · result unread":"Finished"}}const le=196,ne=86,de=40,ve=12,vs=28,Me=6,st=8,pe=10,js=6,$e=28,Fe=36;function gt(t){const e=he(t);return e==="working"||e==="needs-you"}function ys(t){const e={all:t.members.length,active:0,working:0,needsYou:0};for(const s of t.members){const r=he(s);r==="working"?e.working++:r==="needs-you"&&e.needsYou++}return e.active=e.working+e.needsYou,e}const nt=(t,e)=>(t.startedAt??0)-(e.startedAt??0)||t.sessionId.localeCompare(e.sessionId);function xt(t){const e=new Map(t.members.map(i=>[i.sessionId,i])),s=new Map,r=[];for(const i of t.members){const a=i.parentId&&i.sessionId!==t.rootId?e.get(i.parentId):void 0;if(!a){r.push(i);continue}const c=s.get(a.sessionId);c?c.push(i):s.set(a.sessionId,[i])}for(const i of s.values())i.sort(nt);return r.sort((i,a)=>+(a.sessionId===t.rootId)-+(i.sessionId===t.rootId)||nt(i,a)),{roots:r,childrenOf:s}}function Ns(t,e){if(e==="all")return new Set(t.members.map(i=>i.sessionId));const s=new Map(t.members.map(i=>[i.sessionId,i])),r=new Set;for(const i of t.members){if(!gt(i))continue;let a=i;for(;a&&!r.has(a.sessionId);)r.add(a.sessionId),a=a.sessionId===t.rootId||!a.parentId?void 0:s.get(a.parentId)}return r}function Is(t){const{roots:e,childrenOf:s}=xt(t),r=new Set;let i=0;const a=e.map(c=>({member:c,depth:0}));for(;a.length>0;){const{member:c,depth:o}=a.pop();if(!r.has(c.sessionId)){r.add(c.sessionId),i=Math.max(i,o);for(const f of s.get(c.sessionId)??[])a.push({member:f,depth:o+1})}}return i}function Cs(t){return(t+1)*le+t*de}function ks(t,e,s,{group:r=!1,stacked:i}={}){const{roots:a,childrenOf:c}=xt(t),o=Ns(t,e),f=N=>(c.get(N)??[]).filter($=>o.has($.sessionId)),g=(i==null?void 0:i.cardWidth)??le,h=[],l=[],w=[],u=new Set;let x=0,m=0;const p=N=>{const $={count:0,working:0,needsYou:0},_=new Set(u),O=[...f(N)];for(;O.length>0;){const E=O.pop();if(_.has(E.sessionId))continue;_.add(E.sessionId),$.count++;const j=he(E);j==="working"?$.working++:j==="needs-you"&&$.needsYou++,O.push(...f(E.sessionId))}return $},y=N=>f(N).filter($=>!u.has($.sessionId)),k=N=>y(N.sessionId).length===0||s.has(N.sessionId),b=(N,$,_)=>{u.add(N.sessionId);const O=y(N.sessionId),E=O.length>0&&s.has(N.sessionId),j=E?[]:O,L=r&&!i&&j.length>=st?j.filter(k):[],I=L.length>=st?L:[],A=new Set(I),S=j.filter(P=>!A.has(P)),R={member:N,depth:$,x:(_==null?void 0:_.x)??$*(i?$e:le+de),y:(_==null?void 0:_.y)??x+(S.length===0&&I.length>0?pe:0),childCount:O.length,collapsed:E,hidden:E?p(N.sessionId):{count:0,working:0,needsYou:0},context:e==="active"&&!gt(N),grouped:!!_};if(h.push(R),m=Math.max(m,R.x+g+(i&&O.length>0?Fe:0)),i){x+=ne+ve;const P=j.map(H=>b(H,$+1));return P.length>0&&l.push({parentId:N.sessionId,path:Ms(R.x,R.y,P)}),R.y}if(E){const P=R.y+ne/2;l.push({parentId:N.sessionId,path:`M${R.x+le} ${P}H${R.x+le+de/2}`})}if(_)return R.y;if(j.length===0)return x+=ne+ve,R.y;const F=S.map(P=>b(P,$+1));return I.length>0&&F.push(M(N.sessionId,I,$+1)+pe),l.push({parentId:N.sessionId,path:Ss(R.x+le,R.y,F)}),R.y},M=(N,$,_)=>{const O=Math.min(js,Math.max(2,Math.ceil(Math.sqrt($.length/1.5)))),E=Math.ceil($.length/O),j={parentId:N,x:_*(le+de),y:x,width:O*le+(O-1)*de+2*pe,height:E*ne+(E-1)*ve+2*pe};return w.push(j),$.forEach((L,I)=>b(L,_,{x:j.x+pe+I%O*(le+de),y:j.y+pe+Math.floor(I/O)*(ne+ve)})),m=Math.max(m,j.x+j.width),x+=j.height+ve,j.y};for(const N of a)!o.has(N.sessionId)||u.has(N.sessionId)||(h.length>0&&(x+=vs),b(N,0));return{orientation:i?"stacked":"across",cardWidth:g,nodes:h,edges:l,groups:w,width:m,height:Math.max(0,x-ve)}}function Ss(t,e,s){const r=e+ne/2,i=[`M${t} ${r}H${t+de}`];for(const a of s)a!==e&&i.push(wt(t,r,a+ne/2));return i.join("")}function wt(t,e,s){const r=t+de/2;return`M${r} ${e}V${s-Me}Q${r} ${s} ${r+Me} ${s}H${t+de}`}function Ms(t,e,s){return s.map(r=>bt(t,e,r)).join("")}function bt(t,e,s){const r=t+$e/2,i=s+ne/2;return`M${r} ${e+ne}V${i-Me}Q${r} ${i} ${r+Me} ${i}H${t+$e}`}function $s(t,e){const s=new Map(t.nodes.map(c=>[c.member.sessionId,c])),r=new Map(t.groups.map(c=>[c.parentId,c]));let i=e?s.get(e):void 0;const a=[];for(;i!=null&&i.member.parentId;){const c=i.member.parentId,o=s.get(c);if(!o||o.depth!==i.depth-1)break;if(t.orientation==="stacked"){a.unshift(bt(o.x,o.y,i.y)),i=o;continue}const f=o.x+le,g=o.y+ne/2,h=i.grouped?r.get(c):void 0,l=(h?h.y+pe:i.y)+ne/2;a.unshift(l===g?`M${f} ${g}H${f+de}`:`M${f} ${g}H${f+de/2}${wt(f,g,l)}`),i=o}return a.length>0?a.join(""):null}const ie=14,Pe=.25,ot=1.5,Rs=.7,Se=1.2,Ts=56,As=900,Os=.85,Es=320,Le={all:new Set,active:new Set};function Ls(t){const[e,s]=Ot(Et("crew-map-filter"),"all"),r=e==="active"?"active":"all",[i,a]=C.useState({rootId:t,folds:Le}),c=C.useRef(new Map),o=i.rootId===t?i.folds:Le,f=C.useCallback(h=>a(l=>{const w=l.rootId===t?l.folds:Le,u=new Set(w[r]);return u.delete(h)||u.add(h),{rootId:t,folds:{...w,[r]:u}}}),[r,t]),g=C.useMemo(()=>({get current(){return c.current.get(t)??null},set current(h){c.current.set(t,h)}}),[t]);return{filter:r,setFilter:s,collapsed:o[r],toggle:f,viewport:g}}function _s(t){const e=ue.c(86),{crew:s,hereId:r,controls:i,kinds:a,nameOf:c,onOpen:o}=t,[f,g]=C.useState(!1),{filter:h,collapsed:l,toggle:w}=i;let u,x,m,p,y,k,b,M,N,$,_,O,E,j,L,I;if(e[0]!==l||e[1]!==i||e[2]!==s||e[3]!==f||e[4]!==h||e[5]!==r||e[6]!==a||e[7]!==c||e[8]!==o||e[9]!==w){let U;e[26]!==s.rootId?(U=v=>v.sessionId===s.rootId,e[26]=s.rootId,e[27]=U):U=e[27];const z=s.members.find(U);let q;e[28]!==l||e[29]!==i||e[30]!==s||e[31]!==h||e[32]!==r||e[33]!==a||e[34]!==c||e[35]!==w?(q=(v,T)=>n.jsx(Ps,{crew:s,collapsed:l,groups:!v,filter:h,hereId:r,kinds:a,nameOf:c,memory:v,onOpen:T,onToggle:w,onShowAll:()=>i.setFilter("all")}),e[28]=l,e[29]=i,e[30]=s,e[31]=h,e[32]=r,e[33]=a,e[34]=c,e[35]=w,e[36]=q):q=e[36],m=q,k="flex h-full min-h-0 flex-col";let W;e[37]!==i||e[38]!==s?(W=n.jsx(at,{crew:s,controls:i}),e[37]=i,e[38]=s,e[39]=W):W=e[39];let V;e[40]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx("span",{className:"flex-1"}),e[40]=V):V=e[40];let d;e[41]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Expand the map",title:"Expand the map",onClick:()=>g(!0),children:n.jsx(ns,{"data-icon":"inline-start"})}),e[41]=d):d=e[41],e[42]!==W?(b=n.jsxs("div",{className:"flex shrink-0 items-center gap-2 px-3 pb-2",children:[W,V,d]}),e[42]=W,e[43]=b):b=e[43],e[44]!==m||e[45]!==i.viewport||e[46]!==o?(M=m(i.viewport,o),e[44]=m,e[45]=i.viewport,e[46]=o,e[47]=M):M=e[47],x=Lt,I=f,y=g,u=_t,O=!0,E="flex h-[calc(100dvh-1rem)] w-[calc(100vw-1rem)] max-w-none flex-col gap-0 overflow-hidden p-0 sm:h-[calc(100dvh-4rem)] sm:w-[calc(100vw-4rem)] sm:max-w-none",e[48]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(zt,{className:"sr-only",children:"Crew map"}),L=n.jsx(Dt,{className:"sr-only",children:"Every session in this crew, from the one that started it."}),e[48]=j,e[49]=L):(j=e[48],L=e[49]),$="flex h-12 shrink-0 items-center gap-3 pl-4 pr-14",e[50]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsx(ht,{"aria-hidden":"true",className:"size-4 shrink-0 text-muted-foreground"}),e[50]=_):_=e[50],p="min-w-0 truncate text-sm font-medium",N=z?c(z):"Crew",e[0]=l,e[1]=i,e[2]=s,e[3]=f,e[4]=h,e[5]=r,e[6]=a,e[7]=c,e[8]=o,e[9]=w,e[10]=u,e[11]=x,e[12]=m,e[13]=p,e[14]=y,e[15]=k,e[16]=b,e[17]=M,e[18]=N,e[19]=$,e[20]=_,e[21]=O,e[22]=E,e[23]=j,e[24]=L,e[25]=I}else u=e[10],x=e[11],m=e[12],p=e[13],y=e[14],k=e[15],b=e[16],M=e[17],N=e[18],$=e[19],_=e[20],O=e[21],E=e[22],j=e[23],L=e[24],I=e[25];let A;e[51]!==p||e[52]!==N?(A=n.jsx("span",{className:p,children:N}),e[51]=p,e[52]=N,e[53]=A):A=e[53];let S;e[54]===Symbol.for("react.memo_cache_sentinel")?(S=n.jsx("span",{className:"flex-1"}),e[54]=S):S=e[54];let R;e[55]!==i||e[56]!==s?(R=n.jsx(at,{crew:s,controls:i}),e[55]=i,e[56]=s,e[57]=R):R=e[57];let F;e[58]!==A||e[59]!==R||e[60]!==$||e[61]!==_?(F=n.jsxs("header",{className:$,children:[_,A,S,R]}),e[58]=A,e[59]=R,e[60]=$,e[61]=_,e[62]=F):F=e[62];let P;e[63]!==o?(P=U=>{g(!1),o(U)},e[63]=o,e[64]=P):P=e[64];let H;e[65]!==m||e[66]!==P?(H=m(null,P),e[65]=m,e[66]=P,e[67]=H):H=e[67];let D;e[68]!==u||e[69]!==F||e[70]!==H||e[71]!==O||e[72]!==E||e[73]!==j||e[74]!==L?(D=n.jsxs(u,{showCloseButton:O,className:E,children:[j,L,F,H]}),e[68]=u,e[69]=F,e[70]=H,e[71]=O,e[72]=E,e[73]=j,e[74]=L,e[75]=D):D=e[75];let Y;e[76]!==x||e[77]!==y||e[78]!==D||e[79]!==I?(Y=n.jsx(x,{open:I,onOpenChange:y,children:D}),e[76]=x,e[77]=y,e[78]=D,e[79]=I,e[80]=Y):Y=e[80];let K;return e[81]!==k||e[82]!==b||e[83]!==M||e[84]!==Y?(K=n.jsxs("div",{className:k,children:[b,M,Y]}),e[81]=k,e[82]=b,e[83]=M,e[84]=Y,e[85]=K):K=e[85],K}function at(t){const e=ue.c(3),{crew:s,controls:r}=t;let i;if(e[0]!==r||e[1]!==s){const a=ys(s),c=[{id:"all",label:"All",count:a.all,hint:"Every session in the crew"},{id:"active",label:"Active",count:a.active,hint:"Sessions working or waiting on you, and the sessions that started them"}];i=n.jsx("div",{role:"radiogroup","aria-label":"Show on the map",className:"flex shrink-0 gap-0.5 rounded-full border bg-background p-0.5",children:c.map(o=>{const{id:f,label:g,count:h,hint:l}=o;return n.jsxs("button",{type:"button",role:"radio","aria-checked":r.filter===f,"aria-label":`${g}, ${vt(h)}`,title:l,onClick:()=>r.setFilter(f),className:oe("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",r.filter===f&&"bg-accent text-foreground"),children:[g,n.jsx("span",{className:"tabular-nums text-muted-foreground",children:h})]},f)})}),e[0]=r,e[1]=s,e[2]=i}else i=e[2];return i}function vt(t){return`${t} ${t===1?"session":"sessions"}`}function _e(t,e,s){return t.orientation==="stacked"?{scale:e,left:ie,top:ie}:{scale:e,left:Math.max(ie,(s.width-t.width*e)/2),top:Math.max(ie,Math.min((s.height-t.height*e)/2,s.height*.12))}}function zs(t,e,s){return{width:Math.max(s.width,e.left+t.width*e.scale+ie),height:Math.max(s.height,e.top+t.height*e.scale+Ts)}}function lt(t,e,{widthOnly:s=!1}={}){if(t.width===0||e.width===0)return 1;const r=(e.width-2*ie)/t.width,i=s?r:Math.min(r,(e.height-2*ie)/t.height);return Ye(i,Pe,1)}const Ye=(t,e,s)=>Math.min(s,Math.max(e,t));function Ds(t,e,s,r,i){var w;const a=new Map(e.layout.nodes.map(u=>[u.member.sessionId,u])),c=new Map(s.nodes.map(u=>[u.member.sessionId,u]));if(e.frame===r&&a.size===c.size&&s.nodes.every(u=>{const x=a.get(u.member.sessionId);return x!==void 0&&x.x===u.x&&x.y===u.y}))return null;const f=u=>({x:e.frame.left+u.x*e.frame.scale-t.left,y:e.frame.top+u.y*e.frame.scale-t.top}),g=i&&a.has(i)&&c.has(i)?i:(w=e.layout.nodes.filter(u=>c.has(u.member.sessionId)).map(u=>({node:u,screen:f(u)})).filter(({screen:u})=>u.y+ne*e.frame.scale>0&&u.x+e.layout.cardWidth*e.frame.scale>0).sort((u,x)=>u.screen.y-x.screen.y||u.screen.x-x.screen.x)[0])==null?void 0:w.node.member.sessionId;if(!g)return null;const h=f(a.get(g)),l=c.get(g);return{left:r.left+l.x*r.scale-h.x,top:r.top+l.y*r.scale-h.y}}function Fs(t,e,s,r){const i=new Map(t.nodes.map(x=>[x.member.sessionId,x])),a=e?i.get(e):void 0;if(!a)return{left:0,top:0};const{scale:c}=s,o=s.left+a.x*c,f=s.top+a.y*c,g=o+t.cardWidth*c,h=f+ne*c;if(g<=r.clientWidth&&h<=r.clientHeight)return{left:0,top:0};const l=a.member.parentId&&i.get(a.member.parentId)||a;let w=s.left+Math.min(l.x,a.x)*c-ie,u=s.top+Math.min(l.y,a.y)*c-ie;return g-w>r.clientWidth&&(w=o-ie),h-u>r.clientHeight&&(u=f-r.clientHeight/3),{left:Math.max(0,w),top:Math.max(0,u)}}function Ps({crew:t,collapsed:e,groups:s,filter:r,hereId:i,kinds:a,nameOf:c,memory:o,onOpen:f,onToggle:g,onShowAll:h}){const l=C.useRef(null),[w,u]=C.useState({width:0,height:0}),x=s&&w.width>=As,m=C.useMemo(()=>Is(t),[t]),p=w.width-2*ie,y=!s&&w.width>0&&Cs(m)*Os>p,k=y?Ye(p-m*$e-Fe,le,Es):le,b=C.useMemo(()=>ks(t,r,e,{group:x,...y&&{stacked:{cardWidth:k}}}),[t,r,e,x,y,k]),[M,N]=C.useState(()=>{var d;return((d=o==null?void 0:o.current)==null?void 0:d.frame)??{scale:1,left:ie,top:ie}}),[$,_]=C.useState(!1),O=C.useRef(null),E=C.useRef(null),j=C.useRef({left:0,top:0}),L=C.useRef(null),I=C.useRef(null),A=zs(b,M,w),{scale:S}=M;C.useLayoutEffect(()=>{const d=l.current;if(!d)return;const v=()=>u(X=>X.width===d.clientWidth&&X.height===d.clientHeight?X:{width:d.clientWidth,height:d.clientHeight});v();const T=new ResizeObserver(v);return T.observe(d),()=>T.disconnect()},[]);const R=C.useCallback(d=>{const v=l.current;o&&v&&(o.current={frame:d,left:v.scrollLeft,top:v.scrollTop})},[o]),F=C.useCallback((d,v)=>{O.current={frame:d,scroll:v},N(d)},[]),P=C.useCallback(d=>{const v=_e(d,Math.max(lt(d,w,{widthOnly:!0}),Rs),w);F(v,()=>{const T=l.current;return T?Fs(d,i,v,T):{left:0,top:0}})},[F,i,w]);C.useLayoutEffect(()=>{const d=l.current;if(w.width===0||!d)return;const v=L.current;if(v){if(v.filter!==r||v.layout.orientation!==b.orientation)P(b);else if(v.layout!==b){const T=Ds(j.current,v,b,M,E.current);T&&(d.scrollLeft=T.left,d.scrollTop=T.top,j.current={left:d.scrollLeft,top:d.scrollTop})}}else{const T=o==null?void 0:o.current;T?F(T.frame,()=>({left:T.left,top:T.top})):P(b)}E.current=null,L.current={layout:b,filter:r,frame:M}}),C.useLayoutEffect(()=>{const d=O.current,v=l.current;if(!d||!v||d.frame!==M)return;O.current=null;const{left:T,top:X}=d.scroll();v.scrollLeft=T,v.scrollTop=X,j.current={left:v.scrollLeft,top:v.scrollTop},R(M)});const H=C.useRef(i);C.useEffect(()=>{var d,v;H.current!==i&&(H.current=i,i&&((v=(d=l.current)==null?void 0:d.querySelector(`[data-crew-map-card="${CSS.escape(i)}"]`))==null||v.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"})))},[i]);const D=C.useCallback((d,v)=>{var ce;const T=l.current,X=((ce=O.current)==null?void 0:ce.frame.scale)??S,ae=Ye(X*d,Pe,ot);if(!T||ae===X)return;const J=T.getBoundingClientRect(),Q=v?v.clientX-J.left:T.clientWidth/2,ee=v?v.clientY-J.top:T.clientHeight/2,se=(T.scrollLeft+Q-M.left)/S,re=(T.scrollTop+ee-M.top)/S,Z=_e(b,ae,w);F(Z,()=>({left:Z.left+se*Z.scale-Q,top:Z.top+re*Z.scale-ee}))},[F,M.left,M.top,b,S,w]),Y=C.useRef(D);C.useLayoutEffect(()=>{Y.current=D}),C.useEffect(()=>{const d=l.current;if(!d)return;const v=T=>{!T.ctrlKey&&!T.metaKey||(T.preventDefault(),Y.current(Math.exp(-T.deltaY*.01),T))};return d.addEventListener("wheel",v,{passive:!1}),()=>d.removeEventListener("wheel",v)},[]);const K=d=>{const v=l.current;!v||d.pointerType!=="mouse"||d.button!==0||d.target.closest("button")||(I.current={pointerId:d.pointerId,x:d.clientX,y:d.clientY,left:v.scrollLeft,top:v.scrollTop},v.setPointerCapture(d.pointerId),_(!0))},U=d=>{const v=I.current,T=l.current;!v||!T||v.pointerId!==d.pointerId||(T.scrollLeft=v.left-(d.clientX-v.x),T.scrollTop=v.top-(d.clientY-v.y))},z=d=>{var v,T;((v=I.current)==null?void 0:v.pointerId)===d.pointerId&&(I.current=null,(T=l.current)==null||T.releasePointerCapture(d.pointerId),_(!1))},q=C.useMemo(()=>$s(b,i),[b,i]),W=b.nodes.length===0,V=b.orientation==="stacked"?b.cardWidth+Fe/2:le+de/2;return n.jsxs("div",{className:"relative min-h-0 flex-1 border-t",children:[n.jsx("div",{ref:l,role:"region","aria-label":"Crew map","data-crew-map-layout":b.orientation,onScroll:d=>{j.current={left:d.currentTarget.scrollLeft,top:d.currentTarget.scrollTop},O.current||R(M)},onPointerDown:K,onPointerMove:U,onPointerUp:z,onPointerCancel:z,onKeyDown:d=>{d.target===d.currentTarget&&(d.key==="+"||d.key==="="?D(Se):d.key==="-"&&D(1/Se))},tabIndex:-1,className:oe("absolute inset-0 overflow-auto overscroll-contain outline-none [touch-action:pan-x_pan-y]","bg-muted/30 bg-local bg-[radial-gradient(circle,var(--border)_1px,transparent_1px)] bg-size-[18px_18px]",$?"cursor-grabbing select-none":"cursor-grab"),children:W?n.jsxs(rt,{className:"h-full",children:[n.jsxs(ct,{children:[n.jsx(dt,{children:"Nothing is active"}),n.jsx(ut,{className:"text-xs",children:"No session in this crew is working or waiting on you."})]}),n.jsx(te,{variant:"outline",size:"xs",onClick:h,children:"Show all sessions"})]}):n.jsx("div",{className:"relative",style:{width:A.width,height:A.height},children:n.jsxs("div",{className:"absolute origin-top-left",style:{left:M.left,top:M.top,width:b.width,height:b.height,transform:`scale(${S})`},children:[b.groups.map(d=>n.jsx("div",{"aria-hidden":"true",className:"absolute rounded-xl border border-dashed border-muted-foreground/25 bg-muted/25",style:{left:d.x,top:d.y,width:d.width,height:d.height}},d.parentId)),n.jsxs("svg",{"aria-hidden":"true",width:b.width,height:b.height,className:"pointer-events-none absolute inset-0 overflow-visible",fill:"none",children:[b.edges.map(d=>n.jsx("path",{d:d.path,className:"stroke-muted-foreground/35",strokeWidth:1.25},d.parentId)),q&&n.jsx("path",{d:q,className:"stroke-foreground/55",strokeWidth:1.5})]}),n.jsx("ul",{"aria-label":"Sessions",className:"absolute inset-0",children:b.nodes.map(d=>n.jsx(Hs,{node:d,width:b.cardWidth,toggleLeft:V,here:d.member.sessionId===i,kind:a.get(d.member.sessionId),name:c(d.member),onOpen:f,onToggle:v=>{E.current=v,g(v)}},d.member.sessionId))})]})})}),!W&&n.jsxs("div",{className:"absolute bottom-2.5 right-2.5 flex items-center gap-0.5 rounded-lg border bg-popover p-0.5 shadow-sm",children:[n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Zoom out",title:"Zoom out",disabled:S<=Pe,onClick:()=>D(1/Se),children:n.jsx(mt,{"data-icon":"inline-start"})}),n.jsxs(te,{variant:"ghost",size:"xs","aria-label":"Actual size",title:"Actual size",className:"min-w-11 px-1 tabular-nums text-muted-foreground",onClick:()=>D(1/S),children:[Math.round(S*100),"%"]}),n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Zoom in",title:"Zoom in",disabled:S>=ot,onClick:()=>D(Se),children:n.jsx(os,{"data-icon":"inline-start"})}),n.jsx("span",{className:"mx-0.5 h-4 w-px bg-border","aria-hidden":"true"}),n.jsx(te,{variant:"ghost",size:"xs",title:"Fit the whole crew on screen",className:"px-1.5 text-muted-foreground",onClick:()=>F(_e(b,lt(b,w),w),()=>({left:0,top:0})),children:"Fit"})]})]})}const Ys={"needs-you":"border-warning/60 bg-[color-mix(in_oklch,var(--warning)_7%,var(--card))]",failed:"border-destructive/45",unreachable:"border-dashed"},qs={"needs-you":"text-warning",failed:"text-destructive"};function Ws(t){var s,r;const e=(s=t.pullRequests)==null?void 0:s.at(-1);return[t.model&&qe(t.model),(r=t.device)==null?void 0:r.name,e&&`#${e.number}`,t.lastActivityAt&&We(t.lastActivityAt)].filter(Boolean).join(" · ")}function Hs(t){const e=ue.c(75),{node:s,width:r,toggleLeft:i,here:a,kind:c,name:o,onOpen:f,onToggle:g}=t,{member:h}=s;let l;e[0]!==h?(l=he(h),e[0]=h,e[1]=l):l=e[1];const w=l;let u;e[2]!==h?(u=Ie(h),e[2]=h,e[3]=u):u=e[3];const x=u;let m;e[4]!==c?(m=c?Ft(c):as,e[4]=c,e[5]=m):m=e[5];const p=m;let y;e[6]!==h?(y=Ws(h),e[6]=h,e[7]=y):y=e[7];const k=y,b=s.context&&"shown because a session it started is active";let M;e[8]!==x||e[9]!==o||e[10]!==b?(M=[o,x,b].filter(Boolean),e[8]=x,e[9]=o,e[10]=b,e[11]=M):M=e[11];const N=M.join(", ");let $;e[12]!==s.x||e[13]!==s.y||e[14]!==r?($={left:s.x,top:s.y,width:r,height:ne},e[12]=s.x,e[13]=s.y,e[14]=r,e[15]=$):$=e[15];const _=h.sessionId,O=a?"true":void 0;let E;e[16]!==h||e[17]!==f?(E=()=>f(h),e[16]=h,e[17]=f,e[18]=E):E=e[18];const j=Ys[w],L=a&&"outline-solid outline-[1.5px] outline-offset-2 outline-foreground/70",I=s.context&&"opacity-60 hover:opacity-100 focus-visible:opacity-100";let A;e[19]!==j||e[20]!==L||e[21]!==I?(A=oe("flex size-full cursor-pointer flex-col justify-center gap-1 rounded-lg border bg-card px-2.5 py-2 text-left shadow-xs outline-none","transition-[border-color,opacity,box-shadow] hover:border-foreground/25 hover:shadow-sm focus-visible:ring-2 focus-visible:ring-ring",j,L,I),e[19]=j,e[20]=L,e[21]=I,e[22]=A):A=e[22];let S;e[23]!==N||e[24]!==h.sessionId||e[25]!==w||e[26]!==E||e[27]!==A||e[28]!==O?(S=n.jsx("button",{type:"button","data-crew-map-card":_,"data-crew-map-state":w,"aria-current":O,"aria-label":N,onClick:E,className:A}),e[23]=N,e[24]=h.sessionId,e[25]=w,e[26]=E,e[27]=A,e[28]=O,e[29]=S):S=e[29];let R;e[30]!==p?(R=n.jsx(p,{"aria-hidden":"true",className:"mt-[3px] size-3.5 shrink-0 text-muted-foreground"}),e[30]=p,e[31]=R):R=e[31];let F;e[32]!==o?(F=n.jsx("span",{className:"line-clamp-2 min-w-0 flex-1 text-[13px]/[18px] font-medium",children:o}),e[32]=o,e[33]=F):F=e[33];let P;e[34]!==R||e[35]!==F?(P=n.jsxs("span",{className:"flex min-w-0 items-start gap-1.5",children:[R,F]}),e[34]=R,e[35]=F,e[36]=P):P=e[36];const H=fe[w];let D;e[37]!==H?(D=oe("size-1.5 shrink-0 rounded-full",H),e[37]=H,e[38]=D):D=e[38];let Y;e[39]!==D?(Y=n.jsx("span",{className:D,"aria-hidden":"true"}),e[39]=D,e[40]=Y):Y=e[40];let K;e[41]!==h||e[42]!==w?(K=Re(h)?"text-warning":qs[w],e[41]=h,e[42]=w,e[43]=K):K=e[43];let U;e[44]!==K?(U=oe("min-w-0 truncate text-muted-foreground",K),e[44]=K,e[45]=U):U=e[45];let z;e[46]!==x||e[47]!==U?(z=n.jsx("span",{className:U,children:x}),e[46]=x,e[47]=U,e[48]=z):z=e[48];let q;e[49]!==Y||e[50]!==z?(q=n.jsxs("span",{className:"flex min-w-0 items-center gap-1.5 text-xs",children:[Y,z]}),e[49]=Y,e[50]=z,e[51]=q):q=e[51];let W;e[52]!==a||e[53]!==k?(W=(k||a)&&n.jsxs("span",{className:"flex min-w-0 items-center gap-1.5 text-[11.5px] tabular-nums text-muted-foreground/75",children:[n.jsx("span",{className:"min-w-0 flex-1 truncate",children:k}),a&&n.jsx("span",{className:"shrink-0 font-medium text-foreground/70",children:"You are here"})]}),e[52]=a,e[53]=k,e[54]=W):W=e[54];let V;e[55]!==S||e[56]!==P||e[57]!==q||e[58]!==W?(V=n.jsxs(Pt,{delay:700,render:S,children:[P,q,W]}),e[55]=S,e[56]=P,e[57]=q,e[58]=W,e[59]=V):V=e[59];let d;e[60]!==h||e[61]!==o?(d=n.jsx(Yt,{side:"left",align:"start",className:"max-w-72",children:n.jsx(Bs,{member:h,name:o})}),e[60]=h,e[61]=o,e[62]=d):d=e[62];let v;e[63]!==V||e[64]!==d?(v=n.jsxs(qt,{children:[V,d]}),e[63]=V,e[64]=d,e[65]=v):v=e[65];let T;e[66]!==o||e[67]!==s||e[68]!==g||e[69]!==i?(T=s.childCount>0&&n.jsx(Us,{node:s,name:o,left:i,onToggle:g}),e[66]=o,e[67]=s,e[68]=g,e[69]=i,e[70]=T):T=e[70];let X;return e[71]!==v||e[72]!==T||e[73]!==$?(X=n.jsxs("li",{className:"group/node absolute",style:$,children:[v,T]}),e[71]=v,e[72]=T,e[73]=$,e[74]=X):X=e[74],X}function Us(t){const e=ue.c(25),{node:s,name:r,left:i,onToggle:a}=t,{collapsed:c,hidden:o}=s;let f=null;o.needsYou>0?f="needs-you":o.working>0&&(f="working");let g;e[0]!==c||e[1]!==o.count||e[2]!==o.needsYou||e[3]!==o.working||e[4]!==r?(g=c?[`Show the ${vt(o.count)} under ${r}`,o.needsYou>0&&`${o.needsYou} waiting on you`,o.working>0&&`${o.working} working`].filter(Boolean).join(", "):`Fold the sessions under ${r}`,e[0]=c,e[1]=o.count,e[2]=o.needsYou,e[3]=o.working,e[4]=r,e[5]=g):g=e[5];const h=g,l=!c,w=c?void 0:"Fold";let u;e[6]!==s.member.sessionId||e[7]!==a?(u=()=>a(s.member.sessionId),e[6]=s.member.sessionId,e[7]=a,e[8]=u):u=e[8];const x=!c&&"opacity-0 group-hover/node:opacity-100 focus-visible:opacity-100 [@media(hover:none)]:opacity-100";let m;e[9]!==x?(m=oe("absolute z-10 flex h-5 min-w-5 -translate-x-1/2 -translate-y-1/2 cursor-pointer items-center justify-center gap-1 rounded-full border bg-card px-1.5 text-[11px] font-medium tabular-nums text-muted-foreground shadow-xs outline-none","transition-opacity hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",x),e[9]=x,e[10]=m):m=e[10];let p;e[11]!==i?(p={left:i,top:ne/2},e[11]=i,e[12]=p):p=e[12];let y;e[13]!==f||e[14]!==c||e[15]!==o.count?(y=c?n.jsxs(n.Fragment,{children:[f&&n.jsx("span",{className:oe("size-1.5 rounded-full",fe[f]),"aria-hidden":"true"}),"+",o.count]}):n.jsx(mt,{"aria-hidden":"true",className:"size-3"}),e[13]=f,e[14]=c,e[15]=o.count,e[16]=y):y=e[16];let k;return e[17]!==h||e[18]!==l||e[19]!==w||e[20]!==u||e[21]!==m||e[22]!==p||e[23]!==y?(k=n.jsx("button",{type:"button","aria-expanded":l,"aria-label":h,title:w,onClick:u,className:m,style:p,children:y}),e[17]=h,e[18]=l,e[19]=w,e[20]=u,e[21]=m,e[22]=p,e[23]=y,e[24]=k):k=e[24],k}function Bs(t){var u,x;const e=ue.c(35),{member:s,name:r}=t;let i;e[0]!==s.firstUserMessage?(i=(u=s.firstUserMessage)==null?void 0:u.replace(/\s+/g," ").trim(),e[0]=s.firstUserMessage,e[1]=i):i=e[1];const a=i;let c;e[2]!==s.cwd?(c=(x=s.cwd)==null?void 0:x.split(/[\\/]/).filter(Boolean).at(-1),e[2]=s.cwd,e[3]=c):c=e[3];const o=c;let f;if(e[4]!==o||e[5]!==s.device||e[6]!==s.model||e[7]!==s.startedAt||e[8]!==s.turnCount){if(f=[],s.model){let m;e[10]!==s.model?(m=qe(s.model),e[10]=s.model,e[11]=m):m=e[11];let p;e[12]!==m?(p=["Model",m],e[12]=m,e[13]=p):p=e[13],f.push(p)}if(s.device){let m;e[14]!==s.device.name?(m=["Device",s.device.name],e[14]=s.device.name,e[15]=m):m=e[15],f.push(m)}if(o){let m;e[16]!==o?(m=["Folder",o],e[16]=o,e[17]=m):m=e[17],f.push(m)}if(s.startedAt){let m;e[18]!==s.startedAt?(m=pt(s.startedAt),e[18]=s.startedAt,e[19]=m):m=e[19];let p;e[20]!==m?(p=["Started",m],e[20]=m,e[21]=p):p=e[21],f.push(p)}if(s.turnCount){const m=String(s.turnCount);let p;e[22]!==m?(p=["Turns",m],e[22]=m,e[23]=p):p=e[23],f.push(p)}e[4]=o,e[5]=s.device,e[6]=s.model,e[7]=s.startedAt,e[8]=s.turnCount,e[9]=f}else f=e[9];let g;e[24]!==r?(g=n.jsx("p",{className:"font-medium",children:r}),e[24]=r,e[25]=g):g=e[25];let h;e[26]!==r||e[27]!==a?(h=a&&a!==r&&n.jsx("p",{className:"line-clamp-3 text-muted-foreground",children:a}),e[26]=r,e[27]=a,e[28]=h):h=e[28];let l;e[29]!==f?(l=f.length>0&&n.jsx("dl",{className:"grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-0.5",children:f.map(Ks)}),e[29]=f,e[30]=l):l=e[30];let w;return e[31]!==g||e[32]!==h||e[33]!==l?(w=n.jsxs("div",{className:"flex flex-col gap-1.5 py-0.5",children:[g,h,l]}),e[31]=g,e[32]=h,e[33]=l,e[34]=w):w=e[34],w}function Ks(t){const[e,s]=t;return n.jsxs("div",{className:"contents",children:[n.jsx("dt",{className:"text-muted-foreground",children:e}),n.jsx("dd",{className:"truncate tabular-nums",children:s})]},e)}const Gs=4e3;function Vs(t){var m;const[e,s]=C.useState(null),[r,i]=C.useState(null),[a,c]=C.useState(new Set),o=(m=Wt())==null?void 0:m.refresh,f=C.useRef(t),g=C.useRef(new Set);C.useLayoutEffect(()=>(f.current=t,()=>{f.current=null}),[t]);const h=C.useCallback(async p=>{if(t)try{const y=await ze(`/api/session-crew/${encodeURIComponent(t)}`);if(!p())return;if(!y.ok){i(y.status===404?"This session is no longer available.":"Couldn't load the crew.");return}const k=await y.json();if(!p())return;s(b=>JSON.stringify(b)===JSON.stringify(k)?b:k),i(null)}catch{p()&&i("Couldn't load the crew.")}},[t]);it(t?h:null,Gs),C.useEffect(()=>{s(p=>p!=null&&p.members.some(y=>y.sessionId===t)?p:null),i(null),c(new Set)},[t]);const l=C.useCallback(async(p,y,k)=>{const b=`${t}:${p}`;if(g.current.has(b))return;const M=()=>f.current===t;g.current.add(b),c(N=>new Set(N).add(p));try{const N=await y();if(!M())return;if(!N.ok&&N.status!==404){i(k);return}o==null||o(),await h(M)}catch{M()&&i(k)}finally{g.current.delete(b),M()&&c(N=>{const $=new Set(N);return $.delete(p),$})}},[h,o,t]),w=C.useCallback((p,y,k)=>l(y,()=>je("/api/session-respond",{sessionId:p,requestId:y,...k}),"Couldn't send the answer."),[l]),u=C.useCallback((p,y)=>l(y,()=>je("/api/delegated-tasks",{sessionId:p,taskId:y,action:"ack"}),"Couldn't mark the result read."),[l]),x=C.useCallback(p=>l(p.sessionId,()=>{var y;return((y=p.result)==null?void 0:y.state)==="running"&&p.parentId?je("/api/delegated-tasks",{sessionId:p.parentId,taskId:p.result.taskId,action:"cancel"}):je("/api/stop-session",{sessionId:p.sessionId,cancelQueued:!0})},"Couldn't stop the session."),[l]);return{crew:e,error:r,busy:a,respond:w,markRead:u,stop:x}}const Xs=[{id:"all",label:"All"},{id:"working",label:"Working"},{id:"needs-you",label:"Need you"},{id:"done",label:"Done"}],Zs={working:"bg-success shadow-[0_0_0_2px_color-mix(in_oklch,var(--success)_25%,transparent)]","needs-you":"bg-warning",done:"bg-muted-foreground/40",failed:"bg-destructive",unreachable:"border border-muted-foreground/50"};function fn(t){var U;const e=ue.c(40),{context:s,closePanel:r}=t,i=((U=s.session)==null?void 0:U.sessionId)??null,{crew:a,error:c,busy:o,respond:f,markRead:g,stop:h}=Vs(i),{names:l}=Ht(),[w,u]=C.useState("overview");let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=new Set,e[0]=x):x=e[0];const[m,p]=C.useState(x),y=Ls((a==null?void 0:a.rootId)??"");let k;e[1]!==(a==null?void 0:a.members)?(k=new Map(((a==null?void 0:a.members)??[]).map(Qs)),e[1]=a==null?void 0:a.members,e[2]=k):k=e[2];const b=k;let M;e[3]!==(a==null?void 0:a.members)?(M=new Map(((a==null?void 0:a.members)??[]).flatMap(Js)),e[3]=a==null?void 0:a.members,e[4]=M):M=e[4];const N=M;let $;e[5]!==b||e[6]!==l?($=z=>gs(z,b,l),e[5]=b,e[6]=l,e[7]=$):$=e[7];const _=$;let O;e[8]!==s?(O=z=>{z.address&&z.device?Xt(Zt(z.address.dirName,z.address.fileName,z.device.id)):z.address&&s.openSession?s.openSession(z.address.dirName,z.address.fileName):Jt(z.sessionId)},e[8]=s,e[9]=O):O=e[9];const E=O;let j;e[10]===Symbol.for("react.memo_cache_sentinel")?(j=z=>p(q=>{const W=new Set(q);return W.delete(z)||W.add(z),W}),e[10]=j):j=e[10];const L=j;let I;e[11]!==b?(I=z=>{p(q=>{var v;const W=new Set(q),V=new Set;let d=z.parentId;for(;d&&!V.has(d);)V.add(d),W.delete(d),d=((v=b.get(d))==null?void 0:v.parentId)??null;return W}),requestAnimationFrame(()=>{var q;return(q=document.querySelector(`[data-crew-row="${z.sessionId}"]`))==null?void 0:q.scrollIntoView({block:"nearest",behavior:"smooth"})})},e[11]=b,e[12]=I):I=e[12];const A=I;let S,R,F;e[13]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx(ht,{"aria-hidden":"true",className:"size-4 text-muted-foreground"}),F=n.jsx("h2",{className:"text-sm font-medium",children:"Crew"}),S=n.jsx("div",{className:"flex-1"}),e[13]=S,e[14]=R,e[15]=F):(S=e[13],R=e[14],F=e[15]);let P;e[16]===Symbol.for("react.memo_cache_sentinel")?(P=n.jsx(cs,{"data-icon":"inline-start"}),e[16]=P):P=e[16];let H;e[17]!==r?(H=n.jsxs("div",{className:"flex h-10 shrink-0 items-center gap-2 px-3",children:[R,F,S,n.jsx(te,{variant:"ghost",size:"icon-sm",onClick:r,"aria-label":"Close crew",children:P})]}),e[17]=r,e[18]=H):H=e[18];let D;e[19]!==c?(D=c&&n.jsx("p",{role:"alert",className:"px-3 pb-2 text-xs text-destructive",children:c}),e[19]=c,e[20]=D):D=e[20];let Y;e[21]!==o||e[22]!==m||e[23]!==a||e[24]!==c||e[25]!==N||e[26]!==y||e[27]!==g||e[28]!==_||e[29]!==E||e[30]!==f||e[31]!==A||e[32]!==i||e[33]!==h||e[34]!==w?(Y=a?n.jsxs(Ut,{value:w,onValueChange:u,className:"min-h-0 flex-1 grid-rows-[auto_minmax(0,1fr)]",children:[n.jsxs(Bt,{variant:"line",className:"mx-3 mb-1",children:[n.jsx(Ae,{value:"overview",children:"Overview"}),n.jsx(Ae,{value:"map",children:"Map"}),n.jsx(Ae,{value:"chat",children:"Chat"})]}),n.jsx(Oe,{value:"overview",className:"min-h-0",children:n.jsxs(ft,{className:"h-full min-h-0",children:[n.jsx(en,{crew:a,hereId:i,nameOf:_,onOpen:E,onReveal:A}),n.jsx(sn,{crew:a,busy:o,nameOf:_,onOpen:E,onRespond:f}),n.jsx(nn,{crew:a,hereId:i,busy:o,nameOf:_,onOpen:E,onMarkRead:g,onStop:h,collapsed:m,onToggle:L})]})}),n.jsx(Oe,{value:"map",className:"min-h-0",children:n.jsx(_s,{crew:a,hereId:i,controls:y,kinds:N,nameOf:_,onOpen:E})}),n.jsx(Oe,{value:"chat",keepMounted:!0,className:"min-h-0",children:n.jsx(hs,{rootId:a.rootId,kinds:N,active:w==="chat"},a.rootId)})]}):!c&&n.jsx("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Loading the crew…"}),e[21]=o,e[22]=m,e[23]=a,e[24]=c,e[25]=N,e[26]=y,e[27]=g,e[28]=_,e[29]=E,e[30]=f,e[31]=A,e[32]=i,e[33]=h,e[34]=w,e[35]=Y):Y=e[35];let K;return e[36]!==H||e[37]!==D||e[38]!==Y?(K=n.jsxs("aside",{"aria-label":"Crew",className:"flex size-full min-h-0 flex-col bg-canvas",children:[H,D,Y]}),e[36]=H,e[37]=D,e[38]=Y,e[39]=K):K=e[39],K}function Js(t){return t.address?[[t.sessionId,Kt(t.address.dirName)]]:[]}function Qs(t){return[t.sessionId,t]}function en(t){var M;const e=ue.c(46),{crew:s,hereId:r,nameOf:i,onOpen:a,onReveal:c}=t;let o,f,g,h,l;if(e[0]!==s||e[1]!==r||e[2]!==i||e[3]!==a||e[4]!==c){let N;e[10]!==s.rootId?(N=S=>S.sessionId===s.rootId,e[10]=s.rootId,e[11]=N):N=e[11];const $=s.members.find(N),_=s.members.filter(tn);let O;e[12]!==s?(O=bs(s),e[12]=s,e[13]=O):O=e[13],l=O;const E=(M=_[0])==null?void 0:M.startedAt;o="Crew summary",f="border-b px-3 pb-3 pt-1";const j=$&&n.jsx("button",{type:"button",onClick:()=>a($),"aria-current":$.sessionId===r?"true":void 0,className:"min-w-0 flex-1 truncate rounded-sm text-left text-sm font-medium outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring",children:i($)}),L=l.size===1?"session":"sessions",I=E?` · since ${pt(E)}`:"";let A;e[14]!==L||e[15]!==I||e[16]!==l.size?(A=n.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-muted-foreground",children:[l.size," ",L,I]}),e[14]=L,e[15]=I,e[16]=l.size,e[17]=A):A=e[17],e[18]!==A||e[19]!==j?(g=n.jsxs("div",{className:"flex items-baseline gap-2",children:[j,A]}),e[18]=A,e[19]=j,e[20]=g):g=e[20],h=_.length>0&&n.jsx("div",{"data-crew-strip":!0,className:"mt-2.5 grid grid-cols-[repeat(auto-fit,minmax(6px,1fr))] gap-[3px]",role:"list","aria-label":"One cell per session, in the order they were started",children:_.map(S=>{const R=he(S);return n.jsx("button",{type:"button",role:"listitem","data-crew-cell":R,title:`${i(S)}: ${Ie(S)}`,"aria-label":`${i(S)}: ${Ie(S)}`,onClick:()=>c(S),className:oe("h-2.5 rounded-[2px] outline-none focus-visible:ring-2 focus-visible:ring-ring",Zs[R],S.sessionId===r&&"outline outline-[1.5px] outline-offset-2 outline-foreground")},S.sessionId)})}),e[0]=s,e[1]=r,e[2]=i,e[3]=a,e[4]=c,e[5]=o,e[6]=f,e[7]=g,e[8]=h,e[9]=l}else o=e[5],f=e[6],g=e[7],h=e[8],l=e[9];let w;e[21]!==l.working?(w=l.working>0&&n.jsx(Ne,{dot:fe.working,value:l.working,label:"working"}),e[21]=l.working,e[22]=w):w=e[22];let u;e[23]!==l.needsYou?(u=l.needsYou>0&&n.jsx(Ne,{dot:fe["needs-you"],value:l.needsYou,label:l.needsYou===1?"needs you":"need you"}),e[23]=l.needsYou,e[24]=u):u=e[24];let x;e[25]!==l.done?(x=l.done>0&&n.jsx(Ne,{dot:fe.done,value:l.done,label:"done"}),e[25]=l.done,e[26]=x):x=e[26];let m;e[27]!==l.failed?(m=l.failed>0&&n.jsx(Ne,{dot:fe.failed,value:l.failed,label:"failed"}),e[27]=l.failed,e[28]=m):m=e[28];let p;e[29]!==l.unreachable?(p=l.unreachable>0&&n.jsx(Ne,{dot:fe.unreachable,value:l.unreachable,label:"away"}),e[29]=l.unreachable,e[30]=p):p=e[30];let y;e[31]!==l.unreadResults?(y=l.unreadResults>0&&n.jsxs("span",{className:"ml-auto text-warning",children:[n.jsx("span",{className:"font-medium tabular-nums",children:l.unreadResults})," ",l.unreadResults===1?"result":"results"," unread"]}),e[31]=l.unreadResults,e[32]=y):y=e[32];let k;e[33]!==y||e[34]!==w||e[35]!==u||e[36]!==x||e[37]!==m||e[38]!==p?(k=n.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-x-3.5 gap-y-1 text-xs text-muted-foreground",children:[w,u,x,m,p,y]}),e[33]=y,e[34]=w,e[35]=u,e[36]=x,e[37]=m,e[38]=p,e[39]=k):k=e[39];let b;return e[40]!==o||e[41]!==k||e[42]!==f||e[43]!==g||e[44]!==h?(b=n.jsxs("section",{"aria-label":o,className:f,children:[g,h,k]}),e[40]=o,e[41]=k,e[42]=f,e[43]=g,e[44]=h,e[45]=b):b=e[45],b}function tn(t){return t.parentId!==null}function Ne(t){const e=ue.c(10),{dot:s,value:r,label:i}=t;let a;e[0]!==s?(a=oe("size-1.5 rounded-full",s),e[0]=s,e[1]=a):a=e[1];let c;e[2]!==a?(c=n.jsx("span",{className:a,"aria-hidden":"true"}),e[2]=a,e[3]=c):c=e[3];let o;e[4]!==r?(o=n.jsx("span",{className:"font-medium tabular-nums text-foreground",children:r}),e[4]=r,e[5]=o):o=e[5];let f;return e[6]!==i||e[7]!==c||e[8]!==o?(f=n.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[c,o," ",i]}),e[6]=i,e[7]=c,e[8]=o,e[9]=f):f=e[9],f}function sn(t){const e=ue.c(6),{crew:s,busy:r,nameOf:i,onOpen:a,onRespond:c}=t,o=ws(s),[f,g]=C.useState(0);if(o.length===0)return null;const h=Math.min(f,o.length-1),{member:l,pending:w}=o[h],u=o[h+1];let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx("h3",{className:"text-sm font-medium text-foreground",children:"Needs you"}),e[0]=x):x=e[0];let m;e[1]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("span",{className:"flex-1"}),e[1]=m):m=e[1];let p;e[2]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx("span",{className:oe("size-1.5 shrink-0 rounded-full",fe["needs-you"]),"aria-hidden":"true"}),e[2]=p):p=e[2];const y=w.askedAt?`waiting ${We(new Date(w.askedAt).toISOString())}`:"waiting";let k;e[3]!==y?(k=n.jsx("span",{className:"ml-auto shrink-0 tabular-nums text-warning",children:y}),e[3]=y,e[4]=k):k=e[4];let b;return e[5]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsx(De,{"data-icon":"inline-end"}),e[5]=b):b=e[5],n.jsxs("section",{"aria-label":"Needs you",className:"border-b px-3 py-2.5",children:[n.jsxs("div",{className:"mb-2 flex items-center gap-2 text-xs text-muted-foreground",children:[x,n.jsx("span",{className:"tabular-nums",children:o.length}),m,o.length>1&&n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"tabular-nums",children:[h+1," of ",o.length]}),n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Previous request",disabled:h===0,onClick:()=>g(h-1),children:n.jsx(ls,{"data-icon":"inline-start"})}),n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Next request",disabled:h===o.length-1,onClick:()=>g(h+1),children:n.jsx(De,{"data-icon":"inline-start"})})]})]}),n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 px-0.5 text-xs",children:[p,n.jsx("span",{className:"min-w-0 truncate font-medium text-foreground",children:i(l)}),l.device&&n.jsx(Gt,{variant:"outline",children:l.device.name}),k]}),n.jsx(Vt,{sessionId:l.sessionId,pending:w,queued:0,responding:r.has(w.requestId),onRespond:(M,N)=>void c(l.sessionId,M,N),onOpen:()=>a(l)},w.requestId),n.jsxs(te,{variant:"ghost",size:"xs",className:"self-end text-muted-foreground",onClick:()=>a(l),children:["Open session",b]})]}),u&&n.jsxs("p",{className:"mt-2 truncate text-xs text-muted-foreground",children:["Next: ",n.jsx("span",{className:"font-medium text-foreground",children:i(u.member)})," ",Ie(u.member).toLowerCase()]})]})}function nn({crew:t,hereId:e,busy:s,nameOf:r,onOpen:i,onMarkRead:a,onStop:c,collapsed:o,onToggle:f}){const[g,h]=C.useState("all");let l=null;const w=xs(t).filter(({member:u,depth:x})=>{if(g!=="all"){const m=he(u);return g==="done"?m!=="working"&&m!=="needs-you":m===g}return l!==null&&x>l?!1:(l=o.has(u.sessionId)?x:null,!0)});return n.jsxs("section",{"aria-label":"Sessions",className:"px-1.5 py-2.5",children:[n.jsxs("div",{className:"mb-1.5 flex items-center gap-2 px-1.5",children:[n.jsx("h3",{className:"text-sm font-medium",children:"Sessions"}),n.jsx("span",{className:"flex-1"}),n.jsx("div",{role:"radiogroup","aria-label":"Show sessions",className:"flex gap-0.5",children:Xs.map(({id:u,label:x})=>n.jsx("button",{type:"button",role:"radio","aria-checked":g===u,onClick:()=>h(u),className:oe("rounded-full px-2 py-0.5 text-[11px] text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",g===u&&"bg-accent text-foreground"),children:x},u))})]}),w.length===0?n.jsx("p",{className:"px-1.5 py-4 text-center text-xs text-muted-foreground",children:"No sessions here."}):n.jsx("ul",{className:"flex flex-col",children:w.map(u=>n.jsx(on,{row:u,here:u.member.sessionId===e,busy:s,name:r(u.member),onOpen:i,onMarkRead:a,onStop:c,collapsed:g==="all"?o.has(u.member.sessionId):void 0,onToggle:()=>f(u.member.sessionId)},u.member.sessionId))})]})}function on(t){var ce,me;const e=ue.c(81),{row:s,here:r,busy:i,name:a,onOpen:c,onMarkRead:o,onStop:f,collapsed:g,onToggle:h}=t,{member:l,depth:w,children:u}=s;let x;e[0]!==l?(x=he(l),e[0]=l,e[1]=x):x=e[1];const m=x;let p;e[2]!==l?(p=Ie(l),e[2]=l,e[3]=p):p=e[3];const y=p;let k;e[4]!==l.pullRequests?(k=(ce=l.pullRequests)==null?void 0:ce.at(-1),e[4]=l.pullRequests,e[5]=k):k=e[5];const b=k;let M;e[6]!==l?(M=Re(l)&&l.result&&l.parentId,e[6]=l,e[7]=M):M=e[7];const N=M,$=(m==="working"||m==="needs-you")&&(!l.device||((me=l.result)==null?void 0:me.state)==="running"&&l.parentId!==null),_=l.sessionId,O=r?"bg-accent":"hover:bg-accent/60",E=w>0&&"border-l border-border/70";let j;e[8]!==O||e[9]!==E?(j=oe("group/crew relative flex items-start rounded-md",O,E),e[8]=O,e[9]=E,e[10]=j):j=e[10];const L=w>0?6+(w-1)*14:0;let I;e[11]!==L?(I={marginLeft:L},e[11]=L,e[12]=I):I=e[12];let A;e[13]!==u||e[14]!==g||e[15]!==a||e[16]!==h?(A=u>0&&g!==void 0&&n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":`${g?"Expand":"Collapse"} ${a}'s child sessions`,"aria-expanded":!g,onClick:h,children:n.jsx(De,{"data-icon":"inline-start",className:oe("transition-transform",!g&&"rotate-90")})}),e[13]=u,e[14]=g,e[15]=a,e[16]=h,e[17]=A):A=e[17];let S;e[18]!==A?(S=n.jsx("span",{className:"mt-1.5 flex w-6 shrink-0 justify-center",children:A}),e[18]=A,e[19]=S):S=e[19];let R;e[20]!==l||e[21]!==c?(R=()=>c(l),e[20]=l,e[21]=c,e[22]=R):R=e[22];const F=r?"true":void 0,P=`${a}, ${y}`,H=fe[m];let D;e[23]!==H?(D=oe("size-1.5 justify-self-center rounded-full",H),e[23]=H,e[24]=D):D=e[24];let Y;e[25]!==D?(Y=n.jsx("span",{className:D,"aria-hidden":"true"}),e[25]=D,e[26]=Y):Y=e[26];let K;e[27]!==a?(K=n.jsx("span",{className:"truncate",children:a}),e[27]=a,e[28]=K):K=e[28];let U;e[29]!==r?(U=r&&n.jsx("span",{className:"shrink-0 rounded-full border px-1.5 text-[10.5px] font-normal text-muted-foreground",children:"you are here"}),e[29]=r,e[30]=U):U=e[30];let z;e[31]!==K||e[32]!==U?(z=n.jsxs("span",{className:"flex min-w-0 items-center gap-1.5 text-[12.5px] font-medium",children:[K,U]}),e[31]=K,e[32]=U,e[33]=z):z=e[33];let q;e[34]!==l.lastActivityAt?(q=l.lastActivityAt?We(l.lastActivityAt):"",e[34]=l.lastActivityAt,e[35]=q):q=e[35];let W;e[36]!==q?(W=n.jsx("span",{className:"text-[11px] tabular-nums text-muted-foreground/80",children:q}),e[36]=q,e[37]=W):W=e[37];const V=(m==="needs-you"||N)&&"text-warning",d=m==="failed"&&"text-destructive";let v;e[38]!==V||e[39]!==d?(v=oe("min-w-0 flex-1 truncate",V,d),e[38]=V,e[39]=d,e[40]=v):v=e[40];let T;e[41]!==y||e[42]!==v?(T=n.jsx("span",{className:v,children:y}),e[41]=y,e[42]=v,e[43]=T):T=e[43];let X;e[44]!==b?(X=b&&n.jsxs("span",{className:"shrink-0 rounded-full border px-1.5 text-[11px]",children:["#",b.number]}),e[44]=b,e[45]=X):X=e[45];let ae;e[46]!==l.device?(ae=l.device&&n.jsx("span",{className:"shrink-0",children:l.device.name}),e[46]=l.device,e[47]=ae):ae=e[47];let J;e[48]!==u?(J=u>0&&n.jsxs("span",{className:"shrink-0",children:[u," ",u===1?"session":"sessions"]}),e[48]=u,e[49]=J):J=e[49];let Q;e[50]!==l.model?(Q=l.model&&n.jsx("span",{className:"shrink-0 text-muted-foreground/70",children:qe(l.model)}),e[50]=l.model,e[51]=Q):Q=e[51];let ee;e[52]!==T||e[53]!==X||e[54]!==ae||e[55]!==J||e[56]!==Q?(ee=n.jsxs("span",{className:"col-start-2 col-end-4 flex min-w-0 items-center gap-2 text-[11.5px] text-muted-foreground",children:[T,X,ae,J,Q]}),e[52]=T,e[53]=X,e[54]=ae,e[55]=J,e[56]=Q,e[57]=ee):ee=e[57];let se;e[58]!==R||e[59]!==F||e[60]!==P||e[61]!==Y||e[62]!==z||e[63]!==W||e[64]!==ee?(se=n.jsxs("button",{type:"button",onClick:R,"aria-current":F,"aria-label":P,className:"grid min-w-0 flex-1 grid-cols-[14px_minmax(0,1fr)_auto] items-center gap-x-2 gap-y-0.5 rounded-md px-2 py-1.5 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[Y,z,W,ee]}),e[58]=R,e[59]=F,e[60]=P,e[61]=Y,e[62]=z,e[63]=W,e[64]=ee,e[65]=se):se=e[65];let re;e[66]!==i||e[67]!==$||e[68]!==l||e[69]!==a||e[70]!==o||e[71]!==f||e[72]!==N?(re=(N||$)&&n.jsxs("div",{className:"absolute right-1.5 top-1 hidden gap-1 group-focus-within/crew:flex group-hover/crew:flex",children:[N&&l.result&&l.parentId&&n.jsx(te,{variant:"outline",size:"icon-xs",className:"bg-popover","aria-label":`Mark ${a}'s result read`,title:"Mark the result read",disabled:i.has(l.result.taskId),onClick:()=>void o(l.parentId,l.result.taskId),children:n.jsx(is,{"data-icon":"inline-start"})}),$&&n.jsx(te,{variant:"outline",size:"icon-xs",className:"bg-popover text-destructive","aria-label":`Stop ${a}`,title:"Stop this session",disabled:i.has(l.sessionId),onClick:()=>void f(l),children:n.jsx(rs,{"data-icon":"inline-start"})})]}),e[66]=i,e[67]=$,e[68]=l,e[69]=a,e[70]=o,e[71]=f,e[72]=N,e[73]=re):re=e[73];let Z;return e[74]!==l.sessionId||e[75]!==I||e[76]!==S||e[77]!==se||e[78]!==re||e[79]!==j?(Z=n.jsxs("li",{"data-crew-row":_,className:j,style:I,children:[S,se,re]}),e[74]=l.sessionId,e[75]=I,e[76]=S,e[77]=se,e[78]=re,e[79]=j,e[80]=Z):Z=e[80],Z}export{fn as CrewPanel};
|
|
1
|
+
import{r as C,c as ue,j as n}from"./vendor-react-gGw_S5I_.js";import{U as ze,bz as it,bA as je,bB as jt,bC as yt,bD as Nt,B as te,L as rt,M as ct,N as It,O as dt,Q as ut,C as Ze,bE as Ct,bF as Qe,z as et,bG as kt,bH as St,q as ft,aK as Mt,bI as $t,bJ as Rt,bs as Tt,bK as At,aP as Ot,R as Et,D as Lt,h as _t,j as zt,k as Dt,J as oe,bL as Ft,bM as Pt,bN as Yt,bO as qt,bP as qe,$ as We,bQ as Wt,bp as Ht,bR as Ut,bS as Bt,bT as Ae,bU as Oe,b8 as Gt,Z as Kt,bV as Vt,bW as Xt,bX as Jt,bx as Zt}from"./index-CPTFl4Qh.js";import{S as Qt}from"./switch-DS7UyNS2.js";import{m as es,ag as ts,aa as ss,e as ns,ah as ht,ai as pt,P as os,a7 as as,$ as ls,C as De,aj as is,ak as rs,X as cs}from"./vendor-ui-DQeMoSiV.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";async function ke(t){if(t.ok)return t;const e=await t.json().catch(()=>null);throw new Error((e==null?void 0:e.error)||"Couldn't update crew chat.")}function Ee(t,e){return[...new Map([...t,...e].map(s=>[s.sequence,s])).values()].sort((s,r)=>s.sequence-r.sequence)}function ds(t){const[e,s]=C.useState(null),[r,i]=C.useState([]),[a,c]=C.useState(null),[o,f]=C.useState(!1),[g,h]=C.useState(!1),[l,w]=C.useState(!1),[u,x]=C.useState(new Set),p=C.useRef(0),m=C.useRef(null),y=C.useRef(!1),k=C.useRef(!1),b=C.useRef(new Set),M=C.useRef(!1),N=C.useRef(null),$=C.useCallback(async j=>{const L=++p.current;try{const I=N.current,S=await(await ke(await ze(`/api/crew-chat/${encodeURIComponent(t)}${I===null?"":`?after=${I}&limit=100`}`))).json();if(!j()||L!==p.current)return;s(R=>R&&JSON.stringify(R.members)===JSON.stringify(S.members)?{...S,members:R.members}:S),i(R=>Ee(R,S.messages)),N.current=S.nextCursor,M.current||(M.current=!0,w(S.hasMore)),c(null)}catch(I){j()&&L===p.current&&c(I instanceof Error?I.message:"Couldn't load crew chat.")}},[t]);it($,2e3);const _=C.useCallback(async j=>{var L;if(y.current)return!1;y.current=!0,f(!0),((L=m.current)==null?void 0:L.text)!==j&&(m.current={text:j,id:crypto.randomUUID()});try{const A=await(await ke(await je(`/api/crew-chat/${encodeURIComponent(t)}`,{text:j,commandId:m.current.id}))).json();return p.current++,i(S=>Ee(S,[A.message])),m.current=null,c(A.pending.length?"Message saved. Some members are unavailable; delivery will retry.":null),!0}catch(I){return c(I instanceof Error?I.message:"Couldn't send the message."),!1}finally{y.current=!1,f(!1)}},[t]),O=C.useCallback(async(j,L)=>{if(!b.current.has(j)){b.current.add(j),x(I=>new Set(I).add(j));try{await ke(await je(`/api/crew-chat/${encodeURIComponent(t)}`,{sessionId:j,listening:L},{method:"PATCH"})),p.current++,s(I=>I&&{...I,members:I.members.map(A=>A.sessionId===j?{...A,listening:L}:A)}),c(null)}catch(I){c(I instanceof Error?I.message:"Couldn't change listening.")}finally{b.current.delete(j),x(I=>{const A=new Set(I);return A.delete(j),A})}}},[t]),E=C.useCallback(async()=>{if(!(!r.length||k.current)){k.current=!0,h(!0);try{const L=await(await ke(await ze(`/api/crew-chat/${encodeURIComponent(t)}?before=${r[0].sequence}`))).json();i(I=>Ee(I,L.messages)),w(L.hasMore)}catch(j){c(j instanceof Error?j.message:"Couldn't load older messages.")}finally{k.current=!1,h(!1)}}},[r,t]);return{page:e,messages:r,error:a,posting:o,busyMembers:u,hasOlder:l,loadingOlder:g,post:_,setListening:O,older:E}}const us=[],fs=new Map;function hs(t){var He,Ue,Be,Ge,Ke,Ve,Xe;const e=ue.c(111),{rootId:s,kinds:r,active:i}=t,a=r===void 0?fs:r,c=i===void 0?!0:i,o=ds(s),[f,g]=C.useState(""),h=C.useRef(null),l=C.useRef(!0);let w;e[0]!==o.messages?(w=(He=o.messages.at(-1))==null?void 0:He.sequence,e[0]=o.messages,e[1]=w):w=e[1];const u=w,x=((Ue=o.page)==null?void 0:Ue.members)??us;let p;e[2]!==x?(p=jt(x),e[2]=x,e[3]=p):p=e[3];const m=p;let y;e[4]!==x||e[5]!==s?(y=yt(x,s),e[4]=x,e[5]=s,e[6]=y):y=e[6];const k=y;let b;e[7]!==x?(b=new Map(x.map(ms)),e[7]=x,e[8]=b):b=e[8];const M=b;let N;e[9]!==o.messages||e[10]!==s?(N=Nt(o.messages,s),e[9]=o.messages,e[10]=s,e[11]=N):N=e[11];const $=N;let _;e[12]!==c?(_=()=>{var K,B;c&&l.current&&((B=(K=h.current)==null?void 0:K.scrollIntoView)==null||B.call(K,{block:"end"}))},e[12]=c,e[13]=_):_=e[13];let O;e[14]!==c||e[15]!==u?(O=[c,u],e[14]=c,e[15]=u,e[16]=O):O=e[16],C.useEffect(_,O);let E;e[17]!==o||e[18]!==f?(E=async()=>{const K=f.trim();!K||o.posting||await o.post(K)&&(g(B=>B.trim()===K?"":B),l.current=!0)},e[17]=o,e[18]=f,e[19]=E):E=e[19];const j=E;let L;e[20]!==o.page||e[21]!==x?(L=o.page?`${x.filter(ps).length} listening · Members & mentions`:"Loading chat…",e[20]=o.page,e[21]=x,e[22]=L):L=e[22];let I;e[23]!==L?(I=n.jsx("summary",{className:"cursor-pointer text-xs text-muted-foreground",children:L}),e[23]=L,e[24]=I):I=e[24];let A;if(e[25]!==o||e[26]!==a||e[27]!==x||e[28]!==s||e[29]!==k){let K;e[31]!==o||e[32]!==a||e[33]!==s||e[34]!==k?(K=B=>{var Je;return n.jsxs(Ze,{orientation:"horizontal",className:"items-center gap-2",children:[n.jsx(Ct,{role:B.sessionId===s?"lead":"agent",sessionId:B.sessionId,kinds:a,tints:k,className:"size-5"}),n.jsxs(Qe,{className:"min-w-0 flex-1 items-baseline gap-1.5",htmlFor:`listen-${B.sessionId}`,"aria-label":`Listen for ${B.name}`,children:[n.jsx("span",{className:"truncate",children:B.name}),n.jsxs("span",{className:"truncate text-xs font-normal text-muted-foreground",children:["@",B.handle]})]}),n.jsx(te,{variant:"ghost",size:"icon-xs",disabled:!((Je=o.page)!=null&&Je.canPost)||!B.canInteract,onClick:()=>g(ye=>`${ye}${ye&&!/\s$/.test(ye)?" ":""}@${B.handle} `),"aria-label":`Mention ${B.name}`,title:`Mention @${B.handle}`,className:"text-muted-foreground",children:n.jsx(ts,{"data-icon":"inline-start"})}),n.jsx(Qt,{id:`listen-${B.sessionId}`,size:"sm",checked:B.listening,disabled:!B.canInteract||o.busyMembers.has(B.sessionId),onCheckedChange:ye=>void o.setListening(B.sessionId,ye)})]},B.sessionId)},e[31]=o,e[32]=a,e[33]=s,e[34]=k,e[35]=K):K=e[35],A=x.map(K),e[25]=o,e[26]=a,e[27]=x,e[28]=s,e[29]=k,e[30]=A}else A=e[30];let S;e[36]!==A?(S=n.jsx(et,{className:"max-h-48 gap-2 overflow-y-auto py-2",children:A}),e[36]=A,e[37]=S):S=e[37];let R;e[38]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx("p",{className:"pb-1 text-xs text-muted-foreground",children:"Listening sends short notices while an agent works. @mentions send the full message, even when listening is off."}),e[38]=R):R=e[38];let F;e[39]!==I||e[40]!==S?(F=n.jsxs("details",{className:"shrink-0 border-b px-3 py-2",children:[I,S,R]}),e[39]=I,e[40]=S,e[41]=F):F=e[41];let P;e[42]===Symbol.for("react.memo_cache_sentinel")?(P=K=>{const B=K.target;l.current=B.scrollHeight-B.scrollTop-B.clientHeight<80},e[42]=P):P=e[42];let H;e[43]!==o?(H=o.hasOlder&&n.jsx("div",{className:"flex justify-center py-2",children:n.jsx(te,{variant:"ghost",size:"xs",disabled:o.loadingOlder,onClick:()=>void o.older(),children:o.loadingOlder?"Loading…":"Load earlier messages"})}),e[43]=o,e[44]=H):H=e[44];let D;e[45]!==o.messages.length||e[46]!==o.page?(D=o.page&&o.messages.length===0&&n.jsx(rt,{children:n.jsxs(ct,{children:[n.jsx(It,{variant:"icon",children:n.jsx(es,{})}),n.jsx(dt,{children:"Talk to the crew"}),n.jsx(ut,{children:"Share a discovery, ask a question, or tag someone for their input."})]})}),e[45]=o.messages.length,e[46]=o.page,e[47]=D):D=e[47];let Y;if(e[48]!==M||e[49]!==m||e[50]!==a||e[51]!==s||e[52]!==$||e[53]!==k){let K;e[55]!==M||e[56]!==m||e[57]!==a||e[58]!==s||e[59]!==k?(K=B=>n.jsxs(C.Fragment,{children:[B.day!==void 0&&n.jsx(kt,{day:B.day}),n.jsx(St,{run:B,members:M,handles:m,kinds:a,tints:k,rootId:s})]},B.messages[0].sequence),e[55]=M,e[56]=m,e[57]=a,e[58]=s,e[59]=k,e[60]=K):K=e[60],Y=$.map(K),e[48]=M,e[49]=m,e[50]=a,e[51]=s,e[52]=$,e[53]=k,e[54]=Y}else Y=e[54];let G;e[61]===Symbol.for("react.memo_cache_sentinel")?(G=n.jsx("div",{ref:h}),e[61]=G):G=e[61];let U;e[62]!==Y?(U=n.jsxs("div",{role:"log","aria-label":"Shared messages","aria-live":"polite","aria-relevant":"additions",className:"flex flex-col gap-4 px-3 py-3",children:[Y,G]}),e[62]=Y,e[63]=U):U=e[63];let z;e[64]!==H||e[65]!==D||e[66]!==U?(z=n.jsxs(ft,{className:"min-h-0 flex-1",onScrollCapture:P,children:[H,D,U]}),e[64]=H,e[65]=D,e[66]=U,e[67]=z):z=e[67];let q;e[68]!==j?(q=K=>{K.preventDefault(),j()},e[68]=j,e[69]=q):q=e[69];const W=!!o.error,V=`crew-chat-${s}`;let d;e[70]!==V?(d=n.jsx(Qe,{htmlFor:V,className:"sr-only",children:"Message the crew"}),e[70]=V,e[71]=d):d=e[71];const v=`crew-chat-${s}`,T=!((Be=o.page)!=null&&Be.canPost),X=!!o.error;let ae;e[72]===Symbol.for("react.memo_cache_sentinel")?(ae=K=>g(K.target.value),e[72]=ae):ae=e[72];let Z;e[73]!==j?(Z=K=>{K.key==="Enter"&&(K.metaKey||K.ctrlKey)&&!K.nativeEvent.isComposing&&(K.preventDefault(),j())},e[73]=j,e[74]=Z):Z=e[74];let Q;e[75]!==f||e[76]!==v||e[77]!==T||e[78]!==X||e[79]!==Z?(Q=n.jsx(Mt,{id:v,value:f,rows:3,maxLength:$t,placeholder:"Message the crew… use @ to tag an agent",disabled:T,"aria-invalid":X,onChange:ae,onKeyDown:Z}),e[75]=f,e[76]=v,e[77]=T,e[78]=X,e[79]=Z,e[80]=Q):Q=e[80];let ee;e[81]!==o.error?(ee=o.error&&n.jsx("p",{role:"alert",className:"text-xs text-destructive",children:o.error}),e[81]=o.error,e[82]=ee):ee=e[82];let se;e[83]!==W||e[84]!==d||e[85]!==Q||e[86]!==ee?(se=n.jsxs(Ze,{"data-invalid":W,children:[d,Q,ee]}),e[83]=W,e[84]=d,e[85]=Q,e[86]=ee,e[87]=se):se=e[87];const re=((Ge=o.page)==null?void 0:Ge.canPost)===!1?"You have read access to this crew.":"⌘ / Ctrl + Enter to send";let J;e[88]!==re?(J=n.jsx(Rt,{className:"flex-1",children:re}),e[88]=re,e[89]=J):J=e[89];let ce;e[90]!==((Ke=o.page)==null?void 0:Ke.canPost)||e[91]!==o.posting||e[92]!==f?(ce=!((Ve=o.page)!=null&&Ve.canPost)||!f.trim()||o.posting,e[90]=(Xe=o.page)==null?void 0:Xe.canPost,e[91]=o.posting,e[92]=f,e[93]=ce):ce=e[93];let pe;e[94]===Symbol.for("react.memo_cache_sentinel")?(pe=n.jsx(ss,{"data-icon":"inline-start"}),e[94]=pe):pe=e[94];const Te=o.posting?"Sending…":"Send";let ge;e[95]!==ce||e[96]!==Te?(ge=n.jsxs(te,{type:"submit",size:"sm",disabled:ce,children:[pe,Te]}),e[95]=ce,e[96]=Te,e[97]=ge):ge=e[97];let xe;e[98]!==J||e[99]!==ge?(xe=n.jsxs("div",{className:"flex items-center gap-2",children:[J,ge]}),e[98]=J,e[99]=ge,e[100]=xe):xe=e[100];let we;e[101]!==se||e[102]!==xe?(we=n.jsxs(et,{className:"gap-2",children:[se,xe]}),e[101]=se,e[102]=xe,e[103]=we):we=e[103];let be;e[104]!==q||e[105]!==we?(be=n.jsx("form",{className:"shrink-0 border-t p-3",onSubmit:q,children:we}),e[104]=q,e[105]=we,e[106]=be):be=e[106];let Ce;return e[107]!==F||e[108]!==z||e[109]!==be?(Ce=n.jsxs("section",{"aria-label":"Crew chat",className:"flex h-full min-h-0 flex-col",children:[F,z,be]}),e[107]=F,e[108]=z,e[109]=be,e[110]=Ce):Ce=e[110],Ce}function ps(t){return t.listening}function ms(t){return[t.sessionId,t]}const fe={working:"bg-success ring-2 ring-success/30","needs-you":"bg-warning",done:"bg-muted-foreground/50",failed:"bg-destructive",unreachable:"border border-muted-foreground/60"};function mt(t){const e=new Date(t),s=e.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return e.toDateString()===new Date().toDateString()?s:`${e.toLocaleDateString([],{month:"short",day:"numeric"})}, ${s}`}function he(t){if(t.status==="deferred")return"needs-you";switch(t.outcome){case"needs_input":return"needs-you";case"running":return"working";case"error":return"failed";case"unreachable":case"not_found":return"unreachable";default:return"done"}}function tt(t,e){var s,r;return{sessionId:t.sessionId,dirName:((s=t.address)==null?void 0:s.dirName)??"",fileName:((r=t.address)==null?void 0:r.fileName)??"",projectShortName:"",lastModified:t.lastActivityAt??"",lastActivityAt:t.lastActivityAt,size:0,cwd:t.cwd,customTitle:t.customTitle,aiTitle:t.aiTitle,firstUserMessage:t.firstUserMessage,...t.parentId&&{crew:{rootId:e,parentId:t.parentId,startedAt:t.startedAt??0,...t.name&&{name:t.name}}}}}function gs(t,e,s){var o;const r=((o=[...e.values()].find(f=>f.parentId===null))==null?void 0:o.sessionId)??t.sessionId,i=s[t.sessionId],a=tt(t,r);if(!t.parentId)return Tt(a,i);const c=e.get(t.parentId);return At(a,{customName:i,parent:c&&tt(c,r)})}function xs(t){const e=new Map;for(const a of t.members){if(!a.parentId)continue;const c=e.get(a.parentId);c?c.push(a):e.set(a.parentId,[a])}const s=[],r=new Set,i=(a,c)=>{var f;const o=[...e.get(a)??[]].sort((g,h)=>(g.startedAt??0)-(h.startedAt??0));for(const g of o)r.has(g.sessionId)||(r.add(g.sessionId),s.push({member:g,depth:c,children:((f=e.get(g.sessionId))==null?void 0:f.length)??0}),i(g.sessionId,c+1))};i(t.rootId,0);for(const a of t.members)a.parentId&&!r.has(a.sessionId)&&(r.add(a.sessionId),s.push({member:a,depth:0,children:0}));return s}function ws(t){const e=({member:s,pending:r})=>r.askedAt??(Date.parse(s.lastActivityAt??"")||0);return t.members.flatMap(s=>s.waiting.map(r=>({member:s,pending:r}))).sort((s,r)=>e(s)-e(r))}function bs(t){const e={size:0,working:0,needsYou:0,done:0,failed:0,unreachable:0,unreadResults:0};for(const s of t.members){if(!s.parentId)continue;e.size++;const r=he(s);r==="working"?e.working++:r==="needs-you"?e.needsYou++:r==="failed"?e.failed++:r==="unreachable"?e.unreachable++:e.done++,Re(s)&&e.unreadResults++}return e}function Re(t){return!!(t.result&&t.result.state!=="running"&&!t.result.acknowledged)}function Ie(t){const[e]=t.waiting;switch(he(t)){case"needs-you":return(e==null?void 0:e.kind)==="permission"?`Waiting on a permission · ${e.toolName}`:(e==null?void 0:e.kind)==="question"?"Asked a question":!e&&t.status==="deferred"?"Awaiting permission review":"Plan to review";case"working":return t.status==="tool_use"&&t.toolName?t.toolName:t.status==="thinking"?"Thinking":t.status==="compacting"?"Compacting":t.status==="awaiting_agents"?"Waiting on its agents":"Working";case"failed":return t.error?`Failed · ${t.error}`:"Failed";case"unreachable":return t.device?`${t.device.name} is not answering`:"Not found";default:return Re(t)?"Finished · result unread":"Finished"}}const le=196,ne=86,de=40,ve=12,vs=28,Me=6,st=8,me=10,js=6,$e=28,Fe=36;function gt(t){const e=he(t);return e==="working"||e==="needs-you"}function ys(t){const e={all:t.members.length,active:0,working:0,needsYou:0};for(const s of t.members){const r=he(s);r==="working"?e.working++:r==="needs-you"&&e.needsYou++}return e.active=e.working+e.needsYou,e}const nt=(t,e)=>(t.startedAt??0)-(e.startedAt??0)||t.sessionId.localeCompare(e.sessionId);function xt(t){const e=new Map(t.members.map(i=>[i.sessionId,i])),s=new Map,r=[];for(const i of t.members){const a=i.parentId&&i.sessionId!==t.rootId?e.get(i.parentId):void 0;if(!a){r.push(i);continue}const c=s.get(a.sessionId);c?c.push(i):s.set(a.sessionId,[i])}for(const i of s.values())i.sort(nt);return r.sort((i,a)=>+(a.sessionId===t.rootId)-+(i.sessionId===t.rootId)||nt(i,a)),{roots:r,childrenOf:s}}function Ns(t,e){if(e==="all")return new Set(t.members.map(i=>i.sessionId));const s=new Map(t.members.map(i=>[i.sessionId,i])),r=new Set;for(const i of t.members){if(!gt(i))continue;let a=i;for(;a&&!r.has(a.sessionId);)r.add(a.sessionId),a=a.sessionId===t.rootId||!a.parentId?void 0:s.get(a.parentId)}return r}function Is(t){const{roots:e,childrenOf:s}=xt(t),r=new Set;let i=0;const a=e.map(c=>({member:c,depth:0}));for(;a.length>0;){const{member:c,depth:o}=a.pop();if(!r.has(c.sessionId)){r.add(c.sessionId),i=Math.max(i,o);for(const f of s.get(c.sessionId)??[])a.push({member:f,depth:o+1})}}return i}function Cs(t){return(t+1)*le+t*de}function ks(t,e,s,{group:r=!1,stacked:i}={}){const{roots:a,childrenOf:c}=xt(t),o=Ns(t,e),f=N=>(c.get(N)??[]).filter($=>o.has($.sessionId)),g=(i==null?void 0:i.cardWidth)??le,h=[],l=[],w=[],u=new Set;let x=0,p=0;const m=N=>{const $={count:0,working:0,needsYou:0},_=new Set(u),O=[...f(N)];for(;O.length>0;){const E=O.pop();if(_.has(E.sessionId))continue;_.add(E.sessionId),$.count++;const j=he(E);j==="working"?$.working++:j==="needs-you"&&$.needsYou++,O.push(...f(E.sessionId))}return $},y=N=>f(N).filter($=>!u.has($.sessionId)),k=N=>y(N.sessionId).length===0||s.has(N.sessionId),b=(N,$,_)=>{u.add(N.sessionId);const O=y(N.sessionId),E=O.length>0&&s.has(N.sessionId),j=E?[]:O,L=r&&!i&&j.length>=st?j.filter(k):[],I=L.length>=st?L:[],A=new Set(I),S=j.filter(P=>!A.has(P)),R={member:N,depth:$,x:(_==null?void 0:_.x)??$*(i?$e:le+de),y:(_==null?void 0:_.y)??x+(S.length===0&&I.length>0?me:0),childCount:O.length,collapsed:E,hidden:E?m(N.sessionId):{count:0,working:0,needsYou:0},context:e==="active"&&!gt(N),grouped:!!_};if(h.push(R),p=Math.max(p,R.x+g+(i&&O.length>0?Fe:0)),i){x+=ne+ve;const P=j.map(H=>b(H,$+1));return P.length>0&&l.push({parentId:N.sessionId,path:Ms(R.x,R.y,P)}),R.y}if(E){const P=R.y+ne/2;l.push({parentId:N.sessionId,path:`M${R.x+le} ${P}H${R.x+le+de/2}`})}if(_)return R.y;if(j.length===0)return x+=ne+ve,R.y;const F=S.map(P=>b(P,$+1));return I.length>0&&F.push(M(N.sessionId,I,$+1)+me),l.push({parentId:N.sessionId,path:Ss(R.x+le,R.y,F)}),R.y},M=(N,$,_)=>{const O=Math.min(js,Math.max(2,Math.ceil(Math.sqrt($.length/1.5)))),E=Math.ceil($.length/O),j={parentId:N,x:_*(le+de),y:x,width:O*le+(O-1)*de+2*me,height:E*ne+(E-1)*ve+2*me};return w.push(j),$.forEach((L,I)=>b(L,_,{x:j.x+me+I%O*(le+de),y:j.y+me+Math.floor(I/O)*(ne+ve)})),p=Math.max(p,j.x+j.width),x+=j.height+ve,j.y};for(const N of a)!o.has(N.sessionId)||u.has(N.sessionId)||(h.length>0&&(x+=vs),b(N,0));return{orientation:i?"stacked":"across",cardWidth:g,nodes:h,edges:l,groups:w,width:p,height:Math.max(0,x-ve)}}function Ss(t,e,s){const r=e+ne/2,i=[`M${t} ${r}H${t+de}`];for(const a of s)a!==e&&i.push(wt(t,r,a+ne/2));return i.join("")}function wt(t,e,s){const r=t+de/2;return`M${r} ${e}V${s-Me}Q${r} ${s} ${r+Me} ${s}H${t+de}`}function Ms(t,e,s){return s.map(r=>bt(t,e,r)).join("")}function bt(t,e,s){const r=t+$e/2,i=s+ne/2;return`M${r} ${e+ne}V${i-Me}Q${r} ${i} ${r+Me} ${i}H${t+$e}`}function $s(t,e){const s=new Map(t.nodes.map(c=>[c.member.sessionId,c])),r=new Map(t.groups.map(c=>[c.parentId,c]));let i=e?s.get(e):void 0;const a=[];for(;i!=null&&i.member.parentId;){const c=i.member.parentId,o=s.get(c);if(!o||o.depth!==i.depth-1)break;if(t.orientation==="stacked"){a.unshift(bt(o.x,o.y,i.y)),i=o;continue}const f=o.x+le,g=o.y+ne/2,h=i.grouped?r.get(c):void 0,l=(h?h.y+me:i.y)+ne/2;a.unshift(l===g?`M${f} ${g}H${f+de}`:`M${f} ${g}H${f+de/2}${wt(f,g,l)}`),i=o}return a.length>0?a.join(""):null}const ie=14,Pe=.25,ot=1.5,Rs=.7,Se=1.2,Ts=56,As=900,Os=.85,Es=320,Le={all:new Set,active:new Set};function Ls(t){const[e,s]=Ot(Et("crew-map-filter"),"all"),r=e==="active"?"active":"all",[i,a]=C.useState({rootId:t,folds:Le}),c=C.useRef(new Map),o=i.rootId===t?i.folds:Le,f=C.useCallback(h=>a(l=>{const w=l.rootId===t?l.folds:Le,u=new Set(w[r]);return u.delete(h)||u.add(h),{rootId:t,folds:{...w,[r]:u}}}),[r,t]),g=C.useMemo(()=>({get current(){return c.current.get(t)??null},set current(h){c.current.set(t,h)}}),[t]);return{filter:r,setFilter:s,collapsed:o[r],toggle:f,viewport:g}}function _s(t){const e=ue.c(86),{crew:s,hereId:r,controls:i,kinds:a,nameOf:c,onOpen:o}=t,[f,g]=C.useState(!1),{filter:h,collapsed:l,toggle:w}=i;let u,x,p,m,y,k,b,M,N,$,_,O,E,j,L,I;if(e[0]!==l||e[1]!==i||e[2]!==s||e[3]!==f||e[4]!==h||e[5]!==r||e[6]!==a||e[7]!==c||e[8]!==o||e[9]!==w){let U;e[26]!==s.rootId?(U=v=>v.sessionId===s.rootId,e[26]=s.rootId,e[27]=U):U=e[27];const z=s.members.find(U);let q;e[28]!==l||e[29]!==i||e[30]!==s||e[31]!==h||e[32]!==r||e[33]!==a||e[34]!==c||e[35]!==w?(q=(v,T)=>n.jsx(Ps,{crew:s,collapsed:l,groups:!v,filter:h,hereId:r,kinds:a,nameOf:c,memory:v,onOpen:T,onToggle:w,onShowAll:()=>i.setFilter("all")}),e[28]=l,e[29]=i,e[30]=s,e[31]=h,e[32]=r,e[33]=a,e[34]=c,e[35]=w,e[36]=q):q=e[36],p=q,k="flex h-full min-h-0 flex-col";let W;e[37]!==i||e[38]!==s?(W=n.jsx(at,{crew:s,controls:i}),e[37]=i,e[38]=s,e[39]=W):W=e[39];let V;e[40]===Symbol.for("react.memo_cache_sentinel")?(V=n.jsx("span",{className:"flex-1"}),e[40]=V):V=e[40];let d;e[41]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Expand the map",title:"Expand the map",onClick:()=>g(!0),children:n.jsx(ns,{"data-icon":"inline-start"})}),e[41]=d):d=e[41],e[42]!==W?(b=n.jsxs("div",{className:"flex shrink-0 items-center gap-2 px-3 pb-2",children:[W,V,d]}),e[42]=W,e[43]=b):b=e[43],e[44]!==p||e[45]!==i.viewport||e[46]!==o?(M=p(i.viewport,o),e[44]=p,e[45]=i.viewport,e[46]=o,e[47]=M):M=e[47],x=Lt,I=f,y=g,u=_t,O=!0,E="flex h-[calc(100dvh-1rem)] w-[calc(100vw-1rem)] max-w-none flex-col gap-0 overflow-hidden p-0 sm:h-[calc(100dvh-4rem)] sm:w-[calc(100vw-4rem)] sm:max-w-none",e[48]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(zt,{className:"sr-only",children:"Crew map"}),L=n.jsx(Dt,{className:"sr-only",children:"Every session in this crew, from the one that started it."}),e[48]=j,e[49]=L):(j=e[48],L=e[49]),$="flex h-12 shrink-0 items-center gap-3 pl-4 pr-14",e[50]===Symbol.for("react.memo_cache_sentinel")?(_=n.jsx(ht,{"aria-hidden":"true",className:"size-4 shrink-0 text-muted-foreground"}),e[50]=_):_=e[50],m="min-w-0 truncate text-sm font-medium",N=z?c(z):"Crew",e[0]=l,e[1]=i,e[2]=s,e[3]=f,e[4]=h,e[5]=r,e[6]=a,e[7]=c,e[8]=o,e[9]=w,e[10]=u,e[11]=x,e[12]=p,e[13]=m,e[14]=y,e[15]=k,e[16]=b,e[17]=M,e[18]=N,e[19]=$,e[20]=_,e[21]=O,e[22]=E,e[23]=j,e[24]=L,e[25]=I}else u=e[10],x=e[11],p=e[12],m=e[13],y=e[14],k=e[15],b=e[16],M=e[17],N=e[18],$=e[19],_=e[20],O=e[21],E=e[22],j=e[23],L=e[24],I=e[25];let A;e[51]!==m||e[52]!==N?(A=n.jsx("span",{className:m,children:N}),e[51]=m,e[52]=N,e[53]=A):A=e[53];let S;e[54]===Symbol.for("react.memo_cache_sentinel")?(S=n.jsx("span",{className:"flex-1"}),e[54]=S):S=e[54];let R;e[55]!==i||e[56]!==s?(R=n.jsx(at,{crew:s,controls:i}),e[55]=i,e[56]=s,e[57]=R):R=e[57];let F;e[58]!==A||e[59]!==R||e[60]!==$||e[61]!==_?(F=n.jsxs("header",{className:$,children:[_,A,S,R]}),e[58]=A,e[59]=R,e[60]=$,e[61]=_,e[62]=F):F=e[62];let P;e[63]!==o?(P=U=>{g(!1),o(U)},e[63]=o,e[64]=P):P=e[64];let H;e[65]!==p||e[66]!==P?(H=p(null,P),e[65]=p,e[66]=P,e[67]=H):H=e[67];let D;e[68]!==u||e[69]!==F||e[70]!==H||e[71]!==O||e[72]!==E||e[73]!==j||e[74]!==L?(D=n.jsxs(u,{showCloseButton:O,className:E,children:[j,L,F,H]}),e[68]=u,e[69]=F,e[70]=H,e[71]=O,e[72]=E,e[73]=j,e[74]=L,e[75]=D):D=e[75];let Y;e[76]!==x||e[77]!==y||e[78]!==D||e[79]!==I?(Y=n.jsx(x,{open:I,onOpenChange:y,children:D}),e[76]=x,e[77]=y,e[78]=D,e[79]=I,e[80]=Y):Y=e[80];let G;return e[81]!==k||e[82]!==b||e[83]!==M||e[84]!==Y?(G=n.jsxs("div",{className:k,children:[b,M,Y]}),e[81]=k,e[82]=b,e[83]=M,e[84]=Y,e[85]=G):G=e[85],G}function at(t){const e=ue.c(3),{crew:s,controls:r}=t;let i;if(e[0]!==r||e[1]!==s){const a=ys(s),c=[{id:"all",label:"All",count:a.all,hint:"Every session in the crew"},{id:"active",label:"Active",count:a.active,hint:"Sessions working or waiting on you, and the sessions that started them"}];i=n.jsx("div",{role:"radiogroup","aria-label":"Show on the map",className:"flex shrink-0 gap-0.5 rounded-full border bg-background p-0.5",children:c.map(o=>{const{id:f,label:g,count:h,hint:l}=o;return n.jsxs("button",{type:"button",role:"radio","aria-checked":r.filter===f,"aria-label":`${g}, ${vt(h)}`,title:l,onClick:()=>r.setFilter(f),className:oe("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",r.filter===f&&"bg-accent text-foreground"),children:[g,n.jsx("span",{className:"tabular-nums text-muted-foreground",children:h})]},f)})}),e[0]=r,e[1]=s,e[2]=i}else i=e[2];return i}function vt(t){return`${t} ${t===1?"session":"sessions"}`}function _e(t,e,s){return t.orientation==="stacked"?{scale:e,left:ie,top:ie}:{scale:e,left:Math.max(ie,(s.width-t.width*e)/2),top:Math.max(ie,Math.min((s.height-t.height*e)/2,s.height*.12))}}function zs(t,e,s){return{width:Math.max(s.width,e.left+t.width*e.scale+ie),height:Math.max(s.height,e.top+t.height*e.scale+Ts)}}function lt(t,e,{widthOnly:s=!1}={}){if(t.width===0||e.width===0)return 1;const r=(e.width-2*ie)/t.width,i=s?r:Math.min(r,(e.height-2*ie)/t.height);return Ye(i,Pe,1)}const Ye=(t,e,s)=>Math.min(s,Math.max(e,t));function Ds(t,e,s,r,i){var w;const a=new Map(e.layout.nodes.map(u=>[u.member.sessionId,u])),c=new Map(s.nodes.map(u=>[u.member.sessionId,u]));if(e.frame===r&&a.size===c.size&&s.nodes.every(u=>{const x=a.get(u.member.sessionId);return x!==void 0&&x.x===u.x&&x.y===u.y}))return null;const f=u=>({x:e.frame.left+u.x*e.frame.scale-t.left,y:e.frame.top+u.y*e.frame.scale-t.top}),g=i&&a.has(i)&&c.has(i)?i:(w=e.layout.nodes.filter(u=>c.has(u.member.sessionId)).map(u=>({node:u,screen:f(u)})).filter(({screen:u})=>u.y+ne*e.frame.scale>0&&u.x+e.layout.cardWidth*e.frame.scale>0).sort((u,x)=>u.screen.y-x.screen.y||u.screen.x-x.screen.x)[0])==null?void 0:w.node.member.sessionId;if(!g)return null;const h=f(a.get(g)),l=c.get(g);return{left:r.left+l.x*r.scale-h.x,top:r.top+l.y*r.scale-h.y}}function Fs(t,e,s,r){const i=new Map(t.nodes.map(x=>[x.member.sessionId,x])),a=e?i.get(e):void 0;if(!a)return{left:0,top:0};const{scale:c}=s,o=s.left+a.x*c,f=s.top+a.y*c,g=o+t.cardWidth*c,h=f+ne*c;if(g<=r.clientWidth&&h<=r.clientHeight)return{left:0,top:0};const l=a.member.parentId&&i.get(a.member.parentId)||a;let w=s.left+Math.min(l.x,a.x)*c-ie,u=s.top+Math.min(l.y,a.y)*c-ie;return g-w>r.clientWidth&&(w=o-ie),h-u>r.clientHeight&&(u=f-r.clientHeight/3),{left:Math.max(0,w),top:Math.max(0,u)}}function Ps({crew:t,collapsed:e,groups:s,filter:r,hereId:i,kinds:a,nameOf:c,memory:o,onOpen:f,onToggle:g,onShowAll:h}){const l=C.useRef(null),[w,u]=C.useState({width:0,height:0}),x=s&&w.width>=As,p=C.useMemo(()=>Is(t),[t]),m=w.width-2*ie,y=!s&&w.width>0&&Cs(p)*Os>m,k=y?Ye(m-p*$e-Fe,le,Es):le,b=C.useMemo(()=>ks(t,r,e,{group:x,...y&&{stacked:{cardWidth:k}}}),[t,r,e,x,y,k]),[M,N]=C.useState(()=>{var d;return((d=o==null?void 0:o.current)==null?void 0:d.frame)??{scale:1,left:ie,top:ie}}),[$,_]=C.useState(!1),O=C.useRef(null),E=C.useRef(null),j=C.useRef({left:0,top:0}),L=C.useRef(null),I=C.useRef(null),A=zs(b,M,w),{scale:S}=M;C.useLayoutEffect(()=>{const d=l.current;if(!d)return;const v=()=>u(X=>X.width===d.clientWidth&&X.height===d.clientHeight?X:{width:d.clientWidth,height:d.clientHeight});v();const T=new ResizeObserver(v);return T.observe(d),()=>T.disconnect()},[]);const R=C.useCallback(d=>{const v=l.current;o&&v&&(o.current={frame:d,left:v.scrollLeft,top:v.scrollTop})},[o]),F=C.useCallback((d,v)=>{O.current={frame:d,scroll:v},N(d)},[]),P=C.useCallback(d=>{const v=_e(d,Math.max(lt(d,w,{widthOnly:!0}),Rs),w);F(v,()=>{const T=l.current;return T?Fs(d,i,v,T):{left:0,top:0}})},[F,i,w]);C.useLayoutEffect(()=>{const d=l.current;if(w.width===0||!d)return;const v=L.current;if(v){if(v.filter!==r||v.layout.orientation!==b.orientation)P(b);else if(v.layout!==b){const T=Ds(j.current,v,b,M,E.current);T&&(d.scrollLeft=T.left,d.scrollTop=T.top,j.current={left:d.scrollLeft,top:d.scrollTop})}}else{const T=o==null?void 0:o.current;T?F(T.frame,()=>({left:T.left,top:T.top})):P(b)}E.current=null,L.current={layout:b,filter:r,frame:M}}),C.useLayoutEffect(()=>{const d=O.current,v=l.current;if(!d||!v||d.frame!==M)return;O.current=null;const{left:T,top:X}=d.scroll();v.scrollLeft=T,v.scrollTop=X,j.current={left:v.scrollLeft,top:v.scrollTop},R(M)});const H=C.useRef(i);C.useEffect(()=>{var d,v;H.current!==i&&(H.current=i,i&&((v=(d=l.current)==null?void 0:d.querySelector(`[data-crew-map-card="${CSS.escape(i)}"]`))==null||v.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"})))},[i]);const D=C.useCallback((d,v)=>{var ce;const T=l.current,X=((ce=O.current)==null?void 0:ce.frame.scale)??S,ae=Ye(X*d,Pe,ot);if(!T||ae===X)return;const Z=T.getBoundingClientRect(),Q=v?v.clientX-Z.left:T.clientWidth/2,ee=v?v.clientY-Z.top:T.clientHeight/2,se=(T.scrollLeft+Q-M.left)/S,re=(T.scrollTop+ee-M.top)/S,J=_e(b,ae,w);F(J,()=>({left:J.left+se*J.scale-Q,top:J.top+re*J.scale-ee}))},[F,M.left,M.top,b,S,w]),Y=C.useRef(D);C.useLayoutEffect(()=>{Y.current=D}),C.useEffect(()=>{const d=l.current;if(!d)return;const v=T=>{!T.ctrlKey&&!T.metaKey||(T.preventDefault(),Y.current(Math.exp(-T.deltaY*.01),T))};return d.addEventListener("wheel",v,{passive:!1}),()=>d.removeEventListener("wheel",v)},[]);const G=d=>{const v=l.current;!v||d.pointerType!=="mouse"||d.button!==0||d.target.closest("button")||(I.current={pointerId:d.pointerId,x:d.clientX,y:d.clientY,left:v.scrollLeft,top:v.scrollTop},v.setPointerCapture(d.pointerId),_(!0))},U=d=>{const v=I.current,T=l.current;!v||!T||v.pointerId!==d.pointerId||(T.scrollLeft=v.left-(d.clientX-v.x),T.scrollTop=v.top-(d.clientY-v.y))},z=d=>{var v,T;((v=I.current)==null?void 0:v.pointerId)===d.pointerId&&(I.current=null,(T=l.current)==null||T.releasePointerCapture(d.pointerId),_(!1))},q=C.useMemo(()=>$s(b,i),[b,i]),W=b.nodes.length===0,V=b.orientation==="stacked"?b.cardWidth+Fe/2:le+de/2;return n.jsxs("div",{className:"relative min-h-0 flex-1 border-t",children:[n.jsx("div",{ref:l,role:"region","aria-label":"Crew map","data-crew-map-layout":b.orientation,onScroll:d=>{j.current={left:d.currentTarget.scrollLeft,top:d.currentTarget.scrollTop},O.current||R(M)},onPointerDown:G,onPointerMove:U,onPointerUp:z,onPointerCancel:z,onKeyDown:d=>{d.target===d.currentTarget&&(d.key==="+"||d.key==="="?D(Se):d.key==="-"&&D(1/Se))},tabIndex:-1,className:oe("absolute inset-0 overflow-auto overscroll-contain outline-none [touch-action:pan-x_pan-y]","bg-muted/30 bg-local bg-[radial-gradient(circle,var(--border)_1px,transparent_1px)] bg-size-[18px_18px]",$?"cursor-grabbing select-none":"cursor-grab"),children:W?n.jsxs(rt,{className:"h-full",children:[n.jsxs(ct,{children:[n.jsx(dt,{children:"Nothing is active"}),n.jsx(ut,{className:"text-xs",children:"No session in this crew is working or waiting on you."})]}),n.jsx(te,{variant:"outline",size:"xs",onClick:h,children:"Show all sessions"})]}):n.jsx("div",{className:"relative",style:{width:A.width,height:A.height},children:n.jsxs("div",{className:"absolute origin-top-left",style:{left:M.left,top:M.top,width:b.width,height:b.height,transform:`scale(${S})`},children:[b.groups.map(d=>n.jsx("div",{"aria-hidden":"true",className:"absolute rounded-xl border border-dashed border-muted-foreground/25 bg-muted/25",style:{left:d.x,top:d.y,width:d.width,height:d.height}},d.parentId)),n.jsxs("svg",{"aria-hidden":"true",width:b.width,height:b.height,className:"pointer-events-none absolute inset-0 overflow-visible",fill:"none",children:[b.edges.map(d=>n.jsx("path",{d:d.path,className:"stroke-muted-foreground/35",strokeWidth:1.25},d.parentId)),q&&n.jsx("path",{d:q,className:"stroke-foreground/55",strokeWidth:1.5})]}),n.jsx("ul",{"aria-label":"Sessions",className:"absolute inset-0",children:b.nodes.map(d=>n.jsx(Hs,{node:d,width:b.cardWidth,toggleLeft:V,here:d.member.sessionId===i,kind:a.get(d.member.sessionId),name:c(d.member),onOpen:f,onToggle:v=>{E.current=v,g(v)}},d.member.sessionId))})]})})}),!W&&n.jsxs("div",{className:"absolute bottom-2.5 right-2.5 flex items-center gap-0.5 rounded-lg border bg-popover p-0.5 shadow-sm",children:[n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Zoom out",title:"Zoom out",disabled:S<=Pe,onClick:()=>D(1/Se),children:n.jsx(pt,{"data-icon":"inline-start"})}),n.jsxs(te,{variant:"ghost",size:"xs","aria-label":"Actual size",title:"Actual size",className:"min-w-11 px-1 tabular-nums text-muted-foreground",onClick:()=>D(1/S),children:[Math.round(S*100),"%"]}),n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Zoom in",title:"Zoom in",disabled:S>=ot,onClick:()=>D(Se),children:n.jsx(os,{"data-icon":"inline-start"})}),n.jsx("span",{className:"mx-0.5 h-4 w-px bg-border","aria-hidden":"true"}),n.jsx(te,{variant:"ghost",size:"xs",title:"Fit the whole crew on screen",className:"px-1.5 text-muted-foreground",onClick:()=>F(_e(b,lt(b,w),w),()=>({left:0,top:0})),children:"Fit"})]})]})}const Ys={"needs-you":"border-warning/60 bg-[color-mix(in_oklch,var(--warning)_7%,var(--card))]",failed:"border-destructive/45",unreachable:"border-dashed"},qs={"needs-you":"text-warning",failed:"text-destructive"};function Ws(t){var s,r;const e=(s=t.pullRequests)==null?void 0:s.at(-1);return[t.model&&qe(t.model),(r=t.device)==null?void 0:r.name,e&&`#${e.number}`,t.lastActivityAt&&We(t.lastActivityAt)].filter(Boolean).join(" · ")}function Hs(t){const e=ue.c(75),{node:s,width:r,toggleLeft:i,here:a,kind:c,name:o,onOpen:f,onToggle:g}=t,{member:h}=s;let l;e[0]!==h?(l=he(h),e[0]=h,e[1]=l):l=e[1];const w=l;let u;e[2]!==h?(u=Ie(h),e[2]=h,e[3]=u):u=e[3];const x=u;let p;e[4]!==c?(p=c?Ft(c):as,e[4]=c,e[5]=p):p=e[5];const m=p;let y;e[6]!==h?(y=Ws(h),e[6]=h,e[7]=y):y=e[7];const k=y,b=s.context&&"shown because a session it started is active";let M;e[8]!==x||e[9]!==o||e[10]!==b?(M=[o,x,b].filter(Boolean),e[8]=x,e[9]=o,e[10]=b,e[11]=M):M=e[11];const N=M.join(", ");let $;e[12]!==s.x||e[13]!==s.y||e[14]!==r?($={left:s.x,top:s.y,width:r,height:ne},e[12]=s.x,e[13]=s.y,e[14]=r,e[15]=$):$=e[15];const _=h.sessionId,O=a?"true":void 0;let E;e[16]!==h||e[17]!==f?(E=()=>f(h),e[16]=h,e[17]=f,e[18]=E):E=e[18];const j=Ys[w],L=a&&"outline-solid outline-[1.5px] outline-offset-2 outline-foreground/70",I=s.context&&"opacity-60 hover:opacity-100 focus-visible:opacity-100";let A;e[19]!==j||e[20]!==L||e[21]!==I?(A=oe("flex size-full cursor-pointer flex-col justify-center gap-1 rounded-lg border bg-card px-2.5 py-2 text-left shadow-xs outline-none","transition-[border-color,opacity,box-shadow] hover:border-foreground/25 hover:shadow-sm focus-visible:ring-2 focus-visible:ring-ring",j,L,I),e[19]=j,e[20]=L,e[21]=I,e[22]=A):A=e[22];let S;e[23]!==N||e[24]!==h.sessionId||e[25]!==w||e[26]!==E||e[27]!==A||e[28]!==O?(S=n.jsx("button",{type:"button","data-crew-map-card":_,"data-crew-map-state":w,"aria-current":O,"aria-label":N,onClick:E,className:A}),e[23]=N,e[24]=h.sessionId,e[25]=w,e[26]=E,e[27]=A,e[28]=O,e[29]=S):S=e[29];let R;e[30]!==m?(R=n.jsx(m,{"aria-hidden":"true",className:"mt-[3px] size-3.5 shrink-0 text-muted-foreground"}),e[30]=m,e[31]=R):R=e[31];let F;e[32]!==o?(F=n.jsx("span",{className:"line-clamp-2 min-w-0 flex-1 text-[13px]/[18px] font-medium",children:o}),e[32]=o,e[33]=F):F=e[33];let P;e[34]!==R||e[35]!==F?(P=n.jsxs("span",{className:"flex min-w-0 items-start gap-1.5",children:[R,F]}),e[34]=R,e[35]=F,e[36]=P):P=e[36];const H=fe[w];let D;e[37]!==H?(D=oe("size-1.5 shrink-0 rounded-full",H),e[37]=H,e[38]=D):D=e[38];let Y;e[39]!==D?(Y=n.jsx("span",{className:D,"aria-hidden":"true"}),e[39]=D,e[40]=Y):Y=e[40];let G;e[41]!==h||e[42]!==w?(G=Re(h)?"text-warning":qs[w],e[41]=h,e[42]=w,e[43]=G):G=e[43];let U;e[44]!==G?(U=oe("min-w-0 truncate text-muted-foreground",G),e[44]=G,e[45]=U):U=e[45];let z;e[46]!==x||e[47]!==U?(z=n.jsx("span",{className:U,children:x}),e[46]=x,e[47]=U,e[48]=z):z=e[48];let q;e[49]!==Y||e[50]!==z?(q=n.jsxs("span",{className:"flex min-w-0 items-center gap-1.5 text-xs",children:[Y,z]}),e[49]=Y,e[50]=z,e[51]=q):q=e[51];let W;e[52]!==a||e[53]!==k?(W=(k||a)&&n.jsxs("span",{className:"flex min-w-0 items-center gap-1.5 text-[11.5px] tabular-nums text-muted-foreground/75",children:[n.jsx("span",{className:"min-w-0 flex-1 truncate",children:k}),a&&n.jsx("span",{className:"shrink-0 font-medium text-foreground/70",children:"You are here"})]}),e[52]=a,e[53]=k,e[54]=W):W=e[54];let V;e[55]!==S||e[56]!==P||e[57]!==q||e[58]!==W?(V=n.jsxs(Pt,{delay:700,render:S,children:[P,q,W]}),e[55]=S,e[56]=P,e[57]=q,e[58]=W,e[59]=V):V=e[59];let d;e[60]!==h||e[61]!==o?(d=n.jsx(Yt,{side:"left",align:"start",className:"max-w-72",children:n.jsx(Bs,{member:h,name:o})}),e[60]=h,e[61]=o,e[62]=d):d=e[62];let v;e[63]!==V||e[64]!==d?(v=n.jsxs(qt,{children:[V,d]}),e[63]=V,e[64]=d,e[65]=v):v=e[65];let T;e[66]!==o||e[67]!==s||e[68]!==g||e[69]!==i?(T=s.childCount>0&&n.jsx(Us,{node:s,name:o,left:i,onToggle:g}),e[66]=o,e[67]=s,e[68]=g,e[69]=i,e[70]=T):T=e[70];let X;return e[71]!==v||e[72]!==T||e[73]!==$?(X=n.jsxs("li",{className:"group/node absolute",style:$,children:[v,T]}),e[71]=v,e[72]=T,e[73]=$,e[74]=X):X=e[74],X}function Us(t){const e=ue.c(25),{node:s,name:r,left:i,onToggle:a}=t,{collapsed:c,hidden:o}=s;let f=null;o.needsYou>0?f="needs-you":o.working>0&&(f="working");let g;e[0]!==c||e[1]!==o.count||e[2]!==o.needsYou||e[3]!==o.working||e[4]!==r?(g=c?[`Show the ${vt(o.count)} under ${r}`,o.needsYou>0&&`${o.needsYou} waiting on you`,o.working>0&&`${o.working} working`].filter(Boolean).join(", "):`Fold the sessions under ${r}`,e[0]=c,e[1]=o.count,e[2]=o.needsYou,e[3]=o.working,e[4]=r,e[5]=g):g=e[5];const h=g,l=!c,w=c?void 0:"Fold";let u;e[6]!==s.member.sessionId||e[7]!==a?(u=()=>a(s.member.sessionId),e[6]=s.member.sessionId,e[7]=a,e[8]=u):u=e[8];const x=!c&&"opacity-0 group-hover/node:opacity-100 focus-visible:opacity-100 [@media(hover:none)]:opacity-100";let p;e[9]!==x?(p=oe("absolute z-10 flex h-5 min-w-5 -translate-x-1/2 -translate-y-1/2 cursor-pointer items-center justify-center gap-1 rounded-full border bg-card px-1.5 text-[11px] font-medium tabular-nums text-muted-foreground shadow-xs outline-none","transition-opacity hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",x),e[9]=x,e[10]=p):p=e[10];let m;e[11]!==i?(m={left:i,top:ne/2},e[11]=i,e[12]=m):m=e[12];let y;e[13]!==f||e[14]!==c||e[15]!==o.count?(y=c?n.jsxs(n.Fragment,{children:[f&&n.jsx("span",{className:oe("size-1.5 rounded-full",fe[f]),"aria-hidden":"true"}),"+",o.count]}):n.jsx(pt,{"aria-hidden":"true",className:"size-3"}),e[13]=f,e[14]=c,e[15]=o.count,e[16]=y):y=e[16];let k;return e[17]!==h||e[18]!==l||e[19]!==w||e[20]!==u||e[21]!==p||e[22]!==m||e[23]!==y?(k=n.jsx("button",{type:"button","aria-expanded":l,"aria-label":h,title:w,onClick:u,className:p,style:m,children:y}),e[17]=h,e[18]=l,e[19]=w,e[20]=u,e[21]=p,e[22]=m,e[23]=y,e[24]=k):k=e[24],k}function Bs(t){var u,x;const e=ue.c(35),{member:s,name:r}=t;let i;e[0]!==s.firstUserMessage?(i=(u=s.firstUserMessage)==null?void 0:u.replace(/\s+/g," ").trim(),e[0]=s.firstUserMessage,e[1]=i):i=e[1];const a=i;let c;e[2]!==s.cwd?(c=(x=s.cwd)==null?void 0:x.split(/[\\/]/).filter(Boolean).at(-1),e[2]=s.cwd,e[3]=c):c=e[3];const o=c;let f;if(e[4]!==o||e[5]!==s.device||e[6]!==s.model||e[7]!==s.startedAt||e[8]!==s.turnCount){if(f=[],s.model){let p;e[10]!==s.model?(p=qe(s.model),e[10]=s.model,e[11]=p):p=e[11];let m;e[12]!==p?(m=["Model",p],e[12]=p,e[13]=m):m=e[13],f.push(m)}if(s.device){let p;e[14]!==s.device.name?(p=["Device",s.device.name],e[14]=s.device.name,e[15]=p):p=e[15],f.push(p)}if(o){let p;e[16]!==o?(p=["Folder",o],e[16]=o,e[17]=p):p=e[17],f.push(p)}if(s.startedAt){let p;e[18]!==s.startedAt?(p=mt(s.startedAt),e[18]=s.startedAt,e[19]=p):p=e[19];let m;e[20]!==p?(m=["Started",p],e[20]=p,e[21]=m):m=e[21],f.push(m)}if(s.turnCount){const p=String(s.turnCount);let m;e[22]!==p?(m=["Turns",p],e[22]=p,e[23]=m):m=e[23],f.push(m)}e[4]=o,e[5]=s.device,e[6]=s.model,e[7]=s.startedAt,e[8]=s.turnCount,e[9]=f}else f=e[9];let g;e[24]!==r?(g=n.jsx("p",{className:"font-medium",children:r}),e[24]=r,e[25]=g):g=e[25];let h;e[26]!==r||e[27]!==a?(h=a&&a!==r&&n.jsx("p",{className:"line-clamp-3 text-muted-foreground",children:a}),e[26]=r,e[27]=a,e[28]=h):h=e[28];let l;e[29]!==f?(l=f.length>0&&n.jsx("dl",{className:"grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-0.5",children:f.map(Gs)}),e[29]=f,e[30]=l):l=e[30];let w;return e[31]!==g||e[32]!==h||e[33]!==l?(w=n.jsxs("div",{className:"flex flex-col gap-1.5 py-0.5",children:[g,h,l]}),e[31]=g,e[32]=h,e[33]=l,e[34]=w):w=e[34],w}function Gs(t){const[e,s]=t;return n.jsxs("div",{className:"contents",children:[n.jsx("dt",{className:"text-muted-foreground",children:e}),n.jsx("dd",{className:"truncate tabular-nums",children:s})]},e)}const Ks=4e3;function Vs(t){var p;const[e,s]=C.useState(null),[r,i]=C.useState(null),[a,c]=C.useState(new Set),o=(p=Wt())==null?void 0:p.refresh,f=C.useRef(t),g=C.useRef(new Set);C.useLayoutEffect(()=>(f.current=t,()=>{f.current=null}),[t]);const h=C.useCallback(async m=>{if(t)try{const y=await ze(`/api/session-crew/${encodeURIComponent(t)}`);if(!m())return;if(!y.ok){i(y.status===404?"This session is no longer available.":"Couldn't load the crew.");return}const k=await y.json();if(!m())return;s(b=>JSON.stringify(b)===JSON.stringify(k)?b:k),i(null)}catch{m()&&i("Couldn't load the crew.")}},[t]);it(t?h:null,Ks),C.useEffect(()=>{s(m=>m!=null&&m.members.some(y=>y.sessionId===t)?m:null),i(null),c(new Set)},[t]);const l=C.useCallback(async(m,y,k)=>{const b=`${t}:${m}`;if(g.current.has(b))return;const M=()=>f.current===t;g.current.add(b),c(N=>new Set(N).add(m));try{const N=await y();if(!M())return;if(!N.ok&&N.status!==404){i(k);return}o==null||o(),await h(M)}catch{M()&&i(k)}finally{g.current.delete(b),M()&&c(N=>{const $=new Set(N);return $.delete(m),$})}},[h,o,t]),w=C.useCallback((m,y,k)=>l(y,()=>je("/api/session-respond",{sessionId:m,requestId:y,...k}),"Couldn't send the answer."),[l]),u=C.useCallback((m,y)=>l(y,()=>je("/api/delegated-tasks",{sessionId:m,taskId:y,action:"ack"}),"Couldn't mark the result read."),[l]),x=C.useCallback(m=>l(m.sessionId,()=>{var y;return((y=m.result)==null?void 0:y.state)==="running"&&m.parentId?je("/api/delegated-tasks",{sessionId:m.parentId,taskId:m.result.taskId,action:"cancel"}):je("/api/stop-session",{sessionId:m.sessionId,cancelQueued:!0})},"Couldn't stop the session."),[l]);return{crew:e,error:r,busy:a,respond:w,markRead:u,stop:x}}const Xs=[{id:"all",label:"All"},{id:"working",label:"Working"},{id:"needs-you",label:"Need you"},{id:"done",label:"Done"}],Js={working:"bg-success shadow-[0_0_0_2px_color-mix(in_oklch,var(--success)_25%,transparent)]","needs-you":"bg-warning",done:"bg-muted-foreground/40",failed:"bg-destructive",unreachable:"border border-muted-foreground/50"};function fn(t){var U;const e=ue.c(40),{context:s,closePanel:r}=t,i=((U=s.session)==null?void 0:U.sessionId)??null,{crew:a,error:c,busy:o,respond:f,markRead:g,stop:h}=Vs(i),{names:l}=Ht(),[w,u]=C.useState("overview");let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=new Set,e[0]=x):x=e[0];const[p,m]=C.useState(x),y=Ls((a==null?void 0:a.rootId)??"");let k;e[1]!==(a==null?void 0:a.members)?(k=new Map(((a==null?void 0:a.members)??[]).map(Qs)),e[1]=a==null?void 0:a.members,e[2]=k):k=e[2];const b=k;let M;e[3]!==(a==null?void 0:a.members)?(M=new Map(((a==null?void 0:a.members)??[]).flatMap(Zs)),e[3]=a==null?void 0:a.members,e[4]=M):M=e[4];const N=M;let $;e[5]!==b||e[6]!==l?($=z=>gs(z,b,l),e[5]=b,e[6]=l,e[7]=$):$=e[7];const _=$;let O;e[8]!==s?(O=z=>{z.address&&z.device?Xt(Jt(z.address.dirName,z.address.fileName,z.device.id)):z.address&&s.openSession?s.openSession(z.address.dirName,z.address.fileName):Zt(z.sessionId)},e[8]=s,e[9]=O):O=e[9];const E=O;let j;e[10]===Symbol.for("react.memo_cache_sentinel")?(j=z=>m(q=>{const W=new Set(q);return W.delete(z)||W.add(z),W}),e[10]=j):j=e[10];const L=j;let I;e[11]!==b?(I=z=>{m(q=>{var v;const W=new Set(q),V=new Set;let d=z.parentId;for(;d&&!V.has(d);)V.add(d),W.delete(d),d=((v=b.get(d))==null?void 0:v.parentId)??null;return W}),requestAnimationFrame(()=>{var q;return(q=document.querySelector(`[data-crew-row="${z.sessionId}"]`))==null?void 0:q.scrollIntoView({block:"nearest",behavior:"smooth"})})},e[11]=b,e[12]=I):I=e[12];const A=I;let S,R,F;e[13]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx(ht,{"aria-hidden":"true",className:"size-4 text-muted-foreground"}),F=n.jsx("h2",{className:"text-sm font-medium",children:"Crew"}),S=n.jsx("div",{className:"flex-1"}),e[13]=S,e[14]=R,e[15]=F):(S=e[13],R=e[14],F=e[15]);let P;e[16]===Symbol.for("react.memo_cache_sentinel")?(P=n.jsx(cs,{"data-icon":"inline-start"}),e[16]=P):P=e[16];let H;e[17]!==r?(H=n.jsxs("div",{className:"flex h-10 shrink-0 items-center gap-2 px-3",children:[R,F,S,n.jsx(te,{variant:"ghost",size:"icon-sm",onClick:r,"aria-label":"Close crew",children:P})]}),e[17]=r,e[18]=H):H=e[18];let D;e[19]!==c?(D=c&&n.jsx("p",{role:"alert",className:"px-3 pb-2 text-xs text-destructive",children:c}),e[19]=c,e[20]=D):D=e[20];let Y;e[21]!==o||e[22]!==p||e[23]!==a||e[24]!==c||e[25]!==N||e[26]!==y||e[27]!==g||e[28]!==_||e[29]!==E||e[30]!==f||e[31]!==A||e[32]!==i||e[33]!==h||e[34]!==w?(Y=a?n.jsxs(Ut,{value:w,onValueChange:u,className:"min-h-0 flex-1 grid-rows-[auto_minmax(0,1fr)]",children:[n.jsxs(Bt,{variant:"line",className:"mx-3 mb-1",children:[n.jsx(Ae,{value:"overview",children:"Overview"}),n.jsx(Ae,{value:"map",children:"Map"}),n.jsx(Ae,{value:"chat",children:"Chat"})]}),n.jsx(Oe,{value:"overview",className:"min-h-0",children:n.jsxs(ft,{className:"h-full min-h-0",children:[n.jsx(en,{crew:a,hereId:i,nameOf:_,onOpen:E,onReveal:A}),n.jsx(sn,{crew:a,busy:o,nameOf:_,onOpen:E,onRespond:f}),n.jsx(nn,{crew:a,hereId:i,busy:o,nameOf:_,onOpen:E,onMarkRead:g,onStop:h,collapsed:p,onToggle:L})]})}),n.jsx(Oe,{value:"map",className:"min-h-0",children:n.jsx(_s,{crew:a,hereId:i,controls:y,kinds:N,nameOf:_,onOpen:E})}),n.jsx(Oe,{value:"chat",keepMounted:!0,className:"min-h-0",children:n.jsx(hs,{rootId:a.rootId,kinds:N,active:w==="chat"},a.rootId)})]}):!c&&n.jsx("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Loading the crew…"}),e[21]=o,e[22]=p,e[23]=a,e[24]=c,e[25]=N,e[26]=y,e[27]=g,e[28]=_,e[29]=E,e[30]=f,e[31]=A,e[32]=i,e[33]=h,e[34]=w,e[35]=Y):Y=e[35];let G;return e[36]!==H||e[37]!==D||e[38]!==Y?(G=n.jsxs("aside",{"aria-label":"Crew",className:"flex size-full min-h-0 flex-col bg-canvas",children:[H,D,Y]}),e[36]=H,e[37]=D,e[38]=Y,e[39]=G):G=e[39],G}function Zs(t){return t.address?[[t.sessionId,Gt(t.address.dirName)]]:[]}function Qs(t){return[t.sessionId,t]}function en(t){var M;const e=ue.c(46),{crew:s,hereId:r,nameOf:i,onOpen:a,onReveal:c}=t;let o,f,g,h,l;if(e[0]!==s||e[1]!==r||e[2]!==i||e[3]!==a||e[4]!==c){let N;e[10]!==s.rootId?(N=S=>S.sessionId===s.rootId,e[10]=s.rootId,e[11]=N):N=e[11];const $=s.members.find(N),_=s.members.filter(tn);let O;e[12]!==s?(O=bs(s),e[12]=s,e[13]=O):O=e[13],l=O;const E=(M=_[0])==null?void 0:M.startedAt;o="Crew summary",f="border-b px-3 pb-3 pt-1";const j=$&&n.jsx("button",{type:"button",onClick:()=>a($),"aria-current":$.sessionId===r?"true":void 0,className:"min-w-0 flex-1 truncate rounded-sm text-left text-sm font-medium outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring",children:i($)}),L=l.size===1?"session":"sessions",I=E?` · since ${mt(E)}`:"";let A;e[14]!==L||e[15]!==I||e[16]!==l.size?(A=n.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-muted-foreground",children:[l.size," ",L,I]}),e[14]=L,e[15]=I,e[16]=l.size,e[17]=A):A=e[17],e[18]!==A||e[19]!==j?(g=n.jsxs("div",{className:"flex items-baseline gap-2",children:[j,A]}),e[18]=A,e[19]=j,e[20]=g):g=e[20],h=_.length>0&&n.jsx("div",{"data-crew-strip":!0,className:"mt-2.5 grid grid-cols-[repeat(auto-fit,minmax(6px,1fr))] gap-[3px]",role:"list","aria-label":"One cell per session, in the order they were started",children:_.map(S=>{const R=he(S);return n.jsx("button",{type:"button",role:"listitem","data-crew-cell":R,title:`${i(S)}: ${Ie(S)}`,"aria-label":`${i(S)}: ${Ie(S)}`,onClick:()=>c(S),className:oe("h-2.5 rounded-[2px] outline-none focus-visible:ring-2 focus-visible:ring-ring",Js[R],S.sessionId===r&&"outline outline-[1.5px] outline-offset-2 outline-foreground")},S.sessionId)})}),e[0]=s,e[1]=r,e[2]=i,e[3]=a,e[4]=c,e[5]=o,e[6]=f,e[7]=g,e[8]=h,e[9]=l}else o=e[5],f=e[6],g=e[7],h=e[8],l=e[9];let w;e[21]!==l.working?(w=l.working>0&&n.jsx(Ne,{dot:fe.working,value:l.working,label:"working"}),e[21]=l.working,e[22]=w):w=e[22];let u;e[23]!==l.needsYou?(u=l.needsYou>0&&n.jsx(Ne,{dot:fe["needs-you"],value:l.needsYou,label:l.needsYou===1?"needs you":"need you"}),e[23]=l.needsYou,e[24]=u):u=e[24];let x;e[25]!==l.done?(x=l.done>0&&n.jsx(Ne,{dot:fe.done,value:l.done,label:"done"}),e[25]=l.done,e[26]=x):x=e[26];let p;e[27]!==l.failed?(p=l.failed>0&&n.jsx(Ne,{dot:fe.failed,value:l.failed,label:"failed"}),e[27]=l.failed,e[28]=p):p=e[28];let m;e[29]!==l.unreachable?(m=l.unreachable>0&&n.jsx(Ne,{dot:fe.unreachable,value:l.unreachable,label:"away"}),e[29]=l.unreachable,e[30]=m):m=e[30];let y;e[31]!==l.unreadResults?(y=l.unreadResults>0&&n.jsxs("span",{className:"ml-auto text-warning",children:[n.jsx("span",{className:"font-medium tabular-nums",children:l.unreadResults})," ",l.unreadResults===1?"result":"results"," unread"]}),e[31]=l.unreadResults,e[32]=y):y=e[32];let k;e[33]!==y||e[34]!==w||e[35]!==u||e[36]!==x||e[37]!==p||e[38]!==m?(k=n.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-x-3.5 gap-y-1 text-xs text-muted-foreground",children:[w,u,x,p,m,y]}),e[33]=y,e[34]=w,e[35]=u,e[36]=x,e[37]=p,e[38]=m,e[39]=k):k=e[39];let b;return e[40]!==o||e[41]!==k||e[42]!==f||e[43]!==g||e[44]!==h?(b=n.jsxs("section",{"aria-label":o,className:f,children:[g,h,k]}),e[40]=o,e[41]=k,e[42]=f,e[43]=g,e[44]=h,e[45]=b):b=e[45],b}function tn(t){return t.parentId!==null}function Ne(t){const e=ue.c(10),{dot:s,value:r,label:i}=t;let a;e[0]!==s?(a=oe("size-1.5 rounded-full",s),e[0]=s,e[1]=a):a=e[1];let c;e[2]!==a?(c=n.jsx("span",{className:a,"aria-hidden":"true"}),e[2]=a,e[3]=c):c=e[3];let o;e[4]!==r?(o=n.jsx("span",{className:"font-medium tabular-nums text-foreground",children:r}),e[4]=r,e[5]=o):o=e[5];let f;return e[6]!==i||e[7]!==c||e[8]!==o?(f=n.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[c,o," ",i]}),e[6]=i,e[7]=c,e[8]=o,e[9]=f):f=e[9],f}function sn(t){const e=ue.c(6),{crew:s,busy:r,nameOf:i,onOpen:a,onRespond:c}=t,o=ws(s),[f,g]=C.useState(0);if(o.length===0)return null;const h=Math.min(f,o.length-1),{member:l,pending:w}=o[h],u=o[h+1];let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=n.jsx("h3",{className:"text-sm font-medium text-foreground",children:"Needs you"}),e[0]=x):x=e[0];let p;e[1]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx("span",{className:"flex-1"}),e[1]=p):p=e[1];let m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("span",{className:oe("size-1.5 shrink-0 rounded-full",fe["needs-you"]),"aria-hidden":"true"}),e[2]=m):m=e[2];const y=w.askedAt?`waiting ${We(new Date(w.askedAt).toISOString())}`:"waiting";let k;e[3]!==y?(k=n.jsx("span",{className:"ml-auto shrink-0 tabular-nums text-warning",children:y}),e[3]=y,e[4]=k):k=e[4];let b;return e[5]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsx(De,{"data-icon":"inline-end"}),e[5]=b):b=e[5],n.jsxs("section",{"aria-label":"Needs you",className:"border-b px-3 py-2.5",children:[n.jsxs("div",{className:"mb-2 flex items-center gap-2 text-xs text-muted-foreground",children:[x,n.jsx("span",{className:"tabular-nums",children:o.length}),p,o.length>1&&n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"tabular-nums",children:[h+1," of ",o.length]}),n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Previous request",disabled:h===0,onClick:()=>g(h-1),children:n.jsx(ls,{"data-icon":"inline-start"})}),n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":"Next request",disabled:h===o.length-1,onClick:()=>g(h+1),children:n.jsx(De,{"data-icon":"inline-start"})})]})]}),n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 px-0.5 text-xs",children:[m,n.jsx("span",{className:"min-w-0 truncate font-medium text-foreground",children:i(l)}),l.device&&n.jsx(Kt,{variant:"outline",children:l.device.name}),k]}),n.jsx(Vt,{sessionId:l.sessionId,pending:w,queued:0,responding:r.has(w.requestId),onRespond:(M,N)=>void c(l.sessionId,M,N),onOpen:()=>a(l)},w.requestId),n.jsxs(te,{variant:"ghost",size:"xs",className:"self-end text-muted-foreground",onClick:()=>a(l),children:["Open session",b]})]}),u&&n.jsxs("p",{className:"mt-2 truncate text-xs text-muted-foreground",children:["Next: ",n.jsx("span",{className:"font-medium text-foreground",children:i(u.member)})," ",Ie(u.member).toLowerCase()]})]})}function nn({crew:t,hereId:e,busy:s,nameOf:r,onOpen:i,onMarkRead:a,onStop:c,collapsed:o,onToggle:f}){const[g,h]=C.useState("all");let l=null;const w=xs(t).filter(({member:u,depth:x})=>{if(g!=="all"){const p=he(u);return g==="done"?p!=="working"&&p!=="needs-you":p===g}return l!==null&&x>l?!1:(l=o.has(u.sessionId)?x:null,!0)});return n.jsxs("section",{"aria-label":"Sessions",className:"px-1.5 py-2.5",children:[n.jsxs("div",{className:"mb-1.5 flex items-center gap-2 px-1.5",children:[n.jsx("h3",{className:"text-sm font-medium",children:"Sessions"}),n.jsx("span",{className:"flex-1"}),n.jsx("div",{role:"radiogroup","aria-label":"Show sessions",className:"flex gap-0.5",children:Xs.map(({id:u,label:x})=>n.jsx("button",{type:"button",role:"radio","aria-checked":g===u,onClick:()=>h(u),className:oe("rounded-full px-2 py-0.5 text-[11px] text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",g===u&&"bg-accent text-foreground"),children:x},u))})]}),w.length===0?n.jsx("p",{className:"px-1.5 py-4 text-center text-xs text-muted-foreground",children:"No sessions here."}):n.jsx("ul",{className:"flex flex-col",children:w.map(u=>n.jsx(on,{row:u,here:u.member.sessionId===e,busy:s,name:r(u.member),onOpen:i,onMarkRead:a,onStop:c,collapsed:g==="all"?o.has(u.member.sessionId):void 0,onToggle:()=>f(u.member.sessionId)},u.member.sessionId))})]})}function on(t){var ce,pe;const e=ue.c(81),{row:s,here:r,busy:i,name:a,onOpen:c,onMarkRead:o,onStop:f,collapsed:g,onToggle:h}=t,{member:l,depth:w,children:u}=s;let x;e[0]!==l?(x=he(l),e[0]=l,e[1]=x):x=e[1];const p=x;let m;e[2]!==l?(m=Ie(l),e[2]=l,e[3]=m):m=e[3];const y=m;let k;e[4]!==l.pullRequests?(k=(ce=l.pullRequests)==null?void 0:ce.at(-1),e[4]=l.pullRequests,e[5]=k):k=e[5];const b=k;let M;e[6]!==l?(M=Re(l)&&l.result&&l.parentId,e[6]=l,e[7]=M):M=e[7];const N=M,$=(p==="working"||p==="needs-you")&&(!l.device||((pe=l.result)==null?void 0:pe.state)==="running"&&l.parentId!==null),_=l.sessionId,O=r?"bg-accent":"hover:bg-accent/60",E=w>0&&"border-l border-border/70";let j;e[8]!==O||e[9]!==E?(j=oe("group/crew relative flex items-start rounded-md",O,E),e[8]=O,e[9]=E,e[10]=j):j=e[10];const L=w>0?6+(w-1)*14:0;let I;e[11]!==L?(I={marginLeft:L},e[11]=L,e[12]=I):I=e[12];let A;e[13]!==u||e[14]!==g||e[15]!==a||e[16]!==h?(A=u>0&&g!==void 0&&n.jsx(te,{variant:"ghost",size:"icon-xs","aria-label":`${g?"Expand":"Collapse"} ${a}'s child sessions`,"aria-expanded":!g,onClick:h,children:n.jsx(De,{"data-icon":"inline-start",className:oe("transition-transform",!g&&"rotate-90")})}),e[13]=u,e[14]=g,e[15]=a,e[16]=h,e[17]=A):A=e[17];let S;e[18]!==A?(S=n.jsx("span",{className:"mt-1.5 flex w-6 shrink-0 justify-center",children:A}),e[18]=A,e[19]=S):S=e[19];let R;e[20]!==l||e[21]!==c?(R=()=>c(l),e[20]=l,e[21]=c,e[22]=R):R=e[22];const F=r?"true":void 0,P=`${a}, ${y}`,H=fe[p];let D;e[23]!==H?(D=oe("size-1.5 justify-self-center rounded-full",H),e[23]=H,e[24]=D):D=e[24];let Y;e[25]!==D?(Y=n.jsx("span",{className:D,"aria-hidden":"true"}),e[25]=D,e[26]=Y):Y=e[26];let G;e[27]!==a?(G=n.jsx("span",{className:"truncate",children:a}),e[27]=a,e[28]=G):G=e[28];let U;e[29]!==r?(U=r&&n.jsx("span",{className:"shrink-0 rounded-full border px-1.5 text-[10.5px] font-normal text-muted-foreground",children:"you are here"}),e[29]=r,e[30]=U):U=e[30];let z;e[31]!==G||e[32]!==U?(z=n.jsxs("span",{className:"flex min-w-0 items-center gap-1.5 text-[12.5px] font-medium",children:[G,U]}),e[31]=G,e[32]=U,e[33]=z):z=e[33];let q;e[34]!==l.lastActivityAt?(q=l.lastActivityAt?We(l.lastActivityAt):"",e[34]=l.lastActivityAt,e[35]=q):q=e[35];let W;e[36]!==q?(W=n.jsx("span",{className:"text-[11px] tabular-nums text-muted-foreground/80",children:q}),e[36]=q,e[37]=W):W=e[37];const V=(p==="needs-you"||N)&&"text-warning",d=p==="failed"&&"text-destructive";let v;e[38]!==V||e[39]!==d?(v=oe("min-w-0 flex-1 truncate",V,d),e[38]=V,e[39]=d,e[40]=v):v=e[40];let T;e[41]!==y||e[42]!==v?(T=n.jsx("span",{className:v,children:y}),e[41]=y,e[42]=v,e[43]=T):T=e[43];let X;e[44]!==b?(X=b&&n.jsxs("span",{className:"shrink-0 rounded-full border px-1.5 text-[11px]",children:["#",b.number]}),e[44]=b,e[45]=X):X=e[45];let ae;e[46]!==l.device?(ae=l.device&&n.jsx("span",{className:"shrink-0",children:l.device.name}),e[46]=l.device,e[47]=ae):ae=e[47];let Z;e[48]!==u?(Z=u>0&&n.jsxs("span",{className:"shrink-0",children:[u," ",u===1?"session":"sessions"]}),e[48]=u,e[49]=Z):Z=e[49];let Q;e[50]!==l.model?(Q=l.model&&n.jsx("span",{className:"shrink-0 text-muted-foreground/70",children:qe(l.model)}),e[50]=l.model,e[51]=Q):Q=e[51];let ee;e[52]!==T||e[53]!==X||e[54]!==ae||e[55]!==Z||e[56]!==Q?(ee=n.jsxs("span",{className:"col-start-2 col-end-4 flex min-w-0 items-center gap-2 text-[11.5px] text-muted-foreground",children:[T,X,ae,Z,Q]}),e[52]=T,e[53]=X,e[54]=ae,e[55]=Z,e[56]=Q,e[57]=ee):ee=e[57];let se;e[58]!==R||e[59]!==F||e[60]!==P||e[61]!==Y||e[62]!==z||e[63]!==W||e[64]!==ee?(se=n.jsxs("button",{type:"button",onClick:R,"aria-current":F,"aria-label":P,className:"grid min-w-0 flex-1 grid-cols-[14px_minmax(0,1fr)_auto] items-center gap-x-2 gap-y-0.5 rounded-md px-2 py-1.5 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[Y,z,W,ee]}),e[58]=R,e[59]=F,e[60]=P,e[61]=Y,e[62]=z,e[63]=W,e[64]=ee,e[65]=se):se=e[65];let re;e[66]!==i||e[67]!==$||e[68]!==l||e[69]!==a||e[70]!==o||e[71]!==f||e[72]!==N?(re=(N||$)&&n.jsxs("div",{className:"absolute right-1.5 top-1 hidden gap-1 group-focus-within/crew:flex group-hover/crew:flex",children:[N&&l.result&&l.parentId&&n.jsx(te,{variant:"outline",size:"icon-xs",className:"bg-popover","aria-label":`Mark ${a}'s result read`,title:"Mark the result read",disabled:i.has(l.result.taskId),onClick:()=>void o(l.parentId,l.result.taskId),children:n.jsx(is,{"data-icon":"inline-start"})}),$&&n.jsx(te,{variant:"outline",size:"icon-xs",className:"bg-popover text-destructive","aria-label":`Stop ${a}`,title:"Stop this session",disabled:i.has(l.sessionId),onClick:()=>void f(l),children:n.jsx(rs,{"data-icon":"inline-start"})})]}),e[66]=i,e[67]=$,e[68]=l,e[69]=a,e[70]=o,e[71]=f,e[72]=N,e[73]=re):re=e[73];let J;return e[74]!==l.sessionId||e[75]!==I||e[76]!==S||e[77]!==se||e[78]!==re||e[79]!==j?(J=n.jsxs("li",{"data-crew-row":_,className:j,style:I,children:[S,se,re]}),e[74]=l.sessionId,e[75]=I,e[76]=S,e[77]=se,e[78]=re,e[79]=j,e[80]=J):J=e[80],J}export{fn as CrewPanel};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as G,r as H,j as i}from"./vendor-react-gGw_S5I_.js";import{V as M,W as P,J as X,X as z}from"./index-
|
|
1
|
+
import{c as G,r as H,j as i}from"./vendor-react-gGw_S5I_.js";import{V as M,W as P,J as X,X as z}from"./index-CPTFl4Qh.js";const F=2e5;function W(l){const e=G.c(32),{value:t,onChange:v,readOnly:f,filePath:E,ariaLabel:L,textareaRef:u,onKeyDown:S,onSelect:_}=l,p=M(),[h,N]=H.useState(null),d=H.useRef(null),m=H.useRef(null);let x;e[0]!==E?(x=P(E)??"markdown",e[0]=E,e[1]=x):x=e[1];const g=x,b=t.length>F;let j,k;e[2]!==p||e[3]!==g||e[4]!==b||e[5]!==t?(j=()=>{if(b){N(null);return}let r=!1;const I=setTimeout(()=>{z(t,g,p).then(A=>{r||N(A)})},80);return()=>{r=!0,clearTimeout(I)}},k=[t,g,p,b],e[2]=p,e[3]=g,e[4]=b,e[5]=t,e[6]=j,e[7]=k):(j=e[6],k=e[7]),H.useEffect(j,k);let R;e[8]===Symbol.for("react.memo_cache_sentinel")?(R=()=>{d.current&&m.current&&(m.current.scrollTop=d.current.scrollTop,m.current.scrollLeft=d.current.scrollLeft)},e[8]=R):R=e[8];const D=R;let T;e[9]!==u?(T=r=>{d.current=r,u&&(u.current=r)},e[9]=u,e[10]=T):T=e[10];const y=T;let n;e[11]!==h||e[12]!==t?(n=h?h.map(J):i.jsx("code",{className:"text-foreground",children:t}),e[11]=h,e[12]=t,e[13]=n):n=e[13];let s;e[14]!==n?(s=i.jsx("pre",{ref:m,"aria-hidden":!0,className:"absolute inset-0 overflow-hidden font-mono text-[13px] leading-relaxed p-4 m-0 pointer-events-none whitespace-pre-wrap break-words",children:n}),e[14]=n,e[15]=s):s=e[15];let o;e[16]!==v?(o=r=>v(r.target.value),e[16]=v,e[17]=o):o=e[17];const C=f&&"cursor-default";let a;e[18]!==C?(a=X("absolute inset-0 w-full h-full resize-none bg-transparent font-mono text-[13px] leading-relaxed p-4 outline-none","text-transparent caret-foreground selection:bg-selection","scrollbar-thin scrollbar-track-transparent scrollbar-thumb-border",C),e[18]=C,e[19]=a):a=e[19];let c;e[20]!==L||e[21]!==y||e[22]!==S||e[23]!==_||e[24]!==f||e[25]!==a||e[26]!==o||e[27]!==t?(c=i.jsx("textarea",{ref:y,"aria-label":L,value:t,onChange:o,onScroll:D,onKeyDown:S,onSelect:_,readOnly:f,spellCheck:!1,className:a,placeholder:"Empty file"}),e[20]=L,e[21]=y,e[22]=S,e[23]=_,e[24]=f,e[25]=a,e[26]=o,e[27]=t,e[28]=c):c=e[28];let w;return e[29]!==c||e[30]!==s?(w=i.jsxs("div",{className:"relative min-h-0 flex-1 bg-background",children:[s,c]}),e[29]=c,e[30]=s,e[31]=w):w=e[31],w}function J(l,e){return i.jsxs("span",{children:[l.map(K),`
|
|
2
2
|
`]},e)}function K(l,e){return i.jsx("span",{style:{color:l.color},children:l.content},e)}export{W as H};
|
package/dist/web/assets/{KeyboardShortcutsDialog-yO3h4xr-.js → KeyboardShortcutsDialog-L7rRhApI.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as q,j as t,r as k}from"./vendor-react-gGw_S5I_.js";import{D as F,g as $,K as T,e as Q,B as P,f as Y,r as _,h as H,i as M,j as U,k as J,l as V,I as W,m as X,n as Z,o as ee,A as te,p as se,q as ae,s as le,t as ne,u as re}from"./index-
|
|
1
|
+
import{c as q,j as t,r as k}from"./vendor-react-gGw_S5I_.js";import{D as F,g as $,K as T,e as Q,B as P,f as Y,r as _,h as H,i as M,j as U,k as J,l as V,I as W,m as X,n as Z,o as ee,A as te,p as se,q as ae,s as le,t as ne,u as re}from"./index-CPTFl4Qh.js";import{R as O,K as oe,S as ce}from"./vendor-ui-DQeMoSiV.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";const ie=new Set(["Alt","Control","Meta","Shift"]);function fe(e){const s=q.c(6),{open:f,onOpenChange:l}=e,x=f?"open":"closed";let a;s[0]!==x?(a=t.jsx(de,{},x),s[0]=x,s[1]=a):a=s[1];let r;return s[2]!==l||s[3]!==f||s[4]!==a?(r=t.jsx(F,{open:f,onOpenChange:l,children:a}),s[2]=l,s[3]=f,s[4]=a,s[5]=r):r=s[5],r}function de(){const e=q.c(45),[s,f]=k.useState(""),[l,x]=k.useState(null),[a,r]=k.useState(null),[B,G]=k.useState($);let E,I;e[0]!==l?(E=()=>{if(!l)return;const D=l,A=function(n){if(n.key==="Escape"){n.preventDefault(),n.stopPropagation(),x(null),r(null);return}if(ie.has(n.key))return;n.preventDefault(),n.stopPropagation();const c=le(n),p=ne(c,D);if(p){r(`Already assigned to “${p.label}”.`);return}re(D,c),G($()),x(null),r(null)};return window.addEventListener("keydown",A,!0),()=>window.removeEventListener("keydown",A,!0)},I=[l],e[0]=l,e[1]=E,e[2]=I):(E=e[1],I=e[2]),k.useEffect(E,I);let g,j,d,y,b,N,S,w,m,u,h;if(e[3]!==B||e[4]!==a||e[5]!==s||e[6]!==l){const D=s.trim().toLowerCase(),A=D?T.filter(i=>`${i.label} ${i.description} ${i.group}`.toLowerCase().includes(D)):T;j=H,S="max-w-2xl gap-0 overflow-hidden p-0",w=!1,e[18]===Symbol.for("react.memo_cache_sentinel")?(m=t.jsxs(M,{className:"p-4 pb-3",children:[t.jsxs(U,{className:"flex items-center gap-2",children:[t.jsx(oe,{"data-icon":"inline-start","aria-hidden":"true",className:"size-4"}),"Keyboard shortcuts"]}),t.jsx(J,{children:"Click a shortcut, then press a new key combination. Changes are saved on this device."})]}),u=t.jsx(V,{}),e[18]=m,e[19]=u):(m=e[18],u=e[19]);let K;e[20]===Symbol.for("react.memo_cache_sentinel")?(K=t.jsx(W,{children:t.jsx(ce,{"data-icon":"inline-start","aria-hidden":"true"})}),e[20]=K):K=e[20];let n;e[21]===Symbol.for("react.memo_cache_sentinel")?(n=i=>f(i.target.value),e[21]=n):n=e[21];let c;e[22]!==s?(c=t.jsxs(X,{className:"flex-1",children:[K,t.jsx(Z,{"aria-label":"Search keyboard shortcuts",value:s,onChange:n,placeholder:"Search shortcuts…"})]}),e[22]=s,e[23]=c):c=e[23];let p;e[24]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsxs(P,{variant:"outline",size:"sm",onClick:()=>{ee(),G($()),r(null)},children:[t.jsx(O,{"data-icon":"inline-start"}),"Reset all"]}),e[24]=p):p=e[24],e[25]!==c?(h=t.jsxs("div",{className:"flex items-center gap-2 p-3",children:[c,p]}),e[25]=c,e[26]=h):h=e[26],e[27]!==a?(d=a&&t.jsx(te,{variant:"destructive",className:"mx-3 mb-2 w-auto",children:t.jsxs(se,{children:[a," Press another shortcut or Esc to cancel."]})}),e[27]=a,e[28]=d):d=e[28],g=ae,N="h-[min(28rem,60vh)]",y="flex flex-col gap-4 px-3 pb-4",b=Q.map(i=>{const L=A.filter(o=>o.group===i);return L.length===0?null:t.jsxs("section",{className:"flex flex-col gap-1",children:[t.jsx("h3",{className:"px-2 py-1 text-xs font-medium text-muted-foreground",children:i}),L.map(o=>{const z=l===o.command;return t.jsxs("div",{className:"flex min-h-12 items-center gap-3 rounded-md px-2 py-1.5 hover:bg-accent",children:[t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsx("p",{className:"truncate text-sm",children:o.label}),t.jsx("p",{className:"truncate text-xs text-muted-foreground",children:o.description})]}),t.jsx(P,{variant:z?"secondary":"outline",size:"sm",className:"min-w-28 font-mono text-xs",onClick:()=>{r(null),x(z?null:o.command)},"aria-label":`Change shortcut for ${o.label}`,children:z?"Press keys…":Y(B[o.command])}),t.jsx(P,{variant:"ghost",size:"icon-sm",onClick:()=>{_(o.command),G($()),r(null)},"aria-label":`Reset shortcut for ${o.label}`,children:t.jsx(O,{"data-icon":"inline-start"})})]},o.command)})]},i)}),e[3]=B,e[4]=a,e[5]=s,e[6]=l,e[7]=g,e[8]=j,e[9]=d,e[10]=y,e[11]=b,e[12]=N,e[13]=S,e[14]=w,e[15]=m,e[16]=u,e[17]=h}else g=e[7],j=e[8],d=e[9],y=e[10],b=e[11],N=e[12],S=e[13],w=e[14],m=e[15],u=e[16],h=e[17];let C;e[29]!==y||e[30]!==b?(C=t.jsx("div",{className:y,children:b}),e[29]=y,e[30]=b,e[31]=C):C=e[31];let v;e[32]!==g||e[33]!==C||e[34]!==N?(v=t.jsx(g,{className:N,children:C}),e[32]=g,e[33]=C,e[34]=N,e[35]=v):v=e[35];let R;return e[36]!==j||e[37]!==d||e[38]!==v||e[39]!==S||e[40]!==w||e[41]!==m||e[42]!==u||e[43]!==h?(R=t.jsxs(j,{className:S,showCloseButton:w,children:[m,u,h,d,v]}),e[36]=j,e[37]=d,e[38]=v,e[39]=S,e[40]=w,e[41]=m,e[42]=u,e[43]=h,e[44]=R):R=e[44],R}export{fe as KeyboardShortcutsDialog};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as Y,r as W,j as t}from"./vendor-react-gGw_S5I_.js";import{bi as Se,J as Z,bj as Ce,bk as ye,v as Ae,bl as ve,bm as de,aK as De,B as H,bn as Pe,bo as _e,P as Ee,bp as Me,bb as ue,b0 as fe,A as me,bh as Re,bq as oe,H as $e,T as ze,br as Ke,bs as Oe,bt as Te,bu as Le,bv as Fe,bw as Be,bx as Qe,by as Ue,bz as He,bA as Ve,bB as Ye,$ as le,L as Ge,M as Xe,Q as Je,bC as We,Z as Ze,bD as pe,bE as es,bF as ss,bG as ts,bH as ns,bI as is}from"./index-yM7CTfeg.js";import{n as xe,ak as ls,b as rs,al as os,am as as,an as cs,ao as ds,C as Ie,$ as us,ap as fs,S as ms,X as xs}from"./vendor-ui-DkzcTXCS.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";const gs=6;function ps(c){const e=Y.c(72),{recent:s,start:n}=c,[l,r]=W.useState(null),[i,x]=W.useState(""),a=l??s[0]??null;let u,h,d,f,o,g,m,b,p,j,v,N,w;if(e[0]!==l||e[1]!==a||e[2]!==s||e[3]!==n||e[4]!==i){h=(l&&!s.some(A=>he(A,l))?[l,...s]:[...s]).slice(0,gs);let z;e[18]!==i?(z=i.trim(),e[18]=i,e[19]=z):z=e[19];const F=z;u=!!(a&&F);let q;e[20]===Symbol.for("react.memo_cache_sentinel")?(q=(A,V)=>{r({dirName:A,cwd:V,name:V?ve(V):A})},e[20]=q):q=e[20],d=q;let T;e[21]!==n.defaultAgentKind?(T=A=>d(de(n.defaultAgentKind,A),A),e[21]=n.defaultAgentKind,e[22]=T):T=e[22],f=T;const G=a==null?void 0:a.cwd;let B;e[23]!==G||e[24]!==a?(B=a&&G?A=>r({...a,dirName:de(A,G)}):void 0,e[23]=G,e[24]=a,e[25]=B):B=e[25],m=B;let X;e[26]!==F||e[27]!==a||e[28]!==n?(X=A=>{A==null||A.preventDefault(),!(!a||!F)&&(n.onStart(a.dirName,a.cwd,F),x(""))},e[26]=F,e[27]=a,e[28]=n,e[29]=X):X=e[29],g=X;let J;e[30]!==g?(J=A=>{A.key==="Enter"&&!A.shiftKey&&!A.nativeEvent.isComposing&&(A.preventDefault(),g())},e[30]=g,e[31]=J):J=e[31],o=J,N="Start a session",w="flex min-w-0 flex-col gap-3",b="flex flex-wrap items-center gap-1.5",p="group",j="Projects",v=h.map(A=>{const V=a!==null&&he(A,a);return t.jsxs("button",{type:"button","aria-pressed":V,title:A.cwd??A.name,onClick:()=>r(A),className:Z("flex max-w-48 items-center gap-1.5 rounded-full border py-1 pl-1.5 pr-3 text-xs outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring",V?"border-foreground/80 bg-foreground text-background":"border-border/70 text-muted-foreground hover:border-foreground/40 hover:text-foreground"),children:[t.jsx(Se,{projectPath:A.cwd??null,fallback:t.jsx(xe,{className:"size-3.5","aria-hidden":"true"}),className:"size-4"}),t.jsx("span",{className:"truncate",children:A.name})]},A.cwd??A.dirName)}),e[0]=l,e[1]=a,e[2]=s,e[3]=n,e[4]=i,e[5]=u,e[6]=h,e[7]=d,e[8]=f,e[9]=o,e[10]=g,e[11]=m,e[12]=b,e[13]=p,e[14]=j,e[15]=v,e[16]=N,e[17]=w}else u=e[5],h=e[6],d=e[7],f=e[8],o=e[9],g=e[10],m=e[11],b=e[12],p=e[13],j=e[14],v=e[15],N=e[16],w=e[17];const I=h.length>0;let y;e[32]!==d||e[33]!==f||e[34]!==n.defaultAgentKind||e[35]!==I?(y=t.jsx(hs,{defaultAgentKind:n.defaultAgentKind,onChoose:d,onChooseFolder:f,anyListed:I}),e[32]=d,e[33]=f,e[34]=n.defaultAgentKind,e[35]=I,e[36]=y):y=e[36];let k;e[37]!==b||e[38]!==p||e[39]!==j||e[40]!==v||e[41]!==y?(k=t.jsxs("div",{className:b,role:p,"aria-label":j,children:[v,y]}),e[37]=b,e[38]=p,e[39]=j,e[40]=v,e[41]=y,e[42]=k):k=e[42];let D;e[43]!==l||e[44]!==a?(D=z=>{!l&&a&&r(a),x(z.target.value)},e[43]=l,e[44]=a,e[45]=D):D=e[45];const _=a?`Describe the task for ${a.name}`:"Pick a project, then describe the task";let S;e[46]!==o||e[47]!==D||e[48]!==_||e[49]!==i?(S=t.jsx(De,{"aria-label":"First message",value:i,onChange:D,onKeyDown:o,placeholder:_,rows:1,className:"max-h-48 min-h-9 flex-1 resize-none rounded-none border-0 bg-transparent px-0 py-2 shadow-none focus-visible:border-transparent focus-visible:ring-0"}),e[46]=o,e[47]=D,e[48]=_,e[49]=i,e[50]=S):S=e[50];let P;e[51]!==a||e[52]!==n.model||e[53]!==m?(P=a&&t.jsx(Ce,{isNewSession:!0,agentKind:ye(a.dirName),onAgentKindChange:m,selectedModel:n.model.selectedModel,onModelChange:n.model.onModelChange,selectedEffort:n.model.selectedEffort,onEffortChange:n.model.onEffortChange}),e[51]=a,e[52]=n.model,e[53]=m,e[54]=P):P=e[54];const $=!u;let M;e[55]===Symbol.for("react.memo_cache_sentinel")?(M=t.jsx(ls,{"data-icon":"icon"}),e[55]=M):M=e[55];let E;e[56]!==$?(E=t.jsx(H,{type:"submit",size:"icon-xs",disabled:$,"aria-label":"Start session",title:"Start session (Enter)",children:M}),e[56]=$,e[57]=E):E=e[57];let C;e[58]!==P||e[59]!==E?(C=t.jsxs("div",{className:"flex shrink-0 items-center gap-1 pb-0.5",children:[P,E]}),e[58]=P,e[59]=E,e[60]=C):C=e[60];let R;e[61]!==S||e[62]!==C?(R=t.jsxs("div",{className:"flex items-end gap-2 rounded-xl border bg-popover py-2 pl-4 pr-2 shadow-lg shadow-black/5 transition-[border-color,box-shadow] duration-150 focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",children:[S,C]}),e[61]=S,e[62]=C,e[63]=R):R=e[63];let K;e[64]!==g||e[65]!==R?(K=t.jsx("form",{onSubmit:g,className:"min-w-0",children:R}),e[64]=g,e[65]=R,e[66]=K):K=e[66];let O;return e[67]!==K||e[68]!==N||e[69]!==w||e[70]!==k?(O=t.jsxs("section",{"aria-label":N,className:w,children:[k,K]}),e[67]=K,e[68]=N,e[69]=w,e[70]=k,e[71]=O):O=e[71],O}function he(c,e){return c.cwd&&e.cwd?c.cwd===e.cwd:c.dirName===e.dirName}function hs(c){const e=Y.c(19),{defaultAgentKind:s,onChoose:n,onChooseFolder:l,anyListed:r}=c,[i,x]=W.useState(!1),a=Ae(i),u=r?"ghost":"outline";let h;e[0]!==u?(h=t.jsx(H,{variant:u,size:"xs",className:"rounded-full text-muted-foreground"}),e[0]=u,e[1]=h):h=e[1];let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=t.jsx(xe,{"data-icon":"inline-start"}),e[2]=d):d=e[2];const f=r?"Other project":"Choose a project";let o;e[3]!==h||e[4]!==f?(o=t.jsxs(Pe,{render:h,children:[d,f]}),e[3]=h,e[4]=f,e[5]=o):o=e[5];let g;e[6]!==n?(g=(j,v)=>{x(!1),n(j,v)},e[6]=n,e[7]=g):g=e[7];let m;e[8]!==l?(m=j=>{x(!1),l(j)},e[8]=l,e[9]=m):m=e[9];let b;e[10]!==s||e[11]!==a||e[12]!==g||e[13]!==m?(b=t.jsx(_e,{align:"start",className:"w-96 max-w-[calc(100vw-2rem)] p-0",children:t.jsx(Ee,{projects:a,defaultAgentKind:s,onNewSession:g,onNewFolder:m})}),e[10]=s,e[11]=a,e[12]=g,e[13]=m,e[14]=b):b=e[14];let p;return e[15]!==i||e[16]!==o||e[17]!==b?(p=t.jsxs(Me,{open:i,onOpenChange:x,children:[o,b]}),e[15]=i,e[16]=o,e[17]=b,e[18]=p):p=e[18],p}function bs(c){const e={};for(const s of c)s.type==="boolean"?e[s.name]=s.defaultValue===!0:s.defaultValue!==void 0?e[s.name]=String(s.defaultValue):e[s.name]="";return e}function js(c,e){const s={};for(const n of c){const l=e[n.name];if(typeof l=="boolean"){s[n.name]=l;continue}l!==""&&(s[n.name]=n.type==="number"||n.type==="integer"?Number(l):l)}return s}function ws(c,e){return c.every(s=>{if(!s.required)return!0;const n=e[s.name];return typeof n=="boolean"?!0:n===""?!1:s.type==="number"||s.type==="integer"?Number.isFinite(Number(n)):!0})}function Ns(c){const e=Y.c(52),{request:s,responding:n,onAnswer:l}=c;let r;e[0]!==s.fields?(r=()=>bs(s.fields),e[0]=s.fields,e[1]=r):r=e[1];const[i,x]=W.useState(r);let a;e[2]!==s.fields||e[3]!==i?(a=ws(s.fields,i),e[2]=s.fields,e[3]=i,e[4]=a):a=e[4];const u=a,h=s.displayName||s.title||s.serverName;let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=(N,w)=>{x(I=>({...I,[N]:w}))},e[5]=d):d=e[5];const f=d;let o;e[6]!==l||e[7]!==s.requestId?(o=()=>l==null?void 0:l(s.requestId,{action:"decline"}),e[6]=l,e[7]=s.requestId,e[8]=o):o=e[8];const g=o;if(s.mode==="url"&&s.url){const N=s.url;let w;e[9]!==s.message?(w=t.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:s.message}),e[9]=s.message,e[10]=w):w=e[10];let I;e[11]!==N?(I=t.jsx("p",{className:"mt-1 truncate font-mono text-xs text-muted-foreground",title:N,children:N}),e[11]=N,e[12]=I):I=e[12];let y;e[13]!==g||e[14]!==l||e[15]!==s.requestId||e[16]!==n||e[17]!==N?(y=l&&t.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[t.jsxs(H,{size:"sm",disabled:n,onClick:()=>{window.open(N,"_blank","noopener,noreferrer"),l(s.requestId,{action:"accept"})},children:["Open link",t.jsx(rs,{"data-icon":"inline-end"})]}),t.jsx(H,{variant:"ghost",size:"sm",disabled:n,onClick:g,children:"Decline"})]}),e[13]=g,e[14]=l,e[15]=s.requestId,e[16]=n,e[17]=N,e[18]=y):y=e[18];let k;return e[19]!==h||e[20]!==w||e[21]!==I||e[22]!==y?(k=t.jsxs(be,{server:h,children:[w,I,y]}),e[19]=h,e[20]=w,e[21]=I,e[22]=y,e[23]=k):k=e[23],k}let m;e[24]!==s.message?(m=t.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:s.message}),e[24]=s.message,e[25]=m):m=e[25];let b;if(e[26]!==l||e[27]!==s.fields||e[28]!==s.requestId||e[29]!==n||e[30]!==i){let N;e[32]!==l||e[33]!==s.requestId||e[34]!==n||e[35]!==i?(N=w=>t.jsx(ys,{id:`elicit-${s.requestId}-${w.name}`,field:w,value:i[w.name],disabled:n||!l,onChange:I=>f(w.name,I)},w.name),e[32]=l,e[33]=s.requestId,e[34]=n,e[35]=i,e[36]=N):N=e[36],b=s.fields.map(N),e[26]=l,e[27]=s.fields,e[28]=s.requestId,e[29]=n,e[30]=i,e[31]=b}else b=e[31];let p;e[37]!==b?(p=t.jsx("div",{className:"mt-3 flex flex-col gap-3",children:b}),e[37]=b,e[38]=p):p=e[38];let j;e[39]!==u||e[40]!==g||e[41]!==l||e[42]!==s.fields||e[43]!==s.requestId||e[44]!==n||e[45]!==i?(j=l&&t.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[t.jsx(H,{size:"sm",disabled:n||!u,onClick:()=>l(s.requestId,{action:"accept",content:js(s.fields,i)}),children:"Send"}),t.jsx(H,{variant:"ghost",size:"sm",disabled:n,onClick:g,children:"Decline"})]}),e[39]=u,e[40]=g,e[41]=l,e[42]=s.fields,e[43]=s.requestId,e[44]=n,e[45]=i,e[46]=j):j=e[46];let v;return e[47]!==h||e[48]!==m||e[49]!==p||e[50]!==j?(v=t.jsxs(be,{server:h,children:[m,p,j]}),e[47]=h,e[48]=m,e[49]=p,e[50]=j,e[51]=v):v=e[51],v}function ys(c){const e=Y.c(55),{id:s,field:n,value:l,disabled:r,onChange:i}=c;if(n.type==="boolean"){const g=l===!0;let m;e[0]!==i?(m=v=>i(v===!0),e[0]=i,e[1]=m):m=e[1];let b;e[2]!==r||e[3]!==s||e[4]!==g||e[5]!==m?(b=t.jsx(Re,{id:s,checked:g,disabled:r,onCheckedChange:m}),e[2]=r,e[3]=s,e[4]=g,e[5]=m,e[6]=b):b=e[6];let p;e[7]!==n?(p=t.jsx(ae,{field:n}),e[7]=n,e[8]=p):p=e[8];let j;return e[9]!==s||e[10]!==b||e[11]!==p?(j=t.jsxs(oe,{htmlFor:s,className:"items-start gap-2 font-normal",children:[b,p]}),e[9]=s,e[10]=b,e[11]=p,e[12]=j):j=e[12],j}if(n.type==="enum"){let g;e[13]!==n?(g=t.jsx(ae,{field:n}),e[13]=n,e[14]=g):g=e[14];let m;e[15]!==s||e[16]!==g?(m=t.jsx(oe,{htmlFor:s,children:g}),e[15]=s,e[16]=g,e[17]=m):m=e[17];let b;e[18]!==l?(b=typeof l=="string"&&l?[l]:[],e[18]=l,e[19]=b):b=e[19];let p;e[20]!==i?(p=y=>{y[0]&&i(y[0])},e[20]=i,e[21]=p):p=e[21];const j=n.label;let v;e[22]!==n.options?(v=n.options??[],e[22]=n.options,e[23]=v):v=e[23];let N;if(e[24]!==r||e[25]!==v){let y;e[27]!==r?(y=k=>t.jsx($e,{value:k.value,disabled:r,className:"w-full justify-start px-3",children:k.label},k.value),e[27]=r,e[28]=y):y=e[28],N=v.map(y),e[24]=r,e[25]=v,e[26]=N}else N=e[26];let w;e[29]!==n.label||e[30]!==s||e[31]!==b||e[32]!==p||e[33]!==N?(w=t.jsx(ze,{id:s,value:b,onValueChange:p,orientation:"vertical",variant:"outline",size:"sm",className:"w-full items-stretch","aria-label":j,children:N}),e[29]=n.label,e[30]=s,e[31]=b,e[32]=p,e[33]=N,e[34]=w):w=e[34];let I;return e[35]!==m||e[36]!==w?(I=t.jsxs("div",{className:"flex flex-col gap-1.5",children:[m,w]}),e[35]=m,e[36]=w,e[37]=I):I=e[37],I}let x;e[38]!==n?(x=t.jsx(ae,{field:n}),e[38]=n,e[39]=x):x=e[39];let a;e[40]!==s||e[41]!==x?(a=t.jsx(oe,{htmlFor:s,children:x}),e[40]=s,e[41]=x,e[42]=a):a=e[42];const u=n.type==="string"?"text":"number",h=typeof l=="string"?l:"";let d;e[43]!==i?(d=g=>i(g.target.value),e[43]=i,e[44]=d):d=e[44];let f;e[45]!==r||e[46]!==n.label||e[47]!==s||e[48]!==u||e[49]!==h||e[50]!==d?(f=t.jsx(ue,{id:s,"aria-label":n.label,type:u,value:h,disabled:r,onChange:d}),e[45]=r,e[46]=n.label,e[47]=s,e[48]=u,e[49]=h,e[50]=d,e[51]=f):f=e[51];let o;return e[52]!==a||e[53]!==f?(o=t.jsxs("div",{className:"flex flex-col gap-1.5",children:[a,f]}),e[52]=a,e[53]=f,e[54]=o):o=e[54],o}function ae(c){const e=Y.c(8),{field:s}=c;let n;e[0]!==s.required?(n=s.required&&t.jsx("span",{className:"ml-0.5 text-warning",children:"*"}),e[0]=s.required,e[1]=n):n=e[1];let l;e[2]!==s.description?(l=s.description&&t.jsx("span",{className:"block text-xs font-normal text-muted-foreground",children:s.description}),e[2]=s.description,e[3]=l):l=e[3];let r;return e[4]!==s.label||e[5]!==n||e[6]!==l?(r=t.jsxs("span",{className:"min-w-0",children:[s.label,n,l]}),e[4]=s.label,e[5]=n,e[6]=l,e[7]=r):r=e[7],r}function be(c){const e=Y.c(8),{server:s,children:n}=c;let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx(os,{className:"text-info"}),e[0]=l):l=e[0];let r;e[1]!==s?(r=t.jsxs(fe,{children:[s," needs input"]}),e[1]=s,e[2]=r):r=e[2];let i;e[3]!==n?(i=t.jsx("div",{className:"col-start-2 mt-1 min-w-0",children:n}),e[3]=n,e[4]=i):i=e[4];let x;return e[5]!==r||e[6]!==i?(x=t.jsxs(me,{className:"border-info/40 bg-info/5",children:[l,r,i]}),e[5]=r,e[6]=i,e[7]=x):x=e[7],x}function vs(c){const e=Y.c(15),{request:s,responding:n,onChoose:l}=c;let r,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(as,{className:"text-warning"}),i=t.jsx(fe,{children:"The agent declined this request"}),e[0]=r,e[1]=i):(r=e[0],i=e[1]);let x;e[2]!==s.originalModel?(x=t.jsxs("p",{className:"text-sm leading-relaxed text-foreground",children:[s.originalModel," would not answer. Retrying on a fallback model may work."]}),e[2]=s.originalModel,e[3]=x):x=e[3];let a;e[4]!==s.guidanceText?(a=s.guidanceText&&t.jsx("p",{className:"mt-1 text-sm leading-relaxed text-muted-foreground",children:s.guidanceText}),e[4]=s.guidanceText,e[5]=a):a=e[5];let u;e[6]!==l||e[7]!==s.fallbackModel||e[8]!==s.requestId||e[9]!==n?(u=l&&t.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[t.jsxs(H,{size:"sm",disabled:n,onClick:()=>l(s.requestId,"retry_fallback"),children:["Retry on ",s.fallbackModel]}),t.jsx(H,{variant:"outline",size:"sm",disabled:n,onClick:()=>l(s.requestId,"edit_prompt"),children:"Edit prompt"}),t.jsx(H,{variant:"ghost",size:"sm",disabled:n,className:"ml-auto text-muted-foreground",onClick:()=>l(s.requestId,"cancelled"),children:"Dismiss"})]}),e[6]=l,e[7]=s.fallbackModel,e[8]=s.requestId,e[9]=n,e[10]=u):u=e[10];let h;return e[11]!==x||e[12]!==a||e[13]!==u?(h=t.jsxs(me,{className:"border-warning/40 bg-warning/5",children:[r,i,t.jsxs("div",{className:"col-start-2 mt-1 min-w-0",children:[x,a,u]})]}),e[11]=x,e[12]=a,e[13]=u,e[14]=h):h=e[14],h}function Is(c){const e=Y.c(64),{request:s,input:n,canAnswer:l,onOpen:r}=c;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=new Set,e[0]=i):i=e[0];const[x,a]=W.useState(i),{sessionId:u}=s;switch(s.kind){case"permission":{const h=s.request;let d;e[1]!==n.responding||e[2]!==s.request.requestId?(d=n.responding.has(s.request.requestId),e[1]=n.responding,e[2]=s.request.requestId,e[3]=d):d=e[3];let f;e[4]!==l||e[5]!==n||e[6]!==u?(f=l?(g,m)=>void n.respond(u,g,m):void 0,e[4]=l,e[5]=n,e[6]=u,e[7]=f):f=e[7];let o;return e[8]!==s.request||e[9]!==d||e[10]!==f?(o=t.jsx(Oe,{request:h,queued:0,responding:d,onRespond:f}),e[8]=s.request,e[9]=d,e[10]=f,e[11]=o):o=e[11],o}case"question":{const h=s.request;let d;e[12]!==n.responding||e[13]!==s.request.toolUseId?(d=n.responding.has(s.request.toolUseId),e[12]=n.responding,e[13]=s.request.toolUseId,e[14]=d):d=e[14];let f;e[15]!==x||e[16]!==s.request.toolUseId?(f=x.has(s.request.toolUseId),e[15]=x,e[16]=s.request.toolUseId,e[17]=f):f=e[17];let o;e[18]!==l||e[19]!==n||e[20]!==u?(o=l?async(m,b)=>{(await n.answerQuestion(u,m,b)).gone&&a(j=>new Set(j).add(m))}:void 0,e[18]=l,e[19]=n,e[20]=u,e[21]=o):o=e[21];let g;return e[22]!==r||e[23]!==s.request||e[24]!==d||e[25]!==f||e[26]!==o?(g=t.jsx(Ke,{request:h,responding:d,gone:f,onAnswer:o,onOpenSession:r}),e[22]=r,e[23]=s.request,e[24]=d,e[25]=f,e[26]=o,e[27]=g):g=e[27],g}case"elicitation":{const h=s.request;let d;e[28]!==n.responding||e[29]!==s.request.requestId?(d=n.responding.has(s.request.requestId),e[28]=n.responding,e[29]=s.request.requestId,e[30]=d):d=e[30];let f;e[31]!==l||e[32]!==n||e[33]!==u?(f=l?(g,m)=>void n.answerElicitation(u,g,m):void 0,e[31]=l,e[32]=n,e[33]=u,e[34]=f):f=e[34];let o;return e[35]!==s.request||e[36]!==d||e[37]!==f?(o=t.jsx(Ns,{request:h,responding:d,onAnswer:f}),e[35]=s.request,e[36]=d,e[37]=f,e[38]=o):o=e[38],o}case"dialog":{const h=s.request;let d;e[39]!==n.responding||e[40]!==s.request.requestId?(d=n.responding.has(s.request.requestId),e[39]=n.responding,e[40]=s.request.requestId,e[41]=d):d=e[41];let f;e[42]!==l||e[43]!==n||e[44]!==u?(f=l?(g,m)=>void n.answerDialog(u,g,m):void 0,e[42]=l,e[43]=n,e[44]=u,e[45]=f):f=e[45];let o;return e[46]!==s.request||e[47]!==d||e[48]!==f?(o=t.jsx(vs,{request:h,responding:d,onChoose:f}),e[46]=s.request,e[47]=d,e[48]=f,e[49]=o):o=e[49],o}case"plan":case"deferred":{let h;e[50]!==s.kind?(h=s.kind==="plan"?t.jsx(cs,{className:"text-warning"}):t.jsx(ds,{className:"text-warning"}),e[50]=s.kind,e[51]=h):h=e[51];const d=s.kind==="plan"?"A plan is waiting for review":"A permission was deferred";let f;e[52]!==d?(f=t.jsx(fe,{children:d}),e[52]=d,e[53]=f):f=e[53];const o=s.kind==="plan"?"Review it in its session.":"Open the session and resume it to answer.";let g;e[54]!==o?(g=t.jsx("p",{className:"col-start-2 mt-1 text-sm text-muted-foreground",children:o}),e[54]=o,e[55]=g):g=e[55];let m;e[56]===Symbol.for("react.memo_cache_sentinel")?(m=t.jsx(Ie,{"data-icon":"inline-end"}),e[56]=m):m=e[56];let b;e[57]!==r?(b=t.jsx("div",{className:"col-start-2 mt-2",children:t.jsxs(H,{size:"xs",onClick:r,children:["Open session",m]})}),e[57]=r,e[58]=b):b=e[58];let p;return e[59]!==h||e[60]!==f||e[61]!==g||e[62]!==b?(p=t.jsxs(me,{className:"border-warning/40 bg-warning/5",children:[h,f,g,b]}),e[59]=h,e[60]=f,e[61]=g,e[62]=b,e[63]=p):p=e[63],p}}}function ks(c,e,s=()=>!0){const n=new Map(e.map(i=>[i.sessionId,i])),l=i=>{const x=n.get(i);return x?Be(x):Date.now()},r=[];for(const[i,x]of c.permissionsBySession)for(const a of x)r.push({kind:"permission",sessionId:i,since:a.timestamp,request:a});for(const[i,x]of c.questionsBySession)for(const a of x)r.push({kind:"question",sessionId:i,since:a.askedAt,request:a});for(const[i,x]of c.elicitationsBySession)for(const a of x)r.push({kind:"elicitation",sessionId:i,since:a.askedAt,request:a});for(const[i,x]of c.dialogsBySession)for(const a of x)r.push({kind:"dialog",sessionId:i,since:a.askedAt,request:a});for(const i of c.awaitingPlan)r.push({kind:"plan",sessionId:i,since:l(i)});for(const i of e)i.agentStatus==="deferred"&&!i.archived&&r.push({kind:"deferred",sessionId:i.sessionId,since:l(i.sessionId)});return r.filter(i=>s(i.sessionId)).sort((i,x)=>i.since-x.since)}function je(c){switch(c.kind){case"permission":return c.request.requestId;case"question":return c.request.toolUseId;case"elicitation":case"dialog":return c.request.requestId;default:return`${c.kind}:${c.sessionId}`}}const qs=7*864e5,we=3,Ss=30,Cs=50;function As(c,e){const s=c.filter(r=>!r.archived&&!(r.teamName&&r.agentName)),{topLevel:n,crewOf:l}=Te(s);return n.map(r=>{const i=l.get(r.sessionId)??[],x=i.length?Le(r,i):r.lastActivityAt||r.lastModified,a=[r,...i].flatMap(u=>(u.pullRequests??[]).map(h=>({pullRequest:h,by:u}))).sort((u,h)=>Date.parse(h.pullRequest.timestamp)-Date.parse(u.pullRequest.timestamp))[0];return{session:r,state:e(r).state,members:i,cells:i.map(u=>e(u).state),counts:i.length?Fe(i,e):null,activityAt:x,...a&&{landed:{number:a.pullRequest.number,title:a.pullRequest.title,url:a.pullRequest.url,by:a.by}}}}).sort((r,i)=>Date.parse(i.activityAt)-Date.parse(r.activityAt))}function Ds(c,e=Date.now()){const s=c.filter(n=>e-Date.parse(n.activityAt)<qs);return(s.length>=we?s:c.slice(0,we)).slice(0,Ss)}function Ps(c,e,s=6){const n=[],l=new Set;for(const r of c){const i=e(r.session);if(!(!i.cwd||l.has(i.cwd))&&(l.add(i.cwd),n.push(i),n.length===s))break}return n}function _s(c,e,s){const n=e.toLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[]:c.filter(l=>{const r=s(l).filter(Boolean).join(`
|
|
2
|
-
`).toLowerCase();return n.every(i=>r.includes(i))}).slice(0,Cs)}const Es={working:"bg-success shadow-[0_0_0_1.5px_color-mix(in_oklch,var(--success)_25%,transparent)]","needs-you":"bg-warning",done:"bg-muted-foreground/40"};function Ms(c,e){const s=c.cwd?is(c.cwd):null,n=(s==null?void 0:s.parentPath)??c.cwd,l=s?de(ye(c.dirName),s.parentPath):c.dirName;return{dirName:l,cwd:n,name:e[l]??(n?ve(n):c.projectShortName)}}function Rs(c){const e=c.target instanceof HTMLElement&&c.target.closest("input,textarea,select,[contenteditable=true]");return!c.metaKey&&!c.ctrlKey&&!c.altKey&&!e}function Gs(c){const e=Y.c(81),{onOpenSession:s,onBrowseProjects:n,start:l}=c,r=Qe(),i=Ue(),{names:x,rename:a}=He(),{names:u}=Ve(),h=Ye(),[d,f]=W.useState(""),o=W.useRef(null);let g;e[0]!==r.sessions?(g=r.sessions.filter(Ks),e[0]=r.sessions,e[1]=g):g=e[1];const m=g;let b;e[2]!==m?(b=new Map(m.map(zs)),e[2]=m,e[3]=b):b=e[3];const p=b;let j;e[4]!==i.awaitingDialog||e[5]!==i.awaitingElicitation?(j=new Set([...i.awaitingElicitation,...i.awaitingDialog]),e[4]=i.awaitingDialog,e[5]=i.awaitingElicitation,e[6]=j):j=e[6];let v;e[7]!==i.awaitingPermission||e[8]!==i.awaitingPlan||e[9]!==i.awaitingQuestion||e[10]!==j?(v={awaitingPermission:i.awaitingPermission,awaitingQuestion:i.awaitingQuestion,awaitingPrompt:j,awaitingPlan:i.awaitingPlan},e[7]=i.awaitingPermission,e[8]=i.awaitingPlan,e[9]=i.awaitingQuestion,e[10]=j,e[11]=v):v=e[11];const N=v;let w;e[12]!==r.procBySession||e[13]!==N?(w=Q=>es(Q,r.procBySession,N),e[12]=r.procBySession,e[13]=N,e[14]=w):w=e[14];const I=w;let y;e[15]!==p||e[16]!==h?(y=Q=>{const L=p.get(Q);return h(L==null?void 0:L.access).canInteract},e[15]=p,e[16]=h,e[17]=y):y=e[17];const k=y;let D;e[18]!==k||e[19]!==i||e[20]!==m?(D=ks(i,m,k),e[18]=k,e[19]=i,e[20]=m,e[21]=D):D=e[21];const _=D;let S;e[22]!==p||e[23]!==x?(S=Q=>ss(Q,p,x),e[22]=p,e[23]=x,e[24]=S):S=e[24];const P=S;let $;e[25]!==u?($=Q=>u[Q.dirName]??ts(Q),e[25]=u,e[26]=$):$=e[26];const M=$;let E,C,R;if(e[27]!==P||e[28]!==M||e[29]!==u||e[30]!==d||e[31]!==m||e[32]!==I){E=As(m,I),R=d.trim().length>0?_s(E,d,U=>{var ge;return[P(U.session.sessionId),M(U.session),U.session.gitBranch,U.session.cwd,U.session.lastUserMessage,U.session.firstUserMessage,(ge=U.landed)==null?void 0:ge.title,U.landed&&`#${U.landed.number}`,...U.members.map(qe=>P(qe.sessionId))]}):Ds(E);let L;e[36]!==u?(L=U=>Ms(U,u),e[36]=u,e[37]=L):L=e[37],C=Ps(E,L),e[27]=P,e[28]=M,e[29]=u,e[30]=d,e[31]=m,e[32]=I,e[33]=E,e[34]=C,e[35]=R}else E=e[33],C=e[34],R=e[35];const K=C;let O;e[38]!==p||e[39]!==s?(O=Q=>{const L=p.get(Q);L?s(L.dirName,L.fileName):ns(Q)},e[38]=p,e[39]=s,e[40]=O):O=e[40];const z=O;let F;e[41]!==r.processes?(F=r.processes.filter($s),e[41]=r.processes,e[42]=F):F=e[42];const q=F.length;let T,G;e[43]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{const Q=L=>{var U;L.key==="/"&&Rs(L)&&(L.preventDefault(),(U=o.current)==null||U.focus())};return window.addEventListener("keydown",Q),()=>window.removeEventListener("keydown",Q)},G=[],e[43]=T,e[44]=G):(T=e[43],G=e[44]),W.useEffect(T,G);let B;e[45]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("h1",{className:"text-xl font-semibold tracking-tight",children:"Mission Control"}),e[45]=B):B=e[45];let X;e[46]!==q?(X=q>0&&t.jsxs("p",{className:"text-xs text-muted-foreground",children:[q," ",q===1?"agent":"agents"," running on this machine"]}),e[46]=q,e[47]=X):X=e[47];let J;e[48]!==X?(J=t.jsxs("div",{className:"flex flex-wrap items-baseline justify-between gap-x-4 gap-y-1",children:[B,X]}),e[48]=X,e[49]=J):J=e[49];let A;e[50]!==K||e[51]!==l?(A=l&&t.jsx(ps,{recent:K,start:l}),e[50]=K,e[51]=l,e[52]=A):A=e[52];let V;e[53]!==J||e[54]!==A?(V=t.jsxs("div",{className:"mx-auto flex w-full max-w-6xl shrink-0 flex-col gap-8 px-6 pt-16 lg:px-10",children:[J,A]}),e[53]=J,e[54]=A,e[55]=V):V=e[55];const re=_.length>0&&"lg:grid lg:grid-cols-[minmax(0,380px)_minmax(0,1fr)] lg:grid-rows-[minmax(0,1fr)]";let ee;e[56]!==re?(ee=Z("mx-auto flex w-full max-w-6xl flex-col gap-8 px-6 pb-10 pt-10 lg:h-full lg:px-10",re),e[56]=re,e[57]=ee):ee=e[57];let se;e[58]!==p||e[59]!==k||e[60]!==i||e[61]!==P||e[62]!==z||e[63]!==_?(se=_.length>0?t.jsx(Os,{queue:_,input:i,byId:p,nameOf:P,onOpen:z,canAnswer:k}):t.jsxs("p",{className:"flex shrink-0 items-center gap-2 text-xs text-muted-foreground",children:[t.jsx("span",{className:"size-1.5 rounded-full bg-success/40","aria-hidden":"true"}),"Nothing is waiting on you."]}),e[58]=p,e[59]=k,e[60]=i,e[61]=P,e[62]=z,e[63]=_,e[64]=se):se=e[64];let te;e[65]!==P||e[66]!==n||e[67]!==z||e[68]!==M||e[69]!==d||e[70]!==a||e[71]!==E.length||e[72]!==R?(te=t.jsx(Ls,{sessions:R,total:E.length,query:d,onQueryChange:f,searchRef:o,nameOf:P,projectLabel:M,onOpen:z,onRename:a,onBrowseProjects:n}),e[65]=P,e[66]=n,e[67]=z,e[68]=M,e[69]=d,e[70]=a,e[71]=E.length,e[72]=R,e[73]=te):te=e[73];let ne;e[74]!==ee||e[75]!==se||e[76]!==te?(ne=t.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto lg:overflow-hidden",children:t.jsxs("div",{className:ee,children:[se,te]})}),e[74]=ee,e[75]=se,e[76]=te,e[77]=ne):ne=e[77];let ie;return e[78]!==V||e[79]!==ne?(ie=t.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[V,ne]}),e[78]=V,e[79]=ne,e[80]=ie):ie=e[80],ie}function $s(c){return c.sessionId}function zs(c){return[c.sessionId,c]}function Ks(c){return!c.archived}function ke(c){const e=Y.c(9),{title:s,count:n,children:l}=c;let r;e[0]!==s?(r=t.jsx("h2",{className:"text-sm font-medium",children:s}),e[0]=s,e[1]=r):r=e[1];let i;e[2]!==n?(i=n!==void 0&&t.jsx("span",{className:"text-xs tabular-nums text-muted-foreground",children:n}),e[2]=n,e[3]=i):i=e[3];let x;e[4]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx("span",{className:"flex-1"}),e[4]=x):x=e[4];let a;return e[5]!==l||e[6]!==r||e[7]!==i?(a=t.jsxs("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[r,i,x,l]}),e[5]=l,e[6]=r,e[7]=i,e[8]=a):a=e[8],a}function ce(c,e){const s=c==null?void 0:c.crew;return s?e(s.rootId)??s.rootTitle??null:null}const Ne={permission:"asked a permission",question:"asked a question",elicitation:"asked for input",dialog:"needs a choice",plan:"has a plan to review",deferred:"has a deferred permission"};function Os(c){const e=Y.c(71),{queue:s,input:n,byId:l,nameOf:r,onOpen:i,canAnswer:x}=c,[a,u]=W.useState(0);let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=new Set,e[0]=h):h=e[0];const d=W.useRef(h),f=Math.min(a,s.length-1),o=s[f];let g;if(e[1]!==l||e[2]!==r||e[3]!==o.sessionId){const q=l.get(o.sessionId);g=ce(q,r),e[1]=l,e[2]=r,e[3]=o.sessionId,e[4]=g}else g=e[4];const m=g;let b;e[5]!==f||e[6]!==x||e[7]!==n||e[8]!==i||e[9]!==s.length||e[10]!==o.kind||e[11]!==o.request||e[12]!==o.sessionId?(b=q=>{const T=q.target;if(!(T.closest("input,textarea,select,[contenteditable=true]")||q.metaKey||q.ctrlKey||q.altKey)&&((q.key==="j"||q.key==="n"||q.key==="ArrowDown")&&(q.preventDefault(),u(Math.min(s.length-1,f+1))),(q.key==="k"||q.key==="ArrowUp")&&(q.preventDefault(),u(Math.max(0,f-1))),q.key==="o"&&(q.preventDefault(),i(o.sessionId)),(q.key==="Enter"||q.key==="d")&&T===q.currentTarget&&x(o.sessionId))){if(o.kind!=="permission")return;const G=q.key==="d"||o.request.defaultToNo?"deny":"allow",B=o.request.requestId;if(o.request.availableDecisions&&!o.request.availableDecisions.includes(G)||(q.preventDefault(),d.current.has(B)||n.responding.has(B)))return;d.current.add(B),n.respond(o.sessionId,B,G).finally(()=>d.current.delete(B))}},e[5]=f,e[6]=x,e[7]=n,e[8]=i,e[9]=s.length,e[10]=o.kind,e[11]=o.request,e[12]=o.sessionId,e[13]=b):b=e[13];const p=b;let j;e[14]!==f||e[15]!==s.length?(j=s.length>1&&t.jsxs("span",{className:"flex items-center gap-1 text-xs tabular-nums text-muted-foreground",children:[f+1," of ",s.length,t.jsx(H,{variant:"ghost",size:"icon-xs","aria-label":"Previous request",disabled:f===0,onClick:()=>u(f-1),children:t.jsx(us,{"data-icon":"inline-start"})}),t.jsx(H,{variant:"ghost",size:"icon-xs","aria-label":"Next request",disabled:f===s.length-1,onClick:()=>u(f+1),children:t.jsx(Ie,{"data-icon":"inline-start"})})]}),e[14]=f,e[15]=s.length,e[16]=j):j=e[16];let v;e[17]!==s.length||e[18]!==j?(v=t.jsx(ke,{title:"Needs you",count:s.length,children:j}),e[17]=s.length,e[18]=j,e[19]=v):v=e[19];let N;e[20]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-warning","aria-hidden":"true"}),e[20]=N):N=e[20];let w;e[21]!==i||e[22]!==o.sessionId?(w=()=>i(o.sessionId),e[21]=i,e[22]=o.sessionId,e[23]=w):w=e[23];let I;e[24]!==r||e[25]!==o.sessionId?(I=r(o.sessionId)??"A session",e[24]=r,e[25]=o.sessionId,e[26]=I):I=e[26];let y;e[27]!==w||e[28]!==I?(y=t.jsx("button",{type:"button",onClick:w,className:"min-w-0 truncate rounded-sm font-medium outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring",children:I}),e[27]=w,e[28]=I,e[29]=y):y=e[29];let k;e[30]!==m?(k=m&&t.jsxs("span",{className:"min-w-0 truncate text-muted-foreground",children:["· ",m]}),e[30]=m,e[31]=k):k=e[31];let D;e[32]!==o.since?(D=le(new Date(o.since).toISOString()),e[32]=o.since,e[33]=D):D=e[33];let _;e[34]!==D?(_=t.jsxs("span",{className:"ml-auto shrink-0 text-xs tabular-nums text-warning",children:["waiting ",D]}),e[34]=D,e[35]=_):_=e[35];let S;e[36]!==k||e[37]!==_||e[38]!==y?(S=t.jsxs("div",{className:"flex items-center gap-2 px-0.5 text-[13px]",children:[N,y,k,_]}),e[36]=k,e[37]=_,e[38]=y,e[39]=S):S=e[39];const P=Ne[o.kind];let $;e[40]!==P?($=t.jsx("p",{className:"px-0.5 text-xs text-muted-foreground",children:P}),e[40]=P,e[41]=$):$=e[41];let M;e[42]!==o?(M=je(o),e[42]=o,e[43]=M):M=e[43];let E;e[44]!==x||e[45]!==o.sessionId?(E=x(o.sessionId),e[44]=x,e[45]=o.sessionId,e[46]=E):E=e[46];let C;e[47]!==i||e[48]!==o.sessionId?(C=()=>i(o.sessionId),e[47]=i,e[48]=o.sessionId,e[49]=C):C=e[49];let R;e[50]!==n||e[51]!==o||e[52]!==M||e[53]!==E||e[54]!==C?(R=t.jsx(Is,{request:o,input:n,canAnswer:E,onOpen:C},M),e[50]=n,e[51]=o,e[52]=M,e[53]=E,e[54]=C,e[55]=R):R=e[55];let K;e[56]!==S||e[57]!==$||e[58]!==R?(K=t.jsxs("div",{className:"flex flex-col gap-2",children:[S,$,R]}),e[56]=S,e[57]=$,e[58]=R,e[59]=K):K=e[59];let O;e[60]!==f||e[61]!==l||e[62]!==r||e[63]!==s?(O=s.length>1&&t.jsx("ol",{className:"mt-3 flex flex-col","aria-label":"Also waiting",children:s.map((q,T)=>T===f?null:t.jsx("li",{children:t.jsxs("button",{type:"button",onClick:()=>u(T),className:"grid w-full grid-cols-[18px_minmax(0,1fr)_auto] items-center gap-2.5 rounded-lg px-2 py-2 text-left text-[12.5px] outline-none hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",children:[t.jsx("span",{className:"text-right text-[11px] tabular-nums text-muted-foreground/80",children:T+1}),t.jsxs("span",{className:"flex min-w-0 flex-col",children:[t.jsxs("span",{className:"truncate font-medium",children:[r(q.sessionId)??"A session",ce(l.get(q.sessionId),r)&&t.jsxs("span",{className:"font-normal text-muted-foreground",children:[" · ",ce(l.get(q.sessionId),r)]})]}),t.jsx("span",{className:"truncate text-[11.5px] text-muted-foreground",children:Ne[q.kind]})]}),t.jsx("span",{className:"text-[11px] tabular-nums text-warning",children:le(new Date(q.since).toISOString())})]})},je(q)))}),e[60]=f,e[61]=l,e[62]=r,e[63]=s,e[64]=O):O=e[64];let z;e[65]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("p",{className:"mt-2 px-0.5 text-[11px] text-muted-foreground/80",children:"J / K move · Enter answers · D denies · O opens"}),e[65]=z):z=e[65];let F;return e[66]!==p||e[67]!==K||e[68]!==O||e[69]!==v?(F=t.jsxs("section",{"aria-label":"Needs you",tabIndex:0,onKeyDown:p,className:"min-w-0 rounded-xl outline-none focus-visible:ring-2 focus-visible:ring-ring lg:min-h-0 lg:overflow-y-auto",children:[v,K,O,z]}),e[66]=p,e[67]=K,e[68]=O,e[69]=v,e[70]=F):F=e[70],F}function Ts(c){var e,s;return c.state==="needs-you"||(((e=c.counts)==null?void 0:e.needsYou)??0)>0?pe.attention:c.state==="working"||(((s=c.counts)==null?void 0:s.working)??0)>0?pe.working:null}function Ls(c){const e=Y.c(39),{sessions:s,total:n,query:l,onQueryChange:r,searchRef:i,nameOf:x,projectLabel:a,onOpen:u,onRename:h,onBrowseProjects:d}=c;let f;e[0]!==l?(f=l.trim(),e[0]=l,e[1]=f):f=e[1];const o=f.length>0;let g;e[2]!==r||e[3]!==i?(g=()=>{var S;r(""),(S=i.current)==null||S.focus()},e[2]=r,e[3]=i,e[4]=g):g=e[4];const m=g,b=o?s.length:n;let p;e[5]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(ms,{className:"pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"}),e[5]=p):p=e[5];let j;e[6]!==r?(j=S=>r(S.target.value),e[6]=r,e[7]=j):j=e[7];let v;e[8]!==m||e[9]!==i?(v=S=>{var P;S.key==="Escape"&&(S.preventDefault(),m(),(P=i.current)==null||P.blur())},e[8]=m,e[9]=i,e[10]=v):v=e[10];let N;e[11]!==l||e[12]!==i||e[13]!==j||e[14]!==v?(N=t.jsx(ue,{ref:i,type:"search","aria-label":"Search sessions",placeholder:"Search sessions",value:l,onChange:j,onKeyDown:v,className:"h-7 pl-8 pr-7 text-xs [&::-webkit-search-cancel-button]:hidden"}),e[11]=l,e[12]=i,e[13]=j,e[14]=v,e[15]=N):N=e[15];let w;e[16]!==m||e[17]!==o?(w=o?t.jsx("button",{type:"button","aria-label":"Clear search",onClick:m,className:"absolute right-1.5 top-1/2 flex size-4 -translate-y-1/2 items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",children:t.jsx(xs,{className:"size-3"})}):t.jsx("kbd",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 font-mono text-[10px] text-muted-foreground/70","aria-hidden":"true",children:"/"}),e[16]=m,e[17]=o,e[18]=w):w=e[18];let I;e[19]!==N||e[20]!==w?(I=t.jsxs("div",{className:"relative w-full max-w-64",children:[p,N,w]}),e[19]=N,e[20]=w,e[21]=I):I=e[21];let y;e[22]!==d?(y=d&&t.jsxs(H,{variant:"ghost",size:"xs",className:"text-muted-foreground",onClick:d,children:[t.jsx(xe,{"data-icon":"inline-start"}),"All projects"]}),e[22]=d,e[23]=y):y=e[23];let k;e[24]!==y||e[25]!==b||e[26]!==I?(k=t.jsxs(ke,{title:"Your sessions",count:b,children:[I,y]}),e[24]=y,e[25]=b,e[26]=I,e[27]=k):k=e[27];let D;e[28]!==x||e[29]!==u||e[30]!==h||e[31]!==a||e[32]!==l||e[33]!==o||e[34]!==s?(D=s.length===0?t.jsx(Ge,{children:t.jsx(Xe,{children:t.jsx(Je,{children:o?`No session matches “${l.trim()}”.`:"Start a session and it shows up here, with every session it starts."})})}):t.jsx("ul",{className:"flex flex-col lg:min-h-0 lg:flex-1 lg:overflow-y-auto",children:s.map(S=>t.jsx(Fs,{entry:S,nameOf:x,projectLabel:a,onOpen:u,onRename:h},S.session.sessionId))}),e[28]=x,e[29]=u,e[30]=h,e[31]=a,e[32]=l,e[33]=o,e[34]=s,e[35]=D):D=e[35];let _;return e[36]!==k||e[37]!==D?(_=t.jsxs("section",{"aria-label":"Your sessions",className:"flex min-w-0 flex-col lg:min-h-0 lg:flex-1",children:[k,D]}),e[36]=k,e[37]=D,e[38]=_):_=e[38],_}function Fs(c){const e=Y.c(63),{entry:s,nameOf:n,projectLabel:l,onOpen:r,onRename:i}=c,[x,a]=W.useState(null),{session:u}=s;let h;e[0]!==n||e[1]!==u.sessionId?(h=n(u.sessionId)??"Untitled session",e[0]=n,e[1]=u.sessionId,e[2]=h):h=e[2];const d=h;let f;e[3]!==u?(f=We(u),e[3]=u,e[4]=f):f=e[4];const o=f;let g,m,b;if(e[5]!==x||e[6]!==s||e[7]!==n||e[8]!==r||e[9]!==i||e[10]!==o||e[11]!==l||e[12]!==u||e[13]!==d){const v=Ts(s);let N;e[17]!==x||e[18]!==i||e[19]!==o||e[20]!==u.sessionId||e[21]!==d?(N=()=>{if(x===null)return;const C=x.trim();a(null),C!==d&&i(u.sessionId,C===o?"":C)},e[17]=x,e[18]=i,e[19]=o,e[20]=u.sessionId,e[21]=d,e[22]=N):N=e[22];const w=N;let I;e[23]!==s.counts||e[24]!==u.isActive?(I=s.counts?t.jsxs(t.Fragment,{children:[s.counts.working>0&&t.jsxs("span",{children:[t.jsx("span",{className:"font-medium text-foreground tabular-nums",children:s.counts.working})," working"]}),s.counts.needsYou>0&&t.jsxs("span",{className:"text-warning",children:[t.jsx("span",{className:"font-medium tabular-nums",children:s.counts.needsYou})," need you"]}),t.jsxs("span",{children:[t.jsx("span",{className:"font-medium text-foreground tabular-nums",children:s.counts.size})," in crew"]})]}):u.isActive&&t.jsx("span",{children:"working"}),e[23]=s.counts,e[24]=u.isActive,e[25]=I):I=e[25];let y;e[26]!==I?(y=t.jsx("span",{className:"flex items-center gap-3 text-xs text-muted-foreground",children:I}),e[26]=I,e[27]=y):y=e[27];let k;e[28]!==s.landed?(k=s.landed&&t.jsxs(Ze,{variant:"outline",className:"shrink-0",children:["#",s.landed.number]}),e[28]=s.landed,e[29]=k):k=e[29];let D;e[30]!==s.landed||e[31]!==n||e[32]!==u.lastUserMessage?(D=s.landed?`${s.landed.title??"Pull request"} · ${n(s.landed.by.sessionId)??""}`:u.lastUserMessage??"",e[30]=s.landed,e[31]=n,e[32]=u.lastUserMessage,e[33]=D):D=e[33];let _;e[34]!==D?(_=t.jsx("span",{className:"truncate",children:D}),e[34]=D,e[35]=_):_=e[35];let S;e[36]!==_||e[37]!==k?(S=t.jsxs("span",{className:"flex min-w-0 items-center gap-2 text-xs text-muted-foreground",children:[k,_]}),e[36]=_,e[37]=k,e[38]=S):S=e[38];let P;e[39]!==s.activityAt||e[40]!==s.counts?(P=s.counts?`crew active ${le(s.activityAt)}`:le(s.activityAt),e[39]=s.activityAt,e[40]=s.counts,e[41]=P):P=e[41];let $;e[42]!==P?($=t.jsx("span",{className:"text-[11px] tabular-nums text-muted-foreground/80",children:P}),e[42]=P,e[43]=$):$=e[43];let M;e[44]!==S||e[45]!==$||e[46]!==y?(M=t.jsxs(t.Fragment,{children:[y,S,$]}),e[44]=S,e[45]=$,e[46]=y,e[47]=M):M=e[47];const E=M;g="group/row relative border-t border-border/70 first:border-t-0",e[48]!==s.cells||e[49]!==s.members||e[50]!==n||e[51]!==r||e[52]!==d?(m=s.members.length>0&&t.jsx("div",{role:"group","aria-label":`${d} crew`,className:"flex flex-wrap gap-1 px-3 pt-3",children:s.members.map((C,R)=>t.jsx("button",{type:"button","aria-label":`Open ${n(C.sessionId)??"crew member"}`,title:`${n(C.sessionId)}: ${s.cells[R]}`,onClick:()=>r(C.sessionId),className:"flex size-5 items-center justify-center rounded-sm outline-none hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",children:t.jsx("span",{className:Z("size-2 rounded-[2px]",Es[s.cells[R]])})},C.sessionId))}),e[48]=s.cells,e[49]=s.members,e[50]=n,e[51]=r,e[52]=d,e[53]=m):m=e[53],b=x===null?t.jsxs("button",{type:"button",onClick:()=>r(u.sessionId),className:Z("grid w-full grid-cols-1 items-center gap-x-4 gap-y-1 rounded-lg py-3 pl-3 pr-10 text-left xl:grid-cols-[minmax(0,1fr)_auto]","outline-none hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring"),children:[t.jsxs("span",{className:"flex min-w-0 items-center gap-2.5",children:[v&&t.jsx("span",{className:Z("size-1.5 shrink-0 rounded-full",v),"aria-hidden":"true"}),t.jsx("span",{className:"truncate text-[13.5px] font-medium",children:d}),t.jsx("span",{className:"hidden min-w-0 truncate text-xs text-muted-foreground sm:inline",children:l(u)})]}),E]}):t.jsxs("div",{className:"grid w-full grid-cols-1 items-center gap-x-4 gap-y-1 rounded-lg py-3 pl-3 pr-10 text-left xl:grid-cols-[minmax(0,1fr)_auto]",children:[t.jsxs("span",{className:"flex min-w-0 items-center gap-2.5",children:[v&&t.jsx("span",{className:Z("size-1.5 shrink-0 rounded-full",v),"aria-hidden":"true"}),t.jsx(ue,{autoFocus:!0,"aria-label":"Session name",value:x,placeholder:o,onChange:C=>a(C.target.value),onFocus:Bs,onBlur:w,onKeyDown:C=>{C.key==="Enter"&&(C.preventDefault(),w()),C.key==="Escape"&&(C.preventDefault(),a(null))},className:"h-7 max-w-md text-[13.5px] font-medium"}),t.jsx("span",{className:"hidden min-w-0 truncate text-xs text-muted-foreground sm:inline",children:l(u)})]}),E]}),e[5]=x,e[6]=s,e[7]=n,e[8]=r,e[9]=i,e[10]=o,e[11]=l,e[12]=u,e[13]=d,e[14]=g,e[15]=m,e[16]=b}else g=e[14],m=e[15],b=e[16];let p;e[54]!==x||e[55]!==s.members.length||e[56]!==d?(p=x===null&&t.jsx(H,{variant:"ghost",size:"icon-xs","aria-label":`Rename ${d}`,title:"Rename",onClick:()=>a(d),className:Z("absolute right-2 text-muted-foreground opacity-0 transition-opacity group-hover/row:opacity-100 focus-visible:opacity-100",s.members.length>0?"top-[42px]":"top-2.5"),children:t.jsx(fs,{"data-icon":"icon"})}),e[54]=x,e[55]=s.members.length,e[56]=d,e[57]=p):p=e[57];let j;return e[58]!==g||e[59]!==m||e[60]!==b||e[61]!==p?(j=t.jsxs("li",{className:g,children:[m,b,p]}),e[58]=g,e[59]=m,e[60]=b,e[61]=p,e[62]=j):j=e[62],j}function Bs(c){return c.target.select()}export{Gs as MissionHome};
|
|
1
|
+
import{c as Y,r as W,j as t}from"./vendor-react-gGw_S5I_.js";import{b6 as Se,J as Z,b7 as Ce,b8 as ye,v as Ae,b9 as ve,ba as de,aK as De,B as H,bb as Pe,bc as _e,P as Ee,bd as Me,be as ue,b0 as fe,A as me,bf as Re,bg as oe,H as $e,T as ze,bh as Ke,bi as Oe,bj as Te,bk as Le,bl as Fe,bm as Be,bn as Qe,bo as Ue,bp as He,bq as Ve,br as Ye,$ as le,L as Ge,M as Xe,Q as Je,bs as We,Z as Ze,bt as pe,bu as es,bv as ss,bw as ts,bx as ns,by as is}from"./index-CPTFl4Qh.js";import{n as xe,aa as ls,b as rs,ab as os,ac as as,ad as cs,ae as ds,C as Ie,$ as us,af as fs,S as ms,X as xs}from"./vendor-ui-DQeMoSiV.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";const gs=6;function ps(c){const e=Y.c(72),{recent:s,start:n}=c,[l,r]=W.useState(null),[i,x]=W.useState(""),a=l??s[0]??null;let u,h,d,f,o,g,m,b,p,j,v,N,w;if(e[0]!==l||e[1]!==a||e[2]!==s||e[3]!==n||e[4]!==i){h=(l&&!s.some(A=>he(A,l))?[l,...s]:[...s]).slice(0,gs);let z;e[18]!==i?(z=i.trim(),e[18]=i,e[19]=z):z=e[19];const F=z;u=!!(a&&F);let k;e[20]===Symbol.for("react.memo_cache_sentinel")?(k=(A,V)=>{r({dirName:A,cwd:V,name:V?ve(V):A})},e[20]=k):k=e[20],d=k;let T;e[21]!==n.defaultAgentKind?(T=A=>d(de(n.defaultAgentKind,A),A),e[21]=n.defaultAgentKind,e[22]=T):T=e[22],f=T;const G=a==null?void 0:a.cwd;let B;e[23]!==G||e[24]!==a?(B=a&&G?A=>r({...a,dirName:de(A,G)}):void 0,e[23]=G,e[24]=a,e[25]=B):B=e[25],m=B;let X;e[26]!==F||e[27]!==a||e[28]!==n?(X=A=>{A==null||A.preventDefault(),!(!a||!F)&&(n.onStart(a.dirName,a.cwd,F),x(""))},e[26]=F,e[27]=a,e[28]=n,e[29]=X):X=e[29],g=X;let J;e[30]!==g?(J=A=>{A.key==="Enter"&&!A.shiftKey&&!A.nativeEvent.isComposing&&(A.preventDefault(),g())},e[30]=g,e[31]=J):J=e[31],o=J,N="Start a session",w="flex min-w-0 flex-col gap-3",b="flex flex-wrap items-center gap-1.5",p="group",j="Projects",v=h.map(A=>{const V=a!==null&&he(A,a);return t.jsxs("button",{type:"button","aria-pressed":V,title:A.cwd??A.name,onClick:()=>r(A),className:Z("flex max-w-48 items-center gap-1.5 rounded-full border py-1 pl-1.5 pr-3 text-xs outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring",V?"border-foreground/80 bg-foreground text-background":"border-border/70 text-muted-foreground hover:border-foreground/40 hover:text-foreground"),children:[t.jsx(Se,{projectPath:A.cwd??null,fallback:t.jsx(xe,{className:"size-3.5","aria-hidden":"true"}),className:"size-4"}),t.jsx("span",{className:"truncate",children:A.name})]},A.cwd??A.dirName)}),e[0]=l,e[1]=a,e[2]=s,e[3]=n,e[4]=i,e[5]=u,e[6]=h,e[7]=d,e[8]=f,e[9]=o,e[10]=g,e[11]=m,e[12]=b,e[13]=p,e[14]=j,e[15]=v,e[16]=N,e[17]=w}else u=e[5],h=e[6],d=e[7],f=e[8],o=e[9],g=e[10],m=e[11],b=e[12],p=e[13],j=e[14],v=e[15],N=e[16],w=e[17];const I=h.length>0;let y;e[32]!==d||e[33]!==f||e[34]!==n.defaultAgentKind||e[35]!==I?(y=t.jsx(hs,{defaultAgentKind:n.defaultAgentKind,onChoose:d,onChooseFolder:f,anyListed:I}),e[32]=d,e[33]=f,e[34]=n.defaultAgentKind,e[35]=I,e[36]=y):y=e[36];let q;e[37]!==b||e[38]!==p||e[39]!==j||e[40]!==v||e[41]!==y?(q=t.jsxs("div",{className:b,role:p,"aria-label":j,children:[v,y]}),e[37]=b,e[38]=p,e[39]=j,e[40]=v,e[41]=y,e[42]=q):q=e[42];let D;e[43]!==l||e[44]!==a?(D=z=>{!l&&a&&r(a),x(z.target.value)},e[43]=l,e[44]=a,e[45]=D):D=e[45];const _=a?`Describe the task for ${a.name}`:"Pick a project, then describe the task";let S;e[46]!==o||e[47]!==D||e[48]!==_||e[49]!==i?(S=t.jsx(De,{"aria-label":"First message",value:i,onChange:D,onKeyDown:o,placeholder:_,rows:1,className:"max-h-48 min-h-9 flex-1 resize-none rounded-none border-0 bg-transparent px-0 py-2 shadow-none focus-visible:border-transparent focus-visible:ring-0"}),e[46]=o,e[47]=D,e[48]=_,e[49]=i,e[50]=S):S=e[50];let P;e[51]!==a||e[52]!==n.model||e[53]!==m?(P=a&&t.jsx(Ce,{isNewSession:!0,agentKind:ye(a.dirName),onAgentKindChange:m,selectedModel:n.model.selectedModel,onModelChange:n.model.onModelChange,selectedEffort:n.model.selectedEffort,onEffortChange:n.model.onEffortChange}),e[51]=a,e[52]=n.model,e[53]=m,e[54]=P):P=e[54];const $=!u;let M;e[55]===Symbol.for("react.memo_cache_sentinel")?(M=t.jsx(ls,{"data-icon":"icon"}),e[55]=M):M=e[55];let E;e[56]!==$?(E=t.jsx(H,{type:"submit",size:"icon-xs",disabled:$,"aria-label":"Start session",title:"Start session (Enter)",children:M}),e[56]=$,e[57]=E):E=e[57];let C;e[58]!==P||e[59]!==E?(C=t.jsxs("div",{className:"flex shrink-0 items-center gap-1 pb-0.5",children:[P,E]}),e[58]=P,e[59]=E,e[60]=C):C=e[60];let R;e[61]!==S||e[62]!==C?(R=t.jsxs("div",{className:"flex items-end gap-2 rounded-xl border bg-popover py-2 pl-4 pr-2 shadow-lg shadow-black/5 transition-[border-color,box-shadow] duration-150 focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",children:[S,C]}),e[61]=S,e[62]=C,e[63]=R):R=e[63];let K;e[64]!==g||e[65]!==R?(K=t.jsx("form",{onSubmit:g,className:"min-w-0",children:R}),e[64]=g,e[65]=R,e[66]=K):K=e[66];let O;return e[67]!==K||e[68]!==N||e[69]!==w||e[70]!==q?(O=t.jsxs("section",{"aria-label":N,className:w,children:[q,K]}),e[67]=K,e[68]=N,e[69]=w,e[70]=q,e[71]=O):O=e[71],O}function he(c,e){return c.cwd&&e.cwd?c.cwd===e.cwd:c.dirName===e.dirName}function hs(c){const e=Y.c(19),{defaultAgentKind:s,onChoose:n,onChooseFolder:l,anyListed:r}=c,[i,x]=W.useState(!1),a=Ae(i),u=r?"ghost":"outline";let h;e[0]!==u?(h=t.jsx(H,{variant:u,size:"xs",className:"rounded-full text-muted-foreground"}),e[0]=u,e[1]=h):h=e[1];let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=t.jsx(xe,{"data-icon":"inline-start"}),e[2]=d):d=e[2];const f=r?"Other project":"Choose a project";let o;e[3]!==h||e[4]!==f?(o=t.jsxs(Pe,{render:h,children:[d,f]}),e[3]=h,e[4]=f,e[5]=o):o=e[5];let g;e[6]!==n?(g=(j,v)=>{x(!1),n(j,v)},e[6]=n,e[7]=g):g=e[7];let m;e[8]!==l?(m=j=>{x(!1),l(j)},e[8]=l,e[9]=m):m=e[9];let b;e[10]!==s||e[11]!==a||e[12]!==g||e[13]!==m?(b=t.jsx(_e,{align:"start",className:"w-96 max-w-[calc(100vw-2rem)] p-0",children:t.jsx(Ee,{projects:a,defaultAgentKind:s,onNewSession:g,onNewFolder:m})}),e[10]=s,e[11]=a,e[12]=g,e[13]=m,e[14]=b):b=e[14];let p;return e[15]!==i||e[16]!==o||e[17]!==b?(p=t.jsxs(Me,{open:i,onOpenChange:x,children:[o,b]}),e[15]=i,e[16]=o,e[17]=b,e[18]=p):p=e[18],p}function bs(c){const e={};for(const s of c)s.type==="boolean"?e[s.name]=s.defaultValue===!0:s.defaultValue!==void 0?e[s.name]=String(s.defaultValue):e[s.name]="";return e}function js(c,e){const s={};for(const n of c){const l=e[n.name];if(typeof l=="boolean"){s[n.name]=l;continue}l!==""&&(s[n.name]=n.type==="number"||n.type==="integer"?Number(l):l)}return s}function ws(c,e){return c.every(s=>{if(!s.required)return!0;const n=e[s.name];return typeof n=="boolean"?!0:n===""?!1:s.type==="number"||s.type==="integer"?Number.isFinite(Number(n)):!0})}function Ns(c){const e=Y.c(52),{request:s,responding:n,onAnswer:l}=c;let r;e[0]!==s.fields?(r=()=>bs(s.fields),e[0]=s.fields,e[1]=r):r=e[1];const[i,x]=W.useState(r);let a;e[2]!==s.fields||e[3]!==i?(a=ws(s.fields,i),e[2]=s.fields,e[3]=i,e[4]=a):a=e[4];const u=a,h=s.displayName||s.title||s.serverName;let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=(N,w)=>{x(I=>({...I,[N]:w}))},e[5]=d):d=e[5];const f=d;let o;e[6]!==l||e[7]!==s.requestId?(o=()=>l==null?void 0:l(s.requestId,{action:"decline"}),e[6]=l,e[7]=s.requestId,e[8]=o):o=e[8];const g=o;if(s.mode==="url"&&s.url){const N=s.url;let w;e[9]!==s.message?(w=t.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:s.message}),e[9]=s.message,e[10]=w):w=e[10];let I;e[11]!==N?(I=t.jsx("p",{className:"mt-1 truncate font-mono text-xs text-muted-foreground",title:N,children:N}),e[11]=N,e[12]=I):I=e[12];let y;e[13]!==g||e[14]!==l||e[15]!==s.requestId||e[16]!==n||e[17]!==N?(y=l&&t.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[t.jsxs(H,{size:"sm",disabled:n,onClick:()=>{window.open(N,"_blank","noopener,noreferrer"),l(s.requestId,{action:"accept"})},children:["Open link",t.jsx(rs,{"data-icon":"inline-end"})]}),t.jsx(H,{variant:"ghost",size:"sm",disabled:n,onClick:g,children:"Decline"})]}),e[13]=g,e[14]=l,e[15]=s.requestId,e[16]=n,e[17]=N,e[18]=y):y=e[18];let q;return e[19]!==h||e[20]!==w||e[21]!==I||e[22]!==y?(q=t.jsxs(be,{server:h,children:[w,I,y]}),e[19]=h,e[20]=w,e[21]=I,e[22]=y,e[23]=q):q=e[23],q}let m;e[24]!==s.message?(m=t.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:s.message}),e[24]=s.message,e[25]=m):m=e[25];let b;if(e[26]!==l||e[27]!==s.fields||e[28]!==s.requestId||e[29]!==n||e[30]!==i){let N;e[32]!==l||e[33]!==s.requestId||e[34]!==n||e[35]!==i?(N=w=>t.jsx(ys,{id:`elicit-${s.requestId}-${w.name}`,field:w,value:i[w.name],disabled:n||!l,onChange:I=>f(w.name,I)},w.name),e[32]=l,e[33]=s.requestId,e[34]=n,e[35]=i,e[36]=N):N=e[36],b=s.fields.map(N),e[26]=l,e[27]=s.fields,e[28]=s.requestId,e[29]=n,e[30]=i,e[31]=b}else b=e[31];let p;e[37]!==b?(p=t.jsx("div",{className:"mt-3 flex flex-col gap-3",children:b}),e[37]=b,e[38]=p):p=e[38];let j;e[39]!==u||e[40]!==g||e[41]!==l||e[42]!==s.fields||e[43]!==s.requestId||e[44]!==n||e[45]!==i?(j=l&&t.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[t.jsx(H,{size:"sm",disabled:n||!u,onClick:()=>l(s.requestId,{action:"accept",content:js(s.fields,i)}),children:"Send"}),t.jsx(H,{variant:"ghost",size:"sm",disabled:n,onClick:g,children:"Decline"})]}),e[39]=u,e[40]=g,e[41]=l,e[42]=s.fields,e[43]=s.requestId,e[44]=n,e[45]=i,e[46]=j):j=e[46];let v;return e[47]!==h||e[48]!==m||e[49]!==p||e[50]!==j?(v=t.jsxs(be,{server:h,children:[m,p,j]}),e[47]=h,e[48]=m,e[49]=p,e[50]=j,e[51]=v):v=e[51],v}function ys(c){const e=Y.c(55),{id:s,field:n,value:l,disabled:r,onChange:i}=c;if(n.type==="boolean"){const g=l===!0;let m;e[0]!==i?(m=v=>i(v===!0),e[0]=i,e[1]=m):m=e[1];let b;e[2]!==r||e[3]!==s||e[4]!==g||e[5]!==m?(b=t.jsx(Re,{id:s,checked:g,disabled:r,onCheckedChange:m}),e[2]=r,e[3]=s,e[4]=g,e[5]=m,e[6]=b):b=e[6];let p;e[7]!==n?(p=t.jsx(ae,{field:n}),e[7]=n,e[8]=p):p=e[8];let j;return e[9]!==s||e[10]!==b||e[11]!==p?(j=t.jsxs(oe,{htmlFor:s,className:"items-start gap-2 font-normal",children:[b,p]}),e[9]=s,e[10]=b,e[11]=p,e[12]=j):j=e[12],j}if(n.type==="enum"){let g;e[13]!==n?(g=t.jsx(ae,{field:n}),e[13]=n,e[14]=g):g=e[14];let m;e[15]!==s||e[16]!==g?(m=t.jsx(oe,{htmlFor:s,children:g}),e[15]=s,e[16]=g,e[17]=m):m=e[17];let b;e[18]!==l?(b=typeof l=="string"&&l?[l]:[],e[18]=l,e[19]=b):b=e[19];let p;e[20]!==i?(p=y=>{y[0]&&i(y[0])},e[20]=i,e[21]=p):p=e[21];const j=n.label;let v;e[22]!==n.options?(v=n.options??[],e[22]=n.options,e[23]=v):v=e[23];let N;if(e[24]!==r||e[25]!==v){let y;e[27]!==r?(y=q=>t.jsx($e,{value:q.value,disabled:r,className:"w-full justify-start px-3",children:q.label},q.value),e[27]=r,e[28]=y):y=e[28],N=v.map(y),e[24]=r,e[25]=v,e[26]=N}else N=e[26];let w;e[29]!==n.label||e[30]!==s||e[31]!==b||e[32]!==p||e[33]!==N?(w=t.jsx(ze,{id:s,value:b,onValueChange:p,orientation:"vertical",variant:"outline",size:"sm",className:"w-full items-stretch","aria-label":j,children:N}),e[29]=n.label,e[30]=s,e[31]=b,e[32]=p,e[33]=N,e[34]=w):w=e[34];let I;return e[35]!==m||e[36]!==w?(I=t.jsxs("div",{className:"flex flex-col gap-1.5",children:[m,w]}),e[35]=m,e[36]=w,e[37]=I):I=e[37],I}let x;e[38]!==n?(x=t.jsx(ae,{field:n}),e[38]=n,e[39]=x):x=e[39];let a;e[40]!==s||e[41]!==x?(a=t.jsx(oe,{htmlFor:s,children:x}),e[40]=s,e[41]=x,e[42]=a):a=e[42];const u=n.type==="string"?"text":"number",h=typeof l=="string"?l:"";let d;e[43]!==i?(d=g=>i(g.target.value),e[43]=i,e[44]=d):d=e[44];let f;e[45]!==r||e[46]!==n.label||e[47]!==s||e[48]!==u||e[49]!==h||e[50]!==d?(f=t.jsx(ue,{id:s,"aria-label":n.label,type:u,value:h,disabled:r,onChange:d}),e[45]=r,e[46]=n.label,e[47]=s,e[48]=u,e[49]=h,e[50]=d,e[51]=f):f=e[51];let o;return e[52]!==a||e[53]!==f?(o=t.jsxs("div",{className:"flex flex-col gap-1.5",children:[a,f]}),e[52]=a,e[53]=f,e[54]=o):o=e[54],o}function ae(c){const e=Y.c(8),{field:s}=c;let n;e[0]!==s.required?(n=s.required&&t.jsx("span",{className:"ml-0.5 text-warning",children:"*"}),e[0]=s.required,e[1]=n):n=e[1];let l;e[2]!==s.description?(l=s.description&&t.jsx("span",{className:"block text-xs font-normal text-muted-foreground",children:s.description}),e[2]=s.description,e[3]=l):l=e[3];let r;return e[4]!==s.label||e[5]!==n||e[6]!==l?(r=t.jsxs("span",{className:"min-w-0",children:[s.label,n,l]}),e[4]=s.label,e[5]=n,e[6]=l,e[7]=r):r=e[7],r}function be(c){const e=Y.c(8),{server:s,children:n}=c;let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx(os,{className:"text-info"}),e[0]=l):l=e[0];let r;e[1]!==s?(r=t.jsxs(fe,{children:[s," needs input"]}),e[1]=s,e[2]=r):r=e[2];let i;e[3]!==n?(i=t.jsx("div",{className:"col-start-2 mt-1 min-w-0",children:n}),e[3]=n,e[4]=i):i=e[4];let x;return e[5]!==r||e[6]!==i?(x=t.jsxs(me,{className:"border-info/40 bg-info/5",children:[l,r,i]}),e[5]=r,e[6]=i,e[7]=x):x=e[7],x}function vs(c){const e=Y.c(15),{request:s,responding:n,onChoose:l}=c;let r,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(as,{className:"text-warning"}),i=t.jsx(fe,{children:"The agent declined this request"}),e[0]=r,e[1]=i):(r=e[0],i=e[1]);let x;e[2]!==s.originalModel?(x=t.jsxs("p",{className:"text-sm leading-relaxed text-foreground",children:[s.originalModel," would not answer. Retrying on a fallback model may work."]}),e[2]=s.originalModel,e[3]=x):x=e[3];let a;e[4]!==s.guidanceText?(a=s.guidanceText&&t.jsx("p",{className:"mt-1 text-sm leading-relaxed text-muted-foreground",children:s.guidanceText}),e[4]=s.guidanceText,e[5]=a):a=e[5];let u;e[6]!==l||e[7]!==s.fallbackModel||e[8]!==s.requestId||e[9]!==n?(u=l&&t.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[t.jsxs(H,{size:"sm",disabled:n,onClick:()=>l(s.requestId,"retry_fallback"),children:["Retry on ",s.fallbackModel]}),t.jsx(H,{variant:"outline",size:"sm",disabled:n,onClick:()=>l(s.requestId,"edit_prompt"),children:"Edit prompt"}),t.jsx(H,{variant:"ghost",size:"sm",disabled:n,className:"ml-auto text-muted-foreground",onClick:()=>l(s.requestId,"cancelled"),children:"Dismiss"})]}),e[6]=l,e[7]=s.fallbackModel,e[8]=s.requestId,e[9]=n,e[10]=u):u=e[10];let h;return e[11]!==x||e[12]!==a||e[13]!==u?(h=t.jsxs(me,{className:"border-warning/40 bg-warning/5",children:[r,i,t.jsxs("div",{className:"col-start-2 mt-1 min-w-0",children:[x,a,u]})]}),e[11]=x,e[12]=a,e[13]=u,e[14]=h):h=e[14],h}function Is(c){const e=Y.c(64),{request:s,input:n,canAnswer:l,onOpen:r}=c;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=new Set,e[0]=i):i=e[0];const[x,a]=W.useState(i),{sessionId:u}=s;switch(s.kind){case"permission":{const h=s.request;let d;e[1]!==n.responding||e[2]!==s.request.requestId?(d=n.responding.has(s.request.requestId),e[1]=n.responding,e[2]=s.request.requestId,e[3]=d):d=e[3];let f;e[4]!==l||e[5]!==n||e[6]!==u?(f=l?(g,m)=>void n.respond(u,g,m):void 0,e[4]=l,e[5]=n,e[6]=u,e[7]=f):f=e[7];let o;return e[8]!==s.request||e[9]!==d||e[10]!==f?(o=t.jsx(Oe,{request:h,queued:0,responding:d,onRespond:f}),e[8]=s.request,e[9]=d,e[10]=f,e[11]=o):o=e[11],o}case"question":{const h=s.request;let d;e[12]!==n.responding||e[13]!==s.request.toolUseId?(d=n.responding.has(s.request.toolUseId),e[12]=n.responding,e[13]=s.request.toolUseId,e[14]=d):d=e[14];let f;e[15]!==x||e[16]!==s.request.toolUseId?(f=x.has(s.request.toolUseId),e[15]=x,e[16]=s.request.toolUseId,e[17]=f):f=e[17];let o;e[18]!==l||e[19]!==n||e[20]!==u?(o=l?async(m,b)=>{(await n.answerQuestion(u,m,b)).gone&&a(j=>new Set(j).add(m))}:void 0,e[18]=l,e[19]=n,e[20]=u,e[21]=o):o=e[21];let g;return e[22]!==r||e[23]!==s.request||e[24]!==d||e[25]!==f||e[26]!==o?(g=t.jsx(Ke,{request:h,responding:d,gone:f,onAnswer:o,onOpenSession:r}),e[22]=r,e[23]=s.request,e[24]=d,e[25]=f,e[26]=o,e[27]=g):g=e[27],g}case"elicitation":{const h=s.request;let d;e[28]!==n.responding||e[29]!==s.request.requestId?(d=n.responding.has(s.request.requestId),e[28]=n.responding,e[29]=s.request.requestId,e[30]=d):d=e[30];let f;e[31]!==l||e[32]!==n||e[33]!==u?(f=l?(g,m)=>void n.answerElicitation(u,g,m):void 0,e[31]=l,e[32]=n,e[33]=u,e[34]=f):f=e[34];let o;return e[35]!==s.request||e[36]!==d||e[37]!==f?(o=t.jsx(Ns,{request:h,responding:d,onAnswer:f}),e[35]=s.request,e[36]=d,e[37]=f,e[38]=o):o=e[38],o}case"dialog":{const h=s.request;let d;e[39]!==n.responding||e[40]!==s.request.requestId?(d=n.responding.has(s.request.requestId),e[39]=n.responding,e[40]=s.request.requestId,e[41]=d):d=e[41];let f;e[42]!==l||e[43]!==n||e[44]!==u?(f=l?(g,m)=>void n.answerDialog(u,g,m):void 0,e[42]=l,e[43]=n,e[44]=u,e[45]=f):f=e[45];let o;return e[46]!==s.request||e[47]!==d||e[48]!==f?(o=t.jsx(vs,{request:h,responding:d,onChoose:f}),e[46]=s.request,e[47]=d,e[48]=f,e[49]=o):o=e[49],o}case"plan":case"deferred":{let h;e[50]!==s.kind?(h=s.kind==="plan"?t.jsx(cs,{className:"text-warning"}):t.jsx(ds,{className:"text-warning"}),e[50]=s.kind,e[51]=h):h=e[51];const d=s.kind==="plan"?"A plan is waiting for review":"A permission was deferred";let f;e[52]!==d?(f=t.jsx(fe,{children:d}),e[52]=d,e[53]=f):f=e[53];const o=s.kind==="plan"?"Review it in its session.":"Open the session and resume it to answer.";let g;e[54]!==o?(g=t.jsx("p",{className:"col-start-2 mt-1 text-sm text-muted-foreground",children:o}),e[54]=o,e[55]=g):g=e[55];let m;e[56]===Symbol.for("react.memo_cache_sentinel")?(m=t.jsx(Ie,{"data-icon":"inline-end"}),e[56]=m):m=e[56];let b;e[57]!==r?(b=t.jsx("div",{className:"col-start-2 mt-2",children:t.jsxs(H,{size:"xs",onClick:r,children:["Open session",m]})}),e[57]=r,e[58]=b):b=e[58];let p;return e[59]!==h||e[60]!==f||e[61]!==g||e[62]!==b?(p=t.jsxs(me,{className:"border-warning/40 bg-warning/5",children:[h,f,g,b]}),e[59]=h,e[60]=f,e[61]=g,e[62]=b,e[63]=p):p=e[63],p}}}function qs(c,e,s=()=>!0){const n=new Map(e.map(i=>[i.sessionId,i])),l=i=>{const x=n.get(i);return x?Be(x):Date.now()},r=[];for(const[i,x]of c.permissionsBySession)for(const a of x)r.push({kind:"permission",sessionId:i,since:a.timestamp,request:a});for(const[i,x]of c.questionsBySession)for(const a of x)r.push({kind:"question",sessionId:i,since:a.askedAt,request:a});for(const[i,x]of c.elicitationsBySession)for(const a of x)r.push({kind:"elicitation",sessionId:i,since:a.askedAt,request:a});for(const[i,x]of c.dialogsBySession)for(const a of x)r.push({kind:"dialog",sessionId:i,since:a.askedAt,request:a});for(const i of c.awaitingPlan)r.push({kind:"plan",sessionId:i,since:l(i)});for(const i of e)i.agentStatus==="deferred"&&!i.archived&&r.push({kind:"deferred",sessionId:i.sessionId,since:l(i.sessionId)});return r.filter(i=>s(i.sessionId)).sort((i,x)=>i.since-x.since)}function je(c){switch(c.kind){case"permission":return c.request.requestId;case"question":return c.request.toolUseId;case"elicitation":case"dialog":return c.request.requestId;default:return`${c.kind}:${c.sessionId}`}}const ks=7*864e5,we=3,Ss=30,Cs=50;function As(c,e){const s=c.filter(r=>!r.archived&&!(r.teamName&&r.agentName)),{topLevel:n,crewOf:l}=Te(s);return n.map(r=>{const i=l.get(r.sessionId)??[],x=i.length?Le(r,i):r.lastActivityAt||r.lastModified,a=[r,...i].flatMap(u=>(u.pullRequests??[]).map(h=>({pullRequest:h,by:u}))).sort((u,h)=>Date.parse(h.pullRequest.timestamp)-Date.parse(u.pullRequest.timestamp))[0];return{session:r,state:e(r).state,members:i,cells:i.map(u=>e(u).state),counts:i.length?Fe(i,e):null,activityAt:x,...a&&{landed:{number:a.pullRequest.number,title:a.pullRequest.title,url:a.pullRequest.url,by:a.by}}}}).sort((r,i)=>Date.parse(i.activityAt)-Date.parse(r.activityAt))}function Ds(c,e=Date.now()){const s=c.filter(n=>e-Date.parse(n.activityAt)<ks);return(s.length>=we?s:c.slice(0,we)).slice(0,Ss)}function Ps(c,e,s=6){const n=[],l=new Set;for(const r of c){const i=e(r.session);if(!(!i.cwd||l.has(i.cwd))&&(l.add(i.cwd),n.push(i),n.length===s))break}return n}function _s(c,e,s){const n=e.toLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[]:c.filter(l=>{const r=s(l).filter(Boolean).join(`
|
|
2
|
+
`).toLowerCase();return n.every(i=>r.includes(i))}).slice(0,Cs)}const Es={working:"bg-success shadow-[0_0_0_1.5px_color-mix(in_oklch,var(--success)_25%,transparent)]","needs-you":"bg-warning",done:"bg-muted-foreground/40"};function Ms(c,e){const s=c.cwd?is(c.cwd):null,n=(s==null?void 0:s.parentPath)??c.cwd,l=s?de(ye(c.dirName),s.parentPath):c.dirName;return{dirName:l,cwd:n,name:e[l]??(n?ve(n):c.projectShortName)}}function Rs(c){const e=c.target instanceof HTMLElement&&c.target.closest("input,textarea,select,[contenteditable=true]");return!c.metaKey&&!c.ctrlKey&&!c.altKey&&!e}function Gs(c){const e=Y.c(81),{onOpenSession:s,onBrowseProjects:n,start:l}=c,r=Qe(),i=Ue(),{names:x,rename:a}=He(),{names:u}=Ve(),h=Ye(),[d,f]=W.useState(""),o=W.useRef(null);let g;e[0]!==r.sessions?(g=r.sessions.filter(Ks),e[0]=r.sessions,e[1]=g):g=e[1];const m=g;let b;e[2]!==m?(b=new Map(m.map(zs)),e[2]=m,e[3]=b):b=e[3];const p=b;let j;e[4]!==i.awaitingDialog||e[5]!==i.awaitingElicitation?(j=new Set([...i.awaitingElicitation,...i.awaitingDialog]),e[4]=i.awaitingDialog,e[5]=i.awaitingElicitation,e[6]=j):j=e[6];let v;e[7]!==i.awaitingPermission||e[8]!==i.awaitingPlan||e[9]!==i.awaitingQuestion||e[10]!==j?(v={awaitingPermission:i.awaitingPermission,awaitingQuestion:i.awaitingQuestion,awaitingPrompt:j,awaitingPlan:i.awaitingPlan},e[7]=i.awaitingPermission,e[8]=i.awaitingPlan,e[9]=i.awaitingQuestion,e[10]=j,e[11]=v):v=e[11];const N=v;let w;e[12]!==r.procBySession||e[13]!==N?(w=Q=>es(Q,r.procBySession,N),e[12]=r.procBySession,e[13]=N,e[14]=w):w=e[14];const I=w;let y;e[15]!==p||e[16]!==h?(y=Q=>{const L=p.get(Q);return h(L==null?void 0:L.access).canInteract},e[15]=p,e[16]=h,e[17]=y):y=e[17];const q=y;let D;e[18]!==q||e[19]!==i||e[20]!==m?(D=qs(i,m,q),e[18]=q,e[19]=i,e[20]=m,e[21]=D):D=e[21];const _=D;let S;e[22]!==p||e[23]!==x?(S=Q=>ss(Q,p,x),e[22]=p,e[23]=x,e[24]=S):S=e[24];const P=S;let $;e[25]!==u?($=Q=>u[Q.dirName]??ts(Q),e[25]=u,e[26]=$):$=e[26];const M=$;let E,C,R;if(e[27]!==P||e[28]!==M||e[29]!==u||e[30]!==d||e[31]!==m||e[32]!==I){E=As(m,I),R=d.trim().length>0?_s(E,d,U=>{var ge;return[P(U.session.sessionId),M(U.session),U.session.gitBranch,U.session.cwd,U.session.lastUserMessage,U.session.firstUserMessage,(ge=U.landed)==null?void 0:ge.title,U.landed&&`#${U.landed.number}`,...U.members.map(ke=>P(ke.sessionId))]}):Ds(E);let L;e[36]!==u?(L=U=>Ms(U,u),e[36]=u,e[37]=L):L=e[37],C=Ps(E,L),e[27]=P,e[28]=M,e[29]=u,e[30]=d,e[31]=m,e[32]=I,e[33]=E,e[34]=C,e[35]=R}else E=e[33],C=e[34],R=e[35];const K=C;let O;e[38]!==p||e[39]!==s?(O=Q=>{const L=p.get(Q);L?s(L.dirName,L.fileName):ns(Q)},e[38]=p,e[39]=s,e[40]=O):O=e[40];const z=O;let F;e[41]!==r.processes?(F=r.processes.filter($s),e[41]=r.processes,e[42]=F):F=e[42];const k=F.length;let T,G;e[43]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{const Q=L=>{var U;L.key==="/"&&Rs(L)&&(L.preventDefault(),(U=o.current)==null||U.focus())};return window.addEventListener("keydown",Q),()=>window.removeEventListener("keydown",Q)},G=[],e[43]=T,e[44]=G):(T=e[43],G=e[44]),W.useEffect(T,G);let B;e[45]===Symbol.for("react.memo_cache_sentinel")?(B=t.jsx("h1",{className:"text-xl font-semibold tracking-tight",children:"Mission Control"}),e[45]=B):B=e[45];let X;e[46]!==k?(X=k>0&&t.jsxs("p",{className:"text-xs text-muted-foreground",children:[k," ",k===1?"agent":"agents"," running on this machine"]}),e[46]=k,e[47]=X):X=e[47];let J;e[48]!==X?(J=t.jsxs("div",{className:"flex flex-wrap items-baseline justify-between gap-x-4 gap-y-1",children:[B,X]}),e[48]=X,e[49]=J):J=e[49];let A;e[50]!==K||e[51]!==l?(A=l&&t.jsx(ps,{recent:K,start:l}),e[50]=K,e[51]=l,e[52]=A):A=e[52];let V;e[53]!==J||e[54]!==A?(V=t.jsxs("div",{className:"mx-auto flex w-full max-w-6xl shrink-0 flex-col gap-8 px-6 pt-16 lg:px-10",children:[J,A]}),e[53]=J,e[54]=A,e[55]=V):V=e[55];const re=_.length>0&&"lg:grid lg:grid-cols-[minmax(0,380px)_minmax(0,1fr)] lg:grid-rows-[minmax(0,1fr)]";let ee;e[56]!==re?(ee=Z("mx-auto flex w-full max-w-6xl flex-col gap-8 px-6 pb-10 pt-10 lg:h-full lg:px-10",re),e[56]=re,e[57]=ee):ee=e[57];let se;e[58]!==p||e[59]!==q||e[60]!==i||e[61]!==P||e[62]!==z||e[63]!==_?(se=_.length>0?t.jsx(Os,{queue:_,input:i,byId:p,nameOf:P,onOpen:z,canAnswer:q}):t.jsxs("p",{className:"flex shrink-0 items-center gap-2 text-xs text-muted-foreground",children:[t.jsx("span",{className:"size-1.5 rounded-full bg-success/40","aria-hidden":"true"}),"Nothing is waiting on you."]}),e[58]=p,e[59]=q,e[60]=i,e[61]=P,e[62]=z,e[63]=_,e[64]=se):se=e[64];let te;e[65]!==P||e[66]!==n||e[67]!==z||e[68]!==M||e[69]!==d||e[70]!==a||e[71]!==E.length||e[72]!==R?(te=t.jsx(Ls,{sessions:R,total:E.length,query:d,onQueryChange:f,searchRef:o,nameOf:P,projectLabel:M,onOpen:z,onRename:a,onBrowseProjects:n}),e[65]=P,e[66]=n,e[67]=z,e[68]=M,e[69]=d,e[70]=a,e[71]=E.length,e[72]=R,e[73]=te):te=e[73];let ne;e[74]!==ee||e[75]!==se||e[76]!==te?(ne=t.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto lg:overflow-hidden",children:t.jsxs("div",{className:ee,children:[se,te]})}),e[74]=ee,e[75]=se,e[76]=te,e[77]=ne):ne=e[77];let ie;return e[78]!==V||e[79]!==ne?(ie=t.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[V,ne]}),e[78]=V,e[79]=ne,e[80]=ie):ie=e[80],ie}function $s(c){return c.sessionId}function zs(c){return[c.sessionId,c]}function Ks(c){return!c.archived}function qe(c){const e=Y.c(9),{title:s,count:n,children:l}=c;let r;e[0]!==s?(r=t.jsx("h2",{className:"text-sm font-medium",children:s}),e[0]=s,e[1]=r):r=e[1];let i;e[2]!==n?(i=n!==void 0&&t.jsx("span",{className:"text-xs tabular-nums text-muted-foreground",children:n}),e[2]=n,e[3]=i):i=e[3];let x;e[4]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx("span",{className:"flex-1"}),e[4]=x):x=e[4];let a;return e[5]!==l||e[6]!==r||e[7]!==i?(a=t.jsxs("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[r,i,x,l]}),e[5]=l,e[6]=r,e[7]=i,e[8]=a):a=e[8],a}function ce(c,e){const s=c==null?void 0:c.crew;return s?e(s.rootId)??s.rootTitle??null:null}const Ne={permission:"asked a permission",question:"asked a question",elicitation:"asked for input",dialog:"needs a choice",plan:"has a plan to review",deferred:"has a deferred permission"};function Os(c){const e=Y.c(71),{queue:s,input:n,byId:l,nameOf:r,onOpen:i,canAnswer:x}=c,[a,u]=W.useState(0);let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=new Set,e[0]=h):h=e[0];const d=W.useRef(h),f=Math.min(a,s.length-1),o=s[f];let g;if(e[1]!==l||e[2]!==r||e[3]!==o.sessionId){const k=l.get(o.sessionId);g=ce(k,r),e[1]=l,e[2]=r,e[3]=o.sessionId,e[4]=g}else g=e[4];const m=g;let b;e[5]!==f||e[6]!==x||e[7]!==n||e[8]!==i||e[9]!==s.length||e[10]!==o.kind||e[11]!==o.request||e[12]!==o.sessionId?(b=k=>{const T=k.target;if(!(T.closest("input,textarea,select,[contenteditable=true]")||k.metaKey||k.ctrlKey||k.altKey)&&((k.key==="j"||k.key==="n"||k.key==="ArrowDown")&&(k.preventDefault(),u(Math.min(s.length-1,f+1))),(k.key==="k"||k.key==="ArrowUp")&&(k.preventDefault(),u(Math.max(0,f-1))),k.key==="o"&&(k.preventDefault(),i(o.sessionId)),(k.key==="Enter"||k.key==="d")&&T===k.currentTarget&&x(o.sessionId))){if(o.kind!=="permission")return;const G=k.key==="d"||o.request.defaultToNo?"deny":"allow",B=o.request.requestId;if(o.request.availableDecisions&&!o.request.availableDecisions.includes(G)||(k.preventDefault(),d.current.has(B)||n.responding.has(B)))return;d.current.add(B),n.respond(o.sessionId,B,G).finally(()=>d.current.delete(B))}},e[5]=f,e[6]=x,e[7]=n,e[8]=i,e[9]=s.length,e[10]=o.kind,e[11]=o.request,e[12]=o.sessionId,e[13]=b):b=e[13];const p=b;let j;e[14]!==f||e[15]!==s.length?(j=s.length>1&&t.jsxs("span",{className:"flex items-center gap-1 text-xs tabular-nums text-muted-foreground",children:[f+1," of ",s.length,t.jsx(H,{variant:"ghost",size:"icon-xs","aria-label":"Previous request",disabled:f===0,onClick:()=>u(f-1),children:t.jsx(us,{"data-icon":"inline-start"})}),t.jsx(H,{variant:"ghost",size:"icon-xs","aria-label":"Next request",disabled:f===s.length-1,onClick:()=>u(f+1),children:t.jsx(Ie,{"data-icon":"inline-start"})})]}),e[14]=f,e[15]=s.length,e[16]=j):j=e[16];let v;e[17]!==s.length||e[18]!==j?(v=t.jsx(qe,{title:"Needs you",count:s.length,children:j}),e[17]=s.length,e[18]=j,e[19]=v):v=e[19];let N;e[20]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-warning","aria-hidden":"true"}),e[20]=N):N=e[20];let w;e[21]!==i||e[22]!==o.sessionId?(w=()=>i(o.sessionId),e[21]=i,e[22]=o.sessionId,e[23]=w):w=e[23];let I;e[24]!==r||e[25]!==o.sessionId?(I=r(o.sessionId)??"A session",e[24]=r,e[25]=o.sessionId,e[26]=I):I=e[26];let y;e[27]!==w||e[28]!==I?(y=t.jsx("button",{type:"button",onClick:w,className:"min-w-0 truncate rounded-sm font-medium outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring",children:I}),e[27]=w,e[28]=I,e[29]=y):y=e[29];let q;e[30]!==m?(q=m&&t.jsxs("span",{className:"min-w-0 truncate text-muted-foreground",children:["· ",m]}),e[30]=m,e[31]=q):q=e[31];let D;e[32]!==o.since?(D=le(new Date(o.since).toISOString()),e[32]=o.since,e[33]=D):D=e[33];let _;e[34]!==D?(_=t.jsxs("span",{className:"ml-auto shrink-0 text-xs tabular-nums text-warning",children:["waiting ",D]}),e[34]=D,e[35]=_):_=e[35];let S;e[36]!==q||e[37]!==_||e[38]!==y?(S=t.jsxs("div",{className:"flex items-center gap-2 px-0.5 text-[13px]",children:[N,y,q,_]}),e[36]=q,e[37]=_,e[38]=y,e[39]=S):S=e[39];const P=Ne[o.kind];let $;e[40]!==P?($=t.jsx("p",{className:"px-0.5 text-xs text-muted-foreground",children:P}),e[40]=P,e[41]=$):$=e[41];let M;e[42]!==o?(M=je(o),e[42]=o,e[43]=M):M=e[43];let E;e[44]!==x||e[45]!==o.sessionId?(E=x(o.sessionId),e[44]=x,e[45]=o.sessionId,e[46]=E):E=e[46];let C;e[47]!==i||e[48]!==o.sessionId?(C=()=>i(o.sessionId),e[47]=i,e[48]=o.sessionId,e[49]=C):C=e[49];let R;e[50]!==n||e[51]!==o||e[52]!==M||e[53]!==E||e[54]!==C?(R=t.jsx(Is,{request:o,input:n,canAnswer:E,onOpen:C},M),e[50]=n,e[51]=o,e[52]=M,e[53]=E,e[54]=C,e[55]=R):R=e[55];let K;e[56]!==S||e[57]!==$||e[58]!==R?(K=t.jsxs("div",{className:"flex flex-col gap-2",children:[S,$,R]}),e[56]=S,e[57]=$,e[58]=R,e[59]=K):K=e[59];let O;e[60]!==f||e[61]!==l||e[62]!==r||e[63]!==s?(O=s.length>1&&t.jsx("ol",{className:"mt-3 flex flex-col","aria-label":"Also waiting",children:s.map((k,T)=>T===f?null:t.jsx("li",{children:t.jsxs("button",{type:"button",onClick:()=>u(T),className:"grid w-full grid-cols-[18px_minmax(0,1fr)_auto] items-center gap-2.5 rounded-lg px-2 py-2 text-left text-[12.5px] outline-none hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",children:[t.jsx("span",{className:"text-right text-[11px] tabular-nums text-muted-foreground/80",children:T+1}),t.jsxs("span",{className:"flex min-w-0 flex-col",children:[t.jsxs("span",{className:"truncate font-medium",children:[r(k.sessionId)??"A session",ce(l.get(k.sessionId),r)&&t.jsxs("span",{className:"font-normal text-muted-foreground",children:[" · ",ce(l.get(k.sessionId),r)]})]}),t.jsx("span",{className:"truncate text-[11.5px] text-muted-foreground",children:Ne[k.kind]})]}),t.jsx("span",{className:"text-[11px] tabular-nums text-warning",children:le(new Date(k.since).toISOString())})]})},je(k)))}),e[60]=f,e[61]=l,e[62]=r,e[63]=s,e[64]=O):O=e[64];let z;e[65]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx("p",{className:"mt-2 px-0.5 text-[11px] text-muted-foreground/80",children:"J / K move · Enter answers · D denies · O opens"}),e[65]=z):z=e[65];let F;return e[66]!==p||e[67]!==K||e[68]!==O||e[69]!==v?(F=t.jsxs("section",{"aria-label":"Needs you",tabIndex:0,onKeyDown:p,className:"min-w-0 rounded-xl outline-none focus-visible:ring-2 focus-visible:ring-ring lg:min-h-0 lg:overflow-y-auto",children:[v,K,O,z]}),e[66]=p,e[67]=K,e[68]=O,e[69]=v,e[70]=F):F=e[70],F}function Ts(c){var e,s;return c.state==="needs-you"||(((e=c.counts)==null?void 0:e.needsYou)??0)>0?pe.attention:c.state==="working"||(((s=c.counts)==null?void 0:s.working)??0)>0?pe.working:null}function Ls(c){const e=Y.c(39),{sessions:s,total:n,query:l,onQueryChange:r,searchRef:i,nameOf:x,projectLabel:a,onOpen:u,onRename:h,onBrowseProjects:d}=c;let f;e[0]!==l?(f=l.trim(),e[0]=l,e[1]=f):f=e[1];const o=f.length>0;let g;e[2]!==r||e[3]!==i?(g=()=>{var S;r(""),(S=i.current)==null||S.focus()},e[2]=r,e[3]=i,e[4]=g):g=e[4];const m=g,b=o?s.length:n;let p;e[5]===Symbol.for("react.memo_cache_sentinel")?(p=t.jsx(ms,{className:"pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"}),e[5]=p):p=e[5];let j;e[6]!==r?(j=S=>r(S.target.value),e[6]=r,e[7]=j):j=e[7];let v;e[8]!==m||e[9]!==i?(v=S=>{var P;S.key==="Escape"&&(S.preventDefault(),m(),(P=i.current)==null||P.blur())},e[8]=m,e[9]=i,e[10]=v):v=e[10];let N;e[11]!==l||e[12]!==i||e[13]!==j||e[14]!==v?(N=t.jsx(ue,{ref:i,type:"search","aria-label":"Search sessions",placeholder:"Search sessions",value:l,onChange:j,onKeyDown:v,className:"h-7 pl-8 pr-7 text-xs [&::-webkit-search-cancel-button]:hidden"}),e[11]=l,e[12]=i,e[13]=j,e[14]=v,e[15]=N):N=e[15];let w;e[16]!==m||e[17]!==o?(w=o?t.jsx("button",{type:"button","aria-label":"Clear search",onClick:m,className:"absolute right-1.5 top-1/2 flex size-4 -translate-y-1/2 items-center justify-center rounded-sm text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",children:t.jsx(xs,{className:"size-3"})}):t.jsx("kbd",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 font-mono text-[10px] text-muted-foreground/70","aria-hidden":"true",children:"/"}),e[16]=m,e[17]=o,e[18]=w):w=e[18];let I;e[19]!==N||e[20]!==w?(I=t.jsxs("div",{className:"relative w-full max-w-64",children:[p,N,w]}),e[19]=N,e[20]=w,e[21]=I):I=e[21];let y;e[22]!==d?(y=d&&t.jsxs(H,{variant:"ghost",size:"xs",className:"text-muted-foreground",onClick:d,children:[t.jsx(xe,{"data-icon":"inline-start"}),"All projects"]}),e[22]=d,e[23]=y):y=e[23];let q;e[24]!==y||e[25]!==b||e[26]!==I?(q=t.jsxs(qe,{title:"Your sessions",count:b,children:[I,y]}),e[24]=y,e[25]=b,e[26]=I,e[27]=q):q=e[27];let D;e[28]!==x||e[29]!==u||e[30]!==h||e[31]!==a||e[32]!==l||e[33]!==o||e[34]!==s?(D=s.length===0?t.jsx(Ge,{children:t.jsx(Xe,{children:t.jsx(Je,{children:o?`No session matches “${l.trim()}”.`:"Start a session and it shows up here, with every session it starts."})})}):t.jsx("ul",{className:"flex flex-col lg:min-h-0 lg:flex-1 lg:overflow-y-auto",children:s.map(S=>t.jsx(Fs,{entry:S,nameOf:x,projectLabel:a,onOpen:u,onRename:h},S.session.sessionId))}),e[28]=x,e[29]=u,e[30]=h,e[31]=a,e[32]=l,e[33]=o,e[34]=s,e[35]=D):D=e[35];let _;return e[36]!==q||e[37]!==D?(_=t.jsxs("section",{"aria-label":"Your sessions",className:"flex min-w-0 flex-col lg:min-h-0 lg:flex-1",children:[q,D]}),e[36]=q,e[37]=D,e[38]=_):_=e[38],_}function Fs(c){const e=Y.c(63),{entry:s,nameOf:n,projectLabel:l,onOpen:r,onRename:i}=c,[x,a]=W.useState(null),{session:u}=s;let h;e[0]!==n||e[1]!==u.sessionId?(h=n(u.sessionId)??"Untitled session",e[0]=n,e[1]=u.sessionId,e[2]=h):h=e[2];const d=h;let f;e[3]!==u?(f=We(u),e[3]=u,e[4]=f):f=e[4];const o=f;let g,m,b;if(e[5]!==x||e[6]!==s||e[7]!==n||e[8]!==r||e[9]!==i||e[10]!==o||e[11]!==l||e[12]!==u||e[13]!==d){const v=Ts(s);let N;e[17]!==x||e[18]!==i||e[19]!==o||e[20]!==u.sessionId||e[21]!==d?(N=()=>{if(x===null)return;const C=x.trim();a(null),C!==d&&i(u.sessionId,C===o?"":C)},e[17]=x,e[18]=i,e[19]=o,e[20]=u.sessionId,e[21]=d,e[22]=N):N=e[22];const w=N;let I;e[23]!==s.counts||e[24]!==u.isActive?(I=s.counts?t.jsxs(t.Fragment,{children:[s.counts.working>0&&t.jsxs("span",{children:[t.jsx("span",{className:"font-medium text-foreground tabular-nums",children:s.counts.working})," working"]}),s.counts.needsYou>0&&t.jsxs("span",{className:"text-warning",children:[t.jsx("span",{className:"font-medium tabular-nums",children:s.counts.needsYou})," need you"]}),t.jsxs("span",{children:[t.jsx("span",{className:"font-medium text-foreground tabular-nums",children:s.counts.size})," in crew"]})]}):u.isActive&&t.jsx("span",{children:"working"}),e[23]=s.counts,e[24]=u.isActive,e[25]=I):I=e[25];let y;e[26]!==I?(y=t.jsx("span",{className:"flex items-center gap-3 text-xs text-muted-foreground",children:I}),e[26]=I,e[27]=y):y=e[27];let q;e[28]!==s.landed?(q=s.landed&&t.jsxs(Ze,{variant:"outline",className:"shrink-0",children:["#",s.landed.number]}),e[28]=s.landed,e[29]=q):q=e[29];let D;e[30]!==s.landed||e[31]!==n||e[32]!==u.lastUserMessage?(D=s.landed?`${s.landed.title??"Pull request"} · ${n(s.landed.by.sessionId)??""}`:u.lastUserMessage??"",e[30]=s.landed,e[31]=n,e[32]=u.lastUserMessage,e[33]=D):D=e[33];let _;e[34]!==D?(_=t.jsx("span",{className:"truncate",children:D}),e[34]=D,e[35]=_):_=e[35];let S;e[36]!==_||e[37]!==q?(S=t.jsxs("span",{className:"flex min-w-0 items-center gap-2 text-xs text-muted-foreground",children:[q,_]}),e[36]=_,e[37]=q,e[38]=S):S=e[38];let P;e[39]!==s.activityAt||e[40]!==s.counts?(P=s.counts?`crew active ${le(s.activityAt)}`:le(s.activityAt),e[39]=s.activityAt,e[40]=s.counts,e[41]=P):P=e[41];let $;e[42]!==P?($=t.jsx("span",{className:"text-[11px] tabular-nums text-muted-foreground/80",children:P}),e[42]=P,e[43]=$):$=e[43];let M;e[44]!==S||e[45]!==$||e[46]!==y?(M=t.jsxs(t.Fragment,{children:[y,S,$]}),e[44]=S,e[45]=$,e[46]=y,e[47]=M):M=e[47];const E=M;g="group/row relative border-t border-border/70 first:border-t-0",e[48]!==s.cells||e[49]!==s.members||e[50]!==n||e[51]!==r||e[52]!==d?(m=s.members.length>0&&t.jsx("div",{role:"group","aria-label":`${d} crew`,className:"flex flex-wrap gap-1 px-3 pt-3",children:s.members.map((C,R)=>t.jsx("button",{type:"button","aria-label":`Open ${n(C.sessionId)??"crew member"}`,title:`${n(C.sessionId)}: ${s.cells[R]}`,onClick:()=>r(C.sessionId),className:"flex size-5 items-center justify-center rounded-sm outline-none hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring",children:t.jsx("span",{className:Z("size-2 rounded-[2px]",Es[s.cells[R]])})},C.sessionId))}),e[48]=s.cells,e[49]=s.members,e[50]=n,e[51]=r,e[52]=d,e[53]=m):m=e[53],b=x===null?t.jsxs("button",{type:"button",onClick:()=>r(u.sessionId),className:Z("grid w-full grid-cols-1 items-center gap-x-4 gap-y-1 rounded-lg py-3 pl-3 pr-10 text-left xl:grid-cols-[minmax(0,1fr)_auto]","outline-none hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring"),children:[t.jsxs("span",{className:"flex min-w-0 items-center gap-2.5",children:[v&&t.jsx("span",{className:Z("size-1.5 shrink-0 rounded-full",v),"aria-hidden":"true"}),t.jsx("span",{className:"truncate text-[13.5px] font-medium",children:d}),t.jsx("span",{className:"hidden min-w-0 truncate text-xs text-muted-foreground sm:inline",children:l(u)})]}),E]}):t.jsxs("div",{className:"grid w-full grid-cols-1 items-center gap-x-4 gap-y-1 rounded-lg py-3 pl-3 pr-10 text-left xl:grid-cols-[minmax(0,1fr)_auto]",children:[t.jsxs("span",{className:"flex min-w-0 items-center gap-2.5",children:[v&&t.jsx("span",{className:Z("size-1.5 shrink-0 rounded-full",v),"aria-hidden":"true"}),t.jsx(ue,{autoFocus:!0,"aria-label":"Session name",value:x,placeholder:o,onChange:C=>a(C.target.value),onFocus:Bs,onBlur:w,onKeyDown:C=>{C.key==="Enter"&&(C.preventDefault(),w()),C.key==="Escape"&&(C.preventDefault(),a(null))},className:"h-7 max-w-md text-[13.5px] font-medium"}),t.jsx("span",{className:"hidden min-w-0 truncate text-xs text-muted-foreground sm:inline",children:l(u)})]}),E]}),e[5]=x,e[6]=s,e[7]=n,e[8]=r,e[9]=i,e[10]=o,e[11]=l,e[12]=u,e[13]=d,e[14]=g,e[15]=m,e[16]=b}else g=e[14],m=e[15],b=e[16];let p;e[54]!==x||e[55]!==s.members.length||e[56]!==d?(p=x===null&&t.jsx(H,{variant:"ghost",size:"icon-xs","aria-label":`Rename ${d}`,title:"Rename",onClick:()=>a(d),className:Z("absolute right-2 text-muted-foreground opacity-0 transition-opacity group-hover/row:opacity-100 focus-visible:opacity-100",s.members.length>0?"top-[42px]":"top-2.5"),children:t.jsx(fs,{"data-icon":"icon"})}),e[54]=x,e[55]=s.members.length,e[56]=d,e[57]=p):p=e[57];let j;return e[58]!==g||e[59]!==m||e[60]!==b||e[61]!==p?(j=t.jsxs("li",{className:g,children:[m,b,p]}),e[58]=g,e[59]=m,e[60]=b,e[61]=p,e[62]=j):j=e[62],j}function Bs(c){return c.target.select()}export{Gs as MissionHome};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as x,c as d,j as s}from"./vendor-react-gGw_S5I_.js";import{S as p,a as f,b as j,c as g,F as C,d as S}from"./index-
|
|
1
|
+
import{r as x,c as d,j as s}from"./vendor-react-gGw_S5I_.js";import{S as p,a as f,b as j,c as g,F as C,d as S}from"./index-CPTFl4Qh.js";import"./vendor-ui-DQeMoSiV.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";const E=x.memo(function(c){const e=d.c(10),{open:l,onClose:a,session:r,sessionChangeKey:h}=c;let i;e[0]!==a?(i=m=>{m||a()},e[0]=a,e[1]=i):i=e[1];let t;e[2]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsxs(p,{className:"shrink-0 px-4 py-3",children:[s.jsx(f,{children:"File changes"}),s.jsx(j,{className:"sr-only",children:"Review files changed in this session."})]}),e[2]=t):t=e[2];let n;e[3]!==r||e[4]!==h?(n=s.jsxs(g,{side:"bottom",className:"h-[72svh] max-h-[92svh] rounded-t-xl",children:[t,s.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:s.jsx(C,{session:r,sessionChangeKey:h})})]}),e[3]=r,e[4]=h,e[5]=n):n=e[5];let o;return e[6]!==l||e[7]!==i||e[8]!==n?(o=s.jsx(S,{open:l,onOpenChange:i,children:n}),e[6]=l,e[7]=i,e[8]=n,e[9]=o):o=e[9],o});export{E as MobileFileChanges};
|