@tonyclaw/agent-inspector 2.0.27 → 2.0.29

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 (47) hide show
  1. package/.output/cli.js +169 -13
  2. package/.output/nitro.json +1 -1
  3. package/.output/public/assets/{CompareDrawer-B_p6vmMQ.js → CompareDrawer-DcqxlgSQ.js} +1 -1
  4. package/.output/public/assets/ProxyViewerContainer-D650kQlv.js +115 -0
  5. package/.output/public/assets/{ReplayDialog-BmprJ6D3.js → ReplayDialog-CBcnPgx1.js} +1 -1
  6. package/.output/public/assets/{RequestAnatomy-DqO0_SVJ.js → RequestAnatomy-DSgSqCYt.js} +1 -1
  7. package/.output/public/assets/{ResponseView-FZbPNdHa.js → ResponseView-CjqzBSoF.js} +1 -1
  8. package/.output/public/assets/{StreamingChunkSequence-BZPzfJWj.js → StreamingChunkSequence-DdBBKolI.js} +1 -1
  9. package/.output/public/assets/_sessionId-wctOoGh_.js +1 -0
  10. package/.output/public/assets/index-BhQGSdhG.js +1 -0
  11. package/.output/public/assets/{index-DsiKfWCp.css → index-CwlHPmgL.css} +1 -1
  12. package/.output/public/assets/{main-CzItFZlM.js → main-B6OLZCp9.js} +2 -2
  13. package/.output/server/_libs/lucide-react.mjs +13 -13
  14. package/.output/server/{_sessionId-DZH8SrEZ.mjs → _sessionId-CCfKJJ19.mjs} +2 -2
  15. package/.output/server/_ssr/{CompareDrawer-L0aE1UV1.mjs → CompareDrawer-uaPI5R6e.mjs} +2 -2
  16. package/.output/server/_ssr/{ProxyViewerContainer-B62RB9ER.mjs → ProxyViewerContainer-BV2nIxXy.mjs} +83 -20
  17. package/.output/server/_ssr/{ReplayDialog-FVWnpx2C.mjs → ReplayDialog-eE2Hy2Nl.mjs} +4 -4
  18. package/.output/server/_ssr/{RequestAnatomy-DIyqW-Ny.mjs → RequestAnatomy-B7vwWo57.mjs} +2 -2
  19. package/.output/server/_ssr/{ResponseView-BX4mxEZ5.mjs → ResponseView-Bm6Qp8mo.mjs} +2 -2
  20. package/.output/server/_ssr/{StreamingChunkSequence-Cs3nzOor.mjs → StreamingChunkSequence-CbAJKJQx.mjs} +2 -2
  21. package/.output/server/_ssr/{index-Dik2Mc3h.mjs → index-u14_Aj60.mjs} +2 -2
  22. package/.output/server/_ssr/index.mjs +2 -2
  23. package/.output/server/_ssr/{router-DCPg8ykx.mjs → router-qgeGUp1k.mjs} +161 -18
  24. package/.output/server/{_tanstack-start-manifest_v-BaoL3JCh.mjs → _tanstack-start-manifest_v-BrfUXnre.mjs} +1 -1
  25. package/.output/server/index.mjs +59 -59
  26. package/package.json +1 -1
  27. package/src/cli/networkHints.ts +150 -0
  28. package/src/cli.ts +72 -13
  29. package/src/components/ProxyViewer.tsx +3 -0
  30. package/src/components/providers/ProviderCard.tsx +32 -0
  31. package/src/components/proxy-viewer/LogEntryHeader.tsx +38 -1
  32. package/src/lib/providerTestContract.ts +3 -0
  33. package/src/lib/sessionInfoContract.ts +3 -0
  34. package/src/mcp/toolHandlers.ts +3 -0
  35. package/src/proxy/evidenceAnalysis.ts +5 -0
  36. package/src/proxy/evidenceExporter.ts +8 -3
  37. package/src/proxy/handler.ts +8 -1
  38. package/src/proxy/logFinalizer.ts +36 -0
  39. package/src/proxy/schemas.ts +3 -0
  40. package/src/proxy/sessionInfo.ts +3 -0
  41. package/src/proxy/store.ts +3 -0
  42. package/src/proxy/streamTiming.ts +31 -0
  43. package/src/routes/api/logs.$id.replay.ts +25 -2
  44. package/src/routes/api/providers.$providerId.test.log.ts +34 -2
  45. package/.output/public/assets/ProxyViewerContainer-DItqh1EO.js +0 -115
  46. package/.output/public/assets/_sessionId-y2ATIp51.js +0 -1
  47. package/.output/public/assets/index-CQT4higx.js +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CQT4higx.js","assets/ProxyViewerContainer-DItqh1EO.js","assets/_sessionId-y2ATIp51.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BhQGSdhG.js","assets/ProxyViewerContainer-D650kQlv.js","assets/_sessionId-wctOoGh_.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-DsiKfWCp.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-CQT4higx.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-y2ATIp51.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-CwlHPmgL.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-BhQGSdhG.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-wctOoGh_.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};
@@ -590,27 +590,27 @@ export {
590
590
  Download as D,
591
591
  EyeOff as E,
592
592
  FileSearch as F,
593
- Globe as G,
594
- ChevronsDown as H,
595
- FileDiff as I,
596
- History as J,
597
- RotateCcw as K,
593
+ Gauge as G,
594
+ ChevronsUp as H,
595
+ ChevronsDown as I,
596
+ FileDiff as J,
597
+ History as K,
598
598
  LoaderCircle as L,
599
599
  MessageSquare as M,
600
- Search as N,
600
+ RotateCcw as N,
601
601
  OctagonAlert as O,
602
602
  Plus as P,
603
- GitCompareArrows as Q,
603
+ Search as Q,
604
604
  RotateCw as R,
605
605
  Settings as S,
606
606
  Terminal as T,
607
607
  Upload as U,
608
- CircleQuestionMark as V,
608
+ GitCompareArrows as V,
609
609
  Wrench as W,
610
610
  X,
611
- Server as Y,
611
+ CircleQuestionMark as Y,
612
612
  Zap as Z,
613
- Gauge as _,
613
+ Server as _,
614
614
  Copy as a,
615
615
  Wifi as a0,
616
616
  WifiOff as a1,
@@ -650,7 +650,7 @@ export {
650
650
  Save as u,
651
651
  CircleCheck as v,
652
652
  CloudUpload as w,
653
- FileTerminal as x,
654
- Radio as y,
655
- ChevronsUp as z
653
+ Radio as x,
654
+ Globe as y,
655
+ FileTerminal as z
656
656
  };
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports } from "./_libs/react.mjs";
2
- import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-B62RB9ER.mjs";
3
- import { R as Route$t } from "./_ssr/router-DCPg8ykx.mjs";
2
+ import { P as ProxyViewerContainer } from "./_ssr/ProxyViewerContainer-BV2nIxXy.mjs";
3
+ import { R as Route$t } from "./_ssr/router-qgeGUp1k.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-B62RB9ER.mjs";
3
- import "./router-DCPg8ykx.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-BV2nIxXy.mjs";
3
+ import "./router-qgeGUp1k.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { X, a9 as Rows3, aa as Columns2, p as Minus, P as Plus, j as Pencil, i as ChevronRight, ab 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_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, P as ProviderConfigSchema, r as requestFormatForPath, j as createPendingProviderTestResults, k as ProviderTestResultsSchema, l as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, n as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, m as maskApiKey, h as providerHasContextMetadata, i as findProviderModelMetadata, g as getSessionPath, p as parseOpenAIResponse, O as OpenAIRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, o as resolveProviderContextWindow, K as KnowledgeCandidateSchema, f as stripClaudeCodeBillingHeader, q as isPlainRecord } from "./router-DCPg8ykx.mjs";
2
+ import { C as CapturedLogSchema, 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, P as ProviderConfigSchema, r as requestFormatForPath, j as createPendingProviderTestResults, k as ProviderTestResultsSchema, l as createFailedProviderTestResults, M as MAX_SLOW_RESPONSE_THRESHOLD_SECONDS, n as MAX_PROVIDER_TEST_TIMEOUT_SECONDS, T as TimeDisplayFormatSchema, m as maskApiKey, h as providerHasContextMetadata, i as findProviderModelMetadata, g as getSessionPath, p as parseOpenAIResponse, O as OpenAIRequestSchema, A as AnthropicResponseSchema$1, e as AnthropicRequestSchema, s as safeGetOwnProperty, o as resolveProviderContextWindow, K as KnowledgeCandidateSchema, f as stripClaudeCodeBillingHeader, q as isPlainRecord } from "./router-qgeGUp1k.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";
@@ -9,7 +9,7 @@ import { R as Root, T as Trigger$2, C as Content, a as Close, b as Title, P as P
9
9
  import { d as diffJson, a as diffLines } from "../_libs/diff.mjs";
10
10
  import { u as useWindowVirtualizer, a as useVirtualizer } from "../_libs/tanstack__react-virtual.mjs";
11
11
  import { R as Root2, T as Trigger, I as Icon, V as Value, P as Portal, C as Content2, a as Viewport, b as Item, c as ItemIndicator, d as ItemText, S as ScrollUpButton, e as ScrollDownButton } from "../_libs/radix-ui__react-select.mjs";
12
- import { C as Check, X, P as Plus, D as Download, S as Settings, A as ArrowLeft, a as Copy, b as ChevronDown, U as Upload, c as Scan, d as CircleAlert, T as Terminal, e as ChevronUp, E as EyeOff, f as Eye, g as ExternalLink, R as RotateCw, h as Clock, i as ChevronRight, j as Pencil, k as Trash2, L as LoaderCircle, l as ArrowUpRight, m as ArrowDownRight, n as User, M as MessageSquare, Z as Zap, W as Wrench, o as TriangleAlert, B as Brain, p as Minus, q as CircleCheckBig, r as CircleX, s as ShieldCheck, t as RefreshCw, u as Save, F as FileSearch, v as CircleCheck, w as CloudUpload, O as OctagonAlert, G as Globe, x as FileTerminal, y as Radio, z as ChevronsUp, H as ChevronsDown, I as FileDiff, J as History, K as RotateCcw, N as Search, Q as GitCompareArrows, V as CircleQuestionMark, Y as Server, _ as Gauge, $ as Lock, a0 as Wifi, a1 as WifiOff, a2 as ArrowUp, a3 as ArrowDown, a4 as Ellipsis, a5 as CodeXml, a6 as Blocks, a7 as MousePointerClick, a8 as FileText, a9 as Rows3, aa as Columns2 } from "../_libs/lucide-react.mjs";
12
+ import { C as Check, X, P as Plus, D as Download, S as Settings, A as ArrowLeft, a as Copy, b as ChevronDown, U as Upload, c as Scan, d as CircleAlert, T as Terminal, e as ChevronUp, E as EyeOff, f as Eye, g as ExternalLink, R as RotateCw, h as Clock, i as ChevronRight, j as Pencil, k as Trash2, L as LoaderCircle, l as ArrowUpRight, m as ArrowDownRight, n as User, M as MessageSquare, Z as Zap, W as Wrench, o as TriangleAlert, B as Brain, p as Minus, q as CircleCheckBig, r as CircleX, s as ShieldCheck, t as RefreshCw, u as Save, F as FileSearch, v as CircleCheck, w as CloudUpload, O as OctagonAlert, x as Radio, G as Gauge, y as Globe, z as FileTerminal, H as ChevronsUp, I as ChevronsDown, J as FileDiff, K as History, N as RotateCcw, Q as Search, V as GitCompareArrows, Y as CircleQuestionMark, _ as Server, $ as Lock, a0 as Wifi, a1 as WifiOff, a2 as ArrowUp, a3 as ArrowDown, a4 as Ellipsis, a5 as CodeXml, a6 as Blocks, a7 as MousePointerClick, a8 as FileText, a9 as Rows3, aa as Columns2 } from "../_libs/lucide-react.mjs";
13
13
  import { M as Markdown } from "../_libs/react-markdown.mjs";
14
14
  import { u as union, d as object, a as array, l as literal, b as string, n as number, c as boolean, _ as _enum } from "../_libs/zod.mjs";
15
15
  import { P as Provider, R as Root3, T as Trigger$1, a as Portal$1, C as Content2$1, A as Arrow2 } from "../_libs/radix-ui__react-tooltip.mjs";
@@ -515,7 +515,7 @@ function useProviders() {
515
515
  mutate: response.mutate
516
516
  };
517
517
  }
518
- const version = "2.0.27";
518
+ const version = "2.0.29";
519
519
  const packageJson = {
520
520
  version
521
521
  };
@@ -1576,19 +1576,19 @@ function useCopyFeedback(text) {
1576
1576
  return { copied, copy };
1577
1577
  }
1578
1578
  const LazyCompareDrawer = reactExports.lazy(
1579
- () => import("./CompareDrawer-L0aE1UV1.mjs").then((m) => ({ default: m.CompareDrawer }))
1579
+ () => import("./CompareDrawer-uaPI5R6e.mjs").then((m) => ({ default: m.CompareDrawer }))
1580
1580
  );
1581
1581
  const LazyReplayDialog = reactExports.lazy(
1582
- () => import("./ReplayDialog-FVWnpx2C.mjs").then((m) => ({ default: m.ReplayDialog }))
1582
+ () => import("./ReplayDialog-eE2Hy2Nl.mjs").then((m) => ({ default: m.ReplayDialog }))
1583
1583
  );
1584
1584
  const LazyRequestAnatomy = reactExports.lazy(
1585
- () => import("./RequestAnatomy-DIyqW-Ny.mjs").then((m) => ({ default: m.RequestAnatomy }))
1585
+ () => import("./RequestAnatomy-B7vwWo57.mjs").then((m) => ({ default: m.RequestAnatomy }))
1586
1586
  );
1587
1587
  const LazyResponseView = reactExports.lazy(
1588
- () => import("./ResponseView-BX4mxEZ5.mjs").then((m) => ({ default: m.ResponseView }))
1588
+ () => import("./ResponseView-Bm6Qp8mo.mjs").then((m) => ({ default: m.ResponseView }))
1589
1589
  );
1590
1590
  const LazyStreamingChunkSequence = reactExports.lazy(
1591
- () => import("./StreamingChunkSequence-Cs3nzOor.mjs").then((m) => ({
1591
+ () => import("./StreamingChunkSequence-CbAJKJQx.mjs").then((m) => ({
1592
1592
  default: m.StreamingChunkSequence
1593
1593
  }))
1594
1594
  );
@@ -1990,10 +1990,14 @@ const STATUS_BADGE_CLASSES = {
1990
1990
  server_error: "bg-rose-500/15 text-rose-400 border-rose-500/25",
1991
1991
  pending: "bg-muted text-muted-foreground border-border"
1992
1992
  };
1993
- function formatElapsed$2(ms) {
1993
+ function formatElapsed$3(ms) {
1994
1994
  if (ms < 1e3) return `${ms}ms`;
1995
1995
  return `${(ms / 1e3).toFixed(1)}s`;
1996
1996
  }
1997
+ function formatTokenRate$1(tokensPerSecond) {
1998
+ if (tokensPerSecond >= 10) return `${tokensPerSecond.toFixed(0)}/s`;
1999
+ return `${tokensPerSecond.toFixed(1)}/s`;
2000
+ }
1997
2001
  function CacheTrendIndicator({ trend }) {
1998
2002
  if (trend === null) return null;
1999
2003
  const isUp = trend.direction === "up";
@@ -2023,6 +2027,10 @@ const LogEntryHeader = reactExports.memo(function({
2023
2027
  const statusCategory = getStatusCategory(log.responseStatus);
2024
2028
  const isSlowResponse = log.elapsedMs !== null && slowResponseThresholdSeconds > 0 && log.elapsedMs > slowResponseThresholdSeconds * 1e3;
2025
2029
  const hasTokens = log.inputTokens !== null || log.outputTokens !== null;
2030
+ const firstChunkMs = log.firstChunkMs ?? null;
2031
+ const tokensPerSecond = log.tokensPerSecond ?? null;
2032
+ const firstChunkLabel = firstChunkMs === null ? null : formatElapsed$3(firstChunkMs);
2033
+ const tokenRateLabel = tokensPerSecond === null || tokensPerSecond <= 0 ? null : formatTokenRate$1(tokensPerSecond);
2026
2034
  return /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
2027
2035
  "div",
2028
2036
  {
@@ -2081,14 +2089,31 @@ const LogEntryHeader = reactExports.memo(function({
2081
2089
  ),
2082
2090
  children: [
2083
2091
  /* @__PURE__ */ jsxRuntimeExports.jsx(Clock, { className: "size-3" }),
2084
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono tabular-nums", children: formatElapsed$2(log.elapsedMs) }),
2092
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono tabular-nums", children: formatElapsed$3(log.elapsedMs) }),
2085
2093
  isSlowResponse && /* @__PURE__ */ jsxRuntimeExports.jsx(TriangleAlert, { className: "size-3", "aria-label": "Slow response" })
2086
2094
  ]
2087
2095
  }
2088
2096
  ) }),
2089
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: isSlowResponse ? `Slow response: ${formatElapsed$2(log.elapsedMs)} exceeds ${formatElapsed$2(
2097
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: isSlowResponse ? `Slow response: ${formatElapsed$3(log.elapsedMs)} exceeds ${formatElapsed$3(
2090
2098
  slowResponseThresholdSeconds * 1e3
2091
- )}` : "Elapsed response time" })
2099
+ )}` : log.streaming ? "Total streaming response time" : "Elapsed response time" })
2100
+ ] }),
2101
+ log.streaming && firstChunkLabel !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
2102
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex items-center gap-1 text-xs text-cyan-400 shrink-0", children: [
2103
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Radio, { className: "size-3" }),
2104
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "font-mono tabular-nums", children: [
2105
+ "first ",
2106
+ firstChunkLabel
2107
+ ] })
2108
+ ] }) }),
2109
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: "Time to first streaming chunk" })
2110
+ ] }),
2111
+ log.streaming && tokenRateLabel !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
2112
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex items-center gap-1 text-xs text-emerald-400 shrink-0", children: [
2113
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Gauge, { className: "size-3" }),
2114
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono tabular-nums", children: tokenRateLabel })
2115
+ ] }) }),
2116
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: "Output token throughput after first chunk" })
2092
2117
  ] }),
2093
2118
  hasTokens && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex items-center gap-1 text-xs shrink-0", children: [
2094
2119
  /* @__PURE__ */ jsxRuntimeExports.jsx(Zap, { className: "size-3 text-muted-foreground" }),
@@ -4055,7 +4080,7 @@ function buildTraceSummary(logs, slowResponseThresholdSeconds, knowledgeCandidat
4055
4080
  knowledgeCandidateCount
4056
4081
  };
4057
4082
  }
4058
- function formatElapsed$1(ms) {
4083
+ function formatElapsed$2(ms) {
4059
4084
  if (ms < 1e3) return `${ms}ms`;
4060
4085
  return `${(ms / 1e3).toFixed(1)}s`;
4061
4086
  }
@@ -4286,14 +4311,14 @@ const TurnGroup = reactExports.memo(function TurnGroup2({
4286
4311
  ),
4287
4312
  children: [
4288
4313
  /* @__PURE__ */ jsxRuntimeExports.jsx(Clock, { className: "size-3" }),
4289
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono tabular-nums", children: formatElapsed$1(aggregate.maxElapsed) }),
4314
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono tabular-nums", children: formatElapsed$2(aggregate.maxElapsed) }),
4290
4315
  aggregateIsSlow && /* @__PURE__ */ jsxRuntimeExports.jsx(TriangleAlert, { className: "size-3", "aria-label": "Slow response" })
4291
4316
  ]
4292
4317
  }
4293
4318
  ) }),
4294
- /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: aggregateIsSlow ? `Slow response: ${formatElapsed$1(
4319
+ /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: aggregateIsSlow ? `Slow response: ${formatElapsed$2(
4295
4320
  aggregate.maxElapsed
4296
- )} exceeds ${formatElapsed$1(slowResponseThresholdSeconds * 1e3)}` : "Slowest request in this turn" })
4321
+ )} exceeds ${formatElapsed$2(slowResponseThresholdSeconds * 1e3)}` : "Slowest request in this turn" })
4297
4322
  ] }) }),
4298
4323
  aggregate.hasTokens && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex items-center gap-1 shrink-0", children: [
4299
4324
  /* @__PURE__ */ jsxRuntimeExports.jsx(Zap, { className: "size-3 text-muted-foreground" }),
@@ -4376,7 +4401,7 @@ const CANDIDATE_STATUS_CLASSES = {
4376
4401
  promoted: "border-emerald-500/30 bg-emerald-500/10 text-emerald-500",
4377
4402
  failed: "border-destructive/30 bg-destructive/10 text-destructive"
4378
4403
  };
4379
- function formatElapsed(ms) {
4404
+ function formatElapsed$1(ms) {
4380
4405
  if (ms === null) return "-";
4381
4406
  if (ms < 1e3) return `${String(ms)}ms`;
4382
4407
  return `${(ms / 1e3).toFixed(1)}s`;
@@ -4454,7 +4479,7 @@ function buildTraceInsights(input) {
4454
4479
  if (slowest !== null && input.summary.maxElapsedMs !== null) {
4455
4480
  insights.push({
4456
4481
  kind: "slow",
4457
- title: `Slowest ${formatElapsed(input.summary.maxElapsedMs)}`,
4482
+ title: `Slowest ${formatElapsed$1(input.summary.maxElapsedMs)}`,
4458
4483
  detail: `Max latency observed at #${String(slowest.id)}`,
4459
4484
  logId: slowest.id
4460
4485
  });
@@ -5012,10 +5037,10 @@ function AgentTraceSummary({
5012
5037
  ] }),
5013
5038
  showElapsedSummary && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1.5 text-muted-foreground", children: [
5014
5039
  /* @__PURE__ */ jsxRuntimeExports.jsx(Clock, { className: "size-3.5" }),
5015
- showRollupMetrics && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono", children: formatElapsed(summary.totalElapsedMs) }),
5040
+ showRollupMetrics && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono", children: formatElapsed$1(summary.totalElapsedMs) }),
5016
5041
  summary.maxElapsedMs !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "font-mono text-muted-foreground/70", children: [
5017
5042
  "max ",
5018
- formatElapsed(summary.maxElapsedMs)
5043
+ formatElapsed$1(summary.maxElapsedMs)
5019
5044
  ] })
5020
5045
  ] }),
5021
5046
  showRollupMetrics && timeRange !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono text-muted-foreground/70", children: timeRange }),
@@ -5710,6 +5735,14 @@ function formatHeaders(headers) {
5710
5735
  function hasHeaderDetails(headers) {
5711
5736
  return formatHeaders(headers) !== void 0;
5712
5737
  }
5738
+ function formatElapsed(ms) {
5739
+ if (ms < 1e3) return `${ms}ms`;
5740
+ return `${(ms / 1e3).toFixed(1)}s`;
5741
+ }
5742
+ function formatTokenRate(tokensPerSecond) {
5743
+ if (tokensPerSecond >= 10) return `${tokensPerSecond.toFixed(0)}/s`;
5744
+ return `${tokensPerSecond.toFixed(1)}/s`;
5745
+ }
5713
5746
  function hasDiagnosticDetails(result) {
5714
5747
  const debug = result.debug;
5715
5748
  return hasText(result.error?.hint) || hasText(result.error?.details) || hasText(result.rawResponse) || hasText(debug?.requestUrl) || hasText(debug?.requestBody) || hasText(debug?.responseBody) || hasHeaderDetails(debug?.requestHeaders) || hasHeaderDetails(debug?.responseHeaders) || debug?.responseStatus !== void 0;
@@ -5802,6 +5835,7 @@ function TestStatus({ result }) {
5802
5835
  }
5803
5836
  if (result.success) {
5804
5837
  const tokenParts = [];
5838
+ const timingParts = [];
5805
5839
  if (result.inputTokens !== void 0) {
5806
5840
  tokenParts.push(/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
5807
5841
  result.inputTokens,
@@ -5830,11 +5864,34 @@ function TestStatus({ result }) {
5830
5864
  ] }, "cache-read")
5831
5865
  );
5832
5866
  }
5867
+ if (result.firstChunkMs !== void 0 && result.firstChunkMs !== null) {
5868
+ timingParts.push(/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
5869
+ "first ",
5870
+ formatElapsed(result.firstChunkMs)
5871
+ ] }, "first"));
5872
+ }
5873
+ if (result.totalStreamMs !== void 0 && result.totalStreamMs !== null) {
5874
+ timingParts.push(/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
5875
+ "total ",
5876
+ formatElapsed(result.totalStreamMs)
5877
+ ] }, "total"));
5878
+ }
5879
+ if (result.tokensPerSecond !== void 0 && result.tokensPerSecond !== null && result.tokensPerSecond > 0) {
5880
+ timingParts.push(/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { children: [
5881
+ formatTokenRate(result.tokensPerSecond),
5882
+ " tok/s"
5883
+ ] }, "rate"));
5884
+ }
5833
5885
  const displayTokens = [];
5834
5886
  for (let i = 0; i < tokenParts.length; i++) {
5835
5887
  if (i > 0) displayTokens.push(", ");
5836
5888
  displayTokens.push(tokenParts[i]);
5837
5889
  }
5890
+ const displayTiming = [];
5891
+ for (let i = 0; i < timingParts.length; i++) {
5892
+ if (i > 0) displayTiming.push(", ");
5893
+ displayTiming.push(timingParts[i]);
5894
+ }
5838
5895
  return /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
5839
5896
  /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1 text-xs text-green-600 shrink-0", children: [
5840
5897
  /* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheckBig, { className: "size-3" }),
@@ -5843,6 +5900,11 @@ function TestStatus({ result }) {
5843
5900
  "(",
5844
5901
  displayTokens,
5845
5902
  ")"
5903
+ ] }),
5904
+ timingParts.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "hidden text-muted-foreground lg:inline", children: [
5905
+ "(",
5906
+ displayTiming,
5907
+ ")"
5846
5908
  ] })
5847
5909
  ] }) }),
5848
5910
  /* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: "Connection test passed" })
@@ -9783,6 +9845,7 @@ function ProxyViewer({
9783
9845
  /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "size-4 shrink-0 text-muted-foreground/70", "aria-hidden": "true" }),
9784
9846
  /* @__PURE__ */ jsxRuntimeExports.jsx(McpLogo, { className: "size-10 shrink-0" })
9785
9847
  ] }),
9848
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "max-w-[calc(100vw-7rem)] text-sm font-semibold text-muted-foreground", children: "Local First. Evidence First." }),
9786
9849
  /* @__PURE__ */ jsxRuntimeExports.jsx(McpReadyBadge, {})
9787
9850
  ] }),
9788
9851
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "justify-self-end", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SettingsDialog, {}) })
@@ -1,10 +1,10 @@
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 Button, l as TooltipProvider, m as Tooltip, n as TooltipTrigger, o as TooltipContent, p as dispatchLogFocusRequest } from "./ProxyViewerContainer-B62RB9ER.mjs";
3
- import { ResponseView } from "./ResponseView-BX4mxEZ5.mjs";
4
- import { C as CapturedLogSchema } from "./router-DCPg8ykx.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 Button, l as TooltipProvider, m as Tooltip, n as TooltipTrigger, o as TooltipContent, p as dispatchLogFocusRequest } from "./ProxyViewerContainer-BV2nIxXy.mjs";
3
+ import { ResponseView } from "./ResponseView-Bm6Qp8mo.mjs";
4
+ import { C as CapturedLogSchema } from "./router-qgeGUp1k.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "../_libs/modelcontextprotocol__server.mjs";
7
- import { K as RotateCcw, ac as Braces, ad as Minimize2 } from "../_libs/lucide-react.mjs";
7
+ import { N as RotateCcw, ac as Braces, ad as Minimize2 } from "../_libs/lucide-react.mjs";
8
8
  import { d as object, n as number, a as array, c as boolean, b as string } from "../_libs/zod.mjs";
9
9
  import "../_libs/swr.mjs";
10
10
  import "../_libs/use-sync-external-store.mjs";
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, q as analyzeContextIntelligence, f as formatTokens, l as TooltipProvider, c as cn, m as Tooltip, n as TooltipTrigger, o as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, s as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-B62RB9ER.mjs";
3
- import "./router-DCPg8ykx.mjs";
2
+ import { u as useProviders, q as analyzeContextIntelligence, f as formatTokens, l as TooltipProvider, c as cn, m as Tooltip, n as TooltipTrigger, o as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, s as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-BV2nIxXy.mjs";
3
+ import "./router-qgeGUp1k.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { ae as Info, b as ChevronDown, i as ChevronRight } 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, t as getStatusCategory, B as Badge, v as Collapsible, w as CollapsibleTrigger, x as CollapsibleContent, y as ScrollArea, z as JsonViewer, E as safeJsonValue } from "./ProxyViewerContainer-B62RB9ER.mjs";
3
- import "./router-DCPg8ykx.mjs";
2
+ import { g as getLogFormatAdapter, f as formatTokens, c as cn, t as getStatusCategory, B as Badge, v as Collapsible, w as CollapsibleTrigger, x as CollapsibleContent, y as ScrollArea, z as JsonViewer, E as safeJsonValue } from "./ProxyViewerContainer-BV2nIxXy.mjs";
3
+ import "./router-qgeGUp1k.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { Z as Zap, o as TriangleAlert, af as CircleStop, B as Brain, b as ChevronDown, i 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 { l as TooltipProvider, m as Tooltip, n as TooltipTrigger, B as Badge, o as TooltipContent, z as JsonViewer } from "./ProxyViewerContainer-B62RB9ER.mjs";
3
- import "./router-DCPg8ykx.mjs";
2
+ import { l as TooltipProvider, m as Tooltip, n as TooltipTrigger, B as Badge, o as TooltipContent, z as JsonViewer } from "./ProxyViewerContainer-BV2nIxXy.mjs";
3
+ import "./router-qgeGUp1k.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { b as ChevronDown, i as ChevronRight, L as LoaderCircle } from "../_libs/lucide-react.mjs";
@@ -1,6 +1,6 @@
1
- import { P as ProxyViewerContainer } from "./ProxyViewerContainer-B62RB9ER.mjs";
1
+ import { P as ProxyViewerContainer } from "./ProxyViewerContainer-BV2nIxXy.mjs";
2
2
  import "../_libs/react.mjs";
3
- import "./router-DCPg8ykx.mjs";
3
+ import "./router-qgeGUp1k.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-BaoL3JCh.mjs");
201
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-BrfUXnre.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-DCPg8ykx.mjs").then((n) => n.t);
770
+ const routerEntry = await import("./router-qgeGUp1k.mjs").then((n) => n.t);
771
771
  const startEntry = await import("./start-HYkvq4Ni.mjs");
772
772
  return { startEntry, routerEntry };
773
773
  }