cogpit 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/cli.js +136 -90
  2. package/dist/web/assets/CommandPaletteHost-B-n0sXM6.js +1 -0
  3. package/dist/web/assets/{ConfigBrowser-CXvr5BFb.js → ConfigBrowser-DOdqaQra.js} +1 -1
  4. package/dist/web/assets/{HighlightedEditor-DWc-xoSc.js → HighlightedEditor-D75svkum.js} +1 -1
  5. package/dist/web/assets/{KeyboardShortcutsDialog-C1of2PBc.js → KeyboardShortcutsDialog-DeIXxXmj.js} +1 -1
  6. package/dist/web/assets/{MobileFileChanges-BAEIKapA.js → MobileFileChanges-Dze0jsvc.js} +1 -1
  7. package/dist/web/assets/{PluginsDialog-BgnTB0-z.js → PluginsDialog-qcJTbfeg.js} +1 -1
  8. package/dist/web/assets/{PreviewPanel-DgbgRibz.js → PreviewPanel-DChL85Uq.js} +1 -1
  9. package/dist/web/assets/{ProjectFilesPanel-BGpyS_aw.js → ProjectFilesPanel-DJ-_Lb_R.js} +3 -3
  10. package/dist/web/assets/{ProjectSwitcherModal-CEypvUNm.js → ProjectSwitcherModal-BUV_fZ5V.js} +1 -1
  11. package/dist/web/assets/{TerminalOutput-Dq6QP83Y.js → TerminalOutput-BCG6Ppu3.js} +1 -1
  12. package/dist/web/assets/{ThemeSelectorModal-DeYABHF9.js → ThemeSelectorModal-t2P0tZVJ.js} +1 -1
  13. package/dist/web/assets/WorkflowsPanel-Bv2RwtYI.js +1 -0
  14. package/dist/web/assets/WorktreePanel-F9QlbnAH.js +1 -0
  15. package/dist/web/assets/{edition-ui-CFlDe2_U.js → edition-ui-C0x29noh.js} +1 -1
  16. package/dist/web/assets/index-BO-Nd-ib.css +1 -0
  17. package/dist/web/assets/{index-DYugSKH5.js → index-BtmLHL6v.js} +4 -4
  18. package/dist/web/assets/{index-Ch-IpPaH.js → index-C4W7tiDS.js} +1 -1
  19. package/dist/web/assets/{index-Bm91RnFy.js → index-CRUYvx2l.js} +1 -1
  20. package/dist/web/assets/{index-DsnL-sXV.js → index-CW9tjG1S.js} +86 -86
  21. package/dist/web/assets/index-bXbR7jwp.js +1 -0
  22. package/dist/web/assets/{session-parser.worker-CXlsiJzz.js → session-parser.worker-CkTPpg3t.js} +11 -11
  23. package/dist/web/index.html +2 -2
  24. package/package.json +1 -1
  25. package/dist/web/assets/CommandPaletteHost-fa5vgo7-.js +0 -1
  26. package/dist/web/assets/WorkflowsPanel-CNxUSC9Q.js +0 -1
  27. package/dist/web/assets/WorktreePanel-DJYEUobs.js +0 -1
  28. package/dist/web/assets/index-DVp2Xjmx.js +0 -1
  29. package/dist/web/assets/index-TCQKag8a.css +0 -1
@@ -0,0 +1 @@
1
+ import{c as Z,j as t,r as v}from"./vendor-react-gGw_S5I_.js";import{J as Ze,C as le,b1 as $e,b2 as J,m as ut,n as ft,I as mt,E as _t,G as Et,b3 as At,B as ce,b4 as ht,U as Ie,b5 as xt,a0 as pt,a1 as gt,a3 as bt,b6 as nt,b7 as jt,Z as et,b8 as $t,as as zt,at as Tt,b9 as vt,i as It,j as Dt,k as Pt,ba as Lt,z as Rt,aK as Ut,h as Bt,D as Ft}from"./index-CW9tjG1S.js";import{a7 as Ot,a8 as Mt,a9 as Gt,aa as Ht,d as Vt,T as Wt,M as Xt,ab as qt,ac as Kt,ad as Jt,a2 as wt,C as Nt,ae as at,af as Zt,l as Qt,x as Yt,ag as es,B as ts,ah as ss,ai as ns}from"./vendor-ui-Br3ZTAXZ.js";import{P as rt}from"./password-BV9mqUzz.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";function is(s){const e=Z.c(11);let n,i,a;e[0]!==s?({className:n,size:a,...i}=s,e[0]=s,e[1]=n,e[2]=i,e[3]=a):(n=e[1],i=e[2],a=e[3]);const r=a===void 0?"default":a;let l;e[4]!==n?(l=Ze("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 data-disabled:cursor-not-allowed data-disabled:opacity-50",n),e[4]=n,e[5]=l):l=e[5];let f;e[6]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(Mt,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-foreground 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)] 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"}),e[6]=f):f=e[6];let c;return e[7]!==i||e[8]!==r||e[9]!==l?(c=t.jsx(Ot,{"data-slot":"switch","data-size":r,className:l,...i,children:f}),e[7]=i,e[8]=r,e[9]=l,e[10]=c):c=e[10],c}function as(s){const e=Z.c(3),{name:n}=s,i=n.toLowerCase();if(i.includes("iphone")||i.includes("android")){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(Vt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[0]=r):r=e[0],r}if(i.includes("ipad")||i.includes("tablet")){let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(Wt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[1]=r):r=e[1],r}let a;return e[2]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx(Xt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[2]=a):a=e[2],a}function it(s){const e=Math.floor((Date.now()-s)/1e3);if(e<60)return"just now";const n=Math.floor(e/60);if(n<60)return`${n}m ago`;const i=Math.floor(n/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}function ls(s){const e=[`Shared ${it(s.createdAt)}`,s.lastAccessAt>0?`opened ${it(s.lastAccessAt)}`:"never opened"];return s.guests>0&&e.push(s.guests===1?"1 guest":`${s.guests} guests`),e.join(" · ")}function rs(){const s=Z.c(12),{shares:e,revoke:n,revokeAll:i}=At();let a;s[0]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx("p",{className:"text-xs text-muted-foreground",children:"Shared sessions"}),s[0]=a):a=s[0];let r;s[1]!==i||s[2]!==e.length?(r=e.length>0&&t.jsx(ce,{variant:"ghost",size:"xs",className:"text-destructive hover:text-destructive",onClick:()=>void i(),children:"Revoke all"}),s[1]=i,s[2]=e.length,s[3]=r):r=s[3];let l;s[4]!==r?(l=t.jsxs("div",{className:"flex h-6 items-center justify-between",children:[a,r]}),s[4]=r,s[5]=l):l=s[5];let f;s[6]!==n||s[7]!==e?(f=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(o=>{const m=o.title||o.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:ls(o)})]}),t.jsx(ce,{variant:"ghost",size:"xs","aria-label":`Revoke share of ${m}`,className:"text-destructive hover:text-destructive",onClick:()=>void n(o.sessionId),children:"Revoke"})]},o.sessionId)})}),s[6]=n,s[7]=e,s[8]=f):f=s[8];let c;return s[9]!==l||s[10]!==f?(c=t.jsxs("div",{className:"flex flex-col gap-2",children:[l,f]}),s[9]=l,s[10]=f,s[11]=c):c=s[11],c}function os(s){const e=Z.c(30),{networkAccess:n,setNetworkAccess:i,networkPassword:a,setNetworkPassword:r,showNetworkPassword:l,setShowNetworkPassword:f,hasExistingPassword:c,initialNetworkAccess:o,connectedDevices:m,minPasswordLength:j}=s;let x;e[0]!==n?(x=n?t.jsx(qt,{"data-icon":"inline-start",className:"size-4 text-success"}):t.jsx(Kt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[0]=n,e[1]=x):x=e[1];let b;e[2]===Symbol.for("react.memo_cache_sentinel")?(b=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]=b):b=e[2];let y;e[3]!==x?(y=t.jsxs("div",{className:"flex items-center gap-2",children:[x,b]}),e[3]=x,e[4]=y):y=e[4];let C;e[5]!==i?(C=_=>i(_),e[5]=i,e[6]=C):C=e[6];let w;e[7]!==n||e[8]!==C?(w=t.jsx(is,{"aria-label":"Network Access",checked:n,onCheckedChange:C}),e[7]=n,e[8]=C,e[9]=w):w=e[9];let N;e[10]!==y||e[11]!==w?(N=t.jsxs("div",{className:"flex items-center justify-between",children:[y,w]}),e[10]=y,e[11]=w,e[12]=N):N=e[12];let p;e[13]!==c||e[14]!==j||e[15]!==n||e[16]!==a||e[17]!==r||e[18]!==f||e[19]!==l?(p=n&&t.jsxs(le,{"data-invalid":a.length>0&&a.length<j,children:[t.jsx($e,{htmlFor:"network-password",children:"Password"}),t.jsx(J,{children:c&&a.length===0?"A password is already set. Leave blank to keep it.":`Use at least ${j} characters.`}),t.jsxs(ut,{children:[t.jsx(ft,{id:"network-password",type:l?"text":"password",value:a,onChange:_=>r(_.target.value),placeholder:c?"Enter new password to change":"Set a password for remote access"}),t.jsx(mt,{align:"inline-end",children:t.jsx(_t,{size:"icon-xs","aria-label":l?"Hide password":"Show password",onClick:()=>f(!l),children:l?t.jsx(Gt,{"data-icon":"inline-start"}):t.jsx(Ht,{"data-icon":"inline-start"})})})]}),a.length>0&&a.length<j&&t.jsxs(Et,{children:["Password must be at least ",j," characters (",a.length,"/",j,")"]}),t.jsx(J,{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]=n,e[16]=a,e[17]=r,e[18]=f,e[19]=l,e[20]=p):p=e[20];let u;e[21]!==m||e[22]!==o||e[23]!==n?(u=n&&o&&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(cs)})]}),e[21]=m,e[22]=o,e[23]=n,e[24]=u):u=e[24];let S;e[25]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsx(rs,{}),e[25]=S):S=e[25];let h;return e[26]!==N||e[27]!==p||e[28]!==u?(h=t.jsxs("div",{className:"flex flex-col gap-4 border-t pt-5",children:[N,p,u,S]}),e[26]=N,e[27]=p,e[28]=u,e[29]=h):h=e[29],h}function cs(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(as,{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:it(s.lastActivity)})]})]},`${s.ip}-${e}`)}const ds=["auto","path","npm","bundled","custom"],tt={source:"auto"},us=["path","npm","bundled"];function fs(s){return ds.includes(s)}function ms(s){if(!s||typeof s!="object")return;const{source:e,path:n}=s;if(!(!fs(e)||e==="auto"))return e==="custom"?typeof n=="string"&&n.trim()?{source:e,path:n.trim()}:void 0:{source:e}}const Te={auto:"Automatic",path:"Installed on PATH",npm:"Global npm install",bundled:"Bundled with Cogpit",custom:"Custom path"};function St(s,e){return e?`v${e} · ${s}`:s}function hs(s,e){return s===null?"Checking installed binaries…":e?e.version===null?`${e.path} did not report a version — check the path.`:`Now running: ${St(e.path,e.version)}`:"No launchable binary for the saved choice — sessions cannot start."}function xs(s){return s!==null&&s.version!==null}function ps(s){const e=Z.c(92),{kind:n,value:i,onChange:a,disabled:r,reportVersion:l}=s;let f;e[0]!==n?(f=ht(n),e[0]=n,e[1]=f):f=e[1];const{displayName:c}=f,[o,m]=v.useState(null),[j,x]=v.useState(!1),b=`agent-executable-${n}`;let y;e[2]!==n?(y=()=>{let I=!1;return Ie(`/api/agent-executable/${n}`).then(js).then(te=>{I||m(te)}).catch(bs),()=>{I=!0}},e[2]=n,e[3]=y):y=e[3];let C;e[4]!==n||e[5]!==l?(C=[n,l],e[4]=n,e[5]=l,e[6]=C):C=e[6],v.useEffect(y,C);let w,N,p,u,S,h,_,z,T,k,E,D,g;if(e[7]!==r||e[8]!==c||e[9]!==b||e[10]!==a||e[11]!==j||e[12]!==(o==null?void 0:o.active)||e[13]!==(o==null?void 0:o.candidates)||e[14]!==i.path||e[15]!==i.source){const I=new Map((o==null?void 0:o.candidates.map(gs))??[]);u=(o==null?void 0:o.active)??null;let te;e[29]!==r||e[30]!==b||e[31]!==a||e[32]!==i.path||e[33]!==i.source?(te=(L,F,ie,oe)=>{const lt=oe===void 0?!0:oe,K=`${b}-${L}`;return t.jsxs(le,{orientation:"horizontal",children:[t.jsx("input",{type:"radio",id:K,name:b,className:"mt-1 size-4 shrink-0 accent-primary",checked:i.source===L,disabled:r||!lt,onChange:()=>a(L==="custom"?{source:L,path:i.path??""}:{source:L})}),t.jsxs(xt,{children:[t.jsx($e,{htmlFor:K,children:F}),t.jsx(J,{className:"break-all",children:ie})]})]},L)},e[29]=r,e[30]=b,e[31]=a,e[32]=i.path,e[33]=i.source,e[34]=te):te=e[34],S=te;const se=L=>{const F=I.get(L);return S(L,Te[L],F?St(F.path,F.version):"Not found on this machine.",F!==void 0||i.source===L)},ze=u?`${Te[i.source]} · v${u.version??"?"}`:Te[i.source];p=pt,D=j,g=x,h="flex flex-col gap-2";let X;e[35]===Symbol.for("react.memo_cache_sentinel")?(X=t.jsx(ce,{type:"button",variant:"ghost",className:"h-auto w-full justify-between px-0 font-medium hover:bg-transparent"}),e[35]=X):X=e[35];let ne;e[36]===Symbol.for("react.memo_cache_sentinel")?(ne=t.jsx(Jt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[36]=ne):ne=e[36];let q;e[37]!==c?(q=t.jsxs("span",{className:"flex items-center gap-2",children:[ne,c," executable"]}),e[37]=c,e[38]=q):q=e[38];let R;e[39]!==ze?(R=t.jsx("span",{className:"truncate",children:ze}),e[39]=ze,e[40]=R):R=e[40];let U;e[41]!==j?(U=j?t.jsx(wt,{className:"size-4 shrink-0"}):t.jsx(Nt,{className:"size-4 shrink-0"}),e[41]=j,e[42]=U):U=e[42];let B;e[43]!==R||e[44]!==U?(B=t.jsxs("span",{className:"flex min-w-0 items-center gap-1 text-xs font-normal text-muted-foreground",children:[R,U]}),e[43]=R,e[44]=U,e[45]=B):B=e[45],e[46]!==q||e[47]!==B?(_=t.jsxs(gt,{render:X,children:[q,B]}),e[46]=q,e[47]=B,e[48]=_):_=e[48],N=bt,w=le,e[49]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(J,{children:"Which binary new sessions run. Automatic uses your installed CLI unless it is older than the copy bundled with Cogpit."}),e[49]=E):E=e[49],z="flex flex-col gap-2 pl-1",e[50]!==S?(T=S("auto",Te.auto,"Recommended."),e[50]=S,e[51]=T):T=e[51],k=us.map(se),e[7]=r,e[8]=c,e[9]=b,e[10]=a,e[11]=j,e[12]=o==null?void 0:o.active,e[13]=o==null?void 0:o.candidates,e[14]=i.path,e[15]=i.source,e[16]=w,e[17]=N,e[18]=p,e[19]=u,e[20]=S,e[21]=h,e[22]=_,e[23]=z,e[24]=T,e[25]=k,e[26]=E,e[27]=D,e[28]=g}else w=e[16],N=e[17],p=e[18],u=e[19],S=e[20],h=e[21],_=e[22],z=e[23],T=e[24],k=e[25],E=e[26],D=e[27],g=e[28];const P=`${c} executable path`,H=i.source==="custom"?i.path??"":"",re=r||i.source!=="custom";let Q;e[52]!==a?(Q=I=>a({source:"custom",path:I.target.value}),e[52]=a,e[53]=Q):Q=e[53];let A;e[54]!==P||e[55]!==H||e[56]!==re||e[57]!==Q?(A=t.jsx(nt,{"aria-label":P,value:H,placeholder:"/path/to/binary",disabled:re,onChange:Q,className:"mt-1"}),e[54]=P,e[55]=H,e[56]=re,e[57]=Q,e[58]=A):A=e[58];let V;e[59]!==S||e[60]!==A?(V=S("custom",Te.custom,A),e[59]=S,e[60]=A,e[61]=V):V=e[61];let O;e[62]!==V||e[63]!==z||e[64]!==T||e[65]!==k?(O=t.jsxs("div",{className:z,children:[T,k,V]}),e[62]=V,e[63]=z,e[64]=T,e[65]=k,e[66]=O):O=e[66];let Y;e[67]!==u?(Y=xs(u)?"text-muted-foreground":"text-destructive",e[67]=u,e[68]=Y):Y=e[68];let $;e[69]!==Y?($=Ze("text-xs",Y),e[69]=Y,e[70]=$):$=e[70];let W;e[71]!==u||e[72]!==o?(W=hs(o,u),e[71]=u,e[72]=o,e[73]=W):W=e[73];let M;e[74]!==$||e[75]!==W?(M=t.jsx("p",{className:$,"aria-live":"polite",children:W}),e[74]=$,e[75]=W,e[76]=M):M=e[76];let ee;e[77]!==w||e[78]!==O||e[79]!==M||e[80]!==E?(ee=t.jsxs(w,{children:[E,O,M]}),e[77]=w,e[78]=O,e[79]=M,e[80]=E,e[81]=ee):ee=e[81];let G;e[82]!==N||e[83]!==ee?(G=t.jsx(N,{children:ee}),e[82]=N,e[83]=ee,e[84]=G):G=e[84];let de;return e[85]!==p||e[86]!==h||e[87]!==_||e[88]!==G||e[89]!==D||e[90]!==g?(de=t.jsxs(p,{open:D,onOpenChange:g,className:h,children:[_,G]}),e[85]=p,e[86]=h,e[87]=_,e[88]=G,e[89]=D,e[90]=g,e[91]=de):de=e[91],de}function gs(s){return[s.source,s]}function bs(){}function js(s){return s.ok?s.json():null}function yt(s){return s instanceof Error?s.message:String(s)}async function ot(s){try{const e=await Ie(`/api/agent-accounts/${s}`);return e.status===404?{status:"missing"}:e.ok?await e.json():{status:"error",error:await jt(e,`Request failed (${e.status})`)}}catch(e){return{status:"error",error:yt(e)}}}function vs(s){const[e,n]=v.useState(null),[i,a]=v.useState(null),[r,l]=v.useState(null);v.useEffect(()=>{let c=!1;return ot(s).then(o=>{c||n(o)}),()=>{c=!0}},[s]);const f=v.useCallback(async c=>{a(c),l(null);try{const o=await Ie(`/api/agent-accounts/${s}/switch`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slot:c})});if(!o.ok){l({kind:"failed",error:await jt(o,`Request failed (${o.status})`)});return}l({kind:"switched",result:await o.json()}),n(await ot(s))}catch(o){l({kind:"failed",error:yt(o)})}finally{a(null)}},[s]);return{report:e,switchingSlot:i,outcome:r,switchTo:f}}const ws={token_expired:"Token expired",relogin_required:"Login needed",no_credentials:"No credentials",keychain_unavailable:"Keychain locked",foreign_credential:"Credential mismatch",api_key:"API key",unavailable:"Usage unavailable"};function st(s){return s.alias??s.email}function ct(s){const e=Z.c(18),{label:n,window:i}=s;if(!i)return null;const a=i.pct>=80,r=i.resetsIn?`${n} window resets in ${i.resetsIn}`:void 0;let l;e[0]!==n?(l=t.jsx("span",{className:"w-5",children:n}),e[0]=n,e[1]=l):l=e[1];const f=a?"bg-destructive":"bg-primary";let c;e[2]!==f?(c=Ze("absolute inset-y-0 left-0 rounded-full",f),e[2]=f,e[3]=c):c=e[3];const o=`${i.pct}%`;let m;e[4]!==o?(m={width:o},e[4]=o,e[5]=m):m=e[5];let j;e[6]!==c||e[7]!==m?(j=t.jsx("span",{className:"relative h-1 w-16 overflow-hidden rounded-full bg-muted",children:t.jsx("span",{className:c,style:m})}),e[6]=c,e[7]=m,e[8]=j):j=e[8];let x;e[9]!==i.pct?(x=Math.round(i.pct),e[9]=i.pct,e[10]=x):x=e[10];let b;e[11]!==x?(b=t.jsxs("span",{className:"tabular-nums",children:[x,"%"]}),e[11]=x,e[12]=b):b=e[12];let y;return e[13]!==r||e[14]!==l||e[15]!==j||e[16]!==b?(y=t.jsxs("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",title:r,children:[l,j,b]}),e[13]=r,e[14]=l,e[15]=j,e[16]=b,e[17]=y):y=e[17],y}function dt(s){return/[.!?]$/.test(s)?s:`${s}.`}function Ns(s,e){if(s.kind==="failed")return`Switch failed: ${s.error}`;const{result:n}=s,i=[dt(n.message)];return n.switched&&i.push(n.credentialStore==="keychain"?`Running ${e} sessions pick it up within about 30 seconds; restart one to apply it immediately.`:`New messages in ${e} use it from now on.`),[...i,...n.warnings.map(dt)].join(" ")}function Ss(s){const e=Z.c(41),{kind:n,disabled:i}=s;let a;e[0]!==n?(a=ht(n),e[0]=n,e[1]=a):a=e[1];const{displayName:r}=a,{report:l,switchingSlot:f,outcome:c,switchTo:o}=vs(n),[m,j]=v.useState(!1);if(l===null||l.status==="missing")return null;let x,b;if(e[2]!==l.accounts||e[3]!==l.status){x=l.status==="ok"?l.accounts:[];const g=x.find(ys)??null;b=l.status==="error"?"Unavailable":g?`${st(g)} · ${x.length} account${x.length===1?"":"s"}`:`${x.length} account${x.length===1?"":"s"}`,e[2]=l.accounts,e[3]=l.status,e[4]=x,e[5]=b}else x=e[4],b=e[5];const y=b;let C;e[6]===Symbol.for("react.memo_cache_sentinel")?(C=t.jsx(ce,{type:"button",variant:"ghost",className:"h-auto w-full justify-between px-0 font-medium hover:bg-transparent"}),e[6]=C):C=e[6];let w;e[7]===Symbol.for("react.memo_cache_sentinel")?(w=t.jsx(Zt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),e[7]=w):w=e[7];let N;e[8]!==r?(N=t.jsxs("span",{className:"flex items-center gap-2",children:[w,r," accounts"]}),e[8]=r,e[9]=N):N=e[9];let p;e[10]!==y?(p=t.jsx("span",{className:"truncate",children:y}),e[10]=y,e[11]=p):p=e[11];let u;e[12]!==m?(u=m?t.jsx(wt,{className:"size-4 shrink-0"}):t.jsx(Nt,{className:"size-4 shrink-0"}),e[12]=m,e[13]=u):u=e[13];let S;e[14]!==p||e[15]!==u?(S=t.jsxs("span",{className:"flex min-w-0 items-center gap-1 text-xs font-normal text-muted-foreground",children:[p,u]}),e[14]=p,e[15]=u,e[16]=S):S=e[16];let h;e[17]!==N||e[18]!==S?(h=t.jsxs(gt,{render:C,children:[N,S]}),e[17]=N,e[18]=S,e[19]=h):h=e[19];const _=l.status==="ok"&&`Logins managed by ${l.tool}${l.version?` ${l.version}`:""}. `;let z;e[20]!==r||e[21]!==_?(z=t.jsxs(J,{children:[_,"Switching changes which login ",r," sessions authenticate with."]}),e[20]=r,e[21]=_,e[22]=z):z=e[22];let T;e[23]!==x||e[24]!==i||e[25]!==l.error||e[26]!==l.status||e[27]!==o||e[28]!==f?(T=l.status==="error"?t.jsx("p",{className:"text-xs text-destructive",role:"alert",children:l.error}):t.jsx("ul",{className:"flex flex-col divide-y divide-border rounded-md border border-border",children:x.map(g=>{const P=f===g.slot,H=ws[g.usageStatus];return t.jsxs("li",{className:"flex items-center gap-3 px-3 py-2",children:[t.jsx("span",{className:"w-5 shrink-0 text-xs tabular-nums text-muted-foreground",children:g.slot}),t.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[t.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[t.jsx("span",{className:"truncate text-sm font-medium",children:st(g)}),g.alias&&t.jsx("span",{className:"truncate text-xs text-muted-foreground",children:g.email}),g.active&&t.jsx(et,{children:"Active"}),g.disabled&&t.jsx(et,{variant:"outline",children:"Disabled"}),H&&t.jsx(et,{variant:"destructive",children:H})]}),g.organization&&t.jsx("span",{className:"truncate text-xs text-muted-foreground",children:g.organization}),g.usage&&t.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-1",children:[t.jsx(ct,{label:"5h",window:g.usage.fiveHour}),t.jsx(ct,{label:"7d",window:g.usage.sevenDay})]})]}),!i&&!g.active&&t.jsx(ce,{type:"button",size:"sm",variant:"outline",disabled:f!==null,onClick:()=>o(g.slot),"aria-label":`Switch to ${st(g)}`,children:P?t.jsxs(t.Fragment,{children:[t.jsx(at,{"data-icon":"inline-start",className:"size-3.5 animate-spin"}),"Switching…"]}):"Switch"})]},g.slot)})}),e[23]=x,e[24]=i,e[25]=l.error,e[26]=l.status,e[27]=o,e[28]=f,e[29]=T):T=e[29];let k;e[30]!==r||e[31]!==c?(k=c&&t.jsx("p",{className:Ze("text-xs",c.kind==="failed"?"text-destructive":"text-muted-foreground"),"aria-live":"polite",role:c.kind==="failed"?"alert":"status",children:Ns(c,r)}),e[30]=r,e[31]=c,e[32]=k):k=e[32];let E;e[33]!==z||e[34]!==T||e[35]!==k?(E=t.jsx(bt,{children:t.jsxs(le,{children:[z,T,k]})}),e[33]=z,e[34]=T,e[35]=k,e[36]=E):E=e[36];let D;return e[37]!==m||e[38]!==E||e[39]!==h?(D=t.jsxs(pt,{open:m,onOpenChange:j,className:"flex flex-col gap-2",children:[h,E]}),e[37]=m,e[38]=E,e[39]=h,e[40]=D):D=e[40],D}function ys(s){return s.active}const ks=vt().filter(s=>s.cli.bundledBySdk).map(s=>s.kind),Cs=vt().filter(s=>s.capabilities.accountSwitching).map(s=>s.kind);function _s(s,e){return s.source===e.source&&(s.source!=="custom"||s.path===e.path)}function Es(s){const e=Z.c(5),{status:n,error:i}=s;if(n==="validating"){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[t.jsx(at,{"data-icon":"inline-start",className:"size-3.5 animate-spin"}),"Checking path..."]}),e[0]=a):a=e[0],a}if(n==="valid"){let a;return e[1]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-success",children:[t.jsx(ss,{"data-icon":"inline-start",className:"size-3.5"}),"Valid .claude directory found"]}),e[1]=a):a=e[1],a}if(n==="invalid"&&i){let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx(ns,{"data-icon":"inline-start",className:"size-3.5"}),e[2]=a):a=e[2];let r;return e[3]!==i?(r=t.jsxs("div",{className:"flex items-center gap-2 text-sm text-destructive",children:[a,i]}),e[3]=i,e[4]=r):r=e[4],r}return null}function Fs(s){const e=Z.c(110),{open:n,currentPath:i,onClose:a,onSaved:r}=s,[l,f]=v.useState(i),[c,o]=v.useState(!1),{status:m,error:j,debouncedValidate:x,reset:b,save:y}=$t();let C;e[0]===Symbol.for("react.memo_cache_sentinel")?(C=zt(),e[0]=C):C=e[0];const w=C;let N;e[1]===Symbol.for("react.memo_cache_sentinel")?(N=Tt("configWrite"),e[1]=N):N=e[1];const p=N,[u,S]=v.useState(!1),[h,_]=v.useState(""),[z,T]=v.useState(!1),[k,E]=v.useState(""),[D,g]=v.useState(""),[P,H]=v.useState(""),[re,Q]=v.useState(""),[A,V]=v.useState(!1),[O,Y]=v.useState(!1),[$,W]=v.useState(tt),[M,ee]=v.useState(0),[G,de]=v.useState(tt),[I,te]=v.useState(!1),[se,ze]=v.useState(!1);let X;e[2]===Symbol.for("react.memo_cache_sentinel")?(X=[],e[2]=X):X=e[2];const[ne,q]=v.useState(X);let R,U;e[3]!==i||e[4]!==n||e[5]!==b?(R=()=>{n&&(f(i),b(),Ie("/api/config").then(Is).then(d=>{const ae=(d==null?void 0:d.networkAccess)||!1;S(ae),te(ae),ze(!!(d!=null&&d.networkPassword)),_("");const Xe=(d==null?void 0:d.terminalApp)||"";E(Xe),g(Xe);const qe=(d==null?void 0:d.editorApp)||"";H(qe),Q(qe);const Ke=(d==null?void 0:d.useBuiltInEditor)===!0;V(Ke),Y(Ke);const Je=ms(d==null?void 0:d.agentExecutable)??tt;W(Je),de(Je),ae&&(d!=null&&d.networkPassword)&&!w?Ie("/api/connected-devices").then(Ts).then(Ae=>q((Ae==null?void 0:Ae.devices)||[])).catch(zs):q([])}).catch($s))},U=[n,i,b,w],e[3]=i,e[4]=n,e[5]=b,e[6]=R,e[7]=U):(R=e[6],U=e[7]),v.useEffect(R,U);let B;e[8]!==x?(B=d=>{const ae=d.target.value;f(ae),x(ae)},e[8]=x,e[9]=B):B=e[9];const L=B;let F;e[10]!==$||e[11]!==P||e[12]!==I||e[13]!==u||e[14]!==h||e[15]!==r||e[16]!==l||e[17]!==y||e[18]!==k||e[19]!==A?(F=async()=>{o(!0);const d=await y(l,{networkAccess:w?I:u,networkPassword:!w&&u&&h.length>0?h:void 0,terminalApp:k.trim()||void 0,editorApp:P.trim()||void 0,useBuiltInEditor:A,agentExecutable:$});d.success&&d.claudeDir&&(ee(As),r(d.claudeDir)),o(!1)},e[10]=$,e[11]=P,e[12]=I,e[13]=u,e[14]=h,e[15]=r,e[16]=l,e[17]=y,e[18]=k,e[19]=A,e[20]=F):F=e[20];const ie=F;let oe;e[21]!==$||e[22]!==P||e[23]!==se||e[24]!==G||e[25]!==re||e[26]!==I||e[27]!==D||e[28]!==O||e[29]!==u||e[30]!==h||e[31]!==m||e[32]!==k||e[33]!==A?(oe=function(){var Ae;if(m==="validating"||m==="invalid")return!1;const ae=m==="valid",Xe=!w&&(u!==I||u&&h.length>0),qe=k!==D,Ke=P!==re||A!==O,Je=!_s($,G);if(!ae&&!Xe&&!qe&&!Ke&&!Je||$.source==="custom"&&!((Ae=$.path)!=null&&Ae.trim()))return!1;if(!w&&u){const kt=h.length>0&&h.length<rt,Ct=!se&&h.length===0;if(kt||Ct)return!1}return!0},e[21]=$,e[22]=P,e[23]=se,e[24]=G,e[25]=re,e[26]=I,e[27]=D,e[28]=O,e[29]=u,e[30]=h,e[31]=m,e[32]=k,e[33]=A,e[34]=oe):oe=e[34];const K=oe();let ue;e[35]!==a?(ue=d=>{d||a()},e[35]=a,e[36]=ue):ue=e[36];let De;e[37]===Symbol.for("react.memo_cache_sentinel")?(De=t.jsxs(It,{children:[t.jsx(Dt,{className:"text-foreground",children:"Configuration"}),t.jsx(Pt,{className:"text-muted-foreground",children:"Manage local paths, preferred apps, and remote access."})]}),e[37]=De):De=e[37];let Pe,Le;e[38]===Symbol.for("react.memo_cache_sentinel")?(Pe=t.jsx($e,{htmlFor:"claude-directory",children:"Claude directory"}),Le=t.jsx(J,{children:"The directory containing your Claude configuration."}),e[38]=Pe,e[39]=Le):(Pe=e[38],Le=e[39]);let Re;e[40]===Symbol.for("react.memo_cache_sentinel")?(Re=t.jsx(mt,{children:t.jsx(Qt,{"data-icon":"inline-start"})}),e[40]=Re):Re=e[40];let fe;e[41]!==K||e[42]!==ie||e[43]!==c?(fe=d=>{d.key==="Enter"&&K&&!c&&ie()},e[41]=K,e[42]=ie,e[43]=c,e[44]=fe):fe=e[44];let me;e[45]!==L||e[46]!==l||e[47]!==fe?(me=t.jsxs(ut,{children:[Re,t.jsx(ft,{id:"claude-directory",value:l,onChange:L,placeholder:"/Users/you/.claude",disabled:!p,onKeyDown:fe})]}),e[45]=L,e[46]=l,e[47]=fe,e[48]=me):me=e[48];let he;e[49]!==j||e[50]!==m?(he=t.jsx("div",{"aria-live":"polite",children:t.jsx(Es,{status:m,error:j})}),e[49]=j,e[50]=m,e[51]=he):he=e[51];let xe;e[52]!==me||e[53]!==he?(xe=t.jsxs(le,{children:[Pe,Le,me,he]}),e[52]=me,e[53]=he,e[54]=xe):xe=e[54];let Ue,Be;e[55]===Symbol.for("react.memo_cache_sentinel")?(Ue=t.jsxs($e,{htmlFor:"terminal-application",children:[t.jsx(Yt,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Terminal application"]}),Be=t.jsx(J,{children:"Leave blank to use the system default for Ctrl+Cmd+T."}),e[55]=Ue,e[56]=Be):(Ue=e[55],Be=e[56]);let Fe;e[57]===Symbol.for("react.memo_cache_sentinel")?(Fe=d=>E(d.target.value),e[57]=Fe):Fe=e[57];let pe;e[58]!==k?(pe=t.jsxs(le,{children:[Ue,Be,t.jsx(nt,{id:"terminal-application",value:k,onChange:Fe,placeholder:"Ghostty, iTerm, or /path/to/binary",disabled:!p})]}),e[58]=k,e[59]=pe):pe=e[59];let Oe;e[60]===Symbol.for("react.memo_cache_sentinel")?(Oe=d=>V(d===!0),e[60]=Oe):Oe=e[60];let ge;e[61]!==A?(ge=t.jsx(Lt,{id:"use-built-in-editor",checked:A,onCheckedChange:Oe,disabled:!p}),e[61]=A,e[62]=ge):ge=e[62];let Me;e[63]===Symbol.for("react.memo_cache_sentinel")?(Me=t.jsxs(xt,{children:[t.jsxs($e,{htmlFor:"use-built-in-editor",children:[t.jsx(es,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Open files in Cogpit"]}),t.jsx(J,{children:"Files and diffs open in Cogpit’s file workspace instead of launching an external editor."})]}),e[63]=Me):Me=e[63];let be;e[64]!==ge?(be=t.jsxs(le,{orientation:"horizontal",children:[ge,Me]}),e[64]=ge,e[65]=be):be=e[65];let Ge;e[66]===Symbol.for("react.memo_cache_sentinel")?(Ge=t.jsxs($e,{htmlFor:"editor-application",children:[t.jsx(ts,{"data-icon":"inline-start",className:"size-4 text-muted-foreground"}),"Editor application"]}),e[66]=Ge):Ge=e[66];const Qe=A?"Not used while files open in Cogpit.":"Leave blank to use $VISUAL or automatic detection.";let je;e[67]!==Qe?(je=t.jsx(J,{children:Qe}),e[67]=Qe,e[68]=je):je=e[68];let He;e[69]===Symbol.for("react.memo_cache_sentinel")?(He=d=>H(d.target.value),e[69]=He):He=e[69];const Ye=!p||A;let ve;e[70]!==P||e[71]!==Ye?(ve=t.jsx(nt,{id:"editor-application",value:P,onChange:He,placeholder:"cursor, code, zed, or /path/to/binary",disabled:Ye}),e[70]=P,e[71]=Ye,e[72]=ve):ve=e[72];let we;e[73]!==je||e[74]!==ve?(we=t.jsxs(le,{children:[Ge,je,ve]}),e[73]=je,e[74]=ve,e[75]=we):we=e[75];let Ne;e[76]!==$||e[77]!==M?(Ne=ks.map(d=>t.jsx(ps,{kind:d,value:$,onChange:W,disabled:!p,reportVersion:M},d)),e[76]=$,e[77]=M,e[78]=Ne):Ne=e[78];let Ve;e[79]===Symbol.for("react.memo_cache_sentinel")?(Ve=Cs.map(d=>t.jsx(Ss,{kind:d,disabled:!p},d)),e[79]=Ve):Ve=e[79];let Se;e[80]!==ne||e[81]!==se||e[82]!==I||e[83]!==u||e[84]!==h||e[85]!==z?(Se=!w&&p&&t.jsx(os,{networkAccess:u,setNetworkAccess:S,networkPassword:h,setNetworkPassword:_,showNetworkPassword:z,setShowNetworkPassword:T,hasExistingPassword:se,initialNetworkAccess:I,connectedDevices:ne,minPasswordLength:rt}),e[80]=ne,e[81]=se,e[82]=I,e[83]=u,e[84]=h,e[85]=z,e[86]=Se):Se=e[86];let ye;e[87]!==xe||e[88]!==pe||e[89]!==be||e[90]!==we||e[91]!==Ne||e[92]!==Se?(ye=t.jsxs(Rt,{children:[xe,pe,be,we,Ne,Ve,Se]}),e[87]=xe,e[88]=pe,e[89]=be,e[90]=we,e[91]=Ne,e[92]=Se,e[93]=ye):ye=e[93];let ke;e[94]!==a?(ke=t.jsx(ce,{variant:"outline",onClick:a,children:"Cancel"}),e[94]=a,e[95]=ke):ke=e[95];let Ce;e[96]!==K||e[97]!==ie||e[98]!==c?(Ce=p&&t.jsx(ce,{disabled:!K||c,onClick:ie,children:c?t.jsxs(t.Fragment,{children:[t.jsx(at,{"data-icon":"inline-start",className:"size-4 animate-spin"}),"Saving..."]}):"Save"}),e[96]=K,e[97]=ie,e[98]=c,e[99]=Ce):Ce=e[99];let _e;e[100]!==ke||e[101]!==Ce?(_e=t.jsxs(Ut,{children:[ke,Ce]}),e[100]=ke,e[101]=Ce,e[102]=_e):_e=e[102];let Ee;e[103]!==ye||e[104]!==_e?(Ee=t.jsxs(Bt,{className:"max-h-[calc(100dvh-2rem)] overflow-y-auto sm:max-w-lg",children:[De,ye,_e]}),e[103]=ye,e[104]=_e,e[105]=Ee):Ee=e[105];let We;return e[106]!==n||e[107]!==Ee||e[108]!==ue?(We=t.jsx(Ft,{open:n,onOpenChange:ue,children:Ee}),e[106]=n,e[107]=Ee,e[108]=ue,e[109]=We):We=e[109],We}function As(s){return s+1}function $s(){}function zs(){}function Ts(s){return s.json()}function Is(s){return s.json()}export{Fs as ConfigDialog};
@@ -1,22 +1,22 @@
1
- (function(){"use strict";const mt=["codex","copilot","claude"],gt="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",Oe=new RegExp(`^${gt}$`,"i");function Nt(t,e){const n=new TextEncoder().encode(e);let s="";for(const i of n)s+=String.fromCharCode(i);const o=btoa(s).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return`${t}${o}`}function vt(t,e){if(!e.startsWith(t))return null;try{const n=e.slice(t.length).replace(/-/g,"+").replace(/_/g,"/"),s=atob(n),o=Uint8Array.from(s,i=>i.charCodeAt(0));return new TextDecoder().decode(o)}catch{return null}}function Bt(t){return{lossy:!1,owns:e=>typeof e=="string"&&e.startsWith(t),recognizes:e=>{const n=vt(t,e);return n!==null&&n!==""&&Nt(t,n)===e},encode:e=>Nt(t,e),decode:e=>vt(t,e)}}function ht(t){const e=new RegExp(`(${gt})\\.jsonl$`,"i").exec(t);return e?e[1]:null}function yt(t){return t?{rootSessionId:t.toLowerCase(),isRootTranscript:!0}:null}function Rt(t){const e=t.split("/");return e.every(s=>s!==""&&s!=="."&&s!==".."&&!s.includes("\\"))?e:null}const Pt={urlId:t=>t.replace(/\.jsonl$/,""),fileNameFromUrlId:t=>t.endsWith(".jsonl")?t:`${t}.jsonl`};function Ut(t){return`'${t.replace(/'/g,"'\\''")}'`}function Z(t,e){return e?[t,e]:[]}function st(t,e){var n;return((n=e.exec(t))==null?void 0:n[1])??null}const ot="[0-9a-f-]{36}",Ft="codex__",Dt="copilot__",je=new Set(["default","plan","acceptEdits","dontAsk","auto"]),Le=new Set(["subagents","workflows"]);function We(t){const e=Rt(t);if(!e)return null;const[n,s]=e;if(e.length===1){const o=n.replace(/\.jsonl$/,"");return o!==n&&Ot(o)?yt(o):null}return e.length>2&&Le.has(s)&&Ot(n)?{rootSessionId:n.toLowerCase(),isRootTranscript:!1}:null}const qe={kind:"claude",displayName:"Claude Code",binName:"claude",dirName:{lossy:!0,owns:t=>typeof t=="string"&&!t.startsWith(Ft)&&!t.startsWith(Dt),recognizes:t=>/^(?:(?:-|[A-Za-z]--)[A-Za-z0-9-]*|[A-Za-z]-)$/.test(t),encode:t=>(t.replace(/[\\/]+$/,"")||t).replace(/[^a-zA-Z0-9]/g,"-"),decode:t=>{const e=/^([A-Za-z])--(.*)$/.exec(t);return e?`${e[1]}:\\${e[2].replace(/-/g,"\\")}`:"/"+t.replace(/^-/,"").replace(/-/g,"/")}},sessionFile:{name:t=>`${t}.jsonl`,sessionId:ht,...Pt,transcriptRoot:We},metadataFromHead:!0,resume:{command:t=>`claude --resume ${t}`,args:t=>["--resume",t]},launchArgs:{permissions:t=>t!=null&&t.mode?t.mode==="bypassPermissions"?["--dangerously-skip-permissions"]:[...je.has(t.mode)?["--permission-mode",t.mode]:[],...(t.allowedTools??[]).flatMap(e=>["--allowedTools",e]),...(t.disallowedTools??[]).flatMap(e=>["--disallowedTools",e])]:["--permission-mode","default"],model:t=>Z("--model",t),effort:t=>Z("--effort",t),fastTier:()=>[]},serviceTier:null,cli:{packageName:"@anthropic-ai/claude-code",homebrew:{name:"claude-code",cask:!1},wingetId:null,versionArgs:["--version"],selfUpdate:{args:["update"],matches:t=>t.endsWith("/.local/bin/claude")||t.endsWith("/.local/bin/claude.exe")||t.includes("/.local/share/claude/")},bundledBySdk:!0,homeDirName:".claude",homeEnvVar:null,installMarker:"projects",homeIsDiscoverable:!1,process:{by:"command",sessionIdFromCommand:t=>st(t,new RegExp(`--resume(?:=|\\s+)(${ot})`))??st(t,new RegExp(`--session-id(?:=|\\s+)(${ot})`))}},config:{rootDirName:".claude",instructions:[{in:"scope",path:"CLAUDE.md",scopes:["global","project"]},{in:"root",path:"CLAUDE.md",label:".claude/CLAUDE.md",scopes:["project"]}],settings:[{in:"root",path:"settings.json",scopes:["global"]},{in:"root",path:"settings.local.json",scopes:["project"]}],skillsDir:"skills",agentsDir:"agents",commandsDir:"commands",themesDir:"themes",pluginsDir:"plugins",pluginManifestDir:".claude-plugin"},contextWindow:{defaultLimit:1e6,limits:[{match:"claude-haiku-4-5",limit:2e5},{match:"claude-haiku-4-1",limit:2e5},{match:"claude-sonnet-4-5",limit:2e5},{match:"claude-opus-4-5",limit:2e5},{match:"claude-opus-4-1",limit:2e5}],compactBuffer:33e3,extendedContext:{marker:"[1m]",limit:1e6}},capabilities:{worktrees:!0,mcp:!0,slashCommands:!0,workflows:!0,agentTeams:!0,subagentTranscripts:!0,nestedSubagents:!1,sharing:!0,goals:"transcript",undo:!0,redo:!0,nativeRewind:!1,fileCheckpoints:!0,reasoningEffort:!0,configurableContextWindow:!1,fastTier:!0,lowPriorityInTerminal:!0,imageInput:!0,midTurnSteering:!1,stopSession:!0,ultracode:!0,contextWindow:!0,externalProcesses:!1,accountSwitching:!0,modelFallbackNotices:!0,autoPermissionMode:"per-model",settingsApply:"live",turnLiveness:"transcript",tokenStreaming:!0,nativeFork:!1,namedSessions:!0}},$t={appServerValue:"priority",cliConfigValue:"fast"},ze={kind:"codex",displayName:"Codex",binName:"codex",dirName:Bt(Ft),sessionFile:{name:(t,e=new Date)=>{const n=String(e.getFullYear()),s=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0"),f=String(e.getSeconds()).padStart(2,"0");return`${n}/${s}/${o}/rollout-${n}-${s}-${o}T${i}-${l}-${f}-${t}.jsonl`},sessionId:ht,...Pt,transcriptRoot:t=>Rt(t)?yt(ht(t)):null},metadataFromHead:!1,resume:{command:(t,e)=>e?`codex -C ${Ut(e)} resume ${t}`:`codex resume ${t}`,args:t=>["resume",t]},launchArgs:{permissions:t=>{const e=(t==null?void 0:t.mode)||"default";return e==="bypassPermissions"?["--dangerously-bypass-approvals-and-sandbox"]:e==="auto"?["--approve-for-me"]:["--sandbox",e==="plan"?"read-only":"workspace-write","-c",'approval_policy="never"']},model:t=>Z("-m",t),effort:t=>t?["-c",`model_reasoning_effort=${JSON.stringify(t)}`]:[],fastTier:t=>t?["-c",`service_tier=${JSON.stringify($t.cliConfigValue)}`,"--enable","fast_mode"]:[]},serviceTier:$t,cli:{packageName:"@openai/codex",homebrew:{name:"codex",cask:!1},wingetId:null,versionArgs:["--version"],selfUpdate:null,bundledBySdk:!1,homeDirName:".codex",homeEnvVar:"CODEX_HOME",installMarker:"",homeIsDiscoverable:!0,process:{by:"command",sessionIdFromCommand:t=>st(t,new RegExp(`codex(?:\\s+\\S+)*\\s+exec\\s+resume\\s+(${ot})`))}},config:{rootDirName:".codex",instructions:[{in:"scope",path:"AGENTS.md",scopes:["global","project"]}],settings:[{in:"root",path:"config.toml",scopes:["global","project"]}],skillsDir:"skills",agentsDir:"agents",commandsDir:"prompts",themesDir:null,pluginsDir:null,pluginManifestDir:null},contextWindow:{defaultLimit:272e3,limits:[],compactBuffer:0,extendedContext:null},capabilities:{worktrees:!0,mcp:!1,slashCommands:!1,workflows:!1,agentTeams:!1,subagentTranscripts:!0,nestedSubagents:!0,sharing:!1,goals:"thread-api",undo:!0,redo:!0,nativeRewind:!1,fileCheckpoints:!1,reasoningEffort:!0,configurableContextWindow:!0,fastTier:!0,lowPriorityInTerminal:!1,imageInput:!0,midTurnSteering:!0,stopSession:!1,ultracode:!1,contextWindow:!1,externalProcesses:!1,accountSwitching:!1,modelFallbackNotices:!1,autoPermissionMode:"always",settingsApply:"next-turn",turnLiveness:"runtime",tokenStreaming:!0,nativeFork:!1,namedSessions:!1}};function _t(t){const e=new RegExp(`^(${gt})/events\\.jsonl$`,"i").exec(t);return e?e[1]:null}const Je={kind:"copilot",displayName:"GitHub Copilot CLI",binName:"copilot",dirName:Bt(Dt),sessionFile:{name:t=>`${t}/events.jsonl`,sessionId:_t,urlId:t=>_t(t)??t.replace(/\.jsonl$/,""),fileNameFromUrlId:t=>t.endsWith(".jsonl")?t:`${t}/events.jsonl`,transcriptRoot:t=>yt(_t(t))},metadataFromHead:!0,resume:{command:(t,e)=>e?`copilot -C ${Ut(e)} --resume ${t}`:`copilot --resume ${t}`,args:t=>[`--resume=${t}`]},launchArgs:{permissions:t=>(t==null?void 0:t.mode)==="bypassPermissions"||(t==null?void 0:t.mode)==="auto"?["--allow-all"]:[],model:t=>Z("--model",t),effort:t=>Z("--reasoning-effort",t),fastTier:()=>[]},serviceTier:null,cli:{packageName:"@github/copilot",homebrew:{name:"copilot-cli",cask:!0},wingetId:"GitHub.Copilot",versionArgs:["--version"],selfUpdate:{args:["update"],matches:t=>t.endsWith("/.local/bin/copilot")||t==="/usr/local/bin/copilot"},bundledBySdk:!1,homeDirName:".copilot",homeEnvVar:"COPILOT_HOME",installMarker:"session-state",homeIsDiscoverable:!0,process:{by:"executable",sessionIdFromCommand:t=>st(t,new RegExp(`--resume(?:=|\\s+)(${ot})`))}},config:{rootDirName:".copilot",instructions:[{in:"scope",path:"AGENTS.md",scopes:["global","project"]}],settings:[{in:"root",path:"config.json",scopes:["global"]}],skillsDir:"skills",agentsDir:null,commandsDir:null,themesDir:null,pluginsDir:null,pluginManifestDir:null},contextWindow:{defaultLimit:2e5,limits:[],compactBuffer:0,extendedContext:null},capabilities:{worktrees:!1,mcp:!1,slashCommands:!1,workflows:!1,agentTeams:!1,subagentTranscripts:!1,nestedSubagents:!1,sharing:!1,goals:!1,undo:!0,redo:!1,nativeRewind:!0,fileCheckpoints:!1,reasoningEffort:!1,configurableContextWindow:!1,fastTier:!1,lowPriorityInTerminal:!1,imageInput:!1,midTurnSteering:!0,stopSession:!0,ultracode:!1,contextWindow:!1,externalProcesses:!0,accountSwitching:!1,modelFallbackNotices:!1,autoPermissionMode:"always",settingsApply:"next-turn",turnLiveness:"runtime",tokenStreaming:!1,nativeFork:!0,namedSessions:!0}},Qe=Object.freeze({claude:qe,codex:ze,copilot:Je});function kt(t){return Qe[t]}function Ot(t){return Oe.test(t)}const jt={0:"\0",b:"\b",f:"\f",n:`
1
+ (function(){"use strict";const mt=["codex","copilot","claude"],gt="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",Oe=new RegExp(`^${gt}$`,"i");function Nt(t,e){const n=new TextEncoder().encode(e);let s="";for(const i of n)s+=String.fromCharCode(i);const o=btoa(s).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");return`${t}${o}`}function vt(t,e){if(!e.startsWith(t))return null;try{const n=e.slice(t.length).replace(/-/g,"+").replace(/_/g,"/"),s=atob(n),o=Uint8Array.from(s,i=>i.charCodeAt(0));return new TextDecoder().decode(o)}catch{return null}}function Bt(t){return{lossy:!1,owns:e=>typeof e=="string"&&e.startsWith(t),recognizes:e=>{const n=vt(t,e);return n!==null&&n!==""&&Nt(t,n)===e},encode:e=>Nt(t,e),decode:e=>vt(t,e)}}function ht(t){const e=new RegExp(`(${gt})\\.jsonl$`,"i").exec(t);return e?e[1]:null}function yt(t){return t?{rootSessionId:t.toLowerCase(),isRootTranscript:!0}:null}function Rt(t){const e=t.split("/");return e.every(s=>s!==""&&s!=="."&&s!==".."&&!s.includes("\\"))?e:null}const Pt={urlId:t=>t.replace(/\.jsonl$/,""),fileNameFromUrlId:t=>t.endsWith(".jsonl")?t:`${t}.jsonl`};function Dt(t){return`'${t.replace(/'/g,"'\\''")}'`}function Z(t,e){return e?[t,e]:[]}function st(t,e){var n;return((n=e.exec(t))==null?void 0:n[1])??null}const ot="[0-9a-f-]{36}",Ut="codex__",Ft="copilot__",je=new Set(["default","plan","acceptEdits","dontAsk","auto"]),Le=new Set(["subagents","workflows"]);function We(t){const e=Rt(t);if(!e)return null;const[n,s]=e;if(e.length===1){const o=n.replace(/\.jsonl$/,"");return o!==n&&Ot(o)?yt(o):null}return e.length>2&&Le.has(s)&&Ot(n)?{rootSessionId:n.toLowerCase(),isRootTranscript:!1}:null}const qe={kind:"claude",displayName:"Claude Code",binName:"claude",dirName:{lossy:!0,owns:t=>typeof t=="string"&&!t.startsWith(Ut)&&!t.startsWith(Ft),recognizes:t=>/^(?:(?:-|[A-Za-z]--)[A-Za-z0-9-]*|[A-Za-z]-)$/.test(t),encode:t=>(t.replace(/[\\/]+$/,"")||t).replace(/[^a-zA-Z0-9]/g,"-"),decode:t=>{const e=/^([A-Za-z])--(.*)$/.exec(t);return e?`${e[1]}:\\${e[2].replace(/-/g,"\\")}`:"/"+t.replace(/^-/,"").replace(/-/g,"/")}},projectWorktreeDir:".claude/worktrees",sessionFile:{name:t=>`${t}.jsonl`,sessionId:ht,...Pt,transcriptRoot:We},metadataFromHead:!0,resume:{command:t=>`claude --resume ${t}`,args:t=>["--resume",t]},launchArgs:{permissions:t=>t!=null&&t.mode?t.mode==="bypassPermissions"?["--dangerously-skip-permissions"]:[...je.has(t.mode)?["--permission-mode",t.mode]:[],...(t.allowedTools??[]).flatMap(e=>["--allowedTools",e]),...(t.disallowedTools??[]).flatMap(e=>["--disallowedTools",e])]:["--permission-mode","default"],model:t=>Z("--model",t),effort:t=>Z("--effort",t),fastTier:()=>[]},serviceTier:null,cli:{packageName:"@anthropic-ai/claude-code",homebrew:{name:"claude-code",cask:!1},wingetId:null,versionArgs:["--version"],selfUpdate:{args:["update"],matches:t=>t.endsWith("/.local/bin/claude")||t.endsWith("/.local/bin/claude.exe")||t.includes("/.local/share/claude/")},bundledBySdk:!0,homeDirName:".claude",homeEnvVar:null,installMarker:"projects",homeIsDiscoverable:!1,process:{by:"command",sessionIdFromCommand:t=>st(t,new RegExp(`--resume(?:=|\\s+)(${ot})`))??st(t,new RegExp(`--session-id(?:=|\\s+)(${ot})`))}},config:{rootDirName:".claude",instructions:[{in:"scope",path:"CLAUDE.md",scopes:["global","project"]},{in:"root",path:"CLAUDE.md",label:".claude/CLAUDE.md",scopes:["project"]}],settings:[{in:"root",path:"settings.json",scopes:["global"]},{in:"root",path:"settings.local.json",scopes:["project"]}],skillsDir:"skills",agentsDir:"agents",commandsDir:"commands",themesDir:"themes",pluginsDir:"plugins",pluginManifestDir:".claude-plugin"},contextWindow:{defaultLimit:1e6,limits:[{match:"claude-haiku-4-5",limit:2e5},{match:"claude-haiku-4-1",limit:2e5},{match:"claude-sonnet-4-5",limit:2e5},{match:"claude-opus-4-5",limit:2e5},{match:"claude-opus-4-1",limit:2e5}],compactBuffer:33e3,extendedContext:{marker:"[1m]",limit:1e6}},capabilities:{worktrees:!0,mcp:!0,slashCommands:!0,workflows:!0,agentTeams:!0,subagentTranscripts:!0,nestedSubagents:!1,sharing:!0,goals:"transcript",undo:!0,redo:!0,nativeRewind:!1,fileCheckpoints:!0,reasoningEffort:!0,configurableContextWindow:!1,fastTier:!0,lowPriorityInTerminal:!0,imageInput:!0,midTurnSteering:!1,stopSession:!0,ultracode:!0,contextWindow:!0,externalProcesses:!1,accountSwitching:!0,modelFallbackNotices:!0,autoPermissionMode:"per-model",settingsApply:"live",turnLiveness:"transcript",tokenStreaming:!0,nativeFork:!1,namedSessions:!0}},$t={appServerValue:"priority",cliConfigValue:"fast"},ze={kind:"codex",displayName:"Codex",binName:"codex",dirName:Bt(Ut),projectWorktreeDir:null,sessionFile:{name:(t,e=new Date)=>{const n=String(e.getFullYear()),s=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0"),f=String(e.getSeconds()).padStart(2,"0");return`${n}/${s}/${o}/rollout-${n}-${s}-${o}T${i}-${l}-${f}-${t}.jsonl`},sessionId:ht,...Pt,transcriptRoot:t=>Rt(t)?yt(ht(t)):null},metadataFromHead:!1,resume:{command:(t,e)=>e?`codex -C ${Dt(e)} resume ${t}`:`codex resume ${t}`,args:t=>["resume",t]},launchArgs:{permissions:t=>{const e=(t==null?void 0:t.mode)||"default";return e==="bypassPermissions"?["--dangerously-bypass-approvals-and-sandbox"]:e==="auto"?["--approve-for-me"]:["--sandbox",e==="plan"?"read-only":"workspace-write","-c",'approval_policy="never"']},model:t=>Z("-m",t),effort:t=>t?["-c",`model_reasoning_effort=${JSON.stringify(t)}`]:[],fastTier:t=>t?["-c",`service_tier=${JSON.stringify($t.cliConfigValue)}`,"--enable","fast_mode"]:[]},serviceTier:$t,cli:{packageName:"@openai/codex",homebrew:{name:"codex",cask:!1},wingetId:null,versionArgs:["--version"],selfUpdate:null,bundledBySdk:!1,homeDirName:".codex",homeEnvVar:"CODEX_HOME",installMarker:"",homeIsDiscoverable:!0,process:{by:"command",sessionIdFromCommand:t=>st(t,new RegExp(`codex(?:\\s+\\S+)*\\s+exec\\s+resume\\s+(${ot})`))}},config:{rootDirName:".codex",instructions:[{in:"scope",path:"AGENTS.md",scopes:["global","project"]}],settings:[{in:"root",path:"config.toml",scopes:["global","project"]}],skillsDir:"skills",agentsDir:"agents",commandsDir:"prompts",themesDir:null,pluginsDir:null,pluginManifestDir:null},contextWindow:{defaultLimit:272e3,limits:[],compactBuffer:0,extendedContext:null},capabilities:{worktrees:!0,mcp:!1,slashCommands:!1,workflows:!1,agentTeams:!1,subagentTranscripts:!0,nestedSubagents:!0,sharing:!1,goals:"thread-api",undo:!0,redo:!0,nativeRewind:!1,fileCheckpoints:!1,reasoningEffort:!0,configurableContextWindow:!0,fastTier:!0,lowPriorityInTerminal:!1,imageInput:!0,midTurnSteering:!0,stopSession:!1,ultracode:!1,contextWindow:!1,externalProcesses:!1,accountSwitching:!1,modelFallbackNotices:!1,autoPermissionMode:"always",settingsApply:"next-turn",turnLiveness:"runtime",tokenStreaming:!0,nativeFork:!1,namedSessions:!1}};function _t(t){const e=new RegExp(`^(${gt})/events\\.jsonl$`,"i").exec(t);return e?e[1]:null}const Je={kind:"copilot",displayName:"GitHub Copilot CLI",binName:"copilot",dirName:Bt(Ft),projectWorktreeDir:null,sessionFile:{name:t=>`${t}/events.jsonl`,sessionId:_t,urlId:t=>_t(t)??t.replace(/\.jsonl$/,""),fileNameFromUrlId:t=>t.endsWith(".jsonl")?t:`${t}/events.jsonl`,transcriptRoot:t=>yt(_t(t))},metadataFromHead:!0,resume:{command:(t,e)=>e?`copilot -C ${Dt(e)} --resume ${t}`:`copilot --resume ${t}`,args:t=>[`--resume=${t}`]},launchArgs:{permissions:t=>(t==null?void 0:t.mode)==="bypassPermissions"||(t==null?void 0:t.mode)==="auto"?["--allow-all"]:[],model:t=>Z("--model",t),effort:t=>Z("--reasoning-effort",t),fastTier:()=>[]},serviceTier:null,cli:{packageName:"@github/copilot",homebrew:{name:"copilot-cli",cask:!0},wingetId:"GitHub.Copilot",versionArgs:["--version"],selfUpdate:{args:["update"],matches:t=>t.endsWith("/.local/bin/copilot")||t==="/usr/local/bin/copilot"},bundledBySdk:!1,homeDirName:".copilot",homeEnvVar:"COPILOT_HOME",installMarker:"session-state",homeIsDiscoverable:!0,process:{by:"executable",sessionIdFromCommand:t=>st(t,new RegExp(`--resume(?:=|\\s+)(${ot})`))}},config:{rootDirName:".copilot",instructions:[{in:"scope",path:"AGENTS.md",scopes:["global","project"]}],settings:[{in:"root",path:"config.json",scopes:["global"]}],skillsDir:"skills",agentsDir:null,commandsDir:null,themesDir:null,pluginsDir:null,pluginManifestDir:null},contextWindow:{defaultLimit:2e5,limits:[],compactBuffer:0,extendedContext:null},capabilities:{worktrees:!1,mcp:!1,slashCommands:!1,workflows:!1,agentTeams:!1,subagentTranscripts:!1,nestedSubagents:!1,sharing:!1,goals:!1,undo:!0,redo:!1,nativeRewind:!0,fileCheckpoints:!1,reasoningEffort:!1,configurableContextWindow:!1,fastTier:!1,lowPriorityInTerminal:!1,imageInput:!1,midTurnSteering:!0,stopSession:!0,ultracode:!1,contextWindow:!1,externalProcesses:!0,accountSwitching:!1,modelFallbackNotices:!1,autoPermissionMode:"always",settingsApply:"next-turn",turnLiveness:"runtime",tokenStreaming:!1,nativeFork:!0,namedSessions:!0}},Qe=Object.freeze({claude:qe,codex:ze,copilot:Je});function kt(t){return Qe[t]}function Ot(t){return Oe.test(t)}const jt={0:"\0",b:"\b",f:"\f",n:`
2
2
  `,r:"\r",t:" ",v:"\v"};function Lt(t,e){const n=t[e];if(n!=='"'&&n!=="'"&&n!=="`")return null;let s="",o=e+1;for(;o<t.length;){const i=t[o];if(i===n)return{endIndex:o+1,value:s};if(i!=="\\"){s+=i,o++;continue}if(o++,o>=t.length)return null;const l=t[o];if(l in jt){s+=jt[l],o++;continue}if(l===`
3
3
  `){o++;continue}if(l==="\r"){o+=t[o+1]===`
4
4
  `?2:1;continue}if(l==="x"&&/^[0-9a-fA-F]{2}$/.test(t.slice(o+1,o+3))){s+=String.fromCharCode(Number.parseInt(t.slice(o+1,o+3),16)),o+=3;continue}if(l==="u"){const f=t.slice(o+1).match(/^\{([0-9a-fA-F]+)\}/);if(f){const b=Number.parseInt(f[1],16);if(Number.isFinite(b)&&b<=1114111){s+=String.fromCodePoint(b),o+=f[0].length+1;continue}}const g=t.slice(o+1,o+5);if(/^[0-9a-fA-F]{4}$/.test(g)){s+=String.fromCharCode(Number.parseInt(g,16)),o+=5;continue}}s+=l,o++}return null}function bt(t){return t.type==="user"}function Tt(t){return t.type==="assistant"}function Wt(t){return t.type==="progress"}function qt(t){return t.type==="system"}function zt(t){return t.type==="summary"}function Ve(t){return t.type==="queue-operation"}function Jt(t){return t.type==="attachment"}function Ke(t){return t.type==="user"&&t.isCompactSummary===!0}function Qt(t){return t.type==="system"&&t.subtype==="compact_boundary"}function Vt(t,e){let n=0;for(const s of t)e[s.name]=(e[s.name]??0)+1,s.isError&&n++;return n}function Kt(t,e){t.totalInputTokens+=e.input_tokens,t.totalOutputTokens+=e.output_tokens,t.totalCacheCreationTokens+=e.cache_creation_input_tokens??0,t.totalCacheReadTokens+=e.cache_read_input_tokens??0}function it(t){return{totalInputTokens:0,totalOutputTokens:0,totalCacheCreationTokens:0,totalCacheReadTokens:0,toolCallCounts:{},errorCount:0,totalDurationMs:0,turnCount:t}}function rt(t){const e=it(t.length);for(const n of t){n.tokenUsage&&Kt(e,n.tokenUsage),n.durationMs&&(e.totalDurationMs+=n.durationMs),e.errorCount+=Vt(n.toolCalls,e.toolCallCounts);for(const s of n.subAgentActivity)e.errorCount+=Vt(s.toolCalls,e.toolCallCounts),s.tokenUsage&&Kt(e,s.tokenUsage)}return e}function Q(t,e){var s,o;if(!t)return{...e};const n=(((s=t.output_tokens_details)==null?void 0:s.thinking_tokens)??0)+(((o=e.output_tokens_details)==null?void 0:o.thinking_tokens)??0);return{input_tokens:t.input_tokens+e.input_tokens,output_tokens:t.output_tokens+e.output_tokens,cache_creation_input_tokens:(t.cache_creation_input_tokens??0)+(e.cache_creation_input_tokens??0),cache_read_input_tokens:(t.cache_read_input_tokens??0)+(e.cache_read_input_tokens??0),speed:e.speed??t.speed,...t.output_tokens_details||e.output_tokens_details?{output_tokens_details:{thinking_tokens:n}}:{}}}const Ge=/<(agent-message|teammate-message)([^>]*)>([\s\S]*?)<\/\1>/g,He=[/\bteammate_id=(?:"([^"]*)"|'([^']*)')/,/\bfrom=(?:"([^"]*)"|'([^']*)')/];function Ze(t){for(const e of He){const n=t.match(e),s=(n==null?void 0:n[1])??(n==null?void 0:n[2]);if(s)return s}return null}function Ct(t){let e=null,n=!1;const s=t.replace(Ge,(o,i,l,f)=>(n=!0,e===null&&(e=Ze(l)),f.trim()));return{sender:e,matched:n,body:n?s.trim():t}}function at(t){return t&&typeof t=="object"?t:{}}function Xe(t,e){const n=at(e);if(t==="Edit"||t==="Write")return n.staged===!0?{awaitingReview:!0}:{};if(t!=="Bash")return{};const s=at(n.bashEditDiff);if(!Array.isArray(s.files))return{};const o=[];for(const l of s.files){const f=at(l);if(typeof f.filePath!="string"||!f.filePath||!Array.isArray(f.hunks))continue;const g=[];for(const b of f.hunks){const T=at(b),{oldStart:y,oldLines:_,newStart:d,newLines:N,lines:E}=T;[y,_,d,N].every(w=>typeof w=="number"&&Number.isInteger(w)&&w>=0)&&(!Array.isArray(E)||!E.every(w=>typeof w=="string"&&/^[ +\\-]/.test(w))||g.push({oldStart:y,oldLines:_,newStart:d,newLines:N,lines:E}))}g.length&&o.push({filePath:f.filePath,hunks:g})}const i=typeof s.moreFiles=="number"&&Number.isInteger(s.moreFiles)&&s.moreFiles>0?s.moreFiles:0;return{fileDiffs:o,...i?{additionalFileDiffs:i}:{}}}function lt(t){return typeof t=="string"?t:t.filter(e=>e.type==="text").map(e=>e.text).join(`
5
5
  `)}function Gt(t){return t?typeof t=="string"?t:t.map(e=>e.type==="text"?e.text:"").filter(Boolean).join(`
6
- `):""}function Ht(t){if(!(t!=null&&t.trim()))return!1;const e=t.trimStart();return e.startsWith("<")?!e.includes("<task-notification>")&&!e.startsWith("<system-reminder>")&&!e.startsWith("<local-command-"):!0}const Ye=/<task-notification>[\s\S]*?<\/task-notification>/g,tn=/<[^>]*>/g;function en(t){var n;if(((n=t.origin)==null?void 0:n.kind)==="task-notification")return!0;const e=lt(t.message.content);return e.includes("<task-notification>")?e.replace(Ye,"").replace(tn,"").trim()==="":!1}function nn(t){if(!Jt(t))return null;const e=t.attachment;if(!e||e.type!=="queued_command"||e.commandMode!=="prompt")return null;const n=e.prompt;if(n==null)return null;const s=typeof n=="string"?n:lt(n);if(!Ht(s))return null;const o=e.origin;if((o==null?void 0:o.kind)==="peer"){const l=o.name??o.from??null;if(l)return{raw:s,sender:l,body:o.body??Ct(s).body}}if((o==null?void 0:o.kind)==="human")return{raw:s,sender:null,body:s};const i=Ct(s);return{raw:s,sender:i.sender,body:i.body}}const sn=[["attributionAgent","agent"],["attributionSkill","skill"],["attributionPlugin","plugin"],["attributionMcpServer","mcpServer"],["attributionMcpTool","mcpTool"]];function on(t,e){let n=t;for(const[s,o]of sn){const i=e[s];typeof i!="string"||!i||(n={...n,[o]:i})}return n}const rn=/^This session is being continued from a previous conversation[\s\S]*?\n\nSummary:\s*\n/,an=/\n+(?:If you need specific details from before compaction|(?:Please c|C)ontinue the conversation from where it left off)[\s\S]*$/;function ln(t){return lt(t).trim().replace(rn,"").replace(an,"").trim()}function cn(t){if(t)return{trigger:t.trigger,preTokens:t.preTokens,postTokens:t.postTokens}}function ct(t,e){return{id:t.uuid??crypto.randomUUID(),userMessage:e,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:t.timestamp??"",durationMs:null,tokenUsage:null,model:null}}function un(t){const e=[];let n=0;for(;n<t.length;){const s=t[n];if(s.kind==="tool_calls"){const o=s.toolCalls.findIndex(i=>i.name==="EnterPlanMode");if(o!==-1){const i=s.toolCalls[o],l=String(i.input.plan??""),f=s.timestamp,g=s.toolCalls.slice(0,o);g.length>0&&e.push({kind:"tool_calls",toolCalls:g,timestamp:s.timestamp});const b=[],T=s.toolCalls.slice(o+1),y=T.findIndex(_=>_.name==="ExitPlanMode");if(y!==-1){b.push(...T.slice(0,y));const _=T[y],d=_.input.path?String(_.input.path):void 0;let N="pending";_.result!==null&&(N=_.isError?"rejected":"approved"),e.push({kind:"plan_mode",plan:l,planFilePath:d,status:N,toolCalls:b,timestamp:f});const E=T.slice(y+1);E.length>0&&e.push({kind:"tool_calls",toolCalls:E,timestamp:s.timestamp}),n++;continue}else{b.push(...T);let _,d,N="pending",E=n+1;const w=[];for(;E<t.length;){const v=t[E];if(v.kind==="tool_calls"){const P=v.toolCalls.findIndex(D=>D.name==="ExitPlanMode");if(P!==-1){b.push(...v.toolCalls.slice(0,P)),_=v.toolCalls[P],d=_.input.path?String(_.input.path):void 0,_.result!==null&&(N=_.isError?"rejected":"approved");const D=v.toolCalls.slice(P+1);e.push({kind:"plan_mode",plan:l,planFilePath:d,status:N,toolCalls:b,timestamp:f}),e.push(...w),D.length>0&&e.push({kind:"tool_calls",toolCalls:D,timestamp:v.timestamp}),n=E+1;break}else b.push(...v.toolCalls),E++}else if(v.kind==="hook_event"||v.kind==="text"||v.kind==="queued_prompt"||v.kind==="agent_message")w.push(v),E++;else break}_||(e.push({kind:"plan_mode",plan:l,planFilePath:void 0,status:"pending",toolCalls:b,timestamp:f}),e.push(...w),n=E);continue}}}e.push(s),n++}return e}function dn(t){return t.contentBlocks.some(e=>e.kind==="agent_message")?{...t,contentBlocks:t.contentBlocks.map(e=>{if(e.kind!=="agent_message")return e;const{reply:n,...s}=e;return s})}:t}function Zt(t){var s;const e=t.map(dn),n=new Map;for(const o of e)for(const i of o.contentBlocks){if(i.kind==="agent_message"){const l=n.get(i.sender);l?l.push(i):n.set(i.sender,[i]);continue}if(i.kind==="tool_calls")for(const l of i.toolCalls){if(l.name!=="SendMessage")continue;const f=l.input.to;if(typeof f!="string"||!f)continue;const g=(s=n.get(f))==null?void 0:s.shift();if(!g)continue;const b=l.input.summary;g.reply={summary:typeof b=="string"?b:"",timestamp:l.timestamp||i.timestamp||""}}}return e}function pn(t){const e=[];let n=!1;for(let s=0;s<t.length;s++){const o=t[s];if(zt(o)||Qt(o)){n=!1;continue}if(bt(o)&&!o.isMeta){const i=o.message.content;if(n&&Array.isArray(i)&&i.some(f=>f.type==="tool_result"))continue;e.push(s),n=!0;continue}Tt(o)&&!n&&(e.push(s),n=!0)}return e}function Xt(t){var $,S;const e=[],n=[];let s=null,o=0,i=null,l=null;function f(r){l&&(r.compactionSummary=l.summary,r.compactionMeta=l.meta,l=null)}let g=null;const b=new Map,T=new Set,y=new Map,_=new Map,d=new Set,N=new Map,E=[],w=new Map;function v(r,c){let m=w.get(r);m||(m=new Map,w.set(r,m)),m.set(c,(m.get(c)??0)+1)}function P(r,c){const m=w.get(r),p=m==null?void 0:m.get(c);return!m||!p?!1:(p===1?m.delete(c):m.set(c,p-1),!0)}function D(){for(const r of E)r.turn.contentBlocks.push(r.sender?{kind:"agent_message",sender:r.sender,body:r.body,timestamp:r.timestamp}:{kind:"queued_prompt",content:r.content,timestamp:r.timestamp});E.length=0}function j(r){if(!i)return;const c=y.get(r);if(!c||c.length===0)return;i.subAgentActivity.push(...c),y.delete(r);const m=d.has(r)?"background_agent":"sub_agent",p=_.get(r);if(p)p.messages.push(...c);else{const a={kind:m,messages:[...c]};i.contentBlocks.push(a),_.set(r,a)}}function L(){if(i){for(const r of i.toolCalls)j(r.id);for(const[r]of y)j(r);for(const r of i.contentBlocks)if(r.kind==="hook_event")for(const c of r.events){if(!(c.eventName==="PostToolUse"||c.eventName.startsWith("PostToolUse:"))||!c.toolUseId)continue;const p=i.toolCalls.find(a=>a.id===c.toolUseId);p&&(c.updatedToolOutput&&(p.outputReplacedByHook=!0),c.durationMs!==void 0&&(p.hookDurationMs=(p.hookDurationMs??0)+c.durationMs))}i.contentBlocks=un(i.contentBlocks),e.push(i),s!==null&&n.push(s),s=null,i=null,_.clear()}}for(o=0;o<t.length;o++){const r=t[o];if(zt(r)){L(),l={summary:r.summary};continue}if(Qt(r)){L(),l={meta:cn(r.compactMetadata)};continue}if(Ke(r)){L(),s=o,i=ct(r,null),i.compactionSummary=ln(r.message.content),i.compactionMeta=l==null?void 0:l.meta,l=null;continue}if(qt(r)&&r.subtype==="away_summary"&&r.content){g={content:r.content,timestamp:r.timestamp};continue}if(Ve(r)){if(i&&r.operation==="enqueue"&&Ht(r.content)){const c=Ct(r.content);E.push({turn:i,content:r.content,timestamp:r.timestamp,sender:c.sender,body:c.body}),v(i,r.content)}continue}if(Jt(r)){const c=nn(r);i&&c!==null&&!P(i,c.raw)&&E.push({turn:i,content:c.raw,timestamp:(($=r.attachment)==null?void 0:$.timestamp)??r.timestamp,sender:c.sender,body:c.body});continue}if(E.length>0){const c=bt(r)&&!r.isMeta?r.message.content:null;if(typeof c=="string"){const m=E.findIndex(p=>p.content===c);if(m>=0){const[p]=E.splice(m,1);P(p.turn,p.content)}}D()}if(bt(r)&&!r.isMeta){const c=r.message.content;if(typeof c!="string"&&Array.isArray(c)&&c.some(p=>p.type==="tool_result")&&i){for(const a of c)if(a.type==="tool_result"){const k=b.get(a.tool_use_id);if(k){k.turn.toolCalls[k.index].result=Gt(a.content),k.turn.toolCalls[k.index].isError=a.is_error===!0;const u=k.turn.toolCalls[k.index];Object.assign(u,Xe(u.name,r.toolUseResult)),b.delete(a.tool_use_id)}}const p=r.toolUseResult;if(p!=null&&p.agentId){const a=((S=c.find(I=>I.type==="tool_result"))==null?void 0:S.tool_use_id)??"",k=N.get(a),u=d.has(a),C=[];if(Array.isArray(p.content))for(const I of p.content)I.type==="text"&&C.push(I.text);const h={agentId:p.agentId,parentToolUseId:a||void 0,agentName:(k==null?void 0:k.name)??null,subagentType:(k==null?void 0:k.subagentType)??null,type:"assistant",content:p.content,toolCalls:[],thinking:[],text:C,timestamp:r.timestamp??"",tokenUsage:p.usage?{input_tokens:p.usage.input_tokens??0,output_tokens:p.usage.output_tokens??0,cache_creation_input_tokens:p.usage.cache_creation_input_tokens??0,cache_read_input_tokens:p.usage.cache_read_input_tokens??0}:null,model:null,isBackground:u,prompt:p.prompt,status:p.status,durationMs:p.totalDurationMs,toolUseCount:p.totalToolUseCount};if(!_.get(a)){i.subAgentActivity.push(h);const M={kind:u?"background_agent":"sub_agent",messages:[h]};i.contentBlocks.push(M),_.set(a,M)}}continue}if(en(r)){const m={kind:"task_notification",content:lt(c),timestamp:r.timestamp};if(i){i.contentBlocks.push(m);continue}s=o,i=ct(r,null),i.contentBlocks.push(m),f(i);continue}L(),s=o,i=ct(r,r.message.content),f(i),g&&(i.contentBlocks.push({kind:"recap",content:g.content,timestamp:g.timestamp}),g=null);continue}if(Tt(r)){let c=function(){u.length>0&&(C.contentBlocks.push({kind:"tool_calls",toolCalls:[...u],timestamp:a}),u.length=0)},m=function(){if(k.length>0){const h=C.contentBlocks[C.contentBlocks.length-1];h&&h.kind==="thinking"?h.blocks.push(...k):C.contentBlocks.push({kind:"thinking",blocks:[...k],timestamp:a}),k.length=0}};i||(s=o,i=ct(r,null),f(i)),i.model=r.message.model,r.effort&&(i.effort=r.effort),i.attribution=on(i.attribution,r);const p=r.message.id;T.has(p)||(T.add(p),i.tokenUsage=Q(i.tokenUsage,r.message.usage));const a=r.timestamp??"",k=[],u=[],C=i;for(const h of r.message.content)if(h.type==="thinking"){c();const x=h;if(!x.thinking)continue;i.thinking.push(x),k.push(x)}else if(h.type==="text"){c(),m();const x=/<thinking>([\s\S]*?)<\/thinking>/g;let I=h.text,M;for(;(M=x.exec(h.text))!==null;){const F=M[1].trim();if(F){const B={type:"thinking",thinking:F,signature:""};i.thinking.push(B),i.contentBlocks.push({kind:"thinking",blocks:[B],timestamp:a})}I=I.replace(M[0],"")}if(I=I.trim(),I){i.assistantText.push(I);const F=i.contentBlocks[i.contentBlocks.length-1];F&&F.kind==="text"?F.text.push(I):i.contentBlocks.push({kind:"text",text:[I],timestamp:a})}}else if(h.type==="tool_use"){m();const x={id:h.id,name:h.name,input:h.input,result:null,isError:!1,timestamp:r.timestamp??""},I=i.toolCalls.length;if(i.toolCalls.push(x),u.push(x),b.set(h.id,{turn:i,index:I}),h.name==="Task"||h.name==="Agent"){const M=h.input;M.run_in_background===!0&&d.add(h.id),N.set(h.id,{name:M.name??null,subagentType:M.subagent_type??null})}}m(),c();continue}if(Wt(r)&&r.data.type==="agent_progress"){const c=r.data,m=r.parentToolUseID??"";let p=null;if(c.message.type==="assistant"){const h=c.message.message,x=h.id,I=h.usage;I&&x&&!T.has(x)&&(T.add(x),p={input_tokens:I.input_tokens??0,output_tokens:I.output_tokens??0,cache_creation_input_tokens:I.cache_creation_input_tokens??0,cache_read_input_tokens:I.cache_read_input_tokens??0})}const a=c.message.type==="assistant"?c.message.message.model??null:null,k=N.get(m),u={agentId:c.agentId,parentToolUseId:m||void 0,agentName:(k==null?void 0:k.name)??null,subagentType:(k==null?void 0:k.subagentType)??null,type:c.message.type,content:c.message.message.content,toolCalls:[],thinking:[],text:[],timestamp:c.message.timestamp??r.timestamp??"",tokenUsage:p,model:a,isBackground:d.has(m)};if(c.message.type==="assistant"){const h=c.message.message.content;if(Array.isArray(h))for(const x of h)x.type==="thinking"?u.thinking.push(x.thinking):x.type==="text"?u.text.push(x.text):x.type==="tool_use"&&u.toolCalls.push({id:x.id,name:x.name,input:x.input,result:null,isError:!1,timestamp:c.message.timestamp??r.timestamp??""})}else if(c.message.type==="user"){const h=c.message.message.content;if(Array.isArray(h)){for(const x of h)if(x.type==="tool_result"){const I=y.get(m);if(I)for(const M of I){const F=M.toolCalls.find(B=>B.id===x.tool_use_id);F&&(F.result=Gt(x.content),F.isError=x.is_error===!0)}}}}let C=y.get(m);C||(C=[],y.set(m,C)),C.push(u),i&&j(m);continue}if(Wt(r)&&r.data.type==="hook_progress"){const c=r.data,m=String(c.hook_event_name??c.hookEvent??"unknown"),p=c.hookSpecificOutput,a={eventName:m,source:c.source!==void 0?String(c.source):void 0,toolName:c.tool_name!==void 0?String(c.tool_name):void 0,toolUseId:c.tool_use_id!==void 0?String(c.tool_use_id):void 0,command:c.command!==void 0?String(c.command):void 0,output:c.output!==void 0?String(c.output):void 0,stderr:c.stderr!==void 0?String(c.stderr):void 0,exitCode:c.exit_code!==void 0?Number(c.exit_code):void 0,decision:c.decision!==void 0?String(c.decision):void 0,durationMs:c.duration_ms!==void 0?Number(c.duration_ms):void 0,updatedToolOutput:(p==null?void 0:p.updatedToolOutput)!==void 0?String(p.updatedToolOutput):void 0,sessionTitle:(p==null?void 0:p.sessionTitle)!==void 0?String(p.sessionTitle):void 0,worktreePath:(p==null?void 0:p.worktreePath)!==void 0?String(p.worktreePath):void 0,timestamp:r.timestamp??""};if(i){const k=i.contentBlocks[i.contentBlocks.length-1];k&&k.kind==="hook_event"?k.events.push(a):i.contentBlocks.push({kind:"hook_event",events:[a],timestamp:r.timestamp})}continue}if(qt(r)&&r.subtype==="turn_duration"&&i){r.durationMs!==void 0&&r.durationMs!==null&&(i.durationMs=(i.durationMs??0)+r.durationMs);continue}}return D(),L(),{turns:Zt(e),turnStartIndices:n}}function Yt(t){return Xt(t).turns}function te(){return!0}function ee(t){const e=[];for(const n of t){const s=n.trim();if(s)try{e.push(JSON.parse(s))}catch{}}return e}function ne(t){return ee(t.split(`
7
- `))}function se(t){const e={sessionId:"",version:"",gitBranch:"",cwd:"",slug:"",name:"",model:"",branchedFrom:void 0};for(const n of t)if(n.sessionId&&!e.sessionId&&(e.sessionId=n.sessionId),n.version&&!e.version&&(e.version=n.version),n.gitBranch&&!e.gitBranch&&(e.gitBranch=n.gitBranch),n.cwd&&!e.cwd&&(e.cwd=n.cwd),n.slug&&!e.slug&&(e.slug=n.slug),n.name&&!e.name&&(e.name=n.name),n.branchedFrom&&!e.branchedFrom&&(e.branchedFrom=n.branchedFrom),Tt(n)&&n.message.model&&!e.model&&(e.model=n.message.model),e.sessionId&&e.version&&e.gitBranch&&e.cwd&&e.model)break;return e}function fn(t){return se(ee(t))}function mn(t,e){const n=ne(t),s=se(n),o=Yt(n),i=e!=null&&e.skipStats?it(o.length):rt(o);return{...s,turns:o,stats:i,rawMessages:e!=null&&e.skipStats?[]:n,agentKind:"claude"}}function gn(t,e){const n=ne(e);if(n.length===0)return t;const s=t.rawMessages,o=[...s,...n],i=pn(s),l=Math.max(0,t.turns.length-i.length);let f=Math.max(0,i.length-1);const g=new Set;for(const N of n)if(N.type==="progress"){const E=N.parentToolUseID;E&&g.add(E)}if(g.size>0)for(let N=f-1;N>=0;N--){const E=t.turns[l+N];if(E!=null&&E.toolCalls.some(w=>g.has(w.id))){f=N;break}}const b=i[f]??s.length,T=t.turns.slice(0,l+f),y=Yt(o.slice(b)),_=Zt([...T,...y]),d=rt(_);return{sessionId:t.sessionId,version:t.version,gitBranch:t.gitBranch,cwd:t.cwd,slug:t.slug,name:t.name,model:t.model||_.length>0&&_[_.length-1].model||"",turns:_,stats:d,rawMessages:o,branchedFrom:t.branchedFrom,agentKind:t.agentKind}}const oe="<task-notification>",hn=/<task-id>([^<]+)<\/task-id>/g,yn=/<tool-use-id>([^<]+)<\/tool-use-id>/g;function W(t){return typeof t=="object"&&t!==null}function _n(t){const e=W(t.message)?t.message:null,n=e==null?void 0:e.content;return typeof n=="string"?[n]:Array.isArray(n)?n.filter(s=>W(s)&&typeof s.text=="string").map(s=>s.text):[]}function kn(t){const e=[],n=new Set,s=new Set,o=new Set;function i(l,f){if(l.includes(oe)){for(const g of l.matchAll(hn))n.add(g[1]),f==null||f.add(g[1]);for(const g of l.matchAll(yn))n.add(g[1]),f==null||f.add(g[1])}}for(const l of t){if(l.type==="user"){const f=W(l.toolUseResult)?l.toolUseResult:null;if((f==null?void 0:f.status)==="async_launched"){const g=W(l.message)?l.message:null,T=(Array.isArray(g==null?void 0:g.content)?g.content:[]).filter(d=>W(d)&&d.type==="tool_result").map(d=>d.tool_use_id),y=[f.agentId,f.taskId,...T].filter(d=>typeof d=="string"&&d.length>0),_=[f.description,f.workflowName,f.summary].find(d=>typeof d=="string"&&d.length>0)??"";y.length>0&&e.push({ids:y,description:_})}for(const g of _n(l))i(g,o);continue}if(l.type==="assistant"){const f=W(l.message)?l.message:null,g=Array.isArray(f==null?void 0:f.content)?f.content:[];for(const b of g){if(!W(b)||b.type!=="tool_use"||b.name!=="TaskStop")continue;const T=W(b.input)?b.input:null,y=(T==null?void 0:T.task_id)??(T==null?void 0:T.shell_id);typeof y=="string"&&n.add(y)}continue}if(l.type==="attachment"){const f=W(l.attachment)?l.attachment:null;typeof(f==null?void 0:f.prompt)=="string"&&i(f.prompt,o);continue}if(l.type==="queue-operation"&&typeof l.content=="string"){const f=l.operation;i(l.content,f==="enqueue"?s:o)}}return{pendingDescriptions:e.filter(l=>!l.ids.some(f=>n.has(f))).map(l=>l.description),undeliveredNotifications:[...s].filter(l=>!o.has(l)).length}}function bn(t,e){return{status:"awaiting_agents",pendingQueue:e,pendingAgents:t.length,pendingAgentDescriptions:t.filter(n=>n.length>0)}}function Tn(t){var l,f;let e=0,n=null,s=!1;function o(g,b){const T={status:g,pendingQueue:Math.max(0,e)};return b&&(T.toolName=b),T}function i(){return n??(n=kn(t))}for(let g=t.length-1;g>=0;g--){const b=t[g];if(b.type!=="queue-operation"){if(b.type==="progress"){const T=b.data;if((T==null?void 0:T.type)==="hook_progress"&&(T.decision??((l=T.hookSpecificOutput)==null?void 0:l.permissionDecision))==="defer")return o("deferred");break}break}}for(let g=t.length-1;g>=0;g--){const b=t[g];if(b.type==="queue-operation"){if(typeof b.content=="string"&&b.content.includes(oe))continue;const T=b.operation;T==="enqueue"?e++:(T==="dequeue"||T==="remove")&&e--;continue}if(b.type==="attachment"){const T=W(b.attachment)?b.attachment:null;(T==null?void 0:T.commandMode)==="task-notification"&&(s=!0);continue}if(b.type==="assistant"){const T=b.message,y=T==null?void 0:T.stop_reason;if(y==="end_turn"){const _=i();if(s||_.undeliveredNotifications>0)return o("processing");if(_.pendingDescriptions.length>0)return bn(_.pendingDescriptions,Math.max(0,e));let d=!1;for(let N=g-1;N>=0;N--){const E=t[N];if(E.type==="user"&&!E.isMeta){d=!0;break}}return o(d?"completed":"idle")}if(y==="tool_use"){const _=T==null?void 0:T.content,d=(f=_==null?void 0:_.findLast)==null?void 0:f.call(_,N=>N.type==="tool_use");return o("tool_use",d==null?void 0:d.name)}return o("thinking")}if(b.type==="user"){if(b.isMeta)continue;return o("processing")}if(b.type==="system"&&b.subtype==="terminal_reason"){const T=b.reason;if(T)return{status:"completed",terminalReason:T,pendingQueue:Math.max(0,e)};continue}b.type!=="summary"&&b.type==="system"&&b.subtype}return{status:"idle"}}function Cn(t,e,n){const s=typeof t.sessionId=="string"?t.sessionId:"";return{record:{...t,sessionId:e,branchedFrom:{sessionId:s,turnIndex:n}},originalId:s}}function xn(t){return Xt(t).turnStartIndices}function ie(t,e,n){if(!e)return;t.assistantText.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if((s==null?void 0:s.kind)==="text"){s.text.push(e);return}t.contentBlocks.push({kind:"text",text:[e],timestamp:n})}function re(t){return t.includes("*** Begin Patch")&&t.includes("*** End Patch")}function In(t){if(!t.includes("apply_patch")||!t.includes("*** Begin Patch"))return[];const e=new Map;for(let l=0;l<t.length;l++){const f=Lt(t,l);if(f){if(re(f.value)){const g=t.slice(0,l).match(/(?:^|[;\n])\s*(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*$/);g&&e.set(g[1],f.value)}l=f.endIndex-1}}const n=[],s=new Set,o=/\btools\s*\.\s*apply_patch\s*\(/g;let i;for(;(i=o.exec(t))!==null;){let l=i.index+i[0].length;for(;/\s/.test(t[l]??"");)l++;const f=Lt(t,l),g=f?null:t.slice(l).match(/^([A-Za-z_$][\w$]*)/),b=(f==null?void 0:f.value)??(g?e.get(g[1]):void 0);!b||!re(b)||s.has(b)||(s.add(b),n.push(b))}return n}function ae(t,e){if(!e||t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))return t;const n=e.replace(/[\\/]+$/,""),s=t.replace(/^\.[\\/]/,"");return/^[A-Za-z]:[\\/]/.test(e)?`${n}\\${s.replace(/\//g,"\\")}`:`${n}/${s}`}function le(t,e,n,s=""){var g,b;const o=[],i=/^\*\*\*\s+(Update File|Add File|Delete File):\s*(.+)$/gm,l=[];let f;for(;(f=i.exec(t))!==null;)l.push({action:f[1],filePath:f[2].trim(),headerIdx:f.index,startIdx:f.index+f[0].length});for(let T=0;T<l.length;T++){const y=l[T],_=T+1<l.length?l[T+1].headerIdx:t.length,d=t.slice(y.startIdx,_),N=(b=(g=d.match(/^\*\*\*\s+Move to:\s*(.+)$/m))==null?void 0:g[1])==null?void 0:b.trim(),E=ae(y.filePath,s),w=ae(N||y.filePath,s),v=d.split(/^@@.*$/m).filter(L=>L.trim()),P=[],D=[];for(const L of v)for(const $ of L.split(`
8
- `))$.startsWith("-")?P.push($.slice(1)):$.startsWith("+")?D.push($.slice(1)):$.startsWith(" ")&&(P.push($.slice(1)),D.push($.slice(1)));const j=l.length>1?`${e}:file-${T}`:e;y.action==="Add File"?o.push({id:j,name:"Write",input:{file_path:w,content:D.join(`
6
+ `):""}function Ht(t){if(!(t!=null&&t.trim()))return!1;const e=t.trimStart();return e.startsWith("<")?!e.includes("<task-notification>")&&!e.startsWith("<system-reminder>")&&!e.startsWith("<local-command-"):!0}const Ye=/<task-notification>[\s\S]*?<\/task-notification>/g,tn=/<[^>]*>/g;function en(t){var n;if(((n=t.origin)==null?void 0:n.kind)==="task-notification")return!0;const e=lt(t.message.content);return e.includes("<task-notification>")?e.replace(Ye,"").replace(tn,"").trim()==="":!1}function nn(t){if(!Jt(t))return null;const e=t.attachment;if(!e||e.type!=="queued_command"||e.commandMode!=="prompt")return null;const n=e.prompt;if(n==null)return null;const s=typeof n=="string"?n:lt(n);if(!Ht(s))return null;const o=e.origin;if((o==null?void 0:o.kind)==="peer"){const l=o.name??o.from??null;if(l)return{raw:s,sender:l,body:o.body??Ct(s).body}}if((o==null?void 0:o.kind)==="human")return{raw:s,sender:null,body:s};const i=Ct(s);return{raw:s,sender:i.sender,body:i.body}}const sn=[["attributionAgent","agent"],["attributionSkill","skill"],["attributionPlugin","plugin"],["attributionMcpServer","mcpServer"],["attributionMcpTool","mcpTool"]];function on(t,e){let n=t;for(const[s,o]of sn){const i=e[s];typeof i!="string"||!i||(n={...n,[o]:i})}return n}const rn=/^This session is being continued from a previous conversation[\s\S]*?\n\nSummary:\s*\n/,an=/\n+(?:If you need specific details from before compaction|(?:Please c|C)ontinue the conversation from where it left off)[\s\S]*$/;function ln(t){return lt(t).trim().replace(rn,"").replace(an,"").trim()}function cn(t){if(t)return{trigger:t.trigger,preTokens:t.preTokens,postTokens:t.postTokens}}function ct(t,e){return{id:t.uuid??crypto.randomUUID(),userMessage:e,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:t.timestamp??"",durationMs:null,tokenUsage:null,model:null}}function un(t){const e=[];let n=0;for(;n<t.length;){const s=t[n];if(s.kind==="tool_calls"){const o=s.toolCalls.findIndex(i=>i.name==="EnterPlanMode");if(o!==-1){const i=s.toolCalls[o],l=String(i.input.plan??""),f=s.timestamp,g=s.toolCalls.slice(0,o);g.length>0&&e.push({kind:"tool_calls",toolCalls:g,timestamp:s.timestamp});const b=[],T=s.toolCalls.slice(o+1),y=T.findIndex(_=>_.name==="ExitPlanMode");if(y!==-1){b.push(...T.slice(0,y));const _=T[y],d=_.input.path?String(_.input.path):void 0;let N="pending";_.result!==null&&(N=_.isError?"rejected":"approved"),e.push({kind:"plan_mode",plan:l,planFilePath:d,status:N,toolCalls:b,timestamp:f});const E=T.slice(y+1);E.length>0&&e.push({kind:"tool_calls",toolCalls:E,timestamp:s.timestamp}),n++;continue}else{b.push(...T);let _,d,N="pending",E=n+1;const w=[];for(;E<t.length;){const v=t[E];if(v.kind==="tool_calls"){const P=v.toolCalls.findIndex(F=>F.name==="ExitPlanMode");if(P!==-1){b.push(...v.toolCalls.slice(0,P)),_=v.toolCalls[P],d=_.input.path?String(_.input.path):void 0,_.result!==null&&(N=_.isError?"rejected":"approved");const F=v.toolCalls.slice(P+1);e.push({kind:"plan_mode",plan:l,planFilePath:d,status:N,toolCalls:b,timestamp:f}),e.push(...w),F.length>0&&e.push({kind:"tool_calls",toolCalls:F,timestamp:v.timestamp}),n=E+1;break}else b.push(...v.toolCalls),E++}else if(v.kind==="hook_event"||v.kind==="text"||v.kind==="queued_prompt"||v.kind==="agent_message")w.push(v),E++;else break}_||(e.push({kind:"plan_mode",plan:l,planFilePath:void 0,status:"pending",toolCalls:b,timestamp:f}),e.push(...w),n=E);continue}}}e.push(s),n++}return e}function dn(t){return t.contentBlocks.some(e=>e.kind==="agent_message")?{...t,contentBlocks:t.contentBlocks.map(e=>{if(e.kind!=="agent_message")return e;const{reply:n,...s}=e;return s})}:t}function Zt(t){var s;const e=t.map(dn),n=new Map;for(const o of e)for(const i of o.contentBlocks){if(i.kind==="agent_message"){const l=n.get(i.sender);l?l.push(i):n.set(i.sender,[i]);continue}if(i.kind==="tool_calls")for(const l of i.toolCalls){if(l.name!=="SendMessage")continue;const f=l.input.to;if(typeof f!="string"||!f)continue;const g=(s=n.get(f))==null?void 0:s.shift();if(!g)continue;const b=l.input.summary;g.reply={summary:typeof b=="string"?b:"",timestamp:l.timestamp||i.timestamp||""}}}return e}function pn(t){const e=[];let n=!1;for(let s=0;s<t.length;s++){const o=t[s];if(zt(o)||Qt(o)){n=!1;continue}if(bt(o)&&!o.isMeta){const i=o.message.content;if(n&&Array.isArray(i)&&i.some(f=>f.type==="tool_result"))continue;e.push(s),n=!0;continue}Tt(o)&&!n&&(e.push(s),n=!0)}return e}function Xt(t){var $,S;const e=[],n=[];let s=null,o=0,i=null,l=null;function f(r){l&&(r.compactionSummary=l.summary,r.compactionMeta=l.meta,l=null)}let g=null;const b=new Map,T=new Set,y=new Map,_=new Map,d=new Set,N=new Map,E=[],w=new Map;function v(r,c){let m=w.get(r);m||(m=new Map,w.set(r,m)),m.set(c,(m.get(c)??0)+1)}function P(r,c){const m=w.get(r),p=m==null?void 0:m.get(c);return!m||!p?!1:(p===1?m.delete(c):m.set(c,p-1),!0)}function F(){for(const r of E)r.turn.contentBlocks.push(r.sender?{kind:"agent_message",sender:r.sender,body:r.body,timestamp:r.timestamp}:{kind:"queued_prompt",content:r.content,timestamp:r.timestamp});E.length=0}function j(r){if(!i)return;const c=y.get(r);if(!c||c.length===0)return;i.subAgentActivity.push(...c),y.delete(r);const m=d.has(r)?"background_agent":"sub_agent",p=_.get(r);if(p)p.messages.push(...c);else{const a={kind:m,messages:[...c]};i.contentBlocks.push(a),_.set(r,a)}}function L(){if(i){for(const r of i.toolCalls)j(r.id);for(const[r]of y)j(r);for(const r of i.contentBlocks)if(r.kind==="hook_event")for(const c of r.events){if(!(c.eventName==="PostToolUse"||c.eventName.startsWith("PostToolUse:"))||!c.toolUseId)continue;const p=i.toolCalls.find(a=>a.id===c.toolUseId);p&&(c.updatedToolOutput&&(p.outputReplacedByHook=!0),c.durationMs!==void 0&&(p.hookDurationMs=(p.hookDurationMs??0)+c.durationMs))}i.contentBlocks=un(i.contentBlocks),e.push(i),s!==null&&n.push(s),s=null,i=null,_.clear()}}for(o=0;o<t.length;o++){const r=t[o];if(zt(r)){L(),l={summary:r.summary};continue}if(Qt(r)){L(),l={meta:cn(r.compactMetadata)};continue}if(Ke(r)){L(),s=o,i=ct(r,null),i.compactionSummary=ln(r.message.content),i.compactionMeta=l==null?void 0:l.meta,l=null;continue}if(qt(r)&&r.subtype==="away_summary"&&r.content){g={content:r.content,timestamp:r.timestamp};continue}if(Ve(r)){if(i&&r.operation==="enqueue"&&Ht(r.content)){const c=Ct(r.content);E.push({turn:i,content:r.content,timestamp:r.timestamp,sender:c.sender,body:c.body}),v(i,r.content)}continue}if(Jt(r)){const c=nn(r);i&&c!==null&&!P(i,c.raw)&&E.push({turn:i,content:c.raw,timestamp:(($=r.attachment)==null?void 0:$.timestamp)??r.timestamp,sender:c.sender,body:c.body});continue}if(E.length>0){const c=bt(r)&&!r.isMeta?r.message.content:null;if(typeof c=="string"){const m=E.findIndex(p=>p.content===c);if(m>=0){const[p]=E.splice(m,1);P(p.turn,p.content)}}F()}if(bt(r)&&!r.isMeta){const c=r.message.content;if(typeof c!="string"&&Array.isArray(c)&&c.some(p=>p.type==="tool_result")&&i){for(const a of c)if(a.type==="tool_result"){const k=b.get(a.tool_use_id);if(k){k.turn.toolCalls[k.index].result=Gt(a.content),k.turn.toolCalls[k.index].isError=a.is_error===!0;const u=k.turn.toolCalls[k.index];Object.assign(u,Xe(u.name,r.toolUseResult)),b.delete(a.tool_use_id)}}const p=r.toolUseResult;if(p!=null&&p.agentId){const a=((S=c.find(I=>I.type==="tool_result"))==null?void 0:S.tool_use_id)??"",k=N.get(a),u=d.has(a),C=[];if(Array.isArray(p.content))for(const I of p.content)I.type==="text"&&C.push(I.text);const h={agentId:p.agentId,parentToolUseId:a||void 0,agentName:(k==null?void 0:k.name)??null,subagentType:(k==null?void 0:k.subagentType)??null,type:"assistant",content:p.content,toolCalls:[],thinking:[],text:C,timestamp:r.timestamp??"",tokenUsage:p.usage?{input_tokens:p.usage.input_tokens??0,output_tokens:p.usage.output_tokens??0,cache_creation_input_tokens:p.usage.cache_creation_input_tokens??0,cache_read_input_tokens:p.usage.cache_read_input_tokens??0}:null,model:null,isBackground:u,prompt:p.prompt,status:p.status,durationMs:p.totalDurationMs,toolUseCount:p.totalToolUseCount};if(!_.get(a)){i.subAgentActivity.push(h);const M={kind:u?"background_agent":"sub_agent",messages:[h]};i.contentBlocks.push(M),_.set(a,M)}}continue}if(en(r)){const m={kind:"task_notification",content:lt(c),timestamp:r.timestamp};if(i){i.contentBlocks.push(m);continue}s=o,i=ct(r,null),i.contentBlocks.push(m),f(i);continue}L(),s=o,i=ct(r,r.message.content),f(i),g&&(i.contentBlocks.push({kind:"recap",content:g.content,timestamp:g.timestamp}),g=null);continue}if(Tt(r)){let c=function(){u.length>0&&(C.contentBlocks.push({kind:"tool_calls",toolCalls:[...u],timestamp:a}),u.length=0)},m=function(){if(k.length>0){const h=C.contentBlocks[C.contentBlocks.length-1];h&&h.kind==="thinking"?h.blocks.push(...k):C.contentBlocks.push({kind:"thinking",blocks:[...k],timestamp:a}),k.length=0}};i||(s=o,i=ct(r,null),f(i)),i.model=r.message.model,r.effort&&(i.effort=r.effort),i.attribution=on(i.attribution,r);const p=r.message.id;T.has(p)||(T.add(p),i.tokenUsage=Q(i.tokenUsage,r.message.usage));const a=r.timestamp??"",k=[],u=[],C=i;for(const h of r.message.content)if(h.type==="thinking"){c();const x=h;if(!x.thinking)continue;i.thinking.push(x),k.push(x)}else if(h.type==="text"){c(),m();const x=/<thinking>([\s\S]*?)<\/thinking>/g;let I=h.text,M;for(;(M=x.exec(h.text))!==null;){const U=M[1].trim();if(U){const B={type:"thinking",thinking:U,signature:""};i.thinking.push(B),i.contentBlocks.push({kind:"thinking",blocks:[B],timestamp:a})}I=I.replace(M[0],"")}if(I=I.trim(),I){i.assistantText.push(I);const U=i.contentBlocks[i.contentBlocks.length-1];U&&U.kind==="text"?U.text.push(I):i.contentBlocks.push({kind:"text",text:[I],timestamp:a})}}else if(h.type==="tool_use"){m();const x={id:h.id,name:h.name,input:h.input,result:null,isError:!1,timestamp:r.timestamp??""},I=i.toolCalls.length;if(i.toolCalls.push(x),u.push(x),b.set(h.id,{turn:i,index:I}),h.name==="Task"||h.name==="Agent"){const M=h.input;M.run_in_background===!0&&d.add(h.id),N.set(h.id,{name:M.name??null,subagentType:M.subagent_type??null})}}m(),c();continue}if(Wt(r)&&r.data.type==="agent_progress"){const c=r.data,m=r.parentToolUseID??"";let p=null;if(c.message.type==="assistant"){const h=c.message.message,x=h.id,I=h.usage;I&&x&&!T.has(x)&&(T.add(x),p={input_tokens:I.input_tokens??0,output_tokens:I.output_tokens??0,cache_creation_input_tokens:I.cache_creation_input_tokens??0,cache_read_input_tokens:I.cache_read_input_tokens??0})}const a=c.message.type==="assistant"?c.message.message.model??null:null,k=N.get(m),u={agentId:c.agentId,parentToolUseId:m||void 0,agentName:(k==null?void 0:k.name)??null,subagentType:(k==null?void 0:k.subagentType)??null,type:c.message.type,content:c.message.message.content,toolCalls:[],thinking:[],text:[],timestamp:c.message.timestamp??r.timestamp??"",tokenUsage:p,model:a,isBackground:d.has(m)};if(c.message.type==="assistant"){const h=c.message.message.content;if(Array.isArray(h))for(const x of h)x.type==="thinking"?u.thinking.push(x.thinking):x.type==="text"?u.text.push(x.text):x.type==="tool_use"&&u.toolCalls.push({id:x.id,name:x.name,input:x.input,result:null,isError:!1,timestamp:c.message.timestamp??r.timestamp??""})}else if(c.message.type==="user"){const h=c.message.message.content;if(Array.isArray(h)){for(const x of h)if(x.type==="tool_result"){const I=y.get(m);if(I)for(const M of I){const U=M.toolCalls.find(B=>B.id===x.tool_use_id);U&&(U.result=Gt(x.content),U.isError=x.is_error===!0)}}}}let C=y.get(m);C||(C=[],y.set(m,C)),C.push(u),i&&j(m);continue}if(Wt(r)&&r.data.type==="hook_progress"){const c=r.data,m=String(c.hook_event_name??c.hookEvent??"unknown"),p=c.hookSpecificOutput,a={eventName:m,source:c.source!==void 0?String(c.source):void 0,toolName:c.tool_name!==void 0?String(c.tool_name):void 0,toolUseId:c.tool_use_id!==void 0?String(c.tool_use_id):void 0,command:c.command!==void 0?String(c.command):void 0,output:c.output!==void 0?String(c.output):void 0,stderr:c.stderr!==void 0?String(c.stderr):void 0,exitCode:c.exit_code!==void 0?Number(c.exit_code):void 0,decision:c.decision!==void 0?String(c.decision):void 0,durationMs:c.duration_ms!==void 0?Number(c.duration_ms):void 0,updatedToolOutput:(p==null?void 0:p.updatedToolOutput)!==void 0?String(p.updatedToolOutput):void 0,sessionTitle:(p==null?void 0:p.sessionTitle)!==void 0?String(p.sessionTitle):void 0,worktreePath:(p==null?void 0:p.worktreePath)!==void 0?String(p.worktreePath):void 0,timestamp:r.timestamp??""};if(i){const k=i.contentBlocks[i.contentBlocks.length-1];k&&k.kind==="hook_event"?k.events.push(a):i.contentBlocks.push({kind:"hook_event",events:[a],timestamp:r.timestamp})}continue}if(qt(r)&&r.subtype==="turn_duration"&&i){r.durationMs!==void 0&&r.durationMs!==null&&(i.durationMs=(i.durationMs??0)+r.durationMs);continue}}return F(),L(),{turns:Zt(e),turnStartIndices:n}}function Yt(t){return Xt(t).turns}function te(){return!0}function ee(t){const e=[];for(const n of t){const s=n.trim();if(s)try{e.push(JSON.parse(s))}catch{}}return e}function ne(t){return ee(t.split(`
7
+ `))}function se(t){const e={sessionId:"",version:"",gitBranch:"",cwd:"",slug:"",name:"",model:"",branchedFrom:void 0};for(const n of t)if(n.sessionId&&!e.sessionId&&(e.sessionId=n.sessionId),n.version&&!e.version&&(e.version=n.version),n.gitBranch&&!e.gitBranch&&(e.gitBranch=n.gitBranch),n.cwd&&!e.cwd&&(e.cwd=n.cwd),n.slug&&!e.slug&&(e.slug=n.slug),n.name&&!e.name&&(e.name=n.name),n.branchedFrom&&!e.branchedFrom&&(e.branchedFrom=n.branchedFrom),Tt(n)&&n.message.model&&!e.model&&(e.model=n.message.model),e.sessionId&&e.version&&e.gitBranch&&e.cwd&&e.model)break;return e}function fn(t){return se(ee(t))}function mn(t,e){const n=ne(t),s=se(n),o=Yt(n),i=e!=null&&e.skipStats?it(o.length):rt(o);return{...s,turns:o,stats:i,rawMessages:e!=null&&e.skipStats?[]:n,agentKind:"claude"}}function gn(t,e){const n=ne(e);if(n.length===0)return t;const s=t.rawMessages,o=[...s,...n],i=pn(s),l=Math.max(0,t.turns.length-i.length);let f=Math.max(0,i.length-1);const g=new Set;for(const N of n)if(N.type==="progress"){const E=N.parentToolUseID;E&&g.add(E)}if(g.size>0)for(let N=f-1;N>=0;N--){const E=t.turns[l+N];if(E!=null&&E.toolCalls.some(w=>g.has(w.id))){f=N;break}}const b=i[f]??s.length,T=t.turns.slice(0,l+f),y=Yt(o.slice(b)),_=Zt([...T,...y]),d=rt(_);return{sessionId:t.sessionId,version:t.version,gitBranch:t.gitBranch,cwd:t.cwd,slug:t.slug,name:t.name,model:t.model||_.length>0&&_[_.length-1].model||"",turns:_,stats:d,rawMessages:o,branchedFrom:t.branchedFrom,agentKind:t.agentKind}}const oe="<task-notification>",hn=/<task-id>([^<]+)<\/task-id>/g,yn=/<tool-use-id>([^<]+)<\/tool-use-id>/g;function W(t){return typeof t=="object"&&t!==null}function _n(t){const e=W(t.message)?t.message:null,n=e==null?void 0:e.content;return typeof n=="string"?[n]:Array.isArray(n)?n.filter(s=>W(s)&&typeof s.text=="string").map(s=>s.text):[]}function kn(t){const e=[],n=new Set,s=new Set,o=new Set;function i(l,f){if(l.includes(oe)){for(const g of l.matchAll(hn))n.add(g[1]),f==null||f.add(g[1]);for(const g of l.matchAll(yn))n.add(g[1]),f==null||f.add(g[1])}}for(const l of t){if(l.type==="user"){const f=W(l.toolUseResult)?l.toolUseResult:null;if((f==null?void 0:f.status)==="async_launched"){const g=W(l.message)?l.message:null,T=(Array.isArray(g==null?void 0:g.content)?g.content:[]).filter(d=>W(d)&&d.type==="tool_result").map(d=>d.tool_use_id),y=[f.agentId,f.taskId,...T].filter(d=>typeof d=="string"&&d.length>0),_=[f.description,f.workflowName,f.summary].find(d=>typeof d=="string"&&d.length>0)??"";y.length>0&&e.push({ids:y,description:_})}for(const g of _n(l))i(g,o);continue}if(l.type==="assistant"){const f=W(l.message)?l.message:null,g=Array.isArray(f==null?void 0:f.content)?f.content:[];for(const b of g){if(!W(b)||b.type!=="tool_use"||b.name!=="TaskStop")continue;const T=W(b.input)?b.input:null,y=(T==null?void 0:T.task_id)??(T==null?void 0:T.shell_id);typeof y=="string"&&n.add(y)}continue}if(l.type==="attachment"){const f=W(l.attachment)?l.attachment:null;typeof(f==null?void 0:f.prompt)=="string"&&i(f.prompt,o);continue}if(l.type==="queue-operation"&&typeof l.content=="string"){const f=l.operation;i(l.content,f==="enqueue"?s:o)}}return{pendingDescriptions:e.filter(l=>!l.ids.some(f=>n.has(f))).map(l=>l.description),undeliveredNotifications:[...s].filter(l=>!o.has(l)).length}}function bn(t,e){return{status:"awaiting_agents",pendingQueue:e,pendingAgents:t.length,pendingAgentDescriptions:t.filter(n=>n.length>0)}}function Tn(t){var l,f;let e=0,n=null,s=!1;function o(g,b){const T={status:g,pendingQueue:Math.max(0,e)};return b&&(T.toolName=b),T}function i(){return n??(n=kn(t))}for(let g=t.length-1;g>=0;g--){const b=t[g];if(b.type!=="queue-operation"){if(b.type==="progress"){const T=b.data;if((T==null?void 0:T.type)==="hook_progress"&&(T.decision??((l=T.hookSpecificOutput)==null?void 0:l.permissionDecision))==="defer")return o("deferred");break}break}}for(let g=t.length-1;g>=0;g--){const b=t[g];if(b.type==="queue-operation"){if(typeof b.content=="string"&&b.content.includes(oe))continue;const T=b.operation;T==="enqueue"?e++:(T==="dequeue"||T==="remove")&&e--;continue}if(b.type==="attachment"){const T=W(b.attachment)?b.attachment:null;(T==null?void 0:T.commandMode)==="task-notification"&&(s=!0);continue}if(b.type==="assistant"){const T=b.message,y=T==null?void 0:T.stop_reason;if(y==="end_turn"){const _=i();if(s||_.undeliveredNotifications>0)return o("processing");if(_.pendingDescriptions.length>0)return bn(_.pendingDescriptions,Math.max(0,e));let d=!1;for(let N=g-1;N>=0;N--){const E=t[N];if(E.type==="user"&&!E.isMeta){d=!0;break}}return o(d?"completed":"idle")}if(y==="tool_use"){const _=T==null?void 0:T.content,d=(f=_==null?void 0:_.findLast)==null?void 0:f.call(_,N=>N.type==="tool_use");return o("tool_use",d==null?void 0:d.name)}return o("thinking")}if(b.type==="user"){if(b.isMeta)continue;return o("processing")}if(b.type==="system"&&b.subtype==="terminal_reason"){const T=b.reason;if(T)return{status:"completed",terminalReason:T,pendingQueue:Math.max(0,e)};continue}b.type!=="summary"&&b.type==="system"&&b.subtype}return{status:"idle"}}function Cn(t,e,n){const s=typeof t.sessionId=="string"?t.sessionId:"";return{record:{...t,sessionId:e,branchedFrom:{sessionId:s,turnIndex:n}},originalId:s}}function xn(t){return Xt(t).turnStartIndices}function ie(t,e,n){if(!e)return;t.assistantText.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if((s==null?void 0:s.kind)==="text"){s.text.push(e);return}t.contentBlocks.push({kind:"text",text:[e],timestamp:n})}function re(t){return t.includes("*** Begin Patch")&&t.includes("*** End Patch")}function In(t){if(!t.includes("apply_patch")||!t.includes("*** Begin Patch"))return[];const e=new Map;for(let l=0;l<t.length;l++){const f=Lt(t,l);if(f){if(re(f.value)){const g=t.slice(0,l).match(/(?:^|[;\n])\s*(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*$/);g&&e.set(g[1],f.value)}l=f.endIndex-1}}const n=[],s=new Set,o=/\btools\s*\.\s*apply_patch\s*\(/g;let i;for(;(i=o.exec(t))!==null;){let l=i.index+i[0].length;for(;/\s/.test(t[l]??"");)l++;const f=Lt(t,l),g=f?null:t.slice(l).match(/^([A-Za-z_$][\w$]*)/),b=(f==null?void 0:f.value)??(g?e.get(g[1]):void 0);!b||!re(b)||s.has(b)||(s.add(b),n.push(b))}return n}function ae(t,e){if(!e||t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))return t;const n=e.replace(/[\\/]+$/,""),s=t.replace(/^\.[\\/]/,"");return/^[A-Za-z]:[\\/]/.test(e)?`${n}\\${s.replace(/\//g,"\\")}`:`${n}/${s}`}function le(t,e,n,s=""){var g,b;const o=[],i=/^\*\*\*\s+(Update File|Add File|Delete File):\s*(.+)$/gm,l=[];let f;for(;(f=i.exec(t))!==null;)l.push({action:f[1],filePath:f[2].trim(),headerIdx:f.index,startIdx:f.index+f[0].length});for(let T=0;T<l.length;T++){const y=l[T],_=T+1<l.length?l[T+1].headerIdx:t.length,d=t.slice(y.startIdx,_),N=(b=(g=d.match(/^\*\*\*\s+Move to:\s*(.+)$/m))==null?void 0:g[1])==null?void 0:b.trim(),E=ae(y.filePath,s),w=ae(N||y.filePath,s),v=d.split(/^@@.*$/m).filter(L=>L.trim()),P=[],F=[];for(const L of v)for(const $ of L.split(`
8
+ `))$.startsWith("-")?P.push($.slice(1)):$.startsWith("+")?F.push($.slice(1)):$.startsWith(" ")&&(P.push($.slice(1)),F.push($.slice(1)));const j=l.length>1?`${e}:file-${T}`:e;y.action==="Add File"?o.push({id:j,name:"Write",input:{file_path:w,content:F.join(`
9
9
  `)},result:null,isError:!1,timestamp:n}):y.action==="Delete File"?o.push({id:j,name:"Edit",input:{file_path:w,old_string:P.join(`
10
10
  `),new_string:""},result:null,isError:!1,timestamp:n}):o.push({id:j,name:"Edit",input:{file_path:w,...N?{old_path:E}:{},old_string:P.join(`
11
- `),new_string:D.join(`
12
- `)},result:null,isError:!1,timestamp:n})}return o}function An(t,e,n,s,o=""){return t==="apply_patch"?le(e,n,s,o):In(e).flatMap((i,l)=>le(i,`${n}:patch-${l}`,s,o))}function Sn(t,e,n){var f;if(!e||!/(?:apply[_ ]patch|invalid patch|invalid context|failed to (?:apply|find)|could not apply)/i.test(t))return new Set;const s=new Map;for(const g of n){const b=(f=g.id.match(/:patch-(\d+)(?::file-\d+)?$/))==null?void 0:f[1];if(b===void 0)continue;const T=Number(b),y=s.get(T)??[];y.push(g),s.set(T,y)}if(s.size===0)return new Set(n.map(g=>g.id));const o=t.toLowerCase().replaceAll("\\","/"),i=new Set;for(const[g,b]of s)b.some(T=>{const y=String(T.input.file_path??"").toLowerCase().replaceAll("\\","/");if(!y)return!1;const d=y.split("/").filter(Boolean).slice(-2).join("/");return o.includes(y)||d.includes("/")&&o.includes(d)})&&i.add(g);for(const g of o.matchAll(/\bpatch\s*(?:#|-)?\s*(\d+)\b/g)){const b=Number(g[1]);s.has(b)&&i.add(b)}i.size===0&&i.add(Math.max(...s.keys()));const l=Math.min(...i);for(const g of s.keys())g>=l&&i.add(g);return new Set([...i].flatMap(g=>{var b;return((b=s.get(g))==null?void 0:b.map(T=>T.id))??[]}))}function q(t){return typeof t=="object"&&t!==null}const wn=new Map([["spawn_agent","spawn_agent"],["spawnAgent","spawn_agent"],["wait_agent","wait_agent"],["waitAgent","wait_agent"],["send_message","send_message"],["sendMessage","send_message"],["followup_task","followup_task"],["followupTask","followup_task"],["list_agents","list_agents"],["listAgents","list_agents"],["interrupt_agent","interrupt_agent"],["interruptAgent","interrupt_agent"]]),Mn=new Set(["exec","exec_command","write_stdin","apply_patch","update_plan","view_image","request_user_input","request_user_input_async","tool_search","list_mcp_resources","list_mcp_resource_templates","read_mcp_resource","request_plugin_install","create_goal","get_goal","update_goal","wait"]);function V(t){if(t.startsWith("mcp__"))return t;const e=t.split(/(?:__|[.:/])+/).filter(Boolean).at(-1)??t;return wn.get(e)??(Mn.has(e)?e:t)}function En(t){const e=t==null?void 0:t.match(/Process exited with code (\d+)/);return e?e[1]!=="0":!1}function Nn(t){return t==="request_user_input"||t==="request_user_input_async"}function vn(t){const n=(Array.isArray(t.questions)?t.questions:[t]).filter(s=>q(s)).map(s=>{const o=typeof s.question=="string"?s.question:typeof s.title=="string"?s.title:"",i=Array.isArray(s.options)?s.options:[];return{question:o,...typeof s.header=="string"&&s.header?{header:s.header}:{},options:i.map(l=>typeof l=="string"?{label:l}:!q(l)||typeof l.label!="string"?null:{label:l.label,...typeof l.description=="string"&&l.description?{description:l.description}:{}}).filter(l=>l!==null)}}).filter(s=>s.question);return n.length>0?{...t,questions:n}:t}function Bn(t){return{todos:(Array.isArray(t.plan)?t.plan:[]).filter(s=>q(s)).map(s=>({content:typeof s.step=="string"?s.step:"",status:typeof s.status=="string"?s.status:"pending",activeForm:typeof s.step=="string"?s.step:""}))}}function Rn(t){if(t.type!=="image"&&t.type!=="input_image"&&t.type!=="image_url")return null;const e=q(t.source)?t.source:t,n=e.media_type??e.mimeType;if(typeof n=="string"&&n.startsWith("image/")&&typeof e.data=="string"&&e.data)return{type:"image",source:{type:"base64",media_type:n,data:e.data}};const s=q(t.image_url)?t.image_url.url:t.image_url,o=typeof s=="string"?/^data:(image\/[^;,]+);base64,(.+)$/is.exec(s):null;return o?{type:"image",source:{type:"base64",media_type:o[1].toLowerCase(),data:o[2]}}:null}function ce(t){if(typeof t=="string")return{parts:[t],text:t,images:[]};if(!Array.isArray(t)){const s=t==null?"":JSON.stringify(t);return{parts:[s],text:s,images:[]}}const e=[],n=[];for(const s of t){if(!q(s))continue;typeof s.text=="string"&&e.push(s.text);const o=Rn(s);o&&n.push(o)}return{parts:e,text:e.join(""),images:n}}const Pn=/^Script (?:completed|failed|running)\b/;function ue(t,e){q(t)&&(t.status==="rejected"?e.push(1):t.status==="fulfilled"?ue(t.value,e):typeof t.exit_code=="number"&&e.push(t.exit_code))}function Un(t){const e=t[0]??"";if(!Pn.test(e))return;if(e.startsWith("Script failed"))return!0;const n=[];for(const s of t.slice(1)){let o;try{o=JSON.parse(s)}catch{continue}for(const i of Array.isArray(o)?o:[o])ue(i,n)}return n.length>0?n.some(s=>s!==0):void 0}function xt(t){const e=ce(t);let n=q(t)&&!Array.isArray(t)?t:null;try{const b=n??JSON.parse(e.text);q(b)&&!Array.isArray(b)&&(n=b)}catch{}const s=n&&("output"in n||"content"in n)?ce(n.output??n.content):e,o=s===e?e.images:[...e.images,...s.images],i=q(n==null?void 0:n.metadata)?n.metadata:null,l=(i==null?void 0:i.exit_code)??(n==null?void 0:n.exit_code),f=typeof(n==null?void 0:n.isError)=="boolean"?n.isError:typeof(n==null?void 0:n.is_error)=="boolean"?n.is_error:void 0,g=f===!0||(typeof l=="number"?l!==0:f??Un(e.parts)??En(s.text));return{text:s.text,isError:g,...o.length>0?{images:o}:{}}}const Fn=["# AGENTS.md instructions for ","<recommended_plugins>","<environment_context>","<permissions instructions>","<collaboration_mode>","<skills_instructions>"];function Dn(t){var e,n;return((n=(e=globalThis.crypto)==null?void 0:e.randomUUID)==null?void 0:n.call(e))??`${t}-${Math.random().toString(36).slice(2,10)}`}function It(t){try{return JSON.parse(t)}catch{return null}}function R(t){return typeof t=="object"&&t!==null}function $n(t){const e=R(t.source)?t.source:null,n=e&&R(e.subagent)?e.subagent:null,s=n&&R(n.thread_spawn)?n.thread_spawn:null;for(const o of[t.forked_from_id,t.parent_thread_id,s==null?void 0:s.parent_thread_id])if(typeof o=="string"&&o)return o;return null}function K(t){return!t||typeof t.type!="string"?!1:t.type==="session_meta"||t.type==="turn_context"||t.type==="event_msg"||t.type==="response_item"||t.type==="inter_agent_communication_metadata"||t.type==="compacted"||t.type==="world_state"}function ut(t,e){const n=t==null?void 0:t.content;return Array.isArray(n)?n.filter(s=>R(s)&&s.type===e&&typeof s.text=="string").map(s=>s.text).join(`
11
+ `),new_string:F.join(`
12
+ `)},result:null,isError:!1,timestamp:n})}return o}function An(t,e,n,s,o=""){return t==="apply_patch"?le(e,n,s,o):In(e).flatMap((i,l)=>le(i,`${n}:patch-${l}`,s,o))}function Sn(t,e,n){var f;if(!e||!/(?:apply[_ ]patch|invalid patch|invalid context|failed to (?:apply|find)|could not apply)/i.test(t))return new Set;const s=new Map;for(const g of n){const b=(f=g.id.match(/:patch-(\d+)(?::file-\d+)?$/))==null?void 0:f[1];if(b===void 0)continue;const T=Number(b),y=s.get(T)??[];y.push(g),s.set(T,y)}if(s.size===0)return new Set(n.map(g=>g.id));const o=t.toLowerCase().replaceAll("\\","/"),i=new Set;for(const[g,b]of s)b.some(T=>{const y=String(T.input.file_path??"").toLowerCase().replaceAll("\\","/");if(!y)return!1;const d=y.split("/").filter(Boolean).slice(-2).join("/");return o.includes(y)||d.includes("/")&&o.includes(d)})&&i.add(g);for(const g of o.matchAll(/\bpatch\s*(?:#|-)?\s*(\d+)\b/g)){const b=Number(g[1]);s.has(b)&&i.add(b)}i.size===0&&i.add(Math.max(...s.keys()));const l=Math.min(...i);for(const g of s.keys())g>=l&&i.add(g);return new Set([...i].flatMap(g=>{var b;return((b=s.get(g))==null?void 0:b.map(T=>T.id))??[]}))}function q(t){return typeof t=="object"&&t!==null}const wn=new Map([["spawn_agent","spawn_agent"],["spawnAgent","spawn_agent"],["wait_agent","wait_agent"],["waitAgent","wait_agent"],["send_message","send_message"],["sendMessage","send_message"],["followup_task","followup_task"],["followupTask","followup_task"],["list_agents","list_agents"],["listAgents","list_agents"],["interrupt_agent","interrupt_agent"],["interruptAgent","interrupt_agent"]]),Mn=new Set(["exec","exec_command","write_stdin","apply_patch","update_plan","view_image","request_user_input","request_user_input_async","tool_search","list_mcp_resources","list_mcp_resource_templates","read_mcp_resource","request_plugin_install","create_goal","get_goal","update_goal","wait"]);function V(t){if(t.startsWith("mcp__"))return t;const e=t.split(/(?:__|[.:/])+/).filter(Boolean).at(-1)??t;return wn.get(e)??(Mn.has(e)?e:t)}function En(t){const e=t==null?void 0:t.match(/Process exited with code (\d+)/);return e?e[1]!=="0":!1}function Nn(t){return t==="request_user_input"||t==="request_user_input_async"}function vn(t){const n=(Array.isArray(t.questions)?t.questions:[t]).filter(s=>q(s)).map(s=>{const o=typeof s.question=="string"?s.question:typeof s.title=="string"?s.title:"",i=Array.isArray(s.options)?s.options:[];return{question:o,...typeof s.header=="string"&&s.header?{header:s.header}:{},options:i.map(l=>typeof l=="string"?{label:l}:!q(l)||typeof l.label!="string"?null:{label:l.label,...typeof l.description=="string"&&l.description?{description:l.description}:{}}).filter(l=>l!==null)}}).filter(s=>s.question);return n.length>0?{...t,questions:n}:t}function Bn(t){return{todos:(Array.isArray(t.plan)?t.plan:[]).filter(s=>q(s)).map(s=>({content:typeof s.step=="string"?s.step:"",status:typeof s.status=="string"?s.status:"pending",activeForm:typeof s.step=="string"?s.step:""}))}}function Rn(t){if(t.type!=="image"&&t.type!=="input_image"&&t.type!=="image_url")return null;const e=q(t.source)?t.source:t,n=e.media_type??e.mimeType;if(typeof n=="string"&&n.startsWith("image/")&&typeof e.data=="string"&&e.data)return{type:"image",source:{type:"base64",media_type:n,data:e.data}};const s=q(t.image_url)?t.image_url.url:t.image_url,o=typeof s=="string"?/^data:(image\/[^;,]+);base64,(.+)$/is.exec(s):null;return o?{type:"image",source:{type:"base64",media_type:o[1].toLowerCase(),data:o[2]}}:null}function ce(t){if(typeof t=="string")return{parts:[t],text:t,images:[]};if(!Array.isArray(t)){const s=t==null?"":JSON.stringify(t);return{parts:[s],text:s,images:[]}}const e=[],n=[];for(const s of t){if(!q(s))continue;typeof s.text=="string"&&e.push(s.text);const o=Rn(s);o&&n.push(o)}return{parts:e,text:e.join(""),images:n}}const Pn=/^Script (?:completed|failed|running)\b/;function ue(t,e){q(t)&&(t.status==="rejected"?e.push(1):t.status==="fulfilled"?ue(t.value,e):typeof t.exit_code=="number"&&e.push(t.exit_code))}function Dn(t){const e=t[0]??"";if(!Pn.test(e))return;if(e.startsWith("Script failed"))return!0;const n=[];for(const s of t.slice(1)){let o;try{o=JSON.parse(s)}catch{continue}for(const i of Array.isArray(o)?o:[o])ue(i,n)}return n.length>0?n.some(s=>s!==0):void 0}function xt(t){const e=ce(t);let n=q(t)&&!Array.isArray(t)?t:null;try{const b=n??JSON.parse(e.text);q(b)&&!Array.isArray(b)&&(n=b)}catch{}const s=n&&("output"in n||"content"in n)?ce(n.output??n.content):e,o=s===e?e.images:[...e.images,...s.images],i=q(n==null?void 0:n.metadata)?n.metadata:null,l=(i==null?void 0:i.exit_code)??(n==null?void 0:n.exit_code),f=typeof(n==null?void 0:n.isError)=="boolean"?n.isError:typeof(n==null?void 0:n.is_error)=="boolean"?n.is_error:void 0,g=f===!0||(typeof l=="number"?l!==0:f??Dn(e.parts)??En(s.text));return{text:s.text,isError:g,...o.length>0?{images:o}:{}}}const Un=["# AGENTS.md instructions for ","<recommended_plugins>","<environment_context>","<permissions instructions>","<collaboration_mode>","<skills_instructions>"];function Fn(t){var e,n;return((n=(e=globalThis.crypto)==null?void 0:e.randomUUID)==null?void 0:n.call(e))??`${t}-${Math.random().toString(36).slice(2,10)}`}function It(t){try{return JSON.parse(t)}catch{return null}}function R(t){return typeof t=="object"&&t!==null}function $n(t){const e=R(t.source)?t.source:null,n=e&&R(e.subagent)?e.subagent:null,s=n&&R(n.thread_spawn)?n.thread_spawn:null;for(const o of[t.forked_from_id,t.parent_thread_id,s==null?void 0:s.parent_thread_id])if(typeof o=="string"&&o)return o;return null}function K(t){return!t||typeof t.type!="string"?!1:t.type==="session_meta"||t.type==="turn_context"||t.type==="event_msg"||t.type==="response_item"||t.type==="inter_agent_communication_metadata"||t.type==="compacted"||t.type==="world_state"}function ut(t,e){const n=t==null?void 0:t.content;return Array.isArray(n)?n.filter(s=>R(s)&&s.type===e&&typeof s.text=="string").map(s=>s.text).join(`
13
13
  `).trim():""}const On=/^data:(image\/(?:png|jpeg|gif|webp));base64,(.+)$/is,jn=/^data:(audio\/(?:wav|x-wav|mpeg|mp4|webm|ogg));base64,(.+)$/is;function de(t){if(typeof t!="string")return null;const e=On.exec(t);return!(e!=null&&e[1])||!e[2]?null:{type:"image",source:{type:"base64",media_type:e[1].toLowerCase(),data:e[2]}}}function pe(t){if(typeof t!="string")return null;const e=jn.exec(t);return!(e!=null&&e[1])||!e[2]?null:{type:"audio",source:{type:"base64",media_type:e[1].toLowerCase(),data:e[2]}}}function Ln(t){return Array.isArray(t.images)?t.images.map(de).filter(e=>e!==null):[]}function Wn(t){return Array.isArray(t.audio)?t.audio.map(pe).filter(e=>e!==null):[]}function fe(t){return Array.isArray(t.content)?t.content.filter(e=>R(e)&&e.type==="input_image").map(e=>de(e.image_url)).filter(e=>e!==null):[]}function me(t){return Array.isArray(t.content)?t.content.filter(e=>R(e)&&e.type==="input_audio").map(e=>pe(e.audio_url)).filter(e=>e!==null):[]}function ge(t,e,n=[],s=[],o=[]){const i=[...s.map(f=>`
14
14
  ![image](<${f}>)`),...o.map(f=>`
15
- [audio attachment](<${f}>)`)].join(""),l=t+i;return e.length===0&&n.length===0?l:[...e,...n,...l?[{type:"text",text:l}]:[]]}function qn(t){var l,f;const e=ut(t,"input_text");if(!e)return{messageType:null,text:""};const n=e.match(/\r?\nPayload:\s*(?:\r?\n|$)/);if(!e.startsWith("Message Type:")||!n||n.index===void 0)return{messageType:null,text:e.trim()};const o=((f=(l=e.slice(0,n.index).match(/^Message Type:\s*([^\r\n]+)/))==null?void 0:l[1])==null?void 0:f.trim().toUpperCase())??null,i=e.slice(n.index+n[0].length).trim();return{messageType:o,text:i}}function X(t){return t.split(/[\\/]/).filter(Boolean).at(-1)??null}function zn(t){if(typeof t!="string")return"";const e=t.trim();return/^gAAAAA[A-Za-z0-9_-]+$/.test(e)?"":e}function At(t){const e=t.trim();return!e||Fn.some(n=>e.startsWith(n))?"":e}function Jn(t){if(!R(t))return null;const e=typeof t.input_tokens=="number"?t.input_tokens:0,n=typeof t.output_tokens=="number"?t.output_tokens:0,s=typeof t.cache_write_input_tokens=="number"?t.cache_write_input_tokens:typeof t.cache_creation_input_tokens=="number"?t.cache_creation_input_tokens:0,o=typeof t.cached_input_tokens=="number"?Math.max(0,t.cached_input_tokens):null,i=o??(typeof t.cache_read_input_tokens=="number"?t.cache_read_input_tokens:0),l=o===null?e:Math.max(0,e-o);return l===0&&n===0&&s===0&&i===0?null:{input_tokens:l,output_tokens:n,cache_creation_input_tokens:s,cache_read_input_tokens:i}}function Qn(t,e,n){if(!e)return;const s={type:"thinking",thinking:e,signature:""};t.thinking.push(s);const o=t.contentBlocks[t.contentBlocks.length-1];if(o&&o.kind==="thinking"){o.blocks.push(s);return}t.contentBlocks.push({kind:"thinking",blocks:[s],timestamp:n})}function G(t,e,n){t.toolCalls.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if(s&&s.kind==="tool_calls"&&s.timestamp===n){s.toolCalls.push(e);return}t.contentBlocks.push({kind:"tool_calls",toolCalls:[e],timestamp:n})}function Vn(t,e,n){if(!e||!(e.userMessage!==null||e.assistantText.length>0||e.toolCalls.length>0||e.thinking.length>0||e.subAgentActivity.length>0))return null;if(e.timestamp&&n){const o=new Date(e.timestamp).getTime(),i=new Date(n).getTime();Number.isFinite(o)&&Number.isFinite(i)&&i>=o&&(e.durationMs=i-o)}return t.push(e),null}function he(t){if(typeof t!="string"||!t.trim())return{};try{const e=JSON.parse(t);return R(e)?e:{value:e}}catch{return{raw:t}}}function Y(t){if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t??"")}}function ye(...t){return t.find(e=>typeof e=="string")}function Kn(t){return t.startsWith("exec-")}function Gn(t){var o;if(!R(t))return{text:Y(t),isError:!1};if("Err"in t)return{text:Y(t.Err),isError:!0};const e=R(t.Ok)?t.Ok:null;if(!e)return{text:Y(t),isError:!1};const n=xt({...e,content:e.content}),s=n.text||((o=n.images)!=null&&o.length?"":e.structuredContent!==void 0?Y(e.structuredContent):Y(e));return{...n,text:s,isError:n.isError}}function Hn(t,e,n){return{id:t?`${t}@${e}`:Dn("codex-turn"),userMessage:null,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:e,durationMs:null,tokenUsage:null,model:n}}function _e(t){return t.type==="event_msg"&&R(t.payload)&&t.payload.type==="user_message"&&typeof t.payload.message=="string"?At(t.payload.message):t.type==="response_item"&&R(t.payload)&&t.payload.type==="message"&&t.payload.role==="user"?At(ut(t.payload,"input_text")):""}function Zn(t,e){if(t.type==="session_meta"||t.type==="event_msg"&&(e==null?void 0:e.type)==="task_started")return!1;if(t.type==="response_item"&&(e==null?void 0:e.type)==="message"){if(e.role==="developer"||e.role==="system")return!1;if(e.role==="user")return _e(t)!==""||fe(e).length>0||me(e).length>0}return!0}function ke(t){let e="",n="",s="",o="",i="",l,f="",g="",b="",T="",y=0,_=!1,d=null,N="/root",E="";for(const w of t){if(!R(w.payload))continue;if(w.type==="session_meta"){if(e||(e=typeof w.payload.id=="string"?w.payload.id:""),n||(n=typeof w.payload.cli_version=="string"?w.payload.cli_version:""),o||(o=typeof w.payload.cwd=="string"?w.payload.cwd:""),!l&&R(w.payload.branchedFrom)){const j=typeof w.payload.branchedFrom.sessionId=="string"?w.payload.branchedFrom.sessionId:"";j&&(l={sessionId:j,turnIndex:typeof w.payload.branchedFrom.turnIndex=="number"?w.payload.branchedFrom.turnIndex:null})}const P=R(w.payload.source)?w.payload.source:null;if(P&&R(P.subagent)){_=!0;const j=R(P.subagent.thread_spawn)?P.subagent.thread_spawn:null;j&&typeof j.agent_path=="string"&&(N=j.agent_path)}d=$n(w.payload)??d;const D=R(w.payload.git)?w.payload.git:null;s||(s=D&&typeof D.branch=="string"?D.branch:"")}w.type==="turn_context"&&(i||(i=typeof w.payload.model=="string"?w.payload.model:""),o||(o=typeof w.payload.cwd=="string"?w.payload.cwd:""));const v=_e(w);v&&v!==E&&(f||(f=v),g=v,E=v,y++,b||(b=w.timestamp??""),T=w.timestamp??T)}return T===""&&(T=b),{sessionId:e,version:n,gitBranch:s,cwd:o,model:i,slug:"",name:"",branchedFrom:l,firstUserMessage:f,lastUserMessage:g,timestamp:b,lastTimestamp:T,turnCount:y,isSubagent:_,parentSessionId:d,agentPath:N}}function Xn(t){for(const e of t.split(`
15
+ [audio attachment](<${f}>)`)].join(""),l=t+i;return e.length===0&&n.length===0?l:[...e,...n,...l?[{type:"text",text:l}]:[]]}function qn(t){var l,f;const e=ut(t,"input_text");if(!e)return{messageType:null,text:""};const n=e.match(/\r?\nPayload:\s*(?:\r?\n|$)/);if(!e.startsWith("Message Type:")||!n||n.index===void 0)return{messageType:null,text:e.trim()};const o=((f=(l=e.slice(0,n.index).match(/^Message Type:\s*([^\r\n]+)/))==null?void 0:l[1])==null?void 0:f.trim().toUpperCase())??null,i=e.slice(n.index+n[0].length).trim();return{messageType:o,text:i}}function X(t){return t.split(/[\\/]/).filter(Boolean).at(-1)??null}function zn(t){if(typeof t!="string")return"";const e=t.trim();return/^gAAAAA[A-Za-z0-9_-]+$/.test(e)?"":e}function At(t){const e=t.trim();return!e||Un.some(n=>e.startsWith(n))?"":e}function Jn(t){if(!R(t))return null;const e=typeof t.input_tokens=="number"?t.input_tokens:0,n=typeof t.output_tokens=="number"?t.output_tokens:0,s=typeof t.cache_write_input_tokens=="number"?t.cache_write_input_tokens:typeof t.cache_creation_input_tokens=="number"?t.cache_creation_input_tokens:0,o=typeof t.cached_input_tokens=="number"?Math.max(0,t.cached_input_tokens):null,i=o??(typeof t.cache_read_input_tokens=="number"?t.cache_read_input_tokens:0),l=o===null?e:Math.max(0,e-o);return l===0&&n===0&&s===0&&i===0?null:{input_tokens:l,output_tokens:n,cache_creation_input_tokens:s,cache_read_input_tokens:i}}function Qn(t,e,n){if(!e)return;const s={type:"thinking",thinking:e,signature:""};t.thinking.push(s);const o=t.contentBlocks[t.contentBlocks.length-1];if(o&&o.kind==="thinking"){o.blocks.push(s);return}t.contentBlocks.push({kind:"thinking",blocks:[s],timestamp:n})}function G(t,e,n){t.toolCalls.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if(s&&s.kind==="tool_calls"&&s.timestamp===n){s.toolCalls.push(e);return}t.contentBlocks.push({kind:"tool_calls",toolCalls:[e],timestamp:n})}function Vn(t,e,n){if(!e||!(e.userMessage!==null||e.assistantText.length>0||e.toolCalls.length>0||e.thinking.length>0||e.subAgentActivity.length>0))return null;if(e.timestamp&&n){const o=new Date(e.timestamp).getTime(),i=new Date(n).getTime();Number.isFinite(o)&&Number.isFinite(i)&&i>=o&&(e.durationMs=i-o)}return t.push(e),null}function he(t){if(typeof t!="string"||!t.trim())return{};try{const e=JSON.parse(t);return R(e)?e:{value:e}}catch{return{raw:t}}}function Y(t){if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t??"")}}function ye(...t){return t.find(e=>typeof e=="string")}function Kn(t){return t.startsWith("exec-")}function Gn(t){var o;if(!R(t))return{text:Y(t),isError:!1};if("Err"in t)return{text:Y(t.Err),isError:!0};const e=R(t.Ok)?t.Ok:null;if(!e)return{text:Y(t),isError:!1};const n=xt({...e,content:e.content}),s=n.text||((o=n.images)!=null&&o.length?"":e.structuredContent!==void 0?Y(e.structuredContent):Y(e));return{...n,text:s,isError:n.isError}}function Hn(t,e,n){return{id:t?`${t}@${e}`:Fn("codex-turn"),userMessage:null,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:e,durationMs:null,tokenUsage:null,model:n}}function _e(t){return t.type==="event_msg"&&R(t.payload)&&t.payload.type==="user_message"&&typeof t.payload.message=="string"?At(t.payload.message):t.type==="response_item"&&R(t.payload)&&t.payload.type==="message"&&t.payload.role==="user"?At(ut(t.payload,"input_text")):""}function Zn(t,e){if(t.type==="session_meta"||t.type==="event_msg"&&(e==null?void 0:e.type)==="task_started")return!1;if(t.type==="response_item"&&(e==null?void 0:e.type)==="message"){if(e.role==="developer"||e.role==="system")return!1;if(e.role==="user")return _e(t)!==""||fe(e).length>0||me(e).length>0}return!0}function ke(t){let e="",n="",s="",o="",i="",l,f="",g="",b="",T="",y=0,_=!1,d=null,N="/root",E="";for(const w of t){if(!R(w.payload))continue;if(w.type==="session_meta"){if(e||(e=typeof w.payload.id=="string"?w.payload.id:""),n||(n=typeof w.payload.cli_version=="string"?w.payload.cli_version:""),o||(o=typeof w.payload.cwd=="string"?w.payload.cwd:""),!l&&R(w.payload.branchedFrom)){const j=typeof w.payload.branchedFrom.sessionId=="string"?w.payload.branchedFrom.sessionId:"";j&&(l={sessionId:j,turnIndex:typeof w.payload.branchedFrom.turnIndex=="number"?w.payload.branchedFrom.turnIndex:null})}const P=R(w.payload.source)?w.payload.source:null;if(P&&R(P.subagent)){_=!0;const j=R(P.subagent.thread_spawn)?P.subagent.thread_spawn:null;j&&typeof j.agent_path=="string"&&(N=j.agent_path)}d=$n(w.payload)??d;const F=R(w.payload.git)?w.payload.git:null;s||(s=F&&typeof F.branch=="string"?F.branch:"")}w.type==="turn_context"&&(i||(i=typeof w.payload.model=="string"?w.payload.model:""),o||(o=typeof w.payload.cwd=="string"?w.payload.cwd:""));const v=_e(w);v&&v!==E&&(f||(f=v),g=v,E=v,y++,b||(b=w.timestamp??""),T=w.timestamp??T)}return T===""&&(T=b),{sessionId:e,version:n,gitBranch:s,cwd:o,model:i,slug:"",name:"",branchedFrom:l,firstUserMessage:f,lastUserMessage:g,timestamp:b,lastTimestamp:T,turnCount:y,isSubagent:_,parentSessionId:d,agentPath:N}}function Xn(t){for(const e of t.split(`
16
16
  `)){const n=e.trim();if(n)return K(It(n))}return!1}function Yn(t){return K(t[0]??null)}function ts(t){const e=t.map(It).filter(K);return ke(e)}function be(t,e){const n=ke(t.filter(K)),s=[],o=new Map,i=new Map,l=new Map,f=new Map,g=new Map,b=new Map,T=new Map,y=new Map;function _(m,p,a,k={}){const u=g.get(m);let C=y.get(m);if(!C){const x={agentId:m,parentToolUseId:(u==null?void 0:u.parentToolCallId)||void 0,agentName:(u==null?void 0:u.nickname)??(u!=null&&u.agentPath?X(u.agentPath):null),subagentType:(u==null?void 0:u.agentType)??null,type:"assistant",content:null,toolCalls:[],thinking:[],text:[],timestamp:(u==null?void 0:u.timestamp)??a,tokenUsage:null,model:(u==null?void 0:u.model)??null,isBackground:!1,prompt:(u==null?void 0:u.message)||void 0,status:k.status??"running"};p.subAgentActivity.push(x);const I=p.contentBlocks[p.contentBlocks.length-1];(I==null?void 0:I.kind)==="sub_agent"?I.messages.push(x):p.contentBlocks.push({kind:"sub_agent",messages:[x],timestamp:a}),C={message:x,turn:p},y.set(m,C)}const h=C.message;if(u&&(h.parentToolUseId=u.parentToolCallId||h.parentToolUseId,h.agentName=u.nickname??(u.agentPath?X(u.agentPath):h.agentName),h.subagentType=u.agentType,h.model=u.model,h.prompt=u.message||h.prompt),k.text&&!h.text.includes(k.text)&&(h.text.push(k.text),h.content=h.text.join(`
17
17
 
18
- `)),k.status){const x=new Set(["completed","failed","interrupted"]);if(k.status==="running"&&h.status&&x.has(h.status)||(h.status=k.status),x.has(k.status)&&h.timestamp&&a){const I=new Date(h.timestamp).getTime(),M=new Date(a).getTime();Number.isFinite(I)&&Number.isFinite(M)&&M>=I&&(h.durationMs=M-I)}}return h}let d=null,N=null,E=n.model||null,w="",v=null,P=!1;const D=[];let j=0,L=null,$=null;function S(m){const p=s.length,a=Vn(s,m,w);return s.length>p&&$!==null&&D.push($),$=null,a}function r(m,p,a){const k=Hn(m,p,a);return $=L??j,L=null,P||(k.isFragment=!0),v&&(k.compactionSummary=v,v=null),k}function c(m,p,a,k,u){const C=i.get(p);if(C){C.input={...C.input,...a},C.result=k,C.isError=k==="failed";return}const h={id:p,name:"WebSearch",input:a,result:k,isError:k==="failed",timestamp:u};i.set(p,h),G(m,h,u)}for(let m=0;m<t.length;m++){const p=t[m];if(!K(p))continue;j=m;const a=R(p.payload)?p.payload:void 0,k=p.timestamp??"";if(p.type==="compacted"){d=S(d),v="Conversation compacted",w=k;continue}if(p.type!=="world_state"){if(p.type==="turn_context"){d=S(d),L=m,N=typeof(a==null?void 0:a.turn_id)=="string"?a.turn_id:null,E=typeof(a==null?void 0:a.model)=="string"?a.model:E,w=k,P=!0;continue}if(p.type==="event_msg"&&(a==null?void 0:a.type)==="user_message"&&typeof a.message=="string"){d&&(d.assistantText.length>0||d.toolCalls.length>0||d.thinking.length>0)&&(d=S(d)),P=!0,d??(d=r(N,k,E));const u=(Array.isArray(a.local_images)?a.local_images:[]).filter(h=>typeof h=="string"&&h.length>0),C=(Array.isArray(a.local_audio)?a.local_audio:[]).filter(h=>typeof h=="string"&&h.length>0);d.userMessage=ge(a.message,Ln(a),Wn(a),u,C),d.isFragment=!1,d.timestamp=d.timestamp||k,w=k;continue}if(!(!d&&!Zn(p,a))){if(d??(d=r(N,k,E)),!d.model&&E&&(d.model=E),d.timestamp||(d.timestamp=k),k&&(w=k),p.type==="event_msg"&&(a==null?void 0:a.type)==="token_count"){const u=R(a.info)?a.info:null,C=u?Jn(u.last_token_usage):null;C&&(d.tokenUsage=Q(d.tokenUsage,C));continue}if(p.type==="event_msg"&&(a==null?void 0:a.type)==="web_search_end"&&typeof a.call_id=="string"){const u={};typeof a.query=="string"&&a.query&&(u.query=a.query),R(a.action)&&(u.action=a.action),c(d,a.call_id,u,"completed",k);continue}if(p.type==="event_msg"&&(a==null?void 0:a.type)==="mcp_tool_call_end"&&typeof a.call_id=="string"&&R(a.invocation)){const u=a.invocation,C=typeof u.server=="string"?u.server:"mcp",h=typeof u.tool=="string"?u.tool:"tool",x=R(u.arguments)?u.arguments:{},I=Gn(a.result),M=o.get(a.call_id);M?(M.result=I.text,M.isError=I.isError,I.images&&(M.resultImages=I.images),o.delete(a.call_id)):Kn(a.call_id)||G(d,{id:a.call_id,name:`mcp__${C}__${h}`,input:x,result:I.text,isError:I.isError,...I.images?{resultImages:I.images}:{},timestamp:k},k);continue}if(p.type==="event_msg"&&(a==null?void 0:a.type)==="sub_agent_activity"&&typeof a.agent_thread_id=="string"&&typeof a.agent_path=="string"){const u=a.agent_thread_id,C=typeof a.event_id=="string"?a.event_id:"",h=typeof a.kind=="string"?a.kind:"started",x=C?f.get(C):void 0,I=b.get(a.agent_path),M=g.get(u)??(I?g.get(I):void 0);if(h!=="started"&&!M&&!x)continue;if(I&&I!==u&&!y.has(u)){const U=y.get(I);U&&(U.message.agentId=u,y.delete(I),y.set(u,U)),g.delete(I)}const F={agentId:u,nickname:(M==null?void 0:M.nickname)??X(a.agent_path)??(x==null?void 0:x.taskName)??null,agentPath:a.agent_path,message:(M==null?void 0:M.message)??(x==null?void 0:x.message)??"",model:(M==null?void 0:M.model)??(x==null?void 0:x.model)??null,agentType:(M==null?void 0:M.agentType)??(x==null?void 0:x.agentType)??null,timestamp:(M==null?void 0:M.timestamp)??(k||(x==null?void 0:x.timestamp)||""),parentToolCallId:(M==null?void 0:M.parentToolCallId)??C};g.set(u,F),b.set(a.agent_path,u),C&&(h==="started"||x)&&T.set(C,u),_(u,d,k,{status:h==="interrupted"?"interrupted":"running"});continue}if(!(p.type!=="response_item"||!a)){if(a.type==="reasoning"){const u=Array.isArray(a.summary)?a.summary.filter(C=>typeof C=="string").join(`
19
- `):"";Qn(d,u.trim(),k);continue}if(a.type==="message"&&a.role==="assistant"){ie(d,ut(a,"output_text"),k);continue}if(a.type==="message"&&a.role==="user"&&d.userMessage===null){const u=At(ut(a,"input_text")),C=fe(a),h=me(a);(u||C.length>0||h.length>0)&&(d.userMessage=ge(u,C,h),d.isFragment=!1,P=!0);continue}if(a.type==="web_search_call"&&typeof a.id=="string"){const u={};R(a.action)&&(u.action=a.action);const C=typeof a.status=="string"?a.status:"completed";c(d,a.id,u,C,k);continue}if(a.type==="tool_search_call"){const u=ye(a.call_id,a.id)??"";if(u){const C={id:u,name:"ToolSearch",input:R(a.arguments)?a.arguments:{},result:null,isError:!1,timestamp:k};o.set(u,C),G(d,C,k)}continue}if(a.type==="tool_search_output"&&typeof a.call_id=="string"){const u=o.get(a.call_id);if(u){const C=Array.isArray(a.tools)?a.tools:[],h=C.filter(R).map(M=>ye(M.name)??"").filter(Boolean),x=h.length>0?h.length:C.length,I=`Found ${x} tool${x===1?"":"s"}`;u.result=h.length>0?`${I}: ${h.join(", ")}`:I,u.isError=a.status==="failed",o.delete(a.call_id)}continue}if(a.type==="agent_message"&&typeof a.author=="string"){const u=a.author,C=typeof a.recipient=="string"?a.recipient:null,h=qn(a);if(h.messageType==="NEW_TASK")continue;const x=b.get(u),I=u.startsWith(`${n.agentPath}/`)&&(C===null||C===n.agentPath);if(!x&&!I)continue;const M=x??u;x||(g.set(M,{agentId:M,nickname:X(u),agentPath:u,message:"",model:null,agentType:null,timestamp:k,parentToolCallId:""}),b.set(u,M));let F;h.messageType==="FINAL_ANSWER"?F="completed":h.messageType==="ERROR"||h.messageType==="FAILED"?F="failed":h.messageType==="INTERRUPTED"?F="interrupted":h.messageType==="MESSAGE"&&(F="running"),_(M,d,k,{status:F,text:h.text||void 0});continue}if(a.type==="function_call"&&typeof a.call_id=="string"){const u=typeof a.name=="string"?a.name:"tool",C=V(u),h=he(a.arguments);let x=C,I=h;C==="exec_command"?x="Bash":C==="update_plan"?(x="TodoWrite",I=Bn(h)):Nn(C)&&(x="AskUserQuestion",I=vn(h)),C==="spawn_agent"&&f.set(a.call_id,{callId:a.call_id,message:zn(h.message),taskName:typeof h.task_name=="string"?h.task_name:null,model:typeof h.model=="string"?h.model:null,agentType:typeof h.agent_type=="string"?h.agent_type:null,timestamp:k});const M={id:a.call_id,name:x,input:I,result:null,isError:!1,timestamp:k,...C==="request_user_input_async"?{asyncQuestion:!0}:{}};o.set(M.id,M),G(d,M,k);continue}if(a.type==="function_call_output"&&typeof a.call_id=="string"){const u=o.get(a.call_id);if(!u)continue;const C=xt(a.output),h=C.text;if(u.result=h,u.isError=C.isError,C.images&&(u.resultImages=C.images),o.delete(a.call_id),u.name==="spawn_agent"&&h)try{const x=JSON.parse(h),I=typeof x.agent_id=="string"?x.agent_id:T.get(u.id)??"",M=typeof x.task_name=="string"?x.task_name:null,F=typeof x.nickname=="string"?x.nickname:M?X(M):null;if(I){const B=f.get(u.id),U=g.get(I),H={agentId:I,nickname:F??(U==null?void 0:U.nickname)??(B==null?void 0:B.taskName)??null,agentPath:M??(U==null?void 0:U.agentPath)??null,message:(U==null?void 0:U.message)??(B==null?void 0:B.message)??"",model:(U==null?void 0:U.model)??(B==null?void 0:B.model)??null,agentType:(U==null?void 0:U.agentType)??(B==null?void 0:B.agentType)??null,timestamp:(U==null?void 0:U.timestamp)??(B==null?void 0:B.timestamp)??k,parentToolCallId:(U==null?void 0:U.parentToolCallId)??u.id};g.set(I,H),T.set(u.id,I),H.agentPath&&b.set(H.agentPath,I),_(I,d,k,{status:"running"})}}catch{}if(u.name==="wait_agent"&&h&&d)try{const x=JSON.parse(h),I=R(x.status)?x.status:{};for(const[M,F]of Object.entries(I)){const B=R(F)?F:{},U=typeof B.completed=="string"?B.completed:"",H=typeof B.failed=="string"?B.failed:typeof B.error=="string"?B.error:"",$e=typeof B.interrupted=="string"?B.interrupted:"",Us=U?"completed":H?"failed":$e?"interrupted":typeof B.status=="string"?B.status:"running";g.has(M)||g.set(M,{agentId:M,nickname:null,agentPath:null,message:"",model:null,agentType:null,timestamp:k,parentToolCallId:""}),_(M,d,k,{status:Us,text:U||H||$e||void 0})}}catch{}continue}if(a.type==="custom_tool_call"&&typeof a.call_id=="string"){const u=V(typeof a.name=="string"?a.name:"tool"),C=typeof a.input=="string"?a.input:"",h=a.call_id,x=C?An(u,C,h,k,n.cwd):[];if(u!=="apply_patch"){const I={id:h,name:u==="exec_command"?"Bash":u,input:he(C),result:null,isError:!1,timestamp:k};o.set(I.id,I),G(d,I,k)}for(const I of x)o.set(I.id,I),G(d,I,k);x.length>0&&l.set(h,{calls:x,direct:u==="apply_patch"});continue}if(a.type==="custom_tool_call_output"&&typeof a.call_id=="string"){const u=a.call_id,{text:C,isError:h,images:x}=xt(a.output),I=l.get(u);if(I){const F=I.direct&&h?new Set(I.calls.map(B=>B.id)):Sn(C,h,I.calls);for(const B of I.calls){const U=o.get(B.id);U&&(U.result=C,U.isError=F.has(U.id),o.delete(U.id))}l.delete(u)}const M=o.get(u);M&&(M.result=C,M.isError=h,x&&(M.resultImages=x),o.delete(u));continue}}}}}return S(d),{turnStartIndices:D,sessionId:n.sessionId,version:n.version,gitBranch:n.gitBranch,cwd:n.cwd,slug:n.slug,name:"",model:n.model,turns:s,stats:e!=null&&e.skipStats?it(s.length):rt(s),rawMessages:e!=null&&e.skipStats?[]:t,branchedFrom:n.branchedFrom,agentKind:"codex"}}function Te(t,e){const n=t.split(`
18
+ `)),k.status){const x=new Set(["completed","failed","interrupted"]);if(k.status==="running"&&h.status&&x.has(h.status)||(h.status=k.status),x.has(k.status)&&h.timestamp&&a){const I=new Date(h.timestamp).getTime(),M=new Date(a).getTime();Number.isFinite(I)&&Number.isFinite(M)&&M>=I&&(h.durationMs=M-I)}}return h}let d=null,N=null,E=n.model||null,w="",v=null,P=!1;const F=[];let j=0,L=null,$=null;function S(m){const p=s.length,a=Vn(s,m,w);return s.length>p&&$!==null&&F.push($),$=null,a}function r(m,p,a){const k=Hn(m,p,a);return $=L??j,L=null,P||(k.isFragment=!0),v&&(k.compactionSummary=v,v=null),k}function c(m,p,a,k,u){const C=i.get(p);if(C){C.input={...C.input,...a},C.result=k,C.isError=k==="failed";return}const h={id:p,name:"WebSearch",input:a,result:k,isError:k==="failed",timestamp:u};i.set(p,h),G(m,h,u)}for(let m=0;m<t.length;m++){const p=t[m];if(!K(p))continue;j=m;const a=R(p.payload)?p.payload:void 0,k=p.timestamp??"";if(p.type==="compacted"){d=S(d),v="Conversation compacted",w=k;continue}if(p.type!=="world_state"){if(p.type==="turn_context"){d=S(d),L=m,N=typeof(a==null?void 0:a.turn_id)=="string"?a.turn_id:null,E=typeof(a==null?void 0:a.model)=="string"?a.model:E,w=k,P=!0;continue}if(p.type==="event_msg"&&(a==null?void 0:a.type)==="user_message"&&typeof a.message=="string"){d&&(d.assistantText.length>0||d.toolCalls.length>0||d.thinking.length>0)&&(d=S(d)),P=!0,d??(d=r(N,k,E));const u=(Array.isArray(a.local_images)?a.local_images:[]).filter(h=>typeof h=="string"&&h.length>0),C=(Array.isArray(a.local_audio)?a.local_audio:[]).filter(h=>typeof h=="string"&&h.length>0);d.userMessage=ge(a.message,Ln(a),Wn(a),u,C),d.isFragment=!1,d.timestamp=d.timestamp||k,w=k;continue}if(!(!d&&!Zn(p,a))){if(d??(d=r(N,k,E)),!d.model&&E&&(d.model=E),d.timestamp||(d.timestamp=k),k&&(w=k),p.type==="event_msg"&&(a==null?void 0:a.type)==="token_count"){const u=R(a.info)?a.info:null,C=u?Jn(u.last_token_usage):null;C&&(d.tokenUsage=Q(d.tokenUsage,C));continue}if(p.type==="event_msg"&&(a==null?void 0:a.type)==="web_search_end"&&typeof a.call_id=="string"){const u={};typeof a.query=="string"&&a.query&&(u.query=a.query),R(a.action)&&(u.action=a.action),c(d,a.call_id,u,"completed",k);continue}if(p.type==="event_msg"&&(a==null?void 0:a.type)==="mcp_tool_call_end"&&typeof a.call_id=="string"&&R(a.invocation)){const u=a.invocation,C=typeof u.server=="string"?u.server:"mcp",h=typeof u.tool=="string"?u.tool:"tool",x=R(u.arguments)?u.arguments:{},I=Gn(a.result),M=o.get(a.call_id);M?(M.result=I.text,M.isError=I.isError,I.images&&(M.resultImages=I.images),o.delete(a.call_id)):Kn(a.call_id)||G(d,{id:a.call_id,name:`mcp__${C}__${h}`,input:x,result:I.text,isError:I.isError,...I.images?{resultImages:I.images}:{},timestamp:k},k);continue}if(p.type==="event_msg"&&(a==null?void 0:a.type)==="sub_agent_activity"&&typeof a.agent_thread_id=="string"&&typeof a.agent_path=="string"){const u=a.agent_thread_id,C=typeof a.event_id=="string"?a.event_id:"",h=typeof a.kind=="string"?a.kind:"started",x=C?f.get(C):void 0,I=b.get(a.agent_path),M=g.get(u)??(I?g.get(I):void 0);if(h!=="started"&&!M&&!x)continue;if(I&&I!==u&&!y.has(u)){const D=y.get(I);D&&(D.message.agentId=u,y.delete(I),y.set(u,D)),g.delete(I)}const U={agentId:u,nickname:(M==null?void 0:M.nickname)??X(a.agent_path)??(x==null?void 0:x.taskName)??null,agentPath:a.agent_path,message:(M==null?void 0:M.message)??(x==null?void 0:x.message)??"",model:(M==null?void 0:M.model)??(x==null?void 0:x.model)??null,agentType:(M==null?void 0:M.agentType)??(x==null?void 0:x.agentType)??null,timestamp:(M==null?void 0:M.timestamp)??(k||(x==null?void 0:x.timestamp)||""),parentToolCallId:(M==null?void 0:M.parentToolCallId)??C};g.set(u,U),b.set(a.agent_path,u),C&&(h==="started"||x)&&T.set(C,u),_(u,d,k,{status:h==="interrupted"?"interrupted":"running"});continue}if(!(p.type!=="response_item"||!a)){if(a.type==="reasoning"){const u=Array.isArray(a.summary)?a.summary.filter(C=>typeof C=="string").join(`
19
+ `):"";Qn(d,u.trim(),k);continue}if(a.type==="message"&&a.role==="assistant"){ie(d,ut(a,"output_text"),k);continue}if(a.type==="message"&&a.role==="user"&&d.userMessage===null){const u=At(ut(a,"input_text")),C=fe(a),h=me(a);(u||C.length>0||h.length>0)&&(d.userMessage=ge(u,C,h),d.isFragment=!1,P=!0);continue}if(a.type==="web_search_call"&&typeof a.id=="string"){const u={};R(a.action)&&(u.action=a.action);const C=typeof a.status=="string"?a.status:"completed";c(d,a.id,u,C,k);continue}if(a.type==="tool_search_call"){const u=ye(a.call_id,a.id)??"";if(u){const C={id:u,name:"ToolSearch",input:R(a.arguments)?a.arguments:{},result:null,isError:!1,timestamp:k};o.set(u,C),G(d,C,k)}continue}if(a.type==="tool_search_output"&&typeof a.call_id=="string"){const u=o.get(a.call_id);if(u){const C=Array.isArray(a.tools)?a.tools:[],h=C.filter(R).map(M=>ye(M.name)??"").filter(Boolean),x=h.length>0?h.length:C.length,I=`Found ${x} tool${x===1?"":"s"}`;u.result=h.length>0?`${I}: ${h.join(", ")}`:I,u.isError=a.status==="failed",o.delete(a.call_id)}continue}if(a.type==="agent_message"&&typeof a.author=="string"){const u=a.author,C=typeof a.recipient=="string"?a.recipient:null,h=qn(a);if(h.messageType==="NEW_TASK")continue;const x=b.get(u),I=u.startsWith(`${n.agentPath}/`)&&(C===null||C===n.agentPath);if(!x&&!I)continue;const M=x??u;x||(g.set(M,{agentId:M,nickname:X(u),agentPath:u,message:"",model:null,agentType:null,timestamp:k,parentToolCallId:""}),b.set(u,M));let U;h.messageType==="FINAL_ANSWER"?U="completed":h.messageType==="ERROR"||h.messageType==="FAILED"?U="failed":h.messageType==="INTERRUPTED"?U="interrupted":h.messageType==="MESSAGE"&&(U="running"),_(M,d,k,{status:U,text:h.text||void 0});continue}if(a.type==="function_call"&&typeof a.call_id=="string"){const u=typeof a.name=="string"?a.name:"tool",C=V(u),h=he(a.arguments);let x=C,I=h;C==="exec_command"?x="Bash":C==="update_plan"?(x="TodoWrite",I=Bn(h)):Nn(C)&&(x="AskUserQuestion",I=vn(h)),C==="spawn_agent"&&f.set(a.call_id,{callId:a.call_id,message:zn(h.message),taskName:typeof h.task_name=="string"?h.task_name:null,model:typeof h.model=="string"?h.model:null,agentType:typeof h.agent_type=="string"?h.agent_type:null,timestamp:k});const M={id:a.call_id,name:x,input:I,result:null,isError:!1,timestamp:k,...C==="request_user_input_async"?{asyncQuestion:!0}:{}};o.set(M.id,M),G(d,M,k);continue}if(a.type==="function_call_output"&&typeof a.call_id=="string"){const u=o.get(a.call_id);if(!u)continue;const C=xt(a.output),h=C.text;if(u.result=h,u.isError=C.isError,C.images&&(u.resultImages=C.images),o.delete(a.call_id),u.name==="spawn_agent"&&h)try{const x=JSON.parse(h),I=typeof x.agent_id=="string"?x.agent_id:T.get(u.id)??"",M=typeof x.task_name=="string"?x.task_name:null,U=typeof x.nickname=="string"?x.nickname:M?X(M):null;if(I){const B=f.get(u.id),D=g.get(I),H={agentId:I,nickname:U??(D==null?void 0:D.nickname)??(B==null?void 0:B.taskName)??null,agentPath:M??(D==null?void 0:D.agentPath)??null,message:(D==null?void 0:D.message)??(B==null?void 0:B.message)??"",model:(D==null?void 0:D.model)??(B==null?void 0:B.model)??null,agentType:(D==null?void 0:D.agentType)??(B==null?void 0:B.agentType)??null,timestamp:(D==null?void 0:D.timestamp)??(B==null?void 0:B.timestamp)??k,parentToolCallId:(D==null?void 0:D.parentToolCallId)??u.id};g.set(I,H),T.set(u.id,I),H.agentPath&&b.set(H.agentPath,I),_(I,d,k,{status:"running"})}}catch{}if(u.name==="wait_agent"&&h&&d)try{const x=JSON.parse(h),I=R(x.status)?x.status:{};for(const[M,U]of Object.entries(I)){const B=R(U)?U:{},D=typeof B.completed=="string"?B.completed:"",H=typeof B.failed=="string"?B.failed:typeof B.error=="string"?B.error:"",$e=typeof B.interrupted=="string"?B.interrupted:"",Ds=D?"completed":H?"failed":$e?"interrupted":typeof B.status=="string"?B.status:"running";g.has(M)||g.set(M,{agentId:M,nickname:null,agentPath:null,message:"",model:null,agentType:null,timestamp:k,parentToolCallId:""}),_(M,d,k,{status:Ds,text:D||H||$e||void 0})}}catch{}continue}if(a.type==="custom_tool_call"&&typeof a.call_id=="string"){const u=V(typeof a.name=="string"?a.name:"tool"),C=typeof a.input=="string"?a.input:"",h=a.call_id,x=C?An(u,C,h,k,n.cwd):[];if(u!=="apply_patch"){const I={id:h,name:u==="exec_command"?"Bash":u,input:he(C),result:null,isError:!1,timestamp:k};o.set(I.id,I),G(d,I,k)}for(const I of x)o.set(I.id,I),G(d,I,k);x.length>0&&l.set(h,{calls:x,direct:u==="apply_patch"});continue}if(a.type==="custom_tool_call_output"&&typeof a.call_id=="string"){const u=a.call_id,{text:C,isError:h,images:x}=xt(a.output),I=l.get(u);if(I){const U=I.direct&&h?new Set(I.calls.map(B=>B.id)):Sn(C,h,I.calls);for(const B of I.calls){const D=o.get(B.id);D&&(D.result=C,D.isError=U.has(D.id),o.delete(D.id))}l.delete(u)}const M=o.get(u);M&&(M.result=C,M.isError=h,x&&(M.resultImages=x),o.delete(u));continue}}}}}return S(d),{turnStartIndices:F,sessionId:n.sessionId,version:n.version,gitBranch:n.gitBranch,cwd:n.cwd,slug:n.slug,name:"",model:n.model,turns:s,stats:e!=null&&e.skipStats?it(s.length):rt(s),rawMessages:e!=null&&e.skipStats?[]:t,branchedFrom:n.branchedFrom,agentKind:"codex"}}function Te(t,e){const n=t.split(`
20
20
  `).map(i=>i.trim()).filter(Boolean).map(It).filter(K),{turnStartIndices:s,...o}=be(n,e);return o}function es(t,e){const n=t.rawMessages.map(s=>JSON.stringify(s)).join(`
21
21
  `);return Te(n?`${n}
22
22
  ${e}`:e)}const ns=new Set(["FINAL_ANSWER","ERROR","FAILED","INTERRUPTED"]);function ss(t){const e=t.content;return Array.isArray(e)?e.filter(n=>R(n)&&n.type==="input_text"&&typeof n.text=="string").map(n=>n.text).join(`
@@ -24,6 +24,6 @@ ${e}`:e)}const ns=new Set(["FINAL_ANSWER","ERROR","FAILED","INTERRUPTED"]);funct
24
24
  `).map(e=>e.trim()).filter(Boolean).map(Ie).filter(e=>e!==null)}function A(...t){return t.find(e=>typeof e=="string")??""}function z(t){return typeof t=="number"&&Number.isFinite(t)?t:0}function tt(t){return typeof t.timestamp=="string"?t.timestamp:""}function J(t,e){var n,s;return typeof t.id=="string"&&t.id?t.id:((s=(n=globalThis.crypto)==null?void 0:n.randomUUID)==null?void 0:s.call(n))??`${e}-${Math.random().toString(36).slice(2,10)}`}function Ae(t){const e=J(t,"copilot-turn"),n=A(t.data.turnId);return n?`${n}@${e}`:e}function St(t,e){if(!O(t))return;const n=A(t.cwd),s=A(t.branch);n&&(e.cwd=n),s&&(e.gitBranch=s)}function Se(t){const e={sessionId:"",version:"",gitBranch:"",cwd:"",model:"",slug:"",name:"",firstUserMessage:"",lastUserMessage:"",timestamp:"",lastTimestamp:"",turnCount:0,isSubagent:!1,parentSessionId:null};for(const n of t){if(!Ce(n))continue;const{data:s}=n,o=tt(n);if(o&&(e.lastTimestamp=o),n.type==="session.start"){e.sessionId||(e.sessionId=A(s.sessionId)),e.version||(e.version=A(s.copilotVersion)||(typeof s.version=="number"?String(s.version):A(s.version))),St(s.context,e),e.model=A(s.selectedModel)||e.model;continue}if(n.type==="session.resume"){St(s.context,e),e.model=A(s.selectedModel)||e.model;continue}if(n.type==="session.context_changed"){St(s,e);continue}if(n.type==="session.auto_mode_resolved"){e.model=A(s.chosenModel)||e.model;continue}if(n.type==="session.model_change"){e.model=A(s.newModel)||e.model;continue}if(n.type==="session.title_changed"){e.name=A(s.title)||e.name;continue}if(n.type==="session.shutdown"){e.model=A(s.currentModel)||e.model;continue}if((n.type==="assistant.turn_start"||n.type==="assistant.turn_end"||n.type==="assistant.message"||n.type==="assistant.usage"||n.type==="tool.execution_start"||n.type==="tool.execution_complete")&&(e.model=A(s.model)||e.model),n.type!=="user.message")continue;e.turnCount++,e.timestamp||(e.timestamp=o);const i=A(s.content).trim();i&&(e.firstUserMessage||(e.firstUserMessage=i),e.lastUserMessage=i)}return e.lastTimestamp||(e.lastTimestamp=e.timestamp),e}function us(t){for(const e of t.split(`
25
25
  `)){const n=e.trim();if(n)try{const s=JSON.parse(n);if(xe(s))return!0}catch{}}return!1}function ds(t){var e;return As((e=t[0])==null?void 0:e.type)}function ps(t){const e=t.map(n=>Ie(n.trim())).filter(n=>n!==null);return Se(e)}function wt(t){if(typeof t=="string")return t;if(t===void 0)return"";try{return JSON.stringify(t)}catch{return String(t)}}function we(t){return typeof t=="string"?t:Array.isArray(t)?t.flatMap(e=>{const n=typeof e=="string"?e:O(e)?A(e.text,e.content):"";return n?[n]:[]}).join(`
26
26
  `):""}function fs(t){const e=new Map;for(const n of t){if(n.type!=="session.binary_asset"&&n.type!=="binary_asset")continue;const s=A(n.data.assetId),o=A(n.data.data),i=A(n.data.mimeType);s&&o&&i&&e.set(s,{data:o,mimeType:i})}return e}function ms(t,e){if(!O(t))return null;const n=e.get(A(t.assetId)),s=A(t.mimeType,n==null?void 0:n.mimeType).toLowerCase(),o=A(t.data,n==null?void 0:n.data);return!s.startsWith("image/")||!o?null:{type:"image",source:{type:"base64",media_type:s,data:o}}}function Me(t,e){if(!Array.isArray(t))return[];const n=[],s=new Set;for(const o of t){const i=ms(o,e);if(!i)continue;const l=`${i.source.media_type}:${i.source.data}`;s.has(l)||(s.add(l),n.push(i))}return n}function gs(t,e){const n=A(t.content),s=Me(t.attachments,e);return s.length===0?n:[...s,...n?[{type:"text",text:n}]:[]]}function hs(t,e){return O(t.result)?Me([...Array.isArray(t.result.contents)?t.result.contents:[],...Array.isArray(t.result.binaryResultsForLlm)?t.result.binaryResultsForLlm:[]],e):[]}function Mt(t,e=!1){const n=z(t.cacheWriteTokens),s=z(t.cacheReadTokens),o=z(t.inputTokens),i={input_tokens:e?Math.max(0,o-n-s):o,output_tokens:z(t.outputTokens),cache_creation_input_tokens:n,cache_read_input_tokens:s},l=z(t.reasoningTokens);return l&&(i.output_tokens_details={thinking_tokens:l}),i.input_tokens===0&&i.output_tokens===0&&i.cache_creation_input_tokens===0&&i.cache_read_input_tokens===0&&l===0?null:i}function ys(t){if(!O(t.modelMetrics))return null;let e=null;for(const n of Object.values(t.modelMetrics)){if(!O(n)||!O(n.usage))continue;const s=Mt(n.usage,!0);s&&(e=Q(e,s))}return e}function _s(t){if(typeof t=="string")return{label:t};if(!O(t))return null;const e=A(t.label,t.title,t.value,t.name);if(!e)return null;const n=A(t.description);return n?{label:e,description:n}:{label:e}}function ks(t){return Array.isArray(t)?t.map(_s).filter(e=>e!==null):[]}function bs(t){if(!O(t))return null;const e=A(t.question,t.prompt,t.text,t.message);if(!e)return null;const n=A(t.header,t.title),s=typeof t.multiSelect=="boolean"?t.multiSelect:typeof t.multi_select=="boolean"?t.multi_select:void 0;return{question:e,...n?{header:n}:{},options:ks(t.options??t.choices),...s===void 0?{}:{multiSelect:s}}}function Ts(t){const n=(Array.isArray(t.questions)?t.questions:[t]).map(bs).filter(s=>s!==null);return n.length>0?{...t,questions:n}:t}function et(t){switch(t.toLowerCase().replace(/-/g,"_")){case"ask_user":return"AskUserQuestion";case"bash":case"powershell":case"shell":return"Bash";case"create":return"Write";case"edit":return"Edit";default:return t}}function pt(t,e){const n=O(e)?e:e===void 0?{}:{value:e};return t==="AskUserQuestion"?Ts(n):t==="Edit"?{...n,file_path:A(n.file_path,n.path),old_string:A(n.old_string,n.old_str),new_string:A(n.new_string,n.new_str)}:t==="Write"?{...n,file_path:A(n.file_path,n.path),content:A(n.content,n.file_text)}:t==="Bash"&&typeof n.command!="string"&&typeof n.cmd=="string"?{...n,command:n.cmd}:n}function Cs(t){const e=t.error;if(typeof e=="string")return e;if(O(e)){const s=A(e.message,e.code);if(s)return s}const n=t.result;if(typeof n=="string")return n;if(!O(n))return n===void 0?"":wt(n);if(typeof n.detailedContent=="string")return n.detailedContent;if(typeof n.content=="string")return n.content;if(Array.isArray(n.contents)){const s=n.contents.flatMap(o=>{const i=typeof o=="string"?o:O(o)?A(o.text,o.content,o.output):"";return i?[i]:[]}).join(`
27
- `);if(s)return s}return n.structuredContent!==void 0?wt(n.structuredContent):wt(n)}function Ee(t,e,n,s){if(!e||t.thinking.some(l=>l.thinking===e))return;const o={type:"thinking",thinking:e,signature:s};t.thinking.push(o);const i=t.contentBlocks[t.contentBlocks.length-1];if((i==null?void 0:i.kind)==="thinking"){i.blocks.push(o);return}t.contentBlocks.push({kind:"thinking",blocks:[o],timestamp:n})}function ft(t,e,n){t.toolCalls.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if((s==null?void 0:s.kind)==="tool_calls"){s.toolCalls.push(e);return}t.contentBlocks.push({kind:"tool_calls",toolCalls:[e],timestamp:n})}function nt(t,e,n,s){return{id:t,name:e,input:n,result:null,isError:!1,timestamp:s}}function Ne(t,e,n){if(!Array.isArray(t))return[];const s=[];for(const o of t){if(!O(o))continue;const i=A(o.toolCallId),l=A(o.name);if(!i||!l||n(i))continue;const f=et(l);s.push(nt(i,f,pt(f,o.arguments),e))}return s}function ve(t,e,n,s){t.name=e,t.input=pt(e,n),t.timestamp=s||t.timestamp}function Be(t,e,n){t.result=Cs(e);const s=hs(e,n);s.length>0&&(t.resultImages=s),t.isError=e.success===!1||e.error!==void 0&&e.error!==null}function Re(t,e,n,s,o,i){return{id:t,userMessage:n,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:e,durationMs:null,tokenUsage:null,model:s,...o?{effort:o}:{},...i?{isFragment:!0}:{}}}function xs(t){return t.userMessage!==null||t.assistantText.length>0||t.thinking.length>0||t.toolCalls.length>0||t.subAgentActivity.length>0}function Pe(t,e){const n=cs(t),s=Se(n),o=fs(n),i=[],l=new Map,f=new Map,g=new Map,b=new WeakMap,T=new WeakMap;let y=null,_=null,d,N=!1,E=!1,w=null;function v(S,r){r&&b.set(S,r)}function P(S){return y||(y=Re(Ae(S),tt(S),null,_,d,!0)),y}function D(){y&&(xs(y)&&i.push(y),y=null)}function j(S){var C;const r=typeof S.agentId=="string"?S.agentId:"";if(!r)return null;const c=f.get(r);if(c)return c.message;const m=S.data,p=A(m.toolCallId),a=p?((C=l.get(p))==null?void 0:C.turn)??y:y;if(!a)return null;const k=A(m.executionMode),u={agentId:r,...p?{parentToolUseId:p}:{},agentName:A(m.agentDisplayName,m.agentName)||null,subagentType:A(m.agentType,m.agentName)||null,type:"assistant",content:null,toolCalls:[],thinking:[],text:[],timestamp:tt(S),tokenUsage:null,model:A(m.model)||null,isBackground:k==="background",...A(m.description)?{prompt:A(m.description)}:{},status:"running"};return a.subAgentActivity.push(u),a.contentBlocks.push({kind:u.isBackground?"background_agent":"sub_agent",messages:[u],timestamp:u.timestamp}),f.set(r,{message:u,turn:a}),u}function L(S){if(Ce(S))return!1;const r=j(S);if(!r)return!0;const{data:c}=S,m=tt(S);if(S.type==="subagent.started"||S.type==="subagent.configured")return r.parentToolUseId||(r.parentToolUseId=A(c.toolCallId)||void 0),r.agentName=A(c.agentDisplayName,c.agentName)||r.agentName,r.subagentType=A(c.agentType,c.agentName)||r.subagentType,r.model=A(c.model)||r.model,r.prompt||(r.prompt=A(c.description)||void 0),r.isBackground||(r.isBackground=A(c.executionMode)==="background"),r.status="running",!0;if(S.type==="subagent.completed"||S.type==="subagent.failed"){r.agentName=A(c.agentDisplayName,c.agentName)||r.agentName,r.subagentType=A(c.agentType,c.agentName)||r.subagentType,r.model=A(c.model)||r.model,r.durationMs=z(c.durationMs)||r.durationMs,r.toolUseCount=z(c.totalToolCalls)||r.toolUseCount,r.status=S.type==="subagent.completed"?"completed":"failed";const p=A(c.error,c.message);return p&&!r.text.includes(p)&&r.text.push(p),!0}if(S.type==="user.message")return r.prompt||(r.prompt=A(c.content)||void 0),!0;if(S.type==="assistant.reasoning"){const p=A(c.content);return p&&!r.thinking.includes(p)&&r.thinking.push(p),!0}if(S.type==="assistant.message"){r.model=A(c.model)||r.model;const p=A(c.reasoningText);p&&!r.thinking.includes(p)&&r.thinking.push(p);const a=we(c.content);a&&!r.text.includes(a)&&r.text.push(a);for(const k of Ne(c.toolRequests,m,u=>g.has(u)))r.toolCalls.push(k),g.set(k.id,{call:k,message:r});return!0}if(S.type==="assistant.usage"){r.model=A(c.model)||r.model;const p=Mt(c);return p&&(r.tokenUsage=Q(r.tokenUsage,p)),!0}if(S.type==="tool.execution_start"){const p=A(c.toolCallId)||J(S,"copilot-agent-tool"),a=A(c.toolName)||"Tool",k=et(a),u=g.get(p);if(u)ve(u.call,k,c.arguments,m);else{const C=nt(p,k,pt(k,c.arguments),m);r.toolCalls.push(C),g.set(p,{call:C,message:r})}return!0}if(S.type==="tool.execution_complete"){const p=A(c.toolCallId)||J(S,"copilot-agent-tool");let a=g.get(p);if(!a){const k=A(c.toolName)||"Tool",u=et(k),C=nt(p,u,{},m);r.toolCalls.push(C),a={call:C,message:r}}return Be(a.call,c,o),g.delete(p),!0}return!0}for(const S of n){if(L(S))continue;const{data:r}=S,c=tt(S);if(S.type==="session.start"||S.type==="session.resume"){_=A(r.selectedModel)||_,d=A(r.reasoningEffort)||d;continue}if(S.type==="session.auto_mode_resolved"){_=A(r.chosenModel)||_,y&&(y.model=_);continue}if(S.type==="session.model_change"){_=A(r.newModel)||_;const m=r.reasoningEffort;typeof m=="string"&&(d=m),y&&(y.model=_,d&&(y.effort=d));continue}if(S.type==="session.shutdown"){_=A(r.currentModel)||_,y&&!y.model&&(y.model=_),w=ys(r)??w;const m=z(r.totalApiDurationMs);y&&!E&&m&&T.set(y,m);continue}if(S.type==="user.message"){D(),y=Re(Ae(S),c,gs(r,o),_,d,!1),v(y,c);continue}if(S.type==="assistant.turn_start"){_=A(r.model)||_;const m=P(S);m.model=_,d&&(m.effort=d),v(m,c);continue}if(S.type==="assistant.reasoning"){const m=P(S);Ee(m,A(r.content),c,A(r.reasoningId)||J(S,"copilot-thinking")),v(m,c);continue}if(S.type==="assistant.message"){_=A(r.model)||_;const m=P(S);m.model=_,d&&(m.effort=d),Ee(m,A(r.reasoningText),c,J(S,"copilot-thinking")),ie(m,we(r.content),c);for(const p of Ne(r.toolRequests,c,a=>l.has(a)))ft(m,p,c),l.set(p.id,{call:p,turn:m});v(m,c);continue}if(S.type==="assistant.usage"){_=A(r.model)||_,d=A(r.reasoningEffort)||d;const m=Mt(r),p=z(r.duration);m&&(N=!0),p&&(E=!0);const a=P(S);a.model=_,d&&(a.effort=d),m&&(a.tokenUsage=Q(a.tokenUsage,m)),p&&T.set(a,(T.get(a)??0)+p),v(a,c);continue}if(S.type==="tool.execution_start"){_=A(r.model)||_;const m=P(S);m.model=_;const p=A(r.toolCallId)||J(S,"copilot-tool"),a=A(r.toolName)||"Tool",k=et(a),u=l.get(p);if(u)ve(u.call,k,r.arguments,c);else{const C=nt(p,k,pt(k,r.arguments),c);ft(m,C,c),l.set(p,{call:C,turn:m})}v(m,c);continue}if(S.type==="tool.execution_complete"){_=A(r.model)||_;const m=A(r.toolCallId)||J(S,"copilot-tool");let p=l.get(m);if(!p){const a=P(S),k=A(r.toolName)||"Tool",u=et(k),C=nt(m,u,{},c);ft(a,C,c),p={call:C,turn:a}}Be(p.call,r,o),l.delete(m),v(p.turn,c);continue}if(S.type==="session.error"){const m=P(S),a={errorType:A(r.errorType)||"unknown"};typeof r.statusCode=="number"&&(a.statusCode=r.statusCode),typeof r.errorCode=="string"&&(a.errorCode=r.errorCode),ft(m,{id:J(S,"copilot-error"),name:"Error",input:a,result:A(r.message)||"Copilot session error",isError:!0,timestamp:c},c),v(m,c);continue}(S.type==="assistant.turn_end"||S.type==="assistant.idle"||S.type==="session.idle")&&y&&v(y,c)}if(D(),!N&&w&&i.length===1&&(i[0].tokenUsage=Q(i[0].tokenUsage,w)),s.model)for(const S of i)S.model||(S.model=s.model);for(const S of i){const r=b.get(S),c=Date.parse(S.timestamp),m=r?Date.parse(r):Number.NaN;if(Number.isFinite(c)&&Number.isFinite(m)&&m>=c)S.durationMs=m-c;else{const p=T.get(S)??0;p&&(S.durationMs=p)}}const $=e!=null&&e.skipStats?it(i.length):rt(i);return!(e!=null&&e.skipStats)&&!N&&w&&i.length>1&&($.totalInputTokens=w.input_tokens,$.totalOutputTokens=w.output_tokens,$.totalCacheCreationTokens=w.cache_creation_input_tokens??0,$.totalCacheReadTokens=w.cache_read_input_tokens??0),{sessionId:s.sessionId,version:s.version,gitBranch:s.gitBranch,cwd:s.cwd,slug:s.slug,name:s.name,model:s.model,turns:i,stats:$,rawMessages:e!=null&&e.skipStats?[]:n,agentKind:"copilot"}}function Is(t,e){const n=t.rawMessages.map(s=>JSON.stringify(s)).join(`
27
+ `);if(s)return s}return n.structuredContent!==void 0?wt(n.structuredContent):wt(n)}function Ee(t,e,n,s){if(!e||t.thinking.some(l=>l.thinking===e))return;const o={type:"thinking",thinking:e,signature:s};t.thinking.push(o);const i=t.contentBlocks[t.contentBlocks.length-1];if((i==null?void 0:i.kind)==="thinking"){i.blocks.push(o);return}t.contentBlocks.push({kind:"thinking",blocks:[o],timestamp:n})}function ft(t,e,n){t.toolCalls.push(e);const s=t.contentBlocks[t.contentBlocks.length-1];if((s==null?void 0:s.kind)==="tool_calls"){s.toolCalls.push(e);return}t.contentBlocks.push({kind:"tool_calls",toolCalls:[e],timestamp:n})}function nt(t,e,n,s){return{id:t,name:e,input:n,result:null,isError:!1,timestamp:s}}function Ne(t,e,n){if(!Array.isArray(t))return[];const s=[];for(const o of t){if(!O(o))continue;const i=A(o.toolCallId),l=A(o.name);if(!i||!l||n(i))continue;const f=et(l);s.push(nt(i,f,pt(f,o.arguments),e))}return s}function ve(t,e,n,s){t.name=e,t.input=pt(e,n),t.timestamp=s||t.timestamp}function Be(t,e,n){t.result=Cs(e);const s=hs(e,n);s.length>0&&(t.resultImages=s),t.isError=e.success===!1||e.error!==void 0&&e.error!==null}function Re(t,e,n,s,o,i){return{id:t,userMessage:n,contentBlocks:[],thinking:[],assistantText:[],toolCalls:[],subAgentActivity:[],timestamp:e,durationMs:null,tokenUsage:null,model:s,...o?{effort:o}:{},...i?{isFragment:!0}:{}}}function xs(t){return t.userMessage!==null||t.assistantText.length>0||t.thinking.length>0||t.toolCalls.length>0||t.subAgentActivity.length>0}function Pe(t,e){const n=cs(t),s=Se(n),o=fs(n),i=[],l=new Map,f=new Map,g=new Map,b=new WeakMap,T=new WeakMap;let y=null,_=null,d,N=!1,E=!1,w=null;function v(S,r){r&&b.set(S,r)}function P(S){return y||(y=Re(Ae(S),tt(S),null,_,d,!0)),y}function F(){y&&(xs(y)&&i.push(y),y=null)}function j(S){var C;const r=typeof S.agentId=="string"?S.agentId:"";if(!r)return null;const c=f.get(r);if(c)return c.message;const m=S.data,p=A(m.toolCallId),a=p?((C=l.get(p))==null?void 0:C.turn)??y:y;if(!a)return null;const k=A(m.executionMode),u={agentId:r,...p?{parentToolUseId:p}:{},agentName:A(m.agentDisplayName,m.agentName)||null,subagentType:A(m.agentType,m.agentName)||null,type:"assistant",content:null,toolCalls:[],thinking:[],text:[],timestamp:tt(S),tokenUsage:null,model:A(m.model)||null,isBackground:k==="background",...A(m.description)?{prompt:A(m.description)}:{},status:"running"};return a.subAgentActivity.push(u),a.contentBlocks.push({kind:u.isBackground?"background_agent":"sub_agent",messages:[u],timestamp:u.timestamp}),f.set(r,{message:u,turn:a}),u}function L(S){if(Ce(S))return!1;const r=j(S);if(!r)return!0;const{data:c}=S,m=tt(S);if(S.type==="subagent.started"||S.type==="subagent.configured")return r.parentToolUseId||(r.parentToolUseId=A(c.toolCallId)||void 0),r.agentName=A(c.agentDisplayName,c.agentName)||r.agentName,r.subagentType=A(c.agentType,c.agentName)||r.subagentType,r.model=A(c.model)||r.model,r.prompt||(r.prompt=A(c.description)||void 0),r.isBackground||(r.isBackground=A(c.executionMode)==="background"),r.status="running",!0;if(S.type==="subagent.completed"||S.type==="subagent.failed"){r.agentName=A(c.agentDisplayName,c.agentName)||r.agentName,r.subagentType=A(c.agentType,c.agentName)||r.subagentType,r.model=A(c.model)||r.model,r.durationMs=z(c.durationMs)||r.durationMs,r.toolUseCount=z(c.totalToolCalls)||r.toolUseCount,r.status=S.type==="subagent.completed"?"completed":"failed";const p=A(c.error,c.message);return p&&!r.text.includes(p)&&r.text.push(p),!0}if(S.type==="user.message")return r.prompt||(r.prompt=A(c.content)||void 0),!0;if(S.type==="assistant.reasoning"){const p=A(c.content);return p&&!r.thinking.includes(p)&&r.thinking.push(p),!0}if(S.type==="assistant.message"){r.model=A(c.model)||r.model;const p=A(c.reasoningText);p&&!r.thinking.includes(p)&&r.thinking.push(p);const a=we(c.content);a&&!r.text.includes(a)&&r.text.push(a);for(const k of Ne(c.toolRequests,m,u=>g.has(u)))r.toolCalls.push(k),g.set(k.id,{call:k,message:r});return!0}if(S.type==="assistant.usage"){r.model=A(c.model)||r.model;const p=Mt(c);return p&&(r.tokenUsage=Q(r.tokenUsage,p)),!0}if(S.type==="tool.execution_start"){const p=A(c.toolCallId)||J(S,"copilot-agent-tool"),a=A(c.toolName)||"Tool",k=et(a),u=g.get(p);if(u)ve(u.call,k,c.arguments,m);else{const C=nt(p,k,pt(k,c.arguments),m);r.toolCalls.push(C),g.set(p,{call:C,message:r})}return!0}if(S.type==="tool.execution_complete"){const p=A(c.toolCallId)||J(S,"copilot-agent-tool");let a=g.get(p);if(!a){const k=A(c.toolName)||"Tool",u=et(k),C=nt(p,u,{},m);r.toolCalls.push(C),a={call:C,message:r}}return Be(a.call,c,o),g.delete(p),!0}return!0}for(const S of n){if(L(S))continue;const{data:r}=S,c=tt(S);if(S.type==="session.start"||S.type==="session.resume"){_=A(r.selectedModel)||_,d=A(r.reasoningEffort)||d;continue}if(S.type==="session.auto_mode_resolved"){_=A(r.chosenModel)||_,y&&(y.model=_);continue}if(S.type==="session.model_change"){_=A(r.newModel)||_;const m=r.reasoningEffort;typeof m=="string"&&(d=m),y&&(y.model=_,d&&(y.effort=d));continue}if(S.type==="session.shutdown"){_=A(r.currentModel)||_,y&&!y.model&&(y.model=_),w=ys(r)??w;const m=z(r.totalApiDurationMs);y&&!E&&m&&T.set(y,m);continue}if(S.type==="user.message"){F(),y=Re(Ae(S),c,gs(r,o),_,d,!1),v(y,c);continue}if(S.type==="assistant.turn_start"){_=A(r.model)||_;const m=P(S);m.model=_,d&&(m.effort=d),v(m,c);continue}if(S.type==="assistant.reasoning"){const m=P(S);Ee(m,A(r.content),c,A(r.reasoningId)||J(S,"copilot-thinking")),v(m,c);continue}if(S.type==="assistant.message"){_=A(r.model)||_;const m=P(S);m.model=_,d&&(m.effort=d),Ee(m,A(r.reasoningText),c,J(S,"copilot-thinking")),ie(m,we(r.content),c);for(const p of Ne(r.toolRequests,c,a=>l.has(a)))ft(m,p,c),l.set(p.id,{call:p,turn:m});v(m,c);continue}if(S.type==="assistant.usage"){_=A(r.model)||_,d=A(r.reasoningEffort)||d;const m=Mt(r),p=z(r.duration);m&&(N=!0),p&&(E=!0);const a=P(S);a.model=_,d&&(a.effort=d),m&&(a.tokenUsage=Q(a.tokenUsage,m)),p&&T.set(a,(T.get(a)??0)+p),v(a,c);continue}if(S.type==="tool.execution_start"){_=A(r.model)||_;const m=P(S);m.model=_;const p=A(r.toolCallId)||J(S,"copilot-tool"),a=A(r.toolName)||"Tool",k=et(a),u=l.get(p);if(u)ve(u.call,k,r.arguments,c);else{const C=nt(p,k,pt(k,r.arguments),c);ft(m,C,c),l.set(p,{call:C,turn:m})}v(m,c);continue}if(S.type==="tool.execution_complete"){_=A(r.model)||_;const m=A(r.toolCallId)||J(S,"copilot-tool");let p=l.get(m);if(!p){const a=P(S),k=A(r.toolName)||"Tool",u=et(k),C=nt(m,u,{},c);ft(a,C,c),p={call:C,turn:a}}Be(p.call,r,o),l.delete(m),v(p.turn,c);continue}if(S.type==="session.error"){const m=P(S),a={errorType:A(r.errorType)||"unknown"};typeof r.statusCode=="number"&&(a.statusCode=r.statusCode),typeof r.errorCode=="string"&&(a.errorCode=r.errorCode),ft(m,{id:J(S,"copilot-error"),name:"Error",input:a,result:A(r.message)||"Copilot session error",isError:!0,timestamp:c},c),v(m,c);continue}(S.type==="assistant.turn_end"||S.type==="assistant.idle"||S.type==="session.idle")&&y&&v(y,c)}if(F(),!N&&w&&i.length===1&&(i[0].tokenUsage=Q(i[0].tokenUsage,w)),s.model)for(const S of i)S.model||(S.model=s.model);for(const S of i){const r=b.get(S),c=Date.parse(S.timestamp),m=r?Date.parse(r):Number.NaN;if(Number.isFinite(c)&&Number.isFinite(m)&&m>=c)S.durationMs=m-c;else{const p=T.get(S)??0;p&&(S.durationMs=p)}}const $=e!=null&&e.skipStats?it(i.length):rt(i);return!(e!=null&&e.skipStats)&&!N&&w&&i.length>1&&($.totalInputTokens=w.input_tokens,$.totalOutputTokens=w.output_tokens,$.totalCacheCreationTokens=w.cache_creation_input_tokens??0,$.totalCacheReadTokens=w.cache_read_input_tokens??0),{sessionId:s.sessionId,version:s.version,gitBranch:s.gitBranch,cwd:s.cwd,slug:s.slug,name:s.name,model:s.model,turns:i,stats:$,rawMessages:e!=null&&e.skipStats?[]:n,agentKind:"copilot"}}function Is(t,e){const n=t.rawMessages.map(s=>JSON.stringify(s)).join(`
28
28
  `);return Pe(n?`${n}
29
- ${e}`:e)}function As(t){return typeof t=="string"&&(t==="abort"||t==="binary_asset"||t==="user.message"||t.startsWith("assistant.")||t.startsWith("permission.")||t.startsWith("session.")||t.startsWith("subagent.")||t.startsWith("tool.")||t.startsWith("user_input."))}function Ss(t){const e=new Map;for(const o of t){const i=typeof o.agentId=="string"?o.agentId:"";if(!i&&(o.type==="abort"||o.type==="session.shutdown"||o.type==="session.error")){e.clear();continue}if(!i||!o.type.startsWith("subagent."))continue;const l=O(o.data)?o.data:{};if(o.type==="subagent.completed"||o.type==="subagent.failed"){e.delete(i);continue}if(o.type==="subagent.started"||o.type==="subagent.configured"){const f=[l.agentDisplayName,l.description,l.agentName].find(g=>typeof g=="string")??"";e.set(i,f||e.get(i)||"")}}if(e.size>0){const o=[...e.values()];return{status:"awaiting_agents",pendingQueue:0,pendingAgents:o.length,pendingAgentDescriptions:o.filter(i=>i.length>0)}}let n=!1;const s=new Set;for(let o=t.length-1;o>=0;o--){const i=t[o];if(typeof i.agentId=="string"&&i.agentId)continue;const l=O(i.data)?i.data:{};switch(i.type){case"abort":case"session.shutdown":return{status:"completed"};case"assistant.turn_end":{for(let f=o-1;f>=0;f--){const g=t[f];if(typeof g.agentId=="string"&&g.agentId)continue;if(g.type==="user.message")break;if(g.type==="abort")return{status:"completed"};if(g.type!=="assistant.message")continue;const b=O(g.data)?g.data:{};return Array.isArray(b.toolRequests)&&b.toolRequests.length>0?{status:"processing"}:{status:"completed"}}return{status:"processing"}}case"session.error":return{status:"completed",terminalReason:typeof l.message=="string"?l.message:"Copilot session error"};case"assistant.idle":case"session.idle":return{status:n?"completed":"idle"};case"permission.completed":{const f=typeof l.requestId=="string"?l.requestId:"";f&&s.add(f);continue}case"permission.requested":{const f=typeof l.requestId=="string"?l.requestId:"";if(f&&s.has(f))continue;return{status:"deferred"}}case"user_input.requested":return{status:"tool_use",toolName:"AskUserQuestion"};case"tool.execution_start":return s.size>0?{status:"thinking"}:{status:"tool_use",toolName:typeof l.toolName=="string"?V(l.toolName):typeof l.name=="string"?V(l.name):void 0};case"tool.execution_complete":return{status:"thinking"};case"assistant.turn_start":return{status:"processing"};case"assistant.message":case"assistant.message_delta":case"assistant.reasoning":case"assistant.reasoning_delta":return{status:"thinking"};case"user.message":return n=!0,{status:"processing"};case"session.start":case"session.resume":return{status:n?"processing":"idle"}}}return{status:"idle"}}function ws(){throw new Error("Copilot sessions branch through the CLI's fork API, not by copying the transcript")}function Ms(t){const e=[];for(let n=0;n<t.length;n++){const s=t[n];if(s.type!=="user.message"||typeof s.agentId=="string")continue;const o=s.data;!o||typeof o!="object"||Array.isArray(o)||typeof s.id!="string"||!s.id||e.push(n)}return e}const Ue=mt[mt.length-1],Es={kind:"codex",descriptor:kt("codex"),detectsText:Xn,detectsRecords:Yn,parse:Te,append:es,metadataFromLines:ts,status:is,brandBranch:rs,turnBoundaries:as},Ns={kind:"copilot",descriptor:kt("copilot"),detectsText:us,detectsRecords:ds,parse:Pe,append:Is,metadataFromLines:ps,status:Ss,brandBranch:ws,turnBoundaries:Ms},vs={kind:"claude",descriptor:kt("claude"),detectsText:te,detectsRecords:te,parse:mn,append:gn,metadataFromLines:fn,status:Tn,brandBranch:Cn,turnBoundaries:xn},Et=Object.freeze({claude:vs,codex:Es,copilot:Ns});function Fe(t){for(const e of mt)if(t(Et[e]))return Et[e];return Et[Ue]}function De(t){return Fe(e=>e.detectsText(t))}function Bs(t){return Fe(e=>e.detectsRecords(t))}function Rs(t,e){return De(t).parse(t,e)}function Ps(t,e){const n=Bs(t.rawMessages);return(n.kind===Ue?De(e):n).append(t,e)}self.onmessage=t=>{const e=t.data;try{let n;e.type==="parse"?n=Rs(e.text):n=Ps(e.existing,e.newText),self.postMessage({type:"result",id:e.id,session:n})}catch(n){self.postMessage({type:"error",id:e.id,error:n instanceof Error?n.message:String(n)})}}})();
29
+ ${e}`:e)}function As(t){return typeof t=="string"&&(t==="abort"||t==="binary_asset"||t==="user.message"||t.startsWith("assistant.")||t.startsWith("permission.")||t.startsWith("session.")||t.startsWith("subagent.")||t.startsWith("tool.")||t.startsWith("user_input."))}function Ss(t){const e=new Map;for(const o of t){const i=typeof o.agentId=="string"?o.agentId:"";if(!i&&(o.type==="abort"||o.type==="session.shutdown"||o.type==="session.error")){e.clear();continue}if(!i||!o.type.startsWith("subagent."))continue;const l=O(o.data)?o.data:{};if(o.type==="subagent.completed"||o.type==="subagent.failed"){e.delete(i);continue}if(o.type==="subagent.started"||o.type==="subagent.configured"){const f=[l.agentDisplayName,l.description,l.agentName].find(g=>typeof g=="string")??"";e.set(i,f||e.get(i)||"")}}if(e.size>0){const o=[...e.values()];return{status:"awaiting_agents",pendingQueue:0,pendingAgents:o.length,pendingAgentDescriptions:o.filter(i=>i.length>0)}}let n=!1;const s=new Set;for(let o=t.length-1;o>=0;o--){const i=t[o];if(typeof i.agentId=="string"&&i.agentId)continue;const l=O(i.data)?i.data:{};switch(i.type){case"abort":case"session.shutdown":return{status:"completed"};case"assistant.turn_end":{for(let f=o-1;f>=0;f--){const g=t[f];if(typeof g.agentId=="string"&&g.agentId)continue;if(g.type==="user.message")break;if(g.type==="abort")return{status:"completed"};if(g.type!=="assistant.message")continue;const b=O(g.data)?g.data:{};return Array.isArray(b.toolRequests)&&b.toolRequests.length>0?{status:"processing"}:{status:"completed"}}return{status:"processing"}}case"session.error":return{status:"completed",terminalReason:typeof l.message=="string"?l.message:"Copilot session error"};case"assistant.idle":case"session.idle":return{status:n?"completed":"idle"};case"permission.completed":{const f=typeof l.requestId=="string"?l.requestId:"";f&&s.add(f);continue}case"permission.requested":{const f=typeof l.requestId=="string"?l.requestId:"";if(f&&s.has(f))continue;return{status:"deferred"}}case"user_input.requested":return{status:"tool_use",toolName:"AskUserQuestion"};case"tool.execution_start":return s.size>0?{status:"thinking"}:{status:"tool_use",toolName:typeof l.toolName=="string"?V(l.toolName):typeof l.name=="string"?V(l.name):void 0};case"tool.execution_complete":return{status:"thinking"};case"assistant.turn_start":return{status:"processing"};case"assistant.message":case"assistant.message_delta":case"assistant.reasoning":case"assistant.reasoning_delta":return{status:"thinking"};case"user.message":return n=!0,{status:"processing"};case"session.start":case"session.resume":return{status:n?"processing":"idle"}}}return{status:"idle"}}function ws(){throw new Error("Copilot sessions branch through the CLI's fork API, not by copying the transcript")}function Ms(t){const e=[];for(let n=0;n<t.length;n++){const s=t[n];if(s.type!=="user.message"||typeof s.agentId=="string")continue;const o=s.data;!o||typeof o!="object"||Array.isArray(o)||typeof s.id!="string"||!s.id||e.push(n)}return e}const De=mt[mt.length-1],Es={kind:"codex",descriptor:kt("codex"),detectsText:Xn,detectsRecords:Yn,parse:Te,append:es,metadataFromLines:ts,status:is,brandBranch:rs,turnBoundaries:as},Ns={kind:"copilot",descriptor:kt("copilot"),detectsText:us,detectsRecords:ds,parse:Pe,append:Is,metadataFromLines:ps,status:Ss,brandBranch:ws,turnBoundaries:Ms},vs={kind:"claude",descriptor:kt("claude"),detectsText:te,detectsRecords:te,parse:mn,append:gn,metadataFromLines:fn,status:Tn,brandBranch:Cn,turnBoundaries:xn},Et=Object.freeze({claude:vs,codex:Es,copilot:Ns});function Ue(t){for(const e of mt)if(t(Et[e]))return Et[e];return Et[De]}function Fe(t){return Ue(e=>e.detectsText(t))}function Bs(t){return Ue(e=>e.detectsRecords(t))}function Rs(t,e){return Fe(t).parse(t,e)}function Ps(t,e){const n=Bs(t.rawMessages);return(n.kind===De?Fe(e):n).append(t,e)}self.onmessage=t=>{const e=t.data;try{let n;e.type==="parse"?n=Rs(e.text):n=Ps(e.existing,e.newText),self.postMessage({type:"result",id:e.id,session:n})}catch(n){self.postMessage({type:"error",id:e.id,error:n instanceof Error?n.message:String(n)})}}})();
@@ -14,12 +14,12 @@
14
14
  .dark body { background: var(--canvas, #09090b); color: var(--foreground, #fafafa); }
15
15
  body { background: var(--canvas, #fafafa); color: var(--foreground, #09090b); }
16
16
  </style>
17
- <script type="module" crossorigin src="/assets/index-DsnL-sXV.js"></script>
17
+ <script type="module" crossorigin src="/assets/index-CW9tjG1S.js"></script>
18
18
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-gGw_S5I_.js">
19
19
  <link rel="modulepreload" crossorigin href="/assets/vendor-ui-Br3ZTAXZ.js">
20
20
  <link rel="modulepreload" crossorigin href="/assets/vendor-markdown-BE1gYnO9.js">
21
21
  <link rel="modulepreload" crossorigin href="/assets/vendor-shiki-DOn6sF-i.js">
22
- <link rel="stylesheet" crossorigin href="/assets/index-TCQKag8a.css">
22
+ <link rel="stylesheet" crossorigin href="/assets/index-BO-Nd-ib.css">
23
23
  <script src="/theme-bootstrap.js"></script>
24
24
  </head>
25
25
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cogpit",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Run Cogpit's local Claude Code, Codex, and GitHub Copilot CLI interface without installing it",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- import{c as se,j as u,r as M}from"./vendor-react-gGw_S5I_.js";import{ad as h,ae as Y,af as de,ag as me,ah as ue,ai as he,aj as ge,ak as fe,al as ve,am as we,an as Ce,ao as Se,ap as je,aq as Z,ar as _,as as be,at as ye,au as xe,av as Pe,aw as Te,ax as Oe,ay as ke,U as Ne}from"./index-DsnL-sXV.js";import{P as Fe,j as Ee,k as ee,S as Ie,L as $e,H as Re,l as Ae,m as De,c as te,G as Le,F as He,n as Me,o as Be,p as qe,q as Ge,r as Ke,s as Ue,t as ne,u as ze,v as We,w as _e,K as pe,E as Ve,x as Xe,y as Je,z as ae,A as Qe,B as Ye,D as Ze}from"./vendor-ui-Br3ZTAXZ.js";import"./vendor-shiki-DOn6sF-i.js";import"./vendor-markdown-BE1gYnO9.js";function a(t,e,s,c,l,m,d){return{id:t,label:e,icon:c,run:l,shortcut:m,description:d,value:`${e} ${s}`}}function p(...t){return t.filter(e=>e!==!1&&e!==void 0)}function et(t){const e=se.c(40);let s,c,l,m,d,v,w,r,C,g,j,f,b,k,y;if(e[0]!==t){const $=p(a("home","Go to dashboard","home overview",Re,t.onGoHome),a("mission-control",t.showMission?"Exit Mission Control":"Open Mission Control","live sessions blocked waiting answer everything at once",$e,t.onToggleMissionControl,h("missionControl")),...(t.extraActions??[]).map(tt),a("new-session","Start a new session","project agent chat create",Fe,t.onNewSession,h("newSession")),t.onDuplicateSession&&a("duplicate-session","Duplicate this session","copy fork clone branch thread",Ee,t.onDuplicateSession),t.canFocusComposer&&a("focus-composer","Focus message composer","chat prompt input",ee,t.onFocusComposer,h("focusComposer")),t.onFindInConversation&&a("find-in-conversation","Find in conversation","search text transcript turns matches",Ie,t.onFindInConversation,h("findInConversation"))),F=(t.projects??[]).slice(0,8).map(n=>a(`project-${n.dirName}`,n.shortName,`${n.path} ${n.dirName} project workspace`,Ae,()=>{var i;return(i=t.onOpenProject)==null?void 0:i.call(t,n.dirName)},void 0,`${n.path} · ${n.sessionCount} session${n.sessionCount===1?"":"s"}`)),E=(t.recentSessions??[]).slice(0,10).map(n=>{const N=(n.aiTitle||n.name||n.slug||n.lastUserMessage||n.firstUserMessage||n.sessionId).replace(/\s+/g," ").trim().slice(0,160)||n.sessionId,L=[n.projectShortName,n.gitBranch].filter(Boolean).join(" · ");return a(`session-${n.dirName}-${n.fileName}`,N,`${n.projectShortName} ${n.cwd??""} ${n.gitBranch??""} ${n.sessionId} recent thread conversation`,ee,()=>{var q;return(q=t.onOpenSession)==null?void 0:q.call(t,n.dirName,n.fileName)},void 0,L)}),o=t.devices??[],I=o.length>1&&t.onSwitchDevice?o.slice(0,Y.length).map((n,i)=>a(`device-${n.id}`,n.isActive?`${n.name} (current)`:`Switch to ${n.name}`,`device machine host remote ${n.id}`,n.isLocal?De:te,()=>{var N;return(N=t.onSwitchDevice)==null?void 0:N.call(t,n.id)},h(Y[i]))):[],O=p(a("toggle-sidebar",t.showSidebar?"Hide session sidebar":"Show session sidebar","projects navigation panel",Ge,t.onToggleSidebar,h("toggleSidebar")),t.hasSession&&a("toggle-stats",t.showStats?"Hide session details":"Show session details","stats tokens usage panel",qe,t.onToggleStats,h("toggleStats")),t.onToggleProjectFiles&&a("project-files",t.showProjectFiles?"Close project files":"Open project files","browse edit save workspace source code",Be,t.onToggleProjectFiles,h("projectFiles")),t.onToggleBrowser&&a("toggle-browser",t.showBrowser?"Hide browser":"Show browser","web page live view browse panel",Me,t.onToggleBrowser),t.hasFileChanges&&a("toggle-file-changes",t.showFileChanges?"Hide file changes":"Show file changes","diff edits review panel",He,t.onToggleFileChanges),t.supportsWorktrees&&t.canOpenTerminal&&a("toggle-worktrees",t.showWorktrees?"Hide worktrees":"Show worktrees","git branches panel",Le,t.onToggleWorktrees)),R=p(t.onOpenProjectInEditor&&a("open-project-editor","Open project in editor","code cursor vscode zed workspace",Ye,t.onOpenProjectInEditor),t.onRevealProject&&a("reveal-project","Reveal project in file manager","finder explorer folder directory",Qe,t.onRevealProject),t.onCopyResumeCommand&&a("copy-resume-command","Copy resume command","cli claude codex copilot terminal clipboard continue session",ae,t.onCopyResumeCommand),t.onCopyProjectPath&&a("copy-project-path","Copy project path","workspace directory clipboard",ae,t.onCopyProjectPath),t.onOpenIntegratedTerminal&&a("integrated-terminal","New integrated terminal","embedded shell command line process panel",Je,t.onOpenIntegratedTerminal,h("newIntegratedTerminal")),t.canOpenTerminal&&a("terminal","Open in system terminal","external shell command line app",Xe,t.onOpenTerminal,h("systemTerminal")),t.onTogglePreview&&a("preview","Toggle development preview","browser localhost dev server website",Ve,t.onTogglePreview,h("preview")),t.onOpenKeyboardShortcuts&&a("keyboard-shortcuts","Customize keyboard shortcuts","keybindings hotkeys settings",pe,t.onOpenKeyboardShortcuts),t.onOpenConfig&&a("config",t.showConfig?"Close agent configuration":"Open agent configuration","skills commands claude settings files",_e,t.onOpenConfig),a("settings","Open Cogpit settings","preferences network",We,t.onOpenSettings),a("theme","Change theme & chat width","appearance light dark oled width narrow wide",ze,t.onOpenTheme,h("themeSelector")),a("expand","Expand all groups","conversation details",ne,t.onExpandAll,h("expandAll")),a("expand-payloads","Expand all tool payloads","raw input result diff conversation details",ne,t.onExpandToolPayloads,h("expandToolPayloads")),a("collapse","Collapse all","conversation groups payloads details",Ue,t.onCollapseAll),t.onKillAll&&a("kill-all","Kill all agent processes","stop terminate halt everything runaway",Ke,t.onKillAll),t.onOpenDevices&&a("manage-devices","Manage devices…","remote machines hub hosts edit rename remove switch",Ze,()=>{var n;return(n=t.onOpenDevices)==null?void 0:n.call(t,"manage")}),t.onOpenDevices&&a("add-device","Add device…","remote machine hub host connect pair new",te,()=>{var n;return(n=t.onOpenDevices)==null?void 0:n.call(t,"add")})),A=[{value:"Navigation",items:$},...E.length>0?[{value:"Recent sessions",items:E}]:[],...F.length>0?[{value:"Projects",items:F}]:[],...I.length>0?[{value:"Devices",items:I}]:[],{value:"View",items:O},{value:"Tools",items:R}],D=function(i){t.onOpenChange(!1),i.run()};l=ge,b=t.open,k=t.onOpenChange,y="Command palette",v="Search for a Cogpit action to run.",w="max-w-xl",c=fe,C="Search commands",g=!0,e[16]===Symbol.for("react.memo_cache_sentinel")?(j=u.jsx(ve,{"aria-label":"Search commands",autoFocus:!0,placeholder:"Search commands..."}),e[16]=j):j=e[16],e[17]!==t.loadingNavigation?(f=t.loadingNavigation&&u.jsxs("div",{className:"motion-enter flex items-center gap-2 px-3 py-2 text-xs text-muted-foreground",role:"status",children:[u.jsx(de,{className:"size-3.5"}),"Loading projects and sessions..."]}),e[17]=t.loadingNavigation,e[18]=f):f=e[18],s=we,m="max-h-[min(26rem,60vh)]",e[19]===Symbol.for("react.memo_cache_sentinel")?(d=u.jsx(Ce,{children:"No matching actions."}),e[19]=d):d=e[19],r=A.map(n=>u.jsx(me,{heading:n.value,children:n.items.map(i=>{const N=i.icon;return u.jsxs(ue,{value:i.value,onSelect:()=>D(i),children:[u.jsx(N,{"aria-hidden":"true"}),u.jsxs("span",{className:"min-w-0 flex-1",children:[u.jsx("span",{className:"block truncate",children:i.label}),i.description&&u.jsx("span",{className:"block truncate text-xs text-muted-foreground",children:i.description})]}),i.shortcut&&u.jsx(he,{children:i.shortcut})]},i.id)})},n.value)),e[0]=t,e[1]=s,e[2]=c,e[3]=l,e[4]=m,e[5]=d,e[6]=v,e[7]=w,e[8]=r,e[9]=C,e[10]=g,e[11]=j,e[12]=f,e[13]=b,e[14]=k,e[15]=y}else s=e[1],c=e[2],l=e[3],m=e[4],d=e[5],v=e[6],w=e[7],r=e[8],C=e[9],g=e[10],j=e[11],f=e[12],b=e[13],k=e[14],y=e[15];let x;e[20]!==s||e[21]!==m||e[22]!==d||e[23]!==r?(x=u.jsxs(s,{className:m,children:[d,r]}),e[20]=s,e[21]=m,e[22]=d,e[23]=r,e[24]=x):x=e[24];let P;e[25]!==c||e[26]!==x||e[27]!==C||e[28]!==g||e[29]!==j||e[30]!==f?(P=u.jsxs(c,{label:C,loop:g,children:[j,f,x]}),e[25]=c,e[26]=x,e[27]=C,e[28]=g,e[29]=j,e[30]=f,e[31]=P):P=e[31];let T;return e[32]!==l||e[33]!==v||e[34]!==w||e[35]!==P||e[36]!==b||e[37]!==k||e[38]!==y?(T=u.jsx(l,{open:b,onOpenChange:k,title:y,description:v,className:w,children:P}),e[32]=l,e[33]=v,e[34]=w,e[35]=P,e[36]=b,e[37]=k,e[38]=y,e[39]=T):T=e[39],T}function tt(t){return a(t.id,t.label,t.keywords,t.icon,t.onSelect)}async function oe(t,e){const s=await Ne(t,{signal:e});if(!s.ok)throw new Error(`Request failed (${s.status})`);const c=await s.json();return Array.isArray(c)?c:[]}function lt(t){var V;const e=se.c(49);let s,c,l,m,d,v;e[0]!==t?({open:l,currentProjectDirName:s,projectCwd:d,onProcessStarted:c,launchTerminalRequest:v,...m}=t,e[0]=t,e[1]=s,e[2]=c,e[3]=l,e[4]=m,e[5]=d,e[6]=v):(s=e[1],c=e[2],l=e[3],m=e[4],d=e[5],v=e[6]);const w=v===void 0?0:v,r=Se();let C;e[7]===Symbol.for("react.memo_cache_sentinel")?(C=[],e[7]=C):C=e[7];const[g,j]=M.useState(C);let f;e[8]===Symbol.for("react.memo_cache_sentinel")?(f=[],e[8]=f):f=e[8];const[b,k]=M.useState(f),[y,x]=M.useState(!1),P=M.useRef(0),T=je();let $,F;e[9]!==T||e[10]!==l?($=()=>{if(!l)return;const S=new AbortController,B=ye();return x(!0),Promise.allSettled([oe("/api/projects",S.signal),oe(xe({limit:"12",perProject:"3"},T),S.signal)]).then(re=>{const[X,J]=re;if(S.signal.aborted)return;const Q=J.status==="fulfilled"?J.value:[];Pe(Q,B),j(X.status==="fulfilled"?X.value:[]),k(Q),x(!1)}),()=>S.abort()},F=[l,T],e[9]=T,e[10]=l,e[11]=$,e[12]=F):($=e[11],F=e[12]),M.useEffect($,F);let E;e:{if(d){E=d;break e}if(!s){E=null;break e}let S;e[13]!==s||e[14]!==g?(S=((V=g.find(B=>B.dirName===s))==null?void 0:V.path)??null,e[13]=s,e[14]=g,e[15]=S):S=e[15],E=S}const o=E;let I;e[16]!==c||e[17]!==r||e[18]!==o?(I=()=>{if(!o)return;const S=r.spawnTerminal({cwd:o}),B=o.replace(/\/+$/,"").split("/").at(-1)||"Terminal";c({id:S,name:B,type:"terminal",status:"running",source:o})},e[16]=c,e[17]=r,e[18]=o,e[19]=I):I=e[19];const O=I;let R,A;e[20]!==O||e[21]!==w||e[22]!==r.status||e[23]!==o?(R=()=>{w<=P.current||!o||r.status!=="connected"||(P.current=w,O())},A=[O,w,r.status,o],e[20]=O,e[21]=w,e[22]=r.status,e[23]=o,e[24]=R,e[25]=A):(R=e[24],A=e[25]),M.useEffect(R,A);let D;e[26]!==s||e[27]!==o?(D={path:o,dirName:s},e[26]=s,e[27]=o,e[28]=D):D=e[28];const n=D;let i;e[29]!==n?(i=()=>Te(n),e[29]=n,e[30]=i):i=e[30];const N=i;let L;e[31]!==n?(L=()=>Oe(n),e[31]=n,e[32]=L):L=e[32];const q=L,ie=!Z()&&_("hostFiles"),le=_("hostFiles")&&(!Z()||be());let G;e[33]!==o?(G=()=>{o&&ke(o)},e[33]=o,e[34]=G):G=e[34];const ce=G;let H;e[35]!==O||e[36]!==r.status||e[37]!==o?(H=o&&r.status==="connected"&&_("terminal")?O:void 0,e[35]=O,e[36]=r.status,e[37]=o,e[38]=H):H=e[38];const U=o&&le?N:void 0,z=o&&ie?q:void 0,W=o?ce:void 0;let K;return e[39]!==y||e[40]!==l||e[41]!==m||e[42]!==g||e[43]!==b||e[44]!==H||e[45]!==U||e[46]!==z||e[47]!==W?(K=u.jsx(et,{...m,open:l,projects:g,recentSessions:b,loadingNavigation:y,onOpenIntegratedTerminal:H,onOpenProjectInEditor:U,onRevealProject:z,onCopyProjectPath:W}),e[39]=y,e[40]=l,e[41]=m,e[42]=g,e[43]=b,e[44]=H,e[45]=U,e[46]=z,e[47]=W,e[48]=K):K=e[48],K}export{lt as CommandPaletteHost};