@pasko70/pibo 3.1.3 → 3.1.4

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/apps/chat/data/timeline-query-service.js +5 -2
  2. package/dist/apps/chat/output-compactor.js +33 -30
  3. package/dist/apps/chat/trace-v2.js +1 -0
  4. package/dist/apps/chat/trace.js +3 -1
  5. package/dist/apps/chat/web-app.js +106 -65
  6. package/dist/apps/chat-ui/assets/{dist-BNzch-mL.js → dist-BOqsX6_s.js} +1 -1
  7. package/dist/apps/chat-ui/assets/{dist-CoA9zNTP.js → dist-BcUbdOKJ.js} +1 -1
  8. package/dist/apps/chat-ui/assets/{dist-liw1S7HS.js → dist-DkpIJ_Pp.js} +1 -1
  9. package/dist/apps/chat-ui/assets/{dist-7DhHpLCA.js → dist-a0mykCz7.js} +1 -1
  10. package/dist/apps/chat-ui/assets/{dist-DDRlEGPR.js → dist-qDZ-CdlK.js} +1 -1
  11. package/dist/apps/chat-ui/assets/{index-BKp6zKIe.js → index-G2ic-FSG.js} +89 -89
  12. package/dist/apps/chat-ui/index.html +1 -1
  13. package/dist/apps/chat-vscode-web/assets/{index-CKC-46jZ.js → index-zQ1fNz5K.js} +1 -1
  14. package/dist/apps/chat-vscode-web/index.html +1 -1
  15. package/dist/cli-session/localSessionSource.js +26 -20
  16. package/dist/core/output-persistence-retry.js +23 -1
  17. package/dist/core/output-render-sequence.js +33 -9
  18. package/dist/data/ingest-service.js +8 -0
  19. package/dist/debug/index.js +294 -2
  20. package/dist/debug/output-integrity.js +608 -0
  21. package/dist/debug/output-repair.js +584 -0
  22. package/dist/debug/trace.js +2 -0
  23. package/dist/reliability/store.js +2 -2
  24. package/dist/sessions/pibo-data-store.js +26 -20
  25. package/dist/shared/trace-engine.js +5 -2
  26. package/dist/shared/trace-event-projection.js +74 -0
  27. package/dist/shared/trace-page-merge.js +31 -5
  28. package/npm-shrinkwrap.json +2 -2
  29. package/package.json +1 -1
@@ -40,4 +40,4 @@ Error generating stack: `+e.message+`
40
40
  `||t===` `)break;if(t===`$`){if(e>0&&i[e-1]===`\\`)continue;return{query:i.slice(e+1,N).toLowerCase(),startPos:e,endPos:N}}}return null},[i,N]),we=i.trim().startsWith(`/`)?i.trim().split(/\s+/)[0]:null,Te=Ce?Pk(Ce.startPos,i.slice(Ce.startPos,N)):null,Ee=we?Fk(we):null,De=(0,L.useMemo)(()=>Ce?r.filter(e=>e.name.toLowerCase().startsWith(Ce.query)):[],[Ce,r]),Oe=(0,L.useMemo)(()=>we?n.filter(e=>e.slash.startsWith(we)):[],[we,n]),F=Te&&re.includes(Te)?[]:De,ke=Ee&&re.includes(Ee)?[]:Oe,I=Math.min(M,Math.max(0,F.length-1)),Ae=Math.min(te,Math.max(0,ke.length-1)),je=[F.length?kk:null,ke.length?Ok:null].filter(e=>!!e).join(` `)||void 0,Me=F.length?jk(I):ke.length?Ak(Ae):void 0,Ne=F.length?`${F.length} skill suggestion${F.length===1?``:`s`} available. $${F[I].name} selected, ${I+1} of ${F.length}.`:ke.length?`${ke.length} command suggestion${ke.length===1?``:`s`} available. ${ke[Ae].slash} selected, ${Ae+1} of ${ke.length}.`:De.length||Oe.length?`Suggestions closed.`:``,Pe=(0,L.useCallback)(e=>{e&&ie(t=>t.includes(e)?t:[...t,e])},[]),Fe=(0,L.useCallback)(()=>{let e=[De.length?Te:null,Oe.length?Ee:null].filter(e=>!!e);e.length&&ie(t=>{let n=new Set(t);for(let t of e)n.add(t);return n.size===t.length?t:[...n]})},[Ee,Oe.length,De.length,Te]);(0,L.useEffect)(()=>{let e=[Te,Ee].filter(e=>!!e);ie(t=>t.filter(t=>e.includes(t)))},[Ee,Te]),(0,L.useEffect)(()=>{!ke.length||te<ke.length||j(0)},[te,ke.length]),(0,L.useEffect)(()=>{!F.length||M<F.length||ne(0)},[M,F.length]),(0,L.useEffect)(()=>{let e=requestAnimationFrame(()=>b.current?.scrollIntoView({block:`nearest`}));return()=>cancelAnimationFrame(e)},[te,ke.length]),(0,L.useEffect)(()=>{let e=requestAnimationFrame(()=>x.current?.scrollIntoView({block:`nearest`}));return()=>cancelAnimationFrame(e)},[M,F.length]),(0,L.useEffect)(()=>{C.current=i},[i]),(0,L.useEffect)(()=>{S.current=null},[e]),(0,L.useEffect)(()=>(w.current=!0,()=>{w.current=!1,xe(!1);let e=T.current;e&&e.state!==`inactive`&&(e.ondataavailable=null,e.onstop=null,e.stop());for(let e of E.current?.getTracks()??[])e.stop()}),[xe]),(0,L.useEffect)(()=>{if(!le)return;let e=requestAnimationFrame(()=>y.current?.focus());return()=>{cancelAnimationFrame(e),URL.revokeObjectURL(le.previewUrl)}},[le]),(0,L.useEffect)(()=>{if(a<=0)return;let e=_.current;if(!e)return;let t=e.value.length;e.focus(),e.setSelectionRange(t,t),P(t)},[a]),(0,L.useEffect)(()=>{if(!ke.length&&!F.length)return;let e=e=>{let t=e.target;t instanceof Node&&(g.current?.contains(t)||Fe())};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[Fe,ke.length,F.length]),(0,L.useLayoutEffect)(()=>{Gk(_.current)},[i]);let Ie=e=>{if(!Ce||!_.current)return;let t=i.slice(0,Ce.startPos),n=i.slice(Ce.endPos);c(t+`$`+e+n),Pe(Pk(Ce.startPos,`$${e}`));let r=Ce.startPos+1+e.length;P(r),requestAnimationFrame(()=>{_.current?.setSelectionRange(r,r),P(r)})},Le=e=>{c(e),requestAnimationFrame(()=>{let e=_.current;if(!e)return;let t=e.value.length;e.setSelectionRange(t,t),P(t)})},Re=e=>{let t=S.current;if(!t){if(e===`next`||i!==``)return!1;let t=gk();if(!t.length)return!1;let n=e===`previous`?t.length-1:0;return S.current={entries:t,index:n,draft:i},Le(t[n]),!0}if(e===`previous`){let e=Math.max(0,t.index-1);return S.current={...t,index:e},Le(t.entries[e]),!0}let n=t.index+1;return n>=t.entries.length?(S.current=null,Le(t.draft),!0):(S.current={...t,index:n},Le(t.entries[n]),!0)},ze=()=>{t||ae||v.current?.click()},Be=()=>{ue(null)},Ve=e=>{if(t||ae)return;let n=Ik(e.clipboardData);if(!n.length)return;e.preventDefault(),Fe(),ce(null);let r=n[0];ue(e=>(e&&URL.revokeObjectURL(e.previewUrl),{file:r,previewUrl:URL.createObjectURL(r)}))},He=async()=>{if(!le||ae)return;let e=le.file;ue(null),await Ue([e])},Ue=async e=>{if(e.length){oe(!0),ce({message:`Uploading ${e.length} file${e.length===1?``:`s`}...`,error:!1});try{f((await Ft(e)).files),ce(null)}catch(e){ce({message:e instanceof Error?e.message:String(e),error:!0})}finally{oe(!1)}}},We=async e=>{let t=D.current;D.current=[],xe();for(let e of E.current?.getTracks()??[])e.stop();if(E.current=null,T.current=null,w.current){fe(!1),me(!0),ge({message:`Transcribing recording…`,error:!1});try{if(!t.length)throw Error(`The audio recording is empty.`);let n=e.mimeType||t.find(e=>e.type)?.type||`audio/webm`,r=new Blob(t,{type:n}),i=await xk(new File([r],Wk(n),{type:n,lastModified:Date.now()}));if(!w.current)return;let a=Hk(C.current,i.text);C.current=a,c(a),ge(null),requestAnimationFrame(()=>{let e=_.current;e&&(e.focus(),e.setSelectionRange(a.length,a.length),P(a.length))})}catch(e){w.current&&ge({message:e instanceof Error?e.message:String(e),error:!0})}finally{w.current&&me(!1)}}},Ge=async()=>{if(de){let e=T.current;e&&e.state!==`inactive`&&(xe(),fe(!1),me(!0),e.stop());return}if(!(t||ae||pe)){if(ge(null),typeof navigator>`u`||!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){ge({message:`Audio recording is not supported by this browser.`,error:!0});return}try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});if(!w.current){for(let t of e.getTracks())t.stop();return}let t=Uk(),n=t?new MediaRecorder(e,{mimeType:t}):new MediaRecorder(e);E.current=e,T.current=n,D.current=[],n.ondataavailable=e=>{e.data.size>0&&D.current.push(e.data)},n.onerror=()=>{n.onstop=null,D.current=[],xe();for(let t of e.getTracks())t.stop();E.current=null,T.current=null,w.current&&(fe(!1),me(!1),ge({message:`Audio recording failed.`,error:!0}))},n.onstop=()=>void We(n),n.start(),Se(e),fe(!0)}catch(e){xe();for(let e of E.current?.getTracks()??[])e.stop();if(E.current=null,T.current=null,!w.current)return;fe(!1),ge({message:e instanceof Error?e.message:`Microphone access failed.`,error:!0})}}},Ke=async()=>{if(t||de||pe)return;let e=i.trim();if(e){if(F.length){Ie(F[Math.min(M,F.length-1)].name);return}if(ke.length&&!n.some(t=>t.slash===e.split(/\s+/)[0])){let e=ke[Math.min(te,ke.length-1)].slash;c(e),Pe(Fk(e));return}if(S.current=null,_k(e),c(``),e.split(/\s+/)[0]===`/upload`){ze();return}e.startsWith(`/`)&&await l(e)||await h(e)}};return(0,R.jsxs)(`div`,{ref:g,"data-pibo-debug":`composer`,"data-pibo-session-id":e??void 0,"data-pibo-state":t?`disabled`:i?`non-empty`:`empty`,className:`relative p-3 bg-[#151f24] border-t border-slate-800 max-[980px]:p-2`,children:[(0,R.jsx)(`input`,{ref:v,type:`file`,multiple:!0,className:`hidden`,onChange:e=>{let t=Array.from(e.target.files??[]);e.target.value=``,Ue(t)}}),se?(0,R.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 rounded-sm border px-3 py-2 text-xs ${se.error?`border-red-900 bg-red-950/40 text-red-200`:se.copyText?`border-green-900/60 bg-green-950/30 text-green-300`:`border-slate-700 bg-[#0e1116] text-slate-300`}`,children:[(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:se.message}),se.copyText?(0,R.jsx)(`button`,{type:`button`,onClick:()=>void Sk(se.copyText),title:`Copy uploaded file path`,"aria-label":`Copy uploaded file path`,className:`shrink-0 rounded-sm p-0.5 text-slate-400 hover:bg-slate-800 hover:text-[#11a4d4]`,children:(0,R.jsx)(xn,{size:13})}):null,(0,R.jsx)(`button`,{type:`button`,onClick:()=>ce(null),title:`Hide upload status`,"aria-label":`Hide upload status`,className:`shrink-0 rounded-sm p-0.5 text-slate-500 hover:bg-slate-800 hover:text-slate-200`,children:(0,R.jsx)(ir,{size:13})})]}):null,he?(0,R.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 rounded-sm border px-3 py-2 text-xs ${he.error?`border-red-900 bg-red-950/40 text-red-200`:`border-slate-700 bg-[#0e1116] text-slate-300`}`,"data-pibo-debug":`composer-transcription-status`,children:[pe&&!he.error?(0,R.jsx)(Rn,{size:13,className:`shrink-0 animate-spin text-[#11a4d4]`}):null,(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:he.message}),he.error?(0,R.jsx)(`button`,{type:`button`,onClick:()=>ge(null),title:`Hide transcription status`,"aria-label":`Hide transcription status`,className:`shrink-0 rounded-sm p-0.5 text-slate-500 hover:bg-slate-800 hover:text-slate-200`,children:(0,R.jsx)(ir,{size:13})}):null]}):null,le?(0,R.jsx)(`div`,{className:`fixed inset-0 z-50 grid place-items-center bg-black/60 px-4`,role:`dialog`,"aria-modal":`true`,"aria-label":`Upload pasted image`,onKeyDown:e=>{e.key===`Escape`&&Be()},children:(0,R.jsxs)(`div`,{className:`w-full max-w-md rounded-sm border border-slate-700 bg-[#151f24] shadow-2xl`,children:[(0,R.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-slate-800 px-4 py-3`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`text-sm font-semibold text-slate-100`,children:`Pasted image detected`}),(0,R.jsx)(`div`,{className:`mt-1 text-xs text-slate-400`,children:`Upload this clipboard image to the configured Pibo uploads directory?`})]}),(0,R.jsx)(`button`,{type:`button`,onClick:Be,className:`rounded-sm p-1 text-slate-500 hover:bg-slate-800 hover:text-slate-200`,"aria-label":`Cancel pasted image upload`,children:(0,R.jsx)(ir,{size:14})})]}),(0,R.jsxs)(`div`,{className:`space-y-3 px-4 py-4`,children:[(0,R.jsx)(`img`,{src:le.previewUrl,alt:`Pasted clipboard image preview`,className:`max-h-64 w-full rounded-sm border border-slate-800 bg-[#0e1116] object-contain`}),(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-xs text-slate-400`,children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono`,children:le.file.name}),(0,R.jsx)(`span`,{className:`shrink-0 font-mono`,children:Vk(le.file.size)})]})]}),(0,R.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-slate-800 px-4 py-3`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:Be,className:`h-8 rounded-sm border border-slate-700 px-3 text-xs text-slate-300 hover:border-slate-500 hover:text-slate-100`,children:`Cancel`}),(0,R.jsx)(`button`,{ref:y,type:`button`,onClick:()=>void He(),disabled:ae,className:`h-8 rounded-sm bg-[#11a4d4] px-3 text-xs font-medium text-white disabled:opacity-50`,children:`Upload image`})]})]})}):null,F.length?(0,R.jsx)(`div`,{id:kk,role:`listbox`,"aria-label":`Skill suggestions`,className:`absolute left-3 bottom-full mb-2 w-[min(520px,calc(100%-24px))] max-h-72 overflow-auto bg-[#0e1116] border border-emerald-500 rounded-sm shadow-xl`,children:F.map((e,t)=>(0,R.jsxs)(`button`,{id:jk(t),ref:t===I?x:null,type:`button`,role:`option`,"aria-selected":t===I,onClick:()=>Ie(e.name),className:`w-full grid grid-cols-[120px_1fr] gap-2 px-3 py-2 text-left border-b border-slate-800 ${t===I?`bg-emerald-500/15`:``}`,children:[(0,R.jsxs)(`span`,{className:`font-mono text-emerald-400`,children:[`$`,e.name]}),(0,R.jsx)(`span`,{className:`text-xs text-slate-400`,children:e.description??e.path??``})]},e.name))}):null,s.length?(0,R.jsxs)(`div`,{className:`mb-2 rounded-sm border border-slate-800 bg-[#0e1116] px-2.5 py-1.5`,"data-pibo-debug":`composer-upload-attachments`,"data-upload-attachment-count":s.length,children:[(0,R.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between gap-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] font-bold uppercase tracking-wider text-[#11a4d4]`,children:`Attached uploads`}),(0,R.jsx)(`button`,{type:`button`,onClick:m,className:`text-[11px] text-slate-500 hover:text-[#11a4d4]`,children:`Clear`})]}),(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:s.map(e=>(0,R.jsxs)(`div`,{title:e.path,className:`inline-flex max-w-80 items-center gap-1 rounded-sm border border-emerald-500/45 bg-emerald-500/10 px-2 py-1 text-left text-[11px] text-slate-200`,"data-pibo-debug":`composer-upload-attachment-chip`,"data-upload-path":e.path,children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate`,children:Mk(e.name||e.path,100)}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void Sk(e.path),title:`Copy uploaded file path`,"aria-label":`Copy uploaded file path`,className:`shrink-0 rounded-sm p-0.5 text-emerald-300 hover:bg-slate-800 hover:text-[#11a4d4]`,children:(0,R.jsx)(xn,{size:11})}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>p(e.id),title:`Detach ${e.name||e.path}`,"aria-label":`Detach ${e.name||e.path}`,className:`shrink-0 rounded-sm p-0.5 text-emerald-300 hover:bg-slate-800 hover:text-slate-100`,children:(0,R.jsx)(ir,{size:11})})]},e.id))})]}):null,o.length?(0,R.jsxs)(`div`,{className:`mb-2 rounded-sm border border-slate-800 bg-[#0e1116] px-3 py-2`,"data-pibo-debug":`composer-web-annotations`,"data-web-annotation-count":o.length,children:[(0,R.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] font-bold uppercase tracking-wider text-[#11a4d4]`,children:`Attached web annotations`}),(0,R.jsx)(`button`,{type:`button`,onClick:d,className:`text-[11px] text-slate-500 hover:text-[#11a4d4]`,children:`Clear`})]}),(0,R.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:o.map(e=>(0,R.jsxs)(`button`,{type:`button`,onClick:()=>u(e.id),title:`Detach ${e.id}`,className:`inline-flex max-w-72 items-center gap-1 rounded-sm border border-[#11a4d4]/50 bg-[#11a4d4]/10 px-2 py-1 text-left text-[11px] text-slate-200`,"data-pibo-debug":`composer-web-annotation-chip`,"data-web-annotation-id":e.id,children:[(0,R.jsx)(`span`,{className:`min-w-0 truncate`,children:Mk(e.primaryTarget||e.label||e.note||e.id,100)}),(0,R.jsx)(ir,{size:11,className:`shrink-0 text-[#11a4d4]`})]},e.id))})]}):null,ke.length?(0,R.jsx)(`div`,{id:Ok,role:`listbox`,"aria-label":`Command suggestions`,className:`absolute left-3 bottom-full mb-2 w-[min(520px,calc(100%-24px))] max-h-72 overflow-auto bg-[#0e1116] border border-[#11a4d4] rounded-sm shadow-xl`,children:ke.map((e,t)=>(0,R.jsxs)(`button`,{id:Ak(t),ref:t===Ae?b:null,type:`button`,role:`option`,"aria-selected":t===Ae,onClick:()=>{c(e.slash),Pe(Fk(e.slash)),j(t)},className:`w-full grid grid-cols-[120px_1fr] gap-2 px-3 py-2 text-left border-b border-slate-800 ${t===Ae?`bg-[#11a4d4]/15`:``}`,children:[(0,R.jsx)(`span`,{className:`font-mono text-[#11a4d4]`,children:e.slash}),(0,R.jsx)(`span`,{className:`text-xs text-slate-400`,children:e.description})]},e.slash))}):null,(0,R.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`sr-only`,children:Ne}),de?(0,R.jsx)(wk,{samples:_e,elapsedMs:ye}):null,(0,R.jsxs)(`div`,{className:`grid grid-cols-[1fr_auto_auto] items-end gap-2`,children:[(0,R.jsx)(`textarea`,{id:`message-composer-input`,ref:_,"data-pibo-debug":`composer-input`,"data-pibo-session-id":e??void 0,"data-pibo-state":t?`disabled`:i?`non-empty`:`empty`,rows:1,value:i,disabled:t,"aria-autocomplete":`list`,"aria-haspopup":`listbox`,"aria-controls":je,"aria-activedescendant":Me,onChange:e=>{S.current=null,C.current=e.target.value,c(e.target.value),P(e.target.selectionStart)},onKeyDown:e=>{if(e.key===`Escape`&&(F.length||ke.length)){e.preventDefault(),e.stopPropagation(),Fe();return}if(F.length&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){e.preventDefault(),ne(t=>e.key===`ArrowDown`?(t+1)%F.length:(t-1+F.length)%F.length);return}if(ke.length&&(e.key===`ArrowDown`||e.key===`ArrowUp`)){e.preventDefault(),j(t=>e.key===`ArrowDown`?(t+1)%ke.length:(t-1+ke.length)%ke.length);return}if((e.key===`ArrowUp`||e.key===`ArrowDown`)&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&Re(e.key===`ArrowUp`?`previous`:`next`)){e.preventDefault();return}if(e.key===`Enter`&&!e.shiftKey){if(e.nativeEvent?.isComposing||e.nativeEvent?.keyCode===229)return;e.preventDefault(),Ke()}},onPaste:Ve,placeholder:t?`Select a session to message`:`Send message ...`,className:`h-10 min-h-10 resize-none overflow-hidden bg-[#0e1116] border border-slate-700 rounded-sm px-3 py-2 text-sm leading-5 outline-none focus:border-[#11a4d4] disabled:opacity-50 [scrollbar-gutter:stable]`}),(0,R.jsx)(`button`,{type:`button`,disabled:pe||ae||!de&&t,onClick:()=>void Ge(),title:de?`Stop recording and transcribe`:pe?`Transcribing recording`:`Start voice recording`,"aria-label":de?`Stop recording and transcribe`:`Start voice recording`,"aria-pressed":de,"data-pibo-debug":`composer-audio-recording`,"data-recording":de?`true`:`false`,className:`h-10 w-10 self-end inline-flex items-center justify-center rounded-sm border disabled:opacity-50 ${de?`border-red-400 bg-red-500/20 text-red-300 animate-pulse`:`border-slate-700 bg-[#0e1116] text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:pe?(0,R.jsx)(Rn,{size:16,className:`animate-spin`}):de?(0,R.jsx)(Qn,{size:14,fill:`currentColor`}):(0,R.jsx)(Hn,{size:16})}),(0,R.jsx)(`button`,{type:`button`,disabled:t||ae||de||pe,onClick:()=>void Ke(),title:`Send message`,"aria-label":`Send message`,className:`h-10 w-10 self-end inline-flex items-center justify-center bg-[#11a4d4] rounded-sm text-white disabled:opacity-50`,children:(0,R.jsx)(Xn,{size:16})})]})]})}function Pk(e,t){return`skill:${e}:${t}`}function Fk(e){return`command:${e}`}function Ik(e){let t=Array.from(e.items).filter(e=>e.kind===`file`&&e.type.startsWith(`image/`)).map(e=>e.getAsFile()).filter(e=>!!e);return(t.length?t:Array.from(e.files).filter(e=>e.type.startsWith(`image/`))).map(Lk)}function Lk(e){return e.name&&e.name!==`image.png`?e:new File([e],Rk(e.type),{type:e.type||`image/png`,lastModified:Date.now()})}function Rk(e){let t=zk(e),n=new Date;return`screenshot-${[n.getFullYear(),Bk(n.getMonth()+1),Bk(n.getDate()),`-`,Bk(n.getHours()),Bk(n.getMinutes()),Bk(n.getSeconds())].join(``)}${t}`}function zk(e){switch(e){case`image/jpeg`:return`.jpg`;case`image/gif`:return`.gif`;case`image/webp`:return`.webp`;case`image/svg+xml`:return`.svg`;default:return`.png`}}function Bk(e){return String(e).padStart(2,`0`)}function Vk(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KiB`:`${(e/1048576).toFixed(1)} MiB`}function Hk(e,t){let n=t.trim();return n?e?`${e}${/\s$/.test(e)?``:`
41
41
 
42
42
  `}${n}`:n:e}function Uk(){return[`audio/webm;codecs=opus`,`audio/webm`,`audio/ogg;codecs=opus`,`audio/mp4`].find(e=>MediaRecorder.isTypeSupported(e))}function Wk(e){let t=e.includes(`ogg`)?`ogg`:e.includes(`mp4`)?`m4a`:`webm`;return`recording-${Date.now()}.${t}`}function Gk(e){if(!e)return;if(e.value&&!e.value.includes(`
43
- `)&&e.value.length<80){e.style.height=``,e.style.overflowY=`hidden`;return}let t=window.getComputedStyle(e),n=Kk(t.lineHeight,20),r=Kk(t.borderTopWidth)+Kk(t.borderBottomWidth),i=n*5+Kk(t.paddingTop)+Kk(t.paddingBottom);e.style.height=`auto`;let a=e.scrollHeight,o=a>i;e.style.height=`${Math.min(a,i)+r}px`,e.style.overflowY=o?`auto`:`hidden`,o&&e.selectionStart===e.value.length&&e.selectionEnd===e.value.length&&(e.scrollTop=a)}function Kk(e,t=0){let n=Number.parseFloat(e);return Number.isFinite(n)?n:t}var qk=`pibo.chat.webAnnotations.cdpUrl`,Jk=`pibo.chat.webAnnotations.selected`,Yk=`${Jk}.`,Xk=`pibo.chat.webAnnotations.overlay.`,Zk=`pibo.chat.webAnnotations.panelCollapsed`,Qk=`pibo.chat.shortcuts.webAnnotationsToggle`,$k=`Alt+Shift+A`;function eA(){try{return localStorage.getItem(qk)??``}catch{return``}}function tA(e){try{e.trim()?localStorage.setItem(qk,e.trim()):localStorage.removeItem(qk)}catch{}}function nA(){try{return localStorage.getItem(Qk)||`Alt+Shift+A`}catch{return $k}}function rA(e){try{return aA(localStorage.getItem(iA(e)))}catch{return null}}function iA(e){return Xk+e}function aA(e){if(!e)return null;try{return oA(JSON.parse(e))}catch{return null}}function oA(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.piboSessionId==`string`?t.piboSessionId.trim():``;return n?{bindingId:typeof t.bindingId==`string`?t.bindingId:void 0,piboSessionId:n,installed:t.installed!==!1,active:t.active===!0,toolbarExpanded:t.toolbarExpanded===!0,mode:typeof t.mode==`string`?t.mode:void 0,reason:typeof t.reason==`string`?t.reason:void 0,updatedAt:typeof t.updatedAt==`string`?t.updatedAt:void 0}:null}function sA(e){try{let t=lA(localStorage.getItem(Jk));if(t.length||!e)return t;let n=Yk+e,r=lA(localStorage.getItem(n));return r.length&&(localStorage.setItem(Jk,JSON.stringify(r)),localStorage.removeItem(n)),r}catch{return[]}}function cA(e,t){try{let n=[...new Set(t.filter(e=>e.trim()))].slice(0,5);n.length?localStorage.setItem(Jk,JSON.stringify(n)):localStorage.removeItem(Jk),e&&localStorage.removeItem(Yk+e)}catch{}}function lA(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`&&!!e.trim()).slice(0,5):[]}catch{return[]}}function uA(){try{return localStorage.getItem(Zk)===`true`}catch{return!1}}function dA(e){try{localStorage.setItem(Zk,String(e))}catch{}}var fA=`web-annotations-dialog`,pA=`web-annotations-session-panel-details`;function mA({piboSessionId:e,annotations:t,selectedIds:n,loading:r,error:i,collapsed:a,onRefresh:o,onToggle:s,onClear:c,onCollapse:l,onClose:u}){return e?(0,R.jsxs)(`section`,{className:`border-t border-slate-800 bg-[#101d22] px-3 py-2 sm:px-4`,"data-pibo-debug":`web-annotations-session-panel`,"data-pibo-session-id":e,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsx)(`div`,{className:`min-w-0`,children:(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] font-bold uppercase tracking-wider text-[#11a4d4]`,children:`Web annotations`}),(0,R.jsx)(`span`,{className:`rounded-sm border border-slate-700 px-1.5 py-0.5 text-[10px] text-slate-400`,children:t.length}),n.length?(0,R.jsxs)(`span`,{className:`rounded-sm border border-[#11a4d4]/50 px-1.5 py-0.5 text-[10px] text-[#11a4d4]`,children:[n.length,` attached`]}):null]})}),(0,R.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:o,disabled:r,title:`Refresh annotations`,"aria-label":`Refresh annotations`,className:`inline-flex h-8 w-8 items-center justify-center rounded-sm border border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] disabled:opacity-50 sm:h-7 sm:w-7`,"data-pibo-debug":`web-annotations-refresh`,children:(0,R.jsx)(Kn,{size:12,className:r?`animate-spin`:void 0})}),(0,R.jsx)(`button`,{type:`button`,onClick:c,disabled:r||!t.length,title:`Clear visible annotations`,"aria-label":`Clear visible annotations`,className:`inline-flex h-8 w-8 items-center justify-center rounded-sm border border-slate-700 text-slate-300 hover:border-red-500 hover:text-red-300 disabled:opacity-50 sm:h-7 sm:w-7`,children:(0,R.jsx)(er,{size:12})}),(0,R.jsx)(`button`,{type:`button`,onClick:l,title:a?`Expand annotations panel`:`Collapse annotations panel`,"aria-label":`Web annotations details`,"aria-expanded":!a,"aria-controls":pA,className:`inline-flex h-8 w-8 items-center justify-center rounded-sm border border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] sm:h-7 sm:w-7`,children:a?(0,R.jsx)(pn,{size:12}):(0,R.jsx)(dn,{size:12})}),(0,R.jsx)(`button`,{type:`button`,onClick:u,title:`Hide annotations panel`,"aria-label":`Hide annotations panel`,className:`inline-flex h-8 w-8 items-center justify-center rounded-sm border border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] sm:h-7 sm:w-7`,children:(0,R.jsx)(ir,{size:12})})]})]}),(0,R.jsxs)(`div`,{id:pA,hidden:a,children:[(0,R.jsx)(`div`,{className:`text-[11px] text-slate-500`,children:`Global annotation list. Selected attachments follow you when switching sessions.`}),i?(0,R.jsx)(`div`,{className:`rounded-sm border border-red-900 bg-red-950/40 px-3 py-2 text-xs text-red-200`,"data-pibo-debug":`web-annotations-error`,children:TA(i,220)}):r&&!t.length?(0,R.jsx)(`div`,{className:`rounded-sm border border-slate-800 bg-[#0e1116] px-3 py-2 text-xs text-slate-400`,"data-pibo-debug":`web-annotations-loading`,children:`Loading annotations…`}):t.length?(0,R.jsx)(`div`,{className:`mt-2 grid max-h-[min(40svh,18rem)] grid-cols-1 gap-2 overflow-y-auto pr-1 sm:max-h-56 sm:grid-cols-[repeat(auto-fill,minmax(16rem,1fr))]`,"data-pibo-debug":`web-annotations-list`,children:t.map((e,t)=>{let r=n.includes(e.id),i=TA(e.primaryTarget||e.label||e.selector||e.targetKind||`target`,64),a=`${t+1}: ${i}`;return(0,R.jsxs)(`div`,{"data-pibo-debug":`web-annotation-chip`,"data-web-annotation-id":e.id,"data-web-annotation-session-id":e.piboSessionId,"data-web-annotation-selected":r?`true`:`false`,className:`min-w-0 rounded-sm border px-3 py-2 text-xs ${r?`border-[#11a4d4] bg-[#11a4d4]/10`:`border-slate-800 bg-[#0e1116]`}`,children:[(0,R.jsxs)(`div`,{className:`mb-1 flex items-center justify-between gap-2`,children:[(0,R.jsxs)(`span`,{className:`min-w-0 truncate font-mono text-[11px] text-slate-500`,children:[e.status,` · `,e.targetKind]}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>s(e.id),"aria-pressed":r,"aria-label":`Include web annotation ${a}`,title:`${r?`Detach`:`Attach`} web annotation ${a}`,className:`inline-flex h-8 shrink-0 items-center gap-1 rounded-sm border px-2 text-[11px] sm:h-6 sm:px-1.5 ${r?`border-[#11a4d4] text-[#11a4d4]`:`border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:[r?(0,R.jsx)(ir,{size:11}):(0,R.jsx)(Gn,{size:11}),` `,r?`Detach`:`Attach`]})]}),(0,R.jsx)(`div`,{className:`truncate text-slate-200`,title:e.primaryTarget||e.label||e.selector||e.id,children:TA(e.primaryTarget||e.label||e.selector||e.id,120)}),e.piboContext?(0,R.jsx)(`div`,{className:`truncate font-mono text-[11px] text-[#11a4d4]`,title:e.piboContext,children:TA(e.piboContext,140)}):null,(0,R.jsx)(`div`,{className:`truncate font-mono text-[11px] text-slate-500`,title:e.url,children:SA(e.url)}),(0,R.jsxs)(`div`,{className:`truncate font-mono text-[11px] text-slate-500`,title:wA(e),children:[`Source `,CA(e)]}),(0,R.jsx)(`div`,{className:`mt-1 line-clamp-2 text-slate-400`,title:e.note,children:TA(e.note,180)}),(0,R.jsx)(`div`,{className:`mt-1 text-[11px] text-slate-600`,children:EA(e.createdAt)})]},e.id)})}):(0,R.jsx)(`div`,{className:`rounded-sm border border-slate-800 bg-[#0e1116] px-3 py-2 text-xs text-slate-500`,"data-pibo-debug":`web-annotations-empty`,children:`No open annotations for this session.`})]})]}):null}function hA({piboSessionId:e,piboRoomId:t,disabled:n,panelVisible:r,onShowPanel:i,onHidePanel:a,onError:o}){let[s,c]=(0,L.useState)(!1),[l,u]=(0,L.useState)(``),[d,f]=(0,L.useState)(()=>eA()),[p,m]=(0,L.useState)([]),[h,g]=(0,L.useState)(`idle`),[_,v]=(0,L.useState)(!1),[y,b]=(0,L.useState)(null),x=(0,L.useRef)(null),S=(0,L.useRef)(null),C=()=>{c(!1),x.current?.focus()};(0,L.useEffect)(()=>{n&&c(!1)},[n]),(0,L.useEffect)(()=>{if(!s||n)return;S.current?.focus();let e=e=>{e.key===`Escape`&&(e.preventDefault(),C())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[s,n]),(0,L.useEffect)(()=>{tA(d)},[d]);let w=async()=>{if(e){g(`loading`),b(null);try{let e=await uw(d);m(e.targets.filter(e=>e.type===`page`||e.attachable)),g(`loaded`)}catch(e){let t=bA(e,`CDP unavailable`);m([]),g(`error`),b({kind:`error`,message:t}),o(t)}}},T=async n=>{if(!e)throw Error(`No active session context`);return fw(n.binding.id,_A({piboSessionId:e,piboRoomId:t,cdpUrl:d,annotationShortcut:nA()}))},E=async()=>{if(!(!e||_)){i(),v(!0),b({kind:`info`,message:`Injecting annotation overlay into this Pibo page…`});try{let n=await dw({piboSessionId:e,piboRoomId:t,url:window.location.href,title:document.title,sameOrigin:!0,annotationShortcut:nA()});if(!n.overlay)throw Error(`Overlay config missing from same-origin binding response`);await yA(n.overlay),b({kind:`success`,message:`Annotation overlay is ready on this Pibo page. Open the overlay controls or use the shortcut to start annotating.`}),o(null)}catch(e){let t=bA(e,`Current-page annotation failed`);b({kind:`error`,message:t}),o(t)}finally{v(!1)}}},D=async()=>{if(!e||_)return;i();let n=l.trim();if(!n){b({kind:`error`,message:`URL is required`});return}if(vA(n)){let e=`That looks like a CDP endpoint. Put it in CDP URL, and put the page you want to annotate in Annotate URL.`;b({kind:`error`,message:e}),o(e);return}v(!0),b({kind:`info`,message:`Opening target and injecting overlay…`});try{let r=await dw(_A({piboSessionId:e,piboRoomId:t,url:n,cdpUrl:d})),i=await T(r);b({kind:`success`,message:`Annotation overlay injected for ${xA(i.target??r.target,i.binding.url)}`}),u(``),o(null)}catch(e){let t=bA(e,`Annotation failed`);b({kind:`error`,message:t}),o(t)}finally{v(!1)}},O=async n=>{if(!(!e||_)){i(),v(!0),b({kind:`info`,message:`Binding selected target and injecting overlay…`});try{let r=await dw(_A({piboSessionId:e,piboRoomId:t,targetId:n.id,cdpUrl:d})),i=await T(r);b({kind:`success`,message:`Annotation overlay injected for ${xA(i.target??n,i.binding.url)}`}),o(null)}catch(e){let t=bA(e,n.attachable?`Target annotation failed`:`Target not attachable`);b({kind:`error`,message:t}),o(t)}finally{v(!1)}}};return(0,R.jsxs)(`div`,{className:`relative`,"data-pibo-debug":`web-annotations-entry`,"data-pibo-session-id":e??void 0,children:[(0,R.jsx)(gA,{buttonRef:x,onClick:()=>{n||(c(e=>!e),r||i())},title:n?`Select an active session to annotate a web page`:r?`Web Annotations`:`Show Web Annotations`,ariaLabel:`Web Annotations`,ariaHaspopup:`dialog`,ariaExpanded:s,ariaControls:fA,disabled:n,active:s||r,children:(0,R.jsx)(tn,{size:14})}),s&&!n?(0,R.jsxs)(`div`,{id:fA,className:`fixed inset-x-2 bottom-3 z-40 max-h-[calc(100svh-1.5rem)] overflow-y-auto rounded-sm border border-slate-700 bg-[#0e1116] p-3 text-sm shadow-xl sm:absolute sm:inset-auto sm:right-0 sm:top-full sm:bottom-auto sm:mt-2 sm:w-[min(420px,calc(100vw-24px))] sm:max-h-[calc(100svh-5rem)]`,role:`dialog`,"aria-label":`Web Annotations`,children:[(0,R.jsxs)(`div`,{className:`mb-2 flex items-start justify-between gap-3`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`text-xs font-bold uppercase tracking-wider text-[#11a4d4]`,children:`Web Annotations`}),(0,R.jsx)(`div`,{className:`mt-1 text-xs text-slate-500`,children:`Start an inactive overlay for this Pibo page, or bind a CDP target for external pages.`})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:r?a:i,className:`rounded-sm p-1 text-slate-500 hover:bg-slate-800 hover:text-slate-200`,"aria-label":r?`Hide annotation list`:`Show annotation list`,title:r?`Hide annotation list`:`Show annotation list`,children:(0,R.jsx)(Jn,{size:14})}),(0,R.jsx)(`button`,{type:`button`,onClick:C,className:`rounded-sm p-1 text-slate-500 hover:bg-slate-800 hover:text-slate-200`,"aria-label":`Close Web Annotations panel`,children:(0,R.jsx)(ir,{size:14})})]})]}),(0,R.jsx)(`button`,{ref:S,type:`button`,onClick:()=>void E(),disabled:_,className:`mb-3 h-10 w-full rounded-sm bg-emerald-600 px-3 text-xs font-medium text-white hover:bg-emerald-500 disabled:opacity-50 sm:h-9`,"data-pibo-debug":`web-annotations-current-page`,children:`Annotate this Pibo page`}),(0,R.jsx)(`label`,{className:`mb-2 block text-[11px] font-bold uppercase tracking-wider text-slate-500`,htmlFor:`web-annotation-url`,children:`Annotate URL via CDP`}),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-[1fr_auto]`,children:[(0,R.jsx)(`input`,{id:`web-annotation-url`,value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&D()},placeholder:`http://localhost:5173`,disabled:_,className:`h-10 min-w-0 rounded-sm border border-slate-700 bg-[#151f24] px-2 text-base text-slate-100 outline-none focus:border-[#11a4d4] disabled:opacity-60 sm:h-9 sm:text-xs`}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void D(),disabled:_||!l.trim(),className:`h-10 rounded-sm bg-[#11a4d4] px-3 text-xs font-medium text-white disabled:opacity-50 sm:h-9`,children:`Annotate`})]}),(0,R.jsx)(`label`,{className:`mt-3 mb-1 block text-[11px] font-bold uppercase tracking-wider text-slate-500`,htmlFor:`web-annotation-cdp-url`,children:`CDP URL (optional)`}),(0,R.jsx)(`input`,{id:`web-annotation-cdp-url`,value:d,onChange:e=>f(e.target.value),placeholder:`Use gateway default`,disabled:_,className:`h-10 w-full rounded-sm border border-slate-800 bg-[#151f24] px-2 font-mono text-base text-slate-300 outline-none focus:border-[#11a4d4] disabled:opacity-60 sm:h-8 sm:text-[11px]`}),(0,R.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] font-bold uppercase tracking-wider text-slate-500`,children:`Existing targets`}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>void w(),disabled:_||h===`loading`,className:`inline-flex h-7 items-center gap-1 rounded-sm border border-slate-700 px-2 text-[11px] text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] disabled:opacity-50`,children:[(0,R.jsx)(Kn,{size:12,className:h===`loading`?`animate-spin`:void 0}),` Refresh`]})]}),(0,R.jsxs)(`div`,{className:`mt-2 max-h-[min(34svh,14rem)] overflow-auto rounded-sm border border-slate-800 sm:max-h-56`,children:[h===`idle`?(0,R.jsx)(`div`,{className:`px-3 py-3 text-xs text-slate-500`,children:`Refresh to list reachable browser targets.`}):null,h===`loading`?(0,R.jsx)(`div`,{className:`px-3 py-3 text-xs text-slate-400`,children:`Loading targets…`}):null,h===`loaded`&&!p.length?(0,R.jsx)(`div`,{className:`px-3 py-3 text-xs text-slate-500`,children:`No attachable browser targets found.`}):null,p.map(e=>(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 border-b border-slate-800 px-3 py-2 last:border-b-0 sm:grid-cols-[1fr_auto]`,children:[(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`div`,{className:`truncate text-xs text-slate-200`,title:e.title||e.url,children:TA(e.title||`Untitled target`,120)}),(0,R.jsx)(`div`,{className:`truncate font-mono text-[11px] text-slate-500`,title:e.url,children:TA(e.url||e.id,160)})]}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void O(e),disabled:_||!e.attachable,title:e.attachable?`Attach selected target`:`Target is not attachable`,className:`h-9 rounded-sm border border-slate-700 px-2 text-[11px] text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] disabled:opacity-40 sm:h-8`,children:`Attach`})]},e.id))]}),y?(0,R.jsx)(`div`,{className:`mt-2 rounded-sm border px-2 py-2 text-xs ${y.kind===`error`?`border-red-900 bg-red-950/40 text-red-200`:y.kind===`success`?`border-emerald-900/60 bg-emerald-950/30 text-emerald-300`:`border-slate-700 bg-[#151f24] text-slate-300`}`,children:y.message}):null]}):null]})}function gA({buttonRef:e,title:t,ariaLabel:n,ariaHaspopup:r,ariaExpanded:i,ariaControls:a,disabled:o,active:s,onClick:c,children:l}){return(0,R.jsx)(`button`,{ref:e,type:`button`,onClick:c,disabled:o,title:t,"aria-label":n,"aria-haspopup":r,"aria-expanded":i,"aria-controls":a,className:`h-8 w-8 inline-flex items-center justify-center border rounded-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${s?`border-[#11a4d4] bg-[#11a4d4]/10 text-[#11a4d4]`:`border-slate-700 text-slate-400 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:l})}function _A(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e&&e.trim()))}function vA(e){try{let t=new URL(e);return t.port===`56663`||t.pathname.startsWith(`/json/`)}catch{return!1}}function yA(e){return new Promise((t,n)=>{let r=window;try{r.__piboWebAnnotations?.remove?.(),r.__piboWebAnnotationConfig=e;let i=document.createElement(`script`);i.src=`/apps/web-annotations/overlay.js?ts=${Date.now()}`,i.async=!0,i.onload=()=>t(),i.onerror=()=>n(Error(`Could not load Web Annotation overlay script`)),document.head.appendChild(i)}catch(e){n(e)}})}function bA(e,t){let n=DA(e);return!n||n===`undefined`?t:/target.*not found|selected cdp target/i.test(n)?`Target not found: ${n}`:/inject|overlay|evaluation/i.test(n)?`Injection failed: ${n}`:/cdp endpoint.*is unreachable|failed to fetch|fetch failed|chrome target discovery|cdp unavailable|econnrefused|connect/i.test(n)?`CDP unavailable: ${n}`:`${t}: ${n}`}function xA(e,t){let n=e?.url||t||e?.title||`target`;return SA(e?.title||n)}function SA(e){try{let t=new URL(e);return`${t.host}${t.pathname===`/`?``:t.pathname}`}catch{return TA(e,80)}}function CA(e){return e.piboRoomId?`${TA(e.piboSessionId,24)} · room ${TA(e.piboRoomId,18)}`:TA(e.piboSessionId,44)}function wA(e){return e.piboRoomId?`Session ${e.piboSessionId} in room ${e.piboRoomId}`:`Session ${e.piboSessionId}`}function TA(e,t){return e.length>t?`${e.slice(0,Math.max(0,t-1))}…`:e}function EA(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`short`,timeStyle:`short`})}function DA(e){return e instanceof Error?e.message:String(e)}function OA(e){return!!e.workflowRunId||e.state===`workflow`||e.workflowId!==`simple-chat`}function kA(e,t){return{workflowId:e.workflowId,state:jA(e,t),...e.workflowRunId?{workflowRunId:e.workflowRunId}:{}}}function AA({summary:e}){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`text-slate-600`,children:`·`}),(0,R.jsxs)(`span`,{className:`min-w-0 max-w-52 truncate rounded border border-[#11a4d4]/35 bg-[#11a4d4]/10 px-1.5 py-0.5 text-[10px] uppercase tracking-wide text-[#11a4d4]`,title:e.workflowId,children:[`workflow `,e.workflowId]}),(0,R.jsxs)(`span`,{className:MA(e.state),children:[`state `,e.state]}),e.workflowRunId?(0,R.jsxs)(`span`,{className:`min-w-0 max-w-40 truncate rounded border border-slate-700 bg-slate-900/40 px-1.5 py-0.5 text-[10px] text-slate-400`,title:e.workflowRunId,children:[`run `,NA(e.workflowRunId)]}):null]})}function jA(e,t){return e.archived?`archived`:e.state&&e.state!==`workflow`?e.state.replace(/_/g,` `):t===`running`?`running`:t===`error`?`failed`:e.state?e.state.replace(/_/g,` `):e.workflowRunId?`workflow`:e.kind}function MA(e,t=!1){let n=e.toLowerCase(),r=`shrink-0 rounded border px-1.5 py-0.5 text-[10px] uppercase tracking-wide`;return t?`${r} border-slate-700 text-slate-500`:n.includes(`failed`)||n.includes(`error`)?`${r} border-red-500/40 text-red-300 bg-red-500/10`:n.includes(`waiting`)?`${r} border-amber-500/40 text-amber-300 bg-amber-500/10`:n.includes(`complete`)||n.includes(`done`)?`${r} border-emerald-500/40 text-emerald-300 bg-emerald-500/10`:`${r} border-[#11a4d4]/40 text-[#11a4d4] bg-[#11a4d4]/10`}function NA(e){return e.length>18?`${e.slice(0,10)}…${e.slice(-6)}`:e}function PA({title:e,contextKind:t,contextLabel:n,headerPiboSessionId:r,piboSessionId:i,piboRoomId:a,webAnnotationsDisabled:o,webAnnotationsPanelRendered:s,workflowHeader:c,sessionViewId:l,sessionViews:u,currentSessionView:d,allowedSessionViewIds:f,extraViewTabs:p,activeViewId:m,terminalFullscreenAvailable:h,onEnterTerminalFullscreen:g,onOpenSessionWindow:_,showRawEvents:v,showThinking:y,expandThinking:b,toolDisplayMode:x,toolIntentSupported:S,onToolDisplayModeChange:C,onShowWebAnnotationsPanel:w,onHideWebAnnotationsPanel:T,onSelectSessionView:E,onToggleRawEvents:D,onToggleThinking:O,onToggleExpandThinking:k,onError:ee}){let[A,te]=(0,L.useState)(null),j=(0,L.useRef)(void 0),M=A===r,ne=m??l,N=t===`project`?`Project`:`Room`,P=(0,L.useMemo)(()=>f?new Set(f):null,[f]);(0,L.useEffect)(()=>()=>{j.current&&window.clearTimeout(j.current)},[]);let re=()=>{r&&(Sk(r).catch(()=>void 0),te(r),j.current&&window.clearTimeout(j.current),j.current=window.setTimeout(()=>te(null),900))};return(0,R.jsxs)(`div`,{className:`h-14 px-4 bg-[#151f24] border-b border-slate-800 flex items-center justify-between max-[980px]:h-auto max-[980px]:flex-wrap max-[980px]:py-2 max-[980px]:gap-2`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`h1`,{className:`text-base font-semibold truncate`,children:e}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 font-mono text-[11px] text-slate-500`,children:[(0,R.jsxs)(`span`,{"data-pibo-debug":`session-context`,"data-pibo-context-kind":t,title:`${N}: ${n}`,"aria-label":`${N}: ${n}`,className:`inline-flex min-w-0 max-w-full items-center gap-1.5`,children:[(0,R.jsx)(`span`,{className:`shrink-0 uppercase tracking-wide text-[#11a4d4]`,children:N}),(0,R.jsx)(`span`,{className:`truncate text-slate-400`,children:n})]}),r?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`text-slate-600`,children:`·`}),(0,R.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:()=>void re(),title:M?`Copied Pibo session ID`:`Copy Pibo session ID`,"aria-label":M?`Copied Pibo session ID`:`Copy Pibo session ID`,className:`min-w-0 max-w-48 truncate rounded-sm px-1 font-mono underline-offset-2 transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[#11a4d4] ${M?`bg-emerald-500/15 text-emerald-300 ring-1 ring-emerald-400/50`:`text-slate-400 hover:text-[#11a4d4] hover:underline`}`,children:r})]}):null,c?(0,R.jsx)(AA,{summary:c}):null]})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 max-[980px]:w-full max-[980px]:flex-wrap max-[980px]:gap-1`,children:[(0,R.jsx)(hA,{piboSessionId:i,piboRoomId:a,disabled:o,panelVisible:s,onShowPanel:w,onHidePanel:T,onError:ee}),_?(0,R.jsx)(`button`,{type:`button`,onClick:_,title:`Open selected session in new window`,"aria-label":`Open selected session in new window`,"data-pibo-debug":`open-session-window`,className:`h-8 w-8 inline-flex items-center justify-center border border-slate-700 rounded-sm text-slate-400 transition-colors hover:border-[#11a4d4] hover:text-[#11a4d4]`,children:(0,R.jsx)(Gn,{size:15})}):null,(0,R.jsxs)(`select`,{value:x,onChange:e=>C(e.target.value),title:`Tool display mode`,"aria-label":`Tool display mode`,"data-pibo-debug":`tool-display-mode`,className:`h-8 rounded-sm border border-slate-700 bg-[#0e1116] px-2 text-[11px] font-bold uppercase tracking-wide text-slate-300 outline-none focus:border-[#11a4d4]`,children:[(0,R.jsx)(`option`,{value:`default`,children:`Tools: Default`}),(0,R.jsx)(`option`,{value:`hide`,children:`Tools: Hide`}),(0,R.jsx)(`option`,{value:`slim`,children:`Tools: Slim`}),(0,R.jsx)(`option`,{value:`intent`,disabled:!S,children:`Tools: Intent`})]}),(0,R.jsxs)(`div`,{role:`group`,"aria-label":`Session views`,className:`flex items-center rounded-sm border border-slate-700 bg-[#0e1116] p-0.5`,children:[u.map(e=>{let t=!!(P&&!P.has(e.id));return(0,R.jsx)(`button`,{type:`button`,onClick:()=>{t||E(e.id)},disabled:t,title:t?`Project session routing uses the ${d.label} view for this session kind.`:e.description??e.label,"aria-label":t?`${e.label} view unavailable for this Project session kind`:`Switch to ${e.label} view`,"aria-pressed":ne===e.id,className:`min-w-20 px-2.5 py-1 text-[11px] font-bold tracking-wide max-[980px]:min-w-0 max-[980px]:px-1.5 disabled:cursor-not-allowed disabled:text-slate-600 ${ne===e.id?`bg-[#11a4d4]/10 text-[#11a4d4]`:`text-slate-400 hover:text-[#11a4d4] disabled:hover:text-slate-600`}`,children:e.label},e.id)}),p?.map(e=>{let t=e.active??ne===e.id;return(0,R.jsx)(`button`,{type:`button`,onClick:()=>{e.disabled||e.onSelect()},disabled:e.disabled,title:e.description??e.label,"aria-label":e.disabled?`${e.label} view unavailable`:`Switch to ${e.label} view`,"aria-pressed":t,className:`min-w-20 px-2.5 py-1 text-[11px] font-bold tracking-wide max-[980px]:min-w-0 max-[980px]:px-1.5 disabled:cursor-not-allowed disabled:text-slate-600 ${t?`bg-[#11a4d4]/10 text-[#11a4d4]`:`text-slate-400 hover:text-[#11a4d4] disabled:hover:text-slate-600`}`,children:e.label},e.id)})]}),h&&g?(0,R.jsx)(`button`,{type:`button`,onClick:g,title:`Enter Terminal fullscreen`,"aria-label":`Enter Terminal fullscreen`,"data-pibo-debug":`enter-terminal-fullscreen`,className:`h-8 w-8 inline-flex items-center justify-center border border-slate-700 rounded-sm text-slate-400 transition-colors hover:border-[#11a4d4] hover:text-[#11a4d4]`,children:(0,R.jsx)(Bn,{size:14})}):null,(0,R.jsx)(FA,{onClick:D,title:v?`Hide Raw Events`:`Show Raw Events`,ariaLabel:`Raw Events`,ariaControls:`raw-events-inspector`,active:v,children:(0,R.jsx)(an,{size:14})}),(0,R.jsx)(FA,{onClick:O,title:y?`Hide Thinking`:`Show Thinking`,ariaLabel:`Thinking`,active:y,children:y?(0,R.jsx)(rn,{size:14}):(0,R.jsx)(Tn,{size:14})}),y?(0,R.jsx)(FA,{onClick:k,title:b?`Collapse Thinking`:`Expand Thinking`,ariaLabel:`Thinking expansion`,active:b,children:b?(0,R.jsx)(dn,{size:14}):(0,R.jsx)(pn,{size:14})}):null]})]})}function FA({title:e,ariaLabel:t,ariaControls:n,active:r,onClick:i,children:a}){return(0,R.jsx)(`button`,{type:`button`,onClick:i,title:e,"aria-label":t,"aria-controls":n,"aria-pressed":r,className:`h-8 w-8 inline-flex items-center justify-center border rounded-sm transition-colors ${r?`border-[#11a4d4] bg-[#11a4d4]/10 text-[#11a4d4]`:`border-slate-700 text-slate-400 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:a})}function IA(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&LA(e,n)){e.count+=1,e.createdAt=n.createdAt,e.payload={...BA(e.payload)?e.payload:{},text:`${RA(e.payload)}${RA(n.payload)}`};continue}t.push({...n,count:1})}return t}function LA(e,t){if(e.type!==t.type||e.type!==`assistant_delta`&&e.type!==`thinking_delta`&&e.type!==`TEXT_MESSAGE_CONTENT`&&e.type!==`REASONING_MESSAGE_CONTENT`)return!1;let n=BA(e.payload)?e.payload:{},r=BA(t.payload)?t.payload:{};return zA(n)===zA(r)}function RA(e){return BA(e)?typeof e.text==`string`?e.text:typeof e.delta==`string`?e.delta:``:``}function zA(e){return e.eventId??e.messageId}function BA(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function VA({traceView:e,eventLimit:t,isFetching:n,visible:r,onLoadOlder:i}){let a=(0,L.useMemo)(()=>r?IA(e?.rawEvents??[]):[],[e?.rawEvents,r]);return r?(0,R.jsxs)(`aside`,{id:`raw-events-inspector`,"aria-label":`Raw Events`,className:`min-h-0 overflow-auto overscroll-contain bg-[#0e1116] border-l border-slate-800 max-[980px]:fixed max-[980px]:right-0 max-[980px]:top-0 max-[980px]:bottom-0 max-[980px]:z-40 max-[980px]:w-[320px] max-[980px]:max-w-[80vw] max-[980px]:shadow-2xl`,children:[(0,R.jsx)(`div`,{className:`h-11 px-3 border-b border-slate-800 flex items-center text-xs font-bold uppercase tracking-wider`,children:`Raw Events`}),(0,R.jsxs)(`div`,{className:`p-3 flex flex-col gap-2`,children:[e&&a.length>=t?(0,R.jsx)(`button`,{type:`button`,onClick:i,disabled:n,className:`mb-1 rounded-sm border border-slate-700 px-2 py-1 text-xs text-slate-400 hover:border-[#11a4d4] hover:text-[#11a4d4] disabled:opacity-60`,children:n?`Loading raw events…`:`Load older raw events (${a.length})`}):null,a.slice(-t).reverse().map(e=>(0,R.jsxs)(`div`,{className:`border-l-2 border-[#11a4d4] bg-[#151f24] p-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-[#11a4d4] font-mono text-[11px] mb-1`,children:[(0,R.jsx)(`span`,{children:e.type}),e.count>1?(0,R.jsxs)(`span`,{className:`text-slate-500`,children:[`x`,e.count]}):null]}),(0,R.jsx)(sd,{value:e.payload,showControls:!1})]},e.id))]})]}):null}function HA({title:e,contextKind:t,contextLabel:n,onOpenSessionWindow:r,onExit:i}){let a=t===`project`?`Project`:`Room`;return(0,R.jsxs)(`div`,{"data-pibo-debug":`terminal-fullscreen-top-bar`,className:`h-7 min-h-7 flex items-center border-b border-slate-600 bg-[#151f24]`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[(0,R.jsxs)(`div`,{"data-pibo-debug":`session-context`,"data-pibo-context-kind":t,title:`${a}: ${n}`,"aria-label":`${a}: ${n}`,className:`flex min-w-0 max-w-[45%] shrink-0 items-center gap-1.5 px-2 font-mono text-[10px] leading-none`,children:[(0,R.jsx)(`span`,{className:`shrink-0 uppercase tracking-wide text-[#11a4d4]`,children:a}),(0,R.jsx)(`span`,{className:`truncate text-slate-300`,children:n})]}),(0,R.jsx)(`span`,{className:`shrink-0 text-slate-600`,children:`·`}),(0,R.jsx)(`div`,{className:`min-w-0 flex-1 truncate px-2 text-base font-semibold leading-none`,children:e})]}),r?(0,R.jsx)(`button`,{type:`button`,onClick:r,title:`Open selected session in new window`,"aria-label":`Open selected session in new window`,"data-pibo-debug":`open-session-window`,className:`h-full w-7 shrink-0 inline-flex items-center justify-center text-slate-400 hover:bg-[#11a4d4]/10 hover:text-[#11a4d4]`,children:(0,R.jsx)(Gn,{size:14})}):null,(0,R.jsx)(`button`,{type:`button`,onClick:i,title:`Show normal top bar`,"aria-label":`Exit Terminal fullscreen`,className:`h-full w-7 shrink-0 inline-flex items-center justify-center text-slate-400 hover:bg-[#11a4d4]/10 hover:text-[#11a4d4]`,children:(0,R.jsx)(Un,{size:14})})]})}function UA({enabled:e,onFilesDropped:t,children:n,className:r,...i}){let a=(0,L.useRef)(0),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)(0),u=c>0;(0,L.useEffect)(()=>{e||(a.current=0,s(!1))},[e]);let d=()=>{a.current=0,s(!1)},f=t=>GA(t.dataTransfer)?(t.preventDefault(),t.stopPropagation(),t.dataTransfer.dropEffect=e&&!u?`copy`:`none`,!0):!1,p=t=>{!f(t)||!e||u||(a.current+=1,s(!0))},m=e=>{f(e)},h=e=>{!f(e)||a.current===0||(a.current=Math.max(0,a.current-1),a.current===0&&s(!1))},g=async n=>{if(!f(n)||(d(),!e||u))return;let r=KA(n.dataTransfer);if(r.length){l(r.length);try{await t(r)}finally{l(0)}}},_=u?`uploading`:o?`drag-active`:`idle`;return(0,R.jsxs)(`main`,{...i,"data-pibo-file-drop-state":_,className:`relative ${r??``}`,onDragEnter:p,onDragOver:m,onDragLeave:h,onDragEnd:d,onDrop:g,children:[n,o||u?(0,R.jsx)(WA,{uploadingFileCount:c}):null]})}function WA({uploadingFileCount:e}){let t=e>0;return(0,R.jsx)(`div`,{"data-pibo-debug":`terminal-file-drop-overlay`,"data-pibo-state":t?`uploading`:`drag-active`,role:`status`,"aria-live":`polite`,className:`pointer-events-none absolute inset-0 z-40 grid place-items-center bg-[#071015]/90 p-6 backdrop-blur-[2px]`,children:(0,R.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center rounded-sm border border-dashed border-[#11a4d4] bg-[#0e1116]/95 px-8 py-7 text-center shadow-2xl shadow-black/50`,children:[t?(0,R.jsx)(Rn,{size:36,className:`mb-3 animate-spin text-[#11a4d4]`,"aria-hidden":`true`}):(0,R.jsx)(nr,{size:36,className:`mb-3 text-[#11a4d4]`,"aria-hidden":`true`}),(0,R.jsx)(`span`,{className:`text-sm font-semibold text-slate-100`,children:t?`Uploading ${e} file${e===1?``:`s`}…`:`Drop files to upload`}),(0,R.jsx)(`span`,{className:`mt-1 text-xs leading-5 text-slate-400`,children:t?`Saving to the Pibo uploads directory`:`Images and other files will be attached to your next message.`})]})})}function GA(e){return Array.from(e.types).includes(`Files`)||Array.from(e.items).some(e=>e.kind===`file`)}function KA(e){return Array.from(e.files)}function qA({hideComposer:e=!1,projectModulePanel:t}){return!e&&!t}function JA({selectedPiboSessionId:e,selectedRoomId:t,fallbackRoomId:n,sessionViewId:r,loadingTrace:i,roomNavigationPending:a=!1,sessionNavigationPending:o=!1,traceError:s,showRawEvents:c,currentTraceView:l,rawEventLimit:u,tracePageFetching:d,onLoadMoreRawEvents:f,terminalFullscreen:p,fullscreenTopBar:m,fullscreenContent:h,hideComposer:g=!1,terminalFileDropEnabled:_,onTerminalFilesDropped:v,onOpenSessionWindow:y,onExitTerminalFullscreen:b,headerProps:x,projectSessionCreatePanel:S,workflowStartPanel:C,projectModulePanel:w,currentSessionView:T,sessionViewProps:E,webAnnotationsPanelRendered:D,webAnnotationsPanelProps:O,runtimeRequestPanel:k,composerProps:ee}){let A=a||o&&!l||i;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(UA,{enabled:_,onFilesDropped:v,"data-pibo-debug":`chat-shell`,"data-pibo-session-id":e??void 0,"data-pibo-room-id":t??n??void 0,"data-pibo-view-id":r,"data-pibo-state":a?`room-loading`:o?`session-loading`:i?`loading`:s?`error`:e?`ready`:`empty`,"data-pibo-terminal-fullscreen":p?`true`:`false`,className:`min-h-0 h-full flex flex-col`,children:[p?m??(0,R.jsx)(HA,{title:x.title,contextKind:x.contextKind,contextLabel:x.contextLabel,onOpenSessionWindow:y,onExit:b}):(0,R.jsx)(PA,{...x}),!p&&S?(0,R.jsx)(`div`,{className:`border-b border-slate-800 bg-[#101d22] px-4 py-3`,children:S}):null,!p&&C?(0,R.jsx)(`div`,{className:`border-b border-slate-800 bg-[#101d22] px-4 py-3`,children:C}):null,p&&h?h:!p&&w?w:A?(0,R.jsx)(YA,{label:a?`Loading room`:`Loading session`}):s&&!l?(0,R.jsx)(`div`,{className:`min-h-0 flex-1 p-4 text-sm text-red-200`,children:s}):T.render({...E,terminalFullscreen:p}),!p&&D?(0,R.jsx)(mA,{...O}):null,k,qA({hideComposer:g,projectModulePanel:w})?(0,R.jsx)(Nk,{...ee}):null]}),(0,R.jsx)(VA,{traceView:l,eventLimit:u,isFetching:d,visible:c&&!p,onLoadOlder:f})]})}function YA({label:e}){return(0,R.jsx)(`section`,{"data-pibo-debug":`room-navigation-loading`,className:`relative min-w-0 flex-1 overflow-hidden bg-[#0b0b0b] text-[#d4d4d4]`,"aria-live":`polite`,"aria-label":e,children:(0,R.jsx)(`div`,{className:`min-h-0 h-full overflow-hidden font-mono text-[12px] leading-[1.45]`,children:(0,R.jsxs)(`div`,{className:`px-4`,children:[(0,R.jsx)(`div`,{className:`group border-b border-[#141414] py-2`,children:(0,R.jsxs)(`div`,{className:`grid grid-cols-[1.9rem_minmax(0,1fr)] gap-2 leading-[1.45]`,children:[(0,R.jsx)(`span`,{className:`flex items-center text-[#38bdf8]`,children:(0,R.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-[#38bdf8] animate-pulse`})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`font-semibold text-[#d4d4d4]`,children:e}),(0,R.jsx)(`span`,{className:`h-2 w-24 rounded-sm bg-[#262626] animate-pulse`})]})]})}),[{kind:`tool`,lines:5},{kind:`markdown`,lines:4},{kind:`command`,lines:4},{kind:`tool`,lines:3},{kind:`markdown`,lines:5}].map((e,t)=>(0,R.jsx)(XA,{kind:e.kind,lineCount:e.lines},t))]})})})}function XA({kind:e,lineCount:t}){let n=e===`command`,r=e===`markdown`;return(0,R.jsx)(`div`,{className:`group border-b border-[#141414] py-2 animate-pulse ${n?`bg-[#f59e0b]/5`:``}`,"aria-hidden":`true`,children:Array.from({length:t}).map((e,i)=>(0,R.jsxs)(`div`,{className:`grid grid-cols-[1.9rem_minmax(0,1fr)] gap-2 leading-[1.45]`,children:[(0,R.jsx)(`span`,{className:`flex items-center text-[#737373]`,children:i===0&&!r?(0,R.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full ${n?`bg-[#f59e0b]`:`bg-[#22c55e]`}`}):i>0&&!r?(0,R.jsx)(`span`,{className:`text-[10px]`,children:`L`}):null}),(0,R.jsx)(`span`,{className:`min-w-0 py-[3px]`,children:i===0?(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`h-[13px] rounded-sm ${r?`w-56 bg-[#d4d4d4]/45`:n?`w-28 bg-[#f59e0b]/65`:`w-24 bg-[#22c55e]/65`}`}),r?null:(0,R.jsx)(`span`,{className:`h-[13px] w-64 rounded-sm bg-[#262626]`})]}):(0,R.jsx)(`span`,{className:`block h-[10px] rounded-sm bg-[#262626] ${i===t-1?`w-[42%]`:i%2==0?`w-[72%]`:`w-[58%]`}`})})]},i))})}function ZA(e,t,n,r){if(!QA(t))return;let i=tj(n),a=r.get(e)?.filter(e=>t===`pibo_agents_send_message`?e.metadata?.subagentToolName===t&&(!i||e.metadata?.subagentName===i):e.metadata?.subagentToolName===t)??[],o=nj(n);return o?a.find(e=>e.metadata?.threadKey===o)?.id:a.length===1?a[0].id:void 0}function QA(e){return e===`pibo_agents_send_message`||e.startsWith(`pibo_subagent_`)}function $A(e){return e===`pibo_agents_send_message`?`agent`:e.slice(14)}function ej(e){return`args`in e&&e.args&&typeof e.args==`object`&&!Array.isArray(e.args)?e.args:void 0}function tj(e){let t=ej(e)?.name;return typeof t==`string`&&t.trim()?t.trim():void 0}function nj(e){let t=ej(e)?.threadKey;return typeof t==`string`&&t.trim()?t.trim():void 0}function rj(e,t,n,r){let i=aj(e,t,n,r);if(!i)return;let a=e.children.find(e=>e.id===i.id);if(a){sj(a,i),a.runId=i.runId??a.runId;return}e.children.push(i)}function ij(e){let t=new Map;for(let n of uT(e)){let e=cj(n.output);if(!e)continue;let r=uj(e.runId);r&&t.set(r,{snapshot:e,completedAt:uj(e.completedAt)??uj(e.updatedAt)??n.completedAt})}for(let n of uT(e)){if(n.type!==`agent.async`||!n.runId)continue;let e=t.get(n.runId);if(!e)continue;let r=uj(e.snapshot.status);(r===`completed`||r===`cancelled`||r===`failed`||r===`timed_out`)&&(n.status=r===`failed`||r===`timed_out`?`error`:`done`,n.completedAt=e.completedAt??n.completedAt,n.output=e.snapshot,(r===`failed`||r===`timed_out`)&&(n.error=uj(e.snapshot.summary)??n.error))}}function aj(e,t,n,r){if(!oj(e))return;let i=cj(e.output),a=fj(e.input)?e.input:{},o=uj(i?.toolName)??uj(a.toolName)??r?.title;if(!o||!QA(o))return;let s=a.arguments,c=uj(r?.summary)??(fj(s)?uj(s.name):void 0)??$A(o),l=uj(i?.runId),u=uj(i?.status),d=uj(i?.completionPolicy)??uj(a.completionPolicy);return{id:`${e.id}:async-agent`,parentId:e.id,piboSessionId:t,eventId:e.eventId,toolCallId:e.toolCallId,runId:l,type:`agent.async`,title:c,status:dj(e,u),startedAt:r?.startedAt??n??e.startedAt,completedAt:u===`completed`||u===`cancelled`||u===`failed`||u===`timed_out`?e.completedAt:void 0,summary:`Started by ${e.title}`,input:{startedBy:e.title,startToolCallId:e.toolCallId,toolName:o,subagentName:c,runId:l,completionPolicy:d,arguments:s,threadKey:fj(r?.input)?r.input.threadKey:void 0},output:i,error:e.error,linkedPiboSessionId:r?.linkedPiboSessionId??e.linkedPiboSessionId,source:e.source,stableKey:l?`async-agent:${l}`:`${e.stableKey??e.id}:async-agent`,orderKey:tT(e.orderKey,`agent.async`),children:[]}}function oj(e){return e.type===`tool.call`&&e.title===`pibo_run_start`}function sj(e,t){e.status=t.status,e.summary=t.summary??e.summary,e.input=t.input??e.input,e.output=t.output??e.output,e.error=t.error??e.error,e.completedAt=t.completedAt??e.completedAt,e.linkedPiboSessionId=t.linkedPiboSessionId??e.linkedPiboSessionId}function cj(e){if(fj(e)){if(lj(e))return e;if(fj(e.details)&&lj(e.details))return e.details}}function lj(e){return typeof e.runId==`string`&&typeof e.toolName==`string`}function uj(e){return typeof e==`string`?e:void 0}function dj(e,t){return e.status===`error`||t===`failed`?`error`:t===`completed`||t===`cancelled`?`done`:`running`}function fj(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function pj(e){let t=(e??``).trim();if(!t.startsWith(`<pibo_run_notification>`)||!t.endsWith(`</pibo_run_notification>`))return;let n=t.slice(23,t.length-24).trim();try{let e=JSON.parse(n);return!e||typeof e!=`object`||Array.isArray(e)?void 0:e}catch{return}}function mj(e){let t=hj(e.notification),n=t.length===1?t[0]:void 0,r=_j(e.notification.failed)+_j(e.notification.timedOut),i=_j(e.notification.running);return{id:e.id,entryId:e.entryId,piboSessionId:e.piboSessionId,eventId:e.eventId,runId:typeof n?.runId==`string`?n.runId:void 0,type:`yielded.run`,title:`Run Notification`,status:r>0?`error`:i>0?`running`:`done`,startedAt:e.startedAt,summary:vj(e.notification),output:e.notification,source:e.source,stableKey:e.stableKey??e.id,orderKey:e.orderKey,children:[]}}function hj(e){return[...gj(e.completed),...gj(e.failed),...gj(e.timedOut),...gj(e.cancelled),...gj(e.running)]}function gj(e){return Array.isArray(e)?e.filter(yj):[]}function _j(e){return Array.isArray(e)?e.length:0}function vj(e){let t=[[_j(e.completed),`completed`],[_j(e.failed),`failed`],[_j(e.timedOut),`timed out`],[_j(e.cancelled),`cancelled`],[_j(e.running),`running`]].filter(([e])=>Number(e)>0).map(([e,t])=>`${e} ${t}`);return t.length?t.join(`, `):`No yielded run updates`}function yj(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function bj(e,t,n,r,i,a,o,s,c){let l=r.payload;if(l.type===`message_started`&&l.source===`user`&&l.eventId){let t=uT([...e]).find(e=>e.type===`user.message`&&Mj(e.source)&&e.eventId===l.eventId);t&&Cj(t,r,l)}let u=o.mode===`none`?void 0:jj(e,r);if(u){Cj(u,r,l),l.type===`message_steered`&&l.activeEventId&&(u.parentId=tM(l.activeEventId));return}if((o.mode===`native`&&Jj(l)||o.mode===`product`&&qj(l))&&Xj(l,o)&&!Yj(l,s)){Sj(t,r,l);return}if(Zj(l,o,c)){Sj(t,r,l);return}if(l.type===`assistant_delta`){Bj(e,t,l,c,r.createdAt,r.eventSequence,r.streamId,r.streamFrameIndex,r.traceSource,r.id);return}if(l.type===`thinking_delta`){Uj(e,t,l,c,r.createdAt,r.eventSequence,r.streamId,r.streamFrameIndex,r.traceSource,r.id);return}if(l.type===`assistant_message`){let i=Tj(n,l,r.createdAt,r.eventSequence,r.streamId,r.streamFrameIndex,r.traceSource,r.id),a=t.get(i.id)??Vj(t,i);if(a){Hj(a,i);return}e.push(i),t.set(i.id,i);return}let d=zj(n,l,i,a,c,r.createdAt,r.eventSequence,r.streamId,r.streamFrameIndex,r.traceSource,r.id);if(d){if(wj(d,l,r.storedPayloadRef),d.type===`user.message`&&d.status===`running`&&!d.parentId&&l.type===`message_steered`){let e=[...t.values()].reverse().find(e=>e.type===`agent.turn`&&e.status===`running`);e&&(d.parentId=e.id)}if(d.type===`agent.turn`&&d.eventId){let e=[...t.values()].find(e=>e.type===`agent.turn`&&e.eventId===d.eventId);if(e){e.status=d.status,e.completedAt=d.completedAt??e.completedAt;return}}if(d.type===`assistant.message`){let e=t.get(d.id)??Vj(t,d);if(e){Hj(e,d);return}}if(d.type===`execution.compaction`){let t=pM(e);if(t){mM(t,d);return}}if(d.type===`model.reasoning`){let e=t.get(d.id)??Vj(t,d);if(e){Wj(e,d);return}}if(d.type===`agent.delegation`&&!d.toolCallId&&d.linkedPiboSessionId){let e=cM([...t.values()],d);if(e){sM(e,d);return}}if(d.toolCallId){let e=t.get(d.id)??xj(t,d,l);if(e){if(oj(e)&&d.type===`agent.delegation`){rj(e,n,r.createdAt,d);return}oM(e,d),rj(e,n,r.createdAt);return}}if(d.eventId){let e=t.get(d.id);if(e){d.type===`user.message`?(e.status=d.status,e.parentId=d.parentId??e.parentId,e.summary=d.summary??e.summary,e.output=d.output??e.output):d.type===`execution.command`&&(e.status=d.status,e.output=d.output??e.output,e.error=d.error??e.error,e.completedAt=d.completedAt??e.completedAt);return}}Ej(d,t),rj(d,n,r.createdAt),e.push(d);for(let e of uT([d]))t.set(e.id,e)}}function xj(e,t,n){if(`eventId`in n&&n.eventId)return;let r=[...e.values()].filter(e=>e.toolCallId===t.toolCallId&&(e.type===`tool.call`||e.type===`tool.result`||e.type===`agent.delegation`));return r.length===1?r[0]:void 0}function Sj(e,t,n){let r=eM(n,_M(t.eventSequence,t.streamId,n,t.id)),i=`eventId`in n&&typeof n.eventId==`string`?n.eventId:void 0,a=[...e.values()].find(e=>e.stableKey===r||`toolCallId`in n&&typeof n.toolCallId==`string`&&e.toolCallId===n.toolCallId&&(!i||!e.eventId||e.eventId===i));a&&Cj(a,t,n)}function Cj(e,t,n){let r=t.renderSequence??n.renderSequence,i=t.eventSequence??t.streamId;(r!==void 0||i!==void 0)&&(e.orderKey={...e.orderKey??Qw(i,$j(n.type)),...i===void 0?{}:{turnSeq:i,eventSequence:i},...r===void 0?{}:{renderSequence:r}})}function wj(e,t,n){n&&((t.type===`tool_call`||t.type===`tool_execution_started`)&&(e.payloadRefs={...e.payloadRefs,input:n}),(t.type===`tool_execution_finished`||t.type===`tool_execution_updated`)&&(e.payloadRefs={...e.payloadRefs,output:n}))}function Tj(e,t,n,r,i,a,o,s){let c=typeof t.eventId==`string`?t.eventId:void 0,l=rM(t),u=_M(r,i,t,s);return{id:l?nM(l):`event:${t.type}:${u}`,piboSessionId:e,eventId:c,parentId:c?tM(c):void 0,type:`assistant.message`,title:`Agent Message`,status:`done`,startedAt:n,completedAt:n,summary:t.text,output:t.text,source:`event-log`,stableKey:l?`assistant:${l}`:eM(t,u),orderKey:Qj(r,t.type,i,a,o,t.renderSequence,n),children:[]}}function Ej(e,t){if(e.type!==`execution.command`||e.parentId&&t.has(e.parentId))return;let n=[...t.values()].filter(n=>{if(n.type!==`agent.turn`||!n.startedAt||!e.startedAt||n.startedAt>e.startedAt)return!1;let r=Dj(n,t);return r===void 0||e.startedAt<=r}).sort(sT).at(-1);n&&(e.parentId=n.id)}function Dj(e,t){return e.completedAt?e.completedAt:[...t.values()].filter(t=>t.type===`error`&&t.eventId!==void 0&&t.eventId===e.eventId&&t.startedAt!==void 0).sort(sT).at(0)?.startedAt}function Oj(e){return e.some(e=>{let t=e.payload.type;return t!==`assistant_delta`&&t!==`thinking_delta`})}function kj(e){if(e.type===`assistant_delta`){if(e.text.length===0)return;let t=rM(e);return t?nM(t):void 0}if(e.type===`thinking_delta`){if(e.text.length===0)return;let t=aM(e);return t?iM(t):void 0}}function Aj(e,t){return!!jj(e,t)}function jj(e,t){let n=t.payload;if(n.type!==`message_queued`&&n.type!==`message_steered`||n.source!==`user`)return;let r=typeof n.eventId==`string`?n.eventId:void 0,i=r??t.eventId,a=t.id?`instance:${t.id}`:bM(n),o=`event:${n.type}:${r??a}`,s=eM(n,a),c=typeof n.text==`string`?n.text:void 0,l=uT([...e]).filter(e=>e.type===`user.message`&&Mj(e.source));return l.find(e=>Nj(e,o,s,i))||l.find(e=>!Pj(e)&&!!(c&&Ij(e)===c))}function Mj(e){return e===`transcript`||e===`product-history`}function Nj(e,t,n,r){return e.id===t||e.stableKey===n?!0:r?e.entryId===r||e.stableKey===`entry:${r}`||[e.id,e.stableKey].some(e=>Fj(e)===r):!1}function Pj(e){return[e.id,e.stableKey].some(e=>Fj(e)!==void 0)}function Fj(e){for(let t of[`event:message_queued:`,`event:message_steered:`])if(e?.startsWith(t))return e.slice(t.length)}function Ij(e){if(typeof e.output==`string`)return e.output;if(typeof e.summary==`string`)return e.summary}function Lj(e){if(e.streamId!==void 0){let t=e.payload;return e.streamFrameIndex===void 0?`stream:${e.streamId}:${t.type}`:`stream:${e.streamId}:${e.streamFrameIndex}:${t.type}`}return e.eventSequence===void 0?`id:${e.id}`:`sequence:${e.piboSessionId??``}:${e.eventSequence}`}function Rj(e,t){let n=t;for(let t of e)t.streamId!==void 0&&(n=n===void 0?t.streamId:Math.max(n,t.streamId));return n}function zj(e,t,n,r,i,a,o,s,c,l,u){let d=`eventId`in t&&typeof t.eventId==`string`?t.eventId:void 0,f=_M(o,s,t,u),p=`event:${t.type}:${d??f}`,m=d?tM(d):void 0,h={id:p,piboSessionId:e,eventId:d,startedAt:a,source:`event-log`,stableKey:eM(t,f),orderKey:Qj(o,t.type,s,c,l,t.renderSequence,a),children:[]};switch(t.type){case`message_queued`:case`message_steered`:{let n=pj(t.text);return t.source===`service`&&n?mj({id:p,piboSessionId:e,eventId:d,startedAt:a,source:`event-log`,stableKey:d?`run-notification:${d}`:p,orderKey:Qj(o,t.type,s,c,l,t.renderSequence,a),notification:n}):{...h,...t.type===`message_steered`&&t.activeEventId?{parentId:tM(t.activeEventId)}:{},type:`user.message`,title:`User Message`,status:Gj(t)?`running`:`done`,summary:t.text,output:t.text}}case`message_started`:case`message_finished`:return{...h,id:d?tM(d):p,type:`agent.turn`,startedAt:t.type===`message_started`?a:void 0,title:`Agent Turn`,status:t.type===`message_finished`||i!==`running`?`done`:`running`,completedAt:t.type===`message_finished`?a:void 0,stableKey:d?`turn:${d}`:h.stableKey};case`thinking_finished`:{if(!hM(t.text))return;let e=aM(t);return{...h,id:e?iM(e):p,parentId:m,type:`model.reasoning`,title:`Thinking`,status:`done`,summary:t.text,output:t.text,stableKey:e?`reasoning:${e}`:h.stableKey}}case`assistant_message`:{let e=rM(t);return{...h,id:e?nM(e):p,parentId:m,type:`assistant.message`,title:`Agent Message`,status:`done`,completedAt:a,summary:t.text,output:t.text,stableKey:e?`assistant:${e}`:h.stableKey}}case`tool_call`:case`tool_execution_started`:case`tool_execution_updated`:case`tool_execution_finished`:{let o=vM(t),s=QA(t.toolName),c=r.get(o)??(s?ZA(e,t.toolName,t,n):void 0);return{...h,id:o,parentId:m,toolCallId:t.toolCallId,toolInvocationOrdinal:t.toolInvocationOrdinal??0,intent:t.intent,type:s?`agent.delegation`:`tool.call`,title:t.toolName,status:t.type===`tool_execution_finished`?t.isError?`error`:`done`:i===`running`&&(t.type===`tool_execution_started`||t.type===`tool_execution_updated`)?`running`:`done`,completedAt:t.type===`tool_execution_finished`?a:void 0,input:`args`in t?t.args:void 0,output:t.type===`tool_execution_finished`?t.result:t.type===`tool_execution_updated`?t.partialResult:void 0,error:t.type===`tool_execution_finished`&&t.isError?gM(t.result):void 0,linkedPiboSessionId:c,stableKey:o,children:[]}}case`subagent_session`:{let e=yM(t.childPiboSessionId),n=_M(o,s,t,u),r=t.toolCallId?vM(t):void 0;return{...h,id:r??`event:subagent_session:${n}`,eventId:d,toolCallId:t.toolCallId,toolInvocationOrdinal:t.toolInvocationOrdinal,type:`agent.delegation`,title:t.toolName,status:i===`running`?`running`:`done`,summary:t.subagentName,input:{subagentName:t.subagentName,threadKey:t.threadKey},linkedPiboSessionId:e,stableKey:r||(e?`subagent:${e}`:`subagent:event:${n}`),children:[]}}case`execution_result`:return Kj(t.action)?void 0:{...h,type:`execution.command`,title:t.action,status:`done`,input:{action:t.action},output:t.result};case`compaction_start`:{let e=_M(o,s,t,u);return{...h,id:`event:compaction:${e}`,type:`execution.compaction`,title:`compact`,status:`running`,summary:`Compacting`,input:{reason:t.reason},stableKey:`compaction:${e}`}}case`compaction_end`:{let e=_M(o,s,t,u);return{...h,id:`event:compaction:end:${e}`,type:`execution.compaction`,title:`compact`,status:t.errorMessage?`error`:`done`,completedAt:a,summary:t.aborted?`Compaction skipped`:t.errorMessage?`Compaction failed`:`Compacted`,input:{reason:t.reason},output:t.result,error:t.errorMessage,stableKey:`compaction:${e}`}}case`session_error`:return{...h,type:`error`,title:`Session Error`,status:`error`,summary:t.errorDetails?.userMessage,input:t.errorDetails,error:t.error,output:t.error};default:return}}function Bj(e,t,n,r,i,a,o,s,c,l){if(typeof n.text!=`string`||n.text.length===0)return;let u=rM(n),d=_M(a,o,n,l),f=u?nM(u):`event:assistant_delta:${d}`,p=t.get(f);if(p){let e=`${typeof p.output==`string`?p.output:``}${n.text}`;p.status=r===`running`?`running`:`done`,p.summary=e,p.output=e;return}let m={id:f,parentId:n.eventId?tM(n.eventId):void 0,piboSessionId:n.piboSessionId,eventId:n.eventId,type:`assistant.message`,title:`Agent Message`,status:r===`running`?`running`:`done`,startedAt:i,summary:n.text,output:n.text,source:`event-log`,stableKey:u?`assistant:${u}`:f,orderKey:Qj(a,n.type,o,s,c,n.renderSequence,i),children:[]};e.push(m),t.set(m.id,m)}function Vj(e,t){if(t.stableKey)return[...e.values()].find(e=>e.type===t.type&&e.stableKey===t.stableKey)}function Hj(e,t){e.status=t.status,e.summary=t.summary??e.summary,e.output=t.output??e.output,e.error=t.error??e.error,e.completedAt=t.completedAt??e.completedAt}function Uj(e,t,n,r,i,a,o,s,c,l){if(typeof n.text!=`string`||n.text.length===0)return;let u=aM(n),d=_M(a,o,n,l),f=u?iM(u):`event:thinking_delta:${d}`,p=u?`reasoning:${u}`:f,m=t.get(f)??[...t.values()].find(e=>e.type===`model.reasoning`&&e.stableKey===p);if(m){let e=`${typeof m.output==`string`?m.output:``}${n.text}`;m.status=r===`running`?`running`:`done`,m.summary=e,m.output=e;return}let h={id:f,parentId:n.eventId?tM(n.eventId):void 0,piboSessionId:n.piboSessionId,eventId:n.eventId,type:`model.reasoning`,title:`Thinking`,status:r===`running`?`running`:`done`,startedAt:i,summary:n.text,output:n.text,source:`event-log`,stableKey:p,orderKey:Qj(a,n.type,o,s,c,n.renderSequence,i),children:[]};e.push(h),t.set(h.id,h)}function Wj(e,t){e.status=t.status,e.summary=t.summary??e.summary,e.output=t.output??e.output,e.completedAt=t.completedAt??e.completedAt}function Gj(e){return(e.type===`message_queued`||e.type===`message_steered`)&&`clientTxnId`in e&&typeof e.clientTxnId==`string`}function Kj(e){return e===`session.fork`||e===`session.clone`||e===`session.switch`}function qj(e){return e.type===`assistant_delta`||e.type===`assistant_message`}function Jj(e){return e.type===`message_queued`||e.type===`message_started`||e.type===`message_finished`||e.type===`assistant_delta`||e.type===`assistant_message`||e.type===`thinking_started`||e.type===`thinking_delta`||e.type===`thinking_finished`}function Yj(e,t){let n=`eventId`in e&&typeof e.eventId==`string`?e.eventId:void 0;return!!(n&&t.has(n))}function Xj(e,t){let n=`eventId`in e&&typeof e.eventId==`string`?e.eventId:void 0;return n===void 0||t.eventIds.has(n)}function Zj(e,t,n){return t.mode!==`native`||n===`running`||e.type!==`tool_call`&&e.type!==`tool_execution_started`&&e.type!==`tool_execution_updated`&&e.type!==`tool_execution_finished`||typeof e.intent==`string`&&e.intent.trim()?!1:t.toolCallIds.has(e.toolCallId)||Xj(e,t)}function Qj(e,t,n,r,i,a,o){let s=i===`live`?$w(n,r,$j(t)):Qw(e??n,$j(t)),c=(a!==void 0&&a>=9466848e8?Math.floor(a/1e3):void 0)??(o&&Number.isFinite(Date.parse(o))?Date.parse(o):void 0);return{...s,...a===void 0?{}:{renderSequence:a},...c===void 0?{}:{chronologyMs:c}}}function $j(e){switch(e){case`message_queued`:case`message_steered`:return`user.message`;case`message_started`:case`message_finished`:return`agent.turn`;case`thinking_started`:case`thinking_delta`:case`thinking_finished`:return`model.reasoning`;case`tool_call`:case`tool_execution_started`:case`tool_execution_updated`:case`tool_execution_finished`:case`subagent_session`:return`tool.call`;case`assistant_delta`:case`assistant_message`:return`assistant.message`;case`execution_result`:return`execution.command`;case`compaction_start`:case`compaction_end`:return`execution.compaction`;case`session_error`:return`error`;default:return`execution.command`}}function eM(e,t){let n=`eventId`in e&&typeof e.eventId==`string`?e.eventId:void 0;if(e.type===`tool_call`||e.type===`tool_execution_started`||e.type===`tool_execution_updated`||e.type===`tool_execution_finished`||e.type===`subagent_session`&&e.toolCallId)return vM(e);if(n&&(e.type===`message_started`||e.type===`message_finished`))return`turn:${n}`;if(e.type===`thinking_started`||e.type===`thinking_delta`||e.type===`thinking_finished`){let t=aM(e);if(t)return`reasoning:${t}`}if(e.type===`assistant_delta`||e.type===`assistant_message`){let t=rM(e);if(t)return`assistant:${t}`}return`event:${e.type}:${n??t??bM(e)}`}function tM(e){return`event:message:${e}`}function nM(e){return`event:assistant:${e}`}function rM(e){if(!e.eventId)return;let t=typeof e.assistantIndex==`number`?e.assistantIndex:e.contentIndex;return typeof t==`number`?`${e.eventId}:assistant:${t}`:e.eventId}function iM(e){return`event:thinking:${e}`}function aM(e){if(!e.eventId)return;let t=typeof e.thinkingIndex==`number`?e.thinkingIndex:e.contentIndex;return typeof t==`number`?`${e.eventId}:thinking:${t}`:e.eventId}function oM(e,t){e.status=t.status,e.intent=t.intent??e.intent,e.summary=t.summary??e.summary,e.input=dM(e,t),e.output=t.output??e.output,e.error=t.error??e.error,e.completedAt=t.completedAt??e.completedAt,e.payloadRefs={...e.payloadRefs,...t.payloadRefs},e.linkedPiboSessionId=t.linkedPiboSessionId??e.linkedPiboSessionId}function sM(e,t){e.summary=t.summary??e.summary,e.input=dM(e,t),e.linkedPiboSessionId=t.linkedPiboSessionId??e.linkedPiboSessionId}function cM(e,t){let n=[...e].reverse().filter(e=>e.type===`agent.delegation`),r=lM(t),i=n.filter(e=>!e.linkedPiboSessionId&&lM(e)===r),a=uM(t.input);return(a?i.find(e=>uM(e.input)===a):i.length===1?i[0]:void 0)||n.find(e=>e.linkedPiboSessionId===t.linkedPiboSessionId)}function lM(e){let t=fM(e.input)?e.input:void 0,n=typeof t?.name==`string`?t.name:typeof t?.subagentName==`string`?t.subagentName:e.summary??e.title;return typeof n==`string`&&n.replace(/^pibo_agents_send_message$/,`agent`).replace(/^pibo_subagent_/,``).trim().toLowerCase()||void 0}function uM(e){if(!(!fM(e)||typeof e.threadKey!=`string`))return e.threadKey.trim()||void 0}function dM(e,t){return e.type!==`agent.delegation`||!fM(e.input)||!fM(t.input)?t.input??e.input:Object.fromEntries(Object.entries({...e.input,...t.input}).filter(([,e])=>e!==void 0))}function fM(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function pM(e){return uT([...e]).reverse().find(e=>e.type===`execution.compaction`&&e.status===`running`)}function mM(e,t){e.status=t.status,e.summary=t.summary??e.summary,e.input=t.input??e.input,e.output=t.output??e.output,e.error=t.error??e.error,e.completedAt=t.completedAt??e.completedAt}function hM(e){return typeof e==`string`&&e.trim().length>0}function gM(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function _M(e,t,n,r){return e===void 0?t===void 0?r?`instance:${r}`:bM(n):`stream:${t}`:`sequence:${e}`}function vM(e){let t=e.eventId??(e.renderSequence===void 0?`unscoped`:`render:${e.renderSequence}`);return gT(e.toolCallId??`unlinked`,t,e.toolInvocationOrdinal??0)}function yM(e){if(typeof e==`string`)return e.trim()||void 0}function bM(e){let t=xM.get(e);if(t)return t;let n=`live:${++SM}`;return xM.set(e,n),n}var xM=new WeakMap,SM=0;function CM(e){let t=new Map;for(let n of e)t.set(n.id,n);let n=[];for(let r of e){if(!r.parentId){n.push(r);continue}let e=t.get(r.parentId);e?e.children.push(r):n.push(r)}return aT(n)}function wM(e,t,n){return t.map(t=>TM(e,t,n))}function TM(e,t,n){let r=e.get(t.id);if(t.children.length===0){let e=r!==void 0&&r.children.length===0;return r&&e&&(n&&!n.has(t.id)||EM(r,t))?r:e?{...t,children:r.children}:{...t,children:[]}}let i=t.children.map(t=>TM(e,t,n)),a=r!==void 0&&r.children.length===i.length&&r.children.every((e,t)=>e===i[t]);return r&&a&&(n&&!n.has(t.id)||EM(r,t))?r:a?{...t,children:r?.children??i}:{...t,children:i}}function EM(e,t){return e.id===t.id&&e.parentId===t.parentId&&e.entryId===t.entryId&&e.piboSessionId===t.piboSessionId&&e.eventId===t.eventId&&e.toolCallId===t.toolCallId&&e.toolInvocationOrdinal===t.toolInvocationOrdinal&&e.runId===t.runId&&e.intent===t.intent&&e.type===t.type&&e.title===t.title&&e.status===t.status&&e.startedAt===t.startedAt&&e.completedAt===t.completedAt&&e.durationMs===t.durationMs&&e.summary===t.summary&&e.input===t.input&&e.output===t.output&&e.error===t.error&&e.linkedPiboSessionId===t.linkedPiboSessionId&&e.source===t.source&&e.stableKey===t.stableKey&&DM(e.orderKey,t.orderKey)}function DM(e,t){return e===t?!0:!e||!t?!1:e.sourceRank===t.sourceRank&&e.turnSeq===t.turnSeq&&e.renderSequence===t.renderSequence&&e.transcriptIndex===t.transcriptIndex&&e.contentPartIndex===t.contentPartIndex&&e.eventSequence===t.eventSequence&&e.streamId===t.streamId&&e.streamFrameIndex===t.streamFrameIndex&&e.phaseRank===t.phaseRank}function OM(e,t,n){if(!t.length)return e;let r=new Set(e.rawEvents.map(e=>Lj(e))),i=[];for(let e of t){let t=Lj(e);r.has(t)||(r.add(t),i.push(e))}if(!i.length)return e;let a=uT(e.nodes),o=[],s=new Map,c=new Map;for(let e of a){c.set(e.id,e);let t={...e,children:[]};o.push(t),s.set(t.id,t)}let l=new Map,u=new Map,d=new Set,f={mode:`none`,eventIds:new Set,toolCallIds:new Set},p=[],m=new Set;for(let t of i){if(Aj(o,t))continue;p.push(t);let r=kj(t.payload);m&&r?m.add(r):m=void 0,bj(o,s,e.piboSessionId,t,l,u,f,d,n)}if(!p.length)return e;let h=CM(o);Oj(p)&&ij(h);let g=wM(c,h,m);return{...e,rawEvents:e.rawEvents.length?[...e.rawEvents,...p]:p,nodes:g,latestStreamId:Rj(p,e.latestStreamId)}}function kM(e){let t=new Map;if(PM(e.nodes,t),!t.size)return e;let{nodes:n,changed:r}=FM(e.nodes,t);return r?{...e,nodes:n}:e}function AM(e){return e.some(NM)}function jM(e){let t=new Map;return RM(e,e=>{if(e.type!==`user.message`||!e.entryId)return;let n=zM(e),r=t.get(n);r?r.push(e.entryId):t.set(n,[e.entryId])}),t}function MM(e,t){if(!t.size)return;let n=new Map;RM(e,e=>{if(e.type!==`user.message`||!e.entryId)return;let t=zM(e),r=n.get(t)??new Set;r.add(e.entryId),n.set(t,r)});let r=new Map;RM(e,e=>{if(e.type!==`user.message`||e.entryId)return;let i=zM(e),a=t.get(i);if(!a?.length)return;let o=n.get(i)??new Set,s=r.get(i)??0;for(;s<a.length&&o.has(a[s]);)s+=1;let c=a[s];c&&(e.entryId=c,o.add(c),n.set(i,o),r.set(i,s+1))})}function NM(e){let t=e.payload;return!!(t&&typeof t==`object`&&!Array.isArray(t)&&`type`in t&&(t.type===`message_queued`||t.type===`message_steered`)&&`source`in t&&t.source===`user`&&`text`in t&&typeof t.text==`string`)}function PM(e,t){for(let n of e){if(n.type===`user.message`&&!LM(n)&&!IM(n)){let e=zM(n);e&&t.set(e,(t.get(e)??0)+1)}PM(n.children,t)}}function FM(e,t){let n=!1,r=[];for(let i of e){if(LM(i)){let e=zM(i),r=e?t.get(e)??0:0;if(r>0){t.set(e,r-1),n=!0;continue}}let e=FM(i.children,t);n||=e.changed,r.push(e.changed?{...i,children:e.nodes}:i)}return{nodes:n?r:e,changed:n}}function IM(e){return[e.id,e.stableKey].some(e=>e?.startsWith(`event:message_queued:`)||e?.startsWith(`event:message_steered:`))}function LM(e){return e.type===`user.message`?e.source===`event-log`&&(e.id.startsWith(`event:message_queued:`)||e.id.startsWith(`event:message_steered:`))?!0:[e.id,e.stableKey,e.eventId].filter(e=>typeof e==`string`).some(e=>e.startsWith(`optimistic:user-message:`)||e.includes(`:optimistic:user-message:`)):!1}function RM(e,t){for(let n of e)t(n),RM(n.children,t)}function zM(e){return typeof e.output==`string`?e.output:typeof e.summary==`string`?e.summary:``}function BM(e,t,n){return t&&e.set(t.piboSessionId,t),n?e.get(n)??null:null}function VM(e,t,n){t&&t.piboSessionId!==n.piboSessionId&&e.set(t.piboSessionId,t);let r=HM(t?.piboSessionId===n.piboSessionId?t:e.get(n.piboSessionId)??null,n);return r?e.set(n.piboSessionId,r):e.delete(n.piboSessionId),r}function HM(e,t){if(!e||e.piboSessionId!==t.piboSessionId)return e;let n=GM(t),r=UM(t.nodes),i=e.events.filter(e=>{let i=XM(e);if(i&&n.has(i))return!1;if(NM(e)){let t=r.get(e.payload.text)??0;if(t>0)return t===1?r.delete(e.payload.text):r.set(e.payload.text,t-1),!1}return!JM(t,e)});return i.length?{...e,events:i}:null}function UM(e){let t=new Map;for(let n of e){if(n.type===`user.message`&&qM(n)&&!WM(n)){let e=$M(n);e&&t.set(e,(t.get(e)??0)+1)}for(let[e,r]of UM(n.children))t.set(e,(t.get(e)??0)+r)}return t}function WM(e){return[e.id,e.stableKey].some(e=>e?.startsWith(`event:message_queued:`)||e?.startsWith(`event:message_steered:`))}function GM(e){let t=new Set;for(let n of e.rawEvents){let e=XM(n);e&&t.add(e)}return KM(e.nodes,t),t}function KM(e,t){for(let n of e){if(n.type===`user.message`)for(let e of[`message_queued`,`message_steered`]){let r=`event:${e}:`,i=n.id.startsWith(r)?n.id.slice(r.length):void 0;i&&t.add(`${n.piboSessionId}:${e}:${i}`),qM(n)&&n.entryId&&t.add(`${n.piboSessionId}:${e}:${n.entryId}`)}if(n.type===`assistant.message`){let e=ZM(n,`assistant:`);e&&(t.add(`${n.piboSessionId}:assistant_delta:${e}`),(qM(n)||n.completedAt!==void 0)&&t.add(`${n.piboSessionId}:assistant_message:${e}`)),qM(n)&&n.eventId&&(t.add(`${n.piboSessionId}:message_started:${n.eventId}`),t.add(`${n.piboSessionId}:message_finished:${n.eventId}`))}if(n.type===`model.reasoning`){let e=ZM(n,`reasoning:`);e&&(t.add(`${n.piboSessionId}:thinking_delta:${e}`),qM(n)&&(t.add(`${n.piboSessionId}:thinking_started:${e}`),t.add(`${n.piboSessionId}:thinking_finished:${e}`)))}if(n.toolCallId&&(n.type===`tool.call`||n.type===`tool.result`||n.type===`agent.delegation`)){let e=_T(n.id),r=e?.qualifier?gT(e.toolCallId,e.qualifier.eventId,e.qualifier.invocationOrdinal):gT(n.toolCallId,n.eventId??`unscoped`,n.toolInvocationOrdinal??0);t.add(`${n.piboSessionId}:tool_call:${r}`);let i=n.completedAt!==void 0||n.type===`tool.result`||n.status===`error`;(n.status===`running`||n.output!==void 0||i)&&t.add(`${n.piboSessionId}:tool_execution_started:${r}`),(n.output!==void 0&&!i||i)&&t.add(`${n.piboSessionId}:tool_execution_updated:${r}`),i&&t.add(`${n.piboSessionId}:tool_execution_finished:${r}`)}KM(n.children,t)}}function qM(e){return e.source===`transcript`||e.source===`product-history`}function JM(e,t){let n=t.payload;if(!n||typeof n!=`object`||Array.isArray(n))return!1;let r=`source`in n?n.source:void 0,i=`text`in n?n.text:void 0;return r!==`service`||typeof i!=`string`||!pj(i)?!1:YM(e,t)}function YM(e,t){let n=t.eventSequence;if(n===void 0||e.firstEventSequence===void 0)return!1;let r=e.lastEventSequence??e.eventCount;return r!==void 0&&n>=e.firstEventSequence&&n<=r}function XM(e){let t=e.payload;if(!t||typeof t!=`object`||Array.isArray(t))return;let n=`eventId`in t&&typeof t.eventId==`string`?t.eventId:e.eventId,r=`piboSessionId`in t&&typeof t.piboSessionId==`string`?t.piboSessionId:e.piboSessionId;if(r){if(e.type===`tool_call`||e.type===`tool_execution_started`||e.type===`tool_execution_updated`||e.type===`tool_execution_finished`){let i=`toolCallId`in t&&typeof t.toolCallId==`string`?t.toolCallId:void 0;if(!i)return;let a=QM(t,`toolInvocationOrdinal`)??0,o=n??(e.renderSequence===void 0?`unscoped`:`render:${e.renderSequence}`);return`${r}:${e.type}:${gT(i,o,a)}`}if(n){if(e.type===`assistant_delta`||e.type===`assistant_message`){let i=QM(t,`assistantIndex`)??QM(t,`contentIndex`),a=i===void 0?n:`${n}:assistant:${i}`;return`${r}:${e.type}:${a}`}if(e.type===`thinking_started`||e.type===`thinking_delta`||e.type===`thinking_finished`){let i=QM(t,`thinkingIndex`)??QM(t,`contentIndex`),a=i===void 0?n:`${n}:thinking:${i}`;return`${r}:${e.type}:${a}`}return`${r}:${e.type}:${n}`}}}function ZM(e,t){return e.stableKey?.startsWith(t)?e.stableKey.slice(t.length):e.eventId}function QM(e,t){let n=t in e?e[t]:void 0;return typeof n==`number`&&Number.isFinite(n)?n:void 0}function $M(e){return typeof e.output==`string`?e.output:e.output&&typeof e.output==`object`&&`text`in e.output&&typeof e.output.text==`string`?e.output.text:``}function eN({selectedPiboSessionId:e,reconciledBaseTraceView:t,liveTraceOverlay:n,selectedSessionStatus:r,persistedUserMessageIndexForBaseTrace:i,now:a,previousProjection:o}){if(!e||t?.piboSessionId!==e)return{traceView:null};let s=(n?.piboSessionId===e?HM(n,t):null)?.events??[];if(!s.length)return{traceView:t};let c=a?.(),l=r??`idle`,u=o?.baseTraceView===t&&o.sessionStatus===l&&s.length>=o.overlayEvents.length&&o.overlayEvents.every((e,t)=>s[t]===e),d=u?s.slice(o.overlayEvents.length):s,f=u?OM(o.traceView,d,l):OM(t,s,l),p=AM(s);p&&MM(f.nodes,i);let m=p?kM(f):f;return{traceView:m,appliedLiveEventCount:d.length,projectionCache:{baseTraceView:t,overlayEvents:s,sessionStatus:l,traceView:m},liveTraceComputeDurationMs:c!==void 0&&a?a()-c:void 0}}function tN(e,t){for(let n of e)t(n),tN(n.children,t)}function nN(e){return typeof e.output==`string`?e.output:typeof e.summary==`string`?e.summary:``}function rN(e){if(!e)return;let t=0;return tN(e.nodes,e=>{e.type===`assistant.message`&&(t+=nN(e).length)}),t}function iN({selectedPiboSessionId:e,baseTraceView:t,liveTraceOverlay:n,selectedSessionStatus:r}){let i=(0,L.useMemo)(()=>t?kM(t):null,[t]),a=(0,L.useMemo)(()=>i?jM(i.nodes):new Map,[i]),o=(0,L.useRef)(void 0),s=(0,L.useMemo)(()=>{let t=eN({selectedPiboSessionId:e,reconciledBaseTraceView:i,liveTraceOverlay:n,selectedSessionStatus:r,persistedUserMessageIndexForBaseTrace:a,previousProjection:o.current,now:Sx()?()=>performance.now():void 0});return o.current=t.projectionCache,t},[n,e,r,i,a]),c=s.traceView;return(0,L.useEffect)(()=>{!e||!c?.piboSessionId||!Sx()||(jx(c.piboSessionId,{overlayEventCount:n?.piboSessionId===c.piboSessionId?n.events.length:0,traceBaseOutputLength:rN(t),currentOutputLength:rN(c)}),s.liveTraceComputeDurationMs!==void 0&&Ox(c.piboSessionId,s.liveTraceComputeDurationMs))},[t,s.liveTraceComputeDurationMs,c,n,e]),(0,L.useEffect)(()=>{if(!c?.piboSessionId||!WS())return;let e=n?.piboSessionId===c.piboSessionId?n.events:[];XS({piboSessionId:c.piboSessionId,trigger:`trace-state:render`,baseTraceView:t,currentTraceView:c,overlayEvents:e,selectedSessionStatus:r})},[t,c,n,r]),(0,L.useEffect)(()=>{let e=()=>{if(!c?.piboSessionId||!WS())return;let e=n?.piboSessionId===c.piboSessionId?n.events:[];XS({piboSessionId:c.piboSessionId,trigger:`trace-state:tab:${document.visibilityState}`,baseTraceView:t,currentTraceView:c,overlayEvents:e,selectedSessionStatus:r})};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[t,c,n,r]),c}var aN=1e4,oN=3e5;function sN(e){return[`chat`,`trace-summary`,e]}function cN(e,t={}){let n=t.pageSize??t.eventLimit??100,r=t.beforeCursor??t.beforeSequence;return[`chat`,`trace-page`,e,t.includeRawEvents?`raw`:`compact`,t.rawEventsLimit??80,n,r===void 0?`tail`:String(r)]}function lN(e,t){if(e.piboSessionId!==t.piboSessionId)return e;let n=vN(t.rawEvents,e.rawEvents,!1);return{...e,version:e.version,nodes:wN(t.nodes,e.nodes),rawEvents:n,beforeCursor:t.beforeCursor??e.beforeCursor,firstEventSequence:t.firstEventSequence??e.firstEventSequence,nextBeforeSequence:t.nextBeforeSequence,nextBeforeCursor:t.nextBeforeCursor,hasOlderEvents:t.hasOlderEvents,eventLimit:(e.eventLimit??0)+(t.eventLimit??t.pageSize??0)}}function uN(e,t){return e.piboSessionId===t.piboSessionId?{...t,nodes:dN(e.nodes,t),rawEvents:vN(e.rawEvents,t.rawEvents,!0),beforeCursor:e.beforeCursor,firstEventSequence:e.firstEventSequence??t.firstEventSequence,nextBeforeSequence:e.nextBeforeSequence,nextBeforeCursor:e.nextBeforeCursor,hasOlderEvents:e.hasOlderEvents,eventLimit:e.eventLimit??t.eventLimit}:t}function dN(e,t){let n=uT([...e]),r=uT([...t.nodes]),i=new Set(r.map(e=>e.id)),a=pN([...n,...r]),o=hN(r),s=gN(r),c=n.filter(e=>{if(i.has(e.id))return!0;if(e.type===`agent.turn`&&e.source===`event-log`&&e.eventId&&a.has(e.eventId)||mN(e))return!1;let n=e.orderKey?.eventSequence;if(n!==void 0&&t.firstEventSequence!==void 0)return n<t.firstEventSequence;let r=e.orderKey?o.get(e.orderKey.sourceRank):void 0;if(e.orderKey&&r)return nT(e.orderKey,r)<0;if(e.source===`live`||e.orderKey?.streamId!==void 0)return!1;let c=_N(e.startedAt);return c!==void 0&&s!==void 0&&c<s}),l=new Set([...c,...r].map(e=>e.id)),u=new Set(n.filter(e=>!l.has(e.id)).map(e=>e.id));return wN(fN(c,u),fN(r,u))}function fN(e,t){return e.map(e=>e.parentId&&t.has(e.parentId)?{...e,parentId:void 0}:e)}function pN(e){let t=new Set;for(let n of e)(n.source===`transcript`||n.source===`product-history`)&&n.eventId&&t.add(n.eventId);return t}function mN(e){return e.source===`live`||e.orderKey?.streamId!==void 0}function hN(e){let t=new Map;for(let n of e){if(!n.orderKey)continue;let e=t.get(n.orderKey.sourceRank);(!e||nT(n.orderKey,e)<0)&&t.set(n.orderKey.sourceRank,n.orderKey)}return t}function gN(e){let t;for(let n of e){let e=_N(n.startedAt);e!==void 0&&(t=t===void 0?e:Math.min(t,e))}return t}function _N(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function vN(e,t,n){if(!t.length)return[...e].sort(yN);let r=n?t.reduce((e,t)=>t.eventSequence===void 0?e:e===void 0?t.eventSequence:Math.min(e,t.eventSequence),void 0):void 0,i=new Map;for(let t of e)r!==void 0&&t.eventSequence!==void 0&&t.eventSequence>=r||i.set(CN(t),t);for(let e of t)i.set(CN(e),e);return[...i.values()].sort(yN)}function yN(e,t){return(e.eventSequence===void 0?0:1)-(t.eventSequence===void 0?0:1)||(e.eventSequence!==void 0&&t.eventSequence!==void 0?e.eventSequence-t.eventSequence:0)||xN(SN(e.createdAt),SN(t.createdAt))||bN(e.streamId,t.streamId)||bN(e.streamFrameIndex,t.streamFrameIndex)||(e.eventSequence===void 0&&t.eventSequence===void 0?bN(e.renderSequence,t.renderSequence):0)||e.id.localeCompare(t.id)||e.type.localeCompare(t.type)}function bN(e,t){return e===t?0:e===void 0?1:t===void 0?-1:e-t}function xN(e,t){return e===t?0:e===void 0?1:t===void 0?-1:e.localeCompare(t)}function SN(e){return Number.isFinite(Date.parse(e))?e:void 0}function CN(e){return e.id||`${e.eventSequence??``}:${e.type}:${e.createdAt}`}function wN(e,t){let n=new Map;for(let t of uT([...e]))n.set(t.id,{...t,children:[]});for(let e of uT([...t])){let t=n.get(e.id);n.set(e.id,{...t,...e,children:[]})}return dT([...n.values()])}function TN(e,t=[]){let n=new Map,r=[],i=e.hasOlderEvents??e.cursor.hasOlder,a=i?e.nextBeforeCursor??e.cursor.before:void 0,o=i?e.nextBeforeSequence??EN(e.cursor.before):void 0;for(let t of e.nodes)n.set(t.nodeId,DN(t));for(let t of e.nodes){let e=n.get(t.nodeId);if(!e)continue;let i=t.parentId?n.get(t.parentId):void 0;i?i.children.push(e):r.push(e)}return{piboSessionId:e.piboSessionId,piSessionId:e.piSessionId,title:e.title,version:e.version,latestStreamId:e.latestStreamId,eventCount:e.eventCount,eventLimit:e.pageSize,pageSize:e.pageSize,beforeCursor:e.cursor.before,firstEventSequence:e.firstEventSequence??EN(e.cursor.before),lastEventSequence:e.lastEventSequence??EN(e.cursor.after),nextBeforeSequence:o,nextBeforeCursor:a,hasOlderEvents:i,nodes:r,rawEvents:t}}function EN(e){if(!e)return;let t=Number.parseInt(e,10);return Number.isFinite(t)?t:void 0}function DN(e){let t=e.preview?.text,n=e.payloadRefs?.input?.preview,r=e.payloadRefs?.output?.preview??e.payloadRefs?.reasoning?.preview??t,i=e.payloadRefs?.error?.preview,a=e.inlinePayloads?.output??e.inlinePayloads?.reasoning;return{id:e.nodeId,parentId:e.parentId,entryId:e.entryId,nativeTurnId:e.nativeTurnId,piboSessionId:e.piboSessionId,eventId:e.eventId,toolCallId:e.toolCallId,runId:e.runId,intent:e.intent,type:e.type,title:e.title,status:e.status,startedAt:e.startedAt,completedAt:e.completedAt,durationMs:e.durationMs,summary:t,input:e.inlinePayloads?.input??n,output:a??r,error:typeof e.inlinePayloads?.error==`string`?e.inlinePayloads.error:i,payloadRefs:e.payloadRefs,linkedPiboSessionId:e.linkedPiboSessionId,source:e.source,stableKey:e.stableKey,orderKey:e.orderKey,children:[]}}var ON=128;function kN({selectedPiboSessionId:e,showRawEvents:t,liveTraceOverlay:n,liveTraceOverlayCacheRef:r,setLiveTraceOverlay:i}){let a=Ke(),[o,s]=(0,L.useState)(100),[c,l]=(0,L.useState)(80),[u,d]=(0,L.useState)(null),f=(0,L.useRef)(new Map),[p,m]=(0,L.useState)(void 0),[h,g]=(0,L.useState)(!1),_=(0,L.useRef)(null),v=(0,L.useRef)(new Set),y=(0,L.useMemo)(()=>e?sN(e):null,[e]),b=(0,L.useMemo)(()=>e?cN(e,{includeRawEvents:!1,rawEventsLimit:0,pageSize:100}):null,[e]),x=st({queryKey:y??[`chat`,`trace-summary`,`idle`],queryFn:async({signal:t})=>{if(!e||!y)throw Error(`Session is required`);let n=a.getQueryData(y),r=await AC(e,n?.version,{signal:t});if(r.notModified&&n)return n;if(!r.summary)throw Error(`Trace summary response missing payload.`);return r.summary},enabled:!1,staleTime:aN,gcTime:oN,refetchOnWindowFocus:!1,retry:1}),S=st({queryKey:b??[`chat`,`trace-page`,`idle`,`compact`,c,100,`tail`],queryFn:async({signal:t})=>{if(!e||!b)throw Error(`Session is required`);let n=a.getQueryData(b),r=await jC(e,{limit:100,knownVersion:n?.version,signal:t});if(r.notModified&&n)return n;if(!r.timeline)throw Error(`Trace timeline response missing payload.`);return TN(r.timeline)},enabled:!!e,staleTime:aN,gcTime:oN,refetchOnWindowFocus:!1,retry:1});(0,L.useLayoutEffect)(()=>{let t=b?a.getQueryData(b):void 0;s(100),l(80),m(void 0),g(!1),d(n=>(n&&f.current.set(n.piboSessionId,n),e?f.current.get(e)??(t?.piboSessionId===e?t:null):null)),i(t=>BM(r.current,t,e)),_.current=null,v.current=new Set},[r,a,e,i,b]);let C=st({queryKey:e?[`chat`,`trace-raw-events`,e,c,p??`tail`]:[`chat`,`trace-raw-events`,`idle`],queryFn:async({signal:t})=>{if(!e)throw Error(`Session is required`);return MC(e,{limit:c,beforeSequence:p,signal:t})},enabled:!!(e&&t),staleTime:aN,gcTime:oN,refetchOnWindowFocus:!1,retry:1});(0,L.useEffect)(()=>{let t=S.data;!t||t.piboSessionId!==e||(Sx()&&jx(t.piboSessionId,{overlayEventCount:0,traceBaseOutputLength:rN(t),traceBaseUpdated:!0}),(0,L.startTransition)(()=>{d(e=>{let n=e?.piboSessionId===t.piboSessionId?uN(e,t):t;return f.current.set(t.piboSessionId,n),n}),i(e=>VM(r.current,e,t))}))},[r,e,i,S.data]),(0,L.useEffect)(()=>{let t=u;!t||t.piboSessionId!==e||(0,L.startTransition)(()=>{i(e=>VM(r.current,e,t))})},[u,r,e,i]),(0,L.useEffect)(()=>{let t=C.data;!t||t.piboSessionId!==e||(0,L.startTransition)(()=>{d(e=>{if(!e)return e;if(p===void 0)return{...e,rawEvents:t.events};let n=new Set(t.events.map(e=>e.id));return{...e,rawEvents:[...t.events,...e.rawEvents.filter(e=>!n.has(e.id))]}})})},[p,C.data,e]);let w=(0,L.useCallback)(async n=>{if(!e||!n)return;let r=`${e}:${n}`;if(_.current||v.current.has(r))return;_.current=r,g(!0);let i=cN(e,{includeRawEvents:t,rawEventsLimit:c,pageSize:100,beforeCursor:n});try{let t=await a.fetchQuery({queryKey:i,queryFn:async({signal:t})=>{let r=a.getQueryData(i),o=await jC(e,{limit:100,beforeCursor:n,knownVersion:r?.version,signal:t});if(o.notModified&&r)return r;if(!o.timeline)throw Error(`Trace timeline response missing payload.`);return TN(o.timeline)},staleTime:aN,gcTime:oN});(0,L.startTransition)(()=>{d(e=>e?lN(e,t):t),s(e=>e+(t.pageSize??100))}),AN(v.current,r)}finally{_.current===r&&(_.current=null),g(!1)}},[a,c,e,t]),T=e?u?.piboSessionId===e?u:f.current.get(e)??(S.data?.piboSessionId===e?S.data:null):null,E=e?n?.piboSessionId===e?n:r.current.get(e)??null:null,D=(0,L.useCallback)(()=>{let e=T?.rawEvents[0]?.eventSequence;m(e),l(e=>e+80)},[T?.rawEvents]);return{baseTraceView:T,liveTraceOverlay:E,traceEventLimit:o,rawEventLimit:c,traceSummaryQuery:x,tracePageQuery:S,rawEventsQuery:C,loadingOlderTracePage:h,tracePageReady:!!b,loadOlderTracePage:w,loadMoreRawEvents:D}}function AN(e,t){if(e.add(t),e.size<=ON)return;let n=e.values().next();n.done||e.delete(n.value)}function jN(e){let t=e.currentEvents,n,r,i=()=>(r??=new Set(t.map(BN)),r),a=e=>{n??=t.slice(),n.push(e),t=n};for(let o of e.streamEvents){let s=PN(o,e.piboSessionId,e.nextSequence,e.now??(()=>new Date().toISOString()));if(!s)continue;if(MN(s)){t=NN(t,s),n=t,r=void 0;continue}let c=BN(s),l=i();l.has(c)||(l.add(c),a(s))}return t}function MN(e){return e.type===`assistant_message`||e.type===`thinking_finished`||e.type===`tool_execution_finished`}function NN(e,t){return t.type===`assistant_message`?[...zN(e,t,`assistant_delta`),t]:t.type===`thinking_finished`?[...zN(e,t,`thinking_delta`),t]:t.type===`tool_execution_finished`?[...zN(e,t,`tool_execution_updated`),t]:e}function PN(e,t,n,r){if(e.type===`RAW_EVENT`&&UN(e.event)&&typeof e.event.type==`string`){let i=e.event;return FN(e,t,e.event.type,i,n,r)}if(e.type===`TEXT_MESSAGE_CONTENT`&&typeof e.delta==`string`)return FN(e,t,`assistant_delta`,{type:`assistant_delta`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,...HN(typeof e.messageId==`string`?e.messageId:void 0,`assistant`),text:e.delta},n,r);if(e.type===`REASONING_MESSAGE_CONTENT`&&typeof e.delta==`string`)return FN(e,t,`thinking_delta`,{type:`thinking_delta`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,...HN(typeof e.messageId==`string`?e.messageId:void 0,`thinking`),text:e.delta},n,r);if(e.type===`TOOL_CALL_START`&&typeof e.toolCallId==`string`&&typeof e.toolName==`string`)return FN(e,t,`tool_execution_started`,{type:`tool_execution_started`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,toolCallId:e.toolCallId,toolName:e.toolName,toolInvocationOrdinal:LN(e.toolInvocationOrdinal)?e.toolInvocationOrdinal:void 0,args:e.args,...e.intent?{intent:e.intent}:{}},n,r);if(e.type===`TOOL_CALL_ARGS`&&typeof e.toolCallId==`string`&&typeof e.toolName==`string`){let i=typeof e.runId==`string`?e.runId:void 0,a=e.sourceEventType===`tool_execution_updated`?`tool_execution_updated`:`tool_call`;return FN(e,t,a,a===`tool_execution_updated`?{type:`tool_execution_updated`,piboSessionId:t,eventId:i,toolCallId:e.toolCallId,toolName:e.toolName,toolInvocationOrdinal:LN(e.toolInvocationOrdinal)?e.toolInvocationOrdinal:void 0,args:e.args,partialResult:e.partialResult,...e.intent?{intent:e.intent}:{}}:{type:`tool_call`,piboSessionId:t,eventId:i,toolCallId:e.toolCallId,toolName:e.toolName,toolInvocationOrdinal:LN(e.toolInvocationOrdinal)?e.toolInvocationOrdinal:void 0,args:e.args,argsComplete:!!e.argsComplete,...e.intent?{intent:e.intent}:{}},n,r)}if(e.type===`TOOL_CALL_RESULT`&&typeof e.toolCallId==`string`&&typeof e.toolName==`string`)return FN(e,t,`tool_execution_finished`,{type:`tool_execution_finished`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,toolCallId:e.toolCallId,toolName:e.toolName,toolInvocationOrdinal:LN(e.toolInvocationOrdinal)?e.toolInvocationOrdinal:void 0,result:e.result,isError:!!e.isError,...e.intent?{intent:e.intent}:{}},n,r);if(e.type===`RUN_ERROR`&&typeof e.message==`string`)return FN(e,t,`session_error`,{type:`session_error`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,error:e.message,errorDetails:e.errorDetails},n,r)}function FN(e,t,n,r,i,a){let o=typeof e.streamFrameId==`string`?e.streamFrameId:void 0,s=typeof e.streamFrameIndex==`number`?e.streamFrameIndex:void 0,c=typeof e.liveReplayId==`number`&&Number.isFinite(e.liveReplayId)?e.liveReplayId:void 0,l=i(),u=IN(e.renderSequence)?e.renderSequence:IN(r.renderSequence)?r.renderSequence:void 0,d=u!==void 0&&r.renderSequence===void 0?{...r,renderSequence:u}:r;return{id:typeof e.streamId==`number`?`stream:${e.streamId}:${s??`raw`}:${n}`:c===void 0?o?`stream:${o}:${n}`:`live:${l}:${n}`:`live-replay:${c}:${n}`,piboSessionId:t,eventSequence:l,renderSequence:u,streamId:typeof e.streamId==`number`?e.streamId:void 0,streamFrameIndex:s,traceSource:`live`,eventId:typeof d.eventId==`string`?d.eventId:void 0,type:n,createdAt:RN(e)??a(),payload:d}}function IN(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function LN(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function RN(e){if(!(typeof e.createdAt!=`string`||!Number.isFinite(Date.parse(e.createdAt))))return e.createdAt}function zN(e,t,n){let r=VN(t);return e.filter(e=>e.type!==n||VN(e)!==r)}function BN(e){return e.streamId===void 0?`${e.id}:${e.type}`:e.streamFrameIndex===void 0?`stream:${e.streamId}:${e.id}:${e.type}`:`stream:${e.streamId}:${e.streamFrameIndex}:${e.type}`}function VN(e){let t=UN(e.payload)?e.payload:{},n=typeof t.piboSessionId==`string`?t.piboSessionId:e.piboSessionId??``,r=typeof t.eventId==`string`?t.eventId:e.eventId??``;if(typeof t.toolCallId==`string`){let e=typeof t.toolInvocationOrdinal==`number`?t.toolInvocationOrdinal:0;return`${n}:${r}:tool:${t.toolCallId}:${e}`}let i=typeof t.assistantIndex==`number`?t.assistantIndex:void 0,a=typeof t.thinkingIndex==`number`?t.thinkingIndex:void 0,o=typeof t.contentIndex==`number`?t.contentIndex:0;return`${n}:${r}:${i??a??o}`}function HN(e,t){let n=e?.match(RegExp(`:${t}:(\\d+)$`));if(!n)return{};let r=Number(n[1]);return Number.isInteger(r)?t===`assistant`?{assistantIndex:r}:{thinkingIndex:r}:{}}function UN(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function WN(e){try{let t=JSON.parse(e.data);if(typeof t.type!=`string`)return;let n=e.lastEventId?eT(e.lastEventId):void 0;return{...t,...e.lastEventId?{streamFrameId:e.lastEventId}:{},...n?{streamId:n.streamId,streamFrameIndex:n.frameIndex}:{}}}catch{return}}function GN(e,t,n){let r=e.get(t);r?.streamId!==void 0&&r.streamId>=n||e.set(t,{streamId:n,frameIndex:2**53-1,cursor:qN(n),exact:!1,...r?.liveReplayId===void 0?{}:{liveReplayId:r.liveReplayId}})}function KN(e,t,n){let r=e.get(t),i=typeof n.liveReplayId==`number`&&Number.isFinite(n.liveReplayId)?Math.max(r?.liveReplayId??0,n.liveReplayId):r?.liveReplayId;if(n.streamId===void 0||n.streamFrameIndex===void 0){i!==void 0&&i!==r?.liveReplayId&&e.set(t,{...r??{exact:!1},liveReplayId:i});return}if(r&&(r.streamId!==void 0&&r.streamId>n.streamId||r.streamId===n.streamId&&r.exact&&r.frameIndex!==void 0&&r.frameIndex>=n.streamFrameIndex)){i!==void 0&&i!==r.liveReplayId&&e.set(t,{...r,liveReplayId:i});return}e.set(t,{streamId:n.streamId,frameIndex:n.streamFrameIndex,cursor:n.streamFrameId??`${n.streamId}:${n.streamFrameIndex}`,exact:!0,...i===void 0?{}:{liveReplayId:i}})}function qN(e){return`${e}:999999`}function JN(e){if(e.type===`RUN_FINISHED`||e.type===`TEXT_MESSAGE_END`)return 300;if(e.type===`RUN_ERROR`)return 0}function YN(e){return e.type===`RUN_STARTED`||e.type===`RUN_FINISHED`||e.type===`RUN_ERROR`||e.type===`TEXT_MESSAGE_END`||e.type===`RUNTIME_APPROVAL_REQUESTED`||e.type===`RUNTIME_APPROVAL_RESOLVED`||e.type===`RUNTIME_USER_INPUT_REQUESTED`||e.type===`RUNTIME_USER_INPUT_RESOLVED`}function XN(e){return e.type===`TEXT_MESSAGE_CONTENT`||e.type===`REASONING_MESSAGE_CONTENT`||e.type===`TOOL_CALL_START`||e.type===`TOOL_CALL_ARGS`||e.type===`TOOL_CALL_RESULT`||e.type===`RUN_ERROR`||e.type===`RAW_EVENT`}function ZN(e,t,n){if(n.type===`RUN_STARTED`||n.type===`RUN_FINISHED`||n.type===`RUN_ERROR`){e.delete(t);return}let r=eP(n);r&&e.get(t)?.delete(r)}function QN(e,t,n){let r=$N(n);if(!r)return!1;let i=e.get(t);return i||(i=new Set,e.set(t,i)),!i.has(r)&&(i.add(r),!0)}function $N(e){if(e.type===`TEXT_MESSAGE_CONTENT`||e.type===`REASONING_MESSAGE_CONTENT`)return`${e.type}:${e.messageId}`}function eP(e){if(e.type===`TEXT_MESSAGE_START`)return`TEXT_MESSAGE_CONTENT:${e.messageId}`;if(e.type===`REASONING_MESSAGE_START`)return`REASONING_MESSAGE_CONTENT:${e.messageId}`}var tP=500,nP=1e4,rP=45e3,iP=15e3,aP=100,oP=2;function sP(e){let t=Math.max(e.eventCount??0,e.lastEventSequence??0);for(let n of e.rawEvents)t=Math.max(t,n.eventSequence??0);return t+1}function cP(e){if(e.forceReconnect)return!0;let t=e.liveStream;return!t||t.piboSessionId!==e.selectedPiboSessionId||t.readyState===oP||(e.nowMs??Date.now())-t.lastActivityAt>rP}function lP(e,t){return e===t}function uP({selectedPiboSessionId:e,tracePageData:t,currentTraceView:n,liveEventSeqRef:r,selectedSessionStatus:i,tracePageReady:a,setLiveTraceOverlay:o,onRefreshTrace:s,onRefreshBootstrap:c,onRuntimeRequestEvent:l,onError:u}){let d=(0,L.useRef)(e);d.current=e;let f=(0,L.useRef)(new Map),p=(0,L.useRef)(void 0),m=(0,L.useRef)(void 0),h=(0,L.useRef)(new Map),g=(0,L.useRef)(new Map),_=(0,L.useRef)(null),v=(0,L.useRef)(void 0),y=(0,L.useRef)(0),b=(0,L.useRef)(!1),x=(0,L.useRef)(!1),[S,C]=(0,L.useState)(0);(0,L.useEffect)(()=>{let n=t;!n||n.piboSessionId!==e||(r.current=Math.max(r.current,sP(n)),n.latestStreamId!==void 0&&GN(g.current,n.piboSessionId,n.latestStreamId))},[r,e,t]);let w=(0,L.useCallback)(e=>{let t=f.current.get(e);t?.length&&(f.current.delete(e),lP(e,d.current)&&o(n=>{if(!lP(e,d.current))return n;let i=jN({currentEvents:n?.piboSessionId===e?n.events:[],streamEvents:t,piboSessionId:e,nextSequence:()=>r.current++});return Dx(e,t.length,i.length),{piboSessionId:e,events:i}}))},[]),T=(0,L.useCallback)(()=>{if(!(p.current!==void 0||m.current!==void 0||!e)){if(document.hidden){m.current=setTimeout(()=>{m.current=void 0,w(e)},aP);return}p.current=requestAnimationFrame(()=>{p.current=void 0,w(e)})}},[w,e]),E=(0,L.useCallback)((t,n,r=!1)=>{ZN(h.current,t,n);let i=r||QN(h.current,t,n),a=f.current.get(t)??[];a.push(n),f.current.set(t,a),Ex(t,n,a.length,i),i||t!==e?w(t):T()},[w,T,e]);(0,L.useEffect)(()=>()=>{p.current!==void 0&&cancelAnimationFrame(p.current),m.current!==void 0&&clearTimeout(m.current),v.current!==void 0&&clearTimeout(v.current)},[]);let D=(0,L.useCallback)((e,t)=>{KN(g.current,e,t)},[]),O=(0,L.useCallback)((e=0)=>{if(v.current!==void 0){if(e>0)return;clearTimeout(v.current)}v.current=setTimeout(()=>{v.current=void 0,C(e=>e+1)},e)},[]),k=(0,L.useCallback)((t=!1)=>{if(!e)return;w(e),s().catch(e=>u(dP(e))),c().catch(e=>u(dP(e)));let n=_.current;if(cP({selectedPiboSessionId:e,liveStream:n?{piboSessionId:n.piboSessionId,lastActivityAt:n.lastActivityAt,readyState:n.events.readyState}:null,forceReconnect:t})){if(t){if(b.current)return;b.current=!0}O()}},[w,u,c,s,O,e]);(0,L.useEffect)(()=>{if(!e||!a||!n||n.piboSessionId!==e)return;let t=new URLSearchParams({piboSessionId:e});t.set(`mode`,`live`);let r=g.current.get(e),i=r?.cursor??(n.latestStreamId===void 0?void 0:qN(n.latestStreamId));i!==void 0&&t.set(`since`,i),r?.liveReplayId!==void 0&&t.set(`liveSince`,String(r.liveReplayId));let o=new EventSource(`/api/chat/events?${t.toString()}`),d=Date.now();_.current={piboSessionId:e,events:o,openedAt:d,lastActivityAt:d};let f=!1,p,m,h=!1,x=!1,S=(t,n=!1)=>{if(p){if(!n)return;clearTimeout(p)}Ax(e,t),p=setTimeout(()=>{p=void 0,s().catch(e=>u(dP(e)))},t)},C=()=>{if(h){x=!0;return}h=!0,c().catch(e=>u(dP(e))).finally(()=>{h=!1,x&&(x=!1,T(250,!0))})},T=(e,t=!1)=>{if(m){if(!t)return;clearTimeout(m)}m=setTimeout(()=>{m=void 0,C()},e)},k=()=>{T(900,!0)};return o.onopen=()=>{y.current=0,b.current=!1,v.current!==void 0&&(clearTimeout(v.current),v.current=void 0),Cx(e,o.readyState);let t=_.current;t?.events===o&&(t.lastActivityAt=Date.now())},o.onerror=()=>{if(f)return;wx(e,o.readyState);let t=_.current;t?.events===o&&(t.lastErrorAt=Date.now());let n=y.current++,r=Math.min(nP,tP*2**n);O(r)},o.addEventListener(`pibo`,t=>{if(f)return;let n=WN(t);if(!n)return;let r=n.piboSessionId||e,i=_.current;if(i?.events===o&&(i.lastActivityAt=Date.now()),D(r,n),Tx(r,n,t.lastEventId,o.readyState),r===e&&n.type===`ready`&&n.liveReplay?.missed&&S(0,!0),Mx(n))return;(n.type===`RUNTIME_APPROVAL_REQUESTED`||n.type===`RUNTIME_APPROVAL_RESOLVED`||n.type===`RUNTIME_USER_INPUT_REQUESTED`||n.type===`RUNTIME_USER_INPUT_RESOLVED`)&&l?.(n);let a=n.type!==`TEXT_MESSAGE_CONTENT`&&n.type!==`REASONING_MESSAGE_CONTENT`;r===e&&XN(n)&&E(r,n,a);let s=JN(n);r===e&&s!==void 0?S(s,!0):r===e&&n.type!==`ready`&&n.type!==`RAW_EVENT`&&S(1500,!0),YN(n)&&(n.type===`RUN_FINISHED`||n.type===`RUN_ERROR`||n.type===`TEXT_MESSAGE_END`?k():T(r===e?0:150))}),()=>{f=!0,p&&clearTimeout(p),m&&clearTimeout(m),w(e),_.current?.events===o&&(_.current=null),o.close()}},[n?.piboSessionId,E,w,u,c,s,l,D,O,S,e,a]),(0,L.useEffect)(()=>{n?.piboSessionId&&w(n.piboSessionId)},[n?.piboSessionId,w]),(0,L.useEffect)(()=>{let e=()=>k(),t=()=>k(!0),n=()=>{x.current=!0,_.current?.events.close()},r=()=>{if(document.hidden){n();return}x.current=!1,k(!0)},i=e=>{let t=x.current||e.persisted;x.current=!1,k(t)};return window.addEventListener(`focus`,e),window.addEventListener(`online`,t),window.addEventListener(`pagehide`,n),window.addEventListener(`pageshow`,i),document.addEventListener(`visibilitychange`,r),()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`online`,t),window.removeEventListener(`pagehide`,n),window.removeEventListener(`pageshow`,i),document.removeEventListener(`visibilitychange`,r)}},[k]),(0,L.useEffect)(()=>{if(!e||i!==`running`)return;let t=window.setInterval(()=>{w(e);let t=_.current;cP({selectedPiboSessionId:e,liveStream:t?{piboSessionId:t.piboSessionId,lastActivityAt:t.lastActivityAt,readyState:t.events.readyState}:null})&&(s().catch(e=>u(dP(e))),O())},iP);return()=>window.clearInterval(t)},[w,u,s,O,e,i])}function dP(e){return e instanceof Error?e.message:String(e)}var fP=10;function pP(e,t,n,r){if(!t||!n.length)return e;let i=e[t]??[],a=new Set(i.map(e=>e.path)),o=n.filter(e=>e.path&&!a.has(e.path)).map(e=>({...e,id:r()}));return o.length?{...e,[t]:[...i,...o].slice(0,fP)}:e}function mP(e,t,n){if(!t)return e;let r=e[t]??[],i=r.filter(e=>e.id!==n);return i.length===r.length?e:{...e,[t]:i}}function hP(e,t){return!t||!e[t]?.length?e:{...e,[t]:[]}}function gP(e,t){let[n,r]=(0,L.useState)({});return{selectedUploadAttachments:(0,L.useMemo)(()=>e?n[e]??[]:[],[e,n]),attachUploadedFiles:(0,L.useCallback)(n=>{r(r=>pP(r,e,n,t))},[t,e]),detachUploadAttachment:(0,L.useCallback)(t=>{r(n=>mP(n,e,t))},[e]),clearSelectedUploadAttachments:(0,L.useCallback)(()=>{r(t=>hP(t,e))},[e])}}function _P({selectedPiboSessionId:e,onError:t,formatError:n}){let[r,i]=(0,L.useState)([]),[a,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)(()=>e?rA(e):null),[l,u]=(0,L.useState)(()=>uA()),[d,f]=(0,L.useState)(!1),p=!!(e&&s?.piboSessionId===e&&s.installed),m=!!e&&(a||p),h=st({queryKey:[`web-annotations`,`app`,e],queryFn:async()=>{if(!e)throw Error(`Session is required`);return cw(e,{limit:100,scope:`app`})},enabled:!!e&&(m||r.length>0),staleTime:1e3,refetchOnWindowFocus:m,refetchInterval:m?5e3:!1,retry:1}),g=h.refetch,_=(0,L.useMemo)(()=>(h.data?.annotations??[]).filter(e=>e.status!==`resolved`&&e.status!==`dismissed`),[h.data?.annotations]),v=(0,L.useMemo)(()=>r.map(e=>_.find(t=>t.id===e)).filter(e=>!!e),[r,_]);(0,L.useEffect)(()=>{i(e?sA(e):[]),c(e?rA(e):null)},[e]),(0,L.useEffect)(()=>{if(!e)return;let t=t=>{!t||t.piboSessionId!==e||(c(e=>t.installed?t:e?.installed&&e.bindingId&&t.bindingId&&e.bindingId!==t.bindingId?e:t),t.installed?g():o(!1))},n=e=>t(oA(e.detail)),r=n=>{n.key===iA(e)&&t(aA(n.newValue))},i=()=>t(rA(e));return window.addEventListener(`pibo:web-annotation-overlay-state`,n),window.addEventListener(`storage`,r),window.addEventListener(`focus`,i),document.addEventListener(`visibilitychange`,i),i(),()=>{window.removeEventListener(`pibo:web-annotation-overlay-state`,n),window.removeEventListener(`storage`,r),window.removeEventListener(`focus`,i),document.removeEventListener(`visibilitychange`,i)}},[g,e]),(0,L.useEffect)(()=>{if(!h.data)return;if(!_.length){i(t=>(t.length&&e&&cA(e,[]),t.length?[]:t));return}let t=new Set(_.map(e=>e.id));i(n=>{let r=n.filter(e=>t.has(e));return r.length!==n.length&&e&&cA(e,r),r.length===n.length?n:r})},[e,_,h.data]),(0,L.useEffect)(()=>{let e=()=>{o(!0),g()};return window.addEventListener(`pibo:web-annotation-saved`,e),()=>window.removeEventListener(`pibo:web-annotation-saved`,e)},[g]);let y=(0,L.useCallback)(t=>{i(n=>{let r=t(n);return e&&cA(e,r),r})},[e]),b=(0,L.useCallback)(e=>{y(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e].slice(0,5))},[y]),x=(0,L.useCallback)(()=>y(()=>[]),[y]);return{selectedWebAnnotationIds:r,selectedWebAnnotations:v,visibleWebAnnotations:_,webAnnotationsPanelCollapsed:l,webAnnotationsPanelRendered:m,webAnnotationsPanelVisible:a,webAnnotationsQuery:h,clearingWebAnnotations:d,setWebAnnotationsPanelVisible:o,toggleWebAnnotationAttachment:b,detachWebAnnotationAttachment:(0,L.useCallback)(e=>{y(t=>t.filter(t=>t!==e))},[y]),clearSelectedWebAnnotationAttachments:x,toggleWebAnnotationsPanelCollapsed:(0,L.useCallback)(()=>{u(e=>{let t=!e;return dA(t),t})},[]),clearVisibleWebAnnotations:(0,L.useCallback)(async()=>{if(!(!_.length||d)&&window.confirm(`Dismiss ${_.length} visible web annotations? This keeps sent messages but clears the annotation list.`)){f(!0);try{await Promise.all(_.map(e=>lw(e.id,{piboSessionId:e.piboSessionId,status:`dismissed`,summary:`Cleared from Chat Web UI`}))),x(),await g()}catch(e){t(n(e,`Could not clear web annotations`))}finally{f(!1)}}},[d,x,n,t,g,_])}}var vP=new WeakMap;function yP(e,t,n){let r=n.map(e=>bP(e)),i=DP(r),a=i.length?Math.min(...i.map(e=>e.startTime)):Date.now()*1e3,o=i.flatMap(e=>e.endTime?[e.endTime]:[]),s=o.length?Math.max(...o):void 0,c=i.some(e=>e.status===`UNSET`);return{id:e,name:t,status:i.some(e=>e.status===`ERROR`)?`ERROR`:c?`UNSET`:`OK`,spans:r,startedAt:new Date(a/1e3),completedAt:s?new Date(s/1e3):void 0,totalDurationMs:s?(s-a)/1e3:0}}function bP(e){let t=vP.get(e);if(t)return t;let n=EP(e.startedAt)??Date.now()*1e3,r=EP(e.completedAt),i=TP(e.status),a=xP(e.type),o={id:e.id,parentId:e.parentId,name:SP(e),spanType:a,startTime:n,endTime:r,durationUs:e.durationMs===void 0?void 0:e.durationMs*1e3,attributes:CP(e),status:i,statusMessage:e.error,events:e.error?[{name:`exception`,timestamp:r??n,attributes:{message:e.error}}]:[],children:e.children?.map(bP),pibo:{entryId:e.entryId,linkedPiboSessionId:e.linkedPiboSessionId,traceNodeType:e.type,traceOrder:e.orderKey,stableKey:e.stableKey,source:e.source}};return vP.set(e,o),o}function xP(e){switch(e){case`user.message`:return`user.prompt`;case`assistant.message`:return`model.response`;case`model.reasoning`:return`model.reasoning`;case`tool.call`:return`tool.call`;case`tool.result`:return`tool.result`;case`agent.delegation`:return`agent.delegation`;case`agent.async`:return`agent.async`;case`execution.command`:case`execution.compaction`:return`execution.command`;case`yielded.run`:return`yielded.run`;case`agent.turn`:return`agent.run`;case`error`:return`tool.result`}}function SP(e){return e.type===`assistant.message`?`assistant_message`:e.type===`user.message`?`user_prompt`:e.type===`model.reasoning`?`model_reasoning`:e.title||e.type}function CP(e){let t={};if(e.summary&&(t.content=e.summary),e.input!==void 0&&(t.input=e.input,t.args=e.input,t.arguments=e.input),e.output!==void 0&&(t.output=e.output,t.result=e.output),e.error&&(t.error=e.error),e.toolCallId&&(t.tool_call_id=e.toolCallId),e.runId&&(t.run_id=e.runId),e.intent&&(t.intent=e.intent),(e.type===`tool.call`||e.type===`agent.delegation`)&&(t.tool_name=e.title),e.type===`assistant.message`&&(t.content=e.output??e.summary??``),e.type===`user.message`){t.content=e.output??e.summary??``;let n=wP(e);n&&(t[`message.pending_delivery`]=n)}return e.type===`model.reasoning`&&(t.reasoning=e.output??e.summary??``),e.type===`agent.delegation`&&(t[`delegation.target_agent`]=OP(e.input)&&typeof e.input.name==`string`?e.input.name:e.title.replace(/^pibo_agents_send_message$/,`agent`).replace(/^pibo_subagent_/,``),t[`delegation.query`]=e.summary??e.input,t[`result.status`]=e.status===`done`?`completed`:e.status,t.linked_pibo_session_id=e.linkedPiboSessionId),e.type===`agent.async`&&(t[`async_agent.target_agent`]=e.title,t[`async_agent.started_by`]=OP(e.input)?e.input.startedBy:`pibo_run_start`,t[`async_agent.query`]=OP(e.input)?e.input.arguments:e.input,t[`result.status`]=e.status===`done`?`started`:e.status,t.linked_pibo_session_id=e.linkedPiboSessionId),e.type===`yielded.run`&&(t[`run.notification`]=!0,t[`run.status`]=e.status),t}function wP(e){if(e.type===`user.message`&&e.status===`running`){if(e.id.startsWith(`event:message_steered:`))return`steer`;if(e.id.startsWith(`event:message_queued:`))return`queue`}}function TP(e){return e===`running`?`UNSET`:e===`error`?`ERROR`:`OK`}function EP(e){if(!e)return;let t=new Date(e).getTime();return Number.isFinite(t)?t*1e3:void 0}function DP(e){return e.flatMap(e=>[e,...e.children?DP(e.children):[]])}function OP(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function kP(e,t,n){return PP(e,t,n)?.capabilities.lifecycle.fork===!0}function AP(e){if(!e)return`none`;let t=JP(e.nodes).filter(e=>e.type===`user.message`);return`${t.length}:${t.at(-1)?.id??``}`}function jP(e,t){if(!e)return e;let n=JP(e.nodes).filter(e=>e.type===`user.message`),r=new Set,i=t.filter(e=>!e.entryId.trim()||r.has(e.entryId)?!1:(r.add(e.entryId),!0)),a=new Set(i.map(e=>e.entryId)),o=e=>e.entryId&&a.has(e.entryId)?e.entryId:void 0,s=new Map;if(n.length===i.length&&n.every((e,t)=>!o(e)||o(e)===i[t].entryId))for(let e=0;e<n.length;e+=1)s.set(n[e].id,i[e].entryId);else{let e=new Set(n.flatMap(e=>{let t=o(e);return t?[t]:[]})),t=n.filter(e=>!o(e)),r=new Map,a=new Map;for(let e of t){let t=MP(e);r.set(t,(r.get(t)??0)+1)}for(let t of i){if(e.has(t.entryId))continue;let n=a.get(t.text);n?n.push(t):a.set(t.text,[t])}for(let e of t){let t=MP(e),n=a.get(t)??[];r.get(t)===1&&n.length===1&&s.set(e.id,n[0].entryId)}}let c=NP(e.nodes,s,a);return c.every((t,n)=>t===e.nodes[n])?e:{...e,nodes:c}}function MP(e){return typeof e.output==`string`?e.output:typeof e.summary==`string`?e.summary:e.title}function NP(e,t,n){return e.map(e=>{let r=NP(e.children,t,n),i=t.get(e.id),a=e.type===`user.message`?i??(e.entryId&&n.has(e.entryId)?e.entryId:void 0):e.entryId,o=r.some((t,n)=>t!==e.children[n]);if(a===e.entryId&&!o)return e;let{entryId:s,...c}=e;return{...c,...a?{entryId:a}:{},children:r}})}function PP(e,t,n){let r=t?dt(e.sessions,t):void 0,i=e.agents.find(e=>e.name===n),a=e.customAgents.find(e=>e.profileName===n)??i,o=e.session?.id===t?e.session.runtimeBinding:void 0,s=r?.runtimeInstanceId??o?.runtimeInstanceId??a?.runtimeInstanceId;return e.agentCatalog?.agentRuntimes.find(e=>s?e.id===s:r?.runtimeAdapterId?e.adapterId===r.runtimeAdapterId:!1)}function FP(e,t,n,r){if(r?.latestTurn?.state!==`running`)return!1;let i=PP(e,t,n);return i?.enabled!==!1&&i?.available!==!1&&i?.capabilities.input?.steering===!0}function IP(e,t,n){t&&dt(e.sessions,t);let r=e.agents.find(e=>e.name===n),i=e.customAgents.find(e=>e.profileName===n)??r,a=PP(e,t,n)?.capabilities.tools.intentTracing;if(!a?.supported)return!1;if(!a.configurable)return!0;let o=(e.session?.id===t?e.session.runtimeBinding:void 0)?.metadata?.intentTracing;if(typeof o==`boolean`)return o;let s=i?.runtimeOptions?.intentTracing;return typeof s==`boolean`?s:a.enabledByDefault}function LP(e){return(e.selectedPiboSessionId?dt(e.sessionNodes,e.selectedPiboSessionId):void 0)?.title||e.traceTitle||e.selectedPiboSessionId||e.fallback}function RP(e,t){return t?{sessionBreadcrumbs:UP(e,t),originSession:VP(e,t),derivedSessions:HP(e,t)}:{sessionBreadcrumbs:[],originSession:void 0,derivedSessions:[]}}function zP(e){let t=e.selectedPiboSessionId?dt(e.bootstrap.sessions,e.selectedPiboSessionId):void 0,n=qP(e.currentTraceView);return KP(e.selectedSessionActiveModel,e.bootstrap.runtimeStatus?.thinkingLevel??n.level??t?.initialThinkingLevel??WP(e.bootstrap,e.selectedSessionProfile,!!t?.parentId),e.bootstrap.runtimeStatus?.fastMode??n.fast??GP(e.bootstrap,e.selectedSessionProfile,!!t?.parentId)??!1)}function BP(e){return{traceView:e.currentTraceView,selectedTrace:e.currentTraceView?yP(e.currentTraceView.piboSessionId,e.currentTraceView.title,e.currentTraceView.nodes):null,isLoading:e.isLoading,showThinking:e.showThinking,expandThinking:e.expandThinking,toolDisplayMode:e.toolDisplayMode,sessionAgentProfile:e.selectedSessionProfile,sessionActiveModel:e.sessionActiveModelBadge,sessionRuntimeBinding:e.sessionRuntimeBinding,selectedSessionStatus:e.selectedSessionStatus,selectedSessionSignal:e.selectedSessionSignal,signals:e.signals,sessionGoal:e.sessionGoal,workflowProjectSession:e.workflowProjectSession,workflowLifecycleEvents:e.workflowLifecycleEvents,sessionNodes:e.sessionNodes,sessionBreadcrumbs:e.sessionLinks.sessionBreadcrumbs,originSession:e.sessionLinks.originSession,derivedSessions:e.sessionLinks.derivedSessions,agentProfiles:e.agentProfiles,sessionProfileChangeDisabled:e.sessionProfileChangeDisabled,onSessionAgentProfileChange:e.onSessionAgentProfileChange,onFork:e.onFork,onOpenSession:e.onOpenSession,onLoadOlderTracePage:e.onLoadOlderTracePage,hasOlderTraceEvents:e.hasOlderTraceEvents,isFetchingOlderTracePage:e.isFetchingOlderTracePage,onThinkingLevelChange:e.onThinkingLevelChange,onModelChanged:async()=>{await e.onRefreshBootstrap(),await e.onRefreshTrace()},onRefreshBootstrap:e.onRefreshBootstrap,onError:e.onError}}function VP(e,t){let n=dt(e,t);if(!n?.originId)return;let r=dt(e,n.originId);return{piboSessionId:n.originId,label:r?XP(r,0):n.originId}}function HP(e,t){return dt(e,t)?.derivedSessions.map(e=>({piboSessionId:e.piboSessionId,label:ZP(e),profile:e.profile,status:e.status}))??[]}function UP(e,t){return ft(e,t).map((e,t)=>({piboSessionId:e.piboSessionId,label:XP(e,t)}))}function WP(e,t,n=!1){let r=e.agents.find(e=>e.name===t),i=e.customAgents.find(e=>e.profileName===t),a=r??i;return n?a?.subagentThinkingLevel??a?.thinkingLevel??e.modelDefaults?.subagentThinking??e.modelDefaults?.thinking:a?.mainThinkingLevel??a?.thinkingLevel??e.modelDefaults?.mainThinking??e.modelDefaults?.thinking}function GP(e,t,n=!1){let r=e.agents.find(e=>e.name===t),i=e.customAgents.find(e=>e.profileName===t),a=r??i;return n?a?.subagentFast??a?.fast??e.modelDefaults?.subagentFast??e.modelDefaults?.fast:a?.mainFast??a?.fast??e.modelDefaults?.mainFast??e.modelDefaults?.fast}function KP(e,t,n){if(e)return[e,t,n?`fast`:void 0].filter(Boolean).join(` `)}function qP(e){let t={};if(!e)return t;for(let n of JP(e.nodes)){if(n.type!==`execution.command`||n.title!==`thinking`&&n.title!==`fast_mode`)continue;let e=n.output&&typeof n.output==`object`?n.output:void 0;t={level:(typeof e?.level==`string`&&YP(e.level)?e.level:void 0)??t.level,fast:n.title===`fast_mode`?e?.mode===`fast`:t.fast}}return t}function JP(e){return e.flatMap(e=>[e,...JP(e.children)])}function YP(e){return aD.includes(e)}function XP(e,t){return t?e.subagentName&&e.subagentName!==e.profile?`${e.subagentName} (${e.profile})`:e.profile||e.subagentName||e.title:e.profile||e.title}function ZP(e){return e.subagentName&&e.subagentName!==e.profile?`${e.subagentName} (${e.profile})`:e.title||e.profile||e.subagentName||`Untitled Session`}function QP({piboSessionId:e,text:t,selectedWebAnnotations:n,selectedUploadAttachments:r,eventSequence:i,now:a,clientTxnId:o,delivery:s=`queue`}){let c=n.map(e=>e.id),l=r.map(e=>e.path),u=s===`steer`?`message_steered`:`message_queued`;return{piboSessionId:e,text:t,webAnnotationIds:c,fileAttachmentPaths:l,clientTxnId:o,delivery:s,optimisticEvent:{id:o,piboSessionId:e,eventSequence:i,eventId:o,type:u,createdAt:a,payload:{type:u,piboSessionId:e,eventId:o,clientTxnId:o,delivery:s,...s===`queue`?{queuedMessages:1}:{},text:t,...l.length?{fileAttachmentPaths:l}:{},source:`user`}}}}function $P(e,t){if(e.delivery===t)return e;let n=t===`steer`?`message_steered`:`message_queued`,r={...e.optimisticEvent.payload};return delete r.queuedMessages,{...e,delivery:t,optimisticEvent:{...e.optimisticEvent,type:n,payload:{...r,type:n,delivery:t,...t===`queue`?{queuedMessages:1}:{}}}}}function eF(e,t,n){return{piboSessionId:t,events:[...e?.piboSessionId===t?e.events:[],n]}}var tF=`optimistic-session-`;function nF(e){return e?.startsWith(tF)===!0}function rF(e){return e&&!nF(e)?e:null}function iF(e){return e instanceof Error?e.message:String(e)}var aF=[`(display-mode: standalone)`,`(display-mode: window-controls-overlay)`];function oF(e,t){return aF.some(t=>e(t).matches)?typeof t.userAgentData?.mobile==`boolean`?!t.userAgentData.mobile:!(/Android|iPhone|iPad|iPod|Mobile/i.test(t.userAgent)||/Macintosh/i.test(t.userAgent)&&t.maxTouchPoints>1):!1}function sF(){return typeof window<`u`&&typeof navigator<`u`&&oF(window.matchMedia.bind(window),navigator)}function cF(e,t){return{url:e,name:`pibo-session-${t}`,features:`width=1280,height=900`}}function lF(){let e=cF(window.location.href,crypto.randomUUID());return window.open(e.url,e.name,e.features)}var uF=[{id:`accept`,label:`Approve once`},{id:`acceptForSession`,label:`Approve for session`},{id:`decline`,label:`Decline`},{id:`cancel`,label:`Cancel turn`}];function dF({piboSessionId:e,approvals:t,userInputs:n,onResolved:r,onError:i}){let[a,o]=(0,L.useState)(null);if(t.length===0&&n.length===0)return null;let s=async(t,n)=>{if(!a){o(t),i(null);try{await Dt(e,`runtime.approval.respond`,{requestId:t,decision:n}),r(t)}catch(e){i(iF(e))}finally{o(null)}}},c=async(t,n)=>{if(!a){o(t),i(null);try{await Dt(e,`runtime.user_input.respond`,{requestId:t,answers:n}),r(t)}catch(e){i(iF(e))}finally{o(null)}}};return(0,R.jsx)(`section`,{className:`border-t border-slate-800 bg-[#101d22] px-3 py-2 sm:px-4`,"data-pibo-debug":`runtime-request-panel`,"aria-label":`Runtime requests`,children:(0,R.jsxs)(`div`,{className:`mx-auto grid w-full max-w-4xl gap-2`,children:[t.map(e=>(0,R.jsx)(fF,{request:e,busy:a===e.requestId,disabled:a!==null,onDecision:t=>void s(e.requestId,t)},e.requestId)),n.map(e=>(0,R.jsx)(pF,{request:e,busy:a===e.requestId,disabled:a!==null,onSubmit:t=>void c(e.requestId,t)},e.requestId))]})})}function fF({request:e,busy:t,disabled:n,onDecision:r}){let i=e.decisions?.length?e.decisions:uF;return(0,R.jsxs)(`article`,{className:`rounded-sm border border-amber-500/40 bg-amber-500/5`,"data-pibo-debug":`runtime-approval-request`,children:[(0,R.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-amber-500/20 px-3 py-2`,children:[(0,R.jsx)(Zn,{size:16,className:`mt-0.5 shrink-0 text-amber-400`,"aria-hidden":`true`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-wider text-amber-300`,children:e.title||`Approval required`}),(0,R.jsx)(`span`,{className:`rounded-sm border border-slate-700 px-1.5 py-0.5 font-mono text-[10px] uppercase text-slate-400`,children:e.requestType})]}),e.detail?(0,R.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-slate-300`,children:e.detail}):null]})]}),e.arguments===void 0?null:(0,R.jsx)(`pre`,{className:`max-h-36 overflow-auto border-b border-slate-800 bg-[#0e1116] px-3 py-2 font-mono text-[11px] leading-5 text-slate-300`,children:gF(e.arguments)}),(0,R.jsx)(`div`,{className:`flex flex-wrap gap-2 px-3 py-2`,children:i.map(e=>(0,R.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),disabled:n,title:e.description,className:hF(e.id),"data-pibo-decision":e.id,children:t?`Responding…`:e.label},e.id))})]})}function pF({request:e,busy:t,disabled:n,onSubmit:r}){let[i,a]=(0,L.useState)({}),o=(0,L.useMemo)(()=>e.questions.every(e=>!!i[e.id]?.trim()),[i,e.questions]);return(0,R.jsxs)(`article`,{className:`rounded-sm border border-cyan-500/40 bg-cyan-500/5`,"data-pibo-debug":`runtime-user-input-request`,children:[(0,R.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-cyan-500/20 px-3 py-2`,children:[(0,R.jsx)(_n,{size:16,className:`mt-0.5 shrink-0 text-cyan-400`,"aria-hidden":`true`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-wider text-cyan-300`,children:`Input requested`}),(0,R.jsx)(`span`,{className:`rounded-sm border border-slate-700 px-1.5 py-0.5 font-mono text-[10px] uppercase text-slate-400`,children:e.blocking===!1?`non-blocking`:`blocking`})]}),(0,R.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-slate-400`,children:`Codex is waiting for structured input before continuing this turn.`})]})]}),(0,R.jsx)(`div`,{className:`grid gap-3 px-3 py-3`,children:e.questions.map(t=>(0,R.jsx)(mF,{question:t,groupName:`runtime-question-${e.requestId}-${t.id}`,value:i[t.id]??``,disabled:n,onChange:e=>a(n=>({...n,[t.id]:e}))},t.id))}),(0,R.jsx)(`div`,{className:`flex justify-end border-t border-cyan-500/20 px-3 py-2`,children:(0,R.jsx)(`button`,{type:`button`,onClick:()=>r(i),disabled:n||!o,className:`rounded-sm border border-[#11a4d4] bg-[#11a4d4] px-3 py-1.5 text-xs font-semibold text-white transition hover:bg-[#0d8eb8] disabled:cursor-not-allowed disabled:opacity-50`,children:t?`Submitting…`:`Submit response`})})]})}function mF({question:e,groupName:t,value:n,disabled:r,onChange:i}){let a=e.options??[],o=new Set(a.map(e=>e.label)),s=!!n&&!o.has(n);return(0,R.jsxs)(`fieldset`,{className:`grid gap-2`,disabled:r,children:[(0,R.jsxs)(`legend`,{className:`text-xs font-semibold text-slate-200`,children:[e.header?(0,R.jsx)(`span`,{className:`mr-2 font-mono uppercase text-cyan-400`,children:e.header}):null,e.question]}),a.length?(0,R.jsxs)(`div`,{className:`grid gap-1.5 sm:grid-cols-2`,children:[a.map(e=>(0,R.jsxs)(`label`,{className:`flex cursor-pointer gap-2 rounded-sm border border-slate-700 bg-[#151f24] px-2.5 py-2 text-xs hover:border-cyan-500/60`,children:[(0,R.jsx)(`input`,{type:`radio`,name:t,value:e.label,checked:n===e.label,onChange:()=>i(e.label),className:`mt-0.5 accent-[#11a4d4]`}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`block font-semibold text-slate-200`,children:e.label}),e.description?(0,R.jsx)(`span`,{className:`mt-0.5 block leading-4 text-slate-400`,children:e.description}):null]})]},e.label)),e.allowFreeform?(0,R.jsxs)(`label`,{className:`flex cursor-pointer gap-2 rounded-sm border border-slate-700 bg-[#151f24] px-2.5 py-2 text-xs hover:border-cyan-500/60`,children:[(0,R.jsx)(`input`,{type:`radio`,name:t,checked:s,onChange:()=>i(`Other`),className:`mt-0.5 accent-[#11a4d4]`}),(0,R.jsx)(`span`,{className:`font-semibold text-slate-200`,children:`Other`})]}):null]}):null,a.length===0||e.allowFreeform&&s?(0,R.jsx)(`input`,{type:e.secret?`password`:`text`,value:s&&n===`Other`?``:n,onChange:e=>i(e.target.value),autoComplete:`off`,placeholder:e.secret?`Enter a private response`:`Enter a response`,className:`w-full rounded-sm border border-slate-700 bg-[#0e1116] px-2.5 py-2 font-mono text-xs text-slate-200 outline-none focus:border-[#11a4d4] focus:ring-1 focus:ring-[#11a4d4]/40`}):null]})}function hF(e){let t=`rounded-sm border px-2.5 py-1.5 text-xs font-semibold transition disabled:cursor-not-allowed disabled:opacity-50`;return e===`accept`?`${t} border-emerald-500/60 bg-emerald-500/10 text-emerald-300 hover:bg-emerald-500/20`:e===`acceptForSession`?`${t} border-cyan-500/60 bg-cyan-500/10 text-cyan-300 hover:bg-cyan-500/20`:e===`cancel`?`${t} border-red-500/60 bg-red-500/10 text-red-300 hover:bg-red-500/20`:`${t} border-slate-600 bg-slate-800/60 text-slate-300 hover:border-slate-500`}function gF(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return`[unavailable]`}}async function _F(e,t={}){return yt(`/api/previews?piboSessionId=${encodeURIComponent(e)}`,{signal:t.signal})}async function vF(e){return(await yt(`/api/previews/${encodeURIComponent(e)}/start`,{method:`POST`,headers:{"content-type":`application/json`},body:`{}`})).preview}async function yF(e){return(await yt(`/api/previews/${encodeURIComponent(e)}/stop`,{method:`POST`,headers:{"content-type":`application/json`},body:`{}`})).preview}async function bF(e){return yt(`/api/previews/${encodeURIComponent(e)}`,{method:`DELETE`,headers:{"content-type":`application/json`}})}function xF(e){let t=e.selectedPiboSessionId;return t?e.error?{kind:`error`,piboSessionId:t,previews:[],message:e.error}:e.loading||e.data?.piboSessionId!==t?{kind:`loading`,piboSessionId:t,previews:[]}:e.data.configured?e.data.previews.length===0?{kind:`empty`,piboSessionId:t,previews:[]}:{kind:`ready`,piboSessionId:t,previews:e.data.previews}:{kind:`unconfigured`,piboSessionId:t,previews:[]}:{kind:`idle`,previews:[]}}function SF(e,t){if(e.kind===`ready`)return t?.piboSessionId===e.piboSessionId?e.previews.find(e=>e.id===t.previewId)??e.previews[0]:e.previews[0]}function CF(e,t){if(t.piboSessionId!==e)throw Error(`Preview lifecycle response belongs to a different Pibo Session`);return t}function wF(e){return e===`online`?`border-emerald-500/50 bg-emerald-500/10 text-emerald-300`:e===`starting`||e===`stopping`?`border-cyan-500/50 bg-cyan-500/10 text-cyan-300`:e===`offline`||e===`error`?`border-amber-500/50 bg-amber-500/10 text-amber-300`:`border-slate-600 bg-slate-800 text-slate-400`}function TF(e){e.health===`online`&&window.open(e.openUrl,`_blank`,`noopener,noreferrer`)}function EF(e,t){let n=new URL(e.openUrl,window.location.origin);return n.searchParams.set(`piboPreviewReload`,String(t)),n.toString()}function DF({previews:e,selectedPreview:t,loading:n,error:r,reloadKey:i,fullscreen:a=!1,actionPending:o=!1,onSelect:s,onReload:c,onRefresh:l,onStart:u,onStop:d,onRemove:f,onEnterFullscreen:p}){let[m,h]=(0,L.useState)(!1);if(n)return(0,R.jsx)(jF,{label:`Loading live previews…`});if(r)return(0,R.jsx)(jF,{label:r,tone:`error`});if(!t)return(0,R.jsx)(jF,{label:`No active live preview is attached to this Pibo Session.`});let g=t.health===`online`,_=t.managed&&[`running`,`starting`,`stopping`].includes(t.serverState??``),v=t.managed&&!_,y=t.managed&&t.serverState!==`stopping`&&_;return(0,R.jsxs)(`section`,{"data-pibo-debug":`session-live-preview`,"data-pibo-preview-id":t.id,"data-pibo-preview-session-id":t.piboSessionId,"data-pibo-preview-public-origin":new URL(t.publicUrl).origin,"data-pibo-preview-fullscreen":a?`true`:`false`,className:`min-h-0 flex-1 bg-[#0e1116] flex flex-col`,children:[a?null:(0,R.jsxs)(`div`,{className:`min-h-11 border-b border-slate-800 bg-[#151f24] px-3 flex items-center gap-2 max-[640px]:flex-wrap max-[640px]:py-1.5`,children:[(0,R.jsx)(`label`,{className:`sr-only`,htmlFor:`session-live-preview-select`,children:`Selected live preview`}),(0,R.jsx)(`select`,{id:`session-live-preview-select`,name:`session-live-preview`,value:t.id,onChange:e=>s(e.target.value),"aria-label":`Selected live preview`,className:`min-w-0 max-w-72 h-8 border border-slate-700 bg-[#0e1116] px-2 text-xs text-slate-200 focus:border-[#11a4d4] focus:outline-none`,children:e.map(e=>(0,R.jsx)(`option`,{value:e.id,children:e.label},e.id))}),(0,R.jsx)(`span`,{className:`rounded-sm border px-2 py-1 text-[10px] font-bold uppercase tracking-wider ${wF(t.health)}`,children:t.health}),(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[11px] text-slate-500`,children:t.serverStopAt&&_?`stops ${MF(t.serverStopAt)}`:`session-linked`}),(0,R.jsx)(AF,{label:`Refresh preview status`,onClick:l,children:(0,R.jsx)(Kn,{size:14})}),v?(0,R.jsx)(AF,{label:`Start Preview server`,disabled:o,onClick:()=>u(t.id),children:(0,R.jsx)(Wn,{size:14})}):null,y?(0,R.jsx)(AF,{label:`Stop Preview server`,disabled:o,onClick:()=>d(t.id),children:(0,R.jsx)(Qn,{size:13})}):null,(0,R.jsx)(AF,{label:`Reload live preview`,disabled:!g,onClick:c,children:(0,R.jsx)(Kn,{size:14})}),(0,R.jsx)(AF,{label:m?`Copied preview link`:`Copy authenticated preview link`,disabled:!g,onClick:()=>{g&&Sk(new URL(t.openUrl,window.location.origin).toString()).then(()=>{h(!0),window.setTimeout(()=>h(!1),900)})},children:(0,R.jsx)(xn,{size:14})}),(0,R.jsx)(AF,{label:`Open live preview in new window`,disabled:!g,onClick:()=>TF(t),children:(0,R.jsx)(wn,{size:14})}),p?(0,R.jsx)(AF,{label:`Enter Preview fullscreen`,disabled:!g,onClick:p,children:(0,R.jsx)(Bn,{size:14})}):null,(0,R.jsx)(AF,{label:`Remove live preview`,danger:!0,disabled:o,onClick:()=>f(t.id),children:(0,R.jsx)(er,{size:14})})]}),g?(0,R.jsx)(`iframe`,{title:`Live preview: ${t.label}`,src:EF(t,i),sandbox:`allow-scripts allow-same-origin allow-forms allow-downloads allow-modals allow-popups allow-pointer-lock`,referrerPolicy:`no-referrer`,className:`min-h-0 flex-1 w-full border-0 bg-white`,"data-pibo-debug":`session-live-preview-frame`},`${t.piboSessionId}:${t.id}:${i}`):(0,R.jsx)(kF,{preview:t,actionPending:o,onStart:()=>u(t.id)})]})}function OF({preview:e,actionPending:t=!1,onReload:n,onStart:r,onStop:i,onExit:a}){let o=(0,L.useRef)(null),s=(0,L.useRef)(a);s.current=a,(0,L.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:void 0,t=()=>{let t=document.querySelector(`[data-pibo-debug="session-live-preview"] [aria-label="Enter Preview fullscreen"]`);t?t.focus():e?.isConnected&&e.focus()};o.current?.focus();let n=e=>{e.key===`Escape`&&(e.preventDefault(),s.current())};return window.addEventListener(`keydown`,n,!0),()=>{window.removeEventListener(`keydown`,n,!0),window.setTimeout(t,0)}},[]);let c=e.health===`online`,l=e.managed&&[`running`,`starting`,`stopping`].includes(e.serverState??``);return(0,R.jsxs)(`div`,{"data-pibo-debug":`preview-fullscreen-top-bar`,className:`h-8 min-h-8 flex items-center gap-2 border-b border-slate-600 bg-[#151f24] px-2`,children:[(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-semibold`,children:e.label}),(0,R.jsx)(`span`,{className:`rounded-sm border px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider ${wF(e.health)}`,children:e.health}),e.managed&&!l?(0,R.jsx)(AF,{label:`Start Preview server`,disabled:t,onClick:r,children:(0,R.jsx)(Wn,{size:14})}):null,e.managed&&e.serverState!==`stopping`&&l?(0,R.jsx)(AF,{label:`Stop Preview server`,disabled:t,onClick:i,children:(0,R.jsx)(Qn,{size:13})}):null,(0,R.jsx)(AF,{label:`Reload live preview`,disabled:!c,onClick:n,children:(0,R.jsx)(Kn,{size:14})}),(0,R.jsx)(AF,{label:`Open live preview in new window`,disabled:!c,onClick:()=>TF(e),children:(0,R.jsx)(wn,{size:14})}),(0,R.jsx)(AF,{buttonRef:o,label:`Exit Preview fullscreen`,onClick:a,children:(0,R.jsx)(Un,{size:14})})]})}function kF({preview:e,actionPending:t,onStart:n}){let r=[`running`,`starting`,`stopping`].includes(e.serverState??``),i=e.health===`starting`?`Starting Preview server…`:e.health===`stopping`?`Stopping Preview server…`:e.health===`error`?`The Preview server could not stay running.`:e.managed&&r?`The Preview server is running, but its port is not reachable.`:e.managed?`The Preview server is stopped.`:`The exposed server is offline.`;return(0,R.jsx)(`div`,{className:`min-h-0 flex-1 grid place-items-center bg-[#0e1116] p-6 text-center`,role:`status`,"aria-live":`polite`,children:(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`text-sm text-slate-400`,children:i}),e.managed&&!r?(0,R.jsxs)(`button`,{type:`button`,disabled:t,onClick:n,className:`mt-4 inline-flex items-center gap-2 border border-[#11a4d4] bg-[#11a4d4]/10 px-3 py-2 text-xs font-semibold text-[#7ddfff] hover:bg-[#11a4d4]/20 disabled:opacity-50`,children:[(0,R.jsx)(Wn,{size:14}),` `,t?`Starting…`:`Start server`]}):null]})})}function AF({buttonRef:e,label:t,danger:n=!1,disabled:r=!1,onClick:i,children:a}){return(0,R.jsx)(`button`,{ref:e,type:`button`,title:t,"aria-label":t,disabled:r,onClick:i,className:`h-7 w-7 shrink-0 inline-flex items-center justify-center border rounded-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#11a4d4]/60 disabled:cursor-not-allowed disabled:opacity-35 ${n?`border-red-500/40 text-red-300 hover:border-red-300 hover:text-red-200`:`border-slate-700 text-slate-400 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:a})}function jF({label:e,tone:t=`normal`}){return(0,R.jsx)(`div`,{role:t===`error`?`alert`:`status`,className:`min-h-0 flex-1 grid place-items-center bg-[#0e1116] p-6 text-sm ${t===`error`?`text-red-200`:`text-slate-500`}`,children:e})}function MF(e){let t=new Date(e);return Number.isNaN(t.getTime())?`soon`:t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}var NF=e=>[`chat`,`session-live-previews`,e];function PF({bootstrap:e,selectedPiboSessionId:t,selectedRoomId:n,contextKind:r=`room`,contextLabel:i,selectedRoomArchived:a,roomNavigationPending:o,sessionNavigationPending:s,selectedSessionProfile:c,selectedSessionActiveModel:l,selectedSessionStatus:u,selectedSessionSignal:d,signals:f,workflowProjectSession:p,workflowLifecycleEvents:m,projectSessionCreatePanel:h,workflowStartPanel:g,projectModulePanel:_,extraViewTabs:v,activeViewId:y,sessionViewId:b,sessionViews:x,currentSessionView:S,allowedSessionViewIds:C,creatingSession:w,terminalFullscreen:T=!1,onEnterTerminalFullscreen:E,onExitTerminalFullscreen:D,showRawEvents:O,showThinking:k,expandThinking:ee,toolDisplayMode:A,commands:te,skills:j,composerText:M,composerFocusSignal:ne,onComposerTextChange:N,onToggleRawEvents:P,onToggleThinking:re,onToggleExpandThinking:ie,onToolDisplayModeChange:ae,onSessionAgentProfileChange:oe,onFork:se,onOpenSession:ce,onSelectSessionView:le,onCommand:ue,onThinkingLevelChange:de,onRefreshTrace:fe,onRefreshBootstrap:pe,onSend:me,onError:he}){let ge=Ke(),_e=(0,L.useRef)(0),ve=(0,L.useRef)(new Map),[ye,be]=(0,L.useState)(null),xe=(0,L.useCallback)(e=>{be(t=>{let n=typeof e==`function`?e(t):e;return n&&ve.current.set(n.piboSessionId,n),n})},[]),[Se,Ce]=(0,L.useState)(null),[we,Te]=(0,L.useState)([]),[Ee,De]=(0,L.useState)([]),Oe=(0,L.useRef)(new Set),F=(0,L.useRef)(null),ke=(0,L.useRef)(null),I=rF(t);(0,L.useEffect)(()=>{let t=e.runtimeStatus?.piboSessionId===I?e.runtimeStatus:void 0;Te(t?.pendingApprovals?[...t.pendingApprovals]:[]),De(t?.pendingUserInputs?[...t.pendingUserInputs]:[])},[e.runtimeStatus,I]);let Ae=(0,L.useCallback)(e=>{if(e.type===`RUNTIME_APPROVAL_REQUESTED`){Te(t=>[...t.filter(t=>t.requestId!==e.request.requestId),e.request]);return}if(e.type===`RUNTIME_USER_INPUT_REQUESTED`){De(t=>[...t.filter(t=>t.requestId!==e.request.requestId),e.request]);return}Te(t=>t.filter(t=>t.requestId!==e.requestId)),De(t=>t.filter(t=>t.requestId!==e.requestId))},[]),je=(0,L.useCallback)(e=>{Te(t=>t.filter(t=>t.requestId!==e)),De(t=>t.filter(t=>t.requestId!==e))},[]),Me=st({queryKey:I?[`chat`,`session-goal`,I]:[`chat`,`session-goal`,`idle`],queryFn:({signal:e})=>sw(I,{signal:e}),enabled:!!I,refetchInterval:I?5e3:!1}),Ne=(0,L.useRef)(I);Ne.current=I;let[Pe,Fe]=(0,L.useState)(null),[Ie,Le]=(0,L.useState)(),[Re,ze]=(0,L.useState)(),Be=(0,L.useRef)(new Set),[Ve,He]=(0,L.useState)(new Set),Ue=st({queryKey:NF(I||`idle`),queryFn:async({signal:e})=>{let t=I;return{piboSessionId:t,...await _F(t,{signal:e})}},enabled:!!I,refetchInterval:e=>I&&e.state.data?.configured!==!1?5e3:!1,retry:!1}),We=xF({selectedPiboSessionId:I??void 0,data:Ue.data,loading:Ue.isPending&&!!I,error:Ue.isError?iF(Ue.error):void 0}),Ge=We.kind===`ready`?We.previews:[],qe=SF(We,Ie),Je=!!(I&&Pe===I),Ye=Re?.piboSessionId===I?Re.value:0;(0,L.useEffect)(()=>{!I||Pe===I||(Pe&&T&&D?.(),Fe(null),Le(void 0),ze(void 0))},[Pe,D,I,T]),(0,L.useEffect)(()=>{We.kind===`ready`&&(Ie?.piboSessionId===We.piboSessionId&&We.previews.some(e=>e.id===Ie.previewId)||Le({piboSessionId:We.piboSessionId,previewId:We.previews[0].id}))},[We,Ie]);let Xe=!!I&&sF(),Ze=(0,L.useCallback)(()=>{lF()||he(`The browser blocked the new Pibo window.`)},[he]),Qe=Xe?Ze:void 0,{baseTraceView:$e,liveTraceOverlay:et,rawEventLimit:tt,traceSummaryQuery:nt,tracePageQuery:rt,rawEventsQuery:it,loadingOlderTracePage:at,tracePageReady:ot,loadOlderTracePage:ct,loadMoreRawEvents:lt}=kN({selectedPiboSessionId:I,showRawEvents:O,liveTraceOverlay:ye,liveTraceOverlayCacheRef:ve,setLiveTraceOverlay:xe}),{selectedWebAnnotationIds:ut,selectedWebAnnotations:dt,visibleWebAnnotations:ft,webAnnotationsPanelCollapsed:ht,webAnnotationsPanelRendered:gt,webAnnotationsPanelVisible:_t,webAnnotationsQuery:vt,clearingWebAnnotations:yt,setWebAnnotationsPanelVisible:bt,toggleWebAnnotationAttachment:xt,detachWebAnnotationAttachment:Ct,clearSelectedWebAnnotationAttachments:wt,toggleWebAnnotationsPanelCollapsed:Tt,clearVisibleWebAnnotations:Et}=_P({selectedPiboSessionId:I,onError:he,formatError:bA}),{selectedUploadAttachments:Dt,attachUploadedFiles:Ot,detachUploadAttachment:kt,clearSelectedUploadAttachments:At}=gP(t,(0,L.useCallback)(()=>`upload-${pt()}`,[])),jt=iN({selectedPiboSessionId:I,baseTraceView:$e,liveTraceOverlay:et,selectedSessionStatus:u}),Mt=kP(e,t,c),Nt=AP(jt),Pt=!!I&&Mt&&!a&&u!==`running`,It=st({queryKey:I?[`chat`,`fork-candidates`,I,Nt]:[`chat`,`fork-candidates`,`idle`,`none`],queryFn:({signal:e})=>St(I,{signal:e}),enabled:Pt,staleTime:0,retry:!1}),Lt=(0,L.useMemo)(()=>Pt&&It.data?jP(jt,It.data.messages):jt,[jt,Pt,It.data]);uP({selectedPiboSessionId:I,tracePageData:rt.data,currentTraceView:jt,liveEventSeqRef:_e,selectedSessionStatus:u,tracePageReady:ot,setLiveTraceOverlay:xe,onRefreshTrace:fe,onRefreshBootstrap:pe,onRuntimeRequestEvent:Ae,onError:he});let Rt=zP({bootstrap:e,selectedPiboSessionId:t,selectedSessionProfile:c,selectedSessionActiveModel:l,currentTraceView:jt}),zt=(0,L.useMemo)(()=>RP(e.sessions,t),[e.sessions,t]),Bt=!!t&&rt.isFetching&&!jt,Vt=rt.error?iF(rt.error):nt.error?iF(nt.error):null,Ht=mt(t,a)||!!(o||s),Ut=!Je&&!Ht&&S.id===`terminal`&&(y??b)===`terminal`,Wt=(0,L.useCallback)(async e=>{try{let t=await Ft(e);Ot(t.files)}catch(e){he(iF(e))}},[Ot,he]),Gt=jt?.piboSessionId??t??``,Kt=p&&OA(p)?kA(p,u):null,qt=e=>{for(let n of[750,2e3,5e3,1e4])window.setTimeout(()=>{t===e&&rt.refetch().catch(e=>he(iF(e)))},n)},Jt=async(e,t)=>{let n=$P(e,t);xe(e=>eF(e,n.piboSessionId,n.optimisticEvent)),await me(n.text,n.webAnnotationIds,n.fileAttachmentPaths,n.clientTxnId,t),wt(),At(),await Promise.all([rt.refetch(),vt.refetch()]),qt(n.piboSessionId)},Yt=(e,t)=>{xe(t=>{let n=t?.piboSessionId===e.piboSessionId?t:ve.current.get(e.piboSessionId)??null;if(!n)return t;let r=n.events.filter(t=>t.id!==e.clientTxnId),i=r.length?{...n,events:r}:null;return i?ve.current.set(e.piboSessionId,i):ve.current.delete(e.piboSessionId),t?.piboSessionId===e.piboSessionId?i:t}),N(t=>t||e.text),he(iF(t))},z=FP(e,I,c,d),Xt=async e=>{if(Ht||!t)return;let n=QP({piboSessionId:t,text:e,selectedWebAnnotations:dt,selectedUploadAttachments:Dt,eventSequence:_e.current++,now:new Date().toISOString(),clientTxnId:pt()});if(z){Ce(n);return}try{await Jt(n,`queue`)}catch(e){Yt(n,e)}},Zt=()=>{Se&&(N(e=>e||Se.text),Ce(null))},Qt=async e=>{let t=Se;if(!(!t||Oe.current.has(t.clientTxnId))){Oe.current.add(t.clientTxnId),Ce(e=>e?.clientTxnId===t.clientTxnId?null:e),he(null);try{await Jt(t,e)}catch(e){Yt(t,e)}finally{Oe.current.delete(t.clientTxnId)}}},$t=(e,t)=>{let n=bk(e,t);n&&(t.preventDefault(),(n===`queue`?F:ke).current?.focus())},en=IP(e,t,c),tn=A===`intent`&&!en?`slim`:A,nn=BP({currentTraceView:Lt,isLoading:Bt,showThinking:k,expandThinking:ee,toolDisplayMode:tn,selectedSessionProfile:c,sessionActiveModelBadge:Rt,sessionRuntimeBinding:e.session?.id===I?e.session.runtimeBinding:void 0,selectedSessionStatus:u,selectedSessionSignal:d,signals:f,sessionGoal:Me.data?.goal,workflowProjectSession:p,workflowLifecycleEvents:m,sessionNodes:e.sessions,sessionLinks:zt,agentProfiles:e.agents,sessionProfileChangeDisabled:w||a,onSessionAgentProfileChange:oe,onFork:se,onOpenSession:ce,onLoadOlderTracePage:()=>ct(jt?.nextBeforeCursor??jt?.nextBeforeSequence),hasOlderTraceEvents:jt?.hasOlderEvents===!0||jt?.nextBeforeCursor!==void 0||typeof jt?.nextBeforeSequence==`number`,isFetchingOlderTracePage:at,onThinkingLevelChange:de,onRefreshTrace:fe,onRefreshBootstrap:pe,onError:he}),rn=(e,t)=>{t?Be.current.add(e):Be.current.delete(e),He(new Set(Be.current))},an=async(e,t)=>{let n=I;if(!n)return;let r=`${n}:${e}`;if(!Be.current.has(r)){rn(r,!0);try{let r=CF(n,t===`start`?await vF(e):t===`stop`?await yF(e):(await bF(e)).preview);ge.setQueryData(NF(n),e=>!e||e.piboSessionId!==n?e:{...e,previews:t===`remove`?e.previews.filter(e=>e.id!==r.id):e.previews.map(e=>e.id===r.id?r:e)}),Ne.current===n&&(t===`start`&&ze(e=>({piboSessionId:n,value:e?.piboSessionId===n?e.value+1:1})),t===`remove`&&Ie?.piboSessionId===n&&Ie.previewId===r.id&&Le(void 0)),await ge.invalidateQueries({queryKey:NF(n),exact:!0})}catch(e){Ne.current===n&&he(iF(e))}finally{rn(r,!1)}}},on=()=>{I&&ze(e=>({piboSessionId:I,value:e?.piboSessionId===I?e.value+1:1}))},sn=e=>{I&&Le({piboSessionId:I,previewId:e})},cn=qe?Ve.has(`${qe.piboSessionId}:${qe.id}`):!1,ln=v?.map(e=>({...e,onSelect:()=>{Fe(null),e.onSelect()}}))??[],un=We.kind===`ready`||Je?[...ln,{id:`preview`,label:`Preview`,description:`Open the live development preview attached to this Pibo Session.`,active:Je,onSelect:()=>{I&&Fe(I)}}]:ln,dn=We.kind===`loading`?(0,R.jsx)(jF,{label:`Loading live previews…`}):We.kind===`error`?(0,R.jsx)(jF,{label:We.message,tone:`error`}):We.kind===`unconfigured`?(0,R.jsx)(jF,{label:`Live previews are not configured on this Pibo instance.`}):(0,R.jsx)(jF,{label:`No active live preview is attached to this Pibo Session.`}),fn=Je?We.kind===`ready`&&qe?(0,R.jsx)(DF,{previews:Ge,selectedPreview:qe,loading:!1,reloadKey:Ye,onSelect:sn,onReload:on,onRefresh:()=>void Ue.refetch(),onStart:e=>void an(e,`start`),onStop:e=>void an(e,`stop`),onRemove:e=>void an(e,`remove`),actionPending:cn,onEnterFullscreen:E}):dn:_,pn=Je?We.kind===`ready`&&qe?(0,R.jsx)(DF,{previews:Ge,selectedPreview:qe,loading:!1,reloadKey:Ye,fullscreen:!0,onSelect:sn,onReload:on,onRefresh:()=>void Ue.refetch(),onStart:e=>void an(e,`start`),onStop:e=>void an(e,`stop`),onRemove:e=>void an(e,`remove`),actionPending:cn}):dn:void 0,mn=Je&&qe?(0,R.jsx)(OF,{preview:qe,onReload:on,onStart:()=>void an(qe.id,`start`),onStop:()=>void an(qe.id,`stop`),actionPending:cn,onExit:D??(()=>void 0)}):void 0;return(0,R.jsxs)(R.Fragment,{children:[Se?(0,R.jsx)(dC,{title:`Session is running`,description:`Choose how this message should be delivered.`,onClose:Zt,initialFocusRef:F,children:(0,R.jsxs)(`div`,{className:`grid gap-2 p-4 sm:grid-cols-2`,"data-pibo-debug":`message-delivery-dialog`,children:[(0,R.jsxs)(`button`,{ref:F,type:`button`,onClick:()=>void Qt(`queue`),onKeyDown:e=>$t(`queue`,e),className:`rounded-sm border border-slate-700 bg-[#151f24] p-3 text-left transition hover:border-[#11a4d4] hover:bg-[#11a4d4]/10 focus-visible:border-[#11a4d4] focus-visible:bg-[#11a4d4]/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#11a4d4]/50 disabled:opacity-50`,"data-pibo-debug":`message-delivery-queue`,children:[(0,R.jsx)(`span`,{className:`block text-xs font-bold uppercase tracking-wider text-[#11a4d4]`,children:`Queue`}),(0,R.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-slate-400`,children:`Run it as the next turn after the active turn finishes.`})]}),(0,R.jsxs)(`button`,{ref:ke,type:`button`,onClick:()=>void Qt(`steer`),onKeyDown:e=>$t(`steer`,e),className:`rounded-sm border border-amber-500/50 bg-amber-500/5 p-3 text-left transition hover:border-amber-400 hover:bg-amber-500/10 focus-visible:border-amber-400 focus-visible:bg-amber-500/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-400/50 disabled:opacity-50`,"data-pibo-debug":`message-delivery-steer`,children:[(0,R.jsx)(`span`,{className:`block text-xs font-bold uppercase tracking-wider text-amber-400`,children:`Steer`}),(0,R.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-slate-400`,children:`Add it to the active turn after the current tool finishes, before the next model step.`})]})]})}):null,(0,R.jsx)(JA,{selectedPiboSessionId:t,selectedRoomId:n,fallbackRoomId:e.selectedRoomId??void 0,sessionViewId:b,loadingTrace:Bt,roomNavigationPending:o,sessionNavigationPending:s,traceError:Vt,showRawEvents:O&&!Je,currentTraceView:jt,rawEventLimit:tt,tracePageFetching:O?it.isFetching:rt.isFetching,onLoadMoreRawEvents:lt,terminalFullscreen:T,fullscreenTopBar:mn,fullscreenContent:pn,hideComposer:Je,terminalFileDropEnabled:Ut,onTerminalFilesDropped:Wt,onOpenSessionWindow:Qe,onExitTerminalFullscreen:D??(()=>void 0),headerProps:{title:LP({sessionNodes:e.sessions,selectedPiboSessionId:t,traceTitle:jt?.title,fallback:`No session selected`}),contextKind:r,contextLabel:i??(e.room?.id===n?e.room.name:void 0)??n??`Unknown room`,headerPiboSessionId:Gt,piboSessionId:t,piboRoomId:n??e.selectedRoomId??void 0,webAnnotationsDisabled:!t||a,webAnnotationsPanelRendered:gt,workflowHeader:Kt,sessionViewId:b,sessionViews:x,currentSessionView:S,allowedSessionViewIds:C,extraViewTabs:un,activeViewId:Je?`preview`:y,terminalFullscreenAvailable:!Je&&S.id===`terminal`&&(y??b)===`terminal`,onEnterTerminalFullscreen:E,onOpenSessionWindow:Qe,showRawEvents:O,showThinking:k,expandThinking:ee,toolDisplayMode:tn,toolIntentSupported:en,onToolDisplayModeChange:ae,onShowWebAnnotationsPanel:()=>bt(!0),onHideWebAnnotationsPanel:()=>bt(!1),onSelectSessionView:e=>{Fe(null),le(e)},onToggleRawEvents:P,onToggleThinking:re,onToggleExpandThinking:ie,onError:he},projectSessionCreatePanel:h,workflowStartPanel:g,projectModulePanel:fn,currentSessionView:S,sessionViewProps:nn,webAnnotationsPanelRendered:gt&&!Je,webAnnotationsPanelProps:{piboSessionId:t,annotations:ft,selectedIds:ut,loading:vt.isLoading||vt.isFetching||yt,error:vt.error?iF(vt.error):null,collapsed:ht,onRefresh:()=>void vt.refetch(),onToggle:xt,onClear:()=>void Et(),onCollapse:Tt,onClose:()=>bt(!1)},runtimeRequestPanel:I&&!Je?(0,R.jsx)(dF,{piboSessionId:I,approvals:we,userInputs:Ee,onResolved:je,onError:he}):void 0,composerProps:{sessionId:t,disabled:Ht,commands:te,skills:j,value:M,focusSignal:ne,selectedWebAnnotations:dt,selectedUploadAttachments:Dt,onValueChange:N,onCommand:ue,onDetachWebAnnotation:Ct,onClearWebAnnotations:wt,onAttachUploadedFiles:Ot,onDetachUploadAttachment:kt,onClearUploadAttachments:At,onSend:Xt}})]})}function FF({mode:e,onSelectSession:t,onNewSession:n,onDeleteSession:r,onRenameSession:i,onSelectRoom:a}){return e.kind===`rooms`?(0,R.jsx)(HF,{candidates:e.candidates,workspace:e.workspace,onSelectRoom:a}):(0,R.jsx)(BF,{sessions:e.sessions,selectedPiboSessionId:e.selectedPiboSessionId,onSelectSession:t,onNewSession:n,onDeleteSession:r,onRenameSession:i})}function IF(e){return e===`running`?`running`:e===`error`?`error`:e===`completed`?`completed`:`idle`}var LF={running:`bg-cyan-400`,idle:`bg-slate-500`,error:`bg-rose-500`,completed:`bg-emerald-500`},RF={running:`running`,idle:`idle`,error:`error`,completed:`completed`};function zF({status:e}){let t=IF(e);return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] uppercase tracking-wider text-slate-400`,children:[(0,R.jsx)(`span`,{className:`inline-block w-1.5 h-1.5 rounded-full ${LF[t]}`,"aria-hidden":`true`}),RF[t]]})}function BF({sessions:e,selectedPiboSessionId:t,onSelectSession:n,onNewSession:r,onDeleteSession:i,onRenameSession:a}){let o=[...e].sort((e,t)=>{let n=e.lastActivityAt??``;return(t.lastActivityAt??``).localeCompare(n)});return(0,R.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-slate-800 px-3 py-2 bg-[#0c1820]`,"data-testid":`session-list`,children:[(0,R.jsx)(`button`,{type:`button`,className:`shrink-0 w-7 h-7 inline-flex items-center justify-center rounded border border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4]`,title:`New session`,onClick:()=>void r(`default`),children:`+`}),(0,R.jsxs)(`ul`,{className:`flex gap-1 overflow-x-auto min-w-0`,children:[o.map(e=>{let r=e.piboSessionId===t;return(0,R.jsx)(`li`,{className:`shrink-0`,children:(0,R.jsx)(VF,{session:e,isActive:r,onSelect:()=>n(e.piboSessionId),onDelete:()=>void i(e.piboSessionId),onRename:t=>void a(e.piboSessionId,t)})},e.piboSessionId)}),o.length===0&&(0,R.jsx)(`li`,{className:`text-xs text-slate-500 px-2 py-1`,children:`No sessions yet — click + to start one.`})]})]})}function VF({session:e,isActive:t,onSelect:n,onDelete:r,onRename:i}){let[a,o]=(0,L.useState)(!1);return(0,R.jsxs)(`div`,{className:`group inline-flex items-center gap-2 rounded px-2 py-1 border ${t?`border-[#11a4d4] bg-[#102834]`:`border-slate-700 bg-[#0a1418] hover:border-slate-500`}`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:n,className:`inline-flex items-center gap-2 text-left`,children:[(0,R.jsx)(zF,{status:e.status}),(0,R.jsx)(`span`,{className:`text-xs text-slate-200 max-w-[180px] truncate`,children:e.title||`Untitled`})]}),(0,R.jsx)(`button`,{type:`button`,className:`text-slate-500 hover:text-slate-200 text-xs px-1`,title:`Session actions`,"aria-label":`Session actions`,onClick:e=>{e.stopPropagation(),o(e=>!e)},children:`…`}),a&&(0,R.jsxs)(`div`,{className:`absolute z-10 mt-12 -ml-20 bg-[#0a1418] border border-slate-700 rounded shadow-lg text-xs`,children:[(0,R.jsx)(`button`,{type:`button`,className:`block w-full text-left px-3 py-1.5 hover:bg-[#102834]`,onClick:t=>{t.stopPropagation(),o(!1);let n=window.prompt(`Rename session`,e.title??``);n&&n!==e.title&&i(n)},children:`Rename`}),(0,R.jsx)(`button`,{type:`button`,className:`block w-full text-left px-3 py-1.5 hover:bg-rose-900/30 text-rose-300`,onClick:t=>{t.stopPropagation(),o(!1),window.confirm(`Delete session "${e.title??`Untitled`}"?`)&&r()},children:`Delete`})]})]})}function HF({candidates:e,workspace:t,onSelectRoom:n}){return(0,R.jsxs)(`div`,{className:`border-b border-slate-800 px-3 py-3 bg-[#0c1820]`,"data-testid":`room-picker`,children:[(0,R.jsxs)(`div`,{className:`text-[10px] uppercase tracking-wider text-slate-400 mb-2`,children:[`Multiple rooms found for `,(0,R.jsx)(`span`,{className:`font-mono text-slate-300`,children:t})]}),(0,R.jsx)(`ul`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsxs)(`button`,{type:`button`,className:`w-full text-left px-3 py-2 border border-slate-700 rounded hover:border-[#11a4d4] bg-[#0a1418]`,onClick:()=>n(e.id),children:[(0,R.jsx)(`div`,{className:`font-semibold text-slate-200 text-sm`,children:e.name}),e.topic&&(0,R.jsx)(`div`,{className:`text-xs text-slate-400 mt-0.5`,children:e.topic}),(0,R.jsxs)(`div`,{className:`text-[10px] text-slate-500 mt-1`,children:[`Created `,UF(e.createdAt),` · Updated `,UF(e.updatedAt)]})]})},e.id))})]})}function UF(e){try{return new Date(e).toLocaleString()}catch{return e}}function WF(){return new URLSearchParams(window.location.search).get(`workspace`)}function GF(){return new URLSearchParams(window.location.search).get(`roomId`)}function KF(){let e=(0,L.useMemo)(()=>WF(),[]),[t,n]=(0,L.useState)(()=>GF()),[r,i]=(0,L.useState)(()=>GF()?{kind:`sessions`,roomId:GF(),sessions:[],selectedPiboSessionId:null}:{kind:`rooms`,candidates:[],workspace:e??``}),[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(null),[l,u]=(0,L.useState)(``),[d,f]=(0,L.useState)(0),[p,m]=(0,L.useState)(null),[h,g]=(0,L.useState)(!1),[_,v]=(0,L.useState)(vk),y=(0,L.useMemo)(()=>{let e=a?.sessionNodes;return Array.isArray(e)?e:[]},[a]);(0,L.useEffect)(()=>{if(!t)return;let e=!1;return(async()=>{try{let n=await bt(void 0,!1,t);if(e)return;o(n);let r=n.sessions.find(e=>!e.archived)??n.sessions[0];r&&!s&&c(r.piboSessionId),i({kind:`sessions`,roomId:t,sessions:n.sessions,selectedPiboSessionId:r?.piboSessionId??null})}catch(t){e||m(iF(t))}})(),()=>{e=!0}},[t]);let b=(0,L.useCallback)(async()=>{if(t)try{let e=await bt(s??void 0,!1,t,!0);o(e)}catch(e){m(iF(e))}},[t,s]),x=(0,L.useCallback)(async()=>{await b()},[b]);(0,L.useEffect)(()=>{if(!t)return;let e=`/api/chat/events?${new URLSearchParams({roomId:t,mode:`summary`,since:`0:999999`}).toString()}`,n=new EventSource(e),r,i=()=>{r&&clearTimeout(r),r=setTimeout(()=>{r=void 0,b()},200)};return n.addEventListener(`change`,i),n.addEventListener(`trace`,i),n.addEventListener(`message`,i),n.onerror=()=>{},()=>{r&&clearTimeout(r),n.close()}},[t,b]),(0,L.useEffect)(()=>{let e=e=>{let t=e.data;!t||typeof t!=`object`||(t.type===`pibo/set-selector-mode`?(i(t.mode),t.mode.kind===`sessions`&&n(t.mode.roomId)):t.type===`pibo/refresh-bootstrap`&&b())};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[b]);let S=(0,L.useMemo)(()=>a?_t(a.capabilities.actions):[],[a]),C=(0,L.useMemo)(()=>vt(a,s),[a,s]),w=(0,L.useMemo)(()=>r.kind===`sessions`?r.sessions:y,[r,y]),T=(0,L.useCallback)(e=>{c(e),f(e=>e+1)},[]),E=(0,L.useCallback)(async e=>{if(t)try{let n=await xt(e,t);await b(),n.session?.id&&c(n.session.id)}catch(e){m(iF(e))}},[t,b]),D=(0,L.useCallback)(async e=>{try{await wt(e,`delete`),await b(),s===e&&c(null)}catch(e){m(iF(e))}},[b,s]),O=(0,L.useCallback)(async(e,t)=>{try{await Ct(e,{title:t}),await b()}catch(e){m(iF(e))}},[b]),k=(0,L.useCallback)(e=>{n(e),c(null),o(null),i({kind:`sessions`,roomId:e,sessions:[],selectedPiboSessionId:null});let t=new URLSearchParams(window.location.search);t.set(`roomId`,e),window.history.replaceState(null,``,`${window.location.pathname}?${t.toString()}`)},[]),ee=(0,L.useCallback)(async e=>{if(!(!s||!t))try{await Tt(s,e,pt(),t),u(``),f(e=>e+1),await b()}catch(e){m(iF(e))}},[s,t,b]),A=(0,L.useCallback)(async e=>{if(!s)return!1;let n=e.trim();if(!n)return!1;let r=n.split(/\s+/)[0],i=S.find(e=>e.slash===r);if(!i)return m(`Unknown command: ${r}`),!1;if(i.action===`thinking-show`)return g(e=>!e),!0;if(i.action===`download`){let e=jt(n.slice(r.length));if(!e)return m(`Usage: /download <path>`),!0;try{await It(e,{piboSessionId:s,roomId:t??void 0})}catch(e){m(iF(e))}return!0}try{let e=Mt(i.action,n.slice(r.length).trim());await Dt(s,i.action,e),await b()}catch(e){m(iF(e))}return!0},[S,s,t,b]),te=(0,L.useMemo)(()=>fk(),[]),j=(0,L.useMemo)(()=>pk(Ht),[]);if(!a)return(0,R.jsxs)(`div`,{className:`pibo-vscode-panel h-full flex flex-col bg-[#0c1820] text-slate-200`,children:[(0,R.jsx)(FF,{mode:r,onSelectSession:T,onNewSession:E,onDeleteSession:D,onRenameSession:O,onSelectRoom:k}),(0,R.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-slate-400 text-sm`,children:p?`Error: ${p}`:t?`Loading Pibo…`:`Waiting for room…`})]});if(r.kind===`rooms`){let e=a.rooms??r.candidates;return(0,R.jsxs)(`div`,{className:`pibo-vscode-panel h-full flex flex-col bg-[#0c1820] text-slate-200`,children:[(0,R.jsx)(FF,{mode:{kind:`rooms`,candidates:e,workspace:r.workspace},onSelectSession:T,onNewSession:E,onDeleteSession:D,onRenameSession:O,onSelectRoom:k}),(0,R.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-slate-400 text-sm`,children:`Multiple rooms found — pick one above to continue.`})]})}let M=a.sessions.find(e=>e.piboSessionId===s);return(0,R.jsxs)(`div`,{className:`pibo-vscode-panel h-full flex flex-col bg-[#0c1820] text-slate-200`,children:[(0,R.jsx)(FF,{mode:{kind:`sessions`,roomId:t??``,sessions:w,selectedPiboSessionId:s},onSelectSession:T,onNewSession:E,onDeleteSession:D,onRenameSession:O,onSelectRoom:k}),p&&(0,R.jsxs)(`div`,{className:`bg-rose-900/40 border-b border-rose-700 text-rose-200 text-xs px-3 py-1.5`,role:`alert`,children:[p,(0,R.jsx)(`button`,{type:`button`,className:`ml-3 underline`,onClick:()=>m(null),children:`dismiss`})]}),(0,R.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,R.jsx)(PF,{bootstrap:a,selectedPiboSessionId:s,selectedRoomId:t,selectedRoomArchived:!1,selectedSessionProfile:M?.profile??`default`,selectedSessionActiveModel:M?ut(a,M)??void 0:void 0,selectedSessionStatus:M?.status,sessionViewId:Ht,sessionViews:te,currentSessionView:j,allowedSessionViewIds:[`terminal`],creatingSession:!1,showRawEvents:!1,showThinking:h,expandThinking:!1,toolDisplayMode:_,commands:S,skills:C,composerText:l,composerFocusSignal:d,onComposerTextChange:u,onToggleRawEvents:()=>void 0,onToggleThinking:()=>g(e=>!e),onToggleExpandThinking:()=>void 0,onToolDisplayModeChange:e=>{v(e),yk(e)},onSessionAgentProfileChange:()=>void 0,onFork:()=>void 0,onOpenSession:e=>c(e),onSelectSessionView:()=>void 0,onCommand:A,onThinkingLevelChange:e=>void A(`/thinking ${e}`),onRefreshTrace:x,onRefreshBootstrap:b,onSend:ee,onError:m})})]})}var qF=new He({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1}}}),JF=document.getElementById(`root`);JF&&(0,ct.createRoot)(JF).render((0,R.jsx)(L.StrictMode,{children:(0,R.jsx)(qe,{client:qF,children:(0,R.jsx)(KF,{})})}));
43
+ `)&&e.value.length<80){e.style.height=``,e.style.overflowY=`hidden`;return}let t=window.getComputedStyle(e),n=Kk(t.lineHeight,20),r=Kk(t.borderTopWidth)+Kk(t.borderBottomWidth),i=n*5+Kk(t.paddingTop)+Kk(t.paddingBottom);e.style.height=`auto`;let a=e.scrollHeight,o=a>i;e.style.height=`${Math.min(a,i)+r}px`,e.style.overflowY=o?`auto`:`hidden`,o&&e.selectionStart===e.value.length&&e.selectionEnd===e.value.length&&(e.scrollTop=a)}function Kk(e,t=0){let n=Number.parseFloat(e);return Number.isFinite(n)?n:t}var qk=`pibo.chat.webAnnotations.cdpUrl`,Jk=`pibo.chat.webAnnotations.selected`,Yk=`${Jk}.`,Xk=`pibo.chat.webAnnotations.overlay.`,Zk=`pibo.chat.webAnnotations.panelCollapsed`,Qk=`pibo.chat.shortcuts.webAnnotationsToggle`,$k=`Alt+Shift+A`;function eA(){try{return localStorage.getItem(qk)??``}catch{return``}}function tA(e){try{e.trim()?localStorage.setItem(qk,e.trim()):localStorage.removeItem(qk)}catch{}}function nA(){try{return localStorage.getItem(Qk)||`Alt+Shift+A`}catch{return $k}}function rA(e){try{return aA(localStorage.getItem(iA(e)))}catch{return null}}function iA(e){return Xk+e}function aA(e){if(!e)return null;try{return oA(JSON.parse(e))}catch{return null}}function oA(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.piboSessionId==`string`?t.piboSessionId.trim():``;return n?{bindingId:typeof t.bindingId==`string`?t.bindingId:void 0,piboSessionId:n,installed:t.installed!==!1,active:t.active===!0,toolbarExpanded:t.toolbarExpanded===!0,mode:typeof t.mode==`string`?t.mode:void 0,reason:typeof t.reason==`string`?t.reason:void 0,updatedAt:typeof t.updatedAt==`string`?t.updatedAt:void 0}:null}function sA(e){try{let t=lA(localStorage.getItem(Jk));if(t.length||!e)return t;let n=Yk+e,r=lA(localStorage.getItem(n));return r.length&&(localStorage.setItem(Jk,JSON.stringify(r)),localStorage.removeItem(n)),r}catch{return[]}}function cA(e,t){try{let n=[...new Set(t.filter(e=>e.trim()))].slice(0,5);n.length?localStorage.setItem(Jk,JSON.stringify(n)):localStorage.removeItem(Jk),e&&localStorage.removeItem(Yk+e)}catch{}}function lA(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`&&!!e.trim()).slice(0,5):[]}catch{return[]}}function uA(){try{return localStorage.getItem(Zk)===`true`}catch{return!1}}function dA(e){try{localStorage.setItem(Zk,String(e))}catch{}}var fA=`web-annotations-dialog`,pA=`web-annotations-session-panel-details`;function mA({piboSessionId:e,annotations:t,selectedIds:n,loading:r,error:i,collapsed:a,onRefresh:o,onToggle:s,onClear:c,onCollapse:l,onClose:u}){return e?(0,R.jsxs)(`section`,{className:`border-t border-slate-800 bg-[#101d22] px-3 py-2 sm:px-4`,"data-pibo-debug":`web-annotations-session-panel`,"data-pibo-session-id":e,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,R.jsx)(`div`,{className:`min-w-0`,children:(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] font-bold uppercase tracking-wider text-[#11a4d4]`,children:`Web annotations`}),(0,R.jsx)(`span`,{className:`rounded-sm border border-slate-700 px-1.5 py-0.5 text-[10px] text-slate-400`,children:t.length}),n.length?(0,R.jsxs)(`span`,{className:`rounded-sm border border-[#11a4d4]/50 px-1.5 py-0.5 text-[10px] text-[#11a4d4]`,children:[n.length,` attached`]}):null]})}),(0,R.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:o,disabled:r,title:`Refresh annotations`,"aria-label":`Refresh annotations`,className:`inline-flex h-8 w-8 items-center justify-center rounded-sm border border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] disabled:opacity-50 sm:h-7 sm:w-7`,"data-pibo-debug":`web-annotations-refresh`,children:(0,R.jsx)(Kn,{size:12,className:r?`animate-spin`:void 0})}),(0,R.jsx)(`button`,{type:`button`,onClick:c,disabled:r||!t.length,title:`Clear visible annotations`,"aria-label":`Clear visible annotations`,className:`inline-flex h-8 w-8 items-center justify-center rounded-sm border border-slate-700 text-slate-300 hover:border-red-500 hover:text-red-300 disabled:opacity-50 sm:h-7 sm:w-7`,children:(0,R.jsx)(er,{size:12})}),(0,R.jsx)(`button`,{type:`button`,onClick:l,title:a?`Expand annotations panel`:`Collapse annotations panel`,"aria-label":`Web annotations details`,"aria-expanded":!a,"aria-controls":pA,className:`inline-flex h-8 w-8 items-center justify-center rounded-sm border border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] sm:h-7 sm:w-7`,children:a?(0,R.jsx)(pn,{size:12}):(0,R.jsx)(dn,{size:12})}),(0,R.jsx)(`button`,{type:`button`,onClick:u,title:`Hide annotations panel`,"aria-label":`Hide annotations panel`,className:`inline-flex h-8 w-8 items-center justify-center rounded-sm border border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] sm:h-7 sm:w-7`,children:(0,R.jsx)(ir,{size:12})})]})]}),(0,R.jsxs)(`div`,{id:pA,hidden:a,children:[(0,R.jsx)(`div`,{className:`text-[11px] text-slate-500`,children:`Global annotation list. Selected attachments follow you when switching sessions.`}),i?(0,R.jsx)(`div`,{className:`rounded-sm border border-red-900 bg-red-950/40 px-3 py-2 text-xs text-red-200`,"data-pibo-debug":`web-annotations-error`,children:TA(i,220)}):r&&!t.length?(0,R.jsx)(`div`,{className:`rounded-sm border border-slate-800 bg-[#0e1116] px-3 py-2 text-xs text-slate-400`,"data-pibo-debug":`web-annotations-loading`,children:`Loading annotations…`}):t.length?(0,R.jsx)(`div`,{className:`mt-2 grid max-h-[min(40svh,18rem)] grid-cols-1 gap-2 overflow-y-auto pr-1 sm:max-h-56 sm:grid-cols-[repeat(auto-fill,minmax(16rem,1fr))]`,"data-pibo-debug":`web-annotations-list`,children:t.map((e,t)=>{let r=n.includes(e.id),i=TA(e.primaryTarget||e.label||e.selector||e.targetKind||`target`,64),a=`${t+1}: ${i}`;return(0,R.jsxs)(`div`,{"data-pibo-debug":`web-annotation-chip`,"data-web-annotation-id":e.id,"data-web-annotation-session-id":e.piboSessionId,"data-web-annotation-selected":r?`true`:`false`,className:`min-w-0 rounded-sm border px-3 py-2 text-xs ${r?`border-[#11a4d4] bg-[#11a4d4]/10`:`border-slate-800 bg-[#0e1116]`}`,children:[(0,R.jsxs)(`div`,{className:`mb-1 flex items-center justify-between gap-2`,children:[(0,R.jsxs)(`span`,{className:`min-w-0 truncate font-mono text-[11px] text-slate-500`,children:[e.status,` · `,e.targetKind]}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>s(e.id),"aria-pressed":r,"aria-label":`Include web annotation ${a}`,title:`${r?`Detach`:`Attach`} web annotation ${a}`,className:`inline-flex h-8 shrink-0 items-center gap-1 rounded-sm border px-2 text-[11px] sm:h-6 sm:px-1.5 ${r?`border-[#11a4d4] text-[#11a4d4]`:`border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:[r?(0,R.jsx)(ir,{size:11}):(0,R.jsx)(Gn,{size:11}),` `,r?`Detach`:`Attach`]})]}),(0,R.jsx)(`div`,{className:`truncate text-slate-200`,title:e.primaryTarget||e.label||e.selector||e.id,children:TA(e.primaryTarget||e.label||e.selector||e.id,120)}),e.piboContext?(0,R.jsx)(`div`,{className:`truncate font-mono text-[11px] text-[#11a4d4]`,title:e.piboContext,children:TA(e.piboContext,140)}):null,(0,R.jsx)(`div`,{className:`truncate font-mono text-[11px] text-slate-500`,title:e.url,children:SA(e.url)}),(0,R.jsxs)(`div`,{className:`truncate font-mono text-[11px] text-slate-500`,title:wA(e),children:[`Source `,CA(e)]}),(0,R.jsx)(`div`,{className:`mt-1 line-clamp-2 text-slate-400`,title:e.note,children:TA(e.note,180)}),(0,R.jsx)(`div`,{className:`mt-1 text-[11px] text-slate-600`,children:EA(e.createdAt)})]},e.id)})}):(0,R.jsx)(`div`,{className:`rounded-sm border border-slate-800 bg-[#0e1116] px-3 py-2 text-xs text-slate-500`,"data-pibo-debug":`web-annotations-empty`,children:`No open annotations for this session.`})]})]}):null}function hA({piboSessionId:e,piboRoomId:t,disabled:n,panelVisible:r,onShowPanel:i,onHidePanel:a,onError:o}){let[s,c]=(0,L.useState)(!1),[l,u]=(0,L.useState)(``),[d,f]=(0,L.useState)(()=>eA()),[p,m]=(0,L.useState)([]),[h,g]=(0,L.useState)(`idle`),[_,v]=(0,L.useState)(!1),[y,b]=(0,L.useState)(null),x=(0,L.useRef)(null),S=(0,L.useRef)(null),C=()=>{c(!1),x.current?.focus()};(0,L.useEffect)(()=>{n&&c(!1)},[n]),(0,L.useEffect)(()=>{if(!s||n)return;S.current?.focus();let e=e=>{e.key===`Escape`&&(e.preventDefault(),C())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[s,n]),(0,L.useEffect)(()=>{tA(d)},[d]);let w=async()=>{if(e){g(`loading`),b(null);try{let e=await uw(d);m(e.targets.filter(e=>e.type===`page`||e.attachable)),g(`loaded`)}catch(e){let t=bA(e,`CDP unavailable`);m([]),g(`error`),b({kind:`error`,message:t}),o(t)}}},T=async n=>{if(!e)throw Error(`No active session context`);return fw(n.binding.id,_A({piboSessionId:e,piboRoomId:t,cdpUrl:d,annotationShortcut:nA()}))},E=async()=>{if(!(!e||_)){i(),v(!0),b({kind:`info`,message:`Injecting annotation overlay into this Pibo page…`});try{let n=await dw({piboSessionId:e,piboRoomId:t,url:window.location.href,title:document.title,sameOrigin:!0,annotationShortcut:nA()});if(!n.overlay)throw Error(`Overlay config missing from same-origin binding response`);await yA(n.overlay),b({kind:`success`,message:`Annotation overlay is ready on this Pibo page. Open the overlay controls or use the shortcut to start annotating.`}),o(null)}catch(e){let t=bA(e,`Current-page annotation failed`);b({kind:`error`,message:t}),o(t)}finally{v(!1)}}},D=async()=>{if(!e||_)return;i();let n=l.trim();if(!n){b({kind:`error`,message:`URL is required`});return}if(vA(n)){let e=`That looks like a CDP endpoint. Put it in CDP URL, and put the page you want to annotate in Annotate URL.`;b({kind:`error`,message:e}),o(e);return}v(!0),b({kind:`info`,message:`Opening target and injecting overlay…`});try{let r=await dw(_A({piboSessionId:e,piboRoomId:t,url:n,cdpUrl:d})),i=await T(r);b({kind:`success`,message:`Annotation overlay injected for ${xA(i.target??r.target,i.binding.url)}`}),u(``),o(null)}catch(e){let t=bA(e,`Annotation failed`);b({kind:`error`,message:t}),o(t)}finally{v(!1)}},O=async n=>{if(!(!e||_)){i(),v(!0),b({kind:`info`,message:`Binding selected target and injecting overlay…`});try{let r=await dw(_A({piboSessionId:e,piboRoomId:t,targetId:n.id,cdpUrl:d})),i=await T(r);b({kind:`success`,message:`Annotation overlay injected for ${xA(i.target??n,i.binding.url)}`}),o(null)}catch(e){let t=bA(e,n.attachable?`Target annotation failed`:`Target not attachable`);b({kind:`error`,message:t}),o(t)}finally{v(!1)}}};return(0,R.jsxs)(`div`,{className:`relative`,"data-pibo-debug":`web-annotations-entry`,"data-pibo-session-id":e??void 0,children:[(0,R.jsx)(gA,{buttonRef:x,onClick:()=>{n||(c(e=>!e),r||i())},title:n?`Select an active session to annotate a web page`:r?`Web Annotations`:`Show Web Annotations`,ariaLabel:`Web Annotations`,ariaHaspopup:`dialog`,ariaExpanded:s,ariaControls:fA,disabled:n,active:s||r,children:(0,R.jsx)(tn,{size:14})}),s&&!n?(0,R.jsxs)(`div`,{id:fA,className:`fixed inset-x-2 bottom-3 z-40 max-h-[calc(100svh-1.5rem)] overflow-y-auto rounded-sm border border-slate-700 bg-[#0e1116] p-3 text-sm shadow-xl sm:absolute sm:inset-auto sm:right-0 sm:top-full sm:bottom-auto sm:mt-2 sm:w-[min(420px,calc(100vw-24px))] sm:max-h-[calc(100svh-5rem)]`,role:`dialog`,"aria-label":`Web Annotations`,children:[(0,R.jsxs)(`div`,{className:`mb-2 flex items-start justify-between gap-3`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`text-xs font-bold uppercase tracking-wider text-[#11a4d4]`,children:`Web Annotations`}),(0,R.jsx)(`div`,{className:`mt-1 text-xs text-slate-500`,children:`Start an inactive overlay for this Pibo page, or bind a CDP target for external pages.`})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:r?a:i,className:`rounded-sm p-1 text-slate-500 hover:bg-slate-800 hover:text-slate-200`,"aria-label":r?`Hide annotation list`:`Show annotation list`,title:r?`Hide annotation list`:`Show annotation list`,children:(0,R.jsx)(Jn,{size:14})}),(0,R.jsx)(`button`,{type:`button`,onClick:C,className:`rounded-sm p-1 text-slate-500 hover:bg-slate-800 hover:text-slate-200`,"aria-label":`Close Web Annotations panel`,children:(0,R.jsx)(ir,{size:14})})]})]}),(0,R.jsx)(`button`,{ref:S,type:`button`,onClick:()=>void E(),disabled:_,className:`mb-3 h-10 w-full rounded-sm bg-emerald-600 px-3 text-xs font-medium text-white hover:bg-emerald-500 disabled:opacity-50 sm:h-9`,"data-pibo-debug":`web-annotations-current-page`,children:`Annotate this Pibo page`}),(0,R.jsx)(`label`,{className:`mb-2 block text-[11px] font-bold uppercase tracking-wider text-slate-500`,htmlFor:`web-annotation-url`,children:`Annotate URL via CDP`}),(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-[1fr_auto]`,children:[(0,R.jsx)(`input`,{id:`web-annotation-url`,value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&D()},placeholder:`http://localhost:5173`,disabled:_,className:`h-10 min-w-0 rounded-sm border border-slate-700 bg-[#151f24] px-2 text-base text-slate-100 outline-none focus:border-[#11a4d4] disabled:opacity-60 sm:h-9 sm:text-xs`}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void D(),disabled:_||!l.trim(),className:`h-10 rounded-sm bg-[#11a4d4] px-3 text-xs font-medium text-white disabled:opacity-50 sm:h-9`,children:`Annotate`})]}),(0,R.jsx)(`label`,{className:`mt-3 mb-1 block text-[11px] font-bold uppercase tracking-wider text-slate-500`,htmlFor:`web-annotation-cdp-url`,children:`CDP URL (optional)`}),(0,R.jsx)(`input`,{id:`web-annotation-cdp-url`,value:d,onChange:e=>f(e.target.value),placeholder:`Use gateway default`,disabled:_,className:`h-10 w-full rounded-sm border border-slate-800 bg-[#151f24] px-2 font-mono text-base text-slate-300 outline-none focus:border-[#11a4d4] disabled:opacity-60 sm:h-8 sm:text-[11px]`}),(0,R.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-2`,children:[(0,R.jsx)(`div`,{className:`text-[11px] font-bold uppercase tracking-wider text-slate-500`,children:`Existing targets`}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>void w(),disabled:_||h===`loading`,className:`inline-flex h-7 items-center gap-1 rounded-sm border border-slate-700 px-2 text-[11px] text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] disabled:opacity-50`,children:[(0,R.jsx)(Kn,{size:12,className:h===`loading`?`animate-spin`:void 0}),` Refresh`]})]}),(0,R.jsxs)(`div`,{className:`mt-2 max-h-[min(34svh,14rem)] overflow-auto rounded-sm border border-slate-800 sm:max-h-56`,children:[h===`idle`?(0,R.jsx)(`div`,{className:`px-3 py-3 text-xs text-slate-500`,children:`Refresh to list reachable browser targets.`}):null,h===`loading`?(0,R.jsx)(`div`,{className:`px-3 py-3 text-xs text-slate-400`,children:`Loading targets…`}):null,h===`loaded`&&!p.length?(0,R.jsx)(`div`,{className:`px-3 py-3 text-xs text-slate-500`,children:`No attachable browser targets found.`}):null,p.map(e=>(0,R.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 border-b border-slate-800 px-3 py-2 last:border-b-0 sm:grid-cols-[1fr_auto]`,children:[(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsx)(`div`,{className:`truncate text-xs text-slate-200`,title:e.title||e.url,children:TA(e.title||`Untitled target`,120)}),(0,R.jsx)(`div`,{className:`truncate font-mono text-[11px] text-slate-500`,title:e.url,children:TA(e.url||e.id,160)})]}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void O(e),disabled:_||!e.attachable,title:e.attachable?`Attach selected target`:`Target is not attachable`,className:`h-9 rounded-sm border border-slate-700 px-2 text-[11px] text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4] disabled:opacity-40 sm:h-8`,children:`Attach`})]},e.id))]}),y?(0,R.jsx)(`div`,{className:`mt-2 rounded-sm border px-2 py-2 text-xs ${y.kind===`error`?`border-red-900 bg-red-950/40 text-red-200`:y.kind===`success`?`border-emerald-900/60 bg-emerald-950/30 text-emerald-300`:`border-slate-700 bg-[#151f24] text-slate-300`}`,children:y.message}):null]}):null]})}function gA({buttonRef:e,title:t,ariaLabel:n,ariaHaspopup:r,ariaExpanded:i,ariaControls:a,disabled:o,active:s,onClick:c,children:l}){return(0,R.jsx)(`button`,{ref:e,type:`button`,onClick:c,disabled:o,title:t,"aria-label":n,"aria-haspopup":r,"aria-expanded":i,"aria-controls":a,className:`h-8 w-8 inline-flex items-center justify-center border rounded-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${s?`border-[#11a4d4] bg-[#11a4d4]/10 text-[#11a4d4]`:`border-slate-700 text-slate-400 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:l})}function _A(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e&&e.trim()))}function vA(e){try{let t=new URL(e);return t.port===`56663`||t.pathname.startsWith(`/json/`)}catch{return!1}}function yA(e){return new Promise((t,n)=>{let r=window;try{r.__piboWebAnnotations?.remove?.(),r.__piboWebAnnotationConfig=e;let i=document.createElement(`script`);i.src=`/apps/web-annotations/overlay.js?ts=${Date.now()}`,i.async=!0,i.onload=()=>t(),i.onerror=()=>n(Error(`Could not load Web Annotation overlay script`)),document.head.appendChild(i)}catch(e){n(e)}})}function bA(e,t){let n=DA(e);return!n||n===`undefined`?t:/target.*not found|selected cdp target/i.test(n)?`Target not found: ${n}`:/inject|overlay|evaluation/i.test(n)?`Injection failed: ${n}`:/cdp endpoint.*is unreachable|failed to fetch|fetch failed|chrome target discovery|cdp unavailable|econnrefused|connect/i.test(n)?`CDP unavailable: ${n}`:`${t}: ${n}`}function xA(e,t){let n=e?.url||t||e?.title||`target`;return SA(e?.title||n)}function SA(e){try{let t=new URL(e);return`${t.host}${t.pathname===`/`?``:t.pathname}`}catch{return TA(e,80)}}function CA(e){return e.piboRoomId?`${TA(e.piboSessionId,24)} · room ${TA(e.piboRoomId,18)}`:TA(e.piboSessionId,44)}function wA(e){return e.piboRoomId?`Session ${e.piboSessionId} in room ${e.piboRoomId}`:`Session ${e.piboSessionId}`}function TA(e,t){return e.length>t?`${e.slice(0,Math.max(0,t-1))}…`:e}function EA(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`short`,timeStyle:`short`})}function DA(e){return e instanceof Error?e.message:String(e)}function OA(e){return!!e.workflowRunId||e.state===`workflow`||e.workflowId!==`simple-chat`}function kA(e,t){return{workflowId:e.workflowId,state:jA(e,t),...e.workflowRunId?{workflowRunId:e.workflowRunId}:{}}}function AA({summary:e}){return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`text-slate-600`,children:`·`}),(0,R.jsxs)(`span`,{className:`min-w-0 max-w-52 truncate rounded border border-[#11a4d4]/35 bg-[#11a4d4]/10 px-1.5 py-0.5 text-[10px] uppercase tracking-wide text-[#11a4d4]`,title:e.workflowId,children:[`workflow `,e.workflowId]}),(0,R.jsxs)(`span`,{className:MA(e.state),children:[`state `,e.state]}),e.workflowRunId?(0,R.jsxs)(`span`,{className:`min-w-0 max-w-40 truncate rounded border border-slate-700 bg-slate-900/40 px-1.5 py-0.5 text-[10px] text-slate-400`,title:e.workflowRunId,children:[`run `,NA(e.workflowRunId)]}):null]})}function jA(e,t){return e.archived?`archived`:e.state&&e.state!==`workflow`?e.state.replace(/_/g,` `):t===`running`?`running`:t===`error`?`failed`:e.state?e.state.replace(/_/g,` `):e.workflowRunId?`workflow`:e.kind}function MA(e,t=!1){let n=e.toLowerCase(),r=`shrink-0 rounded border px-1.5 py-0.5 text-[10px] uppercase tracking-wide`;return t?`${r} border-slate-700 text-slate-500`:n.includes(`failed`)||n.includes(`error`)?`${r} border-red-500/40 text-red-300 bg-red-500/10`:n.includes(`waiting`)?`${r} border-amber-500/40 text-amber-300 bg-amber-500/10`:n.includes(`complete`)||n.includes(`done`)?`${r} border-emerald-500/40 text-emerald-300 bg-emerald-500/10`:`${r} border-[#11a4d4]/40 text-[#11a4d4] bg-[#11a4d4]/10`}function NA(e){return e.length>18?`${e.slice(0,10)}…${e.slice(-6)}`:e}function PA({title:e,contextKind:t,contextLabel:n,headerPiboSessionId:r,piboSessionId:i,piboRoomId:a,webAnnotationsDisabled:o,webAnnotationsPanelRendered:s,workflowHeader:c,sessionViewId:l,sessionViews:u,currentSessionView:d,allowedSessionViewIds:f,extraViewTabs:p,activeViewId:m,terminalFullscreenAvailable:h,onEnterTerminalFullscreen:g,onOpenSessionWindow:_,showRawEvents:v,showThinking:y,expandThinking:b,toolDisplayMode:x,toolIntentSupported:S,onToolDisplayModeChange:C,onShowWebAnnotationsPanel:w,onHideWebAnnotationsPanel:T,onSelectSessionView:E,onToggleRawEvents:D,onToggleThinking:O,onToggleExpandThinking:k,onError:ee}){let[A,te]=(0,L.useState)(null),j=(0,L.useRef)(void 0),M=A===r,ne=m??l,N=t===`project`?`Project`:`Room`,P=(0,L.useMemo)(()=>f?new Set(f):null,[f]);(0,L.useEffect)(()=>()=>{j.current&&window.clearTimeout(j.current)},[]);let re=()=>{r&&(Sk(r).catch(()=>void 0),te(r),j.current&&window.clearTimeout(j.current),j.current=window.setTimeout(()=>te(null),900))};return(0,R.jsxs)(`div`,{className:`h-14 px-4 bg-[#151f24] border-b border-slate-800 flex items-center justify-between max-[980px]:h-auto max-[980px]:flex-wrap max-[980px]:py-2 max-[980px]:gap-2`,children:[(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`h1`,{className:`text-base font-semibold truncate`,children:e}),(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 font-mono text-[11px] text-slate-500`,children:[(0,R.jsxs)(`span`,{"data-pibo-debug":`session-context`,"data-pibo-context-kind":t,title:`${N}: ${n}`,"aria-label":`${N}: ${n}`,className:`inline-flex min-w-0 max-w-full items-center gap-1.5`,children:[(0,R.jsx)(`span`,{className:`shrink-0 uppercase tracking-wide text-[#11a4d4]`,children:N}),(0,R.jsx)(`span`,{className:`truncate text-slate-400`,children:n})]}),r?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`text-slate-600`,children:`·`}),(0,R.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:()=>void re(),title:M?`Copied Pibo session ID`:`Copy Pibo session ID`,"aria-label":M?`Copied Pibo session ID`:`Copy Pibo session ID`,className:`min-w-0 max-w-48 truncate rounded-sm px-1 font-mono underline-offset-2 transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[#11a4d4] ${M?`bg-emerald-500/15 text-emerald-300 ring-1 ring-emerald-400/50`:`text-slate-400 hover:text-[#11a4d4] hover:underline`}`,children:r})]}):null,c?(0,R.jsx)(AA,{summary:c}):null]})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 max-[980px]:w-full max-[980px]:flex-wrap max-[980px]:gap-1`,children:[(0,R.jsx)(hA,{piboSessionId:i,piboRoomId:a,disabled:o,panelVisible:s,onShowPanel:w,onHidePanel:T,onError:ee}),_?(0,R.jsx)(`button`,{type:`button`,onClick:_,title:`Open selected session in new window`,"aria-label":`Open selected session in new window`,"data-pibo-debug":`open-session-window`,className:`h-8 w-8 inline-flex items-center justify-center border border-slate-700 rounded-sm text-slate-400 transition-colors hover:border-[#11a4d4] hover:text-[#11a4d4]`,children:(0,R.jsx)(Gn,{size:15})}):null,(0,R.jsxs)(`select`,{value:x,onChange:e=>C(e.target.value),title:`Tool display mode`,"aria-label":`Tool display mode`,"data-pibo-debug":`tool-display-mode`,className:`h-8 rounded-sm border border-slate-700 bg-[#0e1116] px-2 text-[11px] font-bold uppercase tracking-wide text-slate-300 outline-none focus:border-[#11a4d4]`,children:[(0,R.jsx)(`option`,{value:`default`,children:`Tools: Default`}),(0,R.jsx)(`option`,{value:`hide`,children:`Tools: Hide`}),(0,R.jsx)(`option`,{value:`slim`,children:`Tools: Slim`}),(0,R.jsx)(`option`,{value:`intent`,disabled:!S,children:`Tools: Intent`})]}),(0,R.jsxs)(`div`,{role:`group`,"aria-label":`Session views`,className:`flex items-center rounded-sm border border-slate-700 bg-[#0e1116] p-0.5`,children:[u.map(e=>{let t=!!(P&&!P.has(e.id));return(0,R.jsx)(`button`,{type:`button`,onClick:()=>{t||E(e.id)},disabled:t,title:t?`Project session routing uses the ${d.label} view for this session kind.`:e.description??e.label,"aria-label":t?`${e.label} view unavailable for this Project session kind`:`Switch to ${e.label} view`,"aria-pressed":ne===e.id,className:`min-w-20 px-2.5 py-1 text-[11px] font-bold tracking-wide max-[980px]:min-w-0 max-[980px]:px-1.5 disabled:cursor-not-allowed disabled:text-slate-600 ${ne===e.id?`bg-[#11a4d4]/10 text-[#11a4d4]`:`text-slate-400 hover:text-[#11a4d4] disabled:hover:text-slate-600`}`,children:e.label},e.id)}),p?.map(e=>{let t=e.active??ne===e.id;return(0,R.jsx)(`button`,{type:`button`,onClick:()=>{e.disabled||e.onSelect()},disabled:e.disabled,title:e.description??e.label,"aria-label":e.disabled?`${e.label} view unavailable`:`Switch to ${e.label} view`,"aria-pressed":t,className:`min-w-20 px-2.5 py-1 text-[11px] font-bold tracking-wide max-[980px]:min-w-0 max-[980px]:px-1.5 disabled:cursor-not-allowed disabled:text-slate-600 ${t?`bg-[#11a4d4]/10 text-[#11a4d4]`:`text-slate-400 hover:text-[#11a4d4] disabled:hover:text-slate-600`}`,children:e.label},e.id)})]}),h&&g?(0,R.jsx)(`button`,{type:`button`,onClick:g,title:`Enter Terminal fullscreen`,"aria-label":`Enter Terminal fullscreen`,"data-pibo-debug":`enter-terminal-fullscreen`,className:`h-8 w-8 inline-flex items-center justify-center border border-slate-700 rounded-sm text-slate-400 transition-colors hover:border-[#11a4d4] hover:text-[#11a4d4]`,children:(0,R.jsx)(Bn,{size:14})}):null,(0,R.jsx)(FA,{onClick:D,title:v?`Hide Raw Events`:`Show Raw Events`,ariaLabel:`Raw Events`,ariaControls:`raw-events-inspector`,active:v,children:(0,R.jsx)(an,{size:14})}),(0,R.jsx)(FA,{onClick:O,title:y?`Hide Thinking`:`Show Thinking`,ariaLabel:`Thinking`,active:y,children:y?(0,R.jsx)(rn,{size:14}):(0,R.jsx)(Tn,{size:14})}),y?(0,R.jsx)(FA,{onClick:k,title:b?`Collapse Thinking`:`Expand Thinking`,ariaLabel:`Thinking expansion`,active:b,children:b?(0,R.jsx)(dn,{size:14}):(0,R.jsx)(pn,{size:14})}):null]})]})}function FA({title:e,ariaLabel:t,ariaControls:n,active:r,onClick:i,children:a}){return(0,R.jsx)(`button`,{type:`button`,onClick:i,title:e,"aria-label":t,"aria-controls":n,"aria-pressed":r,className:`h-8 w-8 inline-flex items-center justify-center border rounded-sm transition-colors ${r?`border-[#11a4d4] bg-[#11a4d4]/10 text-[#11a4d4]`:`border-slate-700 text-slate-400 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:a})}function IA(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&LA(e,n)){e.count+=1,e.createdAt=n.createdAt,e.payload={...BA(e.payload)?e.payload:{},text:`${RA(e.payload)}${RA(n.payload)}`};continue}t.push({...n,count:1})}return t}function LA(e,t){if(e.type!==t.type||e.type!==`assistant_delta`&&e.type!==`thinking_delta`&&e.type!==`TEXT_MESSAGE_CONTENT`&&e.type!==`REASONING_MESSAGE_CONTENT`)return!1;let n=BA(e.payload)?e.payload:{},r=BA(t.payload)?t.payload:{};return zA(n)===zA(r)}function RA(e){return BA(e)?typeof e.text==`string`?e.text:typeof e.delta==`string`?e.delta:``:``}function zA(e){return e.eventId??e.messageId}function BA(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function VA({traceView:e,eventLimit:t,isFetching:n,visible:r,onLoadOlder:i}){let a=(0,L.useMemo)(()=>r?IA(e?.rawEvents??[]):[],[e?.rawEvents,r]);return r?(0,R.jsxs)(`aside`,{id:`raw-events-inspector`,"aria-label":`Raw Events`,className:`min-h-0 overflow-auto overscroll-contain bg-[#0e1116] border-l border-slate-800 max-[980px]:fixed max-[980px]:right-0 max-[980px]:top-0 max-[980px]:bottom-0 max-[980px]:z-40 max-[980px]:w-[320px] max-[980px]:max-w-[80vw] max-[980px]:shadow-2xl`,children:[(0,R.jsx)(`div`,{className:`h-11 px-3 border-b border-slate-800 flex items-center text-xs font-bold uppercase tracking-wider`,children:`Raw Events`}),(0,R.jsxs)(`div`,{className:`p-3 flex flex-col gap-2`,children:[e&&a.length>=t?(0,R.jsx)(`button`,{type:`button`,onClick:i,disabled:n,className:`mb-1 rounded-sm border border-slate-700 px-2 py-1 text-xs text-slate-400 hover:border-[#11a4d4] hover:text-[#11a4d4] disabled:opacity-60`,children:n?`Loading raw events…`:`Load older raw events (${a.length})`}):null,a.slice(-t).reverse().map(e=>(0,R.jsxs)(`div`,{className:`border-l-2 border-[#11a4d4] bg-[#151f24] p-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-[#11a4d4] font-mono text-[11px] mb-1`,children:[(0,R.jsx)(`span`,{children:e.type}),e.count>1?(0,R.jsxs)(`span`,{className:`text-slate-500`,children:[`x`,e.count]}):null]}),(0,R.jsx)(sd,{value:e.payload,showControls:!1})]},e.id))]})]}):null}function HA({title:e,contextKind:t,contextLabel:n,onOpenSessionWindow:r,onExit:i}){let a=t===`project`?`Project`:`Room`;return(0,R.jsxs)(`div`,{"data-pibo-debug":`terminal-fullscreen-top-bar`,className:`h-7 min-h-7 flex items-center border-b border-slate-600 bg-[#151f24]`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:[(0,R.jsxs)(`div`,{"data-pibo-debug":`session-context`,"data-pibo-context-kind":t,title:`${a}: ${n}`,"aria-label":`${a}: ${n}`,className:`flex min-w-0 max-w-[45%] shrink-0 items-center gap-1.5 px-2 font-mono text-[10px] leading-none`,children:[(0,R.jsx)(`span`,{className:`shrink-0 uppercase tracking-wide text-[#11a4d4]`,children:a}),(0,R.jsx)(`span`,{className:`truncate text-slate-300`,children:n})]}),(0,R.jsx)(`span`,{className:`shrink-0 text-slate-600`,children:`·`}),(0,R.jsx)(`div`,{className:`min-w-0 flex-1 truncate px-2 text-base font-semibold leading-none`,children:e})]}),r?(0,R.jsx)(`button`,{type:`button`,onClick:r,title:`Open selected session in new window`,"aria-label":`Open selected session in new window`,"data-pibo-debug":`open-session-window`,className:`h-full w-7 shrink-0 inline-flex items-center justify-center text-slate-400 hover:bg-[#11a4d4]/10 hover:text-[#11a4d4]`,children:(0,R.jsx)(Gn,{size:14})}):null,(0,R.jsx)(`button`,{type:`button`,onClick:i,title:`Show normal top bar`,"aria-label":`Exit Terminal fullscreen`,className:`h-full w-7 shrink-0 inline-flex items-center justify-center text-slate-400 hover:bg-[#11a4d4]/10 hover:text-[#11a4d4]`,children:(0,R.jsx)(Un,{size:14})})]})}function UA({enabled:e,onFilesDropped:t,children:n,className:r,...i}){let a=(0,L.useRef)(0),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)(0),u=c>0;(0,L.useEffect)(()=>{e||(a.current=0,s(!1))},[e]);let d=()=>{a.current=0,s(!1)},f=t=>GA(t.dataTransfer)?(t.preventDefault(),t.stopPropagation(),t.dataTransfer.dropEffect=e&&!u?`copy`:`none`,!0):!1,p=t=>{!f(t)||!e||u||(a.current+=1,s(!0))},m=e=>{f(e)},h=e=>{!f(e)||a.current===0||(a.current=Math.max(0,a.current-1),a.current===0&&s(!1))},g=async n=>{if(!f(n)||(d(),!e||u))return;let r=KA(n.dataTransfer);if(r.length){l(r.length);try{await t(r)}finally{l(0)}}},_=u?`uploading`:o?`drag-active`:`idle`;return(0,R.jsxs)(`main`,{...i,"data-pibo-file-drop-state":_,className:`relative ${r??``}`,onDragEnter:p,onDragOver:m,onDragLeave:h,onDragEnd:d,onDrop:g,children:[n,o||u?(0,R.jsx)(WA,{uploadingFileCount:c}):null]})}function WA({uploadingFileCount:e}){let t=e>0;return(0,R.jsx)(`div`,{"data-pibo-debug":`terminal-file-drop-overlay`,"data-pibo-state":t?`uploading`:`drag-active`,role:`status`,"aria-live":`polite`,className:`pointer-events-none absolute inset-0 z-40 grid place-items-center bg-[#071015]/90 p-6 backdrop-blur-[2px]`,children:(0,R.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center rounded-sm border border-dashed border-[#11a4d4] bg-[#0e1116]/95 px-8 py-7 text-center shadow-2xl shadow-black/50`,children:[t?(0,R.jsx)(Rn,{size:36,className:`mb-3 animate-spin text-[#11a4d4]`,"aria-hidden":`true`}):(0,R.jsx)(nr,{size:36,className:`mb-3 text-[#11a4d4]`,"aria-hidden":`true`}),(0,R.jsx)(`span`,{className:`text-sm font-semibold text-slate-100`,children:t?`Uploading ${e} file${e===1?``:`s`}…`:`Drop files to upload`}),(0,R.jsx)(`span`,{className:`mt-1 text-xs leading-5 text-slate-400`,children:t?`Saving to the Pibo uploads directory`:`Images and other files will be attached to your next message.`})]})})}function GA(e){return Array.from(e.types).includes(`Files`)||Array.from(e.items).some(e=>e.kind===`file`)}function KA(e){return Array.from(e.files)}function qA({hideComposer:e=!1,projectModulePanel:t}){return!e&&!t}function JA({selectedPiboSessionId:e,selectedRoomId:t,fallbackRoomId:n,sessionViewId:r,loadingTrace:i,roomNavigationPending:a=!1,sessionNavigationPending:o=!1,traceError:s,showRawEvents:c,currentTraceView:l,rawEventLimit:u,tracePageFetching:d,onLoadMoreRawEvents:f,terminalFullscreen:p,fullscreenTopBar:m,fullscreenContent:h,hideComposer:g=!1,terminalFileDropEnabled:_,onTerminalFilesDropped:v,onOpenSessionWindow:y,onExitTerminalFullscreen:b,headerProps:x,projectSessionCreatePanel:S,workflowStartPanel:C,projectModulePanel:w,currentSessionView:T,sessionViewProps:E,webAnnotationsPanelRendered:D,webAnnotationsPanelProps:O,runtimeRequestPanel:k,composerProps:ee}){let A=a||o&&!l||i;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(UA,{enabled:_,onFilesDropped:v,"data-pibo-debug":`chat-shell`,"data-pibo-session-id":e??void 0,"data-pibo-room-id":t??n??void 0,"data-pibo-view-id":r,"data-pibo-state":a?`room-loading`:o?`session-loading`:i?`loading`:s?`error`:e?`ready`:`empty`,"data-pibo-terminal-fullscreen":p?`true`:`false`,className:`min-h-0 h-full flex flex-col`,children:[p?m??(0,R.jsx)(HA,{title:x.title,contextKind:x.contextKind,contextLabel:x.contextLabel,onOpenSessionWindow:y,onExit:b}):(0,R.jsx)(PA,{...x}),!p&&S?(0,R.jsx)(`div`,{className:`border-b border-slate-800 bg-[#101d22] px-4 py-3`,children:S}):null,!p&&C?(0,R.jsx)(`div`,{className:`border-b border-slate-800 bg-[#101d22] px-4 py-3`,children:C}):null,p&&h?h:!p&&w?w:A?(0,R.jsx)(YA,{label:a?`Loading room`:`Loading session`}):s&&!l?(0,R.jsx)(`div`,{className:`min-h-0 flex-1 p-4 text-sm text-red-200`,children:s}):T.render({...E,terminalFullscreen:p}),!p&&D?(0,R.jsx)(mA,{...O}):null,k,qA({hideComposer:g,projectModulePanel:w})?(0,R.jsx)(Nk,{...ee}):null]}),(0,R.jsx)(VA,{traceView:l,eventLimit:u,isFetching:d,visible:c&&!p,onLoadOlder:f})]})}function YA({label:e}){return(0,R.jsx)(`section`,{"data-pibo-debug":`room-navigation-loading`,className:`relative min-w-0 flex-1 overflow-hidden bg-[#0b0b0b] text-[#d4d4d4]`,"aria-live":`polite`,"aria-label":e,children:(0,R.jsx)(`div`,{className:`min-h-0 h-full overflow-hidden font-mono text-[12px] leading-[1.45]`,children:(0,R.jsxs)(`div`,{className:`px-4`,children:[(0,R.jsx)(`div`,{className:`group border-b border-[#141414] py-2`,children:(0,R.jsxs)(`div`,{className:`grid grid-cols-[1.9rem_minmax(0,1fr)] gap-2 leading-[1.45]`,children:[(0,R.jsx)(`span`,{className:`flex items-center text-[#38bdf8]`,children:(0,R.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-[#38bdf8] animate-pulse`})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`font-semibold text-[#d4d4d4]`,children:e}),(0,R.jsx)(`span`,{className:`h-2 w-24 rounded-sm bg-[#262626] animate-pulse`})]})]})}),[{kind:`tool`,lines:5},{kind:`markdown`,lines:4},{kind:`command`,lines:4},{kind:`tool`,lines:3},{kind:`markdown`,lines:5}].map((e,t)=>(0,R.jsx)(XA,{kind:e.kind,lineCount:e.lines},t))]})})})}function XA({kind:e,lineCount:t}){let n=e===`command`,r=e===`markdown`;return(0,R.jsx)(`div`,{className:`group border-b border-[#141414] py-2 animate-pulse ${n?`bg-[#f59e0b]/5`:``}`,"aria-hidden":`true`,children:Array.from({length:t}).map((e,i)=>(0,R.jsxs)(`div`,{className:`grid grid-cols-[1.9rem_minmax(0,1fr)] gap-2 leading-[1.45]`,children:[(0,R.jsx)(`span`,{className:`flex items-center text-[#737373]`,children:i===0&&!r?(0,R.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full ${n?`bg-[#f59e0b]`:`bg-[#22c55e]`}`}):i>0&&!r?(0,R.jsx)(`span`,{className:`text-[10px]`,children:`L`}):null}),(0,R.jsx)(`span`,{className:`min-w-0 py-[3px]`,children:i===0?(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`h-[13px] rounded-sm ${r?`w-56 bg-[#d4d4d4]/45`:n?`w-28 bg-[#f59e0b]/65`:`w-24 bg-[#22c55e]/65`}`}),r?null:(0,R.jsx)(`span`,{className:`h-[13px] w-64 rounded-sm bg-[#262626]`})]}):(0,R.jsx)(`span`,{className:`block h-[10px] rounded-sm bg-[#262626] ${i===t-1?`w-[42%]`:i%2==0?`w-[72%]`:`w-[58%]`}`})})]},i))})}function ZA(e,t,n,r){if(!QA(t))return;let i=tj(n),a=r.get(e)?.filter(e=>t===`pibo_agents_send_message`?e.metadata?.subagentToolName===t&&(!i||e.metadata?.subagentName===i):e.metadata?.subagentToolName===t)??[],o=nj(n);return o?a.find(e=>e.metadata?.threadKey===o)?.id:a.length===1?a[0].id:void 0}function QA(e){return e===`pibo_agents_send_message`||e.startsWith(`pibo_subagent_`)}function $A(e){return e===`pibo_agents_send_message`?`agent`:e.slice(14)}function ej(e){return`args`in e&&e.args&&typeof e.args==`object`&&!Array.isArray(e.args)?e.args:void 0}function tj(e){let t=ej(e)?.name;return typeof t==`string`&&t.trim()?t.trim():void 0}function nj(e){let t=ej(e)?.threadKey;return typeof t==`string`&&t.trim()?t.trim():void 0}function rj(e,t,n,r){let i=aj(e,t,n,r);if(!i)return;let a=e.children.find(e=>e.id===i.id);if(a){sj(a,i),a.runId=i.runId??a.runId;return}e.children.push(i)}function ij(e){let t=new Map;for(let n of uT(e)){let e=cj(n.output);if(!e)continue;let r=uj(e.runId);r&&t.set(r,{snapshot:e,completedAt:uj(e.completedAt)??uj(e.updatedAt)??n.completedAt})}for(let n of uT(e)){if(n.type!==`agent.async`||!n.runId)continue;let e=t.get(n.runId);if(!e)continue;let r=uj(e.snapshot.status);(r===`completed`||r===`cancelled`||r===`failed`||r===`timed_out`)&&(n.status=r===`failed`||r===`timed_out`?`error`:`done`,n.completedAt=e.completedAt??n.completedAt,n.output=e.snapshot,(r===`failed`||r===`timed_out`)&&(n.error=uj(e.snapshot.summary)??n.error))}}function aj(e,t,n,r){if(!oj(e))return;let i=cj(e.output),a=fj(e.input)?e.input:{},o=uj(i?.toolName)??uj(a.toolName)??r?.title;if(!o||!QA(o))return;let s=a.arguments,c=uj(r?.summary)??(fj(s)?uj(s.name):void 0)??$A(o),l=uj(i?.runId),u=uj(i?.status),d=uj(i?.completionPolicy)??uj(a.completionPolicy);return{id:`${e.id}:async-agent`,parentId:e.id,piboSessionId:t,eventId:e.eventId,toolCallId:e.toolCallId,runId:l,type:`agent.async`,title:c,status:dj(e,u),startedAt:r?.startedAt??n??e.startedAt,completedAt:u===`completed`||u===`cancelled`||u===`failed`||u===`timed_out`?e.completedAt:void 0,summary:`Started by ${e.title}`,input:{startedBy:e.title,startToolCallId:e.toolCallId,toolName:o,subagentName:c,runId:l,completionPolicy:d,arguments:s,threadKey:fj(r?.input)?r.input.threadKey:void 0},output:i,error:e.error,linkedPiboSessionId:r?.linkedPiboSessionId??e.linkedPiboSessionId,source:e.source,stableKey:l?`async-agent:${l}`:`${e.stableKey??e.id}:async-agent`,orderKey:tT(e.orderKey,`agent.async`),children:[]}}function oj(e){return e.type===`tool.call`&&e.title===`pibo_run_start`}function sj(e,t){e.status=t.status,e.summary=t.summary??e.summary,e.input=t.input??e.input,e.output=t.output??e.output,e.error=t.error??e.error,e.completedAt=t.completedAt??e.completedAt,e.linkedPiboSessionId=t.linkedPiboSessionId??e.linkedPiboSessionId}function cj(e){if(fj(e)){if(lj(e))return e;if(fj(e.details)&&lj(e.details))return e.details}}function lj(e){return typeof e.runId==`string`&&typeof e.toolName==`string`}function uj(e){return typeof e==`string`?e:void 0}function dj(e,t){return e.status===`error`||t===`failed`?`error`:t===`completed`||t===`cancelled`?`done`:`running`}function fj(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function pj(e){let t=(e??``).trim();if(!t.startsWith(`<pibo_run_notification>`)||!t.endsWith(`</pibo_run_notification>`))return;let n=t.slice(23,t.length-24).trim();try{let e=JSON.parse(n);return!e||typeof e!=`object`||Array.isArray(e)?void 0:e}catch{return}}function mj(e){let t=hj(e.notification),n=t.length===1?t[0]:void 0,r=_j(e.notification.failed)+_j(e.notification.timedOut),i=_j(e.notification.running);return{id:e.id,entryId:e.entryId,piboSessionId:e.piboSessionId,eventId:e.eventId,runId:typeof n?.runId==`string`?n.runId:void 0,type:`yielded.run`,title:`Run Notification`,status:r>0?`error`:i>0?`running`:`done`,startedAt:e.startedAt,summary:vj(e.notification),output:e.notification,source:e.source,stableKey:e.stableKey??e.id,orderKey:e.orderKey,children:[]}}function hj(e){return[...gj(e.completed),...gj(e.failed),...gj(e.timedOut),...gj(e.cancelled),...gj(e.running)]}function gj(e){return Array.isArray(e)?e.filter(yj):[]}function _j(e){return Array.isArray(e)?e.length:0}function vj(e){let t=[[_j(e.completed),`completed`],[_j(e.failed),`failed`],[_j(e.timedOut),`timed out`],[_j(e.cancelled),`cancelled`],[_j(e.running),`running`]].filter(([e])=>Number(e)>0).map(([e,t])=>`${e} ${t}`);return t.length?t.join(`, `):`No yielded run updates`}function yj(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function bj(e,t,n,r,i,a,o,s,c){let l=r.payload;if(l.type===`message_started`&&l.source===`user`&&l.eventId){let t=uT([...e]).find(e=>e.type===`user.message`&&Mj(e.source)&&e.eventId===l.eventId);t&&Cj(t,r,l)}let u=o.mode===`none`?void 0:jj(e,r);if(u){Cj(u,r,l),l.type===`message_steered`&&l.activeEventId&&(u.parentId=tM(l.activeEventId));return}if((o.mode===`native`&&Jj(l)||o.mode===`product`&&qj(l))&&Xj(l,o)&&!Yj(l,s)){Sj(t,r,l);return}if(Zj(l,o,c)){Sj(t,r,l);return}if(l.type===`assistant_delta`){Bj(e,t,l,c,r.createdAt,r.eventSequence,r.streamId,r.streamFrameIndex,r.traceSource,r.id);return}if(l.type===`thinking_delta`){Uj(e,t,l,c,r.createdAt,r.eventSequence,r.streamId,r.streamFrameIndex,r.traceSource,r.id);return}if(l.type===`assistant_message`){let i=Tj(n,l,r.createdAt,r.eventSequence,r.streamId,r.streamFrameIndex,r.traceSource,r.id),a=t.get(i.id)??Vj(t,i);if(a){Hj(a,i);return}e.push(i),t.set(i.id,i);return}let d=zj(n,l,i,a,c,r.createdAt,r.eventSequence,r.streamId,r.streamFrameIndex,r.traceSource,r.id);if(d){if(wj(d,l,r.storedPayloadRef),d.type===`user.message`&&d.status===`running`&&!d.parentId&&l.type===`message_steered`){let e=[...t.values()].reverse().find(e=>e.type===`agent.turn`&&e.status===`running`);e&&(d.parentId=e.id)}if(d.type===`agent.turn`&&d.eventId){let e=[...t.values()].find(e=>e.type===`agent.turn`&&e.eventId===d.eventId);if(e){e.status=d.status,e.completedAt=d.completedAt??e.completedAt;return}}if(d.type===`assistant.message`){let e=t.get(d.id)??Vj(t,d);if(e){Hj(e,d);return}}if(d.type===`execution.compaction`){let t=pM(e);if(t){mM(t,d);return}}if(d.type===`model.reasoning`){let e=t.get(d.id)??Vj(t,d);if(e){Wj(e,d);return}}if(d.type===`agent.delegation`&&!d.toolCallId&&d.linkedPiboSessionId){let e=cM([...t.values()],d);if(e){sM(e,d);return}}if(d.toolCallId){let e=t.get(d.id)??xj(t,d,l);if(e){if(oj(e)&&d.type===`agent.delegation`){rj(e,n,r.createdAt,d);return}oM(e,d),rj(e,n,r.createdAt);return}}if(d.eventId){let e=t.get(d.id);if(e){d.type===`user.message`?(e.status=d.status,e.parentId=d.parentId??e.parentId,e.summary=d.summary??e.summary,e.output=d.output??e.output):d.type===`execution.command`&&(e.status=d.status,e.output=d.output??e.output,e.error=d.error??e.error,e.completedAt=d.completedAt??e.completedAt);return}}Ej(d,t),rj(d,n,r.createdAt),e.push(d);for(let e of uT([d]))t.set(e.id,e)}}function xj(e,t,n){if(`eventId`in n&&n.eventId)return;let r=[...e.values()].filter(e=>e.toolCallId===t.toolCallId&&(e.type===`tool.call`||e.type===`tool.result`||e.type===`agent.delegation`));return r.length===1?r[0]:void 0}function Sj(e,t,n){let r=eM(n,_M(t.eventSequence,t.streamId,n,t.id)),i=`eventId`in n&&typeof n.eventId==`string`?n.eventId:void 0,a=[...e.values()].find(e=>e.stableKey===r||`toolCallId`in n&&typeof n.toolCallId==`string`&&e.toolCallId===n.toolCallId&&(!i||!e.eventId||e.eventId===i));a&&Cj(a,t,n)}function Cj(e,t,n){let r=t.renderSequence??n.renderSequence,i=t.eventSequence??t.streamId;(r!==void 0||i!==void 0)&&(e.orderKey={...e.orderKey??Qw(i,$j(n.type)),...i===void 0?{}:{turnSeq:i,eventSequence:i},...r===void 0?{}:{renderSequence:r}})}function wj(e,t,n){n&&((t.type===`tool_call`||t.type===`tool_execution_started`)&&(e.payloadRefs={...e.payloadRefs,input:n}),(t.type===`tool_execution_finished`||t.type===`tool_execution_updated`)&&(e.payloadRefs={...e.payloadRefs,output:n}))}function Tj(e,t,n,r,i,a,o,s){let c=typeof t.eventId==`string`?t.eventId:void 0,l=rM(t),u=_M(r,i,t,s);return{id:l?nM(l):`event:${t.type}:${u}`,piboSessionId:e,eventId:c,parentId:c?tM(c):void 0,type:`assistant.message`,title:`Agent Message`,status:`done`,startedAt:n,completedAt:n,summary:t.text,output:t.text,source:`event-log`,stableKey:l?`assistant:${l}`:eM(t,u),orderKey:Qj(r,t.type,i,a,o,t.renderSequence,n),children:[]}}function Ej(e,t){if(e.type!==`execution.command`||e.parentId&&t.has(e.parentId))return;let n=[...t.values()].filter(n=>{if(n.type!==`agent.turn`||!n.startedAt||!e.startedAt||n.startedAt>e.startedAt)return!1;let r=Dj(n,t);return r===void 0||e.startedAt<=r}).sort(sT).at(-1);n&&(e.parentId=n.id)}function Dj(e,t){return e.completedAt?e.completedAt:[...t.values()].filter(t=>t.type===`error`&&t.eventId!==void 0&&t.eventId===e.eventId&&t.startedAt!==void 0).sort(sT).at(0)?.startedAt}function Oj(e){return e.some(e=>{let t=e.payload.type;return t!==`assistant_delta`&&t!==`thinking_delta`})}function kj(e){if(e.type===`assistant_delta`){if(e.text.length===0)return;let t=rM(e);return t?nM(t):void 0}if(e.type===`thinking_delta`){if(e.text.length===0)return;let t=aM(e);return t?iM(t):void 0}}function Aj(e,t){return!!jj(e,t)}function jj(e,t){let n=t.payload;if(n.type!==`message_queued`&&n.type!==`message_steered`||n.source!==`user`)return;let r=typeof n.eventId==`string`?n.eventId:void 0,i=r??t.eventId,a=t.id?`instance:${t.id}`:bM(n),o=`event:${n.type}:${r??a}`,s=eM(n,a),c=typeof n.text==`string`?n.text:void 0,l=uT([...e]).filter(e=>e.type===`user.message`&&Mj(e.source));return l.find(e=>Nj(e,o,s,i))||l.find(e=>!Pj(e)&&!!(c&&Ij(e)===c))}function Mj(e){return e===`transcript`||e===`product-history`}function Nj(e,t,n,r){return e.id===t||e.stableKey===n?!0:r?e.entryId===r||e.stableKey===`entry:${r}`||[e.id,e.stableKey].some(e=>Fj(e)===r):!1}function Pj(e){return[e.id,e.stableKey].some(e=>Fj(e)!==void 0)}function Fj(e){for(let t of[`event:message_queued:`,`event:message_steered:`])if(e?.startsWith(t))return e.slice(t.length)}function Ij(e){if(typeof e.output==`string`)return e.output;if(typeof e.summary==`string`)return e.summary}function Lj(e){if(e.streamId!==void 0){let t=e.payload;return e.streamFrameIndex===void 0?`stream:${e.streamId}:${t.type}`:`stream:${e.streamId}:${e.streamFrameIndex}:${t.type}`}return e.eventSequence===void 0?`id:${e.id}`:`sequence:${e.piboSessionId??``}:${e.eventSequence}`}function Rj(e,t){let n=t;for(let t of e)t.streamId!==void 0&&(n=n===void 0?t.streamId:Math.max(n,t.streamId));return n}function zj(e,t,n,r,i,a,o,s,c,l,u){let d=`eventId`in t&&typeof t.eventId==`string`?t.eventId:void 0,f=_M(o,s,t,u),p=`event:${t.type}:${d??f}`,m=d?tM(d):void 0,h={id:p,piboSessionId:e,eventId:d,startedAt:a,source:`event-log`,stableKey:eM(t,f),orderKey:Qj(o,t.type,s,c,l,t.renderSequence,a),children:[]};switch(t.type){case`message_queued`:case`message_steered`:{let n=pj(t.text);return t.source===`service`&&n?mj({id:p,piboSessionId:e,eventId:d,startedAt:a,source:`event-log`,stableKey:d?`run-notification:${d}`:p,orderKey:Qj(o,t.type,s,c,l,t.renderSequence,a),notification:n}):{...h,...t.type===`message_steered`&&t.activeEventId?{parentId:tM(t.activeEventId)}:{},type:`user.message`,title:`User Message`,status:Gj(t)?`running`:`done`,summary:t.text,output:t.text}}case`message_started`:case`message_finished`:return{...h,id:d?tM(d):p,type:`agent.turn`,startedAt:t.type===`message_started`?a:void 0,title:`Agent Turn`,status:t.type===`message_finished`||i!==`running`?`done`:`running`,completedAt:t.type===`message_finished`?a:void 0,stableKey:d?`turn:${d}`:h.stableKey};case`thinking_finished`:{if(!hM(t.text))return;let e=aM(t);return{...h,id:e?iM(e):p,parentId:m,type:`model.reasoning`,title:`Thinking`,status:`done`,summary:t.text,output:t.text,stableKey:e?`reasoning:${e}`:h.stableKey}}case`assistant_message`:{let e=rM(t);return{...h,id:e?nM(e):p,parentId:m,type:`assistant.message`,title:`Agent Message`,status:`done`,completedAt:a,summary:t.text,output:t.text,stableKey:e?`assistant:${e}`:h.stableKey}}case`tool_call`:case`tool_execution_started`:case`tool_execution_updated`:case`tool_execution_finished`:{let o=vM(t),s=QA(t.toolName),c=r.get(o)??(s?ZA(e,t.toolName,t,n):void 0);return{...h,id:o,parentId:m,toolCallId:t.toolCallId,toolInvocationOrdinal:t.toolInvocationOrdinal??0,intent:t.intent,type:s?`agent.delegation`:`tool.call`,title:t.toolName,status:t.type===`tool_execution_finished`?t.isError?`error`:`done`:i===`running`&&(t.type===`tool_execution_started`||t.type===`tool_execution_updated`)?`running`:`done`,completedAt:t.type===`tool_execution_finished`?a:void 0,input:`args`in t?t.args:void 0,output:t.type===`tool_execution_finished`?t.result:t.type===`tool_execution_updated`?t.partialResult:void 0,error:t.type===`tool_execution_finished`&&t.isError?gM(t.result):void 0,linkedPiboSessionId:c,stableKey:o,children:[]}}case`subagent_session`:{let e=yM(t.childPiboSessionId),n=_M(o,s,t,u),r=t.toolCallId?vM(t):void 0;return{...h,id:r??`event:subagent_session:${n}`,eventId:d,toolCallId:t.toolCallId,toolInvocationOrdinal:t.toolInvocationOrdinal,type:`agent.delegation`,title:t.toolName,status:i===`running`?`running`:`done`,summary:t.subagentName,input:{subagentName:t.subagentName,threadKey:t.threadKey},linkedPiboSessionId:e,stableKey:r||(e?`subagent:${e}`:`subagent:event:${n}`),children:[]}}case`execution_result`:return Kj(t.action)?void 0:{...h,type:`execution.command`,title:t.action,status:`done`,input:{action:t.action},output:t.result};case`compaction_start`:{let e=_M(o,s,t,u);return{...h,id:`event:compaction:${e}`,type:`execution.compaction`,title:`compact`,status:`running`,summary:`Compacting`,input:{reason:t.reason},stableKey:`compaction:${e}`}}case`compaction_end`:{let e=_M(o,s,t,u);return{...h,id:`event:compaction:end:${e}`,type:`execution.compaction`,title:`compact`,status:t.errorMessage?`error`:`done`,completedAt:a,summary:t.aborted?`Compaction skipped`:t.errorMessage?`Compaction failed`:`Compacted`,input:{reason:t.reason},output:t.result,error:t.errorMessage,stableKey:`compaction:${e}`}}case`session_error`:return{...h,type:`error`,title:`Session Error`,status:`error`,summary:t.errorDetails?.userMessage,input:t.errorDetails,error:t.error,output:t.error};default:return}}function Bj(e,t,n,r,i,a,o,s,c,l){if(typeof n.text!=`string`||n.text.length===0)return;let u=rM(n),d=_M(a,o,n,l),f=u?nM(u):`event:assistant_delta:${d}`,p=t.get(f);if(p){let e=`${typeof p.output==`string`?p.output:``}${n.text}`;p.status=r===`running`?`running`:`done`,p.summary=e,p.output=e;return}let m={id:f,parentId:n.eventId?tM(n.eventId):void 0,piboSessionId:n.piboSessionId,eventId:n.eventId,type:`assistant.message`,title:`Agent Message`,status:r===`running`?`running`:`done`,startedAt:i,summary:n.text,output:n.text,source:`event-log`,stableKey:u?`assistant:${u}`:f,orderKey:Qj(a,n.type,o,s,c,n.renderSequence,i),children:[]};e.push(m),t.set(m.id,m)}function Vj(e,t){if(t.stableKey)return[...e.values()].find(e=>e.type===t.type&&e.stableKey===t.stableKey)}function Hj(e,t){e.status=t.status,e.summary=t.summary??e.summary,e.output=t.output??e.output,e.error=t.error??e.error,e.completedAt=t.completedAt??e.completedAt}function Uj(e,t,n,r,i,a,o,s,c,l){if(typeof n.text!=`string`||n.text.length===0)return;let u=aM(n),d=_M(a,o,n,l),f=u?iM(u):`event:thinking_delta:${d}`,p=u?`reasoning:${u}`:f,m=t.get(f)??[...t.values()].find(e=>e.type===`model.reasoning`&&e.stableKey===p);if(m){let e=`${typeof m.output==`string`?m.output:``}${n.text}`;m.status=r===`running`?`running`:`done`,m.summary=e,m.output=e;return}let h={id:f,parentId:n.eventId?tM(n.eventId):void 0,piboSessionId:n.piboSessionId,eventId:n.eventId,type:`model.reasoning`,title:`Thinking`,status:r===`running`?`running`:`done`,startedAt:i,summary:n.text,output:n.text,source:`event-log`,stableKey:p,orderKey:Qj(a,n.type,o,s,c,n.renderSequence,i),children:[]};e.push(h),t.set(h.id,h)}function Wj(e,t){e.status=t.status,e.summary=t.summary??e.summary,e.output=t.output??e.output,e.completedAt=t.completedAt??e.completedAt}function Gj(e){return(e.type===`message_queued`||e.type===`message_steered`)&&`clientTxnId`in e&&typeof e.clientTxnId==`string`}function Kj(e){return e===`session.fork`||e===`session.clone`||e===`session.switch`}function qj(e){return e.type===`assistant_delta`||e.type===`assistant_message`}function Jj(e){return e.type===`message_queued`||e.type===`message_started`||e.type===`message_finished`||e.type===`assistant_delta`||e.type===`assistant_message`||e.type===`thinking_started`||e.type===`thinking_delta`||e.type===`thinking_finished`}function Yj(e,t){let n=`eventId`in e&&typeof e.eventId==`string`?e.eventId:void 0;return!!(n&&t.has(n))}function Xj(e,t){let n=`eventId`in e&&typeof e.eventId==`string`?e.eventId:void 0;return n===void 0||t.eventIds.has(n)}function Zj(e,t,n){return t.mode!==`native`||n===`running`||e.type!==`tool_call`&&e.type!==`tool_execution_started`&&e.type!==`tool_execution_updated`&&e.type!==`tool_execution_finished`||typeof e.intent==`string`&&e.intent.trim()?!1:t.toolCallIds.has(e.toolCallId)||Xj(e,t)}function Qj(e,t,n,r,i,a,o){let s=i===`live`?$w(n,r,$j(t)):Qw(e??n,$j(t)),c=(a!==void 0&&a>=9466848e8?Math.floor(a/1e3):void 0)??(o&&Number.isFinite(Date.parse(o))?Date.parse(o):void 0);return{...s,...a===void 0?{}:{renderSequence:a},...c===void 0?{}:{chronologyMs:c}}}function $j(e){switch(e){case`message_queued`:case`message_steered`:return`user.message`;case`message_started`:case`message_finished`:return`agent.turn`;case`thinking_started`:case`thinking_delta`:case`thinking_finished`:return`model.reasoning`;case`tool_call`:case`tool_execution_started`:case`tool_execution_updated`:case`tool_execution_finished`:case`subagent_session`:return`tool.call`;case`assistant_delta`:case`assistant_message`:return`assistant.message`;case`execution_result`:return`execution.command`;case`compaction_start`:case`compaction_end`:return`execution.compaction`;case`session_error`:return`error`;default:return`execution.command`}}function eM(e,t){let n=`eventId`in e&&typeof e.eventId==`string`?e.eventId:void 0;if(e.type===`tool_call`||e.type===`tool_execution_started`||e.type===`tool_execution_updated`||e.type===`tool_execution_finished`||e.type===`subagent_session`&&e.toolCallId)return vM(e);if(n&&(e.type===`message_started`||e.type===`message_finished`))return`turn:${n}`;if(e.type===`thinking_started`||e.type===`thinking_delta`||e.type===`thinking_finished`){let t=aM(e);if(t)return`reasoning:${t}`}if(e.type===`assistant_delta`||e.type===`assistant_message`){let t=rM(e);if(t)return`assistant:${t}`}return`event:${e.type}:${n??t??bM(e)}`}function tM(e){return`event:message:${e}`}function nM(e){return`event:assistant:${e}`}function rM(e){if(!e.eventId)return;let t=typeof e.assistantIndex==`number`?e.assistantIndex:e.contentIndex;return typeof t==`number`?`${e.eventId}:assistant:${t}`:e.eventId}function iM(e){return`event:thinking:${e}`}function aM(e){if(!e.eventId)return;let t=typeof e.thinkingIndex==`number`?e.thinkingIndex:e.contentIndex;return typeof t==`number`?`${e.eventId}:thinking:${t}`:e.eventId}function oM(e,t){e.status=t.status,e.intent=t.intent??e.intent,e.summary=t.summary??e.summary,e.input=dM(e,t),e.output=t.output??e.output,e.error=t.error??e.error,e.completedAt=t.completedAt??e.completedAt,e.payloadRefs={...e.payloadRefs,...t.payloadRefs},e.linkedPiboSessionId=t.linkedPiboSessionId??e.linkedPiboSessionId}function sM(e,t){e.summary=t.summary??e.summary,e.input=dM(e,t),e.linkedPiboSessionId=t.linkedPiboSessionId??e.linkedPiboSessionId}function cM(e,t){let n=[...e].reverse().filter(e=>e.type===`agent.delegation`),r=lM(t),i=n.filter(e=>!e.linkedPiboSessionId&&lM(e)===r),a=uM(t.input);return(a?i.find(e=>uM(e.input)===a):i.length===1?i[0]:void 0)||n.find(e=>e.linkedPiboSessionId===t.linkedPiboSessionId)}function lM(e){let t=fM(e.input)?e.input:void 0,n=typeof t?.name==`string`?t.name:typeof t?.subagentName==`string`?t.subagentName:e.summary??e.title;return typeof n==`string`&&n.replace(/^pibo_agents_send_message$/,`agent`).replace(/^pibo_subagent_/,``).trim().toLowerCase()||void 0}function uM(e){if(!(!fM(e)||typeof e.threadKey!=`string`))return e.threadKey.trim()||void 0}function dM(e,t){return e.type!==`agent.delegation`||!fM(e.input)||!fM(t.input)?t.input??e.input:Object.fromEntries(Object.entries({...e.input,...t.input}).filter(([,e])=>e!==void 0))}function fM(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function pM(e){return uT([...e]).reverse().find(e=>e.type===`execution.compaction`&&e.status===`running`)}function mM(e,t){e.status=t.status,e.summary=t.summary??e.summary,e.input=t.input??e.input,e.output=t.output??e.output,e.error=t.error??e.error,e.completedAt=t.completedAt??e.completedAt}function hM(e){return typeof e==`string`&&e.trim().length>0}function gM(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function _M(e,t,n,r){return e===void 0?t===void 0?r?`instance:${r}`:bM(n):`stream:${t}`:`sequence:${e}`}function vM(e){let t=e.eventId??(e.renderSequence===void 0?`unscoped`:`render:${e.renderSequence}`);return gT(e.toolCallId??`unlinked`,t,e.toolInvocationOrdinal??0)}function yM(e){if(typeof e==`string`)return e.trim()||void 0}function bM(e){let t=xM.get(e);if(t)return t;let n=`live:${++SM}`;return xM.set(e,n),n}var xM=new WeakMap,SM=0;function CM(e){let t=new Map;for(let n of e)t.set(n.id,n);let n=[];for(let r of e){if(!r.parentId){n.push(r);continue}let e=t.get(r.parentId);e?e.children.push(r):n.push(r)}return aT(n)}function wM(e,t,n){return t.map(t=>TM(e,t,n))}function TM(e,t,n){let r=e.get(t.id);if(t.children.length===0){let e=r!==void 0&&r.children.length===0;return r&&e&&(n&&!n.has(t.id)||EM(r,t))?r:e?{...t,children:r.children}:{...t,children:[]}}let i=t.children.map(t=>TM(e,t,n)),a=r!==void 0&&r.children.length===i.length&&r.children.every((e,t)=>e===i[t]);return r&&a&&(n&&!n.has(t.id)||EM(r,t))?r:a?{...t,children:r?.children??i}:{...t,children:i}}function EM(e,t){return e.id===t.id&&e.parentId===t.parentId&&e.entryId===t.entryId&&e.piboSessionId===t.piboSessionId&&e.eventId===t.eventId&&e.toolCallId===t.toolCallId&&e.toolInvocationOrdinal===t.toolInvocationOrdinal&&e.runId===t.runId&&e.intent===t.intent&&e.type===t.type&&e.title===t.title&&e.status===t.status&&e.startedAt===t.startedAt&&e.completedAt===t.completedAt&&e.durationMs===t.durationMs&&e.summary===t.summary&&e.input===t.input&&e.output===t.output&&e.error===t.error&&e.linkedPiboSessionId===t.linkedPiboSessionId&&e.source===t.source&&e.stableKey===t.stableKey&&DM(e.orderKey,t.orderKey)}function DM(e,t){return e===t?!0:!e||!t?!1:e.sourceRank===t.sourceRank&&e.turnSeq===t.turnSeq&&e.renderSequence===t.renderSequence&&e.transcriptIndex===t.transcriptIndex&&e.contentPartIndex===t.contentPartIndex&&e.eventSequence===t.eventSequence&&e.streamId===t.streamId&&e.streamFrameIndex===t.streamFrameIndex&&e.phaseRank===t.phaseRank}function OM(e,t,n){if(!t.length)return e;let r=new Set(e.rawEvents.map(e=>Lj(e))),i=[];for(let e of t){let t=Lj(e);r.has(t)||(r.add(t),i.push(e))}if(!i.length)return e;let a=uT(e.nodes),o=[],s=new Map,c=new Map;for(let e of a){c.set(e.id,e);let t={...e,children:[]};o.push(t),s.set(t.id,t)}let l=new Map,u=new Map,d=new Set,f={mode:`none`,eventIds:new Set,toolCallIds:new Set},p=[],m=new Set;for(let t of i){if(Aj(o,t))continue;p.push(t);let r=kj(t.payload);m&&r?m.add(r):m=void 0,bj(o,s,e.piboSessionId,t,l,u,f,d,n)}if(!p.length)return e;let h=CM(o);Oj(p)&&ij(h);let g=wM(c,h,m);return{...e,rawEvents:e.rawEvents.length?[...e.rawEvents,...p]:p,nodes:g,latestStreamId:Rj(p,e.latestStreamId)}}function kM(e){let t=new Map;if(PM(e.nodes,t),!t.size)return e;let{nodes:n,changed:r}=FM(e.nodes,t);return r?{...e,nodes:n}:e}function AM(e){return e.some(NM)}function jM(e){let t=new Map;return RM(e,e=>{if(e.type!==`user.message`||!e.entryId)return;let n=zM(e),r=t.get(n);r?r.push(e.entryId):t.set(n,[e.entryId])}),t}function MM(e,t){if(!t.size)return;let n=new Map;RM(e,e=>{if(e.type!==`user.message`||!e.entryId)return;let t=zM(e),r=n.get(t)??new Set;r.add(e.entryId),n.set(t,r)});let r=new Map;RM(e,e=>{if(e.type!==`user.message`||e.entryId)return;let i=zM(e),a=t.get(i);if(!a?.length)return;let o=n.get(i)??new Set,s=r.get(i)??0;for(;s<a.length&&o.has(a[s]);)s+=1;let c=a[s];c&&(e.entryId=c,o.add(c),n.set(i,o),r.set(i,s+1))})}function NM(e){let t=e.payload;return!!(t&&typeof t==`object`&&!Array.isArray(t)&&`type`in t&&(t.type===`message_queued`||t.type===`message_steered`)&&`source`in t&&t.source===`user`&&`text`in t&&typeof t.text==`string`)}function PM(e,t){for(let n of e){if(n.type===`user.message`&&!LM(n)&&!IM(n)){let e=zM(n);e&&t.set(e,(t.get(e)??0)+1)}PM(n.children,t)}}function FM(e,t){let n=!1,r=[];for(let i of e){if(LM(i)){let e=zM(i),r=e?t.get(e)??0:0;if(r>0){t.set(e,r-1),n=!0;continue}}let e=FM(i.children,t);n||=e.changed,r.push(e.changed?{...i,children:e.nodes}:i)}return{nodes:n?r:e,changed:n}}function IM(e){return[e.id,e.stableKey].some(e=>e?.startsWith(`event:message_queued:`)||e?.startsWith(`event:message_steered:`))}function LM(e){return e.type===`user.message`?e.source===`event-log`&&(e.id.startsWith(`event:message_queued:`)||e.id.startsWith(`event:message_steered:`))?!0:[e.id,e.stableKey,e.eventId].filter(e=>typeof e==`string`).some(e=>e.startsWith(`optimistic:user-message:`)||e.includes(`:optimistic:user-message:`)):!1}function RM(e,t){for(let n of e)t(n),RM(n.children,t)}function zM(e){return typeof e.output==`string`?e.output:typeof e.summary==`string`?e.summary:``}function BM(e,t,n){return t&&e.set(t.piboSessionId,t),n?e.get(n)??null:null}function VM(e,t,n){t&&t.piboSessionId!==n.piboSessionId&&e.set(t.piboSessionId,t);let r=HM(t?.piboSessionId===n.piboSessionId?t:e.get(n.piboSessionId)??null,n);return r?e.set(n.piboSessionId,r):e.delete(n.piboSessionId),r}function HM(e,t){if(!e||e.piboSessionId!==t.piboSessionId)return e;let n=GM(t),r=UM(t.nodes),i=e.events.filter(e=>{let i=XM(e);if(i&&n.has(i))return!1;if(NM(e)){let t=r.get(e.payload.text)??0;if(t>0)return t===1?r.delete(e.payload.text):r.set(e.payload.text,t-1),!1}return!JM(t,e)});return i.length?{...e,events:i}:null}function UM(e){let t=new Map;for(let n of e){if(n.type===`user.message`&&qM(n)&&!WM(n)){let e=$M(n);e&&t.set(e,(t.get(e)??0)+1)}for(let[e,r]of UM(n.children))t.set(e,(t.get(e)??0)+r)}return t}function WM(e){return[e.id,e.stableKey].some(e=>e?.startsWith(`event:message_queued:`)||e?.startsWith(`event:message_steered:`))}function GM(e){let t=new Set;for(let n of e.rawEvents){let e=XM(n);e&&t.add(e)}return KM(e.nodes,t),t}function KM(e,t){for(let n of e){if(n.type===`user.message`)for(let e of[`message_queued`,`message_steered`]){let r=`event:${e}:`,i=n.id.startsWith(r)?n.id.slice(r.length):void 0;i&&t.add(`${n.piboSessionId}:${e}:${i}`),qM(n)&&n.entryId&&t.add(`${n.piboSessionId}:${e}:${n.entryId}`)}if(n.type===`assistant.message`){let e=ZM(n,`assistant:`);e&&(t.add(`${n.piboSessionId}:assistant_delta:${e}`),(qM(n)||n.completedAt!==void 0)&&t.add(`${n.piboSessionId}:assistant_message:${e}`)),qM(n)&&n.eventId&&(t.add(`${n.piboSessionId}:message_started:${n.eventId}`),t.add(`${n.piboSessionId}:message_finished:${n.eventId}`))}if(n.type===`model.reasoning`){let e=ZM(n,`reasoning:`);e&&(t.add(`${n.piboSessionId}:thinking_delta:${e}`),qM(n)&&(t.add(`${n.piboSessionId}:thinking_started:${e}`),t.add(`${n.piboSessionId}:thinking_finished:${e}`)))}if(n.toolCallId&&(n.type===`tool.call`||n.type===`tool.result`||n.type===`agent.delegation`)){let e=_T(n.id),r=e?.qualifier?gT(e.toolCallId,e.qualifier.eventId,e.qualifier.invocationOrdinal):gT(n.toolCallId,n.eventId??`unscoped`,n.toolInvocationOrdinal??0);t.add(`${n.piboSessionId}:tool_call:${r}`);let i=n.completedAt!==void 0||n.type===`tool.result`||n.status===`error`;(n.status===`running`||n.output!==void 0||i)&&t.add(`${n.piboSessionId}:tool_execution_started:${r}`),(n.output!==void 0&&!i||i)&&t.add(`${n.piboSessionId}:tool_execution_updated:${r}`),i&&t.add(`${n.piboSessionId}:tool_execution_finished:${r}`)}KM(n.children,t)}}function qM(e){return e.source===`transcript`||e.source===`product-history`}function JM(e,t){let n=t.payload;if(!n||typeof n!=`object`||Array.isArray(n))return!1;let r=`source`in n?n.source:void 0,i=`text`in n?n.text:void 0;return r!==`service`||typeof i!=`string`||!pj(i)?!1:YM(e,t)}function YM(e,t){let n=t.eventSequence;if(n===void 0||e.firstEventSequence===void 0)return!1;let r=e.lastEventSequence??e.eventCount;return r!==void 0&&n>=e.firstEventSequence&&n<=r}function XM(e){let t=e.payload;if(!t||typeof t!=`object`||Array.isArray(t))return;let n=`eventId`in t&&typeof t.eventId==`string`?t.eventId:e.eventId,r=`piboSessionId`in t&&typeof t.piboSessionId==`string`?t.piboSessionId:e.piboSessionId;if(r){if(e.type===`tool_call`||e.type===`tool_execution_started`||e.type===`tool_execution_updated`||e.type===`tool_execution_finished`){let i=`toolCallId`in t&&typeof t.toolCallId==`string`?t.toolCallId:void 0;if(!i)return;let a=QM(t,`toolInvocationOrdinal`)??0,o=n??(e.renderSequence===void 0?`unscoped`:`render:${e.renderSequence}`);return`${r}:${e.type}:${gT(i,o,a)}`}if(n){if(e.type===`assistant_delta`||e.type===`assistant_message`){let i=QM(t,`assistantIndex`)??QM(t,`contentIndex`),a=i===void 0?n:`${n}:assistant:${i}`;return`${r}:${e.type}:${a}`}if(e.type===`thinking_started`||e.type===`thinking_delta`||e.type===`thinking_finished`){let i=QM(t,`thinkingIndex`)??QM(t,`contentIndex`),a=i===void 0?n:`${n}:thinking:${i}`;return`${r}:${e.type}:${a}`}return`${r}:${e.type}:${n}`}}}function ZM(e,t){return e.stableKey?.startsWith(t)?e.stableKey.slice(t.length):e.eventId}function QM(e,t){let n=t in e?e[t]:void 0;return typeof n==`number`&&Number.isFinite(n)?n:void 0}function $M(e){return typeof e.output==`string`?e.output:e.output&&typeof e.output==`object`&&`text`in e.output&&typeof e.output.text==`string`?e.output.text:``}function eN({selectedPiboSessionId:e,reconciledBaseTraceView:t,liveTraceOverlay:n,selectedSessionStatus:r,persistedUserMessageIndexForBaseTrace:i,now:a,previousProjection:o}){if(!e||t?.piboSessionId!==e)return{traceView:null};let s=(n?.piboSessionId===e?HM(n,t):null)?.events??[];if(!s.length)return{traceView:t};let c=a?.(),l=r??`idle`,u=o?.baseTraceView===t&&o.sessionStatus===l&&s.length>=o.overlayEvents.length&&o.overlayEvents.every((e,t)=>s[t]===e),d=u?s.slice(o.overlayEvents.length):s,f=u?OM(o.traceView,d,l):OM(t,s,l),p=AM(s);p&&MM(f.nodes,i);let m=p?kM(f):f;return{traceView:m,appliedLiveEventCount:d.length,projectionCache:{baseTraceView:t,overlayEvents:s,sessionStatus:l,traceView:m},liveTraceComputeDurationMs:c!==void 0&&a?a()-c:void 0}}function tN(e,t){for(let n of e)t(n),tN(n.children,t)}function nN(e){return typeof e.output==`string`?e.output:typeof e.summary==`string`?e.summary:``}function rN(e){if(!e)return;let t=0;return tN(e.nodes,e=>{e.type===`assistant.message`&&(t+=nN(e).length)}),t}function iN({selectedPiboSessionId:e,baseTraceView:t,liveTraceOverlay:n,selectedSessionStatus:r}){let i=(0,L.useMemo)(()=>t?kM(t):null,[t]),a=(0,L.useMemo)(()=>i?jM(i.nodes):new Map,[i]),o=(0,L.useRef)(void 0),s=(0,L.useMemo)(()=>{let t=eN({selectedPiboSessionId:e,reconciledBaseTraceView:i,liveTraceOverlay:n,selectedSessionStatus:r,persistedUserMessageIndexForBaseTrace:a,previousProjection:o.current,now:Sx()?()=>performance.now():void 0});return o.current=t.projectionCache,t},[n,e,r,i,a]),c=s.traceView;return(0,L.useEffect)(()=>{!e||!c?.piboSessionId||!Sx()||(jx(c.piboSessionId,{overlayEventCount:n?.piboSessionId===c.piboSessionId?n.events.length:0,traceBaseOutputLength:rN(t),currentOutputLength:rN(c)}),s.liveTraceComputeDurationMs!==void 0&&Ox(c.piboSessionId,s.liveTraceComputeDurationMs))},[t,s.liveTraceComputeDurationMs,c,n,e]),(0,L.useEffect)(()=>{if(!c?.piboSessionId||!WS())return;let e=n?.piboSessionId===c.piboSessionId?n.events:[];XS({piboSessionId:c.piboSessionId,trigger:`trace-state:render`,baseTraceView:t,currentTraceView:c,overlayEvents:e,selectedSessionStatus:r})},[t,c,n,r]),(0,L.useEffect)(()=>{let e=()=>{if(!c?.piboSessionId||!WS())return;let e=n?.piboSessionId===c.piboSessionId?n.events:[];XS({piboSessionId:c.piboSessionId,trigger:`trace-state:tab:${document.visibilityState}`,baseTraceView:t,currentTraceView:c,overlayEvents:e,selectedSessionStatus:r})};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[t,c,n,r]),c}var aN=1e4,oN=3e5;function sN(e){return[`chat`,`trace-summary`,e]}function cN(e,t={}){let n=t.pageSize??t.eventLimit??100,r=t.beforeCursor??t.beforeSequence;return[`chat`,`trace-page`,e,t.includeRawEvents?`raw`:`compact`,t.rawEventsLimit??80,n,r===void 0?`tail`:String(r)]}function lN(e,t){if(e.piboSessionId!==t.piboSessionId)return e;let n=xN(t.rawEvents,e.rawEvents,!1),r=DN(t.nodes,e.nodes);return{...e,version:e.version,integrityStatus:pN(r)??e.integrityStatus??t.integrityStatus,nodes:r,rawEvents:n,beforeCursor:t.beforeCursor??e.beforeCursor,firstEventSequence:t.firstEventSequence??e.firstEventSequence,nextBeforeSequence:t.nextBeforeSequence,nextBeforeCursor:t.nextBeforeCursor,hasOlderEvents:t.hasOlderEvents,eventLimit:(e.eventLimit??0)+(t.eventLimit??t.pageSize??0)}}function uN(e,t){if(e.piboSessionId!==t.piboSessionId)return t;let n=dN(e.nodes,t);return{...t,integrityStatus:pN(n)??t.integrityStatus,nodes:n,rawEvents:xN(e.rawEvents,t.rawEvents,!0),beforeCursor:e.beforeCursor,firstEventSequence:e.firstEventSequence??t.firstEventSequence,nextBeforeSequence:e.nextBeforeSequence,nextBeforeCursor:e.nextBeforeCursor,hasOlderEvents:e.hasOlderEvents,eventLimit:e.eventLimit??t.eventLimit}}function dN(e,t){let n=uT([...e]),r=uT([...t.nodes]),i=new Set(r.map(e=>e.id)),a=hN(r),o=gN([...n,...r]),s=vN(r),c=yN(r),l=n.filter(e=>{if(mN(e)&&e.eventId&&a.has(e.eventId))return!1;if(i.has(e.id))return!0;if(e.type===`agent.turn`&&e.source===`event-log`&&e.eventId&&o.has(e.eventId)||_N(e))return!1;let n=e.orderKey?.eventSequence;if(n!==void 0&&t.firstEventSequence!==void 0)return n<t.firstEventSequence;let r=e.orderKey?s.get(e.orderKey.sourceRank):void 0;if(e.orderKey&&r)return nT(e.orderKey,r)<0;if(e.source===`live`||e.orderKey?.streamId!==void 0)return!1;let l=bN(e.startedAt);return l!==void 0&&c!==void 0&&l<c}),u=new Set([...l,...r].map(e=>e.id)),d=new Set(n.filter(e=>!u.has(e.id)).map(e=>e.id));return DN(fN(l,d),fN(r,d))}function fN(e,t){return e.map(e=>({...e,...e.parentId&&t.has(e.parentId)?{parentId:void 0}:{},children:[]}))}function pN(e){return uT([...e]).some(mN)?`incomplete`:void 0}function mN(e){return e.id.startsWith(`event:incomplete-turn:`)||e.stableKey?.startsWith(`incomplete-turn:`)===!0}function hN(e){return new Set(e.flatMap(e=>e.eventId&&(e.type===`agent.turn`&&e.completedAt||e.type===`error`&&e.title===`Session Error`)?[e.eventId]:[]))}function gN(e){let t=new Set;for(let n of e)(n.source===`transcript`||n.source===`product-history`)&&n.eventId&&t.add(n.eventId);return t}function _N(e){return e.source===`live`||e.orderKey?.streamId!==void 0}function vN(e){let t=new Map;for(let n of e){if(!n.orderKey)continue;let e=t.get(n.orderKey.sourceRank);(!e||nT(n.orderKey,e)<0)&&t.set(n.orderKey.sourceRank,n.orderKey)}return t}function yN(e){let t;for(let n of e){let e=bN(n.startedAt);e!==void 0&&(t=t===void 0?e:Math.min(t,e))}return t}function bN(e){if(!e)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function xN(e,t,n){if(!t.length)return[...e].sort(SN);let r=n?t.reduce((e,t)=>t.eventSequence===void 0?e:e===void 0?t.eventSequence:Math.min(e,t.eventSequence),void 0):void 0,i=new Map;for(let t of e)r!==void 0&&t.eventSequence!==void 0&&t.eventSequence>=r||i.set(EN(t),t);for(let e of t)i.set(EN(e),e);return[...i.values()].sort(SN)}function SN(e,t){return(e.eventSequence===void 0?0:1)-(t.eventSequence===void 0?0:1)||(e.eventSequence!==void 0&&t.eventSequence!==void 0?e.eventSequence-t.eventSequence:0)||wN(TN(e.createdAt),TN(t.createdAt))||CN(e.streamId,t.streamId)||CN(e.streamFrameIndex,t.streamFrameIndex)||(e.eventSequence===void 0&&t.eventSequence===void 0?CN(e.renderSequence,t.renderSequence):0)||e.id.localeCompare(t.id)||e.type.localeCompare(t.type)}function CN(e,t){return e===t?0:e===void 0?1:t===void 0?-1:e-t}function wN(e,t){return e===t?0:e===void 0?1:t===void 0?-1:e.localeCompare(t)}function TN(e){return Number.isFinite(Date.parse(e))?e:void 0}function EN(e){return e.id||`${e.eventSequence??``}:${e.type}:${e.createdAt}`}function DN(e,t){let n=new Map;for(let t of uT([...e]))n.set(t.id,{...t,children:[]});for(let e of uT([...t])){let t=n.get(e.id);n.set(e.id,{...t,...e,children:[]})}return dT([...n.values()])}function ON(e,t=[]){let n=new Map,r=[],i=e.hasOlderEvents??e.cursor.hasOlder,a=i?e.nextBeforeCursor??e.cursor.before:void 0,o=i?e.nextBeforeSequence??kN(e.cursor.before):void 0;for(let t of e.nodes)n.set(t.nodeId,AN(t));for(let t of e.nodes){let e=n.get(t.nodeId);if(!e)continue;let i=t.parentId?n.get(t.parentId):void 0;i?i.children.push(e):r.push(e)}return{piboSessionId:e.piboSessionId,piSessionId:e.piSessionId,integrityStatus:e.integrityStatus,title:e.title,version:e.version,latestStreamId:e.latestStreamId,eventCount:e.eventCount,eventLimit:e.pageSize,pageSize:e.pageSize,beforeCursor:e.cursor.before,firstEventSequence:e.firstEventSequence??kN(e.cursor.before),lastEventSequence:e.lastEventSequence??kN(e.cursor.after),nextBeforeSequence:o,nextBeforeCursor:a,hasOlderEvents:i,nodes:r,rawEvents:t}}function kN(e){if(!e)return;let t=Number.parseInt(e,10);return Number.isFinite(t)?t:void 0}function AN(e){let t=e.preview?.text,n=e.payloadRefs?.input?.preview,r=e.payloadRefs?.output?.preview??e.payloadRefs?.reasoning?.preview??t,i=e.payloadRefs?.error?.preview,a=e.inlinePayloads?.output??e.inlinePayloads?.reasoning;return{id:e.nodeId,parentId:e.parentId,entryId:e.entryId,nativeTurnId:e.nativeTurnId,piboSessionId:e.piboSessionId,eventId:e.eventId,toolCallId:e.toolCallId,runId:e.runId,intent:e.intent,type:e.type,title:e.title,status:e.status,startedAt:e.startedAt,completedAt:e.completedAt,durationMs:e.durationMs,summary:t,input:e.inlinePayloads?.input??n,output:a??r,error:typeof e.inlinePayloads?.error==`string`?e.inlinePayloads.error:i,payloadRefs:e.payloadRefs,linkedPiboSessionId:e.linkedPiboSessionId,source:e.source,stableKey:e.stableKey,orderKey:e.orderKey,children:[]}}var jN=128;function MN({selectedPiboSessionId:e,showRawEvents:t,liveTraceOverlay:n,liveTraceOverlayCacheRef:r,setLiveTraceOverlay:i}){let a=Ke(),[o,s]=(0,L.useState)(100),[c,l]=(0,L.useState)(80),[u,d]=(0,L.useState)(null),f=(0,L.useRef)(new Map),[p,m]=(0,L.useState)(void 0),[h,g]=(0,L.useState)(!1),_=(0,L.useRef)(null),v=(0,L.useRef)(new Set),y=(0,L.useMemo)(()=>e?sN(e):null,[e]),b=(0,L.useMemo)(()=>e?cN(e,{includeRawEvents:!1,rawEventsLimit:0,pageSize:100}):null,[e]),x=st({queryKey:y??[`chat`,`trace-summary`,`idle`],queryFn:async({signal:t})=>{if(!e||!y)throw Error(`Session is required`);let n=a.getQueryData(y),r=await AC(e,n?.version,{signal:t});if(r.notModified&&n)return n;if(!r.summary)throw Error(`Trace summary response missing payload.`);return r.summary},enabled:!1,staleTime:aN,gcTime:oN,refetchOnWindowFocus:!1,retry:1}),S=st({queryKey:b??[`chat`,`trace-page`,`idle`,`compact`,c,100,`tail`],queryFn:async({signal:t})=>{if(!e||!b)throw Error(`Session is required`);let n=a.getQueryData(b),r=await jC(e,{limit:100,knownVersion:n?.version,signal:t});if(r.notModified&&n)return n;if(!r.timeline)throw Error(`Trace timeline response missing payload.`);return ON(r.timeline)},enabled:!!e,staleTime:aN,gcTime:oN,refetchOnWindowFocus:!1,retry:1});(0,L.useLayoutEffect)(()=>{let t=b?a.getQueryData(b):void 0;s(100),l(80),m(void 0),g(!1),d(n=>(n&&f.current.set(n.piboSessionId,n),e?f.current.get(e)??(t?.piboSessionId===e?t:null):null)),i(t=>BM(r.current,t,e)),_.current=null,v.current=new Set},[r,a,e,i,b]);let C=st({queryKey:e?[`chat`,`trace-raw-events`,e,c,p??`tail`]:[`chat`,`trace-raw-events`,`idle`],queryFn:async({signal:t})=>{if(!e)throw Error(`Session is required`);return MC(e,{limit:c,beforeSequence:p,signal:t})},enabled:!!(e&&t),staleTime:aN,gcTime:oN,refetchOnWindowFocus:!1,retry:1});(0,L.useEffect)(()=>{let t=S.data;!t||t.piboSessionId!==e||(Sx()&&jx(t.piboSessionId,{overlayEventCount:0,traceBaseOutputLength:rN(t),traceBaseUpdated:!0}),(0,L.startTransition)(()=>{d(e=>{let n=e?.piboSessionId===t.piboSessionId?uN(e,t):t;return f.current.set(t.piboSessionId,n),n}),i(e=>VM(r.current,e,t))}))},[r,e,i,S.data]),(0,L.useEffect)(()=>{let t=u;!t||t.piboSessionId!==e||(0,L.startTransition)(()=>{i(e=>VM(r.current,e,t))})},[u,r,e,i]),(0,L.useEffect)(()=>{let t=C.data;!t||t.piboSessionId!==e||(0,L.startTransition)(()=>{d(e=>{if(!e)return e;if(p===void 0)return{...e,rawEvents:t.events};let n=new Set(t.events.map(e=>e.id));return{...e,rawEvents:[...t.events,...e.rawEvents.filter(e=>!n.has(e.id))]}})})},[p,C.data,e]);let w=(0,L.useCallback)(async n=>{if(!e||!n)return;let r=`${e}:${n}`;if(_.current||v.current.has(r))return;_.current=r,g(!0);let i=cN(e,{includeRawEvents:t,rawEventsLimit:c,pageSize:100,beforeCursor:n});try{let t=await a.fetchQuery({queryKey:i,queryFn:async({signal:t})=>{let r=a.getQueryData(i),o=await jC(e,{limit:100,beforeCursor:n,knownVersion:r?.version,signal:t});if(o.notModified&&r)return r;if(!o.timeline)throw Error(`Trace timeline response missing payload.`);return ON(o.timeline)},staleTime:aN,gcTime:oN});(0,L.startTransition)(()=>{d(e=>e?lN(e,t):t),s(e=>e+(t.pageSize??100))}),NN(v.current,r)}finally{_.current===r&&(_.current=null),g(!1)}},[a,c,e,t]),T=e?u?.piboSessionId===e?u:f.current.get(e)??(S.data?.piboSessionId===e?S.data:null):null,E=e?n?.piboSessionId===e?n:r.current.get(e)??null:null,D=(0,L.useCallback)(()=>{let e=T?.rawEvents[0]?.eventSequence;m(e),l(e=>e+80)},[T?.rawEvents]);return{baseTraceView:T,liveTraceOverlay:E,traceEventLimit:o,rawEventLimit:c,traceSummaryQuery:x,tracePageQuery:S,rawEventsQuery:C,loadingOlderTracePage:h,tracePageReady:!!b,loadOlderTracePage:w,loadMoreRawEvents:D}}function NN(e,t){if(e.add(t),e.size<=jN)return;let n=e.values().next();n.done||e.delete(n.value)}function PN(e){let t=e.currentEvents,n,r,i=()=>(r??=new Set(t.map(UN)),r),a=e=>{n??=t.slice(),n.push(e),t=n};for(let o of e.streamEvents){let s=LN(o,e.piboSessionId,e.nextSequence,e.now??(()=>new Date().toISOString()));if(!s)continue;if(FN(s)){t=IN(t,s),n=t,r=void 0;continue}let c=UN(s),l=i();l.has(c)||(l.add(c),a(s))}return t}function FN(e){return e.type===`assistant_message`||e.type===`thinking_finished`||e.type===`tool_execution_finished`}function IN(e,t){return t.type===`assistant_message`?[...HN(e,t,`assistant_delta`),t]:t.type===`thinking_finished`?[...HN(e,t,`thinking_delta`),t]:t.type===`tool_execution_finished`?[...HN(e,t,`tool_execution_updated`),t]:e}function LN(e,t,n,r){if(e.type===`RAW_EVENT`&&KN(e.event)&&typeof e.event.type==`string`){let i=e.event;return RN(e,t,e.event.type,i,n,r)}if(e.type===`TEXT_MESSAGE_CONTENT`&&typeof e.delta==`string`)return RN(e,t,`assistant_delta`,{type:`assistant_delta`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,...GN(typeof e.messageId==`string`?e.messageId:void 0,`assistant`),text:e.delta},n,r);if(e.type===`REASONING_MESSAGE_CONTENT`&&typeof e.delta==`string`)return RN(e,t,`thinking_delta`,{type:`thinking_delta`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,...GN(typeof e.messageId==`string`?e.messageId:void 0,`thinking`),text:e.delta},n,r);if(e.type===`TOOL_CALL_START`&&typeof e.toolCallId==`string`&&typeof e.toolName==`string`)return RN(e,t,`tool_execution_started`,{type:`tool_execution_started`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,toolCallId:e.toolCallId,toolName:e.toolName,toolInvocationOrdinal:BN(e.toolInvocationOrdinal)?e.toolInvocationOrdinal:void 0,args:e.args,...e.intent?{intent:e.intent}:{}},n,r);if(e.type===`TOOL_CALL_ARGS`&&typeof e.toolCallId==`string`&&typeof e.toolName==`string`){let i=typeof e.runId==`string`?e.runId:void 0,a=e.sourceEventType===`tool_execution_updated`?`tool_execution_updated`:`tool_call`;return RN(e,t,a,a===`tool_execution_updated`?{type:`tool_execution_updated`,piboSessionId:t,eventId:i,toolCallId:e.toolCallId,toolName:e.toolName,toolInvocationOrdinal:BN(e.toolInvocationOrdinal)?e.toolInvocationOrdinal:void 0,args:e.args,partialResult:e.partialResult,...e.intent?{intent:e.intent}:{}}:{type:`tool_call`,piboSessionId:t,eventId:i,toolCallId:e.toolCallId,toolName:e.toolName,toolInvocationOrdinal:BN(e.toolInvocationOrdinal)?e.toolInvocationOrdinal:void 0,args:e.args,argsComplete:!!e.argsComplete,...e.intent?{intent:e.intent}:{}},n,r)}if(e.type===`TOOL_CALL_RESULT`&&typeof e.toolCallId==`string`&&typeof e.toolName==`string`)return RN(e,t,`tool_execution_finished`,{type:`tool_execution_finished`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,toolCallId:e.toolCallId,toolName:e.toolName,toolInvocationOrdinal:BN(e.toolInvocationOrdinal)?e.toolInvocationOrdinal:void 0,result:e.result,isError:!!e.isError,...e.intent?{intent:e.intent}:{}},n,r);if(e.type===`RUN_ERROR`&&typeof e.message==`string`)return RN(e,t,`session_error`,{type:`session_error`,piboSessionId:t,eventId:typeof e.runId==`string`?e.runId:void 0,error:e.message,errorDetails:e.errorDetails},n,r)}function RN(e,t,n,r,i,a){let o=typeof e.streamFrameId==`string`?e.streamFrameId:void 0,s=typeof e.streamFrameIndex==`number`?e.streamFrameIndex:void 0,c=typeof e.liveReplayId==`number`&&Number.isFinite(e.liveReplayId)?e.liveReplayId:void 0,l=i(),u=zN(e.renderSequence)?e.renderSequence:zN(r.renderSequence)?r.renderSequence:void 0,d=u!==void 0&&r.renderSequence===void 0?{...r,renderSequence:u}:r;return{id:typeof e.streamId==`number`?`stream:${e.streamId}:${s??`raw`}:${n}`:c===void 0?o?`stream:${o}:${n}`:`live:${l}:${n}`:`live-replay:${c}:${n}`,piboSessionId:t,eventSequence:l,renderSequence:u,streamId:typeof e.streamId==`number`?e.streamId:void 0,streamFrameIndex:s,traceSource:`live`,eventId:typeof d.eventId==`string`?d.eventId:void 0,type:n,createdAt:VN(e)??a(),payload:d}}function zN(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function BN(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function VN(e){if(!(typeof e.createdAt!=`string`||!Number.isFinite(Date.parse(e.createdAt))))return e.createdAt}function HN(e,t,n){let r=WN(t);return e.filter(e=>e.type!==n||WN(e)!==r)}function UN(e){return e.streamId===void 0?`${e.id}:${e.type}`:e.streamFrameIndex===void 0?`stream:${e.streamId}:${e.id}:${e.type}`:`stream:${e.streamId}:${e.streamFrameIndex}:${e.type}`}function WN(e){let t=KN(e.payload)?e.payload:{},n=typeof t.piboSessionId==`string`?t.piboSessionId:e.piboSessionId??``,r=typeof t.eventId==`string`?t.eventId:e.eventId??``;if(typeof t.toolCallId==`string`){let e=typeof t.toolInvocationOrdinal==`number`?t.toolInvocationOrdinal:0;return`${n}:${r}:tool:${t.toolCallId}:${e}`}let i=typeof t.assistantIndex==`number`?t.assistantIndex:void 0,a=typeof t.thinkingIndex==`number`?t.thinkingIndex:void 0,o=typeof t.contentIndex==`number`?t.contentIndex:0;return`${n}:${r}:${i??a??o}`}function GN(e,t){let n=e?.match(RegExp(`:${t}:(\\d+)$`));if(!n)return{};let r=Number(n[1]);return Number.isInteger(r)?t===`assistant`?{assistantIndex:r}:{thinkingIndex:r}:{}}function KN(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function qN(e){try{let t=JSON.parse(e.data);if(typeof t.type!=`string`)return;let n=e.lastEventId?eT(e.lastEventId):void 0;return{...t,...e.lastEventId?{streamFrameId:e.lastEventId}:{},...n?{streamId:n.streamId,streamFrameIndex:n.frameIndex}:{}}}catch{return}}function JN(e,t,n){let r=e.get(t);r?.streamId!==void 0&&r.streamId>=n||e.set(t,{streamId:n,frameIndex:2**53-1,cursor:XN(n),exact:!1,...r?.liveReplayId===void 0?{}:{liveReplayId:r.liveReplayId}})}function YN(e,t,n){let r=e.get(t),i=typeof n.liveReplayId==`number`&&Number.isFinite(n.liveReplayId)?Math.max(r?.liveReplayId??0,n.liveReplayId):r?.liveReplayId;if(n.streamId===void 0||n.streamFrameIndex===void 0){i!==void 0&&i!==r?.liveReplayId&&e.set(t,{...r??{exact:!1},liveReplayId:i});return}if(r&&(r.streamId!==void 0&&r.streamId>n.streamId||r.streamId===n.streamId&&r.exact&&r.frameIndex!==void 0&&r.frameIndex>=n.streamFrameIndex)){i!==void 0&&i!==r.liveReplayId&&e.set(t,{...r,liveReplayId:i});return}e.set(t,{streamId:n.streamId,frameIndex:n.streamFrameIndex,cursor:n.streamFrameId??`${n.streamId}:${n.streamFrameIndex}`,exact:!0,...i===void 0?{}:{liveReplayId:i}})}function XN(e){return`${e}:999999`}function ZN(e){if(e.type===`RUN_FINISHED`||e.type===`TEXT_MESSAGE_END`)return 300;if(e.type===`RUN_ERROR`)return 0}function QN(e){return e.type===`RUN_STARTED`||e.type===`RUN_FINISHED`||e.type===`RUN_ERROR`||e.type===`TEXT_MESSAGE_END`||e.type===`RUNTIME_APPROVAL_REQUESTED`||e.type===`RUNTIME_APPROVAL_RESOLVED`||e.type===`RUNTIME_USER_INPUT_REQUESTED`||e.type===`RUNTIME_USER_INPUT_RESOLVED`}function $N(e){return e.type===`TEXT_MESSAGE_CONTENT`||e.type===`REASONING_MESSAGE_CONTENT`||e.type===`TOOL_CALL_START`||e.type===`TOOL_CALL_ARGS`||e.type===`TOOL_CALL_RESULT`||e.type===`RUN_ERROR`||e.type===`RAW_EVENT`}function eP(e,t,n){if(n.type===`RUN_STARTED`||n.type===`RUN_FINISHED`||n.type===`RUN_ERROR`){e.delete(t);return}let r=rP(n);r&&e.get(t)?.delete(r)}function tP(e,t,n){let r=nP(n);if(!r)return!1;let i=e.get(t);return i||(i=new Set,e.set(t,i)),!i.has(r)&&(i.add(r),!0)}function nP(e){if(e.type===`TEXT_MESSAGE_CONTENT`||e.type===`REASONING_MESSAGE_CONTENT`)return`${e.type}:${e.messageId}`}function rP(e){if(e.type===`TEXT_MESSAGE_START`)return`TEXT_MESSAGE_CONTENT:${e.messageId}`;if(e.type===`REASONING_MESSAGE_START`)return`REASONING_MESSAGE_CONTENT:${e.messageId}`}var iP=500,aP=1e4,oP=45e3,sP=15e3,cP=100,lP=2;function uP(e){let t=Math.max(e.eventCount??0,e.lastEventSequence??0);for(let n of e.rawEvents)t=Math.max(t,n.eventSequence??0);return t+1}function dP(e){if(e.forceReconnect)return!0;let t=e.liveStream;return!t||t.piboSessionId!==e.selectedPiboSessionId||t.readyState===lP||(e.nowMs??Date.now())-t.lastActivityAt>oP}function fP(e,t){return e===t}function pP({selectedPiboSessionId:e,tracePageData:t,currentTraceView:n,liveEventSeqRef:r,selectedSessionStatus:i,tracePageReady:a,setLiveTraceOverlay:o,onRefreshTrace:s,onRefreshBootstrap:c,onRuntimeRequestEvent:l,onError:u}){let d=(0,L.useRef)(e);d.current=e;let f=(0,L.useRef)(new Map),p=(0,L.useRef)(void 0),m=(0,L.useRef)(void 0),h=(0,L.useRef)(new Map),g=(0,L.useRef)(new Map),_=(0,L.useRef)(null),v=(0,L.useRef)(void 0),y=(0,L.useRef)(0),b=(0,L.useRef)(!1),x=(0,L.useRef)(!1),[S,C]=(0,L.useState)(0);(0,L.useEffect)(()=>{let n=t;!n||n.piboSessionId!==e||(r.current=Math.max(r.current,uP(n)),n.latestStreamId!==void 0&&JN(g.current,n.piboSessionId,n.latestStreamId))},[r,e,t]);let w=(0,L.useCallback)(e=>{let t=f.current.get(e);t?.length&&(f.current.delete(e),fP(e,d.current)&&o(n=>{if(!fP(e,d.current))return n;let i=PN({currentEvents:n?.piboSessionId===e?n.events:[],streamEvents:t,piboSessionId:e,nextSequence:()=>r.current++});return Dx(e,t.length,i.length),{piboSessionId:e,events:i}}))},[]),T=(0,L.useCallback)(()=>{if(!(p.current!==void 0||m.current!==void 0||!e)){if(document.hidden){m.current=setTimeout(()=>{m.current=void 0,w(e)},cP);return}p.current=requestAnimationFrame(()=>{p.current=void 0,w(e)})}},[w,e]),E=(0,L.useCallback)((t,n,r=!1)=>{eP(h.current,t,n);let i=r||tP(h.current,t,n),a=f.current.get(t)??[];a.push(n),f.current.set(t,a),Ex(t,n,a.length,i),i||t!==e?w(t):T()},[w,T,e]);(0,L.useEffect)(()=>()=>{p.current!==void 0&&cancelAnimationFrame(p.current),m.current!==void 0&&clearTimeout(m.current),v.current!==void 0&&clearTimeout(v.current)},[]);let D=(0,L.useCallback)((e,t)=>{YN(g.current,e,t)},[]),O=(0,L.useCallback)((e=0)=>{if(v.current!==void 0){if(e>0)return;clearTimeout(v.current)}v.current=setTimeout(()=>{v.current=void 0,C(e=>e+1)},e)},[]),k=(0,L.useCallback)((t=!1)=>{if(!e)return;w(e),s().catch(e=>u(mP(e))),c().catch(e=>u(mP(e)));let n=_.current;if(dP({selectedPiboSessionId:e,liveStream:n?{piboSessionId:n.piboSessionId,lastActivityAt:n.lastActivityAt,readyState:n.events.readyState}:null,forceReconnect:t})){if(t){if(b.current)return;b.current=!0}O()}},[w,u,c,s,O,e]);(0,L.useEffect)(()=>{if(!e||!a||!n||n.piboSessionId!==e)return;let t=new URLSearchParams({piboSessionId:e});t.set(`mode`,`live`);let r=g.current.get(e),i=r?.cursor??(n.latestStreamId===void 0?void 0:XN(n.latestStreamId));i!==void 0&&t.set(`since`,i),r?.liveReplayId!==void 0&&t.set(`liveSince`,String(r.liveReplayId));let o=new EventSource(`/api/chat/events?${t.toString()}`),d=Date.now();_.current={piboSessionId:e,events:o,openedAt:d,lastActivityAt:d};let f=!1,p,m,h=!1,x=!1,S=(t,n=!1)=>{if(p){if(!n)return;clearTimeout(p)}Ax(e,t),p=setTimeout(()=>{p=void 0,s().catch(e=>u(mP(e)))},t)},C=()=>{if(h){x=!0;return}h=!0,c().catch(e=>u(mP(e))).finally(()=>{h=!1,x&&(x=!1,T(250,!0))})},T=(e,t=!1)=>{if(m){if(!t)return;clearTimeout(m)}m=setTimeout(()=>{m=void 0,C()},e)},k=()=>{T(900,!0)};return o.onopen=()=>{y.current=0,b.current=!1,v.current!==void 0&&(clearTimeout(v.current),v.current=void 0),Cx(e,o.readyState);let t=_.current;t?.events===o&&(t.lastActivityAt=Date.now())},o.onerror=()=>{if(f)return;wx(e,o.readyState);let t=_.current;t?.events===o&&(t.lastErrorAt=Date.now());let n=y.current++,r=Math.min(aP,iP*2**n);O(r)},o.addEventListener(`pibo`,t=>{if(f)return;let n=qN(t);if(!n)return;let r=n.piboSessionId||e,i=_.current;if(i?.events===o&&(i.lastActivityAt=Date.now()),D(r,n),Tx(r,n,t.lastEventId,o.readyState),r===e&&n.type===`ready`&&n.liveReplay?.missed&&S(0,!0),Mx(n))return;(n.type===`RUNTIME_APPROVAL_REQUESTED`||n.type===`RUNTIME_APPROVAL_RESOLVED`||n.type===`RUNTIME_USER_INPUT_REQUESTED`||n.type===`RUNTIME_USER_INPUT_RESOLVED`)&&l?.(n);let a=n.type!==`TEXT_MESSAGE_CONTENT`&&n.type!==`REASONING_MESSAGE_CONTENT`;r===e&&$N(n)&&E(r,n,a);let s=ZN(n);r===e&&s!==void 0?S(s,!0):r===e&&n.type!==`ready`&&n.type!==`RAW_EVENT`&&S(1500,!0),QN(n)&&(n.type===`RUN_FINISHED`||n.type===`RUN_ERROR`||n.type===`TEXT_MESSAGE_END`?k():T(r===e?0:150))}),()=>{f=!0,p&&clearTimeout(p),m&&clearTimeout(m),w(e),_.current?.events===o&&(_.current=null),o.close()}},[n?.piboSessionId,E,w,u,c,s,l,D,O,S,e,a]),(0,L.useEffect)(()=>{n?.piboSessionId&&w(n.piboSessionId)},[n?.piboSessionId,w]),(0,L.useEffect)(()=>{let e=()=>k(),t=()=>k(!0),n=()=>{x.current=!0,_.current?.events.close()},r=()=>{if(document.hidden){n();return}x.current=!1,k(!0)},i=e=>{let t=x.current||e.persisted;x.current=!1,k(t)};return window.addEventListener(`focus`,e),window.addEventListener(`online`,t),window.addEventListener(`pagehide`,n),window.addEventListener(`pageshow`,i),document.addEventListener(`visibilitychange`,r),()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`online`,t),window.removeEventListener(`pagehide`,n),window.removeEventListener(`pageshow`,i),document.removeEventListener(`visibilitychange`,r)}},[k]),(0,L.useEffect)(()=>{if(!e||i!==`running`)return;let t=window.setInterval(()=>{w(e);let t=_.current;dP({selectedPiboSessionId:e,liveStream:t?{piboSessionId:t.piboSessionId,lastActivityAt:t.lastActivityAt,readyState:t.events.readyState}:null})&&(s().catch(e=>u(mP(e))),O())},sP);return()=>window.clearInterval(t)},[w,u,s,O,e,i])}function mP(e){return e instanceof Error?e.message:String(e)}var hP=10;function gP(e,t,n,r){if(!t||!n.length)return e;let i=e[t]??[],a=new Set(i.map(e=>e.path)),o=n.filter(e=>e.path&&!a.has(e.path)).map(e=>({...e,id:r()}));return o.length?{...e,[t]:[...i,...o].slice(0,hP)}:e}function _P(e,t,n){if(!t)return e;let r=e[t]??[],i=r.filter(e=>e.id!==n);return i.length===r.length?e:{...e,[t]:i}}function vP(e,t){return!t||!e[t]?.length?e:{...e,[t]:[]}}function yP(e,t){let[n,r]=(0,L.useState)({});return{selectedUploadAttachments:(0,L.useMemo)(()=>e?n[e]??[]:[],[e,n]),attachUploadedFiles:(0,L.useCallback)(n=>{r(r=>gP(r,e,n,t))},[t,e]),detachUploadAttachment:(0,L.useCallback)(t=>{r(n=>_P(n,e,t))},[e]),clearSelectedUploadAttachments:(0,L.useCallback)(()=>{r(t=>vP(t,e))},[e])}}function bP({selectedPiboSessionId:e,onError:t,formatError:n}){let[r,i]=(0,L.useState)([]),[a,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)(()=>e?rA(e):null),[l,u]=(0,L.useState)(()=>uA()),[d,f]=(0,L.useState)(!1),p=!!(e&&s?.piboSessionId===e&&s.installed),m=!!e&&(a||p),h=st({queryKey:[`web-annotations`,`app`,e],queryFn:async()=>{if(!e)throw Error(`Session is required`);return cw(e,{limit:100,scope:`app`})},enabled:!!e&&(m||r.length>0),staleTime:1e3,refetchOnWindowFocus:m,refetchInterval:m?5e3:!1,retry:1}),g=h.refetch,_=(0,L.useMemo)(()=>(h.data?.annotations??[]).filter(e=>e.status!==`resolved`&&e.status!==`dismissed`),[h.data?.annotations]),v=(0,L.useMemo)(()=>r.map(e=>_.find(t=>t.id===e)).filter(e=>!!e),[r,_]);(0,L.useEffect)(()=>{i(e?sA(e):[]),c(e?rA(e):null)},[e]),(0,L.useEffect)(()=>{if(!e)return;let t=t=>{!t||t.piboSessionId!==e||(c(e=>t.installed?t:e?.installed&&e.bindingId&&t.bindingId&&e.bindingId!==t.bindingId?e:t),t.installed?g():o(!1))},n=e=>t(oA(e.detail)),r=n=>{n.key===iA(e)&&t(aA(n.newValue))},i=()=>t(rA(e));return window.addEventListener(`pibo:web-annotation-overlay-state`,n),window.addEventListener(`storage`,r),window.addEventListener(`focus`,i),document.addEventListener(`visibilitychange`,i),i(),()=>{window.removeEventListener(`pibo:web-annotation-overlay-state`,n),window.removeEventListener(`storage`,r),window.removeEventListener(`focus`,i),document.removeEventListener(`visibilitychange`,i)}},[g,e]),(0,L.useEffect)(()=>{if(!h.data)return;if(!_.length){i(t=>(t.length&&e&&cA(e,[]),t.length?[]:t));return}let t=new Set(_.map(e=>e.id));i(n=>{let r=n.filter(e=>t.has(e));return r.length!==n.length&&e&&cA(e,r),r.length===n.length?n:r})},[e,_,h.data]),(0,L.useEffect)(()=>{let e=()=>{o(!0),g()};return window.addEventListener(`pibo:web-annotation-saved`,e),()=>window.removeEventListener(`pibo:web-annotation-saved`,e)},[g]);let y=(0,L.useCallback)(t=>{i(n=>{let r=t(n);return e&&cA(e,r),r})},[e]),b=(0,L.useCallback)(e=>{y(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e].slice(0,5))},[y]),x=(0,L.useCallback)(()=>y(()=>[]),[y]);return{selectedWebAnnotationIds:r,selectedWebAnnotations:v,visibleWebAnnotations:_,webAnnotationsPanelCollapsed:l,webAnnotationsPanelRendered:m,webAnnotationsPanelVisible:a,webAnnotationsQuery:h,clearingWebAnnotations:d,setWebAnnotationsPanelVisible:o,toggleWebAnnotationAttachment:b,detachWebAnnotationAttachment:(0,L.useCallback)(e=>{y(t=>t.filter(t=>t!==e))},[y]),clearSelectedWebAnnotationAttachments:x,toggleWebAnnotationsPanelCollapsed:(0,L.useCallback)(()=>{u(e=>{let t=!e;return dA(t),t})},[]),clearVisibleWebAnnotations:(0,L.useCallback)(async()=>{if(!(!_.length||d)&&window.confirm(`Dismiss ${_.length} visible web annotations? This keeps sent messages but clears the annotation list.`)){f(!0);try{await Promise.all(_.map(e=>lw(e.id,{piboSessionId:e.piboSessionId,status:`dismissed`,summary:`Cleared from Chat Web UI`}))),x(),await g()}catch(e){t(n(e,`Could not clear web annotations`))}finally{f(!1)}}},[d,x,n,t,g,_])}}var xP=new WeakMap;function SP(e,t,n){let r=n.map(e=>CP(e)),i=AP(r),a=i.length?Math.min(...i.map(e=>e.startTime)):Date.now()*1e3,o=i.flatMap(e=>e.endTime?[e.endTime]:[]),s=o.length?Math.max(...o):void 0,c=i.some(e=>e.status===`UNSET`);return{id:e,name:t,status:i.some(e=>e.status===`ERROR`)?`ERROR`:c?`UNSET`:`OK`,spans:r,startedAt:new Date(a/1e3),completedAt:s?new Date(s/1e3):void 0,totalDurationMs:s?(s-a)/1e3:0}}function CP(e){let t=xP.get(e);if(t)return t;let n=kP(e.startedAt)??Date.now()*1e3,r=kP(e.completedAt),i=OP(e.status),a=wP(e.type),o={id:e.id,parentId:e.parentId,name:TP(e),spanType:a,startTime:n,endTime:r,durationUs:e.durationMs===void 0?void 0:e.durationMs*1e3,attributes:EP(e),status:i,statusMessage:e.error,events:e.error?[{name:`exception`,timestamp:r??n,attributes:{message:e.error}}]:[],children:e.children?.map(CP),pibo:{entryId:e.entryId,linkedPiboSessionId:e.linkedPiboSessionId,traceNodeType:e.type,traceOrder:e.orderKey,stableKey:e.stableKey,source:e.source}};return xP.set(e,o),o}function wP(e){switch(e){case`user.message`:return`user.prompt`;case`assistant.message`:return`model.response`;case`model.reasoning`:return`model.reasoning`;case`tool.call`:return`tool.call`;case`tool.result`:return`tool.result`;case`agent.delegation`:return`agent.delegation`;case`agent.async`:return`agent.async`;case`execution.command`:case`execution.compaction`:return`execution.command`;case`yielded.run`:return`yielded.run`;case`agent.turn`:return`agent.run`;case`error`:return`tool.result`}}function TP(e){return e.type===`assistant.message`?`assistant_message`:e.type===`user.message`?`user_prompt`:e.type===`model.reasoning`?`model_reasoning`:e.title||e.type}function EP(e){let t={};if(e.summary&&(t.content=e.summary),e.input!==void 0&&(t.input=e.input,t.args=e.input,t.arguments=e.input),e.output!==void 0&&(t.output=e.output,t.result=e.output),e.error&&(t.error=e.error),e.toolCallId&&(t.tool_call_id=e.toolCallId),e.runId&&(t.run_id=e.runId),e.intent&&(t.intent=e.intent),(e.type===`tool.call`||e.type===`agent.delegation`)&&(t.tool_name=e.title),e.type===`assistant.message`&&(t.content=e.output??e.summary??``),e.type===`user.message`){t.content=e.output??e.summary??``;let n=DP(e);n&&(t[`message.pending_delivery`]=n)}return e.type===`model.reasoning`&&(t.reasoning=e.output??e.summary??``),e.type===`agent.delegation`&&(t[`delegation.target_agent`]=jP(e.input)&&typeof e.input.name==`string`?e.input.name:e.title.replace(/^pibo_agents_send_message$/,`agent`).replace(/^pibo_subagent_/,``),t[`delegation.query`]=e.summary??e.input,t[`result.status`]=e.status===`done`?`completed`:e.status,t.linked_pibo_session_id=e.linkedPiboSessionId),e.type===`agent.async`&&(t[`async_agent.target_agent`]=e.title,t[`async_agent.started_by`]=jP(e.input)?e.input.startedBy:`pibo_run_start`,t[`async_agent.query`]=jP(e.input)?e.input.arguments:e.input,t[`result.status`]=e.status===`done`?`started`:e.status,t.linked_pibo_session_id=e.linkedPiboSessionId),e.type===`yielded.run`&&(t[`run.notification`]=!0,t[`run.status`]=e.status),t}function DP(e){if(e.type===`user.message`&&e.status===`running`){if(e.id.startsWith(`event:message_steered:`))return`steer`;if(e.id.startsWith(`event:message_queued:`))return`queue`}}function OP(e){return e===`running`?`UNSET`:e===`error`?`ERROR`:`OK`}function kP(e){if(!e)return;let t=new Date(e).getTime();return Number.isFinite(t)?t*1e3:void 0}function AP(e){return e.flatMap(e=>[e,...e.children?AP(e.children):[]])}function jP(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function MP(e,t,n){return LP(e,t,n)?.capabilities.lifecycle.fork===!0}function NP(e){if(!e)return`none`;let t=ZP(e.nodes).filter(e=>e.type===`user.message`);return`${t.length}:${t.at(-1)?.id??``}`}function PP(e,t){if(!e)return e;let n=ZP(e.nodes).filter(e=>e.type===`user.message`),r=new Set,i=t.filter(e=>!e.entryId.trim()||r.has(e.entryId)?!1:(r.add(e.entryId),!0)),a=new Set(i.map(e=>e.entryId)),o=e=>e.entryId&&a.has(e.entryId)?e.entryId:void 0,s=new Map;if(n.length===i.length&&n.every((e,t)=>!o(e)||o(e)===i[t].entryId))for(let e=0;e<n.length;e+=1)s.set(n[e].id,i[e].entryId);else{let e=new Set(n.flatMap(e=>{let t=o(e);return t?[t]:[]})),t=n.filter(e=>!o(e)),r=new Map,a=new Map;for(let e of t){let t=FP(e);r.set(t,(r.get(t)??0)+1)}for(let t of i){if(e.has(t.entryId))continue;let n=a.get(t.text);n?n.push(t):a.set(t.text,[t])}for(let e of t){let t=FP(e),n=a.get(t)??[];r.get(t)===1&&n.length===1&&s.set(e.id,n[0].entryId)}}let c=IP(e.nodes,s,a);return c.every((t,n)=>t===e.nodes[n])?e:{...e,nodes:c}}function FP(e){return typeof e.output==`string`?e.output:typeof e.summary==`string`?e.summary:e.title}function IP(e,t,n){return e.map(e=>{let r=IP(e.children,t,n),i=t.get(e.id),a=e.type===`user.message`?i??(e.entryId&&n.has(e.entryId)?e.entryId:void 0):e.entryId,o=r.some((t,n)=>t!==e.children[n]);if(a===e.entryId&&!o)return e;let{entryId:s,...c}=e;return{...c,...a?{entryId:a}:{},children:r}})}function LP(e,t,n){let r=t?dt(e.sessions,t):void 0,i=e.agents.find(e=>e.name===n),a=e.customAgents.find(e=>e.profileName===n)??i,o=e.session?.id===t?e.session.runtimeBinding:void 0,s=r?.runtimeInstanceId??o?.runtimeInstanceId??a?.runtimeInstanceId;return e.agentCatalog?.agentRuntimes.find(e=>s?e.id===s:r?.runtimeAdapterId?e.adapterId===r.runtimeAdapterId:!1)}function RP(e,t,n,r){if(r?.latestTurn?.state!==`running`)return!1;let i=LP(e,t,n);return i?.enabled!==!1&&i?.available!==!1&&i?.capabilities.input?.steering===!0}function zP(e,t,n){t&&dt(e.sessions,t);let r=e.agents.find(e=>e.name===n),i=e.customAgents.find(e=>e.profileName===n)??r,a=LP(e,t,n)?.capabilities.tools.intentTracing;if(!a?.supported)return!1;if(!a.configurable)return!0;let o=(e.session?.id===t?e.session.runtimeBinding:void 0)?.metadata?.intentTracing;if(typeof o==`boolean`)return o;let s=i?.runtimeOptions?.intentTracing;return typeof s==`boolean`?s:a.enabledByDefault}function BP(e){return(e.selectedPiboSessionId?dt(e.sessionNodes,e.selectedPiboSessionId):void 0)?.title||e.traceTitle||e.selectedPiboSessionId||e.fallback}function VP(e,t){return t?{sessionBreadcrumbs:KP(e,t),originSession:WP(e,t),derivedSessions:GP(e,t)}:{sessionBreadcrumbs:[],originSession:void 0,derivedSessions:[]}}function HP(e){let t=e.selectedPiboSessionId?dt(e.bootstrap.sessions,e.selectedPiboSessionId):void 0,n=XP(e.currentTraceView);return YP(e.selectedSessionActiveModel,e.bootstrap.runtimeStatus?.thinkingLevel??n.level??t?.initialThinkingLevel??qP(e.bootstrap,e.selectedSessionProfile,!!t?.parentId),e.bootstrap.runtimeStatus?.fastMode??n.fast??JP(e.bootstrap,e.selectedSessionProfile,!!t?.parentId)??!1)}function UP(e){return{traceView:e.currentTraceView,selectedTrace:e.currentTraceView?SP(e.currentTraceView.piboSessionId,e.currentTraceView.title,e.currentTraceView.nodes):null,isLoading:e.isLoading,showThinking:e.showThinking,expandThinking:e.expandThinking,toolDisplayMode:e.toolDisplayMode,sessionAgentProfile:e.selectedSessionProfile,sessionActiveModel:e.sessionActiveModelBadge,sessionRuntimeBinding:e.sessionRuntimeBinding,selectedSessionStatus:e.selectedSessionStatus,selectedSessionSignal:e.selectedSessionSignal,signals:e.signals,sessionGoal:e.sessionGoal,workflowProjectSession:e.workflowProjectSession,workflowLifecycleEvents:e.workflowLifecycleEvents,sessionNodes:e.sessionNodes,sessionBreadcrumbs:e.sessionLinks.sessionBreadcrumbs,originSession:e.sessionLinks.originSession,derivedSessions:e.sessionLinks.derivedSessions,agentProfiles:e.agentProfiles,sessionProfileChangeDisabled:e.sessionProfileChangeDisabled,onSessionAgentProfileChange:e.onSessionAgentProfileChange,onFork:e.onFork,onOpenSession:e.onOpenSession,onLoadOlderTracePage:e.onLoadOlderTracePage,hasOlderTraceEvents:e.hasOlderTraceEvents,isFetchingOlderTracePage:e.isFetchingOlderTracePage,onThinkingLevelChange:e.onThinkingLevelChange,onModelChanged:async()=>{await e.onRefreshBootstrap(),await e.onRefreshTrace()},onRefreshBootstrap:e.onRefreshBootstrap,onError:e.onError}}function WP(e,t){let n=dt(e,t);if(!n?.originId)return;let r=dt(e,n.originId);return{piboSessionId:n.originId,label:r?$P(r,0):n.originId}}function GP(e,t){return dt(e,t)?.derivedSessions.map(e=>({piboSessionId:e.piboSessionId,label:eF(e),profile:e.profile,status:e.status}))??[]}function KP(e,t){return ft(e,t).map((e,t)=>({piboSessionId:e.piboSessionId,label:$P(e,t)}))}function qP(e,t,n=!1){let r=e.agents.find(e=>e.name===t),i=e.customAgents.find(e=>e.profileName===t),a=r??i;return n?a?.subagentThinkingLevel??a?.thinkingLevel??e.modelDefaults?.subagentThinking??e.modelDefaults?.thinking:a?.mainThinkingLevel??a?.thinkingLevel??e.modelDefaults?.mainThinking??e.modelDefaults?.thinking}function JP(e,t,n=!1){let r=e.agents.find(e=>e.name===t),i=e.customAgents.find(e=>e.profileName===t),a=r??i;return n?a?.subagentFast??a?.fast??e.modelDefaults?.subagentFast??e.modelDefaults?.fast:a?.mainFast??a?.fast??e.modelDefaults?.mainFast??e.modelDefaults?.fast}function YP(e,t,n){if(e)return[e,t,n?`fast`:void 0].filter(Boolean).join(` `)}function XP(e){let t={};if(!e)return t;for(let n of ZP(e.nodes)){if(n.type!==`execution.command`||n.title!==`thinking`&&n.title!==`fast_mode`)continue;let e=n.output&&typeof n.output==`object`?n.output:void 0;t={level:(typeof e?.level==`string`&&QP(e.level)?e.level:void 0)??t.level,fast:n.title===`fast_mode`?e?.mode===`fast`:t.fast}}return t}function ZP(e){return e.flatMap(e=>[e,...ZP(e.children)])}function QP(e){return aD.includes(e)}function $P(e,t){return t?e.subagentName&&e.subagentName!==e.profile?`${e.subagentName} (${e.profile})`:e.profile||e.subagentName||e.title:e.profile||e.title}function eF(e){return e.subagentName&&e.subagentName!==e.profile?`${e.subagentName} (${e.profile})`:e.title||e.profile||e.subagentName||`Untitled Session`}function tF({piboSessionId:e,text:t,selectedWebAnnotations:n,selectedUploadAttachments:r,eventSequence:i,now:a,clientTxnId:o,delivery:s=`queue`}){let c=n.map(e=>e.id),l=r.map(e=>e.path),u=s===`steer`?`message_steered`:`message_queued`;return{piboSessionId:e,text:t,webAnnotationIds:c,fileAttachmentPaths:l,clientTxnId:o,delivery:s,optimisticEvent:{id:o,piboSessionId:e,eventSequence:i,eventId:o,type:u,createdAt:a,payload:{type:u,piboSessionId:e,eventId:o,clientTxnId:o,delivery:s,...s===`queue`?{queuedMessages:1}:{},text:t,...l.length?{fileAttachmentPaths:l}:{},source:`user`}}}}function nF(e,t){if(e.delivery===t)return e;let n=t===`steer`?`message_steered`:`message_queued`,r={...e.optimisticEvent.payload};return delete r.queuedMessages,{...e,delivery:t,optimisticEvent:{...e.optimisticEvent,type:n,payload:{...r,type:n,delivery:t,...t===`queue`?{queuedMessages:1}:{}}}}}function rF(e,t,n){return{piboSessionId:t,events:[...e?.piboSessionId===t?e.events:[],n]}}var iF=`optimistic-session-`;function aF(e){return e?.startsWith(iF)===!0}function oF(e){return e&&!aF(e)?e:null}function sF(e){return e instanceof Error?e.message:String(e)}var cF=[`(display-mode: standalone)`,`(display-mode: window-controls-overlay)`];function lF(e,t){return cF.some(t=>e(t).matches)?typeof t.userAgentData?.mobile==`boolean`?!t.userAgentData.mobile:!(/Android|iPhone|iPad|iPod|Mobile/i.test(t.userAgent)||/Macintosh/i.test(t.userAgent)&&t.maxTouchPoints>1):!1}function uF(){return typeof window<`u`&&typeof navigator<`u`&&lF(window.matchMedia.bind(window),navigator)}function dF(e,t){return{url:e,name:`pibo-session-${t}`,features:`width=1280,height=900`}}function fF(){let e=dF(window.location.href,crypto.randomUUID());return window.open(e.url,e.name,e.features)}var pF=[{id:`accept`,label:`Approve once`},{id:`acceptForSession`,label:`Approve for session`},{id:`decline`,label:`Decline`},{id:`cancel`,label:`Cancel turn`}];function mF({piboSessionId:e,approvals:t,userInputs:n,onResolved:r,onError:i}){let[a,o]=(0,L.useState)(null);if(t.length===0&&n.length===0)return null;let s=async(t,n)=>{if(!a){o(t),i(null);try{await Dt(e,`runtime.approval.respond`,{requestId:t,decision:n}),r(t)}catch(e){i(sF(e))}finally{o(null)}}},c=async(t,n)=>{if(!a){o(t),i(null);try{await Dt(e,`runtime.user_input.respond`,{requestId:t,answers:n}),r(t)}catch(e){i(sF(e))}finally{o(null)}}};return(0,R.jsx)(`section`,{className:`border-t border-slate-800 bg-[#101d22] px-3 py-2 sm:px-4`,"data-pibo-debug":`runtime-request-panel`,"aria-label":`Runtime requests`,children:(0,R.jsxs)(`div`,{className:`mx-auto grid w-full max-w-4xl gap-2`,children:[t.map(e=>(0,R.jsx)(hF,{request:e,busy:a===e.requestId,disabled:a!==null,onDecision:t=>void s(e.requestId,t)},e.requestId)),n.map(e=>(0,R.jsx)(gF,{request:e,busy:a===e.requestId,disabled:a!==null,onSubmit:t=>void c(e.requestId,t)},e.requestId))]})})}function hF({request:e,busy:t,disabled:n,onDecision:r}){let i=e.decisions?.length?e.decisions:pF;return(0,R.jsxs)(`article`,{className:`rounded-sm border border-amber-500/40 bg-amber-500/5`,"data-pibo-debug":`runtime-approval-request`,children:[(0,R.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-amber-500/20 px-3 py-2`,children:[(0,R.jsx)(Zn,{size:16,className:`mt-0.5 shrink-0 text-amber-400`,"aria-hidden":`true`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-wider text-amber-300`,children:e.title||`Approval required`}),(0,R.jsx)(`span`,{className:`rounded-sm border border-slate-700 px-1.5 py-0.5 font-mono text-[10px] uppercase text-slate-400`,children:e.requestType})]}),e.detail?(0,R.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-slate-300`,children:e.detail}):null]})]}),e.arguments===void 0?null:(0,R.jsx)(`pre`,{className:`max-h-36 overflow-auto border-b border-slate-800 bg-[#0e1116] px-3 py-2 font-mono text-[11px] leading-5 text-slate-300`,children:yF(e.arguments)}),(0,R.jsx)(`div`,{className:`flex flex-wrap gap-2 px-3 py-2`,children:i.map(e=>(0,R.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),disabled:n,title:e.description,className:vF(e.id),"data-pibo-decision":e.id,children:t?`Responding…`:e.label},e.id))})]})}function gF({request:e,busy:t,disabled:n,onSubmit:r}){let[i,a]=(0,L.useState)({}),o=(0,L.useMemo)(()=>e.questions.every(e=>!!i[e.id]?.trim()),[i,e.questions]);return(0,R.jsxs)(`article`,{className:`rounded-sm border border-cyan-500/40 bg-cyan-500/5`,"data-pibo-debug":`runtime-user-input-request`,children:[(0,R.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-cyan-500/20 px-3 py-2`,children:[(0,R.jsx)(_n,{size:16,className:`mt-0.5 shrink-0 text-cyan-400`,"aria-hidden":`true`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-wider text-cyan-300`,children:`Input requested`}),(0,R.jsx)(`span`,{className:`rounded-sm border border-slate-700 px-1.5 py-0.5 font-mono text-[10px] uppercase text-slate-400`,children:e.blocking===!1?`non-blocking`:`blocking`})]}),(0,R.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-slate-400`,children:`Codex is waiting for structured input before continuing this turn.`})]})]}),(0,R.jsx)(`div`,{className:`grid gap-3 px-3 py-3`,children:e.questions.map(t=>(0,R.jsx)(_F,{question:t,groupName:`runtime-question-${e.requestId}-${t.id}`,value:i[t.id]??``,disabled:n,onChange:e=>a(n=>({...n,[t.id]:e}))},t.id))}),(0,R.jsx)(`div`,{className:`flex justify-end border-t border-cyan-500/20 px-3 py-2`,children:(0,R.jsx)(`button`,{type:`button`,onClick:()=>r(i),disabled:n||!o,className:`rounded-sm border border-[#11a4d4] bg-[#11a4d4] px-3 py-1.5 text-xs font-semibold text-white transition hover:bg-[#0d8eb8] disabled:cursor-not-allowed disabled:opacity-50`,children:t?`Submitting…`:`Submit response`})})]})}function _F({question:e,groupName:t,value:n,disabled:r,onChange:i}){let a=e.options??[],o=new Set(a.map(e=>e.label)),s=!!n&&!o.has(n);return(0,R.jsxs)(`fieldset`,{className:`grid gap-2`,disabled:r,children:[(0,R.jsxs)(`legend`,{className:`text-xs font-semibold text-slate-200`,children:[e.header?(0,R.jsx)(`span`,{className:`mr-2 font-mono uppercase text-cyan-400`,children:e.header}):null,e.question]}),a.length?(0,R.jsxs)(`div`,{className:`grid gap-1.5 sm:grid-cols-2`,children:[a.map(e=>(0,R.jsxs)(`label`,{className:`flex cursor-pointer gap-2 rounded-sm border border-slate-700 bg-[#151f24] px-2.5 py-2 text-xs hover:border-cyan-500/60`,children:[(0,R.jsx)(`input`,{type:`radio`,name:t,value:e.label,checked:n===e.label,onChange:()=>i(e.label),className:`mt-0.5 accent-[#11a4d4]`}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`block font-semibold text-slate-200`,children:e.label}),e.description?(0,R.jsx)(`span`,{className:`mt-0.5 block leading-4 text-slate-400`,children:e.description}):null]})]},e.label)),e.allowFreeform?(0,R.jsxs)(`label`,{className:`flex cursor-pointer gap-2 rounded-sm border border-slate-700 bg-[#151f24] px-2.5 py-2 text-xs hover:border-cyan-500/60`,children:[(0,R.jsx)(`input`,{type:`radio`,name:t,checked:s,onChange:()=>i(`Other`),className:`mt-0.5 accent-[#11a4d4]`}),(0,R.jsx)(`span`,{className:`font-semibold text-slate-200`,children:`Other`})]}):null]}):null,a.length===0||e.allowFreeform&&s?(0,R.jsx)(`input`,{type:e.secret?`password`:`text`,value:s&&n===`Other`?``:n,onChange:e=>i(e.target.value),autoComplete:`off`,placeholder:e.secret?`Enter a private response`:`Enter a response`,className:`w-full rounded-sm border border-slate-700 bg-[#0e1116] px-2.5 py-2 font-mono text-xs text-slate-200 outline-none focus:border-[#11a4d4] focus:ring-1 focus:ring-[#11a4d4]/40`}):null]})}function vF(e){let t=`rounded-sm border px-2.5 py-1.5 text-xs font-semibold transition disabled:cursor-not-allowed disabled:opacity-50`;return e===`accept`?`${t} border-emerald-500/60 bg-emerald-500/10 text-emerald-300 hover:bg-emerald-500/20`:e===`acceptForSession`?`${t} border-cyan-500/60 bg-cyan-500/10 text-cyan-300 hover:bg-cyan-500/20`:e===`cancel`?`${t} border-red-500/60 bg-red-500/10 text-red-300 hover:bg-red-500/20`:`${t} border-slate-600 bg-slate-800/60 text-slate-300 hover:border-slate-500`}function yF(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return`[unavailable]`}}async function bF(e,t={}){return yt(`/api/previews?piboSessionId=${encodeURIComponent(e)}`,{signal:t.signal})}async function xF(e){return(await yt(`/api/previews/${encodeURIComponent(e)}/start`,{method:`POST`,headers:{"content-type":`application/json`},body:`{}`})).preview}async function SF(e){return(await yt(`/api/previews/${encodeURIComponent(e)}/stop`,{method:`POST`,headers:{"content-type":`application/json`},body:`{}`})).preview}async function CF(e){return yt(`/api/previews/${encodeURIComponent(e)}`,{method:`DELETE`,headers:{"content-type":`application/json`}})}function wF(e){let t=e.selectedPiboSessionId;return t?e.error?{kind:`error`,piboSessionId:t,previews:[],message:e.error}:e.loading||e.data?.piboSessionId!==t?{kind:`loading`,piboSessionId:t,previews:[]}:e.data.configured?e.data.previews.length===0?{kind:`empty`,piboSessionId:t,previews:[]}:{kind:`ready`,piboSessionId:t,previews:e.data.previews}:{kind:`unconfigured`,piboSessionId:t,previews:[]}:{kind:`idle`,previews:[]}}function TF(e,t){if(e.kind===`ready`)return t?.piboSessionId===e.piboSessionId?e.previews.find(e=>e.id===t.previewId)??e.previews[0]:e.previews[0]}function EF(e,t){if(t.piboSessionId!==e)throw Error(`Preview lifecycle response belongs to a different Pibo Session`);return t}function DF(e){return e===`online`?`border-emerald-500/50 bg-emerald-500/10 text-emerald-300`:e===`starting`||e===`stopping`?`border-cyan-500/50 bg-cyan-500/10 text-cyan-300`:e===`offline`||e===`error`?`border-amber-500/50 bg-amber-500/10 text-amber-300`:`border-slate-600 bg-slate-800 text-slate-400`}function OF(e){e.health===`online`&&window.open(e.openUrl,`_blank`,`noopener,noreferrer`)}function kF(e,t){let n=new URL(e.openUrl,window.location.origin);return n.searchParams.set(`piboPreviewReload`,String(t)),n.toString()}function AF({previews:e,selectedPreview:t,loading:n,error:r,reloadKey:i,fullscreen:a=!1,actionPending:o=!1,onSelect:s,onReload:c,onRefresh:l,onStart:u,onStop:d,onRemove:f,onEnterFullscreen:p}){let[m,h]=(0,L.useState)(!1);if(n)return(0,R.jsx)(PF,{label:`Loading live previews…`});if(r)return(0,R.jsx)(PF,{label:r,tone:`error`});if(!t)return(0,R.jsx)(PF,{label:`No active live preview is attached to this Pibo Session.`});let g=t.health===`online`,_=t.managed&&[`running`,`starting`,`stopping`].includes(t.serverState??``),v=t.managed&&!_,y=t.managed&&t.serverState!==`stopping`&&_;return(0,R.jsxs)(`section`,{"data-pibo-debug":`session-live-preview`,"data-pibo-preview-id":t.id,"data-pibo-preview-session-id":t.piboSessionId,"data-pibo-preview-public-origin":new URL(t.publicUrl).origin,"data-pibo-preview-fullscreen":a?`true`:`false`,className:`min-h-0 flex-1 bg-[#0e1116] flex flex-col`,children:[a?null:(0,R.jsxs)(`div`,{className:`min-h-11 border-b border-slate-800 bg-[#151f24] px-3 flex items-center gap-2 max-[640px]:flex-wrap max-[640px]:py-1.5`,children:[(0,R.jsx)(`label`,{className:`sr-only`,htmlFor:`session-live-preview-select`,children:`Selected live preview`}),(0,R.jsx)(`select`,{id:`session-live-preview-select`,name:`session-live-preview`,value:t.id,onChange:e=>s(e.target.value),"aria-label":`Selected live preview`,className:`min-w-0 max-w-72 h-8 border border-slate-700 bg-[#0e1116] px-2 text-xs text-slate-200 focus:border-[#11a4d4] focus:outline-none`,children:e.map(e=>(0,R.jsx)(`option`,{value:e.id,children:e.label},e.id))}),(0,R.jsx)(`span`,{className:`rounded-sm border px-2 py-1 text-[10px] font-bold uppercase tracking-wider ${DF(t.health)}`,children:t.health}),(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[11px] text-slate-500`,children:t.serverStopAt&&_?`stops ${FF(t.serverStopAt)}`:`session-linked`}),(0,R.jsx)(NF,{label:`Refresh preview status`,onClick:l,children:(0,R.jsx)(Kn,{size:14})}),v?(0,R.jsx)(NF,{label:`Start Preview server`,disabled:o,onClick:()=>u(t.id),children:(0,R.jsx)(Wn,{size:14})}):null,y?(0,R.jsx)(NF,{label:`Stop Preview server`,disabled:o,onClick:()=>d(t.id),children:(0,R.jsx)(Qn,{size:13})}):null,(0,R.jsx)(NF,{label:`Reload live preview`,disabled:!g,onClick:c,children:(0,R.jsx)(Kn,{size:14})}),(0,R.jsx)(NF,{label:m?`Copied preview link`:`Copy authenticated preview link`,disabled:!g,onClick:()=>{g&&Sk(new URL(t.openUrl,window.location.origin).toString()).then(()=>{h(!0),window.setTimeout(()=>h(!1),900)})},children:(0,R.jsx)(xn,{size:14})}),(0,R.jsx)(NF,{label:`Open live preview in new window`,disabled:!g,onClick:()=>OF(t),children:(0,R.jsx)(wn,{size:14})}),p?(0,R.jsx)(NF,{label:`Enter Preview fullscreen`,disabled:!g,onClick:p,children:(0,R.jsx)(Bn,{size:14})}):null,(0,R.jsx)(NF,{label:`Remove live preview`,danger:!0,disabled:o,onClick:()=>f(t.id),children:(0,R.jsx)(er,{size:14})})]}),g?(0,R.jsx)(`iframe`,{title:`Live preview: ${t.label}`,src:kF(t,i),sandbox:`allow-scripts allow-same-origin allow-forms allow-downloads allow-modals allow-popups allow-pointer-lock`,referrerPolicy:`no-referrer`,className:`min-h-0 flex-1 w-full border-0 bg-white`,"data-pibo-debug":`session-live-preview-frame`},`${t.piboSessionId}:${t.id}:${i}`):(0,R.jsx)(MF,{preview:t,actionPending:o,onStart:()=>u(t.id)})]})}function jF({preview:e,actionPending:t=!1,onReload:n,onStart:r,onStop:i,onExit:a}){let o=(0,L.useRef)(null),s=(0,L.useRef)(a);s.current=a,(0,L.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:void 0,t=()=>{let t=document.querySelector(`[data-pibo-debug="session-live-preview"] [aria-label="Enter Preview fullscreen"]`);t?t.focus():e?.isConnected&&e.focus()};o.current?.focus();let n=e=>{e.key===`Escape`&&(e.preventDefault(),s.current())};return window.addEventListener(`keydown`,n,!0),()=>{window.removeEventListener(`keydown`,n,!0),window.setTimeout(t,0)}},[]);let c=e.health===`online`,l=e.managed&&[`running`,`starting`,`stopping`].includes(e.serverState??``);return(0,R.jsxs)(`div`,{"data-pibo-debug":`preview-fullscreen-top-bar`,className:`h-8 min-h-8 flex items-center gap-2 border-b border-slate-600 bg-[#151f24] px-2`,children:[(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-semibold`,children:e.label}),(0,R.jsx)(`span`,{className:`rounded-sm border px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider ${DF(e.health)}`,children:e.health}),e.managed&&!l?(0,R.jsx)(NF,{label:`Start Preview server`,disabled:t,onClick:r,children:(0,R.jsx)(Wn,{size:14})}):null,e.managed&&e.serverState!==`stopping`&&l?(0,R.jsx)(NF,{label:`Stop Preview server`,disabled:t,onClick:i,children:(0,R.jsx)(Qn,{size:13})}):null,(0,R.jsx)(NF,{label:`Reload live preview`,disabled:!c,onClick:n,children:(0,R.jsx)(Kn,{size:14})}),(0,R.jsx)(NF,{label:`Open live preview in new window`,disabled:!c,onClick:()=>OF(e),children:(0,R.jsx)(wn,{size:14})}),(0,R.jsx)(NF,{buttonRef:o,label:`Exit Preview fullscreen`,onClick:a,children:(0,R.jsx)(Un,{size:14})})]})}function MF({preview:e,actionPending:t,onStart:n}){let r=[`running`,`starting`,`stopping`].includes(e.serverState??``),i=e.health===`starting`?`Starting Preview server…`:e.health===`stopping`?`Stopping Preview server…`:e.health===`error`?`The Preview server could not stay running.`:e.managed&&r?`The Preview server is running, but its port is not reachable.`:e.managed?`The Preview server is stopped.`:`The exposed server is offline.`;return(0,R.jsx)(`div`,{className:`min-h-0 flex-1 grid place-items-center bg-[#0e1116] p-6 text-center`,role:`status`,"aria-live":`polite`,children:(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`text-sm text-slate-400`,children:i}),e.managed&&!r?(0,R.jsxs)(`button`,{type:`button`,disabled:t,onClick:n,className:`mt-4 inline-flex items-center gap-2 border border-[#11a4d4] bg-[#11a4d4]/10 px-3 py-2 text-xs font-semibold text-[#7ddfff] hover:bg-[#11a4d4]/20 disabled:opacity-50`,children:[(0,R.jsx)(Wn,{size:14}),` `,t?`Starting…`:`Start server`]}):null]})})}function NF({buttonRef:e,label:t,danger:n=!1,disabled:r=!1,onClick:i,children:a}){return(0,R.jsx)(`button`,{ref:e,type:`button`,title:t,"aria-label":t,disabled:r,onClick:i,className:`h-7 w-7 shrink-0 inline-flex items-center justify-center border rounded-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#11a4d4]/60 disabled:cursor-not-allowed disabled:opacity-35 ${n?`border-red-500/40 text-red-300 hover:border-red-300 hover:text-red-200`:`border-slate-700 text-slate-400 hover:border-[#11a4d4] hover:text-[#11a4d4]`}`,children:a})}function PF({label:e,tone:t=`normal`}){return(0,R.jsx)(`div`,{role:t===`error`?`alert`:`status`,className:`min-h-0 flex-1 grid place-items-center bg-[#0e1116] p-6 text-sm ${t===`error`?`text-red-200`:`text-slate-500`}`,children:e})}function FF(e){let t=new Date(e);return Number.isNaN(t.getTime())?`soon`:t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}var IF=e=>[`chat`,`session-live-previews`,e];function LF({bootstrap:e,selectedPiboSessionId:t,selectedRoomId:n,contextKind:r=`room`,contextLabel:i,selectedRoomArchived:a,roomNavigationPending:o,sessionNavigationPending:s,selectedSessionProfile:c,selectedSessionActiveModel:l,selectedSessionStatus:u,selectedSessionSignal:d,signals:f,workflowProjectSession:p,workflowLifecycleEvents:m,projectSessionCreatePanel:h,workflowStartPanel:g,projectModulePanel:_,extraViewTabs:v,activeViewId:y,sessionViewId:b,sessionViews:x,currentSessionView:S,allowedSessionViewIds:C,creatingSession:w,terminalFullscreen:T=!1,onEnterTerminalFullscreen:E,onExitTerminalFullscreen:D,showRawEvents:O,showThinking:k,expandThinking:ee,toolDisplayMode:A,commands:te,skills:j,composerText:M,composerFocusSignal:ne,onComposerTextChange:N,onToggleRawEvents:P,onToggleThinking:re,onToggleExpandThinking:ie,onToolDisplayModeChange:ae,onSessionAgentProfileChange:oe,onFork:se,onOpenSession:ce,onSelectSessionView:le,onCommand:ue,onThinkingLevelChange:de,onRefreshTrace:fe,onRefreshBootstrap:pe,onSend:me,onError:he}){let ge=Ke(),_e=(0,L.useRef)(0),ve=(0,L.useRef)(new Map),[ye,be]=(0,L.useState)(null),xe=(0,L.useCallback)(e=>{be(t=>{let n=typeof e==`function`?e(t):e;return n&&ve.current.set(n.piboSessionId,n),n})},[]),[Se,Ce]=(0,L.useState)(null),[we,Te]=(0,L.useState)([]),[Ee,De]=(0,L.useState)([]),Oe=(0,L.useRef)(new Set),F=(0,L.useRef)(null),ke=(0,L.useRef)(null),I=oF(t);(0,L.useEffect)(()=>{let t=e.runtimeStatus?.piboSessionId===I?e.runtimeStatus:void 0;Te(t?.pendingApprovals?[...t.pendingApprovals]:[]),De(t?.pendingUserInputs?[...t.pendingUserInputs]:[])},[e.runtimeStatus,I]);let Ae=(0,L.useCallback)(e=>{if(e.type===`RUNTIME_APPROVAL_REQUESTED`){Te(t=>[...t.filter(t=>t.requestId!==e.request.requestId),e.request]);return}if(e.type===`RUNTIME_USER_INPUT_REQUESTED`){De(t=>[...t.filter(t=>t.requestId!==e.request.requestId),e.request]);return}Te(t=>t.filter(t=>t.requestId!==e.requestId)),De(t=>t.filter(t=>t.requestId!==e.requestId))},[]),je=(0,L.useCallback)(e=>{Te(t=>t.filter(t=>t.requestId!==e)),De(t=>t.filter(t=>t.requestId!==e))},[]),Me=st({queryKey:I?[`chat`,`session-goal`,I]:[`chat`,`session-goal`,`idle`],queryFn:({signal:e})=>sw(I,{signal:e}),enabled:!!I,refetchInterval:I?5e3:!1}),Ne=(0,L.useRef)(I);Ne.current=I;let[Pe,Fe]=(0,L.useState)(null),[Ie,Le]=(0,L.useState)(),[Re,ze]=(0,L.useState)(),Be=(0,L.useRef)(new Set),[Ve,He]=(0,L.useState)(new Set),Ue=st({queryKey:IF(I||`idle`),queryFn:async({signal:e})=>{let t=I;return{piboSessionId:t,...await bF(t,{signal:e})}},enabled:!!I,refetchInterval:e=>I&&e.state.data?.configured!==!1?5e3:!1,retry:!1}),We=wF({selectedPiboSessionId:I??void 0,data:Ue.data,loading:Ue.isPending&&!!I,error:Ue.isError?sF(Ue.error):void 0}),Ge=We.kind===`ready`?We.previews:[],qe=TF(We,Ie),Je=!!(I&&Pe===I),Ye=Re?.piboSessionId===I?Re.value:0;(0,L.useEffect)(()=>{!I||Pe===I||(Pe&&T&&D?.(),Fe(null),Le(void 0),ze(void 0))},[Pe,D,I,T]),(0,L.useEffect)(()=>{We.kind===`ready`&&(Ie?.piboSessionId===We.piboSessionId&&We.previews.some(e=>e.id===Ie.previewId)||Le({piboSessionId:We.piboSessionId,previewId:We.previews[0].id}))},[We,Ie]);let Xe=!!I&&uF(),Ze=(0,L.useCallback)(()=>{fF()||he(`The browser blocked the new Pibo window.`)},[he]),Qe=Xe?Ze:void 0,{baseTraceView:$e,liveTraceOverlay:et,rawEventLimit:tt,traceSummaryQuery:nt,tracePageQuery:rt,rawEventsQuery:it,loadingOlderTracePage:at,tracePageReady:ot,loadOlderTracePage:ct,loadMoreRawEvents:lt}=MN({selectedPiboSessionId:I,showRawEvents:O,liveTraceOverlay:ye,liveTraceOverlayCacheRef:ve,setLiveTraceOverlay:xe}),{selectedWebAnnotationIds:ut,selectedWebAnnotations:dt,visibleWebAnnotations:ft,webAnnotationsPanelCollapsed:ht,webAnnotationsPanelRendered:gt,webAnnotationsPanelVisible:_t,webAnnotationsQuery:vt,clearingWebAnnotations:yt,setWebAnnotationsPanelVisible:bt,toggleWebAnnotationAttachment:xt,detachWebAnnotationAttachment:Ct,clearSelectedWebAnnotationAttachments:wt,toggleWebAnnotationsPanelCollapsed:Tt,clearVisibleWebAnnotations:Et}=bP({selectedPiboSessionId:I,onError:he,formatError:bA}),{selectedUploadAttachments:Dt,attachUploadedFiles:Ot,detachUploadAttachment:kt,clearSelectedUploadAttachments:At}=yP(t,(0,L.useCallback)(()=>`upload-${pt()}`,[])),jt=iN({selectedPiboSessionId:I,baseTraceView:$e,liveTraceOverlay:et,selectedSessionStatus:u}),Mt=MP(e,t,c),Nt=NP(jt),Pt=!!I&&Mt&&!a&&u!==`running`,It=st({queryKey:I?[`chat`,`fork-candidates`,I,Nt]:[`chat`,`fork-candidates`,`idle`,`none`],queryFn:({signal:e})=>St(I,{signal:e}),enabled:Pt,staleTime:0,retry:!1}),Lt=(0,L.useMemo)(()=>Pt&&It.data?PP(jt,It.data.messages):jt,[jt,Pt,It.data]);pP({selectedPiboSessionId:I,tracePageData:rt.data,currentTraceView:jt,liveEventSeqRef:_e,selectedSessionStatus:u,tracePageReady:ot,setLiveTraceOverlay:xe,onRefreshTrace:fe,onRefreshBootstrap:pe,onRuntimeRequestEvent:Ae,onError:he});let Rt=HP({bootstrap:e,selectedPiboSessionId:t,selectedSessionProfile:c,selectedSessionActiveModel:l,currentTraceView:jt}),zt=(0,L.useMemo)(()=>VP(e.sessions,t),[e.sessions,t]),Bt=!!t&&rt.isFetching&&!jt,Vt=rt.error?sF(rt.error):nt.error?sF(nt.error):null,Ht=mt(t,a)||!!(o||s),Ut=!Je&&!Ht&&S.id===`terminal`&&(y??b)===`terminal`,Wt=(0,L.useCallback)(async e=>{try{let t=await Ft(e);Ot(t.files)}catch(e){he(sF(e))}},[Ot,he]),Gt=jt?.piboSessionId??t??``,Kt=p&&OA(p)?kA(p,u):null,qt=e=>{for(let n of[750,2e3,5e3,1e4])window.setTimeout(()=>{t===e&&rt.refetch().catch(e=>he(sF(e)))},n)},Jt=async(e,t)=>{let n=nF(e,t);xe(e=>rF(e,n.piboSessionId,n.optimisticEvent)),await me(n.text,n.webAnnotationIds,n.fileAttachmentPaths,n.clientTxnId,t),wt(),At(),await Promise.all([rt.refetch(),vt.refetch()]),qt(n.piboSessionId)},Yt=(e,t)=>{xe(t=>{let n=t?.piboSessionId===e.piboSessionId?t:ve.current.get(e.piboSessionId)??null;if(!n)return t;let r=n.events.filter(t=>t.id!==e.clientTxnId),i=r.length?{...n,events:r}:null;return i?ve.current.set(e.piboSessionId,i):ve.current.delete(e.piboSessionId),t?.piboSessionId===e.piboSessionId?i:t}),N(t=>t||e.text),he(sF(t))},z=RP(e,I,c,d),Xt=async e=>{if(Ht||!t)return;let n=tF({piboSessionId:t,text:e,selectedWebAnnotations:dt,selectedUploadAttachments:Dt,eventSequence:_e.current++,now:new Date().toISOString(),clientTxnId:pt()});if(z){Ce(n);return}try{await Jt(n,`queue`)}catch(e){Yt(n,e)}},Zt=()=>{Se&&(N(e=>e||Se.text),Ce(null))},Qt=async e=>{let t=Se;if(!(!t||Oe.current.has(t.clientTxnId))){Oe.current.add(t.clientTxnId),Ce(e=>e?.clientTxnId===t.clientTxnId?null:e),he(null);try{await Jt(t,e)}catch(e){Yt(t,e)}finally{Oe.current.delete(t.clientTxnId)}}},$t=(e,t)=>{let n=bk(e,t);n&&(t.preventDefault(),(n===`queue`?F:ke).current?.focus())},en=zP(e,t,c),tn=A===`intent`&&!en?`slim`:A,nn=UP({currentTraceView:Lt,isLoading:Bt,showThinking:k,expandThinking:ee,toolDisplayMode:tn,selectedSessionProfile:c,sessionActiveModelBadge:Rt,sessionRuntimeBinding:e.session?.id===I?e.session.runtimeBinding:void 0,selectedSessionStatus:u,selectedSessionSignal:d,signals:f,sessionGoal:Me.data?.goal,workflowProjectSession:p,workflowLifecycleEvents:m,sessionNodes:e.sessions,sessionLinks:zt,agentProfiles:e.agents,sessionProfileChangeDisabled:w||a,onSessionAgentProfileChange:oe,onFork:se,onOpenSession:ce,onLoadOlderTracePage:()=>ct(jt?.nextBeforeCursor??jt?.nextBeforeSequence),hasOlderTraceEvents:jt?.hasOlderEvents===!0||jt?.nextBeforeCursor!==void 0||typeof jt?.nextBeforeSequence==`number`,isFetchingOlderTracePage:at,onThinkingLevelChange:de,onRefreshTrace:fe,onRefreshBootstrap:pe,onError:he}),rn=(e,t)=>{t?Be.current.add(e):Be.current.delete(e),He(new Set(Be.current))},an=async(e,t)=>{let n=I;if(!n)return;let r=`${n}:${e}`;if(!Be.current.has(r)){rn(r,!0);try{let r=EF(n,t===`start`?await xF(e):t===`stop`?await SF(e):(await CF(e)).preview);ge.setQueryData(IF(n),e=>!e||e.piboSessionId!==n?e:{...e,previews:t===`remove`?e.previews.filter(e=>e.id!==r.id):e.previews.map(e=>e.id===r.id?r:e)}),Ne.current===n&&(t===`start`&&ze(e=>({piboSessionId:n,value:e?.piboSessionId===n?e.value+1:1})),t===`remove`&&Ie?.piboSessionId===n&&Ie.previewId===r.id&&Le(void 0)),await ge.invalidateQueries({queryKey:IF(n),exact:!0})}catch(e){Ne.current===n&&he(sF(e))}finally{rn(r,!1)}}},on=()=>{I&&ze(e=>({piboSessionId:I,value:e?.piboSessionId===I?e.value+1:1}))},sn=e=>{I&&Le({piboSessionId:I,previewId:e})},cn=qe?Ve.has(`${qe.piboSessionId}:${qe.id}`):!1,ln=v?.map(e=>({...e,onSelect:()=>{Fe(null),e.onSelect()}}))??[],un=We.kind===`ready`||Je?[...ln,{id:`preview`,label:`Preview`,description:`Open the live development preview attached to this Pibo Session.`,active:Je,onSelect:()=>{I&&Fe(I)}}]:ln,dn=We.kind===`loading`?(0,R.jsx)(PF,{label:`Loading live previews…`}):We.kind===`error`?(0,R.jsx)(PF,{label:We.message,tone:`error`}):We.kind===`unconfigured`?(0,R.jsx)(PF,{label:`Live previews are not configured on this Pibo instance.`}):(0,R.jsx)(PF,{label:`No active live preview is attached to this Pibo Session.`}),fn=Je?We.kind===`ready`&&qe?(0,R.jsx)(AF,{previews:Ge,selectedPreview:qe,loading:!1,reloadKey:Ye,onSelect:sn,onReload:on,onRefresh:()=>void Ue.refetch(),onStart:e=>void an(e,`start`),onStop:e=>void an(e,`stop`),onRemove:e=>void an(e,`remove`),actionPending:cn,onEnterFullscreen:E}):dn:_,pn=Je?We.kind===`ready`&&qe?(0,R.jsx)(AF,{previews:Ge,selectedPreview:qe,loading:!1,reloadKey:Ye,fullscreen:!0,onSelect:sn,onReload:on,onRefresh:()=>void Ue.refetch(),onStart:e=>void an(e,`start`),onStop:e=>void an(e,`stop`),onRemove:e=>void an(e,`remove`),actionPending:cn}):dn:void 0,mn=Je&&qe?(0,R.jsx)(jF,{preview:qe,onReload:on,onStart:()=>void an(qe.id,`start`),onStop:()=>void an(qe.id,`stop`),actionPending:cn,onExit:D??(()=>void 0)}):void 0;return(0,R.jsxs)(R.Fragment,{children:[Se?(0,R.jsx)(dC,{title:`Session is running`,description:`Choose how this message should be delivered.`,onClose:Zt,initialFocusRef:F,children:(0,R.jsxs)(`div`,{className:`grid gap-2 p-4 sm:grid-cols-2`,"data-pibo-debug":`message-delivery-dialog`,children:[(0,R.jsxs)(`button`,{ref:F,type:`button`,onClick:()=>void Qt(`queue`),onKeyDown:e=>$t(`queue`,e),className:`rounded-sm border border-slate-700 bg-[#151f24] p-3 text-left transition hover:border-[#11a4d4] hover:bg-[#11a4d4]/10 focus-visible:border-[#11a4d4] focus-visible:bg-[#11a4d4]/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#11a4d4]/50 disabled:opacity-50`,"data-pibo-debug":`message-delivery-queue`,children:[(0,R.jsx)(`span`,{className:`block text-xs font-bold uppercase tracking-wider text-[#11a4d4]`,children:`Queue`}),(0,R.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-slate-400`,children:`Run it as the next turn after the active turn finishes.`})]}),(0,R.jsxs)(`button`,{ref:ke,type:`button`,onClick:()=>void Qt(`steer`),onKeyDown:e=>$t(`steer`,e),className:`rounded-sm border border-amber-500/50 bg-amber-500/5 p-3 text-left transition hover:border-amber-400 hover:bg-amber-500/10 focus-visible:border-amber-400 focus-visible:bg-amber-500/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-400/50 disabled:opacity-50`,"data-pibo-debug":`message-delivery-steer`,children:[(0,R.jsx)(`span`,{className:`block text-xs font-bold uppercase tracking-wider text-amber-400`,children:`Steer`}),(0,R.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-slate-400`,children:`Add it to the active turn after the current tool finishes, before the next model step.`})]})]})}):null,(0,R.jsx)(JA,{selectedPiboSessionId:t,selectedRoomId:n,fallbackRoomId:e.selectedRoomId??void 0,sessionViewId:b,loadingTrace:Bt,roomNavigationPending:o,sessionNavigationPending:s,traceError:Vt,showRawEvents:O&&!Je,currentTraceView:jt,rawEventLimit:tt,tracePageFetching:O?it.isFetching:rt.isFetching,onLoadMoreRawEvents:lt,terminalFullscreen:T,fullscreenTopBar:mn,fullscreenContent:pn,hideComposer:Je,terminalFileDropEnabled:Ut,onTerminalFilesDropped:Wt,onOpenSessionWindow:Qe,onExitTerminalFullscreen:D??(()=>void 0),headerProps:{title:BP({sessionNodes:e.sessions,selectedPiboSessionId:t,traceTitle:jt?.title,fallback:`No session selected`}),contextKind:r,contextLabel:i??(e.room?.id===n?e.room.name:void 0)??n??`Unknown room`,headerPiboSessionId:Gt,piboSessionId:t,piboRoomId:n??e.selectedRoomId??void 0,webAnnotationsDisabled:!t||a,webAnnotationsPanelRendered:gt,workflowHeader:Kt,sessionViewId:b,sessionViews:x,currentSessionView:S,allowedSessionViewIds:C,extraViewTabs:un,activeViewId:Je?`preview`:y,terminalFullscreenAvailable:!Je&&S.id===`terminal`&&(y??b)===`terminal`,onEnterTerminalFullscreen:E,onOpenSessionWindow:Qe,showRawEvents:O,showThinking:k,expandThinking:ee,toolDisplayMode:tn,toolIntentSupported:en,onToolDisplayModeChange:ae,onShowWebAnnotationsPanel:()=>bt(!0),onHideWebAnnotationsPanel:()=>bt(!1),onSelectSessionView:e=>{Fe(null),le(e)},onToggleRawEvents:P,onToggleThinking:re,onToggleExpandThinking:ie,onError:he},projectSessionCreatePanel:h,workflowStartPanel:g,projectModulePanel:fn,currentSessionView:S,sessionViewProps:nn,webAnnotationsPanelRendered:gt&&!Je,webAnnotationsPanelProps:{piboSessionId:t,annotations:ft,selectedIds:ut,loading:vt.isLoading||vt.isFetching||yt,error:vt.error?sF(vt.error):null,collapsed:ht,onRefresh:()=>void vt.refetch(),onToggle:xt,onClear:()=>void Et(),onCollapse:Tt,onClose:()=>bt(!1)},runtimeRequestPanel:I&&!Je?(0,R.jsx)(mF,{piboSessionId:I,approvals:we,userInputs:Ee,onResolved:je,onError:he}):void 0,composerProps:{sessionId:t,disabled:Ht,commands:te,skills:j,value:M,focusSignal:ne,selectedWebAnnotations:dt,selectedUploadAttachments:Dt,onValueChange:N,onCommand:ue,onDetachWebAnnotation:Ct,onClearWebAnnotations:wt,onAttachUploadedFiles:Ot,onDetachUploadAttachment:kt,onClearUploadAttachments:At,onSend:Xt}})]})}function RF({mode:e,onSelectSession:t,onNewSession:n,onDeleteSession:r,onRenameSession:i,onSelectRoom:a}){return e.kind===`rooms`?(0,R.jsx)(GF,{candidates:e.candidates,workspace:e.workspace,onSelectRoom:a}):(0,R.jsx)(UF,{sessions:e.sessions,selectedPiboSessionId:e.selectedPiboSessionId,onSelectSession:t,onNewSession:n,onDeleteSession:r,onRenameSession:i})}function zF(e){return e===`running`?`running`:e===`error`?`error`:e===`completed`?`completed`:`idle`}var BF={running:`bg-cyan-400`,idle:`bg-slate-500`,error:`bg-rose-500`,completed:`bg-emerald-500`},VF={running:`running`,idle:`idle`,error:`error`,completed:`completed`};function HF({status:e}){let t=zF(e);return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[10px] uppercase tracking-wider text-slate-400`,children:[(0,R.jsx)(`span`,{className:`inline-block w-1.5 h-1.5 rounded-full ${BF[t]}`,"aria-hidden":`true`}),VF[t]]})}function UF({sessions:e,selectedPiboSessionId:t,onSelectSession:n,onNewSession:r,onDeleteSession:i,onRenameSession:a}){let o=[...e].sort((e,t)=>{let n=e.lastActivityAt??``;return(t.lastActivityAt??``).localeCompare(n)});return(0,R.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-slate-800 px-3 py-2 bg-[#0c1820]`,"data-testid":`session-list`,children:[(0,R.jsx)(`button`,{type:`button`,className:`shrink-0 w-7 h-7 inline-flex items-center justify-center rounded border border-slate-700 text-slate-300 hover:border-[#11a4d4] hover:text-[#11a4d4]`,title:`New session`,onClick:()=>void r(`default`),children:`+`}),(0,R.jsxs)(`ul`,{className:`flex gap-1 overflow-x-auto min-w-0`,children:[o.map(e=>{let r=e.piboSessionId===t;return(0,R.jsx)(`li`,{className:`shrink-0`,children:(0,R.jsx)(WF,{session:e,isActive:r,onSelect:()=>n(e.piboSessionId),onDelete:()=>void i(e.piboSessionId),onRename:t=>void a(e.piboSessionId,t)})},e.piboSessionId)}),o.length===0&&(0,R.jsx)(`li`,{className:`text-xs text-slate-500 px-2 py-1`,children:`No sessions yet — click + to start one.`})]})]})}function WF({session:e,isActive:t,onSelect:n,onDelete:r,onRename:i}){let[a,o]=(0,L.useState)(!1);return(0,R.jsxs)(`div`,{className:`group inline-flex items-center gap-2 rounded px-2 py-1 border ${t?`border-[#11a4d4] bg-[#102834]`:`border-slate-700 bg-[#0a1418] hover:border-slate-500`}`,children:[(0,R.jsxs)(`button`,{type:`button`,onClick:n,className:`inline-flex items-center gap-2 text-left`,children:[(0,R.jsx)(HF,{status:e.status}),(0,R.jsx)(`span`,{className:`text-xs text-slate-200 max-w-[180px] truncate`,children:e.title||`Untitled`})]}),(0,R.jsx)(`button`,{type:`button`,className:`text-slate-500 hover:text-slate-200 text-xs px-1`,title:`Session actions`,"aria-label":`Session actions`,onClick:e=>{e.stopPropagation(),o(e=>!e)},children:`…`}),a&&(0,R.jsxs)(`div`,{className:`absolute z-10 mt-12 -ml-20 bg-[#0a1418] border border-slate-700 rounded shadow-lg text-xs`,children:[(0,R.jsx)(`button`,{type:`button`,className:`block w-full text-left px-3 py-1.5 hover:bg-[#102834]`,onClick:t=>{t.stopPropagation(),o(!1);let n=window.prompt(`Rename session`,e.title??``);n&&n!==e.title&&i(n)},children:`Rename`}),(0,R.jsx)(`button`,{type:`button`,className:`block w-full text-left px-3 py-1.5 hover:bg-rose-900/30 text-rose-300`,onClick:t=>{t.stopPropagation(),o(!1),window.confirm(`Delete session "${e.title??`Untitled`}"?`)&&r()},children:`Delete`})]})]})}function GF({candidates:e,workspace:t,onSelectRoom:n}){return(0,R.jsxs)(`div`,{className:`border-b border-slate-800 px-3 py-3 bg-[#0c1820]`,"data-testid":`room-picker`,children:[(0,R.jsxs)(`div`,{className:`text-[10px] uppercase tracking-wider text-slate-400 mb-2`,children:[`Multiple rooms found for `,(0,R.jsx)(`span`,{className:`font-mono text-slate-300`,children:t})]}),(0,R.jsx)(`ul`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsxs)(`button`,{type:`button`,className:`w-full text-left px-3 py-2 border border-slate-700 rounded hover:border-[#11a4d4] bg-[#0a1418]`,onClick:()=>n(e.id),children:[(0,R.jsx)(`div`,{className:`font-semibold text-slate-200 text-sm`,children:e.name}),e.topic&&(0,R.jsx)(`div`,{className:`text-xs text-slate-400 mt-0.5`,children:e.topic}),(0,R.jsxs)(`div`,{className:`text-[10px] text-slate-500 mt-1`,children:[`Created `,KF(e.createdAt),` · Updated `,KF(e.updatedAt)]})]})},e.id))})]})}function KF(e){try{return new Date(e).toLocaleString()}catch{return e}}function qF(){return new URLSearchParams(window.location.search).get(`workspace`)}function JF(){return new URLSearchParams(window.location.search).get(`roomId`)}function YF(){let e=(0,L.useMemo)(()=>qF(),[]),[t,n]=(0,L.useState)(()=>JF()),[r,i]=(0,L.useState)(()=>JF()?{kind:`sessions`,roomId:JF(),sessions:[],selectedPiboSessionId:null}:{kind:`rooms`,candidates:[],workspace:e??``}),[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(null),[l,u]=(0,L.useState)(``),[d,f]=(0,L.useState)(0),[p,m]=(0,L.useState)(null),[h,g]=(0,L.useState)(!1),[_,v]=(0,L.useState)(vk),y=(0,L.useMemo)(()=>{let e=a?.sessionNodes;return Array.isArray(e)?e:[]},[a]);(0,L.useEffect)(()=>{if(!t)return;let e=!1;return(async()=>{try{let n=await bt(void 0,!1,t);if(e)return;o(n);let r=n.sessions.find(e=>!e.archived)??n.sessions[0];r&&!s&&c(r.piboSessionId),i({kind:`sessions`,roomId:t,sessions:n.sessions,selectedPiboSessionId:r?.piboSessionId??null})}catch(t){e||m(sF(t))}})(),()=>{e=!0}},[t]);let b=(0,L.useCallback)(async()=>{if(t)try{let e=await bt(s??void 0,!1,t,!0);o(e)}catch(e){m(sF(e))}},[t,s]),x=(0,L.useCallback)(async()=>{await b()},[b]);(0,L.useEffect)(()=>{if(!t)return;let e=`/api/chat/events?${new URLSearchParams({roomId:t,mode:`summary`,since:`0:999999`}).toString()}`,n=new EventSource(e),r,i=()=>{r&&clearTimeout(r),r=setTimeout(()=>{r=void 0,b()},200)};return n.addEventListener(`change`,i),n.addEventListener(`trace`,i),n.addEventListener(`message`,i),n.onerror=()=>{},()=>{r&&clearTimeout(r),n.close()}},[t,b]),(0,L.useEffect)(()=>{let e=e=>{let t=e.data;!t||typeof t!=`object`||(t.type===`pibo/set-selector-mode`?(i(t.mode),t.mode.kind===`sessions`&&n(t.mode.roomId)):t.type===`pibo/refresh-bootstrap`&&b())};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[b]);let S=(0,L.useMemo)(()=>a?_t(a.capabilities.actions):[],[a]),C=(0,L.useMemo)(()=>vt(a,s),[a,s]),w=(0,L.useMemo)(()=>r.kind===`sessions`?r.sessions:y,[r,y]),T=(0,L.useCallback)(e=>{c(e),f(e=>e+1)},[]),E=(0,L.useCallback)(async e=>{if(t)try{let n=await xt(e,t);await b(),n.session?.id&&c(n.session.id)}catch(e){m(sF(e))}},[t,b]),D=(0,L.useCallback)(async e=>{try{await wt(e,`delete`),await b(),s===e&&c(null)}catch(e){m(sF(e))}},[b,s]),O=(0,L.useCallback)(async(e,t)=>{try{await Ct(e,{title:t}),await b()}catch(e){m(sF(e))}},[b]),k=(0,L.useCallback)(e=>{n(e),c(null),o(null),i({kind:`sessions`,roomId:e,sessions:[],selectedPiboSessionId:null});let t=new URLSearchParams(window.location.search);t.set(`roomId`,e),window.history.replaceState(null,``,`${window.location.pathname}?${t.toString()}`)},[]),ee=(0,L.useCallback)(async e=>{if(!(!s||!t))try{await Tt(s,e,pt(),t),u(``),f(e=>e+1),await b()}catch(e){m(sF(e))}},[s,t,b]),A=(0,L.useCallback)(async e=>{if(!s)return!1;let n=e.trim();if(!n)return!1;let r=n.split(/\s+/)[0],i=S.find(e=>e.slash===r);if(!i)return m(`Unknown command: ${r}`),!1;if(i.action===`thinking-show`)return g(e=>!e),!0;if(i.action===`download`){let e=jt(n.slice(r.length));if(!e)return m(`Usage: /download <path>`),!0;try{await It(e,{piboSessionId:s,roomId:t??void 0})}catch(e){m(sF(e))}return!0}try{let e=Mt(i.action,n.slice(r.length).trim());await Dt(s,i.action,e),await b()}catch(e){m(sF(e))}return!0},[S,s,t,b]),te=(0,L.useMemo)(()=>fk(),[]),j=(0,L.useMemo)(()=>pk(Ht),[]);if(!a)return(0,R.jsxs)(`div`,{className:`pibo-vscode-panel h-full flex flex-col bg-[#0c1820] text-slate-200`,children:[(0,R.jsx)(RF,{mode:r,onSelectSession:T,onNewSession:E,onDeleteSession:D,onRenameSession:O,onSelectRoom:k}),(0,R.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-slate-400 text-sm`,children:p?`Error: ${p}`:t?`Loading Pibo…`:`Waiting for room…`})]});if(r.kind===`rooms`){let e=a.rooms??r.candidates;return(0,R.jsxs)(`div`,{className:`pibo-vscode-panel h-full flex flex-col bg-[#0c1820] text-slate-200`,children:[(0,R.jsx)(RF,{mode:{kind:`rooms`,candidates:e,workspace:r.workspace},onSelectSession:T,onNewSession:E,onDeleteSession:D,onRenameSession:O,onSelectRoom:k}),(0,R.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-slate-400 text-sm`,children:`Multiple rooms found — pick one above to continue.`})]})}let M=a.sessions.find(e=>e.piboSessionId===s);return(0,R.jsxs)(`div`,{className:`pibo-vscode-panel h-full flex flex-col bg-[#0c1820] text-slate-200`,children:[(0,R.jsx)(RF,{mode:{kind:`sessions`,roomId:t??``,sessions:w,selectedPiboSessionId:s},onSelectSession:T,onNewSession:E,onDeleteSession:D,onRenameSession:O,onSelectRoom:k}),p&&(0,R.jsxs)(`div`,{className:`bg-rose-900/40 border-b border-rose-700 text-rose-200 text-xs px-3 py-1.5`,role:`alert`,children:[p,(0,R.jsx)(`button`,{type:`button`,className:`ml-3 underline`,onClick:()=>m(null),children:`dismiss`})]}),(0,R.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,R.jsx)(LF,{bootstrap:a,selectedPiboSessionId:s,selectedRoomId:t,selectedRoomArchived:!1,selectedSessionProfile:M?.profile??`default`,selectedSessionActiveModel:M?ut(a,M)??void 0:void 0,selectedSessionStatus:M?.status,sessionViewId:Ht,sessionViews:te,currentSessionView:j,allowedSessionViewIds:[`terminal`],creatingSession:!1,showRawEvents:!1,showThinking:h,expandThinking:!1,toolDisplayMode:_,commands:S,skills:C,composerText:l,composerFocusSignal:d,onComposerTextChange:u,onToggleRawEvents:()=>void 0,onToggleThinking:()=>g(e=>!e),onToggleExpandThinking:()=>void 0,onToolDisplayModeChange:e=>{v(e),yk(e)},onSessionAgentProfileChange:()=>void 0,onFork:()=>void 0,onOpenSession:e=>c(e),onSelectSessionView:()=>void 0,onCommand:A,onThinkingLevelChange:e=>void A(`/thinking ${e}`),onRefreshTrace:x,onRefreshBootstrap:b,onSend:ee,onError:m})})]})}var XF=new He({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1}}}),ZF=document.getElementById(`root`);ZF&&(0,ct.createRoot)(ZF).render((0,R.jsx)(L.StrictMode,{children:(0,R.jsx)(qe,{client:XF,children:(0,R.jsx)(YF,{})})}));