@tonyclaw/agent-inspector 3.0.21 → 3.0.22

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 (30) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{CompareDrawer-BhQ8UZBt.js → CompareDrawer-CaDAbX9q.js} +1 -1
  3. package/.output/public/assets/{ProxyViewerContainer-GpMPUmJQ.js → ProxyViewerContainer-7ugZIMW0.js} +11 -11
  4. package/.output/public/assets/{ReplayDialog-CqUvVWFk.js → ReplayDialog-C5kb1Bj4.js} +1 -1
  5. package/.output/public/assets/{RequestAnatomy-DU8c0Ysb.js → RequestAnatomy-CbPNLnlL.js} +1 -1
  6. package/.output/public/assets/{ResponseView-Ce2JAKBf.js → ResponseView-DyzW0Zfo.js} +2 -2
  7. package/.output/public/assets/{StreamingChunkSequence-DvMcBgID.js → StreamingChunkSequence-Cl8zJu0w.js} +1 -1
  8. package/.output/public/assets/{_sessionId-BeinzuQZ.js → _sessionId-BeN8-5Ho.js} +1 -1
  9. package/.output/public/assets/{index-BMVjOrho.js → index-BCHWOmF2.js} +2 -2
  10. package/.output/public/assets/{index-DENY-gse.js → index-DcFtdKF3.js} +1 -1
  11. package/.output/public/assets/{index-Cu0STzXy.js → index-Pz9T7cS9.js} +1 -1
  12. package/.output/public/assets/{index-D2iiZaNM.css → index-SqCROi0s.css} +1 -1
  13. package/.output/public/assets/{json-viewer-Bjmt-Mdw.js → json-viewer-PNvFrOUw.js} +1 -1
  14. package/.output/server/{_sessionId-DiAGJ75k.mjs → _sessionId-CIvbZsmt.mjs} +2 -2
  15. package/.output/server/_ssr/{CompareDrawer-DF4wc8NT.mjs → CompareDrawer-CtWPZP5T.mjs} +2 -2
  16. package/.output/server/_ssr/{ProxyViewerContainer-BupCsVk6.mjs → ProxyViewerContainer-Dnm-Hup3.mjs} +68 -86
  17. package/.output/server/_ssr/{ReplayDialog-BIzO8gkO.mjs → ReplayDialog-BYii7Q2m.mjs} +3 -3
  18. package/.output/server/_ssr/{RequestAnatomy-DR7XdTUQ.mjs → RequestAnatomy-CC6brPZr.mjs} +2 -2
  19. package/.output/server/_ssr/{ResponseView-DoadSJYH.mjs → ResponseView-CwwkL_0d.mjs} +2 -2
  20. package/.output/server/_ssr/{StreamingChunkSequence-KPnZNTpB.mjs → StreamingChunkSequence-CFsJzBLS.mjs} +2 -2
  21. package/.output/server/_ssr/{index-uv5HMw8-.mjs → index-B-Mm06YB.mjs} +2 -2
  22. package/.output/server/_ssr/index.mjs +2 -2
  23. package/.output/server/_ssr/{json-viewer-JNF8ttGZ.mjs → json-viewer-D2MGmYZ0.mjs} +2 -2
  24. package/.output/server/_ssr/{router-07KkEFRt.mjs → router-BwvN4eYE.mjs} +4 -4
  25. package/.output/server/{_tanstack-start-manifest_v-CLXgj2ke.mjs → _tanstack-start-manifest_v-Dpk8cafb.mjs} +1 -1
  26. package/.output/server/index.mjs +73 -73
  27. package/package.json +1 -1
  28. package/src/components/ProxyViewer.tsx +4 -4
  29. package/src/components/providers/ProviderCard.tsx +6 -21
  30. package/src/components/providers/ProvidersPanel.tsx +39 -43
@@ -1 +1 @@
1
- import{r as i,j as e}from"./index-BMVjOrho.js";import{w as D,b as m,ac as G,i as R,j as V,Y as U,h as W,x as q,y as H,z as Q,k as z,ad as X}from"./ProxyViewerContainer-GpMPUmJQ.js";function M(s){if(s===null)return"null";if(Array.isArray(s))return"array";switch(typeof s){case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"object":return"object";case"bigint":case"symbol":case"undefined":case"function":return"object"}}function g(s){return s!==null&&(Array.isArray(s)||typeof s=="object")}function $(s){return Array.isArray(s)?s.map((t,n)=>[String(n),t]):typeof s=="object"&&s!==null?Object.entries(s):[]}const J=120;function O({text:s}){return e.jsx("span",{className:"whitespace-pre-wrap break-words",children:s})}function Z({text:s}){const[t,n]=i.useState(!1);return s.length>J?e.jsxs("span",{className:"text-emerald-400 break-all",children:['"',t?e.jsx("span",{className:"cursor-pointer",onClick:r=>{r.stopPropagation(),n(!1)},onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.stopPropagation(),n(!1))},role:"button",tabIndex:0,children:e.jsx(O,{text:s})}):e.jsxs(q,{delayDuration:300,children:[e.jsxs(H,{onClick:r=>{r.stopPropagation(),n(!0)},className:"text-left cursor-pointer",children:[e.jsx("span",{children:s.slice(0,J)}),e.jsx("span",{className:"text-emerald-400/50",children:"..."})]}),e.jsxs(Q,{side:"bottom",className:"max-w-md text-xs p-2 break-words whitespace-pre-wrap",children:[s.slice(0,500),s.length>500?"...":""]})]}),'"']}):e.jsxs("span",{className:"text-emerald-400 break-all",children:['"',e.jsx(O,{text:s}),'"']})}function B({value:s}){if(s===null)return e.jsx("span",{className:"text-rose-400 italic",children:"null"});switch(typeof s){case"string":return e.jsx(Z,{text:s});case"number":return e.jsx("span",{className:"text-amber-400",children:s});case"boolean":return e.jsx("span",{className:"text-blue-400",children:s?"true":"false"});case"object":case"bigint":case"symbol":case"undefined":case"function":return e.jsx("span",{className:"text-muted-foreground",children:JSON.stringify(s)})}}function A({value:s}){const[t,n]=i.useState(!1);function a(r){r.stopPropagation(),z(JSON.stringify(s,null,2)).then(d=>{d&&(n(!0),setTimeout(()=>{n(!1)},2e3))})}return e.jsx("button",{type:"button",onClick:a,className:"inline-flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground transition-colors","aria-label":t?"Copied JSON":"Copy JSON",title:"Copy JSON",children:t?e.jsx(R,{className:"size-3 text-green-500"}):e.jsx(V,{className:"size-3"})})}function ee({value:s}){const[t,n]=i.useState(!1);function a(r){r.stopPropagation(),z(JSON.stringify(s,null,2)).then(d=>{d&&(n(!0),setTimeout(()=>{n(!1)},2e3))})}return e.jsx("button",{type:"button",onClick:a,className:"opacity-0 group-hover/row:opacity-100 hover:bg-muted p-0.5 rounded transition-opacity shrink-0","aria-label":t?"Copied JSON value":"Copy JSON value",title:"Copy to clipboard",children:t?e.jsx(R,{className:"size-3 text-green-500"}):e.jsx(V,{className:"size-3 text-muted-foreground"})})}function se({onClick:s}){return e.jsx("button",{type:"button",onClick:s,className:"opacity-0 group-hover/row:opacity-100 hover:bg-muted p-0.5 rounded transition-opacity shrink-0",title:"Expand all descendants",children:e.jsx(X,{className:"size-3.5 text-muted-foreground"})})}const ne=i.memo(function s({name:t,value:n,level:a,defaultExpandDepth:r,isArrayItem:d,path:l,expandTargetPath:u,anatomyPaths:f}){const h=i.useMemo(()=>u===null?!1:l===""?u.length>0:u===l||u.startsWith(`${l}/`),[u,l]),C=a<r||h&&g(n),[p,j]=i.useState(C);i.useEffect(()=>{h&&g(n)&&!p&&j(!0)},[u]);const[y,x]=i.useState(0),[N,w]=i.useState(null),c=g(n),v=N===Number.POSITIVE_INFINITY,b=i.useMemo(()=>$(n),[n]),S=i.useMemo(()=>b.some(([,o])=>g(o)),[b]),k=M(n),F=k==="array"?"[":"{",T=k==="array"?"]":"}",K=f!==null&&f.has(l);function E(){j(!0),w(Number.POSITIVE_INFINITY),x(o=>o+1)}function P(){j(!1),w(0),x(o=>o+1)}function I(){v?P():j(!p)}function _(o){o.stopPropagation(),E()}const L=N??r;return e.jsxs("div",{className:m(a>0&&"border-l border-border/50 ml-2"),children:[e.jsxs("div",{className:m("flex items-start gap-1 py-0.5 px-1 -ml-1 rounded-sm group/row",c&&"cursor-pointer hover:bg-muted/50"),"data-anatomy-path":K?l:void 0,onClick:c?I:void 0,onKeyDown:c?o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),I())}:void 0,onDoubleClick:c&&S?()=>E():void 0,role:c?"button":void 0,tabIndex:c?0:void 0,children:[c?e.jsx("span",{className:"w-4 h-5 flex items-center justify-center shrink-0",children:p?e.jsx(U,{className:"size-3 text-muted-foreground"}):e.jsx(W,{className:"size-3 text-muted-foreground"})}):e.jsx("span",{className:"w-4 shrink-0"}),e.jsx("span",{className:m("shrink-0",d?"text-muted-foreground":"text-cyan-400"),children:d?t:`"${t}"`}),e.jsx("span",{className:"text-muted-foreground shrink-0",children:c?"":":"}),c?e.jsxs("span",{className:"text-muted-foreground",children:[F,e.jsxs("span",{className:"text-muted-foreground/60 text-xs",children:[" ",b.length," ",b.length===1?"item":"items"," ",T]})]}):e.jsx("span",{className:"min-w-0",children:e.jsx(B,{value:n})}),c&&S&&!v&&e.jsx(se,{onClick:_}),e.jsx(ee,{value:n})]}),c&&p&&e.jsxs("div",{className:"pl-4",children:[b.map(([o,Y])=>e.jsx(s,{name:o,value:Y,level:a+1,defaultExpandDepth:L,isArrayItem:k==="array",path:l===""?`/${o}`:`${l}/${o}`,expandTargetPath:u,anatomyPaths:f},o)),e.jsx("div",{className:"text-muted-foreground py-0.5 px-1",children:T})]},y)]})});function te({data:s,defaultExpandDepth:t=0,className:n,showCopy:a=!1,bulkDepth:r,bulkRevision:d,anatomyPaths:l=null,expandToPath:u=null}){const f=g(s),h=i.useMemo(()=>$(s),[s]),C=r??t,p=d??0;if(!f)return e.jsx(D,{children:e.jsx("div",{className:m("font-mono text-xs leading-relaxed",n),children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(B,{value:s}),a&&e.jsx(A,{value:s})]})})});const y=M(s)==="array";return e.jsx(D,{children:e.jsxs("div",{className:m("font-mono text-xs leading-relaxed",n),children:[a&&e.jsx("div",{className:"mb-2 flex items-center justify-end gap-2",children:e.jsx(A,{value:s})}),h.length===0&&e.jsxs("div",{className:"rounded-md border border-white/10 bg-black/20 px-3 py-2 text-muted-foreground",children:[e.jsx("span",{className:"text-cyan-300",children:y?"[]":"{}"}),e.jsx("span",{className:"ml-2 text-[10px] uppercase",children:"0 items"})]}),e.jsx("div",{children:h.map(([x,N])=>e.jsx(ne,{name:x,value:N,level:0,defaultExpandDepth:C,isArrayItem:y,path:`/${x}`,expandTargetPath:u,anatomyPaths:l},x))},p)]})})}const ae=i.memo(function({text:t,defaultExpandDepth:n=0,className:a,bulkDepth:r,bulkRevision:d}){const l=i.useMemo(()=>G(t),[t]);return l.kind==="json"?e.jsx(te,{data:l.data,defaultExpandDepth:n,className:a,bulkDepth:r,bulkRevision:d}):e.jsx("pre",{className:m("font-mono text-xs whitespace-pre-wrap break-words",a),children:t})});export{te as JsonViewer,ae as JsonViewerFromString};
1
+ import{r as i,j as e}from"./index-BCHWOmF2.js";import{w as D,b as m,ac as G,i as R,j as V,Y as U,h as W,x as q,y as H,z as Q,k as z,ad as X}from"./ProxyViewerContainer-7ugZIMW0.js";function M(s){if(s===null)return"null";if(Array.isArray(s))return"array";switch(typeof s){case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"object":return"object";case"bigint":case"symbol":case"undefined":case"function":return"object"}}function g(s){return s!==null&&(Array.isArray(s)||typeof s=="object")}function $(s){return Array.isArray(s)?s.map((t,n)=>[String(n),t]):typeof s=="object"&&s!==null?Object.entries(s):[]}const J=120;function O({text:s}){return e.jsx("span",{className:"whitespace-pre-wrap break-words",children:s})}function Z({text:s}){const[t,n]=i.useState(!1);return s.length>J?e.jsxs("span",{className:"text-emerald-400 break-all",children:['"',t?e.jsx("span",{className:"cursor-pointer",onClick:r=>{r.stopPropagation(),n(!1)},onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.stopPropagation(),n(!1))},role:"button",tabIndex:0,children:e.jsx(O,{text:s})}):e.jsxs(q,{delayDuration:300,children:[e.jsxs(H,{onClick:r=>{r.stopPropagation(),n(!0)},className:"text-left cursor-pointer",children:[e.jsx("span",{children:s.slice(0,J)}),e.jsx("span",{className:"text-emerald-400/50",children:"..."})]}),e.jsxs(Q,{side:"bottom",className:"max-w-md text-xs p-2 break-words whitespace-pre-wrap",children:[s.slice(0,500),s.length>500?"...":""]})]}),'"']}):e.jsxs("span",{className:"text-emerald-400 break-all",children:['"',e.jsx(O,{text:s}),'"']})}function B({value:s}){if(s===null)return e.jsx("span",{className:"text-rose-400 italic",children:"null"});switch(typeof s){case"string":return e.jsx(Z,{text:s});case"number":return e.jsx("span",{className:"text-amber-400",children:s});case"boolean":return e.jsx("span",{className:"text-blue-400",children:s?"true":"false"});case"object":case"bigint":case"symbol":case"undefined":case"function":return e.jsx("span",{className:"text-muted-foreground",children:JSON.stringify(s)})}}function A({value:s}){const[t,n]=i.useState(!1);function a(r){r.stopPropagation(),z(JSON.stringify(s,null,2)).then(d=>{d&&(n(!0),setTimeout(()=>{n(!1)},2e3))})}return e.jsx("button",{type:"button",onClick:a,className:"inline-flex items-center gap-1 text-[10px] text-muted-foreground hover:text-foreground transition-colors","aria-label":t?"Copied JSON":"Copy JSON",title:"Copy JSON",children:t?e.jsx(R,{className:"size-3 text-green-500"}):e.jsx(V,{className:"size-3"})})}function ee({value:s}){const[t,n]=i.useState(!1);function a(r){r.stopPropagation(),z(JSON.stringify(s,null,2)).then(d=>{d&&(n(!0),setTimeout(()=>{n(!1)},2e3))})}return e.jsx("button",{type:"button",onClick:a,className:"opacity-0 group-hover/row:opacity-100 hover:bg-muted p-0.5 rounded transition-opacity shrink-0","aria-label":t?"Copied JSON value":"Copy JSON value",title:"Copy to clipboard",children:t?e.jsx(R,{className:"size-3 text-green-500"}):e.jsx(V,{className:"size-3 text-muted-foreground"})})}function se({onClick:s}){return e.jsx("button",{type:"button",onClick:s,className:"opacity-0 group-hover/row:opacity-100 hover:bg-muted p-0.5 rounded transition-opacity shrink-0",title:"Expand all descendants",children:e.jsx(X,{className:"size-3.5 text-muted-foreground"})})}const ne=i.memo(function s({name:t,value:n,level:a,defaultExpandDepth:r,isArrayItem:d,path:l,expandTargetPath:u,anatomyPaths:f}){const h=i.useMemo(()=>u===null?!1:l===""?u.length>0:u===l||u.startsWith(`${l}/`),[u,l]),C=a<r||h&&g(n),[p,j]=i.useState(C);i.useEffect(()=>{h&&g(n)&&!p&&j(!0)},[u]);const[y,x]=i.useState(0),[N,w]=i.useState(null),c=g(n),v=N===Number.POSITIVE_INFINITY,b=i.useMemo(()=>$(n),[n]),S=i.useMemo(()=>b.some(([,o])=>g(o)),[b]),k=M(n),F=k==="array"?"[":"{",T=k==="array"?"]":"}",K=f!==null&&f.has(l);function E(){j(!0),w(Number.POSITIVE_INFINITY),x(o=>o+1)}function P(){j(!1),w(0),x(o=>o+1)}function I(){v?P():j(!p)}function _(o){o.stopPropagation(),E()}const L=N??r;return e.jsxs("div",{className:m(a>0&&"border-l border-border/50 ml-2"),children:[e.jsxs("div",{className:m("flex items-start gap-1 py-0.5 px-1 -ml-1 rounded-sm group/row",c&&"cursor-pointer hover:bg-muted/50"),"data-anatomy-path":K?l:void 0,onClick:c?I:void 0,onKeyDown:c?o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),I())}:void 0,onDoubleClick:c&&S?()=>E():void 0,role:c?"button":void 0,tabIndex:c?0:void 0,children:[c?e.jsx("span",{className:"w-4 h-5 flex items-center justify-center shrink-0",children:p?e.jsx(U,{className:"size-3 text-muted-foreground"}):e.jsx(W,{className:"size-3 text-muted-foreground"})}):e.jsx("span",{className:"w-4 shrink-0"}),e.jsx("span",{className:m("shrink-0",d?"text-muted-foreground":"text-cyan-400"),children:d?t:`"${t}"`}),e.jsx("span",{className:"text-muted-foreground shrink-0",children:c?"":":"}),c?e.jsxs("span",{className:"text-muted-foreground",children:[F,e.jsxs("span",{className:"text-muted-foreground/60 text-xs",children:[" ",b.length," ",b.length===1?"item":"items"," ",T]})]}):e.jsx("span",{className:"min-w-0",children:e.jsx(B,{value:n})}),c&&S&&!v&&e.jsx(se,{onClick:_}),e.jsx(ee,{value:n})]}),c&&p&&e.jsxs("div",{className:"pl-4",children:[b.map(([o,Y])=>e.jsx(s,{name:o,value:Y,level:a+1,defaultExpandDepth:L,isArrayItem:k==="array",path:l===""?`/${o}`:`${l}/${o}`,expandTargetPath:u,anatomyPaths:f},o)),e.jsx("div",{className:"text-muted-foreground py-0.5 px-1",children:T})]},y)]})});function te({data:s,defaultExpandDepth:t=0,className:n,showCopy:a=!1,bulkDepth:r,bulkRevision:d,anatomyPaths:l=null,expandToPath:u=null}){const f=g(s),h=i.useMemo(()=>$(s),[s]),C=r??t,p=d??0;if(!f)return e.jsx(D,{children:e.jsx("div",{className:m("font-mono text-xs leading-relaxed",n),children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(B,{value:s}),a&&e.jsx(A,{value:s})]})})});const y=M(s)==="array";return e.jsx(D,{children:e.jsxs("div",{className:m("font-mono text-xs leading-relaxed",n),children:[a&&e.jsx("div",{className:"mb-2 flex items-center justify-end gap-2",children:e.jsx(A,{value:s})}),h.length===0&&e.jsxs("div",{className:"rounded-md border border-white/10 bg-black/20 px-3 py-2 text-muted-foreground",children:[e.jsx("span",{className:"text-cyan-300",children:y?"[]":"{}"}),e.jsx("span",{className:"ml-2 text-[10px] uppercase",children:"0 items"})]}),e.jsx("div",{children:h.map(([x,N])=>e.jsx(ne,{name:x,value:N,level:0,defaultExpandDepth:C,isArrayItem:y,path:`/${x}`,expandTargetPath:u,anatomyPaths:l},x))},p)]})})}const ae=i.memo(function({text:t,defaultExpandDepth:n=0,className:a,bulkDepth:r,bulkRevision:d}){const l=i.useMemo(()=>G(t),[t]);return l.kind==="json"?e.jsx(te,{data:l.data,defaultExpandDepth:n,className:a,bulkDepth:r,bulkRevision:d}):e.jsx("pre",{className:m("font-mono text-xs whitespace-pre-wrap break-words",a),children:t})});export{te as JsonViewer,ae as JsonViewerFromString};
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports, r as reactExports } from "./_libs/react.mjs";
2
- import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-BupCsVk6.mjs";
3
- import { R as Route$K } from "./_ssr/router-07KkEFRt.mjs";
2
+ import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-Dnm-Hup3.mjs";
3
+ import { R as Route$K } from "./_ssr/router-BwvN4eYE.mjs";
4
4
  import "./_libs/jszip.mjs";
5
5
  import "node:fs";
6
6
  import "node:buffer";
@@ -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, b as copyTextToClipboard, L as LazyJsonViewerFromString } from "./ProxyViewerContainer-BupCsVk6.mjs";
3
- import "./router-07KkEFRt.mjs";
2
+ import { g as getLogFormatAdapter, r as resolveLogFormat, a as getConversationId, c as cn, B as Badge, f as formatTokens, b as copyTextToClipboard, L as LazyJsonViewerFromString } from "./ProxyViewerContainer-Dnm-Hup3.mjs";
3
+ import "./router-BwvN4eYE.mjs";
4
4
  import "node:fs";
5
5
  import "node:buffer";
6
6
  import "node:path";
@@ -1,5 +1,5 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports, R as React } from "../_libs/react.mjs";
2
- import { C as CapturedLogSchema, q as DeleteInspectorGroupsResponseSchema, D as DEFAULT_CAPTURE_MODE, a as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, b as DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS, c as DEFAULT_TIME_DISPLAY_FORMAT, d as RuntimeConfigSchema, m as extractStopReason, p as packageJson, P as ProviderConfigSchema, i as apiFormatForPath, r as GroupEvidenceExportResultSchema, t as DeleteInspectorGroupResponseSchema, N as PiAgentResponseSchema, l as isTurnBoundary, n as AlertSummarySchema, o as AlertListResponseSchema, I as InspectorGroupsListResponseSchema, G as GroupEvidenceReadResponseSchema, E as createPendingProviderTestResults, F as ProviderTestResultsSchema, H as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, J as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, v as maskApiKey, x as PATH_V1_MESSAGES, y as PATH_V1_CHAT_COMPLETIONS, z as PATH_V1_RESPONSES, u as providerHasContextMetadata, f as parseOpenAIResponse, g as parseOpenAIResponsesResponse, O as OpenAIRequestSchema, h as OpenAIResponsesRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, Q as resolveProviderContextWindow, j as getSessionPath, w as findProviderModelMetadata, B as previewUpstreamUrl, K as KnowledgeCandidateSchema, S as isPlainRecord, k as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-07KkEFRt.mjs";
2
+ import { C as CapturedLogSchema, q as DeleteInspectorGroupsResponseSchema, D as DEFAULT_CAPTURE_MODE, a as DEFAULT_SLOW_RESPONSE_THRESHOLD_SECONDS, b as DEFAULT_PROVIDER_TEST_TIMEOUT_SECONDS, c as DEFAULT_TIME_DISPLAY_FORMAT, d as RuntimeConfigSchema, m as extractStopReason, p as packageJson, P as ProviderConfigSchema, i as apiFormatForPath, r as GroupEvidenceExportResultSchema, t as DeleteInspectorGroupResponseSchema, N as PiAgentResponseSchema, l as isTurnBoundary, n as AlertSummarySchema, o as AlertListResponseSchema, I as InspectorGroupsListResponseSchema, G as GroupEvidenceReadResponseSchema, E as createPendingProviderTestResults, F as ProviderTestResultsSchema, H as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, J as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, v as maskApiKey, x as PATH_V1_MESSAGES, y as PATH_V1_CHAT_COMPLETIONS, z as PATH_V1_RESPONSES, u as providerHasContextMetadata, f as parseOpenAIResponse, g as parseOpenAIResponsesResponse, O as OpenAIRequestSchema, h as OpenAIResponsesRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, Q as resolveProviderContextWindow, j as getSessionPath, w as findProviderModelMetadata, B as previewUpstreamUrl, K as KnowledgeCandidateSchema, S as isPlainRecord, k as stripClaudeCodeBillingHeader, L as LogBodyChunkSchema } from "./router-BwvN4eYE.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";
@@ -2472,27 +2472,27 @@ function useCopyFeedback(text) {
2472
2472
  return { copied, copy };
2473
2473
  }
2474
2474
  const LazyCompareDrawer = reactExports.lazy(
2475
- () => import("./CompareDrawer-DF4wc8NT.mjs").then((m) => ({ default: m.CompareDrawer }))
2475
+ () => import("./CompareDrawer-CtWPZP5T.mjs").then((m) => ({ default: m.CompareDrawer }))
2476
2476
  );
2477
2477
  const LazyReplayDialog = reactExports.lazy(
2478
- () => import("./ReplayDialog-BIzO8gkO.mjs").then((m) => ({ default: m.ReplayDialog }))
2478
+ () => import("./ReplayDialog-BYii7Q2m.mjs").then((m) => ({ default: m.ReplayDialog }))
2479
2479
  );
2480
2480
  const LazyRequestAnatomy = reactExports.lazy(
2481
- () => import("./RequestAnatomy-DR7XdTUQ.mjs").then((m) => ({ default: m.RequestAnatomy }))
2481
+ () => import("./RequestAnatomy-CC6brPZr.mjs").then((m) => ({ default: m.RequestAnatomy }))
2482
2482
  );
2483
2483
  const LazyResponseView = reactExports.lazy(
2484
- () => import("./ResponseView-DoadSJYH.mjs").then((m) => ({ default: m.ResponseView }))
2484
+ () => import("./ResponseView-CwwkL_0d.mjs").then((m) => ({ default: m.ResponseView }))
2485
2485
  );
2486
2486
  const LazyStreamingChunkSequence = reactExports.lazy(
2487
- () => import("./StreamingChunkSequence-KPnZNTpB.mjs").then((m) => ({
2487
+ () => import("./StreamingChunkSequence-CFsJzBLS.mjs").then((m) => ({
2488
2488
  default: m.StreamingChunkSequence
2489
2489
  }))
2490
2490
  );
2491
2491
  const LazyJsonViewer = reactExports.lazy(
2492
- () => import("./json-viewer-JNF8ttGZ.mjs").then((m) => ({ default: m.JsonViewer }))
2492
+ () => import("./json-viewer-D2MGmYZ0.mjs").then((m) => ({ default: m.JsonViewer }))
2493
2493
  );
2494
2494
  const LazyJsonViewerFromString = reactExports.lazy(
2495
- () => import("./json-viewer-JNF8ttGZ.mjs").then((m) => ({ default: m.JsonViewerFromString }))
2495
+ () => import("./json-viewer-D2MGmYZ0.mjs").then((m) => ({ default: m.JsonViewerFromString }))
2496
2496
  );
2497
2497
  const HIGHLIGHT_DURATION_MS = 1200;
2498
2498
  const MAX_HIGHLIGHT_ATTEMPTS = 12;
@@ -8311,7 +8311,6 @@ function ProviderCapabilitySummary({ provider }) {
8311
8311
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Test requires at least one configured endpoint." });
8312
8312
  }
8313
8313
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-1.5 text-xs text-muted-foreground", children: [
8314
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Capabilities" }),
8315
8314
  hasAnthropic && /* @__PURE__ */ jsxRuntimeExports.jsx(CapabilityChip, { label: "Anthropic", enabled: true }),
8316
8315
  hasChat && /* @__PURE__ */ jsxRuntimeExports.jsx(CapabilityChip, { label: "OpenAI Chat", enabled: true }),
8317
8316
  hasResponses && /* @__PURE__ */ jsxRuntimeExports.jsx(CapabilityChip, { label: "OpenAI Responses", enabled: true })
@@ -8423,13 +8422,6 @@ function ModelChip({ provider, model }) {
8423
8422
  ] }) })
8424
8423
  ] });
8425
8424
  }
8426
- function modelResultsLabel(testResults) {
8427
- const models = testResults?.models;
8428
- if (models === void 0) return null;
8429
- const count = Object.keys(models).length;
8430
- if (count === 0) return null;
8431
- return `${count} model${count === 1 ? "" : "s"} tested`;
8432
- }
8433
8425
  function getErrorIcon(type) {
8434
8426
  const iconProps = { className: "size-3", strokeWidth: 2 };
8435
8427
  switch (type) {
@@ -8626,7 +8618,6 @@ function ProviderCard({
8626
8618
  const canRefreshMetadata = provider.modelMetadataUrl !== void 0 && provider.modelMetadataUrl.trim() !== "";
8627
8619
  const metadataImportLabel = canRefreshMetadata ? "Refresh" : "Import defaults";
8628
8620
  const isTestingValue = isTesting ?? false;
8629
- const testedModelsLabel = modelResultsLabel(testResults);
8630
8621
  const providerSourceBadge = provider.source === "company" ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "shrink-0 rounded border border-cyan-300/20 bg-cyan-300/[0.08] px-1.5 py-0.5 text-xs text-cyan-100", children: "Company" }) : provider.source === "personal" ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "shrink-0 rounded border border-violet-300/20 bg-violet-300/[0.08] px-1.5 py-0.5 text-xs text-violet-100", children: "Personal" }) : null;
8631
8622
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
8632
8623
  "div",
@@ -8668,14 +8659,9 @@ function ProviderCard({
8668
8659
  ] }),
8669
8660
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-2 text-xs text-muted-foreground sm:flex-row sm:items-center sm:justify-between", children: [
8670
8661
  /* @__PURE__ */ jsxRuntimeExports.jsx(ProviderCapabilitySummary, { provider }),
8671
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
8672
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Key configured" }),
8673
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: provider.authHeader === "x-api-key" ? "x-api-key" : "Bearer" }),
8674
- testedModelsLabel !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: testedModelsLabel }),
8675
- testResults?.testedAt !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1", children: [
8676
- /* @__PURE__ */ jsxRuntimeExports.jsx(Clock, { className: "size-3" }),
8677
- formatTimeAgo(testResults.testedAt)
8678
- ] })
8662
+ testResults?.testedAt !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1", children: [
8663
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Clock, { className: "size-3" }),
8664
+ formatTimeAgo(testResults.testedAt)
8679
8665
  ] })
8680
8666
  ] }),
8681
8667
  !hasContextMetadata && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between gap-2 rounded-md border border-amber-500/25 bg-amber-500/6 px-2 py-1.5 text-xs text-muted-foreground", children: [
@@ -10186,66 +10172,62 @@ function ProvidersPanel({
10186
10172
  ] });
10187
10173
  }
10188
10174
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
10189
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sticky top-0 z-10 flex items-center justify-between gap-3 rounded-[8px] bg-background/95 px-1 py-1 backdrop-blur", children: [
10190
- /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-lg font-medium", children: "Providers" }),
10191
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
10192
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
10193
- Button,
10194
- {
10195
- variant: "outline",
10196
- size: "sm",
10197
- onClick: () => handleExport(),
10198
- className: "gap-1 hover:bg-muted",
10199
- children: [
10200
- /* @__PURE__ */ jsxRuntimeExports.jsx(Download, { className: "size-3" }),
10201
- "Export"
10202
- ]
10203
- }
10204
- ),
10205
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
10206
- Button,
10207
- {
10208
- variant: "outline",
10209
- size: "sm",
10210
- onClick: handleImportClick,
10211
- className: "gap-1 hover:bg-muted",
10212
- children: [
10213
- /* @__PURE__ */ jsxRuntimeExports.jsx(Upload, { className: "size-3" }),
10214
- "Import"
10215
- ]
10216
- }
10217
- ),
10218
- /* @__PURE__ */ jsxRuntimeExports.jsx(
10219
- "input",
10220
- {
10221
- type: "file",
10222
- ref: fileInputRef,
10223
- accept: ".json",
10224
- onChange: handleFileChange,
10225
- style: { display: "none" }
10226
- }
10227
- ),
10228
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
10229
- Button,
10230
- {
10231
- variant: "outline",
10232
- size: "sm",
10233
- onClick: () => setShowImportWizard(true),
10234
- className: "gap-1",
10235
- children: [
10236
- /* @__PURE__ */ jsxRuntimeExports.jsx(Scan, { className: "size-3" }),
10237
- "Scan"
10238
- ]
10239
- }
10240
- ),
10241
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { onClick: () => setShowForm(true), size: "sm", className: "gap-1", children: [
10242
- /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "size-4" }),
10243
- "Add Provider"
10244
- ] })
10175
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sticky top-0 z-10 flex items-center justify-end gap-2 rounded-[8px] bg-background/95 px-1 py-1 backdrop-blur", children: [
10176
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
10177
+ Button,
10178
+ {
10179
+ variant: "outline",
10180
+ size: "sm",
10181
+ onClick: () => handleExport(),
10182
+ className: "gap-1 hover:bg-muted",
10183
+ children: [
10184
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Download, { className: "size-3" }),
10185
+ "Export"
10186
+ ]
10187
+ }
10188
+ ),
10189
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
10190
+ Button,
10191
+ {
10192
+ variant: "outline",
10193
+ size: "sm",
10194
+ onClick: handleImportClick,
10195
+ className: "gap-1 hover:bg-muted",
10196
+ children: [
10197
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Upload, { className: "size-3" }),
10198
+ "Import"
10199
+ ]
10200
+ }
10201
+ ),
10202
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
10203
+ "input",
10204
+ {
10205
+ type: "file",
10206
+ ref: fileInputRef,
10207
+ accept: ".json",
10208
+ onChange: handleFileChange,
10209
+ style: { display: "none" }
10210
+ }
10211
+ ),
10212
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
10213
+ Button,
10214
+ {
10215
+ variant: "outline",
10216
+ size: "sm",
10217
+ onClick: () => setShowImportWizard(true),
10218
+ className: "gap-1",
10219
+ children: [
10220
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Scan, { className: "size-3" }),
10221
+ "Scan"
10222
+ ]
10223
+ }
10224
+ ),
10225
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { onClick: () => setShowForm(true), size: "sm", className: "gap-1", children: [
10226
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "size-4" }),
10227
+ "Add Provider"
10245
10228
  ] })
10246
10229
  ] }),
10247
10230
  configPath !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 rounded-[8px] bg-muted/15 px-3 py-2 text-xs text-muted-foreground", children: [
10248
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "shrink-0", children: "Config:" }),
10249
10231
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono truncate", title: configPath, children: configPath }),
10250
10232
  /* @__PURE__ */ jsxRuntimeExports.jsx(
10251
10233
  "button",
@@ -15132,7 +15114,7 @@ function ProxyViewer({
15132
15114
  [onSessionChange]
15133
15115
  );
15134
15116
  const labSessionId = pinnedSessionId !== void 0 ? pinnedSessionId : selectedSession === "__all__" ? null : selectedSession;
15135
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-background min-h-screen w-full text-foreground", children: [
15117
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-background min-h-screen w-full text-foreground lg:h-screen lg:flex lg:flex-col lg:overflow-hidden", children: [
15136
15118
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
15137
15119
  "button",
15138
15120
  {
@@ -15155,11 +15137,11 @@ function ProxyViewer({
15155
15137
  "div",
15156
15138
  {
15157
15139
  className: cn(
15158
- "grid min-h-screen w-full grid-cols-1",
15140
+ "grid w-full min-w-0 grid-cols-1 lg:min-h-0 lg:flex-1 lg:overflow-hidden",
15159
15141
  detailsPanelCollapsed ? "lg:grid-cols-[minmax(0,1fr)]" : "lg:grid-cols-[minmax(0,1fr)_340px] xl:grid-cols-[minmax(0,1fr)_360px]"
15160
15142
  ),
15161
15143
  children: [
15162
- !detailsPanelCollapsed && /* @__PURE__ */ jsxRuntimeExports.jsx("aside", { className: "bg-background/95 order-1 border-b border-white/[0.045] lg:sticky lg:top-0 lg:order-2 lg:h-screen lg:overflow-y-auto lg:border-b-0 lg:border-l lg:border-white/[0.055]", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4 p-4", children: [
15144
+ !detailsPanelCollapsed && /* @__PURE__ */ jsxRuntimeExports.jsx("aside", { className: "bg-background/95 order-1 border-b border-white/[0.045] lg:order-2 lg:h-full lg:overflow-y-auto lg:border-b-0 lg:border-l lg:border-white/[0.055] inspector-scrollbar", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4 p-4", children: [
15163
15145
  /* @__PURE__ */ jsxRuntimeExports.jsx(
15164
15146
  BrandHeader,
15165
15147
  {
@@ -15264,7 +15246,7 @@ function ProxyViewer({
15264
15246
  ] })
15265
15247
  ] }) })
15266
15248
  ] }) }),
15267
- /* @__PURE__ */ jsxRuntimeExports.jsxs("main", { className: "order-2 min-w-0 lg:order-1", children: [
15249
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("main", { className: "order-2 min-w-0 lg:order-1 lg:h-full lg:overflow-y-auto inspector-scrollbar", children: [
15268
15250
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-background/95 shadow-[0_12px_36px_rgba(0,0,0,0.18),inset_0_-1px_0_rgba(255,255,255,0.045)] sticky top-0 z-30 px-4 py-3 lg:px-5", children: [
15269
15251
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
15270
15252
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-[180px] flex-1", children: [
@@ -1,7 +1,7 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, d as fetchJsonWithTimeout, D as Dialog, e as DialogContent, h as DialogHeader, i as DialogTitle, T as Tabs, j as TabsList, k as TabsTrigger, l as TabsContent, m as Button, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, s as dispatchLogFocusRequest, A as ApiTimeoutError } from "./ProxyViewerContainer-BupCsVk6.mjs";
3
- import { ResponseView } from "./ResponseView-DoadSJYH.mjs";
4
- import { C as CapturedLogSchema } from "./router-07KkEFRt.mjs";
2
+ import { u as useProviders, d as fetchJsonWithTimeout, D as Dialog, e as DialogContent, h as DialogHeader, i as DialogTitle, T as Tabs, j as TabsList, k as TabsTrigger, l as TabsContent, m as Button, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, s as dispatchLogFocusRequest, A as ApiTimeoutError } from "./ProxyViewerContainer-Dnm-Hup3.mjs";
3
+ import { ResponseView } from "./ResponseView-CwwkL_0d.mjs";
4
+ import { C as CapturedLogSchema } from "./router-BwvN4eYE.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "node:fs";
7
7
  import "node:buffer";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, t as analyzeContextIntelligence, f as formatTokens, n as TooltipProvider, c as cn, o as Tooltip, p as TooltipTrigger, q as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, v as ANATOMY_ROLE_LABELS, w as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-BupCsVk6.mjs";
3
- import "./router-07KkEFRt.mjs";
2
+ import { u as useProviders, t as analyzeContextIntelligence, f as formatTokens, n as TooltipProvider, c as cn, o as Tooltip, p as TooltipTrigger, q as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, v as ANATOMY_ROLE_LABELS, w as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-Dnm-Hup3.mjs";
3
+ import "./router-BwvN4eYE.mjs";
4
4
  import "node:fs";
5
5
  import "node:buffer";
6
6
  import "node:path";
@@ -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, x as getStatusCategory, B as Badge, y as Collapsible, z as CollapsibleTrigger, E as CollapsibleContent, F as ScrollArea, G as LazyJsonViewer, H as safeJsonValue } from "./ProxyViewerContainer-BupCsVk6.mjs";
3
- import { s as safeGetOwnProperty } from "./router-07KkEFRt.mjs";
2
+ import { g as getLogFormatAdapter, f as formatTokens, c as cn, x as getStatusCategory, B as Badge, y as Collapsible, z as CollapsibleTrigger, E as CollapsibleContent, F as ScrollArea, G as LazyJsonViewer, H as safeJsonValue } from "./ProxyViewerContainer-Dnm-Hup3.mjs";
3
+ import { s as safeGetOwnProperty } from "./router-BwvN4eYE.mjs";
4
4
  import "../_libs/jszip.mjs";
5
5
  import "node:fs";
6
6
  import "node:buffer";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { d as fetchJsonWithTimeout, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, B as Badge, q as TooltipContent, G as LazyJsonViewer } from "./ProxyViewerContainer-BupCsVk6.mjs";
3
- import { U as StreamingChunkSchema$1 } from "./router-07KkEFRt.mjs";
2
+ import { d as fetchJsonWithTimeout, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, B as Badge, q as TooltipContent, G as LazyJsonViewer } from "./ProxyViewerContainer-Dnm-Hup3.mjs";
3
+ import { U as StreamingChunkSchema$1 } from "./router-BwvN4eYE.mjs";
4
4
  import "../_libs/jszip.mjs";
5
5
  import "node:fs";
6
6
  import "node:buffer";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { P as ProxyViewerContainer } from "./ProxyViewerContainer-BupCsVk6.mjs";
3
- import "./router-07KkEFRt.mjs";
2
+ import { P as ProxyViewerContainer } from "./ProxyViewerContainer-Dnm-Hup3.mjs";
3
+ import "./router-BwvN4eYE.mjs";
4
4
  import "../_libs/jszip.mjs";
5
5
  import "node:fs";
6
6
  import "node:buffer";
@@ -85,7 +85,7 @@ function getResponse() {
85
85
  }
86
86
  var HEADERS = { TSS_SHELL: "X-TSS_SHELL" };
87
87
  async function getStartManifest(matchedRoutes) {
88
- const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-CLXgj2ke.mjs");
88
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-Dpk8cafb.mjs");
89
89
  const startManifest = tsrStartManifest();
90
90
  let routes = startManifest.routes;
91
91
  routes[rootRouteId];
@@ -1162,7 +1162,7 @@ var getBaseManifest = getProdBaseManifest;
1162
1162
  var createEarlyHintsForRequest = createEarlyHintsCollector;
1163
1163
  async function loadEntries() {
1164
1164
  const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
1165
- import("./router-07KkEFRt.mjs").then((n) => n.V),
1165
+ import("./router-BwvN4eYE.mjs").then((n) => n.V),
1166
1166
  import("./start-HYkvq4Ni.mjs"),
1167
1167
  import("./empty-plugin-adapters-BFgPZ6_d.mjs")
1168
1168
  ]);
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { I as parseJsonText, c as cn, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-BupCsVk6.mjs";
3
- import "./router-07KkEFRt.mjs";
2
+ import { I as parseJsonText, c as cn, n as TooltipProvider, o as Tooltip, p as TooltipTrigger, q as TooltipContent, b as copyTextToClipboard } from "./ProxyViewerContainer-Dnm-Hup3.mjs";
3
+ import "./router-BwvN4eYE.mjs";
4
4
  import "node:fs";
5
5
  import "node:buffer";
6
6
  import "node:path";
@@ -64,7 +64,7 @@ import "../_libs/immediate.mjs";
64
64
  import "../_libs/setimmediate.mjs";
65
65
  import "../_libs/pako.mjs";
66
66
  const faviconSvg = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20role='img'%20aria-label='Agent%20Inspector'%3e%3cg%20fill='none'%20stroke='%23f59e0b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20%3e%3cpath%20d='M5%2013%20C5%209%208%207%2012%207%20C16%207%2019%209%2019%2013%20C19%2016%2016%2018%2012%2018%20C8%2018%205%2016%205%2013%20Z'%20/%3e%3cpath%20d='M5%2011%20C3.5%209.5%201.5%2010%202%2012.5%20C2.5%2014%204%2013.5%205%2012.5'%20/%3e%3cpath%20d='M19%2011%20C20.5%209.5%2022.5%2010%2022%2012.5%20C21.5%2014%2020%2013.5%2019%2012.5'%20/%3e%3cline%20x1='10'%20y1='7'%20x2='9.5'%20y2='5'%20/%3e%3cline%20x1='14'%20y1='7'%20x2='14.5'%20y2='5'%20/%3e%3cline%20x1='6.5'%20y1='16'%20x2='4.5'%20y2='19.5'%20/%3e%3cline%20x1='9'%20y1='17.5'%20x2='8'%20y2='20.5'%20/%3e%3cline%20x1='15'%20y1='17.5'%20x2='16'%20y2='20.5'%20/%3e%3cline%20x1='17.5'%20y1='16'%20x2='19.5'%20y2='19.5'%20/%3e%3c/g%3e%3ccircle%20cx='9.5'%20cy='4.5'%20r='0.9'%20fill='%23f59e0b'%20/%3e%3ccircle%20cx='14.5'%20cy='4.5'%20r='0.9'%20fill='%23f59e0b'%20/%3e%3c/svg%3e";
67
- const appCss = "/assets/index-D2iiZaNM.css";
67
+ const appCss = "/assets/index-SqCROi0s.css";
68
68
  const CHUNK_LOAD_RELOAD_AT_KEY = "agent-inspector.chunkLoadReloadAt";
69
69
  const CHUNK_LOAD_RELOAD_WINDOW_MS = 15e3;
70
70
  const CHUNK_LOAD_FAILURE_PATTERNS = [
@@ -176,7 +176,7 @@ function RootDocument({ children }) {
176
176
  ] })
177
177
  ] });
178
178
  }
179
- const $$splitComponentImporter$1 = () => import("./index-uv5HMw8-.mjs");
179
+ const $$splitComponentImporter$1 = () => import("./index-B-Mm06YB.mjs");
180
180
  const Route$L = createFileRoute("/")({
181
181
  ssr: false,
182
182
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
@@ -220,7 +220,7 @@ function decodeSessionIdFromPath(encoded) {
220
220
  function getSessionPath(sessionId) {
221
221
  return `/session/${encodeSessionIdForPath(sessionId)}`;
222
222
  }
223
- const $$splitComponentImporter = () => import("../_sessionId-DiAGJ75k.mjs");
223
+ const $$splitComponentImporter = () => import("../_sessionId-CIvbZsmt.mjs");
224
224
  const Route$K = createFileRoute("/session/$sessionId")({
225
225
  ssr: false,
226
226
  component: lazyRouteComponent($$splitComponentImporter, "component"),
@@ -9786,7 +9786,7 @@ const Route$E = createFileRoute("/api/models")({
9786
9786
  }
9787
9787
  });
9788
9788
  const name = "@tonyclaw/agent-inspector";
9789
- const version = "3.0.21";
9789
+ const version = "3.0.22";
9790
9790
  const packageJson = {
9791
9791
  name,
9792
9792
  version
@@ -1,4 +1,4 @@
1
- const tsrStartManifest = () => ({ routes: { __root__: { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", children: ["/", "/api/alerts", "/api/config", "/api/groups", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/pi-agent", "/api/providers", "/api/runs", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/ecosystem/packages", "/api/ecosystem/tasks", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/ecosystem/recipes/$recipeId/run", "/api/knowledge/sessions/$sessionId/candidates"], preloads: ["/assets/index-BMVjOrho.js"], scripts: [{ attrs: { type: "module", async: true, src: "/assets/index-BMVjOrho.js" } }] }, "/": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", children: void 0, preloads: ["/assets/index-Cu0STzXy.js", "/assets/ProxyViewerContainer-GpMPUmJQ.js"] }, "/session/$sessionId": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", children: void 0, preloads: ["/assets/_sessionId-BeinzuQZ.js", "/assets/ProxyViewerContainer-GpMPUmJQ.js"] } } });
1
+ const tsrStartManifest = () => ({ routes: { __root__: { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/__root.tsx", children: ["/", "/api/alerts", "/api/config", "/api/groups", "/api/health", "/api/logs", "/api/mcp", "/api/models", "/api/pi-agent", "/api/providers", "/api/runs", "/api/sessions", "/proxy/$", "/session/$sessionId", "/api/ecosystem/packages", "/api/ecosystem/tasks", "/api/knowledge/candidates", "/api/knowledge/project-context", "/api/knowledge/search", "/api/ecosystem/recipes/$recipeId/run", "/api/knowledge/sessions/$sessionId/candidates"], preloads: ["/assets/index-BCHWOmF2.js"], scripts: [{ attrs: { type: "module", async: true, src: "/assets/index-BCHWOmF2.js" } }] }, "/": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/index.tsx", children: void 0, preloads: ["/assets/index-Pz9T7cS9.js", "/assets/ProxyViewerContainer-7ugZIMW0.js"] }, "/session/$sessionId": { filePath: "C:/Users/claw/workspace/agent-inspector/src/routes/session/$sessionId.tsx", children: void 0, preloads: ["/assets/_sessionId-BeN8-5Ho.js", "/assets/ProxyViewerContainer-7ugZIMW0.js"] } } });
2
2
  export {
3
3
  tsrStartManifest
4
4
  };