@tonyclaw/agent-inspector 2.0.8 → 2.0.9

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 (26) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-Djb4XFZS.js → CompareDrawer-Cb4RH049.js} +1 -1
  3. package/.output/public/assets/{ProxyViewerContainer-CWdkPZsJ.js → ProxyViewerContainer-Cmr2TANl.js} +4 -4
  4. package/.output/public/assets/{ReplayDialog-DBPMIs2I.js → ReplayDialog-B3y8E7IE.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-FBfRNQN7.js → RequestAnatomy-C7BQYj95.js} +1 -1
  6. package/.output/public/assets/{ResponseView-Db4pJL7U.js → ResponseView-Bylsp4WJ.js} +1 -1
  7. package/.output/public/assets/{StreamingChunkSequence-BH175O6R.js → StreamingChunkSequence-CJH13VD3.js} +1 -1
  8. package/.output/public/assets/_sessionId-3e8W68GL.js +1 -0
  9. package/.output/public/assets/index-Cz5aqmzE.js +1 -0
  10. package/.output/public/assets/{main-CwhqfJqM.js → main-Bww0Bc88.js} +2 -2
  11. package/.output/server/{_sessionId-DzBy9gLa.mjs → _sessionId-BnCF8Ito.mjs} +2 -2
  12. package/.output/server/_ssr/{CompareDrawer-C5NBvE2e.mjs → CompareDrawer-jPU14EI3.mjs} +2 -2
  13. package/.output/server/_ssr/{ProxyViewerContainer-DiZjOTQT.mjs → ProxyViewerContainer-xesEFppM.mjs} +7 -7
  14. package/.output/server/_ssr/{ReplayDialog-EpvTwFvp.mjs → ReplayDialog-DQvW2zoW.mjs} +3 -3
  15. package/.output/server/_ssr/{RequestAnatomy-DaQjhixp.mjs → RequestAnatomy-BilEphjP.mjs} +2 -2
  16. package/.output/server/_ssr/{ResponseView-D8tGHCGY.mjs → ResponseView-DB5PPcWf.mjs} +2 -2
  17. package/.output/server/_ssr/{StreamingChunkSequence-DGQnb1QE.mjs → StreamingChunkSequence-Dnrgn2AP.mjs} +2 -2
  18. package/.output/server/_ssr/{index-N25hqa7t.mjs → index-YPp821bH.mjs} +2 -2
  19. package/.output/server/_ssr/index.mjs +2 -2
  20. package/.output/server/_ssr/{router-Bf0m6F0G.mjs → router-BvuK0vQv.mjs} +2 -2
  21. package/.output/server/{_tanstack-start-manifest_v-DlAyJ5DB.mjs → _tanstack-start-manifest_v-DGw3vVOm.mjs} +1 -1
  22. package/.output/server/index.mjs +53 -53
  23. package/bin/agent-inspector.js +2 -0
  24. package/package.json +3 -2
  25. package/.output/public/assets/_sessionId-3ipVoQtW.js +0 -1
  26. package/.output/public/assets/index-CJgaCJo8.js +0 -1
@@ -1 +1 @@
1
- import{r as c,j as s}from"./main-CwhqfJqM.js";import{u as _,D as L,k as P,l as z,m as A,n as H,T as f,o as j,p as l,q as o,s as G,t as K,v as Q,w as U,x as W,y as X,z as C,A as T,E as O}from"./ProxyViewerContainer-CWdkPZsJ.js";import{ResponseView as k}from"./ResponseView-Db4pJL7U.js";function D(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Y(e){return e==null?null:new TextEncoder().encode(e).length}function Z(e){try{const t=JSON.parse(e);if(!D(t))return null;const a=t.model;return typeof a=="string"&&a.length>0?a:null}catch{return null}}function ee(e,t){try{const a=JSON.parse(e);return D(a)?{body:JSON.stringify({...a,model:t},null,2),error:null}:{body:e,error:"Request body must be a JSON object."}}catch{return{body:e,error:"Request body must be valid JSON before changing the replay model."}}}function $(e){return{status:e.status??null,elapsedMs:e.elapsedMs??null,inputTokens:e.inputTokens??null,outputTokens:e.outputTokens??null,responseBytes:Y(e.responseText),streaming:e.streaming===!0}}function m(e,t){return e===null||t===null?null:t-e}function se(e,t){return[{id:"status",label:"Status",original:e.status,replay:t.status,delta:m(e.status,t.status)},{id:"elapsed",label:"Elapsed",original:e.elapsedMs,replay:t.elapsedMs,delta:m(e.elapsedMs,t.elapsedMs)},{id:"input",label:"Input",original:e.inputTokens,replay:t.inputTokens,delta:m(e.inputTokens,t.inputTokens)},{id:"output",label:"Output",original:e.outputTokens,replay:t.outputTokens,delta:m(e.outputTokens,t.outputTokens)},{id:"bytes",label:"Bytes",original:e.responseBytes,replay:t.responseBytes,delta:m(e.responseBytes,t.responseBytes)},{id:"streaming",label:"Stream",original:e.streaming,replay:t.streaming,delta:null}]}const te=X({success:C(),error:O().optional(),responseStatus:T().nullable().optional(),responseText:O().nullable().optional(),inputTokens:T().nullable().optional(),outputTokens:T().nullable().optional(),elapsedMs:T().nullable().optional(),streaming:C().optional()});function E(e){return e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`}function B(e,t){if(e===null)return"-";if(typeof e=="boolean")return e?"stream":"non-stream";switch(t){case"elapsed":return E(e);case"input":case"output":case"bytes":return e.toLocaleString();case"status":return String(e);case"streaming":return e?"stream":"non-stream"}}function ne(e,t){if(e===null)return"-";const a=e>0?"+":"";switch(t){case"elapsed":return`${a}${E(e)}`;case"input":case"output":case"bytes":case"status":return`${a}${e.toLocaleString()}`;case"streaming":return"-"}}function re(e){return e===null||e===0?"text-muted-foreground":e>0?"text-amber-400":"text-emerald-400"}function q({comparisons:e}){return s.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[s.jsxs("div",{className:"grid grid-cols-[1fr_1fr_1fr_1fr] bg-muted/40 px-3 py-2 text-[11px] font-medium text-muted-foreground",children:[s.jsx("span",{children:"Metric"}),s.jsx("span",{children:"Original"}),s.jsx("span",{children:"Replay"}),s.jsx("span",{children:"Delta"})]}),e.map(t=>s.jsxs("div",{className:"grid grid-cols-[1fr_1fr_1fr_1fr] border-t border-border px-3 py-2 text-xs",children:[s.jsx("span",{className:"text-muted-foreground",children:t.label}),s.jsx("span",{className:"font-mono",children:B(t.original,t.id)}),s.jsx("span",{className:"font-mono",children:B(t.replay,t.id)}),s.jsx("span",{className:`font-mono ${re(t.delta)}`,children:ne(t.delta,t.id)})]},t.id))]})}function ue({log:e,open:t,onOpenChange:a}){const{providers:R}=_(),[x,N]=c.useState(()=>e.rawRequestBody??"{}"),[n,h]=c.useState(null),[w,b]=c.useState(!1),[y,i]=c.useState(null);async function F(){b(!0),i(null),h(null);try{const u=await(await fetch(`/api/logs/${e.id}/replay`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({modifiedBody:x})})).json(),p=te.safeParse(u);if(!p.success){i("Invalid response from server"),b(!1);return}const v=p.data;h(v),v.success||i(v.error??"Replay failed")}catch(r){i(r instanceof Error?r.message:"Network error")}finally{b(!1)}}function J(){h(null),i(null),a(!1)}const g=c.useMemo(()=>{const r=[];for(const u of R)for(const p of u.models)p.trim().length!==0&&r.push({key:`${u.id}:${p}`,providerName:u.name,model:p});return r},[R]),d=Z(x)??e.model??"";function I(r){const u=ee(x,r);if(u.error!==null){i(u.error);return}N(u.body),h(null),i(null)}const V=$({status:e.responseStatus,elapsedMs:e.elapsedMs,inputTokens:e.inputTokens,outputTokens:e.outputTokens,responseText:e.responseText,streaming:e.streaming}),S=n===null?null:$({status:n.responseStatus,elapsedMs:n.elapsedMs,inputTokens:n.inputTokens,outputTokens:n.outputTokens,responseText:n.responseText,streaming:n.streaming}),M=S===null?[]:se(V,S);return s.jsx(L,{open:t,onOpenChange:J,children:s.jsxs(P,{className:"max-w-4xl max-h-[85vh] overflow-auto",children:[s.jsx(z,{children:s.jsxs(A,{className:"flex items-center gap-2",children:[s.jsx(H,{className:"size-4"}),"Replay Request #",e.id]})}),s.jsxs(f,{defaultValue:"modified",children:[s.jsxs(j,{children:[s.jsx(l,{value:"modified",children:"Modified Request"}),s.jsx(l,{value:"original",children:"Original Response"}),n&&s.jsx(l,{value:"replay",children:"Replay Response"}),n&&s.jsx(l,{value:"compare",children:"Compare"})]}),s.jsxs(o,{value:"modified",className:"space-y-4",children:[g.length>0&&s.jsxs("div",{className:"grid gap-1.5",children:[s.jsx("label",{htmlFor:`replay-model-${String(e.id)}`,className:"text-sm font-medium",children:"Replay target"}),s.jsxs("select",{id:`replay-model-${String(e.id)}`,value:d,onChange:r=>I(r.currentTarget.value),className:"h-8 rounded-md border border-input bg-background px-2 text-sm",children:[d===""&&s.jsx("option",{value:"",children:"Select model"}),d!==""&&!g.some(r=>r.model===d)&&s.jsx("option",{value:d,children:d}),g.map(r=>s.jsxs("option",{value:r.model,children:[r.providerName," / ",r.model]},r.key))]})]}),s.jsxs("div",{children:[s.jsx("label",{className:"text-sm font-medium mb-2 block",children:"Request Body (JSON)"}),s.jsx(G,{children:s.jsxs(K,{children:[s.jsx(Q,{asChild:!0,children:s.jsx("textarea",{className:"w-full h-64 p-3 font-mono text-xs bg-muted rounded-md border border-input resize-none focus:outline-none focus:ring-2 focus:ring-ring",value:x,onChange:r=>N(r.target.value),spellCheck:!1})}),s.jsx(U,{children:"Edit the request body before re-sending to the provider"})]})})]}),y!==null&&y!==""&&s.jsx("div",{className:"text-sm text-destructive bg-destructive/10 px-3 py-2 rounded-md",children:y}),s.jsx("div",{className:"flex justify-end",children:s.jsx(W,{onClick:()=>{F()},disabled:w,children:w?"Replaying...":"Replay"})}),n!==null&&s.jsx(q,{comparisons:M.slice(0,4)}),n&&n.success&&s.jsxs(f,{defaultValue:"parsed",children:[s.jsxs(j,{children:[s.jsx(l,{value:"parsed",children:"Response"}),s.jsx(l,{value:"raw",children:"Raw Response"})]}),s.jsx(o,{value:"parsed",children:s.jsx(k,{responseText:n.responseText??null,responseStatus:n.responseStatus??null,streaming:n.streaming??!1,inputTokens:n.inputTokens??null,outputTokens:n.outputTokens??null,apiFormat:e.apiFormat})}),s.jsx(o,{value:"raw",children:s.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap bg-muted p-3 rounded-md max-h-96 overflow-auto",children:n.responseText??"No response"})})]})]}),s.jsx(o,{value:"original",children:e.responseText!==null?s.jsxs(f,{defaultValue:"parsed",children:[s.jsxs(j,{children:[s.jsx(l,{value:"parsed",children:"Response"}),s.jsx(l,{value:"raw",children:"Raw Response"})]}),s.jsx(o,{value:"parsed",children:s.jsx(k,{responseText:e.responseText,responseStatus:e.responseStatus,streaming:e.streaming,inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheCreationInputTokens:e.cacheCreationInputTokens,cacheReadInputTokens:e.cacheReadInputTokens,apiFormat:e.apiFormat})}),s.jsx(o,{value:"raw",children:s.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap bg-muted p-3 rounded-md max-h-96 overflow-auto",children:e.responseText})})]}):s.jsx("p",{className:"text-sm text-muted-foreground italic",children:"No original response"})}),n&&n.success&&s.jsx(o,{value:"replay",children:(n.responseText??null)!==null?s.jsxs(f,{defaultValue:"parsed",children:[s.jsxs(j,{children:[s.jsx(l,{value:"parsed",children:"Response"}),s.jsx(l,{value:"raw",children:"Raw Response"})]}),s.jsx(o,{value:"parsed",children:s.jsx(k,{responseText:n.responseText??null,responseStatus:n.responseStatus??null,streaming:n.streaming??!1,inputTokens:n.inputTokens??null,outputTokens:n.outputTokens??null,apiFormat:e.apiFormat})}),s.jsx(o,{value:"raw",children:s.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap bg-muted p-3 rounded-md max-h-96 overflow-auto",children:n.responseText??""})})]}):s.jsx("p",{className:"text-sm text-muted-foreground italic",children:"No replay response"})}),n&&s.jsxs(o,{value:"compare",className:"space-y-3",children:[s.jsx(q,{comparisons:M}),n.success?null:s.jsx("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:n.error??"Replay failed"})]})]})]})})}export{ue as ReplayDialog};
1
+ import{r as c,j as s}from"./main-Bww0Bc88.js";import{u as _,D as L,k as P,l as z,m as A,n as H,T as f,o as j,p as l,q as o,s as G,t as K,v as Q,w as U,x as W,y as X,z as C,A as T,E as O}from"./ProxyViewerContainer-Cmr2TANl.js";import{ResponseView as k}from"./ResponseView-Bylsp4WJ.js";function D(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Y(e){return e==null?null:new TextEncoder().encode(e).length}function Z(e){try{const t=JSON.parse(e);if(!D(t))return null;const a=t.model;return typeof a=="string"&&a.length>0?a:null}catch{return null}}function ee(e,t){try{const a=JSON.parse(e);return D(a)?{body:JSON.stringify({...a,model:t},null,2),error:null}:{body:e,error:"Request body must be a JSON object."}}catch{return{body:e,error:"Request body must be valid JSON before changing the replay model."}}}function $(e){return{status:e.status??null,elapsedMs:e.elapsedMs??null,inputTokens:e.inputTokens??null,outputTokens:e.outputTokens??null,responseBytes:Y(e.responseText),streaming:e.streaming===!0}}function m(e,t){return e===null||t===null?null:t-e}function se(e,t){return[{id:"status",label:"Status",original:e.status,replay:t.status,delta:m(e.status,t.status)},{id:"elapsed",label:"Elapsed",original:e.elapsedMs,replay:t.elapsedMs,delta:m(e.elapsedMs,t.elapsedMs)},{id:"input",label:"Input",original:e.inputTokens,replay:t.inputTokens,delta:m(e.inputTokens,t.inputTokens)},{id:"output",label:"Output",original:e.outputTokens,replay:t.outputTokens,delta:m(e.outputTokens,t.outputTokens)},{id:"bytes",label:"Bytes",original:e.responseBytes,replay:t.responseBytes,delta:m(e.responseBytes,t.responseBytes)},{id:"streaming",label:"Stream",original:e.streaming,replay:t.streaming,delta:null}]}const te=X({success:C(),error:O().optional(),responseStatus:T().nullable().optional(),responseText:O().nullable().optional(),inputTokens:T().nullable().optional(),outputTokens:T().nullable().optional(),elapsedMs:T().nullable().optional(),streaming:C().optional()});function E(e){return e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`}function B(e,t){if(e===null)return"-";if(typeof e=="boolean")return e?"stream":"non-stream";switch(t){case"elapsed":return E(e);case"input":case"output":case"bytes":return e.toLocaleString();case"status":return String(e);case"streaming":return e?"stream":"non-stream"}}function ne(e,t){if(e===null)return"-";const a=e>0?"+":"";switch(t){case"elapsed":return`${a}${E(e)}`;case"input":case"output":case"bytes":case"status":return`${a}${e.toLocaleString()}`;case"streaming":return"-"}}function re(e){return e===null||e===0?"text-muted-foreground":e>0?"text-amber-400":"text-emerald-400"}function q({comparisons:e}){return s.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[s.jsxs("div",{className:"grid grid-cols-[1fr_1fr_1fr_1fr] bg-muted/40 px-3 py-2 text-[11px] font-medium text-muted-foreground",children:[s.jsx("span",{children:"Metric"}),s.jsx("span",{children:"Original"}),s.jsx("span",{children:"Replay"}),s.jsx("span",{children:"Delta"})]}),e.map(t=>s.jsxs("div",{className:"grid grid-cols-[1fr_1fr_1fr_1fr] border-t border-border px-3 py-2 text-xs",children:[s.jsx("span",{className:"text-muted-foreground",children:t.label}),s.jsx("span",{className:"font-mono",children:B(t.original,t.id)}),s.jsx("span",{className:"font-mono",children:B(t.replay,t.id)}),s.jsx("span",{className:`font-mono ${re(t.delta)}`,children:ne(t.delta,t.id)})]},t.id))]})}function ue({log:e,open:t,onOpenChange:a}){const{providers:R}=_(),[x,N]=c.useState(()=>e.rawRequestBody??"{}"),[n,h]=c.useState(null),[w,b]=c.useState(!1),[y,i]=c.useState(null);async function F(){b(!0),i(null),h(null);try{const u=await(await fetch(`/api/logs/${e.id}/replay`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({modifiedBody:x})})).json(),p=te.safeParse(u);if(!p.success){i("Invalid response from server"),b(!1);return}const v=p.data;h(v),v.success||i(v.error??"Replay failed")}catch(r){i(r instanceof Error?r.message:"Network error")}finally{b(!1)}}function J(){h(null),i(null),a(!1)}const g=c.useMemo(()=>{const r=[];for(const u of R)for(const p of u.models)p.trim().length!==0&&r.push({key:`${u.id}:${p}`,providerName:u.name,model:p});return r},[R]),d=Z(x)??e.model??"";function I(r){const u=ee(x,r);if(u.error!==null){i(u.error);return}N(u.body),h(null),i(null)}const V=$({status:e.responseStatus,elapsedMs:e.elapsedMs,inputTokens:e.inputTokens,outputTokens:e.outputTokens,responseText:e.responseText,streaming:e.streaming}),S=n===null?null:$({status:n.responseStatus,elapsedMs:n.elapsedMs,inputTokens:n.inputTokens,outputTokens:n.outputTokens,responseText:n.responseText,streaming:n.streaming}),M=S===null?[]:se(V,S);return s.jsx(L,{open:t,onOpenChange:J,children:s.jsxs(P,{className:"max-w-4xl max-h-[85vh] overflow-auto",children:[s.jsx(z,{children:s.jsxs(A,{className:"flex items-center gap-2",children:[s.jsx(H,{className:"size-4"}),"Replay Request #",e.id]})}),s.jsxs(f,{defaultValue:"modified",children:[s.jsxs(j,{children:[s.jsx(l,{value:"modified",children:"Modified Request"}),s.jsx(l,{value:"original",children:"Original Response"}),n&&s.jsx(l,{value:"replay",children:"Replay Response"}),n&&s.jsx(l,{value:"compare",children:"Compare"})]}),s.jsxs(o,{value:"modified",className:"space-y-4",children:[g.length>0&&s.jsxs("div",{className:"grid gap-1.5",children:[s.jsx("label",{htmlFor:`replay-model-${String(e.id)}`,className:"text-sm font-medium",children:"Replay target"}),s.jsxs("select",{id:`replay-model-${String(e.id)}`,value:d,onChange:r=>I(r.currentTarget.value),className:"h-8 rounded-md border border-input bg-background px-2 text-sm",children:[d===""&&s.jsx("option",{value:"",children:"Select model"}),d!==""&&!g.some(r=>r.model===d)&&s.jsx("option",{value:d,children:d}),g.map(r=>s.jsxs("option",{value:r.model,children:[r.providerName," / ",r.model]},r.key))]})]}),s.jsxs("div",{children:[s.jsx("label",{className:"text-sm font-medium mb-2 block",children:"Request Body (JSON)"}),s.jsx(G,{children:s.jsxs(K,{children:[s.jsx(Q,{asChild:!0,children:s.jsx("textarea",{className:"w-full h-64 p-3 font-mono text-xs bg-muted rounded-md border border-input resize-none focus:outline-none focus:ring-2 focus:ring-ring",value:x,onChange:r=>N(r.target.value),spellCheck:!1})}),s.jsx(U,{children:"Edit the request body before re-sending to the provider"})]})})]}),y!==null&&y!==""&&s.jsx("div",{className:"text-sm text-destructive bg-destructive/10 px-3 py-2 rounded-md",children:y}),s.jsx("div",{className:"flex justify-end",children:s.jsx(W,{onClick:()=>{F()},disabled:w,children:w?"Replaying...":"Replay"})}),n!==null&&s.jsx(q,{comparisons:M.slice(0,4)}),n&&n.success&&s.jsxs(f,{defaultValue:"parsed",children:[s.jsxs(j,{children:[s.jsx(l,{value:"parsed",children:"Response"}),s.jsx(l,{value:"raw",children:"Raw Response"})]}),s.jsx(o,{value:"parsed",children:s.jsx(k,{responseText:n.responseText??null,responseStatus:n.responseStatus??null,streaming:n.streaming??!1,inputTokens:n.inputTokens??null,outputTokens:n.outputTokens??null,apiFormat:e.apiFormat})}),s.jsx(o,{value:"raw",children:s.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap bg-muted p-3 rounded-md max-h-96 overflow-auto",children:n.responseText??"No response"})})]})]}),s.jsx(o,{value:"original",children:e.responseText!==null?s.jsxs(f,{defaultValue:"parsed",children:[s.jsxs(j,{children:[s.jsx(l,{value:"parsed",children:"Response"}),s.jsx(l,{value:"raw",children:"Raw Response"})]}),s.jsx(o,{value:"parsed",children:s.jsx(k,{responseText:e.responseText,responseStatus:e.responseStatus,streaming:e.streaming,inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheCreationInputTokens:e.cacheCreationInputTokens,cacheReadInputTokens:e.cacheReadInputTokens,apiFormat:e.apiFormat})}),s.jsx(o,{value:"raw",children:s.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap bg-muted p-3 rounded-md max-h-96 overflow-auto",children:e.responseText})})]}):s.jsx("p",{className:"text-sm text-muted-foreground italic",children:"No original response"})}),n&&n.success&&s.jsx(o,{value:"replay",children:(n.responseText??null)!==null?s.jsxs(f,{defaultValue:"parsed",children:[s.jsxs(j,{children:[s.jsx(l,{value:"parsed",children:"Response"}),s.jsx(l,{value:"raw",children:"Raw Response"})]}),s.jsx(o,{value:"parsed",children:s.jsx(k,{responseText:n.responseText??null,responseStatus:n.responseStatus??null,streaming:n.streaming??!1,inputTokens:n.inputTokens??null,outputTokens:n.outputTokens??null,apiFormat:e.apiFormat})}),s.jsx(o,{value:"raw",children:s.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap bg-muted p-3 rounded-md max-h-96 overflow-auto",children:n.responseText??""})})]}):s.jsx("p",{className:"text-sm text-muted-foreground italic",children:"No replay response"})}),n&&s.jsxs(o,{value:"compare",className:"space-y-3",children:[s.jsx(q,{comparisons:M}),n.success?null:s.jsx("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:n.error??"Replay failed"})]})]})]})})}export{ue as ReplayDialog};
@@ -1 +1 @@
1
- import{r as g,j as t}from"./main-CwhqfJqM.js";import{c as Q,F as q,f,s as H,b as N,t as M,v as P,w as z}from"./ProxyViewerContainer-CWdkPZsJ.js";const Z=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],ee=Q("info",Z),V=.75,Y=.9,A=8e3,te=.35,se=40,ne=160,oe=18,re=6e4,ae=.7,W=3e3,le=.3,ie=["context_window","contextWindow","context_length","contextLength","max_context_length","maxContextLength","max_input_tokens","maxInputTokens"],ce=["max_tokens","maxTokens","max_completion_tokens","maxCompletionTokens","max_output_tokens","maxOutputTokens"],ue=[{family:"OpenAI GPT-4.1",tokens:1047576,mode:"prefix",patterns:["gpt-4.1"]},{family:"OpenAI GPT-4o",tokens:128e3,mode:"prefix",patterns:["gpt-4o"]},{family:"OpenAI o-series",tokens:128e3,mode:"prefix",patterns:["o1","o3","o4"]},{family:"Anthropic Claude",tokens:2e5,mode:"prefix",patterns:["claude-"]},{family:"DeepSeek",tokens:64e3,mode:"prefix",patterns:["deepseek-"]},{family:"MiniMax",tokens:1e6,mode:"includes",patterns:["minimax"]}],de={system:"System",user:"User messages",assistant:"Assistant messages",tool:"Tool results",tools:"Tool definitions"};function me(e){if(typeof e=="number")return Number.isFinite(e)&&e>0?Math.floor(e):null;if(typeof e=="string"){const s=Number(e);if(Number.isFinite(s)&&s>0)return Math.floor(s)}return null}function K(e,s){for(const o of s){const r=me(q(e,o));if(r!==null)return r}return null}function xe(e){const s=q(e,"model");if(typeof s!="string")return null;const o=s.trim();return o===""?null:o}function fe(e,s){switch(s.mode){case"prefix":return s.patterns.some(o=>e.startsWith(o));case"includes":return s.patterns.some(o=>e.includes(o))}}function he(e,s){const o=K(s,ie);if(o!==null)return{tokens:o,label:"Request metadata",source:"request"};if(e===null)return{tokens:null,label:"Unknown model",source:"unknown"};const r=e.trim().toLowerCase();for(const a of ue)if(fe(r,a))return{tokens:a.tokens,label:a.family,source:"model-rule"};return{tokens:null,label:"No local rule",source:"unknown"}}function pe(e){return e<0?0:e>1?1:e}function ge(e){return e===null?"unknown":e>=Y?"danger":e>=V?"watch":"ok"}function be(e,s){return e.filter(o=>o.role===s).reduce((o,r)=>o+r.size,0)}function ke(e,s){return["system","user","assistant","tool","tools"].map(r=>{const a=be(e,r);return{role:r,label:de[r],tokens:a,percent:s>0?a/s:0}}).filter(r=>r.tokens>0).sort((r,a)=>a.tokens-r.tokens)}function Ne(e){return e.replace(/\s+/g," ").trim().toLowerCase()}function ve(e){const s=new Map;for(const u of e){if(u.size<se||u.characters<ne)continue;const l=Ne(u.text);if(l==="")continue;const n=s.get(l);if(n===void 0){s.set(l,{count:1,tokens:u.size,firstTokens:u.size,label:u.label});continue}s.set(l,{count:n.count+1,tokens:n.tokens+u.size,firstTokens:n.firstTokens,label:n.label})}let o=0,r=0,a=0,c=null;for(const u of s.values())u.count<2||(o+=1,r+=u.count,a+=u.tokens-u.firstTokens,(c===null||u.tokens>c.tokens)&&(c=u));return o===0||c===null?null:{kind:"duplicate",severity:a>=A?"danger":"watch",title:"Duplicate context",detail:`${String(r)} repeated blocks across ${String(o)} group${o===1?"":"s"}, ~${String(a)} repeated tokens.`}}function we(e,s,o){const r=[],a=e.find(n=>n.role==="tools")??null;a!==null&&(a.tokens>=A||a.percent>=te&&a.tokens>=W)&&r.push({kind:"tool-schema",severity:a.tokens>=A?"danger":"watch",title:"Large tool schema",detail:`Tool definitions take ${Math.round(a.percent*100)}% of request context.`});const c=e.find(n=>n.role==="system")??null;c!==null&&c.tokens>=W&&c.percent>=le&&r.push({kind:"system-heavy",severity:"watch",title:"Large system prompt",detail:`System instructions take ${Math.round(c.percent*100)}% of request context.`});const u=e.filter(n=>n.role==="user"||n.role==="assistant"||n.role==="tool").reduce((n,m)=>n+m.tokens,0),l=s>0?u/s:0;return o>=oe&&(u>=re||l>=ae)&&r.push({kind:"history-bloat",severity:l>=.85?"danger":"watch",title:"Conversation history growth",detail:`${String(o)} message blocks take ${Math.round(l*100)}% of request context.`}),r}function je({segments:e,inputTokens:s,parsed:o,model:r}){const a=e.reduce((k,E)=>k+E.size,0),c=r??xe(o),u=s??a,l=K(o,ce),n=he(c,o),m=l??0,v=n.tokens===null?null:u+m,b=n.tokens===null?null:n.tokens-u,y=n.tokens===null?null:n.tokens-u-m,w=n.tokens===null||v===null?null:pe(v/n.tokens),j=ke(e,a),T=j[0]??null,i=e.filter(k=>k.role!=="tools").length,x=ve(e),h=we(j,a,i);return x!==null&&h.unshift(x),{model:c,contextWindow:n,estimatedInputTokens:u,outputReserveTokens:l,windowUsedTokens:v,remainingInputTokens:b,remainingAfterReserveTokens:y,usagePercent:w,riskLevel:ge(w),roleUsages:j,largestRole:T,diagnostics:h}}const _={watch:V,danger:Y},X={system:"System",user:"User",assistant:"Assistant",tool:"Tool Results",tools:"Tool Definitions"},C={system:"bg-sky-500/70",user:"bg-emerald-500/70",assistant:"bg-violet-500/70",tool:"bg-sky-400/55",tools:"bg-slate-500/70"},ye={system:"focus-visible:ring-sky-300",user:"focus-visible:ring-emerald-300",assistant:"focus-visible:ring-violet-300",tool:"focus-visible:ring-sky-300",tools:"focus-visible:ring-slate-300"},I=12,L=1,G=80,B=24;function Te(e){return e.length<=B?e:`${e.slice(0,B-3)}...`}function Ee(e){const s=e.replace(/\s+/g," ").trim();return s.length<=G?s:`${s.slice(0,G)}...`}function R(e){return e>=10?`${e.toFixed(0)}%`:e>=1?`${e.toFixed(1)}%`:e>0?"<1%":"0%"}const Se=g.memo(function({segments:s,totalTokens:o,showLabels:r=!0,onActivate:a}){const c=g.useMemo(()=>o>0?o:s.reduce((i,x)=>i+x.size,0),[s,o]),u=s.slice(0,I),l=s.slice(I),n=l.reduce((i,x)=>i+x.size,0),m=l.length,v=I,b=v+m-1,y=m>0,w=a!==void 0,j=g.useMemo(()=>u.reduce((i,x)=>i+x.size,0),[u]),T=g.useMemo(()=>`Request context: ~${f(c)} tokens across ${s.length} segment${s.length===1?"":"s"}`,[s.length,c]);return s.length===0||c<=0?t.jsx("div",{role:"img","aria-label":T,className:"h-6"}):t.jsx(H,{delayDuration:150,children:t.jsxs("div",{role:"img","aria-label":T,className:"flex flex-col gap-1.5",children:[t.jsxs("div",{className:"relative flex h-6 w-full overflow-hidden rounded border border-border/40 bg-muted/30","data-testid":"anatomy-segment-bar",children:[u.map((i,x)=>{const h=c>0?i.size/c*100:0,k=Math.max(L,h),E=N("h-full border-r border-background/80 last:border-r-0",w?"opacity-90 hover:opacity-100 focus:opacity-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background":"opacity-90",C[i.role],w?ye[i.role]:""),d={width:`${k}%`},p=`${i.label}, ${R(h)}, ~${f(i.size)} tokens`;return t.jsxs(M,{children:[t.jsx(P,{asChild:!0,children:w?t.jsx("button",{type:"button",role:"button",tabIndex:0,onClick:()=>a(i),onKeyDown:S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),a(i))},"data-anatomy-path":i.path,"aria-label":p,className:E,style:d}):t.jsx("span",{"aria-label":p,className:E,style:d})}),t.jsxs(z,{side:"bottom",className:"max-w-sm text-xs p-2 space-y-0.5",children:[t.jsxs("div",{className:"font-semibold",children:[i.label," - ",R(h)," - ~",f(i.size)," ","tokens"]}),t.jsx("div",{className:"text-muted-foreground",children:X[i.role]}),t.jsxs("div",{className:"text-muted-foreground",children:[i.characters.toLocaleString()," chars"]}),i.text.length>0&&t.jsx("div",{className:"text-muted-foreground/90 break-words whitespace-pre-wrap",children:Ee(i.text)})]})]},`${i.path}-${x}`)}),y&&t.jsxs(M,{children:[t.jsx(P,{asChild:!0,children:t.jsxs("div",{role:"img","aria-label":`${m} additional segments`,className:"flex h-full items-center justify-center bg-muted-foreground/30 px-1.5 text-[10px] font-mono text-background",style:{width:`${Math.max(L,n/c*100)}%`},children:["... +",m]})}),t.jsxs(z,{side:"bottom",className:"text-xs",children:[m," more segment",m===1?"":"s"," (indices"," ",v,"-",b,")"]})]})]}),r&&t.jsxs("div",{className:"flex w-full gap-1 text-[10px] text-muted-foreground",children:[u.map((i,x)=>{const h=c>0?i.size/c*100:0,k=Math.max(L,h);return t.jsxs("div",{className:"flex flex-col gap-0.5 truncate",style:{width:`${k}%`},title:`${i.label} - ${R(h)} - ~${f(i.size)} tokens`,children:[t.jsx("span",{className:"truncate font-mono text-foreground/80",children:Te(i.label)}),t.jsxs("span",{className:"truncate font-mono text-muted-foreground/70",children:[R(h)," - ~",f(i.size)]})]},`label-${i.path}-${x}`)}),y&&t.jsxs("div",{className:"flex flex-col gap-0.5 truncate text-muted-foreground",style:{width:`${Math.max(L,n/c*100)}%`},children:[t.jsxs("span",{className:"truncate font-mono text-foreground/60",children:["... +",m]}),t.jsxs("span",{className:"truncate font-mono text-muted-foreground/60",children:["~",f(n)]})]})]}),j<c*.1&&t.jsx("div",{className:"h-0"})]})})}),_e=.25,Le=5,Re=["system","user","assistant","tool","tools"],$e={system:"instructions",user:"user turns",assistant:"assistant turns",tool:"tool results",tools:"tool schemas"},Ce=[{value:"role",label:"By Role"},{value:"segment",label:"By Segment"}],Oe={unknown:"bg-muted-foreground/50",ok:"bg-emerald-500/70",watch:"bg-amber-400/75",danger:"bg-red-500/80"},Ie={unknown:"text-muted-foreground",ok:"text-emerald-400",watch:"text-amber-300",danger:"text-red-300"};function O(e){return e>=10?`${e.toFixed(0)}%`:e>=1?`${e.toFixed(1)}%`:e>0?"<1%":"0%"}function $(e){return e===null?"Unknown":O(e*100)}function F(e){return e===null?"Unknown":e<0?`-${f(Math.abs(e))}`:f(e)}function J(e){return e.contextWindow.tokens===null?"Unknown":f(e.contextWindow.tokens)}function Me(e){switch(e.contextWindow.source){case"request":return e.contextWindow.label;case"model-rule":return e.contextWindow.label;case"unknown":return e.model===null?e.contextWindow.label:`${e.contextWindow.label}: ${e.model}`}}function Pe(e){switch(e.severity){case"watch":return"border-amber-400/30 bg-amber-400/8 text-amber-100";case"danger":return"border-red-400/35 bg-red-500/10 text-red-100"}}function ze({intelligence:e}){const s=e.usagePercent===null?0:Math.max(1,e.usagePercent*100),o=e.outputReserveTokens===null?"No output reserve":`Output reserve ${f(e.outputReserveTokens)}`,r=e.largestRole;return t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"grid gap-x-4 gap-y-2 border-y border-border/60 py-2 text-xs sm:grid-cols-4",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[10px] font-medium uppercase text-muted-foreground",children:"Window"}),t.jsx("div",{className:"mt-0.5 truncate font-mono text-foreground",children:J(e)}),t.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:Me(e)})]}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[10px] font-medium uppercase text-muted-foreground",children:"Used"}),t.jsx("div",{className:N("mt-0.5 font-mono",Ie[e.riskLevel]),children:$(e.usagePercent)}),t.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:o})]}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[10px] font-medium uppercase text-muted-foreground",children:"Remaining"}),t.jsx("div",{className:"mt-0.5 font-mono text-foreground",children:F(e.remainingAfterReserveTokens)}),t.jsxs("div",{className:"truncate text-[11px] text-muted-foreground",children:["Input only ",F(e.remainingInputTokens)]})]}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[10px] font-medium uppercase text-muted-foreground",children:"Largest"}),r===null?t.jsx("div",{className:"mt-0.5 text-muted-foreground",children:"Unknown"}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"mt-0.5 flex min-w-0 items-center gap-1.5",children:[t.jsx("span",{"aria-hidden":"true",className:N("size-2.5 shrink-0 rounded-[2px]",C[r.role])}),t.jsx("span",{className:"truncate text-foreground",children:r.label})]}),t.jsxs("div",{className:"truncate font-mono text-[11px] text-muted-foreground",children:[O(r.percent*100)," | ~",f(r.tokens)]})]})]})]}),e.contextWindow.tokens!==null&&t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs("div",{className:"relative h-2 overflow-hidden rounded-full bg-muted/40",children:[t.jsx("div",{className:N("h-full rounded-full",Oe[e.riskLevel]),style:{width:`${String(s)}%`}}),t.jsx("div",{"aria-hidden":"true",className:"absolute top-0 h-full w-px bg-amber-200/70",style:{left:`${String(_.watch*100)}%`}}),t.jsx("div",{"aria-hidden":"true",className:"absolute top-0 h-full w-px bg-red-200/80",style:{left:`${String(_.danger*100)}%`}})]}),t.jsxs("div",{className:"flex justify-between text-[10px] text-muted-foreground",children:[t.jsx("span",{children:"Context window"}),t.jsxs("span",{children:["Watch ",$(_.watch)," / Danger"," ",$(_.danger)]})]})]}),e.diagnostics.length>0&&t.jsx("div",{className:"grid gap-1.5 sm:grid-cols-2",children:e.diagnostics.map(a=>t.jsxs("div",{className:N("rounded border px-2 py-1.5 text-xs",Pe(a)),children:[t.jsx("div",{className:"font-medium",children:a.title}),t.jsx("div",{className:"mt-0.5 text-[11px] text-muted-foreground",children:a.detail})]},`${a.kind}-${a.title}`))})]})}function Ae(e){const s=[];for(const o of Re){const r=e.filter(n=>n.role===o);if(r.length===0)continue;const a=r.reduce((n,m)=>n+m.size,0),c=r.reduce((n,m)=>n+m.characters,0),u=X[o],l=`${r.length} segment${r.length===1?"":"s"} grouped as ${$e[o]}`;s.push({role:o,label:u,size:a,characters:c,text:l,path:`role:${o}`})}return s}function Ue(e){return[...e].sort((s,o)=>o.size-s.size).slice(0,Le)}function Ge({parsed:e,inputTokens:s,model:o=null,onSegmentActivate:r,segments:a}){const[c,u]=g.useState("role"),l=g.useMemo(()=>a??null,[a]),n=g.useMemo(()=>(l??[]).reduce((d,p)=>d+p.size,0),[l]),m=g.useMemo(()=>l===null?[]:Ae(l),[l]),v=g.useMemo(()=>l===null?[]:Ue(l),[l]),b=g.useMemo(()=>l===null?null:je({segments:l,inputTokens:s,parsed:e,model:o}),[s,o,e,l]),y=g.useMemo(()=>l===null||s===null||n===0?!1:Math.abs(s-n)/Math.max(s,n)>=_e,[s,l,n]);if(l===null||l.length===0||e===null&&a===void 0)return null;const w=s!==null&&y?"text-amber-400":"text-muted-foreground",j=c==="role"?m:l,T=n>0?n:j.reduce((d,p)=>d+p.size,0),i=c==="segment"?r:void 0,x=`${String(l.length)} segment${l.length===1?"":"s"}`,h=s===null?"Provider input unknown":`Provider input ${f(s)}`,k=b===null?"Limit unknown":`Limit ${J(b)}`,E=b===null?"Usage unknown":`${$(b.usagePercent)} used`;return t.jsx(H,{delayDuration:150,children:t.jsxs("div",{className:"px-4 py-3 space-y-3","data-testid":"anatomy-root",children:[t.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-sm font-semibold text-foreground",children:"Request Context"}),t.jsxs("div",{className:N("mt-0.5 text-xs font-mono tabular-nums",w),children:["Estimated ~",f(n)," tokens | ",h," | ",k," |"," ",E," | ",x]})]}),t.jsx("div",{className:"inline-flex shrink-0 rounded border border-border bg-muted/20 p-0.5",role:"group","aria-label":"Context breakdown mode",children:Ce.map(d=>t.jsx("button",{type:"button","aria-pressed":c===d.value,onClick:()=>u(d.value),className:N("h-6 rounded-sm px-2 text-[11px] font-medium transition-colors",c===d.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:d.label},d.value))})]}),y&&t.jsxs("div",{className:"inline-flex items-center gap-1.5 text-xs text-amber-400",children:[t.jsxs(M,{children:[t.jsx(P,{asChild:!0,children:t.jsx("button",{type:"button",className:"inline-flex items-center hover:text-amber-300","aria-label":"Token estimate differs from provider input",children:t.jsx(ee,{className:"size-3.5"})})}),t.jsx(z,{className:"max-w-xs text-xs",children:"The bar uses a local token estimate. Provider input tokens remain the source of truth for billing and context-window usage."})]}),"Estimate differs from provider-reported input."]}),b!==null&&t.jsx(ze,{intelligence:b}),t.jsx(Se,{segments:j,totalTokens:T,showLabels:c==="segment",onActivate:i}),t.jsx("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-[11px] text-muted-foreground",children:m.map(d=>{const p=n>0?d.size/n*100:0;return t.jsxs("div",{className:"inline-flex items-center gap-1.5",children:[t.jsx("span",{"aria-hidden":"true",className:N("size-2.5 rounded-[2px]",C[d.role])}),t.jsx("span",{children:d.label}),t.jsx("span",{className:"font-mono text-muted-foreground/70",children:O(p)})]},d.role)})}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsx("div",{className:"text-xs font-medium text-foreground",children:"Top Contributors"}),t.jsx("div",{className:"grid gap-1",children:v.map((d,p)=>{const S=n>0?d.size/n*100:0,U=r,D=t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"w-5 shrink-0 text-right font-mono text-muted-foreground/70",children:String(p+1)}),t.jsx("span",{"aria-hidden":"true",className:N("size-2.5 shrink-0 rounded-[2px]",C[d.role])}),t.jsx("span",{className:"min-w-0 flex-1 truncate text-left",children:d.label}),t.jsxs("span",{className:"shrink-0 font-mono text-muted-foreground",children:[O(S)," | ~",f(d.size)]})]});return U!==void 0?t.jsx("button",{type:"button",onClick:()=>U(d),className:"flex h-7 items-center gap-2 rounded px-1.5 text-xs text-muted-foreground hover:bg-muted/40 hover:text-foreground",title:"Jump to this request block",children:D},`${d.path}-${p}`):t.jsx("div",{className:"flex h-7 items-center gap-2 rounded px-1.5 text-xs text-muted-foreground",children:D},`${d.path}-${p}`)})})]})]})})}export{Ge as RequestAnatomy};
1
+ import{r as g,j as t}from"./main-Bww0Bc88.js";import{c as Q,F as q,f,s as H,b as N,t as M,v as P,w as z}from"./ProxyViewerContainer-Cmr2TANl.js";const Z=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],ee=Q("info",Z),V=.75,Y=.9,A=8e3,te=.35,se=40,ne=160,oe=18,re=6e4,ae=.7,W=3e3,le=.3,ie=["context_window","contextWindow","context_length","contextLength","max_context_length","maxContextLength","max_input_tokens","maxInputTokens"],ce=["max_tokens","maxTokens","max_completion_tokens","maxCompletionTokens","max_output_tokens","maxOutputTokens"],ue=[{family:"OpenAI GPT-4.1",tokens:1047576,mode:"prefix",patterns:["gpt-4.1"]},{family:"OpenAI GPT-4o",tokens:128e3,mode:"prefix",patterns:["gpt-4o"]},{family:"OpenAI o-series",tokens:128e3,mode:"prefix",patterns:["o1","o3","o4"]},{family:"Anthropic Claude",tokens:2e5,mode:"prefix",patterns:["claude-"]},{family:"DeepSeek",tokens:64e3,mode:"prefix",patterns:["deepseek-"]},{family:"MiniMax",tokens:1e6,mode:"includes",patterns:["minimax"]}],de={system:"System",user:"User messages",assistant:"Assistant messages",tool:"Tool results",tools:"Tool definitions"};function me(e){if(typeof e=="number")return Number.isFinite(e)&&e>0?Math.floor(e):null;if(typeof e=="string"){const s=Number(e);if(Number.isFinite(s)&&s>0)return Math.floor(s)}return null}function K(e,s){for(const o of s){const r=me(q(e,o));if(r!==null)return r}return null}function xe(e){const s=q(e,"model");if(typeof s!="string")return null;const o=s.trim();return o===""?null:o}function fe(e,s){switch(s.mode){case"prefix":return s.patterns.some(o=>e.startsWith(o));case"includes":return s.patterns.some(o=>e.includes(o))}}function he(e,s){const o=K(s,ie);if(o!==null)return{tokens:o,label:"Request metadata",source:"request"};if(e===null)return{tokens:null,label:"Unknown model",source:"unknown"};const r=e.trim().toLowerCase();for(const a of ue)if(fe(r,a))return{tokens:a.tokens,label:a.family,source:"model-rule"};return{tokens:null,label:"No local rule",source:"unknown"}}function pe(e){return e<0?0:e>1?1:e}function ge(e){return e===null?"unknown":e>=Y?"danger":e>=V?"watch":"ok"}function be(e,s){return e.filter(o=>o.role===s).reduce((o,r)=>o+r.size,0)}function ke(e,s){return["system","user","assistant","tool","tools"].map(r=>{const a=be(e,r);return{role:r,label:de[r],tokens:a,percent:s>0?a/s:0}}).filter(r=>r.tokens>0).sort((r,a)=>a.tokens-r.tokens)}function Ne(e){return e.replace(/\s+/g," ").trim().toLowerCase()}function ve(e){const s=new Map;for(const u of e){if(u.size<se||u.characters<ne)continue;const l=Ne(u.text);if(l==="")continue;const n=s.get(l);if(n===void 0){s.set(l,{count:1,tokens:u.size,firstTokens:u.size,label:u.label});continue}s.set(l,{count:n.count+1,tokens:n.tokens+u.size,firstTokens:n.firstTokens,label:n.label})}let o=0,r=0,a=0,c=null;for(const u of s.values())u.count<2||(o+=1,r+=u.count,a+=u.tokens-u.firstTokens,(c===null||u.tokens>c.tokens)&&(c=u));return o===0||c===null?null:{kind:"duplicate",severity:a>=A?"danger":"watch",title:"Duplicate context",detail:`${String(r)} repeated blocks across ${String(o)} group${o===1?"":"s"}, ~${String(a)} repeated tokens.`}}function we(e,s,o){const r=[],a=e.find(n=>n.role==="tools")??null;a!==null&&(a.tokens>=A||a.percent>=te&&a.tokens>=W)&&r.push({kind:"tool-schema",severity:a.tokens>=A?"danger":"watch",title:"Large tool schema",detail:`Tool definitions take ${Math.round(a.percent*100)}% of request context.`});const c=e.find(n=>n.role==="system")??null;c!==null&&c.tokens>=W&&c.percent>=le&&r.push({kind:"system-heavy",severity:"watch",title:"Large system prompt",detail:`System instructions take ${Math.round(c.percent*100)}% of request context.`});const u=e.filter(n=>n.role==="user"||n.role==="assistant"||n.role==="tool").reduce((n,m)=>n+m.tokens,0),l=s>0?u/s:0;return o>=oe&&(u>=re||l>=ae)&&r.push({kind:"history-bloat",severity:l>=.85?"danger":"watch",title:"Conversation history growth",detail:`${String(o)} message blocks take ${Math.round(l*100)}% of request context.`}),r}function je({segments:e,inputTokens:s,parsed:o,model:r}){const a=e.reduce((k,E)=>k+E.size,0),c=r??xe(o),u=s??a,l=K(o,ce),n=he(c,o),m=l??0,v=n.tokens===null?null:u+m,b=n.tokens===null?null:n.tokens-u,y=n.tokens===null?null:n.tokens-u-m,w=n.tokens===null||v===null?null:pe(v/n.tokens),j=ke(e,a),T=j[0]??null,i=e.filter(k=>k.role!=="tools").length,x=ve(e),h=we(j,a,i);return x!==null&&h.unshift(x),{model:c,contextWindow:n,estimatedInputTokens:u,outputReserveTokens:l,windowUsedTokens:v,remainingInputTokens:b,remainingAfterReserveTokens:y,usagePercent:w,riskLevel:ge(w),roleUsages:j,largestRole:T,diagnostics:h}}const _={watch:V,danger:Y},X={system:"System",user:"User",assistant:"Assistant",tool:"Tool Results",tools:"Tool Definitions"},C={system:"bg-sky-500/70",user:"bg-emerald-500/70",assistant:"bg-violet-500/70",tool:"bg-sky-400/55",tools:"bg-slate-500/70"},ye={system:"focus-visible:ring-sky-300",user:"focus-visible:ring-emerald-300",assistant:"focus-visible:ring-violet-300",tool:"focus-visible:ring-sky-300",tools:"focus-visible:ring-slate-300"},I=12,L=1,G=80,B=24;function Te(e){return e.length<=B?e:`${e.slice(0,B-3)}...`}function Ee(e){const s=e.replace(/\s+/g," ").trim();return s.length<=G?s:`${s.slice(0,G)}...`}function R(e){return e>=10?`${e.toFixed(0)}%`:e>=1?`${e.toFixed(1)}%`:e>0?"<1%":"0%"}const Se=g.memo(function({segments:s,totalTokens:o,showLabels:r=!0,onActivate:a}){const c=g.useMemo(()=>o>0?o:s.reduce((i,x)=>i+x.size,0),[s,o]),u=s.slice(0,I),l=s.slice(I),n=l.reduce((i,x)=>i+x.size,0),m=l.length,v=I,b=v+m-1,y=m>0,w=a!==void 0,j=g.useMemo(()=>u.reduce((i,x)=>i+x.size,0),[u]),T=g.useMemo(()=>`Request context: ~${f(c)} tokens across ${s.length} segment${s.length===1?"":"s"}`,[s.length,c]);return s.length===0||c<=0?t.jsx("div",{role:"img","aria-label":T,className:"h-6"}):t.jsx(H,{delayDuration:150,children:t.jsxs("div",{role:"img","aria-label":T,className:"flex flex-col gap-1.5",children:[t.jsxs("div",{className:"relative flex h-6 w-full overflow-hidden rounded border border-border/40 bg-muted/30","data-testid":"anatomy-segment-bar",children:[u.map((i,x)=>{const h=c>0?i.size/c*100:0,k=Math.max(L,h),E=N("h-full border-r border-background/80 last:border-r-0",w?"opacity-90 hover:opacity-100 focus:opacity-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background":"opacity-90",C[i.role],w?ye[i.role]:""),d={width:`${k}%`},p=`${i.label}, ${R(h)}, ~${f(i.size)} tokens`;return t.jsxs(M,{children:[t.jsx(P,{asChild:!0,children:w?t.jsx("button",{type:"button",role:"button",tabIndex:0,onClick:()=>a(i),onKeyDown:S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),a(i))},"data-anatomy-path":i.path,"aria-label":p,className:E,style:d}):t.jsx("span",{"aria-label":p,className:E,style:d})}),t.jsxs(z,{side:"bottom",className:"max-w-sm text-xs p-2 space-y-0.5",children:[t.jsxs("div",{className:"font-semibold",children:[i.label," - ",R(h)," - ~",f(i.size)," ","tokens"]}),t.jsx("div",{className:"text-muted-foreground",children:X[i.role]}),t.jsxs("div",{className:"text-muted-foreground",children:[i.characters.toLocaleString()," chars"]}),i.text.length>0&&t.jsx("div",{className:"text-muted-foreground/90 break-words whitespace-pre-wrap",children:Ee(i.text)})]})]},`${i.path}-${x}`)}),y&&t.jsxs(M,{children:[t.jsx(P,{asChild:!0,children:t.jsxs("div",{role:"img","aria-label":`${m} additional segments`,className:"flex h-full items-center justify-center bg-muted-foreground/30 px-1.5 text-[10px] font-mono text-background",style:{width:`${Math.max(L,n/c*100)}%`},children:["... +",m]})}),t.jsxs(z,{side:"bottom",className:"text-xs",children:[m," more segment",m===1?"":"s"," (indices"," ",v,"-",b,")"]})]})]}),r&&t.jsxs("div",{className:"flex w-full gap-1 text-[10px] text-muted-foreground",children:[u.map((i,x)=>{const h=c>0?i.size/c*100:0,k=Math.max(L,h);return t.jsxs("div",{className:"flex flex-col gap-0.5 truncate",style:{width:`${k}%`},title:`${i.label} - ${R(h)} - ~${f(i.size)} tokens`,children:[t.jsx("span",{className:"truncate font-mono text-foreground/80",children:Te(i.label)}),t.jsxs("span",{className:"truncate font-mono text-muted-foreground/70",children:[R(h)," - ~",f(i.size)]})]},`label-${i.path}-${x}`)}),y&&t.jsxs("div",{className:"flex flex-col gap-0.5 truncate text-muted-foreground",style:{width:`${Math.max(L,n/c*100)}%`},children:[t.jsxs("span",{className:"truncate font-mono text-foreground/60",children:["... +",m]}),t.jsxs("span",{className:"truncate font-mono text-muted-foreground/60",children:["~",f(n)]})]})]}),j<c*.1&&t.jsx("div",{className:"h-0"})]})})}),_e=.25,Le=5,Re=["system","user","assistant","tool","tools"],$e={system:"instructions",user:"user turns",assistant:"assistant turns",tool:"tool results",tools:"tool schemas"},Ce=[{value:"role",label:"By Role"},{value:"segment",label:"By Segment"}],Oe={unknown:"bg-muted-foreground/50",ok:"bg-emerald-500/70",watch:"bg-amber-400/75",danger:"bg-red-500/80"},Ie={unknown:"text-muted-foreground",ok:"text-emerald-400",watch:"text-amber-300",danger:"text-red-300"};function O(e){return e>=10?`${e.toFixed(0)}%`:e>=1?`${e.toFixed(1)}%`:e>0?"<1%":"0%"}function $(e){return e===null?"Unknown":O(e*100)}function F(e){return e===null?"Unknown":e<0?`-${f(Math.abs(e))}`:f(e)}function J(e){return e.contextWindow.tokens===null?"Unknown":f(e.contextWindow.tokens)}function Me(e){switch(e.contextWindow.source){case"request":return e.contextWindow.label;case"model-rule":return e.contextWindow.label;case"unknown":return e.model===null?e.contextWindow.label:`${e.contextWindow.label}: ${e.model}`}}function Pe(e){switch(e.severity){case"watch":return"border-amber-400/30 bg-amber-400/8 text-amber-100";case"danger":return"border-red-400/35 bg-red-500/10 text-red-100"}}function ze({intelligence:e}){const s=e.usagePercent===null?0:Math.max(1,e.usagePercent*100),o=e.outputReserveTokens===null?"No output reserve":`Output reserve ${f(e.outputReserveTokens)}`,r=e.largestRole;return t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"grid gap-x-4 gap-y-2 border-y border-border/60 py-2 text-xs sm:grid-cols-4",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[10px] font-medium uppercase text-muted-foreground",children:"Window"}),t.jsx("div",{className:"mt-0.5 truncate font-mono text-foreground",children:J(e)}),t.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:Me(e)})]}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[10px] font-medium uppercase text-muted-foreground",children:"Used"}),t.jsx("div",{className:N("mt-0.5 font-mono",Ie[e.riskLevel]),children:$(e.usagePercent)}),t.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:o})]}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[10px] font-medium uppercase text-muted-foreground",children:"Remaining"}),t.jsx("div",{className:"mt-0.5 font-mono text-foreground",children:F(e.remainingAfterReserveTokens)}),t.jsxs("div",{className:"truncate text-[11px] text-muted-foreground",children:["Input only ",F(e.remainingInputTokens)]})]}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[10px] font-medium uppercase text-muted-foreground",children:"Largest"}),r===null?t.jsx("div",{className:"mt-0.5 text-muted-foreground",children:"Unknown"}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"mt-0.5 flex min-w-0 items-center gap-1.5",children:[t.jsx("span",{"aria-hidden":"true",className:N("size-2.5 shrink-0 rounded-[2px]",C[r.role])}),t.jsx("span",{className:"truncate text-foreground",children:r.label})]}),t.jsxs("div",{className:"truncate font-mono text-[11px] text-muted-foreground",children:[O(r.percent*100)," | ~",f(r.tokens)]})]})]})]}),e.contextWindow.tokens!==null&&t.jsxs("div",{className:"space-y-1.5",children:[t.jsxs("div",{className:"relative h-2 overflow-hidden rounded-full bg-muted/40",children:[t.jsx("div",{className:N("h-full rounded-full",Oe[e.riskLevel]),style:{width:`${String(s)}%`}}),t.jsx("div",{"aria-hidden":"true",className:"absolute top-0 h-full w-px bg-amber-200/70",style:{left:`${String(_.watch*100)}%`}}),t.jsx("div",{"aria-hidden":"true",className:"absolute top-0 h-full w-px bg-red-200/80",style:{left:`${String(_.danger*100)}%`}})]}),t.jsxs("div",{className:"flex justify-between text-[10px] text-muted-foreground",children:[t.jsx("span",{children:"Context window"}),t.jsxs("span",{children:["Watch ",$(_.watch)," / Danger"," ",$(_.danger)]})]})]}),e.diagnostics.length>0&&t.jsx("div",{className:"grid gap-1.5 sm:grid-cols-2",children:e.diagnostics.map(a=>t.jsxs("div",{className:N("rounded border px-2 py-1.5 text-xs",Pe(a)),children:[t.jsx("div",{className:"font-medium",children:a.title}),t.jsx("div",{className:"mt-0.5 text-[11px] text-muted-foreground",children:a.detail})]},`${a.kind}-${a.title}`))})]})}function Ae(e){const s=[];for(const o of Re){const r=e.filter(n=>n.role===o);if(r.length===0)continue;const a=r.reduce((n,m)=>n+m.size,0),c=r.reduce((n,m)=>n+m.characters,0),u=X[o],l=`${r.length} segment${r.length===1?"":"s"} grouped as ${$e[o]}`;s.push({role:o,label:u,size:a,characters:c,text:l,path:`role:${o}`})}return s}function Ue(e){return[...e].sort((s,o)=>o.size-s.size).slice(0,Le)}function Ge({parsed:e,inputTokens:s,model:o=null,onSegmentActivate:r,segments:a}){const[c,u]=g.useState("role"),l=g.useMemo(()=>a??null,[a]),n=g.useMemo(()=>(l??[]).reduce((d,p)=>d+p.size,0),[l]),m=g.useMemo(()=>l===null?[]:Ae(l),[l]),v=g.useMemo(()=>l===null?[]:Ue(l),[l]),b=g.useMemo(()=>l===null?null:je({segments:l,inputTokens:s,parsed:e,model:o}),[s,o,e,l]),y=g.useMemo(()=>l===null||s===null||n===0?!1:Math.abs(s-n)/Math.max(s,n)>=_e,[s,l,n]);if(l===null||l.length===0||e===null&&a===void 0)return null;const w=s!==null&&y?"text-amber-400":"text-muted-foreground",j=c==="role"?m:l,T=n>0?n:j.reduce((d,p)=>d+p.size,0),i=c==="segment"?r:void 0,x=`${String(l.length)} segment${l.length===1?"":"s"}`,h=s===null?"Provider input unknown":`Provider input ${f(s)}`,k=b===null?"Limit unknown":`Limit ${J(b)}`,E=b===null?"Usage unknown":`${$(b.usagePercent)} used`;return t.jsx(H,{delayDuration:150,children:t.jsxs("div",{className:"px-4 py-3 space-y-3","data-testid":"anatomy-root",children:[t.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-sm font-semibold text-foreground",children:"Request Context"}),t.jsxs("div",{className:N("mt-0.5 text-xs font-mono tabular-nums",w),children:["Estimated ~",f(n)," tokens | ",h," | ",k," |"," ",E," | ",x]})]}),t.jsx("div",{className:"inline-flex shrink-0 rounded border border-border bg-muted/20 p-0.5",role:"group","aria-label":"Context breakdown mode",children:Ce.map(d=>t.jsx("button",{type:"button","aria-pressed":c===d.value,onClick:()=>u(d.value),className:N("h-6 rounded-sm px-2 text-[11px] font-medium transition-colors",c===d.value?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:d.label},d.value))})]}),y&&t.jsxs("div",{className:"inline-flex items-center gap-1.5 text-xs text-amber-400",children:[t.jsxs(M,{children:[t.jsx(P,{asChild:!0,children:t.jsx("button",{type:"button",className:"inline-flex items-center hover:text-amber-300","aria-label":"Token estimate differs from provider input",children:t.jsx(ee,{className:"size-3.5"})})}),t.jsx(z,{className:"max-w-xs text-xs",children:"The bar uses a local token estimate. Provider input tokens remain the source of truth for billing and context-window usage."})]}),"Estimate differs from provider-reported input."]}),b!==null&&t.jsx(ze,{intelligence:b}),t.jsx(Se,{segments:j,totalTokens:T,showLabels:c==="segment",onActivate:i}),t.jsx("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-[11px] text-muted-foreground",children:m.map(d=>{const p=n>0?d.size/n*100:0;return t.jsxs("div",{className:"inline-flex items-center gap-1.5",children:[t.jsx("span",{"aria-hidden":"true",className:N("size-2.5 rounded-[2px]",C[d.role])}),t.jsx("span",{children:d.label}),t.jsx("span",{className:"font-mono text-muted-foreground/70",children:O(p)})]},d.role)})}),t.jsxs("div",{className:"space-y-1.5",children:[t.jsx("div",{className:"text-xs font-medium text-foreground",children:"Top Contributors"}),t.jsx("div",{className:"grid gap-1",children:v.map((d,p)=>{const S=n>0?d.size/n*100:0,U=r,D=t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"w-5 shrink-0 text-right font-mono text-muted-foreground/70",children:String(p+1)}),t.jsx("span",{"aria-hidden":"true",className:N("size-2.5 shrink-0 rounded-[2px]",C[d.role])}),t.jsx("span",{className:"min-w-0 flex-1 truncate text-left",children:d.label}),t.jsxs("span",{className:"shrink-0 font-mono text-muted-foreground",children:[O(S)," | ~",f(d.size)]})]});return U!==void 0?t.jsx("button",{type:"button",onClick:()=>U(d),className:"flex h-7 items-center gap-2 rounded px-1.5 text-xs text-muted-foreground hover:bg-muted/40 hover:text-foreground",title:"Jump to this request block",children:D},`${d.path}-${p}`):t.jsx("div",{className:"flex h-7 items-center gap-2 rounded px-1.5 text-xs text-muted-foreground",children:D},`${d.path}-${p}`)})})]})]})})}export{Ge as RequestAnatomy};
@@ -1 +1 @@
1
- import{r as o,j as e}from"./main-CwhqfJqM.js";import{c as G,G as K,H as F,b as E,I as h,K as f,L,B as m,N as g,h as j,O as N,S as y,Q as R,U as z,V as S,Z as k,f as l,g as M,W as D,Y as H}from"./ProxyViewerContainer-CWdkPZsJ.js";const P=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],O=G("circle-stop",P);var U="Separator",w="horizontal",J=["horizontal","vertical"],C=o.forwardRef((n,t)=>{const{decorative:a,orientation:s=w,...r}=n,i=W(s)?s:w,d=a?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return e.jsx(K.div,{"data-orientation":i,...d,...r,ref:t})});C.displayName=U;function W(n){return J.includes(n)}var X=C;const Z="prose prose-sm dark:prose-invert max-w-none text-[13px] leading-[1.65] [&_pre]:bg-muted [&_pre]:text-foreground [&_code]:text-[0.8em] [&_p]:my-1 [&_p]:leading-[1.65] [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_li]:leading-[1.6]";function v({text:n}){return e.jsx("div",{className:Z,children:e.jsx(F,{children:n})})}function V({className:n,orientation:t="horizontal",decorative:a=!0,...s}){return e.jsx(X,{"data-slot":"separator",decorative:a,orientation:t,className:E("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",n),...s})}const $=/<think>([\s\S]*?)<\/think>/gi,Q=/<think>([\s\S]*?)<\/think>/i;function B(n){const t=Q.exec(n);if(!t||t[1]===void 0)return{thinking:null,remainingText:n};const a=t[1].trim(),s=n.replace($,"").trim();return{thinking:a,remainingText:s}}function Y(n){return e.jsx(e.Fragment,{})}function q({text:n}){const[t,a]=o.useState(!1);return e.jsxs(h,{open:t,onOpenChange:a,children:[e.jsxs(f,{className:"flex items-center gap-1.5 py-0.5 cursor-pointer hover:opacity-80 transition-opacity group",children:[t?e.jsx(g,{className:"size-3 text-muted-foreground"}):e.jsx(j,{className:"size-3 text-muted-foreground"}),e.jsx("span",{className:"text-muted-foreground text-xs italic select-none opacity-60",children:"[system-reminder]"})]}),e.jsx(N,{children:e.jsx("div",{className:"pl-4 pt-1",children:e.jsx(v,{text:n})})})]})}const ee=o.memo(function({text:t}){if(t.includes("<system-reminder>"))return e.jsx(q,{text:t});const{thinking:a,remainingText:s}=B(t);return e.jsxs("div",{className:"space-y-2",children:[a!==null&&e.jsx(p,{thinking:a}),s.length>0&&e.jsx(v,{text:s}),a===null&&s.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Empty text block"})]})}),p=o.memo(function({thinking:t}){const[a,s]=o.useState(!1);return e.jsx(h,{open:a,onOpenChange:s,children:e.jsxs("div",{className:"border-l-2 border-purple-500/40 my-1",children:[e.jsxs(f,{className:"flex items-center gap-1.5 px-3 py-1 w-full text-left cursor-pointer hover:bg-purple-500/5 transition-colors rounded-r-sm group",children:[e.jsx(L,{className:"size-3.5 text-purple-400 shrink-0"}),e.jsx("span",{className:"text-xs font-medium text-purple-400",children:"Thinking"}),e.jsxs(m,{variant:"ghost",className:"text-[10px] text-muted-foreground px-1.5 py-0 h-4 font-mono",children:[t.length.toLocaleString()," chars"]}),e.jsx("span",{className:"flex-1"}),a?e.jsx(g,{className:"size-3 text-muted-foreground"}):e.jsx(j,{className:"size-3 text-muted-foreground"})]}),e.jsx(N,{children:e.jsx("div",{className:"px-3 pb-2",children:e.jsx(y,{className:"max-h-[60vh]",children:e.jsx("pre",{className:"text-xs text-muted-foreground whitespace-pre-wrap font-mono leading-relaxed",children:t})})})})]})})}),te=o.memo(function({name:t,input:a}){const[s,r]=o.useState(!1);return e.jsx(h,{open:s,onOpenChange:r,children:e.jsxs("div",{className:"border-l-2 border-sky-400/25 my-1",children:[e.jsxs(f,{className:"flex items-center gap-1.5 px-3 py-1 w-full text-left cursor-pointer hover:bg-sky-400/[0.04] transition-colors rounded-r-sm group",children:[e.jsx(R,{className:"size-3.5 text-sky-400/70 shrink-0"}),e.jsx(m,{variant:"outline",className:"text-[10px] font-mono px-1.5 py-0 h-4",children:t}),e.jsx("span",{className:"flex-1"}),s?e.jsx(g,{className:"size-3 text-muted-foreground"}):e.jsx(j,{className:"size-3 text-muted-foreground"})]}),e.jsx(N,{children:e.jsx("div",{className:"px-3 pb-2",children:e.jsx(y,{className:"max-h-[60vh]",children:e.jsx(z,{data:S(a),defaultExpandDepth:0})})})})]})})}),ne=o.memo(function({block:t}){switch(t.type){case"text":return e.jsx(ee,{text:t.text});case"thinking":case"think":return e.jsx(p,{thinking:t.thinking});case"tool_use":return e.jsx(te,{name:t.name,input:t.input});default:return Y()}}),se=o.memo(function({response:t}){return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(m,{variant:"secondary",className:"text-[10px] px-1.5 py-0 h-5 font-mono",children:t.model}),t.stop_reason!==null&&e.jsxs(m,{variant:"outline",className:"text-[10px] px-1.5 py-0 h-5 font-mono flex items-center gap-1",children:[e.jsx(O,{className:"size-2.5"}),t.stop_reason]}),e.jsxs("span",{className:"flex items-center gap-1 text-muted-foreground text-xs",children:[e.jsx(k,{className:"size-3"}),e.jsxs("span",{className:"font-mono tabular-nums",children:[l(t.usage.input_tokens??0)," in /"," ",l(t.usage.output_tokens??0)," out"]}),t.usage.cache_creation_input_tokens!==void 0&&t.usage.cache_creation_input_tokens!==null&&t.usage.cache_creation_input_tokens>0&&e.jsxs("span",{className:"font-mono tabular-nums text-emerald-400",children:["KV Cache +",l(t.usage.cache_creation_input_tokens)]}),t.usage.cache_read_input_tokens!==void 0&&t.usage.cache_read_input_tokens!==null&&t.usage.cache_read_input_tokens>0&&e.jsxs("span",{className:"font-mono tabular-nums text-purple-400",children:["KV Cache ~",l(t.usage.cache_read_input_tokens)]})]})]}),e.jsx(V,{className:"opacity-50"}),e.jsxs("div",{className:"space-y-2",children:[t.content.map((a,s)=>e.jsx(ne,{block:a},s)),t.content.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Empty response content"})]})]})});function ae(n){if(n===void 0||n==="")return{};try{return JSON.parse(n)}catch{return null}}function re({call:n}){const[t,a]=o.useState(!1),s=n.function.name??"(unnamed tool)",r=ae(n.function.arguments);return e.jsx(h,{open:t,onOpenChange:a,children:e.jsxs("div",{className:"border-l-2 border-sky-400/25 my-1",children:[e.jsxs(f,{className:"flex items-center gap-1.5 px-3 py-1 w-full text-left cursor-pointer hover:bg-sky-400/[0.04] transition-colors rounded-r-sm group",children:[e.jsx(R,{className:"size-3.5 text-sky-400/70 shrink-0"}),e.jsx(m,{variant:"outline",className:"text-[10px] font-mono px-1.5 py-0 h-4",children:s}),n.id!==void 0&&n.id!==""&&e.jsx("span",{className:"text-[10px] font-mono text-muted-foreground/60 truncate",children:n.id}),e.jsx("span",{className:"flex-1"}),t?e.jsx(g,{className:"size-3 text-muted-foreground"}):e.jsx(j,{className:"size-3 text-muted-foreground"})]}),e.jsx(N,{children:e.jsx("div",{className:"px-3 pb-2",children:e.jsx(y,{className:"max-h-[60vh]",children:r===null?e.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap break-words text-rose-300/90",children:n.function.arguments}):e.jsx(z,{data:S(r),defaultExpandDepth:0})})})})]})})}const oe=o.memo(function({response:t}){const a=t.choices[0],s=a?.message,r=s?.tool_calls??[];return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(m,{variant:"secondary",className:"text-[10px] px-1.5 py-0 h-5 font-mono",children:t.model}),a?.finish_reason!==null&&a?.finish_reason!==void 0&&e.jsxs(m,{variant:"outline",className:"text-[10px] px-1.5 py-0 h-5 font-mono flex items-center gap-1",children:[e.jsx(O,{className:"size-2.5"}),a.finish_reason]}),e.jsxs("span",{className:"flex items-center gap-1 text-muted-foreground text-xs",children:[e.jsx(k,{className:"size-3"}),e.jsxs("span",{className:"font-mono tabular-nums",children:[l(t.usage.prompt_tokens??0)," in /"," ",l(t.usage.completion_tokens??0)," out"]})]})]}),e.jsx(V,{className:"opacity-50"}),e.jsxs("div",{className:"space-y-2",children:[s?.reasoning_content!==null&&s?.reasoning_content!==void 0&&s.reasoning_content.length>0&&e.jsx(p,{thinking:s.reasoning_content}),s?.content!==null&&s?.content!==void 0&&s.content.length>0&&(()=>{const i=s.reasoning_content!==null&&s.reasoning_content!==void 0&&s.reasoning_content.length>0,{thinking:c,remainingText:d}=B(s.content);return e.jsxs("div",{className:"space-y-2",children:[c!==null&&!i&&e.jsx(p,{thinking:c}),d.length>0&&e.jsx(v,{text:d})]})})(),r.map((i,c)=>e.jsx(re,{call:i},i.id??`tc-${c}`)),s?.function_call!==null&&s?.function_call!==void 0&&e.jsxs("div",{className:"border border-sky-400/20 rounded-md p-3 bg-muted/20",children:[e.jsx("div",{className:"text-xs text-sky-400/80 font-mono mb-1",children:"function_call"}),e.jsxs("div",{className:"font-mono text-xs",children:[e.jsx("span",{className:"text-foreground/80",children:s.function_call.name}),e.jsxs("span",{className:"text-muted-foreground",children:["(",s.function_call.arguments,")"]})]})]}),(s?.content===null||s?.content===void 0||s.content.length===0)&&(s?.reasoning_content===null||s?.reasoning_content===void 0||s.reasoning_content.length===0)&&(s?.function_call===null||s?.function_call===void 0)&&r.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Empty response content"})]})]})});function T(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function ie(n){return T(n)&&n.object==="chat.completion"}function ce(n){return T(n)&&n.type==="message"&&Array.isArray(n.content)}function le(n,t){return n==="openai"&&ie(t)?e.jsx(oe,{response:t}):n==="anthropic"&&ce(t)?e.jsx(se,{response:t}):null}function de(n){switch(n){case"success":return"text-emerald-400";case"client_error":return"text-amber-400";case"server_error":return"text-red-400";case"pending":return"text-muted-foreground"}}function u({status:n}){const t=H(n),a=de(t);return n===null?e.jsx("span",{className:"text-xs text-muted-foreground italic",children:"pending"}):e.jsxs("span",{className:E("flex items-center gap-1 text-xs font-mono font-semibold",a),children:[t==="server_error"&&e.jsx(D,{className:"size-3"}),n]})}function A({text:n}){return e.jsx("div",{className:"rounded-md border border-red-500/30 bg-red-500/5 p-3",children:e.jsx("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono leading-relaxed overflow-auto max-h-[60vh]",children:n})})}function xe({text:n}){return e.jsx(v,{text:n})}const he=o.memo(function({responseText:t,responseStatus:a,streaming:s,inputTokens:r,outputTokens:i,cacheCreationInputTokens:c,cacheReadInputTokens:d,apiFormat:I,error:x}){const _=I??"unknown",b=o.useMemo(()=>M(_).analyzeResponse(t).parsed,[_,t]);return t===null&&x===void 0?e.jsxs("div",{className:"flex items-center gap-2 py-3",children:[e.jsx(u,{status:a}),e.jsx("span",{className:"text-xs text-muted-foreground italic",children:"No response"})]}):a!==null&&a>=400?e.jsxs("div",{className:"space-y-2",children:[e.jsx(u,{status:a}),e.jsx(A,{text:t??""}),x!=null&&e.jsxs("div",{className:"rounded border border-destructive/50 bg-destructive/10 p-3 text-xs",children:[e.jsx("div",{className:"font-semibold text-destructive mb-1",children:"SSE Error"}),e.jsx("div",{className:"text-muted-foreground font-mono",children:x})]})]}):x!=null?e.jsxs("div",{className:"space-y-2",children:[e.jsx(u,{status:a}),e.jsxs("div",{className:"rounded border border-destructive/50 bg-destructive/10 p-3 text-xs",children:[e.jsx("div",{className:"font-semibold text-destructive mb-1",children:"SSE Error"}),e.jsx("div",{className:"text-muted-foreground font-mono",children:x})]}),t!==null&&e.jsx("div",{className:"mt-2",children:e.jsx(A,{text:t})})]}):b!==null?e.jsxs("div",{className:"space-y-2",children:[e.jsx(u,{status:a}),le(_,b)]}):e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(u,{status:a}),s&&(r!==null||i!==null)&&e.jsxs("span",{className:"flex items-center gap-1 text-muted-foreground text-xs",children:[e.jsx(k,{className:"size-3"}),e.jsxs("span",{className:"font-mono tabular-nums",children:[r!==null?l(r):"—"," in /"," ",i!==null?l(i):"—"," out"]}),c!=null&&c>0&&e.jsxs("span",{className:"font-mono tabular-nums text-emerald-400",children:["KV Cache +",l(c)]}),d!=null&&d>0&&e.jsxs("span",{className:"font-mono tabular-nums text-purple-400",children:["KV Cache ~",l(d)]})]})]}),e.jsx(xe,{text:t??""})]})});export{he as ResponseView};
1
+ import{r as o,j as e}from"./main-Bww0Bc88.js";import{c as G,G as K,H as F,b as E,I as h,K as f,L,B as m,N as g,h as j,O as N,S as y,Q as R,U as z,V as S,Z as k,f as l,g as M,W as D,Y as H}from"./ProxyViewerContainer-Cmr2TANl.js";const P=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],O=G("circle-stop",P);var U="Separator",w="horizontal",J=["horizontal","vertical"],C=o.forwardRef((n,t)=>{const{decorative:a,orientation:s=w,...r}=n,i=W(s)?s:w,d=a?{role:"none"}:{"aria-orientation":i==="vertical"?i:void 0,role:"separator"};return e.jsx(K.div,{"data-orientation":i,...d,...r,ref:t})});C.displayName=U;function W(n){return J.includes(n)}var X=C;const Z="prose prose-sm dark:prose-invert max-w-none text-[13px] leading-[1.65] [&_pre]:bg-muted [&_pre]:text-foreground [&_code]:text-[0.8em] [&_p]:my-1 [&_p]:leading-[1.65] [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_li]:leading-[1.6]";function v({text:n}){return e.jsx("div",{className:Z,children:e.jsx(F,{children:n})})}function V({className:n,orientation:t="horizontal",decorative:a=!0,...s}){return e.jsx(X,{"data-slot":"separator",decorative:a,orientation:t,className:E("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",n),...s})}const $=/<think>([\s\S]*?)<\/think>/gi,Q=/<think>([\s\S]*?)<\/think>/i;function B(n){const t=Q.exec(n);if(!t||t[1]===void 0)return{thinking:null,remainingText:n};const a=t[1].trim(),s=n.replace($,"").trim();return{thinking:a,remainingText:s}}function Y(n){return e.jsx(e.Fragment,{})}function q({text:n}){const[t,a]=o.useState(!1);return e.jsxs(h,{open:t,onOpenChange:a,children:[e.jsxs(f,{className:"flex items-center gap-1.5 py-0.5 cursor-pointer hover:opacity-80 transition-opacity group",children:[t?e.jsx(g,{className:"size-3 text-muted-foreground"}):e.jsx(j,{className:"size-3 text-muted-foreground"}),e.jsx("span",{className:"text-muted-foreground text-xs italic select-none opacity-60",children:"[system-reminder]"})]}),e.jsx(N,{children:e.jsx("div",{className:"pl-4 pt-1",children:e.jsx(v,{text:n})})})]})}const ee=o.memo(function({text:t}){if(t.includes("<system-reminder>"))return e.jsx(q,{text:t});const{thinking:a,remainingText:s}=B(t);return e.jsxs("div",{className:"space-y-2",children:[a!==null&&e.jsx(p,{thinking:a}),s.length>0&&e.jsx(v,{text:s}),a===null&&s.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Empty text block"})]})}),p=o.memo(function({thinking:t}){const[a,s]=o.useState(!1);return e.jsx(h,{open:a,onOpenChange:s,children:e.jsxs("div",{className:"border-l-2 border-purple-500/40 my-1",children:[e.jsxs(f,{className:"flex items-center gap-1.5 px-3 py-1 w-full text-left cursor-pointer hover:bg-purple-500/5 transition-colors rounded-r-sm group",children:[e.jsx(L,{className:"size-3.5 text-purple-400 shrink-0"}),e.jsx("span",{className:"text-xs font-medium text-purple-400",children:"Thinking"}),e.jsxs(m,{variant:"ghost",className:"text-[10px] text-muted-foreground px-1.5 py-0 h-4 font-mono",children:[t.length.toLocaleString()," chars"]}),e.jsx("span",{className:"flex-1"}),a?e.jsx(g,{className:"size-3 text-muted-foreground"}):e.jsx(j,{className:"size-3 text-muted-foreground"})]}),e.jsx(N,{children:e.jsx("div",{className:"px-3 pb-2",children:e.jsx(y,{className:"max-h-[60vh]",children:e.jsx("pre",{className:"text-xs text-muted-foreground whitespace-pre-wrap font-mono leading-relaxed",children:t})})})})]})})}),te=o.memo(function({name:t,input:a}){const[s,r]=o.useState(!1);return e.jsx(h,{open:s,onOpenChange:r,children:e.jsxs("div",{className:"border-l-2 border-sky-400/25 my-1",children:[e.jsxs(f,{className:"flex items-center gap-1.5 px-3 py-1 w-full text-left cursor-pointer hover:bg-sky-400/[0.04] transition-colors rounded-r-sm group",children:[e.jsx(R,{className:"size-3.5 text-sky-400/70 shrink-0"}),e.jsx(m,{variant:"outline",className:"text-[10px] font-mono px-1.5 py-0 h-4",children:t}),e.jsx("span",{className:"flex-1"}),s?e.jsx(g,{className:"size-3 text-muted-foreground"}):e.jsx(j,{className:"size-3 text-muted-foreground"})]}),e.jsx(N,{children:e.jsx("div",{className:"px-3 pb-2",children:e.jsx(y,{className:"max-h-[60vh]",children:e.jsx(z,{data:S(a),defaultExpandDepth:0})})})})]})})}),ne=o.memo(function({block:t}){switch(t.type){case"text":return e.jsx(ee,{text:t.text});case"thinking":case"think":return e.jsx(p,{thinking:t.thinking});case"tool_use":return e.jsx(te,{name:t.name,input:t.input});default:return Y()}}),se=o.memo(function({response:t}){return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(m,{variant:"secondary",className:"text-[10px] px-1.5 py-0 h-5 font-mono",children:t.model}),t.stop_reason!==null&&e.jsxs(m,{variant:"outline",className:"text-[10px] px-1.5 py-0 h-5 font-mono flex items-center gap-1",children:[e.jsx(O,{className:"size-2.5"}),t.stop_reason]}),e.jsxs("span",{className:"flex items-center gap-1 text-muted-foreground text-xs",children:[e.jsx(k,{className:"size-3"}),e.jsxs("span",{className:"font-mono tabular-nums",children:[l(t.usage.input_tokens??0)," in /"," ",l(t.usage.output_tokens??0)," out"]}),t.usage.cache_creation_input_tokens!==void 0&&t.usage.cache_creation_input_tokens!==null&&t.usage.cache_creation_input_tokens>0&&e.jsxs("span",{className:"font-mono tabular-nums text-emerald-400",children:["KV Cache +",l(t.usage.cache_creation_input_tokens)]}),t.usage.cache_read_input_tokens!==void 0&&t.usage.cache_read_input_tokens!==null&&t.usage.cache_read_input_tokens>0&&e.jsxs("span",{className:"font-mono tabular-nums text-purple-400",children:["KV Cache ~",l(t.usage.cache_read_input_tokens)]})]})]}),e.jsx(V,{className:"opacity-50"}),e.jsxs("div",{className:"space-y-2",children:[t.content.map((a,s)=>e.jsx(ne,{block:a},s)),t.content.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Empty response content"})]})]})});function ae(n){if(n===void 0||n==="")return{};try{return JSON.parse(n)}catch{return null}}function re({call:n}){const[t,a]=o.useState(!1),s=n.function.name??"(unnamed tool)",r=ae(n.function.arguments);return e.jsx(h,{open:t,onOpenChange:a,children:e.jsxs("div",{className:"border-l-2 border-sky-400/25 my-1",children:[e.jsxs(f,{className:"flex items-center gap-1.5 px-3 py-1 w-full text-left cursor-pointer hover:bg-sky-400/[0.04] transition-colors rounded-r-sm group",children:[e.jsx(R,{className:"size-3.5 text-sky-400/70 shrink-0"}),e.jsx(m,{variant:"outline",className:"text-[10px] font-mono px-1.5 py-0 h-4",children:s}),n.id!==void 0&&n.id!==""&&e.jsx("span",{className:"text-[10px] font-mono text-muted-foreground/60 truncate",children:n.id}),e.jsx("span",{className:"flex-1"}),t?e.jsx(g,{className:"size-3 text-muted-foreground"}):e.jsx(j,{className:"size-3 text-muted-foreground"})]}),e.jsx(N,{children:e.jsx("div",{className:"px-3 pb-2",children:e.jsx(y,{className:"max-h-[60vh]",children:r===null?e.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap break-words text-rose-300/90",children:n.function.arguments}):e.jsx(z,{data:S(r),defaultExpandDepth:0})})})})]})})}const oe=o.memo(function({response:t}){const a=t.choices[0],s=a?.message,r=s?.tool_calls??[];return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(m,{variant:"secondary",className:"text-[10px] px-1.5 py-0 h-5 font-mono",children:t.model}),a?.finish_reason!==null&&a?.finish_reason!==void 0&&e.jsxs(m,{variant:"outline",className:"text-[10px] px-1.5 py-0 h-5 font-mono flex items-center gap-1",children:[e.jsx(O,{className:"size-2.5"}),a.finish_reason]}),e.jsxs("span",{className:"flex items-center gap-1 text-muted-foreground text-xs",children:[e.jsx(k,{className:"size-3"}),e.jsxs("span",{className:"font-mono tabular-nums",children:[l(t.usage.prompt_tokens??0)," in /"," ",l(t.usage.completion_tokens??0)," out"]})]})]}),e.jsx(V,{className:"opacity-50"}),e.jsxs("div",{className:"space-y-2",children:[s?.reasoning_content!==null&&s?.reasoning_content!==void 0&&s.reasoning_content.length>0&&e.jsx(p,{thinking:s.reasoning_content}),s?.content!==null&&s?.content!==void 0&&s.content.length>0&&(()=>{const i=s.reasoning_content!==null&&s.reasoning_content!==void 0&&s.reasoning_content.length>0,{thinking:c,remainingText:d}=B(s.content);return e.jsxs("div",{className:"space-y-2",children:[c!==null&&!i&&e.jsx(p,{thinking:c}),d.length>0&&e.jsx(v,{text:d})]})})(),r.map((i,c)=>e.jsx(re,{call:i},i.id??`tc-${c}`)),s?.function_call!==null&&s?.function_call!==void 0&&e.jsxs("div",{className:"border border-sky-400/20 rounded-md p-3 bg-muted/20",children:[e.jsx("div",{className:"text-xs text-sky-400/80 font-mono mb-1",children:"function_call"}),e.jsxs("div",{className:"font-mono text-xs",children:[e.jsx("span",{className:"text-foreground/80",children:s.function_call.name}),e.jsxs("span",{className:"text-muted-foreground",children:["(",s.function_call.arguments,")"]})]})]}),(s?.content===null||s?.content===void 0||s.content.length===0)&&(s?.reasoning_content===null||s?.reasoning_content===void 0||s.reasoning_content.length===0)&&(s?.function_call===null||s?.function_call===void 0)&&r.length===0&&e.jsx("p",{className:"text-xs text-muted-foreground italic",children:"Empty response content"})]})]})});function T(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function ie(n){return T(n)&&n.object==="chat.completion"}function ce(n){return T(n)&&n.type==="message"&&Array.isArray(n.content)}function le(n,t){return n==="openai"&&ie(t)?e.jsx(oe,{response:t}):n==="anthropic"&&ce(t)?e.jsx(se,{response:t}):null}function de(n){switch(n){case"success":return"text-emerald-400";case"client_error":return"text-amber-400";case"server_error":return"text-red-400";case"pending":return"text-muted-foreground"}}function u({status:n}){const t=H(n),a=de(t);return n===null?e.jsx("span",{className:"text-xs text-muted-foreground italic",children:"pending"}):e.jsxs("span",{className:E("flex items-center gap-1 text-xs font-mono font-semibold",a),children:[t==="server_error"&&e.jsx(D,{className:"size-3"}),n]})}function A({text:n}){return e.jsx("div",{className:"rounded-md border border-red-500/30 bg-red-500/5 p-3",children:e.jsx("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono leading-relaxed overflow-auto max-h-[60vh]",children:n})})}function xe({text:n}){return e.jsx(v,{text:n})}const he=o.memo(function({responseText:t,responseStatus:a,streaming:s,inputTokens:r,outputTokens:i,cacheCreationInputTokens:c,cacheReadInputTokens:d,apiFormat:I,error:x}){const _=I??"unknown",b=o.useMemo(()=>M(_).analyzeResponse(t).parsed,[_,t]);return t===null&&x===void 0?e.jsxs("div",{className:"flex items-center gap-2 py-3",children:[e.jsx(u,{status:a}),e.jsx("span",{className:"text-xs text-muted-foreground italic",children:"No response"})]}):a!==null&&a>=400?e.jsxs("div",{className:"space-y-2",children:[e.jsx(u,{status:a}),e.jsx(A,{text:t??""}),x!=null&&e.jsxs("div",{className:"rounded border border-destructive/50 bg-destructive/10 p-3 text-xs",children:[e.jsx("div",{className:"font-semibold text-destructive mb-1",children:"SSE Error"}),e.jsx("div",{className:"text-muted-foreground font-mono",children:x})]})]}):x!=null?e.jsxs("div",{className:"space-y-2",children:[e.jsx(u,{status:a}),e.jsxs("div",{className:"rounded border border-destructive/50 bg-destructive/10 p-3 text-xs",children:[e.jsx("div",{className:"font-semibold text-destructive mb-1",children:"SSE Error"}),e.jsx("div",{className:"text-muted-foreground font-mono",children:x})]}),t!==null&&e.jsx("div",{className:"mt-2",children:e.jsx(A,{text:t})})]}):b!==null?e.jsxs("div",{className:"space-y-2",children:[e.jsx(u,{status:a}),le(_,b)]}):e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(u,{status:a}),s&&(r!==null||i!==null)&&e.jsxs("span",{className:"flex items-center gap-1 text-muted-foreground text-xs",children:[e.jsx(k,{className:"size-3"}),e.jsxs("span",{className:"font-mono tabular-nums",children:[r!==null?l(r):"—"," in /"," ",i!==null?l(i):"—"," out"]}),c!=null&&c>0&&e.jsxs("span",{className:"font-mono tabular-nums text-emerald-400",children:["KV Cache +",l(c)]}),d!=null&&d>0&&e.jsxs("span",{className:"font-mono tabular-nums text-purple-400",children:["KV Cache ~",l(d)]})]})]}),e.jsx(xe,{text:t??""})]})});export{he as ResponseView};
@@ -1 +1 @@
1
- import{r as a,j as e}from"./main-CwhqfJqM.js";import{s as j,t as v,v as b,N as l,h as u,B as N,w as k,_ as S,U as y}from"./ProxyViewerContainer-CWdkPZsJ.js";const z=a.memo(function({logId:d,truncated:x}){const[o,m]=a.useState(!1),[r,i]=a.useState({status:"idle"}),[h,p]=a.useState(new Set);a.useEffect(()=>{if(!o||r.status!=="idle")return;let s=!1;return i({status:"loading"}),fetch(`/api/logs/${d}/chunks`).then(t=>t.ok?t.json():Promise.reject(new Error("Chunks not found"))).then(t=>{s||i({status:"success",chunks:t.chunks})}).catch(()=>{s||i({status:"error",message:"Chunk data unavailable"})}),()=>{s=!0}},[o,d]);const c=a.useMemo(()=>{if(r.status!=="success")return[];const s=new Map;for(const t of r.chunks){const n=s.get(t.index);n?n.push(t):s.set(t.index,[t])}return Array.from(s.entries()).map(([t,n])=>({index:t,chunks:n})).sort((t,n)=>t.index-n.index)},[r]),f=s=>{p(t=>{const n=new Set(t);return n.has(s)?n.delete(s):n.add(s),n})};function g(){return r.status==="idle"||r.status==="loading"?e.jsxs("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[e.jsx(S,{className:"size-3 animate-spin"}),e.jsx("span",{children:"Loading chunks..."})]}):r.status==="error"?e.jsx("div",{className:"py-2 text-xs text-muted-foreground italic",children:r.message}):e.jsxs("div",{className:"p-2 space-y-1",children:[e.jsxs("div",{className:"text-[10px] text-muted-foreground font-mono mb-2",children:[c.length," index group",c.length!==1?"s":""," available"]}),c.map(s=>{const t=h.has(s.index);return e.jsxs("div",{className:"rounded border border-border bg-background",children:[e.jsxs("button",{type:"button",className:"flex items-center gap-2 w-full px-2 py-1.5 text-left hover:bg-muted/50 transition-colors cursor-pointer",onClick:()=>f(s.index),children:[t?e.jsx(l,{className:"size-3 text-muted-foreground"}):e.jsx(u,{className:"size-3 text-muted-foreground"}),e.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:["[",s.index,"] ",s.chunks[0]?.type??""]}),e.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:[s.chunks.length," chunk",s.chunks.length!==1?"s":""]})]}),t&&e.jsx("div",{className:"px-2 pb-2 space-y-1",children:s.chunks.map(n=>e.jsxs("div",{className:"rounded border border-border bg-muted/20 p-2",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:["+",n.timestamp,"ms"]}),e.jsx("span",{className:"text-[10px] text-muted-foreground font-mono",children:n.type})]}),e.jsx(y,{data:n,defaultExpandDepth:0,showCopy:!0})]},n.index))})]},s.index)})]})}return e.jsxs("div",{className:"space-y-1",children:[e.jsx(j,{children:e.jsxs(v,{children:[e.jsx(b,{asChild:!0,children:e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer",onClick:()=>m(s=>!s),children:[o?e.jsx(l,{className:"size-3"}):e.jsx(u,{className:"size-3"}),e.jsx("span",{children:"Raw SSE Events"}),e.jsxs(N,{variant:"outline",className:"text-[9px] px-1 py-0 h-4 font-mono ml-1",children:[d,x===!0?"+":""]})]})}),e.jsx(k,{children:"Server-Sent Events streaming chunks from the provider"})]})}),o===!0?e.jsx("div",{className:"rounded-md border border-border bg-muted/20 overflow-auto max-h-64",children:g()}):null]})});export{z as StreamingChunkSequence};
1
+ import{r as a,j as e}from"./main-Bww0Bc88.js";import{s as j,t as v,v as b,N as l,h as u,B as N,w as k,_ as S,U as y}from"./ProxyViewerContainer-Cmr2TANl.js";const z=a.memo(function({logId:d,truncated:x}){const[o,m]=a.useState(!1),[r,i]=a.useState({status:"idle"}),[h,p]=a.useState(new Set);a.useEffect(()=>{if(!o||r.status!=="idle")return;let s=!1;return i({status:"loading"}),fetch(`/api/logs/${d}/chunks`).then(t=>t.ok?t.json():Promise.reject(new Error("Chunks not found"))).then(t=>{s||i({status:"success",chunks:t.chunks})}).catch(()=>{s||i({status:"error",message:"Chunk data unavailable"})}),()=>{s=!0}},[o,d]);const c=a.useMemo(()=>{if(r.status!=="success")return[];const s=new Map;for(const t of r.chunks){const n=s.get(t.index);n?n.push(t):s.set(t.index,[t])}return Array.from(s.entries()).map(([t,n])=>({index:t,chunks:n})).sort((t,n)=>t.index-n.index)},[r]),f=s=>{p(t=>{const n=new Set(t);return n.has(s)?n.delete(s):n.add(s),n})};function g(){return r.status==="idle"||r.status==="loading"?e.jsxs("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[e.jsx(S,{className:"size-3 animate-spin"}),e.jsx("span",{children:"Loading chunks..."})]}):r.status==="error"?e.jsx("div",{className:"py-2 text-xs text-muted-foreground italic",children:r.message}):e.jsxs("div",{className:"p-2 space-y-1",children:[e.jsxs("div",{className:"text-[10px] text-muted-foreground font-mono mb-2",children:[c.length," index group",c.length!==1?"s":""," available"]}),c.map(s=>{const t=h.has(s.index);return e.jsxs("div",{className:"rounded border border-border bg-background",children:[e.jsxs("button",{type:"button",className:"flex items-center gap-2 w-full px-2 py-1.5 text-left hover:bg-muted/50 transition-colors cursor-pointer",onClick:()=>f(s.index),children:[t?e.jsx(l,{className:"size-3 text-muted-foreground"}):e.jsx(u,{className:"size-3 text-muted-foreground"}),e.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:["[",s.index,"] ",s.chunks[0]?.type??""]}),e.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:[s.chunks.length," chunk",s.chunks.length!==1?"s":""]})]}),t&&e.jsx("div",{className:"px-2 pb-2 space-y-1",children:s.chunks.map(n=>e.jsxs("div",{className:"rounded border border-border bg-muted/20 p-2",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:["+",n.timestamp,"ms"]}),e.jsx("span",{className:"text-[10px] text-muted-foreground font-mono",children:n.type})]}),e.jsx(y,{data:n,defaultExpandDepth:0,showCopy:!0})]},n.index))})]},s.index)})]})}return e.jsxs("div",{className:"space-y-1",children:[e.jsx(j,{children:e.jsxs(v,{children:[e.jsx(b,{asChild:!0,children:e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer",onClick:()=>m(s=>!s),children:[o?e.jsx(l,{className:"size-3"}):e.jsx(u,{className:"size-3"}),e.jsx("span",{children:"Raw SSE Events"}),e.jsxs(N,{variant:"outline",className:"text-[9px] px-1 py-0 h-4 font-mono ml-1",children:[d,x===!0?"+":""]})]})}),e.jsx(k,{children:"Server-Sent Events streaming chunks from the provider"})]})}),o===!0?e.jsx("div",{className:"rounded-md border border-border bg-muted/20 overflow-auto max-h-64",children:g()}):null]})});export{z as StreamingChunkSequence};
@@ -0,0 +1 @@
1
+ import{R as s,j as e}from"./main-Bww0Bc88.js";import{P as i}from"./ProxyViewerContainer-Cmr2TANl.js";function t(){const{sessionId:o}=s.useParams();return e.jsx(i,{initialSessionId:o},o)}export{t as component};
@@ -0,0 +1 @@
1
+ import{P as o}from"./ProxyViewerContainer-Cmr2TANl.js";import"./main-Bww0Bc88.js";const r=o;export{r as component};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CJgaCJo8.js","assets/ProxyViewerContainer-CWdkPZsJ.js","assets/_sessionId-3ipVoQtW.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Cz5aqmzE.js","assets/ProxyViewerContainer-Cmr2TANl.js","assets/_sessionId-3e8W68GL.js"])))=>i.map(i=>d[i]);
2
2
  function Iv(a,u){for(var i=0;i<u.length;i++){const r=u[i];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in a)){const f=Object.getOwnPropertyDescriptor(r,o);f&&Object.defineProperty(a,o,f.get?f:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}var mR=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function hp(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var ho={exports:{}},Xi={};var py;function tS(){if(py)return Xi;py=1;var a=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function i(r,o,f){var h=null;if(f!==void 0&&(h=""+f),o.key!==void 0&&(h=""+o.key),"key"in o){f={};for(var y in o)y!=="key"&&(f[y]=o[y])}else f=o;return o=f.ref,{$$typeof:a,type:r,key:h,ref:o!==void 0?o:null,props:f}}return Xi.Fragment=u,Xi.jsx=i,Xi.jsxs=i,Xi}var gy;function eS(){return gy||(gy=1,ho.exports=tS()),ho.exports}var J=eS(),mo={exports:{}},dt={};var vy;function nS(){if(vy)return dt;vy=1;var a=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),h=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),_=Symbol.iterator;function R(w){return w===null||typeof w!="object"?null:(w=_&&w[_]||w["@@iterator"],typeof w=="function"?w:null)}var z={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A=Object.assign,M={};function Y(w,q,k){this.props=w,this.context=q,this.refs=M,this.updater=k||z}Y.prototype.isReactComponent={},Y.prototype.setState=function(w,q){if(typeof w!="object"&&typeof w!="function"&&w!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,w,q,"setState")},Y.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function B(){}B.prototype=Y.prototype;function Z(w,q,k){this.props=w,this.context=q,this.refs=M,this.updater=k||z}var H=Z.prototype=new B;H.constructor=Z,A(H,Y.prototype),H.isPureReactComponent=!0;var F=Array.isArray;function I(){}var Q={H:null,A:null,T:null,S:null},X=Object.prototype.hasOwnProperty;function K(w,q,k){var W=k.ref;return{$$typeof:a,type:w,key:q,ref:W!==void 0?W:null,props:k}}function rt(w,q){return K(w.type,q,w.props)}function nt(w){return typeof w=="object"&&w!==null&&w.$$typeof===a}function lt(w){var q={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(k){return q[k]})}var ht=/\/+/g;function it(w,q){return typeof w=="object"&&w!==null&&w.key!=null?lt(""+w.key):q.toString(36)}function jt(w){switch(w.status){case"fulfilled":return w.value;case"rejected":throw w.reason;default:switch(typeof w.status=="string"?w.then(I,I):(w.status="pending",w.then(function(q){w.status==="pending"&&(w.status="fulfilled",w.value=q)},function(q){w.status==="pending"&&(w.status="rejected",w.reason=q)})),w.status){case"fulfilled":return w.value;case"rejected":throw w.reason}}throw w}function N(w,q,k,W,ct){var ot=typeof w;(ot==="undefined"||ot==="boolean")&&(w=null);var ft=!1;if(w===null)ft=!0;else switch(ot){case"bigint":case"string":case"number":ft=!0;break;case"object":switch(w.$$typeof){case a:case u:ft=!0;break;case v:return ft=w._init,N(ft(w._payload),q,k,W,ct)}}if(ft)return ct=ct(w),ft=W===""?"."+it(w,0):W,F(ct)?(k="",ft!=null&&(k=ft.replace(ht,"$&/")+"/"),N(ct,q,k,"",function(De){return De})):ct!=null&&(nt(ct)&&(ct=rt(ct,k+(ct.key==null||w&&w.key===ct.key?"":(""+ct.key).replace(ht,"$&/")+"/")+ft)),q.push(ct)),1;ft=0;var Xt=W===""?".":W+":";if(F(w))for(var Ht=0;Ht<w.length;Ht++)W=w[Ht],ot=Xt+it(W,Ht),ft+=N(W,q,k,ot,ct);else if(Ht=R(w),typeof Ht=="function")for(w=Ht.call(w),Ht=0;!(W=w.next()).done;)W=W.value,ot=Xt+it(W,Ht++),ft+=N(W,q,k,ot,ct);else if(ot==="object"){if(typeof w.then=="function")return N(jt(w),q,k,W,ct);throw q=String(w),Error("Objects are not valid as a React child (found: "+(q==="[object Object]"?"object with keys {"+Object.keys(w).join(", ")+"}":q)+"). If you meant to render a collection of children, use an array instead.")}return ft}function P(w,q,k){if(w==null)return w;var W=[],ct=0;return N(w,W,"","",function(ot){return q.call(k,ot,ct++)}),W}function ut(w){if(w._status===-1){var q=w._result;q=q(),q.then(function(k){(w._status===0||w._status===-1)&&(w._status=1,w._result=k)},function(k){(w._status===0||w._status===-1)&&(w._status=2,w._result=k)}),w._status===-1&&(w._status=0,w._result=q)}if(w._status===1)return w._result.default;throw w._result}var Tt=typeof reportError=="function"?reportError:function(w){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof w=="object"&&w!==null&&typeof w.message=="string"?String(w.message):String(w),error:w});if(!window.dispatchEvent(q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",w);return}console.error(w)},pt={map:P,forEach:function(w,q,k){P(w,function(){q.apply(this,arguments)},k)},count:function(w){var q=0;return P(w,function(){q++}),q},toArray:function(w){return P(w,function(q){return q})||[]},only:function(w){if(!nt(w))throw Error("React.Children.only expected to receive a single React element child.");return w}};return dt.Activity=S,dt.Children=pt,dt.Component=Y,dt.Fragment=i,dt.Profiler=o,dt.PureComponent=Z,dt.StrictMode=r,dt.Suspense=m,dt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Q,dt.__COMPILER_RUNTIME={__proto__:null,c:function(w){return Q.H.useMemoCache(w)}},dt.cache=function(w){return function(){return w.apply(null,arguments)}},dt.cacheSignal=function(){return null},dt.cloneElement=function(w,q,k){if(w==null)throw Error("The argument must be a React element, but you passed "+w+".");var W=A({},w.props),ct=w.key;if(q!=null)for(ot in q.key!==void 0&&(ct=""+q.key),q)!X.call(q,ot)||ot==="key"||ot==="__self"||ot==="__source"||ot==="ref"&&q.ref===void 0||(W[ot]=q[ot]);var ot=arguments.length-2;if(ot===1)W.children=k;else if(1<ot){for(var ft=Array(ot),Xt=0;Xt<ot;Xt++)ft[Xt]=arguments[Xt+2];W.children=ft}return K(w.type,ct,W)},dt.createContext=function(w){return w={$$typeof:h,_currentValue:w,_currentValue2:w,_threadCount:0,Provider:null,Consumer:null},w.Provider=w,w.Consumer={$$typeof:f,_context:w},w},dt.createElement=function(w,q,k){var W,ct={},ot=null;if(q!=null)for(W in q.key!==void 0&&(ot=""+q.key),q)X.call(q,W)&&W!=="key"&&W!=="__self"&&W!=="__source"&&(ct[W]=q[W]);var ft=arguments.length-2;if(ft===1)ct.children=k;else if(1<ft){for(var Xt=Array(ft),Ht=0;Ht<ft;Ht++)Xt[Ht]=arguments[Ht+2];ct.children=Xt}if(w&&w.defaultProps)for(W in ft=w.defaultProps,ft)ct[W]===void 0&&(ct[W]=ft[W]);return K(w,ot,ct)},dt.createRef=function(){return{current:null}},dt.forwardRef=function(w){return{$$typeof:y,render:w}},dt.isValidElement=nt,dt.lazy=function(w){return{$$typeof:v,_payload:{_status:-1,_result:w},_init:ut}},dt.memo=function(w,q){return{$$typeof:p,type:w,compare:q===void 0?null:q}},dt.startTransition=function(w){var q=Q.T,k={};Q.T=k;try{var W=w(),ct=Q.S;ct!==null&&ct(k,W),typeof W=="object"&&W!==null&&typeof W.then=="function"&&W.then(I,Tt)}catch(ot){Tt(ot)}finally{q!==null&&k.types!==null&&(q.types=k.types),Q.T=q}},dt.unstable_useCacheRefresh=function(){return Q.H.useCacheRefresh()},dt.use=function(w){return Q.H.use(w)},dt.useActionState=function(w,q,k){return Q.H.useActionState(w,q,k)},dt.useCallback=function(w,q){return Q.H.useCallback(w,q)},dt.useContext=function(w){return Q.H.useContext(w)},dt.useDebugValue=function(){},dt.useDeferredValue=function(w,q){return Q.H.useDeferredValue(w,q)},dt.useEffect=function(w,q){return Q.H.useEffect(w,q)},dt.useEffectEvent=function(w){return Q.H.useEffectEvent(w)},dt.useId=function(){return Q.H.useId()},dt.useImperativeHandle=function(w,q,k){return Q.H.useImperativeHandle(w,q,k)},dt.useInsertionEffect=function(w,q){return Q.H.useInsertionEffect(w,q)},dt.useLayoutEffect=function(w,q){return Q.H.useLayoutEffect(w,q)},dt.useMemo=function(w,q){return Q.H.useMemo(w,q)},dt.useOptimistic=function(w,q){return Q.H.useOptimistic(w,q)},dt.useReducer=function(w,q,k){return Q.H.useReducer(w,q,k)},dt.useRef=function(w){return Q.H.useRef(w)},dt.useState=function(w){return Q.H.useState(w)},dt.useSyncExternalStore=function(w,q,k){return Q.H.useSyncExternalStore(w,q,k)},dt.useTransition=function(){return Q.H.useTransition()},dt.version="19.2.4",dt}var Sy;function nu(){return Sy||(Sy=1,mo.exports=nS()),mo.exports}var $=nu();const qn=hp($),aS=Iv({__proto__:null,default:qn},[$]);var yo={exports:{}},Qi={},po={exports:{}},go={};var by;function lS(){return by||(by=1,(function(a){function u(N,P){var ut=N.length;N.push(P);t:for(;0<ut;){var Tt=ut-1>>>1,pt=N[Tt];if(0<o(pt,P))N[Tt]=P,N[ut]=pt,ut=Tt;else break t}}function i(N){return N.length===0?null:N[0]}function r(N){if(N.length===0)return null;var P=N[0],ut=N.pop();if(ut!==P){N[0]=ut;t:for(var Tt=0,pt=N.length,w=pt>>>1;Tt<w;){var q=2*(Tt+1)-1,k=N[q],W=q+1,ct=N[W];if(0>o(k,ut))W<pt&&0>o(ct,k)?(N[Tt]=ct,N[W]=ut,Tt=W):(N[Tt]=k,N[q]=ut,Tt=q);else if(W<pt&&0>o(ct,ut))N[Tt]=ct,N[W]=ut,Tt=W;else break t}}return P}function o(N,P){var ut=N.sortIndex-P.sortIndex;return ut!==0?ut:N.id-P.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;a.unstable_now=function(){return f.now()}}else{var h=Date,y=h.now();a.unstable_now=function(){return h.now()-y}}var m=[],p=[],v=1,S=null,_=3,R=!1,z=!1,A=!1,M=!1,Y=typeof setTimeout=="function"?setTimeout:null,B=typeof clearTimeout=="function"?clearTimeout:null,Z=typeof setImmediate<"u"?setImmediate:null;function H(N){for(var P=i(p);P!==null;){if(P.callback===null)r(p);else if(P.startTime<=N)r(p),P.sortIndex=P.expirationTime,u(m,P);else break;P=i(p)}}function F(N){if(A=!1,H(N),!z)if(i(m)!==null)z=!0,I||(I=!0,lt());else{var P=i(p);P!==null&&jt(F,P.startTime-N)}}var I=!1,Q=-1,X=5,K=-1;function rt(){return M?!0:!(a.unstable_now()-K<X)}function nt(){if(M=!1,I){var N=a.unstable_now();K=N;var P=!0;try{t:{z=!1,A&&(A=!1,B(Q),Q=-1),R=!0;var ut=_;try{e:{for(H(N),S=i(m);S!==null&&!(S.expirationTime>N&&rt());){var Tt=S.callback;if(typeof Tt=="function"){S.callback=null,_=S.priorityLevel;var pt=Tt(S.expirationTime<=N);if(N=a.unstable_now(),typeof pt=="function"){S.callback=pt,H(N),P=!0;break e}S===i(m)&&r(m),H(N)}else r(m);S=i(m)}if(S!==null)P=!0;else{var w=i(p);w!==null&&jt(F,w.startTime-N),P=!1}}break t}finally{S=null,_=ut,R=!1}P=void 0}}finally{P?lt():I=!1}}}var lt;if(typeof Z=="function")lt=function(){Z(nt)};else if(typeof MessageChannel<"u"){var ht=new MessageChannel,it=ht.port2;ht.port1.onmessage=nt,lt=function(){it.postMessage(null)}}else lt=function(){Y(nt,0)};function jt(N,P){Q=Y(function(){N(a.unstable_now())},P)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(N){N.callback=null},a.unstable_forceFrameRate=function(N){0>N||125<N?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):X=0<N?Math.floor(1e3/N):5},a.unstable_getCurrentPriorityLevel=function(){return _},a.unstable_next=function(N){switch(_){case 1:case 2:case 3:var P=3;break;default:P=_}var ut=_;_=P;try{return N()}finally{_=ut}},a.unstable_requestPaint=function(){M=!0},a.unstable_runWithPriority=function(N,P){switch(N){case 1:case 2:case 3:case 4:case 5:break;default:N=3}var ut=_;_=N;try{return P()}finally{_=ut}},a.unstable_scheduleCallback=function(N,P,ut){var Tt=a.unstable_now();switch(typeof ut=="object"&&ut!==null?(ut=ut.delay,ut=typeof ut=="number"&&0<ut?Tt+ut:Tt):ut=Tt,N){case 1:var pt=-1;break;case 2:pt=250;break;case 5:pt=1073741823;break;case 4:pt=1e4;break;default:pt=5e3}return pt=ut+pt,N={id:v++,callback:P,priorityLevel:N,startTime:ut,expirationTime:pt,sortIndex:-1},ut>Tt?(N.sortIndex=ut,u(p,N),i(m)===null&&N===i(p)&&(A?(B(Q),Q=-1):A=!0,jt(F,ut-Tt))):(N.sortIndex=pt,u(m,N),z||R||(z=!0,I||(I=!0,lt()))),N},a.unstable_shouldYield=rt,a.unstable_wrapCallback=function(N){var P=_;return function(){var ut=_;_=P;try{return N.apply(this,arguments)}finally{_=ut}}}})(go)),go}var _y;function iS(){return _y||(_y=1,po.exports=lS()),po.exports}var vo={exports:{}},Se={};var Ey;function uS(){if(Ey)return Se;Ey=1;var a=nu();function u(m){var p="https://react.dev/errors/"+m;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var v=2;v<arguments.length;v++)p+="&args[]="+encodeURIComponent(arguments[v])}return"Minified React error #"+m+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var r={d:{f:i,r:function(){throw Error(u(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for("react.portal");function f(m,p,v){var S=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:S==null?null:""+S,children:m,containerInfo:p,implementation:v}}var h=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function y(m,p){if(m==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return Se.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Se.createPortal=function(m,p){var v=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(u(299));return f(m,p,null,v)},Se.flushSync=function(m){var p=h.T,v=r.p;try{if(h.T=null,r.p=2,m)return m()}finally{h.T=p,r.p=v,r.d.f()}},Se.preconnect=function(m,p){typeof m=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,r.d.C(m,p))},Se.prefetchDNS=function(m){typeof m=="string"&&r.d.D(m)},Se.preinit=function(m,p){if(typeof m=="string"&&p&&typeof p.as=="string"){var v=p.as,S=y(v,p.crossOrigin),_=typeof p.integrity=="string"?p.integrity:void 0,R=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;v==="style"?r.d.S(m,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:S,integrity:_,fetchPriority:R}):v==="script"&&r.d.X(m,{crossOrigin:S,integrity:_,fetchPriority:R,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},Se.preinitModule=function(m,p){if(typeof m=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var v=y(p.as,p.crossOrigin);r.d.M(m,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&r.d.M(m)},Se.preload=function(m,p){if(typeof m=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var v=p.as,S=y(v,p.crossOrigin);r.d.L(m,v,{crossOrigin:S,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},Se.preloadModule=function(m,p){if(typeof m=="string")if(p){var v=y(p.as,p.crossOrigin);r.d.m(m,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else r.d.m(m)},Se.requestFormReset=function(m){r.d.r(m)},Se.unstable_batchedUpdates=function(m,p){return m(p)},Se.useFormState=function(m,p,v){return h.H.useFormState(m,p,v)},Se.useFormStatus=function(){return h.H.useHostTransitionStatus()},Se.version="19.2.4",Se}var Ry;function mp(){if(Ry)return vo.exports;Ry=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(u){console.error(u)}}return a(),vo.exports=uS(),vo.exports}var Ty;function sS(){if(Ty)return Qi;Ty=1;var a=iS(),u=nu(),i=mp();function r(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function f(t){var e=t,n=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(n=e.return),t=e.return;while(t)}return e.tag===3?n:null}function h(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function y(t){if(t.tag===31){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function m(t){if(f(t)!==t)throw Error(r(188))}function p(t){var e=t.alternate;if(!e){if(e=f(t),e===null)throw Error(r(188));return e!==t?null:t}for(var n=t,l=e;;){var s=n.return;if(s===null)break;var c=s.alternate;if(c===null){if(l=s.return,l!==null){n=l;continue}break}if(s.child===c.child){for(c=s.child;c;){if(c===n)return m(s),t;if(c===l)return m(s),e;c=c.sibling}throw Error(r(188))}if(n.return!==l.return)n=s,l=c;else{for(var d=!1,g=s.child;g;){if(g===n){d=!0,n=s,l=c;break}if(g===l){d=!0,l=s,n=c;break}g=g.sibling}if(!d){for(g=c.child;g;){if(g===n){d=!0,n=c,l=s;break}if(g===l){d=!0,l=c,n=s;break}g=g.sibling}if(!d)throw Error(r(189))}}if(n.alternate!==l)throw Error(r(190))}if(n.tag!==3)throw Error(r(188));return n.stateNode.current===n?t:e}function v(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=v(t),e!==null)return e;t=t.sibling}return null}var S=Object.assign,_=Symbol.for("react.element"),R=Symbol.for("react.transitional.element"),z=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),Y=Symbol.for("react.profiler"),B=Symbol.for("react.consumer"),Z=Symbol.for("react.context"),H=Symbol.for("react.forward_ref"),F=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),Q=Symbol.for("react.memo"),X=Symbol.for("react.lazy"),K=Symbol.for("react.activity"),rt=Symbol.for("react.memo_cache_sentinel"),nt=Symbol.iterator;function lt(t){return t===null||typeof t!="object"?null:(t=nt&&t[nt]||t["@@iterator"],typeof t=="function"?t:null)}var ht=Symbol.for("react.client.reference");function it(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===ht?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case A:return"Fragment";case Y:return"Profiler";case M:return"StrictMode";case F:return"Suspense";case I:return"SuspenseList";case K:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case z:return"Portal";case Z:return t.displayName||"Context";case B:return(t._context.displayName||"Context")+".Consumer";case H:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Q:return e=t.displayName||null,e!==null?e:it(t.type)||"Memo";case X:e=t._payload,t=t._init;try{return it(t(e))}catch{}}return null}var jt=Array.isArray,N=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ut={pending:!1,data:null,method:null,action:null},Tt=[],pt=-1;function w(t){return{current:t}}function q(t){0>pt||(t.current=Tt[pt],Tt[pt]=null,pt--)}function k(t,e){pt++,Tt[pt]=t.current,t.current=e}var W=w(null),ct=w(null),ot=w(null),ft=w(null);function Xt(t,e){switch(k(ot,e),k(ct,t),k(W,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?qm(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=qm(e),t=Vm(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}q(W),k(W,t)}function Ht(){q(W),q(ct),q(ot)}function De(t){t.memoizedState!==null&&k(ft,t);var e=W.current,n=Vm(e,t.type);e!==n&&(k(ct,t),k(W,n))}function Xe(t){ct.current===t&&(q(W),q(ct)),ft.current===t&&(q(ft),qi._currentValue=ut)}var Qn,Ta;function _e(t){if(Qn===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);Qn=e&&e[1]||"",Ta=-1<n.stack.indexOf(`
3
3
  at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
4
4
  `+Qn+t+Ta}var mn=!1;function Aa(t,e){if(!t||mn)return"";mn=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(e){var G=function(){throw Error()};if(Object.defineProperty(G.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(G,[])}catch(U){var L=U}Reflect.construct(t,[],G)}else{try{G.call()}catch(U){L=U}t.call(G.prototype)}}else{try{throw Error()}catch(U){L=U}(G=t())&&typeof G.catch=="function"&&G.catch(function(){})}}catch(U){if(U&&L&&typeof U.stack=="string")return[U.stack,L.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var s=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");s&&s.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var c=l.DetermineComponentFrameRoot(),d=c[0],g=c[1];if(d&&g){var E=d.split(`
@@ -15,4 +15,4 @@ Error generating stack: `+l.message+`
15
15
  `)}else{const p=o.indexOf(`
16
16
  `);if(p>=0){const v=o.slice(0,p).trim();o=o.slice(p+1),v.length>0&&(h=JSON.parse(v),f=!0)}}}return(async()=>{try{for(;;){const{value:y,done:m}=await r.read();y&&(o+=y);const p=o.lastIndexOf(`
17
17
  `);if(p>=0){const v=o.slice(0,p);o=o.slice(p+1);const S=v.split(`
18
- `).filter(Boolean);for(const _ of S)try{u(JSON.parse(_))}catch(R){i?.(`Invalid JSON line: ${_}`,R)}}if(m)break}}catch(y){i?.("Stream processing error:",y)}})(),u(h)}async function yE({jsonStream:a,onMessage:u,onError:i}){const r=a.getReader(),{value:o,done:f}=await r.read();if(f||!o)throw new Error("Stream ended before first object");const h=JSON.parse(o);return(async()=>{try{for(;;){const{value:y,done:m}=await r.read();if(m)break;if(y)try{u(JSON.parse(y))}catch(p){i?.(`Invalid JSON: ${y}`,p)}}}catch(y){i?.("Stream processing error:",y)}})(),u(h)}function pE(a){const u="/_serverFn/"+a;return Object.assign((...o)=>{const f=b0()?.serverFns?.fetch;return fE(u,o,f??fetch)},{url:u,serverFnMeta:{id:a},[Zo]:!0})}const gE={key:"$TSS/serverfn",test:a=>typeof a!="function"||!(Zo in a)?!1:!!a[Zo],toSerializable:({serverFnMeta:a})=>({functionId:a.id}),fromSerializable:({functionId:a})=>pE(a)};var ip=o0();const T0=0,A0=1,O0=2,up=3;var sp=Object.prototype.hasOwnProperty;function Ko(a,u){var i,r;if(a===u)return!0;if(a&&u&&(i=a.constructor)===u.constructor){if(i===Date)return a.getTime()===u.getTime();if(i===RegExp)return a.toString()===u.toString();if(i===Array){if((r=a.length)===u.length)for(;r--&&Ko(a[r],u[r]););return r===-1}if(!i||typeof a=="object"){r=0;for(i in a)if(sp.call(a,i)&&++r&&!sp.call(u,i)||!(i in u)||!Ko(a[i],u[i]))return!1;return Object.keys(u).length===r}}return a!==a&&u!==u}const Bn=new WeakMap,Hn=()=>{},ge=Hn(),Qs=Object,_t=a=>a===ge,sn=a=>typeof a=="function",Gn=(a,u)=>({...a,...u}),w0=a=>sn(a.then),Uo={},As={},pf="undefined",lu=typeof window!=pf,ko=typeof document!=pf,vE=lu&&"Deno"in window,SE=()=>lu&&typeof window.requestAnimationFrame!=pf,x0=(a,u)=>{const i=Bn.get(a);return[()=>!_t(u)&&a.get(u)||Uo,r=>{if(!_t(u)){const o=a.get(u);u in As||(As[u]=o),i[5](u,Gn(o,r),o||Uo)}},i[6],()=>!_t(u)&&u in As?As[u]:!_t(u)&&a.get(u)||Uo]};let Jo=!0;const bE=()=>Jo,[Fo,Po]=lu&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[Hn,Hn],_E=()=>{const a=ko&&document.visibilityState;return _t(a)||a!=="hidden"},EE=a=>(ko&&document.addEventListener("visibilitychange",a),Fo("focus",a),()=>{ko&&document.removeEventListener("visibilitychange",a),Po("focus",a)}),RE=a=>{const u=()=>{Jo=!0,a()},i=()=>{Jo=!1};return Fo("online",u),Fo("offline",i),()=>{Po("online",u),Po("offline",i)}},TE={isOnline:bE,isVisible:_E},AE={initFocus:EE,initReconnect:RE},rp=!qn.useId,Fl=!lu||vE,OE=a=>SE()?window.requestAnimationFrame(a):setTimeout(a,1),Ds=Fl?$.useEffect:$.useLayoutEffect,Bo=typeof navigator<"u"&&navigator.connection,cp=!Fl&&Bo&&(["slow-2g","2g"].includes(Bo.effectiveType)||Bo.saveData),Os=new WeakMap,wE=a=>Qs.prototype.toString.call(a),jo=(a,u)=>a===`[object ${u}]`;let xE=0;const Wo=a=>{const u=typeof a,i=wE(a),r=jo(i,"Date"),o=jo(i,"RegExp"),f=jo(i,"Object");let h,y;if(Qs(a)===a&&!r&&!o){if(h=Os.get(a),h)return h;if(h=++xE+"~",Os.set(a,h),Array.isArray(a)){for(h="@",y=0;y<a.length;y++)h+=Wo(a[y])+",";Os.set(a,h)}if(f){h="#";const m=Qs.keys(a).sort();for(;!_t(y=m.pop());)_t(a[y])||(h+=y+":"+Wo(a[y])+",");Os.set(a,h)}}else h=r?a.toJSON():u=="symbol"?a.toString():u=="string"?JSON.stringify(a):""+a;return h},gf=a=>{if(sn(a))try{a=a()}catch{a=""}const u=a;return a=typeof a=="string"?a:(Array.isArray(a)?a.length:a)?Wo(a):"",[a,u]};let ME=0;const $o=()=>++ME;async function M0(...a){const[u,i,r,o]=a,f=Gn({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{});let h=f.populateCache;const y=f.rollbackOnError;let m=f.optimisticData;const p=_=>typeof y=="function"?y(_):y!==!1,v=f.throwOnError;if(sn(i)){const _=i,R=[],z=u.keys();for(const A of z)!/^\$(inf|sub)\$/.test(A)&&_(u.get(A)._k)&&R.push(A);return Promise.all(R.map(S))}return S(i);async function S(_){const[R]=gf(_);if(!R)return;const[z,A]=x0(u,R),[M,Y,B,Z]=Bn.get(u),H=()=>{const it=M[R];return(sn(f.revalidate)?f.revalidate(z().data,_):f.revalidate!==!1)&&(delete B[R],delete Z[R],it&&it[0])?it[0](O0).then(()=>z().data):z().data};if(a.length<3)return H();let F=r,I,Q=!1;const X=$o();Y[R]=[X,0];const K=!_t(m),rt=z(),nt=rt.data,lt=rt._c,ht=_t(lt)?nt:lt;if(K&&(m=sn(m)?m(ht,nt):m,A({data:m,_c:ht})),sn(F))try{F=F(ht)}catch(it){I=it,Q=!0}if(F&&w0(F))if(F=await F.catch(it=>{I=it,Q=!0}),X!==Y[R][0]){if(Q)throw I;return F}else Q&&K&&p(I)&&(h=!0,A({data:ht,_c:ge}));if(h&&!Q)if(sn(h)){const it=h(F,ht);A({data:it,error:ge,_c:ge})}else A({data:F,error:ge,_c:ge});if(Y[R][1]=$o(),Promise.resolve(H()).then(()=>{A({_c:ge})}),Q){if(v)throw I;return}return F}}const op=(a,u)=>{for(const i in a)a[i][0]&&a[i][0](u)},z0=(a,u)=>{if(!Bn.has(a)){const i=Gn(AE,u),r=Object.create(null),o=M0.bind(ge,a);let f=Hn;const h=Object.create(null),y=(v,S)=>{const _=h[v]||[];return h[v]=_,_.push(S),()=>_.splice(_.indexOf(S),1)},m=(v,S,_)=>{a.set(v,S);const R=h[v];if(R)for(const z of R)z(S,_)},p=()=>{if(!Bn.has(a)&&(Bn.set(a,[r,Object.create(null),Object.create(null),Object.create(null),o,m,y]),!Fl)){const v=i.initFocus(setTimeout.bind(ge,op.bind(ge,r,T0))),S=i.initReconnect(setTimeout.bind(ge,op.bind(ge,r,A0)));f=()=>{v&&v(),S&&S(),Bn.delete(a)}}};return p(),[a,o,p,f]}return[a,Bn.get(a)[4]]},zE=(a,u,i,r,o)=>{const f=i.errorRetryCount,h=o.retryCount,y=~~((Math.random()+.5)*(1<<(h<8?h:8)))*i.errorRetryInterval;!_t(f)&&h>f||setTimeout(r,y,o)},CE=Ko,[vf,DE]=z0(new Map),C0=Gn({onLoadingSlow:Hn,onSuccess:Hn,onError:Hn,onErrorRetry:zE,onDiscarded:Hn,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:cp?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:cp?5e3:3e3,compare:CE,isPaused:()=>!1,cache:vf,mutate:DE,fallback:{}},TE),D0=(a,u)=>{const i=Gn(a,u);if(u){const{use:r,fallback:o}=a,{use:f,fallback:h}=u;r&&f&&(i.use=r.concat(f)),o&&h&&(i.fallback=Gn(o,h))}return i},Io=$.createContext({}),LE=a=>{const{value:u}=a,i=$.useContext(Io),r=sn(u),o=$.useMemo(()=>r?u(i):u,[r,i,u]),f=$.useMemo(()=>r?o:D0(i,o),[r,i,o]),h=o&&o.provider,y=$.useRef(ge);h&&!y.current&&(y.current=z0(h(f.cache||vf),o));const m=y.current;return m&&(f.cache=m[0],f.mutate=m[1]),Ds(()=>{if(m)return m[2]&&m[2](),m[3]},[]),$.createElement(Io.Provider,Gn(a,{value:f}))},NE="$inf$",L0=lu&&window.__SWR_DEVTOOLS_USE__,UE=L0?window.__SWR_DEVTOOLS_USE__:[],BE=()=>{L0&&(window.__SWR_DEVTOOLS_REACT__=qn)},jE=a=>sn(a[1])?[a[0],a[1],a[2]||{}]:[a[0],null,(a[1]===null?a[2]:a[1])||{}],HE=()=>{const a=$.useContext(Io);return $.useMemo(()=>Gn(C0,a),[a])},qE=a=>(u,i,r)=>a(u,i&&((...f)=>{const[h]=gf(u),[,,,y]=Bn.get(vf);if(h.startsWith(NE))return i(...f);const m=y[h];return _t(m)?i(...f):(delete y[h],m)}),r),VE=UE.concat(qE),YE=a=>function(...i){const r=HE(),[o,f,h]=jE(i),y=D0(r,h);let m=a;const{use:p}=y,v=(p||[]).concat(VE);for(let S=v.length;S--;)m=v[S](m);return m(o,f||y.fetcher||null,y)},GE=(a,u,i)=>{const r=u[a]||(u[a]=[]);return r.push(i),()=>{const o=r.indexOf(i);o>=0&&(r[o]=r[r.length-1],r.pop())}};BE();const Ho=qn.use||(a=>{switch(a.status){case"pending":throw a;case"fulfilled":return a.value;case"rejected":throw a.reason;default:throw a.status="pending",a.then(u=>{a.status="fulfilled",a.value=u},u=>{a.status="rejected",a.reason=u}),a}}),qo={dedupe:!0},fp=Promise.resolve(ge),XE=()=>Hn,QE=(a,u,i)=>{const{cache:r,compare:o,suspense:f,fallbackData:h,revalidateOnMount:y,revalidateIfStale:m,refreshInterval:p,refreshWhenHidden:v,refreshWhenOffline:S,keepPreviousData:_,strictServerPrefetchWarning:R}=i,[z,A,M,Y]=Bn.get(r),[B,Z]=gf(a),H=$.useRef(!1),F=$.useRef(!1),I=$.useRef(B),Q=$.useRef(u),X=$.useRef(i),K=()=>X.current,rt=()=>K().isVisible()&&K().isOnline(),[nt,lt,ht,it]=x0(r,B),jt=$.useRef({}).current,N=_t(h)?_t(i.fallback)?ge:i.fallback[B]:h,P=(Et,Lt)=>{for(const At in jt){const qt=At;if(qt==="data"){if(!o(Et[qt],Lt[qt])&&(!_t(Et[qt])||!o(ot,Lt[qt])))return!1}else if(Lt[qt]!==Et[qt])return!1}return!0},ut=!H.current,Tt=$.useMemo(()=>{const Et=nt(),Lt=it(),At=kt=>{const Vt=Gn(kt);return delete Vt._k,(()=>{if(!B||!u||K().isPaused())return!1;if(ut&&!_t(y))return y;const Mt=_t(N)?Vt.data:N;return _t(Mt)||m})()?{isValidating:!0,isLoading:!0,...Vt}:Vt},qt=At(Et),ve=Et===Lt?qt:At(Lt);let oe=qt;return[()=>{const kt=At(nt());return P(kt,oe)?(oe.data=kt.data,oe.isLoading=kt.isLoading,oe.isValidating=kt.isValidating,oe.error=kt.error,oe):(oe=kt,kt)},()=>ve]},[r,B]),pt=ip.useSyncExternalStore($.useCallback(Et=>ht(B,(Lt,At)=>{P(At,Lt)||Et()}),[r,B]),Tt[0],Tt[1]),w=z[B]&&z[B].length>0,q=pt.data,k=_t(q)?N&&w0(N)?Ho(N):N:q,W=pt.error,ct=$.useRef(k),ot=_?_t(q)?_t(ct.current)?k:ct.current:q:k,ft=B&&_t(k),Xt=$.useRef(null);!Fl&&ip.useSyncExternalStore(XE,()=>(Xt.current=!1,Xt),()=>(Xt.current=!0,Xt));const Ht=Xt.current;R&&Ht&&!f&&ft&&console.warn(`Missing pre-initiated data for serialized key "${B}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);const De=!B||!u||K().isPaused()||w&&!_t(W)?!1:ut&&!_t(y)?y:f?_t(k)?!1:m:_t(k)||m,Xe=ut&&De,Qn=_t(pt.isValidating)?Xe:pt.isValidating,Ta=_t(pt.isLoading)?Xe:pt.isLoading,_e=$.useCallback(async Et=>{const Lt=Q.current;if(!B||!Lt||F.current||K().isPaused())return!1;let At,qt,ve=!0;const oe=Et||{},kt=!M[B]||!oe.dedupe,Vt=()=>rp?!F.current&&B===I.current&&H.current:B===I.current,yn={isValidating:!1,isLoading:!1},Mt=()=>{lt(yn)},$t=()=>{const fe=M[B];fe&&fe[1]===qt&&delete M[B]},ae={isValidating:!0};_t(nt().data)&&(ae.isLoading=!0);try{if(kt&&(lt(ae),i.loadingTimeout&&_t(nt().data)&&setTimeout(()=>{ve&&Vt()&&K().onLoadingSlow(B,i)},i.loadingTimeout),M[B]=[Lt(Z),$o()]),[At,qt]=M[B],At=await At,kt&&setTimeout($t,i.dedupingInterval),!M[B]||M[B][1]!==qt)return kt&&Vt()&&K().onDiscarded(B),!1;yn.error=ge;const fe=A[B];if(!_t(fe)&&(qt<=fe[0]||qt<=fe[1]||fe[1]===0))return Mt(),kt&&Vt()&&K().onDiscarded(B),!1;const Qe=nt().data;yn.data=o(Qe,At)?Qe:At,kt&&Vt()&&K().onSuccess(At,B,i)}catch(fe){$t();const Qe=K(),{shouldRetryOnError:Wl}=Qe;Qe.isPaused()||(yn.error=fe,kt&&Vt()&&(Qe.onError(fe,B,Qe),(Wl===!0||sn(Wl)&&Wl(fe))&&(!K().revalidateOnFocus||!K().revalidateOnReconnect||rt())&&Qe.onErrorRetry(fe,B,Qe,Is=>{const pn=z[B];pn&&pn[0]&&pn[0](up,Is)},{retryCount:(oe.retryCount||0)+1,dedupe:!0})))}return ve=!1,Mt(),!0},[B,r]),mn=$.useCallback((...Et)=>M0(r,I.current,...Et),[]);if(Ds(()=>{Q.current=u,X.current=i,_t(q)||(ct.current=q)}),Ds(()=>{if(!B)return;const Et=_e.bind(ge,qo);let Lt=0;K().revalidateOnFocus&&(Lt=Date.now()+K().focusThrottleInterval);const qt=GE(B,z,(ve,oe={})=>{if(ve==T0){const kt=Date.now();K().revalidateOnFocus&&kt>Lt&&rt()&&(Lt=kt+K().focusThrottleInterval,Et())}else if(ve==A0)K().revalidateOnReconnect&&rt()&&Et();else{if(ve==O0)return _e();if(ve==up)return _e(oe)}});return F.current=!1,I.current=B,H.current=!0,lt({_k:Z}),De&&(M[B]||(_t(k)||Fl?Et():OE(Et))),()=>{F.current=!0,qt()}},[B]),Ds(()=>{let Et;function Lt(){const qt=sn(p)?p(nt().data):p;qt&&Et!==-1&&(Et=setTimeout(At,qt))}function At(){!nt().error&&(v||K().isVisible())&&(S||K().isOnline())?_e(qo).then(Lt):Lt()}return Lt(),()=>{Et&&(clearTimeout(Et),Et=-1)}},[p,v,S,B]),$.useDebugValue(ot),f){if(!rp&&Fl&&ft)throw new Error("Fallback data is required when using Suspense in SSR.");ft&&(Q.current=u,X.current=i,F.current=!1);const Et=Y[B],Lt=!_t(Et)&&ft?mn(Et):fp;if(Ho(Lt),!_t(W)&&ft)throw W;const At=ft?_e(qo):fp;!_t(ot)&&ft&&(At.status="fulfilled",At.value=!0),Ho(At)}return{mutate:mn,get data(){return jt.data=!0,ot},get error(){return jt.error=!0,W},get isValidating(){return jt.isValidating=!0,Qn},get isLoading(){return jt.isLoading=!0,Ta}}},ZE=Qs.defineProperty(LE,"defaultValue",{value:C0}),bR=YE(QE),KE="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20role='img'%20aria-label='Agent%20Inspector'%3e%3crect%20width='64'%20height='64'%20rx='14'%20fill='%23111827'%20/%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='4.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20fill='%23f59e0b'%20d='M15%2036c0-11%207-18%2017-18s17%207%2017%2018c0%208-7%2013-17%2013s-17-5-17-13z'%20/%3e%3cpath%20d='M16%2031c-6-5-12-3-12%204%200%205%206%206%2011%202'%20/%3e%3cpath%20d='M48%2031c6-5%2012-3%2012%204%200%205-6%206-11%202'%20/%3e%3cpath%20d='M27%2019l-3-7'%20/%3e%3cpath%20d='M37%2019l3-7'%20/%3e%3cpath%20d='M19%2045l-6%209'%20/%3e%3cpath%20d='M27%2048l-3%209'%20/%3e%3cpath%20d='M37%2048l3%209'%20/%3e%3cpath%20d='M45%2045l6%209'%20/%3e%3c/g%3e%3cpath%20d='M14%2047l9-8%208%209c-5%203.5-12%203-17-1z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M18%2046l5-5%205%206c-3%201.6-7%201.4-10-1z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M23%2041v10'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.6'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='31'%20cy='48'%20r='1.8'%20fill='%23c2412d'%20/%3e%3cpath%20d='M24%2044l13-11%2014%2013c-8%205.8-18%205.3-27-2z'%20fill='%232f6b3f'%20opacity='.97'%20/%3e%3cpath%20d='M30%2043l7-7%209%209c-5%202.7-11%202.5-16-2z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M37%2036v14'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='2'%20stroke-linecap='round'%20/%3e%3cpath%20d='M30%2043c5-2%2011-1.5%2016%202'%20fill='none'%20stroke='%239fca78'%20stroke-width='1.8'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='51'%20cy='46'%20r='2'%20fill='%23c2412d'%20/%3e%3cpath%20d='M40%2050l8-8%207%208c-4.2%203.2-10%203-15%200z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M43%2049l5-5%204.5%205.5c-3%201.5-6%201.2-9.5-.5z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M48%2044v9'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.5'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='55'%20cy='50'%20r='1.7'%20fill='%23c2412d'%20/%3e%3ccircle%20cx='24'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='40'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='25'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3ccircle%20cx='39'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3c/svg%3e",kE="/assets/index-Bo1dGS4R.css",Sf=B_({head:()=>({meta:[{charSet:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{title:"Agent Inspector"}],links:[{rel:"stylesheet",href:kE},{rel:"icon",type:"image/svg+xml",href:KE}]}),component:JE,notFoundComponent:FE});function JE(){return J.jsx(N0,{children:J.jsx(g0,{})})}function FE(){return J.jsx(N0,{children:J.jsx("main",{className:"min-h-screen bg-background text-foreground",children:J.jsx("div",{className:"mx-auto flex min-h-screen w-full max-w-3xl flex-col justify-center px-6 py-16",children:J.jsxs("div",{className:"border-border/70 bg-card/60 rounded-lg border p-8 shadow-sm",children:[J.jsx("div",{className:"text-muted-foreground font-mono text-xs uppercase tracking-wider",children:"404"}),J.jsx("h1",{className:"mt-3 text-2xl font-semibold",children:"Page not found"}),J.jsx("p",{className:"text-muted-foreground mt-3 max-w-xl text-sm leading-6",children:"This route is not part of the Agent Inspector UI or API surface."}),J.jsx("a",{href:"/",className:"bg-primary text-primary-foreground hover:bg-primary/90 mt-6 inline-flex h-9 items-center justify-center rounded-md px-4 text-sm font-medium transition-colors",children:"Open Agent Inspector"})]})})})})}function N0({children:a}){return J.jsxs("html",{lang:"en",className:"dark",children:[J.jsx("head",{children:J.jsx(W_,{})}),J.jsxs("body",{children:[J.jsx(ZE,{value:{revalidateOnFocus:!1,revalidateIfStale:!1},children:a}),J.jsx($_,{})]})]})}const PE="modulepreload",WE=function(a){return"/"+a},dp={},U0=function(u,i,r){let o=Promise.resolve();if(i&&i.length>0){let m=function(p){return Promise.all(p.map(v=>Promise.resolve(v).then(S=>({status:"fulfilled",value:S}),S=>({status:"rejected",reason:S}))))};document.getElementsByTagName("link");const h=document.querySelector("meta[property=csp-nonce]"),y=h?.nonce||h?.getAttribute("nonce");o=m(i.map(p=>{if(p=WE(p),p in dp)return;dp[p]=!0;const v=p.endsWith(".css"),S=v?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${S}`))return;const _=document.createElement("link");if(_.rel=v?"stylesheet":PE,v||(_.as="script"),_.crossOrigin="",_.href=p,y&&_.setAttribute("nonce",y),document.head.appendChild(_),v)return new Promise((R,z)=>{_.addEventListener("load",R),_.addEventListener("error",()=>z(new Error(`Unable to preload CSS for ${p}`)))})}))}function f(h){const y=new Event("vite:preloadError",{cancelable:!0});if(y.payload=h,window.dispatchEvent(y),!y.defaultPrevented)throw h}return o.then(h=>{for(const y of h||[])y.status==="rejected"&&f(y.reason);return u().catch(f)})},$E=()=>U0(()=>import("./index-CJgaCJo8.js"),__vite__mapDeps([0,1])),IE=Xs("/")({component:m0($E,"component")}),tR=/^[A-Za-z0-9_-]+$/;function eR(a){let u="";for(const i of a)u+=String.fromCharCode(i);return u}function nR(a){const u=new Uint8Array(a.length);for(let i=0;i<a.length;i++)u[i]=a.charCodeAt(i);return u}function B0(a){const u=new TextEncoder().encode(a);return btoa(eR(u)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function aR(a){if(a.startsWith("%"))return decodeURIComponent(a);if(!tR.test(a))return a;try{const i=a.padEnd(Math.ceil(a.length/4)*4,"=").replace(/-/g,"+").replace(/_/g,"/"),r=atob(i);return new TextDecoder().decode(nR(r))}catch{return a}}function _R(a){return`/session/${B0(a)}`}const lR=()=>U0(()=>import("./_sessionId-3ipVoQtW.js"),__vite__mapDeps([2,1])),iR=Xs("/session/$sessionId")({component:m0(lR,"component"),parseParams:a=>({sessionId:aR(a.sessionId)}),stringifyParams:a=>({sessionId:B0(a.sessionId)})}),uR=IE.update({id:"/",path:"/",getParentRoute:()=>Sf}),sR=iR.update({id:"/session/$sessionId",path:"/session/$sessionId",getParentRoute:()=>Sf}),rR={IndexRoute:uR,SessionSessionIdRoute:sR},cR=Sf._addFileChildren(rR);function oR(){return Q_({routeTree:cR,scrollRestoration:!1})}async function fR(){const a=await oR();let u;return u=[],window.__TSS_START_OPTIONS__={serializationAdapters:u},u.push(gE),a.options.serializationAdapters&&u.push(...a.options.serializationAdapters),a.update({basepath:"",serializationAdapters:u}),a.state.matches.length||await tE(a),a}async function dR(){const a=await fR();return window.$_TSR?.h(),a}let Vo;function hR(){return Vo||(Vo=dR()),J.jsx(d_,{promise:Vo,children:a=>J.jsx(k_,{router:a})})}$.startTransition(()=>{cS.hydrateRoot(document,J.jsx($.StrictMode,{children:J.jsx(hR,{})}))});export{iR as R,U0 as _,HE as a,d0 as b,mR as c,qn as d,aS as e,vR as f,hp as g,_R as h,J as j,$ as r,bR as u};
18
+ `).filter(Boolean);for(const _ of S)try{u(JSON.parse(_))}catch(R){i?.(`Invalid JSON line: ${_}`,R)}}if(m)break}}catch(y){i?.("Stream processing error:",y)}})(),u(h)}async function yE({jsonStream:a,onMessage:u,onError:i}){const r=a.getReader(),{value:o,done:f}=await r.read();if(f||!o)throw new Error("Stream ended before first object");const h=JSON.parse(o);return(async()=>{try{for(;;){const{value:y,done:m}=await r.read();if(m)break;if(y)try{u(JSON.parse(y))}catch(p){i?.(`Invalid JSON: ${y}`,p)}}}catch(y){i?.("Stream processing error:",y)}})(),u(h)}function pE(a){const u="/_serverFn/"+a;return Object.assign((...o)=>{const f=b0()?.serverFns?.fetch;return fE(u,o,f??fetch)},{url:u,serverFnMeta:{id:a},[Zo]:!0})}const gE={key:"$TSS/serverfn",test:a=>typeof a!="function"||!(Zo in a)?!1:!!a[Zo],toSerializable:({serverFnMeta:a})=>({functionId:a.id}),fromSerializable:({functionId:a})=>pE(a)};var ip=o0();const T0=0,A0=1,O0=2,up=3;var sp=Object.prototype.hasOwnProperty;function Ko(a,u){var i,r;if(a===u)return!0;if(a&&u&&(i=a.constructor)===u.constructor){if(i===Date)return a.getTime()===u.getTime();if(i===RegExp)return a.toString()===u.toString();if(i===Array){if((r=a.length)===u.length)for(;r--&&Ko(a[r],u[r]););return r===-1}if(!i||typeof a=="object"){r=0;for(i in a)if(sp.call(a,i)&&++r&&!sp.call(u,i)||!(i in u)||!Ko(a[i],u[i]))return!1;return Object.keys(u).length===r}}return a!==a&&u!==u}const Bn=new WeakMap,Hn=()=>{},ge=Hn(),Qs=Object,_t=a=>a===ge,sn=a=>typeof a=="function",Gn=(a,u)=>({...a,...u}),w0=a=>sn(a.then),Uo={},As={},pf="undefined",lu=typeof window!=pf,ko=typeof document!=pf,vE=lu&&"Deno"in window,SE=()=>lu&&typeof window.requestAnimationFrame!=pf,x0=(a,u)=>{const i=Bn.get(a);return[()=>!_t(u)&&a.get(u)||Uo,r=>{if(!_t(u)){const o=a.get(u);u in As||(As[u]=o),i[5](u,Gn(o,r),o||Uo)}},i[6],()=>!_t(u)&&u in As?As[u]:!_t(u)&&a.get(u)||Uo]};let Jo=!0;const bE=()=>Jo,[Fo,Po]=lu&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[Hn,Hn],_E=()=>{const a=ko&&document.visibilityState;return _t(a)||a!=="hidden"},EE=a=>(ko&&document.addEventListener("visibilitychange",a),Fo("focus",a),()=>{ko&&document.removeEventListener("visibilitychange",a),Po("focus",a)}),RE=a=>{const u=()=>{Jo=!0,a()},i=()=>{Jo=!1};return Fo("online",u),Fo("offline",i),()=>{Po("online",u),Po("offline",i)}},TE={isOnline:bE,isVisible:_E},AE={initFocus:EE,initReconnect:RE},rp=!qn.useId,Fl=!lu||vE,OE=a=>SE()?window.requestAnimationFrame(a):setTimeout(a,1),Ds=Fl?$.useEffect:$.useLayoutEffect,Bo=typeof navigator<"u"&&navigator.connection,cp=!Fl&&Bo&&(["slow-2g","2g"].includes(Bo.effectiveType)||Bo.saveData),Os=new WeakMap,wE=a=>Qs.prototype.toString.call(a),jo=(a,u)=>a===`[object ${u}]`;let xE=0;const Wo=a=>{const u=typeof a,i=wE(a),r=jo(i,"Date"),o=jo(i,"RegExp"),f=jo(i,"Object");let h,y;if(Qs(a)===a&&!r&&!o){if(h=Os.get(a),h)return h;if(h=++xE+"~",Os.set(a,h),Array.isArray(a)){for(h="@",y=0;y<a.length;y++)h+=Wo(a[y])+",";Os.set(a,h)}if(f){h="#";const m=Qs.keys(a).sort();for(;!_t(y=m.pop());)_t(a[y])||(h+=y+":"+Wo(a[y])+",");Os.set(a,h)}}else h=r?a.toJSON():u=="symbol"?a.toString():u=="string"?JSON.stringify(a):""+a;return h},gf=a=>{if(sn(a))try{a=a()}catch{a=""}const u=a;return a=typeof a=="string"?a:(Array.isArray(a)?a.length:a)?Wo(a):"",[a,u]};let ME=0;const $o=()=>++ME;async function M0(...a){const[u,i,r,o]=a,f=Gn({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{});let h=f.populateCache;const y=f.rollbackOnError;let m=f.optimisticData;const p=_=>typeof y=="function"?y(_):y!==!1,v=f.throwOnError;if(sn(i)){const _=i,R=[],z=u.keys();for(const A of z)!/^\$(inf|sub)\$/.test(A)&&_(u.get(A)._k)&&R.push(A);return Promise.all(R.map(S))}return S(i);async function S(_){const[R]=gf(_);if(!R)return;const[z,A]=x0(u,R),[M,Y,B,Z]=Bn.get(u),H=()=>{const it=M[R];return(sn(f.revalidate)?f.revalidate(z().data,_):f.revalidate!==!1)&&(delete B[R],delete Z[R],it&&it[0])?it[0](O0).then(()=>z().data):z().data};if(a.length<3)return H();let F=r,I,Q=!1;const X=$o();Y[R]=[X,0];const K=!_t(m),rt=z(),nt=rt.data,lt=rt._c,ht=_t(lt)?nt:lt;if(K&&(m=sn(m)?m(ht,nt):m,A({data:m,_c:ht})),sn(F))try{F=F(ht)}catch(it){I=it,Q=!0}if(F&&w0(F))if(F=await F.catch(it=>{I=it,Q=!0}),X!==Y[R][0]){if(Q)throw I;return F}else Q&&K&&p(I)&&(h=!0,A({data:ht,_c:ge}));if(h&&!Q)if(sn(h)){const it=h(F,ht);A({data:it,error:ge,_c:ge})}else A({data:F,error:ge,_c:ge});if(Y[R][1]=$o(),Promise.resolve(H()).then(()=>{A({_c:ge})}),Q){if(v)throw I;return}return F}}const op=(a,u)=>{for(const i in a)a[i][0]&&a[i][0](u)},z0=(a,u)=>{if(!Bn.has(a)){const i=Gn(AE,u),r=Object.create(null),o=M0.bind(ge,a);let f=Hn;const h=Object.create(null),y=(v,S)=>{const _=h[v]||[];return h[v]=_,_.push(S),()=>_.splice(_.indexOf(S),1)},m=(v,S,_)=>{a.set(v,S);const R=h[v];if(R)for(const z of R)z(S,_)},p=()=>{if(!Bn.has(a)&&(Bn.set(a,[r,Object.create(null),Object.create(null),Object.create(null),o,m,y]),!Fl)){const v=i.initFocus(setTimeout.bind(ge,op.bind(ge,r,T0))),S=i.initReconnect(setTimeout.bind(ge,op.bind(ge,r,A0)));f=()=>{v&&v(),S&&S(),Bn.delete(a)}}};return p(),[a,o,p,f]}return[a,Bn.get(a)[4]]},zE=(a,u,i,r,o)=>{const f=i.errorRetryCount,h=o.retryCount,y=~~((Math.random()+.5)*(1<<(h<8?h:8)))*i.errorRetryInterval;!_t(f)&&h>f||setTimeout(r,y,o)},CE=Ko,[vf,DE]=z0(new Map),C0=Gn({onLoadingSlow:Hn,onSuccess:Hn,onError:Hn,onErrorRetry:zE,onDiscarded:Hn,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:cp?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:cp?5e3:3e3,compare:CE,isPaused:()=>!1,cache:vf,mutate:DE,fallback:{}},TE),D0=(a,u)=>{const i=Gn(a,u);if(u){const{use:r,fallback:o}=a,{use:f,fallback:h}=u;r&&f&&(i.use=r.concat(f)),o&&h&&(i.fallback=Gn(o,h))}return i},Io=$.createContext({}),LE=a=>{const{value:u}=a,i=$.useContext(Io),r=sn(u),o=$.useMemo(()=>r?u(i):u,[r,i,u]),f=$.useMemo(()=>r?o:D0(i,o),[r,i,o]),h=o&&o.provider,y=$.useRef(ge);h&&!y.current&&(y.current=z0(h(f.cache||vf),o));const m=y.current;return m&&(f.cache=m[0],f.mutate=m[1]),Ds(()=>{if(m)return m[2]&&m[2](),m[3]},[]),$.createElement(Io.Provider,Gn(a,{value:f}))},NE="$inf$",L0=lu&&window.__SWR_DEVTOOLS_USE__,UE=L0?window.__SWR_DEVTOOLS_USE__:[],BE=()=>{L0&&(window.__SWR_DEVTOOLS_REACT__=qn)},jE=a=>sn(a[1])?[a[0],a[1],a[2]||{}]:[a[0],null,(a[1]===null?a[2]:a[1])||{}],HE=()=>{const a=$.useContext(Io);return $.useMemo(()=>Gn(C0,a),[a])},qE=a=>(u,i,r)=>a(u,i&&((...f)=>{const[h]=gf(u),[,,,y]=Bn.get(vf);if(h.startsWith(NE))return i(...f);const m=y[h];return _t(m)?i(...f):(delete y[h],m)}),r),VE=UE.concat(qE),YE=a=>function(...i){const r=HE(),[o,f,h]=jE(i),y=D0(r,h);let m=a;const{use:p}=y,v=(p||[]).concat(VE);for(let S=v.length;S--;)m=v[S](m);return m(o,f||y.fetcher||null,y)},GE=(a,u,i)=>{const r=u[a]||(u[a]=[]);return r.push(i),()=>{const o=r.indexOf(i);o>=0&&(r[o]=r[r.length-1],r.pop())}};BE();const Ho=qn.use||(a=>{switch(a.status){case"pending":throw a;case"fulfilled":return a.value;case"rejected":throw a.reason;default:throw a.status="pending",a.then(u=>{a.status="fulfilled",a.value=u},u=>{a.status="rejected",a.reason=u}),a}}),qo={dedupe:!0},fp=Promise.resolve(ge),XE=()=>Hn,QE=(a,u,i)=>{const{cache:r,compare:o,suspense:f,fallbackData:h,revalidateOnMount:y,revalidateIfStale:m,refreshInterval:p,refreshWhenHidden:v,refreshWhenOffline:S,keepPreviousData:_,strictServerPrefetchWarning:R}=i,[z,A,M,Y]=Bn.get(r),[B,Z]=gf(a),H=$.useRef(!1),F=$.useRef(!1),I=$.useRef(B),Q=$.useRef(u),X=$.useRef(i),K=()=>X.current,rt=()=>K().isVisible()&&K().isOnline(),[nt,lt,ht,it]=x0(r,B),jt=$.useRef({}).current,N=_t(h)?_t(i.fallback)?ge:i.fallback[B]:h,P=(Et,Lt)=>{for(const At in jt){const qt=At;if(qt==="data"){if(!o(Et[qt],Lt[qt])&&(!_t(Et[qt])||!o(ot,Lt[qt])))return!1}else if(Lt[qt]!==Et[qt])return!1}return!0},ut=!H.current,Tt=$.useMemo(()=>{const Et=nt(),Lt=it(),At=kt=>{const Vt=Gn(kt);return delete Vt._k,(()=>{if(!B||!u||K().isPaused())return!1;if(ut&&!_t(y))return y;const Mt=_t(N)?Vt.data:N;return _t(Mt)||m})()?{isValidating:!0,isLoading:!0,...Vt}:Vt},qt=At(Et),ve=Et===Lt?qt:At(Lt);let oe=qt;return[()=>{const kt=At(nt());return P(kt,oe)?(oe.data=kt.data,oe.isLoading=kt.isLoading,oe.isValidating=kt.isValidating,oe.error=kt.error,oe):(oe=kt,kt)},()=>ve]},[r,B]),pt=ip.useSyncExternalStore($.useCallback(Et=>ht(B,(Lt,At)=>{P(At,Lt)||Et()}),[r,B]),Tt[0],Tt[1]),w=z[B]&&z[B].length>0,q=pt.data,k=_t(q)?N&&w0(N)?Ho(N):N:q,W=pt.error,ct=$.useRef(k),ot=_?_t(q)?_t(ct.current)?k:ct.current:q:k,ft=B&&_t(k),Xt=$.useRef(null);!Fl&&ip.useSyncExternalStore(XE,()=>(Xt.current=!1,Xt),()=>(Xt.current=!0,Xt));const Ht=Xt.current;R&&Ht&&!f&&ft&&console.warn(`Missing pre-initiated data for serialized key "${B}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);const De=!B||!u||K().isPaused()||w&&!_t(W)?!1:ut&&!_t(y)?y:f?_t(k)?!1:m:_t(k)||m,Xe=ut&&De,Qn=_t(pt.isValidating)?Xe:pt.isValidating,Ta=_t(pt.isLoading)?Xe:pt.isLoading,_e=$.useCallback(async Et=>{const Lt=Q.current;if(!B||!Lt||F.current||K().isPaused())return!1;let At,qt,ve=!0;const oe=Et||{},kt=!M[B]||!oe.dedupe,Vt=()=>rp?!F.current&&B===I.current&&H.current:B===I.current,yn={isValidating:!1,isLoading:!1},Mt=()=>{lt(yn)},$t=()=>{const fe=M[B];fe&&fe[1]===qt&&delete M[B]},ae={isValidating:!0};_t(nt().data)&&(ae.isLoading=!0);try{if(kt&&(lt(ae),i.loadingTimeout&&_t(nt().data)&&setTimeout(()=>{ve&&Vt()&&K().onLoadingSlow(B,i)},i.loadingTimeout),M[B]=[Lt(Z),$o()]),[At,qt]=M[B],At=await At,kt&&setTimeout($t,i.dedupingInterval),!M[B]||M[B][1]!==qt)return kt&&Vt()&&K().onDiscarded(B),!1;yn.error=ge;const fe=A[B];if(!_t(fe)&&(qt<=fe[0]||qt<=fe[1]||fe[1]===0))return Mt(),kt&&Vt()&&K().onDiscarded(B),!1;const Qe=nt().data;yn.data=o(Qe,At)?Qe:At,kt&&Vt()&&K().onSuccess(At,B,i)}catch(fe){$t();const Qe=K(),{shouldRetryOnError:Wl}=Qe;Qe.isPaused()||(yn.error=fe,kt&&Vt()&&(Qe.onError(fe,B,Qe),(Wl===!0||sn(Wl)&&Wl(fe))&&(!K().revalidateOnFocus||!K().revalidateOnReconnect||rt())&&Qe.onErrorRetry(fe,B,Qe,Is=>{const pn=z[B];pn&&pn[0]&&pn[0](up,Is)},{retryCount:(oe.retryCount||0)+1,dedupe:!0})))}return ve=!1,Mt(),!0},[B,r]),mn=$.useCallback((...Et)=>M0(r,I.current,...Et),[]);if(Ds(()=>{Q.current=u,X.current=i,_t(q)||(ct.current=q)}),Ds(()=>{if(!B)return;const Et=_e.bind(ge,qo);let Lt=0;K().revalidateOnFocus&&(Lt=Date.now()+K().focusThrottleInterval);const qt=GE(B,z,(ve,oe={})=>{if(ve==T0){const kt=Date.now();K().revalidateOnFocus&&kt>Lt&&rt()&&(Lt=kt+K().focusThrottleInterval,Et())}else if(ve==A0)K().revalidateOnReconnect&&rt()&&Et();else{if(ve==O0)return _e();if(ve==up)return _e(oe)}});return F.current=!1,I.current=B,H.current=!0,lt({_k:Z}),De&&(M[B]||(_t(k)||Fl?Et():OE(Et))),()=>{F.current=!0,qt()}},[B]),Ds(()=>{let Et;function Lt(){const qt=sn(p)?p(nt().data):p;qt&&Et!==-1&&(Et=setTimeout(At,qt))}function At(){!nt().error&&(v||K().isVisible())&&(S||K().isOnline())?_e(qo).then(Lt):Lt()}return Lt(),()=>{Et&&(clearTimeout(Et),Et=-1)}},[p,v,S,B]),$.useDebugValue(ot),f){if(!rp&&Fl&&ft)throw new Error("Fallback data is required when using Suspense in SSR.");ft&&(Q.current=u,X.current=i,F.current=!1);const Et=Y[B],Lt=!_t(Et)&&ft?mn(Et):fp;if(Ho(Lt),!_t(W)&&ft)throw W;const At=ft?_e(qo):fp;!_t(ot)&&ft&&(At.status="fulfilled",At.value=!0),Ho(At)}return{mutate:mn,get data(){return jt.data=!0,ot},get error(){return jt.error=!0,W},get isValidating(){return jt.isValidating=!0,Qn},get isLoading(){return jt.isLoading=!0,Ta}}},ZE=Qs.defineProperty(LE,"defaultValue",{value:C0}),bR=YE(QE),KE="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2064%2064'%20role='img'%20aria-label='Agent%20Inspector'%3e%3crect%20width='64'%20height='64'%20rx='14'%20fill='%23111827'%20/%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='4.2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20fill='%23f59e0b'%20d='M15%2036c0-11%207-18%2017-18s17%207%2017%2018c0%208-7%2013-17%2013s-17-5-17-13z'%20/%3e%3cpath%20d='M16%2031c-6-5-12-3-12%204%200%205%206%206%2011%202'%20/%3e%3cpath%20d='M48%2031c6-5%2012-3%2012%204%200%205-6%206-11%202'%20/%3e%3cpath%20d='M27%2019l-3-7'%20/%3e%3cpath%20d='M37%2019l3-7'%20/%3e%3cpath%20d='M19%2045l-6%209'%20/%3e%3cpath%20d='M27%2048l-3%209'%20/%3e%3cpath%20d='M37%2048l3%209'%20/%3e%3cpath%20d='M45%2045l6%209'%20/%3e%3c/g%3e%3cpath%20d='M14%2047l9-8%208%209c-5%203.5-12%203-17-1z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M18%2046l5-5%205%206c-3%201.6-7%201.4-10-1z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M23%2041v10'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.6'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='31'%20cy='48'%20r='1.8'%20fill='%23c2412d'%20/%3e%3cpath%20d='M24%2044l13-11%2014%2013c-8%205.8-18%205.3-27-2z'%20fill='%232f6b3f'%20opacity='.97'%20/%3e%3cpath%20d='M30%2043l7-7%209%209c-5%202.7-11%202.5-16-2z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M37%2036v14'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='2'%20stroke-linecap='round'%20/%3e%3cpath%20d='M30%2043c5-2%2011-1.5%2016%202'%20fill='none'%20stroke='%239fca78'%20stroke-width='1.8'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='51'%20cy='46'%20r='2'%20fill='%23c2412d'%20/%3e%3cpath%20d='M40%2050l8-8%207%208c-4.2%203.2-10%203-15%200z'%20fill='%232f6b3f'%20opacity='.95'%20/%3e%3cpath%20d='M43%2049l5-5%204.5%205.5c-3%201.5-6%201.2-9.5-.5z'%20fill='%236fb36f'%20opacity='.95'%20/%3e%3cpath%20d='M48%2044v9'%20fill='none'%20stroke='%23d6b45f'%20stroke-width='1.5'%20stroke-linecap='round'%20/%3e%3ccircle%20cx='55'%20cy='50'%20r='1.7'%20fill='%23c2412d'%20/%3e%3ccircle%20cx='24'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='40'%20cy='11'%20r='3.2'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='25'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3ccircle%20cx='39'%20cy='34'%20r='2.1'%20fill='%23111827'%20/%3e%3c/svg%3e",kE="/assets/index-Bo1dGS4R.css",Sf=B_({head:()=>({meta:[{charSet:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{title:"Agent Inspector"}],links:[{rel:"stylesheet",href:kE},{rel:"icon",type:"image/svg+xml",href:KE}]}),component:JE,notFoundComponent:FE});function JE(){return J.jsx(N0,{children:J.jsx(g0,{})})}function FE(){return J.jsx(N0,{children:J.jsx("main",{className:"min-h-screen bg-background text-foreground",children:J.jsx("div",{className:"mx-auto flex min-h-screen w-full max-w-3xl flex-col justify-center px-6 py-16",children:J.jsxs("div",{className:"border-border/70 bg-card/60 rounded-lg border p-8 shadow-sm",children:[J.jsx("div",{className:"text-muted-foreground font-mono text-xs uppercase tracking-wider",children:"404"}),J.jsx("h1",{className:"mt-3 text-2xl font-semibold",children:"Page not found"}),J.jsx("p",{className:"text-muted-foreground mt-3 max-w-xl text-sm leading-6",children:"This route is not part of the Agent Inspector UI or API surface."}),J.jsx("a",{href:"/",className:"bg-primary text-primary-foreground hover:bg-primary/90 mt-6 inline-flex h-9 items-center justify-center rounded-md px-4 text-sm font-medium transition-colors",children:"Open Agent Inspector"})]})})})})}function N0({children:a}){return J.jsxs("html",{lang:"en",className:"dark",children:[J.jsx("head",{children:J.jsx(W_,{})}),J.jsxs("body",{children:[J.jsx(ZE,{value:{revalidateOnFocus:!1,revalidateIfStale:!1},children:a}),J.jsx($_,{})]})]})}const PE="modulepreload",WE=function(a){return"/"+a},dp={},U0=function(u,i,r){let o=Promise.resolve();if(i&&i.length>0){let m=function(p){return Promise.all(p.map(v=>Promise.resolve(v).then(S=>({status:"fulfilled",value:S}),S=>({status:"rejected",reason:S}))))};document.getElementsByTagName("link");const h=document.querySelector("meta[property=csp-nonce]"),y=h?.nonce||h?.getAttribute("nonce");o=m(i.map(p=>{if(p=WE(p),p in dp)return;dp[p]=!0;const v=p.endsWith(".css"),S=v?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${S}`))return;const _=document.createElement("link");if(_.rel=v?"stylesheet":PE,v||(_.as="script"),_.crossOrigin="",_.href=p,y&&_.setAttribute("nonce",y),document.head.appendChild(_),v)return new Promise((R,z)=>{_.addEventListener("load",R),_.addEventListener("error",()=>z(new Error(`Unable to preload CSS for ${p}`)))})}))}function f(h){const y=new Event("vite:preloadError",{cancelable:!0});if(y.payload=h,window.dispatchEvent(y),!y.defaultPrevented)throw h}return o.then(h=>{for(const y of h||[])y.status==="rejected"&&f(y.reason);return u().catch(f)})},$E=()=>U0(()=>import("./index-Cz5aqmzE.js"),__vite__mapDeps([0,1])),IE=Xs("/")({component:m0($E,"component")}),tR=/^[A-Za-z0-9_-]+$/;function eR(a){let u="";for(const i of a)u+=String.fromCharCode(i);return u}function nR(a){const u=new Uint8Array(a.length);for(let i=0;i<a.length;i++)u[i]=a.charCodeAt(i);return u}function B0(a){const u=new TextEncoder().encode(a);return btoa(eR(u)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function aR(a){if(a.startsWith("%"))return decodeURIComponent(a);if(!tR.test(a))return a;try{const i=a.padEnd(Math.ceil(a.length/4)*4,"=").replace(/-/g,"+").replace(/_/g,"/"),r=atob(i);return new TextDecoder().decode(nR(r))}catch{return a}}function _R(a){return`/session/${B0(a)}`}const lR=()=>U0(()=>import("./_sessionId-3e8W68GL.js"),__vite__mapDeps([2,1])),iR=Xs("/session/$sessionId")({component:m0(lR,"component"),parseParams:a=>({sessionId:aR(a.sessionId)}),stringifyParams:a=>({sessionId:B0(a.sessionId)})}),uR=IE.update({id:"/",path:"/",getParentRoute:()=>Sf}),sR=iR.update({id:"/session/$sessionId",path:"/session/$sessionId",getParentRoute:()=>Sf}),rR={IndexRoute:uR,SessionSessionIdRoute:sR},cR=Sf._addFileChildren(rR);function oR(){return Q_({routeTree:cR,scrollRestoration:!1})}async function fR(){const a=await oR();let u;return u=[],window.__TSS_START_OPTIONS__={serializationAdapters:u},u.push(gE),a.options.serializationAdapters&&u.push(...a.options.serializationAdapters),a.update({basepath:"",serializationAdapters:u}),a.state.matches.length||await tE(a),a}async function dR(){const a=await fR();return window.$_TSR?.h(),a}let Vo;function hR(){return Vo||(Vo=dR()),J.jsx(d_,{promise:Vo,children:a=>J.jsx(k_,{router:a})})}$.startTransition(()=>{cS.hydrateRoot(document,J.jsx($.StrictMode,{children:J.jsx(hR,{})}))});export{iR as R,U0 as _,HE as a,d0 as b,mR as c,qn as d,aS as e,vR as f,hp as g,_R as h,J as j,$ as r,bR as u};
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports } from "./_libs/react.mjs";
2
- import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-DiZjOTQT.mjs";
3
- import { R as Route$p } from "./_ssr/router-Bf0m6F0G.mjs";
2
+ import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-xesEFppM.mjs";
3
+ import { R as Route$p } from "./_ssr/router-BvuK0vQv.mjs";
4
4
  import "./_libs/jszip.mjs";
5
5
  import "./_libs/modelcontextprotocol__server.mjs";
6
6
  import "./_libs/swr.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens, J as JsonViewerFromString } from "./ProxyViewerContainer-DiZjOTQT.mjs";
3
- import "./router-Bf0m6F0G.mjs";
2
+ import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens, J as JsonViewerFromString } from "./ProxyViewerContainer-xesEFppM.mjs";
3
+ import "./router-BvuK0vQv.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { X, a7 as Rows3, a8 as Columns2, n as Minus, P as Plus, m as Pencil, f as ChevronRight, a9 as Equal, C as Check, a as Copy } from "../_libs/lucide-react.mjs";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, a as React } from "../_libs/react.mjs";
2
- import { C as CapturedLogSchema, D as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, a as DEFAULT_TIME_DISPLAY_FORMAT, b as RuntimeConfigSchema, r as requestFormatForPath, e as createPendingProviderTestResults, P as ProviderTestResultsSchema, f as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, T as TimeDisplayFormatSchema, g as getSessionPath, h as ProviderConfigSchema, K as KnowledgeCandidateSchema, d as stripClaudeCodeBillingHeader, s as safeGetOwnProperty, p as parseOpenAIResponse, O as OpenAIRequestSchema, A as AnthropicResponseSchema$1, c as AnthropicRequestSchema } from "./router-Bf0m6F0G.mjs";
2
+ import { C as CapturedLogSchema, D as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, a as DEFAULT_TIME_DISPLAY_FORMAT, b as RuntimeConfigSchema, r as requestFormatForPath, e as createPendingProviderTestResults, P as ProviderTestResultsSchema, f as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, T as TimeDisplayFormatSchema, g as getSessionPath, h as ProviderConfigSchema, K as KnowledgeCandidateSchema, d as stripClaudeCodeBillingHeader, s as safeGetOwnProperty, p as parseOpenAIResponse, O as OpenAIRequestSchema, A as AnthropicResponseSchema$1, c as AnthropicRequestSchema } from "./router-BvuK0vQv.mjs";
3
3
  import { u as useSWR, a as useSWRConfig } from "../_libs/swr.mjs";
4
4
  import { J as JSZip } from "../_libs/jszip.mjs";
5
5
  import { c as clsx } from "../_libs/clsx.mjs";
@@ -298,7 +298,7 @@ function getStatusCategory(status) {
298
298
  if (status >= 500) return "server_error";
299
299
  return "pending";
300
300
  }
301
- const version = "2.0.8";
301
+ const version = "2.0.9";
302
302
  const packageJson = {
303
303
  version
304
304
  };
@@ -1359,19 +1359,19 @@ function useCopyFeedback(text) {
1359
1359
  return { copied, copy };
1360
1360
  }
1361
1361
  const LazyCompareDrawer = reactExports.lazy(
1362
- () => import("./CompareDrawer-C5NBvE2e.mjs").then((m) => ({ default: m.CompareDrawer }))
1362
+ () => import("./CompareDrawer-jPU14EI3.mjs").then((m) => ({ default: m.CompareDrawer }))
1363
1363
  );
1364
1364
  const LazyReplayDialog = reactExports.lazy(
1365
- () => import("./ReplayDialog-EpvTwFvp.mjs").then((m) => ({ default: m.ReplayDialog }))
1365
+ () => import("./ReplayDialog-DQvW2zoW.mjs").then((m) => ({ default: m.ReplayDialog }))
1366
1366
  );
1367
1367
  const LazyRequestAnatomy = reactExports.lazy(
1368
- () => import("./RequestAnatomy-DaQjhixp.mjs").then((m) => ({ default: m.RequestAnatomy }))
1368
+ () => import("./RequestAnatomy-BilEphjP.mjs").then((m) => ({ default: m.RequestAnatomy }))
1369
1369
  );
1370
1370
  const LazyResponseView = reactExports.lazy(
1371
- () => import("./ResponseView-D8tGHCGY.mjs").then((m) => ({ default: m.ResponseView }))
1371
+ () => import("./ResponseView-DB5PPcWf.mjs").then((m) => ({ default: m.ResponseView }))
1372
1372
  );
1373
1373
  const LazyStreamingChunkSequence = reactExports.lazy(
1374
- () => import("./StreamingChunkSequence-DGQnb1QE.mjs").then((m) => ({
1374
+ () => import("./StreamingChunkSequence-Dnrgn2AP.mjs").then((m) => ({
1375
1375
  default: m.StreamingChunkSequence
1376
1376
  }))
1377
1377
  );
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, D as Dialog, b as DialogContent, d as DialogHeader, e as DialogTitle, T as Tabs, h as TabsList, i as TabsTrigger, j as TabsContent, k as TooltipProvider, l as Tooltip, m as TooltipTrigger, n as TooltipContent, o as Button } from "./ProxyViewerContainer-DiZjOTQT.mjs";
3
- import { ResponseView } from "./ResponseView-D8tGHCGY.mjs";
4
- import "./router-Bf0m6F0G.mjs";
2
+ import { u as useProviders, D as Dialog, b as DialogContent, d as DialogHeader, e as DialogTitle, T as Tabs, h as TabsList, i as TabsTrigger, j as TabsContent, k as TooltipProvider, l as Tooltip, m as TooltipTrigger, n as TooltipContent, o as Button } from "./ProxyViewerContainer-xesEFppM.mjs";
3
+ import { ResponseView } from "./ResponseView-DB5PPcWf.mjs";
4
+ import "./router-BvuK0vQv.mjs";
5
5
  import "../_libs/modelcontextprotocol__server.mjs";
6
6
  import "../_libs/jszip.mjs";
7
7
  import { I as RotateCcw } from "../_libs/lucide-react.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { f as formatTokens, k as TooltipProvider, c as cn, l as Tooltip, m as TooltipTrigger, n as TooltipContent } from "./ProxyViewerContainer-DiZjOTQT.mjs";
3
- import { s as safeGetOwnProperty } from "./router-Bf0m6F0G.mjs";
2
+ import { f as formatTokens, k as TooltipProvider, c as cn, l as Tooltip, m as TooltipTrigger, n as TooltipContent } from "./ProxyViewerContainer-xesEFppM.mjs";
3
+ import { s as safeGetOwnProperty } from "./router-BvuK0vQv.mjs";
4
4
  import "../_libs/jszip.mjs";
5
5
  import "../_libs/modelcontextprotocol__server.mjs";
6
6
  import { aa as Info } from "../_libs/lucide-react.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { g as getLogFormatAdapter, f as formatTokens, c as cn, p as getStatusCategory, B as Badge, C as Collapsible, q as CollapsibleTrigger, s as CollapsibleContent, S as ScrollArea, t as JsonViewer, v as safeJsonValue } from "./ProxyViewerContainer-DiZjOTQT.mjs";
3
- import "./router-Bf0m6F0G.mjs";
2
+ import { g as getLogFormatAdapter, f as formatTokens, c as cn, p as getStatusCategory, B as Badge, C as Collapsible, q as CollapsibleTrigger, s as CollapsibleContent, S as ScrollArea, t as JsonViewer, v as safeJsonValue } from "./ProxyViewerContainer-xesEFppM.mjs";
3
+ import "./router-BvuK0vQv.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { Z as Zap, j as TriangleAlert, ab as CircleStop, B as Brain, b as ChevronDown, f as ChevronRight, T as Terminal } from "../_libs/lucide-react.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { k as TooltipProvider, l as Tooltip, m as TooltipTrigger, B as Badge, n as TooltipContent, t as JsonViewer } from "./ProxyViewerContainer-DiZjOTQT.mjs";
3
- import "./router-Bf0m6F0G.mjs";
2
+ import { k as TooltipProvider, l as Tooltip, m as TooltipTrigger, B as Badge, n as TooltipContent, t as JsonViewer } from "./ProxyViewerContainer-xesEFppM.mjs";
3
+ import "./router-BvuK0vQv.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { b as ChevronDown, f as ChevronRight, L as LoaderCircle } from "../_libs/lucide-react.mjs";
@@ -1,6 +1,6 @@
1
- import { P as ProxyViewerContainer } from "./ProxyViewerContainer-DiZjOTQT.mjs";
1
+ import { P as ProxyViewerContainer } from "./ProxyViewerContainer-xesEFppM.mjs";
2
2
  import "../_libs/react.mjs";
3
- import "./router-Bf0m6F0G.mjs";
3
+ import "./router-BvuK0vQv.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "../_libs/swr.mjs";
@@ -198,7 +198,7 @@ function getResponse() {
198
198
  return event.res;
199
199
  }
200
200
  async function getStartManifest(matchedRoutes) {
201
- const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-DlAyJ5DB.mjs");
201
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-DGw3vVOm.mjs");
202
202
  const startManifest = tsrStartManifest();
203
203
  const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes[rootRouteId] || {};
204
204
  rootRoute.assets = rootRoute.assets || [];
@@ -767,7 +767,7 @@ let entriesPromise;
767
767
  let baseManifestPromise;
768
768
  let cachedFinalManifestPromise;
769
769
  async function loadEntries() {
770
- const routerEntry = await import("./router-Bf0m6F0G.mjs").then((n) => n.i);
770
+ const routerEntry = await import("./router-BvuK0vQv.mjs").then((n) => n.i);
771
771
  const startEntry = await import("./start-HYkvq4Ni.mjs");
772
772
  return { startEntry, routerEntry };
773
773
  }
@@ -92,7 +92,7 @@ function RootDocument({ children }) {
92
92
  ] })
93
93
  ] });
94
94
  }
95
- const $$splitComponentImporter$1 = () => import("./index-N25hqa7t.mjs");
95
+ const $$splitComponentImporter$1 = () => import("./index-YPp821bH.mjs");
96
96
  const Route$q = createFileRoute("/")({
97
97
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
98
98
  });
@@ -135,7 +135,7 @@ function decodeSessionIdFromPath(encoded) {
135
135
  function getSessionPath(sessionId) {
136
136
  return `/session/${encodeSessionIdForPath(sessionId)}`;
137
137
  }
138
- const $$splitComponentImporter = () => import("../_sessionId-DzBy9gLa.mjs");
138
+ const $$splitComponentImporter = () => import("../_sessionId-BnCF8Ito.mjs");
139
139
  const Route$p = createFileRoute("/session/$sessionId")({
140
140
  component: lazyRouteComponent($$splitComponentImporter, "component"),
141
141
  parseParams: (params) => ({