cogpit 2.1.0 → 2.1.2
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.js +19788 -19545
- package/dist/web/assets/{CommandPaletteHost-C-ParO8t.js → CommandPaletteHost-Bq0_FFr0.js} +1 -1
- package/dist/web/assets/{ConfigBrowser-Co4eu81Z.js → ConfigBrowser-DmOlS3cU.js} +1 -1
- package/dist/web/assets/{HighlightedEditor-j81AHVZZ.js → HighlightedEditor-BYfv1SYX.js} +1 -1
- package/dist/web/assets/{KeyboardShortcutsDialog-CluzMowK.js → KeyboardShortcutsDialog-YDYAOpa5.js} +1 -1
- package/dist/web/assets/{MobileFileChanges-DiOncgtO.js → MobileFileChanges-Bb3zEFSH.js} +1 -1
- package/dist/web/assets/{PreviewPanel-i4Yn68yV.js → PreviewPanel-B9CQNmuh.js} +1 -1
- package/dist/web/assets/{ProjectFilesPanel-DPLFARWn.js → ProjectFilesPanel-C3jKD37-.js} +1 -1
- package/dist/web/assets/{ProjectSwitcherModal-BUXfKNzX.js → ProjectSwitcherModal-CxbGrX7A.js} +1 -1
- package/dist/web/assets/{TerminalOutput-DLRMV4_Y.js → TerminalOutput-LwRcBZWA.js} +1 -1
- package/dist/web/assets/{ThemeSelectorModal-Cmx9maEq.js → ThemeSelectorModal-BG_Jah0i.js} +1 -1
- package/dist/web/assets/{WorkflowsPanel-Cgm_kbHR.js → WorkflowsPanel-CiZjrfSd.js} +1 -1
- package/dist/web/assets/{WorktreePanel-h3DRRXek.js → WorktreePanel-gR-fCesa.js} +1 -1
- package/dist/web/assets/{index-cjmnKg1q.js → index-BaKcHvT2.js} +1 -1
- package/dist/web/assets/{index-Cgnw8FK8.js → index-C_pb6rZe.js} +1 -1
- package/dist/web/assets/index-D-Mg0tNr.js +144 -0
- package/dist/web/assets/{index-DUI5EaV5.js → index-EmT8Vg0x.js} +1 -1
- package/dist/web/assets/session-parser.worker-DycJL0jJ.js +29 -0
- package/dist/web/assets/{vendor-ui-CIBbYCBQ.js → vendor-ui-Bg9q4lA4.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +2 -1
- package/dist/web/assets/index-DocqIkvS.js +0 -144
- package/dist/web/assets/session-parser.worker-DTq2tkdd.js +0 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as h,j as e}from"./vendor-react-gGw_S5I_.js";import{T as Y,d as Z,c as K,S as Q,a as _,B as x,U as S,b as ee,E as se,y as te,z as ne,G as re,H as ae,V as ie,W as le,X as oe,Y as ce,Z as de,_ as A,$ as R,a0 as E,a1 as he,a2 as T,a3 as U,a4 as z,a5 as $,a6 as F,w as u,a7 as c}from"./index-
|
|
1
|
+
import{r as h,j as e}from"./vendor-react-gGw_S5I_.js";import{T as Y,d as Z,c as K,S as Q,a as _,B as x,U as S,b as ee,E as se,y as te,z as ne,G as re,H as ae,V as ie,W as le,X as oe,Y as ce,Z as de,_ as A,$ as R,a0 as E,a1 as he,a2 as T,a3 as U,a4 as z,a5 as $,a6 as F,w as u,a7 as c}from"./index-D-Mg0tNr.js";import{G as P,b as xe,c as me,E as ue,d as pe,T as O,C as je,e as ge}from"./vendor-ui-Bg9q4lA4.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";const fe={M:"text-warning",A:"text-success",D:"text-destructive",R:"text-info"};function we({open:I,onOpenChange:H,worktrees:v,loading:p,dirName:a,onRefetch:j,onOpenSession:M}){const o=Y("hostFiles"),[B,y]=h.useState(null),[G,b]=h.useState(null),[J,m]=h.useState(!1),[t,d]=h.useState(null),[r,g]=h.useState(null),C=async s=>{if(!(!o||!a)){y(s.name);try{await u(`/api/worktrees/${encodeURIComponent(a)}/${encodeURIComponent(s.name)}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({force:s.isDirty})}),j()}catch(n){c.error(`Failed to delete worktree: ${n instanceof Error?n.message:"Unknown error"}`)}finally{y(null)}}},W=s=>{if(!(!o||!a)){if(s.isDirty){d({worktree:s,reason:"dirty"});return}if(s.commitsAhead>0){d({worktree:s,reason:"unpushed"});return}C(s)}},L=()=>{if(!t)return;const{worktree:s,reason:n}=t;if(n==="dirty"&&s.commitsAhead>0){d({worktree:s,reason:"unpushed"});return}d(null),C(s)},q=async s=>{if(!(!o||!a)){b(s.name);try{const n=await u(`/api/worktrees/${encodeURIComponent(a)}/create-pr`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({worktreeName:s.name,title:s.name.replace(/-/g," ")})});if(n.ok){const l=await n.json();l.url?window.open(l.url,"_blank","noopener,noreferrer"):c.warning("PR created but no URL was returned")}else{const l=await n.json().catch(()=>({error:"Unknown error"}));c.error(`Failed to create PR: ${l.error||"Unknown error"}`)}}catch(n){c.error(`Error creating PR: ${n instanceof Error?n.message:"Unknown error"}`)}finally{b(null)}}},V=async()=>{if(!(!o||!a)){m(!0);try{const s=await u(`/api/worktrees/${encodeURIComponent(a)}/cleanup`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(s.ok){const{stale:n}=await s.json();n.length===0?c.info("No stale worktrees found"):g(n.map(l=>l.name))}}catch(s){c.error(`Cleanup failed: ${s instanceof Error?s.message:"Unknown error"}`)}finally{m(!1)}}},X=async()=>{if(!o||!a||!r)return;const s=r;g(null),m(!0);try{await u(`/api/worktrees/${encodeURIComponent(a)}/cleanup`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirm:!0,names:s})}),j()}catch(n){c.error(`Cleanup failed: ${n instanceof Error?n.message:"Unknown error"}`)}finally{m(!1)}};return e.jsxs(Z,{open:I,onOpenChange:H,children:[e.jsxs(K,{children:[e.jsxs(Q,{children:[e.jsxs("div",{className:"flex items-center justify-between pr-8",children:[e.jsxs(_,{className:"flex items-center gap-2",children:[e.jsx(P,{"data-icon":"inline-start",className:"size-4"}),"Worktrees"]}),e.jsxs("div",{className:"flex items-center gap-1",children:[o&&e.jsx(x,{variant:"ghost",size:"icon-xs",onClick:V,disabled:J,"aria-label":"Cleanup stale worktrees",children:e.jsx(xe,{"data-icon":"inline-start"})}),e.jsx(x,{variant:"ghost",size:"icon-xs",onClick:j,disabled:p,"aria-label":"Refresh worktrees",children:e.jsx(me,{"data-icon":"inline-start",className:S(p&&"animate-spin")})})]})]}),e.jsx(ee,{children:"Review isolated branches and their file changes."})]}),e.jsxs("div",{className:"flex flex-1 flex-col gap-2 overflow-y-auto p-3",children:[!a&&e.jsx("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground",children:"Select a project to view worktrees"}),a&&v.length===0&&!p&&e.jsx(se,{className:"border-0 py-16",children:e.jsxs(te,{children:[e.jsx(ne,{variant:"icon",children:e.jsx(P,{})}),e.jsx(re,{children:"No worktrees"}),e.jsx(ae,{children:"Create a new session with “Isolate in worktree” enabled"})]})}),v.map(s=>{var w,N,D;const n=((w=s.changedFiles)==null?void 0:w.reduce((i,k)=>i+k.additions,0))??0,l=((N=s.changedFiles)==null?void 0:N.reduce((i,k)=>i+k.deletions,0))??0,f=((D=s.changedFiles)==null?void 0:D.length)??0;return e.jsxs("div",{className:"rounded-lg border bg-card p-3 transition-colors hover:bg-accent/40",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:s.name}),s.isDirty&&e.jsx("span",{className:"flex size-2 shrink-0 rounded-full bg-warning",title:"Uncommitted changes"}),s.commitsAhead>0&&e.jsxs(ie,{variant:"outline",className:"h-5 shrink-0 px-1.5 text-xs",children:[s.commitsAhead," ahead"]})]}),e.jsxs("div",{className:"flex items-center gap-0.5 shrink-0",children:[s.linkedSessions.length>0&&e.jsx(x,{variant:"ghost",size:"icon-xs",onClick:()=>M(s.linkedSessions[0]),"aria-label":"Open session",children:e.jsx(ue,{"data-icon":"inline-start"})}),o&&e.jsxs(e.Fragment,{children:[e.jsx(x,{variant:"ghost",size:"icon-xs",onClick:()=>q(s),disabled:G===s.name||s.commitsAhead===0,"aria-label":"Create PR",children:e.jsx(pe,{"data-icon":"inline-start"})}),e.jsx(x,{variant:"ghost",size:"icon-xs",onClick:()=>W(s),disabled:B===s.name,className:"text-destructive hover:bg-destructive/10 hover:text-destructive","aria-label":"Delete worktree",children:e.jsx(O,{"data-icon":"inline-start"})})]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[e.jsx("span",{className:"font-mono shrink-0",children:s.head}),e.jsx("span",{className:"truncate",children:s.headMessage})]}),s.createdAt&&e.jsx("div",{className:"mt-0.5 text-xs text-muted-foreground",children:le(s.createdAt)}),f>0&&e.jsxs(oe,{className:"mt-2",children:[e.jsxs(ce,{className:"group flex w-full items-center gap-1.5 text-xs text-muted-foreground transition-colors hover:text-foreground",children:[e.jsx(je,{"data-icon":"inline-start",className:"size-3 transition-transform group-data-panel-open:rotate-90 motion-reduce:transition-none"}),e.jsx(ge,{"data-icon":"inline-start",className:"size-3"}),e.jsxs("span",{children:[f," file",f!==1?"s":""," changed"]}),e.jsxs("span",{className:"ml-1",children:[e.jsxs("span",{className:"text-success",children:["+",n]})," ",e.jsxs("span",{className:"text-destructive",children:["-",l]})]})]}),e.jsx(de,{children:e.jsx("div",{className:"mt-1.5 flex flex-col gap-px rounded-md bg-muted/40 p-1.5",children:s.changedFiles.map(i=>e.jsxs("div",{className:"flex items-center gap-2 px-1 py-0.5 font-mono text-xs",children:[e.jsx("span",{className:S("shrink-0 w-3 text-center",fe[i.status]??"text-muted-foreground"),children:i.status}),e.jsx("span",{className:"truncate text-foreground/80",children:i.path}),e.jsxs("span",{className:"ml-auto shrink-0 text-muted-foreground",children:[e.jsxs("span",{className:"text-success",children:["+",i.additions]})," ",e.jsxs("span",{className:"text-destructive",children:["-",i.deletions]})]})]},i.path))})})]})]},s.name)})]})]}),e.jsx(A,{open:t!==null,onOpenChange:s=>{s||d(null)},children:e.jsxs(R,{size:"sm",children:[e.jsxs(E,{children:[e.jsx(he,{className:"bg-destructive/10 text-destructive",children:e.jsx(O,{})}),e.jsx(T,{children:(t==null?void 0:t.reason)==="dirty"?"Delete worktree with uncommitted changes?":"Delete worktree with unpushed commits?"}),e.jsxs(U,{children:[(t==null?void 0:t.reason)==="dirty"?`"${t.worktree.name}" has uncommitted changes.`:`"${t==null?void 0:t.worktree.name}" has ${t==null?void 0:t.worktree.commitsAhead} unpushed commit(s).`," "," ","Deleting it cannot be undone."]})]}),e.jsxs(z,{children:[e.jsx($,{size:"sm",children:"Cancel"}),e.jsx(F,{variant:"destructive",size:"sm",onClick:L,children:(t==null?void 0:t.reason)==="dirty"&&t.worktree.commitsAhead>0?"Continue":"Delete worktree"})]})]})}),e.jsx(A,{open:r!==null,onOpenChange:s=>{s||g(null)},children:e.jsxs(R,{children:[e.jsxs(E,{children:[e.jsx(T,{children:"Remove stale worktrees?"}),e.jsxs(U,{children:[r==null?void 0:r.length," stale worktree",(r==null?void 0:r.length)===1?"":"s"," will be removed: ",r==null?void 0:r.join(", "),"."]})]}),e.jsxs(z,{children:[e.jsx($,{size:"sm",children:"Cancel"}),e.jsx(F,{variant:"destructive",size:"sm",onClick:()=>void X(),children:"Remove worktrees"})]})]})})]})}export{we as WorktreePanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as V,a as Qe,c as B,j as s}from"./vendor-react-gGw_S5I_.js";import{w as He,B as U,aH as We,aW as qe,A as _e,aI as Ke,be as Le,ae as ke,ad as ze,V as Te,bf as Xe,b4 as Je,b3 as Ze,b2 as et,bg as tt,bh as st,bi as nt,bj as it,U as ue,bk as lt,W as ot,ak as at,bl as rt,bm as ct,bn as dt,v as ut,af as ft,bo as mt,E as xt,y as ht,z as gt,G as pt,H as bt,ai as jt,p as wt,bp as vt,bq as Nt,q as yt}from"./index-DocqIkvS.js";import{E as It,ah as St,ao as Be,C as Fe,ap as Ie,a2 as qt,aq as _t,L as Ct,ar as Tt,as as kt,c as At,m as Et}from"./vendor-ui-CIBbYCBQ.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";const Rt=4e3;function Mt(){const[l,e]=V.useState([]),[t,n]=V.useState(!1),[i,r]=V.useState(null),o=V.useRef(!1);V.useEffect(()=>(o.current=!1,()=>{o.current=!0}),[]);const c=V.useCallback(async()=>{try{const m=await He("/api/mission-control");if(o.current)return;if(!m.ok)throw new Error(`Mission Control request failed (${m.status})`);const x=await m.json();if(o.current)return;e(Array.isArray(x.summaries)?x.summaries:[]),r(null)}catch(m){if(o.current)return;r(m instanceof Error?m.message:"Failed to load Mission Control")}finally{o.current||n(!1)}},[]);V.useEffect(()=>{n(!0);const m=()=>{(typeof document>"u"||document.visibilityState==="visible")&&c()},x=()=>{document.visibilityState==="visible"&&c()};m();const j=setInterval(m,Rt);return document.addEventListener("visibilitychange",x),()=>{clearInterval(j),document.removeEventListener("visibilitychange",x)}},[c]);const d=V.useMemo(()=>{const m=new Map;for(const x of l)m.set(x.sessionId,x);return m},[l]),g=V.useCallback(()=>{c()},[c]);return{summaries:d,loading:t,error:i,refresh:g}}const Ae="data-view-transition-kind",Lt="(prefers-reduced-motion: reduce)";let de=null,$e=null;function Dt(l,e,t){t===null?l.removeAttribute(e):l.setAttribute(e,t)}function Ft(l,e){const t={root:l,kind:e,previousKind:l.getAttribute(Ae)};return l.setAttribute(Ae,e),$e=t,t}function Se(l){$e===l&&(l.root.getAttribute(Ae)===l.kind&&Dt(l.root,Ae,l.previousKind),$e=null)}function $t(){const l=de;if(l){de=null;try{l.transition.skipTransition()}catch{Se(l.tag);return}Se(l.tag)}}function zt(){if(typeof window>"u"||typeof window.matchMedia!="function")return!1;try{return window.matchMedia(Lt).matches}catch{return!1}}function Ot(l,{kind:e}){$t();const t=typeof document>"u"?null:document,n=t==null?void 0:t.startViewTransition;if(!t||!(typeof n=="function")||zt())return l(),null;const r=Ft(t.documentElement,e);let o=!1,c=!1,d;const g=m=>{if(!o){o=!0;try{m?Qe.flushSync(l):l()}catch(x){throw c=!0,d=x,x}}};try{const m=n.call(t,()=>g(!0)),x={transition:m,tag:r};return de=x,m.ready.catch(()=>{}),m.updateCallbackDone.catch(()=>{}),m.finished.then(()=>{de===x&&(de=null),Se(r)},()=>{de===x&&(de=null),Se(r)}),m}catch{if(Se(r),c)throw d;return g(!1),null}}function Vt(l){const e={};for(const t of l)t.type==="boolean"?e[t.name]=t.defaultValue===!0:t.defaultValue!==void 0?e[t.name]=String(t.defaultValue):e[t.name]="";return e}function Ut(l,e){const t={};for(const n of l){const i=e[n.name];if(typeof i=="boolean"){t[n.name]=i;continue}i!==""&&(t[n.name]=n.type==="number"||n.type==="integer"?Number(i):i)}return t}function Yt(l,e){return l.every(t=>{if(!t.required)return!0;const n=e[t.name];return typeof n=="boolean"?!0:n===""?!1:t.type==="number"||t.type==="integer"?Number.isFinite(Number(n)):!0})}function Bt(l){const e=B.c(64),{request:t,responding:n,onAnswer:i}=l;let r;e[0]!==t.fields?(r=()=>Vt(t.fields),e[0]=t.fields,e[1]=r):r=e[1];const[o,c]=V.useState(r);let d;e[2]!==t.fields||e[3]!==o?(d=Yt(t.fields,o),e[2]=t.fields,e[3]=o,e[4]=d):d=e[4];const g=d,m=t.displayName||t.title||t.serverName;let x;e[5]===Symbol.for("react.memo_cache_sentinel")?(x=(_,I)=>{c(w=>({...w,[_]:I}))},e[5]=x):x=e[5];const j=x;let p;e[6]!==i||e[7]!==t.requestId?(p=()=>i(t.requestId,{action:"decline"}),e[6]=i,e[7]=t.requestId,e[8]=p):p=e[8];const u=p;if(t.mode==="url"&&t.url){const _=t.url;let I;e[9]!==t.message?(I=s.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:t.message}),e[9]=t.message,e[10]=I):I=e[10];let w;e[11]!==_?(w=s.jsx("p",{className:"mt-1 truncate font-mono text-xs text-muted-foreground",title:_,children:_}),e[11]=_,e[12]=w):w=e[12];let S;e[13]!==i||e[14]!==t.requestId||e[15]!==_?(S=()=>{window.open(_,"_blank","noopener,noreferrer"),i(t.requestId,{action:"accept"})},e[13]=i,e[14]=t.requestId,e[15]=_,e[16]=S):S=e[16];let z;e[17]===Symbol.for("react.memo_cache_sentinel")?(z=s.jsx(It,{"data-icon":"inline-end"}),e[17]=z):z=e[17];let L;e[18]!==n||e[19]!==S?(L=s.jsxs(U,{size:"sm",disabled:n,onClick:S,children:["Open link",z]}),e[18]=n,e[19]=S,e[20]=L):L=e[20];let k;e[21]!==u||e[22]!==n?(k=s.jsx(U,{variant:"ghost",size:"sm",disabled:n,onClick:u,children:"Decline"}),e[21]=u,e[22]=n,e[23]=k):k=e[23];let R;e[24]!==k||e[25]!==L?(R=s.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[L,k]}),e[24]=k,e[25]=L,e[26]=R):R=e[26];let F;return e[27]!==m||e[28]!==R||e[29]!==I||e[30]!==w?(F=s.jsxs(Ve,{server:m,children:[I,w,R]}),e[27]=m,e[28]=R,e[29]=I,e[30]=w,e[31]=F):F=e[31],F}let a;e[32]!==t.message?(a=s.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:t.message}),e[32]=t.message,e[33]=a):a=e[33];let h;if(e[34]!==t.fields||e[35]!==t.requestId||e[36]!==n||e[37]!==o){let _;e[39]!==t.requestId||e[40]!==n||e[41]!==o?(_=I=>s.jsx(Pt,{id:`elicit-${t.requestId}-${I.name}`,field:I,value:o[I.name],disabled:n,onChange:w=>j(I.name,w)},I.name),e[39]=t.requestId,e[40]=n,e[41]=o,e[42]=_):_=e[42],h=t.fields.map(_),e[34]=t.fields,e[35]=t.requestId,e[36]=n,e[37]=o,e[38]=h}else h=e[38];let f;e[43]!==h?(f=s.jsx("div",{className:"mt-3 flex flex-col gap-3",children:h}),e[43]=h,e[44]=f):f=e[44];const y=n||!g;let v;e[45]!==i||e[46]!==t.fields||e[47]!==t.requestId||e[48]!==o?(v=()=>i(t.requestId,{action:"accept",content:Ut(t.fields,o)}),e[45]=i,e[46]=t.fields,e[47]=t.requestId,e[48]=o,e[49]=v):v=e[49];let q;e[50]!==y||e[51]!==v?(q=s.jsx(U,{size:"sm",disabled:y,onClick:v,children:"Send"}),e[50]=y,e[51]=v,e[52]=q):q=e[52];let T;e[53]!==u||e[54]!==n?(T=s.jsx(U,{variant:"ghost",size:"sm",disabled:n,onClick:u,children:"Decline"}),e[53]=u,e[54]=n,e[55]=T):T=e[55];let N;e[56]!==q||e[57]!==T?(N=s.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[q,T]}),e[56]=q,e[57]=T,e[58]=N):N=e[58];let b;return e[59]!==m||e[60]!==N||e[61]!==a||e[62]!==f?(b=s.jsxs(Ve,{server:m,children:[a,f,N]}),e[59]=m,e[60]=N,e[61]=a,e[62]=f,e[63]=b):b=e[63],b}function Pt(l){const e=B.c(55),{id:t,field:n,value:i,disabled:r,onChange:o}=l;if(n.type==="boolean"){const u=i===!0;let a;e[0]!==o?(a=v=>o(v===!0),e[0]=o,e[1]=a):a=e[1];let h;e[2]!==r||e[3]!==t||e[4]!==u||e[5]!==a?(h=s.jsx(Ke,{id:t,checked:u,disabled:r,onCheckedChange:a}),e[2]=r,e[3]=t,e[4]=u,e[5]=a,e[6]=h):h=e[6];let f;e[7]!==n?(f=s.jsx(De,{field:n}),e[7]=n,e[8]=f):f=e[8];let y;return e[9]!==t||e[10]!==h||e[11]!==f?(y=s.jsxs(Le,{htmlFor:t,className:"items-start gap-2 font-normal",children:[h,f]}),e[9]=t,e[10]=h,e[11]=f,e[12]=y):y=e[12],y}if(n.type==="enum"){let u;e[13]!==n?(u=s.jsx(De,{field:n}),e[13]=n,e[14]=u):u=e[14];let a;e[15]!==t||e[16]!==u?(a=s.jsx(Le,{htmlFor:t,children:u}),e[15]=t,e[16]=u,e[17]=a):a=e[17];let h;e[18]!==i?(h=typeof i=="string"&&i?[i]:[],e[18]=i,e[19]=h):h=e[19];let f;e[20]!==o?(f=b=>{b[0]&&o(b[0])},e[20]=o,e[21]=f):f=e[21];const y=n.label;let v;e[22]!==n.options?(v=n.options??[],e[22]=n.options,e[23]=v):v=e[23];let q;if(e[24]!==r||e[25]!==v){let b;e[27]!==r?(b=_=>s.jsx(ke,{value:_.value,disabled:r,className:"w-full justify-start px-3",children:_.label},_.value),e[27]=r,e[28]=b):b=e[28],q=v.map(b),e[24]=r,e[25]=v,e[26]=q}else q=e[26];let T;e[29]!==n.label||e[30]!==t||e[31]!==h||e[32]!==f||e[33]!==q?(T=s.jsx(ze,{id:t,value:h,onValueChange:f,orientation:"vertical",variant:"outline",size:"sm",className:"w-full items-stretch","aria-label":y,children:q}),e[29]=n.label,e[30]=t,e[31]=h,e[32]=f,e[33]=q,e[34]=T):T=e[34];let N;return e[35]!==a||e[36]!==T?(N=s.jsxs("div",{className:"flex flex-col gap-1.5",children:[a,T]}),e[35]=a,e[36]=T,e[37]=N):N=e[37],N}let c;e[38]!==n?(c=s.jsx(De,{field:n}),e[38]=n,e[39]=c):c=e[39];let d;e[40]!==t||e[41]!==c?(d=s.jsx(Le,{htmlFor:t,children:c}),e[40]=t,e[41]=c,e[42]=d):d=e[42];const g=n.type==="string"?"text":"number",m=typeof i=="string"?i:"";let x;e[43]!==o?(x=u=>o(u.target.value),e[43]=o,e[44]=x):x=e[44];let j;e[45]!==r||e[46]!==n.label||e[47]!==t||e[48]!==g||e[49]!==m||e[50]!==x?(j=s.jsx(We,{id:t,"aria-label":n.label,type:g,value:m,disabled:r,onChange:x}),e[45]=r,e[46]=n.label,e[47]=t,e[48]=g,e[49]=m,e[50]=x,e[51]=j):j=e[51];let p;return e[52]!==d||e[53]!==j?(p=s.jsxs("div",{className:"flex flex-col gap-1.5",children:[d,j]}),e[52]=d,e[53]=j,e[54]=p):p=e[54],p}function De(l){const e=B.c(8),{field:t}=l;let n;e[0]!==t.required?(n=t.required&&s.jsx("span",{className:"ml-0.5 text-warning",children:"*"}),e[0]=t.required,e[1]=n):n=e[1];let i;e[2]!==t.description?(i=t.description&&s.jsx("span",{className:"block text-xs font-normal text-muted-foreground",children:t.description}),e[2]=t.description,e[3]=i):i=e[3];let r;return e[4]!==t.label||e[5]!==n||e[6]!==i?(r=s.jsxs("span",{className:"min-w-0",children:[t.label,n,i]}),e[4]=t.label,e[5]=n,e[6]=i,e[7]=r):r=e[7],r}function Ve(l){const e=B.c(8),{server:t,children:n}=l;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsx(St,{className:"text-info"}),e[0]=i):i=e[0];let r;e[1]!==t?(r=s.jsxs(qe,{children:[t," needs input"]}),e[1]=t,e[2]=r):r=e[2];let o;e[3]!==n?(o=s.jsx("div",{className:"col-start-2 mt-1 min-w-0",children:n}),e[3]=n,e[4]=o):o=e[4];let c;return e[5]!==r||e[6]!==o?(c=s.jsxs(_e,{className:"border-info/40 bg-info/5",children:[i,r,o]}),e[5]=r,e[6]=o,e[7]=c):c=e[7],c}const Gt=["allow","allow_always","deny"],Qt=[{decision:"allow",label:"Allow",variant:"default"},{decision:"deny",label:"Deny",variant:"destructive"},{decision:"allow_always",label:"Always",variant:"outline"}];function Ht(l,e){return(l.availableDecisions??Gt).includes(e)}function Wt(l){const e=B.c(22),{request:t,queued:n,responding:i,onRespond:r}=l;let o;if(e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i){let c;e[5]!==t?(c=y=>Ht(t,y.decision),e[5]=t,e[6]=c):c=e[6];const d=Qt.filter(c),g=d.some(Kt);let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=s.jsx(Be,{className:"text-warning"}),e[7]=m):m=e[7];const x=t.title||`Allow ${t.toolName}?`;let j;e[8]!==x?(j=s.jsx("span",{className:"min-w-0 flex-1 truncate",children:x}),e[8]=x,e[9]=j):j=e[9];let p;e[10]!==n?(p=n>0&&s.jsxs("span",{className:"shrink-0 font-mono text-xs text-warning",children:["+",n]}),e[10]=n,e[11]=p):p=e[11];let u;e[12]!==j||e[13]!==p?(u=s.jsxs(qe,{className:"flex min-w-0 items-center gap-2",children:[j,p]}),e[12]=j,e[13]=p,e[14]=u):u=e[14];let a;e[15]!==t.toolName?(a=s.jsx("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:t.toolName}),e[15]=t.toolName,e[16]=a):a=e[16];let h;e[17]!==t.summary?(h=t.summary&&s.jsx("code",{className:"min-w-0 flex-1 truncate rounded bg-muted px-2 py-1 font-mono text-xs text-foreground",children:t.summary}),e[17]=t.summary,e[18]=h):h=e[18];let f;e[19]!==a||e[20]!==h?(f=s.jsxs("div",{className:"col-start-2 mt-2 flex min-w-0 items-center gap-2",children:[a,h]}),e[19]=a,e[20]=h,e[21]=f):f=e[21],o=s.jsxs(_e,{className:"border-warning/40 bg-warning/5",children:[m,u,f,g?s.jsx("div",{className:"col-start-2 mt-3 flex items-center gap-2",children:d.map(y=>{const{decision:v,label:q,variant:T}=y;return s.jsx(U,{size:"xs",variant:T,disabled:i,onClick:()=>r(t.requestId,v),children:q},v)})}):s.jsx("p",{className:"col-start-2 mt-2 text-xs text-warning",children:"Resolve this approval in its own provider"})]}),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=o}else o=e[4];return o}function Kt(l){return l.decision!=="allow_always"}function Xt(l){return l.some(e=>e.options.length===0||e.options.some(t=>t.hasPreview))}function Jt(l){const e=B.c(63),{request:t,responding:n,gone:i,onAnswer:r,onOpenSession:o}=l,c=t.questions,[d,g]=V.useState(0);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m={},e[0]=m):m=e[0];const x=V.useRef(m);let j;e[1]===Symbol.for("react.memo_cache_sentinel")?(j=new Set,e[1]=j):j=e[1];const[p,u]=V.useState(j);if(c.length===0)return null;if(Xt(c)){let E;e[2]!==c[0].question?(E=s.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:c[0].question}),e[2]=c[0].question,e[3]=E):E=e[3];let C;e[4]===Symbol.for("react.memo_cache_sentinel")?(C=s.jsx(Fe,{"data-icon":"inline-end"}),e[4]=C):C=e[4];let D;e[5]!==o?(D=s.jsxs(U,{variant:"outline",size:"sm",onClick:o,className:"mt-3",children:["Open full question",C]}),e[5]=o,e[6]=D):D=e[6];let O;return e[7]!==E||e[8]!==D?(O=s.jsxs(Ue,{children:[E,D]}),e[7]=E,e[8]=D,e[9]=O):O=e[9],O}const a=c[d];let h;e[10]!==a.question||e[11]!==d||e[12]!==r||e[13]!==c.length||e[14]!==t.toolUseId?(h=function(C){const D={...x.current,[a.question]:C};if(d+1<c.length){x.current=D,u(new Set),g(d+1);return}r(t.toolUseId,D)},e[10]=a.question,e[11]=d,e[12]=r,e[13]=c.length,e[14]=t.toolUseId,e[15]=h):h=e[15];const f=h;let y;e[16]!==a.header?(y=a.header&&s.jsx(Te,{variant:"outline",className:"border-info/40 text-info",children:a.header}),e[16]=a.header,e[17]=y):y=e[17];let v;e[18]!==d||e[19]!==c.length?(v=c.length>1&&s.jsxs("span",{className:"ml-auto shrink-0 font-mono text-xs text-muted-foreground",children:[d+1," of ",c.length]}),e[18]=d,e[19]=c.length,e[20]=v):v=e[20];let q;e[21]!==y||e[22]!==v?(q=s.jsxs("div",{className:"flex items-baseline gap-1.5",children:[y,v]}),e[21]=y,e[22]=v,e[23]=q):q=e[23];let T;e[24]!==a.question?(T=s.jsx("p",{className:"mt-2 line-clamp-3 text-sm leading-relaxed text-foreground",title:a.question,children:a.question}),e[24]=a.question,e[25]=T):T=e[25];let N;e[26]!==p?(N=[...p],e[26]=p,e[27]=N):N=e[27];let b;e[28]!==f||e[29]!==a.multiSelect?(b=E=>{a.multiSelect?u(new Set(E)):E[0]&&f(E[0])},e[28]=f,e[29]=a.multiSelect,e[30]=b):b=e[30];const _=a.multiSelect,I=a.question;let w;if(e[31]!==a.options||e[32]!==n){let E;e[34]!==n?(E=C=>s.jsx(Zt,{option:C,disabled:n},C.label),e[34]=n,e[35]=E):E=e[35],w=a.options.map(E),e[31]=a.options,e[32]=n,e[33]=w}else w=e[33];let S;e[36]!==a.multiSelect||e[37]!==a.question||e[38]!==w||e[39]!==N||e[40]!==b?(S=s.jsx(ze,{value:N,onValueChange:b,multiple:_,orientation:"vertical",variant:"outline",size:"sm",className:"mt-3 w-full items-stretch","aria-label":I,children:w}),e[36]=a.multiSelect,e[37]=a.question,e[38]=w,e[39]=N,e[40]=b,e[41]=S):S=e[41];let z;e[42]!==f||e[43]!==a.multiSelect||e[44]!==d||e[45]!==c.length||e[46]!==n||e[47]!==p?(z=a.multiSelect&&s.jsx(U,{size:"sm",disabled:n||p.size===0,onClick:()=>f(Xe(p)),children:d+1<c.length?"Next":"Send"}),e[42]=f,e[43]=a.multiSelect,e[44]=d,e[45]=c.length,e[46]=n,e[47]=p,e[48]=z):z=e[48];let L;e[49]===Symbol.for("react.memo_cache_sentinel")?(L=s.jsx(Fe,{"data-icon":"inline-end"}),e[49]=L):L=e[49];let k;e[50]!==o?(k=s.jsxs(U,{variant:"ghost",size:"sm",onClick:o,className:"ml-auto text-muted-foreground",children:["Open session",L]}),e[50]=o,e[51]=k):k=e[51];let R;e[52]!==z||e[53]!==k?(R=s.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[z,k]}),e[52]=z,e[53]=k,e[54]=R):R=e[54];let F;e[55]!==i?(F=i&&s.jsx("p",{className:"mt-2 text-xs text-warning",children:"This question may already be answered. Open the session to check."}),e[55]=i,e[56]=F):F=e[56];let A;return e[57]!==S||e[58]!==R||e[59]!==F||e[60]!==q||e[61]!==T?(A=s.jsxs(Ue,{children:[q,T,S,R,F]}),e[57]=S,e[58]=R,e[59]=F,e[60]=q,e[61]=T,e[62]=A):A=e[62],A}function Zt(l){const e=B.c(17),{option:t,disabled:n}=l;let i;e[0]!==t.label?(i=s.jsx("span",{className:"min-w-0 flex-1 truncate text-left",children:t.label}),e[0]=t.label,e[1]=i):i=e[1];const r=i;if(!t.description){let m;return e[2]!==n||e[3]!==r||e[4]!==t.label?(m=s.jsx(ke,{value:t.label,disabled:n,className:"w-full justify-start px-3",children:r}),e[2]=n,e[3]=r,e[4]=t.label,e[5]=m):m=e[5],m}let o;e[6]!==n||e[7]!==t.label?(o=s.jsx(ke,{value:t.label,disabled:n,className:"w-full justify-start px-3"}),e[6]=n,e[7]=t.label,e[8]=o):o=e[8];let c;e[9]!==r||e[10]!==o?(c=s.jsx(Ze,{render:o,children:r}),e[9]=r,e[10]=o,e[11]=c):c=e[11];let d;e[12]!==t.description?(d=s.jsx(Je,{side:"right",className:"max-w-72 text-left",children:t.description}),e[12]=t.description,e[13]=d):d=e[13];let g;return e[14]!==c||e[15]!==d?(g=s.jsxs(et,{children:[c,d]}),e[14]=c,e[15]=d,e[16]=g):g=e[16],g}function Ue(l){const e=B.c(4),{children:t}=l;let n,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(Ie,{className:"text-info"}),i=s.jsx(qe,{children:"Answer to continue"}),e[0]=n,e[1]=i):(n=e[0],i=e[1]);let r;return e[2]!==t?(r=s.jsxs(_e,{className:"border-info/40 bg-info/5",children:[n,i,s.jsx("div",{className:"col-start-2 mt-1 min-w-0",children:t})]}),e[2]=t,e[3]=r):r=e[3],r}function es(l){const e=B.c(33),{request:t,responding:n,onChoose:i}=l;let r,o;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(Be,{className:"text-warning"}),o=s.jsx(qe,{children:"Claude declined this request"}),e[0]=r,e[1]=o):(r=e[0],o=e[1]);let c;e[2]!==t.originalModel?(c=s.jsxs("p",{className:"text-sm leading-relaxed text-foreground",children:[t.originalModel," would not answer. Retrying on a fallback model may work."]}),e[2]=t.originalModel,e[3]=c):c=e[3];let d;e[4]!==t.guidanceText?(d=t.guidanceText&&s.jsx("p",{className:"mt-1 text-sm leading-relaxed text-muted-foreground",children:t.guidanceText}),e[4]=t.guidanceText,e[5]=d):d=e[5];let g;e[6]!==i||e[7]!==t.requestId?(g=()=>i(t.requestId,"retry_fallback"),e[6]=i,e[7]=t.requestId,e[8]=g):g=e[8];let m;e[9]!==t.fallbackModel||e[10]!==n||e[11]!==g?(m=s.jsxs(U,{size:"sm",disabled:n,onClick:g,children:["Retry on ",t.fallbackModel]}),e[9]=t.fallbackModel,e[10]=n,e[11]=g,e[12]=m):m=e[12];let x;e[13]!==i||e[14]!==t.requestId?(x=()=>i(t.requestId,"edit_prompt"),e[13]=i,e[14]=t.requestId,e[15]=x):x=e[15];let j;e[16]!==n||e[17]!==x?(j=s.jsx(U,{variant:"outline",size:"sm",disabled:n,onClick:x,children:"Edit prompt"}),e[16]=n,e[17]=x,e[18]=j):j=e[18];let p;e[19]!==i||e[20]!==t.requestId?(p=()=>i(t.requestId,"cancelled"),e[19]=i,e[20]=t.requestId,e[21]=p):p=e[21];let u;e[22]!==n||e[23]!==p?(u=s.jsx(U,{variant:"ghost",size:"sm",disabled:n,className:"ml-auto text-muted-foreground",onClick:p,children:"Dismiss"}),e[22]=n,e[23]=p,e[24]=u):u=e[24];let a;e[25]!==u||e[26]!==m||e[27]!==j?(a=s.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[m,j,u]}),e[25]=u,e[26]=m,e[27]=j,e[28]=a):a=e[28];let h;return e[29]!==a||e[30]!==c||e[31]!==d?(h=s.jsxs(_e,{className:"border-warning/40 bg-warning/5",children:[r,o,s.jsxs("div",{className:"col-start-2 mt-1 min-w-0",children:[c,d,a]})]}),e[29]=a,e[30]=c,e[31]=d,e[32]=h):h=e[32],h}function Pe(l){return l==="awaiting_approval"||l==="awaiting_prompt"||l==="awaiting_question"||l==="awaiting_answer"}function Ee(l){return l==="done"||l==="failed"}const Ye={awaiting_approval:0,awaiting_prompt:1,awaiting_question:2,awaiting_answer:3,running:4,failed:5,done:6};function ts(l,e,t,n,i,r){return t?"awaiting_approval":n?"awaiting_prompt":i?"awaiting_question":r||l.agentStatus==="deferred"||l.agentStatus==="idle"&&e?"awaiting_answer":l.agentTerminalReason?"failed":e&&l.agentStatus&&nt.has(l.agentStatus)?"running":"done"}const ss=6;function ns({sessions:l,procBySession:e,summaries:t,permissionsBySession:n,questionsBySession:i,elicitationsBySession:r,dialogsBySession:o,awaitingPlan:c,newlyCompleted:d,finishedLimit:g=ss,now:m=Date.now()}){const x=[];for(const u of tt(l)){const a=n.get(u.sessionId)??[],h=i.get(u.sessionId)??[],f=r.get(u.sessionId)??[],y=o.get(u.sessionId)??[],v=c.has(u.sessionId),q=a.length+h.length+f.length+y.length+Number(v);u.teamName&&u.agentName&&q===0||x.push({session:u,state:ts(u,st(u,e,m),a.length>0,f.length>0||y.length>0,h.length>0,v),summary:t.get(u.sessionId)??null,permissions:a,questions:h,elicitations:f,dialogs:y})}const j=x.filter(u=>Ee(u.state)),p=[...j.filter(u=>d.has(u.session.sessionId)),...j.filter(u=>!d.has(u.session.sessionId))].slice(0,g);return[...x.filter(u=>!Ee(u.state)),...p].sort((u,a)=>Ye[u.state]-Ye[a.state])}function is(l,e){switch(e){case"running":return l.filter(t=>t.state==="running");case"needs-you":return l.filter(t=>Pe(t.state));case"finished":return l.filter(t=>Ee(t.state));default:return l}}function ls(l){const e={total:l.length,running:0,needsYou:0,finished:0,failed:0};for(const t of l)t.state==="running"&&e.running++,Pe(t.state)&&e.needsYou++,Ee(t.state)&&e.finished++,t.state==="failed"&&e.failed++;return e}function os(l){return l>=90?"text-destructive":l>=70?"text-warning":"text-muted-foreground"}const as={awaiting_approval:{label:"Waiting for approval",text:"text-warning",shell:"border-warning/40 bg-warning/5",icon:Ie},awaiting_prompt:{label:"Waiting for your input",text:"text-info",shell:"border-info/40 bg-info/5",icon:Ie},awaiting_question:{label:"Waiting for your answer",text:"text-info",shell:"border-info/40 bg-info/5",icon:Ie},awaiting_answer:{label:"Waiting for your answer",text:"text-warning",shell:"border-warning/40 bg-warning/5",icon:Ie},running:{label:"Running",text:"text-info",shell:"border-border",icon:null},done:{label:"Done",text:"text-success",shell:"border-border",icon:_t},failed:{label:"Failed",text:"text-destructive",shell:"border-destructive/40",icon:qt}};function rs(l){const e=B.c(3),{icon:t}=l;if(!t){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsx("span",{className:"size-2 shrink-0 rounded-full bg-info"}),e[0]=i):i=e[0],i}let n;return e[1]!==t?(n=s.jsx(t,{className:"size-3.5 shrink-0"}),e[1]=t,e[2]=n):n=e[2],n}const cs=V.memo(function(e){const t=B.c(88),{card:n,customName:i,projectLabel:r,responding:o,goneQuestions:c,compact:d,onOpen:g,onRespond:m,onAnswerQuestion:x,onAnswerElicitation:j,onChooseDialog:p}=e,u=d===void 0?!1:d,{session:a,state:h,summary:f,permissions:y,questions:v,elicitations:q,dialogs:T}=n,N=as[h],b=y[0],_=v[0],I=q[0],w=T[0],S=!!(b||_||I||w);let z;t[0]!==i||t[1]!==a?(z=it(a,i),t[0]=i,t[1]=a,t[2]=z):z=t[2];const L=z,k=u&&"gap-1.5 py-2";let R;t[3]!==N.shell||t[4]!==k?(R=ue("motion-card motion-list-item group flex min-w-0 flex-col gap-2 rounded-lg border bg-card p-3 text-left transition-colors hover:border-foreground/20",N.shell,k),t[3]=N.shell,t[4]=k,t[5]=R):R=t[5];const F=`Open session ${L}`;let A;t[6]!==r?(A=s.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground",children:r}),t[6]=r,t[7]=A):A=t[7];let E;t[8]!==f?(E=(f==null?void 0:f.model)&&s.jsx("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:lt(f.model)}),t[8]=f,t[9]=E):E=t[9];let C;t[10]===Symbol.for("react.memo_cache_sentinel")?(C=s.jsx(Fe,{"data-icon":"inline-end",className:"shrink-0 text-transparent transition-colors group-hover:text-muted-foreground"}),t[10]=C):C=t[10];let D;t[11]!==A||t[12]!==E?(D=s.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[A,E,C]}),t[11]=A,t[12]=E,t[13]=D):D=t[13];const O=u?"truncate":"line-clamp-2";let se;t[14]!==O?(se=ue("text-sm font-medium leading-snug text-foreground",O),t[14]=O,t[15]=se):se=t[15];let P;t[16]!==se||t[17]!==L?(P=s.jsx("span",{className:se,children:L}),t[16]=se,t[17]=L,t[18]=P):P=t[18];let ne;t[19]!==g||t[20]!==P||t[21]!==F||t[22]!==D?(ne=s.jsxs(U,{variant:"ghost",onClick:g,className:"-m-1 h-auto min-w-0 flex-col items-stretch justify-start gap-1 whitespace-normal p-1 text-left","aria-label":F,children:[D,P]}),t[19]=g,t[20]=P,t[21]=F,t[22]=D,t[23]=ne):ne=t[23];let ie;t[24]!==N.text?(ie=ue("flex items-center gap-1.5 text-xs font-medium",N.text),t[24]=N.text,t[25]=ie):ie=t[25];let le;t[26]!==N.icon?(le=s.jsx(rs,{icon:N.icon}),t[26]=N.icon,t[27]=le):le=t[27];let te;t[28]!==N.label?(te=s.jsx("span",{className:"truncate",children:N.label}),t[28]=N.label,t[29]=te):te=t[29];const ce=a.lastActivityAt||a.lastModified;let G;t[30]!==ce?(G=ot(ce),t[30]=ce,t[31]=G):G=t[31];let oe;t[32]!==G?(oe=s.jsx("span",{className:"ml-auto shrink-0 font-mono text-xs font-normal text-muted-foreground",children:G}),t[32]=G,t[33]=oe):oe=t[33];let Q;t[34]!==ie||t[35]!==le||t[36]!==te||t[37]!==oe?(Q=s.jsxs("div",{className:ie,children:[le,te,oe]}),t[34]=ie,t[35]=le,t[36]=te,t[37]=oe,t[38]=Q):Q=t[38];let H;t[39]!==m||t[40]!==y.length||t[41]!==b||t[42]!==o||t[43]!==a.sessionId?(H=b&&s.jsx(Wt,{request:b,queued:y.length-1,responding:o.has(b.requestId),onRespond:(re,Y)=>m(a.sessionId,re,Y)}),t[39]=m,t[40]=y.length,t[41]=b,t[42]=o,t[43]=a.sessionId,t[44]=H):H=t[44];let W;t[45]!==w||t[46]!==p||t[47]!==b||t[48]!==o||t[49]!==a.sessionId?(W=!b&&w&&s.jsx(es,{request:w,responding:o.has(w.requestId),onChoose:(re,Y)=>p(a.sessionId,re,Y)},w.requestId),t[45]=w,t[46]=p,t[47]=b,t[48]=o,t[49]=a.sessionId,t[50]=W):W=t[50];let K;t[51]!==w||t[52]!==I||t[53]!==j||t[54]!==b||t[55]!==o||t[56]!==a.sessionId?(K=!b&&!w&&I&&s.jsx(Bt,{request:I,responding:o.has(I.requestId),onAnswer:(re,Y)=>j(a.sessionId,re,Y)},I.requestId),t[51]=w,t[52]=I,t[53]=j,t[54]=b,t[55]=o,t[56]=a.sessionId,t[57]=K):K=t[57];let X;t[58]!==w||t[59]!==I||t[60]!==c||t[61]!==x||t[62]!==g||t[63]!==_||t[64]!==b||t[65]!==o||t[66]!==a.sessionId?(X=!b&&!w&&!I&&_&&s.jsx(Jt,{request:_,responding:o.has(_.toolUseId),gone:c.has(_.toolUseId),onAnswer:(re,Y)=>x(a.sessionId,re,Y),onOpenSession:g},_.toolUseId),t[58]=w,t[59]=I,t[60]=c,t[61]=x,t[62]=g,t[63]=_,t[64]=b,t[65]=o,t[66]=a.sessionId,t[67]=X):X=t[67];let J;t[68]!==S||t[69]!==f?(J=!S&&(f==null?void 0:f.currentTool)&&s.jsx(ds,{tool:f.currentTool}),t[68]=S,t[69]=f,t[70]=J):J=t[70];let Z;t[71]!==S||t[72]!==u||t[73]!==f?(Z=!u&&!S&&(f==null?void 0:f.lastAssistantText)&&s.jsx("p",{className:"line-clamp-4 text-sm leading-relaxed text-muted-foreground",children:f.lastAssistantText}),t[71]=S,t[72]=u,t[73]=f,t[74]=Z):Z=t[74];let ee;t[75]!==f?(ee=f&&s.jsx(us,{summary:f}),t[75]=f,t[76]=ee):ee=t[76];let ae;return t[77]!==ne||t[78]!==Q||t[79]!==H||t[80]!==W||t[81]!==K||t[82]!==X||t[83]!==J||t[84]!==Z||t[85]!==ee||t[86]!==R?(ae=s.jsxs("div",{className:R,children:[ne,Q,H,W,K,X,J,Z,ee]}),t[77]=ne,t[78]=Q,t[79]=H,t[80]=W,t[81]=K,t[82]=X,t[83]=J,t[84]=Z,t[85]=ee,t[86]=R,t[87]=ae):ae=t[87],ae});function ds(l){const e=B.c(7),{tool:t}=l;let n;e[0]!==t.name?(n=s.jsx("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:t.name}),e[0]=t.name,e[1]=n):n=e[1];let i;e[2]!==t.summary?(i=s.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-foreground/80",children:t.summary}),e[2]=t.summary,e[3]=i):i=e[3];let r;return e[4]!==n||e[5]!==i?(r=s.jsxs("div",{className:"flex min-w-0 items-center gap-2 rounded-md bg-muted/50 px-2.5 py-2",children:[n,i]}),e[4]=n,e[5]=i,e[6]=r):r=e[6],r}function us(l){const e=B.c(11),{summary:t}=l,n=t.filesTotal,i=t.context,r=n.count>0,o=i!==null&&i.used>0;if(!r&&!o)return null;let c;e[0]!==n.additions||e[1]!==n.count||e[2]!==n.deletions||e[3]!==r?(c=r&&s.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[s.jsxs("span",{className:"truncate",children:[n.count," file",n.count===1?"":"s"]}),s.jsx(at,{add:n.additions,del:n.deletions})]}),e[0]=n.additions,e[1]=n.count,e[2]=n.deletions,e[3]=r,e[4]=c):c=e[4];let d;e[5]!==i||e[6]!==o?(d=o&&s.jsxs("span",{className:ue("ml-auto shrink-0",os(i.percent)),children:["ctx ",i.percent,"%"]}),e[5]=i,e[6]=o,e[7]=d):d=e[7];let g;return e[8]!==c||e[9]!==d?(g=s.jsxs("div",{className:"mt-auto flex items-center gap-2 border-t pt-2 font-mono text-xs text-muted-foreground",children:[c,d]}),e[8]=c,e[9]=d,e[10]=g):g=e[10],g}const fs=8e3,ms=12,xs="Start Claude Code, Codex, or Copilot and every session shows up here",hs=[{id:"all",label:"All"},{id:"running",label:"Running"},{id:"needs-you",label:"Needs you"},{id:"finished",label:"Finished"}],gs=[{id:"grid",label:"Grid layout",Icon:Ct},{id:"list",label:"List layout",Icon:Tt}];function Ns(l){const e=B.c(118),{onSelectSession:t}=l,{sessions:n,procBySession:i,newlyCompleted:r,refresh:o}=rt(),{summaries:c,loading:d,error:g,refresh:m}=Mt(),{permissionsBySession:x,questionsBySession:j,elicitationsBySession:p,dialogsBySession:u,awaitingPlan:a,responding:h,respond:f,answerQuestion:y,answerElicitation:v,answerDialog:q,refresh:T}=ct();let N;e[0]===Symbol.for("react.memo_cache_sentinel")?(N=new Set,e[0]=N):N=e[0];const[b,_]=V.useState(N),{names:I}=dt(),{names:w}=ut(),[S,z]=V.useState("all");let L;e[1]===Symbol.for("react.memo_cache_sentinel")?(L=ft("mission-control-layout"),e[1]=L):L=e[1];const[k,R]=mt(L,"grid");let F;e[2]!==a||e[3]!==u||e[4]!==p||e[5]!==r||e[6]!==x||e[7]!==i||e[8]!==j||e[9]!==n||e[10]!==c?(F=ns({sessions:n,procBySession:i,summaries:c,permissionsBySession:x,questionsBySession:j,elicitationsBySession:p,dialogsBySession:u,awaitingPlan:a,newlyCompleted:r}),e[2]=a,e[3]=u,e[4]=p,e[5]=r,e[6]=x,e[7]=i,e[8]=j,e[9]=n,e[10]=c,e[11]=F):F=e[11];const A=F;let E;e[12]!==A?(E=ls(A),e[12]=A,e[13]=E):E=e[13];const C=E;let D;e[14]!==A||e[15]!==S?(D=is(A,S),e[14]=A,e[15]=S,e[16]=D):D=e[16];const O=D;let se;e[17]!==T||e[18]!==o||e[19]!==m?(se=()=>{o(),m(),T()},e[17]=T,e[18]=o,e[19]=m,e[20]=se):se=e[20];const P=se;let ne,ie;e[21]!==o?(ne=()=>{const $=setInterval(()=>{document.visibilityState==="visible"&&o()},fs);return()=>clearInterval($)},ie=[o],e[21]=o,e[22]=ne,e[23]=ie):(ne=e[22],ie=e[23]),V.useEffect(ne,ie);let le;e[24]!==y?(le=async($,M,Me)=>{(await y($,M,Me)).ok||_(Ge=>new Set(Ge).add(M))},e[24]=y,e[25]=le):le=e[25];const te=le;let ce;e[26]!==A.length?(ce=function(M){A.length<=ms?Ot(M,{kind:"fade"}):V.startTransition(M)},e[26]=A.length,e[27]=ce):ce=e[27];const G=ce;let oe;e[28]===Symbol.for("react.memo_cache_sentinel")?(oe=s.jsx("h2",{className:"truncate text-sm font-semibold",children:"Mission Control"}),e[28]=oe):oe=e[28];let Q;e[29]!==C.total?(Q=s.jsx(Te,{variant:"secondary",children:C.total}),e[29]=C.total,e[30]=Q):Q=e[30];let H;e[31]!==C.needsYou?(H=C.needsYou>0&&s.jsxs(Te,{variant:"outline",className:"border-warning/40 text-warning",children:[C.needsYou," need you"]}),e[31]=C.needsYou,e[32]=H):H=e[32];let W;e[33]!==C.failed?(W=C.failed>0&&s.jsxs(Te,{variant:"destructive",children:[C.failed," failed"]}),e[33]=C.failed,e[34]=W):W=e[34];let K;e[35]!==Q||e[36]!==H||e[37]!==W?(K=s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[oe,Q,H,W]}),e[35]=Q,e[36]=H,e[37]=W,e[38]=K):K=e[38];let X;e[39]!==S?(X=[S],e[39]=S,e[40]=X):X=e[40];let J;e[41]!==S||e[42]!==G?(J=$=>{const M=$.at(-1);M&&M!==S&&G(()=>z(M))},e[41]=S,e[42]=G,e[43]=J):J=e[43];let Z;e[44]!==C.needsYou?(Z=hs.map($=>s.jsxs(ke,{value:$.id,"aria-label":`Show ${$.label.toLowerCase()} sessions`,children:[$.label,$.id==="needs-you"&&C.needsYou>0&&s.jsx("span",{className:"font-mono text-warning",children:C.needsYou})]},$.id)),e[44]=C.needsYou,e[45]=Z):Z=e[45];let ee;e[46]!==X||e[47]!==J||e[48]!==Z?(ee=s.jsx(ze,{value:X,onValueChange:J,variant:"outline",size:"sm",spacing:0,"aria-label":"Filter sessions",children:Z}),e[46]=X,e[47]=J,e[48]=Z,e[49]=ee):ee=e[49];let ae;e[50]!==k||e[51]!==R||e[52]!==G?(ae=gs.map($=>{const{id:M,label:Me,Icon:Oe}=$;return s.jsx(U,{variant:"ghost",size:"icon-xs","aria-label":Me,"aria-pressed":k===M,onClick:()=>{M!==k&&G(()=>R(M))},className:ue(k===M&&"bg-accent text-accent-foreground"),children:s.jsx(Oe,{"data-icon":"inline-start"})},M)}),e[50]=k,e[51]=R,e[52]=G,e[53]=ae):ae=e[53];const re=d&&"animate-spin";let Y;e[54]!==re?(Y=ue(re),e[54]=re,e[55]=Y):Y=e[55];let fe;e[56]!==Y?(fe=s.jsx(At,{"data-icon":"inline-start",className:Y}),e[56]=Y,e[57]=fe):fe=e[57];let me;e[58]!==P||e[59]!==fe?(me=s.jsx(U,{variant:"ghost",size:"icon-xs","aria-label":"Refresh Mission Control",onClick:P,children:fe}),e[58]=P,e[59]=fe,e[60]=me):me=e[60];let xe;e[61]!==ae||e[62]!==me?(xe=s.jsxs("div",{className:"flex items-center gap-1",children:[ae,me]}),e[61]=ae,e[62]=me,e[63]=xe):xe=e[63];let he;e[64]!==ee||e[65]!==xe?(he=s.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[ee,xe]}),e[64]=ee,e[65]=xe,e[66]=he):he=e[66];let ge;e[67]!==K||e[68]!==he?(ge=s.jsxs("header",{className:"flex min-h-12 shrink-0 flex-wrap items-center gap-3 border-b px-4 py-2",children:[K,he]}),e[67]=K,e[68]=he,e[69]=ge):ge=e[69];let pe;e[70]!==g||e[71]!==P?(pe=g&&s.jsxs(_e,{variant:"destructive",className:"mb-4",children:[s.jsx(Et,{}),s.jsx(qe,{children:"Mission Control could not refresh"}),s.jsx(wt,{className:"truncate",children:g}),s.jsx(vt,{children:s.jsx(U,{variant:"outline",size:"xs",onClick:P,children:"Retry"})})]}),e[70]=g,e[71]=P,e[72]=pe):pe=e[72];let be;e[73]!==A.length||e[74]!==S||e[75]!==d||e[76]!==O.length?(be=O.length===0&&!d&&s.jsx(xt,{className:"min-h-64",children:s.jsxs(ht,{children:[s.jsx(gt,{variant:"icon",children:s.jsx(kt,{})}),s.jsx(pt,{children:A.length===0?"No live sessions":`Nothing matches "${S}"`}),s.jsx(bt,{children:A.length===0?xs:"Try a different filter."})]})}),e[73]=A.length,e[74]=S,e[75]=d,e[76]=O.length,e[77]=be):be=e[77];let je;e[78]!==A.length||e[79]!==d||e[80]!==O.length?(je=O.length===0&&d&&A.length===0&&s.jsxs("div",{className:"flex items-center justify-center gap-2 py-16 text-sm text-muted-foreground",children:[s.jsx(jt,{}),"Loading sessions…"]}),e[78]=A.length,e[79]=d,e[80]=O.length,e[81]=je):je=e[81];const Re=k==="grid"&&"md:grid-cols-2 2xl:grid-cols-3";let we;e[82]!==Re?(we=ue("grid grid-cols-1 gap-3",Re),e[82]=Re,e[83]=we):we=e[83];let ve;if(e[84]!==q||e[85]!==v||e[86]!==b||e[87]!==te||e[88]!==k||e[89]!==t||e[90]!==w||e[91]!==f||e[92]!==h||e[93]!==I||e[94]!==O){let $;e[96]!==q||e[97]!==v||e[98]!==b||e[99]!==te||e[100]!==k||e[101]!==t||e[102]!==w||e[103]!==f||e[104]!==h||e[105]!==I?($=M=>s.jsx(cs,{card:M,compact:k==="list",customName:I[M.session.sessionId],projectLabel:w[M.session.dirName]??Nt(M.session),responding:h,goneQuestions:b,onOpen:()=>t(M.session.dirName,M.session.fileName),onRespond:f,onAnswerQuestion:te,onAnswerElicitation:v,onChooseDialog:q},M.session.sessionId),e[96]=q,e[97]=v,e[98]=b,e[99]=te,e[100]=k,e[101]=t,e[102]=w,e[103]=f,e[104]=h,e[105]=I,e[106]=$):$=e[106],ve=O.map($),e[84]=q,e[85]=v,e[86]=b,e[87]=te,e[88]=k,e[89]=t,e[90]=w,e[91]=f,e[92]=h,e[93]=I,e[94]=O,e[95]=ve}else ve=e[95];let Ne;e[107]!==we||e[108]!==ve?(Ne=s.jsx("div",{className:we,children:ve}),e[107]=we,e[108]=ve,e[109]=Ne):Ne=e[109];let ye;e[110]!==pe||e[111]!==be||e[112]!==je||e[113]!==Ne?(ye=s.jsx(yt,{className:"flex-1",children:s.jsxs("div",{className:"p-4",children:[pe,be,je,Ne]})}),e[110]=pe,e[111]=be,e[112]=je,e[113]=Ne,e[114]=ye):ye=e[114];let Ce;return e[115]!==ge||e[116]!==ye?(Ce=s.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[ge,ye]}),e[115]=ge,e[116]=ye,e[117]=Ce):Ce=e[117],Ce}export{Ns as MissionControl};
|
|
1
|
+
import{r as V,a as Qe,c as B,j as s}from"./vendor-react-gGw_S5I_.js";import{w as He,B as U,aH as We,aW as qe,A as _e,aI as Ke,be as Le,ae as ke,ad as ze,V as Te,bf as Xe,b4 as Je,b3 as Ze,b2 as et,bg as tt,bh as st,bi as nt,bj as it,U as ue,bk as lt,W as ot,ak as at,bl as rt,bm as ct,bn as dt,v as ut,af as ft,bo as mt,E as xt,y as ht,z as gt,G as pt,H as bt,ai as jt,p as wt,bp as vt,bq as Nt,q as yt}from"./index-D-Mg0tNr.js";import{E as It,ah as St,ao as Be,C as Fe,ap as Ie,a2 as qt,aq as _t,L as Ct,ar as Tt,as as kt,c as At,m as Et}from"./vendor-ui-Bg9q4lA4.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";const Rt=4e3;function Mt(){const[l,e]=V.useState([]),[t,n]=V.useState(!1),[i,r]=V.useState(null),o=V.useRef(!1);V.useEffect(()=>(o.current=!1,()=>{o.current=!0}),[]);const c=V.useCallback(async()=>{try{const m=await He("/api/mission-control");if(o.current)return;if(!m.ok)throw new Error(`Mission Control request failed (${m.status})`);const x=await m.json();if(o.current)return;e(Array.isArray(x.summaries)?x.summaries:[]),r(null)}catch(m){if(o.current)return;r(m instanceof Error?m.message:"Failed to load Mission Control")}finally{o.current||n(!1)}},[]);V.useEffect(()=>{n(!0);const m=()=>{(typeof document>"u"||document.visibilityState==="visible")&&c()},x=()=>{document.visibilityState==="visible"&&c()};m();const j=setInterval(m,Rt);return document.addEventListener("visibilitychange",x),()=>{clearInterval(j),document.removeEventListener("visibilitychange",x)}},[c]);const d=V.useMemo(()=>{const m=new Map;for(const x of l)m.set(x.sessionId,x);return m},[l]),g=V.useCallback(()=>{c()},[c]);return{summaries:d,loading:t,error:i,refresh:g}}const Ae="data-view-transition-kind",Lt="(prefers-reduced-motion: reduce)";let de=null,$e=null;function Dt(l,e,t){t===null?l.removeAttribute(e):l.setAttribute(e,t)}function Ft(l,e){const t={root:l,kind:e,previousKind:l.getAttribute(Ae)};return l.setAttribute(Ae,e),$e=t,t}function Se(l){$e===l&&(l.root.getAttribute(Ae)===l.kind&&Dt(l.root,Ae,l.previousKind),$e=null)}function $t(){const l=de;if(l){de=null;try{l.transition.skipTransition()}catch{Se(l.tag);return}Se(l.tag)}}function zt(){if(typeof window>"u"||typeof window.matchMedia!="function")return!1;try{return window.matchMedia(Lt).matches}catch{return!1}}function Ot(l,{kind:e}){$t();const t=typeof document>"u"?null:document,n=t==null?void 0:t.startViewTransition;if(!t||!(typeof n=="function")||zt())return l(),null;const r=Ft(t.documentElement,e);let o=!1,c=!1,d;const g=m=>{if(!o){o=!0;try{m?Qe.flushSync(l):l()}catch(x){throw c=!0,d=x,x}}};try{const m=n.call(t,()=>g(!0)),x={transition:m,tag:r};return de=x,m.ready.catch(()=>{}),m.updateCallbackDone.catch(()=>{}),m.finished.then(()=>{de===x&&(de=null),Se(r)},()=>{de===x&&(de=null),Se(r)}),m}catch{if(Se(r),c)throw d;return g(!1),null}}function Vt(l){const e={};for(const t of l)t.type==="boolean"?e[t.name]=t.defaultValue===!0:t.defaultValue!==void 0?e[t.name]=String(t.defaultValue):e[t.name]="";return e}function Ut(l,e){const t={};for(const n of l){const i=e[n.name];if(typeof i=="boolean"){t[n.name]=i;continue}i!==""&&(t[n.name]=n.type==="number"||n.type==="integer"?Number(i):i)}return t}function Yt(l,e){return l.every(t=>{if(!t.required)return!0;const n=e[t.name];return typeof n=="boolean"?!0:n===""?!1:t.type==="number"||t.type==="integer"?Number.isFinite(Number(n)):!0})}function Bt(l){const e=B.c(64),{request:t,responding:n,onAnswer:i}=l;let r;e[0]!==t.fields?(r=()=>Vt(t.fields),e[0]=t.fields,e[1]=r):r=e[1];const[o,c]=V.useState(r);let d;e[2]!==t.fields||e[3]!==o?(d=Yt(t.fields,o),e[2]=t.fields,e[3]=o,e[4]=d):d=e[4];const g=d,m=t.displayName||t.title||t.serverName;let x;e[5]===Symbol.for("react.memo_cache_sentinel")?(x=(_,I)=>{c(w=>({...w,[_]:I}))},e[5]=x):x=e[5];const j=x;let p;e[6]!==i||e[7]!==t.requestId?(p=()=>i(t.requestId,{action:"decline"}),e[6]=i,e[7]=t.requestId,e[8]=p):p=e[8];const u=p;if(t.mode==="url"&&t.url){const _=t.url;let I;e[9]!==t.message?(I=s.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:t.message}),e[9]=t.message,e[10]=I):I=e[10];let w;e[11]!==_?(w=s.jsx("p",{className:"mt-1 truncate font-mono text-xs text-muted-foreground",title:_,children:_}),e[11]=_,e[12]=w):w=e[12];let S;e[13]!==i||e[14]!==t.requestId||e[15]!==_?(S=()=>{window.open(_,"_blank","noopener,noreferrer"),i(t.requestId,{action:"accept"})},e[13]=i,e[14]=t.requestId,e[15]=_,e[16]=S):S=e[16];let z;e[17]===Symbol.for("react.memo_cache_sentinel")?(z=s.jsx(It,{"data-icon":"inline-end"}),e[17]=z):z=e[17];let L;e[18]!==n||e[19]!==S?(L=s.jsxs(U,{size:"sm",disabled:n,onClick:S,children:["Open link",z]}),e[18]=n,e[19]=S,e[20]=L):L=e[20];let k;e[21]!==u||e[22]!==n?(k=s.jsx(U,{variant:"ghost",size:"sm",disabled:n,onClick:u,children:"Decline"}),e[21]=u,e[22]=n,e[23]=k):k=e[23];let R;e[24]!==k||e[25]!==L?(R=s.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[L,k]}),e[24]=k,e[25]=L,e[26]=R):R=e[26];let F;return e[27]!==m||e[28]!==R||e[29]!==I||e[30]!==w?(F=s.jsxs(Ve,{server:m,children:[I,w,R]}),e[27]=m,e[28]=R,e[29]=I,e[30]=w,e[31]=F):F=e[31],F}let a;e[32]!==t.message?(a=s.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:t.message}),e[32]=t.message,e[33]=a):a=e[33];let h;if(e[34]!==t.fields||e[35]!==t.requestId||e[36]!==n||e[37]!==o){let _;e[39]!==t.requestId||e[40]!==n||e[41]!==o?(_=I=>s.jsx(Pt,{id:`elicit-${t.requestId}-${I.name}`,field:I,value:o[I.name],disabled:n,onChange:w=>j(I.name,w)},I.name),e[39]=t.requestId,e[40]=n,e[41]=o,e[42]=_):_=e[42],h=t.fields.map(_),e[34]=t.fields,e[35]=t.requestId,e[36]=n,e[37]=o,e[38]=h}else h=e[38];let f;e[43]!==h?(f=s.jsx("div",{className:"mt-3 flex flex-col gap-3",children:h}),e[43]=h,e[44]=f):f=e[44];const y=n||!g;let v;e[45]!==i||e[46]!==t.fields||e[47]!==t.requestId||e[48]!==o?(v=()=>i(t.requestId,{action:"accept",content:Ut(t.fields,o)}),e[45]=i,e[46]=t.fields,e[47]=t.requestId,e[48]=o,e[49]=v):v=e[49];let q;e[50]!==y||e[51]!==v?(q=s.jsx(U,{size:"sm",disabled:y,onClick:v,children:"Send"}),e[50]=y,e[51]=v,e[52]=q):q=e[52];let T;e[53]!==u||e[54]!==n?(T=s.jsx(U,{variant:"ghost",size:"sm",disabled:n,onClick:u,children:"Decline"}),e[53]=u,e[54]=n,e[55]=T):T=e[55];let N;e[56]!==q||e[57]!==T?(N=s.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[q,T]}),e[56]=q,e[57]=T,e[58]=N):N=e[58];let b;return e[59]!==m||e[60]!==N||e[61]!==a||e[62]!==f?(b=s.jsxs(Ve,{server:m,children:[a,f,N]}),e[59]=m,e[60]=N,e[61]=a,e[62]=f,e[63]=b):b=e[63],b}function Pt(l){const e=B.c(55),{id:t,field:n,value:i,disabled:r,onChange:o}=l;if(n.type==="boolean"){const u=i===!0;let a;e[0]!==o?(a=v=>o(v===!0),e[0]=o,e[1]=a):a=e[1];let h;e[2]!==r||e[3]!==t||e[4]!==u||e[5]!==a?(h=s.jsx(Ke,{id:t,checked:u,disabled:r,onCheckedChange:a}),e[2]=r,e[3]=t,e[4]=u,e[5]=a,e[6]=h):h=e[6];let f;e[7]!==n?(f=s.jsx(De,{field:n}),e[7]=n,e[8]=f):f=e[8];let y;return e[9]!==t||e[10]!==h||e[11]!==f?(y=s.jsxs(Le,{htmlFor:t,className:"items-start gap-2 font-normal",children:[h,f]}),e[9]=t,e[10]=h,e[11]=f,e[12]=y):y=e[12],y}if(n.type==="enum"){let u;e[13]!==n?(u=s.jsx(De,{field:n}),e[13]=n,e[14]=u):u=e[14];let a;e[15]!==t||e[16]!==u?(a=s.jsx(Le,{htmlFor:t,children:u}),e[15]=t,e[16]=u,e[17]=a):a=e[17];let h;e[18]!==i?(h=typeof i=="string"&&i?[i]:[],e[18]=i,e[19]=h):h=e[19];let f;e[20]!==o?(f=b=>{b[0]&&o(b[0])},e[20]=o,e[21]=f):f=e[21];const y=n.label;let v;e[22]!==n.options?(v=n.options??[],e[22]=n.options,e[23]=v):v=e[23];let q;if(e[24]!==r||e[25]!==v){let b;e[27]!==r?(b=_=>s.jsx(ke,{value:_.value,disabled:r,className:"w-full justify-start px-3",children:_.label},_.value),e[27]=r,e[28]=b):b=e[28],q=v.map(b),e[24]=r,e[25]=v,e[26]=q}else q=e[26];let T;e[29]!==n.label||e[30]!==t||e[31]!==h||e[32]!==f||e[33]!==q?(T=s.jsx(ze,{id:t,value:h,onValueChange:f,orientation:"vertical",variant:"outline",size:"sm",className:"w-full items-stretch","aria-label":y,children:q}),e[29]=n.label,e[30]=t,e[31]=h,e[32]=f,e[33]=q,e[34]=T):T=e[34];let N;return e[35]!==a||e[36]!==T?(N=s.jsxs("div",{className:"flex flex-col gap-1.5",children:[a,T]}),e[35]=a,e[36]=T,e[37]=N):N=e[37],N}let c;e[38]!==n?(c=s.jsx(De,{field:n}),e[38]=n,e[39]=c):c=e[39];let d;e[40]!==t||e[41]!==c?(d=s.jsx(Le,{htmlFor:t,children:c}),e[40]=t,e[41]=c,e[42]=d):d=e[42];const g=n.type==="string"?"text":"number",m=typeof i=="string"?i:"";let x;e[43]!==o?(x=u=>o(u.target.value),e[43]=o,e[44]=x):x=e[44];let j;e[45]!==r||e[46]!==n.label||e[47]!==t||e[48]!==g||e[49]!==m||e[50]!==x?(j=s.jsx(We,{id:t,"aria-label":n.label,type:g,value:m,disabled:r,onChange:x}),e[45]=r,e[46]=n.label,e[47]=t,e[48]=g,e[49]=m,e[50]=x,e[51]=j):j=e[51];let p;return e[52]!==d||e[53]!==j?(p=s.jsxs("div",{className:"flex flex-col gap-1.5",children:[d,j]}),e[52]=d,e[53]=j,e[54]=p):p=e[54],p}function De(l){const e=B.c(8),{field:t}=l;let n;e[0]!==t.required?(n=t.required&&s.jsx("span",{className:"ml-0.5 text-warning",children:"*"}),e[0]=t.required,e[1]=n):n=e[1];let i;e[2]!==t.description?(i=t.description&&s.jsx("span",{className:"block text-xs font-normal text-muted-foreground",children:t.description}),e[2]=t.description,e[3]=i):i=e[3];let r;return e[4]!==t.label||e[5]!==n||e[6]!==i?(r=s.jsxs("span",{className:"min-w-0",children:[t.label,n,i]}),e[4]=t.label,e[5]=n,e[6]=i,e[7]=r):r=e[7],r}function Ve(l){const e=B.c(8),{server:t,children:n}=l;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsx(St,{className:"text-info"}),e[0]=i):i=e[0];let r;e[1]!==t?(r=s.jsxs(qe,{children:[t," needs input"]}),e[1]=t,e[2]=r):r=e[2];let o;e[3]!==n?(o=s.jsx("div",{className:"col-start-2 mt-1 min-w-0",children:n}),e[3]=n,e[4]=o):o=e[4];let c;return e[5]!==r||e[6]!==o?(c=s.jsxs(_e,{className:"border-info/40 bg-info/5",children:[i,r,o]}),e[5]=r,e[6]=o,e[7]=c):c=e[7],c}const Gt=["allow","allow_always","deny"],Qt=[{decision:"allow",label:"Allow",variant:"default"},{decision:"deny",label:"Deny",variant:"destructive"},{decision:"allow_always",label:"Always",variant:"outline"}];function Ht(l,e){return(l.availableDecisions??Gt).includes(e)}function Wt(l){const e=B.c(22),{request:t,queued:n,responding:i,onRespond:r}=l;let o;if(e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i){let c;e[5]!==t?(c=y=>Ht(t,y.decision),e[5]=t,e[6]=c):c=e[6];const d=Qt.filter(c),g=d.some(Kt);let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=s.jsx(Be,{className:"text-warning"}),e[7]=m):m=e[7];const x=t.title||`Allow ${t.toolName}?`;let j;e[8]!==x?(j=s.jsx("span",{className:"min-w-0 flex-1 truncate",children:x}),e[8]=x,e[9]=j):j=e[9];let p;e[10]!==n?(p=n>0&&s.jsxs("span",{className:"shrink-0 font-mono text-xs text-warning",children:["+",n]}),e[10]=n,e[11]=p):p=e[11];let u;e[12]!==j||e[13]!==p?(u=s.jsxs(qe,{className:"flex min-w-0 items-center gap-2",children:[j,p]}),e[12]=j,e[13]=p,e[14]=u):u=e[14];let a;e[15]!==t.toolName?(a=s.jsx("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:t.toolName}),e[15]=t.toolName,e[16]=a):a=e[16];let h;e[17]!==t.summary?(h=t.summary&&s.jsx("code",{className:"min-w-0 flex-1 truncate rounded bg-muted px-2 py-1 font-mono text-xs text-foreground",children:t.summary}),e[17]=t.summary,e[18]=h):h=e[18];let f;e[19]!==a||e[20]!==h?(f=s.jsxs("div",{className:"col-start-2 mt-2 flex min-w-0 items-center gap-2",children:[a,h]}),e[19]=a,e[20]=h,e[21]=f):f=e[21],o=s.jsxs(_e,{className:"border-warning/40 bg-warning/5",children:[m,u,f,g?s.jsx("div",{className:"col-start-2 mt-3 flex items-center gap-2",children:d.map(y=>{const{decision:v,label:q,variant:T}=y;return s.jsx(U,{size:"xs",variant:T,disabled:i,onClick:()=>r(t.requestId,v),children:q},v)})}):s.jsx("p",{className:"col-start-2 mt-2 text-xs text-warning",children:"Resolve this approval in its own provider"})]}),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=o}else o=e[4];return o}function Kt(l){return l.decision!=="allow_always"}function Xt(l){return l.some(e=>e.options.length===0||e.options.some(t=>t.hasPreview))}function Jt(l){const e=B.c(63),{request:t,responding:n,gone:i,onAnswer:r,onOpenSession:o}=l,c=t.questions,[d,g]=V.useState(0);let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m={},e[0]=m):m=e[0];const x=V.useRef(m);let j;e[1]===Symbol.for("react.memo_cache_sentinel")?(j=new Set,e[1]=j):j=e[1];const[p,u]=V.useState(j);if(c.length===0)return null;if(Xt(c)){let E;e[2]!==c[0].question?(E=s.jsx("p",{className:"text-sm leading-relaxed text-foreground",children:c[0].question}),e[2]=c[0].question,e[3]=E):E=e[3];let C;e[4]===Symbol.for("react.memo_cache_sentinel")?(C=s.jsx(Fe,{"data-icon":"inline-end"}),e[4]=C):C=e[4];let D;e[5]!==o?(D=s.jsxs(U,{variant:"outline",size:"sm",onClick:o,className:"mt-3",children:["Open full question",C]}),e[5]=o,e[6]=D):D=e[6];let O;return e[7]!==E||e[8]!==D?(O=s.jsxs(Ue,{children:[E,D]}),e[7]=E,e[8]=D,e[9]=O):O=e[9],O}const a=c[d];let h;e[10]!==a.question||e[11]!==d||e[12]!==r||e[13]!==c.length||e[14]!==t.toolUseId?(h=function(C){const D={...x.current,[a.question]:C};if(d+1<c.length){x.current=D,u(new Set),g(d+1);return}r(t.toolUseId,D)},e[10]=a.question,e[11]=d,e[12]=r,e[13]=c.length,e[14]=t.toolUseId,e[15]=h):h=e[15];const f=h;let y;e[16]!==a.header?(y=a.header&&s.jsx(Te,{variant:"outline",className:"border-info/40 text-info",children:a.header}),e[16]=a.header,e[17]=y):y=e[17];let v;e[18]!==d||e[19]!==c.length?(v=c.length>1&&s.jsxs("span",{className:"ml-auto shrink-0 font-mono text-xs text-muted-foreground",children:[d+1," of ",c.length]}),e[18]=d,e[19]=c.length,e[20]=v):v=e[20];let q;e[21]!==y||e[22]!==v?(q=s.jsxs("div",{className:"flex items-baseline gap-1.5",children:[y,v]}),e[21]=y,e[22]=v,e[23]=q):q=e[23];let T;e[24]!==a.question?(T=s.jsx("p",{className:"mt-2 line-clamp-3 text-sm leading-relaxed text-foreground",title:a.question,children:a.question}),e[24]=a.question,e[25]=T):T=e[25];let N;e[26]!==p?(N=[...p],e[26]=p,e[27]=N):N=e[27];let b;e[28]!==f||e[29]!==a.multiSelect?(b=E=>{a.multiSelect?u(new Set(E)):E[0]&&f(E[0])},e[28]=f,e[29]=a.multiSelect,e[30]=b):b=e[30];const _=a.multiSelect,I=a.question;let w;if(e[31]!==a.options||e[32]!==n){let E;e[34]!==n?(E=C=>s.jsx(Zt,{option:C,disabled:n},C.label),e[34]=n,e[35]=E):E=e[35],w=a.options.map(E),e[31]=a.options,e[32]=n,e[33]=w}else w=e[33];let S;e[36]!==a.multiSelect||e[37]!==a.question||e[38]!==w||e[39]!==N||e[40]!==b?(S=s.jsx(ze,{value:N,onValueChange:b,multiple:_,orientation:"vertical",variant:"outline",size:"sm",className:"mt-3 w-full items-stretch","aria-label":I,children:w}),e[36]=a.multiSelect,e[37]=a.question,e[38]=w,e[39]=N,e[40]=b,e[41]=S):S=e[41];let z;e[42]!==f||e[43]!==a.multiSelect||e[44]!==d||e[45]!==c.length||e[46]!==n||e[47]!==p?(z=a.multiSelect&&s.jsx(U,{size:"sm",disabled:n||p.size===0,onClick:()=>f(Xe(p)),children:d+1<c.length?"Next":"Send"}),e[42]=f,e[43]=a.multiSelect,e[44]=d,e[45]=c.length,e[46]=n,e[47]=p,e[48]=z):z=e[48];let L;e[49]===Symbol.for("react.memo_cache_sentinel")?(L=s.jsx(Fe,{"data-icon":"inline-end"}),e[49]=L):L=e[49];let k;e[50]!==o?(k=s.jsxs(U,{variant:"ghost",size:"sm",onClick:o,className:"ml-auto text-muted-foreground",children:["Open session",L]}),e[50]=o,e[51]=k):k=e[51];let R;e[52]!==z||e[53]!==k?(R=s.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[z,k]}),e[52]=z,e[53]=k,e[54]=R):R=e[54];let F;e[55]!==i?(F=i&&s.jsx("p",{className:"mt-2 text-xs text-warning",children:"This question may already be answered. Open the session to check."}),e[55]=i,e[56]=F):F=e[56];let A;return e[57]!==S||e[58]!==R||e[59]!==F||e[60]!==q||e[61]!==T?(A=s.jsxs(Ue,{children:[q,T,S,R,F]}),e[57]=S,e[58]=R,e[59]=F,e[60]=q,e[61]=T,e[62]=A):A=e[62],A}function Zt(l){const e=B.c(17),{option:t,disabled:n}=l;let i;e[0]!==t.label?(i=s.jsx("span",{className:"min-w-0 flex-1 truncate text-left",children:t.label}),e[0]=t.label,e[1]=i):i=e[1];const r=i;if(!t.description){let m;return e[2]!==n||e[3]!==r||e[4]!==t.label?(m=s.jsx(ke,{value:t.label,disabled:n,className:"w-full justify-start px-3",children:r}),e[2]=n,e[3]=r,e[4]=t.label,e[5]=m):m=e[5],m}let o;e[6]!==n||e[7]!==t.label?(o=s.jsx(ke,{value:t.label,disabled:n,className:"w-full justify-start px-3"}),e[6]=n,e[7]=t.label,e[8]=o):o=e[8];let c;e[9]!==r||e[10]!==o?(c=s.jsx(Ze,{render:o,children:r}),e[9]=r,e[10]=o,e[11]=c):c=e[11];let d;e[12]!==t.description?(d=s.jsx(Je,{side:"right",className:"max-w-72 text-left",children:t.description}),e[12]=t.description,e[13]=d):d=e[13];let g;return e[14]!==c||e[15]!==d?(g=s.jsxs(et,{children:[c,d]}),e[14]=c,e[15]=d,e[16]=g):g=e[16],g}function Ue(l){const e=B.c(4),{children:t}=l;let n,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsx(Ie,{className:"text-info"}),i=s.jsx(qe,{children:"Answer to continue"}),e[0]=n,e[1]=i):(n=e[0],i=e[1]);let r;return e[2]!==t?(r=s.jsxs(_e,{className:"border-info/40 bg-info/5",children:[n,i,s.jsx("div",{className:"col-start-2 mt-1 min-w-0",children:t})]}),e[2]=t,e[3]=r):r=e[3],r}function es(l){const e=B.c(33),{request:t,responding:n,onChoose:i}=l;let r,o;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(Be,{className:"text-warning"}),o=s.jsx(qe,{children:"Claude declined this request"}),e[0]=r,e[1]=o):(r=e[0],o=e[1]);let c;e[2]!==t.originalModel?(c=s.jsxs("p",{className:"text-sm leading-relaxed text-foreground",children:[t.originalModel," would not answer. Retrying on a fallback model may work."]}),e[2]=t.originalModel,e[3]=c):c=e[3];let d;e[4]!==t.guidanceText?(d=t.guidanceText&&s.jsx("p",{className:"mt-1 text-sm leading-relaxed text-muted-foreground",children:t.guidanceText}),e[4]=t.guidanceText,e[5]=d):d=e[5];let g;e[6]!==i||e[7]!==t.requestId?(g=()=>i(t.requestId,"retry_fallback"),e[6]=i,e[7]=t.requestId,e[8]=g):g=e[8];let m;e[9]!==t.fallbackModel||e[10]!==n||e[11]!==g?(m=s.jsxs(U,{size:"sm",disabled:n,onClick:g,children:["Retry on ",t.fallbackModel]}),e[9]=t.fallbackModel,e[10]=n,e[11]=g,e[12]=m):m=e[12];let x;e[13]!==i||e[14]!==t.requestId?(x=()=>i(t.requestId,"edit_prompt"),e[13]=i,e[14]=t.requestId,e[15]=x):x=e[15];let j;e[16]!==n||e[17]!==x?(j=s.jsx(U,{variant:"outline",size:"sm",disabled:n,onClick:x,children:"Edit prompt"}),e[16]=n,e[17]=x,e[18]=j):j=e[18];let p;e[19]!==i||e[20]!==t.requestId?(p=()=>i(t.requestId,"cancelled"),e[19]=i,e[20]=t.requestId,e[21]=p):p=e[21];let u;e[22]!==n||e[23]!==p?(u=s.jsx(U,{variant:"ghost",size:"sm",disabled:n,className:"ml-auto text-muted-foreground",onClick:p,children:"Dismiss"}),e[22]=n,e[23]=p,e[24]=u):u=e[24];let a;e[25]!==u||e[26]!==m||e[27]!==j?(a=s.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[m,j,u]}),e[25]=u,e[26]=m,e[27]=j,e[28]=a):a=e[28];let h;return e[29]!==a||e[30]!==c||e[31]!==d?(h=s.jsxs(_e,{className:"border-warning/40 bg-warning/5",children:[r,o,s.jsxs("div",{className:"col-start-2 mt-1 min-w-0",children:[c,d,a]})]}),e[29]=a,e[30]=c,e[31]=d,e[32]=h):h=e[32],h}function Pe(l){return l==="awaiting_approval"||l==="awaiting_prompt"||l==="awaiting_question"||l==="awaiting_answer"}function Ee(l){return l==="done"||l==="failed"}const Ye={awaiting_approval:0,awaiting_prompt:1,awaiting_question:2,awaiting_answer:3,running:4,failed:5,done:6};function ts(l,e,t,n,i,r){return t?"awaiting_approval":n?"awaiting_prompt":i?"awaiting_question":r||l.agentStatus==="deferred"||l.agentStatus==="idle"&&e?"awaiting_answer":l.agentTerminalReason?"failed":e&&l.agentStatus&&nt.has(l.agentStatus)?"running":"done"}const ss=6;function ns({sessions:l,procBySession:e,summaries:t,permissionsBySession:n,questionsBySession:i,elicitationsBySession:r,dialogsBySession:o,awaitingPlan:c,newlyCompleted:d,finishedLimit:g=ss,now:m=Date.now()}){const x=[];for(const u of tt(l)){const a=n.get(u.sessionId)??[],h=i.get(u.sessionId)??[],f=r.get(u.sessionId)??[],y=o.get(u.sessionId)??[],v=c.has(u.sessionId),q=a.length+h.length+f.length+y.length+Number(v);u.teamName&&u.agentName&&q===0||x.push({session:u,state:ts(u,st(u,e,m),a.length>0,f.length>0||y.length>0,h.length>0,v),summary:t.get(u.sessionId)??null,permissions:a,questions:h,elicitations:f,dialogs:y})}const j=x.filter(u=>Ee(u.state)),p=[...j.filter(u=>d.has(u.session.sessionId)),...j.filter(u=>!d.has(u.session.sessionId))].slice(0,g);return[...x.filter(u=>!Ee(u.state)),...p].sort((u,a)=>Ye[u.state]-Ye[a.state])}function is(l,e){switch(e){case"running":return l.filter(t=>t.state==="running");case"needs-you":return l.filter(t=>Pe(t.state));case"finished":return l.filter(t=>Ee(t.state));default:return l}}function ls(l){const e={total:l.length,running:0,needsYou:0,finished:0,failed:0};for(const t of l)t.state==="running"&&e.running++,Pe(t.state)&&e.needsYou++,Ee(t.state)&&e.finished++,t.state==="failed"&&e.failed++;return e}function os(l){return l>=90?"text-destructive":l>=70?"text-warning":"text-muted-foreground"}const as={awaiting_approval:{label:"Waiting for approval",text:"text-warning",shell:"border-warning/40 bg-warning/5",icon:Ie},awaiting_prompt:{label:"Waiting for your input",text:"text-info",shell:"border-info/40 bg-info/5",icon:Ie},awaiting_question:{label:"Waiting for your answer",text:"text-info",shell:"border-info/40 bg-info/5",icon:Ie},awaiting_answer:{label:"Waiting for your answer",text:"text-warning",shell:"border-warning/40 bg-warning/5",icon:Ie},running:{label:"Running",text:"text-info",shell:"border-border",icon:null},done:{label:"Done",text:"text-success",shell:"border-border",icon:_t},failed:{label:"Failed",text:"text-destructive",shell:"border-destructive/40",icon:qt}};function rs(l){const e=B.c(3),{icon:t}=l;if(!t){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsx("span",{className:"size-2 shrink-0 rounded-full bg-info"}),e[0]=i):i=e[0],i}let n;return e[1]!==t?(n=s.jsx(t,{className:"size-3.5 shrink-0"}),e[1]=t,e[2]=n):n=e[2],n}const cs=V.memo(function(e){const t=B.c(88),{card:n,customName:i,projectLabel:r,responding:o,goneQuestions:c,compact:d,onOpen:g,onRespond:m,onAnswerQuestion:x,onAnswerElicitation:j,onChooseDialog:p}=e,u=d===void 0?!1:d,{session:a,state:h,summary:f,permissions:y,questions:v,elicitations:q,dialogs:T}=n,N=as[h],b=y[0],_=v[0],I=q[0],w=T[0],S=!!(b||_||I||w);let z;t[0]!==i||t[1]!==a?(z=it(a,i),t[0]=i,t[1]=a,t[2]=z):z=t[2];const L=z,k=u&&"gap-1.5 py-2";let R;t[3]!==N.shell||t[4]!==k?(R=ue("motion-card motion-list-item group flex min-w-0 flex-col gap-2 rounded-lg border bg-card p-3 text-left transition-colors hover:border-foreground/20",N.shell,k),t[3]=N.shell,t[4]=k,t[5]=R):R=t[5];const F=`Open session ${L}`;let A;t[6]!==r?(A=s.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground",children:r}),t[6]=r,t[7]=A):A=t[7];let E;t[8]!==f?(E=(f==null?void 0:f.model)&&s.jsx("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:lt(f.model)}),t[8]=f,t[9]=E):E=t[9];let C;t[10]===Symbol.for("react.memo_cache_sentinel")?(C=s.jsx(Fe,{"data-icon":"inline-end",className:"shrink-0 text-transparent transition-colors group-hover:text-muted-foreground"}),t[10]=C):C=t[10];let D;t[11]!==A||t[12]!==E?(D=s.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[A,E,C]}),t[11]=A,t[12]=E,t[13]=D):D=t[13];const O=u?"truncate":"line-clamp-2";let se;t[14]!==O?(se=ue("text-sm font-medium leading-snug text-foreground",O),t[14]=O,t[15]=se):se=t[15];let P;t[16]!==se||t[17]!==L?(P=s.jsx("span",{className:se,children:L}),t[16]=se,t[17]=L,t[18]=P):P=t[18];let ne;t[19]!==g||t[20]!==P||t[21]!==F||t[22]!==D?(ne=s.jsxs(U,{variant:"ghost",onClick:g,className:"-m-1 h-auto min-w-0 flex-col items-stretch justify-start gap-1 whitespace-normal p-1 text-left","aria-label":F,children:[D,P]}),t[19]=g,t[20]=P,t[21]=F,t[22]=D,t[23]=ne):ne=t[23];let ie;t[24]!==N.text?(ie=ue("flex items-center gap-1.5 text-xs font-medium",N.text),t[24]=N.text,t[25]=ie):ie=t[25];let le;t[26]!==N.icon?(le=s.jsx(rs,{icon:N.icon}),t[26]=N.icon,t[27]=le):le=t[27];let te;t[28]!==N.label?(te=s.jsx("span",{className:"truncate",children:N.label}),t[28]=N.label,t[29]=te):te=t[29];const ce=a.lastActivityAt||a.lastModified;let G;t[30]!==ce?(G=ot(ce),t[30]=ce,t[31]=G):G=t[31];let oe;t[32]!==G?(oe=s.jsx("span",{className:"ml-auto shrink-0 font-mono text-xs font-normal text-muted-foreground",children:G}),t[32]=G,t[33]=oe):oe=t[33];let Q;t[34]!==ie||t[35]!==le||t[36]!==te||t[37]!==oe?(Q=s.jsxs("div",{className:ie,children:[le,te,oe]}),t[34]=ie,t[35]=le,t[36]=te,t[37]=oe,t[38]=Q):Q=t[38];let H;t[39]!==m||t[40]!==y.length||t[41]!==b||t[42]!==o||t[43]!==a.sessionId?(H=b&&s.jsx(Wt,{request:b,queued:y.length-1,responding:o.has(b.requestId),onRespond:(re,Y)=>m(a.sessionId,re,Y)}),t[39]=m,t[40]=y.length,t[41]=b,t[42]=o,t[43]=a.sessionId,t[44]=H):H=t[44];let W;t[45]!==w||t[46]!==p||t[47]!==b||t[48]!==o||t[49]!==a.sessionId?(W=!b&&w&&s.jsx(es,{request:w,responding:o.has(w.requestId),onChoose:(re,Y)=>p(a.sessionId,re,Y)},w.requestId),t[45]=w,t[46]=p,t[47]=b,t[48]=o,t[49]=a.sessionId,t[50]=W):W=t[50];let K;t[51]!==w||t[52]!==I||t[53]!==j||t[54]!==b||t[55]!==o||t[56]!==a.sessionId?(K=!b&&!w&&I&&s.jsx(Bt,{request:I,responding:o.has(I.requestId),onAnswer:(re,Y)=>j(a.sessionId,re,Y)},I.requestId),t[51]=w,t[52]=I,t[53]=j,t[54]=b,t[55]=o,t[56]=a.sessionId,t[57]=K):K=t[57];let X;t[58]!==w||t[59]!==I||t[60]!==c||t[61]!==x||t[62]!==g||t[63]!==_||t[64]!==b||t[65]!==o||t[66]!==a.sessionId?(X=!b&&!w&&!I&&_&&s.jsx(Jt,{request:_,responding:o.has(_.toolUseId),gone:c.has(_.toolUseId),onAnswer:(re,Y)=>x(a.sessionId,re,Y),onOpenSession:g},_.toolUseId),t[58]=w,t[59]=I,t[60]=c,t[61]=x,t[62]=g,t[63]=_,t[64]=b,t[65]=o,t[66]=a.sessionId,t[67]=X):X=t[67];let J;t[68]!==S||t[69]!==f?(J=!S&&(f==null?void 0:f.currentTool)&&s.jsx(ds,{tool:f.currentTool}),t[68]=S,t[69]=f,t[70]=J):J=t[70];let Z;t[71]!==S||t[72]!==u||t[73]!==f?(Z=!u&&!S&&(f==null?void 0:f.lastAssistantText)&&s.jsx("p",{className:"line-clamp-4 text-sm leading-relaxed text-muted-foreground",children:f.lastAssistantText}),t[71]=S,t[72]=u,t[73]=f,t[74]=Z):Z=t[74];let ee;t[75]!==f?(ee=f&&s.jsx(us,{summary:f}),t[75]=f,t[76]=ee):ee=t[76];let ae;return t[77]!==ne||t[78]!==Q||t[79]!==H||t[80]!==W||t[81]!==K||t[82]!==X||t[83]!==J||t[84]!==Z||t[85]!==ee||t[86]!==R?(ae=s.jsxs("div",{className:R,children:[ne,Q,H,W,K,X,J,Z,ee]}),t[77]=ne,t[78]=Q,t[79]=H,t[80]=W,t[81]=K,t[82]=X,t[83]=J,t[84]=Z,t[85]=ee,t[86]=R,t[87]=ae):ae=t[87],ae});function ds(l){const e=B.c(7),{tool:t}=l;let n;e[0]!==t.name?(n=s.jsx("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:t.name}),e[0]=t.name,e[1]=n):n=e[1];let i;e[2]!==t.summary?(i=s.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-foreground/80",children:t.summary}),e[2]=t.summary,e[3]=i):i=e[3];let r;return e[4]!==n||e[5]!==i?(r=s.jsxs("div",{className:"flex min-w-0 items-center gap-2 rounded-md bg-muted/50 px-2.5 py-2",children:[n,i]}),e[4]=n,e[5]=i,e[6]=r):r=e[6],r}function us(l){const e=B.c(11),{summary:t}=l,n=t.filesTotal,i=t.context,r=n.count>0,o=i!==null&&i.used>0;if(!r&&!o)return null;let c;e[0]!==n.additions||e[1]!==n.count||e[2]!==n.deletions||e[3]!==r?(c=r&&s.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[s.jsxs("span",{className:"truncate",children:[n.count," file",n.count===1?"":"s"]}),s.jsx(at,{add:n.additions,del:n.deletions})]}),e[0]=n.additions,e[1]=n.count,e[2]=n.deletions,e[3]=r,e[4]=c):c=e[4];let d;e[5]!==i||e[6]!==o?(d=o&&s.jsxs("span",{className:ue("ml-auto shrink-0",os(i.percent)),children:["ctx ",i.percent,"%"]}),e[5]=i,e[6]=o,e[7]=d):d=e[7];let g;return e[8]!==c||e[9]!==d?(g=s.jsxs("div",{className:"mt-auto flex items-center gap-2 border-t pt-2 font-mono text-xs text-muted-foreground",children:[c,d]}),e[8]=c,e[9]=d,e[10]=g):g=e[10],g}const fs=8e3,ms=12,xs="Start Claude Code, Codex, or Copilot and every session shows up here",hs=[{id:"all",label:"All"},{id:"running",label:"Running"},{id:"needs-you",label:"Needs you"},{id:"finished",label:"Finished"}],gs=[{id:"grid",label:"Grid layout",Icon:Ct},{id:"list",label:"List layout",Icon:Tt}];function Ns(l){const e=B.c(118),{onSelectSession:t}=l,{sessions:n,procBySession:i,newlyCompleted:r,refresh:o}=rt(),{summaries:c,loading:d,error:g,refresh:m}=Mt(),{permissionsBySession:x,questionsBySession:j,elicitationsBySession:p,dialogsBySession:u,awaitingPlan:a,responding:h,respond:f,answerQuestion:y,answerElicitation:v,answerDialog:q,refresh:T}=ct();let N;e[0]===Symbol.for("react.memo_cache_sentinel")?(N=new Set,e[0]=N):N=e[0];const[b,_]=V.useState(N),{names:I}=dt(),{names:w}=ut(),[S,z]=V.useState("all");let L;e[1]===Symbol.for("react.memo_cache_sentinel")?(L=ft("mission-control-layout"),e[1]=L):L=e[1];const[k,R]=mt(L,"grid");let F;e[2]!==a||e[3]!==u||e[4]!==p||e[5]!==r||e[6]!==x||e[7]!==i||e[8]!==j||e[9]!==n||e[10]!==c?(F=ns({sessions:n,procBySession:i,summaries:c,permissionsBySession:x,questionsBySession:j,elicitationsBySession:p,dialogsBySession:u,awaitingPlan:a,newlyCompleted:r}),e[2]=a,e[3]=u,e[4]=p,e[5]=r,e[6]=x,e[7]=i,e[8]=j,e[9]=n,e[10]=c,e[11]=F):F=e[11];const A=F;let E;e[12]!==A?(E=ls(A),e[12]=A,e[13]=E):E=e[13];const C=E;let D;e[14]!==A||e[15]!==S?(D=is(A,S),e[14]=A,e[15]=S,e[16]=D):D=e[16];const O=D;let se;e[17]!==T||e[18]!==o||e[19]!==m?(se=()=>{o(),m(),T()},e[17]=T,e[18]=o,e[19]=m,e[20]=se):se=e[20];const P=se;let ne,ie;e[21]!==o?(ne=()=>{const $=setInterval(()=>{document.visibilityState==="visible"&&o()},fs);return()=>clearInterval($)},ie=[o],e[21]=o,e[22]=ne,e[23]=ie):(ne=e[22],ie=e[23]),V.useEffect(ne,ie);let le;e[24]!==y?(le=async($,M,Me)=>{(await y($,M,Me)).ok||_(Ge=>new Set(Ge).add(M))},e[24]=y,e[25]=le):le=e[25];const te=le;let ce;e[26]!==A.length?(ce=function(M){A.length<=ms?Ot(M,{kind:"fade"}):V.startTransition(M)},e[26]=A.length,e[27]=ce):ce=e[27];const G=ce;let oe;e[28]===Symbol.for("react.memo_cache_sentinel")?(oe=s.jsx("h2",{className:"truncate text-sm font-semibold",children:"Mission Control"}),e[28]=oe):oe=e[28];let Q;e[29]!==C.total?(Q=s.jsx(Te,{variant:"secondary",children:C.total}),e[29]=C.total,e[30]=Q):Q=e[30];let H;e[31]!==C.needsYou?(H=C.needsYou>0&&s.jsxs(Te,{variant:"outline",className:"border-warning/40 text-warning",children:[C.needsYou," need you"]}),e[31]=C.needsYou,e[32]=H):H=e[32];let W;e[33]!==C.failed?(W=C.failed>0&&s.jsxs(Te,{variant:"destructive",children:[C.failed," failed"]}),e[33]=C.failed,e[34]=W):W=e[34];let K;e[35]!==Q||e[36]!==H||e[37]!==W?(K=s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[oe,Q,H,W]}),e[35]=Q,e[36]=H,e[37]=W,e[38]=K):K=e[38];let X;e[39]!==S?(X=[S],e[39]=S,e[40]=X):X=e[40];let J;e[41]!==S||e[42]!==G?(J=$=>{const M=$.at(-1);M&&M!==S&&G(()=>z(M))},e[41]=S,e[42]=G,e[43]=J):J=e[43];let Z;e[44]!==C.needsYou?(Z=hs.map($=>s.jsxs(ke,{value:$.id,"aria-label":`Show ${$.label.toLowerCase()} sessions`,children:[$.label,$.id==="needs-you"&&C.needsYou>0&&s.jsx("span",{className:"font-mono text-warning",children:C.needsYou})]},$.id)),e[44]=C.needsYou,e[45]=Z):Z=e[45];let ee;e[46]!==X||e[47]!==J||e[48]!==Z?(ee=s.jsx(ze,{value:X,onValueChange:J,variant:"outline",size:"sm",spacing:0,"aria-label":"Filter sessions",children:Z}),e[46]=X,e[47]=J,e[48]=Z,e[49]=ee):ee=e[49];let ae;e[50]!==k||e[51]!==R||e[52]!==G?(ae=gs.map($=>{const{id:M,label:Me,Icon:Oe}=$;return s.jsx(U,{variant:"ghost",size:"icon-xs","aria-label":Me,"aria-pressed":k===M,onClick:()=>{M!==k&&G(()=>R(M))},className:ue(k===M&&"bg-accent text-accent-foreground"),children:s.jsx(Oe,{"data-icon":"inline-start"})},M)}),e[50]=k,e[51]=R,e[52]=G,e[53]=ae):ae=e[53];const re=d&&"animate-spin";let Y;e[54]!==re?(Y=ue(re),e[54]=re,e[55]=Y):Y=e[55];let fe;e[56]!==Y?(fe=s.jsx(At,{"data-icon":"inline-start",className:Y}),e[56]=Y,e[57]=fe):fe=e[57];let me;e[58]!==P||e[59]!==fe?(me=s.jsx(U,{variant:"ghost",size:"icon-xs","aria-label":"Refresh Mission Control",onClick:P,children:fe}),e[58]=P,e[59]=fe,e[60]=me):me=e[60];let xe;e[61]!==ae||e[62]!==me?(xe=s.jsxs("div",{className:"flex items-center gap-1",children:[ae,me]}),e[61]=ae,e[62]=me,e[63]=xe):xe=e[63];let he;e[64]!==ee||e[65]!==xe?(he=s.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[ee,xe]}),e[64]=ee,e[65]=xe,e[66]=he):he=e[66];let ge;e[67]!==K||e[68]!==he?(ge=s.jsxs("header",{className:"flex min-h-12 shrink-0 flex-wrap items-center gap-3 border-b px-4 py-2",children:[K,he]}),e[67]=K,e[68]=he,e[69]=ge):ge=e[69];let pe;e[70]!==g||e[71]!==P?(pe=g&&s.jsxs(_e,{variant:"destructive",className:"mb-4",children:[s.jsx(Et,{}),s.jsx(qe,{children:"Mission Control could not refresh"}),s.jsx(wt,{className:"truncate",children:g}),s.jsx(vt,{children:s.jsx(U,{variant:"outline",size:"xs",onClick:P,children:"Retry"})})]}),e[70]=g,e[71]=P,e[72]=pe):pe=e[72];let be;e[73]!==A.length||e[74]!==S||e[75]!==d||e[76]!==O.length?(be=O.length===0&&!d&&s.jsx(xt,{className:"min-h-64",children:s.jsxs(ht,{children:[s.jsx(gt,{variant:"icon",children:s.jsx(kt,{})}),s.jsx(pt,{children:A.length===0?"No live sessions":`Nothing matches "${S}"`}),s.jsx(bt,{children:A.length===0?xs:"Try a different filter."})]})}),e[73]=A.length,e[74]=S,e[75]=d,e[76]=O.length,e[77]=be):be=e[77];let je;e[78]!==A.length||e[79]!==d||e[80]!==O.length?(je=O.length===0&&d&&A.length===0&&s.jsxs("div",{className:"flex items-center justify-center gap-2 py-16 text-sm text-muted-foreground",children:[s.jsx(jt,{}),"Loading sessions…"]}),e[78]=A.length,e[79]=d,e[80]=O.length,e[81]=je):je=e[81];const Re=k==="grid"&&"md:grid-cols-2 2xl:grid-cols-3";let we;e[82]!==Re?(we=ue("grid grid-cols-1 gap-3",Re),e[82]=Re,e[83]=we):we=e[83];let ve;if(e[84]!==q||e[85]!==v||e[86]!==b||e[87]!==te||e[88]!==k||e[89]!==t||e[90]!==w||e[91]!==f||e[92]!==h||e[93]!==I||e[94]!==O){let $;e[96]!==q||e[97]!==v||e[98]!==b||e[99]!==te||e[100]!==k||e[101]!==t||e[102]!==w||e[103]!==f||e[104]!==h||e[105]!==I?($=M=>s.jsx(cs,{card:M,compact:k==="list",customName:I[M.session.sessionId],projectLabel:w[M.session.dirName]??Nt(M.session),responding:h,goneQuestions:b,onOpen:()=>t(M.session.dirName,M.session.fileName),onRespond:f,onAnswerQuestion:te,onAnswerElicitation:v,onChooseDialog:q},M.session.sessionId),e[96]=q,e[97]=v,e[98]=b,e[99]=te,e[100]=k,e[101]=t,e[102]=w,e[103]=f,e[104]=h,e[105]=I,e[106]=$):$=e[106],ve=O.map($),e[84]=q,e[85]=v,e[86]=b,e[87]=te,e[88]=k,e[89]=t,e[90]=w,e[91]=f,e[92]=h,e[93]=I,e[94]=O,e[95]=ve}else ve=e[95];let Ne;e[107]!==we||e[108]!==ve?(Ne=s.jsx("div",{className:we,children:ve}),e[107]=we,e[108]=ve,e[109]=Ne):Ne=e[109];let ye;e[110]!==pe||e[111]!==be||e[112]!==je||e[113]!==Ne?(ye=s.jsx(yt,{className:"flex-1",children:s.jsxs("div",{className:"p-4",children:[pe,be,je,Ne]})}),e[110]=pe,e[111]=be,e[112]=je,e[113]=Ne,e[114]=ye):ye=e[114];let Ce;return e[115]!==ge||e[116]!==ye?(Ce=s.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[ge,ye]}),e[115]=ge,e[116]=ye,e[117]=Ce):Ce=e[117],Ce}export{Ns as MissionControl};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as Y,j as t,r as h}from"./vendor-react-gGw_S5I_.js";import{U as Ke,aa as ee,aD as te,aE as Q,m as Re,n as Ue,I as Ge,ab as Qe,ac as Ye,aF as Ze,B as be,aG as et,aw as tt,ax as st,w as Le,i as it,j as at,k as nt,aH as Be,aI as lt,aJ as rt,a9 as ot,an as ct,h as dt,D as ut}from"./index-DocqIkvS.js";import{Q as ft,U as mt,V as ht,W as xt,i as pt,h as gt,M as jt,Y as vt,_ as wt,F as bt,A as kt,$ as Nt,J as St,a0 as Me,a1 as yt,a2 as Ct}from"./vendor-ui-CIBbYCBQ.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";function _t(s){const e=Y.c(11);let a,l,i;e[0]!==s?({className:a,size:i,...l}=s,e[0]=s,e[1]=a,e[2]=l,e[3]=i):(a=e[1],l=e[2],i=e[3]);const r=i===void 0?"default":i;let o;e[4]!==a?(o=Ke("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none group-has-[:focus-visible]/field-label:border-transparent group-has-[:focus-visible]/field-label:ring-0 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",a),e[4]=a,e[5]=o):o=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx(mt,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"}),e[6]=u):u=e[6];let c;return e[7]!==l||e[8]!==r||e[9]!==o?(c=t.jsx(ft,{"data-slot":"switch","data-size":r,className:o,...l,children:u}),e[7]=l,e[8]=r,e[9]=o,e[10]=c):c=e[10],c}function At(s){const e=Y.c(3),{name:a}=s,l=a.toLowerCase();if(l.includes("iphone")||l.includes("android")){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(pt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[0]=r):r=e[0],r}if(l.includes("ipad")||l.includes("tablet")){let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(gt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[1]=r):r=e[1],r}let i;return e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(jt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[2]=i):i=e[2],i}function Ee(s){const e=Math.floor((Date.now()-s)/1e3);if(e<60)return"just now";const a=Math.floor(e/60);if(a<60)return`${a}m ago`;const l=Math.floor(a/60);return l<24?`${l}h ago`:`${Math.floor(l/24)}d ago`}function zt(s){const e=[`Shared ${Ee(s.createdAt)}`,s.lastAccessAt>0?`opened ${Ee(s.lastAccessAt)}`:"never opened"];return s.guests>0&&e.push(s.guests===1?"1 guest":`${s.guests} guests`),e.join(" · ")}function It(){const s=Y.c(12),{shares:e,revoke:a,revokeAll:l}=Ze();let i;s[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx("p",{className:"text-xs text-muted-foreground",children:"Shared sessions"}),s[0]=i):i=s[0];let r;s[1]!==l||s[2]!==e.length?(r=e.length>0&&t.jsx(be,{variant:"ghost",size:"xs",className:"text-destructive hover:text-destructive",onClick:()=>void l(),children:"Revoke all"}),s[1]=l,s[2]=e.length,s[3]=r):r=s[3];let o;s[4]!==r?(o=t.jsxs("div",{className:"flex h-6 items-center justify-between",children:[i,r]}),s[4]=r,s[5]=o):o=s[5];let u;s[6]!==a||s[7]!==e?(u=e.length===0?t.jsx("p",{className:"text-xs text-muted-foreground",children:"No sessions are shared."}):t.jsx("div",{className:"flex flex-col gap-1.5",children:e.map(g=>{const m=g.title||g.sessionId;return t.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-lg border px-3 py-2",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"truncate text-sm text-foreground",children:m}),t.jsx("p",{className:"text-xs text-muted-foreground",children:zt(g)})]}),t.jsx(be,{variant:"ghost",size:"xs","aria-label":`Revoke share of ${m}`,className:"text-destructive hover:text-destructive",onClick:()=>void a(g.sessionId),children:"Revoke"})]},g.sessionId)})}),s[6]=a,s[7]=e,s[8]=u):u=s[8];let c;return s[9]!==o||s[10]!==u?(c=t.jsxs("div",{className:"flex flex-col gap-2",children:[o,u]}),s[9]=o,s[10]=u,s[11]=c):c=s[11],c}function Pt(s){const e=Y.c(30),{networkAccess:a,setNetworkAccess:l,networkPassword:i,setNetworkPassword:r,showNetworkPassword:o,setShowNetworkPassword:u,hasExistingPassword:c,initialNetworkAccess:g,connectedDevices:m,minPasswordLength:j}=s;let k;e[0]!==a?(k=a?t.jsx(vt,{"data-icon":"inline-start",className:"size-4 text-success"}):t.jsx(wt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[0]=a,e[1]=k):k=e[1];let S;e[2]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsxs("div",{children:[t.jsx("p",{className:"text-sm font-medium text-foreground",children:"Network Access"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Allow other devices to connect"})]}),e[2]=S):S=e[2];let N;e[3]!==k?(N=t.jsxs("div",{className:"flex items-center gap-2",children:[k,S]}),e[3]=k,e[4]=N):N=e[4];let v;e[5]!==l?(v=I=>l(I),e[5]=l,e[6]=v):v=e[6];let x;e[7]!==a||e[8]!==v?(x=t.jsx(_t,{"aria-label":"Network Access",checked:a,onCheckedChange:v}),e[7]=a,e[8]=v,e[9]=x):x=e[9];let w;e[10]!==N||e[11]!==x?(w=t.jsxs("div",{className:"flex items-center justify-between",children:[N,x]}),e[10]=N,e[11]=x,e[12]=w):w=e[12];let p;e[13]!==c||e[14]!==j||e[15]!==a||e[16]!==i||e[17]!==r||e[18]!==u||e[19]!==o?(p=a&&t.jsxs(ee,{"data-invalid":i.length>0&&i.length<j,children:[t.jsx(te,{htmlFor:"network-password",children:"Password"}),t.jsx(Q,{children:c&&i.length===0?"A password is already set. Leave blank to keep it.":`Use at least ${j} characters.`}),t.jsxs(Re,{children:[t.jsx(Ue,{id:"network-password",type:o?"text":"password",value:i,onChange:I=>r(I.target.value),placeholder:c?"Enter new password to change":"Set a password for remote access"}),t.jsx(Ge,{align:"inline-end",children:t.jsx(Qe,{size:"icon-xs","aria-label":o?"Hide password":"Show password",onClick:()=>u(!o),children:o?t.jsx(ht,{"data-icon":"inline-start"}):t.jsx(xt,{"data-icon":"inline-start"})})})]}),i.length>0&&i.length<j&&t.jsxs(Ye,{children:["Password must be at least ",j," characters (",i.length,"/",j,")"]}),t.jsx(Q,{children:"Requires app restart. Remote browsers need an HTTPS reverse proxy; port 19384 remains available to Cogpit hubs and device clients."})]}),e[13]=c,e[14]=j,e[15]=a,e[16]=i,e[17]=r,e[18]=u,e[19]=o,e[20]=p):p=e[20];let d;e[21]!==m||e[22]!==g||e[23]!==a?(d=a&&g&&m.length>0&&t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("p",{className:"text-xs text-muted-foreground",children:"Connected devices"}),t.jsx("div",{className:"flex flex-col gap-1.5",children:m.map(Et)})]}),e[21]=m,e[22]=g,e[23]=a,e[24]=d):d=e[24];let z;e[25]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx(It,{}),e[25]=z):z=e[25];let f;return e[26]!==w||e[27]!==p||e[28]!==d?(f=t.jsxs("div",{className:"flex flex-col gap-4 border-t pt-5",children:[w,p,d,z]}),e[26]=w,e[27]=p,e[28]=d,e[29]=f):f=e[29],f}function Et(s,e){return t.jsxs("div",{className:"flex items-center justify-between rounded-lg border px-3 py-2",children:[t.jsxs("div",{className:"flex items-center gap-2.5",children:[t.jsx(At,{name:s.deviceName}),t.jsxs("div",{children:[t.jsx("p",{className:"text-sm text-foreground",children:s.deviceName}),t.jsx("p",{className:"text-xs text-muted-foreground",children:s.ip})]})]}),t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx("span",{className:"size-1.5 rounded-full bg-success"}),t.jsx("span",{className:"text-xs text-muted-foreground",children:Ee(s.lastActivity)})]})]},`${s.ip}-${e}`)}function Dt(s){const e=Y.c(5),{status:a,error:l}=s;if(a==="validating"){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[t.jsx(Me,{"data-icon":"inline-start",className:"size-3.5 animate-spin"}),"Checking path..."]}),e[0]=i):i=e[0],i}if(a==="valid"){let i;return e[1]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-success",children:[t.jsx(yt,{"data-icon":"inline-start",className:"size-3.5"}),"Valid .claude directory found"]}),e[1]=i):i=e[1],i}if(a==="invalid"&&l){let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Ct,{"data-icon":"inline-start",className:"size-3.5"}),e[2]=i):i=e[2];let r;return e[3]!==l?(r=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-destructive",children:[i,l]}),e[3]=l,e[4]=r):r=e[4],r}return null}function Ht(s){const e=Y.c(102),{open:a,currentPath:l,onClose:i,onSaved:r}=s,[o,u]=h.useState(l),[c,g]=h.useState(!1),{status:m,error:j,debouncedValidate:k,reset:S,save:N}=et();let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=tt(),e[0]=v):v=e[0];const x=v;let w;e[1]===Symbol.for("react.memo_cache_sentinel")?(w=st("configWrite"),e[1]=w):w=e[1];const p=w,[d,z]=h.useState(!1),[f,I]=h.useState(""),[ke,Ve]=h.useState(!1),[y,De]=h.useState(""),[Ne,He]=h.useState(""),[C,$e]=h.useState(""),[Se,Oe]=h.useState(""),[b,Fe]=h.useState(!1),[ye,We]=h.useState(!1),[_,qe]=h.useState(!1),[P,Je]=h.useState(!1);let se;e[2]===Symbol.for("react.memo_cache_sentinel")?(se=[],e[2]=se):se=e[2];const[Ce,Te]=h.useState(se);let ie,ae;e[3]!==l||e[4]!==a||e[5]!==S?(ie=()=>{a&&(u(l),S(),Le("/api/config").then(Lt).then(n=>{const A=(n==null?void 0:n.networkAccess)||!1;z(A),qe(A),Je(!!(n!=null&&n.networkPassword)),I("");const we=(n==null?void 0:n.terminalApp)||"";De(we),He(we);const Ie=(n==null?void 0:n.editorApp)||"";$e(Ie),Oe(Ie);const Pe=(n==null?void 0:n.useBuiltInEditor)===!0;Fe(Pe),We(Pe),A&&(n!=null&&n.networkPassword)&&!x?Le("/api/connected-devices").then(Tt).then(Z=>Te((Z==null?void 0:Z.devices)||[])).catch(Ft):Te([])}).catch($t))},ae=[a,l,S,x],e[3]=l,e[4]=a,e[5]=S,e[6]=ie,e[7]=ae):(ie=e[6],ae=e[7]),h.useEffect(ie,ae);let ne;e[8]!==k?(ne=n=>{const A=n.target.value;u(A),k(A)},e[8]=k,e[9]=ne):ne=e[9];const _e=ne;let le;e[10]!==C||e[11]!==_||e[12]!==d||e[13]!==f||e[14]!==r||e[15]!==o||e[16]!==N||e[17]!==y||e[18]!==b?(le=async()=>{g(!0);const n=await N(o,{networkAccess:x?_:d,networkPassword:!x&&d&&f.length>0?f:void 0,terminalApp:y.trim()||void 0,editorApp:C.trim()||void 0,useBuiltInEditor:b});n.success&&n.claudeDir&&r(n.claudeDir),g(!1)},e[10]=C,e[11]=_,e[12]=d,e[13]=f,e[14]=r,e[15]=o,e[16]=N,e[17]=y,e[18]=b,e[19]=le):le=e[19];const E=le;let re;e[20]!==C||e[21]!==P||e[22]!==Se||e[23]!==_||e[24]!==Ne||e[25]!==ye||e[26]!==d||e[27]!==f||e[28]!==m||e[29]!==y||e[30]!==b?(re=function(){if(m==="validating"||m==="invalid")return!1;const A=m==="valid",we=!x&&(d!==_||d&&f.length>0);if(!A&&!we&&!(y!==Ne)&&!(C!==Se||b!==ye))return!1;if(!x&&d){const Z=f.length>0&&f.length<16,Xe=!P&&f.length===0;if(Z||Xe)return!1}return!0},e[20]=C,e[21]=P,e[22]=Se,e[23]=_,e[24]=Ne,e[25]=ye,e[26]=d,e[27]=f,e[28]=m,e[29]=y,e[30]=b,e[31]=re):re=e[31];const D=re();let $;e[32]!==i?($=n=>{n||i()},e[32]=i,e[33]=$):$=e[33];let oe;e[34]===Symbol.for("react.memo_cache_sentinel")?(oe=t.jsxs(it,{children:[t.jsx(at,{className:"text-foreground",children:"Configuration"}),t.jsx(nt,{className:"text-muted-foreground",children:"Manage local paths, preferred apps, and remote access."})]}),e[34]=oe):oe=e[34];let ce,de;e[35]===Symbol.for("react.memo_cache_sentinel")?(ce=t.jsx(te,{htmlFor:"claude-directory",children:"Claude directory"}),de=t.jsx(Q,{children:"The directory containing your Claude configuration."}),e[35]=ce,e[36]=de):(ce=e[35],de=e[36]);let ue;e[37]===Symbol.for("react.memo_cache_sentinel")?(ue=t.jsx(Ge,{children:t.jsx(bt,{"data-icon":"inline-start"})}),e[37]=ue):ue=e[37];let F;e[38]!==D||e[39]!==E||e[40]!==c?(F=n=>{n.key==="Enter"&&D&&!c&&E()},e[38]=D,e[39]=E,e[40]=c,e[41]=F):F=e[41];let T;e[42]!==_e||e[43]!==o||e[44]!==F?(T=t.jsxs(Re,{children:[ue,t.jsx(Ue,{id:"claude-directory",value:o,onChange:_e,placeholder:"/Users/you/.claude",disabled:!p,onKeyDown:F})]}),e[42]=_e,e[43]=o,e[44]=F,e[45]=T):T=e[45];let L;e[46]!==j||e[47]!==m?(L=t.jsx("div",{"aria-live":"polite",children:t.jsx(Dt,{status:m,error:j})}),e[46]=j,e[47]=m,e[48]=L):L=e[48];let B;e[49]!==T||e[50]!==L?(B=t.jsxs(ee,{children:[ce,de,T,L]}),e[49]=T,e[50]=L,e[51]=B):B=e[51];let fe,me;e[52]===Symbol.for("react.memo_cache_sentinel")?(fe=t.jsxs(te,{htmlFor:"terminal-application",children:[t.jsx(kt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Terminal application"]}),me=t.jsx(Q,{children:"Leave blank to use the system default for Ctrl+Cmd+T."}),e[52]=fe,e[53]=me):(fe=e[52],me=e[53]);let he;e[54]===Symbol.for("react.memo_cache_sentinel")?(he=n=>De(n.target.value),e[54]=he):he=e[54];let R;e[55]!==y?(R=t.jsxs(ee,{children:[fe,me,t.jsx(Be,{id:"terminal-application",value:y,onChange:he,placeholder:"Ghostty, iTerm, or /path/to/binary",disabled:!p})]}),e[55]=y,e[56]=R):R=e[56];let xe;e[57]===Symbol.for("react.memo_cache_sentinel")?(xe=n=>Fe(n===!0),e[57]=xe):xe=e[57];let U;e[58]!==b?(U=t.jsx(lt,{id:"use-built-in-editor",checked:b,onCheckedChange:xe,disabled:!p}),e[58]=b,e[59]=U):U=e[59];let pe;e[60]===Symbol.for("react.memo_cache_sentinel")?(pe=t.jsxs(rt,{children:[t.jsxs(te,{htmlFor:"use-built-in-editor",children:[t.jsx(Nt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Open files in Cogpit"]}),t.jsx(Q,{children:"Files and diffs open in Cogpit’s file workspace instead of launching an external editor."})]}),e[60]=pe):pe=e[60];let G;e[61]!==U?(G=t.jsxs(ee,{orientation:"horizontal",children:[U,pe]}),e[61]=U,e[62]=G):G=e[62];let ge;e[63]===Symbol.for("react.memo_cache_sentinel")?(ge=t.jsxs(te,{htmlFor:"editor-application",children:[t.jsx(St,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Editor application"]}),e[63]=ge):ge=e[63];const Ae=b?"Not used while files open in Cogpit.":"Leave blank to use $VISUAL or automatic detection.";let M;e[64]!==Ae?(M=t.jsx(Q,{children:Ae}),e[64]=Ae,e[65]=M):M=e[65];let je;e[66]===Symbol.for("react.memo_cache_sentinel")?(je=n=>$e(n.target.value),e[66]=je):je=e[66];const ze=!p||b;let V;e[67]!==C||e[68]!==ze?(V=t.jsx(Be,{id:"editor-application",value:C,onChange:je,placeholder:"cursor, code, zed, or /path/to/binary",disabled:ze}),e[67]=C,e[68]=ze,e[69]=V):V=e[69];let H;e[70]!==M||e[71]!==V?(H=t.jsxs(ee,{children:[ge,M,V]}),e[70]=M,e[71]=V,e[72]=H):H=e[72];let O;e[73]!==Ce||e[74]!==P||e[75]!==_||e[76]!==d||e[77]!==f||e[78]!==ke?(O=!x&&p&&t.jsx(Pt,{networkAccess:d,setNetworkAccess:z,networkPassword:f,setNetworkPassword:I,showNetworkPassword:ke,setShowNetworkPassword:Ve,hasExistingPassword:P,initialNetworkAccess:_,connectedDevices:Ce,minPasswordLength:16}),e[73]=Ce,e[74]=P,e[75]=_,e[76]=d,e[77]=f,e[78]=ke,e[79]=O):O=e[79];let W;e[80]!==B||e[81]!==R||e[82]!==G||e[83]!==H||e[84]!==O?(W=t.jsxs(ot,{children:[B,R,G,H,O]}),e[80]=B,e[81]=R,e[82]=G,e[83]=H,e[84]=O,e[85]=W):W=e[85];let q;e[86]!==i?(q=t.jsx(be,{variant:"outline",onClick:i,children:"Cancel"}),e[86]=i,e[87]=q):q=e[87];let J;e[88]!==D||e[89]!==E||e[90]!==c?(J=p&&t.jsx(be,{disabled:!D||c,onClick:E,children:c?t.jsxs(t.Fragment,{children:[t.jsx(Me,{"data-icon":"inline-start",className:"size-4 animate-spin"}),"Saving..."]}):"Save"}),e[88]=D,e[89]=E,e[90]=c,e[91]=J):J=e[91];let X;e[92]!==q||e[93]!==J?(X=t.jsxs(ct,{children:[q,J]}),e[92]=q,e[93]=J,e[94]=X):X=e[94];let K;e[95]!==W||e[96]!==X?(K=t.jsxs(dt,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto sm:max-w-lg",children:[oe,W,X]}),e[95]=W,e[96]=X,e[97]=K):K=e[97];let ve;return e[98]!==a||e[99]!==K||e[100]!==$?(ve=t.jsx(ut,{open:a,onOpenChange:$,children:K}),e[98]=a,e[99]=K,e[100]=$,e[101]=ve):ve=e[101],ve}function $t(){}function Ft(){}function Tt(s){return s.json()}function Lt(s){return s.json()}export{Ht as ConfigDialog};
|
|
1
|
+
import{c as Y,j as t,r as h}from"./vendor-react-gGw_S5I_.js";import{U as Ke,aa as ee,aD as te,aE as Q,m as Re,n as Ue,I as Ge,ab as Qe,ac as Ye,aF as Ze,B as be,aG as et,aw as tt,ax as st,w as Le,i as it,j as at,k as nt,aH as Be,aI as lt,aJ as rt,a9 as ot,an as ct,h as dt,D as ut}from"./index-D-Mg0tNr.js";import{Q as ft,U as mt,V as ht,W as xt,i as pt,h as gt,M as jt,Y as vt,_ as wt,F as bt,A as kt,$ as Nt,J as St,a0 as Me,a1 as yt,a2 as Ct}from"./vendor-ui-Bg9q4lA4.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";function _t(s){const e=Y.c(11);let a,l,i;e[0]!==s?({className:a,size:i,...l}=s,e[0]=s,e[1]=a,e[2]=l,e[3]=i):(a=e[1],l=e[2],i=e[3]);const r=i===void 0?"default":i;let o;e[4]!==a?(o=Ke("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none group-has-[:focus-visible]/field-label:border-transparent group-has-[:focus-visible]/field-label:ring-0 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",a),e[4]=a,e[5]=o):o=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx(mt,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"}),e[6]=u):u=e[6];let c;return e[7]!==l||e[8]!==r||e[9]!==o?(c=t.jsx(ft,{"data-slot":"switch","data-size":r,className:o,...l,children:u}),e[7]=l,e[8]=r,e[9]=o,e[10]=c):c=e[10],c}function At(s){const e=Y.c(3),{name:a}=s,l=a.toLowerCase();if(l.includes("iphone")||l.includes("android")){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(pt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[0]=r):r=e[0],r}if(l.includes("ipad")||l.includes("tablet")){let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(gt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[1]=r):r=e[1],r}let i;return e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(jt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[2]=i):i=e[2],i}function Ee(s){const e=Math.floor((Date.now()-s)/1e3);if(e<60)return"just now";const a=Math.floor(e/60);if(a<60)return`${a}m ago`;const l=Math.floor(a/60);return l<24?`${l}h ago`:`${Math.floor(l/24)}d ago`}function zt(s){const e=[`Shared ${Ee(s.createdAt)}`,s.lastAccessAt>0?`opened ${Ee(s.lastAccessAt)}`:"never opened"];return s.guests>0&&e.push(s.guests===1?"1 guest":`${s.guests} guests`),e.join(" · ")}function It(){const s=Y.c(12),{shares:e,revoke:a,revokeAll:l}=Ze();let i;s[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx("p",{className:"text-xs text-muted-foreground",children:"Shared sessions"}),s[0]=i):i=s[0];let r;s[1]!==l||s[2]!==e.length?(r=e.length>0&&t.jsx(be,{variant:"ghost",size:"xs",className:"text-destructive hover:text-destructive",onClick:()=>void l(),children:"Revoke all"}),s[1]=l,s[2]=e.length,s[3]=r):r=s[3];let o;s[4]!==r?(o=t.jsxs("div",{className:"flex h-6 items-center justify-between",children:[i,r]}),s[4]=r,s[5]=o):o=s[5];let u;s[6]!==a||s[7]!==e?(u=e.length===0?t.jsx("p",{className:"text-xs text-muted-foreground",children:"No sessions are shared."}):t.jsx("div",{className:"flex flex-col gap-1.5",children:e.map(g=>{const m=g.title||g.sessionId;return t.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-lg border px-3 py-2",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"truncate text-sm text-foreground",children:m}),t.jsx("p",{className:"text-xs text-muted-foreground",children:zt(g)})]}),t.jsx(be,{variant:"ghost",size:"xs","aria-label":`Revoke share of ${m}`,className:"text-destructive hover:text-destructive",onClick:()=>void a(g.sessionId),children:"Revoke"})]},g.sessionId)})}),s[6]=a,s[7]=e,s[8]=u):u=s[8];let c;return s[9]!==o||s[10]!==u?(c=t.jsxs("div",{className:"flex flex-col gap-2",children:[o,u]}),s[9]=o,s[10]=u,s[11]=c):c=s[11],c}function Pt(s){const e=Y.c(30),{networkAccess:a,setNetworkAccess:l,networkPassword:i,setNetworkPassword:r,showNetworkPassword:o,setShowNetworkPassword:u,hasExistingPassword:c,initialNetworkAccess:g,connectedDevices:m,minPasswordLength:j}=s;let k;e[0]!==a?(k=a?t.jsx(vt,{"data-icon":"inline-start",className:"size-4 text-success"}):t.jsx(wt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[0]=a,e[1]=k):k=e[1];let S;e[2]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsxs("div",{children:[t.jsx("p",{className:"text-sm font-medium text-foreground",children:"Network Access"}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Allow other devices to connect"})]}),e[2]=S):S=e[2];let N;e[3]!==k?(N=t.jsxs("div",{className:"flex items-center gap-2",children:[k,S]}),e[3]=k,e[4]=N):N=e[4];let v;e[5]!==l?(v=I=>l(I),e[5]=l,e[6]=v):v=e[6];let x;e[7]!==a||e[8]!==v?(x=t.jsx(_t,{"aria-label":"Network Access",checked:a,onCheckedChange:v}),e[7]=a,e[8]=v,e[9]=x):x=e[9];let w;e[10]!==N||e[11]!==x?(w=t.jsxs("div",{className:"flex items-center justify-between",children:[N,x]}),e[10]=N,e[11]=x,e[12]=w):w=e[12];let p;e[13]!==c||e[14]!==j||e[15]!==a||e[16]!==i||e[17]!==r||e[18]!==u||e[19]!==o?(p=a&&t.jsxs(ee,{"data-invalid":i.length>0&&i.length<j,children:[t.jsx(te,{htmlFor:"network-password",children:"Password"}),t.jsx(Q,{children:c&&i.length===0?"A password is already set. Leave blank to keep it.":`Use at least ${j} characters.`}),t.jsxs(Re,{children:[t.jsx(Ue,{id:"network-password",type:o?"text":"password",value:i,onChange:I=>r(I.target.value),placeholder:c?"Enter new password to change":"Set a password for remote access"}),t.jsx(Ge,{align:"inline-end",children:t.jsx(Qe,{size:"icon-xs","aria-label":o?"Hide password":"Show password",onClick:()=>u(!o),children:o?t.jsx(ht,{"data-icon":"inline-start"}):t.jsx(xt,{"data-icon":"inline-start"})})})]}),i.length>0&&i.length<j&&t.jsxs(Ye,{children:["Password must be at least ",j," characters (",i.length,"/",j,")"]}),t.jsx(Q,{children:"Requires app restart. Remote browsers need an HTTPS reverse proxy; port 19384 remains available to Cogpit hubs and device clients."})]}),e[13]=c,e[14]=j,e[15]=a,e[16]=i,e[17]=r,e[18]=u,e[19]=o,e[20]=p):p=e[20];let d;e[21]!==m||e[22]!==g||e[23]!==a?(d=a&&g&&m.length>0&&t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsx("p",{className:"text-xs text-muted-foreground",children:"Connected devices"}),t.jsx("div",{className:"flex flex-col gap-1.5",children:m.map(Et)})]}),e[21]=m,e[22]=g,e[23]=a,e[24]=d):d=e[24];let z;e[25]===Symbol.for("react.memo_cache_sentinel")?(z=t.jsx(It,{}),e[25]=z):z=e[25];let f;return e[26]!==w||e[27]!==p||e[28]!==d?(f=t.jsxs("div",{className:"flex flex-col gap-4 border-t pt-5",children:[w,p,d,z]}),e[26]=w,e[27]=p,e[28]=d,e[29]=f):f=e[29],f}function Et(s,e){return t.jsxs("div",{className:"flex items-center justify-between rounded-lg border px-3 py-2",children:[t.jsxs("div",{className:"flex items-center gap-2.5",children:[t.jsx(At,{name:s.deviceName}),t.jsxs("div",{children:[t.jsx("p",{className:"text-sm text-foreground",children:s.deviceName}),t.jsx("p",{className:"text-xs text-muted-foreground",children:s.ip})]})]}),t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx("span",{className:"size-1.5 rounded-full bg-success"}),t.jsx("span",{className:"text-xs text-muted-foreground",children:Ee(s.lastActivity)})]})]},`${s.ip}-${e}`)}function Dt(s){const e=Y.c(5),{status:a,error:l}=s;if(a==="validating"){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[t.jsx(Me,{"data-icon":"inline-start",className:"size-3.5 animate-spin"}),"Checking path..."]}),e[0]=i):i=e[0],i}if(a==="valid"){let i;return e[1]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-success",children:[t.jsx(yt,{"data-icon":"inline-start",className:"size-3.5"}),"Valid .claude directory found"]}),e[1]=i):i=e[1],i}if(a==="invalid"&&l){let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(Ct,{"data-icon":"inline-start",className:"size-3.5"}),e[2]=i):i=e[2];let r;return e[3]!==l?(r=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-destructive",children:[i,l]}),e[3]=l,e[4]=r):r=e[4],r}return null}function Ht(s){const e=Y.c(102),{open:a,currentPath:l,onClose:i,onSaved:r}=s,[o,u]=h.useState(l),[c,g]=h.useState(!1),{status:m,error:j,debouncedValidate:k,reset:S,save:N}=et();let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=tt(),e[0]=v):v=e[0];const x=v;let w;e[1]===Symbol.for("react.memo_cache_sentinel")?(w=st("configWrite"),e[1]=w):w=e[1];const p=w,[d,z]=h.useState(!1),[f,I]=h.useState(""),[ke,Ve]=h.useState(!1),[y,De]=h.useState(""),[Ne,He]=h.useState(""),[C,$e]=h.useState(""),[Se,Oe]=h.useState(""),[b,Fe]=h.useState(!1),[ye,We]=h.useState(!1),[_,qe]=h.useState(!1),[P,Je]=h.useState(!1);let se;e[2]===Symbol.for("react.memo_cache_sentinel")?(se=[],e[2]=se):se=e[2];const[Ce,Te]=h.useState(se);let ie,ae;e[3]!==l||e[4]!==a||e[5]!==S?(ie=()=>{a&&(u(l),S(),Le("/api/config").then(Lt).then(n=>{const A=(n==null?void 0:n.networkAccess)||!1;z(A),qe(A),Je(!!(n!=null&&n.networkPassword)),I("");const we=(n==null?void 0:n.terminalApp)||"";De(we),He(we);const Ie=(n==null?void 0:n.editorApp)||"";$e(Ie),Oe(Ie);const Pe=(n==null?void 0:n.useBuiltInEditor)===!0;Fe(Pe),We(Pe),A&&(n!=null&&n.networkPassword)&&!x?Le("/api/connected-devices").then(Tt).then(Z=>Te((Z==null?void 0:Z.devices)||[])).catch(Ft):Te([])}).catch($t))},ae=[a,l,S,x],e[3]=l,e[4]=a,e[5]=S,e[6]=ie,e[7]=ae):(ie=e[6],ae=e[7]),h.useEffect(ie,ae);let ne;e[8]!==k?(ne=n=>{const A=n.target.value;u(A),k(A)},e[8]=k,e[9]=ne):ne=e[9];const _e=ne;let le;e[10]!==C||e[11]!==_||e[12]!==d||e[13]!==f||e[14]!==r||e[15]!==o||e[16]!==N||e[17]!==y||e[18]!==b?(le=async()=>{g(!0);const n=await N(o,{networkAccess:x?_:d,networkPassword:!x&&d&&f.length>0?f:void 0,terminalApp:y.trim()||void 0,editorApp:C.trim()||void 0,useBuiltInEditor:b});n.success&&n.claudeDir&&r(n.claudeDir),g(!1)},e[10]=C,e[11]=_,e[12]=d,e[13]=f,e[14]=r,e[15]=o,e[16]=N,e[17]=y,e[18]=b,e[19]=le):le=e[19];const E=le;let re;e[20]!==C||e[21]!==P||e[22]!==Se||e[23]!==_||e[24]!==Ne||e[25]!==ye||e[26]!==d||e[27]!==f||e[28]!==m||e[29]!==y||e[30]!==b?(re=function(){if(m==="validating"||m==="invalid")return!1;const A=m==="valid",we=!x&&(d!==_||d&&f.length>0);if(!A&&!we&&!(y!==Ne)&&!(C!==Se||b!==ye))return!1;if(!x&&d){const Z=f.length>0&&f.length<16,Xe=!P&&f.length===0;if(Z||Xe)return!1}return!0},e[20]=C,e[21]=P,e[22]=Se,e[23]=_,e[24]=Ne,e[25]=ye,e[26]=d,e[27]=f,e[28]=m,e[29]=y,e[30]=b,e[31]=re):re=e[31];const D=re();let $;e[32]!==i?($=n=>{n||i()},e[32]=i,e[33]=$):$=e[33];let oe;e[34]===Symbol.for("react.memo_cache_sentinel")?(oe=t.jsxs(it,{children:[t.jsx(at,{className:"text-foreground",children:"Configuration"}),t.jsx(nt,{className:"text-muted-foreground",children:"Manage local paths, preferred apps, and remote access."})]}),e[34]=oe):oe=e[34];let ce,de;e[35]===Symbol.for("react.memo_cache_sentinel")?(ce=t.jsx(te,{htmlFor:"claude-directory",children:"Claude directory"}),de=t.jsx(Q,{children:"The directory containing your Claude configuration."}),e[35]=ce,e[36]=de):(ce=e[35],de=e[36]);let ue;e[37]===Symbol.for("react.memo_cache_sentinel")?(ue=t.jsx(Ge,{children:t.jsx(bt,{"data-icon":"inline-start"})}),e[37]=ue):ue=e[37];let F;e[38]!==D||e[39]!==E||e[40]!==c?(F=n=>{n.key==="Enter"&&D&&!c&&E()},e[38]=D,e[39]=E,e[40]=c,e[41]=F):F=e[41];let T;e[42]!==_e||e[43]!==o||e[44]!==F?(T=t.jsxs(Re,{children:[ue,t.jsx(Ue,{id:"claude-directory",value:o,onChange:_e,placeholder:"/Users/you/.claude",disabled:!p,onKeyDown:F})]}),e[42]=_e,e[43]=o,e[44]=F,e[45]=T):T=e[45];let L;e[46]!==j||e[47]!==m?(L=t.jsx("div",{"aria-live":"polite",children:t.jsx(Dt,{status:m,error:j})}),e[46]=j,e[47]=m,e[48]=L):L=e[48];let B;e[49]!==T||e[50]!==L?(B=t.jsxs(ee,{children:[ce,de,T,L]}),e[49]=T,e[50]=L,e[51]=B):B=e[51];let fe,me;e[52]===Symbol.for("react.memo_cache_sentinel")?(fe=t.jsxs(te,{htmlFor:"terminal-application",children:[t.jsx(kt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Terminal application"]}),me=t.jsx(Q,{children:"Leave blank to use the system default for Ctrl+Cmd+T."}),e[52]=fe,e[53]=me):(fe=e[52],me=e[53]);let he;e[54]===Symbol.for("react.memo_cache_sentinel")?(he=n=>De(n.target.value),e[54]=he):he=e[54];let R;e[55]!==y?(R=t.jsxs(ee,{children:[fe,me,t.jsx(Be,{id:"terminal-application",value:y,onChange:he,placeholder:"Ghostty, iTerm, or /path/to/binary",disabled:!p})]}),e[55]=y,e[56]=R):R=e[56];let xe;e[57]===Symbol.for("react.memo_cache_sentinel")?(xe=n=>Fe(n===!0),e[57]=xe):xe=e[57];let U;e[58]!==b?(U=t.jsx(lt,{id:"use-built-in-editor",checked:b,onCheckedChange:xe,disabled:!p}),e[58]=b,e[59]=U):U=e[59];let pe;e[60]===Symbol.for("react.memo_cache_sentinel")?(pe=t.jsxs(rt,{children:[t.jsxs(te,{htmlFor:"use-built-in-editor",children:[t.jsx(Nt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Open files in Cogpit"]}),t.jsx(Q,{children:"Files and diffs open in Cogpit’s file workspace instead of launching an external editor."})]}),e[60]=pe):pe=e[60];let G;e[61]!==U?(G=t.jsxs(ee,{orientation:"horizontal",children:[U,pe]}),e[61]=U,e[62]=G):G=e[62];let ge;e[63]===Symbol.for("react.memo_cache_sentinel")?(ge=t.jsxs(te,{htmlFor:"editor-application",children:[t.jsx(St,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Editor application"]}),e[63]=ge):ge=e[63];const Ae=b?"Not used while files open in Cogpit.":"Leave blank to use $VISUAL or automatic detection.";let M;e[64]!==Ae?(M=t.jsx(Q,{children:Ae}),e[64]=Ae,e[65]=M):M=e[65];let je;e[66]===Symbol.for("react.memo_cache_sentinel")?(je=n=>$e(n.target.value),e[66]=je):je=e[66];const ze=!p||b;let V;e[67]!==C||e[68]!==ze?(V=t.jsx(Be,{id:"editor-application",value:C,onChange:je,placeholder:"cursor, code, zed, or /path/to/binary",disabled:ze}),e[67]=C,e[68]=ze,e[69]=V):V=e[69];let H;e[70]!==M||e[71]!==V?(H=t.jsxs(ee,{children:[ge,M,V]}),e[70]=M,e[71]=V,e[72]=H):H=e[72];let O;e[73]!==Ce||e[74]!==P||e[75]!==_||e[76]!==d||e[77]!==f||e[78]!==ke?(O=!x&&p&&t.jsx(Pt,{networkAccess:d,setNetworkAccess:z,networkPassword:f,setNetworkPassword:I,showNetworkPassword:ke,setShowNetworkPassword:Ve,hasExistingPassword:P,initialNetworkAccess:_,connectedDevices:Ce,minPasswordLength:16}),e[73]=Ce,e[74]=P,e[75]=_,e[76]=d,e[77]=f,e[78]=ke,e[79]=O):O=e[79];let W;e[80]!==B||e[81]!==R||e[82]!==G||e[83]!==H||e[84]!==O?(W=t.jsxs(ot,{children:[B,R,G,H,O]}),e[80]=B,e[81]=R,e[82]=G,e[83]=H,e[84]=O,e[85]=W):W=e[85];let q;e[86]!==i?(q=t.jsx(be,{variant:"outline",onClick:i,children:"Cancel"}),e[86]=i,e[87]=q):q=e[87];let J;e[88]!==D||e[89]!==E||e[90]!==c?(J=p&&t.jsx(be,{disabled:!D||c,onClick:E,children:c?t.jsxs(t.Fragment,{children:[t.jsx(Me,{"data-icon":"inline-start",className:"size-4 animate-spin"}),"Saving..."]}):"Save"}),e[88]=D,e[89]=E,e[90]=c,e[91]=J):J=e[91];let X;e[92]!==q||e[93]!==J?(X=t.jsxs(ct,{children:[q,J]}),e[92]=q,e[93]=J,e[94]=X):X=e[94];let K;e[95]!==W||e[96]!==X?(K=t.jsxs(dt,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto sm:max-w-lg",children:[oe,W,X]}),e[95]=W,e[96]=X,e[97]=K):K=e[97];let ve;return e[98]!==a||e[99]!==K||e[100]!==$?(ve=t.jsx(ut,{open:a,onOpenChange:$,children:K}),e[98]=a,e[99]=K,e[100]=$,e[101]=ve):ve=e[101],ve}function $t(){}function Ft(){}function Tt(s){return s.json()}function Lt(s){return s.json()}export{Ht as ConfigDialog};
|