@tonyclaw/agent-inspector 3.0.37 → 3.0.38
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.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{CompareDrawer-BvF04FAX.js → CompareDrawer-BXQWabQJ.js} +1 -1
- package/.output/public/assets/{InspectorPet-CSCn4jWU.js → InspectorPet-CpQEXKcr.js} +1 -1
- package/.output/public/assets/{ProxyViewerContainer-9mjL1YlZ.js → ProxyViewerContainer-8pNJsCJ5.js} +15 -15
- package/.output/public/assets/{ReplayDialog-DWJkKTDB.js → ReplayDialog-CnYt4UKE.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-CDFI55pJ.js → RequestAnatomy-BI25al3m.js} +1 -1
- package/.output/public/assets/{ResponseView-tlIj9vRr.js → ResponseView-D3y-I9nb.js} +1 -1
- package/.output/public/assets/{StreamingChunkSequence-C7Ntivbf.js → StreamingChunkSequence-n90dYzPp.js} +1 -1
- package/.output/public/assets/{_sessionId-DUL-l56X.js → _sessionId-CogrNhCS.js} +1 -1
- package/.output/public/assets/{_sessionId-BbrBvkvn.js → _sessionId-DLbOYm3h.js} +1 -1
- package/.output/public/assets/{index-DF6bouqm.js → index-BWWA1Rf6.js} +1 -1
- package/.output/public/assets/{index-CEdulUJ3.js → index-Ca0grOxW.js} +3 -3
- package/.output/public/assets/{index-DCj1X8Qt.css → index-DKwrwHsI.css} +1 -1
- package/.output/public/assets/{index-By0CyDmk.js → index-DXGp27k9.js} +1 -1
- package/.output/public/assets/{index-e-fWO2Du.js → index-I5zN_KrA.js} +1 -1
- package/.output/public/assets/{json-viewer-0fOrL_Cz.js → json-viewer-BoB2BfHg.js} +1 -1
- package/.output/public/assets/{jszip.min-2Bsoez0Q.js → jszip.min-CAXkxQd6.js} +1 -1
- package/.output/server/_libs/lucide-react.mjs +13 -13
- package/.output/server/_libs/radix-ui__react-select.mjs +7 -7
- package/.output/server/{_sessionId-D-GcecKN.mjs → _sessionId-DScqlEFC.mjs} +2 -2
- package/.output/server/{_sessionId-DzY1bB_L.mjs → _sessionId-_hORwhWH.mjs} +1 -1
- package/.output/server/_ssr/{CompareDrawer-BXm8BitS.mjs → CompareDrawer-BtGm5i_L.mjs} +3 -3
- package/.output/server/_ssr/{InspectorPet-CZUOr9sO.mjs → InspectorPet-BnN6lVqM.mjs} +1 -1
- package/.output/server/_ssr/{ProxyViewerContainer-BAQY5x_x.mjs → ProxyViewerContainer-aduEJ_Xy.mjs} +35 -34
- package/.output/server/_ssr/{ReplayDialog-BOODYnLb.mjs → ReplayDialog-BSGZ-TFs.mjs} +4 -4
- package/.output/server/_ssr/{RequestAnatomy-Bd2OBiJP.mjs → RequestAnatomy-DN_eSnDN.mjs} +2 -2
- package/.output/server/_ssr/{ResponseView-ZSjpdHLG.mjs → ResponseView-Dk9Td_HM.mjs} +3 -3
- package/.output/server/_ssr/{StreamingChunkSequence-BT-yQGLL.mjs → StreamingChunkSequence-DthH8Lx4.mjs} +2 -2
- package/.output/server/_ssr/{index-CXouA5fR.mjs → index-CqeZgFFF.mjs} +2 -2
- package/.output/server/_ssr/{index-CSJlUfwz.mjs → index-DvVHL942.mjs} +1 -1
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-DF2oLr4x.mjs → json-viewer-DLKA2jUq.mjs} +3 -3
- package/.output/server/_ssr/{router-75eycvXZ.mjs → router-CRKEDn6n.mjs} +6 -6
- package/.output/server/{_tanstack-start-manifest_v-DjCobDeN.mjs → _tanstack-start-manifest_v-pQO9kTmV.mjs} +1 -1
- package/.output/server/index.mjs +96 -96
- package/package.json +1 -1
- package/src/components/ProxyViewer.tsx +23 -19
package/.output/public/assets/{ProxyViewerContainer-9mjL1YlZ.js → ProxyViewerContainer-8pNJsCJ5.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jszip.min-
|
|
2
|
-
import{u as Ut,a as Xd,r as c,j as s,_ as Kt,b as Sg,c as Ri,p as _g,T as Ng,n as Cg,d as Tg,e as Eg,f as Mi,U as Rg,g as Qd,h as Vo,i as As,k as $,B as ee,l as Gn,m as ep,o as Me,q as tp,s as It,t as Mg,L as po,v as np,w as Ig,x as fo,C as sp,y as Pg}from"./index-CEdulUJ3.js";var Mc;function O(e,t,n){function r(l,u){if(l._zod||Object.defineProperty(l,"_zod",{value:{def:u,constr:a,traits:new Set},enumerable:!1}),l._zod.traits.has(e))return;l._zod.traits.add(e),t(l,u);const d=a.prototype,p=Object.keys(d);for(let f=0;f<p.length;f++){const m=p[f];m in l||(l[m]=d[m].bind(l))}}const o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function a(l){var u;const d=n?.Parent?new i:this;r(d,l),(u=d._zod).deferred??(u.deferred=[]);for(const p of d._zod.deferred)p();return d}return Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:l=>n?.Parent&&l instanceof n.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}class xs extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class rp extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(Mc=globalThis).__zod_globalConfig??(Mc.__zod_globalConfig={});const pl=globalThis.__zod_globalConfig;function rn(e){return pl}function op(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function wa(e,t){return typeof t=="bigint"?t.toString():t}function Wo(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function fl(e){return e==null}function ml(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Ag(e,t){const n=e/t,r=Math.round(n),o=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-r)<o?0:n-r}const Ic=Symbol("evaluating");function Ne(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ic)return r===void 0&&(r=Ic,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Jn(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function _n(...e){const t={};for(const n of e){const r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function Pc(e){return JSON.stringify(e)}function Og(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const ip="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function er(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const zg=Wo(()=>{if(pl.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Ss(e){if(er(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(er(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function ap(e){return Ss(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Lg=new Set(["string","number","symbol"]);function _s(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Nn(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function re(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function $g(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Dg={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Fg(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i=_n(e._zod.def,{get shape(){const a={};for(const l in t){if(!(l in n.shape))throw new Error(`Unrecognized key: "${l}"`);t[l]&&(a[l]=n.shape[l])}return Jn(this,"shape",a),a},checks:[]});return Nn(e,i)}function Ug(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=_n(e._zod.def,{get shape(){const a={...e._zod.def.shape};for(const l in t){if(!(l in n.shape))throw new Error(`Unrecognized key: "${l}"`);t[l]&&delete a[l]}return Jn(this,"shape",a),a},checks:[]});return Nn(e,i)}function Bg(e,t){if(!Ss(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const i=e._zod.def.shape;for(const a in t)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=_n(e._zod.def,{get shape(){const i={...e._zod.def.shape,...t};return Jn(this,"shape",i),i}});return Nn(e,o)}function qg(e,t){if(!Ss(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=_n(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return Jn(this,"shape",r),r}});return Nn(e,n)}function Hg(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const n=_n(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t._zod.def.shape};return Jn(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Nn(e,n)}function Vg(e,t,n){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const a=_n(t._zod.def,{get shape(){const l=t._zod.def.shape,u={...l};if(n)for(const d in n){if(!(d in l))throw new Error(`Unrecognized key: "${d}"`);n[d]&&(u[d]=e?new e({type:"optional",innerType:l[d]}):l[d])}else for(const d in l)u[d]=e?new e({type:"optional",innerType:l[d]}):l[d];return Jn(this,"shape",u),u},checks:[]});return Nn(t,a)}function Wg(e,t,n){const r=_n(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(n)for(const a in n){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(i[a]=new e({type:"nonoptional",innerType:o[a]}))}else for(const a in o)i[a]=new e({type:"nonoptional",innerType:o[a]});return Jn(this,"shape",i),i}});return Nn(t,r)}function ms(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Zg(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function hs(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Cr(e){return typeof e=="string"?e:e?.message}function on(e,t,n){const r=e.message?e.message:Cr(e.inst?._zod.def?.error?.(e))??Cr(t?.error?.(e))??Cr(n.customError?.(e))??Cr(n.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:a,...l}=e;return l.path??(l.path=[]),l.message=r,t?.reportInput&&(l.input=a),l}function hl(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function tr(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}const lp=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,wa,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},cp=O("$ZodError",lp),up=O("$ZodError",lp,{Parent:Error});function Kg(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function Gg(e,t=n=>n.message){const n={_errors:[]},r=(o,i=[])=>{for(const a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(l=>r({issues:l},[...i,...a.path]));else if(a.code==="invalid_key")r({issues:a.issues},[...i,...a.path]);else if(a.code==="invalid_element")r({issues:a.issues},[...i,...a.path]);else{const l=[...i,...a.path];if(l.length===0)n._errors.push(t(a));else{let u=n,d=0;for(;d<l.length;){const p=l[d];d===l.length-1?(u[p]=u[p]||{_errors:[]},u[p]._errors.push(t(a))):u[p]=u[p]||{_errors:[]},u=u[p],d++}}}};return r(e),n}const gl=e=>(t,n,r,o)=>{const i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new xs;if(a.issues.length){const l=new(o?.Err??e)(a.issues.map(u=>on(u,i,rn())));throw ip(l,o?.callee),l}return a.value},xl=e=>async(t,n,r,o)=>{const i=r?{...r,async:!0}:{async:!0};let a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const l=new(o?.Err??e)(a.issues.map(u=>on(u,i,rn())));throw ip(l,o?.callee),l}return a.value},Zo=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new xs;return i.issues.length?{success:!1,error:new(e??cp)(i.issues.map(a=>on(a,o,rn())))}:{success:!0,data:i.value}},Jg=Zo(up),Ko=e=>async(t,n,r)=>{const o=r?{...r,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>on(a,o,rn())))}:{success:!0,data:i.value}},Yg=Ko(up),Xg=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return gl(e)(t,n,o)},Qg=e=>(t,n,r)=>gl(e)(t,n,r),ex=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return xl(e)(t,n,o)},tx=e=>async(t,n,r)=>xl(e)(t,n,r),nx=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Zo(e)(t,n,o)},sx=e=>(t,n,r)=>Zo(e)(t,n,r),rx=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Ko(e)(t,n,o)},ox=e=>async(t,n,r)=>Ko(e)(t,n,r),ix=/^[cC][0-9a-z]{6,}$/,ax=/^[0-9a-z]+$/,lx=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,cx=/^[0-9a-vA-V]{20}$/,ux=/^[A-Za-z0-9]{27}$/,dx=/^[a-zA-Z0-9_-]{21}$/,px=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,fx=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ac=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,mx=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,hx="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function gx(){return new RegExp(hx,"u")}const xx=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,bx=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,vx=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,yx=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wx=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,dp=/^[A-Za-z0-9_-]*$/,jx=/^https?$/,kx=/^\+[1-9]\d{6,14}$/,pp="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Sx=new RegExp(`^${pp}$`);function fp(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function _x(e){return new RegExp(`^${fp(e)}$`)}function Nx(e){const t=fp({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${pp}T(?:${r})$`)}const Cx=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Tx=/^-?\d+$/,mp=/^-?\d+(?:\.\d+)?$/,Ex=/^(?:true|false)$/i,Rx=/^null$/i,Mx=/^[^A-Z]*$/,Ix=/^[^a-z]*$/,ut=O("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),hp={number:"number",bigint:"bigint",object:"date"},gp=O("$ZodCheckLessThan",(e,t)=>{ut.init(e,t);const n=hp[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),xp=O("$ZodCheckGreaterThan",(e,t)=>{ut.init(e,t);const n=hp[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Px=O("$ZodCheckMultipleOf",(e,t)=>{ut.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):Ag(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ax=O("$ZodCheckNumberFormat",(e,t)=>{ut.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Dg[t.format];e._zod.onattach.push(a=>{const l=a._zod.bag;l.format=t.format,l.minimum=o,l.maximum=i,n&&(l.pattern=Tx)}),e._zod.check=a=>{const l=a.value;if(n){if(!Number.isInteger(l)){a.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?a.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):a.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}l<o&&a.issues.push({origin:"number",input:l,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),l>i&&a.issues.push({origin:"number",input:l,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Ox=O("$ZodCheckMaxLength",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!fl(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const a=hl(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),zx=O("$ZodCheckMinLength",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!fl(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const a=hl(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Lx=O("$ZodCheckLengthEquals",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!fl(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,i=o.length;if(i===t.length)return;const a=hl(o),l=i>t.length;r.issues.push({origin:a,...l?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Go=O("$ZodCheckStringFormat",(e,t)=>{var n,r;ut.init(e,t),e._zod.onattach.push(o=>{const i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),$x=O("$ZodCheckRegex",(e,t)=>{Go.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Dx=O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Mx),Go.init(e,t)}),Fx=O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ix),Go.init(e,t)}),Ux=O("$ZodCheckIncludes",(e,t)=>{ut.init(e,t);const n=_s(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Bx=O("$ZodCheckStartsWith",(e,t)=>{ut.init(e,t);const n=new RegExp(`^${_s(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),qx=O("$ZodCheckEndsWith",(e,t)=>{ut.init(e,t);const n=new RegExp(`.*${_s(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),Hx=O("$ZodCheckOverwrite",(e,t)=>{ut.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class Vx{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jszip.min-CAXkxQd6.js","assets/index-Ca0grOxW.js","assets/CompareDrawer-BXQWabQJ.js","assets/InspectorPet-CpQEXKcr.js","assets/ReplayDialog-CnYt4UKE.js","assets/ResponseView-D3y-I9nb.js","assets/RequestAnatomy-BI25al3m.js","assets/StreamingChunkSequence-n90dYzPp.js","assets/json-viewer-BoB2BfHg.js","assets/index-BWWA1Rf6.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{u as Ut,a as Xd,r as c,j as s,_ as Kt,b as Sx,c as Ri,p as _x,T as Nx,n as Cx,d as Tx,e as Ex,f as Mi,U as Rx,g as Qd,h as Vo,i as As,k as $,B as ee,l as Gn,m as ep,o as Me,q as tp,s as It,t as Mx,L as po,v as np,w as Ix,x as fo,C as sp,y as Px}from"./index-Ca0grOxW.js";var Mc;function O(e,t,n){function r(l,u){if(l._zod||Object.defineProperty(l,"_zod",{value:{def:u,constr:a,traits:new Set},enumerable:!1}),l._zod.traits.has(e))return;l._zod.traits.add(e),t(l,u);const d=a.prototype,p=Object.keys(d);for(let f=0;f<p.length;f++){const m=p[f];m in l||(l[m]=d[m].bind(l))}}const o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function a(l){var u;const d=n?.Parent?new i:this;r(d,l),(u=d._zod).deferred??(u.deferred=[]);for(const p of d._zod.deferred)p();return d}return Object.defineProperty(a,"init",{value:r}),Object.defineProperty(a,Symbol.hasInstance,{value:l=>n?.Parent&&l instanceof n.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}class gs extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class rp extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(Mc=globalThis).__zod_globalConfig??(Mc.__zod_globalConfig={});const pl=globalThis.__zod_globalConfig;function rn(e){return pl}function op(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function wa(e,t){return typeof t=="bigint"?t.toString():t}function Wo(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function fl(e){return e==null}function ml(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Ax(e,t){const n=e/t,r=Math.round(n),o=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-r)<o?0:n-r}const Ic=Symbol("evaluating");function Ne(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ic)return r===void 0&&(r=Ic,r=n()),r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Jn(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function _n(...e){const t={};for(const n of e){const r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function Pc(e){return JSON.stringify(e)}function Ox(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const ip="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function er(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const zx=Wo(()=>{if(pl.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Ss(e){if(er(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(er(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function ap(e){return Ss(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Lx=new Set(["string","number","symbol"]);function _s(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Nn(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function re(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function $x(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Dx={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Fx(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i=_n(e._zod.def,{get shape(){const a={};for(const l in t){if(!(l in n.shape))throw new Error(`Unrecognized key: "${l}"`);t[l]&&(a[l]=n.shape[l])}return Jn(this,"shape",a),a},checks:[]});return Nn(e,i)}function Ux(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=_n(e._zod.def,{get shape(){const a={...e._zod.def.shape};for(const l in t){if(!(l in n.shape))throw new Error(`Unrecognized key: "${l}"`);t[l]&&delete a[l]}return Jn(this,"shape",a),a},checks:[]});return Nn(e,i)}function Bx(e,t){if(!Ss(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const i=e._zod.def.shape;for(const a in t)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=_n(e._zod.def,{get shape(){const i={...e._zod.def.shape,...t};return Jn(this,"shape",i),i}});return Nn(e,o)}function qx(e,t){if(!Ss(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=_n(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return Jn(this,"shape",r),r}});return Nn(e,n)}function Hx(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const n=_n(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t._zod.def.shape};return Jn(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Nn(e,n)}function Vx(e,t,n){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const a=_n(t._zod.def,{get shape(){const l=t._zod.def.shape,u={...l};if(n)for(const d in n){if(!(d in l))throw new Error(`Unrecognized key: "${d}"`);n[d]&&(u[d]=e?new e({type:"optional",innerType:l[d]}):l[d])}else for(const d in l)u[d]=e?new e({type:"optional",innerType:l[d]}):l[d];return Jn(this,"shape",u),u},checks:[]});return Nn(t,a)}function Wx(e,t,n){const r=_n(t._zod.def,{get shape(){const o=t._zod.def.shape,i={...o};if(n)for(const a in n){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(i[a]=new e({type:"nonoptional",innerType:o[a]}))}else for(const a in o)i[a]=new e({type:"nonoptional",innerType:o[a]});return Jn(this,"shape",i),i}});return Nn(t,r)}function ms(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Zx(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function hs(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Cr(e){return typeof e=="string"?e:e?.message}function on(e,t,n){const r=e.message?e.message:Cr(e.inst?._zod.def?.error?.(e))??Cr(t?.error?.(e))??Cr(n.customError?.(e))??Cr(n.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:a,...l}=e;return l.path??(l.path=[]),l.message=r,t?.reportInput&&(l.input=a),l}function hl(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function tr(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}const lp=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,wa,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},cp=O("$ZodError",lp),up=O("$ZodError",lp,{Parent:Error});function Kx(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function Gx(e,t=n=>n.message){const n={_errors:[]},r=(o,i=[])=>{for(const a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(l=>r({issues:l},[...i,...a.path]));else if(a.code==="invalid_key")r({issues:a.issues},[...i,...a.path]);else if(a.code==="invalid_element")r({issues:a.issues},[...i,...a.path]);else{const l=[...i,...a.path];if(l.length===0)n._errors.push(t(a));else{let u=n,d=0;for(;d<l.length;){const p=l[d];d===l.length-1?(u[p]=u[p]||{_errors:[]},u[p]._errors.push(t(a))):u[p]=u[p]||{_errors:[]},u=u[p],d++}}}};return r(e),n}const xl=e=>(t,n,r,o)=>{const i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new gs;if(a.issues.length){const l=new(o?.Err??e)(a.issues.map(u=>on(u,i,rn())));throw ip(l,o?.callee),l}return a.value},gl=e=>async(t,n,r,o)=>{const i=r?{...r,async:!0}:{async:!0};let a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const l=new(o?.Err??e)(a.issues.map(u=>on(u,i,rn())));throw ip(l,o?.callee),l}return a.value},Zo=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new gs;return i.issues.length?{success:!1,error:new(e??cp)(i.issues.map(a=>on(a,o,rn())))}:{success:!0,data:i.value}},Jx=Zo(up),Ko=e=>async(t,n,r)=>{const o=r?{...r,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>on(a,o,rn())))}:{success:!0,data:i.value}},Yx=Ko(up),Xx=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return xl(e)(t,n,o)},Qx=e=>(t,n,r)=>xl(e)(t,n,r),eg=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return gl(e)(t,n,o)},tg=e=>async(t,n,r)=>gl(e)(t,n,r),ng=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Zo(e)(t,n,o)},sg=e=>(t,n,r)=>Zo(e)(t,n,r),rg=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return Ko(e)(t,n,o)},og=e=>async(t,n,r)=>Ko(e)(t,n,r),ig=/^[cC][0-9a-z]{6,}$/,ag=/^[0-9a-z]+$/,lg=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,cg=/^[0-9a-vA-V]{20}$/,ug=/^[A-Za-z0-9]{27}$/,dg=/^[a-zA-Z0-9_-]{21}$/,pg=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,fg=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ac=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,mg=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,hg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function xg(){return new RegExp(hg,"u")}const gg=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,bg=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,vg=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,yg=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wg=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,dp=/^[A-Za-z0-9_-]*$/,jg=/^https?$/,kg=/^\+[1-9]\d{6,14}$/,pp="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Sg=new RegExp(`^${pp}$`);function fp(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function _g(e){return new RegExp(`^${fp(e)}$`)}function Ng(e){const t=fp({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${pp}T(?:${r})$`)}const Cg=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Tg=/^-?\d+$/,mp=/^-?\d+(?:\.\d+)?$/,Eg=/^(?:true|false)$/i,Rg=/^null$/i,Mg=/^[^A-Z]*$/,Ig=/^[^a-z]*$/,ut=O("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),hp={number:"number",bigint:"bigint",object:"date"},xp=O("$ZodCheckLessThan",(e,t)=>{ut.init(e,t);const n=hp[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),gp=O("$ZodCheckGreaterThan",(e,t)=>{ut.init(e,t);const n=hp[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Pg=O("$ZodCheckMultipleOf",(e,t)=>{ut.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):Ax(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ag=O("$ZodCheckNumberFormat",(e,t)=>{ut.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Dx[t.format];e._zod.onattach.push(a=>{const l=a._zod.bag;l.format=t.format,l.minimum=o,l.maximum=i,n&&(l.pattern=Tg)}),e._zod.check=a=>{const l=a.value;if(n){if(!Number.isInteger(l)){a.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?a.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):a.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}l<o&&a.issues.push({origin:"number",input:l,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),l>i&&a.issues.push({origin:"number",input:l,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Og=O("$ZodCheckMaxLength",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!fl(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value;if(o.length<=t.maximum)return;const a=hl(o);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),zg=O("$ZodCheckMinLength",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!fl(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value;if(o.length>=t.minimum)return;const a=hl(o);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Lg=O("$ZodCheckLengthEquals",(e,t)=>{var n;ut.init(e,t),(n=e._zod.def).when??(n.when=r=>{const o=r.value;return!fl(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,i=o.length;if(i===t.length)return;const a=hl(o),l=i>t.length;r.issues.push({origin:a,...l?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Go=O("$ZodCheckStringFormat",(e,t)=>{var n,r;ut.init(e,t),e._zod.onattach.push(o=>{const i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),$g=O("$ZodCheckRegex",(e,t)=>{Go.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Dg=O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Mg),Go.init(e,t)}),Fg=O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ig),Go.init(e,t)}),Ug=O("$ZodCheckIncludes",(e,t)=>{ut.init(e,t);const n=_s(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Bg=O("$ZodCheckStartsWith",(e,t)=>{ut.init(e,t);const n=new RegExp(`^${_s(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),qg=O("$ZodCheckEndsWith",(e,t)=>{ut.init(e,t);const n=new RegExp(`.*${_s(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),Hg=O("$ZodCheckOverwrite",(e,t)=>{ut.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class Vg{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
3
3
|
`).filter(a=>a),o=Math.min(...r.map(a=>a.length-a.trimStart().length)),i=r.map(a=>a.slice(o)).map(a=>" ".repeat(this.indent*2)+a);for(const a of i)this.content.push(a)}compile(){const t=Function,n=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...n,o.join(`
|
|
4
|
-
`))}}const
|
|
4
|
+
`))}}const Wg={major:4,minor:4,patch:3},ze=O("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Wg;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const o of r)for(const i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const o=(a,l,u)=>{let d=ms(a),p;for(const f of l){if(f._zod.def.when){if(Zx(a)||!f._zod.def.when(a))continue}else if(d)continue;const m=a.issues.length,h=f._zod.check(a);if(h instanceof Promise&&u?.async===!1)throw new gs;if(p||h instanceof Promise)p=(p??Promise.resolve()).then(async()=>{await h,a.issues.length!==m&&(d||(d=ms(a,m)))});else{if(a.issues.length===m)continue;d||(d=ms(a,m))}}return p?p.then(()=>a):a},i=(a,l,u)=>{if(ms(a))return a.aborted=!0,a;const d=o(l,r,u);if(d instanceof Promise){if(u.async===!1)throw new gs;return d.then(p=>e._zod.parse(p,u))}return e._zod.parse(d,u)};e._zod.run=(a,l)=>{if(l.skipChecks)return e._zod.parse(a,l);if(l.direction==="backward"){const d=e._zod.parse({value:a.value,issues:[]},{...l,skipChecks:!0});return d instanceof Promise?d.then(p=>i(p,a,l)):i(d,a,l)}const u=e._zod.parse(a,l);if(u instanceof Promise){if(l.async===!1)throw new gs;return u.then(d=>o(d,r,l))}return o(u,r,l)}}Ne(e,"~standard",()=>({validate:o=>{try{const i=Jx(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Yx(e,o).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),bl=O("$ZodString",(e,t)=>{ze.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Cg(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),$e=O("$ZodStringFormat",(e,t)=>{Go.init(e,t),bl.init(e,t)}),Zg=O("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=fg),$e.init(e,t)}),Kg=O("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ac(r))}else t.pattern??(t.pattern=Ac());$e.init(e,t)}),Gg=O("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=mg),$e.init(e,t)}),Jg=O("$ZodURL",(e,t)=>{$e.init(e,t),e._zod.check=n=>{try{const r=n.value.trim();if(!t.normalize&&t.protocol?.source===jg.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}const o=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=o.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Yg=O("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=xg()),$e.init(e,t)}),Xg=O("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=dg),$e.init(e,t)}),Qg=O("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ig),$e.init(e,t)}),e1=O("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ag),$e.init(e,t)}),t1=O("$ZodULID",(e,t)=>{t.pattern??(t.pattern=lg),$e.init(e,t)}),n1=O("$ZodXID",(e,t)=>{t.pattern??(t.pattern=cg),$e.init(e,t)}),s1=O("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ug),$e.init(e,t)}),r1=O("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ng(t)),$e.init(e,t)}),o1=O("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Sg),$e.init(e,t)}),i1=O("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=_g(t)),$e.init(e,t)}),a1=O("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=pg),$e.init(e,t)}),l1=O("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=gg),$e.init(e,t),e._zod.bag.format="ipv4"}),c1=O("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=bg),$e.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),u1=O("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=vg),$e.init(e,t)}),d1=O("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=yg),$e.init(e,t),e._zod.check=n=>{const r=n.value.split("/");try{if(r.length!==2)throw new Error;const[o,i]=r;if(!i)throw new Error;const a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function bp(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const p1=O("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=wg),$e.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{bp(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function f1(e){if(!dp.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return bp(n)}const m1=O("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=dp),$e.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{f1(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),h1=O("$ZodE164",(e,t)=>{t.pattern??(t.pattern=kg),$e.init(e,t)});function x1(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const g1=O("$ZodJWT",(e,t)=>{$e.init(e,t),e._zod.check=n=>{x1(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),vp=O("$ZodNumber",(e,t)=>{ze.init(e,t),e._zod.pattern=e._zod.bag.pattern??mp,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;const i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),b1=O("$ZodNumberFormat",(e,t)=>{Ag.init(e,t),vp.init(e,t)}),v1=O("$ZodBoolean",(e,t)=>{ze.init(e,t),e._zod.pattern=Eg,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),y1=O("$ZodNull",(e,t)=>{ze.init(e,t),e._zod.pattern=Rg,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{const o=n.value;return o===null||n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),w1=O("$ZodUnknown",(e,t)=>{ze.init(e,t),e._zod.parse=n=>n}),j1=O("$ZodNever",(e,t)=>{ze.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Oc(e,t,n){e.issues.length&&t.issues.push(...hs(n,e.issues)),t.value[n]=e.value}const k1=O("$ZodArray",(e,t)=>{ze.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);const i=[];for(let a=0;a<o.length;a++){const l=o[a],u=t.element._zod.run({value:l,issues:[]},r);u instanceof Promise?i.push(u.then(d=>Oc(d,n,a))):Oc(u,n,a)}return i.length?Promise.all(i).then(()=>n):n}});function mo(e,t,n,r,o,i){const a=n in r;if(e.issues.length){if(o&&i&&!a)return;t.issues.push(...hs(n,e.issues))}if(!a&&!o){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?a&&(t.value[n]=void 0):t.value[n]=e.value}function yp(e){const t=Object.keys(e.shape);for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const n=$x(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function wp(e,t,n,r,o,i){const a=[],l=o.keySet,u=o.catchall._zod,d=u.def.type,p=u.optin==="optional",f=u.optout==="optional";for(const m in t){if(m==="__proto__"||l.has(m))continue;if(d==="never"){a.push(m);continue}const h=u.run({value:t[m],issues:[]},r);h instanceof Promise?e.push(h.then(x=>mo(x,n,m,t,p,f))):mo(h,n,m,t,p,f)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>n):n}const S1=O("$ZodObject",(e,t)=>{if(ze.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const l=t.shape;Object.defineProperty(t,"shape",{get:()=>{const u={...l};return Object.defineProperty(t,"shape",{value:u}),u}})}const r=Wo(()=>yp(t));Ne(e._zod,"propValues",()=>{const l=t.shape,u={};for(const d in l){const p=l[d]._zod;if(p.values){u[d]??(u[d]=new Set);for(const f of p.values)u[d].add(f)}}return u});const o=er,i=t.catchall;let a;e._zod.parse=(l,u)=>{a??(a=r.value);const d=l.value;if(!o(d))return l.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),l;l.value={};const p=[],f=a.shape;for(const m of a.keys){const h=f[m],x=h._zod.optin==="optional",v=h._zod.optout==="optional",b=h._zod.run({value:d[m],issues:[]},u);b instanceof Promise?p.push(b.then(w=>mo(w,l,m,d,x,v))):mo(b,l,m,d,x,v)}return i?wp(p,d,l,u,r.value,e):p.length?Promise.all(p).then(()=>l):l}}),_1=O("$ZodObjectJIT",(e,t)=>{S1.init(e,t);const n=e._zod.parse,r=Wo(()=>yp(t)),o=m=>{const h=new Vg(["shape","payload","ctx"]),x=r.value,v=j=>{const k=Pc(j);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};h.write("const input = payload.value;");const b=Object.create(null);let w=0;for(const j of x.keys)b[j]=`key_${w++}`;h.write("const newResult = {};");for(const j of x.keys){const k=b[j],S=Pc(j),_=m[j],N=_?._zod?.optin==="optional",P=_?._zod?.optout==="optional";h.write(`const ${k} = ${v(j)};`),N&&P?h.write(`
|
|
5
5
|
if (${k}.issues.length) {
|
|
6
6
|
if (${S} in input) {
|
|
7
7
|
payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
|
|
@@ -60,9 +60,9 @@ import{u as Ut,a as Xd,r as c,j as s,_ as Kt,b as Sg,c as Ri,p as _g,T as Ng,n a
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
`)}h.write("payload.value = newResult;"),h.write("return payload;");const y=h.compile();return(j,k)=>y(m,j,k)};let i;const a=er,l=!pl.jitless,d=l&&zg.value,p=t.catchall;let f;e._zod.parse=(m,h)=>{f??(f=r.value);const g=m.value;return a(g)?l&&d&&h?.async===!1&&h.jitless!==!0?(i||(i=o(t.shape)),m=i(m,h),p?wp([],g,m,h,f,e):m):n(m,h):(m.issues.push({expected:"object",code:"invalid_type",input:g,inst:e}),m)}});function zc(e,t,n,r){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!ms(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(i=>i.issues.map(a=>on(a,r,rn())))}),t)}const jp=O("$ZodUnion",(e,t)=>{ze.init(e,t),Ne(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),Ne(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),Ne(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),Ne(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){const r=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${r.map(o=>ml(o.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let i=!1;const a=[];for(const l of t.options){const u=l._zod.run({value:r.value,issues:[]},o);if(u instanceof Promise)a.push(u),i=!0;else{if(u.issues.length===0)return u;a.push(u)}}return i?Promise.all(a).then(l=>zc(l,r,e,o)):zc(a,r,e,o)}}),N1=O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,jp.init(e,t);const n=e._zod.parse;Ne(e._zod,"propValues",()=>{const o={};for(const i of t.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const[l,u]of Object.entries(a)){o[l]||(o[l]=new Set);for(const d of u)o[l].add(d)}}return o});const r=Wo(()=>{const o=t.options,i=new Map;for(const a of o){const l=a._zod.propValues?.[t.discriminator];if(!l||l.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const u of l){if(i.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);i.set(u,a)}}return i});e._zod.parse=(o,i)=>{const a=o.value;if(!er(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),o;const l=r.value.get(a?.[t.discriminator]);return l?l._zod.run(o,i):t.unionFallback||i.direction==="backward"?n(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()),input:a,path:[t.discriminator],inst:e}),o)}}),C1=O("$ZodIntersection",(e,t)=>{ze.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,i=t.left._zod.run({value:o,issues:[]},r),a=t.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([u,d])=>Lc(n,u,d)):Lc(n,i,a)}});function ja(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ss(e)&&Ss(t)){const n=Object.keys(t),r=Object.keys(e).filter(i=>n.indexOf(i)!==-1),o={...e,...t};for(const i of r){const a=ja(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],i=t[r],a=ja(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[r,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Lc(e,t,n){const r=new Map;let o;for(const l of t.issues)if(l.code==="unrecognized_keys"){o??(o=l);for(const u of l.keys)r.has(u)||r.set(u,{}),r.get(u).l=!0}else e.issues.push(l);for(const l of n.issues)if(l.code==="unrecognized_keys")for(const u of l.keys)r.has(u)||r.set(u,{}),r.get(u).r=!0;else e.issues.push(l);const i=[...r].filter(([,l])=>l.l&&l.r).map(([l])=>l);if(i.length&&o&&e.issues.push({...o,keys:i}),ms(e))return e;const a=ja(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}const T1=O("$ZodRecord",(e,t)=>{ze.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Ss(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const i=[],a=t.keyType._zod.values;if(a){n.value={};const l=new Set;for(const d of a)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){l.add(typeof d=="number"?d.toString():d);const p=t.keyType._zod.run({value:d,issues:[]},r);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(p.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:p.issues.map(h=>on(h,r,rn())),input:d,path:[d],inst:e});continue}const f=p.value,m=t.valueType._zod.run({value:o[d],issues:[]},r);m instanceof Promise?i.push(m.then(h=>{h.issues.length&&n.issues.push(...hs(d,h.issues)),n.value[f]=h.value})):(m.issues.length&&n.issues.push(...hs(d,m.issues)),n.value[f]=m.value)}let u;for(const d in o)l.has(d)||(u=u??[],u.push(d));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:u})}else{n.value={};for(const l of Reflect.ownKeys(o)){if(l==="__proto__"||!Object.prototype.propertyIsEnumerable.call(o,l))continue;let u=t.keyType._zod.run({value:l,issues:[]},r);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof l=="string"&&mp.test(l)&&u.issues.length){const f=t.keyType._zod.run({value:Number(l),issues:[]},r);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(u=f)}if(u.issues.length){t.mode==="loose"?n.value[l]=o[l]:n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(f=>on(f,r,rn())),input:l,path:[l],inst:e});continue}const p=t.valueType._zod.run({value:o[l],issues:[]},r);p instanceof Promise?i.push(p.then(f=>{f.issues.length&&n.issues.push(...hs(l,f.issues)),n.value[u.value]=f.value})):(p.issues.length&&n.issues.push(...hs(l,p.issues)),n.value[u.value]=p.value)}}return i.length?Promise.all(i).then(()=>n):n}}),E1=O("$ZodEnum",(e,t)=>{ze.init(e,t);const n=op(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>Lg.has(typeof o)).map(o=>typeof o=="string"?_s(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{const a=o.value;return r.has(a)||o.issues.push({code:"invalid_value",values:n,input:a,inst:e}),o}}),R1=O("$ZodLiteral",(e,t)=>{if(ze.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?_s(r):r?_s(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{const i=r.value;return n.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),M1=O("$ZodTransform",(e,t)=>{ze.init(e,t),e._zod.optin="optional",e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new rp(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(a=>(n.value=a,n.fallback=!0,n));if(o instanceof Promise)throw new xs;return n.value=o,n.fallback=!0,n}});function $c(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const kp=O("$ZodOptional",(e,t)=>{ze.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ne(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ne(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${ml(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const o=n.value,i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(a=>$c(a,o)):$c(i,o)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),I1=O("$ZodExactOptional",(e,t)=>{kp.init(e,t),Ne(e._zod,"values",()=>t.innerType._zod.values),Ne(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),P1=O("$ZodNullable",(e,t)=>{ze.init(e,t),Ne(e._zod,"optin",()=>t.innerType._zod.optin),Ne(e._zod,"optout",()=>t.innerType._zod.optout),Ne(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${ml(n.source)}|null)$`):void 0}),Ne(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),A1=O("$ZodDefault",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>Dc(i,t)):Dc(o,t)}});function Dc(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const O1=O("$ZodPrefault",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),z1=O("$ZodNonOptional",(e,t)=>{ze.init(e,t),Ne(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>Fc(i,e)):Fc(o,e)}});function Fc(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const L1=O("$ZodCatch",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Ne(e._zod,"optout",()=>t.innerType._zod.optout),Ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>(n.value=i.value,i.issues.length&&(n.value=t.catchValue({...n,error:{issues:i.issues.map(a=>on(a,r,rn()))},input:n.value}),n.issues=[],n.fallback=!0),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(i=>on(i,r,rn()))},input:n.value}),n.issues=[],n.fallback=!0),n)}}),$1=O("$ZodPipe",(e,t)=>{ze.init(e,t),Ne(e._zod,"values",()=>t.in._zod.values),Ne(e._zod,"optin",()=>t.in._zod.optin),Ne(e._zod,"optout",()=>t.out._zod.optout),Ne(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const i=t.out._zod.run(n,r);return i instanceof Promise?i.then(a=>Tr(a,t.in,r)):Tr(i,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(i=>Tr(i,t.out,r)):Tr(o,t.out,r)}});function Tr(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}const D1=O("$ZodReadonly",(e,t)=>{ze.init(e,t),Ne(e._zod,"propValues",()=>t.innerType._zod.propValues),Ne(e._zod,"values",()=>t.innerType._zod.values),Ne(e._zod,"optin",()=>t.innerType?._zod?.optin),Ne(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(Uc):Uc(o)}});function Uc(e){return e.value=Object.freeze(e.value),e}const F1=O("$ZodLazy",(e,t)=>{ze.init(e,t),Ne(e._zod,"innerType",()=>{const n=t;return n._cachedInner||(n._cachedInner=t.getter()),n._cachedInner}),Ne(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),Ne(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),Ne(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),Ne(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),U1=O("$ZodCustom",(e,t)=>{ut.init(e,t),ze.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(i=>Bc(i,n,r,e));Bc(o,n,r,e)}});function Bc(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(tr(o))}}var qc;class B1{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function q1(){return new B1}(qc=globalThis).__zod_globalRegistry??(qc.__zod_globalRegistry=q1());const Zs=globalThis.__zod_globalRegistry;function H1(e,t){return new e({type:"string",...re(t)})}function V1(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...re(t)})}function Hc(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...re(t)})}function W1(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...re(t)})}function Z1(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...re(t)})}function K1(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...re(t)})}function G1(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...re(t)})}function J1(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...re(t)})}function Y1(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...re(t)})}function X1(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...re(t)})}function Q1(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...re(t)})}function eb(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...re(t)})}function tb(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...re(t)})}function nb(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...re(t)})}function sb(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...re(t)})}function rb(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...re(t)})}function ob(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...re(t)})}function ib(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...re(t)})}function ab(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...re(t)})}function lb(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...re(t)})}function cb(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...re(t)})}function ub(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...re(t)})}function db(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...re(t)})}function pb(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...re(t)})}function fb(e,t){return new e({type:"string",format:"date",check:"string_format",...re(t)})}function mb(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...re(t)})}function hb(e,t){return new e({type:"string",format:"duration",check:"string_format",...re(t)})}function gb(e,t){return new e({type:"number",checks:[],...re(t)})}function xb(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...re(t)})}function bb(e,t){return new e({type:"boolean",...re(t)})}function vb(e,t){return new e({type:"null",...re(t)})}function yb(e){return new e({type:"unknown"})}function wb(e,t){return new e({type:"never",...re(t)})}function Vc(e,t){return new gp({check:"less_than",...re(t),value:e,inclusive:!1})}function Ii(e,t){return new gp({check:"less_than",...re(t),value:e,inclusive:!0})}function Wc(e,t){return new xp({check:"greater_than",...re(t),value:e,inclusive:!1})}function Pi(e,t){return new xp({check:"greater_than",...re(t),value:e,inclusive:!0})}function Zc(e,t){return new Px({check:"multiple_of",...re(t),value:e})}function Sp(e,t){return new Ox({check:"max_length",...re(t),maximum:e})}function ho(e,t){return new zx({check:"min_length",...re(t),minimum:e})}function _p(e,t){return new Lx({check:"length_equals",...re(t),length:e})}function jb(e,t){return new $x({check:"string_format",format:"regex",...re(t),pattern:e})}function kb(e){return new Dx({check:"string_format",format:"lowercase",...re(e)})}function Sb(e){return new Fx({check:"string_format",format:"uppercase",...re(e)})}function _b(e,t){return new Ux({check:"string_format",format:"includes",...re(t),includes:e})}function Nb(e,t){return new Bx({check:"string_format",format:"starts_with",...re(t),prefix:e})}function Cb(e,t){return new qx({check:"string_format",format:"ends_with",...re(t),suffix:e})}function Os(e){return new Hx({check:"overwrite",tx:e})}function Tb(e){return Os(t=>t.normalize(e))}function Eb(){return Os(e=>e.trim())}function Rb(){return Os(e=>e.toLowerCase())}function Mb(){return Os(e=>e.toUpperCase())}function Ib(){return Os(e=>Og(e))}function Pb(e,t,n){return new e({type:"array",element:t,...re(n)})}function Ab(e,t,n){return new e({type:"custom",check:"custom",fn:t,...re(n)})}function Ob(e,t){const n=zb(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(tr(o,r.value,n._zod.def));else{const i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=n),i.continue??(i.continue=!n._zod.def.abort),r.issues.push(tr(i))}},e(r.value,r)),t);return n}function zb(e,t){const n=new ut({check:"custom",...re(t)});return n._zod.check=e,n}function Np(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Zs,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Ze(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a);const l=e._zod.toJSONSchema?.();if(l)a.schema=l;else{const p={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,p);else{const m=a.schema,h=t.processors[o.type];if(!h)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);h(e,t,m,p)}const f=e._zod.parent;f&&(a.ref||(a.ref=f),Ze(f,t,p),t.seen.get(f).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),t.io==="input"&&ot(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&"_prefault"in a.schema&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Cp(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const a of e.seen.entries()){const l=e.metadataRegistry.get(a[0])?.id;if(l){const u=r.get(l);if(u&&u!==a[0])throw new Error(`Duplicate schema id "${l}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(l,a[0])}}const o=a=>{const l=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const f=e.external.registry.get(a[0])?.id,m=e.external.uri??(g=>g);if(f)return{ref:m(f)};const h=a[1].defId??a[1].schema.id??`schema${e.counter++}`;return a[1].defId=h,{defId:h,ref:`${m("__shared")}#/${l}/${h}`}}if(a[1]===n)return{ref:"#"};const d=`#/${l}/`,p=a[1].schema.id??`__schema${e.counter++}`;return{defId:p,ref:d+p}},i=a=>{if(a[1].schema.$ref)return;const l=a[1],{ref:u,defId:d}=o(a);l.def={...l.schema},d&&(l.defId=d);const p=l.schema;for(const f in p)delete p[f];p.$ref=u};if(e.cycles==="throw")for(const a of e.seen.entries()){const l=a[1];if(l.cycle)throw new Error(`Cycle detected: #/${l.cycle?.join("/")}/<root>
|
|
63
|
+
`)}h.write("payload.value = newResult;"),h.write("return payload;");const y=h.compile();return(j,k)=>y(m,j,k)};let i;const a=er,l=!pl.jitless,d=l&&zx.value,p=t.catchall;let f;e._zod.parse=(m,h)=>{f??(f=r.value);const x=m.value;return a(x)?l&&d&&h?.async===!1&&h.jitless!==!0?(i||(i=o(t.shape)),m=i(m,h),p?wp([],x,m,h,f,e):m):n(m,h):(m.issues.push({expected:"object",code:"invalid_type",input:x,inst:e}),m)}});function zc(e,t,n,r){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!ms(i));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(i=>i.issues.map(a=>on(a,r,rn())))}),t)}const jp=O("$ZodUnion",(e,t)=>{ze.init(e,t),Ne(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),Ne(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),Ne(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),Ne(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){const r=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${r.map(o=>ml(o.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let i=!1;const a=[];for(const l of t.options){const u=l._zod.run({value:r.value,issues:[]},o);if(u instanceof Promise)a.push(u),i=!0;else{if(u.issues.length===0)return u;a.push(u)}}return i?Promise.all(a).then(l=>zc(l,r,e,o)):zc(a,r,e,o)}}),N1=O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,jp.init(e,t);const n=e._zod.parse;Ne(e._zod,"propValues",()=>{const o={};for(const i of t.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const[l,u]of Object.entries(a)){o[l]||(o[l]=new Set);for(const d of u)o[l].add(d)}}return o});const r=Wo(()=>{const o=t.options,i=new Map;for(const a of o){const l=a._zod.propValues?.[t.discriminator];if(!l||l.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const u of l){if(i.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);i.set(u,a)}}return i});e._zod.parse=(o,i)=>{const a=o.value;if(!er(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),o;const l=r.value.get(a?.[t.discriminator]);return l?l._zod.run(o,i):t.unionFallback||i.direction==="backward"?n(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()),input:a,path:[t.discriminator],inst:e}),o)}}),C1=O("$ZodIntersection",(e,t)=>{ze.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,i=t.left._zod.run({value:o,issues:[]},r),a=t.right._zod.run({value:o,issues:[]},r);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([u,d])=>Lc(n,u,d)):Lc(n,i,a)}});function ja(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ss(e)&&Ss(t)){const n=Object.keys(t),r=Object.keys(e).filter(i=>n.indexOf(i)!==-1),o={...e,...t};for(const i of r){const a=ja(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],i=t[r],a=ja(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[r,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Lc(e,t,n){const r=new Map;let o;for(const l of t.issues)if(l.code==="unrecognized_keys"){o??(o=l);for(const u of l.keys)r.has(u)||r.set(u,{}),r.get(u).l=!0}else e.issues.push(l);for(const l of n.issues)if(l.code==="unrecognized_keys")for(const u of l.keys)r.has(u)||r.set(u,{}),r.get(u).r=!0;else e.issues.push(l);const i=[...r].filter(([,l])=>l.l&&l.r).map(([l])=>l);if(i.length&&o&&e.issues.push({...o,keys:i}),ms(e))return e;const a=ja(t.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}const T1=O("$ZodRecord",(e,t)=>{ze.init(e,t),e._zod.parse=(n,r)=>{const o=n.value;if(!Ss(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;const i=[],a=t.keyType._zod.values;if(a){n.value={};const l=new Set;for(const d of a)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){l.add(typeof d=="number"?d.toString():d);const p=t.keyType._zod.run({value:d,issues:[]},r);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(p.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:p.issues.map(h=>on(h,r,rn())),input:d,path:[d],inst:e});continue}const f=p.value,m=t.valueType._zod.run({value:o[d],issues:[]},r);m instanceof Promise?i.push(m.then(h=>{h.issues.length&&n.issues.push(...hs(d,h.issues)),n.value[f]=h.value})):(m.issues.length&&n.issues.push(...hs(d,m.issues)),n.value[f]=m.value)}let u;for(const d in o)l.has(d)||(u=u??[],u.push(d));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:u})}else{n.value={};for(const l of Reflect.ownKeys(o)){if(l==="__proto__"||!Object.prototype.propertyIsEnumerable.call(o,l))continue;let u=t.keyType._zod.run({value:l,issues:[]},r);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof l=="string"&&mp.test(l)&&u.issues.length){const f=t.keyType._zod.run({value:Number(l),issues:[]},r);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(u=f)}if(u.issues.length){t.mode==="loose"?n.value[l]=o[l]:n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(f=>on(f,r,rn())),input:l,path:[l],inst:e});continue}const p=t.valueType._zod.run({value:o[l],issues:[]},r);p instanceof Promise?i.push(p.then(f=>{f.issues.length&&n.issues.push(...hs(l,f.issues)),n.value[u.value]=f.value})):(p.issues.length&&n.issues.push(...hs(l,p.issues)),n.value[u.value]=p.value)}}return i.length?Promise.all(i).then(()=>n):n}}),E1=O("$ZodEnum",(e,t)=>{ze.init(e,t);const n=op(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(o=>Lx.has(typeof o)).map(o=>typeof o=="string"?_s(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{const a=o.value;return r.has(a)||o.issues.push({code:"invalid_value",values:n,input:a,inst:e}),o}}),R1=O("$ZodLiteral",(e,t)=>{if(ze.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?_s(r):r?_s(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{const i=r.value;return n.has(i)||r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),M1=O("$ZodTransform",(e,t)=>{ze.init(e,t),e._zod.optin="optional",e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new rp(e.constructor.name);const o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(a=>(n.value=a,n.fallback=!0,n));if(o instanceof Promise)throw new gs;return n.value=o,n.fallback=!0,n}});function $c(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const kp=O("$ZodOptional",(e,t)=>{ze.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ne(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ne(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${ml(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){const o=n.value,i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(a=>$c(a,o)):$c(i,o)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),I1=O("$ZodExactOptional",(e,t)=>{kp.init(e,t),Ne(e._zod,"values",()=>t.innerType._zod.values),Ne(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),P1=O("$ZodNullable",(e,t)=>{ze.init(e,t),Ne(e._zod,"optin",()=>t.innerType._zod.optin),Ne(e._zod,"optout",()=>t.innerType._zod.optout),Ne(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${ml(n.source)}|null)$`):void 0}),Ne(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),A1=O("$ZodDefault",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>Dc(i,t)):Dc(o,t)}});function Dc(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const O1=O("$ZodPrefault",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),z1=O("$ZodNonOptional",(e,t)=>{ze.init(e,t),Ne(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>Fc(i,e)):Fc(o,e)}});function Fc(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const L1=O("$ZodCatch",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Ne(e._zod,"optout",()=>t.innerType._zod.optout),Ne(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(i=>(n.value=i.value,i.issues.length&&(n.value=t.catchValue({...n,error:{issues:i.issues.map(a=>on(a,r,rn()))},input:n.value}),n.issues=[],n.fallback=!0),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(i=>on(i,r,rn()))},input:n.value}),n.issues=[],n.fallback=!0),n)}}),$1=O("$ZodPipe",(e,t)=>{ze.init(e,t),Ne(e._zod,"values",()=>t.in._zod.values),Ne(e._zod,"optin",()=>t.in._zod.optin),Ne(e._zod,"optout",()=>t.out._zod.optout),Ne(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const i=t.out._zod.run(n,r);return i instanceof Promise?i.then(a=>Tr(a,t.in,r)):Tr(i,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(i=>Tr(i,t.out,r)):Tr(o,t.out,r)}});function Tr(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}const D1=O("$ZodReadonly",(e,t)=>{ze.init(e,t),Ne(e._zod,"propValues",()=>t.innerType._zod.propValues),Ne(e._zod,"values",()=>t.innerType._zod.values),Ne(e._zod,"optin",()=>t.innerType?._zod?.optin),Ne(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(Uc):Uc(o)}});function Uc(e){return e.value=Object.freeze(e.value),e}const F1=O("$ZodLazy",(e,t)=>{ze.init(e,t),Ne(e._zod,"innerType",()=>{const n=t;return n._cachedInner||(n._cachedInner=t.getter()),n._cachedInner}),Ne(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),Ne(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),Ne(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),Ne(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),U1=O("$ZodCustom",(e,t)=>{ut.init(e,t),ze.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(i=>Bc(i,n,r,e));Bc(o,n,r,e)}});function Bc(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(tr(o))}}var qc;class B1{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function q1(){return new B1}(qc=globalThis).__zod_globalRegistry??(qc.__zod_globalRegistry=q1());const Zs=globalThis.__zod_globalRegistry;function H1(e,t){return new e({type:"string",...re(t)})}function V1(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...re(t)})}function Hc(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...re(t)})}function W1(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...re(t)})}function Z1(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...re(t)})}function K1(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...re(t)})}function G1(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...re(t)})}function J1(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...re(t)})}function Y1(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...re(t)})}function X1(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...re(t)})}function Q1(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...re(t)})}function eb(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...re(t)})}function tb(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...re(t)})}function nb(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...re(t)})}function sb(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...re(t)})}function rb(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...re(t)})}function ob(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...re(t)})}function ib(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...re(t)})}function ab(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...re(t)})}function lb(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...re(t)})}function cb(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...re(t)})}function ub(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...re(t)})}function db(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...re(t)})}function pb(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...re(t)})}function fb(e,t){return new e({type:"string",format:"date",check:"string_format",...re(t)})}function mb(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...re(t)})}function hb(e,t){return new e({type:"string",format:"duration",check:"string_format",...re(t)})}function xb(e,t){return new e({type:"number",checks:[],...re(t)})}function gb(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...re(t)})}function bb(e,t){return new e({type:"boolean",...re(t)})}function vb(e,t){return new e({type:"null",...re(t)})}function yb(e){return new e({type:"unknown"})}function wb(e,t){return new e({type:"never",...re(t)})}function Vc(e,t){return new xp({check:"less_than",...re(t),value:e,inclusive:!1})}function Ii(e,t){return new xp({check:"less_than",...re(t),value:e,inclusive:!0})}function Wc(e,t){return new gp({check:"greater_than",...re(t),value:e,inclusive:!1})}function Pi(e,t){return new gp({check:"greater_than",...re(t),value:e,inclusive:!0})}function Zc(e,t){return new Pg({check:"multiple_of",...re(t),value:e})}function Sp(e,t){return new Og({check:"max_length",...re(t),maximum:e})}function ho(e,t){return new zg({check:"min_length",...re(t),minimum:e})}function _p(e,t){return new Lg({check:"length_equals",...re(t),length:e})}function jb(e,t){return new $g({check:"string_format",format:"regex",...re(t),pattern:e})}function kb(e){return new Dg({check:"string_format",format:"lowercase",...re(e)})}function Sb(e){return new Fg({check:"string_format",format:"uppercase",...re(e)})}function _b(e,t){return new Ug({check:"string_format",format:"includes",...re(t),includes:e})}function Nb(e,t){return new Bg({check:"string_format",format:"starts_with",...re(t),prefix:e})}function Cb(e,t){return new qg({check:"string_format",format:"ends_with",...re(t),suffix:e})}function Os(e){return new Hg({check:"overwrite",tx:e})}function Tb(e){return Os(t=>t.normalize(e))}function Eb(){return Os(e=>e.trim())}function Rb(){return Os(e=>e.toLowerCase())}function Mb(){return Os(e=>e.toUpperCase())}function Ib(){return Os(e=>Ox(e))}function Pb(e,t,n){return new e({type:"array",element:t,...re(n)})}function Ab(e,t,n){return new e({type:"custom",check:"custom",fn:t,...re(n)})}function Ob(e,t){const n=zb(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(tr(o,r.value,n._zod.def));else{const i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=n),i.continue??(i.continue=!n._zod.def.abort),r.issues.push(tr(i))}},e(r.value,r)),t);return n}function zb(e,t){const n=new ut({check:"custom",...re(t)});return n._zod.check=e,n}function Np(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Zs,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Ze(e,t,n={path:[],schemaPath:[]}){var r;const o=e._zod.def,i=t.seen.get(e);if(i)return i.count++,n.schemaPath.includes(e)&&(i.cycle=n.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a);const l=e._zod.toJSONSchema?.();if(l)a.schema=l;else{const p={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,p);else{const m=a.schema,h=t.processors[o.type];if(!h)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);h(e,t,m,p)}const f=e._zod.parent;f&&(a.ref||(a.ref=f),Ze(f,t,p),t.seen.get(f).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),t.io==="input"&&ot(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&"_prefault"in a.schema&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Cp(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const a of e.seen.entries()){const l=e.metadataRegistry.get(a[0])?.id;if(l){const u=r.get(l);if(u&&u!==a[0])throw new Error(`Duplicate schema id "${l}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(l,a[0])}}const o=a=>{const l=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const f=e.external.registry.get(a[0])?.id,m=e.external.uri??(x=>x);if(f)return{ref:m(f)};const h=a[1].defId??a[1].schema.id??`schema${e.counter++}`;return a[1].defId=h,{defId:h,ref:`${m("__shared")}#/${l}/${h}`}}if(a[1]===n)return{ref:"#"};const d=`#/${l}/`,p=a[1].schema.id??`__schema${e.counter++}`;return{defId:p,ref:d+p}},i=a=>{if(a[1].schema.$ref)return;const l=a[1],{ref:u,defId:d}=o(a);l.def={...l.schema},d&&(l.defId=d);const p=l.schema;for(const f in p)delete p[f];p.$ref=u};if(e.cycles==="throw")for(const a of e.seen.entries()){const l=a[1];if(l.cycle)throw new Error(`Cycle detected: #/${l.cycle?.join("/")}/<root>
|
|
64
64
|
|
|
65
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of e.seen.entries()){const l=a[1];if(t===a[0]){i(a);continue}if(e.external){const d=e.external.registry.get(a[0])?.id;if(t!==a[0]&&d){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(l.cycle){i(a);continue}if(l.count>1&&e.reused==="ref"){i(a);continue}}}function Tp(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=l=>{const u=e.seen.get(l);if(u.ref===null)return;const d=u.def??u.schema,p={...d},f=u.ref;if(u.ref=null,f){r(f);const h=e.seen.get(f),g=h.schema;if(g.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(d.allOf=d.allOf??[],d.allOf.push(g)):Object.assign(d,g),Object.assign(d,p),l._zod.parent===f)for(const b in d)b==="$ref"||b==="allOf"||b in p||delete d[b];if(g.$ref&&h.def)for(const b in d)b==="$ref"||b==="allOf"||b in h.def&&JSON.stringify(d[b])===JSON.stringify(h.def[b])&&delete d[b]}const m=l._zod.parent;if(m&&m!==f){r(m);const h=e.seen.get(m);if(h?.schema.$ref&&(d.$ref=h.schema.$ref,h.def))for(const g in d)g==="$ref"||g==="allOf"||g in h.def&&JSON.stringify(d[g])===JSON.stringify(h.def[g])&&delete d[g]}e.override({zodSchema:l,jsonSchema:d,path:u.path??[]})};for(const l of[...e.seen.entries()].reverse())r(l[0]);const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const l=e.external.registry.get(t)?.id;if(!l)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(l)}Object.assign(o,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;i!==void 0&&o.id===i&&delete o.id;const a=e.external?.defs??{};for(const l of e.seen.entries()){const u=l[1];u.def&&u.defId&&(u.def.id===u.defId&&delete u.def.id,a[u.defId]=u.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?o.$defs=a:o.definitions=a);try{const l=JSON.parse(JSON.stringify(o));return Object.defineProperty(l,"~standard",{value:{...t["~standard"],jsonSchema:{input:go(t,"input",e.processors),output:go(t,"output",e.processors)}},enumerable:!1,writable:!1}),l}catch{throw new Error("Error converting schema to JSON.")}}function ot(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return ot(r.element,n);if(r.type==="set")return ot(r.valueType,n);if(r.type==="lazy")return ot(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return ot(r.innerType,n);if(r.type==="intersection")return ot(r.left,n)||ot(r.right,n);if(r.type==="record"||r.type==="map")return ot(r.keyType,n)||ot(r.valueType,n);if(r.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:ot(r.in,n)||ot(r.out,n);if(r.type==="object"){for(const o in r.shape)if(ot(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(ot(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(ot(o,n))return!0;return!!(r.rest&&ot(r.rest,n))}return!1}const Lb=(e,t={})=>n=>{const r=Np({...n,processors:t});return Ze(e,r),Cp(r,e),Tp(r,e)},go=(e,t,n={})=>r=>{const{libraryOptions:o,target:i}=r??{},a=Np({...o??{},target:i,io:t,processors:n});return Ze(e,a),Cp(a,e),Tp(a,e)},$b={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Db=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:i,maximum:a,format:l,patterns:u,contentEncoding:d}=e._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof a=="number"&&(o.maxLength=a),l&&(o.format=$b[l]??l,o.format===""&&delete o.format,l==="time"&&delete o.format),d&&(o.contentEncoding=d),u&&u.size>0){const p=[...u];p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(f=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))])}},Fb=(e,t,n,r)=>{const o=n,{minimum:i,maximum:a,format:l,multipleOf:u,exclusiveMaximum:d,exclusiveMinimum:p}=e._zod.bag;typeof l=="string"&&l.includes("int")?o.type="integer":o.type="number";const f=typeof p=="number"&&p>=(i??Number.NEGATIVE_INFINITY),m=typeof d=="number"&&d<=(a??Number.POSITIVE_INFINITY),h=t.target==="draft-04"||t.target==="openapi-3.0";f?h?(o.minimum=p,o.exclusiveMinimum=!0):o.exclusiveMinimum=p:typeof i=="number"&&(o.minimum=i),m?h?(o.maximum=d,o.exclusiveMaximum=!0):o.exclusiveMaximum=d:typeof a=="number"&&(o.maximum=a),typeof u=="number"&&(o.multipleOf=u)},Ub=(e,t,n,r)=>{n.type="boolean"},Bb=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},qb=(e,t,n,r)=>{n.not={}},Hb=(e,t,n,r)=>{},Vb=(e,t,n,r)=>{const o=e._zod.def,i=op(o.entries);i.every(a=>typeof a=="number")&&(n.type="number"),i.every(a=>typeof a=="string")&&(n.type="string"),n.enum=i},Wb=(e,t,n,r)=>{const o=e._zod.def,i=[];for(const a of o.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){const a=i[0];n.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[a]:n.const=a}else i.every(a=>typeof a=="number")&&(n.type="number"),i.every(a=>typeof a=="string")&&(n.type="string"),i.every(a=>typeof a=="boolean")&&(n.type="boolean"),i.every(a=>a===null)&&(n.type="null"),n.enum=i},Zb=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Kb=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Gb=(e,t,n,r)=>{const o=n,i=e._zod.def,{minimum:a,maximum:l}=e._zod.bag;typeof a=="number"&&(o.minItems=a),typeof l=="number"&&(o.maxItems=l),o.type="array",o.items=Ze(i.element,t,{...r,path:[...r.path,"items"]})},Jb=(e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object",o.properties={};const a=i.shape;for(const d in a)o.properties[d]=Ze(a[d],t,{...r,path:[...r.path,"properties",d]});const l=new Set(Object.keys(a)),u=new Set([...l].filter(d=>{const p=i.shape[d]._zod;return t.io==="input"?p.optin===void 0:p.optout===void 0}));u.size>0&&(o.required=Array.from(u)),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=Ze(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Yb=(e,t,n,r)=>{const o=e._zod.def,i=o.inclusive===!1,a=o.options.map((l,u)=>Ze(l,t,{...r,path:[...r.path,i?"oneOf":"anyOf",u]}));i?n.oneOf=a:n.anyOf=a},Xb=(e,t,n,r)=>{const o=e._zod.def,i=Ze(o.left,t,{...r,path:[...r.path,"allOf",0]}),a=Ze(o.right,t,{...r,path:[...r.path,"allOf",1]}),l=d=>"allOf"in d&&Object.keys(d).length===1,u=[...l(i)?i.allOf:[i],...l(a)?a.allOf:[a]];n.allOf=u},Qb=(e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object";const a=i.keyType,u=a._zod.bag?.patterns;if(i.mode==="loose"&&u&&u.size>0){const p=Ze(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const f of u)o.patternProperties[f.source]=p}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(o.propertyNames=Ze(i.keyType,t,{...r,path:[...r.path,"propertyNames"]})),o.additionalProperties=Ze(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const d=a._zod.values;if(d){const p=[...d].filter(f=>typeof f=="string"||typeof f=="number");p.length>0&&(o.required=p)}},ev=(e,t,n,r)=>{const o=e._zod.def,i=Ze(o.innerType,t,r),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=o.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]},tv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},nv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},sv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},rv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;let a;try{a=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=a},ov=(e,t,n,r)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),a=t.io==="input"?i?o.out:o.in:o.out;Ze(a,t,r);const l=t.seen.get(e);l.ref=a},iv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},Ep=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},av=(e,t,n,r)=>{const o=e._zod.innerType;Ze(o,t,r);const i=t.seen.get(e);i.ref=o},lv=O("ZodISODateTime",(e,t)=>{r1.init(e,t),Fe.init(e,t)});function cv(e){return pb(lv,e)}const uv=O("ZodISODate",(e,t)=>{o1.init(e,t),Fe.init(e,t)});function dv(e){return fb(uv,e)}const pv=O("ZodISOTime",(e,t)=>{i1.init(e,t),Fe.init(e,t)});function fv(e){return mb(pv,e)}const mv=O("ZodISODuration",(e,t)=>{a1.init(e,t),Fe.init(e,t)});function hv(e){return hb(mv,e)}const gv=(e,t)=>{cp.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Gg(e,n)},flatten:{value:n=>Kg(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,wa,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,wa,2)}},isEmpty:{get(){return e.issues.length===0}}})},St=O("ZodError",gv,{Parent:Error}),xv=gl(St),bv=xl(St),vv=Zo(St),yv=Ko(St),wv=Xg(St),jv=Qg(St),kv=ex(St),Sv=tx(St),_v=nx(St),Nv=sx(St),Cv=rx(St),Tv=ox(St),Kc=new WeakMap;function fr(e,t,n){const r=Object.getPrototypeOf(e);let o=Kc.get(r);if(o||(o=new Set,Kc.set(r,o)),!o.has(t)){o.add(t);for(const i in n){const a=n[i];Object.defineProperty(r,i,{configurable:!0,enumerable:!1,get(){const l=a.bind(this);return Object.defineProperty(this,i,{configurable:!0,writable:!0,enumerable:!0,value:l}),l},set(l){Object.defineProperty(this,i,{configurable:!0,writable:!0,enumerable:!0,value:l})}})}}}const Le=O("ZodType",(e,t)=>(ze.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:go(e,"input"),output:go(e,"output")}}),e.toJSONSchema=Lb(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,r)=>xv(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>vv(e,n,r),e.parseAsync=async(n,r)=>bv(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>yv(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>wv(e,n,r),e.decode=(n,r)=>jv(e,n,r),e.encodeAsync=async(n,r)=>kv(e,n,r),e.decodeAsync=async(n,r)=>Sv(e,n,r),e.safeEncode=(n,r)=>_v(e,n,r),e.safeDecode=(n,r)=>Nv(e,n,r),e.safeEncodeAsync=async(n,r)=>Cv(e,n,r),e.safeDecodeAsync=async(n,r)=>Tv(e,n,r),fr(e,"ZodType",{check(...n){const r=this.def;return this.clone(_n(r,{checks:[...r.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,r){return Nn(this,n,r)},brand(){return this},register(n,r){return n.add(this,r),this},refine(n,r){return this.check(k2(n,r))},superRefine(n,r){return this.check(S2(n,r))},overwrite(n){return this.check(Os(n))},optional(){return Xc(this)},exactOptional(){return l2(this)},nullable(){return Qc(this)},nullish(){return Xc(Qc(this))},nonoptional(n){return m2(this,n)},array(){return W(this)},or(n){return Ot([this,n])},and(n){return s2(this,n)},transform(n){return eu(this,i2(n))},default(n){return d2(this,n)},prefault(n){return f2(this,n)},catch(n){return g2(this,n)},pipe(n){return eu(this,n)},readonly(){return v2(this)},describe(n){const r=this.clone();return Zs.add(r,{description:n}),r},meta(...n){if(n.length===0)return Zs.get(this);const r=this.clone();return Zs.add(r,n[0]),r},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return Zs.get(e)?.description},configurable:!0}),e)),Rp=O("_ZodString",(e,t)=>{bl.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Db(e,r,o);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,fr(e,"_ZodString",{regex(...r){return this.check(jb(...r))},includes(...r){return this.check(_b(...r))},startsWith(...r){return this.check(Nb(...r))},endsWith(...r){return this.check(Cb(...r))},min(...r){return this.check(ho(...r))},max(...r){return this.check(Sp(...r))},length(...r){return this.check(_p(...r))},nonempty(...r){return this.check(ho(1,...r))},lowercase(r){return this.check(kb(r))},uppercase(r){return this.check(Sb(r))},trim(){return this.check(Eb())},normalize(...r){return this.check(Tb(...r))},toLowerCase(){return this.check(Rb())},toUpperCase(){return this.check(Mb())},slugify(){return this.check(Ib())}})}),Ev=O("ZodString",(e,t)=>{bl.init(e,t),Rp.init(e,t),e.email=n=>e.check(V1(Rv,n)),e.url=n=>e.check(J1(Mv,n)),e.jwt=n=>e.check(db(Wv,n)),e.emoji=n=>e.check(Y1(Iv,n)),e.guid=n=>e.check(Hc(Gc,n)),e.uuid=n=>e.check(W1(Er,n)),e.uuidv4=n=>e.check(Z1(Er,n)),e.uuidv6=n=>e.check(K1(Er,n)),e.uuidv7=n=>e.check(G1(Er,n)),e.nanoid=n=>e.check(X1(Pv,n)),e.guid=n=>e.check(Hc(Gc,n)),e.cuid=n=>e.check(Q1(Av,n)),e.cuid2=n=>e.check(eb(Ov,n)),e.ulid=n=>e.check(tb(zv,n)),e.base64=n=>e.check(lb(qv,n)),e.base64url=n=>e.check(cb(Hv,n)),e.xid=n=>e.check(nb(Lv,n)),e.ksuid=n=>e.check(sb($v,n)),e.ipv4=n=>e.check(rb(Dv,n)),e.ipv6=n=>e.check(ob(Fv,n)),e.cidrv4=n=>e.check(ib(Uv,n)),e.cidrv6=n=>e.check(ab(Bv,n)),e.e164=n=>e.check(ub(Vv,n)),e.datetime=n=>e.check(cv(n)),e.date=n=>e.check(dv(n)),e.time=n=>e.check(fv(n)),e.duration=n=>e.check(hv(n))});function x(e){return H1(Ev,e)}const Fe=O("ZodStringFormat",(e,t)=>{$e.init(e,t),Rp.init(e,t)}),Rv=O("ZodEmail",(e,t)=>{Gx.init(e,t),Fe.init(e,t)}),Gc=O("ZodGUID",(e,t)=>{Zx.init(e,t),Fe.init(e,t)}),Er=O("ZodUUID",(e,t)=>{Kx.init(e,t),Fe.init(e,t)}),Mv=O("ZodURL",(e,t)=>{Jx.init(e,t),Fe.init(e,t)}),Iv=O("ZodEmoji",(e,t)=>{Yx.init(e,t),Fe.init(e,t)}),Pv=O("ZodNanoID",(e,t)=>{Xx.init(e,t),Fe.init(e,t)}),Av=O("ZodCUID",(e,t)=>{Qx.init(e,t),Fe.init(e,t)}),Ov=O("ZodCUID2",(e,t)=>{e1.init(e,t),Fe.init(e,t)}),zv=O("ZodULID",(e,t)=>{t1.init(e,t),Fe.init(e,t)}),Lv=O("ZodXID",(e,t)=>{n1.init(e,t),Fe.init(e,t)}),$v=O("ZodKSUID",(e,t)=>{s1.init(e,t),Fe.init(e,t)}),Dv=O("ZodIPv4",(e,t)=>{l1.init(e,t),Fe.init(e,t)}),Fv=O("ZodIPv6",(e,t)=>{c1.init(e,t),Fe.init(e,t)}),Uv=O("ZodCIDRv4",(e,t)=>{u1.init(e,t),Fe.init(e,t)}),Bv=O("ZodCIDRv6",(e,t)=>{d1.init(e,t),Fe.init(e,t)}),qv=O("ZodBase64",(e,t)=>{p1.init(e,t),Fe.init(e,t)}),Hv=O("ZodBase64URL",(e,t)=>{m1.init(e,t),Fe.init(e,t)}),Vv=O("ZodE164",(e,t)=>{h1.init(e,t),Fe.init(e,t)}),Wv=O("ZodJWT",(e,t)=>{x1.init(e,t),Fe.init(e,t)}),Mp=O("ZodNumber",(e,t)=>{vp.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Fb(e,r,o),fr(e,"ZodNumber",{gt(r,o){return this.check(Wc(r,o))},gte(r,o){return this.check(Pi(r,o))},min(r,o){return this.check(Pi(r,o))},lt(r,o){return this.check(Vc(r,o))},lte(r,o){return this.check(Ii(r,o))},max(r,o){return this.check(Ii(r,o))},int(r){return this.check(Jc(r))},safe(r){return this.check(Jc(r))},positive(r){return this.check(Wc(0,r))},nonnegative(r){return this.check(Pi(0,r))},negative(r){return this.check(Vc(0,r))},nonpositive(r){return this.check(Ii(0,r))},multipleOf(r,o){return this.check(Zc(r,o))},step(r,o){return this.check(Zc(r,o))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function R(e){return gb(Mp,e)}const Zv=O("ZodNumberFormat",(e,t)=>{b1.init(e,t),Mp.init(e,t)});function Jc(e){return xb(Zv,e)}const Kv=O("ZodBoolean",(e,t)=>{v1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ub(e,n,r)});function Ce(e){return bb(Kv,e)}const Gv=O("ZodNull",(e,t)=>{y1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bb(e,n,r)});function xo(e){return vb(Gv,e)}const Jv=O("ZodUnknown",(e,t)=>{w1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hb()});function Bn(){return yb(Jv)}const Yv=O("ZodNever",(e,t)=>{j1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qb(e,n,r)});function Xv(e){return wb(Yv,e)}const Qv=O("ZodArray",(e,t)=>{k1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gb(e,n,r,o),e.element=t.element,fr(e,"ZodArray",{min(n,r){return this.check(ho(n,r))},nonempty(n){return this.check(ho(1,n))},max(n,r){return this.check(Sp(n,r))},length(n,r){return this.check(_p(n,r))},unwrap(){return this.element}})});function W(e,t){return Pb(Qv,e,t)}const e2=O("ZodObject",(e,t)=>{_1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jb(e,n,r,o),Ne(e,"shape",()=>t.shape),fr(e,"ZodObject",{keyof(){return fe(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Bn()})},loose(){return this.clone({...this._zod.def,catchall:Bn()})},strict(){return this.clone({...this._zod.def,catchall:Xv()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return Bg(this,n)},safeExtend(n){return qg(this,n)},merge(n){return Hg(this,n)},pick(n){return Fg(this,n)},omit(n){return Ug(this,n)},partial(...n){return Vg(Pp,this,n[0])},required(...n){return Wg(Ap,this,n[0])}})});function T(e,t){const n={type:"object",shape:e??{},...re(t)};return new e2(n)}const Ip=O("ZodUnion",(e,t)=>{jp.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yb(e,n,r,o),e.options=t.options});function Ot(e,t){return new Ip({type:"union",options:e,...re(t)})}const t2=O("ZodDiscriminatedUnion",(e,t)=>{Ip.init(e,t),N1.init(e,t)});function Cn(e,t,n){return new t2({type:"union",options:t,discriminator:e,...re(n)})}const n2=O("ZodIntersection",(e,t)=>{C1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xb(e,n,r,o)});function s2(e,t){return new n2({type:"intersection",left:e,right:t})}const Yc=O("ZodRecord",(e,t)=>{T1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qb(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Ke(e,t,n){return!t||!t._zod?new Yc({type:"record",keyType:x(),valueType:e,...re(t)}):new Yc({type:"record",keyType:e,valueType:t,...re(n)})}const ka=O("ZodEnum",(e,t)=>{E1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Vb(e,r,o),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const i={};for(const a of r)if(n.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new ka({...t,checks:[],...re(o),entries:i})},e.exclude=(r,o)=>{const i={...t.entries};for(const a of r)if(n.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new ka({...t,checks:[],...re(o),entries:i})}});function fe(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new ka({type:"enum",entries:n,...re(t)})}const r2=O("ZodLiteral",(e,t)=>{R1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wb(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ae(e,t){return new r2({type:"literal",values:Array.isArray(e)?e:[e],...re(t)})}const o2=O("ZodTransform",(e,t)=>{M1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kb(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new rp(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(tr(i,n.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=e),n.issues.push(tr(a))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(i=>(n.value=i,n.fallback=!0,n)):(n.value=o,n.fallback=!0,n)}});function i2(e){return new o2({type:"transform",transform:e})}const Pp=O("ZodOptional",(e,t)=>{kp.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ep(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Xc(e){return new Pp({type:"optional",innerType:e})}const a2=O("ZodExactOptional",(e,t)=>{I1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ep(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function l2(e){return new a2({type:"optional",innerType:e})}const c2=O("ZodNullable",(e,t)=>{P1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ev(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Qc(e){return new c2({type:"nullable",innerType:e})}const u2=O("ZodDefault",(e,t)=>{A1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>nv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function d2(e,t){return new u2({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():ap(t)}})}const p2=O("ZodPrefault",(e,t)=>{O1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function f2(e,t){return new p2({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():ap(t)}})}const Ap=O("ZodNonOptional",(e,t)=>{z1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function m2(e,t){return new Ap({type:"nonoptional",innerType:e,...re(t)})}const h2=O("ZodCatch",(e,t)=>{L1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function g2(e,t){return new h2({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const x2=O("ZodPipe",(e,t)=>{$1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ov(e,n,r,o),e.in=t.in,e.out=t.out});function eu(e,t){return new x2({type:"pipe",in:e,out:t})}const b2=O("ZodReadonly",(e,t)=>{D1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>iv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function v2(e){return new b2({type:"readonly",innerType:e})}const y2=O("ZodLazy",(e,t)=>{F1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>av(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function w2(e){return new y2({type:"lazy",getter:e})}const j2=O("ZodCustom",(e,t)=>{U1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zb(e,n)});function k2(e,t={}){return Ab(j2,e,t)}function S2(e,t){return Ob(e,t)}const et=w2(()=>Ot([x(),R(),Ce(),xo(),W(et),Ke(x(),et)]));function Op(e){return e===void 0||typeof e=="bigint"||typeof e=="function"?null:e}const zp=T({index:R(),timestamp:R(),type:x(),data:et}),_2=T({chunks:W(zp),truncated:Ce().optional().default(!1)}),N2=fe(["request","response"]),C2=T({logId:R().int().positive(),part:N2,text:x(),offset:R().int().nonnegative(),limit:R().int().positive(),totalBytes:R().int().nonnegative(),textBytes:R().int().nonnegative(),nextOffset:R().int().nonnegative().nullable(),hasMore:Ce(),contentMode:fe(["empty","partial","full"])}),nr=T({id:R(),timestamp:x(),method:x(),path:x(),model:x().nullable(),sessionId:x().nullable(),rawRequestBody:x().nullable(),responseStatus:R().nullable(),responseText:x().nullable(),inputTokens:R().nullable(),outputTokens:R().nullable(),cacheCreationInputTokens:R().nullable(),cacheReadInputTokens:R().nullable(),elapsedMs:R().nullable(),firstChunkMs:R().nullable().optional(),totalStreamMs:R().nullable().optional(),tokensPerSecond:R().nullable().optional(),streaming:Ce(),userAgent:x().nullable(),origin:x().nullable(),rawHeaders:Ke(x(),x()).optional(),headers:Ke(x(),x()).optional(),apiFormat:fe(["anthropic","openai","unknown"]).default("unknown"),isTest:Ce().optional().default(!1),replayOfLogId:R().nullable().optional(),providerName:x().nullable().optional(),clientPort:R().nullable().optional(),clientPid:R().nullable().optional(),clientCwd:x().nullable().optional(),clientProjectFolder:x().nullable().optional(),streamingChunks:_2.optional(),streamingChunksPath:x().nullable().optional(),rawRequestBodyBytes:R().int().nonnegative().nullable().optional(),responseTextBytes:R().int().nonnegative().nullable().optional(),bodyContentMode:fe(["full","compact","truncated"]).optional(),warnings:W(x()).optional(),error:x().nullable().optional()}),vl=T({type:x(),ttl:x().optional(),scope:x().optional()}),yl=T({type:ae("text"),text:x(),cache_control:vl.optional()}),Lp=T({type:ae("thinking"),thinking:x(),signature:x().optional()}),T2=T({type:ae("think"),thinking:x(),signature:x().optional()}),E2=T({type:ae("base64"),media_type:x(),data:x()}),$p=T({type:ae("image"),source:E2}),Dp=T({type:ae("tool_use"),id:x(),name:x(),input:Ke(x(),et)}),R2=Cn("type",[yl,$p]),M2=T({type:ae("tool_result"),tool_use_id:x().optional(),content:Ot([x(),W(R2)]),is_error:Ce().optional()}),I2=Cn("type",[yl,Lp,$p,Dp,M2]),P2=Ot([x(),W(I2)]),A2=T({role:fe(["user","assistant"]),content:P2}),O2=T({type:ae("text"),text:x(),cache_control:vl.optional()}),z2=T({type:x(),properties:Ke(x(),Ke(x(),et)).optional(),required:W(x()).optional(),additionalProperties:Ce().optional(),$schema:x().optional()}),L2=T({name:x(),description:x().optional(),input_schema:z2.optional(),cache_control:vl.optional()}),$2=Cn("type",[T({type:ae("enabled"),budget_tokens:R()}),T({type:ae("disabled")}),T({type:ae("adaptive")})]),Fp=T({model:x(),messages:W(A2),system:W(O2).optional(),tools:W(L2).optional(),max_tokens:R().optional(),temperature:R().optional(),stream:Ce().optional(),thinking:$2.optional(),metadata:T({user_id:x().optional()}).optional()}),wl=Cn("type",[yl,Lp,T2,Dp]),D2=T({input_tokens:R().nullable().optional(),output_tokens:R().nullable().optional(),cache_creation_input_tokens:R().nullable().optional(),cache_read_input_tokens:R().nullable().optional()}).passthrough(),Up=T({id:x(),type:ae("message"),model:x(),role:ae("assistant"),content:W(wl),stop_reason:x().nullable(),stop_sequence:x().nullable().optional(),usage:D2}).passthrough(),F2=T({type:ae("message_start"),message:T({id:x(),type:ae("message"),model:x(),role:ae("assistant"),content:W(wl),stop_reason:xo(),stop_sequence:xo(),usage:T({input_tokens:R(),cache_creation_input_tokens:R().optional(),cache_read_input_tokens:R().optional()}).passthrough()})}),U2=T({type:ae("content_block_start"),index:R(),content_block:wl}),B2=Cn("type",[T({type:ae("text_delta"),text:x()}),T({type:ae("input_json_delta"),partial_json:x()}),T({type:ae("thinking_delta"),thinking:x()}),T({type:ae("signature_delta"),signature:x()})]),q2=T({type:ae("content_block_delta"),index:R(),delta:B2}),H2=T({type:ae("content_block_stop"),index:R()}),V2=T({type:ae("message_delta"),delta:T({stop_reason:x().nullable(),stop_sequence:x().nullable().optional()}),usage:T({output_tokens:R(),input_tokens:R().optional(),cache_creation_input_tokens:R().optional(),cache_read_input_tokens:R().optional()}).passthrough()}),W2=T({type:ae("message_stop")}),Z2=T({type:ae("ping")}),K2=T({type:ae("error"),error:T({type:x(),message:x()})}),G2=Cn("type",[F2,U2,q2,H2,V2,W2,Z2,K2]),J2=Ot([x(),W(Cn("type",[T({type:ae("text"),text:x()}),T({type:ae("image_url"),image_url:T({url:x(),detail:x().optional()})})]))]),Bp=T({role:fe(["system","user","assistant","tool"]),content:J2,name:x().optional(),reasoning_content:x().optional(),thinking:x().optional(),think:x().optional()}),Y2=T({name:x(),arguments:x()}),qp=T({index:R().optional(),id:x().optional(),type:ae("function").optional(),function:T({name:x().optional(),arguments:x().optional()})});Bp.extend({content:Ot([x(),W(T({type:ae("text"),text:x()}))]).optional(),function_call:Y2.optional(),tool_calls:W(qp).optional()});const X2=T({type:ae("function"),function:T({name:x(),description:x().optional(),parameters:Ke(x(),et)})}),Hp=T({model:x(),messages:W(Bp),temperature:R().optional(),max_tokens:R().optional(),stream:Ce().optional(),tools:W(X2).optional(),tool_choice:Ot([fe(["auto","none","required"]),T({type:ae("auto")}),T({type:ae("none")}),T({type:ae("function"),function:T({name:x()})})]).optional(),user:x().optional()}),Q2=T({type:x(),name:x().optional(),description:x().optional(),parameters:et.optional(),function:T({name:x().optional(),description:x().optional(),parameters:et.optional()}).optional()}).passthrough(),Vp=T({model:x(),input:Bn().optional(),instructions:Ot([x(),xo()]).optional(),stream:Ce().optional(),tools:W(Q2).optional(),tool_choice:Bn().optional(),max_output_tokens:R().optional(),temperature:R().optional(),user:x().optional(),metadata:Ke(x(),Bn()).optional()}).passthrough(),Wp=T({role:fe(["assistant"]).optional(),content:x().nullable().optional(),reasoning_content:x().nullable().optional(),thinking:x().nullable().optional(),think:x().nullable().optional(),function_call:T({name:x().optional(),arguments:x().optional()}).nullable().optional(),tool_calls:W(T({index:R(),id:x().optional(),type:ae("function").optional(),function:T({name:x().optional(),arguments:x().optional()})})).nullable().optional()}),ey=T({index:R(),message:T({role:fe(["assistant"]),content:x().nullable(),reasoning_content:x().optional(),thinking:x().optional(),think:x().optional(),function_call:T({name:x(),arguments:x()}).nullable().optional(),tool_calls:W(qp).optional()}).optional(),delta:Wp.optional(),finish_reason:x().nullable()}),ty=T({id:x(),object:ae("chat.completion"),created:R(),model:x(),choices:W(ey),usage:T({prompt_tokens:R().nullable().optional(),completion_tokens:R().nullable().optional(),total_tokens:R().nullable().optional()}).passthrough(),service_tier:x().nullable().optional(),system_fingerprint:x().nullable().optional()}).passthrough(),ny=T({id:x(),object:ae("chat.completion.chunk"),created:R(),model:x(),choices:W(T({index:R(),delta:Wp,finish_reason:x().nullable().optional()})),usage:T({prompt_tokens:R().nullable().optional(),completion_tokens:R().nullable().optional(),total_tokens:R().nullable().optional()}).passthrough().nullable().optional()}).passthrough(),sy=T({input_tokens:R().nullable().optional(),output_tokens:R().nullable().optional(),total_tokens:R().nullable().optional(),input_tokens_details:T({cached_tokens:R().nullable().optional()}).passthrough().nullable().optional(),output_tokens_details:T({reasoning_tokens:R().nullable().optional()}).passthrough().nullable().optional()}).passthrough(),ry=T({type:x()}).passthrough(),bo=T({id:x(),object:ae("response").optional(),created_at:R().optional(),status:x().nullable().optional(),model:x().optional(),output:W(ry).optional(),output_text:x().optional(),usage:sy.nullable().optional(),error:Bn().optional()}).passthrough(),oy=T({type:x()}).passthrough();function Zp(e){try{const t=JSON.parse(e),n=ty.safeParse(t);return n.success?n.data:null}catch{return null}}function Kp(e){try{const t=JSON.parse(e),n=bo.safeParse(t);return n.success?n.data:null}catch{return null}}const iy=T({error:x()}),ay=new Set(["POST","PUT","PATCH","DELETE"]);function Gp(e){const t=e?.method?.toUpperCase();if(t===void 0||!ay.has(t))return e;const n=new Headers(e?.headers);return n.has("x-agent-inspector-csrf")||n.set("x-agent-inspector-csrf","1"),{...e,headers:n}}async function jl(e,t){const n=await e.json();return t.parse(n)}async function kl(e,t){try{const n=await e.json(),r=iy.safeParse(n);return r.success?r.data.error:t}catch{return t}}async function rt(e,t,n,r){const o=await fetch(e,Gp(n));if(!o.ok){const i=r?.(o)??`Request failed with status ${o.status}`;throw new Error(await kl(o,i))}return jl(o,t)}function ly(e){return e<1e3?`${String(e)}ms`:`${String(Math.round(e/1e3))}s`}class Jo extends Error{constructor(t){super(`Request timed out after ${ly(t)}`),this.name="ApiTimeoutError"}}async function qn(e,t,n){const r=new AbortController;let o=!1;const i=setTimeout(()=>{o=!0,r.abort()},t),a=n?.signal??void 0,l=()=>r.abort();a!==void 0&&(a.aborted?r.abort():a.addEventListener("abort",l,{once:!0}));try{return await fetch(e,{...Gp(n),signal:r.signal})}catch(u){throw o&&u instanceof DOMException&&u.name==="AbortError"?new Jo(t):u}finally{clearTimeout(i),a?.removeEventListener("abort",l)}}async function We(e,t,n,r,o){const i=await qn(e,n,r);if(!i.ok){const a=o?.(i)??`Request failed with status ${i.status}`;throw new Error(await kl(i,a))}return jl(i,t)}const Jp=T({input:R().int().nonnegative(),output:R().int().nonnegative(),cacheCreate:R().int().nonnegative(),cacheRead:R().int().nonnegative(),total:R().int().nonnegative()}),cy=T({id:R().int().positive(),sessionLogNumber:R().int().positive().optional(),timestamp:x(),provider:x().nullable(),model:x().nullable(),apiFormat:fe(["anthropic","openai","unknown"]),method:x(),path:x(),status:R().nullable(),isStreaming:Ce(),hasError:Ce(),error:x().nullable(),latencyMs:R().nullable(),firstChunkMs:R().nullable().optional(),totalStreamMs:R().nullable().optional(),tokensPerSecond:R().nullable().optional(),tokens:T({input:R().nullable(),output:R().nullable(),cacheCreate:R().nullable(),cacheRead:R().nullable()}),sessionId:x().nullable(),userAgent:x().nullable().optional(),clientPid:R().nullable().optional(),clientProjectFolder:x().nullable().optional()}),Yp=T({id:x(),status:fe(["active","failed","completed","empty"]),logCoverage:fe(["recent","history"]),source:fe(["explicit","client-process","client-connection","provider-test"]).nullable(),runtimeMode:fe(["in-process","worker-thread","child-process"]).nullable(),createdAt:x().nullable(),updatedAt:x().nullable(),requestCount:R().int().nonnegative(),activeRequests:R().int().nonnegative(),completedRequests:R().int().nonnegative(),failedRequests:R().int().nonnegative(),queuedTasks:R().int().nonnegative(),runningTasks:R().int().nonnegative(),lastTaskError:x().nullable(),logCount:R().int().nonnegative(),errorCount:R().int().nonnegative(),models:W(x()),providers:W(x()),tokenUsage:Jp,lastLogId:R().nullable(),lastModel:x().nullable(),clientUserAgent:x().nullable().optional(),clientPid:R().nullable(),clientProjectFolder:x().nullable(),inspectorPath:x(),inspectorUrl:x(),apiPath:x(),apiUrl:x(),compactLogsPath:x(),compactLogsUrl:x(),latestLogLimit:R().int().positive(),latestLogs:W(cy)}),mr=fe(["created","running","completed","failed","cancelled"]),Sl=T({jsonPath:x(),markdownPath:x(),htmlPath:x(),exportedAt:x()}),uy=fe(["run-created","session-started","request","session-finished","evidence-exported"]),dy=fe(["info","success","warning","error"]),py=T({timestamp:x(),kind:uy,severity:dy,title:x(),details:x(),logId:R().int().positive().nullable(),status:R().nullable(),model:x().nullable(),provider:x().nullable(),latencyMs:R().nullable(),isStreaming:Ce().nullable()}),fy=fe(["none","active","provider-timeout","provider-http-error","provider-auth-error","provider-rate-limit","network-or-container","streaming-mismatch","context-pressure","runtime-task-error","model-output-error","unknown-failure","no-session-data"]),Xp=T({outcome:fe(["success","failure","active","unknown"]),severity:fe(["none","low","medium","high"]),category:fy,summary:x(),evidenceLogIds:W(R().int().positive()),hints:W(x())}),_l=T({status:fe(["PASS","FAIL","RUNNING","UNKNOWN"]),summary:x(),markdown:x()}),Qp=_l,Nl=T({id:x(),sessionId:x(),groupId:x().nullable().default(null),title:x(),task:x().nullable(),project:x().nullable(),agent:x().nullable(),status:mr,tags:W(x()),metadata:Ke(x(),et),evidence:Sl.nullable(),createdAt:x(),updatedAt:x()});T({runId:x().min(1).optional(),sessionId:x().min(1).optional(),groupId:x().min(1).nullable().optional(),title:x().min(1).optional(),task:x().nullable().optional(),project:x().nullable().optional(),agent:x().nullable().optional(),status:mr.optional(),tags:W(x()).optional(),metadata:Ke(x(),et).optional()}).optional();T({sessionId:x().min(1).optional(),groupId:x().min(1).nullable().optional(),title:x().min(1).optional(),task:x().nullable().optional(),project:x().nullable().optional(),agent:x().nullable().optional(),status:mr.optional(),tags:W(x()).optional(),metadata:Ke(x(),et).optional()});T({includeHistory:Ce().optional(),latestLogLimit:R().int().positive().max(50).optional()}).optional();T({run:Nl,evidence:Sl,session:Yp.nullable(),timeline:W(py),classification:Xp,jenkinsReport:_l});const my=T({run:Nl,classification:Xp,evidence:Sl.nullable(),jenkinsReport:_l.nullable(),sessionId:x(),inspectorUrl:x().nullable(),evidenceMarkdownPath:x().nullable(),updatedAt:x()});T({failures:W(my),total:R().int().nonnegative(),limit:R().int().positive()});const Cl=fe(["created","running","completed","failed","cancelled"]),Tl=fe(["evaluation","batch","manual"]),El=T({jsonPath:x(),markdownPath:x(),htmlPath:x(),exportedAt:x()}),ef=T({id:x(),groupId:x(),sessionId:x(),runId:x().nullable(),label:x().nullable(),agent:x().nullable(),provider:x().nullable(),model:x().nullable(),status:mr.nullable(),metadata:Ke(x(),et),addedAt:x(),updatedAt:x()}),Rl=T({id:x(),title:x(),kind:Tl,task:x().nullable(),project:x().nullable(),status:Cl,tags:W(x()),metadata:Ke(x(),et),evidence:El.nullable(),members:W(ef),createdAt:x(),updatedAt:x()});T({groupId:x().min(1).optional(),title:x().min(1).optional(),kind:Tl.optional(),task:x().nullable().optional(),project:x().nullable().optional(),status:Cl.optional(),tags:W(x()).optional(),metadata:Ke(x(),et).optional()}).optional();T({title:x().min(1).optional(),kind:Tl.optional(),task:x().nullable().optional(),project:x().nullable().optional(),status:Cl.optional(),tags:W(x()).optional(),metadata:Ke(x(),et).optional()});T({memberId:x().min(1).optional(),sessionId:x().min(1),runId:x().min(1).nullable().optional(),label:x().min(1).nullable().optional(),agent:x().min(1).nullable().optional(),provider:x().min(1).nullable().optional(),model:x().min(1).nullable().optional(),status:mr.nullable().optional(),metadata:Ke(x(),et).optional()});T({includeHistory:Ce().optional(),latestLogLimit:R().int().positive().max(50).optional()}).optional();T({deleteEvidence:Ce().optional()});const tf=T({groupId:x(),deleted:Ce(),evidenceDeleted:Ce(),evidencePath:x().nullable()}),nf=T({deleted:R().int().nonnegative(),groups:W(tf)}),sf=T({member:ef,run:Nl.nullable(),session:Yp.nullable()}),rf=T({memberCount:R().int().nonnegative(),sessionsWithData:R().int().nonnegative(),missingSessions:R().int().nonnegative(),requestCount:R().int().nonnegative(),errorCount:R().int().nonnegative(),tokenUsage:Jp,models:W(x()),providers:W(x()),completedMembers:R().int().nonnegative(),failedMembers:R().int().nonnegative(),runningMembers:R().int().nonnegative()}),hy=T({group:Rl,evidence:El,members:W(sf).nullable(),markdown:x(),summary:rf.nullable(),report:Qp.nullable()}),gy=T({group:Rl,evidence:El,members:W(sf),summary:rf,jenkinsReport:Qp}),of=T({groups:W(Rl)}),xy=T({sessionId:x(),imported:R().int().nonnegative(),skipped:R().int().nonnegative(),warnings:W(x()),logs:W(nr)}),vo=10,Sa=600,yo=60,_a=600,wo="time",Ml="simple",af=fe(["time","full"]),by=fe(["simple","full"]),Yo=T({stripClaudeCodeBillingHeader:Ce(),hasSeenOnboarding:Ce().default(!1),slowResponseThresholdSeconds:R().int().min(0).max(Sa).default(vo),providerTestTimeoutSeconds:R().int().min(1).max(_a).default(yo),timeDisplayFormat:af.default(wo),captureMode:by.default(Ml)}),fs="/api/config";async function vy(e){return rt(e,Yo,void 0,t=>`Failed to fetch ${e}: ${t.status}`)}async function Rr(e){return rt(fs,Yo,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(e)},t=>`PATCH failed with status ${t.status}`)}function Il(){const e=Ut(fs,vy,{revalidateOnFocus:!1,revalidateIfStale:!1}),{mutate:t}=Xd(),n=e.data?.stripClaudeCodeBillingHeader??!1,r=e.data?.captureMode??Ml,o=e.data?.slowResponseThresholdSeconds??vo,i=e.data?.providerTestTimeoutSeconds??yo,a=e.data?.timeDisplayFormat??wo,l=m=>({stripClaudeCodeBillingHeader:e.data?.stripClaudeCodeBillingHeader??!1,hasSeenOnboarding:e.data?.hasSeenOnboarding??!1,slowResponseThresholdSeconds:e.data?.slowResponseThresholdSeconds??vo,providerTestTimeoutSeconds:e.data?.providerTestTimeoutSeconds??yo,timeDisplayFormat:e.data?.timeDisplayFormat??wo,captureMode:r,...m}),u=async m=>{await t(fs,Rr({stripClaudeCodeBillingHeader:m}),{optimisticData:l({stripClaudeCodeBillingHeader:m}),rollbackOnError:!0,revalidate:!1})},d=async m=>{await t(fs,Rr({slowResponseThresholdSeconds:m}),{optimisticData:l({slowResponseThresholdSeconds:m}),rollbackOnError:!0,revalidate:!1})},p=async m=>{await t(fs,Rr({timeDisplayFormat:m}),{optimisticData:l({timeDisplayFormat:m}),rollbackOnError:!0,revalidate:!1})},f=async m=>{await t(fs,Rr({providerTestTimeoutSeconds:m}),{optimisticData:l({providerTestTimeoutSeconds:m}),rollbackOnError:!0,revalidate:!1})};return{strip:n,captureMode:r,slowResponseThresholdSeconds:o,providerTestTimeoutSeconds:i,timeDisplayFormat:a,isLoading:e.isLoading,isError:e.error!==void 0,setStrip:u,setSlowResponseThresholdSeconds:d,setProviderTestTimeoutSeconds:f,setTimeDisplayFormat:p}}const lf=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const yy=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const wy=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const tu=e=>{const t=wy(e);return t.charAt(0).toUpperCase()+t.slice(1)};var jy={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ky=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};const Sy=c.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:i,iconNode:a,...l},u)=>c.createElement("svg",{ref:u,...jy,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:lf("lucide",o),...!i&&!ky(l)&&{"aria-hidden":"true"},...l},[...a.map(([d,p])=>c.createElement(d,p)),...Array.isArray(i)?i:[i]]));const B=(e,t)=>{const n=c.forwardRef(({className:r,...o},i)=>c.createElement(Sy,{ref:i,iconNode:t,className:lf(`lucide-${yy(tu(e))}`,`lucide-${e}`,r),...o}));return n.displayName=tu(e),n};const _y=[["path",{d:"m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16",key:"xik6mr"}],["path",{d:"M15.697 14h5.606",key:"1stdlc"}],["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}]],Ny=B("a-large-small",_y);const Cy=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],Ty=B("activity",Cy);const Ey=[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]],Ry=B("arrow-down-right",Ey);const My=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Iy=B("arrow-down",My);const Py=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Ay=B("arrow-left",Py);const Oy=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],zy=B("arrow-up-right",Oy);const Ly=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],$y=B("arrow-up",Ly);const Dy=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],Pl=B("beaker",Dy);const Fy=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],Uy=B("bell",Fy);const By=[["path",{d:"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2",key:"1ah6g2"}],["rect",{x:"14",y:"2",width:"8",height:"8",rx:"1",key:"88lufb"}]],qy=B("blocks",By);const Hy=[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]],Vy=B("brain-circuit",Hy);const Wy=[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]],cf=B("brain",Wy);const Zy=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ge=B("check",Zy);const Ky=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],tt=B("chevron-down",Ky);const Gy=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Jy=B("chevron-left",Gy);const Yy=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],vt=B("chevron-right",Yy);const Xy=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Al=B("chevron-up",Xy);const Qy=[["path",{d:"m7 6 5 5 5-5",key:"1lc07p"}],["path",{d:"m7 13 5 5 5-5",key:"1d48rs"}]],ew=B("chevrons-down",Qy);const tw=[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]],nw=B("chevrons-left",tw);const sw=[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]],rw=B("chevrons-right",sw);const ow=[["path",{d:"m17 11-5-5-5 5",key:"e8nh98"}],["path",{d:"m17 18-5-5-5 5",key:"2avn1x"}]],iw=B("chevrons-up",ow);const aw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Ns=B("circle-alert",aw);const lw=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],hr=B("circle-check-big",lw);const cw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Na=B("circle-check",cw);const uw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],dw=B("circle-question-mark",uw);const pw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],fw=B("circle-stop",pw);const mw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],uf=B("circle-x",mw);const hw=[["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z",key:"1tn4o7"}],["path",{d:"m6.2 5.3 3.1 3.9",key:"iuk76l"}],["path",{d:"m12.4 3.4 3.1 4",key:"6hsd6n"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z",key:"ltgou9"}]],gw=B("clapperboard",hw);const xw=[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],bw=B("clock-3",xw);const vw=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],sn=B("clock",vw);const yw=[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]],ww=B("cloud-upload",yw);const jw=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],df=B("code-xml",jw);const kw=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],Sw=B("columns-2",kw);const _w=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],zt=B("copy",_w);const Nw=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],Cw=B("cpu",Nw);const Tw=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],gr=B("download",Tw);const Ew=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Rw=B("ellipsis",Ew);const Mw=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Ol=B("external-link",Mw);const Iw=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Pw=B("eye-off",Iw);const Aw=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],pf=B("eye",Aw);const Ow=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],zw=B("file-braces",Ow);const Lw=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]],$w=B("file-diff",Lw);const Dw=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]],Fw=B("file-search",Dw);const Uw=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m8 16 2-2-2-2",key:"10vzyd"}],["path",{d:"M12 18h4",key:"1wd2n7"}]],Bw=B("file-terminal",Uw);const qw=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Hw=B("file-text",qw);const Vw=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Ww=B("flag",Vw);const Zw=[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]],ff=B("flask-conical",Zw);const Kw=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],Gw=B("folder-open",Kw);const Jw=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],zl=B("gauge",Jw);const Yw=[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]],Xw=B("git-compare-arrows",Yw);const Qw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],mf=B("globe",Qw);const ej=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],hf=B("history",ej);const tj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],nj=B("info",tj);const sj=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],nu=B("layers",sj);const rj=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],He=B("loader-circle",rj);const oj=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],ij=B("lock",oj);const aj=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],lj=B("maximize-2",aj);const cj=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Xo=B("message-square",cj);const uj=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],dj=B("minimize-2",uj);const pj=[["path",{d:"M5 12h14",key:"1ays0h"}]],gf=B("minus",pj);const fj=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],mj=B("monitor",fj);const hj=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],gj=B("moon",hj);const xj=[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]],bj=B("mouse-pointer-click",xj);const vj=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],yj=B("network",vj);const wj=[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z",key:"1fd625"}]],jj=B("octagon-alert",wj);const kj=[["path",{d:"m16 16 2 2 4-4",key:"gfu2re"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]],Sj=B("package-check",kj);const _j=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]],Nj=B("panel-right-close",_j);const Cj=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}]],Tj=B("panel-right-open",Cj);const Ej=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],xf=B("pencil",Ej);const Rj=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],su=B("plus",Rj);const Mj=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],ru=B("radio",Mj);const Ij=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Bt=B("refresh-cw",Ij);const Pj=[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]],bf=B("rocket",Pj);const Aj=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],vf=B("rotate-ccw",Aj);const Oj=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],jo=B("rotate-cw",Oj);const zj=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]],Lj=B("rows-3",zj);const $j=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Dj=B("save",$j);const Fj=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]],Uj=B("scan",Fj);const Bj=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],qj=B("search",Bj);const Hj=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],Vj=B("send",Hj);const Wj=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],Zj=B("server",Wj);const Kj=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Gj=B("settings",Kj);const Jj=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],Yj=B("shield-alert",Jj);const Xj=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ou=B("shield-check",Xj);const Qj=[["path",{d:"M7 18v-6a5 5 0 1 1 10 0v6",key:"pcx96s"}],["path",{d:"M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z",key:"1b4s83"}],["path",{d:"M21 12h1",key:"jtio3y"}],["path",{d:"M18.5 4.5 18 5",key:"g5sp9y"}],["path",{d:"M2 12h1",key:"1uaihz"}],["path",{d:"M12 2v1",key:"11qlp1"}],["path",{d:"m4.929 4.929.707.707",key:"1i51kw"}],["path",{d:"M12 12v6",key:"3ahymv"}]],Ca=B("siren",Qj);const e5=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Ta=B("sparkles",e5);const t5=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],n5=B("sun",t5);const s5=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Yn=B("terminal",s5);const r5=[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]],o5=B("timer",r5);const i5=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],wn=B("trash-2",i5);const a5=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],yn=B("triangle-alert",a5);const l5=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],yf=B("upload",l5);const c5=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],u5=B("wifi-off",c5);const d5=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],p5=B("wifi",d5);const f5=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],xr=B("wrench",f5);const m5=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],br=B("x",m5);const h5=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],sr=B("zap",h5),Ea="/api/config";async function g5(e){return rt(e,Yo,void 0,t=>`Failed to fetch ${e}: ${t.status}`)}async function x5(e){return rt(Ea,Yo,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(e)},t=>`PATCH failed with status ${t.status}`)}function b5(){const e=Ut(Ea,g5,{revalidateOnFocus:!1,revalidateIfStale:!1}),{mutate:t}=Xd(),n=e.data?.hasSeenOnboarding??!1,r=e.data?.captureMode??Ml,o=async()=>{await t(Ea,x5({hasSeenOnboarding:!0}),{optimisticData:{stripClaudeCodeBillingHeader:e.data?.stripClaudeCodeBillingHeader??!1,hasSeenOnboarding:!0,slowResponseThresholdSeconds:e.data?.slowResponseThresholdSeconds??vo,providerTestTimeoutSeconds:e.data?.providerTestTimeoutSeconds??yo,timeDisplayFormat:e.data?.timeDisplayFormat??wo,captureMode:r},rollbackOnError:!0,revalidate:!1})};return{hasSeenOnboarding:n,captureMode:r,isLoading:e.isLoading,markSeen:o}}function v5({expanded:e,onToggle:t,onDismiss:n}){const r=e?"grid":"hidden sm:grid";return s.jsx("div",{role:"note","aria-label":"Onboarding tip",className:"mx-3 mt-2 mb-1 rounded-md border border-warning/30 bg-warning/10 px-3 py-2 text-sm shadow-sm sm:mx-4",children:s.jsxs("div",{className:"flex items-start gap-3",children:[s.jsx(nj,{className:"mt-0.5 size-4 shrink-0 text-warning","aria-hidden":"true"}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"font-medium text-foreground",children:"Inspector ready"}),s.jsx("span",{className:"hidden truncate text-xs text-muted-foreground sm:inline",children:"Request, response, tool, timing, token, replay, and memory signals are active."})]}),s.jsx("div",{className:"mt-1 text-xs leading-relaxed text-muted-foreground sm:hidden",children:"Core capture is active."}),s.jsxs("div",{className:`${r} mt-2 gap-x-4 gap-y-1 text-xs leading-relaxed text-muted-foreground sm:grid-cols-2`,children:[s.jsxs("div",{children:[s.jsx("strong",{children:"Evidence"}),": logs, sessions, groups, and MCP exports are available."]}),s.jsxs("div",{children:[s.jsx("strong",{children:"Network"}),": replace ",s.jsx("code",{children:"localhost"})," if containers differ."]})]})]}),s.jsx("button",{type:"button",onClick:t,className:"inline-flex h-8 shrink-0 items-center gap-1 rounded-md border border-warning/35 px-2 text-xs font-medium text-foreground transition-colors hover:bg-warning/15 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none sm:hidden","aria-expanded":e,"aria-label":e?"Hide onboarding details":"Show onboarding details",children:s.jsx(tt,{className:`size-3.5 transition-transform ${e?"rotate-180":""}`})}),s.jsxs("button",{type:"button",onClick:n,className:"hidden h-8 shrink-0 items-center gap-1.5 rounded-md border border-warning/40 px-3 text-xs font-medium text-foreground transition-colors hover:bg-warning/15 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none sm:inline-flex","aria-label":"Dismiss onboarding tip",children:[s.jsx(Ge,{className:"size-3.5"}),"Got it"]}),s.jsx("button",{type:"button",onClick:n,className:"-m-1 shrink-0 rounded-sm p-1 text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Dismiss",children:s.jsx(br,{className:"size-3.5"})})]})})}function y5(){const{hasSeenOnboarding:e,isLoading:t,markSeen:n}=b5(),[r,o]=c.useState(!1);return t||e?null:s.jsx(v5,{expanded:r,onToggle:()=>o(i=>!i),onDismiss:()=>{n()}})}const w5="3.0.37",wf={version:w5};function Ks(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const jf="[REDACTED]",j5=/(^|[-_])(api[-_]?key|authorization|cookie|token|secret|password|access[-_]?token|refresh[-_]?token)([-_]|$)/i,k5=[/Bearer\s+[A-Za-z0-9._~+/=-]{12,}/gi,/\bsk-[A-Za-z0-9_-]{12,}\b/g,/\bsk-ant-[A-Za-z0-9_-]{12,}\b/g,/\bghp_[A-Za-z0-9_]{12,}\b/g,/\bglpat-[A-Za-z0-9_-]{12,}\b/g],iu=200,S5=25e6,kf=50,_5=1e4;function N5(e){return e<1024?`${e} chars`:e<1024*1024?`${Math.ceil(e/1024)} KB`:`${Math.ceil(e/(1024*1024))} MB`}function C5(e){let t=0;for(const n of e)t+=n.rawRequestBody?.length??0,t+=n.responseText?.length??0;return t}function T5(e){if(e.length>iu)return`Export is limited to ${iu} logs at once. Narrow the filter and try again.`;const t=C5(e);return t>S5?`Export is too large (${N5(t)} of text). Narrow the filter and try again.`:null}function Mr(e){return e?.aborted===!0?{ok:!1,message:"Export canceled.",canceled:!0}:null}async function E5(e,t){try{const n=await qn(`/api/logs/${e}/chunks`,_5,{signal:t});if(!n.ok)return null;const r=await n.json();return JSON.stringify(r,null,2)}catch{return null}}function Ra(e){if(Array.isArray(e))return e.map(n=>Ra(n));if(!Ks(e))return e;const t={};for(const[n,r]of Object.entries(e))t[n]=j5.test(n)?jf:Ra(r);return t}function R5(e){const t=n=>{let r=n;for(const o of k5)r=r.replace(o,jf);return r};try{const n=JSON.parse(e);return t(JSON.stringify(Ra(n),null,2))}catch{return t(e)}}function Ai(e,t){return t==="redacted"?R5(e):e}function M5(e,t){return{...e,rawRequestBody:null,responseText:null,rawHeaders:t==="raw"?e.rawHeaders:void 0,headers:t==="raw"?e.headers:void 0,streamingChunks:void 0,bodyContentMode:"compact"}}function I5(e,t,n,r=new Date().toISOString()){return{version:wf.version,exportedAt:r,mode:t,redacted:t==="redacted",logCount:e.length,logIds:e.map(o=>o.id),streamingChunkExportLimit:kf,streamingChunkLogIds:n.map(o=>o.id)}}async function P5(e,t="redacted",n={}){const r=Mr(n.signal);if(r!==null)return r;const o=T5(e);if(o!==null)return{ok:!1,message:o};const{default:i}=await Kt(async()=>{const{default:h}=await import("./jszip.min-2Bsoez0Q.js").then(g=>g.j);return{default:h}},__vite__mapDeps([0,1])),a=new i,l=t==="redacted"?"redacted":"raw",u=e.filter(h=>h.streaming).slice(0,kf);a.file("manifest.json",JSON.stringify(I5(e,t,u),null,2)),a.file("logs.json",JSON.stringify(e.map(h=>M5(h,t)),null,2));for(const h of e){const g=Mr(n.signal);if(g!==null)return g;h.rawRequestBody!==null&&a.file(`#${h.id}.Request.json`,Ai(h.rawRequestBody,t)),h.responseText!==null&&a.file(`#${h.id}.Response.json`,Ai(h.responseText,t))}for(const h of u){const g=Mr(n.signal);if(g!==null)return g;const v=await E5(h.id,n.signal);v!==null&&a.file(`#${h.id}.SSE.Response.json`,Ai(v,t))}const d=await a.generateAsync({type:"blob"}),p=Mr(n.signal);if(p!==null)return p;const f=URL.createObjectURL(d),m=document.createElement("a");return m.href=f,m.download=`agent-inspector-export-${l}-${new Date().toISOString().slice(0,10)}.zip`,document.body.appendChild(m),m.click(),document.body.removeChild(m),URL.revokeObjectURL(f),{ok:!0}}function Ma(e,t){switch(t){case"full":return e;case"time":return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}}function Qo(e,t,n){return`${Ma(e,n)} - ${Ma(t,n)}`}function A5(){const[e,t]=c.useState(Sg),n=c.useCallback(r=>{t(r),Ri(r),_g(r)},[]);return c.useEffect(()=>{Ri(e)},[e]),c.useEffect(()=>{function r(o){if(o.key!==Ng)return;const i=Cg(o.newValue);t(i),Ri(i)}return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)},[]),{themeMode:e,setThemeMode:n}}function O5(){const[e,t]=c.useState(Tg),[n,r]=c.useState(1),o=c.useCallback(i=>{t(i),Eg(i),r(Mi(i))},[]);return c.useEffect(()=>{const i=()=>{r(Mi(e))};if(i(),e==="auto")return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[e]),c.useEffect(()=>{const i=a=>{if(a.key!==Rg)return;const l=Qd(a.newValue);t(l),r(Mi(l))};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[]),{uiScalePreference:e,resolvedUiScale:n,setUiScalePreference:o}}const Hn=64,Ia=256,z5=64,L5=fe(["invalid-page-request","search-limit-exceeded","provider-model-limit-exceeded","sse-capacity-exceeded","provider-test-capacity-exceeded"]),$5=Ot([ae(400),ae(413),ae(429),ae(503)]);T({error:x().min(1).max(300),code:L5,status:$5,resource:x().min(1).max(80),limit:R().int().positive(),retryable:Ce()});function Ir(){return x().refine(e=>{if(e.length===0)return!0;try{const t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}},"Must be a valid http(s) URL")}const Ll=x().max(Ia),D5=W(Ll).max(Hn),F5=T({model:Ll.min(1),contextWindow:R().int().positive().optional(),outputLimit:R().int().positive().optional(),source:fe(["manual","registry"]).optional(),sourceUrl:x().optional(),updatedAt:x().optional()}),U5=W(F5).max(z5),B5=T({id:x(),name:x(),apiKey:x(),model:Ll.optional(),models:D5.optional().default([]),format:fe(["anthropic","openai"]).optional(),baseUrl:Ir().optional(),anthropicBaseUrl:Ir().optional(),openaiBaseUrl:Ir().optional(),openaiResponsesBaseUrl:Ir().optional(),authHeader:fe(["bearer","x-api-key"]).optional().default("bearer"),apiDocsUrl:x().optional(),modelMetadataUrl:x().optional(),modelMetadata:U5.optional(),source:fe(["company","personal"]).optional(),createdAt:x(),updatedAt:x()}),q5="configured",ko=B5.extend({apiKey:ae(q5)});async function H5(e){return rt(e,ko.array(),void 0,t=>`Failed to fetch ${e}: ${t.status}`)}function $l(){const e=Ut("/api/providers",H5,{revalidateOnFocus:!1,revalidateIfStale:!1});return{providers:e.data??[],isLoading:e.isLoading,isError:e.error,mutate:e.mutate}}function au(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function V5(...e){return t=>{let n=!1;const r=e.map(o=>{const i=au(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():au(e[o],null)}}}}function Re(...e){return c.useCallback(V5(...e),e)}function Cs(e){const t=c.forwardRef((n,r)=>{let{children:o,...i}=n,a=null,l=!1;const u=[];lu(o)&&typeof Pr=="function"&&(o=Pr(o._payload)),c.Children.forEach(o,m=>{if(Y5(m)){l=!0;const h=m;let g="child"in h.props?h.props.child:h.props.children;lu(g)&&typeof Pr=="function"&&(g=Pr(g._payload)),a=K5(h,g),u.push(a?.props?.children)}else u.push(m)}),a?a=c.cloneElement(a,void 0,u):!l&&c.Children.count(o)===1&&c.isValidElement(o)&&(a=o);const d=a?J5(a):void 0,p=Re(r,d);if(!a){if(o||o===0)throw new Error(l?tk(e):ek(e));return o}const f=G5(i,a.props??{});return a.type!==c.Fragment&&(f.ref=r?p:d),c.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}var W5=Cs("Slot"),Sf=Symbol.for("radix.slottable");function Z5(e){const t=n=>"child"in n?n.children(n.child):n.children;return t.displayName=`${e}.Slottable`,t.__radixId=Sf,t}var K5=(e,t)=>{if("child"in e.props){const n=e.props.child;return c.isValidElement(n)?c.cloneElement(n,void 0,e.props.children(n.props.children)):null}return c.isValidElement(t)?t:null};function G5(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...l)=>{const u=i(...l);return o(...l),u}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function J5(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Y5(e){return c.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Sf}var X5=Symbol.for("react.lazy");function lu(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===X5&&"_payload"in e&&Q5(e._payload)}function Q5(e){return typeof e=="object"&&e!==null&&"then"in e}var ek=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,tk=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Pr=Vo[" use ".trim().toString()],nk=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ge=nk.reduce((e,t)=>{const n=Cs(`Primitive.${t}`),r=c.forwardRef((o,i)=>{const{asChild:a,...l}=o,u=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(u,{...l,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function sk(e,t){e&&As.flushSync(()=>e.dispatchEvent(t))}var _f=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),rk="VisuallyHidden",Nf=c.forwardRef((e,t)=>s.jsx(ge.span,{...e,ref:t,style:{..._f,...e.style}}));Nf.displayName=rk;var ok=Nf;function un(e,t=[]){let n=[];function r(i,a){const l=c.createContext(a);l.displayName=i+"Context";const u=n.length;n=[...n,a];const d=f=>{const{scope:m,children:h,...g}=f,v=m?.[e]?.[u]||l,b=c.useMemo(()=>g,Object.values(g));return s.jsx(v.Provider,{value:b,children:h})};d.displayName=i+"Provider";function p(f,m,h={}){const{optional:g=!1}=h,v=m?.[e]?.[u]||l,b=c.useContext(v);if(b)return b;if(a!==void 0)return a;if(!g)throw new Error(`\`${f}\` must be used within \`${i}\``)}return[d,p]}const o=()=>{const i=n.map(a=>c.createContext(a));return function(l){const u=l?.[e]||i;return c.useMemo(()=>({[`__scope${e}`]:{...l,[e]:u}}),[l,u])}};return o.scopeName=e,[r,ik(o,...t)]}function ik(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const a=r.reduce((l,{useScope:u,scopeName:d})=>{const f=u(i)[`__scope${d}`];return{...l,...f}},{});return c.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Cf(e){const t=e+"CollectionProvider",[n,r]=un(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=v=>{const{scope:b,children:w}=v,y=c.useRef(null),j=c.useRef(new Map).current;return s.jsx(o,{scope:b,itemMap:j,collectionRef:y,children:w})};a.displayName=t;const l=e+"CollectionSlot",u=Cs(l),d=c.forwardRef((v,b)=>{const{scope:w,children:y}=v,j=i(l,w),k=Re(b,j.collectionRef);return s.jsx(u,{ref:k,children:y})});d.displayName=l;const p=e+"CollectionItemSlot",f="data-radix-collection-item",m=Cs(p),h=c.forwardRef((v,b)=>{const{scope:w,children:y,...j}=v,k=c.useRef(null),S=Re(b,k),_=i(p,w);return c.useEffect(()=>(_.itemMap.set(k,{ref:k,...j}),()=>{_.itemMap.delete(k)})),s.jsx(m,{[f]:"",ref:S,children:y})});h.displayName=p;function g(v){const b=i(e+"CollectionConsumer",v);return c.useCallback(()=>{const y=b.collectionRef.current;if(!y)return[];const j=Array.from(y.querySelectorAll(`[${f}]`));return Array.from(b.itemMap.values()).sort((_,N)=>j.indexOf(_.ref.current)-j.indexOf(N.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:d,ItemSlot:h},g,r]}function pe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o||!o.defaultPrevented)return t?.(o)}}var Je=globalThis?.document?c.useLayoutEffect:()=>{},ak=Vo[" useInsertionEffect ".trim().toString()]||Je;function Wn({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,a]=lk({defaultProp:t,onChange:n}),l=e!==void 0,u=l?e:o;{const p=c.useRef(e!==void 0);c.useEffect(()=>{const f=p.current;f!==l&&console.warn(`${r} is changing from ${f?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),p.current=l},[l,r])}const d=c.useCallback(p=>{if(l){const f=ck(p)?p(e):p;f!==e&&a.current?.(f)}else i(p)},[l,e,i,a]);return[u,d]}function lk({defaultProp:e,onChange:t}){const[n,r]=c.useState(e),o=c.useRef(n),i=c.useRef(t);return ak(()=>{i.current=t},[t]),c.useEffect(()=>{o.current!==n&&(i.current?.(n),o.current=n)},[n,o]),[n,r,i]}function ck(e){return typeof e=="function"}function uk(e,t){return c.useReducer((n,r)=>t[n][r]??n,e)}var yt=e=>{const{present:t,children:n}=e,r=dk(t),o=typeof n=="function"?n({present:r.isPresent}):c.Children.only(n),i=pk(r.ref,fk(o));return typeof n=="function"||r.isPresent?c.cloneElement(o,{ref:i}):null};yt.displayName="Presence";function dk(e){const[t,n]=c.useState(),r=c.useRef(null),o=c.useRef(e),i=c.useRef("none"),a=c.useRef(void 0),l=e?"mounted":"unmounted",[u,d]=uk(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return c.useEffect(()=>{u==="mounted"?(i.current=a.current??Fs(r.current),a.current=void 0):i.current="none"},[u]),Je(()=>{const p=r.current,f=o.current;if(f!==e){const h=i.current,g=Fs(p);e?(a.current=g,d("MOUNT")):g==="none"||p?.display==="none"?d("UNMOUNT"):d(f&&h!==g?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),Je(()=>{if(t){let p;const f=t.ownerDocument.defaultView??window,m=g=>{const b=Fs(r.current).includes(CSS.escape(g.animationName));if(g.target===t&&b&&(d("ANIMATION_END"),!o.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",p=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},h=g=>{g.target===t&&(i.current=Fs(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{f.clearTimeout(p),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:c.useCallback(p=>{if(p){const f=getComputedStyle(p);r.current=f,a.current=Fs(f)}else r.current=null;n(p)},[])}}function cu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function pk(...e){const t=c.useRef(e);return t.current=e,c.useCallback(n=>{const r=t.current;let o=!1;const i=r.map(a=>{const l=cu(a,n);return!o&&typeof l=="function"&&(o=!0),l});if(o)return()=>{for(let a=0;a<i.length;a++){const l=i[a];typeof l=="function"?l():cu(r[a],null)}}},[])}function Fs(e){return e?.animationName||"none"}function fk(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var mk=Vo[" useId ".trim().toString()]||(()=>{}),hk=0;function qt(e){const[t,n]=c.useState(mk());return Je(()=>{n(r=>r??String(hk++))},[e]),e||(t?`radix-${t}`:"")}var ei="Collapsible",[gk]=un(ei),[xk,Dl]=gk(ei),Tf=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:i,onOpenChange:a,...l}=e,[u,d]=Wn({prop:r,defaultProp:o??!1,onChange:a,caller:ei});return s.jsx(xk,{scope:n,disabled:i,contentId:qt(),open:u,onOpenToggle:c.useCallback(()=>d(p=>!p),[d]),children:s.jsx(ge.div,{"data-state":Ul(u),"data-disabled":i?"":void 0,...l,ref:t})})});Tf.displayName=ei;var Ef="CollapsibleTrigger",Rf=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,o=Dl(Ef,n);return s.jsx(ge.button,{type:"button","aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open||!1,"data-state":Ul(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...r,ref:t,onClick:pe(e.onClick,o.onOpenToggle)})});Rf.displayName=Ef;var Fl="CollapsibleContent",Mf=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Dl(Fl,e.__scopeCollapsible);return s.jsx(yt,{present:n||o.open,children:({present:i})=>s.jsx(bk,{...r,ref:t,present:i})})});Mf.displayName=Fl;var bk=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:o,...i}=e,a=Dl(Fl,n),[l,u]=c.useState(r),d=c.useRef(null),p=Re(t,d),f=c.useRef(0),m=f.current,h=c.useRef(0),g=h.current,v=a.open||l,b=c.useRef(v),w=c.useRef(void 0);return c.useEffect(()=>{const y=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(y)},[]),Je(()=>{const y=d.current;if(y){w.current=w.current||{transitionDuration:y.style.transitionDuration,animationName:y.style.animationName},y.style.transitionDuration="0s",y.style.animationName="none";const j=y.getBoundingClientRect();f.current=j.height,h.current=j.width,b.current||(y.style.transitionDuration=w.current.transitionDuration,y.style.animationName=w.current.animationName),u(r)}},[a.open,r]),s.jsx(ge.div,{"data-state":Ul(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!v,...i,ref:p,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":g?`${g}px`:void 0,...e.style},children:v&&o})});function Ul(e){return e?"open":"closed"}var vk=Tf,yk=c.createContext(void 0);function ti(e){const t=c.useContext(yk);return e||t||"ltr"}function Qe(e){const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),c.useMemo(()=>((...n)=>t.current?.(...n)),[])}var wk="DismissableLayer",Pa="dismissableLayer.update",jk="dismissableLayer.pointerDownOutside",kk="dismissableLayer.focusOutside",uu,Bl=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ni=c.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:l,onDismiss:u,...d}=e,p=c.useContext(Bl),[f,m]=c.useState(null),h=f?.ownerDocument??globalThis?.document,[,g]=c.useState({}),v=Re(t,m),b=Array.from(p.layers),[w]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),y=w?b.indexOf(w):-1,j=f?b.indexOf(f):-1,k=p.layersWithOutsidePointerEventsDisabled.size>0,S=j>=y,_=c.useRef(!1),N=Tk(C=>{i?.(C),l?.(C),C.defaultPrevented||u?.()},{ownerDocument:h,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:_,dismissableSurfaces:p.dismissableSurfaces,shouldHandlePointerDownOutside:c.useCallback(C=>{if(!(C instanceof Node))return!1;const I=[...p.branches].some(F=>F.contains(C));return S&&!I},[p.branches,S])}),P=Ek(C=>{if(r&&_.current)return;const I=C.target;[...p.branches].some(U=>U.contains(I))||(a?.(C),l?.(C),C.defaultPrevented||u?.())},h),A=f?j===b.length-1:!1,M=Qe(C=>{C.key==="Escape"&&(o?.(C),!C.defaultPrevented&&u&&(C.preventDefault(),u()))});return c.useEffect(()=>{if(A)return h.addEventListener("keydown",M,{capture:!0}),()=>h.removeEventListener("keydown",M,{capture:!0})},[h,A,M]),c.useEffect(()=>{if(f)return n&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(uu=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(f)),p.layers.add(f),du(),()=>{n&&(p.layersWithOutsidePointerEventsDisabled.delete(f),p.layersWithOutsidePointerEventsDisabled.size===0&&(h.body.style.pointerEvents=uu))}},[f,h,n,p]),c.useEffect(()=>()=>{f&&(p.layers.delete(f),p.layersWithOutsidePointerEventsDisabled.delete(f),du())},[f,p]),c.useEffect(()=>{const C=()=>g({});return document.addEventListener(Pa,C),()=>document.removeEventListener(Pa,C)},[]),s.jsx(ge.div,{...d,ref:v,style:{pointerEvents:k?S?"auto":"none":void 0,...e.style},onFocusCapture:pe(e.onFocusCapture,P.onFocusCapture),onBlurCapture:pe(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:pe(e.onPointerDownCapture,N.onPointerDownCapture)})});ni.displayName=wk;var Sk="DismissableLayerBranch",_k=c.forwardRef((e,t)=>{const n=c.useContext(Bl),r=c.useRef(null),o=Re(t,r);return c.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),s.jsx(ge.div,{...e,ref:o})});_k.displayName=Sk;function Nk(){const e=c.useContext(Bl),[t,n]=c.useState(null);return c.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var Ck=()=>!0;function Tk(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:i,shouldHandlePointerDownOutside:a=Ck}=t,l=Qe(e),u=c.useRef(!1),d=c.useRef(!1),p=c.useRef(new Map),f=c.useRef(()=>{});return c.useEffect(()=>{function m(){d.current=!1,o.current=!1,p.current.clear()}function h(){return Array.from(p.current.values()).some(Boolean)}function g(j){if(!d.current)return;const k=j.target;k instanceof Node&&[...i].some(_=>_.contains(k))||p.current.set(j.type,!0),j.type==="click"&&window.setTimeout(()=>{d.current&&f.current()},0)}function v(j){d.current&&p.current.set(j.type,!1)}const b=j=>{if(j.target&&!u.current){let k=function(){n.removeEventListener("click",f.current);const _=h();m(),_||If(jk,l,S,{discrete:!0})};if(!a(j.target)){n.removeEventListener("click",f.current),m(),u.current=!1;return}const S={originalEvent:j};d.current=!0,o.current=r&&j.button===0,p.current.clear(),!r||j.button!==0?k():(n.removeEventListener("click",f.current),f.current=k,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),m();u.current=!1},w=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const j of w)n.addEventListener(j,g,!0),n.addEventListener(j,v);const y=window.setTimeout(()=>{n.addEventListener("pointerdown",b)},0);return()=>{window.clearTimeout(y),n.removeEventListener("pointerdown",b),n.removeEventListener("click",f.current);for(const j of w)n.removeEventListener(j,g,!0),n.removeEventListener(j,v)}},[n,l,r,o,i,a]),{onPointerDownCapture:()=>u.current=!0}}function Ek(e,t=globalThis?.document){const n=Qe(e),r=c.useRef(!1);return c.useEffect(()=>{const o=i=>{i.target&&!r.current&&If(kk,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function du(){const e=new CustomEvent(Pa);document.dispatchEvent(e)}function If(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?sk(o,i):o.dispatchEvent(i)}var Oi="focusScope.autoFocusOnMount",zi="focusScope.autoFocusOnUnmount",pu={bubbles:!1,cancelable:!0},Rk="FocusScope",ql=c.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[l,u]=c.useState(null),d=Qe(o),p=Qe(i),f=c.useRef(null),m=Re(t,u),h=c.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;c.useEffect(()=>{if(r){let v=function(j){if(h.paused||!l)return;const k=j.target;l.contains(k)?f.current=k:hn(f.current,{select:!0})},b=function(j){if(h.paused||!l)return;const k=j.relatedTarget;k!==null&&(l.contains(k)||hn(f.current,{select:!0}))},w=function(j){if(document.activeElement===document.body)for(const S of j)S.removedNodes.length>0&&hn(l)};document.addEventListener("focusin",v),document.addEventListener("focusout",b);const y=new MutationObserver(w);return l&&y.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",b),y.disconnect()}}},[r,l,h.paused]),c.useEffect(()=>{if(l){mu.add(h);const v=document.activeElement;if(!l.contains(v)){const w=new CustomEvent(Oi,pu);l.addEventListener(Oi,d),l.dispatchEvent(w),w.defaultPrevented||(Mk(zk(Pf(l)),{select:!0}),document.activeElement===v&&hn(l))}return()=>{l.removeEventListener(Oi,d),setTimeout(()=>{const w=new CustomEvent(zi,pu);l.addEventListener(zi,p),l.dispatchEvent(w),w.defaultPrevented||hn(v??document.body,{select:!0}),l.removeEventListener(zi,p),mu.remove(h)},0)}}},[l,d,p,h]);const g=c.useCallback(v=>{if(!n&&!r||h.paused)return;const b=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,w=document.activeElement;if(b&&w){const y=v.currentTarget,[j,k]=Ik(y);j&&k?!v.shiftKey&&w===k?(v.preventDefault(),n&&hn(j,{select:!0})):v.shiftKey&&w===j&&(v.preventDefault(),n&&hn(k,{select:!0})):w===y&&v.preventDefault()}},[n,r,h.paused]);return s.jsx(ge.div,{tabIndex:-1,...a,ref:m,onKeyDown:g})});ql.displayName=Rk;function Mk(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(hn(r,{select:t}),document.activeElement!==n)return}function Ik(e){const t=Pf(e),n=fu(t,e),r=fu(t.reverse(),e);return[n,r]}function Pf(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function fu(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Pk(r,{upTo:t})))return r}function Pk(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Ak(e){return e instanceof HTMLInputElement&&"select"in e}function hn(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ak(e)&&t&&e.select()}}var mu=Ok();function Ok(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=hu(e,t),e.unshift(t)},remove(t){e=hu(e,t),e[0]?.resume()}}}function hu(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function zk(e){return e.filter(t=>t.tagName!=="A")}var Lk="Portal",si=c.forwardRef((e,t)=>{const{container:n,...r}=e,[o,i]=c.useState(!1);Je(()=>i(!0),[]);const a=n||o&&globalThis?.document?.body;return a?As.createPortal(s.jsx(ge.div,{...r,ref:t}),a):null});si.displayName=Lk;var Ar=0,ns=null;function Af(){c.useEffect(()=>{ns||(ns={start:gu(),end:gu()});const{start:e,end:t}=ns;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Ar++,()=>{Ar===1&&(ns?.start.remove(),ns?.end.remove(),ns=null),Ar=Math.max(0,Ar-1)}},[])}function gu(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Dt=function(){return Dt=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Dt.apply(this,arguments)};function Of(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function $k(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r<o;r++)(i||!(r in t))&&(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}var ro="right-scroll-bar-position",oo="width-before-scroll-bar",Dk="with-scroll-bars-hidden",Fk="--removed-body-scroll-bar-size";function Li(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function Uk(e,t){var n=c.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var Bk=typeof window<"u"?c.useLayoutEffect:c.useEffect,xu=new WeakMap;function qk(e,t){var n=Uk(null,function(r){return e.forEach(function(o){return Li(o,r)})});return Bk(function(){var r=xu.get(n);if(r){var o=new Set(r),i=new Set(e),a=n.current;o.forEach(function(l){i.has(l)||Li(l,null)}),i.forEach(function(l){o.has(l)||Li(l,a)})}xu.set(n,e)},[e]),n}function Hk(e){return e}function Vk(e,t){t===void 0&&(t=Hk);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(i){var a=t(i,r);return n.push(a),function(){n=n.filter(function(l){return l!==a})}},assignSyncMedium:function(i){for(r=!0;n.length;){var a=n;n=[],a.forEach(i)}n={push:function(l){return i(l)},filter:function(){return n}}},assignMedium:function(i){r=!0;var a=[];if(n.length){var l=n;n=[],l.forEach(i),a=n}var u=function(){var p=a;a=[],p.forEach(i)},d=function(){return Promise.resolve().then(u)};d(),n={push:function(p){a.push(p),d()},filter:function(p){return a=a.filter(p),n}}}};return o}function Wk(e){e===void 0&&(e={});var t=Vk(null);return t.options=Dt({async:!0,ssr:!1},e),t}var zf=function(e){var t=e.sideCar,n=Of(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return c.createElement(r,Dt({},n))};zf.isSideCarExport=!0;function Zk(e,t){return e.useMedium(t),zf}var Lf=Wk(),$i=function(){},ri=c.forwardRef(function(e,t){var n=c.useRef(null),r=c.useState({onScrollCapture:$i,onWheelCapture:$i,onTouchMoveCapture:$i}),o=r[0],i=r[1],a=e.forwardProps,l=e.children,u=e.className,d=e.removeScrollBar,p=e.enabled,f=e.shards,m=e.sideCar,h=e.noRelative,g=e.noIsolation,v=e.inert,b=e.allowPinchZoom,w=e.as,y=w===void 0?"div":w,j=e.gapMode,k=Of(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=m,_=qk([n,t]),N=Dt(Dt({},k),o);return c.createElement(c.Fragment,null,p&&c.createElement(S,{sideCar:Lf,removeScrollBar:d,shards:f,noRelative:h,noIsolation:g,inert:v,setCallbacks:i,allowPinchZoom:!!b,lockRef:n,gapMode:j}),a?c.cloneElement(c.Children.only(l),Dt(Dt({},N),{ref:_})):c.createElement(y,Dt({},N,{className:u,ref:_}),l))});ri.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ri.classNames={fullWidth:oo,zeroRight:ro};var Kk=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Gk(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Kk();return t&&e.setAttribute("nonce",t),e}function Jk(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Yk(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Xk=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Gk())&&(Jk(t,n),Yk(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Qk=function(){var e=Xk();return function(t,n){c.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},$f=function(){var e=Qk(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},eS={left:0,top:0,right:0,gap:0},Di=function(e){return parseInt(e||"",10)||0},tS=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Di(n),Di(r),Di(o)]},nS=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return eS;var t=tS(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},sS=$f(),bs="data-scroll-locked",rS=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,l=e.gap;return n===void 0&&(n="margin"),`
|
|
65
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of e.seen.entries()){const l=a[1];if(t===a[0]){i(a);continue}if(e.external){const d=e.external.registry.get(a[0])?.id;if(t!==a[0]&&d){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(l.cycle){i(a);continue}if(l.count>1&&e.reused==="ref"){i(a);continue}}}function Tp(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=l=>{const u=e.seen.get(l);if(u.ref===null)return;const d=u.def??u.schema,p={...d},f=u.ref;if(u.ref=null,f){r(f);const h=e.seen.get(f),x=h.schema;if(x.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(d.allOf=d.allOf??[],d.allOf.push(x)):Object.assign(d,x),Object.assign(d,p),l._zod.parent===f)for(const b in d)b==="$ref"||b==="allOf"||b in p||delete d[b];if(x.$ref&&h.def)for(const b in d)b==="$ref"||b==="allOf"||b in h.def&&JSON.stringify(d[b])===JSON.stringify(h.def[b])&&delete d[b]}const m=l._zod.parent;if(m&&m!==f){r(m);const h=e.seen.get(m);if(h?.schema.$ref&&(d.$ref=h.schema.$ref,h.def))for(const x in d)x==="$ref"||x==="allOf"||x in h.def&&JSON.stringify(d[x])===JSON.stringify(h.def[x])&&delete d[x]}e.override({zodSchema:l,jsonSchema:d,path:u.path??[]})};for(const l of[...e.seen.entries()].reverse())r(l[0]);const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const l=e.external.registry.get(t)?.id;if(!l)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(l)}Object.assign(o,n.def??n.schema);const i=e.metadataRegistry.get(t)?.id;i!==void 0&&o.id===i&&delete o.id;const a=e.external?.defs??{};for(const l of e.seen.entries()){const u=l[1];u.def&&u.defId&&(u.def.id===u.defId&&delete u.def.id,a[u.defId]=u.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?o.$defs=a:o.definitions=a);try{const l=JSON.parse(JSON.stringify(o));return Object.defineProperty(l,"~standard",{value:{...t["~standard"],jsonSchema:{input:xo(t,"input",e.processors),output:xo(t,"output",e.processors)}},enumerable:!1,writable:!1}),l}catch{throw new Error("Error converting schema to JSON.")}}function ot(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return ot(r.element,n);if(r.type==="set")return ot(r.valueType,n);if(r.type==="lazy")return ot(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return ot(r.innerType,n);if(r.type==="intersection")return ot(r.left,n)||ot(r.right,n);if(r.type==="record"||r.type==="map")return ot(r.keyType,n)||ot(r.valueType,n);if(r.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:ot(r.in,n)||ot(r.out,n);if(r.type==="object"){for(const o in r.shape)if(ot(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(ot(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(ot(o,n))return!0;return!!(r.rest&&ot(r.rest,n))}return!1}const Lb=(e,t={})=>n=>{const r=Np({...n,processors:t});return Ze(e,r),Cp(r,e),Tp(r,e)},xo=(e,t,n={})=>r=>{const{libraryOptions:o,target:i}=r??{},a=Np({...o??{},target:i,io:t,processors:n});return Ze(e,a),Cp(a,e),Tp(a,e)},$b={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Db=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:i,maximum:a,format:l,patterns:u,contentEncoding:d}=e._zod.bag;if(typeof i=="number"&&(o.minLength=i),typeof a=="number"&&(o.maxLength=a),l&&(o.format=$b[l]??l,o.format===""&&delete o.format,l==="time"&&delete o.format),d&&(o.contentEncoding=d),u&&u.size>0){const p=[...u];p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(f=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))])}},Fb=(e,t,n,r)=>{const o=n,{minimum:i,maximum:a,format:l,multipleOf:u,exclusiveMaximum:d,exclusiveMinimum:p}=e._zod.bag;typeof l=="string"&&l.includes("int")?o.type="integer":o.type="number";const f=typeof p=="number"&&p>=(i??Number.NEGATIVE_INFINITY),m=typeof d=="number"&&d<=(a??Number.POSITIVE_INFINITY),h=t.target==="draft-04"||t.target==="openapi-3.0";f?h?(o.minimum=p,o.exclusiveMinimum=!0):o.exclusiveMinimum=p:typeof i=="number"&&(o.minimum=i),m?h?(o.maximum=d,o.exclusiveMaximum=!0):o.exclusiveMaximum=d:typeof a=="number"&&(o.maximum=a),typeof u=="number"&&(o.multipleOf=u)},Ub=(e,t,n,r)=>{n.type="boolean"},Bb=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},qb=(e,t,n,r)=>{n.not={}},Hb=(e,t,n,r)=>{},Vb=(e,t,n,r)=>{const o=e._zod.def,i=op(o.entries);i.every(a=>typeof a=="number")&&(n.type="number"),i.every(a=>typeof a=="string")&&(n.type="string"),n.enum=i},Wb=(e,t,n,r)=>{const o=e._zod.def,i=[];for(const a of o.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){const a=i[0];n.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[a]:n.const=a}else i.every(a=>typeof a=="number")&&(n.type="number"),i.every(a=>typeof a=="string")&&(n.type="string"),i.every(a=>typeof a=="boolean")&&(n.type="boolean"),i.every(a=>a===null)&&(n.type="null"),n.enum=i},Zb=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Kb=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Gb=(e,t,n,r)=>{const o=n,i=e._zod.def,{minimum:a,maximum:l}=e._zod.bag;typeof a=="number"&&(o.minItems=a),typeof l=="number"&&(o.maxItems=l),o.type="array",o.items=Ze(i.element,t,{...r,path:[...r.path,"items"]})},Jb=(e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object",o.properties={};const a=i.shape;for(const d in a)o.properties[d]=Ze(a[d],t,{...r,path:[...r.path,"properties",d]});const l=new Set(Object.keys(a)),u=new Set([...l].filter(d=>{const p=i.shape[d]._zod;return t.io==="input"?p.optin===void 0:p.optout===void 0}));u.size>0&&(o.required=Array.from(u)),i.catchall?._zod.def.type==="never"?o.additionalProperties=!1:i.catchall?i.catchall&&(o.additionalProperties=Ze(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Yb=(e,t,n,r)=>{const o=e._zod.def,i=o.inclusive===!1,a=o.options.map((l,u)=>Ze(l,t,{...r,path:[...r.path,i?"oneOf":"anyOf",u]}));i?n.oneOf=a:n.anyOf=a},Xb=(e,t,n,r)=>{const o=e._zod.def,i=Ze(o.left,t,{...r,path:[...r.path,"allOf",0]}),a=Ze(o.right,t,{...r,path:[...r.path,"allOf",1]}),l=d=>"allOf"in d&&Object.keys(d).length===1,u=[...l(i)?i.allOf:[i],...l(a)?a.allOf:[a]];n.allOf=u},Qb=(e,t,n,r)=>{const o=n,i=e._zod.def;o.type="object";const a=i.keyType,u=a._zod.bag?.patterns;if(i.mode==="loose"&&u&&u.size>0){const p=Ze(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(const f of u)o.patternProperties[f.source]=p}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(o.propertyNames=Ze(i.keyType,t,{...r,path:[...r.path,"propertyNames"]})),o.additionalProperties=Ze(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const d=a._zod.values;if(d){const p=[...d].filter(f=>typeof f=="string"||typeof f=="number");p.length>0&&(o.required=p)}},ev=(e,t,n,r)=>{const o=e._zod.def,i=Ze(o.innerType,t,r),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=o.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]},tv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},nv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},sv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},rv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType;let a;try{a=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=a},ov=(e,t,n,r)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),a=t.io==="input"?i?o.out:o.in:o.out;Ze(a,t,r);const l=t.seen.get(e);l.ref=a},iv=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},Ep=(e,t,n,r)=>{const o=e._zod.def;Ze(o.innerType,t,r);const i=t.seen.get(e);i.ref=o.innerType},av=(e,t,n,r)=>{const o=e._zod.innerType;Ze(o,t,r);const i=t.seen.get(e);i.ref=o},lv=O("ZodISODateTime",(e,t)=>{r1.init(e,t),Fe.init(e,t)});function cv(e){return pb(lv,e)}const uv=O("ZodISODate",(e,t)=>{o1.init(e,t),Fe.init(e,t)});function dv(e){return fb(uv,e)}const pv=O("ZodISOTime",(e,t)=>{i1.init(e,t),Fe.init(e,t)});function fv(e){return mb(pv,e)}const mv=O("ZodISODuration",(e,t)=>{a1.init(e,t),Fe.init(e,t)});function hv(e){return hb(mv,e)}const xv=(e,t)=>{cp.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Gx(e,n)},flatten:{value:n=>Kx(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,wa,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,wa,2)}},isEmpty:{get(){return e.issues.length===0}}})},St=O("ZodError",xv,{Parent:Error}),gv=xl(St),bv=gl(St),vv=Zo(St),yv=Ko(St),wv=Xx(St),jv=Qx(St),kv=eg(St),Sv=tg(St),_v=ng(St),Nv=sg(St),Cv=rg(St),Tv=og(St),Kc=new WeakMap;function fr(e,t,n){const r=Object.getPrototypeOf(e);let o=Kc.get(r);if(o||(o=new Set,Kc.set(r,o)),!o.has(t)){o.add(t);for(const i in n){const a=n[i];Object.defineProperty(r,i,{configurable:!0,enumerable:!1,get(){const l=a.bind(this);return Object.defineProperty(this,i,{configurable:!0,writable:!0,enumerable:!0,value:l}),l},set(l){Object.defineProperty(this,i,{configurable:!0,writable:!0,enumerable:!0,value:l})}})}}}const Le=O("ZodType",(e,t)=>(ze.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:xo(e,"input"),output:xo(e,"output")}}),e.toJSONSchema=Lb(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,r)=>gv(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>vv(e,n,r),e.parseAsync=async(n,r)=>bv(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>yv(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>wv(e,n,r),e.decode=(n,r)=>jv(e,n,r),e.encodeAsync=async(n,r)=>kv(e,n,r),e.decodeAsync=async(n,r)=>Sv(e,n,r),e.safeEncode=(n,r)=>_v(e,n,r),e.safeDecode=(n,r)=>Nv(e,n,r),e.safeEncodeAsync=async(n,r)=>Cv(e,n,r),e.safeDecodeAsync=async(n,r)=>Tv(e,n,r),fr(e,"ZodType",{check(...n){const r=this.def;return this.clone(_n(r,{checks:[...r.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,r){return Nn(this,n,r)},brand(){return this},register(n,r){return n.add(this,r),this},refine(n,r){return this.check(k2(n,r))},superRefine(n,r){return this.check(S2(n,r))},overwrite(n){return this.check(Os(n))},optional(){return Xc(this)},exactOptional(){return l2(this)},nullable(){return Qc(this)},nullish(){return Xc(Qc(this))},nonoptional(n){return m2(this,n)},array(){return W(this)},or(n){return Ot([this,n])},and(n){return s2(this,n)},transform(n){return eu(this,i2(n))},default(n){return d2(this,n)},prefault(n){return f2(this,n)},catch(n){return x2(this,n)},pipe(n){return eu(this,n)},readonly(){return v2(this)},describe(n){const r=this.clone();return Zs.add(r,{description:n}),r},meta(...n){if(n.length===0)return Zs.get(this);const r=this.clone();return Zs.add(r,n[0]),r},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return Zs.get(e)?.description},configurable:!0}),e)),Rp=O("_ZodString",(e,t)=>{bl.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Db(e,r,o);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,fr(e,"_ZodString",{regex(...r){return this.check(jb(...r))},includes(...r){return this.check(_b(...r))},startsWith(...r){return this.check(Nb(...r))},endsWith(...r){return this.check(Cb(...r))},min(...r){return this.check(ho(...r))},max(...r){return this.check(Sp(...r))},length(...r){return this.check(_p(...r))},nonempty(...r){return this.check(ho(1,...r))},lowercase(r){return this.check(kb(r))},uppercase(r){return this.check(Sb(r))},trim(){return this.check(Eb())},normalize(...r){return this.check(Tb(...r))},toLowerCase(){return this.check(Rb())},toUpperCase(){return this.check(Mb())},slugify(){return this.check(Ib())}})}),Ev=O("ZodString",(e,t)=>{bl.init(e,t),Rp.init(e,t),e.email=n=>e.check(V1(Rv,n)),e.url=n=>e.check(J1(Mv,n)),e.jwt=n=>e.check(db(Wv,n)),e.emoji=n=>e.check(Y1(Iv,n)),e.guid=n=>e.check(Hc(Gc,n)),e.uuid=n=>e.check(W1(Er,n)),e.uuidv4=n=>e.check(Z1(Er,n)),e.uuidv6=n=>e.check(K1(Er,n)),e.uuidv7=n=>e.check(G1(Er,n)),e.nanoid=n=>e.check(X1(Pv,n)),e.guid=n=>e.check(Hc(Gc,n)),e.cuid=n=>e.check(Q1(Av,n)),e.cuid2=n=>e.check(eb(Ov,n)),e.ulid=n=>e.check(tb(zv,n)),e.base64=n=>e.check(lb(qv,n)),e.base64url=n=>e.check(cb(Hv,n)),e.xid=n=>e.check(nb(Lv,n)),e.ksuid=n=>e.check(sb($v,n)),e.ipv4=n=>e.check(rb(Dv,n)),e.ipv6=n=>e.check(ob(Fv,n)),e.cidrv4=n=>e.check(ib(Uv,n)),e.cidrv6=n=>e.check(ab(Bv,n)),e.e164=n=>e.check(ub(Vv,n)),e.datetime=n=>e.check(cv(n)),e.date=n=>e.check(dv(n)),e.time=n=>e.check(fv(n)),e.duration=n=>e.check(hv(n))});function g(e){return H1(Ev,e)}const Fe=O("ZodStringFormat",(e,t)=>{$e.init(e,t),Rp.init(e,t)}),Rv=O("ZodEmail",(e,t)=>{Gg.init(e,t),Fe.init(e,t)}),Gc=O("ZodGUID",(e,t)=>{Zg.init(e,t),Fe.init(e,t)}),Er=O("ZodUUID",(e,t)=>{Kg.init(e,t),Fe.init(e,t)}),Mv=O("ZodURL",(e,t)=>{Jg.init(e,t),Fe.init(e,t)}),Iv=O("ZodEmoji",(e,t)=>{Yg.init(e,t),Fe.init(e,t)}),Pv=O("ZodNanoID",(e,t)=>{Xg.init(e,t),Fe.init(e,t)}),Av=O("ZodCUID",(e,t)=>{Qg.init(e,t),Fe.init(e,t)}),Ov=O("ZodCUID2",(e,t)=>{e1.init(e,t),Fe.init(e,t)}),zv=O("ZodULID",(e,t)=>{t1.init(e,t),Fe.init(e,t)}),Lv=O("ZodXID",(e,t)=>{n1.init(e,t),Fe.init(e,t)}),$v=O("ZodKSUID",(e,t)=>{s1.init(e,t),Fe.init(e,t)}),Dv=O("ZodIPv4",(e,t)=>{l1.init(e,t),Fe.init(e,t)}),Fv=O("ZodIPv6",(e,t)=>{c1.init(e,t),Fe.init(e,t)}),Uv=O("ZodCIDRv4",(e,t)=>{u1.init(e,t),Fe.init(e,t)}),Bv=O("ZodCIDRv6",(e,t)=>{d1.init(e,t),Fe.init(e,t)}),qv=O("ZodBase64",(e,t)=>{p1.init(e,t),Fe.init(e,t)}),Hv=O("ZodBase64URL",(e,t)=>{m1.init(e,t),Fe.init(e,t)}),Vv=O("ZodE164",(e,t)=>{h1.init(e,t),Fe.init(e,t)}),Wv=O("ZodJWT",(e,t)=>{g1.init(e,t),Fe.init(e,t)}),Mp=O("ZodNumber",(e,t)=>{vp.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Fb(e,r,o),fr(e,"ZodNumber",{gt(r,o){return this.check(Wc(r,o))},gte(r,o){return this.check(Pi(r,o))},min(r,o){return this.check(Pi(r,o))},lt(r,o){return this.check(Vc(r,o))},lte(r,o){return this.check(Ii(r,o))},max(r,o){return this.check(Ii(r,o))},int(r){return this.check(Jc(r))},safe(r){return this.check(Jc(r))},positive(r){return this.check(Wc(0,r))},nonnegative(r){return this.check(Pi(0,r))},negative(r){return this.check(Vc(0,r))},nonpositive(r){return this.check(Ii(0,r))},multipleOf(r,o){return this.check(Zc(r,o))},step(r,o){return this.check(Zc(r,o))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function R(e){return xb(Mp,e)}const Zv=O("ZodNumberFormat",(e,t)=>{b1.init(e,t),Mp.init(e,t)});function Jc(e){return gb(Zv,e)}const Kv=O("ZodBoolean",(e,t)=>{v1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ub(e,n,r)});function Ce(e){return bb(Kv,e)}const Gv=O("ZodNull",(e,t)=>{y1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bb(e,n,r)});function go(e){return vb(Gv,e)}const Jv=O("ZodUnknown",(e,t)=>{w1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hb()});function Bn(){return yb(Jv)}const Yv=O("ZodNever",(e,t)=>{j1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qb(e,n,r)});function Xv(e){return wb(Yv,e)}const Qv=O("ZodArray",(e,t)=>{k1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gb(e,n,r,o),e.element=t.element,fr(e,"ZodArray",{min(n,r){return this.check(ho(n,r))},nonempty(n){return this.check(ho(1,n))},max(n,r){return this.check(Sp(n,r))},length(n,r){return this.check(_p(n,r))},unwrap(){return this.element}})});function W(e,t){return Pb(Qv,e,t)}const e2=O("ZodObject",(e,t)=>{_1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jb(e,n,r,o),Ne(e,"shape",()=>t.shape),fr(e,"ZodObject",{keyof(){return fe(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Bn()})},loose(){return this.clone({...this._zod.def,catchall:Bn()})},strict(){return this.clone({...this._zod.def,catchall:Xv()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return Bx(this,n)},safeExtend(n){return qx(this,n)},merge(n){return Hx(this,n)},pick(n){return Fx(this,n)},omit(n){return Ux(this,n)},partial(...n){return Vx(Pp,this,n[0])},required(...n){return Wx(Ap,this,n[0])}})});function T(e,t){const n={type:"object",shape:e??{},...re(t)};return new e2(n)}const Ip=O("ZodUnion",(e,t)=>{jp.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yb(e,n,r,o),e.options=t.options});function Ot(e,t){return new Ip({type:"union",options:e,...re(t)})}const t2=O("ZodDiscriminatedUnion",(e,t)=>{Ip.init(e,t),N1.init(e,t)});function Cn(e,t,n){return new t2({type:"union",options:t,discriminator:e,...re(n)})}const n2=O("ZodIntersection",(e,t)=>{C1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xb(e,n,r,o)});function s2(e,t){return new n2({type:"intersection",left:e,right:t})}const Yc=O("ZodRecord",(e,t)=>{T1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qb(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Ke(e,t,n){return!t||!t._zod?new Yc({type:"record",keyType:g(),valueType:e,...re(t)}):new Yc({type:"record",keyType:e,valueType:t,...re(n)})}const ka=O("ZodEnum",(e,t)=>{E1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Vb(e,r,o),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const i={};for(const a of r)if(n.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new ka({...t,checks:[],...re(o),entries:i})},e.exclude=(r,o)=>{const i={...t.entries};for(const a of r)if(n.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new ka({...t,checks:[],...re(o),entries:i})}});function fe(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new ka({type:"enum",entries:n,...re(t)})}const r2=O("ZodLiteral",(e,t)=>{R1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wb(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ae(e,t){return new r2({type:"literal",values:Array.isArray(e)?e:[e],...re(t)})}const o2=O("ZodTransform",(e,t)=>{M1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kb(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new rp(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(tr(i,n.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=e),n.issues.push(tr(a))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(i=>(n.value=i,n.fallback=!0,n)):(n.value=o,n.fallback=!0,n)}});function i2(e){return new o2({type:"transform",transform:e})}const Pp=O("ZodOptional",(e,t)=>{kp.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ep(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Xc(e){return new Pp({type:"optional",innerType:e})}const a2=O("ZodExactOptional",(e,t)=>{I1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ep(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function l2(e){return new a2({type:"optional",innerType:e})}const c2=O("ZodNullable",(e,t)=>{P1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ev(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Qc(e){return new c2({type:"nullable",innerType:e})}const u2=O("ZodDefault",(e,t)=>{A1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>nv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function d2(e,t){return new u2({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():ap(t)}})}const p2=O("ZodPrefault",(e,t)=>{O1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function f2(e,t){return new p2({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():ap(t)}})}const Ap=O("ZodNonOptional",(e,t)=>{z1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function m2(e,t){return new Ap({type:"nonoptional",innerType:e,...re(t)})}const h2=O("ZodCatch",(e,t)=>{L1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function x2(e,t){return new h2({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const g2=O("ZodPipe",(e,t)=>{$1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ov(e,n,r,o),e.in=t.in,e.out=t.out});function eu(e,t){return new g2({type:"pipe",in:e,out:t})}const b2=O("ZodReadonly",(e,t)=>{D1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>iv(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function v2(e){return new b2({type:"readonly",innerType:e})}const y2=O("ZodLazy",(e,t)=>{F1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>av(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function w2(e){return new y2({type:"lazy",getter:e})}const j2=O("ZodCustom",(e,t)=>{U1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zb(e,n)});function k2(e,t={}){return Ab(j2,e,t)}function S2(e,t){return Ob(e,t)}const et=w2(()=>Ot([g(),R(),Ce(),go(),W(et),Ke(g(),et)]));function Op(e){return e===void 0||typeof e=="bigint"||typeof e=="function"?null:e}const zp=T({index:R(),timestamp:R(),type:g(),data:et}),_2=T({chunks:W(zp),truncated:Ce().optional().default(!1)}),N2=fe(["request","response"]),C2=T({logId:R().int().positive(),part:N2,text:g(),offset:R().int().nonnegative(),limit:R().int().positive(),totalBytes:R().int().nonnegative(),textBytes:R().int().nonnegative(),nextOffset:R().int().nonnegative().nullable(),hasMore:Ce(),contentMode:fe(["empty","partial","full"])}),nr=T({id:R(),timestamp:g(),method:g(),path:g(),model:g().nullable(),sessionId:g().nullable(),rawRequestBody:g().nullable(),responseStatus:R().nullable(),responseText:g().nullable(),inputTokens:R().nullable(),outputTokens:R().nullable(),cacheCreationInputTokens:R().nullable(),cacheReadInputTokens:R().nullable(),elapsedMs:R().nullable(),firstChunkMs:R().nullable().optional(),totalStreamMs:R().nullable().optional(),tokensPerSecond:R().nullable().optional(),streaming:Ce(),userAgent:g().nullable(),origin:g().nullable(),rawHeaders:Ke(g(),g()).optional(),headers:Ke(g(),g()).optional(),apiFormat:fe(["anthropic","openai","unknown"]).default("unknown"),isTest:Ce().optional().default(!1),replayOfLogId:R().nullable().optional(),providerName:g().nullable().optional(),clientPort:R().nullable().optional(),clientPid:R().nullable().optional(),clientCwd:g().nullable().optional(),clientProjectFolder:g().nullable().optional(),streamingChunks:_2.optional(),streamingChunksPath:g().nullable().optional(),rawRequestBodyBytes:R().int().nonnegative().nullable().optional(),responseTextBytes:R().int().nonnegative().nullable().optional(),bodyContentMode:fe(["full","compact","truncated"]).optional(),warnings:W(g()).optional(),error:g().nullable().optional()}),vl=T({type:g(),ttl:g().optional(),scope:g().optional()}),yl=T({type:ae("text"),text:g(),cache_control:vl.optional()}),Lp=T({type:ae("thinking"),thinking:g(),signature:g().optional()}),T2=T({type:ae("think"),thinking:g(),signature:g().optional()}),E2=T({type:ae("base64"),media_type:g(),data:g()}),$p=T({type:ae("image"),source:E2}),Dp=T({type:ae("tool_use"),id:g(),name:g(),input:Ke(g(),et)}),R2=Cn("type",[yl,$p]),M2=T({type:ae("tool_result"),tool_use_id:g().optional(),content:Ot([g(),W(R2)]),is_error:Ce().optional()}),I2=Cn("type",[yl,Lp,$p,Dp,M2]),P2=Ot([g(),W(I2)]),A2=T({role:fe(["user","assistant"]),content:P2}),O2=T({type:ae("text"),text:g(),cache_control:vl.optional()}),z2=T({type:g(),properties:Ke(g(),Ke(g(),et)).optional(),required:W(g()).optional(),additionalProperties:Ce().optional(),$schema:g().optional()}),L2=T({name:g(),description:g().optional(),input_schema:z2.optional(),cache_control:vl.optional()}),$2=Cn("type",[T({type:ae("enabled"),budget_tokens:R()}),T({type:ae("disabled")}),T({type:ae("adaptive")})]),Fp=T({model:g(),messages:W(A2),system:W(O2).optional(),tools:W(L2).optional(),max_tokens:R().optional(),temperature:R().optional(),stream:Ce().optional(),thinking:$2.optional(),metadata:T({user_id:g().optional()}).optional()}),wl=Cn("type",[yl,Lp,T2,Dp]),D2=T({input_tokens:R().nullable().optional(),output_tokens:R().nullable().optional(),cache_creation_input_tokens:R().nullable().optional(),cache_read_input_tokens:R().nullable().optional()}).passthrough(),Up=T({id:g(),type:ae("message"),model:g(),role:ae("assistant"),content:W(wl),stop_reason:g().nullable(),stop_sequence:g().nullable().optional(),usage:D2}).passthrough(),F2=T({type:ae("message_start"),message:T({id:g(),type:ae("message"),model:g(),role:ae("assistant"),content:W(wl),stop_reason:go(),stop_sequence:go(),usage:T({input_tokens:R(),cache_creation_input_tokens:R().optional(),cache_read_input_tokens:R().optional()}).passthrough()})}),U2=T({type:ae("content_block_start"),index:R(),content_block:wl}),B2=Cn("type",[T({type:ae("text_delta"),text:g()}),T({type:ae("input_json_delta"),partial_json:g()}),T({type:ae("thinking_delta"),thinking:g()}),T({type:ae("signature_delta"),signature:g()})]),q2=T({type:ae("content_block_delta"),index:R(),delta:B2}),H2=T({type:ae("content_block_stop"),index:R()}),V2=T({type:ae("message_delta"),delta:T({stop_reason:g().nullable(),stop_sequence:g().nullable().optional()}),usage:T({output_tokens:R(),input_tokens:R().optional(),cache_creation_input_tokens:R().optional(),cache_read_input_tokens:R().optional()}).passthrough()}),W2=T({type:ae("message_stop")}),Z2=T({type:ae("ping")}),K2=T({type:ae("error"),error:T({type:g(),message:g()})}),G2=Cn("type",[F2,U2,q2,H2,V2,W2,Z2,K2]),J2=Ot([g(),W(Cn("type",[T({type:ae("text"),text:g()}),T({type:ae("image_url"),image_url:T({url:g(),detail:g().optional()})})]))]),Bp=T({role:fe(["system","user","assistant","tool"]),content:J2,name:g().optional(),reasoning_content:g().optional(),thinking:g().optional(),think:g().optional()}),Y2=T({name:g(),arguments:g()}),qp=T({index:R().optional(),id:g().optional(),type:ae("function").optional(),function:T({name:g().optional(),arguments:g().optional()})});Bp.extend({content:Ot([g(),W(T({type:ae("text"),text:g()}))]).optional(),function_call:Y2.optional(),tool_calls:W(qp).optional()});const X2=T({type:ae("function"),function:T({name:g(),description:g().optional(),parameters:Ke(g(),et)})}),Hp=T({model:g(),messages:W(Bp),temperature:R().optional(),max_tokens:R().optional(),stream:Ce().optional(),tools:W(X2).optional(),tool_choice:Ot([fe(["auto","none","required"]),T({type:ae("auto")}),T({type:ae("none")}),T({type:ae("function"),function:T({name:g()})})]).optional(),user:g().optional()}),Q2=T({type:g(),name:g().optional(),description:g().optional(),parameters:et.optional(),function:T({name:g().optional(),description:g().optional(),parameters:et.optional()}).optional()}).passthrough(),Vp=T({model:g(),input:Bn().optional(),instructions:Ot([g(),go()]).optional(),stream:Ce().optional(),tools:W(Q2).optional(),tool_choice:Bn().optional(),max_output_tokens:R().optional(),temperature:R().optional(),user:g().optional(),metadata:Ke(g(),Bn()).optional()}).passthrough(),Wp=T({role:fe(["assistant"]).optional(),content:g().nullable().optional(),reasoning_content:g().nullable().optional(),thinking:g().nullable().optional(),think:g().nullable().optional(),function_call:T({name:g().optional(),arguments:g().optional()}).nullable().optional(),tool_calls:W(T({index:R(),id:g().optional(),type:ae("function").optional(),function:T({name:g().optional(),arguments:g().optional()})})).nullable().optional()}),ey=T({index:R(),message:T({role:fe(["assistant"]),content:g().nullable(),reasoning_content:g().optional(),thinking:g().optional(),think:g().optional(),function_call:T({name:g(),arguments:g()}).nullable().optional(),tool_calls:W(qp).optional()}).optional(),delta:Wp.optional(),finish_reason:g().nullable()}),ty=T({id:g(),object:ae("chat.completion"),created:R(),model:g(),choices:W(ey),usage:T({prompt_tokens:R().nullable().optional(),completion_tokens:R().nullable().optional(),total_tokens:R().nullable().optional()}).passthrough(),service_tier:g().nullable().optional(),system_fingerprint:g().nullable().optional()}).passthrough(),ny=T({id:g(),object:ae("chat.completion.chunk"),created:R(),model:g(),choices:W(T({index:R(),delta:Wp,finish_reason:g().nullable().optional()})),usage:T({prompt_tokens:R().nullable().optional(),completion_tokens:R().nullable().optional(),total_tokens:R().nullable().optional()}).passthrough().nullable().optional()}).passthrough(),sy=T({input_tokens:R().nullable().optional(),output_tokens:R().nullable().optional(),total_tokens:R().nullable().optional(),input_tokens_details:T({cached_tokens:R().nullable().optional()}).passthrough().nullable().optional(),output_tokens_details:T({reasoning_tokens:R().nullable().optional()}).passthrough().nullable().optional()}).passthrough(),ry=T({type:g()}).passthrough(),bo=T({id:g(),object:ae("response").optional(),created_at:R().optional(),status:g().nullable().optional(),model:g().optional(),output:W(ry).optional(),output_text:g().optional(),usage:sy.nullable().optional(),error:Bn().optional()}).passthrough(),oy=T({type:g()}).passthrough();function Zp(e){try{const t=JSON.parse(e),n=ty.safeParse(t);return n.success?n.data:null}catch{return null}}function Kp(e){try{const t=JSON.parse(e),n=bo.safeParse(t);return n.success?n.data:null}catch{return null}}const iy=T({error:g()}),ay=new Set(["POST","PUT","PATCH","DELETE"]);function Gp(e){const t=e?.method?.toUpperCase();if(t===void 0||!ay.has(t))return e;const n=new Headers(e?.headers);return n.has("x-agent-inspector-csrf")||n.set("x-agent-inspector-csrf","1"),{...e,headers:n}}async function jl(e,t){const n=await e.json();return t.parse(n)}async function kl(e,t){try{const n=await e.json(),r=iy.safeParse(n);return r.success?r.data.error:t}catch{return t}}async function rt(e,t,n,r){const o=await fetch(e,Gp(n));if(!o.ok){const i=r?.(o)??`Request failed with status ${o.status}`;throw new Error(await kl(o,i))}return jl(o,t)}function ly(e){return e<1e3?`${String(e)}ms`:`${String(Math.round(e/1e3))}s`}class Jo extends Error{constructor(t){super(`Request timed out after ${ly(t)}`),this.name="ApiTimeoutError"}}async function qn(e,t,n){const r=new AbortController;let o=!1;const i=setTimeout(()=>{o=!0,r.abort()},t),a=n?.signal??void 0,l=()=>r.abort();a!==void 0&&(a.aborted?r.abort():a.addEventListener("abort",l,{once:!0}));try{return await fetch(e,{...Gp(n),signal:r.signal})}catch(u){throw o&&u instanceof DOMException&&u.name==="AbortError"?new Jo(t):u}finally{clearTimeout(i),a?.removeEventListener("abort",l)}}async function We(e,t,n,r,o){const i=await qn(e,n,r);if(!i.ok){const a=o?.(i)??`Request failed with status ${i.status}`;throw new Error(await kl(i,a))}return jl(i,t)}const Jp=T({input:R().int().nonnegative(),output:R().int().nonnegative(),cacheCreate:R().int().nonnegative(),cacheRead:R().int().nonnegative(),total:R().int().nonnegative()}),cy=T({id:R().int().positive(),sessionLogNumber:R().int().positive().optional(),timestamp:g(),provider:g().nullable(),model:g().nullable(),apiFormat:fe(["anthropic","openai","unknown"]),method:g(),path:g(),status:R().nullable(),isStreaming:Ce(),hasError:Ce(),error:g().nullable(),latencyMs:R().nullable(),firstChunkMs:R().nullable().optional(),totalStreamMs:R().nullable().optional(),tokensPerSecond:R().nullable().optional(),tokens:T({input:R().nullable(),output:R().nullable(),cacheCreate:R().nullable(),cacheRead:R().nullable()}),sessionId:g().nullable(),userAgent:g().nullable().optional(),clientPid:R().nullable().optional(),clientProjectFolder:g().nullable().optional()}),Yp=T({id:g(),status:fe(["active","failed","completed","empty"]),logCoverage:fe(["recent","history"]),source:fe(["explicit","client-process","client-connection","provider-test"]).nullable(),runtimeMode:fe(["in-process","worker-thread","child-process"]).nullable(),createdAt:g().nullable(),updatedAt:g().nullable(),requestCount:R().int().nonnegative(),activeRequests:R().int().nonnegative(),completedRequests:R().int().nonnegative(),failedRequests:R().int().nonnegative(),queuedTasks:R().int().nonnegative(),runningTasks:R().int().nonnegative(),lastTaskError:g().nullable(),logCount:R().int().nonnegative(),errorCount:R().int().nonnegative(),models:W(g()),providers:W(g()),tokenUsage:Jp,lastLogId:R().nullable(),lastModel:g().nullable(),clientUserAgent:g().nullable().optional(),clientPid:R().nullable(),clientProjectFolder:g().nullable(),inspectorPath:g(),inspectorUrl:g(),apiPath:g(),apiUrl:g(),compactLogsPath:g(),compactLogsUrl:g(),latestLogLimit:R().int().positive(),latestLogs:W(cy)}),mr=fe(["created","running","completed","failed","cancelled"]),Sl=T({jsonPath:g(),markdownPath:g(),htmlPath:g(),exportedAt:g()}),uy=fe(["run-created","session-started","request","session-finished","evidence-exported"]),dy=fe(["info","success","warning","error"]),py=T({timestamp:g(),kind:uy,severity:dy,title:g(),details:g(),logId:R().int().positive().nullable(),status:R().nullable(),model:g().nullable(),provider:g().nullable(),latencyMs:R().nullable(),isStreaming:Ce().nullable()}),fy=fe(["none","active","provider-timeout","provider-http-error","provider-auth-error","provider-rate-limit","network-or-container","streaming-mismatch","context-pressure","runtime-task-error","model-output-error","unknown-failure","no-session-data"]),Xp=T({outcome:fe(["success","failure","active","unknown"]),severity:fe(["none","low","medium","high"]),category:fy,summary:g(),evidenceLogIds:W(R().int().positive()),hints:W(g())}),_l=T({status:fe(["PASS","FAIL","RUNNING","UNKNOWN"]),summary:g(),markdown:g()}),Qp=_l,Nl=T({id:g(),sessionId:g(),groupId:g().nullable().default(null),title:g(),task:g().nullable(),project:g().nullable(),agent:g().nullable(),status:mr,tags:W(g()),metadata:Ke(g(),et),evidence:Sl.nullable(),createdAt:g(),updatedAt:g()});T({runId:g().min(1).optional(),sessionId:g().min(1).optional(),groupId:g().min(1).nullable().optional(),title:g().min(1).optional(),task:g().nullable().optional(),project:g().nullable().optional(),agent:g().nullable().optional(),status:mr.optional(),tags:W(g()).optional(),metadata:Ke(g(),et).optional()}).optional();T({sessionId:g().min(1).optional(),groupId:g().min(1).nullable().optional(),title:g().min(1).optional(),task:g().nullable().optional(),project:g().nullable().optional(),agent:g().nullable().optional(),status:mr.optional(),tags:W(g()).optional(),metadata:Ke(g(),et).optional()});T({includeHistory:Ce().optional(),latestLogLimit:R().int().positive().max(50).optional()}).optional();T({run:Nl,evidence:Sl,session:Yp.nullable(),timeline:W(py),classification:Xp,jenkinsReport:_l});const my=T({run:Nl,classification:Xp,evidence:Sl.nullable(),jenkinsReport:_l.nullable(),sessionId:g(),inspectorUrl:g().nullable(),evidenceMarkdownPath:g().nullable(),updatedAt:g()});T({failures:W(my),total:R().int().nonnegative(),limit:R().int().positive()});const Cl=fe(["created","running","completed","failed","cancelled"]),Tl=fe(["evaluation","batch","manual"]),El=T({jsonPath:g(),markdownPath:g(),htmlPath:g(),exportedAt:g()}),ef=T({id:g(),groupId:g(),sessionId:g(),runId:g().nullable(),label:g().nullable(),agent:g().nullable(),provider:g().nullable(),model:g().nullable(),status:mr.nullable(),metadata:Ke(g(),et),addedAt:g(),updatedAt:g()}),Rl=T({id:g(),title:g(),kind:Tl,task:g().nullable(),project:g().nullable(),status:Cl,tags:W(g()),metadata:Ke(g(),et),evidence:El.nullable(),members:W(ef),createdAt:g(),updatedAt:g()});T({groupId:g().min(1).optional(),title:g().min(1).optional(),kind:Tl.optional(),task:g().nullable().optional(),project:g().nullable().optional(),status:Cl.optional(),tags:W(g()).optional(),metadata:Ke(g(),et).optional()}).optional();T({title:g().min(1).optional(),kind:Tl.optional(),task:g().nullable().optional(),project:g().nullable().optional(),status:Cl.optional(),tags:W(g()).optional(),metadata:Ke(g(),et).optional()});T({memberId:g().min(1).optional(),sessionId:g().min(1),runId:g().min(1).nullable().optional(),label:g().min(1).nullable().optional(),agent:g().min(1).nullable().optional(),provider:g().min(1).nullable().optional(),model:g().min(1).nullable().optional(),status:mr.nullable().optional(),metadata:Ke(g(),et).optional()});T({includeHistory:Ce().optional(),latestLogLimit:R().int().positive().max(50).optional()}).optional();T({deleteEvidence:Ce().optional()});const tf=T({groupId:g(),deleted:Ce(),evidenceDeleted:Ce(),evidencePath:g().nullable()}),nf=T({deleted:R().int().nonnegative(),groups:W(tf)}),sf=T({member:ef,run:Nl.nullable(),session:Yp.nullable()}),rf=T({memberCount:R().int().nonnegative(),sessionsWithData:R().int().nonnegative(),missingSessions:R().int().nonnegative(),requestCount:R().int().nonnegative(),errorCount:R().int().nonnegative(),tokenUsage:Jp,models:W(g()),providers:W(g()),completedMembers:R().int().nonnegative(),failedMembers:R().int().nonnegative(),runningMembers:R().int().nonnegative()}),hy=T({group:Rl,evidence:El,members:W(sf).nullable(),markdown:g(),summary:rf.nullable(),report:Qp.nullable()}),xy=T({group:Rl,evidence:El,members:W(sf),summary:rf,jenkinsReport:Qp}),of=T({groups:W(Rl)}),gy=T({sessionId:g(),imported:R().int().nonnegative(),skipped:R().int().nonnegative(),warnings:W(g()),logs:W(nr)}),vo=10,Sa=600,yo=60,_a=600,wo="time",Ml="simple",af=fe(["time","full"]),by=fe(["simple","full"]),Yo=T({stripClaudeCodeBillingHeader:Ce(),hasSeenOnboarding:Ce().default(!1),slowResponseThresholdSeconds:R().int().min(0).max(Sa).default(vo),providerTestTimeoutSeconds:R().int().min(1).max(_a).default(yo),timeDisplayFormat:af.default(wo),captureMode:by.default(Ml)}),fs="/api/config";async function vy(e){return rt(e,Yo,void 0,t=>`Failed to fetch ${e}: ${t.status}`)}async function Rr(e){return rt(fs,Yo,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(e)},t=>`PATCH failed with status ${t.status}`)}function Il(){const e=Ut(fs,vy,{revalidateOnFocus:!1,revalidateIfStale:!1}),{mutate:t}=Xd(),n=e.data?.stripClaudeCodeBillingHeader??!1,r=e.data?.captureMode??Ml,o=e.data?.slowResponseThresholdSeconds??vo,i=e.data?.providerTestTimeoutSeconds??yo,a=e.data?.timeDisplayFormat??wo,l=m=>({stripClaudeCodeBillingHeader:e.data?.stripClaudeCodeBillingHeader??!1,hasSeenOnboarding:e.data?.hasSeenOnboarding??!1,slowResponseThresholdSeconds:e.data?.slowResponseThresholdSeconds??vo,providerTestTimeoutSeconds:e.data?.providerTestTimeoutSeconds??yo,timeDisplayFormat:e.data?.timeDisplayFormat??wo,captureMode:r,...m}),u=async m=>{await t(fs,Rr({stripClaudeCodeBillingHeader:m}),{optimisticData:l({stripClaudeCodeBillingHeader:m}),rollbackOnError:!0,revalidate:!1})},d=async m=>{await t(fs,Rr({slowResponseThresholdSeconds:m}),{optimisticData:l({slowResponseThresholdSeconds:m}),rollbackOnError:!0,revalidate:!1})},p=async m=>{await t(fs,Rr({timeDisplayFormat:m}),{optimisticData:l({timeDisplayFormat:m}),rollbackOnError:!0,revalidate:!1})},f=async m=>{await t(fs,Rr({providerTestTimeoutSeconds:m}),{optimisticData:l({providerTestTimeoutSeconds:m}),rollbackOnError:!0,revalidate:!1})};return{strip:n,captureMode:r,slowResponseThresholdSeconds:o,providerTestTimeoutSeconds:i,timeDisplayFormat:a,isLoading:e.isLoading,isError:e.error!==void 0,setStrip:u,setSlowResponseThresholdSeconds:d,setProviderTestTimeoutSeconds:f,setTimeDisplayFormat:p}}const lf=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();const yy=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const wy=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase());const tu=e=>{const t=wy(e);return t.charAt(0).toUpperCase()+t.slice(1)};var jy={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ky=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};const Sy=c.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:i,iconNode:a,...l},u)=>c.createElement("svg",{ref:u,...jy,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:lf("lucide",o),...!i&&!ky(l)&&{"aria-hidden":"true"},...l},[...a.map(([d,p])=>c.createElement(d,p)),...Array.isArray(i)?i:[i]]));const B=(e,t)=>{const n=c.forwardRef(({className:r,...o},i)=>c.createElement(Sy,{ref:i,iconNode:t,className:lf(`lucide-${yy(tu(e))}`,`lucide-${e}`,r),...o}));return n.displayName=tu(e),n};const _y=[["path",{d:"m15 16 2.536-7.328a1.02 1.02 1 0 1 1.928 0L22 16",key:"xik6mr"}],["path",{d:"M15.697 14h5.606",key:"1stdlc"}],["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}]],Ny=B("a-large-small",_y);const Cy=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],Ty=B("activity",Cy);const Ey=[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]],Ry=B("arrow-down-right",Ey);const My=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Iy=B("arrow-down",My);const Py=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Ay=B("arrow-left",Py);const Oy=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],zy=B("arrow-up-right",Oy);const Ly=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],$y=B("arrow-up",Ly);const Dy=[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]],Pl=B("beaker",Dy);const Fy=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],Uy=B("bell",Fy);const By=[["path",{d:"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2",key:"1ah6g2"}],["rect",{x:"14",y:"2",width:"8",height:"8",rx:"1",key:"88lufb"}]],qy=B("blocks",By);const Hy=[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]],Vy=B("brain-circuit",Hy);const Wy=[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]],cf=B("brain",Wy);const Zy=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ge=B("check",Zy);const Ky=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],tt=B("chevron-down",Ky);const Gy=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Jy=B("chevron-left",Gy);const Yy=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],vt=B("chevron-right",Yy);const Xy=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Al=B("chevron-up",Xy);const Qy=[["path",{d:"m7 6 5 5 5-5",key:"1lc07p"}],["path",{d:"m7 13 5 5 5-5",key:"1d48rs"}]],ew=B("chevrons-down",Qy);const tw=[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]],nw=B("chevrons-left",tw);const sw=[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]],rw=B("chevrons-right",sw);const ow=[["path",{d:"m17 11-5-5-5 5",key:"e8nh98"}],["path",{d:"m17 18-5-5-5 5",key:"2avn1x"}]],iw=B("chevrons-up",ow);const aw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Ns=B("circle-alert",aw);const lw=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],hr=B("circle-check-big",lw);const cw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Na=B("circle-check",cw);const uw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],dw=B("circle-question-mark",uw);const pw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],fw=B("circle-stop",pw);const mw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],uf=B("circle-x",mw);const hw=[["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z",key:"1tn4o7"}],["path",{d:"m6.2 5.3 3.1 3.9",key:"iuk76l"}],["path",{d:"m12.4 3.4 3.1 4",key:"6hsd6n"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z",key:"ltgou9"}]],xw=B("clapperboard",hw);const gw=[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],bw=B("clock-3",gw);const vw=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],sn=B("clock",vw);const yw=[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]],ww=B("cloud-upload",yw);const jw=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],df=B("code-xml",jw);const kw=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],Sw=B("columns-2",kw);const _w=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],zt=B("copy",_w);const Nw=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],Cw=B("cpu",Nw);const Tw=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],xr=B("download",Tw);const Ew=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],Rw=B("ellipsis",Ew);const Mw=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Ol=B("external-link",Mw);const Iw=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Pw=B("eye-off",Iw);const Aw=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],pf=B("eye",Aw);const Ow=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],zw=B("file-braces",Ow);const Lw=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]],$w=B("file-diff",Lw);const Dw=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]],Fw=B("file-search",Dw);const Uw=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m8 16 2-2-2-2",key:"10vzyd"}],["path",{d:"M12 18h4",key:"1wd2n7"}]],Bw=B("file-terminal",Uw);const qw=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Hw=B("file-text",qw);const Vw=[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]],Ww=B("flag",Vw);const Zw=[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]],ff=B("flask-conical",Zw);const Kw=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],Gw=B("folder-open",Kw);const Jw=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],zl=B("gauge",Jw);const Yw=[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]],Xw=B("git-compare-arrows",Yw);const Qw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],mf=B("globe",Qw);const ej=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],hf=B("history",ej);const tj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],nj=B("info",tj);const sj=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],nu=B("layers",sj);const rj=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],He=B("loader-circle",rj);const oj=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],ij=B("lock",oj);const aj=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],lj=B("maximize-2",aj);const cj=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Xo=B("message-square",cj);const uj=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],dj=B("minimize-2",uj);const pj=[["path",{d:"M5 12h14",key:"1ays0h"}]],xf=B("minus",pj);const fj=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],mj=B("monitor",fj);const hj=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],xj=B("moon",hj);const gj=[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]],bj=B("mouse-pointer-click",gj);const vj=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],yj=B("network",vj);const wj=[["path",{d:"M12 16h.01",key:"1drbdi"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z",key:"1fd625"}]],jj=B("octagon-alert",wj);const kj=[["path",{d:"m16 16 2 2 4-4",key:"gfu2re"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]],Sj=B("package-check",kj);const _j=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]],Nj=B("panel-right-close",_j);const Cj=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}]],Tj=B("panel-right-open",Cj);const Ej=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],gf=B("pencil",Ej);const Rj=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],su=B("plus",Rj);const Mj=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],ru=B("radio",Mj);const Ij=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Bt=B("refresh-cw",Ij);const Pj=[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]],bf=B("rocket",Pj);const Aj=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],vf=B("rotate-ccw",Aj);const Oj=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],jo=B("rotate-cw",Oj);const zj=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]],Lj=B("rows-3",zj);const $j=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Dj=B("save",$j);const Fj=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]],Uj=B("scan",Fj);const Bj=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],qj=B("search",Bj);const Hj=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],Vj=B("send",Hj);const Wj=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],Zj=B("server",Wj);const Kj=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Gj=B("settings",Kj);const Jj=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],Yj=B("shield-alert",Jj);const Xj=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ou=B("shield-check",Xj);const Qj=[["path",{d:"M7 18v-6a5 5 0 1 1 10 0v6",key:"pcx96s"}],["path",{d:"M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z",key:"1b4s83"}],["path",{d:"M21 12h1",key:"jtio3y"}],["path",{d:"M18.5 4.5 18 5",key:"g5sp9y"}],["path",{d:"M2 12h1",key:"1uaihz"}],["path",{d:"M12 2v1",key:"11qlp1"}],["path",{d:"m4.929 4.929.707.707",key:"1i51kw"}],["path",{d:"M12 12v6",key:"3ahymv"}]],Ca=B("siren",Qj);const e5=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Ta=B("sparkles",e5);const t5=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],n5=B("sun",t5);const s5=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Yn=B("terminal",s5);const r5=[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]],o5=B("timer",r5);const i5=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],wn=B("trash-2",i5);const a5=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],yn=B("triangle-alert",a5);const l5=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],yf=B("upload",l5);const c5=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],u5=B("wifi-off",c5);const d5=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],p5=B("wifi",d5);const f5=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],gr=B("wrench",f5);const m5=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],br=B("x",m5);const h5=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],sr=B("zap",h5),Ea="/api/config";async function x5(e){return rt(e,Yo,void 0,t=>`Failed to fetch ${e}: ${t.status}`)}async function g5(e){return rt(Ea,Yo,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(e)},t=>`PATCH failed with status ${t.status}`)}function b5(){const e=Ut(Ea,x5,{revalidateOnFocus:!1,revalidateIfStale:!1}),{mutate:t}=Xd(),n=e.data?.hasSeenOnboarding??!1,r=e.data?.captureMode??Ml,o=async()=>{await t(Ea,g5({hasSeenOnboarding:!0}),{optimisticData:{stripClaudeCodeBillingHeader:e.data?.stripClaudeCodeBillingHeader??!1,hasSeenOnboarding:!0,slowResponseThresholdSeconds:e.data?.slowResponseThresholdSeconds??vo,providerTestTimeoutSeconds:e.data?.providerTestTimeoutSeconds??yo,timeDisplayFormat:e.data?.timeDisplayFormat??wo,captureMode:r},rollbackOnError:!0,revalidate:!1})};return{hasSeenOnboarding:n,captureMode:r,isLoading:e.isLoading,markSeen:o}}function v5({expanded:e,onToggle:t,onDismiss:n}){const r=e?"grid":"hidden sm:grid";return s.jsx("div",{role:"note","aria-label":"Onboarding tip",className:"mx-3 mt-2 mb-1 rounded-md border border-warning/30 bg-warning/10 px-3 py-2 text-sm shadow-sm sm:mx-4",children:s.jsxs("div",{className:"flex items-start gap-3",children:[s.jsx(nj,{className:"mt-0.5 size-4 shrink-0 text-warning","aria-hidden":"true"}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"font-medium text-foreground",children:"Inspector ready"}),s.jsx("span",{className:"hidden truncate text-xs text-muted-foreground sm:inline",children:"Request, response, tool, timing, token, replay, and memory signals are active."})]}),s.jsx("div",{className:"mt-1 text-xs leading-relaxed text-muted-foreground sm:hidden",children:"Core capture is active."}),s.jsxs("div",{className:`${r} mt-2 gap-x-4 gap-y-1 text-xs leading-relaxed text-muted-foreground sm:grid-cols-2`,children:[s.jsxs("div",{children:[s.jsx("strong",{children:"Evidence"}),": logs, sessions, groups, and MCP exports are available."]}),s.jsxs("div",{children:[s.jsx("strong",{children:"Network"}),": replace ",s.jsx("code",{children:"localhost"})," if containers differ."]})]})]}),s.jsx("button",{type:"button",onClick:t,className:"inline-flex h-8 shrink-0 items-center gap-1 rounded-md border border-warning/35 px-2 text-xs font-medium text-foreground transition-colors hover:bg-warning/15 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none sm:hidden","aria-expanded":e,"aria-label":e?"Hide onboarding details":"Show onboarding details",children:s.jsx(tt,{className:`size-3.5 transition-transform ${e?"rotate-180":""}`})}),s.jsxs("button",{type:"button",onClick:n,className:"hidden h-8 shrink-0 items-center gap-1.5 rounded-md border border-warning/40 px-3 text-xs font-medium text-foreground transition-colors hover:bg-warning/15 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none sm:inline-flex","aria-label":"Dismiss onboarding tip",children:[s.jsx(Ge,{className:"size-3.5"}),"Got it"]}),s.jsx("button",{type:"button",onClick:n,className:"-m-1 shrink-0 rounded-sm p-1 text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Dismiss",children:s.jsx(br,{className:"size-3.5"})})]})})}function y5(){const{hasSeenOnboarding:e,isLoading:t,markSeen:n}=b5(),[r,o]=c.useState(!1);return t||e?null:s.jsx(v5,{expanded:r,onToggle:()=>o(i=>!i),onDismiss:()=>{n()}})}const w5="3.0.38",wf={version:w5};function Ks(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const jf="[REDACTED]",j5=/(^|[-_])(api[-_]?key|authorization|cookie|token|secret|password|access[-_]?token|refresh[-_]?token)([-_]|$)/i,k5=[/Bearer\s+[A-Za-z0-9._~+/=-]{12,}/gi,/\bsk-[A-Za-z0-9_-]{12,}\b/g,/\bsk-ant-[A-Za-z0-9_-]{12,}\b/g,/\bghp_[A-Za-z0-9_]{12,}\b/g,/\bglpat-[A-Za-z0-9_-]{12,}\b/g],iu=200,S5=25e6,kf=50,_5=1e4;function N5(e){return e<1024?`${e} chars`:e<1024*1024?`${Math.ceil(e/1024)} KB`:`${Math.ceil(e/(1024*1024))} MB`}function C5(e){let t=0;for(const n of e)t+=n.rawRequestBody?.length??0,t+=n.responseText?.length??0;return t}function T5(e){if(e.length>iu)return`Export is limited to ${iu} logs at once. Narrow the filter and try again.`;const t=C5(e);return t>S5?`Export is too large (${N5(t)} of text). Narrow the filter and try again.`:null}function Mr(e){return e?.aborted===!0?{ok:!1,message:"Export canceled.",canceled:!0}:null}async function E5(e,t){try{const n=await qn(`/api/logs/${e}/chunks`,_5,{signal:t});if(!n.ok)return null;const r=await n.json();return JSON.stringify(r,null,2)}catch{return null}}function Ra(e){if(Array.isArray(e))return e.map(n=>Ra(n));if(!Ks(e))return e;const t={};for(const[n,r]of Object.entries(e))t[n]=j5.test(n)?jf:Ra(r);return t}function R5(e){const t=n=>{let r=n;for(const o of k5)r=r.replace(o,jf);return r};try{const n=JSON.parse(e);return t(JSON.stringify(Ra(n),null,2))}catch{return t(e)}}function Ai(e,t){return t==="redacted"?R5(e):e}function M5(e,t){return{...e,rawRequestBody:null,responseText:null,rawHeaders:t==="raw"?e.rawHeaders:void 0,headers:t==="raw"?e.headers:void 0,streamingChunks:void 0,bodyContentMode:"compact"}}function I5(e,t,n,r=new Date().toISOString()){return{version:wf.version,exportedAt:r,mode:t,redacted:t==="redacted",logCount:e.length,logIds:e.map(o=>o.id),streamingChunkExportLimit:kf,streamingChunkLogIds:n.map(o=>o.id)}}async function P5(e,t="redacted",n={}){const r=Mr(n.signal);if(r!==null)return r;const o=T5(e);if(o!==null)return{ok:!1,message:o};const{default:i}=await Kt(async()=>{const{default:h}=await import("./jszip.min-CAXkxQd6.js").then(x=>x.j);return{default:h}},__vite__mapDeps([0,1])),a=new i,l=t==="redacted"?"redacted":"raw",u=e.filter(h=>h.streaming).slice(0,kf);a.file("manifest.json",JSON.stringify(I5(e,t,u),null,2)),a.file("logs.json",JSON.stringify(e.map(h=>M5(h,t)),null,2));for(const h of e){const x=Mr(n.signal);if(x!==null)return x;h.rawRequestBody!==null&&a.file(`#${h.id}.Request.json`,Ai(h.rawRequestBody,t)),h.responseText!==null&&a.file(`#${h.id}.Response.json`,Ai(h.responseText,t))}for(const h of u){const x=Mr(n.signal);if(x!==null)return x;const v=await E5(h.id,n.signal);v!==null&&a.file(`#${h.id}.SSE.Response.json`,Ai(v,t))}const d=await a.generateAsync({type:"blob"}),p=Mr(n.signal);if(p!==null)return p;const f=URL.createObjectURL(d),m=document.createElement("a");return m.href=f,m.download=`agent-inspector-export-${l}-${new Date().toISOString().slice(0,10)}.zip`,document.body.appendChild(m),m.click(),document.body.removeChild(m),URL.revokeObjectURL(f),{ok:!0}}function Ma(e,t){switch(t){case"full":return e;case"time":return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}}function Qo(e,t,n){return`${Ma(e,n)} - ${Ma(t,n)}`}function A5(){const[e,t]=c.useState(Sx),n=c.useCallback(r=>{t(r),Ri(r),_x(r)},[]);return c.useEffect(()=>{Ri(e)},[e]),c.useEffect(()=>{function r(o){if(o.key!==Nx)return;const i=Cx(o.newValue);t(i),Ri(i)}return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)},[]),{themeMode:e,setThemeMode:n}}function O5(){const[e,t]=c.useState(Tx),[n,r]=c.useState(1),o=c.useCallback(i=>{t(i),Ex(i),r(Mi(i))},[]);return c.useEffect(()=>{const i=()=>{r(Mi(e))};if(i(),e==="auto")return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[e]),c.useEffect(()=>{const i=a=>{if(a.key!==Rx)return;const l=Qd(a.newValue);t(l),r(Mi(l))};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[]),{uiScalePreference:e,resolvedUiScale:n,setUiScalePreference:o}}const Hn=64,Ia=256,z5=64,L5=fe(["invalid-page-request","search-limit-exceeded","provider-model-limit-exceeded","sse-capacity-exceeded","provider-test-capacity-exceeded"]),$5=Ot([ae(400),ae(413),ae(429),ae(503)]);T({error:g().min(1).max(300),code:L5,status:$5,resource:g().min(1).max(80),limit:R().int().positive(),retryable:Ce()});function Ir(){return g().refine(e=>{if(e.length===0)return!0;try{const t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"}catch{return!1}},"Must be a valid http(s) URL")}const Ll=g().max(Ia),D5=W(Ll).max(Hn),F5=T({model:Ll.min(1),contextWindow:R().int().positive().optional(),outputLimit:R().int().positive().optional(),source:fe(["manual","registry"]).optional(),sourceUrl:g().optional(),updatedAt:g().optional()}),U5=W(F5).max(z5),B5=T({id:g(),name:g(),apiKey:g(),model:Ll.optional(),models:D5.optional().default([]),format:fe(["anthropic","openai"]).optional(),baseUrl:Ir().optional(),anthropicBaseUrl:Ir().optional(),openaiBaseUrl:Ir().optional(),openaiResponsesBaseUrl:Ir().optional(),authHeader:fe(["bearer","x-api-key"]).optional().default("bearer"),apiDocsUrl:g().optional(),modelMetadataUrl:g().optional(),modelMetadata:U5.optional(),source:fe(["company","personal"]).optional(),createdAt:g(),updatedAt:g()}),q5="configured",ko=B5.extend({apiKey:ae(q5)});async function H5(e){return rt(e,ko.array(),void 0,t=>`Failed to fetch ${e}: ${t.status}`)}function $l(){const e=Ut("/api/providers",H5,{revalidateOnFocus:!1,revalidateIfStale:!1});return{providers:e.data??[],isLoading:e.isLoading,isError:e.error,mutate:e.mutate}}function au(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function V5(...e){return t=>{let n=!1;const r=e.map(o=>{const i=au(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<r.length;o++){const i=r[o];typeof i=="function"?i():au(e[o],null)}}}}function Re(...e){return c.useCallback(V5(...e),e)}function Cs(e){const t=c.forwardRef((n,r)=>{let{children:o,...i}=n,a=null,l=!1;const u=[];lu(o)&&typeof Pr=="function"&&(o=Pr(o._payload)),c.Children.forEach(o,m=>{if(Y5(m)){l=!0;const h=m;let x="child"in h.props?h.props.child:h.props.children;lu(x)&&typeof Pr=="function"&&(x=Pr(x._payload)),a=K5(h,x),u.push(a?.props?.children)}else u.push(m)}),a?a=c.cloneElement(a,void 0,u):!l&&c.Children.count(o)===1&&c.isValidElement(o)&&(a=o);const d=a?J5(a):void 0,p=Re(r,d);if(!a){if(o||o===0)throw new Error(l?tk(e):ek(e));return o}const f=G5(i,a.props??{});return a.type!==c.Fragment&&(f.ref=r?p:d),c.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}var W5=Cs("Slot"),Sf=Symbol.for("radix.slottable");function Z5(e){const t=n=>"child"in n?n.children(n.child):n.children;return t.displayName=`${e}.Slottable`,t.__radixId=Sf,t}var K5=(e,t)=>{if("child"in e.props){const n=e.props.child;return c.isValidElement(n)?c.cloneElement(n,void 0,e.props.children(n.props.children)):null}return c.isValidElement(t)?t:null};function G5(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...l)=>{const u=i(...l);return o(...l),u}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function J5(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Y5(e){return c.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Sf}var X5=Symbol.for("react.lazy");function lu(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===X5&&"_payload"in e&&Q5(e._payload)}function Q5(e){return typeof e=="object"&&e!==null&&"then"in e}var ek=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,tk=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Pr=Vo[" use ".trim().toString()],nk=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],xe=nk.reduce((e,t)=>{const n=Cs(`Primitive.${t}`),r=c.forwardRef((o,i)=>{const{asChild:a,...l}=o,u=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(u,{...l,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function sk(e,t){e&&As.flushSync(()=>e.dispatchEvent(t))}var _f=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),rk="VisuallyHidden",Nf=c.forwardRef((e,t)=>s.jsx(xe.span,{...e,ref:t,style:{..._f,...e.style}}));Nf.displayName=rk;var ok=Nf;function un(e,t=[]){let n=[];function r(i,a){const l=c.createContext(a);l.displayName=i+"Context";const u=n.length;n=[...n,a];const d=f=>{const{scope:m,children:h,...x}=f,v=m?.[e]?.[u]||l,b=c.useMemo(()=>x,Object.values(x));return s.jsx(v.Provider,{value:b,children:h})};d.displayName=i+"Provider";function p(f,m,h={}){const{optional:x=!1}=h,v=m?.[e]?.[u]||l,b=c.useContext(v);if(b)return b;if(a!==void 0)return a;if(!x)throw new Error(`\`${f}\` must be used within \`${i}\``)}return[d,p]}const o=()=>{const i=n.map(a=>c.createContext(a));return function(l){const u=l?.[e]||i;return c.useMemo(()=>({[`__scope${e}`]:{...l,[e]:u}}),[l,u])}};return o.scopeName=e,[r,ik(o,...t)]}function ik(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const a=r.reduce((l,{useScope:u,scopeName:d})=>{const f=u(i)[`__scope${d}`];return{...l,...f}},{});return c.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}function Cf(e){const t=e+"CollectionProvider",[n,r]=un(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=v=>{const{scope:b,children:w}=v,y=c.useRef(null),j=c.useRef(new Map).current;return s.jsx(o,{scope:b,itemMap:j,collectionRef:y,children:w})};a.displayName=t;const l=e+"CollectionSlot",u=Cs(l),d=c.forwardRef((v,b)=>{const{scope:w,children:y}=v,j=i(l,w),k=Re(b,j.collectionRef);return s.jsx(u,{ref:k,children:y})});d.displayName=l;const p=e+"CollectionItemSlot",f="data-radix-collection-item",m=Cs(p),h=c.forwardRef((v,b)=>{const{scope:w,children:y,...j}=v,k=c.useRef(null),S=Re(b,k),_=i(p,w);return c.useEffect(()=>(_.itemMap.set(k,{ref:k,...j}),()=>{_.itemMap.delete(k)})),s.jsx(m,{[f]:"",ref:S,children:y})});h.displayName=p;function x(v){const b=i(e+"CollectionConsumer",v);return c.useCallback(()=>{const y=b.collectionRef.current;if(!y)return[];const j=Array.from(y.querySelectorAll(`[${f}]`));return Array.from(b.itemMap.values()).sort((_,N)=>j.indexOf(_.ref.current)-j.indexOf(N.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:d,ItemSlot:h},x,r]}function pe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o||!o.defaultPrevented)return t?.(o)}}var Je=globalThis?.document?c.useLayoutEffect:()=>{},ak=Vo[" useInsertionEffect ".trim().toString()]||Je;function Wn({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[o,i,a]=lk({defaultProp:t,onChange:n}),l=e!==void 0,u=l?e:o;{const p=c.useRef(e!==void 0);c.useEffect(()=>{const f=p.current;f!==l&&console.warn(`${r} is changing from ${f?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),p.current=l},[l,r])}const d=c.useCallback(p=>{if(l){const f=ck(p)?p(e):p;f!==e&&a.current?.(f)}else i(p)},[l,e,i,a]);return[u,d]}function lk({defaultProp:e,onChange:t}){const[n,r]=c.useState(e),o=c.useRef(n),i=c.useRef(t);return ak(()=>{i.current=t},[t]),c.useEffect(()=>{o.current!==n&&(i.current?.(n),o.current=n)},[n,o]),[n,r,i]}function ck(e){return typeof e=="function"}function uk(e,t){return c.useReducer((n,r)=>t[n][r]??n,e)}var yt=e=>{const{present:t,children:n}=e,r=dk(t),o=typeof n=="function"?n({present:r.isPresent}):c.Children.only(n),i=pk(r.ref,fk(o));return typeof n=="function"||r.isPresent?c.cloneElement(o,{ref:i}):null};yt.displayName="Presence";function dk(e){const[t,n]=c.useState(),r=c.useRef(null),o=c.useRef(e),i=c.useRef("none"),a=c.useRef(void 0),l=e?"mounted":"unmounted",[u,d]=uk(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return c.useEffect(()=>{u==="mounted"?(i.current=a.current??Fs(r.current),a.current=void 0):i.current="none"},[u]),Je(()=>{const p=r.current,f=o.current;if(f!==e){const h=i.current,x=Fs(p);e?(a.current=x,d("MOUNT")):x==="none"||p?.display==="none"?d("UNMOUNT"):d(f&&h!==x?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,d]),Je(()=>{if(t){let p;const f=t.ownerDocument.defaultView??window,m=x=>{const b=Fs(r.current).includes(CSS.escape(x.animationName));if(x.target===t&&b&&(d("ANIMATION_END"),!o.current)){const w=t.style.animationFillMode;t.style.animationFillMode="forwards",p=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=w)})}},h=x=>{x.target===t&&(i.current=Fs(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",m),t.addEventListener("animationend",m),()=>{f.clearTimeout(p),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",m),t.removeEventListener("animationend",m)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:c.useCallback(p=>{if(p){const f=getComputedStyle(p);r.current=f,a.current=Fs(f)}else r.current=null;n(p)},[])}}function cu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function pk(...e){const t=c.useRef(e);return t.current=e,c.useCallback(n=>{const r=t.current;let o=!1;const i=r.map(a=>{const l=cu(a,n);return!o&&typeof l=="function"&&(o=!0),l});if(o)return()=>{for(let a=0;a<i.length;a++){const l=i[a];typeof l=="function"?l():cu(r[a],null)}}},[])}function Fs(e){return e?.animationName||"none"}function fk(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var mk=Vo[" useId ".trim().toString()]||(()=>{}),hk=0;function qt(e){const[t,n]=c.useState(mk());return Je(()=>{n(r=>r??String(hk++))},[e]),e||(t?`radix-${t}`:"")}var ei="Collapsible",[xk]=un(ei),[gk,Dl]=xk(ei),Tf=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:o,disabled:i,onOpenChange:a,...l}=e,[u,d]=Wn({prop:r,defaultProp:o??!1,onChange:a,caller:ei});return s.jsx(gk,{scope:n,disabled:i,contentId:qt(),open:u,onOpenToggle:c.useCallback(()=>d(p=>!p),[d]),children:s.jsx(xe.div,{"data-state":Ul(u),"data-disabled":i?"":void 0,...l,ref:t})})});Tf.displayName=ei;var Ef="CollapsibleTrigger",Rf=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,o=Dl(Ef,n);return s.jsx(xe.button,{type:"button","aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open||!1,"data-state":Ul(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...r,ref:t,onClick:pe(e.onClick,o.onOpenToggle)})});Rf.displayName=Ef;var Fl="CollapsibleContent",Mf=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Dl(Fl,e.__scopeCollapsible);return s.jsx(yt,{present:n||o.open,children:({present:i})=>s.jsx(bk,{...r,ref:t,present:i})})});Mf.displayName=Fl;var bk=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:o,...i}=e,a=Dl(Fl,n),[l,u]=c.useState(r),d=c.useRef(null),p=Re(t,d),f=c.useRef(0),m=f.current,h=c.useRef(0),x=h.current,v=a.open||l,b=c.useRef(v),w=c.useRef(void 0);return c.useEffect(()=>{const y=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(y)},[]),Je(()=>{const y=d.current;if(y){w.current=w.current||{transitionDuration:y.style.transitionDuration,animationName:y.style.animationName},y.style.transitionDuration="0s",y.style.animationName="none";const j=y.getBoundingClientRect();f.current=j.height,h.current=j.width,b.current||(y.style.transitionDuration=w.current.transitionDuration,y.style.animationName=w.current.animationName),u(r)}},[a.open,r]),s.jsx(xe.div,{"data-state":Ul(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!v,...i,ref:p,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":x?`${x}px`:void 0,...e.style},children:v&&o})});function Ul(e){return e?"open":"closed"}var vk=Tf,yk=c.createContext(void 0);function ti(e){const t=c.useContext(yk);return e||t||"ltr"}function Qe(e){const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),c.useMemo(()=>((...n)=>t.current?.(...n)),[])}var wk="DismissableLayer",Pa="dismissableLayer.update",jk="dismissableLayer.pointerDownOutside",kk="dismissableLayer.focusOutside",uu,Bl=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ni=c.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:l,onDismiss:u,...d}=e,p=c.useContext(Bl),[f,m]=c.useState(null),h=f?.ownerDocument??globalThis?.document,[,x]=c.useState({}),v=Re(t,m),b=Array.from(p.layers),[w]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),y=w?b.indexOf(w):-1,j=f?b.indexOf(f):-1,k=p.layersWithOutsidePointerEventsDisabled.size>0,S=j>=y,_=c.useRef(!1),N=Tk(C=>{i?.(C),l?.(C),C.defaultPrevented||u?.()},{ownerDocument:h,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:_,dismissableSurfaces:p.dismissableSurfaces,shouldHandlePointerDownOutside:c.useCallback(C=>{if(!(C instanceof Node))return!1;const I=[...p.branches].some(F=>F.contains(C));return S&&!I},[p.branches,S])}),P=Ek(C=>{if(r&&_.current)return;const I=C.target;[...p.branches].some(U=>U.contains(I))||(a?.(C),l?.(C),C.defaultPrevented||u?.())},h),A=f?j===b.length-1:!1,M=Qe(C=>{C.key==="Escape"&&(o?.(C),!C.defaultPrevented&&u&&(C.preventDefault(),u()))});return c.useEffect(()=>{if(A)return h.addEventListener("keydown",M,{capture:!0}),()=>h.removeEventListener("keydown",M,{capture:!0})},[h,A,M]),c.useEffect(()=>{if(f)return n&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(uu=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(f)),p.layers.add(f),du(),()=>{n&&(p.layersWithOutsidePointerEventsDisabled.delete(f),p.layersWithOutsidePointerEventsDisabled.size===0&&(h.body.style.pointerEvents=uu))}},[f,h,n,p]),c.useEffect(()=>()=>{f&&(p.layers.delete(f),p.layersWithOutsidePointerEventsDisabled.delete(f),du())},[f,p]),c.useEffect(()=>{const C=()=>x({});return document.addEventListener(Pa,C),()=>document.removeEventListener(Pa,C)},[]),s.jsx(xe.div,{...d,ref:v,style:{pointerEvents:k?S?"auto":"none":void 0,...e.style},onFocusCapture:pe(e.onFocusCapture,P.onFocusCapture),onBlurCapture:pe(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:pe(e.onPointerDownCapture,N.onPointerDownCapture)})});ni.displayName=wk;var Sk="DismissableLayerBranch",_k=c.forwardRef((e,t)=>{const n=c.useContext(Bl),r=c.useRef(null),o=Re(t,r);return c.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),s.jsx(xe.div,{...e,ref:o})});_k.displayName=Sk;function Nk(){const e=c.useContext(Bl),[t,n]=c.useState(null);return c.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var Ck=()=>!0;function Tk(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:i,shouldHandlePointerDownOutside:a=Ck}=t,l=Qe(e),u=c.useRef(!1),d=c.useRef(!1),p=c.useRef(new Map),f=c.useRef(()=>{});return c.useEffect(()=>{function m(){d.current=!1,o.current=!1,p.current.clear()}function h(){return Array.from(p.current.values()).some(Boolean)}function x(j){if(!d.current)return;const k=j.target;k instanceof Node&&[...i].some(_=>_.contains(k))||p.current.set(j.type,!0),j.type==="click"&&window.setTimeout(()=>{d.current&&f.current()},0)}function v(j){d.current&&p.current.set(j.type,!1)}const b=j=>{if(j.target&&!u.current){let k=function(){n.removeEventListener("click",f.current);const _=h();m(),_||If(jk,l,S,{discrete:!0})};if(!a(j.target)){n.removeEventListener("click",f.current),m(),u.current=!1;return}const S={originalEvent:j};d.current=!0,o.current=r&&j.button===0,p.current.clear(),!r||j.button!==0?k():(n.removeEventListener("click",f.current),f.current=k,n.addEventListener("click",f.current,{once:!0}))}else n.removeEventListener("click",f.current),m();u.current=!1},w=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const j of w)n.addEventListener(j,x,!0),n.addEventListener(j,v);const y=window.setTimeout(()=>{n.addEventListener("pointerdown",b)},0);return()=>{window.clearTimeout(y),n.removeEventListener("pointerdown",b),n.removeEventListener("click",f.current);for(const j of w)n.removeEventListener(j,x,!0),n.removeEventListener(j,v)}},[n,l,r,o,i,a]),{onPointerDownCapture:()=>u.current=!0}}function Ek(e,t=globalThis?.document){const n=Qe(e),r=c.useRef(!1);return c.useEffect(()=>{const o=i=>{i.target&&!r.current&&If(kk,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function du(){const e=new CustomEvent(Pa);document.dispatchEvent(e)}function If(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?sk(o,i):o.dispatchEvent(i)}var Oi="focusScope.autoFocusOnMount",zi="focusScope.autoFocusOnUnmount",pu={bubbles:!1,cancelable:!0},Rk="FocusScope",ql=c.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[l,u]=c.useState(null),d=Qe(o),p=Qe(i),f=c.useRef(null),m=Re(t,u),h=c.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;c.useEffect(()=>{if(r){let v=function(j){if(h.paused||!l)return;const k=j.target;l.contains(k)?f.current=k:hn(f.current,{select:!0})},b=function(j){if(h.paused||!l)return;const k=j.relatedTarget;k!==null&&(l.contains(k)||hn(f.current,{select:!0}))},w=function(j){if(document.activeElement===document.body)for(const S of j)S.removedNodes.length>0&&hn(l)};document.addEventListener("focusin",v),document.addEventListener("focusout",b);const y=new MutationObserver(w);return l&&y.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",b),y.disconnect()}}},[r,l,h.paused]),c.useEffect(()=>{if(l){mu.add(h);const v=document.activeElement;if(!l.contains(v)){const w=new CustomEvent(Oi,pu);l.addEventListener(Oi,d),l.dispatchEvent(w),w.defaultPrevented||(Mk(zk(Pf(l)),{select:!0}),document.activeElement===v&&hn(l))}return()=>{l.removeEventListener(Oi,d),setTimeout(()=>{const w=new CustomEvent(zi,pu);l.addEventListener(zi,p),l.dispatchEvent(w),w.defaultPrevented||hn(v??document.body,{select:!0}),l.removeEventListener(zi,p),mu.remove(h)},0)}}},[l,d,p,h]);const x=c.useCallback(v=>{if(!n&&!r||h.paused)return;const b=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,w=document.activeElement;if(b&&w){const y=v.currentTarget,[j,k]=Ik(y);j&&k?!v.shiftKey&&w===k?(v.preventDefault(),n&&hn(j,{select:!0})):v.shiftKey&&w===j&&(v.preventDefault(),n&&hn(k,{select:!0})):w===y&&v.preventDefault()}},[n,r,h.paused]);return s.jsx(xe.div,{tabIndex:-1,...a,ref:m,onKeyDown:x})});ql.displayName=Rk;function Mk(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(hn(r,{select:t}),document.activeElement!==n)return}function Ik(e){const t=Pf(e),n=fu(t,e),r=fu(t.reverse(),e);return[n,r]}function Pf(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function fu(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Pk(r,{upTo:t})))return r}function Pk(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Ak(e){return e instanceof HTMLInputElement&&"select"in e}function hn(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ak(e)&&t&&e.select()}}var mu=Ok();function Ok(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=hu(e,t),e.unshift(t)},remove(t){e=hu(e,t),e[0]?.resume()}}}function hu(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function zk(e){return e.filter(t=>t.tagName!=="A")}var Lk="Portal",si=c.forwardRef((e,t)=>{const{container:n,...r}=e,[o,i]=c.useState(!1);Je(()=>i(!0),[]);const a=n||o&&globalThis?.document?.body;return a?As.createPortal(s.jsx(xe.div,{...r,ref:t}),a):null});si.displayName=Lk;var Ar=0,ns=null;function Af(){c.useEffect(()=>{ns||(ns={start:xu(),end:xu()});const{start:e,end:t}=ns;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),Ar++,()=>{Ar===1&&(ns?.start.remove(),ns?.end.remove(),ns=null),Ar=Math.max(0,Ar-1)}},[])}function xu(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Dt=function(){return Dt=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Dt.apply(this,arguments)};function Of(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function $k(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,i;r<o;r++)(i||!(r in t))&&(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}var ro="right-scroll-bar-position",oo="width-before-scroll-bar",Dk="with-scroll-bars-hidden",Fk="--removed-body-scroll-bar-size";function Li(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function Uk(e,t){var n=c.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var Bk=typeof window<"u"?c.useLayoutEffect:c.useEffect,gu=new WeakMap;function qk(e,t){var n=Uk(null,function(r){return e.forEach(function(o){return Li(o,r)})});return Bk(function(){var r=gu.get(n);if(r){var o=new Set(r),i=new Set(e),a=n.current;o.forEach(function(l){i.has(l)||Li(l,null)}),i.forEach(function(l){o.has(l)||Li(l,a)})}gu.set(n,e)},[e]),n}function Hk(e){return e}function Vk(e,t){t===void 0&&(t=Hk);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(i){var a=t(i,r);return n.push(a),function(){n=n.filter(function(l){return l!==a})}},assignSyncMedium:function(i){for(r=!0;n.length;){var a=n;n=[],a.forEach(i)}n={push:function(l){return i(l)},filter:function(){return n}}},assignMedium:function(i){r=!0;var a=[];if(n.length){var l=n;n=[],l.forEach(i),a=n}var u=function(){var p=a;a=[],p.forEach(i)},d=function(){return Promise.resolve().then(u)};d(),n={push:function(p){a.push(p),d()},filter:function(p){return a=a.filter(p),n}}}};return o}function Wk(e){e===void 0&&(e={});var t=Vk(null);return t.options=Dt({async:!0,ssr:!1},e),t}var zf=function(e){var t=e.sideCar,n=Of(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return c.createElement(r,Dt({},n))};zf.isSideCarExport=!0;function Zk(e,t){return e.useMedium(t),zf}var Lf=Wk(),$i=function(){},ri=c.forwardRef(function(e,t){var n=c.useRef(null),r=c.useState({onScrollCapture:$i,onWheelCapture:$i,onTouchMoveCapture:$i}),o=r[0],i=r[1],a=e.forwardProps,l=e.children,u=e.className,d=e.removeScrollBar,p=e.enabled,f=e.shards,m=e.sideCar,h=e.noRelative,x=e.noIsolation,v=e.inert,b=e.allowPinchZoom,w=e.as,y=w===void 0?"div":w,j=e.gapMode,k=Of(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=m,_=qk([n,t]),N=Dt(Dt({},k),o);return c.createElement(c.Fragment,null,p&&c.createElement(S,{sideCar:Lf,removeScrollBar:d,shards:f,noRelative:h,noIsolation:x,inert:v,setCallbacks:i,allowPinchZoom:!!b,lockRef:n,gapMode:j}),a?c.cloneElement(c.Children.only(l),Dt(Dt({},N),{ref:_})):c.createElement(y,Dt({},N,{className:u,ref:_}),l))});ri.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ri.classNames={fullWidth:oo,zeroRight:ro};var Kk=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Gk(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Kk();return t&&e.setAttribute("nonce",t),e}function Jk(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Yk(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Xk=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Gk())&&(Jk(t,n),Yk(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Qk=function(){var e=Xk();return function(t,n){c.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},$f=function(){var e=Qk(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t},eS={left:0,top:0,right:0,gap:0},Di=function(e){return parseInt(e||"",10)||0},tS=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Di(n),Di(r),Di(o)]},nS=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return eS;var t=tS(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},sS=$f(),bs="data-scroll-locked",rS=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,l=e.gap;return n===void 0&&(n="margin"),`
|
|
66
66
|
.`.concat(Dk,` {
|
|
67
67
|
overflow: hidden `).concat(r,`;
|
|
68
68
|
padding-right: `).concat(l,"px ").concat(r,`;
|
|
@@ -99,28 +99,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
99
99
|
body[`).concat(bs,`] {
|
|
100
100
|
`).concat(Fk,": ").concat(l,`px;
|
|
101
101
|
}
|
|
102
|
-
`)},bu=function(){var e=parseInt(document.body.getAttribute(bs)||"0",10);return isFinite(e)?e:0},oS=function(){c.useEffect(function(){return document.body.setAttribute(bs,(bu()+1).toString()),function(){var e=bu()-1;e<=0?document.body.removeAttribute(bs):document.body.setAttribute(bs,e.toString())}},[])},iS=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;oS();var i=c.useMemo(function(){return nS(o)},[o]);return c.createElement(sS,{styles:rS(i,!t,o,n?"":"!important")})},Aa=!1;if(typeof window<"u")try{var Or=Object.defineProperty({},"passive",{get:function(){return Aa=!0,!0}});window.addEventListener("test",Or,Or),window.removeEventListener("test",Or,Or)}catch{Aa=!1}var ss=Aa?{passive:!1}:!1,aS=function(e){return e.tagName==="TEXTAREA"},Df=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!aS(e)&&n[t]==="visible")},lS=function(e){return Df(e,"overflowY")},cS=function(e){return Df(e,"overflowX")},vu=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Ff(e,r);if(o){var i=Uf(e,r),a=i[1],l=i[2];if(a>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},uS=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},dS=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Ff=function(e,t){return e==="v"?lS(t):cS(t)},Uf=function(e,t){return e==="v"?uS(t):dS(t)},pS=function(e,t){return e==="h"&&t==="rtl"?-1:1},fS=function(e,t,n,r,o){var i=pS(e,window.getComputedStyle(t).direction),a=i*r,l=n.target,u=t.contains(l),d=!1,p=a>0,f=0,m=0;do{if(!l)break;var h=Uf(e,l),
|
|
102
|
+
`)},bu=function(){var e=parseInt(document.body.getAttribute(bs)||"0",10);return isFinite(e)?e:0},oS=function(){c.useEffect(function(){return document.body.setAttribute(bs,(bu()+1).toString()),function(){var e=bu()-1;e<=0?document.body.removeAttribute(bs):document.body.setAttribute(bs,e.toString())}},[])},iS=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;oS();var i=c.useMemo(function(){return nS(o)},[o]);return c.createElement(sS,{styles:rS(i,!t,o,n?"":"!important")})},Aa=!1;if(typeof window<"u")try{var Or=Object.defineProperty({},"passive",{get:function(){return Aa=!0,!0}});window.addEventListener("test",Or,Or),window.removeEventListener("test",Or,Or)}catch{Aa=!1}var ss=Aa?{passive:!1}:!1,aS=function(e){return e.tagName==="TEXTAREA"},Df=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!aS(e)&&n[t]==="visible")},lS=function(e){return Df(e,"overflowY")},cS=function(e){return Df(e,"overflowX")},vu=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=Ff(e,r);if(o){var i=Uf(e,r),a=i[1],l=i[2];if(a>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},uS=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},dS=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Ff=function(e,t){return e==="v"?lS(t):cS(t)},Uf=function(e,t){return e==="v"?uS(t):dS(t)},pS=function(e,t){return e==="h"&&t==="rtl"?-1:1},fS=function(e,t,n,r,o){var i=pS(e,window.getComputedStyle(t).direction),a=i*r,l=n.target,u=t.contains(l),d=!1,p=a>0,f=0,m=0;do{if(!l)break;var h=Uf(e,l),x=h[0],v=h[1],b=h[2],w=v-b-i*x;(x||w)&&Ff(e,l)&&(f+=w,m+=x);var y=l.parentNode;l=y&&y.nodeType===Node.DOCUMENT_FRAGMENT_NODE?y.host:y}while(!u&&l!==document.body||u&&(t.contains(l)||t===l));return(p&&Math.abs(f)<1||!p&&Math.abs(m)<1)&&(d=!0),d},zr=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},yu=function(e){return[e.deltaX,e.deltaY]},wu=function(e){return e&&"current"in e?e.current:e},mS=function(e,t){return e[0]===t[0]&&e[1]===t[1]},hS=function(e){return`
|
|
103
103
|
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
104
104
|
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
105
|
-
`)},gS=0,rs=[];function xS(e){var t=c.useRef([]),n=c.useRef([0,0]),r=c.useRef(),o=c.useState(gS++)[0],i=c.useState($f)[0],a=c.useRef(e);c.useEffect(function(){a.current=e},[e]),c.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var v=$k([e.lockRef.current],(e.shards||[]).map(wu),!0).filter(Boolean);return v.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),v.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=c.useCallback(function(v,b){if("touches"in v&&v.touches.length===2||v.type==="wheel"&&v.ctrlKey)return!a.current.allowPinchZoom;var w=zr(v),y=n.current,j="deltaX"in v?v.deltaX:y[0]-w[0],k="deltaY"in v?v.deltaY:y[1]-w[1],S,_=v.target,N=Math.abs(j)>Math.abs(k)?"h":"v";if("touches"in v&&N==="h"&&_.type==="range")return!1;var P=window.getSelection(),A=P&&P.anchorNode,M=A?A===_||A.contains(_):!1;if(M)return!1;var C=vu(N,_);if(!C)return!0;if(C?S=N:(S=N==="v"?"h":"v",C=vu(N,_)),!C)return!1;if(!r.current&&"changedTouches"in v&&(j||k)&&(r.current=S),!S)return!0;var I=r.current||S;return fS(I,b,v,I==="h"?j:k)},[]),u=c.useCallback(function(v){var b=v;if(!(!rs.length||rs[rs.length-1]!==i)){var w="deltaY"in b?yu(b):zr(b),y=t.current.filter(function(S){return S.name===b.type&&(S.target===b.target||b.target===S.shadowParent)&&mS(S.delta,w)})[0];if(y&&y.should){b.cancelable&&b.preventDefault();return}if(!y){var j=(a.current.shards||[]).map(wu).filter(Boolean).filter(function(S){return S.contains(b.target)}),k=j.length>0?l(b,j[0]):!a.current.noIsolation;k&&b.cancelable&&b.preventDefault()}}},[]),d=c.useCallback(function(v,b,w,y){var j={name:v,delta:b,target:w,should:y,shadowParent:bS(w)};t.current.push(j),setTimeout(function(){t.current=t.current.filter(function(k){return k!==j})},1)},[]),p=c.useCallback(function(v){n.current=zr(v),r.current=void 0},[]),f=c.useCallback(function(v){d(v.type,yu(v),v.target,l(v,e.lockRef.current))},[]),m=c.useCallback(function(v){d(v.type,zr(v),v.target,l(v,e.lockRef.current))},[]);c.useEffect(function(){return rs.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",u,ss),document.addEventListener("touchmove",u,ss),document.addEventListener("touchstart",p,ss),function(){rs=rs.filter(function(v){return v!==i}),document.removeEventListener("wheel",u,ss),document.removeEventListener("touchmove",u,ss),document.removeEventListener("touchstart",p,ss)}},[]);var h=e.removeScrollBar,g=e.inert;return c.createElement(c.Fragment,null,g?c.createElement(i,{styles:hS(o)}):null,h?c.createElement(iS,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function bS(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const vS=Zk(Lf,xS);var Hl=c.forwardRef(function(e,t){return c.createElement(ri,Dt({},e,{ref:t,sideCar:vS}))});Hl.classNames=ri.classNames;var yS=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},os=new WeakMap,Lr=new WeakMap,$r={},Fi=0,Bf=function(e){return e&&(e.host||Bf(e.parentNode))},wS=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=Bf(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},jS=function(e,t,n,r){var o=wS(t,Array.isArray(e)?e:[e]);$r[n]||($r[n]=new WeakMap);var i=$r[n],a=[],l=new Set,u=new Set(o),d=function(f){!f||l.has(f)||(l.add(f),d(f.parentNode))};o.forEach(d);var p=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(m){if(l.has(m))p(m);else try{var h=m.getAttribute(r),g=h!==null&&h!=="false",v=(os.get(m)||0)+1,b=(i.get(m)||0)+1;os.set(m,v),i.set(m,b),a.push(m),v===1&&g&&Lr.set(m,!0),b===1&&m.setAttribute(n,"true"),g||m.setAttribute(r,"true")}catch(w){console.error("aria-hidden: cannot operate on ",m,w)}})};return p(t),l.clear(),Fi++,function(){a.forEach(function(f){var m=os.get(f)-1,h=i.get(f)-1;os.set(f,m),i.set(f,h),m||(Lr.has(f)||f.removeAttribute(r),Lr.delete(f)),h||f.removeAttribute(n)}),Fi--,Fi||(os=new WeakMap,os=new WeakMap,Lr=new WeakMap,$r={})}},qf=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=yS(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),jS(r,o,n,"aria-hidden")):function(){return null}},oi="Dialog",[Hf]=un(oi),[kS,Lt]=Hf(oi),Vf=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:a=!0}=e,l=c.useRef(null),u=c.useRef(null),[d,p]=Wn({prop:r,defaultProp:o??!1,onChange:i,caller:oi});return s.jsx(kS,{scope:t,triggerRef:l,contentRef:u,contentId:qt(),titleId:qt(),descriptionId:qt(),open:d,onOpenChange:p,onOpenToggle:c.useCallback(()=>p(f=>!f),[p]),modal:a,children:n})};Vf.displayName=oi;var Wf="DialogTrigger",Zf=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(Wf,n),i=Re(t,o.triggerRef);return s.jsx(ge.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":Wl(o.open),...r,ref:i,onClick:pe(e.onClick,o.onOpenToggle)})});Zf.displayName=Wf;var Vl="DialogPortal",[SS,Kf]=Hf(Vl,{forceMount:void 0}),Gf=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=Lt(Vl,t);return s.jsx(SS,{scope:t,forceMount:n,children:c.Children.map(r,a=>s.jsx(yt,{present:n||i.open,children:s.jsx(si,{asChild:!0,container:o,children:a})}))})};Gf.displayName=Vl;var So="DialogOverlay",Jf=c.forwardRef((e,t)=>{const n=Kf(So,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=Lt(So,e.__scopeDialog);return i.modal?s.jsx(yt,{present:r||i.open,children:s.jsx(NS,{...o,ref:t})}):null});Jf.displayName=So;var _S=Cs("DialogOverlay.RemoveScroll"),NS=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(So,n),i=Nk(),a=Re(t,i);return s.jsx(Hl,{as:_S,allowPinchZoom:!0,shards:[o.contentRef],children:s.jsx(ge.div,{"data-state":Wl(o.open),...r,ref:a,style:{pointerEvents:"auto",...r.style}})})}),Ts="DialogContent",Yf=c.forwardRef((e,t)=>{const n=Kf(Ts,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=Lt(Ts,e.__scopeDialog);return s.jsx(yt,{present:r||i.open,children:i.modal?s.jsx(CS,{...o,ref:t}):s.jsx(TS,{...o,ref:t})})});Yf.displayName=Ts;var CS=c.forwardRef((e,t)=>{const n=Lt(Ts,e.__scopeDialog),r=c.useRef(null),o=Re(t,n.contentRef,r);return c.useEffect(()=>{const i=r.current;if(i)return qf(i)},[]),s.jsx(Xf,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:pe(e.onCloseAutoFocus,i=>{i.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:pe(e.onPointerDownOutside,i=>{const a=i.detail.originalEvent,l=a.button===0&&a.ctrlKey===!0;(a.button===2||l)&&i.preventDefault()}),onFocusOutside:pe(e.onFocusOutside,i=>i.preventDefault())})}),TS=c.forwardRef((e,t)=>{const n=Lt(Ts,e.__scopeDialog),r=c.useRef(!1),o=c.useRef(!1);return s.jsx(Xf,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{e.onCloseAutoFocus?.(i),i.defaultPrevented||(r.current||n.triggerRef.current?.focus(),i.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:i=>{e.onInteractOutside?.(i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=i.target;n.triggerRef.current?.contains(a)&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),Xf=c.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...a}=e,l=Lt(Ts,n);return Af(),s.jsx(s.Fragment,{children:s.jsx(ql,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:s.jsx(ni,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":Wl(l.open),...a,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1)})})})}),Qf="DialogTitle",em=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(Qf,n);return s.jsx(ge.h2,{id:o.titleId,...r,ref:t})});em.displayName=Qf;var tm="DialogDescription",nm=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(tm,n);return s.jsx(ge.p,{id:o.descriptionId,...r,ref:t})});nm.displayName=tm;var sm="DialogClose",rm=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(sm,n);return s.jsx(ge.button,{type:"button",...r,ref:t,onClick:pe(e.onClick,()=>o.onOpenChange(!1))})});rm.displayName=sm;function Wl(e){return e?"open":"closed"}function ES(e){const t=c.useRef({value:e,previous:e});return c.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function RS(e){const[t,n]=c.useState(void 0);return Je(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const i=o[0];let a,l;if("borderBoxSize"in i){const u=i.borderBoxSize,d=Array.isArray(u)?u[0]:u;a=d.inlineSize,l=d.blockSize}else a=e.offsetWidth,l=e.offsetHeight;n({width:a,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const MS=["top","right","bottom","left"],jn=Math.min,ht=Math.max,_o=Math.round,Dr=Math.floor,Ht=e=>({x:e,y:e}),IS={left:"right",right:"left",bottom:"top",top:"bottom"},PS={start:"end",end:"start"};function Oa(e,t,n){return ht(e,jn(t,n))}function an(e,t){return typeof e=="function"?e(t):e}function ln(e){return e.split("-")[0]}function zs(e){return e.split("-")[1]}function Zl(e){return e==="x"?"y":"x"}function Kl(e){return e==="y"?"height":"width"}const AS=new Set(["top","bottom"]);function Ft(e){return AS.has(ln(e))?"y":"x"}function Gl(e){return Zl(Ft(e))}function OS(e,t,n){n===void 0&&(n=!1);const r=zs(e),o=Gl(e),i=Kl(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=No(a)),[a,No(a)]}function zS(e){const t=No(e);return[za(e),t,za(t)]}function za(e){return e.replace(/start|end/g,t=>PS[t])}const ju=["left","right"],ku=["right","left"],LS=["top","bottom"],$S=["bottom","top"];function DS(e,t,n){switch(e){case"top":case"bottom":return n?t?ku:ju:t?ju:ku;case"left":case"right":return t?LS:$S;default:return[]}}function FS(e,t,n,r){const o=zs(e);let i=DS(ln(e),n==="start",r);return o&&(i=i.map(a=>a+"-"+o),t&&(i=i.concat(i.map(za)))),i}function No(e){return e.replace(/left|right|bottom|top/g,t=>IS[t])}function US(e){return{top:0,right:0,bottom:0,left:0,...e}}function om(e){return typeof e!="number"?US(e):{top:e,right:e,bottom:e,left:e}}function Co(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Su(e,t,n){let{reference:r,floating:o}=e;const i=Ft(t),a=Gl(t),l=Kl(a),u=ln(t),d=i==="y",p=r.x+r.width/2-o.width/2,f=r.y+r.height/2-o.height/2,m=r[l]/2-o[l]/2;let h;switch(u){case"top":h={x:p,y:r.y-o.height};break;case"bottom":h={x:p,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:f};break;case"left":h={x:r.x-o.width,y:f};break;default:h={x:r.x,y:r.y}}switch(zs(t)){case"start":h[a]-=m*(n&&d?-1:1);break;case"end":h[a]+=m*(n&&d?-1:1);break}return h}async function BS(e,t){var n;t===void 0&&(t={});const{x:r,y:o,platform:i,rects:a,elements:l,strategy:u}=e,{boundary:d="clippingAncestors",rootBoundary:p="viewport",elementContext:f="floating",altBoundary:m=!1,padding:h=0}=an(t,e),g=om(h),b=l[m?f==="floating"?"reference":"floating":f],w=Co(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(b)))==null||n?b:b.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:d,rootBoundary:p,strategy:u})),y=f==="floating"?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,j=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),k=await(i.isElement==null?void 0:i.isElement(j))?await(i.getScale==null?void 0:i.getScale(j))||{x:1,y:1}:{x:1,y:1},S=Co(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:y,offsetParent:j,strategy:u}):y);return{top:(w.top-S.top+g.top)/k.y,bottom:(S.bottom-w.bottom+g.bottom)/k.y,left:(w.left-S.left+g.left)/k.x,right:(S.right-w.right+g.right)/k.x}}const qS=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n,l=i.filter(Boolean),u=await(a.isRTL==null?void 0:a.isRTL(t));let d=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:p,y:f}=Su(d,r,u),m=r,h={},g=0;for(let b=0;b<l.length;b++){var v;const{name:w,fn:y}=l[b],{x:j,y:k,data:S,reset:_}=await y({x:p,y:f,initialPlacement:r,placement:m,strategy:o,middlewareData:h,rects:d,platform:{...a,detectOverflow:(v=a.detectOverflow)!=null?v:BS},elements:{reference:e,floating:t}});p=j??p,f=k??f,h={...h,[w]:{...h[w],...S}},_&&g<=50&&(g++,typeof _=="object"&&(_.placement&&(m=_.placement),_.rects&&(d=_.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:o}):_.rects),{x:p,y:f}=Su(d,m,u)),b=-1)}return{x:p,y:f,placement:m,strategy:o,middlewareData:h}},HS=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:i,platform:a,elements:l,middlewareData:u}=t,{element:d,padding:p=0}=an(e,t)||{};if(d==null)return{};const f=om(p),m={x:n,y:r},h=Gl(o),g=Kl(h),v=await a.getDimensions(d),b=h==="y",w=b?"top":"left",y=b?"bottom":"right",j=b?"clientHeight":"clientWidth",k=i.reference[g]+i.reference[h]-m[h]-i.floating[g],S=m[h]-i.reference[h],_=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let N=_?_[j]:0;(!N||!await(a.isElement==null?void 0:a.isElement(_)))&&(N=l.floating[j]||i.floating[g]);const P=k/2-S/2,A=N/2-v[g]/2-1,M=jn(f[w],A),C=jn(f[y],A),I=M,F=N-v[g]-C,U=N/2-v[g]/2+P,Y=Oa(I,U,F),Z=!u.arrow&&zs(o)!=null&&U!==Y&&i.reference[g]/2-(U<I?M:C)-v[g]/2<0,V=Z?U<I?U-I:U-F:0;return{[h]:m[h]+V,data:{[h]:Y,centerOffset:U-Y-V,...Z&&{alignmentOffset:V}},reset:Z}}}),VS=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:i,rects:a,initialPlacement:l,platform:u,elements:d}=t,{mainAxis:p=!0,crossAxis:f=!0,fallbackPlacements:m,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:v=!0,...b}=an(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};const w=ln(o),y=Ft(l),j=ln(l)===l,k=await(u.isRTL==null?void 0:u.isRTL(d.floating)),S=m||(j||!v?[No(l)]:zS(l)),_=g!=="none";!m&&_&&S.push(...FS(l,v,g,k));const N=[l,...S],P=await u.detectOverflow(t,b),A=[];let M=((r=i.flip)==null?void 0:r.overflows)||[];if(p&&A.push(P[w]),f){const U=OS(o,a,k);A.push(P[U[0]],P[U[1]])}if(M=[...M,{placement:o,overflows:A}],!A.every(U=>U<=0)){var C,I;const U=(((C=i.flip)==null?void 0:C.index)||0)+1,Y=N[U];if(Y&&(!(f==="alignment"?y!==Ft(Y):!1)||M.every(H=>Ft(H.placement)===y?H.overflows[0]>0:!0)))return{data:{index:U,overflows:M},reset:{placement:Y}};let Z=(I=M.filter(V=>V.overflows[0]<=0).sort((V,H)=>V.overflows[1]-H.overflows[1])[0])==null?void 0:I.placement;if(!Z)switch(h){case"bestFit":{var F;const V=(F=M.filter(H=>{if(_){const z=Ft(H.placement);return z===y||z==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(z=>z>0).reduce((z,X)=>z+X,0)]).sort((H,z)=>H[1]-z[1])[0])==null?void 0:F[0];V&&(Z=V);break}case"initialPlacement":Z=l;break}if(o!==Z)return{reset:{placement:Z}}}return{}}}};function _u(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Nu(e){return MS.some(t=>e[t]>=0)}const WS=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:r}=t,{strategy:o="referenceHidden",...i}=an(e,t);switch(o){case"referenceHidden":{const a=await r.detectOverflow(t,{...i,elementContext:"reference"}),l=_u(a,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Nu(l)}}}case"escaped":{const a=await r.detectOverflow(t,{...i,altBoundary:!0}),l=_u(a,n.floating);return{data:{escapedOffsets:l,escaped:Nu(l)}}}default:return{}}}}},im=new Set(["left","top"]);async function ZS(e,t){const{placement:n,platform:r,elements:o}=e,i=await(r.isRTL==null?void 0:r.isRTL(o.floating)),a=ln(n),l=zs(n),u=Ft(n)==="y",d=im.has(a)?-1:1,p=i&&u?-1:1,f=an(t,e);let{mainAxis:m,crossAxis:h,alignmentAxis:g}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return l&&typeof g=="number"&&(h=l==="end"?g*-1:g),u?{x:h*p,y:m*d}:{x:m*d,y:h*p}}const KS=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:i,placement:a,middlewareData:l}=t,u=await ZS(t,e);return a===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+u.x,y:i+u.y,data:{...u,placement:a}}}}},GS=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o,platform:i}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:u={fn:w=>{let{x:y,y:j}=w;return{x:y,y:j}}},...d}=an(e,t),p={x:n,y:r},f=await i.detectOverflow(t,d),m=Ft(ln(o)),h=Zl(m);let g=p[h],v=p[m];if(a){const w=h==="y"?"top":"left",y=h==="y"?"bottom":"right",j=g+f[w],k=g-f[y];g=Oa(j,g,k)}if(l){const w=m==="y"?"top":"left",y=m==="y"?"bottom":"right",j=v+f[w],k=v-f[y];v=Oa(j,v,k)}const b=u.fn({...t,[h]:g,[m]:v});return{...b,data:{x:b.x-n,y:b.y-r,enabled:{[h]:a,[m]:l}}}}}},JS=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:i,middlewareData:a}=t,{offset:l=0,mainAxis:u=!0,crossAxis:d=!0}=an(e,t),p={x:n,y:r},f=Ft(o),m=Zl(f);let h=p[m],g=p[f];const v=an(l,t),b=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(u){const j=m==="y"?"height":"width",k=i.reference[m]-i.floating[j]+b.mainAxis,S=i.reference[m]+i.reference[j]-b.mainAxis;h<k?h=k:h>S&&(h=S)}if(d){var w,y;const j=m==="y"?"width":"height",k=im.has(ln(o)),S=i.reference[f]-i.floating[j]+(k&&((w=a.offset)==null?void 0:w[f])||0)+(k?0:b.crossAxis),_=i.reference[f]+i.reference[j]+(k?0:((y=a.offset)==null?void 0:y[f])||0)-(k?b.crossAxis:0);g<S?g=S:g>_&&(g=_)}return{[m]:h,[f]:g}}}},YS=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:i,platform:a,elements:l}=t,{apply:u=()=>{},...d}=an(e,t),p=await a.detectOverflow(t,d),f=ln(o),m=zs(o),h=Ft(o)==="y",{width:g,height:v}=i.floating;let b,w;f==="top"||f==="bottom"?(b=f,w=m===(await(a.isRTL==null?void 0:a.isRTL(l.floating))?"start":"end")?"left":"right"):(w=f,b=m==="end"?"top":"bottom");const y=v-p.top-p.bottom,j=g-p.left-p.right,k=jn(v-p[b],y),S=jn(g-p[w],j),_=!t.middlewareData.shift;let N=k,P=S;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(P=j),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(N=y),_&&!m){const M=ht(p.left,0),C=ht(p.right,0),I=ht(p.top,0),F=ht(p.bottom,0);h?P=g-2*(M!==0||C!==0?M+C:ht(p.left,p.right)):N=v-2*(I!==0||F!==0?I+F:ht(p.top,p.bottom))}await u({...t,availableWidth:P,availableHeight:N});const A=await a.getDimensions(l.floating);return g!==A.width||v!==A.height?{reset:{rects:!0}}:{}}}};function ii(){return typeof window<"u"}function Ls(e){return am(e)?(e.nodeName||"").toLowerCase():"#document"}function bt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Gt(e){var t;return(t=(am(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function am(e){return ii()?e instanceof Node||e instanceof bt(e).Node:!1}function Pt(e){return ii()?e instanceof Element||e instanceof bt(e).Element:!1}function Vt(e){return ii()?e instanceof HTMLElement||e instanceof bt(e).HTMLElement:!1}function Cu(e){return!ii()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof bt(e).ShadowRoot}const XS=new Set(["inline","contents"]);function vr(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=At(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!XS.has(o)}const QS=new Set(["table","td","th"]);function e_(e){return QS.has(Ls(e))}const t_=[":popover-open",":modal"];function ai(e){return t_.some(t=>{try{return e.matches(t)}catch{return!1}})}const n_=["transform","translate","scale","rotate","perspective"],s_=["transform","translate","scale","rotate","perspective","filter"],r_=["paint","layout","strict","content"];function Jl(e){const t=Yl(),n=Pt(e)?At(e):e;return n_.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||s_.some(r=>(n.willChange||"").includes(r))||r_.some(r=>(n.contain||"").includes(r))}function o_(e){let t=kn(e);for(;Vt(t)&&!Es(t);){if(Jl(t))return t;if(ai(t))return null;t=kn(t)}return null}function Yl(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const i_=new Set(["html","body","#document"]);function Es(e){return i_.has(Ls(e))}function At(e){return bt(e).getComputedStyle(e)}function li(e){return Pt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function kn(e){if(Ls(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Cu(e)&&e.host||Gt(e);return Cu(t)?t.host:t}function lm(e){const t=kn(e);return Es(t)?e.ownerDocument?e.ownerDocument.body:e.body:Vt(t)&&vr(t)?t:lm(t)}function rr(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=lm(e),i=o===((r=e.ownerDocument)==null?void 0:r.body),a=bt(o);if(i){const l=La(a);return t.concat(a,a.visualViewport||[],vr(o)?o:[],l&&n?rr(l):[])}return t.concat(o,rr(o,[],n))}function La(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cm(e){const t=At(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Vt(e),i=o?e.offsetWidth:n,a=o?e.offsetHeight:r,l=_o(n)!==i||_o(r)!==a;return l&&(n=i,r=a),{width:n,height:r,$:l}}function Xl(e){return Pt(e)?e:e.contextElement}function vs(e){const t=Xl(e);if(!Vt(t))return Ht(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:i}=cm(t);let a=(i?_o(n.width):n.width)/r,l=(i?_o(n.height):n.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!l||!Number.isFinite(l))&&(l=1),{x:a,y:l}}const a_=Ht(0);function um(e){const t=bt(e);return!Yl()||!t.visualViewport?a_:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function l_(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==bt(e)?!1:t}function Zn(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),i=Xl(e);let a=Ht(1);t&&(r?Pt(r)&&(a=vs(r)):a=vs(e));const l=l_(i,n,r)?um(i):Ht(0);let u=(o.left+l.x)/a.x,d=(o.top+l.y)/a.y,p=o.width/a.x,f=o.height/a.y;if(i){const m=bt(i),h=r&&Pt(r)?bt(r):r;let g=m,v=La(g);for(;v&&r&&h!==g;){const b=vs(v),w=v.getBoundingClientRect(),y=At(v),j=w.left+(v.clientLeft+parseFloat(y.paddingLeft))*b.x,k=w.top+(v.clientTop+parseFloat(y.paddingTop))*b.y;u*=b.x,d*=b.y,p*=b.x,f*=b.y,u+=j,d+=k,g=bt(v),v=La(g)}}return Co({width:p,height:f,x:u,y:d})}function ci(e,t){const n=li(e).scrollLeft;return t?t.left+n:Zn(Gt(e)).left+n}function dm(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-ci(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function c_(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i=o==="fixed",a=Gt(r),l=t?ai(t.floating):!1;if(r===a||l&&i)return n;let u={scrollLeft:0,scrollTop:0},d=Ht(1);const p=Ht(0),f=Vt(r);if((f||!f&&!i)&&((Ls(r)!=="body"||vr(a))&&(u=li(r)),Vt(r))){const h=Zn(r);d=vs(r),p.x=h.x+r.clientLeft,p.y=h.y+r.clientTop}const m=a&&!f&&!i?dm(a,u):Ht(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-u.scrollLeft*d.x+p.x+m.x,y:n.y*d.y-u.scrollTop*d.y+p.y+m.y}}function u_(e){return Array.from(e.getClientRects())}function d_(e){const t=Gt(e),n=li(e),r=e.ownerDocument.body,o=ht(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=ht(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+ci(e);const l=-n.scrollTop;return At(r).direction==="rtl"&&(a+=ht(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:a,y:l}}const Tu=25;function p_(e,t){const n=bt(e),r=Gt(e),o=n.visualViewport;let i=r.clientWidth,a=r.clientHeight,l=0,u=0;if(o){i=o.width,a=o.height;const p=Yl();(!p||p&&t==="fixed")&&(l=o.offsetLeft,u=o.offsetTop)}const d=ci(r);if(d<=0){const p=r.ownerDocument,f=p.body,m=getComputedStyle(f),h=p.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,g=Math.abs(r.clientWidth-f.clientWidth-h);g<=Tu&&(i-=g)}else d<=Tu&&(i+=d);return{width:i,height:a,x:l,y:u}}const f_=new Set(["absolute","fixed"]);function m_(e,t){const n=Zn(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=Vt(e)?vs(e):Ht(1),a=e.clientWidth*i.x,l=e.clientHeight*i.y,u=o*i.x,d=r*i.y;return{width:a,height:l,x:u,y:d}}function Eu(e,t,n){let r;if(t==="viewport")r=p_(e,n);else if(t==="document")r=d_(Gt(e));else if(Pt(t))r=m_(t,n);else{const o=um(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Co(r)}function pm(e,t){const n=kn(e);return n===t||!Pt(n)||Es(n)?!1:At(n).position==="fixed"||pm(n,t)}function h_(e,t){const n=t.get(e);if(n)return n;let r=rr(e,[],!1).filter(l=>Pt(l)&&Ls(l)!=="body"),o=null;const i=At(e).position==="fixed";let a=i?kn(e):e;for(;Pt(a)&&!Es(a);){const l=At(a),u=Jl(a);!u&&l.position==="fixed"&&(o=null),(i?!u&&!o:!u&&l.position==="static"&&!!o&&f_.has(o.position)||vr(a)&&!u&&pm(e,a))?r=r.filter(p=>p!==a):o=l,a=kn(a)}return t.set(e,r),r}function g_(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const a=[...n==="clippingAncestors"?ai(t)?[]:h_(t,this._c):[].concat(n),r],l=a[0],u=a.reduce((d,p)=>{const f=Eu(t,p,o);return d.top=ht(f.top,d.top),d.right=jn(f.right,d.right),d.bottom=jn(f.bottom,d.bottom),d.left=ht(f.left,d.left),d},Eu(t,l,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function x_(e){const{width:t,height:n}=cm(e);return{width:t,height:n}}function b_(e,t,n){const r=Vt(t),o=Gt(t),i=n==="fixed",a=Zn(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const u=Ht(0);function d(){u.x=ci(o)}if(r||!r&&!i)if((Ls(t)!=="body"||vr(o))&&(l=li(t)),r){const h=Zn(t,!0,i,t);u.x=h.x+t.clientLeft,u.y=h.y+t.clientTop}else o&&d();i&&!r&&o&&d();const p=o&&!r&&!i?dm(o,l):Ht(0),f=a.left+l.scrollLeft-u.x-p.x,m=a.top+l.scrollTop-u.y-p.y;return{x:f,y:m,width:a.width,height:a.height}}function Ui(e){return At(e).position==="static"}function Ru(e,t){if(!Vt(e)||At(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Gt(e)===n&&(n=n.ownerDocument.body),n}function fm(e,t){const n=bt(e);if(ai(e))return n;if(!Vt(e)){let o=kn(e);for(;o&&!Es(o);){if(Pt(o)&&!Ui(o))return o;o=kn(o)}return n}let r=Ru(e,t);for(;r&&e_(r)&&Ui(r);)r=Ru(r,t);return r&&Es(r)&&Ui(r)&&!Jl(r)?n:r||o_(e)||n}const v_=async function(e){const t=this.getOffsetParent||fm,n=this.getDimensions,r=await n(e.floating);return{reference:b_(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function y_(e){return At(e).direction==="rtl"}const w_={convertOffsetParentRelativeRectToViewportRelativeRect:c_,getDocumentElement:Gt,getClippingRect:g_,getOffsetParent:fm,getElementRects:v_,getClientRects:u_,getDimensions:x_,getScale:vs,isElement:Pt,isRTL:y_};function mm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function j_(e,t){let n=null,r;const o=Gt(e);function i(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function a(l,u){l===void 0&&(l=!1),u===void 0&&(u=1),i();const d=e.getBoundingClientRect(),{left:p,top:f,width:m,height:h}=d;if(l||t(),!m||!h)return;const g=Dr(f),v=Dr(o.clientWidth-(p+m)),b=Dr(o.clientHeight-(f+h)),w=Dr(p),j={rootMargin:-g+"px "+-v+"px "+-b+"px "+-w+"px",threshold:ht(0,jn(1,u))||1};let k=!0;function S(_){const N=_[0].intersectionRatio;if(N!==u){if(!k)return a();N?a(!1,N):r=setTimeout(()=>{a(!1,1e-7)},1e3)}N===1&&!mm(d,e.getBoundingClientRect())&&a(),k=!1}try{n=new IntersectionObserver(S,{...j,root:o.ownerDocument})}catch{n=new IntersectionObserver(S,j)}n.observe(e)}return a(!0),i}function k_(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=r,d=Xl(e),p=o||i?[...d?rr(d):[],...rr(t)]:[];p.forEach(w=>{o&&w.addEventListener("scroll",n,{passive:!0}),i&&w.addEventListener("resize",n)});const f=d&&l?j_(d,n):null;let m=-1,h=null;a&&(h=new ResizeObserver(w=>{let[y]=w;y&&y.target===d&&h&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var j;(j=h)==null||j.observe(t)})),n()}),d&&!u&&h.observe(d),h.observe(t));let g,v=u?Zn(e):null;u&&b();function b(){const w=Zn(e);v&&!mm(v,w)&&n(),v=w,g=requestAnimationFrame(b)}return n(),()=>{var w;p.forEach(y=>{o&&y.removeEventListener("scroll",n),i&&y.removeEventListener("resize",n)}),f?.(),(w=h)==null||w.disconnect(),h=null,u&&cancelAnimationFrame(g)}}const S_=KS,__=GS,N_=VS,C_=YS,T_=WS,Mu=HS,E_=JS,R_=(e,t,n)=>{const r=new Map,o={platform:w_,...n},i={...o.platform,_c:r};return qS(e,t,{...o,platform:i})};var M_=typeof document<"u",I_=function(){},io=M_?c.useLayoutEffect:I_;function To(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!To(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const i=o[r];if(!(i==="_owner"&&e.$$typeof)&&!To(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function hm(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Iu(e,t){const n=hm(e);return Math.round(t*n)/n}function Bi(e){const t=c.useRef(e);return io(()=>{t.current=e}),t}function P_(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:a}={},transform:l=!0,whileElementsMounted:u,open:d}=e,[p,f]=c.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=c.useState(r);To(m,r)||h(r);const[g,v]=c.useState(null),[b,w]=c.useState(null),y=c.useCallback(H=>{H!==_.current&&(_.current=H,v(H))},[]),j=c.useCallback(H=>{H!==N.current&&(N.current=H,w(H))},[]),k=i||g,S=a||b,_=c.useRef(null),N=c.useRef(null),P=c.useRef(p),A=u!=null,M=Bi(u),C=Bi(o),I=Bi(d),F=c.useCallback(()=>{if(!_.current||!N.current)return;const H={placement:t,strategy:n,middleware:m};C.current&&(H.platform=C.current),R_(_.current,N.current,H).then(z=>{const X={...z,isPositioned:I.current!==!1};U.current&&!To(P.current,X)&&(P.current=X,As.flushSync(()=>{f(X)}))})},[m,t,n,C,I]);io(()=>{d===!1&&P.current.isPositioned&&(P.current.isPositioned=!1,f(H=>({...H,isPositioned:!1})))},[d]);const U=c.useRef(!1);io(()=>(U.current=!0,()=>{U.current=!1}),[]),io(()=>{if(k&&(_.current=k),S&&(N.current=S),k&&S){if(M.current)return M.current(k,S,F);F()}},[k,S,F,M,A]);const Y=c.useMemo(()=>({reference:_,floating:N,setReference:y,setFloating:j}),[y,j]),Z=c.useMemo(()=>({reference:k,floating:S}),[k,S]),V=c.useMemo(()=>{const H={position:n,left:0,top:0};if(!Z.floating)return H;const z=Iu(Z.floating,p.x),X=Iu(Z.floating,p.y);return l?{...H,transform:"translate("+z+"px, "+X+"px)",...hm(Z.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:z,top:X}},[n,l,Z.floating,p.x,p.y]);return c.useMemo(()=>({...p,update:F,refs:Y,elements:Z,floatingStyles:V}),[p,F,Y,Z,V])}const A_=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?Mu({element:r.current,padding:o}).fn(n):{}:r?Mu({element:r,padding:o}).fn(n):{}}}},O_=(e,t)=>({...S_(e),options:[e,t]}),z_=(e,t)=>({...__(e),options:[e,t]}),L_=(e,t)=>({...E_(e),options:[e,t]}),$_=(e,t)=>({...N_(e),options:[e,t]}),D_=(e,t)=>({...C_(e),options:[e,t]}),F_=(e,t)=>({...T_(e),options:[e,t]}),U_=(e,t)=>({...A_(e),options:[e,t]});var B_="Arrow",gm=c.forwardRef((e,t)=>{const{children:n,width:r=10,height:o=5,...i}=e;return s.jsx(ge.svg,{...i,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:s.jsx("polygon",{points:"0,0 30,0 15,10"})})});gm.displayName=B_;var q_=gm,Ql="Popper",[xm,ui]=un(Ql),[H_,bm]=xm(Ql),vm=e=>{const{__scopePopper:t,children:n}=e,[r,o]=c.useState(null),[i,a]=c.useState(void 0);return s.jsx(H_,{scope:t,anchor:r,onAnchorChange:o,placementState:i,setPlacementState:a,children:n})};vm.displayName=Ql;var ym="PopperAnchor",wm=c.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,i=bm(ym,n),a=c.useRef(null),l=i.onAnchorChange,u=c.useCallback(g=>{a.current=g,g&&l(g)},[l]),d=Re(t,u),p=c.useRef(null);c.useEffect(()=>{if(!r)return;const g=p.current;p.current=r.current,g!==p.current&&l(p.current)});const f=i.placementState&&tc(i.placementState),m=f?.[0],h=f?.[1];return r?null:s.jsx(ge.div,{"data-radix-popper-side":m,"data-radix-popper-align":h,...o,ref:d})});wm.displayName=ym;var ec="PopperContent",[V_,W_]=xm(ec),jm=c.forwardRef((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:i="center",alignOffset:a=0,arrowPadding:l=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:p=0,sticky:f="partial",hideWhenDetached:m=!1,updatePositionStrategy:h="optimized",onPlaced:g,...v}=e,b=bm(ec,n),[w,y]=c.useState(null),j=Re(t,y),[k,S]=c.useState(null),_=RS(k),N=_?.width??0,P=_?.height??0,A=r+(i!=="center"?"-"+i:""),M=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},C=Array.isArray(d)?d:[d],I=C.length>0,F={padding:M,boundary:C.filter(K_),altBoundary:I},{refs:U,floatingStyles:Y,placement:Z,isPositioned:V,middlewareData:H}=P_({strategy:"fixed",placement:A,whileElementsMounted:(...ke)=>k_(...ke,{animationFrame:h==="always"}),elements:{reference:b.anchor},middleware:[O_({mainAxis:o+P,alignmentAxis:a}),u&&z_({mainAxis:!0,crossAxis:!1,limiter:f==="partial"?L_():void 0,...F}),u&&$_({...F}),D_({...F,apply:({elements:ke,rects:Se,availableWidth:le,availableHeight:ue})=>{const{width:me,height:we}=Se.reference,Ee=ke.floating.style;Ee.setProperty("--radix-popper-available-width",`${le}px`),Ee.setProperty("--radix-popper-available-height",`${ue}px`),Ee.setProperty("--radix-popper-anchor-width",`${me}px`),Ee.setProperty("--radix-popper-anchor-height",`${we}px`)}}),k&&U_({element:k,padding:l}),G_({arrowWidth:N,arrowHeight:P}),m&&F_({strategy:"referenceHidden",...F,boundary:I?F.boundary:void 0})]}),z=b.setPlacementState;Je(()=>(z(Z),()=>{z(void 0)}),[Z,z]);const[X,J]=tc(Z),be=Qe(g);Je(()=>{V&&be?.()},[V,be]);const ve=H.arrow?.x,oe=H.arrow?.y,D=H.arrow?.centerOffset!==0,[je,te]=c.useState();return Je(()=>{w&&te(window.getComputedStyle(w).zIndex)},[w]),s.jsx("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...Y,transform:V?Y.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:je,"--radix-popper-transform-origin":[H.transformOrigin?.x,H.transformOrigin?.y].join(" "),...H.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:s.jsx(V_,{scope:n,placedSide:X,placedAlign:J,onArrowChange:S,arrowX:ve,arrowY:oe,shouldHideArrow:D,children:s.jsx(ge.div,{"data-side":X,"data-align":J,...v,ref:j,style:{...v.style,animation:V?void 0:"none"}})})})});jm.displayName=ec;var km="PopperArrow",Z_={top:"bottom",right:"left",bottom:"top",left:"right"},Sm=c.forwardRef(function(t,n){const{__scopePopper:r,...o}=t,i=W_(km,r),a=Z_[i.placedSide];return s.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:s.jsx(q_,{...o,ref:n,style:{...o.style,display:"block"}})})});Sm.displayName=km;function K_(e){return e!==null}var G_=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:o}=t,a=o.arrow?.centerOffset!==0,l=a?0:e.arrowWidth,u=a?0:e.arrowHeight,[d,p]=tc(n),f={start:"0%",center:"50%",end:"100%"}[p],m=(o.arrow?.x??0)+l/2,h=(o.arrow?.y??0)+u/2;let g="",v="";return d==="bottom"?(g=a?f:`${m}px`,v=`${-u}px`):d==="top"?(g=a?f:`${m}px`,v=`${r.floating.height+u}px`):d==="right"?(g=`${-u}px`,v=a?f:`${h}px`):d==="left"&&(g=`${r.floating.width+u}px`,v=a?f:`${h}px`),{data:{x:g,y:v}}}});function tc(e){const[t,n="center"]=e.split("-");return[t,n]}var _m=vm,Nm=wm,Cm=jm,Tm=Sm,qi=!1;function J_(){const[e,t]=c.useState(qi);return c.useEffect(()=>{qi||(qi=!0,t(!0))},[]),e}var Em=Vo[" useSyncExternalStore ".trim().toString()];function Y_(){return()=>{}}function X_(){return Em(Y_,()=>!0,()=>!1)}var Q_=typeof Em=="function"?X_:J_,Hi="rovingFocusGroup.onEntryFocus",eN={bubbles:!1,cancelable:!0},yr="RovingFocusGroup",[$a,Rm,tN]=Cf(yr),[nN,Mm]=un(yr,[tN]),[sN,rN]=nN(yr),Im=c.forwardRef((e,t)=>s.jsx($a.Provider,{scope:e.__scopeRovingFocusGroup,children:s.jsx($a.Slot,{scope:e.__scopeRovingFocusGroup,children:s.jsx(oN,{...e,ref:t})})}));Im.displayName=yr;var oN=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:i,currentTabStopId:a,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:p=!1,...f}=e,m=c.useRef(null),h=Re(t,m),g=ti(i),[v,b]=Wn({prop:a,defaultProp:l??null,onChange:u,caller:yr}),[w,y]=c.useState(!1),j=Qe(d),k=Rm(n),S=c.useRef(!1),[_,N]=c.useState(0);return c.useEffect(()=>{const P=m.current;if(P)return P.addEventListener(Hi,j),()=>P.removeEventListener(Hi,j)},[j]),s.jsx(sN,{scope:n,orientation:r,dir:g,loop:o,currentTabStopId:v,onItemFocus:c.useCallback(P=>b(P),[b]),onItemShiftTab:c.useCallback(()=>y(!0),[]),onFocusableItemAdd:c.useCallback(()=>N(P=>P+1),[]),onFocusableItemRemove:c.useCallback(()=>N(P=>P-1),[]),children:s.jsx(ge.div,{tabIndex:w||_===0?-1:0,"data-orientation":r,...f,ref:h,style:{outline:"none",...e.style},onMouseDown:pe(e.onMouseDown,()=>{S.current=!0}),onFocus:pe(e.onFocus,P=>{const A=!S.current;if(P.target===P.currentTarget&&A&&!w){const M=new CustomEvent(Hi,eN);if(P.currentTarget.dispatchEvent(M),!M.defaultPrevented){const C=k().filter(Z=>Z.focusable),I=C.find(Z=>Z.active),F=C.find(Z=>Z.id===v),Y=[I,F,...C].filter(Boolean).map(Z=>Z.ref.current);Om(Y,p)}}S.current=!1}),onBlur:pe(e.onBlur,()=>y(!1))})})}),Pm="RovingFocusGroupItem",Am=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:i,children:a,...l}=e,u=qt(),d=i||u,p=rN(Pm,n),f=p.currentTabStopId===d,m=Rm(n),{onFocusableItemAdd:h,onFocusableItemRemove:g,currentTabStopId:v}=p,b=Q_();return Je(()=>{if(!(!b||!r))return h(),()=>g()},[b,r,h,g]),c.useEffect(()=>{if(!(b||!r))return h(),()=>g()},[b,r,h,g]),s.jsx($a.ItemSlot,{scope:n,id:d,focusable:r,active:o,children:s.jsx(ge.span,{tabIndex:f?0:-1,"data-orientation":p.orientation,...l,ref:t,onMouseDown:pe(e.onMouseDown,w=>{r?p.onItemFocus(d):w.preventDefault()}),onFocus:pe(e.onFocus,()=>p.onItemFocus(d)),onKeyDown:pe(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){p.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const y=lN(w,p.orientation,p.dir);if(y!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let k=m().filter(S=>S.focusable).map(S=>S.ref.current);if(y==="last")k.reverse();else if(y==="prev"||y==="next"){y==="prev"&&k.reverse();const S=k.indexOf(w.currentTarget);k=p.loop?cN(k,S+1):k.slice(S+1)}setTimeout(()=>Om(k))}}),children:typeof a=="function"?a({isCurrentTabStop:f,hasTabStop:v!=null}):a})})});Am.displayName=Pm;var iN={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function aN(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function lN(e,t,n){const r=aN(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return iN[r]}function Om(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function cN(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var uN=Im,dN=Am;function Da(e,[t,n]){return Math.min(n,Math.max(t,e))}function pN(e,t){return c.useReducer((n,r)=>t[n][r]??n,e)}var nc="ScrollArea",[zm]=un(nc),[fN,_t]=zm(nc),Lm=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:i=600,...a}=e,[l,u]=c.useState(null),[d,p]=c.useState(null),[f,m]=c.useState(null),[h,g]=c.useState(null),[v,b]=c.useState(null),[w,y]=c.useState(0),[j,k]=c.useState(0),[S,_]=c.useState(!1),[N,P]=c.useState(!1),A=Re(t,u),M=ti(o);return s.jsx(fN,{scope:n,type:r,dir:M,scrollHideDelay:i,scrollArea:l,viewport:d,onViewportChange:p,content:f,onContentChange:m,scrollbarX:h,onScrollbarXChange:g,scrollbarXEnabled:S,onScrollbarXEnabledChange:_,scrollbarY:v,onScrollbarYChange:b,scrollbarYEnabled:N,onScrollbarYEnabledChange:P,onCornerWidthChange:y,onCornerHeightChange:k,children:s.jsx(ge.div,{dir:M,...a,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":j+"px",...e.style}})})});Lm.displayName=nc;var $m="ScrollAreaViewport",Dm=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:o,...i}=e,a=_t($m,n),l=c.useRef(null),u=Re(t,l,a.onViewportChange);return s.jsxs(s.Fragment,{children:[s.jsx(mN,{nonce:o}),s.jsx(ge.div,{"data-radix-scroll-area-viewport":"",...i,ref:u,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:s.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});Dm.displayName=$m;var mN=c.memo(({nonce:e})=>s.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e}),(e,t)=>e.nonce===t.nonce),Jt="ScrollAreaScrollbar",Fm=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=_t(Jt,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=o,l=e.orientation==="horizontal";return c.useEffect(()=>(l?i(!0):a(!0),()=>{l?i(!1):a(!1)}),[l,i,a]),o.type==="hover"?s.jsx(hN,{...r,ref:t,forceMount:n}):o.type==="scroll"?s.jsx(gN,{...r,ref:t,forceMount:n}):o.type==="auto"?s.jsx(Um,{...r,ref:t,forceMount:n}):o.type==="always"?s.jsx(sc,{...r,ref:t,"data-state":"visible"}):null});Fm.displayName=Jt;var hN=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=_t(Jt,e.__scopeScrollArea),[i,a]=c.useState(!1);return c.useEffect(()=>{const l=o.scrollArea;let u=0;if(l){const d=()=>{window.clearTimeout(u),a(!0)},p=()=>{u=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return l.addEventListener("pointerenter",d),l.addEventListener("pointerleave",p),()=>{window.clearTimeout(u),l.removeEventListener("pointerenter",d),l.removeEventListener("pointerleave",p)}}},[o.scrollArea,o.scrollHideDelay]),s.jsx(yt,{present:n||i,children:s.jsx(Um,{"data-state":i?"visible":"hidden",...r,ref:t})})}),gN=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=_t(Jt,e.__scopeScrollArea),i=e.orientation==="horizontal",a=pi(()=>u("SCROLL_END"),100),[l,u]=pN("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return c.useEffect(()=>{if(l==="idle"){const d=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(d)}},[l,o.scrollHideDelay,u]),c.useEffect(()=>{const d=o.viewport,p=i?"scrollLeft":"scrollTop";if(d){let f=d[p];const m=()=>{const h=d[p];f!==h&&(u("SCROLL"),a()),f=h};return d.addEventListener("scroll",m),()=>d.removeEventListener("scroll",m)}},[o.viewport,i,u,a]),s.jsx(yt,{present:n||l!=="hidden",children:s.jsx(sc,{"data-state":l==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:pe(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:pe(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),Um=c.forwardRef((e,t)=>{const n=_t(Jt,e.__scopeScrollArea),{forceMount:r,...o}=e,[i,a]=c.useState(!1),l=e.orientation==="horizontal",u=pi(()=>{if(n.viewport){const d=n.viewport.offsetWidth<n.viewport.scrollWidth,p=n.viewport.offsetHeight<n.viewport.scrollHeight;a(l?d:p)}},10);return Rs(n.viewport,u),Rs(n.content,u),s.jsx(yt,{present:r||i,children:s.jsx(sc,{"data-state":i?"visible":"hidden",...o,ref:t})})}),sc=c.forwardRef((e,t)=>{const{orientation:n="vertical",...r}=e,o=_t(Jt,e.__scopeScrollArea),i=c.useRef(null),a=c.useRef(0),[l,u]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=Wm(l.viewport,l.content),p={...r,sizes:l,onSizesChange:u,hasThumb:d>0&&d<1,onThumbChange:m=>i.current=m,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:m=>a.current=m};function f(m,h){return jN(m,a.current,l,h)}return n==="horizontal"?s.jsx(xN,{...p,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollLeft,h=Pu(m,l,o.dir);i.current.style.transform=`translate3d(${h}px, 0, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollLeft=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollLeft=f(m,o.dir))}}):n==="vertical"?s.jsx(bN,{...p,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollTop,h=Pu(m,l);i.current.style.transform=`translate3d(0, ${h}px, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollTop=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollTop=f(m))}}):null}),xN=c.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,i=_t(Jt,e.__scopeScrollArea),[a,l]=c.useState(),u=c.useRef(null),d=Re(t,u,i.onScrollbarXChange);return c.useEffect(()=>{u.current&&l(getComputedStyle(u.current))},[u]),s.jsx(qm,{"data-orientation":"horizontal",...o,ref:d,sizes:n,style:{bottom:0,left:i.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:i.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":di(n)+"px",...e.style},onThumbPointerDown:p=>e.onThumbPointerDown(p.x),onDragScroll:p=>e.onDragScroll(p.x),onWheelScroll:(p,f)=>{if(i.viewport){const m=i.viewport.scrollLeft+p.deltaX;e.onWheelScroll(m),Km(m,f)&&p.preventDefault()}},onResize:()=>{u.current&&i.viewport&&a&&r({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:Ro(a.paddingLeft),paddingEnd:Ro(a.paddingRight)}})}})}),bN=c.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,i=_t(Jt,e.__scopeScrollArea),[a,l]=c.useState(),u=c.useRef(null),d=Re(t,u,i.onScrollbarYChange);return c.useEffect(()=>{u.current&&l(getComputedStyle(u.current))},[u]),s.jsx(qm,{"data-orientation":"vertical",...o,ref:d,sizes:n,style:{top:0,right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":di(n)+"px",...e.style},onThumbPointerDown:p=>e.onThumbPointerDown(p.y),onDragScroll:p=>e.onDragScroll(p.y),onWheelScroll:(p,f)=>{if(i.viewport){const m=i.viewport.scrollTop+p.deltaY;e.onWheelScroll(m),Km(m,f)&&p.preventDefault()}},onResize:()=>{u.current&&i.viewport&&a&&r({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:Ro(a.paddingTop),paddingEnd:Ro(a.paddingBottom)}})}})}),[vN,Bm]=zm(Jt),qm=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:i,onThumbPointerUp:a,onThumbPointerDown:l,onThumbPositionChange:u,onDragScroll:d,onWheelScroll:p,onResize:f,...m}=e,h=_t(Jt,n),[g,v]=c.useState(null),b=Re(t,v),w=c.useRef(null),y=c.useRef(""),j=h.viewport,k=r.content-r.viewport,S=Qe(p),_=Qe(u),N=pi(f,10);function P(A){if(w.current){const M=A.clientX-w.current.left,C=A.clientY-w.current.top;d({x:M,y:C})}}return c.useEffect(()=>{const A=M=>{const C=M.target;g?.contains(C)&&S(M,k)};return document.addEventListener("wheel",A,{passive:!1}),()=>document.removeEventListener("wheel",A,{passive:!1})},[j,g,k,S]),c.useEffect(_,[r,_]),Rs(g,N),Rs(h.content,N),s.jsx(vN,{scope:n,scrollbar:g,hasThumb:o,onThumbChange:Qe(i),onThumbPointerUp:Qe(a),onThumbPositionChange:_,onThumbPointerDown:Qe(l),children:s.jsx(ge.div,{...m,ref:b,style:{position:"absolute",...m.style},onPointerDown:pe(e.onPointerDown,A=>{A.button===0&&(A.target.setPointerCapture(A.pointerId),w.current=g.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",h.viewport&&(h.viewport.style.scrollBehavior="auto"),P(A))}),onPointerMove:pe(e.onPointerMove,P),onPointerUp:pe(e.onPointerUp,A=>{const M=A.target;M.hasPointerCapture(A.pointerId)&&M.releasePointerCapture(A.pointerId),document.body.style.webkitUserSelect=y.current,h.viewport&&(h.viewport.style.scrollBehavior=""),w.current=null})})})}),Eo="ScrollAreaThumb",Hm=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Bm(Eo,e.__scopeScrollArea);return s.jsx(yt,{present:n||o.hasThumb,children:s.jsx(yN,{ref:t,...r})})}),yN=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,i=_t(Eo,n),a=Bm(Eo,n),{onThumbPositionChange:l}=a,u=Re(t,a.onThumbChange),d=c.useRef(void 0),p=pi(()=>{d.current&&(d.current(),d.current=void 0)},100);return c.useEffect(()=>{const f=i.viewport;if(f){const m=()=>{if(p(),!d.current){const h=kN(f,l);d.current=h,l()}};return l(),f.addEventListener("scroll",m),()=>f.removeEventListener("scroll",m)}},[i.viewport,p,l]),s.jsx(ge.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:pe(e.onPointerDownCapture,f=>{const h=f.target.getBoundingClientRect(),g=f.clientX-h.left,v=f.clientY-h.top;a.onThumbPointerDown({x:g,y:v})}),onPointerUp:pe(e.onPointerUp,a.onThumbPointerUp)})});Hm.displayName=Eo;var rc="ScrollAreaCorner",Vm=c.forwardRef((e,t)=>{const n=_t(rc,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?s.jsx(wN,{...e,ref:t}):null});Vm.displayName=rc;var wN=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=_t(rc,n),[i,a]=c.useState(0),[l,u]=c.useState(0),d=!!(i&&l),{onCornerWidthChange:p,onCornerHeightChange:f}=o;return Rs(o.scrollbarX,()=>{const m=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(m),u(m)}),Rs(o.scrollbarY,()=>{const m=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(m),a(m)}),c.useEffect(()=>()=>{p(0),f(0)},[p,f]),d?s.jsx(ge.div,{...r,ref:t,style:{width:i,height:l,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Ro(e){return e?parseInt(e,10):0}function Wm(e,t){const n=e/t;return isNaN(n)?0:n}function di(e){const t=Wm(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function jN(e,t,n,r="ltr"){const o=di(n),i=o/2,a=t||i,l=o-a,u=n.scrollbar.paddingStart+a,d=n.scrollbar.size-n.scrollbar.paddingEnd-l,p=n.content-n.viewport,f=r==="ltr"?[0,p]:[p*-1,0];return Zm([u,d],f)(e)}function Pu(e,t,n="ltr"){const r=di(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,a=t.content-t.viewport,l=i-r,u=n==="ltr"?[0,a]:[a*-1,0],d=Da(e,u);return Zm([0,a],[0,l])(d)}function Zm(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Km(e,t){return e>0&&e<t}var kN=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function o(){const i={left:e.scrollLeft,top:e.scrollTop},a=n.left!==i.left,l=n.top!==i.top;(a||l)&&t(),n=i,r=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(r)};function pi(e,t){const n=Qe(e),r=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(r.current),[]),c.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Rs(e,t){const n=Qe(t);Je(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}var SN=Lm,_N=Dm,NN=Vm,CN=[" ","Enter","ArrowUp","ArrowDown"],TN=[" ","Enter"],Kn="Select",[fi,mi,EN]=Cf(Kn),[Xn]=un(Kn,[EN,ui]),hi=ui(),[RN,Tn]=Xn(Kn),[MN,IN]=Xn(Kn),PN="SelectProvider";function Gm(e){const{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:i,value:a,defaultValue:l,onValueChange:u,dir:d,name:p,autoComplete:f,disabled:m,required:h,form:g,internal_do_not_use_render:v}=e,b=hi(t),[w,y]=c.useState(null),[j,k]=c.useState(null),[S,_]=c.useState(!1),N=ti(d),[P,A]=Wn({prop:r,defaultProp:o??!1,onChange:i,caller:Kn}),[M,C]=Wn({prop:a,defaultProp:l,onChange:u,caller:Kn}),I=c.useRef(null),F=c.useRef(M);c.useEffect(()=>{const be=g?w?.ownerDocument.getElementById(g):w?.form;if(be instanceof HTMLFormElement){const ve=()=>C(F.current);return be.addEventListener("reset",ve),()=>be.removeEventListener("reset",ve)}},[g,w,C]);const U=w?!!g||!!w.closest("form"):!0,[Y,Z]=c.useState(new Set),V=qt(),H=Array.from(Y).map(be=>be.props.value).join(";"),z=c.useCallback(be=>{Z(ve=>new Set(ve).add(be))},[]),X=c.useCallback(be=>{Z(ve=>{const oe=new Set(ve);return oe.delete(be),oe})},[]),J={required:h,trigger:w,onTriggerChange:y,valueNode:j,onValueNodeChange:k,valueNodeHasChildren:S,onValueNodeHasChildrenChange:_,contentId:V,value:M,onValueChange:C,open:P,onOpenChange:A,dir:N,triggerPointerDownPosRef:I,disabled:m,name:p,autoComplete:f,form:g,nativeOptions:Y,nativeSelectKey:H,isFormControl:U};return s.jsx(_m,{...b,children:s.jsx(RN,{scope:t,...J,children:s.jsx(fi.Provider,{scope:t,children:s.jsx(MN,{scope:t,onNativeOptionAdd:z,onNativeOptionRemove:X,children:JN(v)?v(J):n})})})})}Gm.displayName=PN;var Jm=e=>{const{__scopeSelect:t,children:n,...r}=e;return s.jsx(Gm,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:o})=>s.jsxs(s.Fragment,{children:[n,o?s.jsx(jh,{__scopeSelect:t}):null]})})};Jm.displayName=Kn;var Ym="SelectTrigger",Xm=c.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...o}=e,i=hi(n),a=Tn(Ym,n),l=a.disabled||r,u=Re(t,a.onTriggerChange),d=mi(n),p=c.useRef("touch"),[f,m,h]=kh(v=>{const b=d().filter(j=>!j.disabled),w=b.find(j=>j.value===a.value),y=Sh(b,v,w);y!==void 0&&a.onValueChange(y.value)}),g=v=>{l||(a.onOpenChange(!0),h()),v&&(a.triggerPointerDownPosRef.current={x:Math.round(v.pageX),y:Math.round(v.pageY)})};return s.jsx(Nm,{asChild:!0,...i,children:s.jsx(ge.button,{type:"button",role:"combobox","aria-controls":a.open?a.contentId:void 0,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":gi(a.value)?"":void 0,...o,ref:u,onClick:pe(o.onClick,v=>{v.currentTarget.focus(),p.current!=="mouse"&&g(v)}),onPointerDown:pe(o.onPointerDown,v=>{p.current=v.pointerType;const b=v.target;b.hasPointerCapture(v.pointerId)&&b.releasePointerCapture(v.pointerId),v.button===0&&v.ctrlKey===!1&&v.pointerType==="mouse"&&(g(v),v.preventDefault())}),onKeyDown:pe(o.onKeyDown,v=>{const b=f.current!=="";!(v.ctrlKey||v.altKey||v.metaKey)&&v.key.length===1&&m(v.key),!(b&&v.key===" ")&&CN.includes(v.key)&&(g(),v.preventDefault())})})})});Xm.displayName=Ym;var Qm="SelectValue",eh=c.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,children:i,placeholder:a="",...l}=e,u=Tn(Qm,n),{onValueNodeHasChildrenChange:d}=u,p=i!==void 0,f=Re(t,u.onValueNodeChange);Je(()=>{d(p)},[d,p]);const m=gi(u.value);return s.jsx(ge.span,{...l,asChild:m?!1:l.asChild,ref:f,style:{pointerEvents:"none"},children:s.jsx(c.Fragment,{children:m?a:i},m?"placeholder":"value")})});eh.displayName=Qm;var AN="SelectIcon",th=c.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...o}=e;return s.jsx(ge.span,{"aria-hidden":!0,...o,ref:t,children:r||"▼"})});th.displayName=AN;var nh="SelectPortal",[ON,zN]=Xn(nh,{forceMount:void 0}),sh=e=>{const{__scopeSelect:t,forceMount:n,...r}=e;return s.jsx(ON,{scope:e.__scopeSelect,forceMount:n,children:s.jsx(si,{asChild:!0,...r})})};sh.displayName=nh;var Sn="SelectContent",rh=c.forwardRef((e,t)=>{const n=zN(Sn,e.__scopeSelect),{forceMount:r=n.forceMount,...o}=e,i=Tn(Sn,e.__scopeSelect),[a,l]=c.useState();return Je(()=>{l(new DocumentFragment)},[]),s.jsx(yt,{present:r||i.open,children:({present:u})=>u?s.jsx(ah,{...o,ref:t}):s.jsx(oh,{...o,fragment:a})})});rh.displayName=Sn;var oh=c.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,fragment:o}=e;return o?As.createPortal(s.jsx(ih,{scope:n,children:s.jsx(fi.Slot,{scope:n,children:s.jsx("div",{ref:t,children:r})})}),o):null});oh.displayName="SelectContentFragment";var Mt=10,[ih,En]=Xn(Sn),LN="SelectContentImpl",$N=Cs("SelectContent.RemoveScroll"),ah=c.forwardRef((e,t)=>{const{__scopeSelect:n}=e,{position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:i,onPointerDownOutside:a,side:l,sideOffset:u,align:d,alignOffset:p,arrowPadding:f,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:v,avoidCollisions:b,...w}=e,y=Tn(Sn,n),[j,k]=c.useState(null),[S,_]=c.useState(null),N=Re(t,k),[P,A]=c.useState(null),[M,C]=c.useState(null),I=mi(n),[F,U]=c.useState(!1),Y=c.useRef(!1);c.useEffect(()=>{if(j)return qf(j)},[j]),Af();const Z=c.useCallback(te=>{const[ke,...Se]=I().map(me=>me.ref.current),[le]=Se.slice(-1),ue=document.activeElement;for(const me of te)if(me===ue||(me?.scrollIntoView({block:"nearest"}),me===ke&&S&&(S.scrollTop=0),me===le&&S&&(S.scrollTop=S.scrollHeight),me?.focus(),document.activeElement!==ue))return},[I,S]),V=c.useCallback(()=>Z([P,j]),[Z,P,j]);c.useEffect(()=>{F&&V()},[F,V]);const{onOpenChange:H,triggerPointerDownPosRef:z}=y;c.useEffect(()=>{if(j){let te={x:0,y:0};const ke=le=>{te={x:Math.abs(Math.round(le.pageX)-(z.current?.x??0)),y:Math.abs(Math.round(le.pageY)-(z.current?.y??0))}},Se=le=>{te.x<=10&&te.y<=10?le.preventDefault():le.composedPath().includes(j)||H(!1),document.removeEventListener("pointermove",ke),z.current=null};return z.current!==null&&(document.addEventListener("pointermove",ke),document.addEventListener("pointerup",Se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ke),document.removeEventListener("pointerup",Se,{capture:!0})}}},[j,H,z]),c.useEffect(()=>{const te=()=>H(!1);return window.addEventListener("blur",te),window.addEventListener("resize",te),()=>{window.removeEventListener("blur",te),window.removeEventListener("resize",te)}},[H]);const[X,J]=kh(te=>{const ke=I().filter(ue=>!ue.disabled),Se=ke.find(ue=>ue.ref.current===document.activeElement),le=Sh(ke,te,Se);le&&setTimeout(()=>le.ref.current?.focus())}),be=c.useCallback((te,ke,Se)=>{const le=!Y.current&&!Se;(y.value!==void 0&&y.value===ke||le)&&(A(te),le&&(Y.current=!0))},[y.value]),ve=c.useCallback(()=>j?.focus(),[j]),oe=c.useCallback((te,ke,Se)=>{const le=!Y.current&&!Se;(y.value!==void 0&&y.value===ke||le)&&C(te)},[y.value]),D=r==="popper"?Fa:lh,je=D===Fa?{side:l,sideOffset:u,align:d,alignOffset:p,arrowPadding:f,collisionBoundary:m,collisionPadding:h,sticky:g,hideWhenDetached:v,avoidCollisions:b}:{};return s.jsx(ih,{scope:n,content:j,viewport:S,onViewportChange:_,itemRefCallback:be,selectedItem:P,onItemLeave:ve,itemTextRefCallback:oe,focusSelectedItem:V,selectedItemText:M,position:r,isPositioned:F,searchRef:X,children:s.jsx(Hl,{as:$N,allowPinchZoom:!0,children:s.jsx(ql,{asChild:!0,trapped:y.open,onMountAutoFocus:te=>{te.preventDefault()},onUnmountAutoFocus:pe(o,te=>{y.trigger?.focus({preventScroll:!0}),te.preventDefault()}),children:s.jsx(ni,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:te=>te.preventDefault(),onDismiss:()=>y.onOpenChange(!1),children:s.jsx(D,{role:"listbox",id:y.contentId,"data-state":y.open?"open":"closed",dir:y.dir,onContextMenu:te=>te.preventDefault(),...w,...je,onPlaced:()=>U(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:pe(w.onKeyDown,te=>{const ke=te.ctrlKey||te.altKey||te.metaKey;if(te.key==="Tab"&&te.preventDefault(),!ke&&te.key.length===1&&J(te.key),["ArrowUp","ArrowDown","Home","End"].includes(te.key)){let le=I().filter(ue=>!ue.disabled).map(ue=>ue.ref.current);if(["ArrowUp","End"].includes(te.key)&&(le=le.slice().reverse()),["ArrowUp","ArrowDown"].includes(te.key)){const ue=te.target,me=le.indexOf(ue);le=le.slice(me+1)}setTimeout(()=>Z(le)),te.preventDefault()}})})})})})})});ah.displayName=LN;var DN="SelectItemAlignedPosition",lh=c.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...o}=e,i=Tn(Sn,n),a=En(Sn,n),[l,u]=c.useState(null),[d,p]=c.useState(null),f=Re(t,p),m=mi(n),h=c.useRef(!1),g=c.useRef(!0),{viewport:v,selectedItem:b,selectedItemText:w,focusSelectedItem:y}=a,j=c.useCallback(()=>{if(i.trigger&&i.valueNode&&l&&d&&v&&b&&w){const N=i.trigger.getBoundingClientRect(),P=d.getBoundingClientRect(),A=i.valueNode.getBoundingClientRect(),M=w.getBoundingClientRect();if(i.dir!=="rtl"){const ue=M.left-P.left,me=A.left-ue,we=N.left-me,Ee=N.width+we,Ye=Math.max(Ee,P.width),De=window.innerWidth-Mt,Ve=Da(me,[Mt,Math.max(Mt,De-Ye)]);l.style.minWidth=Ee+"px",l.style.left=Ve+"px"}else{const ue=P.right-M.right,me=window.innerWidth-A.right-ue,we=window.innerWidth-N.right-me,Ee=N.width+we,Ye=Math.max(Ee,P.width),De=window.innerWidth-Mt,Ve=Da(me,[Mt,Math.max(Mt,De-Ye)]);l.style.minWidth=Ee+"px",l.style.right=Ve+"px"}const C=m(),I=window.innerHeight-Mt*2,F=v.scrollHeight,U=window.getComputedStyle(d),Y=parseInt(U.borderTopWidth,10),Z=parseInt(U.paddingTop,10),V=parseInt(U.borderBottomWidth,10),H=parseInt(U.paddingBottom,10),z=Y+Z+F+H+V,X=Math.min(b.offsetHeight*5,z),J=window.getComputedStyle(v),be=parseInt(J.paddingTop,10),ve=parseInt(J.paddingBottom,10),oe=N.top+N.height/2-Mt,D=I-oe,je=b.offsetHeight/2,te=b.offsetTop+je,ke=Y+Z+te,Se=z-ke;if(ke<=oe){const ue=C.length>0&&b===C[C.length-1].ref.current;l.style.bottom="0px";const me=d.clientHeight-v.offsetTop-v.offsetHeight,we=Math.max(D,je+(ue?ve:0)+me+V),Ee=ke+we;l.style.height=Ee+"px"}else{const ue=C.length>0&&b===C[0].ref.current;l.style.top="0px";const we=Math.max(oe,Y+v.offsetTop+(ue?be:0)+je)+Se;l.style.height=we+"px",v.scrollTop=ke-oe+v.offsetTop}l.style.margin=`${Mt}px 0`,l.style.minHeight=X+"px",l.style.maxHeight=I+"px",r?.(),requestAnimationFrame(()=>h.current=!0)}},[m,i.trigger,i.valueNode,l,d,v,b,w,i.dir,r]);Je(()=>j(),[j]);const[k,S]=c.useState();Je(()=>{d&&S(window.getComputedStyle(d).zIndex)},[d]);const _=c.useCallback(N=>{N&&g.current===!0&&(j(),y?.(),g.current=!1)},[j,y]);return s.jsx(UN,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:h,onScrollButtonChange:_,children:s.jsx("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:s.jsx(ge.div,{...o,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});lh.displayName=DN;var FN="SelectPopperPosition",Fa=c.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Mt,...i}=e,a=hi(n);return s.jsx(Cm,{...a,...i,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Fa.displayName=FN;var[UN,oc]=Xn(Sn,{}),Ua="SelectViewport",ch=c.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...o}=e,i=En(Ua,n),a=oc(Ua,n),l=Re(t,i.onViewportChange),u=c.useRef(0);return s.jsxs(s.Fragment,{children:[s.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),s.jsx(fi.Slot,{scope:n,children:s.jsx(ge.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:pe(o.onScroll,d=>{const p=d.currentTarget,{contentWrapper:f,shouldExpandOnScrollRef:m}=a;if(m?.current&&f){const h=Math.abs(u.current-p.scrollTop);if(h>0){const g=window.innerHeight-Mt*2,v=parseFloat(f.style.minHeight),b=parseFloat(f.style.height),w=Math.max(v,b);if(w<g){const y=w+h,j=Math.min(g,y),k=y-j;f.style.height=j+"px",f.style.bottom==="0px"&&(p.scrollTop=k>0?k:0,f.style.justifyContent="flex-end")}}}u.current=p.scrollTop})})})]})});ch.displayName=Ua;var uh="SelectGroup",[BN,qN]=Xn(uh),HN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=qt();return s.jsx(BN,{scope:n,id:o,children:s.jsx(ge.div,{role:"group","aria-labelledby":o,...r,ref:t})})});HN.displayName=uh;var dh="SelectLabel",VN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=qN(dh,n);return s.jsx(ge.div,{id:o.id,...r,ref:t})});VN.displayName=dh;var Mo="SelectItem",[WN,ph]=Xn(Mo),fh=c.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:i,...a}=e,l=Tn(Mo,n),u=En(Mo,n),d=l.value===r,[p,f]=c.useState(i??""),[m,h]=c.useState(!1),g=Qe(j=>u.itemRefCallback?.(j,r,o)),v=Re(t,g),b=qt(),w=c.useRef("touch"),y=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};return s.jsx(WN,{scope:n,value:r,disabled:o,textId:b,isSelected:d,onItemTextChange:c.useCallback(j=>{f(k=>k||(j?.textContent??"").trim())},[]),children:s.jsx(fi.ItemSlot,{scope:n,value:r,disabled:o,textValue:p,children:s.jsx(ge.div,{role:"option","aria-labelledby":b,"data-highlighted":m?"":void 0,"aria-selected":d&&m,"data-state":d?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:v,onFocus:pe(a.onFocus,()=>h(!0)),onBlur:pe(a.onBlur,()=>h(!1)),onClick:pe(a.onClick,()=>{w.current!=="mouse"&&y()}),onPointerUp:pe(a.onPointerUp,()=>{w.current==="mouse"&&y()}),onPointerDown:pe(a.onPointerDown,j=>{w.current=j.pointerType}),onPointerMove:pe(a.onPointerMove,j=>{w.current=j.pointerType,o?u.onItemLeave?.():w.current==="mouse"&&j.currentTarget.focus({preventScroll:!0})}),onPointerLeave:pe(a.onPointerLeave,j=>{j.currentTarget===document.activeElement&&u.onItemLeave?.()}),onKeyDown:pe(a.onKeyDown,j=>{o||j.target!==j.currentTarget||u.searchRef?.current!==""&&j.key===" "||(TN.includes(j.key)&&y(),j.key===" "&&j.preventDefault())})})})})});fh.displayName=Mo;var Gs="SelectItemText",mh=c.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,...i}=e,a=Tn(Gs,n),l=En(Gs,n),u=ph(Gs,n),d=IN(Gs,n),[p,f]=c.useState(null),m=Qe(y=>l.itemTextRefCallback?.(y,u.value,u.disabled)),h=Re(t,f,u.onItemTextChange,m),g=p?.textContent,v=c.useMemo(()=>s.jsx("option",{value:u.value,disabled:u.disabled,children:g},u.value),[u.disabled,u.value,g]),{onNativeOptionAdd:b,onNativeOptionRemove:w}=d;return Je(()=>(b(v),()=>w(v)),[b,w,v]),s.jsxs(s.Fragment,{children:[s.jsx(ge.span,{id:u.textId,...i,ref:h}),u.isSelected&&a.valueNode&&!a.valueNodeHasChildren&&!gi(a.value)?As.createPortal(i.children,a.valueNode):null]})});mh.displayName=Gs;var hh="SelectItemIndicator",gh=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return ph(hh,n).isSelected?s.jsx(ge.span,{"aria-hidden":!0,...r,ref:t}):null});gh.displayName=hh;var Ba="SelectScrollUpButton",xh=c.forwardRef((e,t)=>{const n=En(Ba,e.__scopeSelect),r=oc(Ba,e.__scopeSelect),[o,i]=c.useState(!1),a=Re(t,r.onScrollButtonChange);return Je(()=>{if(n.viewport&&n.isPositioned){let l=function(){const d=u.scrollTop>0;i(d)};const u=n.viewport;return l(),u.addEventListener("scroll",l),()=>u.removeEventListener("scroll",l)}},[n.viewport,n.isPositioned]),o?s.jsx(vh,{...e,ref:a,onAutoScroll:()=>{const{viewport:l,selectedItem:u}=n;l&&u&&(l.scrollTop=l.scrollTop-u.offsetHeight)}}):null});xh.displayName=Ba;var qa="SelectScrollDownButton",bh=c.forwardRef((e,t)=>{const n=En(qa,e.__scopeSelect),r=oc(qa,e.__scopeSelect),[o,i]=c.useState(!1),a=Re(t,r.onScrollButtonChange);return Je(()=>{if(n.viewport&&n.isPositioned){let l=function(){const d=u.scrollHeight-u.clientHeight,p=Math.ceil(u.scrollTop)<d;i(p)};const u=n.viewport;return l(),u.addEventListener("scroll",l),()=>u.removeEventListener("scroll",l)}},[n.viewport,n.isPositioned]),o?s.jsx(vh,{...e,ref:a,onAutoScroll:()=>{const{viewport:l,selectedItem:u}=n;l&&u&&(l.scrollTop=l.scrollTop+u.offsetHeight)}}):null});bh.displayName=qa;var vh=c.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=e,i=En("SelectScrollButton",n),a=c.useRef(null),l=mi(n),u=c.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return c.useEffect(()=>()=>u(),[u]),Je(()=>{l().find(p=>p.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),s.jsx(ge.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:pe(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:pe(o.onPointerMove,()=>{i.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:pe(o.onPointerLeave,()=>{u()})})}),ZN="SelectSeparator",KN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return s.jsx(ge.div,{"aria-hidden":!0,...r,ref:t})});KN.displayName=ZN;var yh="SelectArrow",GN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=hi(n);return En(yh,n).position==="popper"?s.jsx(Tm,{...o,...r,ref:t}):null});GN.displayName=yh;var wh="SelectBubbleInput",jh=c.forwardRef(({__scopeSelect:e,...t},n)=>{const r=Tn(wh,e),{value:o,onValueChange:i,required:a,disabled:l,name:u,autoComplete:d,form:p}=r,{nativeOptions:f,nativeSelectKey:m}=r,h=c.useRef(null),g=Re(n,h),v=o??"",b=ES(v),w=Array.from(f).some(y=>(y.props.value??"")==="");return c.useEffect(()=>{const y=h.current;if(!y)return;const j=window.HTMLSelectElement.prototype,S=Object.getOwnPropertyDescriptor(j,"value").set;if(b!==v&&S){const _=new Event("change",{bubbles:!0});S.call(y,v),y.dispatchEvent(_)}},[b,v]),s.jsxs(ge.select,{"aria-hidden":!0,required:a,tabIndex:-1,name:u,autoComplete:d,disabled:l,form:p,onChange:y=>i(y.target.value),...t,style:{..._f,...t.style},ref:g,defaultValue:v,children:[gi(o)&&!w?s.jsx("option",{value:""}):null,Array.from(f)]},m)});jh.displayName=wh;function JN(e){return typeof e=="function"}function gi(e){return e===""||e===void 0}function kh(e){const t=Qe(e),n=c.useRef(""),r=c.useRef(0),o=c.useCallback(a=>{const l=n.current+a;t(l),(function u(d){n.current=d,window.clearTimeout(r.current),d!==""&&(r.current=window.setTimeout(()=>u(""),1e3))})(l)},[t]),i=c.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,i]}function Sh(e,t,n){const o=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let a=YN(e,Math.max(i,0));o.length===1&&(a=a.filter(d=>d!==n));const u=a.find(d=>d.textValue.toLowerCase().startsWith(o.toLowerCase()));return u!==n?u:void 0}function YN(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var xi="Tabs",[XN]=un(xi,[Mm]),_h=Mm(),[QN,ic]=XN(xi),Nh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:i,orientation:a="horizontal",dir:l,activationMode:u="automatic",...d}=e,p=ti(l),[f,m]=Wn({prop:r,onChange:o,defaultProp:i??"",caller:xi});return s.jsx(QN,{scope:n,baseId:qt(),value:f,onValueChange:m,orientation:a,dir:p,activationMode:u,children:s.jsx(ge.div,{dir:p,"data-orientation":a,...d,ref:t})})});Nh.displayName=xi;var Ch="TabsList",Th=c.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,i=ic(Ch,n),a=_h(n);return s.jsx(uN,{asChild:!0,...a,orientation:i.orientation,dir:i.dir,loop:r,children:s.jsx(ge.div,{role:"tablist","aria-orientation":i.orientation,...o,ref:t})})});Th.displayName=Ch;var Eh="TabsTrigger",Rh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...i}=e,a=ic(Eh,n),l=_h(n),u=Ph(a.baseId,r),d=Ah(a.baseId,r),p=r===a.value;return s.jsx(dN,{asChild:!0,...l,focusable:!o,active:p,children:s.jsx(ge.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":d,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:u,...i,ref:t,onMouseDown:pe(e.onMouseDown,f=>{!o&&f.button===0&&f.ctrlKey===!1?a.onValueChange(r):f.preventDefault()}),onKeyDown:pe(e.onKeyDown,f=>{o||f.target!==f.currentTarget||[" ","Enter"].includes(f.key)&&a.onValueChange(r)}),onFocus:pe(e.onFocus,()=>{const f=a.activationMode!=="manual";!p&&!o&&f&&a.onValueChange(r)})})})});Rh.displayName=Eh;var Mh="TabsContent",Ih=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:o,children:i,...a}=e,l=ic(Mh,n),u=Ph(l.baseId,r),d=Ah(l.baseId,r),p=r===l.value,f=c.useRef(p);return c.useEffect(()=>{const m=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(m)},[]),s.jsx(yt,{present:o||p,children:({present:m})=>s.jsx(ge.div,{"data-state":p?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":u,hidden:!m,id:d,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:m&&i})})});Ih.displayName=Mh;function Ph(e,t){return`${e}-trigger-${t}`}function Ah(e,t){return`${e}-content-${t}`}var eC=Nh,tC=Th,nC=Rh,sC=Ih,[bi]=un("Tooltip",[ui]),vi=ui(),Oh="TooltipProvider",rC=700,Ha="tooltip.open",[oC,ac]=bi(Oh),zh=e=>{const{__scopeTooltip:t,delayDuration:n=rC,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:i}=e,a=c.useRef(!0),l=c.useRef(!1),u=c.useRef(0);return c.useEffect(()=>{const d=u.current;return()=>window.clearTimeout(d)},[]),s.jsx(oC,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:c.useCallback(()=>{r<=0||(window.clearTimeout(u.current),a.current=!1)},[r]),onClose:c.useCallback(()=>{r<=0||(window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,r))},[r]),isPointerInTransitRef:l,onPointerInTransitChange:c.useCallback(d=>{l.current=d},[]),disableHoverableContent:o,children:i})};zh.displayName=Oh;var or="Tooltip",[iC,wr]=bi(or),Lh=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o,onOpenChange:i,disableHoverableContent:a,delayDuration:l}=e,u=ac(or,e.__scopeTooltip),d=vi(t),[p,f]=c.useState(null),m=qt(),h=c.useRef(0),g=a??u.disableHoverableContent,v=l??u.delayDuration,b=c.useRef(!1),[w,y]=Wn({prop:r,defaultProp:o??!1,onChange:N=>{N?(u.onOpen(),document.dispatchEvent(new CustomEvent(Ha))):u.onClose(),i?.(N)},caller:or}),j=c.useMemo(()=>w?b.current?"delayed-open":"instant-open":"closed",[w]),k=c.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b.current=!1,y(!0)},[y]),S=c.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y(!1)},[y]),_=c.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{b.current=!0,y(!0),h.current=0},v)},[v,y]);return c.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),s.jsx(_m,{...d,children:s.jsx(iC,{scope:t,contentId:m,open:w,stateAttribute:j,trigger:p,onTriggerChange:f,onTriggerEnter:c.useCallback(()=>{u.isOpenDelayedRef.current?_():k()},[u.isOpenDelayedRef,_,k]),onTriggerLeave:c.useCallback(()=>{g?S():(window.clearTimeout(h.current),h.current=0)},[S,g]),onOpen:k,onClose:S,disableHoverableContent:g,children:n})})};Lh.displayName=or;var Va="TooltipTrigger",$h=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=wr(Va,n),i=ac(Va,n),a=vi(n),l=c.useRef(null),u=Re(t,l,o.onTriggerChange),d=c.useRef(!1),p=c.useRef(!1),f=c.useCallback(()=>d.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),s.jsx(Nm,{asChild:!0,...a,children:s.jsx(ge.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:u,onPointerMove:pe(e.onPointerMove,m=>{m.pointerType!=="touch"&&!p.current&&!i.isPointerInTransitRef.current&&(o.onTriggerEnter(),p.current=!0)}),onPointerLeave:pe(e.onPointerLeave,()=>{o.onTriggerLeave(),p.current=!1}),onPointerDown:pe(e.onPointerDown,()=>{o.open&&o.onClose(),d.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:pe(e.onFocus,()=>{d.current||o.onOpen()}),onBlur:pe(e.onBlur,o.onClose),onClick:pe(e.onClick,o.onClose)})})});$h.displayName=Va;var lc="TooltipPortal",[aC,lC]=bi(lc,{forceMount:void 0}),Dh=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,i=wr(lc,t);return s.jsx(aC,{scope:t,forceMount:n,children:s.jsx(yt,{present:n||i.open,children:s.jsx(si,{asChild:!0,container:o,children:r})})})};Dh.displayName=lc;var Ms="TooltipContent",Fh=c.forwardRef((e,t)=>{const n=lC(Ms,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,a=wr(Ms,e.__scopeTooltip);return s.jsx(yt,{present:r||a.open,children:a.disableHoverableContent?s.jsx(Uh,{side:o,...i,ref:t}):s.jsx(cC,{side:o,...i,ref:t})})}),cC=c.forwardRef((e,t)=>{const n=wr(Ms,e.__scopeTooltip),r=ac(Ms,e.__scopeTooltip),o=c.useRef(null),i=Re(t,o),[a,l]=c.useState(null),{trigger:u,onClose:d}=n,p=o.current,{onPointerInTransitChange:f}=r,m=c.useCallback(()=>{l(null),f(!1)},[f]),h=c.useCallback((g,v)=>{const b=g.currentTarget,w={x:g.clientX,y:g.clientY},y=fC(w,b.getBoundingClientRect()),j=mC(w,y),k=hC(v.getBoundingClientRect()),S=xC([...j,...k]);l(S),f(!0)},[f]);return c.useEffect(()=>()=>m(),[m]),c.useEffect(()=>{if(u&&p){const g=b=>h(b,p),v=b=>h(b,u);return u.addEventListener("pointerleave",g),p.addEventListener("pointerleave",v),()=>{u.removeEventListener("pointerleave",g),p.removeEventListener("pointerleave",v)}}},[u,p,h,m]),c.useEffect(()=>{if(a){const g=v=>{const b=v.target,w={x:v.clientX,y:v.clientY},y=u?.contains(b)||p?.contains(b),j=!gC(w,a);y?m():j&&(m(),d())};return document.addEventListener("pointermove",g),()=>document.removeEventListener("pointermove",g)}},[u,p,a,d,m]),s.jsx(Uh,{...e,ref:i})}),[uC,dC]=bi(or,{isInside:!1}),pC=Z5("TooltipContent"),Uh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:a,...l}=e,u=wr(Ms,n),d=vi(n),{onClose:p}=u;return c.useEffect(()=>(document.addEventListener(Ha,p),()=>document.removeEventListener(Ha,p)),[p]),c.useEffect(()=>{if(u.trigger){const f=m=>{m.target instanceof Node&&m.target.contains(u.trigger)&&p()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[u.trigger,p]),s.jsx(ni,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:f=>f.preventDefault(),onDismiss:p,children:s.jsxs(Cm,{"data-state":u.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[s.jsx(pC,{children:r}),s.jsx(uC,{scope:n,isInside:!0,children:s.jsx(ok,{id:u.contentId,role:"tooltip",children:o||r})})]})})});Fh.displayName=Ms;var Bh="TooltipArrow",qh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=vi(n);return dC(Bh,n).isInside?null:s.jsx(Tm,{...o,...r,ref:t})});qh.displayName=Bh;function fC(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function mC(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function hC(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function gC(e,t){const{x:n,y:r}=e;let o=!1;for(let i=0,a=t.length-1;i<t.length;a=i++){const l=t[i],u=t[a],d=l.x,p=l.y,f=u.x,m=u.y;p>r!=m>r&&n<(f-d)*(r-p)/(m-p)+d&&(o=!o)}return o}function xC(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),bC(t)}function bC(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const o=e[r];for(;t.length>=2;){const i=t[t.length-1],a=t[t.length-2];if((i.x-a.x)*(o.y-a.y)>=(i.y-a.y)*(o.x-a.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const o=e[r];for(;n.length>=2;){const i=n[n.length-1],a=n[n.length-2];if((i.x-a.x)*(o.y-a.y)>=(i.y-a.y)*(o.x-a.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var vC=zh,yC=Lh,wC=$h,jC=Dh,kC=Fh,SC=qh;function Wt({...e}){return s.jsx(Vf,{"data-slot":"dialog",...e})}function jr({...e}){return s.jsx(Zf,{"data-slot":"dialog-trigger",...e})}function _C({...e}){return s.jsx(Gf,{"data-slot":"dialog-portal",...e})}function NC({className:e,...t}){return s.jsx(Jf,{"data-slot":"dialog-overlay",className:$("fixed inset-0 z-40 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t})}function Zt({className:e,children:t,...n}){return s.jsxs(_C,{children:[s.jsx(NC,{}),s.jsxs(Yf,{"data-slot":"dialog-content",className:$("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",e),...n,children:[t,s.jsxs(rm,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[s.jsx(br,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Yt({className:e,...t}){return s.jsx("div",{"data-slot":"dialog-header",className:$("flex flex-col space-y-1.5 text-center sm:text-left",e),...t})}function Xt({className:e,...t}){return s.jsx(em,{"data-slot":"dialog-title",className:$("text-lg font-semibold leading-none tracking-tight",e),...t})}function kr({className:e,...t}){return s.jsx(nm,{"data-slot":"dialog-description",className:$("text-sm text-muted-foreground",e),...t})}function Hh({open:e,onOpenChange:t,title:n,description:r,confirmLabel:o="Confirm",variant:i="default",onConfirm:a}){return s.jsx(Wt,{open:e,onOpenChange:t,children:s.jsxs(Zt,{children:[s.jsx(Yt,{children:s.jsx(Xt,{children:n})}),s.jsx("p",{className:"text-sm text-muted-foreground",children:r}),s.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[s.jsx(ee,{variant:"outline",size:"sm",onClick:()=>t(!1),children:"Cancel"}),s.jsx(ee,{variant:i,size:"sm",onClick:()=>{a(),t(!1)},children:o})]})]})})}const CC="data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eClaude%20Code%3c/title%3e%3cpath%20clip-rule='evenodd'%20d='M20.998%2010.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6%2010.949h1.488V8.102H6v2.847zm10.51%200H18V8.102h-1.49v2.847z'%20fill='%23D97757'%20fill-rule='evenodd'%3e%3c/path%3e%3c/svg%3e",TC="data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eCodex%3c/title%3e%3cpath%20d='M19.503%200H4.496A4.496%204.496%200%20000%204.496v15.007A4.496%204.496%200%20004.496%2024h15.007A4.496%204.496%200%200024%2019.503V4.496A4.496%204.496%200%200019.503%200z'%20fill='%23fff'%3e%3c/path%3e%3cpath%20d='M9.064%203.344a4.578%204.578%200%20012.285-.312c1%20.115%201.891.54%202.673%201.275.01.01.024.017.037.021a.09.09%200%2000.043%200%204.55%204.55%200%20013.046.275l.047.022.116.057a4.581%204.581%200%20012.188%202.399c.209.51.313%201.041.315%201.595a4.24%204.24%200%2001-.134%201.223.123.123%200%2000.03.115c.594.607.988%201.33%201.183%202.17.289%201.425-.007%202.71-.887%203.854l-.136.166a4.548%204.548%200%2001-2.201%201.388.123.123%200%2000-.081.076c-.191.551-.383%201.023-.74%201.494-.9%201.187-2.222%201.846-3.711%201.838-1.187-.006-2.239-.44-3.157-1.302a.107.107%200%2000-.105-.024c-.388.125-.78.143-1.204.138a4.441%204.441%200%2001-1.945-.466%204.544%204.544%200%2001-1.61-1.335c-.152-.202-.303-.392-.414-.617a5.81%205.81%200%2001-.37-.961%204.582%204.582%200%2001-.014-2.298.124.124%200%2000.006-.056.085.085%200%2000-.027-.048%204.467%204.467%200%2001-1.034-1.651%203.896%203.896%200%2001-.251-1.192%205.189%205.189%200%2001.141-1.6c.337-1.112.982-1.985%201.933-2.618.212-.141.413-.251.601-.33.215-.089.43-.164.646-.227a.098.098%200%2000.065-.066%204.51%204.51%200%2001.829-1.615%204.535%204.535%200%20011.837-1.388zm3.482%2010.565a.637.637%200%20000%201.272h3.636a.637.637%200%20100-1.272h-3.636zM8.462%209.23a.637.637%200%2000-1.106.631l1.272%202.224-1.266%202.136a.636.636%200%20101.095.649l1.454-2.455a.636.636%200%2000.005-.64L8.462%209.23z'%20fill='url(%23lobe-icons-codex-_R_0_)'%3e%3c/path%3e%3cdefs%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-codex-_R_0_'%20x1='12'%20x2='12'%20y1='3'%20y2='21'%3e%3cstop%20stop-color='%23B1A7FF'%3e%3c/stop%3e%3cstop%20offset='.5'%20stop-color='%237A9DFF'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%233941FF'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",EC="data:image/svg+xml,%3csvg%20fill='%237dd3fc'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenCode%3c/title%3e%3cpath%20d='M16%206H8v12h8V6zm4%2016H4V2h16v20z'%3e%3c/path%3e%3c/svg%3e",RC="data:image/svg+xml,%3csvg%20fill='%23ff6900'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eMiMo%20Code%3c/title%3e%3cpath%20d='M.958%2015.936a.459.459%200%2001.459.44v2.729a.46.46%200%2001-.918%200v-2.729a.459.459%200%2001.459-.44zm4.814-2.035a.46.46%200%2001.553.45v4.754a.458.458%200%2011-.918%200V15.48L3.74%2017.202a.462.462%200%2001-.655.016.462.462%200%2001-.065-.082L.628%2014.67a.459.459%200%2001.658-.637l2.124%202.187%202.127-2.188a.46.46%200%2001.235-.13zm2.068.004a.46.46%200%2001.458.445v4.755a.46.46%200%2001-.458.458.459.459%200%2001-.458-.458V14.35a.459.459%200%2001.458-.445zm1.973%202.014a.46.46%200%2001.46.457v2.729a.46.46%200%2001-.784.324.46.46%200%2001-.134-.324v-2.729a.46.46%200%2001.458-.458zm.002-2.045a.458.458%200%2001.328.157l2.127%202.19%202.125-2.19a.459.459%200%2001.784.318v4.756a.46.46%200%2001-.455.458.46.46%200%2001-.458-.458V15.48l-1.667%201.723a.46.46%200%2001-.65.008l-.005-.005c0-.002-.002-.002-.004-.003l-2.455-2.534a.46.46%200%2001-.008-.667.461.461%200%2001.338-.128zm6.797%201.206a.46.46%200%2001.53.651A1.966%201.966%200%200019.81%2018.4a.462.462%200%2001.623.18.46.46%200%2001-.181.624%202.863%202.863%200%2001-1.38.353l-.142-.004a2.88%202.88%200%2001-2.393-4.263.461.461%200%2001.274-.21zm.864-.931a2.884%202.884%200%20013.915%203.914.46.46%200%2001-.402.24l-.057-.004a.458.458%200%2001-.164-.055.46.46%200%2001-.182-.622%201.967%201.967%200%2000-2.669-2.67.459.459%200%2011-.441-.803zM9.59%206.368c1.481%200%201.696%201.202%201.696%201.654v2.648h-.917v-.432c-.26.346-.792.535-1.36.535-.133%200-1.289-.03-1.384-1.136-.082-.932.675-1.61%202.053-1.61h.691c0-.563-.367-.886-.983-.886-.44.013-.864.174-1.2.458l-.36-.664c.484-.379%201.012-.567%201.764-.567zm4.427.1c1.263%200%202.082.97%202.083%202.15%200%201.181-.824%202.154-2.083%202.154-1.26%200-2.084-.972-2.084-2.152%200-1.18.82-2.153%202.084-2.153zm6.801.015c.68%200%201.202.465%201.197%201.548v2.642H21.1V8.29c0-.312-.002-.98-.63-.98s-.628.667-.628.838v2.524h-.89V8.148c0-.17-.001-.838-.63-.838-.628%200-.628.668-.628.98v2.383h-.917v-4.03h.917V7a1.22%201.22%200%2001.947-.516c.398%200%20.76.193.982.686a1.321%201.321%200%20011.195-.686zm-18.093.872l1.457-1.772H5.32L3.311%208.07l2.14%202.602H4.24L2.725%208.796%201.21%2010.672H0L2.138%208.07.13%205.583h1.138l1.458%201.772zm4.149%203.317h-.916V6.644h.916v4.028zm16.99%200h-.916V6.644h.916v4.028zM9.925%208.71c-1.055%200-1.359.412-1.326.742.032.329.324.537.757.537a1.013%201.013%200%20001.014-.968l.002-.31h-.447zM14.018%207.3c-.663%200-1.184.487-1.184%201.32%200%20.832.52%201.32%201.184%201.32.662%200%201.182-.49%201.182-1.32%200-.832-.52-1.32-1.182-1.32zM6.417%205.001a.568.568%200%2001.587.582.588.588%200%2001-1.175%200A.57.57%200%20016.417%205zm16.991%200a.57.57%200%2001.592.582.588.588%200%2001-1.174%200%20.57.57%200%2001.357-.542.572.572%200%2001.225-.04z'%3e%3c/path%3e%3c/svg%3e",MC="/assets/agent-inspector-58K1_MsC.ico",IC={"agent-inspector":"Inspector",codex:"Codex",opencode:"OpenCode","mimo-code":"MiMo Code","claude-code":"Claude Code","ai-sdk":"AI SDK"};function Fr(e){return e?.toLowerCase()??""}function is(e,t){for(const n of t)if(e.includes(n))return!0;return!1}function cc(e){const t=[Fr(e.userAgent),Fr(e.conversationId),Fr(e.clientProjectFolder)].join(" ");return is(t,["agent-inspector","agent inspector","provider-test"])?"agent-inspector":is(t,["mimocode","mimo-code","mimo code"])?"mimo-code":is(t,["opencode","open-code","open code"])?"opencode":is(t,["claude-code","claude code","claudecode","claude-cli","claude cli"])?"claude-code":is(t,["codex desktop","codex-cli","openai-codex","codex"])?"codex":is(Fr(e.userAgent),["ai-sdk","ai/"])?"ai-sdk":"unknown"}function yi(e){switch(e){case"agent-inspector":case"codex":case"opencode":case"mimo-code":case"claude-code":case"ai-sdk":return IC[e];case"unknown":return null}}function PC(e){switch(e){case"codex":case"opencode":case"mimo-code":case"claude-code":return"IDE";case"agent-inspector":case"ai-sdk":case"unknown":return"CLIENT"}}const AC={"agent-inspector":MC,codex:TC,opencode:EC,"mimo-code":RC,"claude-code":CC},OC={"agent-inspector":"border-orange-700/15 bg-orange-500/[0.08] dark:border-orange-200/25 dark:bg-orange-300/[0.12]",codex:"border-cyan-700/15 bg-cyan-500/[0.08] dark:border-cyan-200/20 dark:bg-cyan-300/[0.08]",opencode:"border-sky-700/15 bg-sky-500/[0.09] dark:border-sky-200/25 dark:bg-sky-300/[0.12]","mimo-code":"border-orange-700/15 bg-orange-500/[0.09] dark:border-orange-200/25 dark:bg-orange-400/[0.12]","claude-code":"border-amber-700/15 bg-amber-500/[0.08] dark:border-amber-100/20 dark:bg-amber-300/[0.09]"},zC={"agent-inspector":"p-0.5 drop-shadow-[0_0_8px_rgba(251,146,60,0.35)]",codex:"p-0.5",opencode:"p-1 drop-shadow-[0_0_8px_rgba(125,211,252,0.35)]","mimo-code":"p-0.5 drop-shadow-[0_0_8px_rgba(255,105,0,0.35)]","claude-code":"p-0.5"};function wi({client:e,className:t,decorative:n=!1}){if(e==="unknown")return null;const r=yi(e);if(r===null)return null;if(e==="ai-sdk")return s.jsx("span",{className:$("inline-flex size-6 shrink-0 items-center justify-center rounded-md border border-cyan-700/15 bg-cyan-500/[0.08] text-[var(--inspector-status-cool)] shadow-sm dark:border-cyan-200/20 dark:bg-cyan-300/[0.08]",t),"aria-label":n?void 0:r,"aria-hidden":n?!0:void 0,title:r,children:s.jsx(df,{className:"size-1/2","aria-hidden":"true"})});const o=AC[e];return s.jsx("span",{className:$("inline-flex size-6 shrink-0 items-center justify-center rounded-md border p-0 shadow-sm",OC[e],t),"aria-label":n?void 0:r,"aria-hidden":n?!0:void 0,title:r,children:s.jsx("img",{src:o,alt:"",className:$("size-full object-contain",zC[e]),"aria-hidden":"true"})})}const LC="data:image/svg+xml,%3csvg%20height='2500'%20viewBox='0%206.603%201192.672%201193.397'%20width='2500'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m233.96%20800.215%20234.684-131.678%203.947-11.436-3.947-6.363h-11.436l-39.221-2.416-134.094-3.624-116.296-4.832-112.67-6.04-28.35-6.04-26.577-35.035%202.738-17.477%2023.84-16.027%2034.147%202.98%2075.463%205.155%20113.235%207.812%2082.147%204.832%20121.692%2012.644h19.329l2.738-7.812-6.604-4.832-5.154-4.832-117.182-79.41-126.845-83.92-66.443-48.321-35.92-24.484-18.12-22.953-7.813-50.093%2032.618-35.92%2043.812%202.98%2011.195%202.98%2044.375%2034.147%2094.792%2073.37%20123.786%2091.167%2018.12%2015.06%207.249-5.154.886-3.624-8.135-13.61-67.329-121.692-71.838-123.785-31.974-51.302-8.456-30.765c-2.98-12.645-5.154-23.275-5.154-36.242l37.127-50.416%2020.537-6.604%2049.53%206.604%2020.86%2018.121%2030.765%2070.39%2049.852%20110.818%2077.315%20150.684%2022.631%2044.698%2012.08%2041.396%204.51%2012.645h7.813v-7.248l6.362-84.886%2011.759-104.215%2011.436-134.094%203.946-37.772%2018.685-45.262%2037.127-24.482%2028.994%2013.852%2023.839%2034.148-3.303%2022.067-14.174%2092.134-27.785%20144.323-18.121%2096.644h10.55l12.08-12.08%2048.887-64.913%2082.147-102.685%2036.242-40.752%2042.282-45.02%2027.14-21.423h51.303l37.772%2056.135-16.913%2057.986-52.832%2067.007-43.812%2056.779-62.82%2084.563-39.22%2067.651%203.623%205.396%209.343-.886%20141.906-30.201%2076.671-13.852%2091.49-15.705%2041.396%2019.329%204.51%2019.65-16.269%2040.189-97.852%2024.16-114.764%2022.954-170.9%2040.43-2.093%201.53%202.416%202.98%2076.993%207.248%2032.94%201.771h80.617l150.12%2011.195%2039.222%2025.933%2023.517%2031.732-3.946%2024.16-60.403%2030.766-81.503-19.33-190.228-45.26-65.235-16.27h-9.02v5.397l54.362%2053.154%2099.624%2089.96%20124.752%20115.973%206.362%2028.671-16.027%2022.63-16.912-2.415-109.611-82.47-42.282-37.127-95.758-80.618h-6.363v8.456l22.067%2032.296%20116.537%20175.167%206.04%2053.719-8.456%2017.476-30.201%2010.55-33.181-6.04-68.215-95.758-70.39-107.84-56.778-96.644-6.926%203.947-33.503%20360.886-15.705%2018.443-36.243%2013.852-30.201-22.953-16.027-37.127%2016.027-73.37%2019.329-95.758%2015.704-76.107%2014.175-94.55%208.456-31.41-.563-2.094-6.927.886-71.275%2097.852-108.402%20146.497-85.772%2091.812-20.537%208.134-35.597-18.443%203.301-32.94%2019.893-29.315%20118.712-151.007%2071.597-93.583%2046.228-54.04-.322-7.813h-2.738l-315.302%20204.725-56.135%207.248-24.16-22.63%202.98-37.128%2011.435-12.08%2094.792-65.236-.322.323z'%20fill='%23d97757'/%3e%3c/svg%3e",$C="data:image/svg+xml,%3csvg%20height='2500'%20viewBox='-1%20-.1%20949.1%20959.8'%20width='2474'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m925.8%20456.3c10.4%2023.2%2017%2048%2019.7%2073.3%202.6%2025.3%201.3%2050.9-4.1%2075.8-5.3%2024.9-14.5%2048.8-27.3%2070.8-8.4%2014.7-18.3%2028.5-29.7%2041.2-11.3%2012.6-23.9%2024-37.6%2034-13.8%2010-28.5%2018.4-44.1%2025.3-15.5%206.8-31.7%2012-48.3%2015.4-7.8%2024.2-19.4%2047.1-34.4%2067.7-14.9%2020.6-33%2038.7-53.6%2053.6-20.6%2015-43.4%2026.6-67.6%2034.4-24.2%207.9-49.5%2011.8-75%2011.8-16.9.1-33.9-1.7-50.5-5.1-16.5-3.5-32.7-8.8-48.2-15.7s-30.2-15.5-43.9-25.5c-13.6-10-26.2-21.5-37.4-34.2-25%205.4-50.6%206.7-75.9%204.1-25.3-2.7-50.1-9.3-73.4-19.7-23.2-10.3-44.7-24.3-63.6-41.4s-35-37.1-47.7-59.1c-8.5-14.7-15.5-30.2-20.8-46.3s-8.8-32.7-10.6-49.6c-1.8-16.8-1.7-33.8.1-50.7%201.8-16.8%205.5-33.4%2010.8-49.5-17-18.9-31-40.4-41.4-63.6-10.3-23.3-17-48-19.6-73.3-2.7-25.3-1.3-50.9%204-75.8s14.5-48.8%2027.3-70.8c8.4-14.7%2018.3-28.6%2029.6-41.2s24-24%2037.7-34%2028.5-18.5%2044-25.3c15.6-6.9%2031.8-12%2048.4-15.4%207.8-24.3%2019.4-47.1%2034.3-67.7%2015-20.6%2033.1-38.7%2053.7-53.7%2020.6-14.9%2043.4-26.5%2067.6-34.4%2024.2-7.8%2049.5-11.8%2075-11.7%2016.9-.1%2033.9%201.6%2050.5%205.1s32.8%208.7%2048.3%2015.6c15.5%207%2030.2%2015.5%2043.9%2025.5%2013.7%2010.1%2026.3%2021.5%2037.5%2034.2%2024.9-5.3%2050.5-6.6%2075.8-4s50%209.3%2073.3%2019.6c23.2%2010.4%2044.7%2024.3%2063.6%2041.4%2018.9%2017%2035%2036.9%2047.7%2059%208.5%2014.6%2015.5%2030.1%2020.8%2046.3%205.3%2016.1%208.9%2032.7%2010.6%2049.6%201.8%2016.9%201.8%2033.9-.1%2050.8-1.8%2016.9-5.5%2033.5-10.8%2049.6%2017.1%2018.9%2031%2040.3%2041.4%2063.6zm-333.2%20426.9c21.8-9%2041.6-22.3%2058.3-39s30-36.5%2039-58.4c9-21.8%2013.7-45.2%2013.7-68.8v-223q-.1-.3-.2-.7-.1-.3-.3-.6-.2-.3-.5-.5-.3-.3-.6-.4l-80.7-46.6v269.4c0%202.7-.4%205.5-1.1%208.1-.7%202.7-1.7%205.2-3.1%207.6s-3%204.6-5%206.5a32.1%2032.1%200%200%201%20-6.5%205l-191.1%20110.3c-1.6%201-4.3%202.4-5.7%203.2%207.9%206.7%2016.5%2012.6%2025.5%2017.8%209.1%205.2%2018.5%209.6%2028.3%2013.2%209.8%203.5%2019.9%206.2%2030.1%208%2010.3%201.8%2020.7%202.7%2031.1%202.7%2023.6%200%2047-4.7%2068.8-13.8zm-455.1-151.4c11.9%2020.5%2027.6%2038.3%2046.3%2052.7%2018.8%2014.4%2040.1%2024.9%2062.9%2031s46.6%207.7%2070%204.6%2045.9-10.7%2066.4-22.5l193.2-111.5.5-.5q.2-.2.3-.6.2-.3.3-.6v-94l-233.2%20134.9c-2.4%201.4-4.9%202.4-7.5%203.2-2.7.7-5.4%201-8.2%201-2.7%200-5.4-.3-8.1-1-2.6-.8-5.2-1.8-7.6-3.2l-191.1-110.4c-1.7-1-4.2-2.5-5.6-3.4-1.8%2010.3-2.7%2020.7-2.7%2031.1s1%2020.8%202.8%2031.1c1.8%2010.2%204.6%2020.3%208.1%2030.1%203.6%209.8%208%2019.2%2013.2%2028.2zm-50.2-417c-11.8%2020.5-19.4%2043.1-22.5%2066.5s-1.5%2047.1%204.6%2070c6.1%2022.8%2016.6%2044.1%2031%2062.9%2014.4%2018.7%2032.3%2034.4%2052.7%2046.2l193.1%20111.6q.3.1.7.2h.7q.4%200%20.7-.2.3-.1.6-.3l81-46.8-233.2-134.6c-2.3-1.4-4.5-3.1-6.5-5a32.1%2032.1%200%200%201%20-5-6.5c-1.3-2.4-2.4-4.9-3.1-7.6-.7-2.6-1.1-5.3-1-8.1v-227.1c-9.8%203.6-19.3%208-28.3%2013.2-9%205.3-17.5%2011.3-25.5%2018-7.9%206.7-15.3%2014.1-22%2022.1-6.7%207.9-12.6%2016.5-17.8%2025.5zm663.3%20154.4c2.4%201.4%204.6%203%206.6%205%201.9%201.9%203.6%204.1%205%206.5%201.3%202.4%202.4%205%203.1%207.6.6%202.7%201%205.4.9%208.2v227.1c32.1-11.8%2060.1-32.5%2080.8-59.7%2020.8-27.2%2033.3-59.7%2036.2-93.7s-3.9-68.2-19.7-98.5-39.9-55.5-69.5-72.5l-193.1-111.6q-.3-.1-.7-.2h-.7q-.3.1-.7.2-.3.1-.6.3l-80.6%2046.6%20233.2%20134.7zm80.5-121h-.1v.1zm-.1-.1c5.8-33.6%201.9-68.2-11.3-99.7-13.1-31.5-35-58.6-63-78.2-28-19.5-61-30.7-95.1-32.2-34.2-1.4-68%206.9-97.6%2023.9l-193.1%20111.5q-.3.2-.5.5l-.4.6q-.1.3-.2.7-.1.3-.1.7v93.2l233.2-134.7c2.4-1.4%205-2.4%207.6-3.2%202.7-.7%205.4-1%208.1-1%202.8%200%205.5.3%208.2%201%202.6.8%205.1%201.8%207.5%203.2l191.1%20110.4c1.7%201%204.2%202.4%205.6%203.3zm-505.3-103.2c0-2.7.4-5.4%201.1-8.1.7-2.6%201.7-5.2%203.1-7.6%201.4-2.3%203-4.5%205-6.5%201.9-1.9%204.1-3.6%206.5-4.9l191.1-110.3c1.8-1.1%204.3-2.5%205.7-3.2-26.2-21.9-58.2-35.9-92.1-40.2-33.9-4.4-68.3%201-99.2%2015.5-31%2014.5-57.2%2037.6-75.5%2066.4-18.3%2028.9-28%2062.3-28%2096.5v223q.1.4.2.7.1.3.3.6.2.3.5.6.2.2.6.4l80.7%2046.6zm43.8%20294.7%20103.9%2060%20103.9-60v-119.9l-103.8-60-103.9%2060z'/%3e%3c/svg%3e",DC="data:image/svg+xml,%3csvg%20fill='none'%20height='1320'%20viewBox='3.771%206.973%2023.993%2017.652'%20width='2500'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m27.501%208.469c-.252-.123-.36.111-.508.23-.05.04-.093.09-.135.135-.368.395-.797.652-1.358.621-.821-.045-1.521.213-2.14.842-.132-.776-.57-1.238-1.235-1.535-.349-.155-.701-.309-.944-.645-.171-.238-.217-.504-.303-.765-.054-.159-.108-.32-.29-.348-.197-.031-.274.135-.352.273-.31.567-.43%201.192-.419%201.825.028%201.421.628%202.554%201.82%203.36.136.093.17.186.128.321-.081.278-.178.547-.264.824-.054.178-.135.217-.324.14a5.448%205.448%200%200%201%20-1.719-1.169c-.848-.82-1.614-1.726-2.57-2.435-.225-.166-.449-.32-.681-.467-.976-.95.128-1.729.383-1.82.267-.096.093-.428-.77-.424s-1.653.293-2.659.677a2.782%202.782%200%200%201%20-.46.135%209.554%209.554%200%200%200%20-2.853-.1c-1.866.21-3.356%201.092-4.452%202.6-1.315%201.81-1.625%203.87-1.246%206.018.399%202.261%201.552%204.136%203.326%205.601%201.837%201.518%203.955%202.262%206.37%202.12%201.466-.085%203.1-.282%204.942-1.842.465.23.952.322%201.762.392.623.059%201.223-.031%201.687-.127.728-.154.677-.828.414-.953-2.132-.994-1.665-.59-2.09-.916%201.084-1.285%202.717-2.619%203.356-6.94.05-.343.007-.558%200-.837-.004-.168.034-.235.228-.254a4.084%204.084%200%200%200%201.529-.47c1.382-.757%201.938-1.997%202.07-3.485.02-.227-.004-.463-.243-.582zm-12.041%2013.391c-2.067-1.627-3.07-2.162-3.483-2.138-.387.021-.318.465-.233.754.089.285.205.482.368.732.113.166.19.414-.112.598-.666.414-1.823-.139-1.878-.166-1.347-.793-2.473-1.842-3.267-3.276-.765-1.38-1.21-2.861-1.284-4.441-.02-.383.093-.518.472-.586a4.692%204.692%200%200%201%201.514-.04c2.109.31%203.905%201.255%205.41%202.749.86.853%201.51%201.871%202.18%202.865.711%201.057%201.478%202.063%202.454%202.887.343.289.619.51.881.672-.792.088-2.117.107-3.022-.61zm.99-6.38a.304.304%200%201%201%20.609%200c0%20.17-.136.304-.306.304a.3.3%200%200%201%20-.303-.305zm3.077%201.581c-.197.08-.394.15-.584.159a1.246%201.246%200%200%201%20-.79-.252c-.27-.227-.463-.354-.546-.752a1.752%201.752%200%200%201%20.016-.582c.07-.324-.008-.531-.235-.72-.187-.155-.422-.196-.682-.196a.551.551%200%200%201%20-.252-.078c-.108-.055-.197-.19-.112-.356.027-.053.159-.183.19-.207.352-.201.758-.135%201.134.016.349.142.611.404.99.773.388.448.457.573.678.906.174.264.333.534.441.842.066.192-.02.35-.248.448z'%20fill='%234d6bfe'/%3e%3c/svg%3e",FC="/assets/minimax-BPMzvuL-.jpeg",UC="/assets/alibaba-TTwafVwX.svg",BC="/assets/qwen-mMn3f5ul.webp",qC="/assets/zhipuai-BPNAnxo-.svg",HC={"claude-":"anthropic","gpt-":"openai","o1-":"openai","o3-":"openai","deepseek-":"deepseek",MiniMax:"minimax",qwen:"qwen"};function VC(e){return e.replace(/[_\s]+/g,"-").split(/[/:@]/).some(n=>n.startsWith("glm-"))}function WC(e){if(e===null)return"unknown";const t=e.toLowerCase();if(VC(t))return"zhipuai";for(const[n,r]of Object.entries(HC))if(t.startsWith(n.toLowerCase()))return r;return"unknown"}const Qn={width:24,height:24,objectFit:"contain"},ZC=Gn.memo(({className:e})=>s.jsx("img",{src:LC,alt:"Anthropic",className:e,style:Qn})),KC=Gn.memo(({className:e})=>s.jsx("img",{src:$C,alt:"OpenAI",className:e,style:{...Qn,background:"white",borderRadius:"4px"}})),GC=Gn.memo(({className:e})=>s.jsx("img",{src:DC,alt:"DeepSeek",className:e,style:Qn})),JC=Gn.memo(({className:e})=>s.jsx("img",{src:FC,alt:"MiniMax",className:e,style:Qn})),YC=Gn.memo(({className:e})=>s.jsx("img",{src:UC,alt:"Alibaba",className:e,style:Qn})),XC=Gn.memo(({className:e})=>s.jsx("img",{src:BC,alt:"Qwen",className:e,style:Qn})),QC=Gn.memo(({className:e})=>s.jsx("img",{src:qC,alt:"ZhipuAI",className:e,style:Qn}));function e3({provider:e,className:t}){switch(e){case"anthropic":return s.jsx(ZC,{className:t});case"openai":return s.jsx(KC,{className:t});case"deepseek":return s.jsx(GC,{className:t});case"minimax":return s.jsx(JC,{className:t});case"alibaba":return s.jsx(YC,{className:t});case"qwen":return s.jsx(XC,{className:t});case"zhipuai":return s.jsx(QC,{className:t});case"unknown":return null}}function $s({delayDuration:e=600,...t}){return s.jsx(vC,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function pt({...e}){return s.jsx(yC,{"data-slot":"tooltip",...e})}function ft({...e}){return s.jsx(wC,{"data-slot":"tooltip-trigger",...e})}function mt({className:e,sideOffset:t=0,children:n,...r}){return s.jsx(jC,{children:s.jsxs(kC,{"data-slot":"tooltip-content",sideOffset:t,className:$("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...r,children:[n,s.jsx(SC,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}const t3=3;function n3({items:e,ariaLabel:t,className:n}){if(e.length===0)return s.jsx("span",{className:$("flex h-8 w-12 shrink-0 items-center",n),"aria-hidden":"true"});const r=e.slice(0,t3),o=e.length-r.length;return s.jsx($s,{delayDuration:150,children:s.jsxs("span",{className:$("flex h-8 w-12 shrink-0 items-center",n),"aria-label":t,children:[r.map((i,a)=>s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx("span",{className:$("border border-border bg-muted/40 inline-flex size-6 shrink-0 items-center justify-center rounded-md",a>0&&"-ml-2"),children:s.jsx(e3,{provider:i.provider,className:"size-4"})})}),s.jsx(mt,{children:i.tooltip})]},`${i.provider}-${String(a)}`)),o>0&&s.jsxs("span",{className:"border border-border bg-muted/40 -ml-2 inline-flex h-6 min-w-6 shrink-0 items-center justify-center rounded-md px-1 font-mono text-[10px] text-muted-foreground",children:["+",o]})]})})}const s3="/v1/chat/completions",r3="/chat/completions",o3="/v1/responses",i3="/responses",a3="/v1/messages";class l3{handlers=new Map;pathMap=new Map;register(t){this.handlers.set(t.format,t)}registerPath(t,n){this.pathMap.set(t,n)}get(t){return this.handlers.get(t)}getByPath(t){const n=t.split("?")[0]??"",r=this.pathMap.get(n);return r===void 0?void 0:this.handlers.get(r)}getApiFormatByPath(t){const n=t.split("?")[0]??"";return this.pathMap.get(n)}detectFormat(t){if(t===null)return"unknown";for(const n of this.handlers.values())if(n.detectFormat(t))return n.format;return"unknown"}}const Rn=new l3;function c3(e){return Rn.getApiFormatByPath(e)??"unknown"}Rn.registerPath(a3,"anthropic");Rn.registerPath(s3,"openai");Rn.registerPath(r3,"openai");Rn.registerPath(o3,"openai");Rn.registerPath(i3,"openai");function u3(e){if(e==="")return{};try{const t=JSON.parse(e);return t!==null&&typeof t=="object"&&!Array.isArray(t)?{...t}:{}}catch{return{}}}function d3(e){switch(e.type){case"text":return{type:"text",text:e.text};case"thinking":{const t={type:"thinking",thinking:e.thinking};return e.signature!==""&&(t.signature=e.signature),t}case"think":{const t={type:"think",thinking:e.thinking};return e.signature!==""&&(t.signature=e.signature),t}case"tool_use":return{type:"tool_use",id:e.id,name:e.name,input:u3(e.inputJson)}}}function Vh(e,t,n,r){const o=new Map;let i="",a="",l=null,u=null,d=0,p=0;const f=1e3;let m=0,h=0;const g=[];for(const b of e.split(`
|
|
106
|
-
`)){const w=b.trim();if(w.startsWith("data: "))try{const y=JSON.parse(w.slice(6)),j=G2.safeParse(y);if(!j.success)continue;const k=j.data;switch(m===0&&(h=Date.now()),r===!0&&
|
|
105
|
+
`)},xS=0,rs=[];function gS(e){var t=c.useRef([]),n=c.useRef([0,0]),r=c.useRef(),o=c.useState(xS++)[0],i=c.useState($f)[0],a=c.useRef(e);c.useEffect(function(){a.current=e},[e]),c.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var v=$k([e.lockRef.current],(e.shards||[]).map(wu),!0).filter(Boolean);return v.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),v.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=c.useCallback(function(v,b){if("touches"in v&&v.touches.length===2||v.type==="wheel"&&v.ctrlKey)return!a.current.allowPinchZoom;var w=zr(v),y=n.current,j="deltaX"in v?v.deltaX:y[0]-w[0],k="deltaY"in v?v.deltaY:y[1]-w[1],S,_=v.target,N=Math.abs(j)>Math.abs(k)?"h":"v";if("touches"in v&&N==="h"&&_.type==="range")return!1;var P=window.getSelection(),A=P&&P.anchorNode,M=A?A===_||A.contains(_):!1;if(M)return!1;var C=vu(N,_);if(!C)return!0;if(C?S=N:(S=N==="v"?"h":"v",C=vu(N,_)),!C)return!1;if(!r.current&&"changedTouches"in v&&(j||k)&&(r.current=S),!S)return!0;var I=r.current||S;return fS(I,b,v,I==="h"?j:k)},[]),u=c.useCallback(function(v){var b=v;if(!(!rs.length||rs[rs.length-1]!==i)){var w="deltaY"in b?yu(b):zr(b),y=t.current.filter(function(S){return S.name===b.type&&(S.target===b.target||b.target===S.shadowParent)&&mS(S.delta,w)})[0];if(y&&y.should){b.cancelable&&b.preventDefault();return}if(!y){var j=(a.current.shards||[]).map(wu).filter(Boolean).filter(function(S){return S.contains(b.target)}),k=j.length>0?l(b,j[0]):!a.current.noIsolation;k&&b.cancelable&&b.preventDefault()}}},[]),d=c.useCallback(function(v,b,w,y){var j={name:v,delta:b,target:w,should:y,shadowParent:bS(w)};t.current.push(j),setTimeout(function(){t.current=t.current.filter(function(k){return k!==j})},1)},[]),p=c.useCallback(function(v){n.current=zr(v),r.current=void 0},[]),f=c.useCallback(function(v){d(v.type,yu(v),v.target,l(v,e.lockRef.current))},[]),m=c.useCallback(function(v){d(v.type,zr(v),v.target,l(v,e.lockRef.current))},[]);c.useEffect(function(){return rs.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",u,ss),document.addEventListener("touchmove",u,ss),document.addEventListener("touchstart",p,ss),function(){rs=rs.filter(function(v){return v!==i}),document.removeEventListener("wheel",u,ss),document.removeEventListener("touchmove",u,ss),document.removeEventListener("touchstart",p,ss)}},[]);var h=e.removeScrollBar,x=e.inert;return c.createElement(c.Fragment,null,x?c.createElement(i,{styles:hS(o)}):null,h?c.createElement(iS,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function bS(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const vS=Zk(Lf,gS);var Hl=c.forwardRef(function(e,t){return c.createElement(ri,Dt({},e,{ref:t,sideCar:vS}))});Hl.classNames=ri.classNames;var yS=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},os=new WeakMap,Lr=new WeakMap,$r={},Fi=0,Bf=function(e){return e&&(e.host||Bf(e.parentNode))},wS=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=Bf(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},jS=function(e,t,n,r){var o=wS(t,Array.isArray(e)?e:[e]);$r[n]||($r[n]=new WeakMap);var i=$r[n],a=[],l=new Set,u=new Set(o),d=function(f){!f||l.has(f)||(l.add(f),d(f.parentNode))};o.forEach(d);var p=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(m){if(l.has(m))p(m);else try{var h=m.getAttribute(r),x=h!==null&&h!=="false",v=(os.get(m)||0)+1,b=(i.get(m)||0)+1;os.set(m,v),i.set(m,b),a.push(m),v===1&&x&&Lr.set(m,!0),b===1&&m.setAttribute(n,"true"),x||m.setAttribute(r,"true")}catch(w){console.error("aria-hidden: cannot operate on ",m,w)}})};return p(t),l.clear(),Fi++,function(){a.forEach(function(f){var m=os.get(f)-1,h=i.get(f)-1;os.set(f,m),i.set(f,h),m||(Lr.has(f)||f.removeAttribute(r),Lr.delete(f)),h||f.removeAttribute(n)}),Fi--,Fi||(os=new WeakMap,os=new WeakMap,Lr=new WeakMap,$r={})}},qf=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=yS(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),jS(r,o,n,"aria-hidden")):function(){return null}},oi="Dialog",[Hf]=un(oi),[kS,Lt]=Hf(oi),Vf=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:i,modal:a=!0}=e,l=c.useRef(null),u=c.useRef(null),[d,p]=Wn({prop:r,defaultProp:o??!1,onChange:i,caller:oi});return s.jsx(kS,{scope:t,triggerRef:l,contentRef:u,contentId:qt(),titleId:qt(),descriptionId:qt(),open:d,onOpenChange:p,onOpenToggle:c.useCallback(()=>p(f=>!f),[p]),modal:a,children:n})};Vf.displayName=oi;var Wf="DialogTrigger",Zf=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(Wf,n),i=Re(t,o.triggerRef);return s.jsx(xe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":Wl(o.open),...r,ref:i,onClick:pe(e.onClick,o.onOpenToggle)})});Zf.displayName=Wf;var Vl="DialogPortal",[SS,Kf]=Hf(Vl,{forceMount:void 0}),Gf=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:o}=e,i=Lt(Vl,t);return s.jsx(SS,{scope:t,forceMount:n,children:c.Children.map(r,a=>s.jsx(yt,{present:n||i.open,children:s.jsx(si,{asChild:!0,container:o,children:a})}))})};Gf.displayName=Vl;var So="DialogOverlay",Jf=c.forwardRef((e,t)=>{const n=Kf(So,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=Lt(So,e.__scopeDialog);return i.modal?s.jsx(yt,{present:r||i.open,children:s.jsx(NS,{...o,ref:t})}):null});Jf.displayName=So;var _S=Cs("DialogOverlay.RemoveScroll"),NS=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(So,n),i=Nk(),a=Re(t,i);return s.jsx(Hl,{as:_S,allowPinchZoom:!0,shards:[o.contentRef],children:s.jsx(xe.div,{"data-state":Wl(o.open),...r,ref:a,style:{pointerEvents:"auto",...r.style}})})}),Ts="DialogContent",Yf=c.forwardRef((e,t)=>{const n=Kf(Ts,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=Lt(Ts,e.__scopeDialog);return s.jsx(yt,{present:r||i.open,children:i.modal?s.jsx(CS,{...o,ref:t}):s.jsx(TS,{...o,ref:t})})});Yf.displayName=Ts;var CS=c.forwardRef((e,t)=>{const n=Lt(Ts,e.__scopeDialog),r=c.useRef(null),o=Re(t,n.contentRef,r);return c.useEffect(()=>{const i=r.current;if(i)return qf(i)},[]),s.jsx(Xf,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:pe(e.onCloseAutoFocus,i=>{i.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:pe(e.onPointerDownOutside,i=>{const a=i.detail.originalEvent,l=a.button===0&&a.ctrlKey===!0;(a.button===2||l)&&i.preventDefault()}),onFocusOutside:pe(e.onFocusOutside,i=>i.preventDefault())})}),TS=c.forwardRef((e,t)=>{const n=Lt(Ts,e.__scopeDialog),r=c.useRef(!1),o=c.useRef(!1);return s.jsx(Xf,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{e.onCloseAutoFocus?.(i),i.defaultPrevented||(r.current||n.triggerRef.current?.focus(),i.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:i=>{e.onInteractOutside?.(i),i.defaultPrevented||(r.current=!0,i.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const a=i.target;n.triggerRef.current?.contains(a)&&i.preventDefault(),i.detail.originalEvent.type==="focusin"&&o.current&&i.preventDefault()}})}),Xf=c.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:i,...a}=e,l=Lt(Ts,n);return Af(),s.jsx(s.Fragment,{children:s.jsx(ql,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:i,children:s.jsx(ni,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":Wl(l.open),...a,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1)})})})}),Qf="DialogTitle",em=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(Qf,n);return s.jsx(xe.h2,{id:o.titleId,...r,ref:t})});em.displayName=Qf;var tm="DialogDescription",nm=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(tm,n);return s.jsx(xe.p,{id:o.descriptionId,...r,ref:t})});nm.displayName=tm;var sm="DialogClose",rm=c.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,o=Lt(sm,n);return s.jsx(xe.button,{type:"button",...r,ref:t,onClick:pe(e.onClick,()=>o.onOpenChange(!1))})});rm.displayName=sm;function Wl(e){return e?"open":"closed"}function ES(e){const t=c.useRef({value:e,previous:e});return c.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function RS(e){const[t,n]=c.useState(void 0);return Je(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const i=o[0];let a,l;if("borderBoxSize"in i){const u=i.borderBoxSize,d=Array.isArray(u)?u[0]:u;a=d.inlineSize,l=d.blockSize}else a=e.offsetWidth,l=e.offsetHeight;n({width:a,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}const MS=["top","right","bottom","left"],jn=Math.min,ht=Math.max,_o=Math.round,Dr=Math.floor,Ht=e=>({x:e,y:e}),IS={left:"right",right:"left",bottom:"top",top:"bottom"},PS={start:"end",end:"start"};function Oa(e,t,n){return ht(e,jn(t,n))}function an(e,t){return typeof e=="function"?e(t):e}function ln(e){return e.split("-")[0]}function zs(e){return e.split("-")[1]}function Zl(e){return e==="x"?"y":"x"}function Kl(e){return e==="y"?"height":"width"}const AS=new Set(["top","bottom"]);function Ft(e){return AS.has(ln(e))?"y":"x"}function Gl(e){return Zl(Ft(e))}function OS(e,t,n){n===void 0&&(n=!1);const r=zs(e),o=Gl(e),i=Kl(o);let a=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=No(a)),[a,No(a)]}function zS(e){const t=No(e);return[za(e),t,za(t)]}function za(e){return e.replace(/start|end/g,t=>PS[t])}const ju=["left","right"],ku=["right","left"],LS=["top","bottom"],$S=["bottom","top"];function DS(e,t,n){switch(e){case"top":case"bottom":return n?t?ku:ju:t?ju:ku;case"left":case"right":return t?LS:$S;default:return[]}}function FS(e,t,n,r){const o=zs(e);let i=DS(ln(e),n==="start",r);return o&&(i=i.map(a=>a+"-"+o),t&&(i=i.concat(i.map(za)))),i}function No(e){return e.replace(/left|right|bottom|top/g,t=>IS[t])}function US(e){return{top:0,right:0,bottom:0,left:0,...e}}function om(e){return typeof e!="number"?US(e):{top:e,right:e,bottom:e,left:e}}function Co(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Su(e,t,n){let{reference:r,floating:o}=e;const i=Ft(t),a=Gl(t),l=Kl(a),u=ln(t),d=i==="y",p=r.x+r.width/2-o.width/2,f=r.y+r.height/2-o.height/2,m=r[l]/2-o[l]/2;let h;switch(u){case"top":h={x:p,y:r.y-o.height};break;case"bottom":h={x:p,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:f};break;case"left":h={x:r.x-o.width,y:f};break;default:h={x:r.x,y:r.y}}switch(zs(t)){case"start":h[a]-=m*(n&&d?-1:1);break;case"end":h[a]+=m*(n&&d?-1:1);break}return h}async function BS(e,t){var n;t===void 0&&(t={});const{x:r,y:o,platform:i,rects:a,elements:l,strategy:u}=e,{boundary:d="clippingAncestors",rootBoundary:p="viewport",elementContext:f="floating",altBoundary:m=!1,padding:h=0}=an(t,e),x=om(h),b=l[m?f==="floating"?"reference":"floating":f],w=Co(await i.getClippingRect({element:(n=await(i.isElement==null?void 0:i.isElement(b)))==null||n?b:b.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:d,rootBoundary:p,strategy:u})),y=f==="floating"?{x:r,y:o,width:a.floating.width,height:a.floating.height}:a.reference,j=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),k=await(i.isElement==null?void 0:i.isElement(j))?await(i.getScale==null?void 0:i.getScale(j))||{x:1,y:1}:{x:1,y:1},S=Co(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:y,offsetParent:j,strategy:u}):y);return{top:(w.top-S.top+x.top)/k.y,bottom:(S.bottom-w.bottom+x.bottom)/k.y,left:(w.left-S.left+x.left)/k.x,right:(S.right-w.right+x.right)/k.x}}const qS=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n,l=i.filter(Boolean),u=await(a.isRTL==null?void 0:a.isRTL(t));let d=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:p,y:f}=Su(d,r,u),m=r,h={},x=0;for(let b=0;b<l.length;b++){var v;const{name:w,fn:y}=l[b],{x:j,y:k,data:S,reset:_}=await y({x:p,y:f,initialPlacement:r,placement:m,strategy:o,middlewareData:h,rects:d,platform:{...a,detectOverflow:(v=a.detectOverflow)!=null?v:BS},elements:{reference:e,floating:t}});p=j??p,f=k??f,h={...h,[w]:{...h[w],...S}},_&&x<=50&&(x++,typeof _=="object"&&(_.placement&&(m=_.placement),_.rects&&(d=_.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:o}):_.rects),{x:p,y:f}=Su(d,m,u)),b=-1)}return{x:p,y:f,placement:m,strategy:o,middlewareData:h}},HS=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:i,platform:a,elements:l,middlewareData:u}=t,{element:d,padding:p=0}=an(e,t)||{};if(d==null)return{};const f=om(p),m={x:n,y:r},h=Gl(o),x=Kl(h),v=await a.getDimensions(d),b=h==="y",w=b?"top":"left",y=b?"bottom":"right",j=b?"clientHeight":"clientWidth",k=i.reference[x]+i.reference[h]-m[h]-i.floating[x],S=m[h]-i.reference[h],_=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d));let N=_?_[j]:0;(!N||!await(a.isElement==null?void 0:a.isElement(_)))&&(N=l.floating[j]||i.floating[x]);const P=k/2-S/2,A=N/2-v[x]/2-1,M=jn(f[w],A),C=jn(f[y],A),I=M,F=N-v[x]-C,U=N/2-v[x]/2+P,Y=Oa(I,U,F),Z=!u.arrow&&zs(o)!=null&&U!==Y&&i.reference[x]/2-(U<I?M:C)-v[x]/2<0,V=Z?U<I?U-I:U-F:0;return{[h]:m[h]+V,data:{[h]:Y,centerOffset:U-Y-V,...Z&&{alignmentOffset:V}},reset:Z}}}),VS=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:i,rects:a,initialPlacement:l,platform:u,elements:d}=t,{mainAxis:p=!0,crossAxis:f=!0,fallbackPlacements:m,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:v=!0,...b}=an(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};const w=ln(o),y=Ft(l),j=ln(l)===l,k=await(u.isRTL==null?void 0:u.isRTL(d.floating)),S=m||(j||!v?[No(l)]:zS(l)),_=x!=="none";!m&&_&&S.push(...FS(l,v,x,k));const N=[l,...S],P=await u.detectOverflow(t,b),A=[];let M=((r=i.flip)==null?void 0:r.overflows)||[];if(p&&A.push(P[w]),f){const U=OS(o,a,k);A.push(P[U[0]],P[U[1]])}if(M=[...M,{placement:o,overflows:A}],!A.every(U=>U<=0)){var C,I;const U=(((C=i.flip)==null?void 0:C.index)||0)+1,Y=N[U];if(Y&&(!(f==="alignment"?y!==Ft(Y):!1)||M.every(H=>Ft(H.placement)===y?H.overflows[0]>0:!0)))return{data:{index:U,overflows:M},reset:{placement:Y}};let Z=(I=M.filter(V=>V.overflows[0]<=0).sort((V,H)=>V.overflows[1]-H.overflows[1])[0])==null?void 0:I.placement;if(!Z)switch(h){case"bestFit":{var F;const V=(F=M.filter(H=>{if(_){const z=Ft(H.placement);return z===y||z==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(z=>z>0).reduce((z,X)=>z+X,0)]).sort((H,z)=>H[1]-z[1])[0])==null?void 0:F[0];V&&(Z=V);break}case"initialPlacement":Z=l;break}if(o!==Z)return{reset:{placement:Z}}}return{}}}};function _u(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Nu(e){return MS.some(t=>e[t]>=0)}const WS=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:r}=t,{strategy:o="referenceHidden",...i}=an(e,t);switch(o){case"referenceHidden":{const a=await r.detectOverflow(t,{...i,elementContext:"reference"}),l=_u(a,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Nu(l)}}}case"escaped":{const a=await r.detectOverflow(t,{...i,altBoundary:!0}),l=_u(a,n.floating);return{data:{escapedOffsets:l,escaped:Nu(l)}}}default:return{}}}}},im=new Set(["left","top"]);async function ZS(e,t){const{placement:n,platform:r,elements:o}=e,i=await(r.isRTL==null?void 0:r.isRTL(o.floating)),a=ln(n),l=zs(n),u=Ft(n)==="y",d=im.has(a)?-1:1,p=i&&u?-1:1,f=an(t,e);let{mainAxis:m,crossAxis:h,alignmentAxis:x}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return l&&typeof x=="number"&&(h=l==="end"?x*-1:x),u?{x:h*p,y:m*d}:{x:m*d,y:h*p}}const KS=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:i,placement:a,middlewareData:l}=t,u=await ZS(t,e);return a===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+u.x,y:i+u.y,data:{...u,placement:a}}}}},GS=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o,platform:i}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:u={fn:w=>{let{x:y,y:j}=w;return{x:y,y:j}}},...d}=an(e,t),p={x:n,y:r},f=await i.detectOverflow(t,d),m=Ft(ln(o)),h=Zl(m);let x=p[h],v=p[m];if(a){const w=h==="y"?"top":"left",y=h==="y"?"bottom":"right",j=x+f[w],k=x-f[y];x=Oa(j,x,k)}if(l){const w=m==="y"?"top":"left",y=m==="y"?"bottom":"right",j=v+f[w],k=v-f[y];v=Oa(j,v,k)}const b=u.fn({...t,[h]:x,[m]:v});return{...b,data:{x:b.x-n,y:b.y-r,enabled:{[h]:a,[m]:l}}}}}},JS=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:i,middlewareData:a}=t,{offset:l=0,mainAxis:u=!0,crossAxis:d=!0}=an(e,t),p={x:n,y:r},f=Ft(o),m=Zl(f);let h=p[m],x=p[f];const v=an(l,t),b=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(u){const j=m==="y"?"height":"width",k=i.reference[m]-i.floating[j]+b.mainAxis,S=i.reference[m]+i.reference[j]-b.mainAxis;h<k?h=k:h>S&&(h=S)}if(d){var w,y;const j=m==="y"?"width":"height",k=im.has(ln(o)),S=i.reference[f]-i.floating[j]+(k&&((w=a.offset)==null?void 0:w[f])||0)+(k?0:b.crossAxis),_=i.reference[f]+i.reference[j]+(k?0:((y=a.offset)==null?void 0:y[f])||0)-(k?b.crossAxis:0);x<S?x=S:x>_&&(x=_)}return{[m]:h,[f]:x}}}},YS=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:i,platform:a,elements:l}=t,{apply:u=()=>{},...d}=an(e,t),p=await a.detectOverflow(t,d),f=ln(o),m=zs(o),h=Ft(o)==="y",{width:x,height:v}=i.floating;let b,w;f==="top"||f==="bottom"?(b=f,w=m===(await(a.isRTL==null?void 0:a.isRTL(l.floating))?"start":"end")?"left":"right"):(w=f,b=m==="end"?"top":"bottom");const y=v-p.top-p.bottom,j=x-p.left-p.right,k=jn(v-p[b],y),S=jn(x-p[w],j),_=!t.middlewareData.shift;let N=k,P=S;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(P=j),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(N=y),_&&!m){const M=ht(p.left,0),C=ht(p.right,0),I=ht(p.top,0),F=ht(p.bottom,0);h?P=x-2*(M!==0||C!==0?M+C:ht(p.left,p.right)):N=v-2*(I!==0||F!==0?I+F:ht(p.top,p.bottom))}await u({...t,availableWidth:P,availableHeight:N});const A=await a.getDimensions(l.floating);return x!==A.width||v!==A.height?{reset:{rects:!0}}:{}}}};function ii(){return typeof window<"u"}function Ls(e){return am(e)?(e.nodeName||"").toLowerCase():"#document"}function bt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Gt(e){var t;return(t=(am(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function am(e){return ii()?e instanceof Node||e instanceof bt(e).Node:!1}function Pt(e){return ii()?e instanceof Element||e instanceof bt(e).Element:!1}function Vt(e){return ii()?e instanceof HTMLElement||e instanceof bt(e).HTMLElement:!1}function Cu(e){return!ii()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof bt(e).ShadowRoot}const XS=new Set(["inline","contents"]);function vr(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=At(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!XS.has(o)}const QS=new Set(["table","td","th"]);function e_(e){return QS.has(Ls(e))}const t_=[":popover-open",":modal"];function ai(e){return t_.some(t=>{try{return e.matches(t)}catch{return!1}})}const n_=["transform","translate","scale","rotate","perspective"],s_=["transform","translate","scale","rotate","perspective","filter"],r_=["paint","layout","strict","content"];function Jl(e){const t=Yl(),n=Pt(e)?At(e):e;return n_.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||s_.some(r=>(n.willChange||"").includes(r))||r_.some(r=>(n.contain||"").includes(r))}function o_(e){let t=kn(e);for(;Vt(t)&&!Es(t);){if(Jl(t))return t;if(ai(t))return null;t=kn(t)}return null}function Yl(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const i_=new Set(["html","body","#document"]);function Es(e){return i_.has(Ls(e))}function At(e){return bt(e).getComputedStyle(e)}function li(e){return Pt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function kn(e){if(Ls(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Cu(e)&&e.host||Gt(e);return Cu(t)?t.host:t}function lm(e){const t=kn(e);return Es(t)?e.ownerDocument?e.ownerDocument.body:e.body:Vt(t)&&vr(t)?t:lm(t)}function rr(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=lm(e),i=o===((r=e.ownerDocument)==null?void 0:r.body),a=bt(o);if(i){const l=La(a);return t.concat(a,a.visualViewport||[],vr(o)?o:[],l&&n?rr(l):[])}return t.concat(o,rr(o,[],n))}function La(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cm(e){const t=At(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Vt(e),i=o?e.offsetWidth:n,a=o?e.offsetHeight:r,l=_o(n)!==i||_o(r)!==a;return l&&(n=i,r=a),{width:n,height:r,$:l}}function Xl(e){return Pt(e)?e:e.contextElement}function vs(e){const t=Xl(e);if(!Vt(t))return Ht(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:i}=cm(t);let a=(i?_o(n.width):n.width)/r,l=(i?_o(n.height):n.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!l||!Number.isFinite(l))&&(l=1),{x:a,y:l}}const a_=Ht(0);function um(e){const t=bt(e);return!Yl()||!t.visualViewport?a_:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function l_(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==bt(e)?!1:t}function Zn(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),i=Xl(e);let a=Ht(1);t&&(r?Pt(r)&&(a=vs(r)):a=vs(e));const l=l_(i,n,r)?um(i):Ht(0);let u=(o.left+l.x)/a.x,d=(o.top+l.y)/a.y,p=o.width/a.x,f=o.height/a.y;if(i){const m=bt(i),h=r&&Pt(r)?bt(r):r;let x=m,v=La(x);for(;v&&r&&h!==x;){const b=vs(v),w=v.getBoundingClientRect(),y=At(v),j=w.left+(v.clientLeft+parseFloat(y.paddingLeft))*b.x,k=w.top+(v.clientTop+parseFloat(y.paddingTop))*b.y;u*=b.x,d*=b.y,p*=b.x,f*=b.y,u+=j,d+=k,x=bt(v),v=La(x)}}return Co({width:p,height:f,x:u,y:d})}function ci(e,t){const n=li(e).scrollLeft;return t?t.left+n:Zn(Gt(e)).left+n}function dm(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-ci(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function c_(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i=o==="fixed",a=Gt(r),l=t?ai(t.floating):!1;if(r===a||l&&i)return n;let u={scrollLeft:0,scrollTop:0},d=Ht(1);const p=Ht(0),f=Vt(r);if((f||!f&&!i)&&((Ls(r)!=="body"||vr(a))&&(u=li(r)),Vt(r))){const h=Zn(r);d=vs(r),p.x=h.x+r.clientLeft,p.y=h.y+r.clientTop}const m=a&&!f&&!i?dm(a,u):Ht(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-u.scrollLeft*d.x+p.x+m.x,y:n.y*d.y-u.scrollTop*d.y+p.y+m.y}}function u_(e){return Array.from(e.getClientRects())}function d_(e){const t=Gt(e),n=li(e),r=e.ownerDocument.body,o=ht(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=ht(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+ci(e);const l=-n.scrollTop;return At(r).direction==="rtl"&&(a+=ht(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:a,y:l}}const Tu=25;function p_(e,t){const n=bt(e),r=Gt(e),o=n.visualViewport;let i=r.clientWidth,a=r.clientHeight,l=0,u=0;if(o){i=o.width,a=o.height;const p=Yl();(!p||p&&t==="fixed")&&(l=o.offsetLeft,u=o.offsetTop)}const d=ci(r);if(d<=0){const p=r.ownerDocument,f=p.body,m=getComputedStyle(f),h=p.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,x=Math.abs(r.clientWidth-f.clientWidth-h);x<=Tu&&(i-=x)}else d<=Tu&&(i+=d);return{width:i,height:a,x:l,y:u}}const f_=new Set(["absolute","fixed"]);function m_(e,t){const n=Zn(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=Vt(e)?vs(e):Ht(1),a=e.clientWidth*i.x,l=e.clientHeight*i.y,u=o*i.x,d=r*i.y;return{width:a,height:l,x:u,y:d}}function Eu(e,t,n){let r;if(t==="viewport")r=p_(e,n);else if(t==="document")r=d_(Gt(e));else if(Pt(t))r=m_(t,n);else{const o=um(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Co(r)}function pm(e,t){const n=kn(e);return n===t||!Pt(n)||Es(n)?!1:At(n).position==="fixed"||pm(n,t)}function h_(e,t){const n=t.get(e);if(n)return n;let r=rr(e,[],!1).filter(l=>Pt(l)&&Ls(l)!=="body"),o=null;const i=At(e).position==="fixed";let a=i?kn(e):e;for(;Pt(a)&&!Es(a);){const l=At(a),u=Jl(a);!u&&l.position==="fixed"&&(o=null),(i?!u&&!o:!u&&l.position==="static"&&!!o&&f_.has(o.position)||vr(a)&&!u&&pm(e,a))?r=r.filter(p=>p!==a):o=l,a=kn(a)}return t.set(e,r),r}function x_(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const a=[...n==="clippingAncestors"?ai(t)?[]:h_(t,this._c):[].concat(n),r],l=a[0],u=a.reduce((d,p)=>{const f=Eu(t,p,o);return d.top=ht(f.top,d.top),d.right=jn(f.right,d.right),d.bottom=jn(f.bottom,d.bottom),d.left=ht(f.left,d.left),d},Eu(t,l,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function g_(e){const{width:t,height:n}=cm(e);return{width:t,height:n}}function b_(e,t,n){const r=Vt(t),o=Gt(t),i=n==="fixed",a=Zn(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const u=Ht(0);function d(){u.x=ci(o)}if(r||!r&&!i)if((Ls(t)!=="body"||vr(o))&&(l=li(t)),r){const h=Zn(t,!0,i,t);u.x=h.x+t.clientLeft,u.y=h.y+t.clientTop}else o&&d();i&&!r&&o&&d();const p=o&&!r&&!i?dm(o,l):Ht(0),f=a.left+l.scrollLeft-u.x-p.x,m=a.top+l.scrollTop-u.y-p.y;return{x:f,y:m,width:a.width,height:a.height}}function Ui(e){return At(e).position==="static"}function Ru(e,t){if(!Vt(e)||At(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Gt(e)===n&&(n=n.ownerDocument.body),n}function fm(e,t){const n=bt(e);if(ai(e))return n;if(!Vt(e)){let o=kn(e);for(;o&&!Es(o);){if(Pt(o)&&!Ui(o))return o;o=kn(o)}return n}let r=Ru(e,t);for(;r&&e_(r)&&Ui(r);)r=Ru(r,t);return r&&Es(r)&&Ui(r)&&!Jl(r)?n:r||o_(e)||n}const v_=async function(e){const t=this.getOffsetParent||fm,n=this.getDimensions,r=await n(e.floating);return{reference:b_(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function y_(e){return At(e).direction==="rtl"}const w_={convertOffsetParentRelativeRectToViewportRelativeRect:c_,getDocumentElement:Gt,getClippingRect:x_,getOffsetParent:fm,getElementRects:v_,getClientRects:u_,getDimensions:g_,getScale:vs,isElement:Pt,isRTL:y_};function mm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function j_(e,t){let n=null,r;const o=Gt(e);function i(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function a(l,u){l===void 0&&(l=!1),u===void 0&&(u=1),i();const d=e.getBoundingClientRect(),{left:p,top:f,width:m,height:h}=d;if(l||t(),!m||!h)return;const x=Dr(f),v=Dr(o.clientWidth-(p+m)),b=Dr(o.clientHeight-(f+h)),w=Dr(p),j={rootMargin:-x+"px "+-v+"px "+-b+"px "+-w+"px",threshold:ht(0,jn(1,u))||1};let k=!0;function S(_){const N=_[0].intersectionRatio;if(N!==u){if(!k)return a();N?a(!1,N):r=setTimeout(()=>{a(!1,1e-7)},1e3)}N===1&&!mm(d,e.getBoundingClientRect())&&a(),k=!1}try{n=new IntersectionObserver(S,{...j,root:o.ownerDocument})}catch{n=new IntersectionObserver(S,j)}n.observe(e)}return a(!0),i}function k_(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=r,d=Xl(e),p=o||i?[...d?rr(d):[],...rr(t)]:[];p.forEach(w=>{o&&w.addEventListener("scroll",n,{passive:!0}),i&&w.addEventListener("resize",n)});const f=d&&l?j_(d,n):null;let m=-1,h=null;a&&(h=new ResizeObserver(w=>{let[y]=w;y&&y.target===d&&h&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var j;(j=h)==null||j.observe(t)})),n()}),d&&!u&&h.observe(d),h.observe(t));let x,v=u?Zn(e):null;u&&b();function b(){const w=Zn(e);v&&!mm(v,w)&&n(),v=w,x=requestAnimationFrame(b)}return n(),()=>{var w;p.forEach(y=>{o&&y.removeEventListener("scroll",n),i&&y.removeEventListener("resize",n)}),f?.(),(w=h)==null||w.disconnect(),h=null,u&&cancelAnimationFrame(x)}}const S_=KS,__=GS,N_=VS,C_=YS,T_=WS,Mu=HS,E_=JS,R_=(e,t,n)=>{const r=new Map,o={platform:w_,...n},i={...o.platform,_c:r};return qS(e,t,{...o,platform:i})};var M_=typeof document<"u",I_=function(){},io=M_?c.useLayoutEffect:I_;function To(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!To(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const i=o[r];if(!(i==="_owner"&&e.$$typeof)&&!To(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function hm(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Iu(e,t){const n=hm(e);return Math.round(t*n)/n}function Bi(e){const t=c.useRef(e);return io(()=>{t.current=e}),t}function P_(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:a}={},transform:l=!0,whileElementsMounted:u,open:d}=e,[p,f]=c.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=c.useState(r);To(m,r)||h(r);const[x,v]=c.useState(null),[b,w]=c.useState(null),y=c.useCallback(H=>{H!==_.current&&(_.current=H,v(H))},[]),j=c.useCallback(H=>{H!==N.current&&(N.current=H,w(H))},[]),k=i||x,S=a||b,_=c.useRef(null),N=c.useRef(null),P=c.useRef(p),A=u!=null,M=Bi(u),C=Bi(o),I=Bi(d),F=c.useCallback(()=>{if(!_.current||!N.current)return;const H={placement:t,strategy:n,middleware:m};C.current&&(H.platform=C.current),R_(_.current,N.current,H).then(z=>{const X={...z,isPositioned:I.current!==!1};U.current&&!To(P.current,X)&&(P.current=X,As.flushSync(()=>{f(X)}))})},[m,t,n,C,I]);io(()=>{d===!1&&P.current.isPositioned&&(P.current.isPositioned=!1,f(H=>({...H,isPositioned:!1})))},[d]);const U=c.useRef(!1);io(()=>(U.current=!0,()=>{U.current=!1}),[]),io(()=>{if(k&&(_.current=k),S&&(N.current=S),k&&S){if(M.current)return M.current(k,S,F);F()}},[k,S,F,M,A]);const Y=c.useMemo(()=>({reference:_,floating:N,setReference:y,setFloating:j}),[y,j]),Z=c.useMemo(()=>({reference:k,floating:S}),[k,S]),V=c.useMemo(()=>{const H={position:n,left:0,top:0};if(!Z.floating)return H;const z=Iu(Z.floating,p.x),X=Iu(Z.floating,p.y);return l?{...H,transform:"translate("+z+"px, "+X+"px)",...hm(Z.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:z,top:X}},[n,l,Z.floating,p.x,p.y]);return c.useMemo(()=>({...p,update:F,refs:Y,elements:Z,floatingStyles:V}),[p,F,Y,Z,V])}const A_=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?Mu({element:r.current,padding:o}).fn(n):{}:r?Mu({element:r,padding:o}).fn(n):{}}}},O_=(e,t)=>({...S_(e),options:[e,t]}),z_=(e,t)=>({...__(e),options:[e,t]}),L_=(e,t)=>({...E_(e),options:[e,t]}),$_=(e,t)=>({...N_(e),options:[e,t]}),D_=(e,t)=>({...C_(e),options:[e,t]}),F_=(e,t)=>({...T_(e),options:[e,t]}),U_=(e,t)=>({...A_(e),options:[e,t]});var B_="Arrow",xm=c.forwardRef((e,t)=>{const{children:n,width:r=10,height:o=5,...i}=e;return s.jsx(xe.svg,{...i,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:s.jsx("polygon",{points:"0,0 30,0 15,10"})})});xm.displayName=B_;var q_=xm,Ql="Popper",[gm,ui]=un(Ql),[H_,bm]=gm(Ql),vm=e=>{const{__scopePopper:t,children:n}=e,[r,o]=c.useState(null),[i,a]=c.useState(void 0);return s.jsx(H_,{scope:t,anchor:r,onAnchorChange:o,placementState:i,setPlacementState:a,children:n})};vm.displayName=Ql;var ym="PopperAnchor",wm=c.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,i=bm(ym,n),a=c.useRef(null),l=i.onAnchorChange,u=c.useCallback(x=>{a.current=x,x&&l(x)},[l]),d=Re(t,u),p=c.useRef(null);c.useEffect(()=>{if(!r)return;const x=p.current;p.current=r.current,x!==p.current&&l(p.current)});const f=i.placementState&&tc(i.placementState),m=f?.[0],h=f?.[1];return r?null:s.jsx(xe.div,{"data-radix-popper-side":m,"data-radix-popper-align":h,...o,ref:d})});wm.displayName=ym;var ec="PopperContent",[V_,W_]=gm(ec),jm=c.forwardRef((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:i="center",alignOffset:a=0,arrowPadding:l=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:p=0,sticky:f="partial",hideWhenDetached:m=!1,updatePositionStrategy:h="optimized",onPlaced:x,...v}=e,b=bm(ec,n),[w,y]=c.useState(null),j=Re(t,y),[k,S]=c.useState(null),_=RS(k),N=_?.width??0,P=_?.height??0,A=r+(i!=="center"?"-"+i:""),M=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},C=Array.isArray(d)?d:[d],I=C.length>0,F={padding:M,boundary:C.filter(K_),altBoundary:I},{refs:U,floatingStyles:Y,placement:Z,isPositioned:V,middlewareData:H}=P_({strategy:"fixed",placement:A,whileElementsMounted:(...ke)=>k_(...ke,{animationFrame:h==="always"}),elements:{reference:b.anchor},middleware:[O_({mainAxis:o+P,alignmentAxis:a}),u&&z_({mainAxis:!0,crossAxis:!1,limiter:f==="partial"?L_():void 0,...F}),u&&$_({...F}),D_({...F,apply:({elements:ke,rects:Se,availableWidth:le,availableHeight:ue})=>{const{width:me,height:we}=Se.reference,Ee=ke.floating.style;Ee.setProperty("--radix-popper-available-width",`${le}px`),Ee.setProperty("--radix-popper-available-height",`${ue}px`),Ee.setProperty("--radix-popper-anchor-width",`${me}px`),Ee.setProperty("--radix-popper-anchor-height",`${we}px`)}}),k&&U_({element:k,padding:l}),G_({arrowWidth:N,arrowHeight:P}),m&&F_({strategy:"referenceHidden",...F,boundary:I?F.boundary:void 0})]}),z=b.setPlacementState;Je(()=>(z(Z),()=>{z(void 0)}),[Z,z]);const[X,J]=tc(Z),be=Qe(x);Je(()=>{V&&be?.()},[V,be]);const ve=H.arrow?.x,oe=H.arrow?.y,D=H.arrow?.centerOffset!==0,[je,te]=c.useState();return Je(()=>{w&&te(window.getComputedStyle(w).zIndex)},[w]),s.jsx("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...Y,transform:V?Y.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:je,"--radix-popper-transform-origin":[H.transformOrigin?.x,H.transformOrigin?.y].join(" "),...H.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:s.jsx(V_,{scope:n,placedSide:X,placedAlign:J,onArrowChange:S,arrowX:ve,arrowY:oe,shouldHideArrow:D,children:s.jsx(xe.div,{"data-side":X,"data-align":J,...v,ref:j,style:{...v.style,animation:V?void 0:"none"}})})})});jm.displayName=ec;var km="PopperArrow",Z_={top:"bottom",right:"left",bottom:"top",left:"right"},Sm=c.forwardRef(function(t,n){const{__scopePopper:r,...o}=t,i=W_(km,r),a=Z_[i.placedSide];return s.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:s.jsx(q_,{...o,ref:n,style:{...o.style,display:"block"}})})});Sm.displayName=km;function K_(e){return e!==null}var G_=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:o}=t,a=o.arrow?.centerOffset!==0,l=a?0:e.arrowWidth,u=a?0:e.arrowHeight,[d,p]=tc(n),f={start:"0%",center:"50%",end:"100%"}[p],m=(o.arrow?.x??0)+l/2,h=(o.arrow?.y??0)+u/2;let x="",v="";return d==="bottom"?(x=a?f:`${m}px`,v=`${-u}px`):d==="top"?(x=a?f:`${m}px`,v=`${r.floating.height+u}px`):d==="right"?(x=`${-u}px`,v=a?f:`${h}px`):d==="left"&&(x=`${r.floating.width+u}px`,v=a?f:`${h}px`),{data:{x,y:v}}}});function tc(e){const[t,n="center"]=e.split("-");return[t,n]}var _m=vm,Nm=wm,Cm=jm,Tm=Sm,qi=!1;function J_(){const[e,t]=c.useState(qi);return c.useEffect(()=>{qi||(qi=!0,t(!0))},[]),e}var Em=Vo[" useSyncExternalStore ".trim().toString()];function Y_(){return()=>{}}function X_(){return Em(Y_,()=>!0,()=>!1)}var Q_=typeof Em=="function"?X_:J_,Hi="rovingFocusGroup.onEntryFocus",eN={bubbles:!1,cancelable:!0},yr="RovingFocusGroup",[$a,Rm,tN]=Cf(yr),[nN,Mm]=un(yr,[tN]),[sN,rN]=nN(yr),Im=c.forwardRef((e,t)=>s.jsx($a.Provider,{scope:e.__scopeRovingFocusGroup,children:s.jsx($a.Slot,{scope:e.__scopeRovingFocusGroup,children:s.jsx(oN,{...e,ref:t})})}));Im.displayName=yr;var oN=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:i,currentTabStopId:a,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:u,onEntryFocus:d,preventScrollOnEntryFocus:p=!1,...f}=e,m=c.useRef(null),h=Re(t,m),x=ti(i),[v,b]=Wn({prop:a,defaultProp:l??null,onChange:u,caller:yr}),[w,y]=c.useState(!1),j=Qe(d),k=Rm(n),S=c.useRef(!1),[_,N]=c.useState(0);return c.useEffect(()=>{const P=m.current;if(P)return P.addEventListener(Hi,j),()=>P.removeEventListener(Hi,j)},[j]),s.jsx(sN,{scope:n,orientation:r,dir:x,loop:o,currentTabStopId:v,onItemFocus:c.useCallback(P=>b(P),[b]),onItemShiftTab:c.useCallback(()=>y(!0),[]),onFocusableItemAdd:c.useCallback(()=>N(P=>P+1),[]),onFocusableItemRemove:c.useCallback(()=>N(P=>P-1),[]),children:s.jsx(xe.div,{tabIndex:w||_===0?-1:0,"data-orientation":r,...f,ref:h,style:{outline:"none",...e.style},onMouseDown:pe(e.onMouseDown,()=>{S.current=!0}),onFocus:pe(e.onFocus,P=>{const A=!S.current;if(P.target===P.currentTarget&&A&&!w){const M=new CustomEvent(Hi,eN);if(P.currentTarget.dispatchEvent(M),!M.defaultPrevented){const C=k().filter(Z=>Z.focusable),I=C.find(Z=>Z.active),F=C.find(Z=>Z.id===v),Y=[I,F,...C].filter(Boolean).map(Z=>Z.ref.current);Om(Y,p)}}S.current=!1}),onBlur:pe(e.onBlur,()=>y(!1))})})}),Pm="RovingFocusGroupItem",Am=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:i,children:a,...l}=e,u=qt(),d=i||u,p=rN(Pm,n),f=p.currentTabStopId===d,m=Rm(n),{onFocusableItemAdd:h,onFocusableItemRemove:x,currentTabStopId:v}=p,b=Q_();return Je(()=>{if(!(!b||!r))return h(),()=>x()},[b,r,h,x]),c.useEffect(()=>{if(!(b||!r))return h(),()=>x()},[b,r,h,x]),s.jsx($a.ItemSlot,{scope:n,id:d,focusable:r,active:o,children:s.jsx(xe.span,{tabIndex:f?0:-1,"data-orientation":p.orientation,...l,ref:t,onMouseDown:pe(e.onMouseDown,w=>{r?p.onItemFocus(d):w.preventDefault()}),onFocus:pe(e.onFocus,()=>p.onItemFocus(d)),onKeyDown:pe(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){p.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const y=lN(w,p.orientation,p.dir);if(y!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let k=m().filter(S=>S.focusable).map(S=>S.ref.current);if(y==="last")k.reverse();else if(y==="prev"||y==="next"){y==="prev"&&k.reverse();const S=k.indexOf(w.currentTarget);k=p.loop?cN(k,S+1):k.slice(S+1)}setTimeout(()=>Om(k))}}),children:typeof a=="function"?a({isCurrentTabStop:f,hasTabStop:v!=null}):a})})});Am.displayName=Pm;var iN={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function aN(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function lN(e,t,n){const r=aN(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return iN[r]}function Om(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function cN(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var uN=Im,dN=Am;function Da(e,[t,n]){return Math.min(n,Math.max(t,e))}function pN(e,t){return c.useReducer((n,r)=>t[n][r]??n,e)}var nc="ScrollArea",[zm]=un(nc),[fN,_t]=zm(nc),Lm=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:o,scrollHideDelay:i=600,...a}=e,[l,u]=c.useState(null),[d,p]=c.useState(null),[f,m]=c.useState(null),[h,x]=c.useState(null),[v,b]=c.useState(null),[w,y]=c.useState(0),[j,k]=c.useState(0),[S,_]=c.useState(!1),[N,P]=c.useState(!1),A=Re(t,u),M=ti(o);return s.jsx(fN,{scope:n,type:r,dir:M,scrollHideDelay:i,scrollArea:l,viewport:d,onViewportChange:p,content:f,onContentChange:m,scrollbarX:h,onScrollbarXChange:x,scrollbarXEnabled:S,onScrollbarXEnabledChange:_,scrollbarY:v,onScrollbarYChange:b,scrollbarYEnabled:N,onScrollbarYEnabledChange:P,onCornerWidthChange:y,onCornerHeightChange:k,children:s.jsx(xe.div,{dir:M,...a,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":j+"px",...e.style}})})});Lm.displayName=nc;var $m="ScrollAreaViewport",Dm=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:o,...i}=e,a=_t($m,n),l=c.useRef(null),u=Re(t,l,a.onViewportChange);return s.jsxs(s.Fragment,{children:[s.jsx(mN,{nonce:o}),s.jsx(xe.div,{"data-radix-scroll-area-viewport":"",...i,ref:u,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:s.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});Dm.displayName=$m;var mN=c.memo(({nonce:e})=>s.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e}),(e,t)=>e.nonce===t.nonce),Jt="ScrollAreaScrollbar",Fm=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=_t(Jt,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=o,l=e.orientation==="horizontal";return c.useEffect(()=>(l?i(!0):a(!0),()=>{l?i(!1):a(!1)}),[l,i,a]),o.type==="hover"?s.jsx(hN,{...r,ref:t,forceMount:n}):o.type==="scroll"?s.jsx(xN,{...r,ref:t,forceMount:n}):o.type==="auto"?s.jsx(Um,{...r,ref:t,forceMount:n}):o.type==="always"?s.jsx(sc,{...r,ref:t,"data-state":"visible"}):null});Fm.displayName=Jt;var hN=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=_t(Jt,e.__scopeScrollArea),[i,a]=c.useState(!1);return c.useEffect(()=>{const l=o.scrollArea;let u=0;if(l){const d=()=>{window.clearTimeout(u),a(!0)},p=()=>{u=window.setTimeout(()=>a(!1),o.scrollHideDelay)};return l.addEventListener("pointerenter",d),l.addEventListener("pointerleave",p),()=>{window.clearTimeout(u),l.removeEventListener("pointerenter",d),l.removeEventListener("pointerleave",p)}}},[o.scrollArea,o.scrollHideDelay]),s.jsx(yt,{present:n||i,children:s.jsx(Um,{"data-state":i?"visible":"hidden",...r,ref:t})})}),xN=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=_t(Jt,e.__scopeScrollArea),i=e.orientation==="horizontal",a=pi(()=>u("SCROLL_END"),100),[l,u]=pN("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return c.useEffect(()=>{if(l==="idle"){const d=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(d)}},[l,o.scrollHideDelay,u]),c.useEffect(()=>{const d=o.viewport,p=i?"scrollLeft":"scrollTop";if(d){let f=d[p];const m=()=>{const h=d[p];f!==h&&(u("SCROLL"),a()),f=h};return d.addEventListener("scroll",m),()=>d.removeEventListener("scroll",m)}},[o.viewport,i,u,a]),s.jsx(yt,{present:n||l!=="hidden",children:s.jsx(sc,{"data-state":l==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:pe(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:pe(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),Um=c.forwardRef((e,t)=>{const n=_t(Jt,e.__scopeScrollArea),{forceMount:r,...o}=e,[i,a]=c.useState(!1),l=e.orientation==="horizontal",u=pi(()=>{if(n.viewport){const d=n.viewport.offsetWidth<n.viewport.scrollWidth,p=n.viewport.offsetHeight<n.viewport.scrollHeight;a(l?d:p)}},10);return Rs(n.viewport,u),Rs(n.content,u),s.jsx(yt,{present:r||i,children:s.jsx(sc,{"data-state":i?"visible":"hidden",...o,ref:t})})}),sc=c.forwardRef((e,t)=>{const{orientation:n="vertical",...r}=e,o=_t(Jt,e.__scopeScrollArea),i=c.useRef(null),a=c.useRef(0),[l,u]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=Wm(l.viewport,l.content),p={...r,sizes:l,onSizesChange:u,hasThumb:d>0&&d<1,onThumbChange:m=>i.current=m,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:m=>a.current=m};function f(m,h){return jN(m,a.current,l,h)}return n==="horizontal"?s.jsx(gN,{...p,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollLeft,h=Pu(m,l,o.dir);i.current.style.transform=`translate3d(${h}px, 0, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollLeft=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollLeft=f(m,o.dir))}}):n==="vertical"?s.jsx(bN,{...p,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollTop,h=Pu(m,l);i.current.style.transform=`translate3d(0, ${h}px, 0)`}},onWheelScroll:m=>{o.viewport&&(o.viewport.scrollTop=m)},onDragScroll:m=>{o.viewport&&(o.viewport.scrollTop=f(m))}}):null}),gN=c.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,i=_t(Jt,e.__scopeScrollArea),[a,l]=c.useState(),u=c.useRef(null),d=Re(t,u,i.onScrollbarXChange);return c.useEffect(()=>{u.current&&l(getComputedStyle(u.current))},[u]),s.jsx(qm,{"data-orientation":"horizontal",...o,ref:d,sizes:n,style:{bottom:0,left:i.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:i.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":di(n)+"px",...e.style},onThumbPointerDown:p=>e.onThumbPointerDown(p.x),onDragScroll:p=>e.onDragScroll(p.x),onWheelScroll:(p,f)=>{if(i.viewport){const m=i.viewport.scrollLeft+p.deltaX;e.onWheelScroll(m),Km(m,f)&&p.preventDefault()}},onResize:()=>{u.current&&i.viewport&&a&&r({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:Ro(a.paddingLeft),paddingEnd:Ro(a.paddingRight)}})}})}),bN=c.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...o}=e,i=_t(Jt,e.__scopeScrollArea),[a,l]=c.useState(),u=c.useRef(null),d=Re(t,u,i.onScrollbarYChange);return c.useEffect(()=>{u.current&&l(getComputedStyle(u.current))},[u]),s.jsx(qm,{"data-orientation":"vertical",...o,ref:d,sizes:n,style:{top:0,right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":di(n)+"px",...e.style},onThumbPointerDown:p=>e.onThumbPointerDown(p.y),onDragScroll:p=>e.onDragScroll(p.y),onWheelScroll:(p,f)=>{if(i.viewport){const m=i.viewport.scrollTop+p.deltaY;e.onWheelScroll(m),Km(m,f)&&p.preventDefault()}},onResize:()=>{u.current&&i.viewport&&a&&r({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:Ro(a.paddingTop),paddingEnd:Ro(a.paddingBottom)}})}})}),[vN,Bm]=zm(Jt),qm=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:i,onThumbPointerUp:a,onThumbPointerDown:l,onThumbPositionChange:u,onDragScroll:d,onWheelScroll:p,onResize:f,...m}=e,h=_t(Jt,n),[x,v]=c.useState(null),b=Re(t,v),w=c.useRef(null),y=c.useRef(""),j=h.viewport,k=r.content-r.viewport,S=Qe(p),_=Qe(u),N=pi(f,10);function P(A){if(w.current){const M=A.clientX-w.current.left,C=A.clientY-w.current.top;d({x:M,y:C})}}return c.useEffect(()=>{const A=M=>{const C=M.target;x?.contains(C)&&S(M,k)};return document.addEventListener("wheel",A,{passive:!1}),()=>document.removeEventListener("wheel",A,{passive:!1})},[j,x,k,S]),c.useEffect(_,[r,_]),Rs(x,N),Rs(h.content,N),s.jsx(vN,{scope:n,scrollbar:x,hasThumb:o,onThumbChange:Qe(i),onThumbPointerUp:Qe(a),onThumbPositionChange:_,onThumbPointerDown:Qe(l),children:s.jsx(xe.div,{...m,ref:b,style:{position:"absolute",...m.style},onPointerDown:pe(e.onPointerDown,A=>{A.button===0&&(A.target.setPointerCapture(A.pointerId),w.current=x.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",h.viewport&&(h.viewport.style.scrollBehavior="auto"),P(A))}),onPointerMove:pe(e.onPointerMove,P),onPointerUp:pe(e.onPointerUp,A=>{const M=A.target;M.hasPointerCapture(A.pointerId)&&M.releasePointerCapture(A.pointerId),document.body.style.webkitUserSelect=y.current,h.viewport&&(h.viewport.style.scrollBehavior=""),w.current=null})})})}),Eo="ScrollAreaThumb",Hm=c.forwardRef((e,t)=>{const{forceMount:n,...r}=e,o=Bm(Eo,e.__scopeScrollArea);return s.jsx(yt,{present:n||o.hasThumb,children:s.jsx(yN,{ref:t,...r})})}),yN=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...o}=e,i=_t(Eo,n),a=Bm(Eo,n),{onThumbPositionChange:l}=a,u=Re(t,a.onThumbChange),d=c.useRef(void 0),p=pi(()=>{d.current&&(d.current(),d.current=void 0)},100);return c.useEffect(()=>{const f=i.viewport;if(f){const m=()=>{if(p(),!d.current){const h=kN(f,l);d.current=h,l()}};return l(),f.addEventListener("scroll",m),()=>f.removeEventListener("scroll",m)}},[i.viewport,p,l]),s.jsx(xe.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:pe(e.onPointerDownCapture,f=>{const h=f.target.getBoundingClientRect(),x=f.clientX-h.left,v=f.clientY-h.top;a.onThumbPointerDown({x,y:v})}),onPointerUp:pe(e.onPointerUp,a.onThumbPointerUp)})});Hm.displayName=Eo;var rc="ScrollAreaCorner",Vm=c.forwardRef((e,t)=>{const n=_t(rc,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?s.jsx(wN,{...e,ref:t}):null});Vm.displayName=rc;var wN=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,o=_t(rc,n),[i,a]=c.useState(0),[l,u]=c.useState(0),d=!!(i&&l),{onCornerWidthChange:p,onCornerHeightChange:f}=o;return Rs(o.scrollbarX,()=>{const m=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(m),u(m)}),Rs(o.scrollbarY,()=>{const m=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(m),a(m)}),c.useEffect(()=>()=>{p(0),f(0)},[p,f]),d?s.jsx(xe.div,{...r,ref:t,style:{width:i,height:l,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Ro(e){return e?parseInt(e,10):0}function Wm(e,t){const n=e/t;return isNaN(n)?0:n}function di(e){const t=Wm(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function jN(e,t,n,r="ltr"){const o=di(n),i=o/2,a=t||i,l=o-a,u=n.scrollbar.paddingStart+a,d=n.scrollbar.size-n.scrollbar.paddingEnd-l,p=n.content-n.viewport,f=r==="ltr"?[0,p]:[p*-1,0];return Zm([u,d],f)(e)}function Pu(e,t,n="ltr"){const r=di(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,a=t.content-t.viewport,l=i-r,u=n==="ltr"?[0,a]:[a*-1,0],d=Da(e,u);return Zm([0,a],[0,l])(d)}function Zm(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Km(e,t){return e>0&&e<t}var kN=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function o(){const i={left:e.scrollLeft,top:e.scrollTop},a=n.left!==i.left,l=n.top!==i.top;(a||l)&&t(),n=i,r=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(r)};function pi(e,t){const n=Qe(e),r=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(r.current),[]),c.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Rs(e,t){const n=Qe(t);Je(()=>{let r=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(r),o.unobserve(e)}}},[e,n])}var SN=Lm,_N=Dm,NN=Vm,CN=[" ","Enter","ArrowUp","ArrowDown"],TN=[" ","Enter"],Kn="Select",[fi,mi,EN]=Cf(Kn),[Xn]=un(Kn,[EN,ui]),hi=ui(),[RN,Tn]=Xn(Kn),[MN,IN]=Xn(Kn),PN="SelectProvider";function Gm(e){const{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:i,value:a,defaultValue:l,onValueChange:u,dir:d,name:p,autoComplete:f,disabled:m,required:h,form:x,internal_do_not_use_render:v}=e,b=hi(t),[w,y]=c.useState(null),[j,k]=c.useState(null),[S,_]=c.useState(!1),N=ti(d),[P,A]=Wn({prop:r,defaultProp:o??!1,onChange:i,caller:Kn}),[M,C]=Wn({prop:a,defaultProp:l,onChange:u,caller:Kn}),I=c.useRef(null),F=c.useRef(M);c.useEffect(()=>{const be=x?w?.ownerDocument.getElementById(x):w?.form;if(be instanceof HTMLFormElement){const ve=()=>C(F.current);return be.addEventListener("reset",ve),()=>be.removeEventListener("reset",ve)}},[x,w,C]);const U=w?!!x||!!w.closest("form"):!0,[Y,Z]=c.useState(new Set),V=qt(),H=Array.from(Y).map(be=>be.props.value).join(";"),z=c.useCallback(be=>{Z(ve=>new Set(ve).add(be))},[]),X=c.useCallback(be=>{Z(ve=>{const oe=new Set(ve);return oe.delete(be),oe})},[]),J={required:h,trigger:w,onTriggerChange:y,valueNode:j,onValueNodeChange:k,valueNodeHasChildren:S,onValueNodeHasChildrenChange:_,contentId:V,value:M,onValueChange:C,open:P,onOpenChange:A,dir:N,triggerPointerDownPosRef:I,disabled:m,name:p,autoComplete:f,form:x,nativeOptions:Y,nativeSelectKey:H,isFormControl:U};return s.jsx(_m,{...b,children:s.jsx(RN,{scope:t,...J,children:s.jsx(fi.Provider,{scope:t,children:s.jsx(MN,{scope:t,onNativeOptionAdd:z,onNativeOptionRemove:X,children:JN(v)?v(J):n})})})})}Gm.displayName=PN;var Jm=e=>{const{__scopeSelect:t,children:n,...r}=e;return s.jsx(Gm,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:o})=>s.jsxs(s.Fragment,{children:[n,o?s.jsx(jh,{__scopeSelect:t}):null]})})};Jm.displayName=Kn;var Ym="SelectTrigger",Xm=c.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...o}=e,i=hi(n),a=Tn(Ym,n),l=a.disabled||r,u=Re(t,a.onTriggerChange),d=mi(n),p=c.useRef("touch"),[f,m,h]=kh(v=>{const b=d().filter(j=>!j.disabled),w=b.find(j=>j.value===a.value),y=Sh(b,v,w);y!==void 0&&a.onValueChange(y.value)}),x=v=>{l||(a.onOpenChange(!0),h()),v&&(a.triggerPointerDownPosRef.current={x:Math.round(v.pageX),y:Math.round(v.pageY)})};return s.jsx(Nm,{asChild:!0,...i,children:s.jsx(xe.button,{type:"button",role:"combobox","aria-controls":a.open?a.contentId:void 0,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":xi(a.value)?"":void 0,...o,ref:u,onClick:pe(o.onClick,v=>{v.currentTarget.focus(),p.current!=="mouse"&&x(v)}),onPointerDown:pe(o.onPointerDown,v=>{p.current=v.pointerType;const b=v.target;b.hasPointerCapture(v.pointerId)&&b.releasePointerCapture(v.pointerId),v.button===0&&v.ctrlKey===!1&&v.pointerType==="mouse"&&(x(v),v.preventDefault())}),onKeyDown:pe(o.onKeyDown,v=>{const b=f.current!=="";!(v.ctrlKey||v.altKey||v.metaKey)&&v.key.length===1&&m(v.key),!(b&&v.key===" ")&&CN.includes(v.key)&&(x(),v.preventDefault())})})})});Xm.displayName=Ym;var Qm="SelectValue",eh=c.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,children:i,placeholder:a="",...l}=e,u=Tn(Qm,n),{onValueNodeHasChildrenChange:d}=u,p=i!==void 0,f=Re(t,u.onValueNodeChange);Je(()=>{d(p)},[d,p]);const m=xi(u.value);return s.jsx(xe.span,{...l,asChild:m?!1:l.asChild,ref:f,style:{pointerEvents:"none"},children:s.jsx(c.Fragment,{children:m?a:i},m?"placeholder":"value")})});eh.displayName=Qm;var AN="SelectIcon",th=c.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...o}=e;return s.jsx(xe.span,{"aria-hidden":!0,...o,ref:t,children:r||"▼"})});th.displayName=AN;var nh="SelectPortal",[ON,zN]=Xn(nh,{forceMount:void 0}),sh=e=>{const{__scopeSelect:t,forceMount:n,...r}=e;return s.jsx(ON,{scope:e.__scopeSelect,forceMount:n,children:s.jsx(si,{asChild:!0,...r})})};sh.displayName=nh;var Sn="SelectContent",rh=c.forwardRef((e,t)=>{const n=zN(Sn,e.__scopeSelect),{forceMount:r=n.forceMount,...o}=e,i=Tn(Sn,e.__scopeSelect),[a,l]=c.useState();return Je(()=>{l(new DocumentFragment)},[]),s.jsx(yt,{present:r||i.open,children:({present:u})=>u?s.jsx(ah,{...o,ref:t}):s.jsx(oh,{...o,fragment:a})})});rh.displayName=Sn;var oh=c.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,fragment:o}=e;return o?As.createPortal(s.jsx(ih,{scope:n,children:s.jsx(fi.Slot,{scope:n,children:s.jsx("div",{ref:t,children:r})})}),o):null});oh.displayName="SelectContentFragment";var Mt=10,[ih,En]=Xn(Sn),LN="SelectContentImpl",$N=Cs("SelectContent.RemoveScroll"),ah=c.forwardRef((e,t)=>{const{__scopeSelect:n}=e,{position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:i,onPointerDownOutside:a,side:l,sideOffset:u,align:d,alignOffset:p,arrowPadding:f,collisionBoundary:m,collisionPadding:h,sticky:x,hideWhenDetached:v,avoidCollisions:b,...w}=e,y=Tn(Sn,n),[j,k]=c.useState(null),[S,_]=c.useState(null),N=Re(t,k),[P,A]=c.useState(null),[M,C]=c.useState(null),I=mi(n),[F,U]=c.useState(!1),Y=c.useRef(!1);c.useEffect(()=>{if(j)return qf(j)},[j]),Af();const Z=c.useCallback(te=>{const[ke,...Se]=I().map(me=>me.ref.current),[le]=Se.slice(-1),ue=document.activeElement;for(const me of te)if(me===ue||(me?.scrollIntoView({block:"nearest"}),me===ke&&S&&(S.scrollTop=0),me===le&&S&&(S.scrollTop=S.scrollHeight),me?.focus(),document.activeElement!==ue))return},[I,S]),V=c.useCallback(()=>Z([P,j]),[Z,P,j]);c.useEffect(()=>{F&&V()},[F,V]);const{onOpenChange:H,triggerPointerDownPosRef:z}=y;c.useEffect(()=>{if(j){let te={x:0,y:0};const ke=le=>{te={x:Math.abs(Math.round(le.pageX)-(z.current?.x??0)),y:Math.abs(Math.round(le.pageY)-(z.current?.y??0))}},Se=le=>{te.x<=10&&te.y<=10?le.preventDefault():le.composedPath().includes(j)||H(!1),document.removeEventListener("pointermove",ke),z.current=null};return z.current!==null&&(document.addEventListener("pointermove",ke),document.addEventListener("pointerup",Se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ke),document.removeEventListener("pointerup",Se,{capture:!0})}}},[j,H,z]),c.useEffect(()=>{const te=()=>H(!1);return window.addEventListener("blur",te),window.addEventListener("resize",te),()=>{window.removeEventListener("blur",te),window.removeEventListener("resize",te)}},[H]);const[X,J]=kh(te=>{const ke=I().filter(ue=>!ue.disabled),Se=ke.find(ue=>ue.ref.current===document.activeElement),le=Sh(ke,te,Se);le&&setTimeout(()=>le.ref.current?.focus())}),be=c.useCallback((te,ke,Se)=>{const le=!Y.current&&!Se;(y.value!==void 0&&y.value===ke||le)&&(A(te),le&&(Y.current=!0))},[y.value]),ve=c.useCallback(()=>j?.focus(),[j]),oe=c.useCallback((te,ke,Se)=>{const le=!Y.current&&!Se;(y.value!==void 0&&y.value===ke||le)&&C(te)},[y.value]),D=r==="popper"?Fa:lh,je=D===Fa?{side:l,sideOffset:u,align:d,alignOffset:p,arrowPadding:f,collisionBoundary:m,collisionPadding:h,sticky:x,hideWhenDetached:v,avoidCollisions:b}:{};return s.jsx(ih,{scope:n,content:j,viewport:S,onViewportChange:_,itemRefCallback:be,selectedItem:P,onItemLeave:ve,itemTextRefCallback:oe,focusSelectedItem:V,selectedItemText:M,position:r,isPositioned:F,searchRef:X,children:s.jsx(Hl,{as:$N,allowPinchZoom:!0,children:s.jsx(ql,{asChild:!0,trapped:y.open,onMountAutoFocus:te=>{te.preventDefault()},onUnmountAutoFocus:pe(o,te=>{y.trigger?.focus({preventScroll:!0}),te.preventDefault()}),children:s.jsx(ni,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:te=>te.preventDefault(),onDismiss:()=>y.onOpenChange(!1),children:s.jsx(D,{role:"listbox",id:y.contentId,"data-state":y.open?"open":"closed",dir:y.dir,onContextMenu:te=>te.preventDefault(),...w,...je,onPlaced:()=>U(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:pe(w.onKeyDown,te=>{const ke=te.ctrlKey||te.altKey||te.metaKey;if(te.key==="Tab"&&te.preventDefault(),!ke&&te.key.length===1&&J(te.key),["ArrowUp","ArrowDown","Home","End"].includes(te.key)){let le=I().filter(ue=>!ue.disabled).map(ue=>ue.ref.current);if(["ArrowUp","End"].includes(te.key)&&(le=le.slice().reverse()),["ArrowUp","ArrowDown"].includes(te.key)){const ue=te.target,me=le.indexOf(ue);le=le.slice(me+1)}setTimeout(()=>Z(le)),te.preventDefault()}})})})})})})});ah.displayName=LN;var DN="SelectItemAlignedPosition",lh=c.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...o}=e,i=Tn(Sn,n),a=En(Sn,n),[l,u]=c.useState(null),[d,p]=c.useState(null),f=Re(t,p),m=mi(n),h=c.useRef(!1),x=c.useRef(!0),{viewport:v,selectedItem:b,selectedItemText:w,focusSelectedItem:y}=a,j=c.useCallback(()=>{if(i.trigger&&i.valueNode&&l&&d&&v&&b&&w){const N=i.trigger.getBoundingClientRect(),P=d.getBoundingClientRect(),A=i.valueNode.getBoundingClientRect(),M=w.getBoundingClientRect();if(i.dir!=="rtl"){const ue=M.left-P.left,me=A.left-ue,we=N.left-me,Ee=N.width+we,Ye=Math.max(Ee,P.width),De=window.innerWidth-Mt,Ve=Da(me,[Mt,Math.max(Mt,De-Ye)]);l.style.minWidth=Ee+"px",l.style.left=Ve+"px"}else{const ue=P.right-M.right,me=window.innerWidth-A.right-ue,we=window.innerWidth-N.right-me,Ee=N.width+we,Ye=Math.max(Ee,P.width),De=window.innerWidth-Mt,Ve=Da(me,[Mt,Math.max(Mt,De-Ye)]);l.style.minWidth=Ee+"px",l.style.right=Ve+"px"}const C=m(),I=window.innerHeight-Mt*2,F=v.scrollHeight,U=window.getComputedStyle(d),Y=parseInt(U.borderTopWidth,10),Z=parseInt(U.paddingTop,10),V=parseInt(U.borderBottomWidth,10),H=parseInt(U.paddingBottom,10),z=Y+Z+F+H+V,X=Math.min(b.offsetHeight*5,z),J=window.getComputedStyle(v),be=parseInt(J.paddingTop,10),ve=parseInt(J.paddingBottom,10),oe=N.top+N.height/2-Mt,D=I-oe,je=b.offsetHeight/2,te=b.offsetTop+je,ke=Y+Z+te,Se=z-ke;if(ke<=oe){const ue=C.length>0&&b===C[C.length-1].ref.current;l.style.bottom="0px";const me=d.clientHeight-v.offsetTop-v.offsetHeight,we=Math.max(D,je+(ue?ve:0)+me+V),Ee=ke+we;l.style.height=Ee+"px"}else{const ue=C.length>0&&b===C[0].ref.current;l.style.top="0px";const we=Math.max(oe,Y+v.offsetTop+(ue?be:0)+je)+Se;l.style.height=we+"px",v.scrollTop=ke-oe+v.offsetTop}l.style.margin=`${Mt}px 0`,l.style.minHeight=X+"px",l.style.maxHeight=I+"px",r?.(),requestAnimationFrame(()=>h.current=!0)}},[m,i.trigger,i.valueNode,l,d,v,b,w,i.dir,r]);Je(()=>j(),[j]);const[k,S]=c.useState();Je(()=>{d&&S(window.getComputedStyle(d).zIndex)},[d]);const _=c.useCallback(N=>{N&&x.current===!0&&(j(),y?.(),x.current=!1)},[j,y]);return s.jsx(UN,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:h,onScrollButtonChange:_,children:s.jsx("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:s.jsx(xe.div,{...o,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});lh.displayName=DN;var FN="SelectPopperPosition",Fa=c.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Mt,...i}=e,a=hi(n);return s.jsx(Cm,{...a,...i,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Fa.displayName=FN;var[UN,oc]=Xn(Sn,{}),Ua="SelectViewport",ch=c.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...o}=e,i=En(Ua,n),a=oc(Ua,n),l=Re(t,i.onViewportChange),u=c.useRef(0);return s.jsxs(s.Fragment,{children:[s.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),s.jsx(fi.Slot,{scope:n,children:s.jsx(xe.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:pe(o.onScroll,d=>{const p=d.currentTarget,{contentWrapper:f,shouldExpandOnScrollRef:m}=a;if(m?.current&&f){const h=Math.abs(u.current-p.scrollTop);if(h>0){const x=window.innerHeight-Mt*2,v=parseFloat(f.style.minHeight),b=parseFloat(f.style.height),w=Math.max(v,b);if(w<x){const y=w+h,j=Math.min(x,y),k=y-j;f.style.height=j+"px",f.style.bottom==="0px"&&(p.scrollTop=k>0?k:0,f.style.justifyContent="flex-end")}}}u.current=p.scrollTop})})})]})});ch.displayName=Ua;var uh="SelectGroup",[BN,qN]=Xn(uh),HN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=qt();return s.jsx(BN,{scope:n,id:o,children:s.jsx(xe.div,{role:"group","aria-labelledby":o,...r,ref:t})})});HN.displayName=uh;var dh="SelectLabel",VN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=qN(dh,n);return s.jsx(xe.div,{id:o.id,...r,ref:t})});VN.displayName=dh;var Mo="SelectItem",[WN,ph]=Xn(Mo),fh=c.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:o=!1,textValue:i,...a}=e,l=Tn(Mo,n),u=En(Mo,n),d=l.value===r,[p,f]=c.useState(i??""),[m,h]=c.useState(!1),x=Qe(j=>u.itemRefCallback?.(j,r,o)),v=Re(t,x),b=qt(),w=c.useRef("touch"),y=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};return s.jsx(WN,{scope:n,value:r,disabled:o,textId:b,isSelected:d,onItemTextChange:c.useCallback(j=>{f(k=>k||(j?.textContent??"").trim())},[]),children:s.jsx(fi.ItemSlot,{scope:n,value:r,disabled:o,textValue:p,children:s.jsx(xe.div,{role:"option","aria-labelledby":b,"data-highlighted":m?"":void 0,"aria-selected":d&&m,"data-state":d?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...a,ref:v,onFocus:pe(a.onFocus,()=>h(!0)),onBlur:pe(a.onBlur,()=>h(!1)),onClick:pe(a.onClick,()=>{w.current!=="mouse"&&y()}),onPointerUp:pe(a.onPointerUp,()=>{w.current==="mouse"&&y()}),onPointerDown:pe(a.onPointerDown,j=>{w.current=j.pointerType}),onPointerMove:pe(a.onPointerMove,j=>{w.current=j.pointerType,o?u.onItemLeave?.():w.current==="mouse"&&j.currentTarget.focus({preventScroll:!0})}),onPointerLeave:pe(a.onPointerLeave,j=>{j.currentTarget===document.activeElement&&u.onItemLeave?.()}),onKeyDown:pe(a.onKeyDown,j=>{o||j.target!==j.currentTarget||u.searchRef?.current!==""&&j.key===" "||(TN.includes(j.key)&&y(),j.key===" "&&j.preventDefault())})})})})});fh.displayName=Mo;var Gs="SelectItemText",mh=c.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:o,...i}=e,a=Tn(Gs,n),l=En(Gs,n),u=ph(Gs,n),d=IN(Gs,n),[p,f]=c.useState(null),m=Qe(y=>l.itemTextRefCallback?.(y,u.value,u.disabled)),h=Re(t,f,u.onItemTextChange,m),x=p?.textContent,v=c.useMemo(()=>s.jsx("option",{value:u.value,disabled:u.disabled,children:x},u.value),[u.disabled,u.value,x]),{onNativeOptionAdd:b,onNativeOptionRemove:w}=d;return Je(()=>(b(v),()=>w(v)),[b,w,v]),s.jsxs(s.Fragment,{children:[s.jsx(xe.span,{id:u.textId,...i,ref:h}),u.isSelected&&a.valueNode&&!a.valueNodeHasChildren&&!xi(a.value)?As.createPortal(i.children,a.valueNode):null]})});mh.displayName=Gs;var hh="SelectItemIndicator",xh=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return ph(hh,n).isSelected?s.jsx(xe.span,{"aria-hidden":!0,...r,ref:t}):null});xh.displayName=hh;var Ba="SelectScrollUpButton",gh=c.forwardRef((e,t)=>{const n=En(Ba,e.__scopeSelect),r=oc(Ba,e.__scopeSelect),[o,i]=c.useState(!1),a=Re(t,r.onScrollButtonChange);return Je(()=>{if(n.viewport&&n.isPositioned){let l=function(){const d=u.scrollTop>0;i(d)};const u=n.viewport;return l(),u.addEventListener("scroll",l),()=>u.removeEventListener("scroll",l)}},[n.viewport,n.isPositioned]),o?s.jsx(vh,{...e,ref:a,onAutoScroll:()=>{const{viewport:l,selectedItem:u}=n;l&&u&&(l.scrollTop=l.scrollTop-u.offsetHeight)}}):null});gh.displayName=Ba;var qa="SelectScrollDownButton",bh=c.forwardRef((e,t)=>{const n=En(qa,e.__scopeSelect),r=oc(qa,e.__scopeSelect),[o,i]=c.useState(!1),a=Re(t,r.onScrollButtonChange);return Je(()=>{if(n.viewport&&n.isPositioned){let l=function(){const d=u.scrollHeight-u.clientHeight,p=Math.ceil(u.scrollTop)<d;i(p)};const u=n.viewport;return l(),u.addEventListener("scroll",l),()=>u.removeEventListener("scroll",l)}},[n.viewport,n.isPositioned]),o?s.jsx(vh,{...e,ref:a,onAutoScroll:()=>{const{viewport:l,selectedItem:u}=n;l&&u&&(l.scrollTop=l.scrollTop+u.offsetHeight)}}):null});bh.displayName=qa;var vh=c.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...o}=e,i=En("SelectScrollButton",n),a=c.useRef(null),l=mi(n),u=c.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return c.useEffect(()=>()=>u(),[u]),Je(()=>{l().find(p=>p.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),s.jsx(xe.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:pe(o.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:pe(o.onPointerMove,()=>{i.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:pe(o.onPointerLeave,()=>{u()})})}),ZN="SelectSeparator",KN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return s.jsx(xe.div,{"aria-hidden":!0,...r,ref:t})});KN.displayName=ZN;var yh="SelectArrow",GN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,o=hi(n);return En(yh,n).position==="popper"?s.jsx(Tm,{...o,...r,ref:t}):null});GN.displayName=yh;var wh="SelectBubbleInput",jh=c.forwardRef(({__scopeSelect:e,...t},n)=>{const r=Tn(wh,e),{value:o,onValueChange:i,required:a,disabled:l,name:u,autoComplete:d,form:p}=r,{nativeOptions:f,nativeSelectKey:m}=r,h=c.useRef(null),x=Re(n,h),v=o??"",b=ES(v),w=Array.from(f).some(y=>(y.props.value??"")==="");return c.useEffect(()=>{const y=h.current;if(!y)return;const j=window.HTMLSelectElement.prototype,S=Object.getOwnPropertyDescriptor(j,"value").set;if(b!==v&&S){const _=new Event("change",{bubbles:!0});S.call(y,v),y.dispatchEvent(_)}},[b,v]),s.jsxs(xe.select,{"aria-hidden":!0,required:a,tabIndex:-1,name:u,autoComplete:d,disabled:l,form:p,onChange:y=>i(y.target.value),...t,style:{..._f,...t.style},ref:x,defaultValue:v,children:[xi(o)&&!w?s.jsx("option",{value:""}):null,Array.from(f)]},m)});jh.displayName=wh;function JN(e){return typeof e=="function"}function xi(e){return e===""||e===void 0}function kh(e){const t=Qe(e),n=c.useRef(""),r=c.useRef(0),o=c.useCallback(a=>{const l=n.current+a;t(l),(function u(d){n.current=d,window.clearTimeout(r.current),d!==""&&(r.current=window.setTimeout(()=>u(""),1e3))})(l)},[t]),i=c.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,i]}function Sh(e,t,n){const o=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let a=YN(e,Math.max(i,0));o.length===1&&(a=a.filter(d=>d!==n));const u=a.find(d=>d.textValue.toLowerCase().startsWith(o.toLowerCase()));return u!==n?u:void 0}function YN(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var gi="Tabs",[XN]=un(gi,[Mm]),_h=Mm(),[QN,ic]=XN(gi),Nh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:i,orientation:a="horizontal",dir:l,activationMode:u="automatic",...d}=e,p=ti(l),[f,m]=Wn({prop:r,onChange:o,defaultProp:i??"",caller:gi});return s.jsx(QN,{scope:n,baseId:qt(),value:f,onValueChange:m,orientation:a,dir:p,activationMode:u,children:s.jsx(xe.div,{dir:p,"data-orientation":a,...d,ref:t})})});Nh.displayName=gi;var Ch="TabsList",Th=c.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,i=ic(Ch,n),a=_h(n);return s.jsx(uN,{asChild:!0,...a,orientation:i.orientation,dir:i.dir,loop:r,children:s.jsx(xe.div,{role:"tablist","aria-orientation":i.orientation,...o,ref:t})})});Th.displayName=Ch;var Eh="TabsTrigger",Rh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...i}=e,a=ic(Eh,n),l=_h(n),u=Ph(a.baseId,r),d=Ah(a.baseId,r),p=r===a.value;return s.jsx(dN,{asChild:!0,...l,focusable:!o,active:p,children:s.jsx(xe.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":d,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:u,...i,ref:t,onMouseDown:pe(e.onMouseDown,f=>{!o&&f.button===0&&f.ctrlKey===!1?a.onValueChange(r):f.preventDefault()}),onKeyDown:pe(e.onKeyDown,f=>{o||f.target!==f.currentTarget||[" ","Enter"].includes(f.key)&&a.onValueChange(r)}),onFocus:pe(e.onFocus,()=>{const f=a.activationMode!=="manual";!p&&!o&&f&&a.onValueChange(r)})})})});Rh.displayName=Eh;var Mh="TabsContent",Ih=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:o,children:i,...a}=e,l=ic(Mh,n),u=Ph(l.baseId,r),d=Ah(l.baseId,r),p=r===l.value,f=c.useRef(p);return c.useEffect(()=>{const m=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(m)},[]),s.jsx(yt,{present:o||p,children:({present:m})=>s.jsx(xe.div,{"data-state":p?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":u,hidden:!m,id:d,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:m&&i})})});Ih.displayName=Mh;function Ph(e,t){return`${e}-trigger-${t}`}function Ah(e,t){return`${e}-content-${t}`}var eC=Nh,tC=Th,nC=Rh,sC=Ih,[bi]=un("Tooltip",[ui]),vi=ui(),Oh="TooltipProvider",rC=700,Ha="tooltip.open",[oC,ac]=bi(Oh),zh=e=>{const{__scopeTooltip:t,delayDuration:n=rC,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:i}=e,a=c.useRef(!0),l=c.useRef(!1),u=c.useRef(0);return c.useEffect(()=>{const d=u.current;return()=>window.clearTimeout(d)},[]),s.jsx(oC,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:c.useCallback(()=>{r<=0||(window.clearTimeout(u.current),a.current=!1)},[r]),onClose:c.useCallback(()=>{r<=0||(window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,r))},[r]),isPointerInTransitRef:l,onPointerInTransitChange:c.useCallback(d=>{l.current=d},[]),disableHoverableContent:o,children:i})};zh.displayName=Oh;var or="Tooltip",[iC,wr]=bi(or),Lh=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:o,onOpenChange:i,disableHoverableContent:a,delayDuration:l}=e,u=ac(or,e.__scopeTooltip),d=vi(t),[p,f]=c.useState(null),m=qt(),h=c.useRef(0),x=a??u.disableHoverableContent,v=l??u.delayDuration,b=c.useRef(!1),[w,y]=Wn({prop:r,defaultProp:o??!1,onChange:N=>{N?(u.onOpen(),document.dispatchEvent(new CustomEvent(Ha))):u.onClose(),i?.(N)},caller:or}),j=c.useMemo(()=>w?b.current?"delayed-open":"instant-open":"closed",[w]),k=c.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b.current=!1,y(!0)},[y]),S=c.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y(!1)},[y]),_=c.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{b.current=!0,y(!0),h.current=0},v)},[v,y]);return c.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),s.jsx(_m,{...d,children:s.jsx(iC,{scope:t,contentId:m,open:w,stateAttribute:j,trigger:p,onTriggerChange:f,onTriggerEnter:c.useCallback(()=>{u.isOpenDelayedRef.current?_():k()},[u.isOpenDelayedRef,_,k]),onTriggerLeave:c.useCallback(()=>{x?S():(window.clearTimeout(h.current),h.current=0)},[S,x]),onOpen:k,onClose:S,disableHoverableContent:x,children:n})})};Lh.displayName=or;var Va="TooltipTrigger",$h=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=wr(Va,n),i=ac(Va,n),a=vi(n),l=c.useRef(null),u=Re(t,l,o.onTriggerChange),d=c.useRef(!1),p=c.useRef(!1),f=c.useCallback(()=>d.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),s.jsx(Nm,{asChild:!0,...a,children:s.jsx(xe.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:u,onPointerMove:pe(e.onPointerMove,m=>{m.pointerType!=="touch"&&!p.current&&!i.isPointerInTransitRef.current&&(o.onTriggerEnter(),p.current=!0)}),onPointerLeave:pe(e.onPointerLeave,()=>{o.onTriggerLeave(),p.current=!1}),onPointerDown:pe(e.onPointerDown,()=>{o.open&&o.onClose(),d.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:pe(e.onFocus,()=>{d.current||o.onOpen()}),onBlur:pe(e.onBlur,o.onClose),onClick:pe(e.onClick,o.onClose)})})});$h.displayName=Va;var lc="TooltipPortal",[aC,lC]=bi(lc,{forceMount:void 0}),Dh=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,i=wr(lc,t);return s.jsx(aC,{scope:t,forceMount:n,children:s.jsx(yt,{present:n||i.open,children:s.jsx(si,{asChild:!0,container:o,children:r})})})};Dh.displayName=lc;var Ms="TooltipContent",Fh=c.forwardRef((e,t)=>{const n=lC(Ms,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,a=wr(Ms,e.__scopeTooltip);return s.jsx(yt,{present:r||a.open,children:a.disableHoverableContent?s.jsx(Uh,{side:o,...i,ref:t}):s.jsx(cC,{side:o,...i,ref:t})})}),cC=c.forwardRef((e,t)=>{const n=wr(Ms,e.__scopeTooltip),r=ac(Ms,e.__scopeTooltip),o=c.useRef(null),i=Re(t,o),[a,l]=c.useState(null),{trigger:u,onClose:d}=n,p=o.current,{onPointerInTransitChange:f}=r,m=c.useCallback(()=>{l(null),f(!1)},[f]),h=c.useCallback((x,v)=>{const b=x.currentTarget,w={x:x.clientX,y:x.clientY},y=fC(w,b.getBoundingClientRect()),j=mC(w,y),k=hC(v.getBoundingClientRect()),S=gC([...j,...k]);l(S),f(!0)},[f]);return c.useEffect(()=>()=>m(),[m]),c.useEffect(()=>{if(u&&p){const x=b=>h(b,p),v=b=>h(b,u);return u.addEventListener("pointerleave",x),p.addEventListener("pointerleave",v),()=>{u.removeEventListener("pointerleave",x),p.removeEventListener("pointerleave",v)}}},[u,p,h,m]),c.useEffect(()=>{if(a){const x=v=>{const b=v.target,w={x:v.clientX,y:v.clientY},y=u?.contains(b)||p?.contains(b),j=!xC(w,a);y?m():j&&(m(),d())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[u,p,a,d,m]),s.jsx(Uh,{...e,ref:i})}),[uC,dC]=bi(or,{isInside:!1}),pC=Z5("TooltipContent"),Uh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:a,...l}=e,u=wr(Ms,n),d=vi(n),{onClose:p}=u;return c.useEffect(()=>(document.addEventListener(Ha,p),()=>document.removeEventListener(Ha,p)),[p]),c.useEffect(()=>{if(u.trigger){const f=m=>{m.target instanceof Node&&m.target.contains(u.trigger)&&p()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[u.trigger,p]),s.jsx(ni,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:f=>f.preventDefault(),onDismiss:p,children:s.jsxs(Cm,{"data-state":u.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[s.jsx(pC,{children:r}),s.jsx(uC,{scope:n,isInside:!0,children:s.jsx(ok,{id:u.contentId,role:"tooltip",children:o||r})})]})})});Fh.displayName=Ms;var Bh="TooltipArrow",qh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=vi(n);return dC(Bh,n).isInside?null:s.jsx(Tm,{...o,...r,ref:t})});qh.displayName=Bh;function fC(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function mC(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function hC(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function xC(e,t){const{x:n,y:r}=e;let o=!1;for(let i=0,a=t.length-1;i<t.length;a=i++){const l=t[i],u=t[a],d=l.x,p=l.y,f=u.x,m=u.y;p>r!=m>r&&n<(f-d)*(r-p)/(m-p)+d&&(o=!o)}return o}function gC(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),bC(t)}function bC(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const o=e[r];for(;t.length>=2;){const i=t[t.length-1],a=t[t.length-2];if((i.x-a.x)*(o.y-a.y)>=(i.y-a.y)*(o.x-a.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const o=e[r];for(;n.length>=2;){const i=n[n.length-1],a=n[n.length-2];if((i.x-a.x)*(o.y-a.y)>=(i.y-a.y)*(o.x-a.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var vC=zh,yC=Lh,wC=$h,jC=Dh,kC=Fh,SC=qh;function Wt({...e}){return s.jsx(Vf,{"data-slot":"dialog",...e})}function jr({...e}){return s.jsx(Zf,{"data-slot":"dialog-trigger",...e})}function _C({...e}){return s.jsx(Gf,{"data-slot":"dialog-portal",...e})}function NC({className:e,...t}){return s.jsx(Jf,{"data-slot":"dialog-overlay",className:$("fixed inset-0 z-40 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t})}function Zt({className:e,children:t,...n}){return s.jsxs(_C,{children:[s.jsx(NC,{}),s.jsxs(Yf,{"data-slot":"dialog-content",className:$("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",e),...n,children:[t,s.jsxs(rm,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[s.jsx(br,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Yt({className:e,...t}){return s.jsx("div",{"data-slot":"dialog-header",className:$("flex flex-col space-y-1.5 text-center sm:text-left",e),...t})}function Xt({className:e,...t}){return s.jsx(em,{"data-slot":"dialog-title",className:$("text-lg font-semibold leading-none tracking-tight",e),...t})}function kr({className:e,...t}){return s.jsx(nm,{"data-slot":"dialog-description",className:$("text-sm text-muted-foreground",e),...t})}function Hh({open:e,onOpenChange:t,title:n,description:r,confirmLabel:o="Confirm",variant:i="default",onConfirm:a}){return s.jsx(Wt,{open:e,onOpenChange:t,children:s.jsxs(Zt,{children:[s.jsx(Yt,{children:s.jsx(Xt,{children:n})}),s.jsx("p",{className:"text-sm text-muted-foreground",children:r}),s.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[s.jsx(ee,{variant:"outline",size:"sm",onClick:()=>t(!1),children:"Cancel"}),s.jsx(ee,{variant:i,size:"sm",onClick:()=>{a(),t(!1)},children:o})]})]})})}const CC="data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eClaude%20Code%3c/title%3e%3cpath%20clip-rule='evenodd'%20d='M20.998%2010.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6%2010.949h1.488V8.102H6v2.847zm10.51%200H18V8.102h-1.49v2.847z'%20fill='%23D97757'%20fill-rule='evenodd'%3e%3c/path%3e%3c/svg%3e",TC="data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eCodex%3c/title%3e%3cpath%20d='M19.503%200H4.496A4.496%204.496%200%20000%204.496v15.007A4.496%204.496%200%20004.496%2024h15.007A4.496%204.496%200%200024%2019.503V4.496A4.496%204.496%200%200019.503%200z'%20fill='%23fff'%3e%3c/path%3e%3cpath%20d='M9.064%203.344a4.578%204.578%200%20012.285-.312c1%20.115%201.891.54%202.673%201.275.01.01.024.017.037.021a.09.09%200%2000.043%200%204.55%204.55%200%20013.046.275l.047.022.116.057a4.581%204.581%200%20012.188%202.399c.209.51.313%201.041.315%201.595a4.24%204.24%200%2001-.134%201.223.123.123%200%2000.03.115c.594.607.988%201.33%201.183%202.17.289%201.425-.007%202.71-.887%203.854l-.136.166a4.548%204.548%200%2001-2.201%201.388.123.123%200%2000-.081.076c-.191.551-.383%201.023-.74%201.494-.9%201.187-2.222%201.846-3.711%201.838-1.187-.006-2.239-.44-3.157-1.302a.107.107%200%2000-.105-.024c-.388.125-.78.143-1.204.138a4.441%204.441%200%2001-1.945-.466%204.544%204.544%200%2001-1.61-1.335c-.152-.202-.303-.392-.414-.617a5.81%205.81%200%2001-.37-.961%204.582%204.582%200%2001-.014-2.298.124.124%200%2000.006-.056.085.085%200%2000-.027-.048%204.467%204.467%200%2001-1.034-1.651%203.896%203.896%200%2001-.251-1.192%205.189%205.189%200%2001.141-1.6c.337-1.112.982-1.985%201.933-2.618.212-.141.413-.251.601-.33.215-.089.43-.164.646-.227a.098.098%200%2000.065-.066%204.51%204.51%200%2001.829-1.615%204.535%204.535%200%20011.837-1.388zm3.482%2010.565a.637.637%200%20000%201.272h3.636a.637.637%200%20100-1.272h-3.636zM8.462%209.23a.637.637%200%2000-1.106.631l1.272%202.224-1.266%202.136a.636.636%200%20101.095.649l1.454-2.455a.636.636%200%2000.005-.64L8.462%209.23z'%20fill='url(%23lobe-icons-codex-_R_0_)'%3e%3c/path%3e%3cdefs%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-codex-_R_0_'%20x1='12'%20x2='12'%20y1='3'%20y2='21'%3e%3cstop%20stop-color='%23B1A7FF'%3e%3c/stop%3e%3cstop%20offset='.5'%20stop-color='%237A9DFF'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%233941FF'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",EC="data:image/svg+xml,%3csvg%20fill='%237dd3fc'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenCode%3c/title%3e%3cpath%20d='M16%206H8v12h8V6zm4%2016H4V2h16v20z'%3e%3c/path%3e%3c/svg%3e",RC="data:image/svg+xml,%3csvg%20fill='%23ff6900'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eMiMo%20Code%3c/title%3e%3cpath%20d='M.958%2015.936a.459.459%200%2001.459.44v2.729a.46.46%200%2001-.918%200v-2.729a.459.459%200%2001.459-.44zm4.814-2.035a.46.46%200%2001.553.45v4.754a.458.458%200%2011-.918%200V15.48L3.74%2017.202a.462.462%200%2001-.655.016.462.462%200%2001-.065-.082L.628%2014.67a.459.459%200%2001.658-.637l2.124%202.187%202.127-2.188a.46.46%200%2001.235-.13zm2.068.004a.46.46%200%2001.458.445v4.755a.46.46%200%2001-.458.458.459.459%200%2001-.458-.458V14.35a.459.459%200%2001.458-.445zm1.973%202.014a.46.46%200%2001.46.457v2.729a.46.46%200%2001-.784.324.46.46%200%2001-.134-.324v-2.729a.46.46%200%2001.458-.458zm.002-2.045a.458.458%200%2001.328.157l2.127%202.19%202.125-2.19a.459.459%200%2001.784.318v4.756a.46.46%200%2001-.455.458.46.46%200%2001-.458-.458V15.48l-1.667%201.723a.46.46%200%2001-.65.008l-.005-.005c0-.002-.002-.002-.004-.003l-2.455-2.534a.46.46%200%2001-.008-.667.461.461%200%2001.338-.128zm6.797%201.206a.46.46%200%2001.53.651A1.966%201.966%200%200019.81%2018.4a.462.462%200%2001.623.18.46.46%200%2001-.181.624%202.863%202.863%200%2001-1.38.353l-.142-.004a2.88%202.88%200%2001-2.393-4.263.461.461%200%2001.274-.21zm.864-.931a2.884%202.884%200%20013.915%203.914.46.46%200%2001-.402.24l-.057-.004a.458.458%200%2001-.164-.055.46.46%200%2001-.182-.622%201.967%201.967%200%2000-2.669-2.67.459.459%200%2011-.441-.803zM9.59%206.368c1.481%200%201.696%201.202%201.696%201.654v2.648h-.917v-.432c-.26.346-.792.535-1.36.535-.133%200-1.289-.03-1.384-1.136-.082-.932.675-1.61%202.053-1.61h.691c0-.563-.367-.886-.983-.886-.44.013-.864.174-1.2.458l-.36-.664c.484-.379%201.012-.567%201.764-.567zm4.427.1c1.263%200%202.082.97%202.083%202.15%200%201.181-.824%202.154-2.083%202.154-1.26%200-2.084-.972-2.084-2.152%200-1.18.82-2.153%202.084-2.153zm6.801.015c.68%200%201.202.465%201.197%201.548v2.642H21.1V8.29c0-.312-.002-.98-.63-.98s-.628.667-.628.838v2.524h-.89V8.148c0-.17-.001-.838-.63-.838-.628%200-.628.668-.628.98v2.383h-.917v-4.03h.917V7a1.22%201.22%200%2001.947-.516c.398%200%20.76.193.982.686a1.321%201.321%200%20011.195-.686zm-18.093.872l1.457-1.772H5.32L3.311%208.07l2.14%202.602H4.24L2.725%208.796%201.21%2010.672H0L2.138%208.07.13%205.583h1.138l1.458%201.772zm4.149%203.317h-.916V6.644h.916v4.028zm16.99%200h-.916V6.644h.916v4.028zM9.925%208.71c-1.055%200-1.359.412-1.326.742.032.329.324.537.757.537a1.013%201.013%200%20001.014-.968l.002-.31h-.447zM14.018%207.3c-.663%200-1.184.487-1.184%201.32%200%20.832.52%201.32%201.184%201.32.662%200%201.182-.49%201.182-1.32%200-.832-.52-1.32-1.182-1.32zM6.417%205.001a.568.568%200%2001.587.582.588.588%200%2001-1.175%200A.57.57%200%20016.417%205zm16.991%200a.57.57%200%2001.592.582.588.588%200%2001-1.174%200%20.57.57%200%2001.357-.542.572.572%200%2001.225-.04z'%3e%3c/path%3e%3c/svg%3e",MC="/assets/agent-inspector-58K1_MsC.ico",IC={"agent-inspector":"Inspector",codex:"Codex",opencode:"OpenCode","mimo-code":"MiMo Code","claude-code":"Claude Code","ai-sdk":"AI SDK"};function Fr(e){return e?.toLowerCase()??""}function is(e,t){for(const n of t)if(e.includes(n))return!0;return!1}function cc(e){const t=[Fr(e.userAgent),Fr(e.conversationId),Fr(e.clientProjectFolder)].join(" ");return is(t,["agent-inspector","agent inspector","provider-test"])?"agent-inspector":is(t,["mimocode","mimo-code","mimo code"])?"mimo-code":is(t,["opencode","open-code","open code"])?"opencode":is(t,["claude-code","claude code","claudecode","claude-cli","claude cli"])?"claude-code":is(t,["codex desktop","codex-cli","openai-codex","codex"])?"codex":is(Fr(e.userAgent),["ai-sdk","ai/"])?"ai-sdk":"unknown"}function yi(e){switch(e){case"agent-inspector":case"codex":case"opencode":case"mimo-code":case"claude-code":case"ai-sdk":return IC[e];case"unknown":return null}}function PC(e){switch(e){case"codex":case"opencode":case"mimo-code":case"claude-code":return"IDE";case"agent-inspector":case"ai-sdk":case"unknown":return"CLIENT"}}const AC={"agent-inspector":MC,codex:TC,opencode:EC,"mimo-code":RC,"claude-code":CC},OC={"agent-inspector":"border-orange-700/15 bg-orange-500/[0.08] dark:border-orange-200/25 dark:bg-orange-300/[0.12]",codex:"border-cyan-700/15 bg-cyan-500/[0.08] dark:border-cyan-200/20 dark:bg-cyan-300/[0.08]",opencode:"border-sky-700/15 bg-sky-500/[0.09] dark:border-sky-200/25 dark:bg-sky-300/[0.12]","mimo-code":"border-orange-700/15 bg-orange-500/[0.09] dark:border-orange-200/25 dark:bg-orange-400/[0.12]","claude-code":"border-amber-700/15 bg-amber-500/[0.08] dark:border-amber-100/20 dark:bg-amber-300/[0.09]"},zC={"agent-inspector":"p-0.5 drop-shadow-[0_0_8px_rgba(251,146,60,0.35)]",codex:"p-0.5",opencode:"p-1 drop-shadow-[0_0_8px_rgba(125,211,252,0.35)]","mimo-code":"p-0.5 drop-shadow-[0_0_8px_rgba(255,105,0,0.35)]","claude-code":"p-0.5"};function wi({client:e,className:t,decorative:n=!1}){if(e==="unknown")return null;const r=yi(e);if(r===null)return null;if(e==="ai-sdk")return s.jsx("span",{className:$("inline-flex size-6 shrink-0 items-center justify-center rounded-md border border-cyan-700/15 bg-cyan-500/[0.08] text-[var(--inspector-status-cool)] shadow-sm dark:border-cyan-200/20 dark:bg-cyan-300/[0.08]",t),"aria-label":n?void 0:r,"aria-hidden":n?!0:void 0,title:r,children:s.jsx(df,{className:"size-1/2","aria-hidden":"true"})});const o=AC[e];return s.jsx("span",{className:$("inline-flex size-6 shrink-0 items-center justify-center rounded-md border p-0 shadow-sm",OC[e],t),"aria-label":n?void 0:r,"aria-hidden":n?!0:void 0,title:r,children:s.jsx("img",{src:o,alt:"",className:$("size-full object-contain",zC[e]),"aria-hidden":"true"})})}const LC="data:image/svg+xml,%3csvg%20height='2500'%20viewBox='0%206.603%201192.672%201193.397'%20width='2500'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m233.96%20800.215%20234.684-131.678%203.947-11.436-3.947-6.363h-11.436l-39.221-2.416-134.094-3.624-116.296-4.832-112.67-6.04-28.35-6.04-26.577-35.035%202.738-17.477%2023.84-16.027%2034.147%202.98%2075.463%205.155%20113.235%207.812%2082.147%204.832%20121.692%2012.644h19.329l2.738-7.812-6.604-4.832-5.154-4.832-117.182-79.41-126.845-83.92-66.443-48.321-35.92-24.484-18.12-22.953-7.813-50.093%2032.618-35.92%2043.812%202.98%2011.195%202.98%2044.375%2034.147%2094.792%2073.37%20123.786%2091.167%2018.12%2015.06%207.249-5.154.886-3.624-8.135-13.61-67.329-121.692-71.838-123.785-31.974-51.302-8.456-30.765c-2.98-12.645-5.154-23.275-5.154-36.242l37.127-50.416%2020.537-6.604%2049.53%206.604%2020.86%2018.121%2030.765%2070.39%2049.852%20110.818%2077.315%20150.684%2022.631%2044.698%2012.08%2041.396%204.51%2012.645h7.813v-7.248l6.362-84.886%2011.759-104.215%2011.436-134.094%203.946-37.772%2018.685-45.262%2037.127-24.482%2028.994%2013.852%2023.839%2034.148-3.303%2022.067-14.174%2092.134-27.785%20144.323-18.121%2096.644h10.55l12.08-12.08%2048.887-64.913%2082.147-102.685%2036.242-40.752%2042.282-45.02%2027.14-21.423h51.303l37.772%2056.135-16.913%2057.986-52.832%2067.007-43.812%2056.779-62.82%2084.563-39.22%2067.651%203.623%205.396%209.343-.886%20141.906-30.201%2076.671-13.852%2091.49-15.705%2041.396%2019.329%204.51%2019.65-16.269%2040.189-97.852%2024.16-114.764%2022.954-170.9%2040.43-2.093%201.53%202.416%202.98%2076.993%207.248%2032.94%201.771h80.617l150.12%2011.195%2039.222%2025.933%2023.517%2031.732-3.946%2024.16-60.403%2030.766-81.503-19.33-190.228-45.26-65.235-16.27h-9.02v5.397l54.362%2053.154%2099.624%2089.96%20124.752%20115.973%206.362%2028.671-16.027%2022.63-16.912-2.415-109.611-82.47-42.282-37.127-95.758-80.618h-6.363v8.456l22.067%2032.296%20116.537%20175.167%206.04%2053.719-8.456%2017.476-30.201%2010.55-33.181-6.04-68.215-95.758-70.39-107.84-56.778-96.644-6.926%203.947-33.503%20360.886-15.705%2018.443-36.243%2013.852-30.201-22.953-16.027-37.127%2016.027-73.37%2019.329-95.758%2015.704-76.107%2014.175-94.55%208.456-31.41-.563-2.094-6.927.886-71.275%2097.852-108.402%20146.497-85.772%2091.812-20.537%208.134-35.597-18.443%203.301-32.94%2019.893-29.315%20118.712-151.007%2071.597-93.583%2046.228-54.04-.322-7.813h-2.738l-315.302%20204.725-56.135%207.248-24.16-22.63%202.98-37.128%2011.435-12.08%2094.792-65.236-.322.323z'%20fill='%23d97757'/%3e%3c/svg%3e",$C="data:image/svg+xml,%3csvg%20height='2500'%20viewBox='-1%20-.1%20949.1%20959.8'%20width='2474'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m925.8%20456.3c10.4%2023.2%2017%2048%2019.7%2073.3%202.6%2025.3%201.3%2050.9-4.1%2075.8-5.3%2024.9-14.5%2048.8-27.3%2070.8-8.4%2014.7-18.3%2028.5-29.7%2041.2-11.3%2012.6-23.9%2024-37.6%2034-13.8%2010-28.5%2018.4-44.1%2025.3-15.5%206.8-31.7%2012-48.3%2015.4-7.8%2024.2-19.4%2047.1-34.4%2067.7-14.9%2020.6-33%2038.7-53.6%2053.6-20.6%2015-43.4%2026.6-67.6%2034.4-24.2%207.9-49.5%2011.8-75%2011.8-16.9.1-33.9-1.7-50.5-5.1-16.5-3.5-32.7-8.8-48.2-15.7s-30.2-15.5-43.9-25.5c-13.6-10-26.2-21.5-37.4-34.2-25%205.4-50.6%206.7-75.9%204.1-25.3-2.7-50.1-9.3-73.4-19.7-23.2-10.3-44.7-24.3-63.6-41.4s-35-37.1-47.7-59.1c-8.5-14.7-15.5-30.2-20.8-46.3s-8.8-32.7-10.6-49.6c-1.8-16.8-1.7-33.8.1-50.7%201.8-16.8%205.5-33.4%2010.8-49.5-17-18.9-31-40.4-41.4-63.6-10.3-23.3-17-48-19.6-73.3-2.7-25.3-1.3-50.9%204-75.8s14.5-48.8%2027.3-70.8c8.4-14.7%2018.3-28.6%2029.6-41.2s24-24%2037.7-34%2028.5-18.5%2044-25.3c15.6-6.9%2031.8-12%2048.4-15.4%207.8-24.3%2019.4-47.1%2034.3-67.7%2015-20.6%2033.1-38.7%2053.7-53.7%2020.6-14.9%2043.4-26.5%2067.6-34.4%2024.2-7.8%2049.5-11.8%2075-11.7%2016.9-.1%2033.9%201.6%2050.5%205.1s32.8%208.7%2048.3%2015.6c15.5%207%2030.2%2015.5%2043.9%2025.5%2013.7%2010.1%2026.3%2021.5%2037.5%2034.2%2024.9-5.3%2050.5-6.6%2075.8-4s50%209.3%2073.3%2019.6c23.2%2010.4%2044.7%2024.3%2063.6%2041.4%2018.9%2017%2035%2036.9%2047.7%2059%208.5%2014.6%2015.5%2030.1%2020.8%2046.3%205.3%2016.1%208.9%2032.7%2010.6%2049.6%201.8%2016.9%201.8%2033.9-.1%2050.8-1.8%2016.9-5.5%2033.5-10.8%2049.6%2017.1%2018.9%2031%2040.3%2041.4%2063.6zm-333.2%20426.9c21.8-9%2041.6-22.3%2058.3-39s30-36.5%2039-58.4c9-21.8%2013.7-45.2%2013.7-68.8v-223q-.1-.3-.2-.7-.1-.3-.3-.6-.2-.3-.5-.5-.3-.3-.6-.4l-80.7-46.6v269.4c0%202.7-.4%205.5-1.1%208.1-.7%202.7-1.7%205.2-3.1%207.6s-3%204.6-5%206.5a32.1%2032.1%200%200%201%20-6.5%205l-191.1%20110.3c-1.6%201-4.3%202.4-5.7%203.2%207.9%206.7%2016.5%2012.6%2025.5%2017.8%209.1%205.2%2018.5%209.6%2028.3%2013.2%209.8%203.5%2019.9%206.2%2030.1%208%2010.3%201.8%2020.7%202.7%2031.1%202.7%2023.6%200%2047-4.7%2068.8-13.8zm-455.1-151.4c11.9%2020.5%2027.6%2038.3%2046.3%2052.7%2018.8%2014.4%2040.1%2024.9%2062.9%2031s46.6%207.7%2070%204.6%2045.9-10.7%2066.4-22.5l193.2-111.5.5-.5q.2-.2.3-.6.2-.3.3-.6v-94l-233.2%20134.9c-2.4%201.4-4.9%202.4-7.5%203.2-2.7.7-5.4%201-8.2%201-2.7%200-5.4-.3-8.1-1-2.6-.8-5.2-1.8-7.6-3.2l-191.1-110.4c-1.7-1-4.2-2.5-5.6-3.4-1.8%2010.3-2.7%2020.7-2.7%2031.1s1%2020.8%202.8%2031.1c1.8%2010.2%204.6%2020.3%208.1%2030.1%203.6%209.8%208%2019.2%2013.2%2028.2zm-50.2-417c-11.8%2020.5-19.4%2043.1-22.5%2066.5s-1.5%2047.1%204.6%2070c6.1%2022.8%2016.6%2044.1%2031%2062.9%2014.4%2018.7%2032.3%2034.4%2052.7%2046.2l193.1%20111.6q.3.1.7.2h.7q.4%200%20.7-.2.3-.1.6-.3l81-46.8-233.2-134.6c-2.3-1.4-4.5-3.1-6.5-5a32.1%2032.1%200%200%201%20-5-6.5c-1.3-2.4-2.4-4.9-3.1-7.6-.7-2.6-1.1-5.3-1-8.1v-227.1c-9.8%203.6-19.3%208-28.3%2013.2-9%205.3-17.5%2011.3-25.5%2018-7.9%206.7-15.3%2014.1-22%2022.1-6.7%207.9-12.6%2016.5-17.8%2025.5zm663.3%20154.4c2.4%201.4%204.6%203%206.6%205%201.9%201.9%203.6%204.1%205%206.5%201.3%202.4%202.4%205%203.1%207.6.6%202.7%201%205.4.9%208.2v227.1c32.1-11.8%2060.1-32.5%2080.8-59.7%2020.8-27.2%2033.3-59.7%2036.2-93.7s-3.9-68.2-19.7-98.5-39.9-55.5-69.5-72.5l-193.1-111.6q-.3-.1-.7-.2h-.7q-.3.1-.7.2-.3.1-.6.3l-80.6%2046.6%20233.2%20134.7zm80.5-121h-.1v.1zm-.1-.1c5.8-33.6%201.9-68.2-11.3-99.7-13.1-31.5-35-58.6-63-78.2-28-19.5-61-30.7-95.1-32.2-34.2-1.4-68%206.9-97.6%2023.9l-193.1%20111.5q-.3.2-.5.5l-.4.6q-.1.3-.2.7-.1.3-.1.7v93.2l233.2-134.7c2.4-1.4%205-2.4%207.6-3.2%202.7-.7%205.4-1%208.1-1%202.8%200%205.5.3%208.2%201%202.6.8%205.1%201.8%207.5%203.2l191.1%20110.4c1.7%201%204.2%202.4%205.6%203.3zm-505.3-103.2c0-2.7.4-5.4%201.1-8.1.7-2.6%201.7-5.2%203.1-7.6%201.4-2.3%203-4.5%205-6.5%201.9-1.9%204.1-3.6%206.5-4.9l191.1-110.3c1.8-1.1%204.3-2.5%205.7-3.2-26.2-21.9-58.2-35.9-92.1-40.2-33.9-4.4-68.3%201-99.2%2015.5-31%2014.5-57.2%2037.6-75.5%2066.4-18.3%2028.9-28%2062.3-28%2096.5v223q.1.4.2.7.1.3.3.6.2.3.5.6.2.2.6.4l80.7%2046.6zm43.8%20294.7%20103.9%2060%20103.9-60v-119.9l-103.8-60-103.9%2060z'/%3e%3c/svg%3e",DC="data:image/svg+xml,%3csvg%20fill='none'%20height='1320'%20viewBox='3.771%206.973%2023.993%2017.652'%20width='2500'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m27.501%208.469c-.252-.123-.36.111-.508.23-.05.04-.093.09-.135.135-.368.395-.797.652-1.358.621-.821-.045-1.521.213-2.14.842-.132-.776-.57-1.238-1.235-1.535-.349-.155-.701-.309-.944-.645-.171-.238-.217-.504-.303-.765-.054-.159-.108-.32-.29-.348-.197-.031-.274.135-.352.273-.31.567-.43%201.192-.419%201.825.028%201.421.628%202.554%201.82%203.36.136.093.17.186.128.321-.081.278-.178.547-.264.824-.054.178-.135.217-.324.14a5.448%205.448%200%200%201%20-1.719-1.169c-.848-.82-1.614-1.726-2.57-2.435-.225-.166-.449-.32-.681-.467-.976-.95.128-1.729.383-1.82.267-.096.093-.428-.77-.424s-1.653.293-2.659.677a2.782%202.782%200%200%201%20-.46.135%209.554%209.554%200%200%200%20-2.853-.1c-1.866.21-3.356%201.092-4.452%202.6-1.315%201.81-1.625%203.87-1.246%206.018.399%202.261%201.552%204.136%203.326%205.601%201.837%201.518%203.955%202.262%206.37%202.12%201.466-.085%203.1-.282%204.942-1.842.465.23.952.322%201.762.392.623.059%201.223-.031%201.687-.127.728-.154.677-.828.414-.953-2.132-.994-1.665-.59-2.09-.916%201.084-1.285%202.717-2.619%203.356-6.94.05-.343.007-.558%200-.837-.004-.168.034-.235.228-.254a4.084%204.084%200%200%200%201.529-.47c1.382-.757%201.938-1.997%202.07-3.485.02-.227-.004-.463-.243-.582zm-12.041%2013.391c-2.067-1.627-3.07-2.162-3.483-2.138-.387.021-.318.465-.233.754.089.285.205.482.368.732.113.166.19.414-.112.598-.666.414-1.823-.139-1.878-.166-1.347-.793-2.473-1.842-3.267-3.276-.765-1.38-1.21-2.861-1.284-4.441-.02-.383.093-.518.472-.586a4.692%204.692%200%200%201%201.514-.04c2.109.31%203.905%201.255%205.41%202.749.86.853%201.51%201.871%202.18%202.865.711%201.057%201.478%202.063%202.454%202.887.343.289.619.51.881.672-.792.088-2.117.107-3.022-.61zm.99-6.38a.304.304%200%201%201%20.609%200c0%20.17-.136.304-.306.304a.3.3%200%200%201%20-.303-.305zm3.077%201.581c-.197.08-.394.15-.584.159a1.246%201.246%200%200%201%20-.79-.252c-.27-.227-.463-.354-.546-.752a1.752%201.752%200%200%201%20.016-.582c.07-.324-.008-.531-.235-.72-.187-.155-.422-.196-.682-.196a.551.551%200%200%201%20-.252-.078c-.108-.055-.197-.19-.112-.356.027-.053.159-.183.19-.207.352-.201.758-.135%201.134.016.349.142.611.404.99.773.388.448.457.573.678.906.174.264.333.534.441.842.066.192-.02.35-.248.448z'%20fill='%234d6bfe'/%3e%3c/svg%3e",FC="/assets/minimax-BPMzvuL-.jpeg",UC="/assets/alibaba-TTwafVwX.svg",BC="/assets/qwen-mMn3f5ul.webp",qC="/assets/zhipuai-BPNAnxo-.svg",HC={"claude-":"anthropic","gpt-":"openai","o1-":"openai","o3-":"openai","deepseek-":"deepseek",MiniMax:"minimax",qwen:"qwen"};function VC(e){return e.replace(/[_\s]+/g,"-").split(/[/:@]/).some(n=>n.startsWith("glm-"))}function WC(e){if(e===null)return"unknown";const t=e.toLowerCase();if(VC(t))return"zhipuai";for(const[n,r]of Object.entries(HC))if(t.startsWith(n.toLowerCase()))return r;return"unknown"}const Qn={width:24,height:24,objectFit:"contain"},ZC=Gn.memo(({className:e})=>s.jsx("img",{src:LC,alt:"Anthropic",className:e,style:Qn})),KC=Gn.memo(({className:e})=>s.jsx("img",{src:$C,alt:"OpenAI",className:e,style:{...Qn,background:"white",borderRadius:"4px"}})),GC=Gn.memo(({className:e})=>s.jsx("img",{src:DC,alt:"DeepSeek",className:e,style:Qn})),JC=Gn.memo(({className:e})=>s.jsx("img",{src:FC,alt:"MiniMax",className:e,style:Qn})),YC=Gn.memo(({className:e})=>s.jsx("img",{src:UC,alt:"Alibaba",className:e,style:Qn})),XC=Gn.memo(({className:e})=>s.jsx("img",{src:BC,alt:"Qwen",className:e,style:Qn})),QC=Gn.memo(({className:e})=>s.jsx("img",{src:qC,alt:"ZhipuAI",className:e,style:Qn}));function e3({provider:e,className:t}){switch(e){case"anthropic":return s.jsx(ZC,{className:t});case"openai":return s.jsx(KC,{className:t});case"deepseek":return s.jsx(GC,{className:t});case"minimax":return s.jsx(JC,{className:t});case"alibaba":return s.jsx(YC,{className:t});case"qwen":return s.jsx(XC,{className:t});case"zhipuai":return s.jsx(QC,{className:t});case"unknown":return null}}function $s({delayDuration:e=600,...t}){return s.jsx(vC,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function pt({...e}){return s.jsx(yC,{"data-slot":"tooltip",...e})}function ft({...e}){return s.jsx(wC,{"data-slot":"tooltip-trigger",...e})}function mt({className:e,sideOffset:t=0,children:n,...r}){return s.jsx(jC,{children:s.jsxs(kC,{"data-slot":"tooltip-content",sideOffset:t,className:$("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...r,children:[n,s.jsx(SC,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}const t3=3;function n3({items:e,ariaLabel:t,className:n}){if(e.length===0)return s.jsx("span",{className:$("flex h-8 w-12 shrink-0 items-center",n),"aria-hidden":"true"});const r=e.slice(0,t3),o=e.length-r.length;return s.jsx($s,{delayDuration:150,children:s.jsxs("span",{className:$("flex h-8 w-12 shrink-0 items-center",n),"aria-label":t,children:[r.map((i,a)=>s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx("span",{className:$("border border-border bg-muted/40 inline-flex size-6 shrink-0 items-center justify-center rounded-md",a>0&&"-ml-2"),children:s.jsx(e3,{provider:i.provider,className:"size-4"})})}),s.jsx(mt,{children:i.tooltip})]},`${i.provider}-${String(a)}`)),o>0&&s.jsxs("span",{className:"border border-border bg-muted/40 -ml-2 inline-flex h-6 min-w-6 shrink-0 items-center justify-center rounded-md px-1 font-mono text-[10px] text-muted-foreground",children:["+",o]})]})})}const s3="/v1/chat/completions",r3="/chat/completions",o3="/v1/responses",i3="/responses",a3="/v1/messages";class l3{handlers=new Map;pathMap=new Map;register(t){this.handlers.set(t.format,t)}registerPath(t,n){this.pathMap.set(t,n)}get(t){return this.handlers.get(t)}getByPath(t){const n=t.split("?")[0]??"",r=this.pathMap.get(n);return r===void 0?void 0:this.handlers.get(r)}getApiFormatByPath(t){const n=t.split("?")[0]??"";return this.pathMap.get(n)}detectFormat(t){if(t===null)return"unknown";for(const n of this.handlers.values())if(n.detectFormat(t))return n.format;return"unknown"}}const Rn=new l3;function c3(e){return Rn.getApiFormatByPath(e)??"unknown"}Rn.registerPath(a3,"anthropic");Rn.registerPath(s3,"openai");Rn.registerPath(r3,"openai");Rn.registerPath(o3,"openai");Rn.registerPath(i3,"openai");function u3(e){if(e==="")return{};try{const t=JSON.parse(e);return t!==null&&typeof t=="object"&&!Array.isArray(t)?{...t}:{}}catch{return{}}}function d3(e){switch(e.type){case"text":return{type:"text",text:e.text};case"thinking":{const t={type:"thinking",thinking:e.thinking};return e.signature!==""&&(t.signature=e.signature),t}case"think":{const t={type:"think",thinking:e.thinking};return e.signature!==""&&(t.signature=e.signature),t}case"tool_use":return{type:"tool_use",id:e.id,name:e.name,input:u3(e.inputJson)}}}function Vh(e,t,n,r){const o=new Map;let i="",a="",l=null,u=null,d=0,p=0;const f=1e3;let m=0,h=0;const x=[];for(const b of e.split(`
|
|
106
|
+
`)){const w=b.trim();if(w.startsWith("data: "))try{const y=JSON.parse(w.slice(6)),j=G2.safeParse(y);if(!j.success)continue;const k=j.data;switch(m===0&&(h=Date.now()),r===!0&&x.length<f&&x.push({index:m,timestamp:Date.now()-h,type:k.type,data:Op(k)}),m++,k.type){case"message_start":i=k.message.id,a=k.message.model,d=k.message.usage.input_tokens,t.inputTokens=d,t.cacheCreationInputTokens=k.message.usage.cache_creation_input_tokens??null,t.cacheReadInputTokens=k.message.usage.cache_read_input_tokens??null,t.model===null&&(t.model=a);break;case"content_block_start":{const S=k.content_block;switch(S.type){case"text":o.set(k.index,{type:"text",text:S.text??""});break;case"thinking":o.set(k.index,{type:"thinking",thinking:S.thinking??"",signature:S.signature??""});break;case"think":o.set(k.index,{type:"think",thinking:S.thinking??"",signature:S.signature??""});break;case"tool_use":o.set(k.index,{type:"tool_use",id:S.id,name:S.name,inputJson:""});break}break}case"content_block_delta":{const S=o.get(k.index);if(S===void 0)break;const _=k.delta;_.type==="text_delta"&&S.type==="text"?S.text+=_.text:_.type==="thinking_delta"&&(S.type==="thinking"||S.type==="think")?S.thinking+=_.thinking:_.type==="signature_delta"&&(S.type==="thinking"||S.type==="think")?S.signature+=_.signature:_.type==="input_json_delta"&&S.type==="tool_use"&&(S.inputJson+=_.partial_json);break}case"message_delta":l=k.delta.stop_reason,u=k.delta.stop_sequence??null,p=k.usage.output_tokens,t.outputTokens=p,k.usage.cache_creation_input_tokens!==void 0&&(t.cacheCreationInputTokens=k.usage.cache_creation_input_tokens),k.usage.cache_read_input_tokens!==void 0&&(t.cacheReadInputTokens=k.usage.cache_read_input_tokens);break;case"error":t.error=k.error.message;break;case"content_block_stop":case"message_stop":case"ping":break}}catch{}}r===!0&&(t.streamingChunks={chunks:x,truncated:m>f});const v=[...o.entries()].sort(([b],[w])=>b-w).map(([,b])=>d3(b));return JSON.stringify({id:i,type:"message",model:a!==""?a:n??"",role:"assistant",content:v,stop_reason:l,stop_sequence:u,usage:{input_tokens:d,output_tokens:p}})}const p3={format:"anthropic",parseRequest(e,t){try{const n=JSON.parse(e),r=Fp.safeParse(n);return r.success?{model:r.data.model,sessionId:r.data.metadata?.user_id??t?.get("x-agent-inspector-session-id")??t?.get("x-session-affinity")??null}:null}catch{return null}},extractTokens(e){try{const t=JSON.parse(e),n=Up.safeParse(t);if(n.success)return{inputTokens:n.data.usage.input_tokens??null,outputTokens:n.data.usage.output_tokens??null,cacheCreationInputTokens:n.data.usage.cache_creation_input_tokens??null,cacheReadInputTokens:n.data.usage.cache_read_input_tokens??null}}catch{}return{inputTokens:null,outputTokens:null,cacheCreationInputTokens:null,cacheReadInputTokens:null}},extractStream(e,t,n,r){return Vh(e,t,n,r)},detectFormat(e){if(e===null)return!1;try{const t=JSON.parse(e);if(typeof t=="object"&&t!==null&&!Array.isArray(t)){const n=Object.keys(t);return n.includes("model")&&n.includes("messages")&&n.includes("system")}return!1}catch{return!1}}};Rn.register(p3);class f3{providers=[];register(t){this.providers.push(t)}findProvider(t){let n=null;for(const r of this.providers)if(r.matches(t)){if(r.name!=="anthropic")return r;n=r}return n}getAll(){return[...this.providers]}}const ji=new f3,m3="https://api.anthropic.com",h3={MiniMax:"https://api.minimaxi.com/anthropic"},x3={name:"anthropic",matches(e){const t=e.toLowerCase();if(t.startsWith("openai-"))return!1;if(t.includes("claude")||t.includes("anthropic"))return!0;for(const n of Object.keys(h3))if(t.startsWith(n.toLowerCase()))return!0;return!0},getUpstreamBase(e,t){return t?.baseUrl!==void 0?t.baseUrl:m3},extractStream(e,t,n,r){return Vh(e,t,n,r)}};ji.register(x3);const uc=1e3;function Sr(e,t){if(!(e===null||typeof e!="object"||Array.isArray(e)))return Object.getOwnPropertyDescriptor(e,t)?.value}function st(e,t){const n=Sr(e,t);return typeof n=="string"?n:null}function Wh(e,t){const n=Sr(e,t);return typeof n=="number"&&Number.isFinite(n)?n:null}function Io(e,t){const n=Sr(e,t);return n!==null&&typeof n=="object"&&!Array.isArray(n)?n:null}function g3(e,t){const n=Sr(e,t);return Array.isArray(n)?n:[]}function b3(e){const t=[];let n=null,r=[];const o=()=>{n===null&&r.length===0||(t.push({event:n,data:r.join(`
|
|
107
107
|
`)}),n=null,r=[])};for(const i of e.split(`
|
|
108
|
-
`)){const a=i.endsWith("\r")?i.slice(0,-1):i;if(a===""){o();continue}if(a.startsWith(":"))continue;const l=a.indexOf(":"),u=l===-1?a:a.slice(0,l),d=l===-1?"":a.slice(l+1),p=d.startsWith(" ")?d.slice(1):d;switch(u){case"event":n=p;break;case"data":n===null&&r.length>0&&(p.startsWith("{")||p==="[DONE]")&&o(),r.push(p);break}}return o(),t}function dc(e){try{return JSON.parse(e)}catch{return null}}function Zh(e,t){if(e.event!==null&&e.event!=="")return e.event;const n=oy.safeParse(t);return n.success?n.data.type:""}function v3(e){if(e.data==="[DONE]")return!1;const t=dc(e.data),n=Zh(e,t);return n.startsWith("response.")||n==="error"}function Kh(e,t,n,r,o){e.length>=uc||e.push({index:t,timestamp:Date.now()-n,type:r,data:Op(o)})}function Wa(e,t){const n=Io(t,"error"),r=st(n,"message")??st(t,"message")??st(t,"error");r!==null&&r.length>0&&(e.error=r)}function y3(e,t,n,r){let o="",i="",a="",l="",u=null,d=0,p=0,f=!1,m=!1;const h=new Map;let
|
|
109
|
-
`)}function Au(e,t){const n=e.usage,r=n?.input_tokens??null,o=n?.output_tokens??null;r!==null&&(t.inputTokens=r),o!==null&&(t.outputTokens=o);const i=n?.input_tokens_details?.cached_tokens??null;return i!==null&&(t.cacheReadInputTokens=i),{inputTokens:r,outputTokens:o}}function Vi(e,t){const n=st(e,"item_id");if(n!==null&&n.length>0)return n;const r=Wh(e,"output_index");return r!==null?String(r):`function-${String(t)}`}function Za(e,t){const n=e.get(t);if(n!==void 0)return n;const r={type:"function_call",arguments:""};return e.set(t,r),r}function j3(e,t,n){if(st(n,"type")!=="function_call")return;const r=Za(e,t),o=st(n,"id"),i=st(n,"call_id"),a=st(n,"name"),l=st(n,"arguments"),u=st(n,"status");o!==null&&(r.id=o),i!==null&&(r.call_id=i),a!==null&&(r.name=a),l!==null&&(r.arguments=l),u!==null&&(r.status=u)}function k3(e,t){const n=[];e.length>0&&n.push({type:"message",role:"assistant",content:[{type:"output_text",text:e,annotations:[]}]});for(const r of t.values())n.push(r);return n}function S3(e,t,n){const r=t??Math.ceil(n.length/4);return{input_tokens:e,output_tokens:r,total_tokens:e===null?r:e+r}}function _3(e){const t=e.completedResponse===null?"":Gh(e.completedResponse),n=t.length>0?t:e.outputText,r=e.completedResponse?.output,o=r!==void 0&&r.length>0?r:k3(n,e.calls),i=e.completedResponse?.usage??S3(e.inputTokens,e.outputTokens,n);return{...e.completedResponse??{},id:e.completedResponse?.id??e.responseId,object:"response",created_at:e.completedResponse?.created_at??Math.floor(Date.now()/1e3),status:e.completedResponse?.status??e.status??"completed",model:e.completedResponse?.model??e.model,output:o,output_text:n,usage:i}}function N3(e,t,n,r){let o=null,i="",a=n??"",l=null,u="",d=null,p=null,f=0,m=0;const h=[],g=new Map;for(const w of e){if(w.data==="[DONE]")break;const y=dc(w.data);if(y===null)continue;const j=Zh(w,y);if(f===0&&(m=Date.now()),r&&Kh(h,f,m,j===""?"response.event":j,y),f++,Wa(t,y),j==="error")continue;const k=w3(y);if(k!==null){o=k,i=k.id,a=k.model??a,l=k.status??l;const _=Au(k,t);d=_.inputTokens??d,p=_.outputTokens??p,Wa(t,k)}const S=st(y,"delta");switch(j){case"response.output_text.delta":S!==null&&(u+=S);break;case"response.output_text.done":{const _=st(y,"text");u.length===0&&_!==null&&(u=_);break}case"response.function_call_arguments.delta":{if(S!==null){const _=Za(g,Vi(y,g.size));_.arguments+=S}break}case"response.function_call_arguments.done":{const _=st(y,"arguments");if(_!==null){const N=Za(g,Vi(y,g.size));N.arguments=_}break}case"response.output_item.added":case"response.output_item.done":{const _=Io(y,"item");j3(g,Vi(y,g.size),_);break}case"response.failed":case"response.incomplete":l=j.slice(9);break;case"response.completed":l="completed";break}}r&&(t.streamingChunks={chunks:h,truncated:f>uc});const v=_3({completedResponse:o,responseId:i,model:a,status:l,outputText:u,calls:g,inputTokens:d,outputTokens:p}),b=bo.safeParse(v);if(b.success){if(Au(b.data,t).outputTokens===null){const y=Gh(b.data),j=Math.ceil(y.length/4);t.outputTokens=j}return JSON.stringify(b.data)}if(t.outputTokens===null){const w=st(v,"output_text")??u,y=Math.ceil(w.length/4);t.outputTokens=y}return JSON.stringify(v)}function ki(e,t,n,r=!0){const o=b3(e);return o.some(v3)?N3(o,t,n,r):y3(o,t,n,r)}const C3={sessionId:null,threadId:null,turnId:null,installationId:null,windowId:null};function Ka(e,t){if(!(typeof e!="object"||e===null||Array.isArray(e)))return Object.getOwnPropertyDescriptor(e,t)?.value}function $t(e,t){const n=Ka(e,t);return typeof n=="string"&&n.length>0?n:null}function T3(e){if(typeof e!="string"||e.length===0)return null;try{return JSON.parse(e)}catch{return null}}function E3(e){const t=Ka(e,"client_metadata");if(t===void 0)return C3;const n=T3(Ka(t,"x-codex-turn-metadata"));return{sessionId:$t(t,"session_id")??$t(n,"session_id"),threadId:$t(t,"thread_id")??$t(n,"thread_id"),turnId:$t(t,"turn_id")??$t(n,"turn_id"),installationId:$t(t,"x-codex-installation-id")??$t(n,"installation_id"),windowId:$t(t,"x-codex-window-id")??$t(n,"window_id")}}function Ou(e){return E3(e).sessionId}function R3(){return{inputTokens:null,outputTokens:null,cacheCreationInputTokens:null,cacheReadInputTokens:null}}function zu(e){return e===void 0?null:e.get("x-agent-inspector-session-id")??e.get("x-session-affinity")}const M3={format:"openai",parseRequest(e,t){try{const n=JSON.parse(e),r=Hp.safeParse(n);if(r.success)return{model:r.data.model,sessionId:Ou(n)??zu(t)};const o=Vp.safeParse(n);return o.success?{model:o.data.model,sessionId:Ou(n)??zu(t)}:null}catch{return null}},extractTokens(e){const t=Zp(e);if(t){let r=null;try{const o=JSON.parse(e);if(o!==null&&typeof o=="object"&&!Array.isArray(o)){const i=Object.getOwnPropertyDescriptor(o,"usage");if(i!==void 0&&typeof i.value=="object"&&i.value!==null){const a=Object.getOwnPropertyDescriptor(i.value,"prompt_tokens_details");if(a!==void 0&&typeof a.value=="object"&&a.value!==null){const l=Object.getOwnPropertyDescriptor(a.value,"cached_tokens");l!==void 0&&typeof l.value=="number"&&(r=l.value)}}}}catch{}return{inputTokens:t.usage.prompt_tokens??null,outputTokens:t.usage.completion_tokens??null,cacheCreationInputTokens:null,cacheReadInputTokens:r}}const n=Kp(e);if(n!==null){const r=n.usage;return{inputTokens:r?.input_tokens??null,outputTokens:r?.output_tokens??null,cacheCreationInputTokens:null,cacheReadInputTokens:r?.input_tokens_details?.cached_tokens??null}}return R3()},extractStream(e,t,n,r){return ki(e,t,n,r)},detectFormat(e){if(e===null)return!1;try{const t=JSON.parse(e);if(typeof t=="object"&&t!==null&&!Array.isArray(t)){const n=Object.keys(t);return n.includes("model")&&(n.includes("messages")||n.includes("input"))&&!n.includes("system")}return!1}catch{return!1}}};Rn.register(M3);const I3="https://api.openai.com/v1",P3={name:"openai",matches(e){const t=e.toLowerCase();return!!(t.startsWith("openai-")||t.includes("gpt-")||t.includes("o1")||t.includes("o2")||t.includes("o3"))},getUpstreamBase(e,t){return t?.baseUrl!==void 0?t.baseUrl:I3},extractStream(e,t,n,r){return ki(e,t,n,r)}};ji.register(P3);const A3="https://open.bigmodel.cn/api/paas/v4",O3=["glm-","charglm-","cogview-","embedding-","rerank-"],z3={name:"zhipu",matches(e){const t=e.toLowerCase().replace(/\s+/g,"-");return O3.some(n=>t.startsWith(n))},getUpstreamBase(e,t){return t?.baseUrl??A3},extractStream(e,t,n,r){return ki(e,t,n,r)}};ji.register(z3);const L3="https://dashscope.aliyuncs.com/compatible-mode/v1",$3={name:"alibaba",matches(e){return!!e.toLowerCase().replace(/\s+/g,"-").startsWith("qwen")},getUpstreamBase(e,t){return L3},extractStream(e,t,n){return ki(e,t,n)}};ji.register($3);function Jh(e,t){for(const n of Array.from(e))t(n)}const D3=/[\u3000-\u9FFF\uAC00-\uD7FF\uF900-\uFAFF\uFF00-\uFFEF\u{1F300}-\u{1FAFF}]/u;function pc(e){if(e.length===0)return 0;let t=0,n=0;return Jh(e,r=>{D3.test(r)?t+=1:n+=1}),Math.ceil(t*1)+Math.ceil(n/4)}function fc(e){if(e.length===0)return 0;let t=0;return Jh(e,()=>{t+=1}),t}function mc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Q(e,t){return e===null||typeof e!="object"||Array.isArray(e)?void 0:Object.getOwnPropertyDescriptor(e,t)?.value}const F3=["file","shell","browser","web","mcp","code","other"];function Ga(e){const t=e.replace(/\s+/g," ").trim();return t.length<=120?t:`${t.slice(0,119)}...`}function Yh(e){if(e===null)return null;const t=e.replace(/\s+/g," ").trim();if(t.length===0)return null;const n=t.search(/[.!?。!?]/);return n>=24?Ga(t.slice(0,n+1)):Ga(t)}function U3(e,t){return`${e} ${t??""}`.toLowerCase()}function as(e,t){return t.some(n=>e.includes(n))}function Xh(e,t){const n=U3(e,t);return e.startsWith("mcp__")||e.startsWith("inspector_")||as(n,[" mcp","model context protocol"])?"mcp":as(n,["bash","shell","terminal","command","powershell","exec","process"])?"shell":as(n,["browser","playwright","screenshot","click","navigate","page","tab"])?"browser":as(n,["read","write","edit","file","glob","grep","patch","filesystem","directory"])?"file":as(n,["web","search","http","url","fetch"])?"web":as(n,["code","typescript","javascript","python","repl"])?"code":"other"}function Qh(e){const t=Q(e,"properties");return t===null||typeof t!="object"||Array.isArray(t)?[]:Object.keys(t).sort((n,r)=>n.localeCompare(r))}function e0(e){const t=Q(e,"required");if(!Array.isArray(t))return[];const n=[];for(const r of t)typeof r=="string"&&r.length>0&&n.push(r);return n.sort((r,o)=>r.localeCompare(o))}function B3(e){const t=Q(e,"name");if(typeof t!="string"||t.length===0)return null;const n=Q(e,"description"),r=Q(e,"input_schema")??null,o=typeof n=="string"?n:null;return{name:t,description:o,descriptionPreview:Yh(o),category:Xh(t,o),parameterCount:Qh(r).length,requiredParameters:e0(r),schema:r}}function q3(e){const t=Q(e,"function"),n=Q(e,"type");if(t===void 0&&typeof n!="string")return null;const r=Q(t,"name")??Q(e,"name")??(typeof n=="string"?n:void 0);if(typeof r!="string"||r.length===0)return null;const o=Q(t,"description")??Q(e,"description"),i=Q(t,"parameters")??Q(e,"parameters")??null,a=typeof o=="string"?o:null;return{name:r,description:a,descriptionPreview:Yh(a),category:Xh(r,a),parameterCount:Qh(i).length,requiredParameters:e0(i),schema:i}}function H3(e){const t=q3(e);return t!==null?t:B3(e)}function V3(e){if(e==null)return null;if(typeof e=="string")return e;const t=Q(e,"type"),n=Q(e,"name"),r=Q(Q(e,"function"),"name");if(typeof t=="string"&&typeof r=="string"&&r.length>0)return`${t}: ${r}`;if(typeof t=="string"&&typeof n=="string"&&n.length>0)return`${t}: ${n}`;if(typeof t=="string")return t;const o=JSON.stringify(e);return o===void 0?null:Ga(o)}function W3(e){const t=new Map;for(const n of e)t.set(n.category,(t.get(n.category)??0)+1);return F3.flatMap(n=>{const r=t.get(n)??0;return r>0?[{category:n,count:r}]:[]})}function hc(e){const t=Q(e,"tools");if(!Array.isArray(t)||t.length===0)return null;const n=[];for(const r of t){const o=H3(r);o!==null&&n.push(o)}return n.length===0?null:{tools:n,toolChoiceLabel:V3(Q(e,"tool_choice")),categories:W3(n)}}function Vn(e){return{parsed:null,comparisonValue:e,messageCount:null,toolCount:null}}const ys={parsed:null,toolNames:null};function Z3(e){if(typeof e=="string")return e;if(!Array.isArray(e))return"";const t=[];for(const n of e){if(n===null||typeof n!="object")continue;const r=n;switch(r.type){case"text":typeof r.text=="string"&&t.push(r.text);break;case"thinking":case"think":typeof r.thinking=="string"&&t.push(r.thinking);break;case"tool_use":{const i=typeof r.name=="string"?r.name:"",a=r.input!==void 0?JSON.stringify(r.input):"";t.push(`${i} ${a}`.trim());break}case"tool_result":{const i=r.content;if(typeof i=="string")t.push(i);else if(Array.isArray(i)){for(const a of i)if(a!==null&&typeof a=="object"){const l=a.text;typeof l=="string"&&t.push(l)}}break}case"image":t.push("[image]");break}}return t.join(`
|
|
108
|
+
`)){const a=i.endsWith("\r")?i.slice(0,-1):i;if(a===""){o();continue}if(a.startsWith(":"))continue;const l=a.indexOf(":"),u=l===-1?a:a.slice(0,l),d=l===-1?"":a.slice(l+1),p=d.startsWith(" ")?d.slice(1):d;switch(u){case"event":n=p;break;case"data":n===null&&r.length>0&&(p.startsWith("{")||p==="[DONE]")&&o(),r.push(p);break}}return o(),t}function dc(e){try{return JSON.parse(e)}catch{return null}}function Zh(e,t){if(e.event!==null&&e.event!=="")return e.event;const n=oy.safeParse(t);return n.success?n.data.type:""}function v3(e){if(e.data==="[DONE]")return!1;const t=dc(e.data),n=Zh(e,t);return n.startsWith("response.")||n==="error"}function Kh(e,t,n,r,o){e.length>=uc||e.push({index:t,timestamp:Date.now()-n,type:r,data:Op(o)})}function Wa(e,t){const n=Io(t,"error"),r=st(n,"message")??st(t,"message")??st(t,"error");r!==null&&r.length>0&&(e.error=r)}function y3(e,t,n,r){let o="",i="",a="",l="",u=null,d=0,p=0,f=!1,m=!1;const h=new Map;let x=0,v=0;const b=[];for(const y of e){if(y.data==="[DONE]")break;const j=dc(y.data);if(j===null)continue;Wa(t,j);const k=ny.safeParse(j);if(!k.success)continue;const S=k.data;if(x===0&&(v=Date.now()),r&&Kh(b,x,v,"chat.completion.chunk",S),x++,m||(o=S.id,i=S.model,m=!0),!f&&S.usage!==void 0&&S.usage!==null){d=S.usage.prompt_tokens??0,p=S.usage.completion_tokens??0,t.inputTokens=d;const _=Io(j,"usage"),N=Io(_,"prompt_tokens_details"),P=Wh(N,"cached_tokens");P!==null&&(t.cacheReadInputTokens=P),f=!0}for(const _ of S.choices){const N=_.delta;N.content!==void 0&&N.content!==null&&(a+=N.content),N.reasoning_content!==void 0&&N.reasoning_content!==null&&(l+=N.reasoning_content),N.thinking!==void 0&&N.thinking!==null&&(l+=N.thinking);const P=N.think;if(P!=null&&(l+=P),_.finish_reason!==void 0&&_.finish_reason!==null&&(u=_.finish_reason),N.tool_calls!==void 0&&N.tool_calls!==null)for(const A of N.tool_calls){let M=h.get(A.index);M===void 0&&(M={index:A.index,type:"function",function:{name:"",arguments:""}},h.set(A.index,M)),A.id!==void 0&&(M.id=A.id),A.function?.name!==void 0&&(M.function.name+=A.function.name),A.function?.arguments!==void 0&&(M.function.arguments+=A.function.arguments)}}}r&&(t.streamingChunks={chunks:b,truncated:x>uc}),f||(p=Math.ceil(a.length/4)),t.outputTokens=p;const w={role:"assistant",content:a};return l.length>0&&(w.reasoning_content=l),h.size>0&&(w.tool_calls=[...h.values()]),JSON.stringify({id:o,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:i!==""?i:n??"",choices:[{index:0,message:w,finish_reason:u}],usage:{prompt_tokens:d,completion_tokens:p,total_tokens:d+p}})}function w3(e){const t=bo.safeParse(Sr(e,"response"));if(t.success)return t.data;const n=bo.safeParse(e);return n.success?n.data:null}function Gh(e){if(e.output_text!==void 0&&e.output_text.length>0)return e.output_text;const t=[];for(const n of e.output??[]){const r=g3(n,"content");for(const o of r){const i=st(o,"type"),a=st(o,"text");(i==="output_text"||i==="text")&&a!==null&&a.length>0&&t.push(a)}}return t.join(`
|
|
109
|
+
`)}function Au(e,t){const n=e.usage,r=n?.input_tokens??null,o=n?.output_tokens??null;r!==null&&(t.inputTokens=r),o!==null&&(t.outputTokens=o);const i=n?.input_tokens_details?.cached_tokens??null;return i!==null&&(t.cacheReadInputTokens=i),{inputTokens:r,outputTokens:o}}function Vi(e,t){const n=st(e,"item_id");if(n!==null&&n.length>0)return n;const r=Wh(e,"output_index");return r!==null?String(r):`function-${String(t)}`}function Za(e,t){const n=e.get(t);if(n!==void 0)return n;const r={type:"function_call",arguments:""};return e.set(t,r),r}function j3(e,t,n){if(st(n,"type")!=="function_call")return;const r=Za(e,t),o=st(n,"id"),i=st(n,"call_id"),a=st(n,"name"),l=st(n,"arguments"),u=st(n,"status");o!==null&&(r.id=o),i!==null&&(r.call_id=i),a!==null&&(r.name=a),l!==null&&(r.arguments=l),u!==null&&(r.status=u)}function k3(e,t){const n=[];e.length>0&&n.push({type:"message",role:"assistant",content:[{type:"output_text",text:e,annotations:[]}]});for(const r of t.values())n.push(r);return n}function S3(e,t,n){const r=t??Math.ceil(n.length/4);return{input_tokens:e,output_tokens:r,total_tokens:e===null?r:e+r}}function _3(e){const t=e.completedResponse===null?"":Gh(e.completedResponse),n=t.length>0?t:e.outputText,r=e.completedResponse?.output,o=r!==void 0&&r.length>0?r:k3(n,e.calls),i=e.completedResponse?.usage??S3(e.inputTokens,e.outputTokens,n);return{...e.completedResponse??{},id:e.completedResponse?.id??e.responseId,object:"response",created_at:e.completedResponse?.created_at??Math.floor(Date.now()/1e3),status:e.completedResponse?.status??e.status??"completed",model:e.completedResponse?.model??e.model,output:o,output_text:n,usage:i}}function N3(e,t,n,r){let o=null,i="",a=n??"",l=null,u="",d=null,p=null,f=0,m=0;const h=[],x=new Map;for(const w of e){if(w.data==="[DONE]")break;const y=dc(w.data);if(y===null)continue;const j=Zh(w,y);if(f===0&&(m=Date.now()),r&&Kh(h,f,m,j===""?"response.event":j,y),f++,Wa(t,y),j==="error")continue;const k=w3(y);if(k!==null){o=k,i=k.id,a=k.model??a,l=k.status??l;const _=Au(k,t);d=_.inputTokens??d,p=_.outputTokens??p,Wa(t,k)}const S=st(y,"delta");switch(j){case"response.output_text.delta":S!==null&&(u+=S);break;case"response.output_text.done":{const _=st(y,"text");u.length===0&&_!==null&&(u=_);break}case"response.function_call_arguments.delta":{if(S!==null){const _=Za(x,Vi(y,x.size));_.arguments+=S}break}case"response.function_call_arguments.done":{const _=st(y,"arguments");if(_!==null){const N=Za(x,Vi(y,x.size));N.arguments=_}break}case"response.output_item.added":case"response.output_item.done":{const _=Io(y,"item");j3(x,Vi(y,x.size),_);break}case"response.failed":case"response.incomplete":l=j.slice(9);break;case"response.completed":l="completed";break}}r&&(t.streamingChunks={chunks:h,truncated:f>uc});const v=_3({completedResponse:o,responseId:i,model:a,status:l,outputText:u,calls:x,inputTokens:d,outputTokens:p}),b=bo.safeParse(v);if(b.success){if(Au(b.data,t).outputTokens===null){const y=Gh(b.data),j=Math.ceil(y.length/4);t.outputTokens=j}return JSON.stringify(b.data)}if(t.outputTokens===null){const w=st(v,"output_text")??u,y=Math.ceil(w.length/4);t.outputTokens=y}return JSON.stringify(v)}function ki(e,t,n,r=!0){const o=b3(e);return o.some(v3)?N3(o,t,n,r):y3(o,t,n,r)}const C3={sessionId:null,threadId:null,turnId:null,installationId:null,windowId:null};function Ka(e,t){if(!(typeof e!="object"||e===null||Array.isArray(e)))return Object.getOwnPropertyDescriptor(e,t)?.value}function $t(e,t){const n=Ka(e,t);return typeof n=="string"&&n.length>0?n:null}function T3(e){if(typeof e!="string"||e.length===0)return null;try{return JSON.parse(e)}catch{return null}}function E3(e){const t=Ka(e,"client_metadata");if(t===void 0)return C3;const n=T3(Ka(t,"x-codex-turn-metadata"));return{sessionId:$t(t,"session_id")??$t(n,"session_id"),threadId:$t(t,"thread_id")??$t(n,"thread_id"),turnId:$t(t,"turn_id")??$t(n,"turn_id"),installationId:$t(t,"x-codex-installation-id")??$t(n,"installation_id"),windowId:$t(t,"x-codex-window-id")??$t(n,"window_id")}}function Ou(e){return E3(e).sessionId}function R3(){return{inputTokens:null,outputTokens:null,cacheCreationInputTokens:null,cacheReadInputTokens:null}}function zu(e){return e===void 0?null:e.get("x-agent-inspector-session-id")??e.get("x-session-affinity")}const M3={format:"openai",parseRequest(e,t){try{const n=JSON.parse(e),r=Hp.safeParse(n);if(r.success)return{model:r.data.model,sessionId:Ou(n)??zu(t)};const o=Vp.safeParse(n);return o.success?{model:o.data.model,sessionId:Ou(n)??zu(t)}:null}catch{return null}},extractTokens(e){const t=Zp(e);if(t){let r=null;try{const o=JSON.parse(e);if(o!==null&&typeof o=="object"&&!Array.isArray(o)){const i=Object.getOwnPropertyDescriptor(o,"usage");if(i!==void 0&&typeof i.value=="object"&&i.value!==null){const a=Object.getOwnPropertyDescriptor(i.value,"prompt_tokens_details");if(a!==void 0&&typeof a.value=="object"&&a.value!==null){const l=Object.getOwnPropertyDescriptor(a.value,"cached_tokens");l!==void 0&&typeof l.value=="number"&&(r=l.value)}}}}catch{}return{inputTokens:t.usage.prompt_tokens??null,outputTokens:t.usage.completion_tokens??null,cacheCreationInputTokens:null,cacheReadInputTokens:r}}const n=Kp(e);if(n!==null){const r=n.usage;return{inputTokens:r?.input_tokens??null,outputTokens:r?.output_tokens??null,cacheCreationInputTokens:null,cacheReadInputTokens:r?.input_tokens_details?.cached_tokens??null}}return R3()},extractStream(e,t,n,r){return ki(e,t,n,r)},detectFormat(e){if(e===null)return!1;try{const t=JSON.parse(e);if(typeof t=="object"&&t!==null&&!Array.isArray(t)){const n=Object.keys(t);return n.includes("model")&&(n.includes("messages")||n.includes("input"))&&!n.includes("system")}return!1}catch{return!1}}};Rn.register(M3);const I3="https://api.openai.com/v1",P3={name:"openai",matches(e){const t=e.toLowerCase();return!!(t.startsWith("openai-")||t.includes("gpt-")||t.includes("o1")||t.includes("o2")||t.includes("o3"))},getUpstreamBase(e,t){return t?.baseUrl!==void 0?t.baseUrl:I3},extractStream(e,t,n,r){return ki(e,t,n,r)}};ji.register(P3);const A3="https://open.bigmodel.cn/api/paas/v4",O3=["glm-","charglm-","cogview-","embedding-","rerank-"],z3={name:"zhipu",matches(e){const t=e.toLowerCase().replace(/\s+/g,"-");return O3.some(n=>t.startsWith(n))},getUpstreamBase(e,t){return t?.baseUrl??A3},extractStream(e,t,n,r){return ki(e,t,n,r)}};ji.register(z3);const L3="https://dashscope.aliyuncs.com/compatible-mode/v1",$3={name:"alibaba",matches(e){return!!e.toLowerCase().replace(/\s+/g,"-").startsWith("qwen")},getUpstreamBase(e,t){return L3},extractStream(e,t,n){return ki(e,t,n)}};ji.register($3);function Jh(e,t){for(const n of Array.from(e))t(n)}const D3=/[\u3000-\u9FFF\uAC00-\uD7FF\uF900-\uFAFF\uFF00-\uFFEF\u{1F300}-\u{1FAFF}]/u;function pc(e){if(e.length===0)return 0;let t=0,n=0;return Jh(e,r=>{D3.test(r)?t+=1:n+=1}),Math.ceil(t*1)+Math.ceil(n/4)}function fc(e){if(e.length===0)return 0;let t=0;return Jh(e,()=>{t+=1}),t}function mc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Q(e,t){return e===null||typeof e!="object"||Array.isArray(e)?void 0:Object.getOwnPropertyDescriptor(e,t)?.value}const F3=["file","shell","browser","web","mcp","code","other"];function Ga(e){const t=e.replace(/\s+/g," ").trim();return t.length<=120?t:`${t.slice(0,119)}...`}function Yh(e){if(e===null)return null;const t=e.replace(/\s+/g," ").trim();if(t.length===0)return null;const n=t.search(/[.!?。!?]/);return n>=24?Ga(t.slice(0,n+1)):Ga(t)}function U3(e,t){return`${e} ${t??""}`.toLowerCase()}function as(e,t){return t.some(n=>e.includes(n))}function Xh(e,t){const n=U3(e,t);return e.startsWith("mcp__")||e.startsWith("inspector_")||as(n,[" mcp","model context protocol"])?"mcp":as(n,["bash","shell","terminal","command","powershell","exec","process"])?"shell":as(n,["browser","playwright","screenshot","click","navigate","page","tab"])?"browser":as(n,["read","write","edit","file","glob","grep","patch","filesystem","directory"])?"file":as(n,["web","search","http","url","fetch"])?"web":as(n,["code","typescript","javascript","python","repl"])?"code":"other"}function Qh(e){const t=Q(e,"properties");return t===null||typeof t!="object"||Array.isArray(t)?[]:Object.keys(t).sort((n,r)=>n.localeCompare(r))}function e0(e){const t=Q(e,"required");if(!Array.isArray(t))return[];const n=[];for(const r of t)typeof r=="string"&&r.length>0&&n.push(r);return n.sort((r,o)=>r.localeCompare(o))}function B3(e){const t=Q(e,"name");if(typeof t!="string"||t.length===0)return null;const n=Q(e,"description"),r=Q(e,"input_schema")??null,o=typeof n=="string"?n:null;return{name:t,description:o,descriptionPreview:Yh(o),category:Xh(t,o),parameterCount:Qh(r).length,requiredParameters:e0(r),schema:r}}function q3(e){const t=Q(e,"function"),n=Q(e,"type");if(t===void 0&&typeof n!="string")return null;const r=Q(t,"name")??Q(e,"name")??(typeof n=="string"?n:void 0);if(typeof r!="string"||r.length===0)return null;const o=Q(t,"description")??Q(e,"description"),i=Q(t,"parameters")??Q(e,"parameters")??null,a=typeof o=="string"?o:null;return{name:r,description:a,descriptionPreview:Yh(a),category:Xh(r,a),parameterCount:Qh(i).length,requiredParameters:e0(i),schema:i}}function H3(e){const t=q3(e);return t!==null?t:B3(e)}function V3(e){if(e==null)return null;if(typeof e=="string")return e;const t=Q(e,"type"),n=Q(e,"name"),r=Q(Q(e,"function"),"name");if(typeof t=="string"&&typeof r=="string"&&r.length>0)return`${t}: ${r}`;if(typeof t=="string"&&typeof n=="string"&&n.length>0)return`${t}: ${n}`;if(typeof t=="string")return t;const o=JSON.stringify(e);return o===void 0?null:Ga(o)}function W3(e){const t=new Map;for(const n of e)t.set(n.category,(t.get(n.category)??0)+1);return F3.flatMap(n=>{const r=t.get(n)??0;return r>0?[{category:n,count:r}]:[]})}function hc(e){const t=Q(e,"tools");if(!Array.isArray(t)||t.length===0)return null;const n=[];for(const r of t){const o=H3(r);o!==null&&n.push(o)}return n.length===0?null:{tools:n,toolChoiceLabel:V3(Q(e,"tool_choice")),categories:W3(n)}}function Vn(e){return{parsed:null,comparisonValue:e,messageCount:null,toolCount:null}}const ys={parsed:null,toolNames:null};function Z3(e){if(typeof e=="string")return e;if(!Array.isArray(e))return"";const t=[];for(const n of e){if(n===null||typeof n!="object")continue;const r=n;switch(r.type){case"text":typeof r.text=="string"&&t.push(r.text);break;case"thinking":case"think":typeof r.thinking=="string"&&t.push(r.thinking);break;case"tool_use":{const i=typeof r.name=="string"?r.name:"",a=r.input!==void 0?JSON.stringify(r.input):"";t.push(`${i} ${a}`.trim());break}case"tool_result":{const i=r.content;if(typeof i=="string")t.push(i);else if(Array.isArray(i)){for(const a of i)if(a!==null&&typeof a=="object"){const l=a.text;typeof l=="string"&&t.push(l)}}break}case"image":t.push("[image]");break}}return t.join(`
|
|
110
110
|
`)}function K3(e){if(typeof e=="string")return e;if(!Array.isArray(e))return"";const t=[];for(const n of e)if(n!==null&&typeof n=="object"){const r=n.text;n.type==="text"&&typeof r=="string"&&t.push(r)}return t.join(`
|
|
111
111
|
`)}function G3(e){if(!Array.isArray(e))return"";const t=[];for(const n of e){if(n===null||typeof n!="object")continue;const r=n;typeof r.name=="string"&&t.push(r.name),typeof r.description=="string"&&t.push(r.description),r.input_schema!==void 0&&t.push(JSON.stringify(r.input_schema))}return t.join(`
|
|
112
112
|
`)}function Wi(e,t,n,r){return{role:e,label:t,text:n,size:pc(n),characters:fc(n),path:r}}const J3={format:"anthropic",analyzeRequest(e){if(e===null)return Vn(e);try{const t=JSON.parse(e),n=hc(t)?.tools.length??null,r=Fp.safeParse(t);return r.success?{parsed:r.data,comparisonValue:r.data,messageCount:r.data.messages.length,toolCount:n}:Vn(e)}catch{return Vn(e)}},analyzeResponse(e){if(e===null)return ys;try{let t=JSON.parse(e);typeof t=="string"&&(t=JSON.parse(t));const n=Up.safeParse(t);if(!n.success)return ys;const r=n.data.content.filter(o=>o.type==="tool_use").map(o=>o.name);return{parsed:n.data,toolNames:r.length>0?r:null}}catch{return ys}},anatomySegments(e){if(e===null||typeof e!="object")return null;const t=e,n=[];if(t.system!==void 0){const r=K3(t.system);r.length>0&&n.push(Wi("system","system",r,"/system"))}if(Array.isArray(t.messages)&&t.messages.forEach((r,o)=>{if(r===null||typeof r!="object")return;const i=r,a=i.role==="user"||i.role==="assistant"?i.role:"user",l=Z3(i.content);n.push(Wi(a,`[${o}] ${a}`,l,`/messages/${o}`))}),Array.isArray(t.tools)&&t.tools.length>0){const r=G3(t.tools);n.push(Wi("tools","tools",r,"/tools"))}return n.length>0?n:null}};function Ja(e){if(typeof e=="string")return e;if(!Array.isArray(e))return"";const t=[];for(const n of e){if(n===null||typeof n!="object")continue;const r=n,o=r.type;(o==="text"||o==="input_text"||o==="output_text")&&typeof r.text=="string"?t.push(r.text):(o==="image_url"||o==="input_image")&&t.push("[image]")}return t.join(`
|
|
113
113
|
`)}function Y3(e){const t=[],n=Ja(e.content);n.length>0&&t.push(n);const r=typeof e.reasoning_content=="string"?e.reasoning_content:typeof e.thinking=="string"?e.thinking:typeof e.think=="string"?e.think:"";r.length>0&&t.push(r);const o=e.tool_calls;if(Array.isArray(o))for(const i of o){if(i===null||typeof i!="object")continue;const a=i.function;if(a===void 0)continue;const l=typeof a.name=="string"?a.name:"",u=typeof a.arguments=="string"?a.arguments:"";t.push(`${l} ${u}`.trim())}return t.join(`
|
|
114
114
|
`)}function X3(e){if(!Array.isArray(e))return"";const t=[];for(const n of e){if(n===null||typeof n!="object")continue;const r=Q(n,"function"),o=Q(r,"name")??Q(n,"name"),i=Q(r,"description")??Q(n,"description"),a=Q(r,"parameters")??Q(n,"parameters");typeof o=="string"&&t.push(o),typeof i=="string"&&t.push(i),a!==void 0&&t.push(JSON.stringify(a))}return t.join(`
|
|
115
|
-
`)}function Q3(e){return typeof e=="string"?e.length>0?1:0:Array.isArray(e)?e.length:e==null?null:1}function eT(e){if(typeof e=="string")return e;const t=Q(e,"text");if(typeof t=="string")return t;const n=Ja(Q(e,"content"));if(n.length>0)return n;const r=Ja(Q(e,"output"));if(r.length>0)return r;const o=Q(e,"arguments");return typeof o=="string"?o:""}function tT(e){const t=Q(e,"role");if(t==="system"||t==="user"||t==="assistant"||t==="tool")return t;const n=Q(e,"type");return n==="function_call_output"?"tool":"user"}function nT(e){const t=Q(e,"output");if(!Array.isArray(t))return[];const n=[];for(const r of t){if(Q(r,"type")!=="function_call")continue;const o=Q(r,"name");typeof o=="string"&&o.length>0&&n.push(o)}return n}function Us(e,t,n,r){return{role:e,label:t,text:n,size:pc(n),characters:fc(n),path:r}}const sT={format:"openai",analyzeRequest(e){if(e===null)return Vn(e);try{const t=JSON.parse(e),n=hc(t)?.tools.length??null,r=Hp.safeParse(t);if(!r.success){const o=Vp.safeParse(t);return o.success?{parsed:o.data,comparisonValue:o.data,messageCount:Q3(o.data.input),toolCount:n}:Vn(e)}return{parsed:r.data,comparisonValue:r.data,messageCount:r.data.messages.length,toolCount:n}}catch{return Vn(e)}},analyzeResponse(e){if(e===null)return ys;const t=Zp(e);if(t===null){const r=Kp(e);if(r===null)return ys;const o=nT(r);return{parsed:r,toolNames:o.length>0?o:null}}const n=t.choices[0]?.message?.tool_calls?.map(r=>r.function?.name??"").filter(r=>r!=="")??[];return{parsed:t,toolNames:n.length>0?n:null}},anatomySegments(e){if(e===null||typeof e!="object")return null;const t=e,n=[];if(typeof t.instructions=="string"&&t.instructions.length>0&&n.push(Us("system","instructions",t.instructions,"/instructions")),Array.isArray(t.messages)&&t.messages.forEach((r,o)=>{if(r===null||typeof r!="object")return;const i=r,a=i.role==="user"||i.role==="assistant"||i.role==="system"||i.role==="tool"?i.role:"user",l=Y3(i);n.push(Us(a,`[${o}] ${a}`,l,`/messages/${o}`))}),Array.isArray(t.messages)||(typeof t.input=="string"&&t.input.length>0?n.push(Us("user","input",t.input,"/input")):Array.isArray(t.input)&&t.input.forEach((r,o)=>{const i=tT(r),a=eT(r);n.push(Us(i,`[${o}] ${i}`,a,`/input/${o}`))})),Array.isArray(t.tools)&&t.tools.length>0){const r=X3(t.tools);n.push(Us("tools","tools",r,"/tools"))}return n.length>0?n:null}},rT={format:"unknown",analyzeRequest(e){return Vn(e)},analyzeResponse(){return ys},anatomySegments(){return null}},oT={anthropic:J3,openai:sT,unknown:rT};function t0(e){return oT[e]}function ir(e){const t=c3(e.path);return t==="unknown"?e.apiFormat:t}const Lu="inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)] hover:text-foreground";function n0(e){return e.startsWith("PID:")||e.startsWith("process:")||e.startsWith("connection:")||e.includes("|")}function iT(e){return n0(e)?"No session ID":e.length>24?`${e.slice(0,12)}...${e.slice(-12)}`:e}function Zi({icon:e,children:t,title:n,className:r}){return s.jsxs("span",{className:$("inline-flex h-7 min-w-0 items-center gap-1.5 rounded-md bg-[var(--inspector-surface-low)] px-2 text-xs text-muted-foreground",r),title:n,children:[e,s.jsx("span",{className:"min-w-0 font-mono tabular-nums",children:t})]})}function aT(){return s.jsxs("span",{className:"inline-flex h-6 shrink-0 items-center gap-1.5 rounded-md bg-[var(--inspector-surface-medium)] px-1.5 font-mono text-[10px] uppercase text-[var(--inspector-status-watch)] ring-1 ring-border/50",title:"This session has a turn that has not finished yet",children:[s.jsx(He,{className:"size-3 animate-spin"}),"Turn open"]})}function lT({conversationId:e,startTime:t,endTime:n,totalCalls:r,totalInputTokens:o,totalOutputTokens:i,expanded:a,onToggle:l,providers:u,isLoading:d=!1,userAgent:p,clientPid:f,clientProjectFolder:m,showClientIdentity:h=!0,showProcessMetadata:g=!0,timeDisplayFormat:v,onClear:b}){const[w,y]=c.useState(!1),j=Y=>{Y.stopPropagation(),b!==void 0&&y(!0)},k=c.useCallback(Y=>{Y.stopPropagation(),window.open(ep(e),"_blank","noopener,noreferrer")},[e]),S=u?.map(({provider:Y,models:Z})=>({provider:Y,tooltip:Z.length===1?Z[0]??Y:Z.join(", ")}))??[],_=cc({userAgent:p,conversationId:e,clientProjectFolder:m}),N=yi(_),P=p!=null&&p!=="",A=N??p??null,M=N!==null&&P?`${N} - ${p}`:null,C=n0(e),I=iT(e),F=Qo(t,n,v),U=`${r} call${r!==1?"s":""}`;return s.jsxs("div",{role:"button",tabIndex:0,"data-nav-id":`conv-${e}`,"data-nav-action":a?"collapse":"expand",className:$("relative flex cursor-pointer items-start gap-2.5 overflow-hidden rounded-md bg-[var(--inspector-surface-low)] px-3 py-2.5 transition-colors","hover:bg-[var(--inspector-surface-medium)]","select-none","sticky top-0 z-10 mb-2","focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none"),onClick:l,onKeyDown:Y=>{Y.target===Y.currentTarget&&(Y.key==="Enter"||Y.key===" ")&&(Y.preventDefault(),l())},children:[s.jsx(n3,{items:S,ariaLabel:"Models used in this session",className:"mt-0.5"}),s.jsxs("span",{className:"min-w-0 flex-1",children:[s.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"shrink-0 rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground",children:"Session"}),C&&g?f!=null?s.jsxs("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:`PID ${f}`,children:["PID ",f]}):s.jsx("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:e,children:e}):s.jsx("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:e,children:I}),!C&&g&&f!==null&&f!==void 0&&s.jsxs("span",{className:"shrink-0 rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-xs tabular-nums text-muted-foreground",title:`Client process ID ${f}`,children:["PID ",f]}),C&&g&&m!==null&&m!==void 0&&m!==""&&s.jsx("span",{className:"min-w-0 max-w-[240px] truncate font-mono text-xs text-muted-foreground",title:m,children:m}),h&&A!==null&&A!==""&&s.jsxs("span",{className:"inline-flex min-h-6 shrink-0 flex-wrap items-center gap-1 rounded-md bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 text-xs text-muted-foreground",title:M??A,children:[s.jsx(wi,{client:_,className:"size-4 shrink-0",decorative:!0}),s.jsx("span",{className:"font-mono leading-snug tabular-nums",children:A})]}),d&&s.jsx(aT,{})]}),s.jsxs("span",{className:"mt-1.5 flex min-w-0 flex-wrap items-center gap-1.5",children:[s.jsx(Zi,{icon:s.jsx(sn,{className:"size-3 shrink-0"}),title:F,children:F}),s.jsx(Zi,{icon:s.jsx(Xo,{className:"size-3 shrink-0"}),children:U}),s.jsxs(Zi,{icon:s.jsx(sr,{className:"size-3 shrink-0"}),className:"max-w-full",children:[s.jsx("span",{className:"text-[var(--inspector-status-info)]",children:Me(o)})," / ",s.jsx("span",{className:"text-[var(--inspector-status-watch)]",children:Me(i)})]})]})]}),s.jsxs("span",{className:"flex shrink-0 items-start gap-1.5",children:[s.jsx("button",{type:"button",onClick:k,onKeyDown:Y=>{(Y.key==="Enter"||Y.key===" ")&&k(Y)},"aria-label":`Open session ${e} in a new tab`,title:"Open this session in a new tab",className:Lu,children:s.jsx(Ol,{className:"size-3.5"})}),b!==void 0&&s.jsx("button",{type:"button",onClick:j,"aria-label":`Clear group (${r} request${r!==1?"s":""})`,title:"Clear this group from the current view",className:Lu,children:s.jsx(wn,{className:"size-3.5"})}),s.jsx("span",{className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)] hover:text-foreground","aria-hidden":"true",children:a?s.jsx(tt,{className:"size-4 shrink-0"}):d?s.jsx(He,{className:"size-4 shrink-0 animate-spin"}):s.jsx(vt,{className:"size-4 shrink-0"})})]}),d&&s.jsx("span",{className:"pointer-events-none absolute inset-x-3 bottom-0 h-px overflow-hidden rounded-full bg-[var(--inspector-surface-medium)]","aria-hidden":"true",children:s.jsx("span",{className:"absolute inset-y-0 left-0 w-1/3 animate-pulse rounded-full bg-[var(--inspector-status-watch)] opacity-70"})}),s.jsx(Hh,{open:w,onOpenChange:y,title:"Clear this group from the current view?",description:`This will hide ${r} request${r!==1?"s":""} from the current view. Stored logs remain reloadable.`,confirmLabel:"Clear",variant:"destructive",onConfirm:()=>{b?.()}})]})}function cT(e){if(e.sessionId!==null&&e.sessionId!==""&&e.sessionId!==void 0)return e.sessionId;if(e.isTest===!0)return"provider-test";const t=e.clientPid!==null&&e.clientPid!==void 0,n=e.clientProjectFolder!==null&&e.clientProjectFolder!==void 0;if(!t&&!n)return"default";const r=t?`PID:${e.clientPid}`:"unknown",o=n?e.clientProjectFolder:"no-folder";return`${r}|${o}`}function uT(e){const t=new Map;for(const r of e){const o=cT(r),i=t.get(o);i!==void 0?i.push(r):t.set(o,[r])}const n=[];for(const[r,o]of t){const i=[...o].sort((a,l)=>a.timestamp.localeCompare(l.timestamp));n.push({id:r,conversationId:r,logs:i})}return n.sort((r,o)=>(r.logs[0]?.timestamp??"").localeCompare(o.logs[0]?.timestamp??"")),n}function dT(e,t,n){const r=new Array(e);return new Proxy(r,{get(o,i,a){if(typeof i=="string"){const l=i.charCodeAt(0);if(l>=48&&l<=57){const u=+i;if(Number.isInteger(u)&&u>=0&&u<e){let d=o[u];if(!d){const p=t[u*2];d=o[u]={index:u,key:n(u),start:p,size:t[u*2+1],end:p+t[u*2+1],lane:0}}return d}}if(i==="length")return e}return Reflect.get(o,i,a)}})}function ls(e,t,n){let r=n.initialDeps??[],o,i=!0;function a(){const l=e();return(l.length!==r.length||l.some((d,p)=>r[p]!==d))&&(r=l,o=t(...l),n?.onChange&&!(i&&n.skipInitialOnChange)&&n.onChange(o),i=!1),o}return a.updateDeps=l=>{r=l},a}function $u(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const pT=(e,t)=>Math.abs(e-t)<1.01,fT=(e,t,n)=>{let r;return function(...o){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,o),n)}};let Bs;const Ki=()=>{if(Bs!==void 0)return Bs;if(typeof navigator>"u")return Bs=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Bs=!0;const e=navigator.maxTouchPoints;return Bs=navigator.platform==="MacIntel"&&e!==void 0&&e>0},Du=e=>{const{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},mT=e=>e,hT=e=>{const t=Math.max(e.startIndex-e.overscan,0),r=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,o=new Array(r);for(let i=0;i<r;i++)o[i]=t+i;return o},gT=(e,t)=>{const n=e.scrollElement;if(!n)return;const r=e.targetWindow;if(!r)return;const o=a=>{const{width:l,height:u}=a;t({width:Math.round(l),height:Math.round(u)})};if(o(Du(n)),!r.ResizeObserver)return()=>{};const i=new r.ResizeObserver(a=>{const l=()=>{const u=a[0];if(u?.borderBoxSize){const d=u.borderBoxSize[0];if(d){o({width:d.inlineSize,height:d.blockSize});return}}o(Du(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()});return i.observe(n,{box:"border-box"}),()=>{i.unobserve(n)}},ar={passive:!0},xT=(e,t)=>{const n=e.scrollElement;if(!n)return;const r=()=>{t({width:n.innerWidth,height:n.innerHeight})};return r(),n.addEventListener("resize",r,ar),()=>{n.removeEventListener("resize",r)}},bT=typeof window>"u"?!0:"onscrollend"in window,s0=(e,t,n)=>{const r=e.scrollElement;if(!r)return;const o=e.targetWindow;if(!o)return;const i=e.options.useScrollendEvent&&bT;let a=0;const l=i?null:fT(o,()=>t(a,!1),e.options.isScrollingResetDelay),u=f=>()=>{a=n(r),l?.(),t(a,f)},d=u(!0),p=u(!1);return r.addEventListener("scroll",d,ar),i&&r.addEventListener("scrollend",p,ar),()=>{r.removeEventListener("scroll",d),i&&r.removeEventListener("scrollend",p)}},vT=(e,t)=>s0(e,t,n=>{const{horizontal:r,isRtl:o}=e.options;return r?n.scrollLeft*(o&&-1||1):n.scrollTop}),yT=(e,t)=>s0(e,t,n=>e.options.horizontal?n.scrollX:n.scrollY),wT=(e,t,n)=>{if(n.options.useCachedMeasurements){const r=n.indexFromElement(e),o=n.options.getItemKey(r);return n.itemSizeCache.get(o)??n.options.estimateSize(r)}if(t?.borderBoxSize){const r=t.borderBoxSize[0];if(r)return Math.round(r[n.options.horizontal?"inlineSize":"blockSize"])}if(!t){const r=n.indexFromElement(e),o=n.options.getItemKey(r),i=n.itemSizeCache.get(o);if(i!==void 0)return i}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},r0=(e,{adjustments:t=0,behavior:n},r)=>{var o,i;(i=(o=r.scrollElement)==null?void 0:o.scrollTo)==null||i.call(o,{[r.options.horizontal?"left":"top"]:e+t,behavior:n})},jT=r0,kT=r0;class ST{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var n,r,o;return((o=(r=(n=this.targetWindow)==null?void 0:n.performance)==null?void 0:r.now)==null?void 0:o.call(r))??Date.now()},this.observer=(()=>{let n=null;const r=()=>n||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:n=new this.targetWindow.ResizeObserver(o=>{o.forEach(i=>{const a=()=>{const l=i.target,u=this.indexFromElement(l);if(!l.isConnected){this.observer.unobserve(l);for(const[d,p]of this.elementsCache)if(p===l){this.elementsCache.delete(d);break}return}this.shouldMeasureDuringScroll(u)&&this.resizeItem(u,this.options.measureElement(l,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})}));return{disconnect:()=>{var o;(o=r())==null||o.disconnect(),n=null},observe:o=>{var i;return(i=r())==null?void 0:i.observe(o,{box:"border-box"})},unobserve:o=>{var i;return(i=r())==null?void 0:i.unobserve(o)}}})(),this.range=null,this.setOptions=n=>{var r,o;const i={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:mT,rangeExtractor:hT,onChange:()=>{},measureElement:wT,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const m in n){const h=n[m];h!==void 0&&(i[m]=h)}const a=this.options;let l=null,u=null,d=!1;if(a!==void 0&&a.enabled&&i.enabled&&i.anchorTo==="end"&&this.scrollElement!==null){const m=a.count,h=i.count,g=this.getMeasurements(),v=m>0?((r=g[0])==null?void 0:r.key)??a.getItemKey(0):null,b=m>0?((o=g[m-1])==null?void 0:o.key)??a.getItemKey(m-1):null;if(h!==m||m>0&&h>0&&(i.getItemKey(0)!==v||i.getItemKey(h-1)!==b)){d=!0;const j=m>0?this.getVirtualItemForOffset(this.getScrollOffset())??g[0]:null;j&&(l=[j.key,this.getScrollOffset()-j.start]);const k=i.followOnAppend===!0?"auto":i.followOnAppend||null;k&&h>m&&this.isAtEnd(a.scrollEndThreshold)&&(m===0||i.getItemKey(h-1)!==b)&&(u=k)}}this.options=i,d&&(this.pendingMin=0,this.itemSizeCacheVersion++);let p=!1,f=0;if(l&&this.scrollOffset!==null){const[m,h]=l,g=this.getMeasurements(),{count:v,getItemKey:b}=this.options;let w=0;for(;w<v&&b(w)!==m;)w++;if(w<v){const y=g[w];if(y){const j=y.start+h;j!==this.scrollOffset&&(f=j-this.scrollOffset,this.scrollOffset=j,p=!0)}}}(p||u)&&(this.pendingScrollAnchor=[p?l[0]:null,p?l[1]:0,u,f])},this.notify=n=>{var r,o;(o=(r=this.options).onChange)==null||o.call(r,this,n)},this.maybeNotify=ls(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),n=>{this.notify(n)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(n=>n()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var n;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}if(this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((n=this.scrollElement)==null?void 0:n.window)??null,this.elementsCache.forEach(i=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,i=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,a)=>{if(a&&this._intendedScrollOffset===null&&i===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(i-this._intendedScrollOffset)<1.5&&(i=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const l=this.getScrollOffset();this.scrollDirection=a?l===i?this.scrollDirection:l<i?"forward":"backward":null,this.scrollOffset=i,this.isScrolling=a,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const i=this.scrollElement,a=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},l=()=>{this._iosTouching=!1,!(!Ki()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};i.addEventListener("touchstart",a,ar),i.addEventListener("touchend",l,ar),this.unsubs.push(()=>{i.removeEventListener("touchstart",a),i.removeEventListener("touchend",l),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const o=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,o&&this.scrollElement&&this.options.enabled){const[i,a,l,u]=o;i!==null&&!l&&(Ki()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?u!==0&&(this._iosDeferredAdjustment+=u):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),l&&this.scrollToEnd({behavior:l})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const n=this.getScrollOffset(),r=this.getMaxScrollOffset();if(n<0||n>r)return;const o=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(n,{adjustments:this.scrollAdjustments+=o,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(n,r)=>{const o=new Map,i=new Map;for(let a=r-1;a>=0;a--){const l=n[a];if(o.has(l.lane))continue;const u=i.get(l.lane);if(u==null||l.end>u.end?i.set(l.lane,l):l.end<u.end&&o.set(l.lane,!0),o.size===this.options.lanes)break}return i.size===this.options.lanes?Array.from(i.values()).sort((a,l)=>a.end===l.end?a.index-l.index:a.end-l.end)[0]:void 0},this.getMeasurementOptions=ls(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(n,r,o,i,a,l,u)=>(this.prevLanes!==void 0&&this.prevLanes!==l&&(this.lanesChangedFlag=!0),this.prevLanes=l,this.pendingMin=null,{count:n,paddingStart:r,scrollMargin:o,getItemKey:i,enabled:a,lanes:l,laneAssignmentMode:u}),{key:!1}),this.getMeasurements=ls(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:n,paddingStart:r,scrollMargin:o,getItemKey:i,enabled:a,lanes:l,laneAssignmentMode:u},d)=>{const p=this.itemSizeCache;if(!a)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>n)for(const g of this.laneAssignments.keys())g>=n&&this.laneAssignments.delete(g);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(g=>{this.itemSizeCache.set(g.key,g.size)}));const f=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===n&&(this.lanesSettling=!1),l===1){const g=this.options.gap,v=n*2;let b=this._flatMeasurements;if(!b||b.length<v){const j=new Float64Array(v);b&&f>0&&j.set(b.subarray(0,f*2)),b=j,this._flatMeasurements=b}let w;if(f===0)w=r+o;else{const j=f-1;w=b[j*2]+b[j*2+1]+g}for(let j=f;j<n;j++){const k=i(j),S=p.get(k),_=typeof S=="number"?S:this.options.estimateSize(j);b[j*2]=w,b[j*2+1]=_,w+=_+g}const y=dT(n,b,i);return this.measurementsCache=y,y}const m=this.measurementsCache.slice(0,f),h=new Array(l).fill(void 0);for(let g=0;g<f;g++){const v=m[g];v&&(h[v.lane]=g)}for(let g=f;g<n;g++){const v=i(g),b=this.laneAssignments.get(g);let w,y;const j=u==="estimate"||p.has(v);if(b!==void 0&&this.options.lanes>1){w=b;const N=h[w],P=N!==void 0?m[N]:void 0;y=P?P.end+this.options.gap:r+o}else{const N=this.options.lanes===1?m[g-1]:this.getFurthestMeasurement(m,g);y=N?N.end+this.options.gap:r+o,w=N?N.lane:g%this.options.lanes,this.options.lanes>1&&j&&this.laneAssignments.set(g,w)}const k=p.get(v),S=typeof k=="number"?k:this.options.estimateSize(g),_=y+S;m[g]={index:g,start:y,size:S,end:_,key:v,lane:w},h[w]=g}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=ls(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,r,o,i)=>n.length===0||r===0?(this.range=null,null):(this.range=NT(n,r,o,i,i===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=ls(()=>{let n=null,r=null;const o=this.calculateRange();return o&&(n=o.startIndex,r=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,r]},(n,r,o,i,a)=>i===null||a===null?[]:n({startIndex:i,endIndex:a,overscan:r,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=n=>{const r=this.options.indexAttribute,o=n.getAttribute(r);return o?parseInt(o,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=n=>{var r;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const o=this.scrollState.index??((r=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:r.index);if(o!==void 0&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),a=Math.max(0,o-i),l=Math.min(this.options.count-1,o+i);return n>=a&&n<=l}return!0},this.measureElement=n=>{if(!n){this.elementsCache.forEach((a,l)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(l))});return}const r=this.indexFromElement(n),o=this.options.getItemKey(r),i=this.elementsCache.get(o);i!==n&&(i&&this.observer.unobserve(i),this.observer.observe(n),this.elementsCache.set(o,n)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(n,void 0,this))},this.resizeItem=(n,r)=>{var o,i;if(n<0||n>=this.options.count)return;let a,l,u;const d=this._flatMeasurements;if(this.options.lanes===1&&d!==null)u=this.options.getItemKey(n),l=d[n*2],a=d[n*2+1];else{const m=this.measurementsCache[n];if(!m)return;u=m.key,l=m.start,a=m.size}const p=this.itemSizeCache.get(u)??a,f=r-p;if(f!==0){const m=this.options.anchorTo==="end"&&((o=this.scrollState)==null?void 0:o.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,h=m?this.getTotalSize():0,g=((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[n]??{index:n,key:u,start:l,size:a,end:l+a,lane:0},f,this):l<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(u)||this.scrollDirection!=="backward"));(this.pendingMin===null||n<this.pendingMin)&&(this.pendingMin=n),this.itemSizeCache.set(u,r),this.itemSizeCacheVersion++,m?this.applyScrollAdjustment(this.getTotalSize()-h):g&&this.applyScrollAdjustment(f),this.notify(!1)}},this.getVirtualItems=ls(()=>[this.getVirtualIndexes(),this.getMeasurements()],(n,r)=>{const o=[];for(let i=0,a=n.length;i<a;i++){const l=n[i],u=r[l];o.push(u)}return o},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=n=>{const r=this.getMeasurements();if(r.length===0)return;const o=this._flatMeasurements,i=this.options.lanes===1&&o!=null,a=o0(0,r.length-1,i?l=>o[l*2]:l=>$u(r[l]).start,n);return $u(r[a])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const n=this.scrollElement.document.documentElement;return this.options.horizontal?n.scrollWidth-this.scrollElement.innerWidth:n.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(n=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=n,this.getOffsetForAlignment=(n,r,o=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),a=this.getScrollOffset();r==="auto"&&(r=n>=a+i?"end":"start"),r==="center"?n+=(o-i)/2:r==="end"&&(n-=i);const l=this.getMaxScrollOffset();return Math.max(Math.min(l,n),0)},this.getOffsetForIndex=(n,r="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));const o=this.getSize(),i=this.getScrollOffset(),a=this.measurementsCache[n];if(!a)return;if(r==="auto")if(a.end>=i+o-this.options.scrollPaddingEnd)r="end";else if(a.start<=i+this.options.scrollPaddingStart)r="start";else return[i,r];if(r==="end"&&n===this.options.count-1)return[this.getMaxScrollOffset(),r];const l=r==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(l,r,a.size),r]},this.scrollToOffset=(n,{align:r="start",behavior:o="auto"}={})=>{const i=this.getOffsetForAlignment(n,r),a=this.now();this.scrollState={index:null,align:r,behavior:o,startedAt:a,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollToIndex=(n,{align:r="auto",behavior:o="auto"}={})=>{n=Math.max(0,Math.min(n,this.options.count-1));const i=this.getOffsetForIndex(n,r);if(!i)return;const[a,l]=i,u=this.now();this.scrollState={index:n,align:l,behavior:o,startedAt:u,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollBy=(n,{behavior:r="auto"}={})=>{const o=this.getScrollOffset()+n,i=this.now();this.scrollState={index:null,align:"start",behavior:r,startedAt:i,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:n="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:n});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:n})},this.getTotalSize=()=>{var n;const r=this.getMeasurements();let o;if(r.length===0)o=this.options.paddingStart;else if(this.options.lanes===1){const i=r.length-1,a=this._flatMeasurements;a!=null?o=a[i*2]+a[i*2+1]:o=((n=r[i])==null?void 0:n.end)??0}else{const i=Array(this.options.lanes).fill(null);let a=r.length-1;for(;a>=0&&i.some(l=>l===null);){const l=r[a];i[l.lane]===null&&(i[l.lane]=l.end),a--}o=Math.max(...i.filter(l=>l!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const n=[];if(this.itemSizeCache.size===0)return n;const r=this.getMeasurements();for(const o of r)o&&this.itemSizeCache.has(o.key)&&n.push({index:o.index,key:o.key,start:o.start,size:o.size,end:o.end,lane:o.lane});return n},this._scrollToOffset=(n,{adjustments:r,behavior:o})=>{this._intendedScrollOffset=n+(r??0),this.options.scrollToFn(n,{behavior:o,adjustments:r},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(t)}applyScrollAdjustment(t,n){t!==0&&(Ki()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=t:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:n}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const r=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,o=r?r[0]:this.scrollState.lastTargetOffset,i=1,a=o!==this.scrollState.lastTargetOffset;if(!a&&pT(o,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.getScrollOffset()!==o&&this._scrollToOffset(o,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,a){const l=this.getSize()||600,u=Math.abs(o-this.getScrollOffset()),d=this.scrollState.behavior==="smooth"&&u>l;this.scrollState.lastTargetOffset=o,d||(this.scrollState.behavior="auto"),this._scrollToOffset(o,{adjustments:void 0,behavior:d?"smooth":"auto"})}this.scheduleScrollReconcile()}}const o0=(e,t,n,r)=>{for(;e<=t;){const o=(e+t)/2|0,i=n(o);if(i<r)e=o+1;else if(i>r)t=o-1;else return o}return e>0?e-1:0};function _T(e,t,n){let r=0;for(;r<=t;){const o=(r+t)/2|0,i=e[o*2];if(i<n)r=o+1;else if(i>n)t=o-1;else return o}return r>0?r-1:0}function NT(e,t,n,r,o){const i=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:i};if(r===1&&o!==null){const d=_T(o,i,n);let p=d;const f=n+t;for(;p<i&&o[p*2]+o[p*2+1]<f;)p++;return{startIndex:d,endIndex:p}}let l=o0(0,i,d=>e[d].start,n),u=l;if(r===1)for(;u<i&&e[u].end<n+t;)u++;else if(r>1){const d=Array(r).fill(0);for(;u<i&&d.some(f=>f<n+t);){const f=e[u];d[f.lane]=f.end,u++}const p=Array(r).fill(n+t);for(;l>=0&&p.some(f=>f>=n);){const f=e[l];p[f.lane]=f.start,l--}l=Math.max(0,l-l%r),u=Math.min(i,u+(r-1-u%r))}return{startIndex:l,endIndex:u}}const Gi=typeof document<"u"?c.useLayoutEffect:c.useEffect;function i0({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n="transform",...r}){const o=c.useReducer(d=>d+1,0)[1],i=c.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});i.current.enabled=t,i.current.mode=n;const a=d=>{const p=i.current;if(!p.enabled||!p.container)return;const f=d.getTotalSize();if(f!==p.lastSize){p.lastSize=f;const w=d.options.horizontal?"width":"height";p.container.style[w]=`${f}px`}const m=!!d.options.horizontal,h=p.mode==="transform",g=m?"left":"top",v=d.options.scrollMargin,b=d.getVirtualItems();for(const w of b){const y=w.start-v,j=d.elementsCache.get(w.key);j&&p.lastPositions.get(j)!==y&&(p.lastPositions.set(j,y),h?j.style.transform=m?`translate3d(${y}px, 0, 0)`:`translate3d(0, ${y}px, 0)`:j.style[g]=`${y}px`)}},l={...r,onChange:(d,p)=>{var f;const m=i.current;let h=!0;if(m.enabled){a(d);const g=d.range,v=m.prevRange;h=!v||v.isScrolling!==d.isScrolling||v.startIndex!==g?.startIndex||v.endIndex!==g?.endIndex,h&&(m.prevRange=g?{startIndex:g.startIndex,endIndex:g.endIndex,isScrolling:d.isScrolling}:null)}h&&(e&&p?As.flushSync(o):o()),(f=r.onChange)==null||f.call(r,d,p)}},[u]=c.useState(()=>{const d=new ST(l);return Object.assign(d,{containerRef:p=>{const f=i.current;if(f.container=p,f.lastSize=null,p&&f.enabled){const m=d.getTotalSize();f.lastSize=m;const h=d.options.horizontal?"width":"height";p.style[h]=`${m}px`}}})});return u.setOptions(l),Gi(()=>u._didMount(),[]),Gi(()=>u._willUpdate()),Gi(()=>{a(u)}),u}function CT(e){return i0({observeElementRect:gT,observeElementOffset:vT,scrollToFn:kT,...e})}function TT(e){return i0({getScrollElement:()=>typeof document<"u"?window:null,observeElementRect:xT,observeElementOffset:yT,scrollToFn:jT,initialOffset:()=>typeof document<"u"?window.scrollY:0,...e})}const cn="agent-inspector:focus-log";function Is(e){window.dispatchEvent(new CustomEvent(cn,{detail:e}))}function Si(e){if(typeof CustomEvent>"u"||!(e instanceof CustomEvent))return null;const t=e.detail,n=Q(t,"logId");if(typeof n!="number"||!Number.isInteger(n)||n<0)return null;const r=Q(t,"tab");switch(r){case"anatomy":case"request":case"response":break;case void 0:break;default:return null}const o=Q(t,"source"),i=Q(t,"toolCallIndex"),a=typeof i=="number"&&Number.isInteger(i)&&i>=0?{logId:n,tab:r??"request",toolCallIndex:i}:{logId:n,tab:r??"request"};switch(o){case"virtualizer":return{...a,source:o};case void 0:return a;default:return null}}function ET(e){switch(e){case"end_turn":case"tool_use":return e;case"max_tokens":return"length";default:return null}}function RT(e){switch(e){case"stop":case"length":return e;case"max_tokens":return"length";default:return null}}function MT(e){switch(e){case"max_output_tokens":case"max_tokens":return!0;default:return!1}}function a0(e){if(e.responseText===null)return null;try{let t=JSON.parse(e.responseText);if(typeof t=="string"&&(t=JSON.parse(t)),!Ks(t))return null;if(typeof t.stop_reason=="string")return ET(t.stop_reason);if(Array.isArray(t.choices))for(const n of t.choices){if(!Ks(n)||typeof n.finish_reason!="string")continue;const r=RT(n.finish_reason);if(r!==null)return r}if(Array.isArray(t.output)){for(const n of t.output)if(Ks(n)&&n.type==="function_call")return"tool_use";if(t.status==="completed")return"stop"}if(t.status==="incomplete"&&Ks(t.incomplete_details)){const n=t.incomplete_details.reason;if(typeof n=="string"&&MT(n))return"length"}return null}catch{return null}}function gc(e){return e==="end_turn"||e==="stop"||e==="length"}function Nt({className:e,style:t,d:n,eyeStalks:r,eyes:o,legs:i,extras:a}){return s.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:t,className:$("inline-block size-5",e),children:[s.jsx("path",{d:n}),r,o,i,a]})}const Mn=s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"6.5",y1:"16",x2:"4.5",y2:"19.5"}),s.jsx("line",{x1:"9",y1:"17.5",x2:"8",y2:"20.5"}),s.jsx("line",{x1:"15",y1:"17.5",x2:"16",y2:"20.5"}),s.jsx("line",{x1:"17.5",y1:"16",x2:"19.5",y2:"19.5"})]}),l0=s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"7",y1:"16",x2:"5.5",y2:"18.5"}),s.jsx("line",{x1:"9.5",y1:"17",x2:"8.5",y2:"19.5"}),s.jsx("line",{x1:"14.5",y1:"17",x2:"15.5",y2:"19.5"}),s.jsx("line",{x1:"17",y1:"16",x2:"18.5",y2:"18.5"})]});function c0({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"})]})})}function IT({className:e}){return s.jsx(Nt,{className:e,d:"M4 13 C4 7 7.5 5.5 12 5.5 C16.5 5.5 20 7 20 13 C20 17.5 16.5 19 12 19 C7.5 19 4 17.5 4 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"9.5",y1:"6.5",x2:"9.5",y2:"4.5"}),s.jsx("line",{x1:"14.5",y1:"6.5",x2:"14.5",y2:"4.5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4",r:"1.1",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14.5",cy:"4",r:"1.1",fill:"currentColor",stroke:"none"})]}),legs:l0,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C4 9.5 2.5 10 3 12 C3.5 13.5 4.5 13 5 12"}),s.jsx("path",{d:"M19 11 C20 9.5 21.5 10 21 12 C20.5 13.5 19.5 13 19 12"})]})})}function PT({className:e}){return s.jsx(Nt,{className:e,d:"M3 13.5 C3 8 7 6 12 6 C17 6 21 8 21 13.5 C21 17 17 19 12 19 C7 19 3 17 3 13.5 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"7",y1:"7",x2:"6.5",y2:"4.5"}),s.jsx("line",{x1:"17",y1:"7",x2:"17.5",y2:"4.5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"6.5",cy:"4",r:"0.8",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"17.5",cy:"4",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 12 C2.5 10.5 1 11 1.5 13 C2 14.5 3.5 14 4.5 13"}),s.jsx("path",{d:"M20 12 C21.5 10.5 23 11 22.5 13 C22 14.5 20.5 14 19.5 13"})]})})}function AT({className:e}){return s.jsx(Nt,{className:e,d:"M6 14 C6 8 9 5.5 12 5.5 C15 5.5 18 8 18 14 C18 18 15 20 12 20 C9 20 6 18 6 14 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"6.5",x2:"10",y2:"3.5"}),s.jsx("line",{x1:"14",y1:"6.5",x2:"14",y2:"3.5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"10",cy:"3",r:"0.7",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14",cy:"3",r:"0.7",fill:"currentColor",stroke:"none"})]}),legs:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"7",y1:"17",x2:"5",y2:"20.5"}),s.jsx("line",{x1:"9.5",y1:"18.5",x2:"8.5",y2:"21.5"}),s.jsx("line",{x1:"14.5",y1:"18.5",x2:"15.5",y2:"21.5"}),s.jsx("line",{x1:"17",y1:"17",x2:"19",y2:"20.5"})]}),extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6.5 11 C5 8.5 3 9 3.5 11.5 C4 13.5 5 13 6 12"}),s.jsx("path",{d:"M17.5 11 C19 8.5 21 9 20.5 11.5 C20 13.5 19 13 18 12"})]})})}function OT({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 L13 4 L14 7 C16 7 19 9 19 13 C19 16 16 18 13 18 L12 21 L11 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.8",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"})]})})}function zT({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"}),s.jsx("line",{x1:"13.5",y1:"4",x2:"15.5",y2:"5"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"})]})})}function LT({className:e}){return s.jsx(Nt,{className:e,d:"M5.5 13.5 C5.5 10 8.5 8 12 8 C15.5 8 18.5 10 18.5 13.5 C18.5 16 15.5 17.5 12 17.5 C8.5 17.5 5.5 16 5.5 13.5 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"8",x2:"10",y2:"6"}),s.jsx("line",{x1:"14",y1:"8",x2:"14",y2:"6"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"9",y1:"6",x2:"11",y2:"6.5"}),s.jsx("line",{x1:"13",y1:"6",x2:"15",y2:"6.5"})]}),legs:l0,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 11.5 C4.5 10.5 3 11 3.5 12.5 C4 13.5 5 13 5.5 12.5"}),s.jsx("path",{d:"M18 11.5 C19.5 10.5 21 11 20.5 12.5 C20 13.5 19 13 18.5 12.5"})]})})}function $T({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.7",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.7",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),s.jsx("line",{x1:"8.5",y1:"4",x2:"10.5",y2:"4.5"}),s.jsx("line",{x1:"15.5",y1:"4",x2:"13.5",y2:"4.5"}),s.jsx("path",{d:"M9 15.5 C10 14.5 14 14.5 15 15.5"})]})})}function DT({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"1.2",fill:"none",stroke:"currentColor"}),s.jsx("circle",{cx:"14.5",cy:"4.5",r:"1.2",fill:"none",stroke:"currentColor"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),s.jsx("ellipse",{cx:"12",cy:"15",rx:"2",ry:"1.5",fill:"currentColor",stroke:"none"})]})})}function FT({className:e}){return s.jsx(Nt,{className:e,d:"M4.5 13 C4.5 8 7.5 6 12 6 C16.5 6 19.5 8 19.5 13 C19.5 17 16.5 18.5 12 18.5 C7.5 18.5 4.5 17 4.5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"9.5",y1:"7",x2:"9",y2:"5"}),s.jsx("line",{x1:"14.5",y1:"7",x2:"15",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9",cy:"4.5",r:"1",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"15",cy:"4.5",r:"1",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9 2 9.5 2.5 12 C3 14 4 13 5 12"}),s.jsx("path",{d:"M19 11 C20.5 9 22 9.5 21.5 12 C21 14 20 13 19 12"}),s.jsx("path",{d:"M9 14.5 C10 16 14 16 15 14.5"}),s.jsx("circle",{cx:"7",cy:"13",r:"1",fill:"currentColor",stroke:"none",opacity:"0.3"}),s.jsx("circle",{cx:"17",cy:"13",r:"1",fill:"currentColor",stroke:"none",opacity:"0.3"})]})})}function UT({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5.5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5.5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"7.5",y1:"5.5",x2:"16.5",y2:"5.5"}),s.jsx("rect",{x:"7",y:"5",width:"4",height:"2",rx:"0.5",fill:"currentColor",stroke:"none"}),s.jsx("rect",{x:"13",y:"5",width:"4",height:"2",rx:"0.5",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),s.jsx("path",{d:"M9.5 15 C10.5 16 13.5 16 14.5 15"})]})})}function BT({className:e}){return s.jsx(Nt,{className:e,d:"M7 13.5 C7 10.5 9.5 9 12 9 C14.5 9 17 10.5 17 13.5 C17 16 14.5 17.5 12 17.5 C9.5 17.5 7 16 7 13.5 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10.5",y1:"9.5",x2:"10.5",y2:"8"}),s.jsx("line",{x1:"13.5",y1:"9.5",x2:"13.5",y2:"8"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"10.5",cy:"7.5",r:"0.8",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"13.5",cy:"7.5",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"8",y1:"16",x2:"6.5",y2:"18"}),s.jsx("line",{x1:"10",y1:"17",x2:"9.5",y2:"19"}),s.jsx("line",{x1:"14",y1:"17",x2:"14.5",y2:"19"}),s.jsx("line",{x1:"16",y1:"16",x2:"17.5",y2:"18"})]}),extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M7.5 12 C6.5 11 5.5 11.5 6 13 C6.5 14 7 13.5 7.5 13"}),s.jsx("path",{d:"M16.5 12 C17.5 11 18.5 11.5 18 13 C17.5 14 17 13.5 16.5 13"})]})})}const Ya=[c0,IT,PT,AT,OT,zT,LT,$T,DT,FT,UT,BT];function xc(e){return Ya[Math.abs(e)%Ya.length]??c0}function qT(e){const t=Ya.length-2;return t<=0?0:1+((Number.isFinite(e)?Math.trunc(e):0)%t+t)%t}function HT(e){return xc(qT(e))}const VT="x-anthropic-billing-header:";function WT(e){return e.trimStart().toLowerCase().startsWith(VT)}function ZT(e){return mc(e)?Object.prototype.hasOwnProperty.call(e,"system"):!1}function KT(e){if(!mc(e))return!1;const t=Q(e,"type"),n=Q(e,"text");return typeof t!="string"||t!=="text"||typeof n!="string"?!1:WT(n)}function GT(e){let t;try{t=JSON.parse(e)}catch{return{body:e,removed:0}}if(!ZT(t))return{body:e,removed:0};const n=t.system;if(!Array.isArray(n)||n.length===0)return{body:e,removed:0};const r=[];let o=0;for(const i of n){if(KT(i)){o+=1;continue}r.push(i)}return o===0?{body:e,removed:0}:(r.length===0?delete t.system:t.system=r,{body:JSON.stringify(t),removed:o})}const JT=400,Fu=2e3;function YT(e){return Array.isArray(e)}function XT(e,t){const n=[e];let r=0;for(;n.length>0;){const o=n.pop();if(o!==void 0){if(r+=1,r>t)return r;if(!(o===null||typeof o!="object")){if(YT(o)){for(const i of o)n.push(i);continue}for(const i of Object.keys(o)){const a=o[i];a!==void 0&&n.push(a)}}}}return r}function QT(e){const t=XT(e,Fu+1);return t<=JT?{depth:Number.POSITIVE_INFINITY}:t<=Fu?{depth:3}:{depth:2}}function e4(e){try{const t=JSON.parse(e);return{kind:"json",data:Po(t)}}catch{return{kind:"text"}}}function Ji(e){const t=c.useMemo(()=>e===null?null:e4(e),[e]),n=t?.kind==="json"?t.data:null,r=c.useMemo(()=>n===null?null:QT(n),[n]),[o,i]=c.useState(!1),[a,l]=c.useState(0),[u,d]=c.useState(0),[p,f]=c.useTransition(),m=c.useCallback(()=>{const h=!o,g=h&&r!==null?r.depth:0;f(()=>{i(h),l(g),d(v=>v+1)})},[o,r]);return{parsedData:n,policy:r,isExpanded:o,toggle:m,isPending:p,bulkDepth:a,bulkRevision:u}}function Po(e){if(e==null)return null;switch(typeof e){case"string":return e;case"number":return e;case"boolean":return e;case"object":{if(Array.isArray(e))return e.map(n=>Po(n));const t={};for(const n of Object.keys(e)){const r=Object.getOwnPropertyDescriptor(e,n);t[n]=Po(r?.value)}return t}case"bigint":case"symbol":case"function":case"undefined":return String(e)}return null}function u0({className:e,orientation:t="horizontal",...n}){return s.jsx(eC,{"data-slot":"tabs","data-orientation":t,orientation:t,className:$("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...n})}const t4=tp("rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function d0({className:e,variant:t="default",...n}){return s.jsx(tC,{"data-slot":"tabs-list","data-variant":t,className:$(t4({variant:t}),e),...n})}function gn({className:e,...t}){return s.jsx(nC,{"data-slot":"tabs-trigger",className:$("focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-muted-foreground hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:border-border data-[state=active]:bg-background data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...t})}function jt({className:e,...t}){return s.jsx(sC,{"data-slot":"tabs-content",className:$("flex-1 outline-none",e),...t})}function bn(e){const[t,n]=c.useState(!1),r=c.useRef(null);c.useEffect(()=>()=>{r.current!==null&&clearTimeout(r.current)},[]);const o=c.useCallback(i=>{i.stopPropagation(),e!==null&&It(e).then(a=>{a&&(n(!0),r.current!==null&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),2e3))})},[e]);return{copied:t,copy:o}}const n4=c.lazy(()=>Kt(()=>import("./CompareDrawer-BvF04FAX.js"),__vite__mapDeps([2,1])).then(e=>({default:e.CompareDrawer}))),s4=c.lazy(()=>Kt(()=>import("./InspectorPet-CSCn4jWU.js"),__vite__mapDeps([3,1])).then(e=>({default:e.InspectorPet}))),r4=c.lazy(()=>Kt(()=>import("./ReplayDialog-DWJkKTDB.js"),__vite__mapDeps([4,1,5])).then(e=>({default:e.ReplayDialog}))),o4=c.lazy(()=>Kt(()=>import("./RequestAnatomy-CDFI55pJ.js"),__vite__mapDeps([6,1])).then(e=>({default:e.RequestAnatomy}))),i4=c.lazy(()=>Kt(()=>import("./ResponseView-tlIj9vRr.js"),__vite__mapDeps([5,1])).then(e=>({default:e.ResponseView}))),a4=c.lazy(()=>Kt(()=>import("./StreamingChunkSequence-C7Ntivbf.js"),__vite__mapDeps([7,1])).then(e=>({default:e.StreamingChunkSequence}))),Xa=c.lazy(()=>Kt(()=>import("./json-viewer-0fOrL_Cz.js"),__vite__mapDeps([8,1])).then(e=>({default:e.JsonViewer}))),l4=c.lazy(()=>Kt(()=>import("./json-viewer-0fOrL_Cz.js"),__vite__mapDeps([8,1])).then(e=>({default:e.JsonViewerFromString}))),c4=1200,u4=12;function d4(e){const{containerRef:t,setExpandToPath:n,ensureTabActive:r,highlightMs:o}=e,i=c.useRef(null);return c.useCallback(a=>{r?.(),n(a.path);const l=f=>{f.scrollIntoView({behavior:"smooth",block:"center"}),f.classList.add("ring-2","ring-primary/60","ring-offset-1","ring-offset-background","rounded-sm","transition-shadow"),i.current!==null&&clearTimeout(i.current),i.current=setTimeout(()=>{f.classList.remove("ring-2","ring-primary/60","ring-offset-1","ring-offset-background","rounded-sm","transition-shadow"),n(null)},o??c4)},d=`[data-anatomy-path="${(f=>typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(f):f.replace(/(["'\\[\](){}])/g,"\\$1"))(a.path)}"]`,p=f=>{const m=t.current;if(m!==null){const h=m.querySelector(d);if(h!==null){l(h);return}}f>0?window.requestAnimationFrame(()=>p(f-1)):n(null)};window.requestAnimationFrame(()=>p(u4))},[t,r,o,n])}const Uu="The compact log metadata is still available. Retry if the local server was restarting or the body store was briefly unavailable.";function gs(e){return e<1024?`${e.toLocaleString()} B`:e<1024*1024?`${(e/1024).toFixed(1)} KiB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MiB`:`${(e/1024/1024/1024).toFixed(1)} GiB`}function p4(e,t){const n=[];return e!=null&&n.push(`Request ${gs(e)}`),t!=null&&n.push(`Response ${gs(t)}`),n.length===0?null:n.join(" · ")}function f4(e){if(e instanceof Jo)return{title:"Full bodies timed out",detail:"The log store did not answer before the UI timeout. Compact metadata is still available; retry loading the bodies."};if(e instanceof Error){const t=e.message.trim();return{title:"Full bodies could not be loaded",detail:t===""?Uu:t}}return{title:"Full bodies could not be loaded",detail:Uu}}class p0{diff(t,n,r={}){let o;typeof r=="function"?(o=r,r={}):"callback"in r&&(o=r.callback);const i=this.castInput(t,r),a=this.castInput(n,r),l=this.removeEmpty(this.tokenize(i,r)),u=this.removeEmpty(this.tokenize(a,r));return this.diffWithOptionsObj(l,u,r,o)}diffWithOptionsObj(t,n,r,o){var i;const a=y=>{if(y=this.postProcess(y,r),o){setTimeout(function(){o(y)},0);return}else return y},l=n.length,u=t.length;let d=1,p=l+u;r.maxEditLength!=null&&(p=Math.min(p,r.maxEditLength));const f=(i=r.timeout)!==null&&i!==void 0?i:1/0,m=Date.now()+f,h=[{oldPos:-1,lastComponent:void 0}];let g=this.extractCommon(h[0],n,t,0,r);if(h[0].oldPos+1>=u&&g+1>=l)return a(this.buildValues(h[0].lastComponent,n,t));let v=-1/0,b=1/0;const w=()=>{for(let y=Math.max(v,-d);y<=Math.min(b,d);y+=2){let j;const k=h[y-1],S=h[y+1];k&&(h[y-1]=void 0);let _=!1;if(S){const P=S.oldPos-y;_=S&&0<=P&&P<l}const N=k&&k.oldPos+1<u;if(!_&&!N){h[y]=void 0;continue}if(!N||_&&k.oldPos<S.oldPos?j=this.addToPath(S,!0,!1,0,r):j=this.addToPath(k,!1,!0,1,r),g=this.extractCommon(j,n,t,y,r),j.oldPos+1>=u&&g+1>=l)return a(this.buildValues(j.lastComponent,n,t))||!0;h[y]=j,j.oldPos+1>=u&&(b=Math.min(b,y-1)),g+1>=l&&(v=Math.max(v,y+1))}d++};if(o)(function y(){setTimeout(function(){if(d>p||Date.now()>m)return o(void 0);w()||y()},0)})();else for(;d<=p&&Date.now()<=m;){const y=w();if(y)return y}}addToPath(t,n,r,o,i){const a=t.lastComponent;return a&&!i.oneChangePerToken&&a.added===n&&a.removed===r?{oldPos:t.oldPos+o,lastComponent:{count:a.count+1,added:n,removed:r,previousComponent:a.previousComponent}}:{oldPos:t.oldPos+o,lastComponent:{count:1,added:n,removed:r,previousComponent:a}}}extractCommon(t,n,r,o,i){const a=n.length,l=r.length;let u=t.oldPos,d=u-o,p=0;for(;d+1<a&&u+1<l&&this.equals(r[u+1],n[d+1],i);)d++,u++,p++,i.oneChangePerToken&&(t.lastComponent={count:1,previousComponent:t.lastComponent,added:!1,removed:!1});return p&&!i.oneChangePerToken&&(t.lastComponent={count:p,previousComponent:t.lastComponent,added:!1,removed:!1}),t.oldPos=u,d}equals(t,n,r){return r.comparator?r.comparator(t,n):t===n||!!r.ignoreCase&&t.toLowerCase()===n.toLowerCase()}removeEmpty(t){const n=[];for(let r=0;r<t.length;r++)t[r]&&n.push(t[r]);return n}castInput(t,n){return t}tokenize(t,n){return Array.from(t)}join(t){return t.join("")}postProcess(t,n){return t}get useLongestToken(){return!1}buildValues(t,n,r){const o=[];let i;for(;t;)o.push(t),i=t.previousComponent,delete t.previousComponent,t=i;o.reverse();const a=o.length;let l=0,u=0,d=0;for(;l<a;l++){const p=o[l];if(p.removed)p.value=this.join(r.slice(d,d+p.count)),d+=p.count;else{if(!p.added&&this.useLongestToken){let f=n.slice(u,u+p.count);f=f.map(function(m,h){const g=r[d+h];return g.length>m.length?g:m}),p.value=this.join(f)}else p.value=this.join(n.slice(u,u+p.count));u+=p.count,p.added||(d+=p.count)}}return o}}class m4 extends p0{constructor(){super(...arguments),this.tokenize=m0}equals(t,n,r){return r.ignoreWhitespace?((!r.newlineIsToken||!t.includes(`
|
|
115
|
+
`)}function Q3(e){return typeof e=="string"?e.length>0?1:0:Array.isArray(e)?e.length:e==null?null:1}function eT(e){if(typeof e=="string")return e;const t=Q(e,"text");if(typeof t=="string")return t;const n=Ja(Q(e,"content"));if(n.length>0)return n;const r=Ja(Q(e,"output"));if(r.length>0)return r;const o=Q(e,"arguments");return typeof o=="string"?o:""}function tT(e){const t=Q(e,"role");if(t==="system"||t==="user"||t==="assistant"||t==="tool")return t;const n=Q(e,"type");return n==="function_call_output"?"tool":"user"}function nT(e){const t=Q(e,"output");if(!Array.isArray(t))return[];const n=[];for(const r of t){if(Q(r,"type")!=="function_call")continue;const o=Q(r,"name");typeof o=="string"&&o.length>0&&n.push(o)}return n}function Us(e,t,n,r){return{role:e,label:t,text:n,size:pc(n),characters:fc(n),path:r}}const sT={format:"openai",analyzeRequest(e){if(e===null)return Vn(e);try{const t=JSON.parse(e),n=hc(t)?.tools.length??null,r=Hp.safeParse(t);if(!r.success){const o=Vp.safeParse(t);return o.success?{parsed:o.data,comparisonValue:o.data,messageCount:Q3(o.data.input),toolCount:n}:Vn(e)}return{parsed:r.data,comparisonValue:r.data,messageCount:r.data.messages.length,toolCount:n}}catch{return Vn(e)}},analyzeResponse(e){if(e===null)return ys;const t=Zp(e);if(t===null){const r=Kp(e);if(r===null)return ys;const o=nT(r);return{parsed:r,toolNames:o.length>0?o:null}}const n=t.choices[0]?.message?.tool_calls?.map(r=>r.function?.name??"").filter(r=>r!=="")??[];return{parsed:t,toolNames:n.length>0?n:null}},anatomySegments(e){if(e===null||typeof e!="object")return null;const t=e,n=[];if(typeof t.instructions=="string"&&t.instructions.length>0&&n.push(Us("system","instructions",t.instructions,"/instructions")),Array.isArray(t.messages)&&t.messages.forEach((r,o)=>{if(r===null||typeof r!="object")return;const i=r,a=i.role==="user"||i.role==="assistant"||i.role==="system"||i.role==="tool"?i.role:"user",l=Y3(i);n.push(Us(a,`[${o}] ${a}`,l,`/messages/${o}`))}),Array.isArray(t.messages)||(typeof t.input=="string"&&t.input.length>0?n.push(Us("user","input",t.input,"/input")):Array.isArray(t.input)&&t.input.forEach((r,o)=>{const i=tT(r),a=eT(r);n.push(Us(i,`[${o}] ${i}`,a,`/input/${o}`))})),Array.isArray(t.tools)&&t.tools.length>0){const r=X3(t.tools);n.push(Us("tools","tools",r,"/tools"))}return n.length>0?n:null}},rT={format:"unknown",analyzeRequest(e){return Vn(e)},analyzeResponse(){return ys},anatomySegments(){return null}},oT={anthropic:J3,openai:sT,unknown:rT};function t0(e){return oT[e]}function ir(e){const t=c3(e.path);return t==="unknown"?e.apiFormat:t}const Lu="inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)] hover:text-foreground";function n0(e){return e.startsWith("PID:")||e.startsWith("process:")||e.startsWith("connection:")||e.includes("|")}function iT(e){return n0(e)?"No session ID":e.length>24?`${e.slice(0,12)}...${e.slice(-12)}`:e}function Zi({icon:e,children:t,title:n,className:r}){return s.jsxs("span",{className:$("inline-flex h-7 min-w-0 items-center gap-1.5 rounded-md bg-[var(--inspector-surface-low)] px-2 text-xs text-muted-foreground",r),title:n,children:[e,s.jsx("span",{className:"min-w-0 font-mono tabular-nums",children:t})]})}function aT(){return s.jsxs("span",{className:"inline-flex h-6 shrink-0 items-center gap-1.5 rounded-md bg-[var(--inspector-surface-medium)] px-1.5 font-mono text-[10px] uppercase text-[var(--inspector-status-watch)] ring-1 ring-border/50",title:"This session has a turn that has not finished yet",children:[s.jsx(He,{className:"size-3 animate-spin"}),"Turn open"]})}function lT({conversationId:e,startTime:t,endTime:n,totalCalls:r,totalInputTokens:o,totalOutputTokens:i,expanded:a,onToggle:l,providers:u,isLoading:d=!1,userAgent:p,clientPid:f,clientProjectFolder:m,showClientIdentity:h=!0,showProcessMetadata:x=!0,timeDisplayFormat:v,onClear:b}){const[w,y]=c.useState(!1),j=Y=>{Y.stopPropagation(),b!==void 0&&y(!0)},k=c.useCallback(Y=>{Y.stopPropagation(),window.open(ep(e),"_blank","noopener,noreferrer")},[e]),S=u?.map(({provider:Y,models:Z})=>({provider:Y,tooltip:Z.length===1?Z[0]??Y:Z.join(", ")}))??[],_=cc({userAgent:p,conversationId:e,clientProjectFolder:m}),N=yi(_),P=p!=null&&p!=="",A=N??p??null,M=N!==null&&P?`${N} - ${p}`:null,C=n0(e),I=iT(e),F=Qo(t,n,v),U=`${r} call${r!==1?"s":""}`;return s.jsxs("div",{role:"button",tabIndex:0,"data-nav-id":`conv-${e}`,"data-nav-action":a?"collapse":"expand",className:$("relative flex cursor-pointer items-start gap-2.5 overflow-hidden rounded-md bg-[var(--inspector-surface-low)] px-3 py-2.5 transition-colors","hover:bg-[var(--inspector-surface-medium)]","select-none","sticky top-0 z-10 mb-2","focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none"),onClick:l,onKeyDown:Y=>{Y.target===Y.currentTarget&&(Y.key==="Enter"||Y.key===" ")&&(Y.preventDefault(),l())},children:[s.jsx(n3,{items:S,ariaLabel:"Models used in this session",className:"mt-0.5"}),s.jsxs("span",{className:"min-w-0 flex-1",children:[s.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"shrink-0 rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground",children:"Session"}),C&&x?f!=null?s.jsxs("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:`PID ${f}`,children:["PID ",f]}):s.jsx("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:e,children:e}):s.jsx("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:e,children:I}),!C&&x&&f!==null&&f!==void 0&&s.jsxs("span",{className:"shrink-0 rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-xs tabular-nums text-muted-foreground",title:`Client process ID ${f}`,children:["PID ",f]}),C&&x&&m!==null&&m!==void 0&&m!==""&&s.jsx("span",{className:"min-w-0 max-w-[240px] truncate font-mono text-xs text-muted-foreground",title:m,children:m}),h&&A!==null&&A!==""&&s.jsxs("span",{className:"inline-flex min-h-6 shrink-0 flex-wrap items-center gap-1 rounded-md bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 text-xs text-muted-foreground",title:M??A,children:[s.jsx(wi,{client:_,className:"size-4 shrink-0",decorative:!0}),s.jsx("span",{className:"font-mono leading-snug tabular-nums",children:A})]}),d&&s.jsx(aT,{})]}),s.jsxs("span",{className:"mt-1.5 flex min-w-0 flex-wrap items-center gap-1.5",children:[s.jsx(Zi,{icon:s.jsx(sn,{className:"size-3 shrink-0"}),title:F,children:F}),s.jsx(Zi,{icon:s.jsx(Xo,{className:"size-3 shrink-0"}),children:U}),s.jsxs(Zi,{icon:s.jsx(sr,{className:"size-3 shrink-0"}),className:"max-w-full",children:[s.jsx("span",{className:"text-[var(--inspector-status-info)]",children:Me(o)})," / ",s.jsx("span",{className:"text-[var(--inspector-status-watch)]",children:Me(i)})]})]})]}),s.jsxs("span",{className:"flex shrink-0 items-start gap-1.5",children:[s.jsx("button",{type:"button",onClick:k,onKeyDown:Y=>{(Y.key==="Enter"||Y.key===" ")&&k(Y)},"aria-label":`Open session ${e} in a new tab`,title:"Open this session in a new tab",className:Lu,children:s.jsx(Ol,{className:"size-3.5"})}),b!==void 0&&s.jsx("button",{type:"button",onClick:j,"aria-label":`Clear group (${r} request${r!==1?"s":""})`,title:"Clear this group from the current view",className:Lu,children:s.jsx(wn,{className:"size-3.5"})}),s.jsx("span",{className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)] hover:text-foreground","aria-hidden":"true",children:a?s.jsx(tt,{className:"size-4 shrink-0"}):d?s.jsx(He,{className:"size-4 shrink-0 animate-spin"}):s.jsx(vt,{className:"size-4 shrink-0"})})]}),d&&s.jsx("span",{className:"pointer-events-none absolute inset-x-3 bottom-0 h-px overflow-hidden rounded-full bg-[var(--inspector-surface-medium)]","aria-hidden":"true",children:s.jsx("span",{className:"absolute inset-y-0 left-0 w-1/3 animate-pulse rounded-full bg-[var(--inspector-status-watch)] opacity-70"})}),s.jsx(Hh,{open:w,onOpenChange:y,title:"Clear this group from the current view?",description:`This will hide ${r} request${r!==1?"s":""} from the current view. Stored logs remain reloadable.`,confirmLabel:"Clear",variant:"destructive",onConfirm:()=>{b?.()}})]})}function cT(e){if(e.sessionId!==null&&e.sessionId!==""&&e.sessionId!==void 0)return e.sessionId;if(e.isTest===!0)return"provider-test";const t=e.clientPid!==null&&e.clientPid!==void 0,n=e.clientProjectFolder!==null&&e.clientProjectFolder!==void 0;if(!t&&!n)return"default";const r=t?`PID:${e.clientPid}`:"unknown",o=n?e.clientProjectFolder:"no-folder";return`${r}|${o}`}function uT(e){const t=new Map;for(const r of e){const o=cT(r),i=t.get(o);i!==void 0?i.push(r):t.set(o,[r])}const n=[];for(const[r,o]of t){const i=[...o].sort((a,l)=>a.timestamp.localeCompare(l.timestamp));n.push({id:r,conversationId:r,logs:i})}return n.sort((r,o)=>(r.logs[0]?.timestamp??"").localeCompare(o.logs[0]?.timestamp??"")),n}function dT(e,t,n){const r=new Array(e);return new Proxy(r,{get(o,i,a){if(typeof i=="string"){const l=i.charCodeAt(0);if(l>=48&&l<=57){const u=+i;if(Number.isInteger(u)&&u>=0&&u<e){let d=o[u];if(!d){const p=t[u*2];d=o[u]={index:u,key:n(u),start:p,size:t[u*2+1],end:p+t[u*2+1],lane:0}}return d}}if(i==="length")return e}return Reflect.get(o,i,a)}})}function ls(e,t,n){let r=n.initialDeps??[],o,i=!0;function a(){const l=e();return(l.length!==r.length||l.some((d,p)=>r[p]!==d))&&(r=l,o=t(...l),n?.onChange&&!(i&&n.skipInitialOnChange)&&n.onChange(o),i=!1),o}return a.updateDeps=l=>{r=l},a}function $u(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const pT=(e,t)=>Math.abs(e-t)<1.01,fT=(e,t,n)=>{let r;return function(...o){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,o),n)}};let Bs;const Ki=()=>{if(Bs!==void 0)return Bs;if(typeof navigator>"u")return Bs=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Bs=!0;const e=navigator.maxTouchPoints;return Bs=navigator.platform==="MacIntel"&&e!==void 0&&e>0},Du=e=>{const{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},mT=e=>e,hT=e=>{const t=Math.max(e.startIndex-e.overscan,0),r=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,o=new Array(r);for(let i=0;i<r;i++)o[i]=t+i;return o},xT=(e,t)=>{const n=e.scrollElement;if(!n)return;const r=e.targetWindow;if(!r)return;const o=a=>{const{width:l,height:u}=a;t({width:Math.round(l),height:Math.round(u)})};if(o(Du(n)),!r.ResizeObserver)return()=>{};const i=new r.ResizeObserver(a=>{const l=()=>{const u=a[0];if(u?.borderBoxSize){const d=u.borderBoxSize[0];if(d){o({width:d.inlineSize,height:d.blockSize});return}}o(Du(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()});return i.observe(n,{box:"border-box"}),()=>{i.unobserve(n)}},ar={passive:!0},gT=(e,t)=>{const n=e.scrollElement;if(!n)return;const r=()=>{t({width:n.innerWidth,height:n.innerHeight})};return r(),n.addEventListener("resize",r,ar),()=>{n.removeEventListener("resize",r)}},bT=typeof window>"u"?!0:"onscrollend"in window,s0=(e,t,n)=>{const r=e.scrollElement;if(!r)return;const o=e.targetWindow;if(!o)return;const i=e.options.useScrollendEvent&&bT;let a=0;const l=i?null:fT(o,()=>t(a,!1),e.options.isScrollingResetDelay),u=f=>()=>{a=n(r),l?.(),t(a,f)},d=u(!0),p=u(!1);return r.addEventListener("scroll",d,ar),i&&r.addEventListener("scrollend",p,ar),()=>{r.removeEventListener("scroll",d),i&&r.removeEventListener("scrollend",p)}},vT=(e,t)=>s0(e,t,n=>{const{horizontal:r,isRtl:o}=e.options;return r?n.scrollLeft*(o&&-1||1):n.scrollTop}),yT=(e,t)=>s0(e,t,n=>e.options.horizontal?n.scrollX:n.scrollY),wT=(e,t,n)=>{if(n.options.useCachedMeasurements){const r=n.indexFromElement(e),o=n.options.getItemKey(r);return n.itemSizeCache.get(o)??n.options.estimateSize(r)}if(t?.borderBoxSize){const r=t.borderBoxSize[0];if(r)return Math.round(r[n.options.horizontal?"inlineSize":"blockSize"])}if(!t){const r=n.indexFromElement(e),o=n.options.getItemKey(r),i=n.itemSizeCache.get(o);if(i!==void 0)return i}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},r0=(e,{adjustments:t=0,behavior:n},r)=>{var o,i;(i=(o=r.scrollElement)==null?void 0:o.scrollTo)==null||i.call(o,{[r.options.horizontal?"left":"top"]:e+t,behavior:n})},jT=r0,kT=r0;class ST{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var n,r,o;return((o=(r=(n=this.targetWindow)==null?void 0:n.performance)==null?void 0:r.now)==null?void 0:o.call(r))??Date.now()},this.observer=(()=>{let n=null;const r=()=>n||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:n=new this.targetWindow.ResizeObserver(o=>{o.forEach(i=>{const a=()=>{const l=i.target,u=this.indexFromElement(l);if(!l.isConnected){this.observer.unobserve(l);for(const[d,p]of this.elementsCache)if(p===l){this.elementsCache.delete(d);break}return}this.shouldMeasureDuringScroll(u)&&this.resizeItem(u,this.options.measureElement(l,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})}));return{disconnect:()=>{var o;(o=r())==null||o.disconnect(),n=null},observe:o=>{var i;return(i=r())==null?void 0:i.observe(o,{box:"border-box"})},unobserve:o=>{var i;return(i=r())==null?void 0:i.unobserve(o)}}})(),this.range=null,this.setOptions=n=>{var r,o;const i={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:mT,rangeExtractor:hT,onChange:()=>{},measureElement:wT,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const m in n){const h=n[m];h!==void 0&&(i[m]=h)}const a=this.options;let l=null,u=null,d=!1;if(a!==void 0&&a.enabled&&i.enabled&&i.anchorTo==="end"&&this.scrollElement!==null){const m=a.count,h=i.count,x=this.getMeasurements(),v=m>0?((r=x[0])==null?void 0:r.key)??a.getItemKey(0):null,b=m>0?((o=x[m-1])==null?void 0:o.key)??a.getItemKey(m-1):null;if(h!==m||m>0&&h>0&&(i.getItemKey(0)!==v||i.getItemKey(h-1)!==b)){d=!0;const j=m>0?this.getVirtualItemForOffset(this.getScrollOffset())??x[0]:null;j&&(l=[j.key,this.getScrollOffset()-j.start]);const k=i.followOnAppend===!0?"auto":i.followOnAppend||null;k&&h>m&&this.isAtEnd(a.scrollEndThreshold)&&(m===0||i.getItemKey(h-1)!==b)&&(u=k)}}this.options=i,d&&(this.pendingMin=0,this.itemSizeCacheVersion++);let p=!1,f=0;if(l&&this.scrollOffset!==null){const[m,h]=l,x=this.getMeasurements(),{count:v,getItemKey:b}=this.options;let w=0;for(;w<v&&b(w)!==m;)w++;if(w<v){const y=x[w];if(y){const j=y.start+h;j!==this.scrollOffset&&(f=j-this.scrollOffset,this.scrollOffset=j,p=!0)}}}(p||u)&&(this.pendingScrollAnchor=[p?l[0]:null,p?l[1]:0,u,f])},this.notify=n=>{var r,o;(o=(r=this.options).onChange)==null||o.call(r,this,n)},this.maybeNotify=ls(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),n=>{this.notify(n)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(n=>n()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var n;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}if(this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((n=this.scrollElement)==null?void 0:n.window)??null,this.elementsCache.forEach(i=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,i=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,a)=>{if(a&&this._intendedScrollOffset===null&&i===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(i-this._intendedScrollOffset)<1.5&&(i=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const l=this.getScrollOffset();this.scrollDirection=a?l===i?this.scrollDirection:l<i?"forward":"backward":null,this.scrollOffset=i,this.isScrolling=a,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){const i=this.scrollElement,a=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},l=()=>{this._iosTouching=!1,!(!Ki()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};i.addEventListener("touchstart",a,ar),i.addEventListener("touchend",l,ar),this.unsubs.push(()=>{i.removeEventListener("touchstart",a),i.removeEventListener("touchend",l),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const o=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,o&&this.scrollElement&&this.options.enabled){const[i,a,l,u]=o;i!==null&&!l&&(Ki()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?u!==0&&(this._iosDeferredAdjustment+=u):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),l&&this.scrollToEnd({behavior:l})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;const n=this.getScrollOffset(),r=this.getMaxScrollOffset();if(n<0||n>r)return;const o=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(n,{adjustments:this.scrollAdjustments+=o,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(n,r)=>{const o=new Map,i=new Map;for(let a=r-1;a>=0;a--){const l=n[a];if(o.has(l.lane))continue;const u=i.get(l.lane);if(u==null||l.end>u.end?i.set(l.lane,l):l.end<u.end&&o.set(l.lane,!0),o.size===this.options.lanes)break}return i.size===this.options.lanes?Array.from(i.values()).sort((a,l)=>a.end===l.end?a.index-l.index:a.end-l.end)[0]:void 0},this.getMeasurementOptions=ls(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(n,r,o,i,a,l,u)=>(this.prevLanes!==void 0&&this.prevLanes!==l&&(this.lanesChangedFlag=!0),this.prevLanes=l,this.pendingMin=null,{count:n,paddingStart:r,scrollMargin:o,getItemKey:i,enabled:a,lanes:l,laneAssignmentMode:u}),{key:!1}),this.getMeasurements=ls(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:n,paddingStart:r,scrollMargin:o,getItemKey:i,enabled:a,lanes:l,laneAssignmentMode:u},d)=>{const p=this.itemSizeCache;if(!a)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>n)for(const x of this.laneAssignments.keys())x>=n&&this.laneAssignments.delete(x);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(x=>{this.itemSizeCache.set(x.key,x.size)}));const f=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===n&&(this.lanesSettling=!1),l===1){const x=this.options.gap,v=n*2;let b=this._flatMeasurements;if(!b||b.length<v){const j=new Float64Array(v);b&&f>0&&j.set(b.subarray(0,f*2)),b=j,this._flatMeasurements=b}let w;if(f===0)w=r+o;else{const j=f-1;w=b[j*2]+b[j*2+1]+x}for(let j=f;j<n;j++){const k=i(j),S=p.get(k),_=typeof S=="number"?S:this.options.estimateSize(j);b[j*2]=w,b[j*2+1]=_,w+=_+x}const y=dT(n,b,i);return this.measurementsCache=y,y}const m=this.measurementsCache.slice(0,f),h=new Array(l).fill(void 0);for(let x=0;x<f;x++){const v=m[x];v&&(h[v.lane]=x)}for(let x=f;x<n;x++){const v=i(x),b=this.laneAssignments.get(x);let w,y;const j=u==="estimate"||p.has(v);if(b!==void 0&&this.options.lanes>1){w=b;const N=h[w],P=N!==void 0?m[N]:void 0;y=P?P.end+this.options.gap:r+o}else{const N=this.options.lanes===1?m[x-1]:this.getFurthestMeasurement(m,x);y=N?N.end+this.options.gap:r+o,w=N?N.lane:x%this.options.lanes,this.options.lanes>1&&j&&this.laneAssignments.set(x,w)}const k=p.get(v),S=typeof k=="number"?k:this.options.estimateSize(x),_=y+S;m[x]={index:x,start:y,size:S,end:_,key:v,lane:w},h[w]=x}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=ls(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,r,o,i)=>n.length===0||r===0?(this.range=null,null):(this.range=NT(n,r,o,i,i===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=ls(()=>{let n=null,r=null;const o=this.calculateRange();return o&&(n=o.startIndex,r=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,r]},(n,r,o,i,a)=>i===null||a===null?[]:n({startIndex:i,endIndex:a,overscan:r,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=n=>{const r=this.options.indexAttribute,o=n.getAttribute(r);return o?parseInt(o,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=n=>{var r;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const o=this.scrollState.index??((r=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:r.index);if(o!==void 0&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),a=Math.max(0,o-i),l=Math.min(this.options.count-1,o+i);return n>=a&&n<=l}return!0},this.measureElement=n=>{if(!n){this.elementsCache.forEach((a,l)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(l))});return}const r=this.indexFromElement(n),o=this.options.getItemKey(r),i=this.elementsCache.get(o);i!==n&&(i&&this.observer.unobserve(i),this.observer.observe(n),this.elementsCache.set(o,n)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(n,void 0,this))},this.resizeItem=(n,r)=>{var o,i;if(n<0||n>=this.options.count)return;let a,l,u;const d=this._flatMeasurements;if(this.options.lanes===1&&d!==null)u=this.options.getItemKey(n),l=d[n*2],a=d[n*2+1];else{const m=this.measurementsCache[n];if(!m)return;u=m.key,l=m.start,a=m.size}const p=this.itemSizeCache.get(u)??a,f=r-p;if(f!==0){const m=this.options.anchorTo==="end"&&((o=this.scrollState)==null?void 0:o.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,h=m?this.getTotalSize():0,x=((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[n]??{index:n,key:u,start:l,size:a,end:l+a,lane:0},f,this):l<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(u)||this.scrollDirection!=="backward"));(this.pendingMin===null||n<this.pendingMin)&&(this.pendingMin=n),this.itemSizeCache.set(u,r),this.itemSizeCacheVersion++,m?this.applyScrollAdjustment(this.getTotalSize()-h):x&&this.applyScrollAdjustment(f),this.notify(!1)}},this.getVirtualItems=ls(()=>[this.getVirtualIndexes(),this.getMeasurements()],(n,r)=>{const o=[];for(let i=0,a=n.length;i<a;i++){const l=n[i],u=r[l];o.push(u)}return o},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=n=>{const r=this.getMeasurements();if(r.length===0)return;const o=this._flatMeasurements,i=this.options.lanes===1&&o!=null,a=o0(0,r.length-1,i?l=>o[l*2]:l=>$u(r[l]).start,n);return $u(r[a])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const n=this.scrollElement.document.documentElement;return this.options.horizontal?n.scrollWidth-this.scrollElement.innerWidth:n.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(n=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=n,this.getOffsetForAlignment=(n,r,o=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),a=this.getScrollOffset();r==="auto"&&(r=n>=a+i?"end":"start"),r==="center"?n+=(o-i)/2:r==="end"&&(n-=i);const l=this.getMaxScrollOffset();return Math.max(Math.min(l,n),0)},this.getOffsetForIndex=(n,r="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));const o=this.getSize(),i=this.getScrollOffset(),a=this.measurementsCache[n];if(!a)return;if(r==="auto")if(a.end>=i+o-this.options.scrollPaddingEnd)r="end";else if(a.start<=i+this.options.scrollPaddingStart)r="start";else return[i,r];if(r==="end"&&n===this.options.count-1)return[this.getMaxScrollOffset(),r];const l=r==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(l,r,a.size),r]},this.scrollToOffset=(n,{align:r="start",behavior:o="auto"}={})=>{const i=this.getOffsetForAlignment(n,r),a=this.now();this.scrollState={index:null,align:r,behavior:o,startedAt:a,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollToIndex=(n,{align:r="auto",behavior:o="auto"}={})=>{n=Math.max(0,Math.min(n,this.options.count-1));const i=this.getOffsetForIndex(n,r);if(!i)return;const[a,l]=i,u=this.now();this.scrollState={index:n,align:l,behavior:o,startedAt:u,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollBy=(n,{behavior:r="auto"}={})=>{const o=this.getScrollOffset()+n,i=this.now();this.scrollState={index:null,align:"start",behavior:r,startedAt:i,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:n="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:n});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:n})},this.getTotalSize=()=>{var n;const r=this.getMeasurements();let o;if(r.length===0)o=this.options.paddingStart;else if(this.options.lanes===1){const i=r.length-1,a=this._flatMeasurements;a!=null?o=a[i*2]+a[i*2+1]:o=((n=r[i])==null?void 0:n.end)??0}else{const i=Array(this.options.lanes).fill(null);let a=r.length-1;for(;a>=0&&i.some(l=>l===null);){const l=r[a];i[l.lane]===null&&(i[l.lane]=l.end),a--}o=Math.max(...i.filter(l=>l!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const n=[];if(this.itemSizeCache.size===0)return n;const r=this.getMeasurements();for(const o of r)o&&this.itemSizeCache.has(o.key)&&n.push({index:o.index,key:o.key,start:o.start,size:o.size,end:o.end,lane:o.lane});return n},this._scrollToOffset=(n,{adjustments:r,behavior:o})=>{this._intendedScrollOffset=n+(r??0),this.options.scrollToFn(n,{behavior:o,adjustments:r},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(t)}applyScrollAdjustment(t,n){t!==0&&(Ki()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=t:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:n}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const r=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,o=r?r[0]:this.scrollState.lastTargetOffset,i=1,a=o!==this.scrollState.lastTargetOffset;if(!a&&pT(o,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.getScrollOffset()!==o&&this._scrollToOffset(o,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,a){const l=this.getSize()||600,u=Math.abs(o-this.getScrollOffset()),d=this.scrollState.behavior==="smooth"&&u>l;this.scrollState.lastTargetOffset=o,d||(this.scrollState.behavior="auto"),this._scrollToOffset(o,{adjustments:void 0,behavior:d?"smooth":"auto"})}this.scheduleScrollReconcile()}}const o0=(e,t,n,r)=>{for(;e<=t;){const o=(e+t)/2|0,i=n(o);if(i<r)e=o+1;else if(i>r)t=o-1;else return o}return e>0?e-1:0};function _T(e,t,n){let r=0;for(;r<=t;){const o=(r+t)/2|0,i=e[o*2];if(i<n)r=o+1;else if(i>n)t=o-1;else return o}return r>0?r-1:0}function NT(e,t,n,r,o){const i=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:i};if(r===1&&o!==null){const d=_T(o,i,n);let p=d;const f=n+t;for(;p<i&&o[p*2]+o[p*2+1]<f;)p++;return{startIndex:d,endIndex:p}}let l=o0(0,i,d=>e[d].start,n),u=l;if(r===1)for(;u<i&&e[u].end<n+t;)u++;else if(r>1){const d=Array(r).fill(0);for(;u<i&&d.some(f=>f<n+t);){const f=e[u];d[f.lane]=f.end,u++}const p=Array(r).fill(n+t);for(;l>=0&&p.some(f=>f>=n);){const f=e[l];p[f.lane]=f.start,l--}l=Math.max(0,l-l%r),u=Math.min(i,u+(r-1-u%r))}return{startIndex:l,endIndex:u}}const Gi=typeof document<"u"?c.useLayoutEffect:c.useEffect;function i0({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n="transform",...r}){const o=c.useReducer(d=>d+1,0)[1],i=c.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});i.current.enabled=t,i.current.mode=n;const a=d=>{const p=i.current;if(!p.enabled||!p.container)return;const f=d.getTotalSize();if(f!==p.lastSize){p.lastSize=f;const w=d.options.horizontal?"width":"height";p.container.style[w]=`${f}px`}const m=!!d.options.horizontal,h=p.mode==="transform",x=m?"left":"top",v=d.options.scrollMargin,b=d.getVirtualItems();for(const w of b){const y=w.start-v,j=d.elementsCache.get(w.key);j&&p.lastPositions.get(j)!==y&&(p.lastPositions.set(j,y),h?j.style.transform=m?`translate3d(${y}px, 0, 0)`:`translate3d(0, ${y}px, 0)`:j.style[x]=`${y}px`)}},l={...r,onChange:(d,p)=>{var f;const m=i.current;let h=!0;if(m.enabled){a(d);const x=d.range,v=m.prevRange;h=!v||v.isScrolling!==d.isScrolling||v.startIndex!==x?.startIndex||v.endIndex!==x?.endIndex,h&&(m.prevRange=x?{startIndex:x.startIndex,endIndex:x.endIndex,isScrolling:d.isScrolling}:null)}h&&(e&&p?As.flushSync(o):o()),(f=r.onChange)==null||f.call(r,d,p)}},[u]=c.useState(()=>{const d=new ST(l);return Object.assign(d,{containerRef:p=>{const f=i.current;if(f.container=p,f.lastSize=null,p&&f.enabled){const m=d.getTotalSize();f.lastSize=m;const h=d.options.horizontal?"width":"height";p.style[h]=`${m}px`}}})});return u.setOptions(l),Gi(()=>u._didMount(),[]),Gi(()=>u._willUpdate()),Gi(()=>{a(u)}),u}function CT(e){return i0({observeElementRect:xT,observeElementOffset:vT,scrollToFn:kT,...e})}function TT(e){return i0({getScrollElement:()=>typeof document<"u"?window:null,observeElementRect:gT,observeElementOffset:yT,scrollToFn:jT,initialOffset:()=>typeof document<"u"?window.scrollY:0,...e})}const cn="agent-inspector:focus-log";function Is(e){window.dispatchEvent(new CustomEvent(cn,{detail:e}))}function Si(e){if(typeof CustomEvent>"u"||!(e instanceof CustomEvent))return null;const t=e.detail,n=Q(t,"logId");if(typeof n!="number"||!Number.isInteger(n)||n<0)return null;const r=Q(t,"tab");switch(r){case"anatomy":case"request":case"response":break;case void 0:break;default:return null}const o=Q(t,"source"),i=Q(t,"toolCallIndex"),a=typeof i=="number"&&Number.isInteger(i)&&i>=0?{logId:n,tab:r??"request",toolCallIndex:i}:{logId:n,tab:r??"request"};switch(o){case"virtualizer":return{...a,source:o};case void 0:return a;default:return null}}function ET(e){switch(e){case"end_turn":case"tool_use":return e;case"max_tokens":return"length";default:return null}}function RT(e){switch(e){case"stop":case"length":return e;case"max_tokens":return"length";default:return null}}function MT(e){switch(e){case"max_output_tokens":case"max_tokens":return!0;default:return!1}}function a0(e){if(e.responseText===null)return null;try{let t=JSON.parse(e.responseText);if(typeof t=="string"&&(t=JSON.parse(t)),!Ks(t))return null;if(typeof t.stop_reason=="string")return ET(t.stop_reason);if(Array.isArray(t.choices))for(const n of t.choices){if(!Ks(n)||typeof n.finish_reason!="string")continue;const r=RT(n.finish_reason);if(r!==null)return r}if(Array.isArray(t.output)){for(const n of t.output)if(Ks(n)&&n.type==="function_call")return"tool_use";if(t.status==="completed")return"stop"}if(t.status==="incomplete"&&Ks(t.incomplete_details)){const n=t.incomplete_details.reason;if(typeof n=="string"&&MT(n))return"length"}return null}catch{return null}}function xc(e){return e==="end_turn"||e==="stop"||e==="length"}function Nt({className:e,style:t,d:n,eyeStalks:r,eyes:o,legs:i,extras:a}){return s.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:t,className:$("inline-block size-5",e),children:[s.jsx("path",{d:n}),r,o,i,a]})}const Mn=s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"6.5",y1:"16",x2:"4.5",y2:"19.5"}),s.jsx("line",{x1:"9",y1:"17.5",x2:"8",y2:"20.5"}),s.jsx("line",{x1:"15",y1:"17.5",x2:"16",y2:"20.5"}),s.jsx("line",{x1:"17.5",y1:"16",x2:"19.5",y2:"19.5"})]}),l0=s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"7",y1:"16",x2:"5.5",y2:"18.5"}),s.jsx("line",{x1:"9.5",y1:"17",x2:"8.5",y2:"19.5"}),s.jsx("line",{x1:"14.5",y1:"17",x2:"15.5",y2:"19.5"}),s.jsx("line",{x1:"17",y1:"16",x2:"18.5",y2:"18.5"})]});function c0({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"})]})})}function IT({className:e}){return s.jsx(Nt,{className:e,d:"M4 13 C4 7 7.5 5.5 12 5.5 C16.5 5.5 20 7 20 13 C20 17.5 16.5 19 12 19 C7.5 19 4 17.5 4 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"9.5",y1:"6.5",x2:"9.5",y2:"4.5"}),s.jsx("line",{x1:"14.5",y1:"6.5",x2:"14.5",y2:"4.5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4",r:"1.1",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14.5",cy:"4",r:"1.1",fill:"currentColor",stroke:"none"})]}),legs:l0,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C4 9.5 2.5 10 3 12 C3.5 13.5 4.5 13 5 12"}),s.jsx("path",{d:"M19 11 C20 9.5 21.5 10 21 12 C20.5 13.5 19.5 13 19 12"})]})})}function PT({className:e}){return s.jsx(Nt,{className:e,d:"M3 13.5 C3 8 7 6 12 6 C17 6 21 8 21 13.5 C21 17 17 19 12 19 C7 19 3 17 3 13.5 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"7",y1:"7",x2:"6.5",y2:"4.5"}),s.jsx("line",{x1:"17",y1:"7",x2:"17.5",y2:"4.5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"6.5",cy:"4",r:"0.8",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"17.5",cy:"4",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 12 C2.5 10.5 1 11 1.5 13 C2 14.5 3.5 14 4.5 13"}),s.jsx("path",{d:"M20 12 C21.5 10.5 23 11 22.5 13 C22 14.5 20.5 14 19.5 13"})]})})}function AT({className:e}){return s.jsx(Nt,{className:e,d:"M6 14 C6 8 9 5.5 12 5.5 C15 5.5 18 8 18 14 C18 18 15 20 12 20 C9 20 6 18 6 14 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"6.5",x2:"10",y2:"3.5"}),s.jsx("line",{x1:"14",y1:"6.5",x2:"14",y2:"3.5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"10",cy:"3",r:"0.7",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14",cy:"3",r:"0.7",fill:"currentColor",stroke:"none"})]}),legs:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"7",y1:"17",x2:"5",y2:"20.5"}),s.jsx("line",{x1:"9.5",y1:"18.5",x2:"8.5",y2:"21.5"}),s.jsx("line",{x1:"14.5",y1:"18.5",x2:"15.5",y2:"21.5"}),s.jsx("line",{x1:"17",y1:"17",x2:"19",y2:"20.5"})]}),extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6.5 11 C5 8.5 3 9 3.5 11.5 C4 13.5 5 13 6 12"}),s.jsx("path",{d:"M17.5 11 C19 8.5 21 9 20.5 11.5 C20 13.5 19 13 18 12"})]})})}function OT({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 L13 4 L14 7 C16 7 19 9 19 13 C19 16 16 18 13 18 L12 21 L11 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.8",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"})]})})}function zT({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"}),s.jsx("line",{x1:"13.5",y1:"4",x2:"15.5",y2:"5"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"})]})})}function LT({className:e}){return s.jsx(Nt,{className:e,d:"M5.5 13.5 C5.5 10 8.5 8 12 8 C15.5 8 18.5 10 18.5 13.5 C18.5 16 15.5 17.5 12 17.5 C8.5 17.5 5.5 16 5.5 13.5 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"8",x2:"10",y2:"6"}),s.jsx("line",{x1:"14",y1:"8",x2:"14",y2:"6"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"9",y1:"6",x2:"11",y2:"6.5"}),s.jsx("line",{x1:"13",y1:"6",x2:"15",y2:"6.5"})]}),legs:l0,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 11.5 C4.5 10.5 3 11 3.5 12.5 C4 13.5 5 13 5.5 12.5"}),s.jsx("path",{d:"M18 11.5 C19.5 10.5 21 11 20.5 12.5 C20 13.5 19 13 18.5 12.5"})]})})}function $T({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.7",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.7",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),s.jsx("line",{x1:"8.5",y1:"4",x2:"10.5",y2:"4.5"}),s.jsx("line",{x1:"15.5",y1:"4",x2:"13.5",y2:"4.5"}),s.jsx("path",{d:"M9 15.5 C10 14.5 14 14.5 15 15.5"})]})})}function DT({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9.5",cy:"4.5",r:"1.2",fill:"none",stroke:"currentColor"}),s.jsx("circle",{cx:"14.5",cy:"4.5",r:"1.2",fill:"none",stroke:"currentColor"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),s.jsx("ellipse",{cx:"12",cy:"15",rx:"2",ry:"1.5",fill:"currentColor",stroke:"none"})]})})}function FT({className:e}){return s.jsx(Nt,{className:e,d:"M4.5 13 C4.5 8 7.5 6 12 6 C16.5 6 19.5 8 19.5 13 C19.5 17 16.5 18.5 12 18.5 C7.5 18.5 4.5 17 4.5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"9.5",y1:"7",x2:"9",y2:"5"}),s.jsx("line",{x1:"14.5",y1:"7",x2:"15",y2:"5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"9",cy:"4.5",r:"1",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"15",cy:"4.5",r:"1",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9 2 9.5 2.5 12 C3 14 4 13 5 12"}),s.jsx("path",{d:"M19 11 C20.5 9 22 9.5 21.5 12 C21 14 20 13 19 12"}),s.jsx("path",{d:"M9 14.5 C10 16 14 16 15 14.5"}),s.jsx("circle",{cx:"7",cy:"13",r:"1",fill:"currentColor",stroke:"none",opacity:"0.3"}),s.jsx("circle",{cx:"17",cy:"13",r:"1",fill:"currentColor",stroke:"none",opacity:"0.3"})]})})}function UT({className:e}){return s.jsx(Nt,{className:e,d:"M5 13 C5 9 8 7 12 7 C16 7 19 9 19 13 C19 16 16 18 12 18 C8 18 5 16 5 13 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5.5"}),s.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5.5"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"7.5",y1:"5.5",x2:"16.5",y2:"5.5"}),s.jsx("rect",{x:"7",y:"5",width:"4",height:"2",rx:"0.5",fill:"currentColor",stroke:"none"}),s.jsx("rect",{x:"13",y:"5",width:"4",height:"2",rx:"0.5",fill:"currentColor",stroke:"none"})]}),legs:Mn,extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),s.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),s.jsx("path",{d:"M9.5 15 C10.5 16 13.5 16 14.5 15"})]})})}function BT({className:e}){return s.jsx(Nt,{className:e,d:"M7 13.5 C7 10.5 9.5 9 12 9 C14.5 9 17 10.5 17 13.5 C17 16 14.5 17.5 12 17.5 C9.5 17.5 7 16 7 13.5 Z",eyeStalks:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"10.5",y1:"9.5",x2:"10.5",y2:"8"}),s.jsx("line",{x1:"13.5",y1:"9.5",x2:"13.5",y2:"8"})]}),eyes:s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"10.5",cy:"7.5",r:"0.8",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"13.5",cy:"7.5",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:s.jsxs(s.Fragment,{children:[s.jsx("line",{x1:"8",y1:"16",x2:"6.5",y2:"18"}),s.jsx("line",{x1:"10",y1:"17",x2:"9.5",y2:"19"}),s.jsx("line",{x1:"14",y1:"17",x2:"14.5",y2:"19"}),s.jsx("line",{x1:"16",y1:"16",x2:"17.5",y2:"18"})]}),extras:s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M7.5 12 C6.5 11 5.5 11.5 6 13 C6.5 14 7 13.5 7.5 13"}),s.jsx("path",{d:"M16.5 12 C17.5 11 18.5 11.5 18 13 C17.5 14 17 13.5 16.5 13"})]})})}const Ya=[c0,IT,PT,AT,OT,zT,LT,$T,DT,FT,UT,BT];function gc(e){return Ya[Math.abs(e)%Ya.length]??c0}function qT(e){const t=Ya.length-2;return t<=0?0:1+((Number.isFinite(e)?Math.trunc(e):0)%t+t)%t}function HT(e){return gc(qT(e))}const VT="x-anthropic-billing-header:";function WT(e){return e.trimStart().toLowerCase().startsWith(VT)}function ZT(e){return mc(e)?Object.prototype.hasOwnProperty.call(e,"system"):!1}function KT(e){if(!mc(e))return!1;const t=Q(e,"type"),n=Q(e,"text");return typeof t!="string"||t!=="text"||typeof n!="string"?!1:WT(n)}function GT(e){let t;try{t=JSON.parse(e)}catch{return{body:e,removed:0}}if(!ZT(t))return{body:e,removed:0};const n=t.system;if(!Array.isArray(n)||n.length===0)return{body:e,removed:0};const r=[];let o=0;for(const i of n){if(KT(i)){o+=1;continue}r.push(i)}return o===0?{body:e,removed:0}:(r.length===0?delete t.system:t.system=r,{body:JSON.stringify(t),removed:o})}const JT=400,Fu=2e3;function YT(e){return Array.isArray(e)}function XT(e,t){const n=[e];let r=0;for(;n.length>0;){const o=n.pop();if(o!==void 0){if(r+=1,r>t)return r;if(!(o===null||typeof o!="object")){if(YT(o)){for(const i of o)n.push(i);continue}for(const i of Object.keys(o)){const a=o[i];a!==void 0&&n.push(a)}}}}return r}function QT(e){const t=XT(e,Fu+1);return t<=JT?{depth:Number.POSITIVE_INFINITY}:t<=Fu?{depth:3}:{depth:2}}function e4(e){try{const t=JSON.parse(e);return{kind:"json",data:Po(t)}}catch{return{kind:"text"}}}function Ji(e){const t=c.useMemo(()=>e===null?null:e4(e),[e]),n=t?.kind==="json"?t.data:null,r=c.useMemo(()=>n===null?null:QT(n),[n]),[o,i]=c.useState(!1),[a,l]=c.useState(0),[u,d]=c.useState(0),[p,f]=c.useTransition(),m=c.useCallback(()=>{const h=!o,x=h&&r!==null?r.depth:0;f(()=>{i(h),l(x),d(v=>v+1)})},[o,r]);return{parsedData:n,policy:r,isExpanded:o,toggle:m,isPending:p,bulkDepth:a,bulkRevision:u}}function Po(e){if(e==null)return null;switch(typeof e){case"string":return e;case"number":return e;case"boolean":return e;case"object":{if(Array.isArray(e))return e.map(n=>Po(n));const t={};for(const n of Object.keys(e)){const r=Object.getOwnPropertyDescriptor(e,n);t[n]=Po(r?.value)}return t}case"bigint":case"symbol":case"function":case"undefined":return String(e)}return null}function u0({className:e,orientation:t="horizontal",...n}){return s.jsx(eC,{"data-slot":"tabs","data-orientation":t,orientation:t,className:$("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...n})}const t4=tp("rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function d0({className:e,variant:t="default",...n}){return s.jsx(tC,{"data-slot":"tabs-list","data-variant":t,className:$(t4({variant:t}),e),...n})}function xn({className:e,...t}){return s.jsx(nC,{"data-slot":"tabs-trigger",className:$("focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-muted-foreground hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:border-border data-[state=active]:bg-background data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...t})}function jt({className:e,...t}){return s.jsx(sC,{"data-slot":"tabs-content",className:$("flex-1 outline-none",e),...t})}function bn(e){const[t,n]=c.useState(!1),r=c.useRef(null);c.useEffect(()=>()=>{r.current!==null&&clearTimeout(r.current)},[]);const o=c.useCallback(i=>{i.stopPropagation(),e!==null&&It(e).then(a=>{a&&(n(!0),r.current!==null&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),2e3))})},[e]);return{copied:t,copy:o}}const n4=c.lazy(()=>Kt(()=>import("./CompareDrawer-BXQWabQJ.js"),__vite__mapDeps([2,1])).then(e=>({default:e.CompareDrawer}))),s4=c.lazy(()=>Kt(()=>import("./InspectorPet-CpQEXKcr.js"),__vite__mapDeps([3,1])).then(e=>({default:e.InspectorPet}))),r4=c.lazy(()=>Kt(()=>import("./ReplayDialog-CnYt4UKE.js"),__vite__mapDeps([4,1,5])).then(e=>({default:e.ReplayDialog}))),o4=c.lazy(()=>Kt(()=>import("./RequestAnatomy-BI25al3m.js"),__vite__mapDeps([6,1])).then(e=>({default:e.RequestAnatomy}))),i4=c.lazy(()=>Kt(()=>import("./ResponseView-D3y-I9nb.js"),__vite__mapDeps([5,1])).then(e=>({default:e.ResponseView}))),a4=c.lazy(()=>Kt(()=>import("./StreamingChunkSequence-n90dYzPp.js"),__vite__mapDeps([7,1])).then(e=>({default:e.StreamingChunkSequence}))),Xa=c.lazy(()=>Kt(()=>import("./json-viewer-BoB2BfHg.js"),__vite__mapDeps([8,1])).then(e=>({default:e.JsonViewer}))),l4=c.lazy(()=>Kt(()=>import("./json-viewer-BoB2BfHg.js"),__vite__mapDeps([8,1])).then(e=>({default:e.JsonViewerFromString}))),c4=1200,u4=12;function d4(e){const{containerRef:t,setExpandToPath:n,ensureTabActive:r,highlightMs:o}=e,i=c.useRef(null);return c.useCallback(a=>{r?.(),n(a.path);const l=f=>{f.scrollIntoView({behavior:"smooth",block:"center"}),f.classList.add("ring-2","ring-primary/60","ring-offset-1","ring-offset-background","rounded-sm","transition-shadow"),i.current!==null&&clearTimeout(i.current),i.current=setTimeout(()=>{f.classList.remove("ring-2","ring-primary/60","ring-offset-1","ring-offset-background","rounded-sm","transition-shadow"),n(null)},o??c4)},d=`[data-anatomy-path="${(f=>typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(f):f.replace(/(["'\\[\](){}])/g,"\\$1"))(a.path)}"]`,p=f=>{const m=t.current;if(m!==null){const h=m.querySelector(d);if(h!==null){l(h);return}}f>0?window.requestAnimationFrame(()=>p(f-1)):n(null)};window.requestAnimationFrame(()=>p(u4))},[t,r,o,n])}const Uu="The compact log metadata is still available. Retry if the local server was restarting or the body store was briefly unavailable.";function xs(e){return e<1024?`${e.toLocaleString()} B`:e<1024*1024?`${(e/1024).toFixed(1)} KiB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MiB`:`${(e/1024/1024/1024).toFixed(1)} GiB`}function p4(e,t){const n=[];return e!=null&&n.push(`Request ${xs(e)}`),t!=null&&n.push(`Response ${xs(t)}`),n.length===0?null:n.join(" · ")}function f4(e){if(e instanceof Jo)return{title:"Full bodies timed out",detail:"The log store did not answer before the UI timeout. Compact metadata is still available; retry loading the bodies."};if(e instanceof Error){const t=e.message.trim();return{title:"Full bodies could not be loaded",detail:t===""?Uu:t}}return{title:"Full bodies could not be loaded",detail:Uu}}class p0{diff(t,n,r={}){let o;typeof r=="function"?(o=r,r={}):"callback"in r&&(o=r.callback);const i=this.castInput(t,r),a=this.castInput(n,r),l=this.removeEmpty(this.tokenize(i,r)),u=this.removeEmpty(this.tokenize(a,r));return this.diffWithOptionsObj(l,u,r,o)}diffWithOptionsObj(t,n,r,o){var i;const a=y=>{if(y=this.postProcess(y,r),o){setTimeout(function(){o(y)},0);return}else return y},l=n.length,u=t.length;let d=1,p=l+u;r.maxEditLength!=null&&(p=Math.min(p,r.maxEditLength));const f=(i=r.timeout)!==null&&i!==void 0?i:1/0,m=Date.now()+f,h=[{oldPos:-1,lastComponent:void 0}];let x=this.extractCommon(h[0],n,t,0,r);if(h[0].oldPos+1>=u&&x+1>=l)return a(this.buildValues(h[0].lastComponent,n,t));let v=-1/0,b=1/0;const w=()=>{for(let y=Math.max(v,-d);y<=Math.min(b,d);y+=2){let j;const k=h[y-1],S=h[y+1];k&&(h[y-1]=void 0);let _=!1;if(S){const P=S.oldPos-y;_=S&&0<=P&&P<l}const N=k&&k.oldPos+1<u;if(!_&&!N){h[y]=void 0;continue}if(!N||_&&k.oldPos<S.oldPos?j=this.addToPath(S,!0,!1,0,r):j=this.addToPath(k,!1,!0,1,r),x=this.extractCommon(j,n,t,y,r),j.oldPos+1>=u&&x+1>=l)return a(this.buildValues(j.lastComponent,n,t))||!0;h[y]=j,j.oldPos+1>=u&&(b=Math.min(b,y-1)),x+1>=l&&(v=Math.max(v,y+1))}d++};if(o)(function y(){setTimeout(function(){if(d>p||Date.now()>m)return o(void 0);w()||y()},0)})();else for(;d<=p&&Date.now()<=m;){const y=w();if(y)return y}}addToPath(t,n,r,o,i){const a=t.lastComponent;return a&&!i.oneChangePerToken&&a.added===n&&a.removed===r?{oldPos:t.oldPos+o,lastComponent:{count:a.count+1,added:n,removed:r,previousComponent:a.previousComponent}}:{oldPos:t.oldPos+o,lastComponent:{count:1,added:n,removed:r,previousComponent:a}}}extractCommon(t,n,r,o,i){const a=n.length,l=r.length;let u=t.oldPos,d=u-o,p=0;for(;d+1<a&&u+1<l&&this.equals(r[u+1],n[d+1],i);)d++,u++,p++,i.oneChangePerToken&&(t.lastComponent={count:1,previousComponent:t.lastComponent,added:!1,removed:!1});return p&&!i.oneChangePerToken&&(t.lastComponent={count:p,previousComponent:t.lastComponent,added:!1,removed:!1}),t.oldPos=u,d}equals(t,n,r){return r.comparator?r.comparator(t,n):t===n||!!r.ignoreCase&&t.toLowerCase()===n.toLowerCase()}removeEmpty(t){const n=[];for(let r=0;r<t.length;r++)t[r]&&n.push(t[r]);return n}castInput(t,n){return t}tokenize(t,n){return Array.from(t)}join(t){return t.join("")}postProcess(t,n){return t}get useLongestToken(){return!1}buildValues(t,n,r){const o=[];let i;for(;t;)o.push(t),i=t.previousComponent,delete t.previousComponent,t=i;o.reverse();const a=o.length;let l=0,u=0,d=0;for(;l<a;l++){const p=o[l];if(p.removed)p.value=this.join(r.slice(d,d+p.count)),d+=p.count;else{if(!p.added&&this.useLongestToken){let f=n.slice(u,u+p.count);f=f.map(function(m,h){const x=r[d+h];return x.length>m.length?x:m}),p.value=this.join(f)}else p.value=this.join(n.slice(u,u+p.count));u+=p.count,p.added||(d+=p.count)}}return o}}class m4 extends p0{constructor(){super(...arguments),this.tokenize=m0}equals(t,n,r){return r.ignoreWhitespace?((!r.newlineIsToken||!t.includes(`
|
|
116
116
|
`))&&(t=t.trim()),(!r.newlineIsToken||!n.includes(`
|
|
117
117
|
`))&&(n=n.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(t.endsWith(`
|
|
118
118
|
`)&&(t=t.slice(0,-1)),n.endsWith(`
|
|
119
119
|
`)&&(n=n.slice(0,-1))),super.equals(t,n,r)}}const h4=new m4;function f0(e,t,n){return h4.diff(e,t,n)}function m0(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
|
|
120
|
-
`));const n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let o=0;o<r.length;o++){const i=r[o];o%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}class
|
|
120
|
+
`));const n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let o=0;o<r.length;o++){const i=r[o];o%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}class x4 extends p0{constructor(){super(...arguments),this.tokenize=m0}get useLongestToken(){return!0}castInput(t,n){const{undefinedReplacement:r,stringifyReplacer:o=(i,a)=>typeof a>"u"?r:a}=n;return typeof t=="string"?t:JSON.stringify(Qa(t,null,null,o),null," ")}equals(t,n,r){return super.equals(t.replace(/,([\r\n])/g,"$1"),n.replace(/,([\r\n])/g,"$1"),r)}}const g4=new x4;function b4(e,t,n){return g4.diff(e,t,n)}function Qa(e,t,n,r,o){t=t||[],n=n||[],r&&(e=r(o===void 0?"":o,e));let i;for(i=0;i<t.length;i+=1)if(t[i]===e)return n[i];let a;if(Object.prototype.toString.call(e)==="[object Array]"){for(t.push(e),a=new Array(e.length),n.push(a),i=0;i<e.length;i+=1)a[i]=Qa(e[i],t,n,r,String(i));return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),typeof e=="object"&&e!==null){t.push(e),a={},n.push(a);const l=[];let u;for(u in e)Object.prototype.hasOwnProperty.call(e,u)&&l.push(u);for(l.sort(),i=0;i<l.length;i+=1)u=l[i],a[u]=Qa(e[u],t,n,r,u);t.pop(),n.pop()}else a=e;return a}function Bu(e){return e===void 0?[]:Object.entries(e).map(t=>[t[0].toLowerCase(),t[1]]).sort(([t],[n])=>t.localeCompare(n))}function qu([e,t]){return`${e}: ${t}`}function el(e){const t=[];let n=0,r=0;for(const o of e){const i=o.value.split(`
|
|
121
121
|
`);i.length>0&&i[i.length-1]===""&&i.pop();for(const a of i)o.added?(r+=1,t.push({kind:"added",text:a,oldLineNumber:null,newLineNumber:r})):o.removed?(n+=1,t.push({kind:"removed",text:a,oldLineNumber:n,newLineNumber:null})):(n+=1,r+=1,t.push({kind:"context",text:a,oldLineNumber:n,newLineNumber:r}))}return t}function v4(e,t){const n=Bu(e).map(qu).join(`
|
|
122
122
|
`),r=Bu(t).map(qu).join(`
|
|
123
|
-
`);if(n===r)return{lines:[],isEmpty:!0};const o=f0(n,r);return{lines:el(o),isEmpty:!1}}function Hu(e){try{const t=JSON.parse(e);return t===null||typeof t=="string"||typeof t=="object"?t:null}catch{return null}}function y4(e,t){const n=e??"",r=t??"";if(n===r)return{lines:[],isEmpty:!0};const o=Hu(n),i=Hu(r);if(o!==null&&i!==null){const l=b4(o,i)??[];if(l.length===1){const u=l[0];if(u!==void 0&&!u.added&&!u.removed)return{lines:[],isEmpty:!0}}return{lines:el(l),isEmpty:!1}}const a=f0(n,r);return{lines:el(a),isEmpty:!1}}const w4=22,Yi=1e4;function j4(e){return e==="added"?"+":e==="removed"?"-":" "}function k4(e){return e==="added"?"bg-green-500/10 text-green-700 dark:text-green-300":e==="removed"?"bg-red-500/10 text-red-700 dark:text-red-300":"text-foreground/80"}const S4=function({result:t,emptyLabel:n}){const[r,o]=c.useState("unified"),i=c.useRef(null),a=CT({count:t.lines.length,getScrollElement:()=>i.current,estimateSize:()=>w4,overscan:10});if(t.isEmpty)return s.jsx("div",{className:"rounded border border-dashed border-border bg-muted/30 px-4 py-6 text-center text-xs text-muted-foreground","data-testid":"diff-empty",children:n??"No transformation applied — raw and processed are identical."});const l=t.lines.length,u=l>Yi,d=u?t.lines.slice(0,Yi):t.lines;return s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[s.jsxs("span",{children:[l.toLocaleString()," line",l===1?"":"s",u&&` (showing first ${Yi.toLocaleString()})`]}),s.jsxs("div",{className:"inline-flex rounded-md border border-border overflow-hidden",children:[s.jsxs("button",{type:"button",onClick:()=>o("unified"),"aria-pressed":r==="unified",className:$("flex items-center gap-1 px-2 py-1 transition-colors",r==="unified"?"bg-muted text-foreground":"hover:bg-muted/50"),title:"Unified diff (single column)",children:[s.jsx(Lj,{className:"size-3"}),"Unified"]}),s.jsxs("button",{type:"button",onClick:()=>o("split"),"aria-pressed":r==="split",className:$("flex items-center gap-1 px-2 py-1 transition-colors border-l border-border",r==="split"?"bg-muted text-foreground":"hover:bg-muted/50"),title:"Split diff (side by side)",children:[s.jsx(Sw,{className:"size-3"}),"Split"]})]})]}),s.jsx("div",{ref:i,className:"max-h-[60vh] overflow-auto rounded border border-border bg-background font-mono text-xs","data-testid":"diff-viewport",children:r==="unified"?s.jsx(_4,{virtualizer:a,lines:d}):s.jsx(T4,{lines:d})})]})};function _4({virtualizer:e,lines:t}){return s.jsx("div",{style:{height:`${e.getTotalSize()}px`,width:"100%",position:"relative"},children:e.getVirtualItems().map(n=>{const r=t[n.index];return r===void 0?null:s.jsxs("div",{"data-index":n.index,ref:e.measureElement,className:$("flex items-start gap-3 px-2",k4(r.kind)),style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${n.start}px)`},children:[s.jsx("span",{className:"select-none text-muted-foreground/60 w-10 text-right tabular-nums",children:r.oldLineNumber??""}),s.jsx("span",{className:"select-none text-muted-foreground/60 w-10 text-right tabular-nums",children:r.newLineNumber??""}),s.jsx("span",{className:$("select-none w-3 text-right font-bold",r.kind==="added"&&"text-green-600 dark:text-green-400",r.kind==="removed"&&"text-red-600 dark:text-red-400"),children:j4(r.kind)}),s.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:r.text})]},n.key)})})}function N4(e){const t=[];let n=0;for(;n<e.length;){const r=e[n];if(r===void 0)break;if(r.kind==="context"){t.push({left:{text:r.text,lineNumber:r.oldLineNumber},right:{text:r.text,lineNumber:r.newLineNumber},kind:"equal"}),n+=1;continue}const o=[],i=[];for(;n<e.length&&e[n]?.kind==="removed";){const l=e[n];l!==void 0&&o.push(l),n+=1}for(;n<e.length&&e[n]?.kind==="added";){const l=e[n];l!==void 0&&i.push(l),n+=1}const a=Math.max(o.length,i.length);for(let l=0;l<a;l+=1){const u=o[l],d=i[l];u!==void 0&&d!==void 0?t.push({left:{text:u.text,lineNumber:u.oldLineNumber},right:{text:d.text,lineNumber:d.newLineNumber},kind:"changed"}):u!==void 0?t.push({left:{text:u.text,lineNumber:u.oldLineNumber},right:null,kind:"removed"}):d!==void 0&&t.push({left:null,right:{text:d.text,lineNumber:d.newLineNumber},kind:"added"})}}return t}function C4(e){switch(e){case"changed":return"bg-amber-500/10";case"removed":return"bg-red-500/10";case"added":return"bg-green-500/10";case"equal":return""}}function T4({lines:e}){const t=N4(e);return s.jsx("div",{"data-testid":"diff-split",children:t.map((n,r)=>s.jsxs("div",{className:$("grid grid-cols-2 font-mono text-xs",C4(n.kind)),children:[s.jsxs("div",{className:"flex items-start gap-2 px-2 border-r border-border/50",children:[s.jsx("span",{className:"select-none text-muted-foreground/60 w-8 text-right tabular-nums",children:n.left?.lineNumber??""}),s.jsx("span",{className:$("select-none w-3 text-right font-bold",(n.kind==="removed"||n.kind==="changed")&&"text-red-600 dark:text-red-400"),children:n.left!==null?"-":" "}),s.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:n.left?.text??""})]}),s.jsxs("div",{className:"flex items-start gap-2 px-2",children:[s.jsx("span",{className:"select-none text-muted-foreground/60 w-8 text-right tabular-nums",children:n.right?.lineNumber??""}),s.jsx("span",{className:$("select-none w-3 text-right font-bold",(n.kind==="added"||n.kind==="changed")&&"text-green-600 dark:text-green-400"),children:n.right!==null?"+":" "}),s.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:n.right?.text??""})]})]},r))})}const h0=c.memo(S4),E4=tp("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function _e({className:e,variant:t="default",asChild:n=!1,...r}){const o=n?W5:"span";return s.jsx(o,{"data-slot":"badge","data-variant":t,className:$(E4({variant:t}),e),...r})}const R4=3;function M4({event:e}){const t=n=>{n.stopPropagation(),Is({logId:e.logId,tab:"response",toolCallIndex:e.index})};return s.jsx("button",{type:"button",className:"inline-flex h-5 min-w-0 max-w-[8.5rem] items-center rounded px-1.5 text-[10px] text-muted-foreground transition-colors hover:bg-background/65 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:t,onKeyDown:n=>n.stopPropagation(),"aria-label":`Open response tool call ${e.name}`,title:e.name,children:s.jsx("span",{className:"min-w-0 truncate font-mono font-semibold",children:e.name})})}function I4({events:e}){if(e.length===0)return null;const t=e.slice(0,R4),n=Math.max(0,e.length-t.length);return s.jsxs("span",{className:"inline-flex h-7 min-w-0 max-w-full items-center gap-1 overflow-hidden rounded-md border border-cyan-300/10 bg-cyan-300/[0.055] px-1 sm:max-w-[26rem]",role:"group","aria-label":`${e.length} response tool ${e.length===1?"call":"calls"}`,onClick:r=>r.stopPropagation(),onKeyDown:r=>r.stopPropagation(),children:[s.jsxs("span",{className:"inline-flex h-5 shrink-0 items-center gap-1 px-1 font-mono text-[9px] font-semibold uppercase text-cyan-300",children:[s.jsx(xr,{className:"size-3"}),"Call ",e.length]}),s.jsxs("span",{className:"flex min-w-0 flex-1 items-center gap-0.5 overflow-hidden",children:[t.map(r=>s.jsx(M4,{event:r},r.id)),n>0&&s.jsxs("span",{className:"inline-flex h-5 shrink-0 items-center rounded px-1 font-mono text-[10px] font-semibold text-muted-foreground",children:["+",n]})]})]})}const P4={success:"bg-slate-300/[0.08] text-slate-100 border-transparent",client_error:"bg-amber-300/[0.10] text-amber-100 border-transparent",server_error:"bg-rose-400/[0.10] text-rose-100 border-transparent",pending:"bg-cyan-300/[0.08] text-cyan-100 border-transparent"},A4={success:{frame:"border-cyan-200/15 bg-white/[0.04] text-slate-100"},client_error:{frame:"border-amber-300/25 bg-amber-300/[0.08] text-amber-100"},server_error:{frame:"border-rose-300/25 bg-rose-300/[0.08] text-rose-100"},pending:{frame:"border-cyan-300/25 bg-cyan-300/[0.08] text-cyan-100"}},qs="border border-transparent bg-white/[0.045] hover:bg-white/[0.075] size-8 text-muted-foreground shadow-none hover:text-cyan-100",Rt="bg-white/[0.045] flex h-7 items-center gap-1 rounded-md px-2 text-xs";function Hs(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function O4(e){return e>=10?`${e.toFixed(0)}/s`:`${e.toFixed(1)}/s`}function z4(e,t){switch(e){case"success":return t===null?"OK":String(t);case"client_error":return t===null?"WARN":String(t);case"server_error":return t===null?"FAIL":String(t);case"pending":return"ROLL"}}function Vu({trend:e}){if(e===null)return null;const t=e.direction==="up",n=t?$y:Iy,r=t?"+":"-";return s.jsxs("span",{className:"flex items-center gap-0.5 text-muted-foreground tabular-nums",children:[s.jsx(n,{className:t?"size-3 text-cyan-300":"size-3 text-rose-400"}),s.jsxs("span",{className:"font-mono",children:[r,Me(e.delta)]})]})}const L4=c.memo(function({log:e,displayNumber:t,messageCount:n=null,toolCount:r=null,toolEvents:o=[],expanded:i,onToggle:a,cacheTrend:l=null,activeTab:u,tabActions:d,onReplay:p,slowResponseThresholdSeconds:f=0,showClientMetadata:m=!0,timeDisplayFormat:h}){const g=Mg(e.responseStatus),v=e.elapsedMs!==null&&f>0&&e.elapsedMs>f*1e3,b=e.inputTokens!==null||e.outputTokens!==null,w=e.firstChunkMs??null,y=e.tokensPerSecond??null,j=w===null?null:Hs(w),k=y===null||y<=0?null:O4(y),S=e.warnings?.length??0,_=e.clientPid!==null&&e.clientPid!==void 0,N=e.clientProjectFolder!==null&&e.clientProjectFolder!==void 0&&e.clientProjectFolder!=="";e.clientCwd!==null&&e.clientCwd!==void 0&&e.clientCwd;const P=A4[g],A=z4(g,e.responseStatus),M=g!=="success"||e.responseStatus!==200,C=e.streaming&&j===null&&k===null;return s.jsx($s,{children:s.jsxs("div",{id:`log-${e.id}`,role:"button",tabIndex:0,"data-nav-id":`log-${e.id}`,"data-nav-action":i?"collapse":"expand",className:$("group/header relative isolate flex min-w-0 cursor-pointer items-start gap-2 overflow-hidden px-3 py-2 transition-[background-color,border-color,box-shadow]",i?"bg-white/[0.04]":"bg-transparent hover:bg-white/[0.035]","select-none","focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-none"),onClick:a,onKeyDown:I=>{(I.key==="Enter"||I.key===" ")&&(I.preventDefault(),a())},children:[s.jsxs("span",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:$("inline-flex h-8 shrink-0 items-center rounded-md px-2 font-mono",P.frame),children:s.jsxs("span",{className:"text-xs font-semibold tabular-nums",title:`Log ID ${String(e.id)}`,children:["#",t]})}),s.jsxs("span",{className:"bg-white/[0.045] flex h-7 shrink-0 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground",children:[s.jsx(sn,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",title:e.timestamp,children:Ma(e.timestamp,h)})]}),M&&s.jsxs(_e,{variant:"outline",className:$("h-6 gap-1 rounded-md px-2 py-0 font-mono text-[10px] font-semibold uppercase tabular-nums shadow-[inset_0_1px_0_rgba(255,255,255,0.05)]",P4[g]),children:[g==="success"?s.jsx(Ge,{className:"size-3","aria-label":"Success"}):g==="server_error"?s.jsx(jj,{className:"size-3","aria-label":"Server error"}):g==="client_error"?s.jsx(yn,{className:"size-3","aria-label":"Client error"}):s.jsx(He,{className:"size-3 animate-spin","aria-label":"Pending"}),A]}),S>0&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs(_e,{variant:"outline",className:"h-6 gap-1 rounded-md border-amber-300/30 bg-amber-300/[0.10] px-2 py-0 font-mono text-[10px] tabular-nums text-amber-100",children:[s.jsx(yn,{className:"size-3","aria-label":"Tool schema warnings"}),S]})}),s.jsx(mt,{children:S===1?"1 tool schema warning":`${S} tool schema warnings`})]}),e.elapsedMs!==null&&(v?s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs("span",{className:$(Rt,"shrink-0 border-amber-300/25 text-amber-200"),children:[s.jsx(sn,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:Hs(e.elapsedMs)}),s.jsx(yn,{className:"size-3","aria-label":"Slow response"})]})}),s.jsxs(mt,{children:["Slow response: ",Hs(e.elapsedMs)," exceeds"," ",Hs(f*1e3)]})]}):s.jsxs("span",{className:$(Rt,"shrink-0 text-muted-foreground"),children:[s.jsx(sn,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:Hs(e.elapsedMs)})]})),e.streaming&&j!==null&&s.jsxs("span",{className:$(Rt,"shrink-0 text-cyan-300"),children:[s.jsx(ru,{className:"size-3"}),s.jsxs("span",{className:"font-mono tabular-nums",children:["first ",j]})]}),e.streaming&&k!==null&&s.jsxs("span",{className:$(Rt,"shrink-0 text-cyan-300"),children:[s.jsx(zl,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:k})]}),b&&s.jsxs("span",{className:$(Rt,"min-w-0 sm:shrink-0"),children:[s.jsx(sr,{className:"size-3 text-muted-foreground"}),s.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-1 font-mono tabular-nums",children:[s.jsxs("span",{className:$("whitespace-nowrap",e.inputTokens!==null?"text-blue-400":"text-muted-foreground"),children:["IN ",e.inputTokens!==null?Me(e.inputTokens):"n/a"]}),s.jsx("span",{className:"text-muted-foreground",children:"/"}),s.jsxs("span",{className:$("whitespace-nowrap",e.outputTokens!==null?"text-amber-400":"text-muted-foreground"),children:["OUT ",e.outputTokens!==null?Me(e.outputTokens):"n/a"]})]})]}),e.cacheCreationInputTokens!==null&&e.cacheCreationInputTokens>0&&s.jsxs("span",{className:$(Rt,"shrink-0"),children:[s.jsx(Vu,{trend:l?.creation??null}),s.jsxs("span",{className:"font-mono tabular-nums text-cyan-300",children:["KV Cache +",Me(e.cacheCreationInputTokens)]})]}),e.cacheReadInputTokens!==null&&e.cacheReadInputTokens>0&&s.jsxs("span",{className:$(Rt,"shrink-0"),children:[s.jsx(Vu,{trend:l?.read??null}),s.jsxs("span",{className:"font-mono tabular-nums text-purple-400",children:["KV Cache ~",Me(e.cacheReadInputTokens)]})]}),n!==null&&s.jsxs("span",{className:$(Rt,"shrink-0 text-muted-foreground"),children:[s.jsx(Xo,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:n})]}),r!==null&&s.jsxs("span",{className:$(Rt,"shrink-0 text-muted-foreground"),children:[s.jsx(xr,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:r})]}),s.jsx(I4,{events:o}),e.origin!==null&&s.jsxs("span",{className:$(Rt,"hidden shrink-0 text-muted-foreground xl:flex"),title:`Origin: ${e.origin}`,children:[s.jsx(mf,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums truncate max-w-[120px]",title:e.origin,children:e.origin})]}),m&&(_||N)&&s.jsxs("span",{className:$(Rt,"hidden shrink-0 text-purple-300 xl:flex"),children:[s.jsx(Bw,{className:"size-3"}),N?s.jsx("span",{className:"font-mono tabular-nums",children:e.clientProjectFolder}):s.jsxs("span",{className:"font-mono tabular-nums",children:["PID ",e.clientPid]})]}),C&&s.jsx(ru,{className:"size-3 shrink-0 text-muted-foreground/60"})]}),s.jsxs("span",{className:"flex shrink-0 items-start gap-1.5",children:[i&&s.jsxs("span",{className:"flex items-center gap-1.5 shrink-0",onClick:I=>I.stopPropagation(),onKeyDown:I=>I.stopPropagation(),children:[d!==void 0&&u!==void 0&&(()=>{const I=d[u];return I===void 0?null:s.jsxs(s.Fragment,{children:[I.expansion!==null&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:qs,onClick:I.expansion.onToggle,disabled:I.expansion.isPending,"aria-pressed":I.expansion.isExpanded,"aria-label":I.expansion.isExpanded?"Collapse all JSON":"Expand all JSON",children:I.expansion.isExpanded?s.jsx(iw,{className:"size-3.5"}):s.jsx(ew,{className:"size-3.5"})})}),s.jsx(mt,{children:I.expansion.isExpanded?"Collapse all JSON nodes":"Expand all JSON nodes"})]}),I.diffWithRaw!==void 0&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:$(qs,I.diffWithRaw.active&&"border-cyan-300/35 bg-cyan-400/15 text-cyan-100"),onClick:I.diffWithRaw.onToggle,"aria-pressed":I.diffWithRaw.active,"aria-label":I.diffWithRaw.active?"Hide raw diff":"Diff with raw",children:s.jsx($w,{className:"size-3.5"})})}),s.jsx(mt,{children:I.diffWithRaw.active?"Hide diff with raw request":"Show diff between displayed and raw request body"})]}),I.diffWithPrevious!==void 0&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:qs,onClick:I.diffWithPrevious,"aria-label":"Diff with previous",children:s.jsx(hf,{className:"size-3.5"})})}),s.jsx(mt,{children:"Compare this request with the immediately preceding one"})]}),I.copyText!==null&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:qs,onClick:I.onCopy,"aria-label":I.copyCopied?"Copied":I.copyLabel,children:I.copyCopied?s.jsx(Ge,{className:"size-3.5 text-cyan-300"}):s.jsx(zt,{className:"size-3.5"})})}),s.jsx(mt,{children:I.copyCopied?"Copied to clipboard":I.copyLabel})]})]})})(),p!==void 0&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:qs,onClick:p,"aria-label":"Replay request",children:s.jsx(vf,{className:"size-3.5"})})}),s.jsx(mt,{children:"Re-send this request to the provider"})]})]}),s.jsx("span",{className:"bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200","aria-hidden":"true",children:i?s.jsx(tt,{className:"size-4 shrink-0"}):s.jsx(vt,{className:"size-4 shrink-0"})})]})]})})});function $4({...e}){return s.jsx(vk,{"data-slot":"collapsible",...e})}function a6({...e}){return s.jsx(Rf,{"data-slot":"collapsible-trigger",...e})}function D4({...e}){return s.jsx(Mf,{"data-slot":"collapsible-content",...e})}function F4({className:e,children:t,...n}){return s.jsxs(SN,{"data-slot":"scroll-area",className:$("relative overflow-hidden",e),...n,children:[s.jsx(_N,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full max-h-[inherit] rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:t}),s.jsx(U4,{}),s.jsx(NN,{})]})}function U4({className:e,orientation:t="vertical",...n}){return s.jsx(Fm,{"data-slot":"scroll-area-scrollbar",orientation:t,className:$("flex touch-none p-px transition-colors select-none",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",e),...n,children:s.jsx(Hm,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}const g0={file:"file",shell:"shell",browser:"browser",web:"web",mcp:"MCP",code:"code",other:"other"},B4={file:"border-transparent bg-blue-400/5 text-blue-300",shell:"border-transparent bg-teal-400/5 text-teal-300",browser:"border-transparent bg-cyan-400/5 text-cyan-300",web:"border-transparent bg-sky-400/5 text-sky-300",mcp:"border-transparent bg-violet-400/5 text-violet-300",code:"border-transparent bg-emerald-400/5 text-emerald-300",other:"border-transparent bg-muted/30 text-muted-foreground"};function q4({category:e}){switch(e){case"file":return s.jsx(Hw,{className:"size-3.5"});case"shell":return s.jsx(Yn,{className:"size-3.5"});case"browser":return s.jsx(bj,{className:"size-3.5"});case"web":return s.jsx(mf,{className:"size-3.5"});case"mcp":return s.jsx(qy,{className:"size-3.5"});case"code":return s.jsx(df,{className:"size-3.5"});case"other":return s.jsx(Rw,{className:"size-3.5"})}}function H4({names:e}){return e.length===0?null:s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1",children:[s.jsx("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"required"}),e.slice(0,4).map(t=>s.jsx(_e,{variant:"outline",className:"h-5 max-w-36 truncate rounded-md px-1.5 py-0 font-mono text-[10px]",children:t},t)),e.length>4&&s.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:["+",e.length-4]})]})}function V4({tool:e,called:t}){const[n,r]=c.useState(!1),o=bn(e.name),i=e.description!==null||e.requiredParameters.length>0||e.schema!==null;return s.jsx($4,{open:n,onOpenChange:r,children:s.jsxs("div",{className:"bg-white/[0.035] rounded-[8px]",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2 px-2.5 py-2",children:[s.jsxs("button",{type:"button",className:"flex min-w-0 flex-1 items-center gap-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:()=>r(a=>!a),"aria-expanded":n,disabled:!i,children:[s.jsx(q4,{category:e.category}),s.jsx("span",{className:"min-w-0 truncate font-mono text-xs font-semibold text-foreground/90",children:e.name}),t&&s.jsx(_e,{variant:"outline",className:"h-5 rounded-md border-emerald-400/20 bg-emerald-400/5 px-1.5 py-0 text-[10px] text-emerald-300",children:"called"}),s.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:[e.parameterCount," params"]}),e.descriptionPreview!==null&&s.jsx("span",{className:"hidden min-w-0 truncate text-xs text-muted-foreground md:inline",children:e.descriptionPreview}),s.jsx("span",{className:"flex-1"}),i&&(n?s.jsx(tt,{className:"size-3.5 shrink-0 text-muted-foreground"}):s.jsx(vt,{className:"size-3.5 shrink-0 text-muted-foreground"}))]}),s.jsx("button",{type:"button",className:"bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:o.copy,"aria-label":o.copied?"Copied tool name":"Copy tool name",children:o.copied?s.jsx(Ge,{className:"size-3.5 text-emerald-400"}):s.jsx(zt,{className:"size-3.5"})})]}),s.jsx(D4,{children:n&&s.jsxs("div",{className:"space-y-2 bg-white/[0.025] px-2.5 py-2",children:[e.description!==null&&s.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:e.description}),s.jsx(H4,{names:e.requiredParameters}),e.schema!==null&&s.jsx(F4,{className:"bg-black/[0.16] max-h-64 rounded-[8px] p-2",children:s.jsx(c.Suspense,{fallback:s.jsx("div",{className:"text-xs text-muted-foreground",children:"Loading JSON..."}),children:s.jsx(Xa,{data:Po(e.schema),defaultExpandDepth:0})})})]})})]})})}function W4(e,t){return t.length===0?!0:`${e.name} ${e.description??""} ${g0[e.category]}`.toLowerCase().trim().includes(t)}const Z4=c.memo(function({summary:t,calledToolNames:n}){const[r,o]=c.useState(!1),[i,a]=c.useState(""),l=c.useMemo(()=>new Set(n),[n]),u=i.trim().toLowerCase(),d=c.useMemo(()=>t===null?[]:t.tools.filter(m=>W4(m,u)),[u,t]);if(t===null)return null;const p=t.tools.slice(0,6),f=t.tools.length-p.length;return s.jsxs("section",{className:"bg-black/[0.10] mb-3 overflow-hidden rounded-[8px]",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2 px-3 py-2",children:[s.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[s.jsx(xr,{className:"size-4 shrink-0 text-sky-300/80"}),s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[s.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Request Tools"}),s.jsx(_e,{variant:"outline",className:"h-5 rounded-md px-1.5 py-0 font-mono text-[10px]",children:t.tools.length}),t.toolChoiceLabel!==null&&s.jsxs(_e,{variant:"outline",className:"h-5 rounded-md px-1.5 py-0 font-mono text-[10px] text-muted-foreground",children:["tool_choice: ",t.toolChoiceLabel]})]}),s.jsx("div",{className:"mt-1 flex min-w-0 flex-wrap gap-1",children:t.categories.map(m=>s.jsxs(_e,{variant:"outline",className:$("h-5 rounded-md px-1.5 py-0 font-mono text-[10px]",B4[m.category]),children:[m.count," ",g0[m.category]]},m.category))})]})]}),s.jsxs(ee,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2 text-muted-foreground hover:text-cyan-100",onClick:()=>o(m=>!m),"aria-expanded":r,children:[r?s.jsx(tt,{className:"size-3.5"}):s.jsx(vt,{className:"size-3.5"}),r?"Hide":"Show"]})]}),s.jsxs("div",{className:"flex min-w-0 flex-wrap gap-1.5 bg-white/[0.025] px-3 py-2",children:[p.map(m=>s.jsx(_e,{variant:"outline",className:$("h-5 max-w-44 truncate rounded-md px-1.5 py-0 font-mono text-[10px]",l.has(m.name)&&"border-emerald-400/20 text-emerald-300"),children:m.name},m.name)),f>0&&s.jsxs("span",{className:"font-mono text-[10px] leading-5 text-muted-foreground",children:["+",f]})]}),r&&s.jsxs("div",{className:"space-y-2 bg-black/10 px-3 py-3",children:[s.jsxs("label",{className:"bg-white/[0.045] hover:bg-white/[0.075] flex h-8 items-center gap-2 rounded-md px-2 text-xs",children:[s.jsx(qj,{className:"size-3.5 shrink-0 text-muted-foreground"}),s.jsx("input",{value:i,onChange:m=>a(m.target.value),placeholder:"Filter tools",className:"min-w-0 flex-1 bg-transparent font-mono text-xs outline-none placeholder:text-muted-foreground/70"})]}),s.jsx("div",{className:"grid gap-1.5",children:d.length>0?d.map(m=>s.jsx(V4,{tool:m,called:l.has(m.name)},m.name)):s.jsx("p",{className:"py-2 text-xs text-muted-foreground",children:"No matching tools"})})]})]})});function Wu(e,t,n){return e==="anthropic"&&t==="full"&&n}function K4(e,t){return e==="full"&&t}function Xi(e,t){return e==="full"&&t}function Qi(e,t){return e==="full"&&t}function G4(e,t,n,r){return e==="anthropic"&&t==="full"&&n&&r}function cs(){return s.jsx("div",{className:"h-1","aria-hidden":"true"})}function J4(e,t){switch(e){case"anatomy":return t===null?"request":"anatomy";case"request":return"request";case"response":return"parsed"}}const Y4=15e3,X4=15e3,Q4=256*1024,Ao=1024*1024,An="h-9 flex-none rounded-md border border-transparent bg-transparent px-3 text-xs font-semibold text-muted-foreground shadow-none transition-colors hover:bg-white/[0.045] hover:text-foreground data-[state=active]:bg-cyan-300/[0.08] data-[state=active]:text-cyan-100 data-[state=active]:shadow-none";function Ur(e=null){return{status:"idle",text:"",offset:0,totalBytes:e,hasMore:e!==null&&e>0,error:null}}function Oo(e){return e??0}function x0(e){return e.bodyContentMode==="compact"||e.bodyContentMode==="truncated"}function b0(e){return x0(e)?Oo(e.rawRequestBodyBytes)>Ao||Oo(e.responseTextBytes)>Ao:!1}function eE(e){return x0(e)&&!b0(e)}function tE(e){return e instanceof Jo?"Body preview timed out. The log is still available on disk; try loading again.":e instanceof Error?e.message:"Body preview could not be loaded."}function Br({status:e,error:t,footprint:n,onRetry:r}){switch(e){case"idle":return null;case"loading":return s.jsx(lr,{tone:"loading",title:"Loading full bodies",children:s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[s.jsx(He,{className:"size-3.5 shrink-0 animate-spin text-cyan-200"}),s.jsx("span",{children:"Loading full request and response bodies from the log store."})]}),n!==null&&s.jsx("span",{className:"rounded border border-cyan-300/15 bg-cyan-300/[0.06] px-2 py-0.5 font-mono text-[11px] text-cyan-100",children:n})]})});case"failed":return s.jsx(lr,{tone:"warning",title:t?.title??"Full bodies could not be loaded",children:s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.jsx("span",{children:t?.detail??"Compact metadata is still available."}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 gap-1.5 text-xs text-amber-100",onClick:r,children:[s.jsx(Bt,{className:"size-3"}),"Retry"]})]})})}}function Zu(e,t){return e?t.text!==""?t.text:t.status==="success"?"":null:null}function On({children:e,className:t}){return s.jsx("div",{className:$("bg-black/[0.14] inspector-scrollbar mx-3 mb-3 max-h-[72vh] overflow-auto rounded-[8px] p-3",t),children:e})}function ao({children:e}){return s.jsx("div",{className:"bg-white/[0.035] rounded-md px-3 py-5 text-center text-xs italic text-muted-foreground",children:e})}function qr({children:e}){return s.jsx("pre",{className:"bg-black/[0.18] inspector-scrollbar max-h-[64vh] overflow-auto whitespace-pre-wrap break-words rounded-[8px] p-3 font-mono text-xs leading-relaxed text-muted-foreground",children:e})}const nE={loading:"border-transparent bg-cyan-400/[0.06] text-cyan-100",warning:"border-transparent bg-amber-400/[0.08] text-amber-100",danger:"border-transparent bg-rose-400/[0.08] text-rose-100"};function lr({tone:e,title:t,children:n}){return s.jsxs("div",{className:$("mb-3 rounded-md border px-3 py-2 text-xs shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",nE[e]),children:[t!==void 0&&s.jsx("div",{className:"mb-1 font-semibold",children:t}),s.jsx("div",{className:"leading-relaxed text-muted-foreground",children:n})]})}function Hr({label:e,state:t,expectedBytes:n,onLoadMore:r}){const o=t.totalBytes??n,i=o===null?gs(t.offset):`${gs(t.offset)} / ${gs(o)}`,a=t.status!=="loading"&&t.hasMore,l=t.status==="failed"?"Retry":"Load more";return s.jsx(lr,{tone:t.status==="failed"?"warning":"loading",title:`${e} body preview`,children:s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.jsxs("span",{children:[t.status==="idle"&&o!==null?`${e} body is ${gs(o)}. Loading the first preview chunk.`:`Loaded ${i}.`,t.status==="failed"&&t.error!==null&&` ${t.error}`]}),a&&s.jsx(ee,{type:"button",variant:"outline",size:"sm",className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 text-xs text-cyan-100",onClick:r,children:l})]})})}function Ku({headers:e,emptyLabel:t}){const n=e===void 0?[]:Object.entries(e).sort(([r],[o])=>r.localeCompare(o));return n.length===0?s.jsx(ao,{children:t}):s.jsx("div",{className:"bg-black/[0.14] overflow-hidden rounded-[8px] font-mono text-xs",children:n.map(([r,o])=>s.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(140px,0.32fr)_minmax(0,1fr)] border-b border-white/[0.055] last:border-b-0",children:[s.jsx("div",{className:"min-w-0 truncate bg-white/[0.035] px-2.5 py-2 font-semibold text-cyan-200",children:r}),s.jsx("div",{className:"min-w-0 truncate px-2.5 py-2 text-muted-foreground",title:o,children:o})]},r))})}function sE({active:e,onClick:t}){return s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs(ee,{variant:e?"default":"outline",size:"sm",className:$("h-8 border-white/10 text-xs shadow-none",e?"bg-cyan-300 text-black hover:bg-cyan-200":"border border-input bg-background hover:bg-accent hover:text-accent-foreground text-muted-foreground hover:text-cyan-100"),onClick:t,"aria-pressed":e,children:[s.jsx(Xw,{className:"size-3.5 mr-1"}),e?"Showing diff":"Diff with Raw"]})}),s.jsx(mt,{children:e?"Hide diff view":"Compare proxy output against the original raw version"})]})}const rE=c.memo(function({rawBody:e,displayedBody:t,emptyLabel:n}){const r=c.useMemo(()=>y4(e,t),[e,t]);return s.jsx(h0,{result:r,emptyLabel:n})}),oE=c.memo(function({rawHeaders:e,headers:t,emptyLabel:n}){const r=c.useMemo(()=>v4(e,t),[e,t]);return s.jsx(h0,{result:r,emptyLabel:n})}),iE=c.memo(function({log:e,displayNumber:t,viewMode:n="simple",strip:r,slowResponseThresholdSeconds:o,timeDisplayFormat:i,cacheTrend:a=null,onCompareWithPrevious:l,showClientMetadata:u=!0,toolEvents:d=[]}){const[p,f]=c.useState(!1),[m,h]=c.useState(!1),[g,v]=c.useState(!1),[b,w]=c.useState(!1),[y,j]=c.useState("request"),[k,S]=c.useState(null),[_,N]=c.useState(0),[P,A]=c.useState(null),[M,C]=c.useState(null),[I,F]=c.useState("idle"),[U,Y]=c.useState(null),[Z,V]=c.useState(0),[H,z]=c.useState(()=>Ur(e.rawRequestBodyBytes??null)),[X,J]=c.useState(()=>Ur(e.responseTextBytes??null)),be=c.useRef(null),ve=c.useRef(e.id),oe=c.useRef(!1),D=M??e,je=M===null&&b0(e),te=c.useMemo(()=>p4(e.rawRequestBodyBytes,e.responseTextBytes),[e.rawRequestBodyBytes,e.responseTextBytes]),ke=Zu(je,H),Se=Zu(je,X),le=D.rawRequestBody??ke,ue=D.responseText??Se,me=D.rawRequestBody===null&&ke!==null,we=D.responseText===null&&Se!==null,Ee=!me||H.hasMore===!1&&Oo(H.totalBytes)<=Ao,Ye=!we||X.hasMore===!1&&Oo(X.totalBytes)<=Ao,De=ir(D),Ve=t0(De),wt=c.useMemo(()=>Ve.analyzeRequest(D.rawRequestBody),[Ve,D.rawRequestBody]),Qt=c.useMemo(()=>Ve.analyzeResponse(D.responseText),[Ve,D.responseText]),Ue=c.useMemo(()=>!r||De!=="anthropic"||D.rawRequestBody===null?null:GT(D.rawRequestBody).body,[D.rawRequestBody,De,r])??le,Ie=Ji(Ee?Ue:null),Ae=Ji(y==="raw-request"&&Ee?le:null),q=Ji(y==="raw"&&Ye?ue:null),ne=c.useMemo(()=>D.headers&&Object.keys(D.headers).length>0?JSON.stringify(D.headers,null,2):null,[D.headers]),Te=c.useMemo(()=>D.rawHeaders&&Object.keys(D.rawHeaders).length>0?JSON.stringify(D.rawHeaders,null,2):null,[D.rawHeaders]),he=bn(Ue),xe=bn(le),Oe=bn(ne),G=bn(Te),E=bn(ue),L=c.useMemo(()=>({request:{copyLabel:me?"Copy loaded request preview":"Copy request body",copyText:Ue,copyCopied:he.copied,onCopy:he.copy,expansion:Ee?{isExpanded:Ie.isExpanded,isPending:Ie.isPending,onToggle:Ie.toggle}:null,diffWithRaw:G4(De,n,r,D.rawRequestBody!==null)?{active:b,onToggle:()=>w(!b)}:void 0,diffWithPrevious:l===void 0?void 0:()=>{l(D)}},"raw-request":{copyLabel:me?"Copy loaded raw request preview":"Copy raw request",copyText:le,copyCopied:xe.copied,onCopy:xe.copy,expansion:Ee?{isExpanded:Ae.isExpanded,isPending:Ae.isPending,onToggle:Ae.toggle}:null},...Qi(n,D.headers!==void 0&&Object.keys(D.headers).length>0)?{headers:{copyLabel:"Copy headers",copyText:ne,copyCopied:Oe.copied,onCopy:Oe.copy,expansion:null}}:{},...Xi(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)?{"raw-headers":{copyLabel:"Copy raw headers",copyText:Te,copyCopied:G.copied,onCopy:G.copy,expansion:null}}:{},raw:{copyLabel:we?"Copy loaded response preview":"Copy response",copyText:ue,copyCopied:E.copied,onCopy:E.copy,expansion:Ye?{isExpanded:q.isExpanded,isPending:q.isPending,onToggle:q.toggle}:null}}),[Ue,me,Ee,he,Ie,b,D,D.rawRequestBody,le,xe,Ae,ne,Oe,Te,G,D.responseText,we,Ye,ue,E,q,De,n,r,l]),K=c.useMemo(()=>Ie.parsedData!==null?Ve.anatomySegments(Ie.parsedData):null,[Ve,Ie.parsedData]),ie=c.useMemo(()=>hc(Ie.parsedData),[Ie.parsedData]),de=D.warnings??[],se=c.useMemo(()=>{if(K!==null)return new Set(K.map(Pe=>Pe.path))},[K]),ye=d4({containerRef:be,setExpandToPath:A,ensureTabActive:()=>{y!=="request"&&j("request")}}),ce=c.useCallback((Pe,en)=>{const at=Pe==="request"?z:J;at(Be=>({...Be,status:"loading",error:null}));const Ct=new URLSearchParams({part:Pe,offset:String(en),limit:String(Q4)});We(`/api/logs/${String(e.id)}/body?${Ct.toString()}`,C2,X4).then(Be=>{ve.current===e.id&&at(es=>({status:"success",text:Be.offset===0?Be.text:`${es.text}${Be.text}`,offset:Be.nextOffset??Be.totalBytes,totalBytes:Be.totalBytes,hasMore:Be.hasMore,error:null}))}).catch(Be=>{ve.current===e.id&&at(es=>({...es,status:"failed",error:tE(Be)}))})},[e.id]),dt=c.useCallback(()=>{oe.current||(C(null),F("idle"),Y(null),V(Pe=>Pe+1))},[]),In=c.useCallback(()=>{const Pe=!p;Pe&&j(K!==null?"anatomy":"request"),f(Pe)},[K,p]);return c.useEffect(()=>{ve.current=e.id,oe.current=!1,C(null),F("idle"),Y(null),V(0),z(Ur(e.rawRequestBodyBytes??null)),J(Ur(e.responseTextBytes??null))},[e.id,e.rawRequestBodyBytes,e.responseTextBytes]),c.useEffect(()=>{if(!p||!eE(e)||M!==null||oe.current)return;let Pe=!1;return oe.current=!0,F("loading"),Y(null),We(`/api/logs/${String(e.id)}`,nr,Y4).then(en=>{Pe||(oe.current=!1,C(en),F("idle"),Y(null))}).catch(en=>{Pe||(oe.current=!1,F("failed"),Y(f4(en)))}),()=>{Pe=!0,oe.current=!1}},[p,M,e.bodyContentMode,e.id,e.rawRequestBodyBytes,e.responseTextBytes,Z]),c.useEffect(()=>{p&&je&&H.status==="idle"&&(y!=="request"&&y!=="raw-request"&&y!=="anatomy"||ce("request",0))},[y,p,ce,H.status,je]),c.useEffect(()=>{p&&je&&X.status==="idle"&&(y!=="parsed"&&y!=="raw"||ce("response",0))},[y,p,ce,X.status,je]),c.useEffect(()=>{const Pe=en=>{const at=Si(en);at!==null&&at.logId===e.id&&(f(!0),j(J4(at.tab,K)),at.tab==="response"&&at.toolCallIndex!==void 0&&(S(at.toolCallIndex),N(Ct=>Ct+1)))};return window.addEventListener(cn,Pe),()=>{window.removeEventListener(cn,Pe)}},[K,e.id]),s.jsxs($s,{children:[s.jsxs("div",{className:$("bg-card/80 relative mb-1.5 overflow-hidden rounded-[8px] transition-[background-color,box-shadow]",p?"bg-card shadow-[0_18px_60px_rgba(0,0,0,0.30),0_0_0_1px_rgba(103,232,249,0.08)]":"hover:bg-card"),children:[s.jsx(L4,{log:D,displayNumber:t,messageCount:wt.messageCount,toolCount:wt.toolCount,toolEvents:d,expanded:p,onToggle:In,cacheTrend:a,slowResponseThresholdSeconds:o,showClientMetadata:u,timeDisplayFormat:i,activeTab:y,tabActions:L,onReplay:l===void 0?void 0:()=>{h(!0)}}),p&&s.jsxs("div",{className:"relative bg-black/[0.14] pt-2",onClick:Pe=>Pe.stopPropagation(),onKeyDown:Pe=>Pe.stopPropagation(),children:[s.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-12 bg-gradient-to-b from-white/[0.05] to-transparent","aria-hidden":"true"}),s.jsx(po,{feature:"Log details",children:s.jsxs(u0,{value:y,onValueChange:j,className:"gap-2",children:[s.jsxs(d0,{variant:"line",className:"bg-white/[0.04] inspector-scrollbar relative mx-3 h-auto w-[calc(100%-1.5rem)] justify-start overflow-x-auto rounded-[8px] p-1",children:[Xi(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&s.jsx(gn,{className:An,value:"raw-headers",children:"Raw Headers"}),Qi(n,D.headers!==void 0&&Object.keys(D.headers).length>0)&&s.jsx(gn,{className:An,value:"headers",children:"Headers"}),K!==null&&s.jsx(gn,{className:An,value:"anatomy",children:"Context"}),Wu(De,n,r)&&s.jsx(gn,{className:An,value:"raw-request",children:"Raw Request"}),s.jsx(gn,{className:An,value:"request",children:"Request"}),n==="full"&&s.jsx(gn,{className:An,value:"raw",children:"Raw Response"}),s.jsx(gn,{className:An,value:"parsed",children:"Response"})]}),Wu(De,n,r)&&s.jsx(jt,{value:"raw-request",children:y==="raw-request"&&s.jsxs(On,{children:[s.jsx(Br,{status:I,error:U,footprint:te,onRetry:dt}),je&&s.jsx(Hr,{label:"Request",state:H,expectedBytes:e.rawRequestBodyBytes??null,onLoadMore:()=>ce("request",H.offset)}),le===null?s.jsx(ao,{children:je?"Request preview is loading":"No request body"}):Ae.parsedData!==null?s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(Xa,{data:Ae.parsedData,bulkDepth:Ae.bulkDepth,bulkRevision:Ae.bulkRevision})}):s.jsx(qr,{children:le})]})}),s.jsx(jt,{value:"request",children:y==="request"&&s.jsxs(On,{children:[s.jsx(Br,{status:I,error:U,footprint:te,onRetry:dt}),je&&s.jsx(Hr,{label:"Request",state:H,expectedBytes:e.rawRequestBodyBytes??null,onLoadMore:()=>ce("request",H.offset)}),de.length>0&&s.jsxs(lr,{tone:"warning",children:[s.jsxs("div",{className:"flex items-center gap-2 font-semibold text-amber-300",children:[s.jsx(yn,{className:"size-3.5"}),"Tool schema warnings"]}),s.jsx("ul",{className:"mt-2 space-y-1 text-muted-foreground",children:de.map(Pe=>s.jsx("li",{children:Pe},Pe))})]}),s.jsx(Z4,{summary:ie,calledToolNames:Qt.toolNames??[]}),b?s.jsx(rE,{rawBody:D.rawRequestBody,displayedBody:Ue,emptyLabel:"No transformation applied; raw and sent request bodies are identical."}):s.jsx("div",{ref:be,children:Ue===null?s.jsx(ao,{children:je?"Request preview is loading":"No request body"}):Ie.parsedData!==null?s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(Xa,{data:Ie.parsedData,bulkDepth:Ie.bulkDepth,bulkRevision:Ie.bulkRevision,anatomyPaths:se,expandToPath:P})}):s.jsx(qr,{children:Ue})})]})}),K!==null&&s.jsx(jt,{value:"anatomy",children:y==="anatomy"&&s.jsx(On,{className:"p-0",children:s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(o4,{parsed:Ie.parsedData,inputTokens:D.inputTokens??null,model:D.model,segments:K,onSegmentActivate:ye})})})}),Qi(n,D.headers!==void 0&&Object.keys(D.headers).length>0)&&s.jsx(jt,{value:"headers",children:y==="headers"&&s.jsxs(On,{children:[s.jsx("div",{className:"flex justify-end gap-2 mb-2",children:K4(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&s.jsx(sE,{active:g,onClick:Pe=>{Pe.stopPropagation(),v(!g)}})}),g?s.jsx(oE,{rawHeaders:D.rawHeaders,headers:D.headers,emptyLabel:"No transformation applied; raw and processed headers are identical."}):s.jsx(Ku,{headers:D.headers,emptyLabel:"No headers captured"})]})}),Xi(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&s.jsx(jt,{value:"raw-headers",children:y==="raw-headers"&&s.jsx(On,{children:s.jsx(Ku,{headers:D.rawHeaders,emptyLabel:"No raw headers captured"})})}),s.jsx(jt,{value:"raw",children:y==="raw"&&s.jsxs(On,{className:"space-y-3",children:[s.jsx(Br,{status:I,error:U,footprint:te,onRetry:dt}),je&&s.jsx(Hr,{label:"Response",state:X,expectedBytes:e.responseTextBytes??null,onLoadMore:()=>ce("response",X.offset)}),D.error!==void 0&&D.error!==null&&s.jsx(lr,{tone:"danger",title:"SSE Error",children:s.jsx("span",{className:"font-mono",children:D.error})}),ue!==null&&Ye?s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(l4,{text:ue,defaultExpandDepth:0,bulkDepth:q.bulkDepth,bulkRevision:q.bulkRevision})}):ue!==null?s.jsx(qr,{children:ue}):s.jsx(ao,{children:je?"Response preview is loading":"No response"}),D.streaming===!0&&s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(a4,{logId:D.id,truncated:D.streamingChunksPath!==null})})]})}),s.jsx(jt,{value:"parsed",children:y==="parsed"&&s.jsxs(On,{children:[s.jsx(Br,{status:I,error:U,footprint:te,onRetry:dt}),je&&s.jsx(Hr,{label:"Response",state:X,expectedBytes:e.responseTextBytes??null,onLoadMore:()=>ce("response",X.offset)}),we&&!Ye?s.jsx(qr,{children:ue}):s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(i4,{responseText:ue,responseStatus:D.responseStatus,streaming:D.streaming,inputTokens:D.inputTokens,outputTokens:D.outputTokens,cacheCreationInputTokens:D.cacheCreationInputTokens,cacheReadInputTokens:D.cacheReadInputTokens,apiFormat:De,error:D.error,focusedToolIndex:k,toolFocusNonce:_})})]})})]})})]})]}),s.jsx(po,{feature:"Replay",children:s.jsx(c.Suspense,{fallback:null,children:s.jsx(r4,{log:D,displayNumber:t,open:m,onOpenChange:h})})})]})});function aE(e){switch(e){case"end_turn":return"End of Turn (Anthropic)";case"stop":return"End of Turn (OpenAI)";case"length":return"End of Turn (length limit)";case"tool_use":case null:return"End of Turn"}}function ea(e){return e?"cursor-pointer transition-transform hover:scale-110":""}function lE({stopReason:e,isPending:t,isFirst:n,isTurnStart:r,isOnlyEntry:o=!1,isOpenTurnTail:i=!1,crabIndex:a=0,collapsible:l=!1,onToggle:u}){const d=gc(e),p=o&&r&&d,f=t&&!d,m=l&&u!==void 0,h=c.useMemo(()=>xc(a),[a]),g=c.useMemo(()=>HT(a),[a]),v=w=>{!m||u===void 0||(w.stopPropagation(),u())},b=w=>{!m||u===void 0||w.key!=="Enter"&&w.key!==" "||(w.preventDefault(),u())};return s.jsxs("div",{className:"flex flex-col items-center w-6 shrink-0 pt-0.5 pb-0.5",children:[s.jsx("div",{className:"flex justify-center h-[calc(0.75rem-8px)]",children:!n&&s.jsx("div",{className:"w-px bg-muted-foreground/18 h-full"})}),p?s.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:"Single-request turn",className:ea(m),onClick:v,onKeyDown:b,children:s.jsx(g,{className:$("size-3.5 text-[#80FF00]","animate-crab-settle","drop-shadow-[0_0_4px_rgba(128,255,0,0.5)]")})}):d?s.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:aE(e),className:ea(m),onClick:v,onKeyDown:b,children:s.jsx(h,{className:$("size-3.5 text-amber-400","animate-crab-settle","drop-shadow-[0_0_4px_rgba(251,191,36,0.5)]")})}):r?s.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:"Start of turn",className:ea(m),onClick:v,onKeyDown:b,children:s.jsx(h,{className:$("size-3.5 text-emerald-400","animate-crab-appear","drop-shadow-[0_0_4px_rgba(52,211,153,0.5)]")})}):i?s.jsx("span",{title:t?"Current end of open turn (processing)":"Current end of open turn",children:s.jsx(h,{className:$("size-3.5 text-cyan-300/85",f?"animate-crab-crawl":"animate-crab-appear","drop-shadow-[0_0_4px_rgba(103,232,249,0.4)]")})}):f?s.jsx("span",{title:"Processing",children:s.jsx(h,{className:$("size-3.5 text-amber-300/80","animate-crab-crawl")})}):s.jsx("span",{title:"Request in turn",children:s.jsx(h,{className:"size-3.5 text-muted-foreground/40"})}),s.jsx("div",{className:"flex-1 flex justify-center min-h-0",children:!d&&!i&&s.jsx("div",{className:$("w-0.5 h-full",t?"border-dashed bg-transparent border-l border-muted-foreground/14":"bg-muted-foreground/18")})})]})}const Gu=180,ta=new WeakMap;function cE(e,t){const n=e.responseText;if(n===null)return!1;switch(t){case"anthropic":return n.includes("tool_use");case"openai":return n.includes("tool_calls")||n.includes("function_call");case"unknown":return!1}}function uE(e){return e>1}function tl(e){const t=[];let n=[],r=0;for(let o=0;o<e.length;o+=1){const i=e[o];if(i===void 0)continue;n.push({log:i,stopReason:a0(i),sessionLogNumber:o+1});const a=n[n.length-1];a!==void 0&&gc(a.stopReason)&&(t.push({entries:n,turnIndex:r}),n=[],r+=1)}return n.length>0&&t.push({entries:n,turnIndex:r}),t}function dE(e){const t=new Map;for(const n of e)for(let r=1;r<n.logs.length;r+=1){const o=n.logs[r],i=n.logs[r-1];if(o===void 0||i===void 0)continue;const a=ir(o),l=ir(i);a==="unknown"||a!==l||t.set(o.id,i)}return t}function v0(e){if(e===null)return null;try{const t=JSON.parse(e);return typeof t=="string"?JSON.parse(t):t}catch{return null}}function lo(e){if(e==null)return null;const t=typeof e=="string"?e:JSON.stringify(e);if(t===void 0)return null;const n=t.replace(/\s+/g," ").trim();return n.length===0?null:n.length>Gu?`${n.slice(0,Gu-1)}...`:n}function co(e){if(e==null)return null;if(typeof e=="string")return e.length>0?e:null;const t=JSON.stringify(e,null,2);return t===void 0||t.length===0?null:t}function pE(e){const t=v0(e.responseText),n=Q(t,"content");if(!Array.isArray(n))return[];const r=[];for(const o of n){if(Q(o,"type")!=="tool_use")continue;const a=Q(o,"name");if(typeof a!="string"||a.length===0)continue;const l=Q(o,"input");r.push({id:`${String(e.id)}-anthropic-tool-${String(r.length)}`,logId:e.id,index:r.length,provider:"anthropic",name:a,argumentsText:co(l),argumentsPreview:lo(l)})}return r}function fE(e){const t=v0(e.responseText),n=Q(t,"choices");if(!Array.isArray(n))return[];const r=[];for(const i of n){const a=Q(i,"message"),l=Q(a,"tool_calls");if(Array.isArray(l))for(const p of l){const f=Q(p,"function"),m=Q(f,"name");if(typeof m!="string"||m.length===0)continue;const h=Q(f,"arguments");r.push({id:`${String(e.id)}-openai-tool-${String(r.length)}`,logId:e.id,index:r.length,provider:"openai",name:m,argumentsText:co(h),argumentsPreview:lo(h)})}const u=Q(a,"function_call"),d=Q(u,"name");if(typeof d=="string"&&d.length>0){const p=Q(u,"arguments");r.push({id:`${String(e.id)}-openai-tool-${String(r.length)}`,logId:e.id,index:r.length,provider:"openai",name:d,argumentsText:co(p),argumentsPreview:lo(p)})}}const o=Q(t,"output");if(Array.isArray(o))for(const i of o){if(Q(i,"type")!=="function_call")continue;const a=Q(i,"name");if(typeof a!="string"||a.length===0)continue;const l=Q(i,"arguments");r.push({id:`${String(e.id)}-openai-tool-${String(r.length)}`,logId:e.id,index:r.length,provider:"openai",name:a,argumentsText:co(l),argumentsPreview:lo(l)})}return r}function bc(e){const t=ta.get(e);if(t!==void 0&&t.apiFormat===e.apiFormat&&t.responseText===e.responseText)return t.events;const n=ir(e);if(!cE(e,n)){const o=[];return ta.set(e,{apiFormat:e.apiFormat,responseText:e.responseText,events:o}),o}let r;switch(n){case"anthropic":r=pE(e);break;case"openai":r=fE(e);break;case"unknown":r=[];break}return ta.set(e,{apiFormat:e.apiFormat,responseText:e.responseText,events:r}),r}function mE(e,t,n=0){let r=0,o=0,i=0,a=0,l=0,u=0,d=0,p=0,f=null,m=0;for(const h of e)h.responseStatus===null?o+=1:h.responseStatus>=400&&(r+=1),h.elapsedMs!==null&&t>0&&h.elapsedMs>t*1e3&&(i+=1),h.inputTokens!==null&&(a+=h.inputTokens),h.outputTokens!==null&&(l+=h.outputTokens),h.cacheCreationInputTokens!==null&&(u+=h.cacheCreationInputTokens),h.cacheReadInputTokens!==null&&(d+=h.cacheReadInputTokens),h.elapsedMs!==null&&(p+=h.elapsedMs,f=f===null?h.elapsedMs:Math.max(f,h.elapsedMs)),m+=bc(h).length;return{llmCallCount:e.length,toolCallCount:m,failedCallCount:r,pendingCallCount:o,slowCallCount:i,totalInputTokens:a,totalOutputTokens:l,totalCacheCreationInputTokens:u,totalCacheReadInputTokens:d,totalElapsedMs:p,maxElapsedMs:f,startedAt:e[0]?.timestamp??null,endedAt:e[e.length-1]?.timestamp??null,knowledgeCandidateCount:n}}function na(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}const hE=c.memo(function({entries:t,viewMode:n,strip:r,slowResponseThresholdSeconds:o,cacheTrends:i,onCompareWithPrevious:a,comparisonPredecessors:l,turnIndex:u=0,timeDisplayFormat:d,pendingFocusRequest:p,showLogClientMetadata:f=!0}){const m=t.length-1,h=t[m]?.stopReason??null,g=h!==null?gc(h):!1,v=t[m]?.log.responseStatus===null,b=t.length===1,w=uE(t.length),[y,j]=c.useState(!1),k=c.useRef(!1);c.useEffect(()=>{w?g&&!k.current&&j(!0):j(!1),k.current=g},[w,g]),c.useEffect(()=>{const V=H=>{const z=Si(H);z!==null&&t.some(X=>X.log.id===z.logId)&&w&&j(!1)};return window.addEventListener(cn,V),()=>{window.removeEventListener(cn,V)}},[w,t]),c.useEffect(()=>{if(p===void 0||!t.some(H=>H.log.id===p.logId))return;w&&j(!1);const V=window.setTimeout(()=>{Is({logId:p.logId,tab:p.tab,source:"virtualizer"})},0);return()=>window.clearTimeout(V)},[w,t,p]);const S=c.useCallback(()=>{w&&j(V=>!V)},[w]),_=c.useMemo(()=>{let V=0,H=0,z=null,X=!1;for(const J of t)J.log.inputTokens!==null&&(V+=J.log.inputTokens,X=!0),J.log.outputTokens!==null&&(H+=J.log.outputTokens,X=!0),J.log.elapsedMs!==null&&(z=z===null?J.log.elapsedMs:Math.max(z,J.log.elapsedMs));return{totalInput:V,totalOutput:H,hasTokens:X,maxElapsed:z}},[t,m]),N=u%2===0?"bg-white/[0.008]":"bg-cyan-300/[0.008]",P=_.maxElapsed!==null&&o>0&&_.maxElapsed>o*1e3,A=c.useMemo(()=>{const V=new Map;for(const H of t){const z=bc(H.log);z.length>0&&V.set(H.log.id,z)}return V},[t]),[M,C]=c.useState(0),I=c.useRef(null);c.useEffect(()=>{const V=I.current;if(!V)return;let H=0;const z=new ResizeObserver(()=>{window.cancelAnimationFrame(H),H=window.requestAnimationFrame(()=>C(X=>X+1))});return z.observe(V),()=>{z.disconnect(),window.cancelAnimationFrame(H)}},[]);const F=t[0]?.log.id??u,U=`Turn ${String(u+1)}`,Y=c.useMemo(()=>xc(F%12),[F]),Z=c.useMemo(()=>({contentVisibility:"auto",containIntrinsicSize:y?"48px":"160px"}),[y]);return s.jsx("div",{ref:I,style:Z,tabIndex:y?void 0:0,role:y?void 0:"group","aria-label":y?void 0:U,"data-nav-id":y?void 0:`turn-${String(F)}`,className:$("rounded-[8px] transition-[background-color,box-shadow]",v?"bg-amber-300/[0.018] shadow-[0_0_0_1px_rgba(252,211,77,0.035)]":"",!y&&"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-none"),children:y?s.jsxs("div",{"data-nav-id":`turn-collapsed-${String(F)}`,"data-nav-action":"expand",role:"button",tabIndex:0,className:"flex items-stretch cursor-pointer focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-none rounded-lg",onClick:S,onKeyDown:V=>{(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),S())},children:[s.jsxs("div",{className:"w-6 shrink-0 flex flex-col items-center pt-1.5 pb-1.5",children:[s.jsx("div",{className:"flex justify-center h-[calc(0.75rem-8px)]"}),s.jsx(Y,{className:$("size-3.5",v?"animate-crab-crawl text-amber-300/80":"animate-crab-appear text-emerald-400",v?"drop-shadow-[0_0_4px_rgba(252,211,77,0.42)]":"drop-shadow-[0_0_4px_rgba(52,211,153,0.45)]")}),s.jsx("div",{className:"flex-1 flex justify-center min-h-0",children:s.jsx("div",{className:"w-px bg-muted-foreground/14 h-full"})}),g?s.jsx(Y,{className:$("size-3.5 animate-crab-settle text-amber-400","drop-shadow-[0_0_4px_rgba(251,191,36,0.45)]")}):s.jsx("span",{title:"Current end of open turn","aria-label":"Current end of open turn",children:s.jsx(Y,{className:$("size-3.5 text-cyan-300/85",v?"animate-crab-crawl":"animate-crab-appear","drop-shadow-[0_0_4px_rgba(103,232,249,0.4)]")})})]}),t.length>1&&s.jsxs("div",{className:$("flex-1 min-w-0 mb-0.5 rounded-[8px] py-1.5 px-3 flex items-center gap-3 text-xs","bg-card/80 transition-colors hover:bg-card",N),children:[s.jsx("span",{className:"font-mono text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground/70",children:U}),s.jsxs("span",{className:"text-blue-300/85 font-mono font-semibold tabular-nums shrink-0",title:`Log IDs ${String(t[0]?.log.id??"?")} ~ ${String(t[m]?.log.id??"?")}`,children:["#",t[0]?.sessionLogNumber??"?"," ~ #",t[m]?.sessionLogNumber??"?"]}),s.jsxs("span",{className:"text-muted-foreground shrink-0",children:[t.length," request",t.length>1?"s":""]}),_.maxElapsed!==null&&s.jsx($s,{children:s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs("span",{className:$("flex items-center gap-1 shrink-0",P?"text-amber-400":"text-muted-foreground"),children:[s.jsx(sn,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:na(_.maxElapsed)}),P&&s.jsx(yn,{className:"size-3","aria-label":"Slow response"})]})}),s.jsx(mt,{children:P?`Slow response: ${na(_.maxElapsed)} exceeds ${na(o*1e3)}`:"Slowest request in this turn"})]})}),_.hasTokens&&s.jsxs("span",{className:"flex items-center gap-1 shrink-0",children:[s.jsx(sr,{className:"size-3 text-muted-foreground"}),s.jsxs("span",{className:"font-mono tabular-nums",children:[s.jsxs("span",{className:"text-blue-400",children:["IN ",Me(_.totalInput)]})," / ",s.jsxs("span",{className:"text-amber-400",children:["OUT ",Me(_.totalOutput)]})]})]}),s.jsx("span",{className:"flex-1 min-w-0"}),s.jsx("span",{className:"bg-white/[0.045] inline-flex size-7 shrink-0 items-center justify-center rounded-md text-slate-200","aria-hidden":"true",children:s.jsx(vt,{className:"size-4 shrink-0"})})]})]}):t.map((V,H)=>{const{log:z,stopReason:X}=V,J=H===0;return s.jsxs("div",{className:"flex items-stretch",children:[s.jsx(lE,{stopReason:X,isPending:z.responseStatus===null,isFirst:H===0,isTurnStart:J,isOnlyEntry:b,isOpenTurnTail:H===m&&!g,crabIndex:z.id%12,collapsible:w&&J,onToggle:S}),s.jsx("div",{className:$("flex-1 min-w-0 mb-0.5 rounded-[8px]",N),children:s.jsx(iE,{log:z,displayNumber:V.sessionLogNumber,viewMode:n,strip:r,slowResponseThresholdSeconds:o,timeDisplayFormat:d,cacheTrend:i?.get(z.id)??null,showClientMetadata:f,toolEvents:A.get(z.id),onCompareWithPrevious:l.has(z.id)?a:void 0})})]},z.id)})})}),gE=24,xE=132,bE=8;function vE(e){return e>gE}function yE(e){const t=new Map;for(let n=0;n<e.length;n++){const r=e[n];if(r!==void 0)for(const o of r.entries)t.set(o.log.id,n)}return t}function y0(e,t,n){return s.jsx(hE,{entries:e.entries,viewMode:t.viewMode,strip:t.strip,slowResponseThresholdSeconds:t.slowResponseThresholdSeconds,timeDisplayFormat:t.timeDisplayFormat,cacheTrends:t.cacheTrends,onCompareWithPrevious:t.onCompareWithPrevious,comparisonPredecessors:t.comparisonPredecessors,turnIndex:e.turnIndex,pendingFocusRequest:n,showLogClientMetadata:t.showLogClientMetadata},e.turnIndex)}function wE(e){return vE(e.turnGroups.length)?s.jsx(jE,{...e}):s.jsx(s.Fragment,{children:e.turnGroups.map(t=>y0(t,e))})}function jE(e){const{turnGroups:t}=e,[n,r]=c.useState(null),o=TT({count:t.length,estimateSize:()=>xE,overscan:bE,getItemKey:a=>t[a]?.turnIndex??a}),i=c.useMemo(()=>yE(t),[t]);return c.useEffect(()=>{const a=l=>{const u=Si(l);if(u===null||u.source==="virtualizer")return;const d=i.get(u.logId);d!==void 0&&(o.scrollToIndex(d,{align:"center"}),r(p=>({...u,turnIndex:d,nonce:p===null?1:p.nonce+1})))};return window.addEventListener(cn,a),()=>{window.removeEventListener(cn,a)}},[i,o]),s.jsx("div",{className:"relative w-full",style:{height:`${o.getTotalSize()}px`},"data-virtualized-turn-list":"true",children:o.getVirtualItems().map(a=>{const l=t[a.index];if(l===void 0)return null;const u=n!==null&&n.turnIndex===a.index?n:void 0;return s.jsx("div",{"data-index":a.index,ref:o.measureElement,className:"absolute left-0 top-0 w-full",style:{transform:`translateY(${a.start}px)`},children:y0(l,e,u)},a.key)})})}const vc=fe(["episode","procedure","preference","project-fact"]),kE=fe(["draft","promoted","failed"]),w0=T({source:ae("agent-inspector"),sessionId:x(),logIds:W(R().int().positive()),project:x().nullable(),models:W(x())}),SE=T({redacted:Ce(),patterns:W(x())}),_r=T({id:x(),type:vc,title:x(),content:x(),tags:W(x()),source:ae("agent-inspector"),sessionId:x(),logIds:W(R().int().positive()),evidence:w0,status:kE,createdAt:x(),updatedAt:x(),openClawMemoryId:x().nullable(),error:x().nullable(),redaction:SE});T({idempotencyKey:x(),type:vc,title:x(),content:x(),tags:W(x()),source:ae("agent-inspector"),project:x().nullable(),evidence:w0});const _E=T({id:x(),type:vc.or(x()),title:x(),content:x(),score:R().nullable(),source:x().nullable(),project:x().nullable(),evidence:Bn().optional()});T({results:W(_E),warning:x().nullable()});const NE=T({candidates:W(_r)}),CE=T({candidate:_r}),TE=T({error:x().optional(),candidate:_r.optional()}),EE=T({candidate:_r}),RE=3e4,ME=15e3,IE=15e3,PE={draft:"border-amber-500/30 bg-amber-500/10 text-amber-500",promoted:"border-emerald-500/30 bg-emerald-500/10 text-emerald-500",failed:"border-destructive/30 bg-destructive/10 text-destructive"};function nl(e){return e===null?"-":e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`}function AE(e,t,n){return e===null||t===null?null:Qo(e,t,n)}function OE(e){return`${String(e)} candidate${e===1?"":"s"}`}function j0(e){return`log-${String(e)}`}function k0(e){const t=j0(e),n=document.getElementById(t);window.history.replaceState(null,"",`#${t}`),n instanceof HTMLElement&&(n.scrollIntoView({block:"center",behavior:"smooth"}),n.focus({preventScroll:!0}))}function zE(e){for(const t of e)if(t.responseStatus!==null&&t.responseStatus>=400)return t;return null}function LE(e){let t=null,n=-1;for(const r of e)r.elapsedMs!==null&&r.elapsedMs>n&&(t=r,n=r.elapsedMs);return t}function $E(e){for(const t of e)if(bc(t).length>0)return t;return null}function DE(e){const t=new Map;for(let n=0;n<e.length;n+=1){const r=e[n];r!==void 0&&t.set(r.id,n+1)}return t}function ws(e,t){return String(t.get(e)??e)}function FE(e){const t=[{kind:"session",title:`${String(e.summary.llmCallCount)} LLM call${e.summary.llmCallCount===1?"":"s"}`,detail:`Scope ${e.scopeId}`,logId:e.logs[0]?.id??null}],n=$E(e.logs);e.summary.toolCallCount>0&&n!==null&&t.push({kind:"tool",title:`${String(e.summary.toolCallCount)} tool call${e.summary.toolCallCount===1?"":"s"}`,detail:`First tool evidence at #${ws(n.id,e.displayNumberByLogId)}`,logId:n.id});const r=zE(e.logs);r!==null&&t.push({kind:"failure",title:`Failure #${String(r.responseStatus)}`,detail:`First failed request is #${ws(r.id,e.displayNumberByLogId)}`,logId:r.id});const o=LE(e.logs);if(o!==null&&e.summary.maxElapsedMs!==null&&t.push({kind:"slow",title:`Slowest ${nl(e.summary.maxElapsedMs)}`,detail:`Max latency observed at #${ws(o.id,e.displayNumberByLogId)}`,logId:o.id}),e.candidates.length>0){const i=e.candidates.filter(l=>l.status==="draft").length,a=e.candidates.filter(l=>l.status==="promoted").length;t.push({kind:"candidate",title:`${String(e.candidates.length)} memory candidate${e.candidates.length===1?"":"s"}`,detail:`${String(i)} draft / ${String(a)} promoted`,logId:e.candidates[0]?.logIds[0]??null})}return t}function UE(e){switch(e){case"session":return s.jsx(Xo,{className:"size-3.5 text-blue-400"});case"tool":return s.jsx(xr,{className:"size-3.5 text-sky-400/70"});case"slow":return s.jsx(sn,{className:"size-3.5 text-amber-400"});case"failure":return s.jsx(uf,{className:"size-3.5 text-destructive"});case"candidate":return s.jsx(cf,{className:"size-3.5 text-emerald-400"})}}function BE({insights:e}){return e.length===0?null:s.jsx("div",{className:"mt-2 grid gap-1.5 border-t border-border/70 pt-2 md:grid-cols-2 xl:grid-cols-3",children:e.map(t=>s.jsxs("button",{type:"button",className:$("flex min-w-0 items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs","text-muted-foreground transition-colors hover:bg-muted/40 hover:text-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"),onClick:()=>{t.logId!==null&&k0(t.logId)},disabled:t.logId===null,children:[UE(t.kind),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block truncate font-medium text-foreground/90",children:t.title}),s.jsx("span",{className:"block truncate font-mono text-[10px]",children:t.detail})]})]},`${t.kind}-${t.title}`))})}function qE(e){switch(e){case"draft":return"Draft";case"promoted":return"Promoted";case"failed":return"Failed"}}function HE(e,t){if(t)return"Promoting";switch(e.status){case"draft":return"Promote";case"failed":return"Retry";case"promoted":return"Promoted"}}function VE(e){return e.redaction.redacted?`Redacted ${e.redaction.patterns.join(", ")}`:"No sensitive pattern matched"}function WE(e,t){const n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-3)}...`}function ZE(e,t){const n=e[0],r=e[e.length-1];if(n===void 0)return"No evidence logs";const o=ws(n,t);return r===void 0||n===r?`#${o}`:`#${o}-#${ws(r,t)}`}function Ju(e){return e.join(", ")}function KE(e){return e.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function GE({candidate:e,isPromoting:t,isUpdating:n,onPromoteCandidate:r,onUpdateCandidate:o,displayNumberByLogId:i}){const[a,l]=c.useState(!1),[u,d]=c.useState(e.type),[p,f]=c.useState(e.title),[m,h]=c.useState(e.content),[g,v]=c.useState(Ju(e.tags)),[b,w]=c.useState(null),y=e.status!=="promoted",j=e.status!=="promoted",k=c.useCallback(()=>{d(e.type),f(e.title),h(e.content),v(Ju(e.tags)),w(null)},[e.content,e.tags,e.title,e.type]),S=c.useCallback(async()=>{const _=p.trim(),N=m.trim(),P=KE(g);if(_.length===0){w("Title is required.");return}if(N.length===0){w("Content is required.");return}if(P.length===0){w("At least one tag is required.");return}w(null),await o(e.id,{type:u,title:_,content:N,tags:P})&&l(!1)},[e.id,m,g,p,u,o]);return a?s.jsx("div",{className:"border border-border bg-card shadow-sm rounded-[8px] px-2.5 py-2",children:s.jsxs("div",{className:"grid gap-2",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("select",{value:u,disabled:n,onChange:_=>{const N=_r.shape.type.safeParse(_.currentTarget.value);N.success&&d(N.data)},className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 rounded-md px-2 text-xs","aria-label":"Candidate type",children:[s.jsx("option",{value:"episode",children:"episode"}),s.jsx("option",{value:"procedure",children:"procedure"}),s.jsx("option",{value:"preference",children:"preference"}),s.jsx("option",{value:"project-fact",children:"project-fact"})]}),s.jsx("input",{value:p,disabled:n,onChange:_=>f(_.currentTarget.value),className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 min-w-[220px] flex-1 rounded-md px-2 text-xs","aria-label":"Candidate title"})]}),s.jsx("textarea",{value:m,disabled:n,onChange:_=>h(_.currentTarget.value),className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground min-h-28 rounded-md px-2 py-1.5 font-mono text-[11px] leading-relaxed","aria-label":"Candidate content"}),s.jsx("input",{value:g,disabled:n,onChange:_=>v(_.currentTarget.value),className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 rounded-md px-2 text-xs","aria-label":"Candidate tags"}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] text-muted-foreground",children:[s.jsx(ou,{className:"size-3"}),"Saving reruns Inspector redaction before promotion."]}),s.jsx("span",{className:"flex-1"}),b!==null&&s.jsx("span",{className:"text-[10px] text-destructive",children:b}),s.jsxs(ee,{type:"button",variant:"ghost",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:n,onClick:()=>{k(),l(!1)},children:[s.jsx(br,{className:"size-3.5"}),"Cancel"]}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:n,onClick:()=>{S()},children:[n?s.jsx(Bt,{className:"size-3.5 animate-spin"}):s.jsx(Dj,{className:"size-3.5"}),"Save"]})]})]})}):s.jsxs("div",{className:"rounded-md border border-border/80 bg-background/60 px-2.5 py-2",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx(_e,{variant:"outline",className:"h-5 px-1.5 text-[10px] font-mono",children:e.type}),s.jsx("span",{className:"min-w-0 flex-1 truncate text-xs font-medium",title:e.title,children:e.title}),s.jsx(_e,{variant:"outline",className:$("h-5 shrink-0 px-1.5 text-[10px] font-mono",PE[e.status]),children:qE(e.status)})]}),s.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",title:e.content,children:WE(e.content,360)}),s.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-muted-foreground",children:[s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx(Fw,{className:"size-3"}),ZE(e.logIds,i)]}),s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx(ou,{className:"size-3"}),VE(e)]}),e.status==="promoted"&&s.jsxs("span",{className:"inline-flex items-center gap-1 text-emerald-500",children:[s.jsx(Na,{className:"size-3"}),e.openClawMemoryId??"OpenClaw"]}),e.status==="failed"&&e.error!==null&&s.jsxs("span",{className:"inline-flex items-center gap-1 text-destructive",children:[s.jsx(uf,{className:"size-3"}),e.error]})]}),s.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[e.logIds.map(_=>{const N=ws(_,i);return s.jsxs("a",{href:`#${j0(_)}`,onClick:P=>{P.preventDefault(),k0(_)},className:"rounded border border-blue-400/25 px-1.5 py-0.5 font-mono text-[10px] text-blue-400 underline-offset-2 transition-colors hover:bg-blue-400/10 hover:text-blue-300 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":`Jump to evidence log ${N}`,title:`Log ID ${String(_)}`,children:["#",N]},_)}),s.jsx("span",{className:"flex-1"}),j&&s.jsxs(ee,{type:"button",variant:"ghost",size:"sm",className:"h-6 gap-1.5 px-2 text-[10px]",disabled:n||t,onClick:()=>l(!0),children:[s.jsx(xf,{className:"size-3"}),"Review"]}),s.jsxs(ee,{type:"button",variant:y?"outline":"ghost",size:"sm",className:"h-6 gap-1.5 px-2 text-[10px]",onClick:()=>r(e.id),disabled:!y||t||n,children:[t?s.jsx(Bt,{className:"size-3 animate-spin"}):y?s.jsx(ww,{className:"size-3"}):s.jsx(Na,{className:"size-3"}),HE(e,t)]})]})]})}function JE({candidates:e,promotingCandidateIds:t,updatingCandidateIds:n,onPromoteCandidate:r,onUpdateCandidate:o,displayNumberByLogId:i}){return e.length===0?null:s.jsx("div",{className:"mt-2 grid gap-1.5",children:e.map(a=>s.jsx(GE,{candidate:a,isPromoting:t.has(a.id),isUpdating:n.has(a.id),onPromoteCandidate:r,onUpdateCandidate:o,displayNumberByLogId:i},a.id))})}function YE({logs:e,scopeId:t,slowResponseThresholdSeconds:n,showRollupMetrics:r,timeDisplayFormat:o}){const[i,a]=c.useState([]),[l,u]=c.useState(!0),[d,p]=c.useState({status:"idle",error:null}),[f,m]=c.useState(()=>new Set),[h,g]=c.useState(()=>new Set),v=i.length>0,b=c.useMemo(()=>mE(e,n,i.length),[i.length,e,n]),w=c.useMemo(()=>DE(e),[e]),y=c.useMemo(()=>FE({logs:e,scopeId:t,summary:b,candidates:i,displayNumberByLogId:w}),[i,w,e,t,b]),j=r||b.maxElapsedMs!==null,k=c.useMemo(()=>AE(b.startedAt,b.endedAt,o),[b.endedAt,b.startedAt,o]),S=c.useCallback(()=>{e.length===0||d.status==="loading"||(p({status:"loading",error:null}),(async()=>{try{const P=await We(`/api/knowledge/sessions/${encodeURIComponent(t)}/candidates`,NE,RE,{method:"POST"},A=>`Candidate generation failed with ${String(A.status)}`);a(P.candidates),u(P.candidates.length>0),p(P.candidates.length>0?{status:"ready",error:null}:{status:"failed",error:"No candidate was generated for this trace scope."})}catch(P){p({status:"failed",error:P instanceof Error?P.message:"Candidate response was invalid"})}})())},[d.status,e.length,t]),_=c.useCallback(P=>{m(A=>{if(A.has(P))return A;const M=new Set(A);return M.add(P),M}),(async()=>{try{const A=await qn(`/api/knowledge/candidates/${encodeURIComponent(P)}/promote`,ME,{method:"POST"}),M=await A.json().catch(()=>null),C=CE.safeParse(M);if(A.ok&&C.success){a(F=>F.map(U=>U.id===C.data.candidate.id?C.data.candidate:U)),p({status:"ready",error:null});return}const I=TE.safeParse(M);I.success&&I.data.candidate!==void 0&&a(F=>F.map(U=>U.id===I.data.candidate?.id?I.data.candidate:U)),p({status:"failed",error:I.success?I.data.error??"Candidate promotion failed":`Candidate promotion failed with ${String(A.status)}`})}catch(A){p({status:"failed",error:A instanceof Error?A.message:"Candidate promotion failed"})}finally{m(A=>{const M=new Set(A);return M.delete(P),M})}})()},[]),N=c.useCallback(async(P,A)=>{g(M=>{if(M.has(P))return M;const C=new Set(M);return C.add(P),C});try{const M=await We(`/api/knowledge/candidates/${encodeURIComponent(P)}`,EE,IE,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)},C=>`Candidate update failed with ${String(C.status)}`);return a(C=>C.map(I=>I.id===M.candidate.id?M.candidate:I)),p({status:"ready",error:null}),!0}catch(M){return p({status:"failed",error:M instanceof Error?M.message:"Candidate update failed"}),!1}finally{g(M=>{const C=new Set(M);return C.delete(P),C})}},[]);return e.length===0?null:s.jsxs("section",{className:"border border-border bg-card shadow-sm mb-2 rounded-[8px] px-3 py-2",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2 text-xs",children:[r&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 font-semibold text-foreground",children:[s.jsx(Xo,{className:"size-3.5 text-blue-400"}),b.llmCallCount," LLM"]}),s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(xr,{className:"size-3.5 text-sky-400/70"}),b.toolCallCount," tools"]}),r&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(sr,{className:"size-3.5 text-emerald-400"}),s.jsxs("span",{className:"font-mono",children:[Me(b.totalInputTokens)," / ",Me(b.totalOutputTokens)]})]}),(b.totalCacheCreationInputTokens>0||b.totalCacheReadInputTokens>0)&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(sr,{className:"size-3.5 text-purple-400"}),s.jsxs("span",{className:"font-mono",children:["KV Cache +",Me(b.totalCacheCreationInputTokens)," / ~",Me(b.totalCacheReadInputTokens)]})]}),j&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(sn,{className:"size-3.5"}),r&&s.jsx("span",{className:"font-mono",children:nl(b.totalElapsedMs)}),b.maxElapsedMs!==null&&s.jsxs("span",{className:"font-mono text-muted-foreground/70",children:["max ",nl(b.maxElapsedMs)]})]}),r&&k!==null&&s.jsx("span",{className:"font-mono text-muted-foreground/70",children:k}),(b.failedCallCount>0||b.pendingCallCount>0||b.slowCallCount>0)&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-amber-400",children:[s.jsx(yn,{className:"size-3.5"}),s.jsxs("span",{className:"font-mono",children:[b.failedCallCount," fail / ",b.pendingCallCount," pending /"," ",b.slowCallCount," slow"]})]}),s.jsx("span",{className:"flex-1"}),v&&s.jsx(_e,{variant:"outline",className:"h-6 px-2 text-[10px] font-mono",children:OE(b.knowledgeCandidateCount)}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:S,disabled:d.status==="loading",children:[d.status==="loading"?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(cf,{className:"size-3.5"}),"Candidate"]}),v&&s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 text-muted-foreground",onClick:()=>u(P=>!P),"aria-expanded":l,"aria-label":l?"Collapse memory candidates":"Expand memory candidates",children:l?s.jsx(tt,{className:"size-3.5"}):s.jsx(vt,{className:"size-3.5"})})]}),d.status==="failed"&&s.jsx("p",{className:"mt-2 text-xs text-destructive",children:d.error}),s.jsx(BE,{insights:y}),l&&s.jsx(JE,{candidates:i,promotingCandidateIds:f,updatingCandidateIds:h,onPromoteCandidate:_,onUpdateCandidate:N,displayNumberByLogId:w})]})}function XE(e){let t=0,n=0;for(const r of e)r.inputTokens!==null&&(t+=r.inputTokens),r.outputTokens!==null&&(n+=r.outputTokens);return{totalInputTokens:t,totalOutputTokens:n}}function QE(e){const t=new Map;for(const n of e){if(n.model===null)continue;const r=WC(n.model);if(r==="unknown")continue;let o=t.get(r);o===void 0&&(o=new Set,t.set(r,o)),o.add(n.model)}return[...t.entries()].map(([n,r])=>({provider:n,models:[...r]}))}function eR(e){for(const t of e){const n=t.clientPid;if(n!=null)return n}return null}function tR(e){for(const t of e){const n=t.clientProjectFolder;if(n!=null&&n!=="")return n}return null}const nR=c.memo(function({group:e,viewMode:t="simple",strip:n,slowResponseThresholdSeconds:r,cacheTrends:o,onCompareWithPrevious:i,comparisonPredecessors:a,onClearGroup:l,showClientIdentity:u=!0,showProcessMetadata:d=!0,showLogClientMetadata:p=!0,defaultExpanded:f=!1,timeDisplayFormat:m,expanded:h,onExpandedChange:g}){const[v,b]=c.useState(f),w=h??v,y=c.useCallback(C=>{if(g!==void 0){g(C);return}b(C)},[g]);c.useEffect(()=>{!f||h!==void 0||b(!0)},[h,f]);const j=c.useMemo(()=>XE(e.logs),[e.logs]),k=c.useMemo(()=>QE(e.logs),[e.logs]),S=e.logs[0]?.timestamp??new Date().toISOString(),_=e.logs[e.logs.length-1]?.timestamp??new Date().toISOString(),N=e.logs.some(C=>C.responseStatus===null),P=c.useMemo(()=>eR(e.logs),[e.logs]),A=c.useMemo(()=>tR(e.logs),[e.logs]),M=c.useMemo(()=>tl(e.logs),[e.logs]);return c.useEffect(()=>{const C=I=>{const F=Si(I);F!==null&&e.logs.some(U=>U.id===F.logId)&&y(!0)};return window.addEventListener(cn,C),()=>{window.removeEventListener(cn,C)}},[e.logs,y]),s.jsxs("div",{className:"mb-1.5",children:[s.jsx(lT,{conversationId:e.conversationId,startTime:S,endTime:_,totalCalls:e.logs.length,totalInputTokens:j.totalInputTokens,totalOutputTokens:j.totalOutputTokens,expanded:w,onToggle:()=>y(!w),providers:k,isLoading:N,userAgent:e.logs[0]?.userAgent??null,clientPid:P,clientProjectFolder:A,showClientIdentity:u,showProcessMetadata:d,timeDisplayFormat:m,onClear:()=>l(e.logs.map(C=>C.id))}),w&&s.jsxs("div",{children:[s.jsx(YE,{logs:e.logs,scopeId:e.conversationId,slowResponseThresholdSeconds:r,showRollupMetrics:!1,timeDisplayFormat:m}),s.jsx(wE,{turnGroups:M,viewMode:t,strip:n,slowResponseThresholdSeconds:r,timeDisplayFormat:m,cacheTrends:o,onCompareWithPrevious:i,comparisonPredecessors:a,showLogClientMetadata:p})]})]})}),sR="flex w-full min-w-0 items-center gap-2 rounded-md border border-border/70 bg-muted/35 px-3 py-2 sm:w-auto sm:max-w-full",rR="m-0 min-w-0 flex-1 overflow-x-auto font-mono text-xs text-foreground sm:text-sm";function oR(e){return e==="full"}function iR(e){return e==="raw"}function aR(e,t){const n=t>0;return{redacted:n,raw:n&&oR(e)}}function lR(e,t){const n=e[0],r=e[e.length-1];return n===void 0||r===void 0?null:Qo(n.timestamp,r.timestamp,t)}function cR(e){return e.error!==null&&e.error!==void 0&&e.error.length>0?!0:e.responseStatus!==null&&e.responseStatus>=400}function uR(e){const t=new Set;for(const r of e)r.model!==null&&r.model.length>0&&t.add(r.model);const n=[...t].sort();return n.length===0?"Model unknown":n.length===1?n[0]??"Model unknown":`${n.length} models`}function dR(e){const t=new Set;for(const r of e)r.providerName!==null&&r.providerName!==void 0&&r.providerName.length>0&&t.add(r.providerName);const n=[...t].sort();return n.length===0?"Provider unknown":n.length===1?n[0]??"Provider unknown":`${n.length} providers`}function pR(e){if(e<1e3)return`${e}ms`;if(e<6e4){const o=e/1e3;return`${o<10?o.toFixed(1):o.toFixed(0)}s`}const t=Math.round(e/1e3),n=Math.floor(t/60),r=t%60;return`${n}m ${r}s`}function fR(e,t){return`${Me(e)} in / ${Me(t)} out`}function mR(e,t){if(e.length===0)return 0;if(t.length===0)return tl(e).length;let n=0;for(const r of t)n+=tl(r.logs).length;return n}function hR({stopReason:e,pending:t,lastFailureLogNumber:n}){if(t>0)return{label:"In flight",detail:`${t} request${t===1?"":"s"} pending`,tone:"cool"};if(n!==null&&e===null)return{label:"Error",detail:`Last failed request #${n}`,tone:"danger"};switch(e){case"end_turn":return{label:"End turn",detail:"Assistant completed the turn",tone:"neutral"};case"stop":return{label:"Stop",detail:"Model reached a stop condition",tone:"neutral"};case"length":return{label:"Output limit",detail:"Turn ended at max output tokens",tone:"watch"};case"tool_use":return{label:"Tool call",detail:"Assistant requested a tool",tone:"cool"};case null:return{label:"Unknown",detail:"No finish reason captured",tone:"neutral"}}}function gR(e){if(e===null)return!1;const t=e.toLowerCase();return t.includes("abort")||t.includes("cancel")||t.includes("client disconnected")||t.includes("stream disconnected")||t.includes("connection closed")}function xR({pending:e,failures:t,lengthStops:n,stopReason:r,lastFailure:o}){if(o!==null&&(o.status===499||gR(o.error)))return{label:"Client aborted",detail:`Request #${o.logNumber} ended before completion`,tone:"watch"};if(e>0)return{label:"In flight",detail:`${e} request${e===1?"":"s"} still running`,tone:"cool"};if(o!==null&&o.status!==null&&o.status>=500)return{label:"Provider error",detail:`Request #${o.logNumber} returned HTTP ${o.status}`,tone:"danger"};if(t>0&&o!==null)return{label:"Failed",detail:`Request #${o.logNumber} needs attention`,tone:"danger"};if(n>0||r==="length")return{label:"Output limited",detail:"Model stopped at the output token limit",tone:"watch"};switch(r){case"end_turn":case"stop":return{label:"Completed",detail:"Assistant completed normally",tone:"neutral"};case"tool_use":return{label:"Tool requested",detail:"Assistant handed off to a tool",tone:"cool"};case null:return{label:"Unknown",detail:"No terminal signal captured",tone:"neutral"}}}function bR({logs:e,conversationGroups:t,isLoading:n,timeDisplayFormat:r,slowResponseThresholdSeconds:o}){let i=0,a=0,l=0,u=0,d=0,p=0,f=null,m=null,h=null,g=null,v=null,b=0,w=0,y=0,j=null;const k=o*1e3;for(let A=0;A<e.length;A+=1){const M=e[A];if(M===void 0)continue;const C=A+1,I=a0(M);I!==null&&(f=I),I==="length"&&(u+=1),cR(M)&&(i+=1,m=C,h={logNumber:C,status:M.responseStatus,error:M.error??null}),M.responseStatus===null&&(a+=1),o>0&&M.elapsedMs!==null&&M.elapsedMs>=k&&(l+=1),M.inputTokens!==null&&(d+=M.inputTokens),M.outputTokens!==null&&(p+=M.outputTokens),M.elapsedMs!==null&&(g===null||M.elapsedMs>g)&&(g=M.elapsedMs,v=C);const F=M.inputTokens??0,U=M.outputTokens??0,Y=F+U;Y>b&&(b=Y,w=F,y=U,j=C)}const S=n||a>0&&i===0?"rolling":i>0?"failed":l>0||u>0?"watch":"clear",_=S==="rolling"?"Rolling":S==="failed"?"Failure":S==="watch"?"Watch":"Clear",N=hR({stopReason:f,pending:a,lastFailureLogNumber:m}),P=xR({pending:a,failures:i,lengthStops:u,stopReason:f,lastFailure:h});return{status:S,statusLabel:_,modelLabel:uR(e),providerLabel:dR(e),requests:e.length,turns:mR(e,t),failures:i,pending:a,slow:l,lengthStops:u,timeRange:lR(e,r),tokenLabel:`${Me(d)} in / ${Me(p)} out`,finishLabel:N.label,finishDetail:N.detail,finishTone:N.tone,outcomeLabel:P.label,outcomeDetail:P.detail,outcomeTone:P.tone,slowestLabel:g===null?"n/a":pR(g),slowestDetail:v===null?"Latency pending":`Request #${v}`,heaviestDetail:j===null?"Tokens pending":`#${j} ${fR(w,y)}`}}function vR({pinnedSessionId:e,selectedSession:t,sessions:n,logs:r}){if(e!==void 0){const a=r.filter(l=>l.sessionId===e);return a.length===0?null:{label:e,logs:a,showBackLink:!0}}if(t!=="__all__"){const a=r.filter(l=>l.sessionId===t);return a.length===0?null:{label:t,logs:a,showBackLink:!0}}const o=n.length===1?n[0]??null:null;return o!==null&&r.every(l=>l.sessionId===o)?{label:o,logs:[...r],showBackLink:!1}:n.length===0&&r.length>0&&r.every(a=>a.sessionId===null)?{label:"Visible requests",logs:[...r],showBackLink:!1}:null}function yR({logs:e,pagination:t}){if(t.isLoading&&e.length===0)return"Loading logs...";if(e.length===0)return"No logs on this page";const n=e[0],r=e[e.length-1],o=n===void 0||r===void 0?"Current page":`#${n.id}-#${r.id}`;return t.total===null?`Showing ${e.length} logs (${o})`:t.total<=e.length?`Showing all ${t.total} logs`:`Showing ${e.length} of ${t.total} logs (${o})`}function cr({...e}){return s.jsx(Jm,{"data-slot":"select",...e})}function zo({...e}){return s.jsx(eh,{"data-slot":"select-value",...e})}function ur({className:e,size:t="default",children:n,...r}){return s.jsxs(Xm,{"data-slot":"select-trigger","data-size":t,className:$("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[n,s.jsx(th,{asChild:!0,children:s.jsx(tt,{className:"size-4 opacity-50"})})]})}function dr({className:e,children:t,position:n="popper",align:r="center",...o}){return s.jsx(sh,{children:s.jsxs(rh,{"data-slot":"select-content",className:$("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,align:r,...o,children:[s.jsx(wR,{}),s.jsx(ch,{className:$("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),s.jsx(jR,{})]})})}function ct({className:e,children:t,...n}){return s.jsxs(fh,{"data-slot":"select-item",className:$("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[s.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:s.jsx(gh,{children:s.jsx(Ge,{className:"size-4"})})}),s.jsx(mh,{children:t})]})}function wR({className:e,...t}){return s.jsx(xh,{"data-slot":"select-scroll-up-button",className:$("flex cursor-default items-center justify-center py-1",e),...t,children:s.jsx(Al,{className:"size-4"})})}function jR({className:e,...t}){return s.jsx(bh,{"data-slot":"select-scroll-down-button",className:$("flex cursor-default items-center justify-center py-1",e),...t,children:s.jsx(tt,{className:"size-4"})})}const kR=fe(["critical","warning","notice"]),SR=fe(["open"]),_R=fe(["proxy","tool-schema","run","group"]),S0=fe(["request-failure","request-timeout","slow-response","tool-schema","run-failure","group-failure","group-incomplete"]),NR=fe(["log","session","run","group"]),CR=fe(["anthropic","openai","unknown"]),TR=T({kind:NR,id:x(),label:x(),href:x().nullable()}),ER=T({id:x(),fingerprint:x(),severity:kR,category:S0,source:_R,status:SR,title:x(),message:x(),count:R().int().positive(),firstSeenAt:x(),lastSeenAt:x(),logIds:W(R().int().positive()),sessionIds:W(x()),runIds:W(x()),groupIds:W(x()),provider:x().nullable(),model:x().nullable(),apiFormat:CR.nullable(),evidence:W(TR),metadata:Ke(x(),et)}),RR=T({category:S0,count:R().int().nonnegative()}),_0=T({total:R().int().nonnegative(),open:R().int().nonnegative(),critical:R().int().nonnegative(),warning:R().int().nonnegative(),notice:R().int().nonnegative(),byCategory:W(RR)}),MR=T({alerts:W(ER),total:R().int().nonnegative(),limit:R().int().positive(),summary:_0}),IR=8e3,PR=1e4;function AR(e){const t=new URLSearchParams;e.severity!==void 0&&t.set("severity",e.severity),e.category!==void 0&&t.set("category",e.category),e.source!==void 0&&t.set("source",e.source),e.limit!==void 0&&t.set("limit",String(e.limit));const n=t.toString();return n.length>0?`/api/alerts?${n}`:"/api/alerts"}function OR(e,t){const n=Ut(t?AR(e):null,r=>We(r,MR,PR));return{alerts:n.data?.alerts??[],total:n.data?.total??0,summary:n.data?.summary??null,isLoading:n.isLoading,error:n.error,mutate:n.mutate}}function zR(){const e=Ut("/api/alerts/summary",t=>We(t,_0,IR),{refreshInterval:5e3,revalidateOnFocus:!0});return{summary:e.data??null,isLoading:e.isLoading,error:e.error,mutate:e.mutate}}const Nr="relative size-8 rounded-md border-0 bg-white/[0.035] text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:bg-white/[0.065] hover:text-accent-foreground focus-visible:ring-ring/50",LR=["request-failure","request-timeout","slow-response","tool-schema","run-failure","group-failure","group-incomplete"];function N0(e){switch(e){case"critical":return"Critical";case"warning":return"Warning";case"notice":return"Notice"}}function $R(e){switch(e){case"proxy":return"Proxy";case"tool-schema":return"Tool schema";case"run":return"Run";case"group":return"Group"}}function yc(e){switch(e){case"request-failure":return"Request failure";case"request-timeout":return"Timeout";case"slow-response":return"Slow response";case"tool-schema":return"Tool calling";case"run-failure":return"Run failure";case"group-failure":return"Group failure";case"group-incomplete":return"Group incomplete"}}function DR(e){switch(e){case"critical":return"border-red-400/40 bg-red-500/12 text-red-100";case"warning":return"border-amber-300/35 bg-amber-400/12 text-amber-100";case"notice":return"border-sky-300/35 bg-sky-400/12 text-sky-100"}}function FR(e){switch(e){case"critical":return"bg-red-400";case"warning":return"bg-amber-300";case"notice":return"bg-sky-300"}}function UR(e){switch(e){case"critical":return"text-red-200";case"warning":return"text-amber-100";case"notice":return"text-sky-100"}}function BR(e){switch(e){case"request-failure":case"run-failure":case"group-failure":return s.jsx(Yj,{className:"size-3.5"});case"request-timeout":case"slow-response":return s.jsx(bw,{className:"size-3.5"});case"tool-schema":return s.jsx(yn,{className:"size-3.5"});case"group-incomplete":return s.jsx(Uy,{className:"size-3.5"})}}function sl(e){const t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(void 0,{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).format(new Date(t)):e}function xt(e){return e.toLocaleString()}function C0(e){return e.provider!==null&&e.model!==null?`${e.provider} / ${e.model}`:e.provider!==null?e.provider:e.model!==null?e.model:"Unknown target"}function qR(e,t){const n={limit:100};return e!=="all"&&(n.severity=e),t!=="all"&&(n.category=t),n}function HR(e,t){if(t!==null){const n=e.find(r=>r.id===t);if(n!==void 0)return n}return e[0]??null}function Vr({label:e,count:t,tone:n}){const r=n==="critical"?"border-red-400/30 bg-red-500/10 text-red-100":n==="warning"?"border-amber-300/30 bg-amber-400/10 text-amber-100":n==="notice"?"border-sky-300/30 bg-sky-400/10 text-sky-100":"border-border bg-muted/40 text-foreground";return s.jsxs("div",{className:$("rounded-md border px-3 py-2",r),children:[s.jsx("div",{className:"text-[10px] font-semibold uppercase opacity-75",children:e}),s.jsx("div",{className:"mt-1 text-lg font-semibold leading-none",children:xt(t)})]})}function Wr({value:e,active:t,label:n,count:r,onClick:o}){return s.jsxs(ee,{type:"button",variant:t?"secondary":"ghost",size:"sm","aria-pressed":t,onClick:()=>o(e),className:"h-7 px-2",children:[n,r!==null?s.jsx(_e,{variant:"outline",children:xt(r)}):null]})}function VR({category:e,active:t,count:n,onClick:r}){return s.jsxs(ee,{type:"button",variant:t?"secondary":"ghost",size:"sm","aria-pressed":t,onClick:()=>r(e),className:"h-7 px-2",children:[BR(e),yc(e),s.jsx(_e,{variant:"outline",children:xt(n)})]})}function WR({alerts:e,selectedAlertId:t,isLoading:n,error:r,onSelect:o}){return n?s.jsxs("div",{className:"flex min-h-56 items-center justify-center rounded-md border border-dashed border-border text-xs text-muted-foreground",children:[s.jsx(He,{className:"mr-2 size-3.5 animate-spin"}),"Loading alerts..."]}):r!==void 0?s.jsx("div",{className:"rounded-md border border-red-300/30 bg-red-500/10 px-3 py-2 text-xs text-red-100",children:r.message}):e.length===0?s.jsx("div",{className:"flex min-h-56 items-center justify-center rounded-md border border-dashed border-border px-4 text-center text-xs text-muted-foreground",children:"No alerts match the current filters."}):s.jsx("div",{className:"min-h-0 space-y-2 overflow-y-auto pr-1",children:e.map(i=>{const a=i.id===t;return s.jsxs("button",{type:"button",onClick:()=>o(i.id),className:$("w-full rounded-md border px-3 py-3 text-left transition-colors",a?"border-primary/60 bg-primary/12":"border-border bg-background/70 hover:border-primary/30 hover:bg-muted/60"),children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("span",{className:$("size-2 rounded-full",FR(i.severity))}),s.jsx("span",{className:$("text-xs font-semibold",UR(i.severity)),children:N0(i.severity)}),s.jsx("span",{className:"truncate text-xs text-muted-foreground",children:yc(i.category)})]}),s.jsx("div",{className:"mt-1 text-sm font-semibold leading-snug",children:i.title}),s.jsx("div",{className:"mt-1 line-clamp-2 text-xs text-muted-foreground",children:i.message})]}),i.count>1?s.jsxs(_e,{variant:"outline",className:"shrink-0",children:["x",xt(i.count)]}):null]}),s.jsxs("div",{className:"mt-2 flex min-w-0 items-start justify-between gap-2 text-[11px] text-muted-foreground",children:[s.jsx("span",{className:"min-w-0 leading-snug",children:C0(i)}),s.jsx("span",{className:"shrink-0",children:sl(i.lastSeenAt)})]})]},i.id)})})}function ZR({alert:e,onNavigate:t}){return e.evidence.length===0?s.jsx("span",{className:"text-xs text-muted-foreground",children:"No linked evidence"}):s.jsx("div",{className:"flex flex-wrap gap-2",children:e.evidence.map(n=>n.href===null?s.jsx(_e,{variant:"outline",children:n.label},`${n.kind}:${n.id}`):s.jsx(_e,{variant:"outline",asChild:!0,children:s.jsx("a",{href:n.href,onClick:t,children:n.label})},`${n.kind}:${n.id}`))})}function KR({alert:e,onNavigate:t}){return e===null?s.jsx("div",{className:"flex min-h-56 items-center justify-center rounded-md border border-dashed border-border px-4 text-center text-xs text-muted-foreground",children:"Select an alert to inspect its evidence."}):s.jsxs("div",{className:"min-h-0 overflow-y-auto rounded-md border border-border bg-background/70",children:[s.jsx("div",{className:$("border-b px-4 py-3",DR(e.severity)),children:s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx(_e,{variant:"outline",children:N0(e.severity)}),s.jsx(_e,{variant:"outline",children:$R(e.source)}),s.jsx(_e,{variant:"outline",children:yc(e.category)})]}),s.jsx("h3",{className:"mt-3 text-base font-semibold",children:e.title}),s.jsx("p",{className:"mt-1 text-sm opacity-85",children:e.message})]}),e.count>1?s.jsxs(_e,{variant:"outline",className:"shrink-0",children:[xt(e.count)," hits"]}):null]})}),s.jsxs("div",{className:"space-y-4 p-4",children:[s.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[s.jsx(dn,{label:"Target",value:C0(e)}),s.jsx(dn,{label:"Last seen",value:sl(e.lastSeenAt)}),s.jsx(dn,{label:"First seen",value:sl(e.firstSeenAt)}),s.jsx(dn,{label:"Protocol",value:e.apiFormat??"n/a"})]}),s.jsxs("div",{children:[s.jsx("div",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:"Evidence"}),s.jsx(ZR,{alert:e,onNavigate:t})]}),s.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[s.jsx(dn,{label:"Logs",value:e.logIds.length===0?"n/a":xt(e.logIds.length)}),s.jsx(dn,{label:"Sessions",value:e.sessionIds.length===0?"n/a":xt(e.sessionIds.length)}),s.jsx(dn,{label:"Runs",value:e.runIds.length===0?"n/a":xt(e.runIds.length)}),s.jsx(dn,{label:"Groups",value:e.groupIds.length===0?"n/a":xt(e.groupIds.length)})]})]})]})}function dn({label:e,value:t}){return s.jsxs("div",{className:"rounded-md border border-border bg-muted/30 px-3 py-2",children:[s.jsx("div",{className:"text-[10px] font-semibold uppercase text-muted-foreground",children:e}),s.jsx("div",{className:"mt-1 truncate font-mono text-[11px] text-foreground",children:t})]})}function GR(){const[e,t]=c.useState(!1),[n,r]=c.useState("all"),[o,i]=c.useState("all"),[a,l]=c.useState(null),{summary:u,isLoading:d}=zR(),p=c.useMemo(()=>qR(n,o),[o,n]),{alerts:f,total:m,isLoading:h,error:g,mutate:v}=OR(p,e),b=c.useMemo(()=>HR(f,a),[f,a]);c.useEffect(()=>{!e||a!==null&&f.some(N=>N.id===a)||l(f[0]?.id??null)},[f,e,a]);const w=u?.total??0,y=u?.critical??0,j=u?.warning??0,k=u?.notice??0,S=y>0?"bg-red-600 text-white":j>0?"bg-amber-400 text-zinc-950":"bg-sky-400 text-zinc-950";return s.jsxs(Wt,{open:e,onOpenChange:t,children:[s.jsx(jr,{asChild:!0,children:s.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Nr,"aria-label":"Alerts",title:"Alerts",children:[s.jsx(Ca,{className:"size-4"}),d?s.jsx(He,{className:"absolute -right-0.5 -top-0.5 size-3 animate-spin text-muted-foreground"}):w>0?s.jsx("span",{className:$("absolute -right-1 -top-1 min-w-4 rounded-full px-1 text-[10px] font-semibold leading-4",S),children:xt(w)}):null,s.jsx("span",{className:"sr-only",children:"Alerts"})]})}),s.jsxs(Zt,{className:"flex max-h-[86vh] max-w-6xl flex-col overflow-hidden",children:[s.jsxs(Yt,{children:[s.jsxs(Xt,{className:"flex items-center gap-2 pr-8",children:[s.jsx(Ca,{className:"size-5 text-red-300"}),s.jsx("span",{children:"Alerts"}),s.jsx(_e,{variant:"outline",children:xt(w)})]}),s.jsx(kr,{className:"sr-only",children:"Local alert board for captured Inspector evidence."})]}),s.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[s.jsx(Vr,{label:"Open",count:u?.open??0,tone:"neutral"}),s.jsx(Vr,{label:"Critical",count:y,tone:"critical"}),s.jsx(Vr,{label:"Warning",count:j,tone:"warning"}),s.jsx(Vr,{label:"Notice",count:k,tone:"notice"})]}),s.jsxs("div",{className:"flex min-h-0 flex-wrap items-center justify-between gap-2 border-y border-border py-3",children:[s.jsxs("div",{className:"flex flex-wrap gap-1",children:[s.jsx(Wr,{value:"all",active:n==="all",label:"All",count:u?.total??null,onClick:r}),s.jsx(Wr,{value:"critical",active:n==="critical",label:"Critical",count:y,onClick:r}),s.jsx(Wr,{value:"warning",active:n==="warning",label:"Warning",count:j,onClick:r}),s.jsx(Wr,{value:"notice",active:n==="notice",label:"Notice",count:k,onClick:r})]}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"h-7 shrink-0 px-2",onClick:()=>{v()},children:[s.jsx(Bt,{className:"size-3.5"}),"Refresh"]})]}),s.jsxs("div",{className:"flex flex-wrap gap-1",children:[s.jsx(ee,{type:"button",variant:o==="all"?"secondary":"ghost",size:"sm","aria-pressed":o==="all",onClick:()=>i("all"),className:"h-7 px-2",children:"All categories"}),LR.map(_=>{const N=u?.byCategory.find(P=>P.category===_)?.count??0;return N===0?null:s.jsx(VR,{category:_,active:o===_,count:N,onClick:i},_)})]}),s.jsxs("div",{className:"grid min-h-0 flex-1 gap-4 md:grid-cols-[360px_minmax(0,1fr)]",children:[s.jsxs("div",{className:"flex min-h-0 flex-col",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs text-muted-foreground",children:[s.jsxs("span",{children:[xt(m)," matched"]}),s.jsx("span",{children:f.length<m?`${xt(f.length)} shown`:"Latest"})]}),s.jsx(WR,{alerts:f,selectedAlertId:b?.id??null,isLoading:h,error:g,onSelect:l})]}),s.jsx(KR,{alert:b,onNavigate:()=>t(!1)})]})]})]})}const JR=12e3;function YR(e){return e===null||e.evidence===null?null:`/api/groups/${encodeURIComponent(e.id)}/evidence`}function XR(e){const t=Ut(YR(e),n=>We(n,hy,JR));return{evidenceResponse:t.data??null,isLoading:t.isLoading,error:t.error,mutate:t.mutate}}const QR=8e3;function eM(){const e=Ut("/api/groups",t=>We(t,of,QR));return{groups:e.data?.groups??[],isLoading:e.isLoading,error:e.error,mutate:e.mutate}}const tM=3e3;function nM(e,t){return{id:(e?.id??0)+1,message:t.message,tone:t.tone??"error"}}function T0(){const[e,t]=c.useState(null),n=c.useCallback(o=>{t(i=>nM(i,o))},[]),r=c.useCallback(()=>{t(null)},[]);return c.useEffect(()=>{if(e===null)return;const o=window.setTimeout(()=>{t(null)},tM);return()=>{window.clearTimeout(o)}},[e]),{notice:e,showToast:n,dismissToast:r}}function E0({notice:e,onDismiss:t}){if(e===null)return null;const n=e.tone==="error",r=n?yn:Na;return s.jsx("div",{"aria-atomic":"true","aria-live":"polite",className:"pointer-events-none fixed top-4 right-4 z-[100] w-[min(calc(100vw-2rem),26rem)]",role:"status",children:s.jsxs("div",{className:$("pointer-events-auto flex items-start gap-2 rounded-md border bg-popover/95 px-3 py-2 text-sm text-popover-foreground shadow-[0_18px_50px_color-mix(in_oklch,var(--foreground)_16%,transparent)] backdrop-blur",n?"border-status-danger/35":"border-status-success/35"),children:[s.jsx(r,{className:$("mt-0.5 size-4 shrink-0",n?"text-status-danger":"text-status-success")}),s.jsx("div",{className:"min-w-0 flex-1 break-words leading-5",children:e.message}),s.jsx("button",{type:"button",className:"inline-flex size-6 shrink-0 items-center justify-center rounded-md text-current/70 transition-colors hover:bg-white/10 hover:text-current focus-visible:ring-1 focus-visible:ring-current focus-visible:outline-none","aria-label":"Dismiss notification",onClick:t,children:s.jsx(br,{className:"size-3.5"})})]},e.id)})}const sa=2e4;function sM(e,t){const n=`/api/groups/${encodeURIComponent(e)}`;return t?`${n}?deleteEvidence=1`:n}function rM(e){return"/api/groups"}function R0(e){let t=0,n=0,r=0,o=0;for(const i of e.members)switch(i.status){case"completed":t+=1;break;case"failed":case"cancelled":n+=1;break;case"running":r+=1;break;case"created":break;case null:o+=1;break}return{memberCount:e.members.length,completedMembers:t,failedMembers:n,runningMembers:r,missingStatusMembers:o}}function oM(e,t,n=null){return t!==null&&t.group.id===e.id?t.members.map(r=>({member:r.member,exportMember:r,source:"export"})):n!==null&&n.group.id===e.id&&n.members!==null?n.members.map(r=>({member:r.member,exportMember:r,source:"evidence"})):e.members.map(r=>({member:r,exportMember:null,source:"group"}))}function wc(e){switch(e){case"completed":return"border-emerald-200 bg-emerald-50 text-emerald-700";case"failed":case"cancelled":return"border-red-200 bg-red-50 text-red-700";case"running":return"border-sky-200 bg-sky-50 text-sky-700";case"created":return"border-zinc-200 bg-zinc-50 text-zinc-600";case null:return"border-zinc-200 bg-zinc-50 text-zinc-500"}}function jc(e){return e??"unknown"}function iM(e){switch(e){case"PASS":return"border-emerald-200 bg-emerald-50 text-emerald-700";case"FAIL":return"border-red-200 bg-red-50 text-red-700";case"RUNNING":return"border-sky-200 bg-sky-50 text-sky-700";case"UNKNOWN":return"border-zinc-200 bg-zinc-50 text-zinc-600"}}function _i(e){return e===null||e.trim().length===0?"-":e}function gt(e){return e.toLocaleString()}function rl(e){return e==null?"-":e<1e3?`${gt(e)} ms`:`${(e/1e3).toFixed(1)} s`}function Ps(e){const t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(void 0,{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).format(new Date(t)):e}function Yu(e){return e===null?"-":Ps(e)}function aM(e){const t=JSON.stringify(e),n=t===void 0?String(e):t;return n.length<=160?n:`${n.slice(0,157)}...`}function M0(...e){for(const t of e)if(t!==null&&t.trim().length>0)return t;return"-"}function lM(...e){for(const t of e)if(t!=null&&t.trim().length>0)return t;return null}function cM(e){const t=e.provider,n=e.model;return t!==null&&t.length>0&&n!==null&&n.length>0?`${t} / ${n}`:M0(t,n)}function uM(e,t){if(t!==null){const n=e.find(r=>r.id===t);if(n!==void 0)return n}return e[0]??null}function dM(e){return(e.exportMember?.session?.latestLogs??[])[0]??null}function pM(e){switch(e){case"export":return"fresh export";case"evidence":return"evidence";case"group":return"group"}}function fM(e,t){return t!==null&&t.group.id===e.id?t.evidence:e.evidence}function mM(e,t,n){return t!==null&&t.group.id===e.id?t.summary:n!==null&&n.group.id===e.id?n.summary:null}function hM(e,t,n){return t!==null&&t.group.id===e.id?t.jenkinsReport:n!==null&&n.group.id===e.id?n.report:null}function gM(){const[e,t]=c.useState(!1),[n,r]=c.useState(null),[o,i]=c.useState(null),[a,l]=c.useState(null),[u,d]=c.useState(null),[p,f]=c.useState(null),[m,h]=c.useState(!1),[g,v]=c.useState(null),[b,w]=c.useState(null),[y,j]=c.useState(!1),{notice:k,showToast:S,dismissToast:_}=T0(),{groups:N,isLoading:P,error:A,mutate:M}=eM(),C=c.useMemo(()=>uM(N,n),[N,n]);c.useEffect(()=>{!e||n!==null&&N.some(D=>D.id===n)||r(N[0]?.id??null)},[N,e,n]);const I=C!==null&&u!==null&&u.group.id===C.id?u:null,{evidenceResponse:F,isLoading:U,error:Y,mutate:Z}=XR(C),V=c.useCallback(()=>{M()},[M]),H=c.useCallback(async()=>{if(!(N.length===0||y)){j(!0),f(null),h(!1),w(null),l(null);try{const oe=await We(rM(!1),nf,sa,{method:"DELETE"},D=>`Clear failed with status ${String(D.status)}`);d(null),r(null),await M(),await Z(),S({message:`Cleared ${gt(oe.deleted)} group${oe.deleted===1?"":"s"}.`,tone:"success"})}catch(oe){S({message:oe instanceof Error?oe.message:"Unknown error clearing groups",tone:"error"})}finally{j(!1)}}},[y,N.length,M,Z,S]),z=c.useCallback(async oe=>{i(oe.id),l(null);try{const D=await We(`/api/groups/${encodeURIComponent(oe.id)}/evidence`,gy,sa,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({latestLogLimit:10})},je=>`Export failed with status ${String(je.status)}`);d(D),await M(),await Z()}catch(D){l(D instanceof Error?D.message:String(D))}finally{i(null)}},[M,Z]),X=c.useCallback(oe=>{f(oe),h(!1),w(null)},[]),J=c.useCallback(()=>{g===null&&(f(null),h(!1),w(null))},[g]),be=c.useCallback(oe=>{r(oe),f(null),h(!1),w(null)},[]),ve=c.useCallback(async()=>{const oe=p;if(oe!==null){v(oe.id),w(null);try{await We(sM(oe.id,m),tf,sa,{method:"DELETE"},D=>`Delete failed with status ${String(D.status)}`),d(D=>D!==null&&D.group.id===oe.id?null:D),r(D=>D===oe.id?null:D),f(null),h(!1),await M(),await Z()}catch(D){w(D instanceof Error?D.message:String(D))}finally{v(null)}}},[m,p,M,Z]);return s.jsxs(Wt,{open:e,onOpenChange:t,children:[s.jsx(E0,{notice:k,onDismiss:_}),s.jsx(jr,{asChild:!0,children:s.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Nr,"aria-label":"Evaluation groups",title:"Evaluation groups",children:[s.jsx(nu,{className:"size-4"}),P?s.jsx(He,{className:"absolute -right-0.5 -top-0.5 size-3 animate-spin text-muted-foreground"}):N.length>0?s.jsx("span",{className:"absolute -right-1 -top-1 min-w-4 rounded-full bg-primary px-1 text-[10px] leading-4 text-primary-foreground",children:N.length}):null,s.jsx("span",{className:"sr-only",children:"Evaluation groups"})]})}),s.jsxs(Zt,{className:"flex max-h-[85vh] max-w-5xl flex-col overflow-hidden",children:[s.jsx(Yt,{children:s.jsxs(Xt,{className:"flex items-center gap-2 pr-8",children:[s.jsx(nu,{className:"size-5 text-muted-foreground"}),s.jsx("span",{children:"Groups"}),s.jsx(_e,{variant:"outline",children:gt(N.length)})]})}),s.jsxs("div",{className:"flex min-h-0 items-center justify-between gap-3 border-b border-border pb-3",children:[s.jsx("p",{className:"text-xs text-muted-foreground",children:"Evaluation batches, model runs, and exported evidence packs."}),s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsxs(ee,{type:"button",variant:"outline",size:"sm",disabled:N.length===0||y,onClick:()=>{H()},title:"Clear all groups. Session logs and run records stay intact.",children:[y?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(wn,{className:"size-3.5"}),"Clear"]}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",onClick:V,children:[s.jsx(Bt,{className:"size-3.5"}),"Refresh"]})]})]}),s.jsxs("div",{className:"grid min-h-0 flex-1 gap-4 md:grid-cols-[260px_minmax(0,1fr)]",children:[s.jsx(xM,{groups:N,selectedGroupId:C?.id??null,isLoading:P,error:A,onSelect:be}),s.jsx(bM,{group:C,deleteTarget:p,deleteEvidence:m,exportResult:I,evidenceResponse:F,evidenceLoading:U,evidenceError:Y,exportError:a,deleteError:b,exportingGroupId:o,deletingGroupId:g,onDeleteEvidenceChange:h,onExport:z,onRequestDelete:X,onCancelDelete:J,onConfirmDelete:()=>{ve()}})]})]})]})}function xM({groups:e,selectedGroupId:t,isLoading:n,error:r,onSelect:o}){return n?s.jsx("div",{className:"flex min-h-48 items-center justify-center rounded-md border border-dashed border-border text-xs text-muted-foreground",children:"Loading groups..."}):r!==void 0?s.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:r.message}):e.length===0?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-8 text-center text-xs text-muted-foreground",children:"No groups yet."}):s.jsx("div",{className:"min-h-0 overflow-y-auto pr-1",children:s.jsx("div",{className:"space-y-2",children:e.map(i=>{const a=R0(i),l=t===i.id;return s.jsxs("button",{type:"button",onClick:()=>o(i.id),className:$("w-full rounded-md border px-3 py-2 text-left text-xs transition-colors",l?"border-primary bg-primary/5":"border-border bg-background hover:bg-muted/50"),children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[s.jsx("span",{className:"min-w-0 text-sm font-medium leading-snug",children:i.title}),s.jsx(_e,{variant:"outline",className:wc(i.status),children:jc(i.status)})]}),s.jsxs("div",{className:"mt-1 flex items-center gap-2 text-muted-foreground",children:[s.jsxs("span",{children:[a.memberCount," sessions"]}),s.jsx("span",{children:Ps(i.updatedAt)})]})]},i.id)})})})}function bM({group:e,deleteTarget:t,deleteEvidence:n,exportResult:r,evidenceResponse:o,evidenceLoading:i,evidenceError:a,exportError:l,deleteError:u,exportingGroupId:d,deletingGroupId:p,onDeleteEvidenceChange:f,onExport:m,onRequestDelete:h,onCancelDelete:g,onConfirmDelete:v}){if(e===null)return s.jsx("div",{className:"flex min-h-48 items-center justify-center rounded-md border border-dashed border-border text-xs text-muted-foreground",children:"Select a group to inspect."});const b=R0(e),w=mM(e,r,o),y=hM(e,r,o),j=fM(e,r),k=oM(e,r,o),S=d===e.id,_=p===e.id,N=t?.id===e.id;return s.jsx("div",{className:"min-h-0 overflow-y-auto pr-1",children:s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex min-w-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[s.jsxs("div",{className:"min-w-0 space-y-1",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[s.jsx("h3",{className:"min-w-0 text-base font-semibold leading-snug",children:e.title}),s.jsx(_e,{variant:"outline",className:wc(e.status),children:jc(e.status)}),s.jsx(_e,{variant:"outline",children:e.kind})]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[s.jsx("span",{children:_i(e.project)}),s.jsxs("span",{children:["updated ",Ps(e.updatedAt)]})]})]}),s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsx(ee,{type:"button",variant:"outline",size:"icon",className:"size-8 text-red-600 hover:text-red-700","aria-label":"Delete group",title:"Delete group",disabled:_,onClick:()=>h(e),children:_?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(wn,{className:"size-3.5"})}),s.jsxs(ee,{type:"button",variant:"default",size:"sm",className:"shrink-0",disabled:S||_,onClick:()=>{m(e)},children:[S?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(gr,{className:"size-3.5"}),"Export evidence"]})]})]}),e.task!==null&&e.task.trim().length>0&&s.jsx("p",{className:"rounded-md border border-border bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:e.task}),N&&s.jsx(vM,{group:e,deleteEvidence:n,isDeleting:_,error:u,onDeleteEvidenceChange:f,onCancel:g,onConfirm:v}),s.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[s.jsx(pn,{label:"Members",value:b.memberCount}),s.jsx(pn,{label:"Done",value:b.completedMembers}),s.jsx(pn,{label:"Failed",value:b.failedMembers}),s.jsx(pn,{label:"Running",value:b.runningMembers})]}),w!==null&&s.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[s.jsx(pn,{label:"Requests",value:w.requestCount}),s.jsx(pn,{label:"Errors",value:w.errorCount}),s.jsx(pn,{label:"Tokens",value:w.tokenUsage.total}),s.jsx(pn,{label:"Missing",value:w.missingSessions})]}),s.jsx(yM,{report:y,loading:i,error:a,hasEvidence:j!==null}),s.jsx(wM,{evidence:j}),l!==null&&s.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:l}),u!==null&&!N&&s.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:u}),s.jsx(jM,{rows:k})]})})}function vM({group:e,deleteEvidence:t,isDeleting:n,error:r,onDeleteEvidenceChange:o,onCancel:i,onConfirm:a}){const l=e.evidence!==null,u=e.evidence?.markdownPath??"No evidence pack exported.";return s.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-3 text-red-900",children:s.jsxs("div",{className:"flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[s.jsxs("div",{className:"min-w-0 space-y-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-sm font-semibold",children:[s.jsx(wn,{className:"size-4 text-red-600"}),s.jsx("span",{children:"Delete group?"})]}),s.jsxs("p",{className:"text-xs text-red-800",children:["Delete ",s.jsx("span",{className:"font-medium",children:e.title}),". Session logs and run records stay intact."]}),s.jsxs("label",{className:$("flex min-w-0 items-start gap-2 text-xs",l?"cursor-pointer":"opacity-60"),children:[s.jsx("input",{type:"checkbox",className:"mt-0.5 size-4 shrink-0",checked:t,disabled:!l||n,onChange:d=>o(d.currentTarget.checked)}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block font-medium",children:"Also delete exported evidence files"}),s.jsx("code",{className:"mt-1 block truncate font-mono text-[11px] text-red-700",children:u})]})]}),r!==null&&s.jsx("div",{className:"rounded-md border border-red-200 bg-white px-2 py-1.5 text-xs text-red-700",children:r})]}),s.jsxs("div",{className:"flex shrink-0 justify-end gap-2",children:[s.jsx(ee,{type:"button",variant:"outline",size:"sm",disabled:n,onClick:i,children:"Cancel"}),s.jsxs(ee,{type:"button",variant:"destructive",size:"sm",disabled:n,onClick:a,children:[n?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(wn,{className:"size-3.5"}),"Delete"]})]})]})})}function pn({label:e,value:t}){return s.jsxs("div",{className:"rounded-md border border-border bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"text-[11px] font-medium uppercase text-muted-foreground",children:e}),s.jsx("div",{className:"mt-1 font-mono text-sm font-semibold",children:gt(t)})]})}function yM({report:e,loading:t,error:n,hasEvidence:r}){const{copied:o,copy:i}=bn(e?.markdown??null);return e===null&&!t&&n===void 0?null:t?s.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:[s.jsx(He,{className:"size-3.5 animate-spin"}),"Loading evidence report..."]}):n!==void 0&&r?s.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:["Failed to load evidence report: ",n.message]}):e===null?null:s.jsxs("div",{className:"rounded-md border border-border bg-muted/20 px-3 py-2",children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("span",{className:"text-xs font-semibold",children:"Evidence report"}),s.jsx(_e,{variant:"outline",className:iM(e.status),children:e.status})]}),s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0","aria-label":o?"Copied evidence report":"Copy evidence report",onClick:i,children:o?s.jsx(Ge,{className:"size-3.5 text-emerald-500"}):s.jsx(zt,{className:"size-3.5"})})]}),s.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:e.summary})]})}function wM({evidence:e}){return e===null?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-2 text-xs text-muted-foreground",children:"No evidence pack exported yet."}):s.jsxs("div",{className:"space-y-2 rounded-md border border-border bg-muted/20 px-3 py-2",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("span",{className:"text-xs font-semibold",children:"Evidence paths"}),s.jsx("span",{className:"text-[11px] text-muted-foreground",children:Ps(e.exportedAt)})]}),s.jsxs("div",{className:"grid gap-2",children:[s.jsx(ra,{label:"JSON",value:e.jsonPath}),s.jsx(ra,{label:"Markdown",value:e.markdownPath}),s.jsx(ra,{label:"HTML",value:e.htmlPath})]})]})}function ra({label:e,value:t}){const{copied:n,copy:r}=bn(t);return s.jsxs("div",{className:"flex min-w-0 items-center gap-2 rounded-md border border-border bg-background px-2 py-1.5",children:[s.jsx("span",{className:"w-16 shrink-0 text-[11px] font-medium text-muted-foreground",children:e}),s.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:t}),s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0","aria-label":n?`Copied ${e} path`:`Copy ${e} path`,onClick:r,children:n?s.jsx(Ge,{className:"size-3.5 text-emerald-500"}):s.jsx(zt,{className:"size-3.5"})})]})}function jM({rows:e}){const[t,n]=c.useState(null),r=c.useCallback(o=>{n(i=>i===o?null:o)},[]);return e.length===0?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-8 text-center text-xs text-muted-foreground",children:"No sessions attached."}):s.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[s.jsx("div",{className:"border-b border-border bg-muted/30 px-3 py-2 text-xs font-semibold",children:"Members"}),s.jsx("div",{className:"overflow-x-auto",children:s.jsxs("table",{className:"w-full min-w-[760px] text-left text-xs",children:[s.jsx("thead",{className:"border-b border-border bg-muted/20 text-muted-foreground",children:s.jsxs("tr",{children:[s.jsx("th",{className:"px-3 py-2 font-medium",children:"Session"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Provider / Model"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Status"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Requests"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Errors"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"First chunk"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Tokens"})]})}),s.jsx("tbody",{children:e.map(o=>{const i=t===o.member.id;return s.jsxs(c.Fragment,{children:[s.jsx(kM,{row:o,isExpanded:i,onToggleDetails:r}),s.jsx(SM,{row:o,isExpanded:i})]},o.member.id)})})]})})]})}function kM({row:e,isExpanded:t,onToggleDetails:n}){const r=e.member,o=e.exportMember?.session??null,i=dM(e),a=o?.inspectorPath??ep(r.sessionId),l=e.source!=="evidence",u=o?.requestCount??null,d=o?.errorCount??null,p=o?.tokenUsage.total??null,f=i?.firstChunkMs??null,m=M0(r.label,r.sessionId),h=lM(o?.clientUserAgent,i?.userAgent,r.agent),g=o?.clientProjectFolder??null,v=cc({userAgent:h,conversationId:r.sessionId,clientProjectFolder:g}),b=yi(v);return s.jsxs("tr",{className:"border-b border-border last:border-0 hover:bg-muted/20",children:[s.jsxs("td",{className:"max-w-56 px-3 py-2",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0 text-muted-foreground","aria-label":t?`Hide member ${m}`:`Show member ${m}`,title:t?"Hide member details":"Show member details",onClick:()=>{n(r.id)},children:t?s.jsx(tt,{className:"size-3.5"}):s.jsx(vt,{className:"size-3.5"})}),b!==null&&s.jsx(wi,{client:v,className:"size-5"}),l?s.jsxs("a",{href:a,target:"_blank",rel:"noreferrer",className:"inline-flex max-w-full min-w-0 items-center gap-2 rounded-sm font-mono text-xs text-primary outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","aria-label":`Open session ${m}`,title:`Open session ${m}`,children:[s.jsx("span",{className:"min-w-0 truncate",children:m}),s.jsx(Ol,{className:"size-3 shrink-0 text-muted-foreground"})]}):s.jsxs("button",{type:"button",className:"inline-flex max-w-full min-w-0 items-center gap-2 rounded-sm font-mono text-xs text-foreground outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",title:`Show evidence snapshot for ${m}`,"aria-label":`Show evidence snapshot for ${m}`,onClick:()=>{n(r.id)},children:[s.jsx("span",{className:"min-w-0 truncate",children:m}),s.jsx(_e,{variant:"outline",className:"shrink-0 border-zinc-200 bg-zinc-50 text-zinc-600",children:"evidence"})]})]}),s.jsx("div",{className:"mt-0.5 truncate text-[11px] text-muted-foreground",children:_i(r.agent)})]}),s.jsx("td",{className:"max-w-52 px-3 py-2",children:s.jsx("span",{className:"block whitespace-normal leading-snug",children:cM(r)})}),s.jsx("td",{className:"px-3 py-2",children:s.jsx(_e,{variant:"outline",className:wc(r.status),children:jc(r.status)})}),s.jsx("td",{className:"px-3 py-2 font-mono",children:u===null?"-":gt(u)}),s.jsx("td",{className:"px-3 py-2 font-mono",children:d===null?"-":gt(d)}),s.jsx("td",{className:"px-3 py-2 font-mono",children:rl(f)}),s.jsx("td",{className:"px-3 py-2 font-mono",children:p===null?"-":gt(p)})]})}function SM({row:e,isExpanded:t}){if(!t)return null;const n=e.member,r=e.exportMember,o=r?.session??null,i=r?.run??null,a=Object.entries(n.metadata);return s.jsx("tr",{className:"border-b border-border bg-muted/10",children:s.jsx("td",{colSpan:7,className:"px-3 pb-4 pt-2",children:s.jsxs("div",{className:"space-y-3 rounded-md border border-border bg-background p-3",children:[s.jsxs("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-4",children:[s.jsx(nt,{label:"Source",value:pM(e.source)}),s.jsx(nt,{label:"Member ID",value:n.id,mono:!0}),s.jsx(nt,{label:"Session ID",value:n.sessionId,mono:!0}),s.jsx(nt,{label:"Run ID",value:i?.id??n.runId??"-",mono:!0}),s.jsx(nt,{label:"Created",value:Ps(n.addedAt)}),s.jsx(nt,{label:"Updated",value:Ps(n.updatedAt)}),s.jsx(nt,{label:"Session created",value:Yu(o?.createdAt??null)}),s.jsx(nt,{label:"Session updated",value:Yu(o?.updatedAt??null)})]}),o===null?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-2 text-xs text-muted-foreground",children:"No session snapshot is available for this member."}):s.jsxs("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-4",children:[s.jsx(nt,{label:"Log coverage",value:o.logCoverage}),s.jsx(nt,{label:"Runtime",value:_i(o.runtimeMode)}),s.jsx(nt,{label:"Requests",value:gt(o.requestCount),mono:!0}),s.jsx(nt,{label:"Errors",value:gt(o.errorCount),mono:!0}),s.jsx(nt,{label:"Input tokens",value:gt(o.tokenUsage.input),mono:!0}),s.jsx(nt,{label:"Output tokens",value:gt(o.tokenUsage.output),mono:!0}),s.jsx(nt,{label:"Cache read",value:gt(o.tokenUsage.cacheRead),mono:!0}),s.jsx(nt,{label:"Total tokens",value:gt(o.tokenUsage.total),mono:!0})]}),s.jsx(_M,{logs:o?.latestLogs??[]}),s.jsx(NM,{entries:a})]})})})}function nt({label:e,value:t,mono:n=!1}){return s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:e}),s.jsx("div",{className:$("truncate text-xs text-foreground",n?"font-mono":""),title:t,children:t})]})}function _M({logs:e}){const t=e.slice(0,5);return t.length===0?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-2 text-xs text-muted-foreground",children:"No latest logs in this snapshot."}):s.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[s.jsx("div",{className:"border-b border-border bg-muted/30 px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Latest logs"}),s.jsx("div",{className:"divide-y divide-border",children:t.map(n=>{const r=n.sessionLogNumber??n.id;return s.jsxs("div",{className:"grid gap-2 px-3 py-2 text-xs sm:grid-cols-[72px_1fr_88px_88px]",children:[s.jsxs("span",{className:"font-mono text-muted-foreground",title:`Log ID ${String(n.id)}`,children:["#",r]}),s.jsxs("span",{className:"min-w-0 truncate",children:[_i(n.model)," · ",n.apiFormat," · ",n.path]}),s.jsx("span",{className:"font-mono text-muted-foreground",children:rl(n.firstChunkMs)}),s.jsx("span",{className:"font-mono text-muted-foreground",children:rl(n.latencyMs)})]},n.id)})})]})}function NM({entries:e}){return e.length===0?null:s.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[s.jsx("div",{className:"border-b border-border bg-muted/30 px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Metadata"}),s.jsx("div",{className:"grid gap-x-3 gap-y-2 p-3 text-xs sm:grid-cols-2",children:e.map(([t,n])=>{const r=aM(n);return s.jsxs("div",{className:"min-w-0",children:[s.jsx("span",{className:"mr-2 text-muted-foreground",children:t}),s.jsx("span",{className:"font-mono text-foreground",title:r,children:r})]},t)})})]})}const CM=T({selectionId:x().uuid(),name:x(),apiKeyHint:x(),format:fe(["anthropic","openai"]),anthropicBaseUrl:x(),openaiBaseUrl:x(),openaiResponsesBaseUrl:x().optional().default(""),models:W(x()),sourceTool:fe(["claude-code","opencode","mimo-code"]),alreadyExists:Ce()}),TM=T({scanId:x().uuid(),providers:W(CM),warnings:W(x()).optional()});T({scanId:x().uuid(),selectionIds:W(x().uuid()).min(1).max(100)});const EM=T({success:Ce().optional(),imported:R().optional(),message:x().optional(),errors:W(x()).optional()}),Xu=2e4;function RM({open:e,onOpenChange:t,onImportComplete:n}){const[r,o]=c.useState(!1),[i,a]=c.useState(null),[l,u]=c.useState(null),[d,p]=c.useState([]),[f,m]=c.useState([]),[h,g]=c.useState(new Set),[v,b]=c.useState(!1),[w,y]=c.useState(null),[j,k]=c.useState(null),S=c.useRef(0),_=c.useRef(0),N=c.useCallback(()=>{const C=S.current+1;S.current=C,o(!0),a(null),m([]),u(null),p([]),g(new Set),y(null),k(null),We("/api/providers/scan",TM,Xu,{method:"POST"},I=>`Scan failed (${String(I.status)})`).then(I=>{if(S.current!==C)return;u(I.scanId),p(I.providers),m(I.warnings??[]);const F=new Set;I.providers.forEach((U,Y)=>{U.alreadyExists||F.add(Y)}),g(F)}).catch(I=>{S.current===C&&a(I instanceof Error?I.message:String(I))}).finally(()=>{S.current===C&&o(!1)})},[]);c.useEffect(()=>{e&&N()},[e,N]),c.useEffect(()=>{e||(S.current+=1,_.current+=1,o(!1),b(!1))},[e]);const P=c.useCallback(C=>{g(I=>{const F=new Set(I);return F.has(C)?F.delete(C):F.add(C),F})},[]),A=c.useCallback(()=>{const C=d.filter((F,U)=>h.has(U));if(C.length===0||l===null)return;const I=_.current+1;_.current=I,b(!0),k(null),y(null),We("/api/providers/import",EM,Xu,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({scanId:l,selectionIds:C.map(F=>F.selectionId)})},F=>`Import failed (${String(F.status)})`).then(F=>{_.current===I&&(p(U=>U.map((Y,Z)=>h.has(Z)?{...Y,alreadyExists:!0}:Y)),g(new Set),F.errors!==void 0&&F.errors.length>0&&F.message!==void 0?y(F.message):y(`Imported ${F.imported??C.length} provider(s)`),n())}).catch(F=>{_.current===I&&k(F instanceof Error?F.message:String(F))}).finally(()=>{_.current===I&&b(!1)})},[d,l,h,n]),M=d.some(C=>!C.alreadyExists);return s.jsx(Wt,{open:e,onOpenChange:t,children:s.jsxs(Zt,{className:"max-w-xl max-h-[80vh] overflow-hidden flex flex-col",children:[s.jsxs(Yt,{children:[s.jsx(Xt,{children:"Import from External Tools"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Detect provider configurations from Claude Code, OpenCode, and MiMo Code."})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto space-y-3",children:[r&&s.jsxs("div",{className:"flex items-center justify-center py-8 gap-2 text-muted-foreground",children:[s.jsx(He,{className:"size-4 animate-spin"}),s.jsx("span",{className:"text-sm",children:"Scanning for external providers..."})]}),i!==null&&s.jsxs("div",{className:"flex items-center gap-2 text-destructive text-sm py-4",children:[s.jsx(Ns,{className:"size-4"}),i]}),!r&&i===null&&d.length===0&&s.jsxs("p",{className:"text-sm text-muted-foreground py-8 text-center",children:["No external provider configurations found.",s.jsx("br",{}),s.jsx("span",{className:"text-xs",children:"Supported tools: Claude Code (~/.claude/settings.json), OpenCode (~/.config/opencode/opencode.json), MiMo Code (~/.config/mimocode/mimocode.jsonc)"})]}),!r&&d.map((C,I)=>s.jsxs("label",{className:`flex items-start gap-3 p-3 border rounded-md ${C.alreadyExists?"":"cursor-pointer hover:bg-muted/50"}`,children:[!C.alreadyExists&&s.jsx("input",{type:"checkbox",checked:h.has(I),disabled:v,onChange:()=>P(I),className:"mt-0.5 size-4"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(wi,{client:C.sourceTool,className:"size-7 rounded-[8px]"}),C.alreadyExists&&s.jsx("span",{className:"text-[10px] text-muted-foreground",children:"Already added"})]}),s.jsxs("div",{className:"mt-1 text-xs leading-snug text-muted-foreground",children:[C.models.slice(0,4).join(", "),C.models.length>4?` +${C.models.length-4} more`:""]}),s.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:C.format==="anthropic"?C.anthropicBaseUrl:C.openaiResponsesBaseUrl!==""?C.openaiResponsesBaseUrl:C.openaiBaseUrl}),s.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:C.apiKeyHint})]})]},C.selectionId)),f.length>0&&s.jsx("div",{className:"text-xs text-muted-foreground space-y-1 border-t pt-2",children:f.map((C,I)=>s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(Ns,{className:"size-3"}),C]},I))}),w!==null&&s.jsx("div",{className:"text-sm text-green-500 border-t pt-2",children:w}),j!==null&&s.jsx("div",{className:"text-sm text-destructive border-t pt-2",children:j})]}),s.jsxs("div",{className:"flex items-center justify-between pt-3 border-t",children:[s.jsxs(ee,{variant:"outline",size:"sm",onClick:N,disabled:r,children:[s.jsx(He,{className:`size-3 mr-1 ${r?"animate-spin":""}`}),"Rescan"]}),s.jsxs(ee,{size:"sm",onClick:A,disabled:!M||h.size===0||v,children:[s.jsx(gr,{className:"size-3 mr-1"}),v?"Importing...":`Import Selected (${h.size})`]})]})]})})}const I0=T({id:x().min(1).max(Ia),aliases:W(x().max(Ia)).max(Hn).optional().default([]),contextWindow:R().int().positive().optional(),outputLimit:R().int().positive().optional(),sourceUrl:x().optional()}),MM=T({name:x().min(1).optional(),aliases:W(x()).max(Hn).optional().default([]),baseUrls:W(x()).max(Hn).optional().default([]),models:W(I0).min(1).max(Hn)});T({version:R().int().positive().optional(),updatedAt:x().optional(),providers:W(MM).max(Hn).optional().default([]),models:W(I0).max(Hn).optional().default([])});function Qu(e){return e.trim().toLowerCase().replace(/\s+/g,"-")}function IM(e){const t=e.models.filter(n=>n.trim()!=="");return t.length>0?t:e.model!==void 0&&e.model.trim()!==""?[e.model]:[]}function kc(e,t){const n=Qu(t);return(e.modelMetadata??[]).find(o=>Qu(o.model)===n)??null}function PM(e){const t=IM(e);return t.length===0?!1:t.every(n=>{const r=kc(e,n);return r!==null&&r.contextWindow!==void 0})}function AM(e,t){if(e===null)return null;for(const n of t){const r=kc(n,e);if(r!==null&&r.contextWindow!==void 0)return{providerName:n.name,model:r.model,tokens:r.contextWindow,sourceUrl:r.sourceUrl}}return null}function pr(e){return Object.prototype.hasOwnProperty.call(e,"success")}function Ni(e){return Object.prototype.hasOwnProperty.call(e,"notConfigured")}function kt(e){return e!==void 0&&e!==""}function it(e){return e!==void 0&&e.trim()!==""}function js(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function P0(e){return e>=10?`${e.toFixed(0)}/s`:`${e.toFixed(1)}/s`}function A0(e){switch(e){case"timeout":return"Timeout";case"network_unreachable":return"Offline";case"connection_refused":return"Refused";case"auth_failed":return"Auth";case"rate_limited":return"Rate limit";case"server_error":return"Server";case"invalid_response":return"Invalid";case"unknown":return"Failed"}}function OM(e){return e.firstChunkMs!==void 0&&e.firstChunkMs!==null?js(e.firstChunkMs):e.latencyMs!==void 0?js(e.latencyMs):e.totalStreamMs!==void 0&&e.totalStreamMs!==null?js(e.totalStreamMs):e.tokensPerSecond!==void 0&&e.tokensPerSecond!==null&&e.tokensPerSecond>0?P0(e.tokensPerSecond):null}function zM(e){return Ni(e)?{tone:"quiet",label:"N/A",metric:null,hasDetails:!1}:pr(e)?e.success?{tone:"success",label:"Pass",metric:OM(e),hasDetails:!0}:{tone:"failure",label:A0(e.error?.type??"unknown"),metric:null,hasDetails:!0}:{tone:"pending",label:"Running",metric:null,hasDetails:!1}}function LM(e,t){if(t===void 0)return[];const n=[];return kt(e.anthropicBaseUrl)&&n.push(t.anthropic),kt(e.openaiBaseUrl)&&n.push(t.openaiChat),kt(e.openaiResponsesBaseUrl)&&n.push(t.openaiResponses),n}function $M(e,t){const n={total:0,passed:0,failed:0,testing:0};for(const r of LM(e,t))for(const o of[r.nonStreaming,r.streaming])Ni(o)||(n.total+=1,pr(o)?o.success?n.passed+=1:n.failed+=1:n.testing+=1);return n}function ed(e){if(e===void 0)return;const t=Object.entries(e).map(([n,r])=>`${n}: ${r}`);return t.length===0?void 0:t.join(`
|
|
124
|
-
`)}function fn({title:e,children:t}){return s.jsxs("section",{className:"space-y-1.5",children:[s.jsx("h4",{className:"text-xs font-medium text-foreground/80",children:e}),t]})}function zn({value:e}){return s.jsx("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/40 p-3 font-mono text-[11px] leading-relaxed text-foreground/80",children:e})}function Ln({label:e,value:t}){return s.jsxs("div",{className:"min-w-0 rounded-md bg-muted/35 px-3 py-2",children:[s.jsx("dt",{className:"text-[10px] text-muted-foreground",children:e}),s.jsx("dd",{className:"mt-1 truncate font-mono text-xs font-semibold text-foreground",title:t,children:t})]})}function DM({result:e}){const t=e.inputTokens!==void 0||e.outputTokens!==void 0,n=e.cacheCreationInputTokens!==void 0||e.cacheReadInputTokens!==void 0;return it(e.model)||t||n||e.latencyMs!==void 0||e.firstChunkMs!==void 0&&e.firstChunkMs!==null||e.totalStreamMs!==void 0&&e.totalStreamMs!==null||e.tokensPerSecond!==void 0&&e.tokensPerSecond!==null&&e.tokensPerSecond>0?s.jsxs("dl",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4",children:[it(e.model)&&s.jsx(Ln,{label:"Model",value:e.model}),e.latencyMs!==void 0&&s.jsx(Ln,{label:"Latency",value:js(e.latencyMs)}),e.firstChunkMs!==void 0&&e.firstChunkMs!==null&&s.jsx(Ln,{label:"First chunk",value:js(e.firstChunkMs)}),e.totalStreamMs!==void 0&&e.totalStreamMs!==null&&s.jsx(Ln,{label:"Stream total",value:js(e.totalStreamMs)}),e.tokensPerSecond!==void 0&&e.tokensPerSecond!==null&&e.tokensPerSecond>0&&s.jsx(Ln,{label:"Token rate",value:`${P0(e.tokensPerSecond)} tok`}),t&&s.jsx(Ln,{label:"Tokens in / out",value:`${String(e.inputTokens??0)} / ${String(e.outputTokens??0)}`}),n&&s.jsx(Ln,{label:"Cache create / read",value:`${String(e.cacheCreationInputTokens??0)} / ${String(e.cacheReadInputTokens??0)}`})]}):null}function FM({result:e}){const t=e.debug,n=t?.requestUrl,r=t?.requestMethod??"POST",o=ed(t?.requestHeaders),i=ed(t?.responseHeaders),a=t?.responseStatus===void 0?void 0:`${String(t.responseStatus)}${it(t.responseStatusText)?` ${t.responseStatusText}`:""}`,l=t?.responseBody??e.rawResponse;return it(e.error?.hint)||it(e.error?.details)||it(n)||o!==void 0||it(t?.requestBody)||it(a)||i!==void 0||it(l)?s.jsxs("div",{className:"space-y-4 border-t border-border/70 pt-4 text-xs text-muted-foreground",children:[it(e.error?.hint)&&s.jsx(fn,{title:"Hint",children:s.jsx("p",{className:"break-words text-foreground/80",children:e.error.hint})}),it(e.error?.details)&&s.jsx(fn,{title:"Error details",children:s.jsx(zn,{value:e.error.details})}),it(n)&&s.jsx(fn,{title:"Request",children:s.jsx(zn,{value:`${r} ${n}`})}),o!==void 0&&s.jsx(fn,{title:"Request headers",children:s.jsx(zn,{value:o})}),it(t?.requestBody)&&s.jsx(fn,{title:"Request body",children:s.jsx(zn,{value:t.requestBody})}),it(a)&&s.jsx(fn,{title:"Response status",children:s.jsx(zn,{value:a})}),i!==void 0&&s.jsx(fn,{title:"Response headers",children:s.jsx(zn,{value:i})}),it(l)&&s.jsx(fn,{title:"Response body",children:s.jsx(zn,{value:l})})]}):null}function UM({result:e,probeLabel:t,children:n}){const r=e.error?.message??"Connection failed";return s.jsxs(Wt,{children:[s.jsx(jr,{asChild:!0,children:n}),s.jsxs(Zt,{className:"max-h-[82vh] max-w-2xl gap-0 overflow-hidden p-0",children:[s.jsxs(Yt,{className:"border-b border-border/70 px-5 py-4 pr-12",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[e.success?s.jsx(hr,{className:"size-4 text-cyan-300"}):s.jsx(Ns,{className:"size-4 text-red-300"}),s.jsx(Xt,{className:"text-base",children:t})]}),s.jsx(kr,{children:e.success?"Connection probe passed.":r})]}),s.jsxs("div",{className:"space-y-4 overflow-y-auto p-5",children:[!e.success&&s.jsxs("div",{className:"rounded-md border border-red-400/20 bg-red-400/[0.06] px-3 py-2 text-sm text-red-200",children:[s.jsx("div",{className:"font-medium",children:A0(e.error?.type??"unknown")}),s.jsx("div",{className:"mt-1 break-words text-xs text-muted-foreground",children:r})]}),s.jsx(DM,{result:e}),s.jsx(FM,{result:e})]})]})]})}function BM(e){const t="size-3 shrink-0";switch(e){case"timeout":return s.jsx(sn,{className:t});case"network_unreachable":return s.jsx(u5,{className:t});case"connection_refused":return s.jsx(p5,{className:t});case"auth_failed":return s.jsx(ij,{className:t});case"rate_limited":return s.jsx(zl,{className:t});case"server_error":return s.jsx(Zj,{className:t});case"invalid_response":return s.jsx(dw,{className:t});case"unknown":return s.jsx(Ns,{className:t})}}const qM={success:"bg-cyan-300/[0.07] text-cyan-100 hover:bg-cyan-300/[0.11]",failure:"bg-red-400/[0.07] text-red-200 hover:bg-red-400/[0.11]",pending:"bg-muted/40 text-foreground/80",quiet:"bg-transparent text-muted-foreground/70"};function td({result:e,probeLabel:t}){const n=zM(e),r=Ni(e)?s.jsx(gf,{className:"size-3 shrink-0"}):pr(e)?e.success?s.jsx(hr,{className:"size-3 shrink-0"}):BM(e.error?.type??"unknown"):s.jsx(jo,{className:"size-3 shrink-0 animate-spin"}),o=s.jsxs(s.Fragment,{children:[r,s.jsx("span",{className:"min-w-0 truncate",children:n.label}),n.metric!==null&&s.jsx("span",{className:"ml-auto shrink-0 font-mono text-[10px] opacity-75",children:n.metric})]}),i=$("inline-flex h-7 w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-left text-xs transition-colors",qM[n.tone]);return pr(e)&&n.hasDetails?s.jsx(UM,{result:e,probeLabel:t,children:s.jsx("button",{type:"button",className:i,"aria-label":`Open ${t} result: ${n.label}`,children:o})}):s.jsx("div",{className:i,children:o})}function nd({label:e}){return s.jsxs("div",{className:"inline-flex h-7 w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-xs text-muted-foreground/70",children:[s.jsx(gf,{className:"size-3 shrink-0"}),s.jsx("span",{className:"truncate",children:e})]})}function oa({label:e,results:t,configured:n=!0}){return s.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(6.5rem,1fr)_minmax(6rem,0.9fr)_minmax(6rem,0.9fr)] items-center gap-2 border-t border-border/60 px-2 py-2",children:[s.jsx("div",{className:"min-w-0 truncate text-xs font-medium text-foreground/85",title:e,children:e}),n&&t!==void 0?s.jsx(td,{result:t.nonStreaming,probeLabel:`${e} non-stream`}):s.jsx(nd,{label:n?"Not tested":"Off"}),n&&t!==void 0?s.jsx(td,{result:t.streaming,probeLabel:`${e} stream`}):s.jsx(nd,{label:n?"Not tested":"Off"})]})}function O0({provider:e,results:t}){const n=kt(e.anthropicBaseUrl),r=kt(e.openaiBaseUrl),o=kt(e.openaiResponsesBaseUrl);return!n&&!r&&!o?s.jsx("div",{className:"text-xs text-muted-foreground",children:"No testable endpoint configured."}):s.jsx("div",{className:"min-w-0 overflow-x-auto rounded-md border border-border/70",children:s.jsxs("div",{className:"min-w-[20rem]",children:[s.jsxs("div",{className:"grid grid-cols-[minmax(6.5rem,1fr)_minmax(6rem,0.9fr)_minmax(6rem,0.9fr)] gap-2 bg-muted/25 px-2 py-1.5 text-[10px] text-muted-foreground",children:[s.jsx("span",{children:"Protocol"}),s.jsx("span",{children:"Non-stream"}),s.jsx("span",{children:"Stream"})]}),n&&s.jsx(oa,{label:"Anthropic",results:t?.anthropic}),r&&s.jsx(oa,{label:"OpenAI Chat",results:t?.openaiChat}),s.jsx(oa,{label:"OpenAI Responses",results:t?.openaiResponses,configured:o})]})})}function HM(e){const t={total:0,passed:0,failed:0,testing:0};for(const n of[e.nonStreaming,e.streaming])Ni(n)||(t.total+=1,pr(n)?n.success?t.passed+=1:t.failed+=1:t.testing+=1);return t}function ia({label:e,results:t}){const n=HM(t),r=n.failed>0?"border-red-400/20 bg-red-400/[0.06] text-red-200":n.testing>0?"border-amber-300/20 bg-amber-300/[0.06] text-amber-100":n.total>0&&n.passed===n.total?"border-cyan-300/20 bg-cyan-300/[0.06] text-cyan-100":"border-border/60 bg-transparent text-muted-foreground",o=n.failed>0?`${n.failed} fail`:n.testing>0?"running":n.total===0?"off":`${n.passed}/${n.total}`;return s.jsxs("span",{className:$("rounded border px-1.5 py-0.5 text-[10px]",r),children:[e," ",o]})}function VM({provider:e,modelName:t,results:n,expanded:r,onToggle:o}){return s.jsxs("div",{className:"min-w-0",children:[s.jsxs("button",{type:"button",onClick:o,className:"flex w-full min-w-0 flex-wrap items-center gap-2 px-2 py-2 text-left transition-colors hover:bg-muted/20","aria-expanded":r,children:[r?s.jsx(tt,{className:"size-3.5 shrink-0 text-muted-foreground"}):s.jsx(vt,{className:"size-3.5 shrink-0 text-muted-foreground"}),s.jsx("span",{className:"min-w-[8rem] flex-1 truncate text-xs font-medium",title:t,children:t}),s.jsxs("span",{className:"flex flex-wrap items-center justify-end gap-1",children:[kt(e.anthropicBaseUrl)&&s.jsx(ia,{label:"A",results:n.anthropic}),kt(e.openaiBaseUrl)&&s.jsx(ia,{label:"Chat",results:n.openaiChat}),kt(e.openaiResponsesBaseUrl)&&s.jsx(ia,{label:"Resp",results:n.openaiResponses})]})]}),r&&s.jsx("div",{className:"px-2 pb-3",children:s.jsx(O0,{provider:e,results:n})})]})}function WM({provider:e,testResults:t}){const n=Object.entries(t.models??{}),[r,o]=c.useState(!1),[i,a]=c.useState(null);return n.length===0?null:s.jsxs("section",{className:"space-y-2",children:[s.jsxs("button",{type:"button",onClick:()=>o(l=>!l),className:"flex w-full items-center gap-1.5 text-left text-xs font-medium text-foreground/80 transition-colors hover:text-foreground","aria-expanded":r,children:[r?s.jsx(tt,{className:"size-3.5"}):s.jsx(vt,{className:"size-3.5"}),"Model probes",s.jsx("span",{className:"rounded bg-muted/50 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:n.length})]}),r&&s.jsx("div",{className:"min-w-0 divide-y divide-border/60 rounded-md border border-border/70",children:n.map(([l,u])=>s.jsx(VM,{provider:e,modelName:l,results:u,expanded:i===l,onToggle:()=>a(d=>d===l?null:l)},l))})]})}function ZM({provider:e,testResults:t,isTesting:n}){const r=kt(e.anthropicBaseUrl)||kt(e.openaiBaseUrl)||kt(e.openaiResponsesBaseUrl),o=$M(e,t);return n?s.jsxs("span",{className:"inline-flex items-center gap-1 rounded border border-cyan-300/25 bg-cyan-300/[0.08] px-2 py-1 text-xs text-cyan-100",children:[s.jsx(jo,{className:"size-3 animate-spin"}),"Testing"]}):r?t===void 0||o.total===0?s.jsx("span",{className:"rounded border border-border/70 bg-muted/20 px-2 py-1 text-xs text-muted-foreground",children:"Not tested"}):o.failed>0?s.jsxs("span",{className:"inline-flex items-center gap-1 rounded border border-red-400/25 bg-red-500/[0.08] px-2 py-1 text-xs text-red-200",children:[s.jsx(Ns,{className:"size-3"}),o.failed," failed"]}):o.testing>0||o.passed<o.total?s.jsxs("span",{className:"rounded border border-amber-300/25 bg-amber-400/[0.08] px-2 py-1 text-xs text-amber-100",children:[o.passed,"/",o.total]}):s.jsxs("span",{className:"inline-flex items-center gap-1 rounded border border-cyan-300/25 bg-cyan-300/[0.08] px-2 py-1 text-xs text-cyan-100",children:[s.jsx(hr,{className:"size-3"}),o.passed,"/",o.total]}):s.jsx("span",{className:"rounded border border-border/70 bg-muted/20 px-2 py-1 text-xs text-muted-foreground",children:"No endpoint"})}const KM={deepseek:"https://api-docs.deepseek.com/zh-cn/"};function aa(e){return e!==void 0&&e!==""}function la({label:e}){return s.jsxs("span",{className:"inline-flex items-center gap-1 rounded border border-border/70 bg-muted/25 px-1.5 py-0.5 text-foreground/80",children:[s.jsx(hr,{className:"size-3"}),e]})}function GM({provider:e}){const t=aa(e.anthropicBaseUrl),n=aa(e.openaiBaseUrl),r=aa(e.openaiResponsesBaseUrl);return!t&&!n&&!r?s.jsx("div",{className:"text-xs text-muted-foreground",children:"Test requires at least one configured endpoint."}):s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5 text-xs text-muted-foreground",children:[t&&s.jsx(la,{label:"Anthropic"}),n&&s.jsx(la,{label:"OpenAI Chat"}),r&&s.jsx(la,{label:"OpenAI Responses"})]})}function JM(e){const t=e.models??[];if(t.length===0)return"No models configured";const n=t.slice(0,2).join(", "),r=t.length-2;return r>0?`${n} +${r} more`:n}function YM({provider:e,model:t}){const n=kc(e,t),r=QM(n?.sourceUrl);return s.jsxs("span",{className:"inline-flex items-center gap-1 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:[s.jsx("span",{children:t}),n!==null&&n.contextWindow!==void 0&&s.jsx("span",{className:"font-mono text-foreground/80",children:np(n.contextWindow)}),r!==null&&s.jsx($s,{children:s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx("a",{href:r.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 rounded border border-border/70 bg-background/70 px-1 font-mono text-[10px] leading-4 text-muted-foreground transition-colors hover:text-foreground","aria-label":r.title,children:r.label})}),s.jsx(mt,{children:r.title})]})})]})}function XM(e){const t=Date.now(),n=new Date(e).getTime(),r=t-n,o=Math.floor(r/1e3);if(o<60)return"just now";const i=Math.floor(o/60);if(i<60)return`${i}m ago`;const a=Math.floor(i/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function QM(e){if(e===void 0||e.trim()==="")return null;try{const t=new URL(e);if(t.protocol!=="https:"&&t.protocol!=="http:")return null;const n=t.hostname.toLowerCase(),r=n==="huggingface.co"||n.endsWith(".huggingface.co");return{label:r?"HF":"Source",title:r?"Open Hugging Face model source":"Open model metadata source",url:e}}catch{return null}}function eI({provider:e,testResults:t,isTesting:n,testingTimeLeft:r,isHighlighted:o,onEdit:i,onDelete:a,onTest:l,onRefreshMetadata:u,isRefreshingMetadata:d=!1}){const[p,f]=c.useState(!1),m=e.apiDocsUrl??Object.entries(KM).find(([y])=>e.name.toLowerCase().includes(y))?.[1],h=PM(e),g=e.modelMetadataUrl!==void 0&&e.modelMetadataUrl.trim()!=="",v=g?"Refresh":"Import defaults",b=n??!1,w=e.source==="company"?s.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"}):e.source==="personal"?s.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;return s.jsxs("div",{"data-provider-id":e.id,className:`flex flex-col gap-3 rounded-[8px] border border-border bg-card p-4 shadow-sm transition-all duration-500 ${o===!0?"ring-2 ring-primary shadow-md":""}`,children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[s.jsxs("div",{className:"min-w-0 space-y-1",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[s.jsx("span",{className:"font-medium leading-snug",children:e.name}),w]}),s.jsx("div",{className:"text-xs leading-snug text-muted-foreground",children:JM(e)})]}),s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsx(ZM,{provider:e,testResults:t,isTesting:b}),m!==void 0&&s.jsxs("a",{href:m,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground",title:"View API documentation",children:[s.jsx(Ol,{className:"size-3"}),s.jsx("span",{className:"sr-only",children:"Docs"})]})]})]}),s.jsxs("div",{className:"flex flex-col gap-2 text-xs text-muted-foreground sm:flex-row sm:items-center sm:justify-between",children:[s.jsx(GM,{provider:e}),t?.testedAt!==void 0&&s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx(sn,{className:"size-3"}),XM(t.testedAt)]})]}),!h&&s.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:[s.jsx("span",{children:"Context window metadata missing"}),s.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[s.jsxs(ee,{type:"button",variant:"outline",size:"sm",onClick:()=>u?.(e.id),className:"h-6 gap-1 px-2 text-xs",disabled:d,children:[s.jsx(jo,{className:`size-3 ${d?"animate-spin":""}`}),v]}),!g&&s.jsx(ee,{type:"button",variant:"ghost",size:"sm",onClick:()=>i(e),className:"h-6 px-2 text-xs",children:"Set URL"})]})]}),p&&s.jsxs("div",{className:"space-y-3 border-t border-border/60 pt-3",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[s.jsx(hr,{className:"size-3.5 text-emerald-500"}),s.jsx("span",{children:"API key configured"})]}),e.models!==void 0&&e.models.length>0&&s.jsx("div",{className:"flex flex-wrap gap-1",children:e.models.map(y=>s.jsx(YM,{provider:e,model:y},y))}),s.jsxs("section",{className:"space-y-2",children:[s.jsx("h4",{className:"text-xs font-medium text-foreground/80",children:"Connection probes"}),s.jsx(O0,{provider:e,results:t})]}),t!==void 0&&s.jsx(WM,{provider:e,testResults:t})]}),s.jsxs("div",{className:"flex flex-col gap-2 border-t pt-1 sm:flex-row sm:items-center sm:justify-between",children:[s.jsxs("button",{type:"button",onClick:()=>f(y=>!y),className:"inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground","aria-expanded":p,children:[p?s.jsx(tt,{className:"size-3"}):s.jsx(vt,{className:"size-3"}),"Details"]}),s.jsxs("div",{className:"flex gap-2",children:[l!==void 0&&s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>l(e.id),className:"text-xs h-7 gap-1",disabled:b,children:[s.jsx(jo,{className:`size-3 ${b?"animate-spin":""}`}),b?r!==void 0?`Testing (${r}s)`:"Testing...":"Test"]}),s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>i(e),className:"text-xs h-7 gap-1",disabled:b,children:[s.jsx(xf,{className:"size-3"}),"Edit"]}),s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>a(e.id),className:"text-xs h-7 gap-1 text-destructive hover:text-destructive",disabled:b,children:[s.jsx(wn,{className:"size-3"}),"Delete"]})]})]})]})}const ks="/v1/chat/completions",ol="/v1/responses",tI="/v1/messages";function nI(e,t){const n=e.endsWith("/")?e.slice(0,-1):e,r=z0(t),o=t.indexOf("?"),i=o>=0?t.slice(o):"";return r!==""&&n.endsWith(r)?n+i:$0(n)&&L0(t)||n.endsWith("/v1")&&t.startsWith("/v1/")?n+t.slice(3):n+t}function sI(e,t,n={}){const r=e.trim().replace(/\/+$/,""),o=z0(t),i=nI(r,t),a=[];return o!==""&&r.endsWith(o)?a.push({severity:"info",message:"This already includes the exact endpoint; no duplicate suffix will be appended."}):$0(r)&&L0(t)?a.push({severity:"info",message:"Zhipu bases already include the API version; only /chat/completions is appended."}):r.endsWith("/v1")&&t.startsWith("/v1/")&&a.push({severity:"info",message:"Base URL already ends with /v1; the suffix will not repeat /v1."}),sd(o)&&oI(r)&&a.push({severity:"warning",message:"This looks like a Chat Completions endpoint, so Responses would append after it."}),rI(o)&&iI(r)&&a.push({severity:"warning",message:"This looks like a Responses endpoint, so Chat Completions would append after it."}),sd(o)&&aI(r,n.providerName)&&a.push({severity:"warning",message:"DeepSeek's official API does not currently expose OpenAI Responses."}),{finalUrl:i,diagnostics:a}}function z0(e){return e.split("?")[0]??e}function L0(e){return e===ks||e.startsWith(`${ks}?`)||e.startsWith(`${ks}/`)}function rI(e){return e===ks||e.startsWith(`${ks}/`)}function sd(e){return e===ol||e.startsWith(`${ol}/`)}function oI(e){return e.toLowerCase().endsWith("/chat/completions")}function iI(e){return e.toLowerCase().endsWith("/responses")}function aI(e,t){const n=t?.toLowerCase();if(n!==void 0&&n.includes("deepseek"))return!0;try{return new URL(e).hostname.toLowerCase().includes("deepseek")}catch{return e.toLowerCase().includes("deepseek")}}function $0(e){try{const t=new URL(e),n=t.pathname.replace(/\/+$/,"");return t.hostname==="open.bigmodel.cn"&&(n==="/api/paas/v4"||n==="/api/coding/paas/v4")}catch{return!1}}function ca(e){return e!==void 0&&e.trim()!==""}function rd(e){const t=ca(e?.anthropicBaseUrl),n=ca(e?.openaiBaseUrl),r=ca(e?.openaiResponsesBaseUrl);return{anthropic:t,openai:n||r,openaiChat:n,openaiResponses:r}}function ua(e,t,n){if(!e)return n?"":void 0;const r=t.trim();return r===""?void 0:r}const od=["zhipu","zhipuai","bigmodel","z.ai","zai","glm"],id=["zhipu coding","glm coding","bigmodel coding","z.ai coding","zai coding"],Zr=tI,Kr=ks,Gr=ol,lI={deepseek:{openaiBaseUrl:"https://api.deepseek.com"},minimax:{anthropicBaseUrl:"https://api.minimaxi.com/anthropic",openaiBaseUrl:"https://api.minimaxi.com",openaiResponsesBaseUrl:"https://api.minimaxi.com",apiDocsUrl:"https://platform.minimaxi.com/docs/api-reference/api-overview"},"zhipu coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},"glm coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},"bigmodel coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},"z.ai coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},"zai coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},zhipu:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},zhipuai:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},bigmodel:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},"z.ai":{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},zai:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},glm:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},alibaba:{openaiBaseUrl:"https://dashscope.aliyuncs.com/compatible-mode"}},ad=["MiniMax M3","MiniMax M2.7","MiniMax M2.7-highspeed","MiniMax M2.5","MiniMax M2.5-highspeed","MiniMax M2.1","MiniMax M2.1-highspeed","MiniMax M2"],ld=["qwen3.6-plus","qwen3.7-max"],cd=["glm-5.2","glm-5.1","glm-5","glm-5-turbo","glm-4.7","glm-4.7-flashx","glm-4.6","glm-4.5","glm-4.5-air","glm-4.5-x","glm-4.5-airx","glm-4.5-flash"],il="__unset__",Lo="__custom__",D0=[{value:"32K",label:"Small"},{value:"64K",label:"Standard"},{value:"128K",label:"Medium"},{value:"200K",label:"Long"},{value:"256K",label:"Extended"},{value:"512K",label:"Large"},{value:"1M",label:"Max"}];function $n(){return{contextWindow:"",contextWindowMode:"unset",outputLimit:""}}function ud(e){return e.trim().toLowerCase().replace(/\s+/g,"-")}function F0(e,t){const n=ud(t);return e?.modelMetadata?.find(r=>ud(r.model)===n)??null}function U0(e){const t=fo(e);if(t===null)return null;for(const n of D0)if(fo(n.value)===t)return n.value;return null}function cI(e){return e.trim()===""?"unset":U0(e)!==null?"preset":"custom"}function uI(e){switch(e.contextWindowMode){case"unset":return il;case"custom":return Lo;case"preset":return U0(e.contextWindow)??Lo}}function da(e){const t=e.trim().replaceAll(",","");if(t==="")return{amount:"",unit:"K"};const n=/^(\d+(?:\.\d+)?)\s*([kKmM])?$/.exec(t);if(n===null)return{amount:t,unit:"K"};const r=n[1];if(r===void 0)return{amount:t,unit:"K"};const o=n[2];if(o===void 0||o==="")return{amount:r,unit:"tokens"};switch(o.toLowerCase()){case"k":return{amount:r,unit:"K"};case"m":return{amount:r,unit:"M"};default:return{amount:t,unit:"K"}}}function dd(e,t){const n=e.trim();if(n==="")return"";switch(t){case"K":return`${n}K`;case"M":return`${n}M`;case"tokens":return n}}function pd(e,t){return t.map(n=>{const r=F0(e,n),o=r?.contextWindow!==void 0?Ig(r.contextWindow):"";return{contextWindow:o,contextWindowMode:cI(o),outputLimit:r?.outputLimit?.toString()??""}})}function fd(e){const t=e.trim();if(t==="")return null;const n=Number(t);return!Number.isInteger(n)||n<=0?null:n}function us(e,t){if(e===void 0)return"";const n=e.trim(),r=n.replace(/\/+$/,"");return r.endsWith(t)?r.slice(0,-t.length).replace(/\/+$/,""):n}function dI(e,t,n){const r=e.trim();return r===""?null:sI(r,t,{providerName:n})}function pa({baseUrl:e,endpoint:t,providerName:n}){const r=dI(e,t,n);return r===null?null:s.jsxs("div",{className:"border border-border bg-muted/40 rounded-md px-3 py-2 text-xs",children:[s.jsx("div",{className:"text-muted-foreground",children:"Final URL"}),s.jsx("div",{className:"break-all font-mono text-foreground",children:r.finalUrl}),r.diagnostics.length>0&&s.jsx("div",{className:"mt-2 space-y-1",children:r.diagnostics.map(o=>s.jsx("div",{className:o.severity==="warning"?"text-amber-200":"text-muted-foreground",children:o.message},`${o.severity}:${o.message}`))})]})}function pI({provider:e,onSubmit:t,onCancel:n}){const r=rd(e),[o,i]=c.useState(e?.name??""),[a,l]=c.useState(""),[u,d]=c.useState(!1),[p,f]=c.useState(!1),m=e?.models,[h,g]=c.useState(m!==void 0&&m.length>0?m:[""]),[v,b]=c.useState(()=>pd(e,m!==void 0&&m.length>0?m:[""])),[w,y]=c.useState(r.anthropic),[j,k]=c.useState(r.openai),[S,_]=c.useState(r.openaiChat),[N,P]=c.useState(r.openaiResponses),[A,M]=c.useState(us(e?.anthropicBaseUrl,Zr)),[C,I]=c.useState(us(e?.openaiBaseUrl,Kr)),[F,U]=c.useState(us(e?.openaiResponsesBaseUrl,Gr)),[Y,Z]=c.useState(e?.apiDocsUrl??""),[V,H]=c.useState(e?.modelMetadataUrl??""),[z,X]=c.useState(e?.source),[J,be]=c.useState({}),[ve,oe]=c.useState(!1),[D,je]=c.useState(null),te=c.useRef([]);c.useEffect(()=>{if(D===null)return;const E=D;function L(K){if(!(K.target instanceof Node))return;const ie=te.current[E];ie!=null&&!ie.contains(K.target)&&je(null)}return document.addEventListener("mousedown",L),()=>document.removeEventListener("mousedown",L)},[D]);const[ke,Se]=c.useState(!1),[le,ue]=c.useState(!1),[me,we]=c.useState(!1),Ee=o.toLowerCase().includes("minimax"),Ye=o.toLowerCase().includes("alibaba"),De=[...od,...id].some(E=>o.toLowerCase().includes(E)),Ve=Ee?ad:De?cd:Ye?ld:[],wt=e?.modelMetadata?.some(E=>E.contextWindow!==void 0)??!1;function Qt(){It(a).then(E=>{E&&(f(!0),setTimeout(()=>f(!1),2e3))})}c.useEffect(()=>{if(e){i(e.name),l(""),d(!1);const E=(e.models?.length??0)>0?e.models:[""];g(E),b(pd(e,E));const L=rd(e);y(L.anthropic),k(L.openai),_(L.openaiChat),P(L.openaiResponses),M(us(e.anthropicBaseUrl,Zr)),I(us(e.openaiBaseUrl,Kr)),U(us(e.openaiResponsesBaseUrl,Gr)),Z(e.apiDocsUrl??""),H(e.modelMetadataUrl??""),X(e.source),Se(!1),ue(!1),we(!1)}},[e]),c.useEffect(()=>{const E=o.toLowerCase();for(const[L,K]of Object.entries(lI))if(E.includes(L)){K.anthropicBaseUrl!==void 0&&!ke&&M(K.anthropicBaseUrl),K.openaiBaseUrl!==void 0&&!le&&I(K.openaiBaseUrl),K.openaiResponsesBaseUrl!==void 0&&!me&&U(K.openaiResponsesBaseUrl),K.apiDocsUrl!==void 0&&!Y&&Z(K.apiDocsUrl),L==="minimax"&&h.length===1&&h[0]===""&&g([ad[0]??""]),L==="alibaba"&&h.length===1&&h[0]===""&&g([ld[0]??""]),(od.includes(L)||id.includes(L))&&h.length===1&&h[0]===""&&g([cd[0]??""]);break}},[o]);function Xe(){const E={};return o.trim()||(E.name="Name is required"),e===void 0&&!a.trim()&&(E.apiKey="API key is required"),(h.length===0||h.every(L=>!L.trim()))&&(E.models="At least one model is required"),!w&&!j&&(E.capabilities="Select at least one API capability"),j&&!S&&!N&&(E.openaiCapabilities="Select Chat Completions, Responses, or both"),w&&(A.trim()===""?E.anthropicBaseUrl="Anthropic base URL is required":Ue(A.trim())||(E.anthropicBaseUrl="Invalid URL format")),j&&S&&(C.trim()===""?E.openaiBaseUrl="OpenAI Chat base URL is required":Ue(C.trim())||(E.openaiBaseUrl="Invalid URL format")),j&&N&&(F.trim()===""?E.openaiResponsesBaseUrl="OpenAI Responses base URL is required":Ue(F.trim())||(E.openaiResponsesBaseUrl="Invalid URL format")),V.trim()&&!Ue(V.trim())&&(E.modelMetadataUrl="Invalid URL format"),v.forEach((L,K)=>{const ie=fo(L.contextWindow),de=fd(L.outputLimit);L.contextWindow.trim()!==""&&ie===null&&(E[`modelMetadata.${K}.contextWindow`]="Context window must be a positive number, optionally using K or M"),L.outputLimit.trim()!==""&&de===null&&(E[`modelMetadata.${K}.outputLimit`]="Output limit must be a positive integer"),ie!==null&&de!==null&&de>ie&&(E[`modelMetadata.${K}.outputLimit`]="Output limit should not exceed context window")}),be(E),Object.keys(E).length===0}function Ue(E){try{return new URL(E),!0}catch{return!1}}function Ie(E,L){g(K=>{const ie=[...K];return ie[E]=L,ie})}function Ae(E,L){b(K=>{const ie=[...K];return ie[E]={...ie[E]??$n(),...L},ie})}function q(E,L){switch(L){case il:Ae(E,{contextWindow:"",contextWindowMode:"unset"});return;case Lo:{const K=v[E]??$n();Ae(E,{contextWindow:K.contextWindow,contextWindowMode:"custom"});return}default:Ae(E,{contextWindow:L,contextWindowMode:"preset"});return}}function ne(E,L){const K=v[E]??$n(),ie=da(K.contextWindow);Ae(E,{contextWindow:dd(L,ie.unit),contextWindowMode:"custom"})}function Te(E,L){const K=v[E]??$n(),ie=da(K.contextWindow);switch(L){case"K":case"M":case"tokens":Ae(E,{contextWindow:dd(ie.amount,L),contextWindowMode:"custom"});return;default:return}}function he(E){g(L=>L.filter((K,ie)=>ie!==E)),b(L=>L.filter((K,ie)=>ie!==E))}function xe(){g(E=>[...E,""]),b(E=>[...E,$n()])}function Oe(){const E=new Date().toISOString(),L=[];return h.forEach((K,ie)=>{const de=K.trim();if(de==="")return;const se=v[ie]??$n(),ye=fo(se.contextWindow),ce=fd(se.outputLimit);if(ye===null&&ce===null)return;const dt=F0(e,de);if(dt!==null&&dt.contextWindow===(ye??void 0)&&dt.outputLimit===(ce??void 0)){L.push({...dt,model:de});return}const In={model:de,source:"manual",updatedAt:E};ye!==null&&(In.contextWindow=ye),ce!==null&&(In.outputLimit=ce),L.push(In)}),L.length>0?L:e?.modelMetadata!==void 0?[]:void 0}function G(E){if(E.preventDefault(),!Xe())return;oe(!0);const L=e!==void 0;try{t({name:o.trim(),apiKey:a.trim(),models:h.map(K=>K.trim()).filter(K=>K!==""),anthropicBaseUrl:ua(w,A,L),openaiBaseUrl:ua(j&&S,C,L),openaiResponsesBaseUrl:ua(j&&N,F,L),apiDocsUrl:Y.trim()||void 0,modelMetadataUrl:V.trim()||void 0,modelMetadata:Oe(),source:z})}finally{oe(!1)}}return s.jsxs("form",{onSubmit:G,className:"space-y-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-name",className:"text-sm font-medium",children:["Name ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsx("input",{id:"provider-name",type:"text",value:o,onChange:E=>i(E.target.value),placeholder:"Provider Name",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),J.name!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.name})]}),s.jsxs("fieldset",{className:"space-y-3",children:[s.jsxs("legend",{className:"text-sm font-medium",children:["Capabilities ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"divide-y divide-border overflow-hidden rounded-md border border-border",children:[s.jsxs("div",{className:j?"bg-primary/[0.04] px-3 py-3":"px-3 py-3",children:[s.jsxs("label",{htmlFor:"provider-capability-openai",className:"flex cursor-pointer items-start gap-3",children:[s.jsx("input",{id:"provider-capability-openai",type:"checkbox",checked:j,onChange:E=>k(E.target.checked),className:"mt-0.5 size-4 shrink-0 accent-primary"}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block text-sm font-medium",children:"OpenAI"}),s.jsx("span",{className:"block text-xs text-muted-foreground",children:"Chat Completions and Responses"})]})]}),j&&s.jsxs("div",{className:"ml-7 mt-3 flex flex-wrap gap-x-5 gap-y-2 border-t border-border/70 pt-3",children:[s.jsxs("label",{htmlFor:"provider-capability-openai-chat",className:"flex cursor-pointer items-center gap-2 text-sm",children:[s.jsx("input",{id:"provider-capability-openai-chat",type:"checkbox",checked:S,onChange:E=>_(E.target.checked),className:"size-4 shrink-0 accent-primary"}),"Chat Completions"]}),s.jsxs("label",{htmlFor:"provider-capability-openai-responses",className:"flex cursor-pointer items-center gap-2 text-sm",children:[s.jsx("input",{id:"provider-capability-openai-responses",type:"checkbox",checked:N,onChange:E=>P(E.target.checked),className:"size-4 shrink-0 accent-primary"}),"Responses"]})]}),J.openaiCapabilities!==void 0&&j&&s.jsx("p",{className:"ml-7 mt-2 text-xs text-destructive",children:J.openaiCapabilities})]}),s.jsxs("label",{htmlFor:"provider-capability-anthropic",className:`flex cursor-pointer items-start gap-3 px-3 py-3 ${w?"bg-primary/[0.04]":""}`,children:[s.jsx("input",{id:"provider-capability-anthropic",type:"checkbox",checked:w,onChange:E=>y(E.target.checked),className:"mt-0.5 size-4 shrink-0 accent-primary"}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block text-sm font-medium",children:"Anthropic"}),s.jsx("span",{className:"block text-xs text-muted-foreground",children:"Messages"})]})]})]}),J.capabilities!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.capabilities})]}),(w||j&&(S||N))&&s.jsxs("section",{className:"space-y-5 border-l border-border pl-4","aria-label":"API endpoints",children:[s.jsx("h3",{className:"text-sm font-medium",children:"Endpoint Configuration"}),w&&s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-anthropic-base-url",className:"text-sm font-medium",children:["Anthropic Messages Base URL ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground flex min-w-0 overflow-hidden rounded-md focus-within:border-ring focus-within:outline-ring focus-within:ring-[3px]",children:[s.jsx("input",{id:"provider-anthropic-base-url",type:"text",value:A,onChange:E=>{Se(!0),M(E.target.value)},placeholder:"https://api.anthropic.com",className:"min-w-0 flex-1 bg-transparent px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"shrink-0 select-none border-l border-white/10 bg-white/[0.04] px-3 py-2 font-mono text-xs text-muted-foreground",children:Zr})]}),J.anthropicBaseUrl!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.anthropicBaseUrl}),s.jsx(pa,{baseUrl:A,endpoint:Zr,providerName:o})]}),j&&S&&s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-openai-base-url",className:"text-sm font-medium",children:["OpenAI Chat Base URL ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground flex min-w-0 overflow-hidden rounded-md focus-within:border-ring focus-within:outline-ring focus-within:ring-[3px]",children:[s.jsx("input",{id:"provider-openai-base-url",type:"text",value:C,onChange:E=>{ue(!0),I(E.target.value)},placeholder:"https://api.openai.com",className:"min-w-0 flex-1 bg-transparent px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"shrink-0 select-none border-l border-white/10 bg-white/[0.04] px-3 py-2 font-mono text-xs text-muted-foreground",children:Kr})]}),J.openaiBaseUrl!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.openaiBaseUrl}),s.jsx(pa,{baseUrl:C,endpoint:Kr,providerName:o})]}),j&&N&&s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-openai-responses-base-url",className:"text-sm font-medium",children:["OpenAI Responses Base URL ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground flex min-w-0 overflow-hidden rounded-md focus-within:border-ring focus-within:outline-ring focus-within:ring-[3px]",children:[s.jsx("input",{id:"provider-openai-responses-base-url",type:"text",value:F,onChange:E=>{we(!0),U(E.target.value)},placeholder:"https://api.openai.com",className:"min-w-0 flex-1 bg-transparent px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"shrink-0 select-none border-l border-white/10 bg-white/[0.04] px-3 py-2 font-mono text-xs text-muted-foreground",children:Gr})]}),J.openaiResponsesBaseUrl!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.openaiResponsesBaseUrl}),s.jsx(pa,{baseUrl:F,endpoint:Gr,providerName:o})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"provider-source",className:"text-sm font-medium",children:"Token Source"}),s.jsxs("select",{id:"provider-source",value:z??"",onChange:E=>X(E.target.value==="company"||E.target.value==="personal"?E.target.value:void 0),className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsx("option",{value:"",children:"Unspecified"}),s.jsx("option",{value:"personal",children:"个人 (Personal)"}),s.jsx("option",{value:"company",children:"公司 (Company)"})]}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Label whether this API key is company-provided or personal."})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"provider-model-metadata-url",className:"text-sm font-medium",children:"Model Metadata URL"}),s.jsx("input",{id:"provider-model-metadata-url",type:"text",value:V,onChange:E=>H(E.target.value),placeholder:"https://example.com/agent-inspector-models.json",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),J.modelMetadataUrl!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.modelMetadataUrl}),V.trim()===""&&s.jsx("div",{className:"border border-border bg-muted/40 rounded-md px-3 py-2 text-xs text-muted-foreground",children:"Built-in limits cover DeepSeek v4 pro/flash, MiniMax M3/M2.7/M2.5/M2.1, and GLM coding models. Use a registry URL for private or custom model limits."}),e!==void 0&&!wt&&V.trim()===""&&s.jsx("p",{className:"text-xs text-amber-400",children:"This provider has no matching context metadata yet."}),V.trim()!==""&&s.jsx("p",{className:"text-xs text-muted-foreground",children:"Agent Inspector will refresh model limits from this JSON registry after save."})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-apikey",className:"text-sm font-medium",children:["API Key ",e===void 0&&s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("input",{id:"provider-apikey",type:u?"text":"password",value:a,onChange:E=>l(E.target.value),placeholder:e===void 0?"sk-ant-...":"Leave blank to keep current key",className:"flex-1 rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("button",{type:"button",onClick:()=>d(E=>!E),className:"text-muted-foreground hover:text-foreground transition-colors p-1 shrink-0","aria-label":u?"Hide API key":"Show API key",children:u?s.jsx(Pw,{className:"size-4"}):s.jsx(pf,{className:"size-4"})}),s.jsx("button",{type:"button",onClick:Qt,className:"text-muted-foreground hover:text-foreground transition-colors p-1 shrink-0","aria-label":"Copy API key",children:p?s.jsx(Ge,{className:"size-4 text-cyan-300"}):s.jsx(zt,{className:"size-4"})})]}),e!==void 0&&a.trim()===""&&s.jsx("p",{className:"text-xs text-muted-foreground",children:"A key is configured. Enter a new value only to rotate it."}),J.apiKey!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.apiKey})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"text-sm font-medium",children:["Models ",s.jsx("span",{className:"text-destructive",children:"*"})]}),h.map((E,L)=>{const K=v[L]??$n(),ie=J[`modelMetadata.${L}.contextWindow`],de=J[`modelMetadata.${L}.outputLimit`],se=uI(K),ye=da(K.contextWindow);return s.jsxs("div",{ref:ce=>{te.current[L]=ce},className:"border border-border bg-card shadow-sm space-y-2 rounded-[8px] p-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx("input",{type:"text",value:E,onChange:ce=>Ie(L,ce.target.value),placeholder:Ve.length>0?"Type or select a model...":"Model name",className:"w-full rounded-md border border-input bg-background px-4 py-3 pr-8 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),Ve.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",onClick:()=>je(D===L?null:L),className:"absolute right-1 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors p-1 z-10","aria-label":"Show model suggestions",children:s.jsx(tt,{className:"size-4"})}),D===L&&s.jsx("div",{className:"bg-popover text-popover-foreground absolute left-0 right-0 top-full z-50 mt-1 max-h-48 overflow-y-auto rounded-md border shadow-md",children:Ve.map(ce=>s.jsx("button",{type:"button",onClick:()=>{Ie(L,ce),je(null)},className:"w-full px-3 py-2 text-left text-sm transition-colors hover:bg-white/[0.06]",children:ce},ce))})]})]}),h.length>1&&s.jsx("button",{type:"button",onClick:()=>he(L),className:"text-muted-foreground hover:text-destructive transition-colors p-1 shrink-0","aria-label":"Remove model",children:s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("path",{d:"M3 6h18"}),s.jsx("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),s.jsx("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]})})]}),s.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1 text-xs text-muted-foreground",children:[s.jsx("span",{children:"Context Window"}),s.jsxs(cr,{value:se,onValueChange:ce=>q(L,ce),children:[s.jsx(ur,{size:"sm",className:"w-full bg-background font-mono text-xs",children:s.jsx(zo,{})}),s.jsxs(dr,{className:"max-h-64",children:[s.jsx(ct,{value:il,children:"Not set"}),D0.map(ce=>s.jsxs(ct,{value:ce.value,children:[ce.label," · ",ce.value]},ce.value)),s.jsx(ct,{value:Lo,children:"Custom"})]})]}),K.contextWindowMode==="custom"&&s.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_5.75rem] gap-1.5",children:[s.jsx("input",{type:"text",inputMode:"decimal",value:ye.amount,onChange:ce=>ne(L,ce.target.value),placeholder:"128",className:"w-full rounded-md border border-input bg-background px-3 py-2 font-mono text-xs text-foreground ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px]"}),s.jsxs(cr,{value:ye.unit,onValueChange:ce=>Te(L,ce),children:[s.jsx(ur,{size:"sm",className:"w-full bg-background font-mono text-xs",children:s.jsx(zo,{})}),s.jsxs(dr,{children:[s.jsx(ct,{value:"K",children:"K"}),s.jsx(ct,{value:"M",children:"M"}),s.jsx(ct,{value:"tokens",children:"tokens"})]})]})]}),ie!==void 0&&s.jsx("span",{className:"block text-destructive",children:ie})]}),s.jsxs("label",{className:"space-y-1 text-xs text-muted-foreground",children:[s.jsx("span",{children:"Output Limit"}),s.jsx("input",{type:"number",min:1,step:1e3,value:K.outputLimit,onChange:ce=>Ae(L,{outputLimit:ce.target.value}),placeholder:"e.g. 8192",className:"w-full rounded-md border border-input bg-background px-3 py-2 font-mono text-xs text-foreground ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px]"}),de!==void 0&&s.jsx("span",{className:"block text-destructive",children:de})]})]})]},L)}),s.jsx("button",{type:"button",onClick:xe,className:"text-xs text-primary hover:underline flex items-center gap-1",children:"+ Add Model"}),J.models!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.models})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"provider-api-docs-url",className:"text-sm font-medium",children:"API Docs URL"}),s.jsx("input",{id:"provider-api-docs-url",type:"text",value:Y,onChange:E=>Z(E.target.value),placeholder:"https://api.example.com/docs",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Optional API documentation URL. If not set, uses known provider docs."})]}),s.jsxs("div",{className:"border border-border bg-background/95 shadow-sm sticky bottom-0 flex justify-end gap-2 rounded-[8px] px-3 py-2",children:[s.jsx(ee,{type:"button",variant:"outline",onClick:n,disabled:ve,children:"Cancel"}),s.jsx(ee,{type:"submit",disabled:ve,children:ve?"Saving...":e?"Update Provider":"Add Provider"})]})]})}const fI=fe(["timeout","network_unreachable","connection_refused","auth_failed","rate_limited","server_error","invalid_response","unknown"]),mI=T({message:x(),type:fI,details:x().optional(),hint:x().optional()}),hI=T({type:fe(["text","thinking"]),text:x().optional(),thinking:x().optional()}),gI=T({requestUrl:x().optional(),requestMethod:x().optional(),requestHeaders:Ke(x(),x()).optional(),requestBody:x().optional(),responseStatus:R().optional(),responseStatusText:x().optional(),responseHeaders:Ke(x(),x()).optional(),responseBody:x().optional()}),xI=T({success:Ce(),error:mI.optional(),model:x().optional(),inputTokens:R().optional(),outputTokens:R().optional(),cacheCreationInputTokens:R().optional(),cacheReadInputTokens:R().optional(),latencyMs:R().optional(),firstChunkMs:R().nullable().optional(),totalStreamMs:R().nullable().optional(),tokensPerSecond:R().nullable().optional(),content:W(hI).optional(),rawResponse:x().optional(),streaming:Ce().optional(),streamingChunks:T({chunks:W(zp),truncated:Ce().default(!1)}).optional(),requestHeaders:Ke(x(),x()).optional(),debug:gI.optional()}),md=Ot([xI,T({notConfigured:ae(!0)}),T({testing:ae(!0)})]),vn=T({nonStreaming:md,streaming:md});function $o(){return{nonStreaming:{notConfigured:!0},streaming:{notConfigured:!0}}}const bI=T({anthropic:vn,openai:vn.optional(),openaiChat:vn.optional(),openaiResponses:vn.optional()}).transform(e=>{const t=e.openaiChat??e.openai??$o();return{...e,openai:e.openai??t,openaiChat:t,openaiResponses:e.openaiResponses??$o()}}),vI=T({anthropic:vn,openai:vn.optional(),openaiChat:vn.optional(),openaiResponses:vn.optional(),models:Ke(x(),bI).optional(),testedAt:x().optional()}).transform(e=>{const t=e.openaiChat??e.openai??$o();return{...e,openai:e.openai??t,openaiChat:t,openaiResponses:e.openaiResponses??$o()}});function yI(){return{anthropic:{nonStreaming:{testing:!0},streaming:{testing:!0}},openai:{nonStreaming:{testing:!0},streaming:{testing:!0}},openaiChat:{nonStreaming:{testing:!0},streaming:{testing:!0}},openaiResponses:{nonStreaming:{testing:!0},streaming:{testing:!0}}}}function hd(e,t){const n=()=>({nonStreaming:{success:!1,error:{message:e,type:t}},streaming:{notConfigured:!0}});return{anthropic:n(),openai:n(),openaiChat:n(),openaiResponses:n()}}const wI=T({providerConfig:x()}),jI=T({success:Ce().optional(),imported:R().optional(),message:x().optional(),errors:W(x()).optional()}),kI=T({provider:ko,imported:R(),matchedModels:W(x()),missingModels:W(x()),sourceUrl:x()}),Jr="Network error: could not reach the server. Is the proxy running?",SI=5e3,_I=5e3,gd=15e3,NI=1e4,CI=2e4,TI=2e4,EI=3e4;function fa(e,t){return(e?.length??0)>0?e:t&&e!==void 0?"":void 0}function xd(e,t=!1){return{name:e.name,...e.apiKey.trim()===""?{}:{apiKey:e.apiKey},models:e.models,anthropicBaseUrl:fa(e.anthropicBaseUrl,t),openaiBaseUrl:fa(e.openaiBaseUrl,t),openaiResponsesBaseUrl:fa(e.openaiResponsesBaseUrl,t),apiDocsUrl:(e.apiDocsUrl?.length??0)>0?e.apiDocsUrl:void 0,modelMetadataUrl:(e.modelMetadataUrl?.length??0)>0?e.modelMetadataUrl:void 0,modelMetadata:e.modelMetadata,source:e.source}}function RI(e,t){const n=e?.models?.map(r=>r.trim()).filter(r=>r!=="").length??0;return Math.max(1,n)*t}async function MI(e,t){if(t.models!==void 0)try{await qn(`/api/providers/${e}/test/log`,_I,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}catch{}}function II({externalProviders:e,isLoading:t=!1,externalTestResults:n,externalTestingProviders:r,externalTestingTimeLeft:o,onProvidersMutate:i,onTestResultsChange:a,onTestingProvidersChange:l,onTestingTimeLeftChange:u}){const[d,p]=c.useState(!1),[f,m]=c.useState(),[h,g]=c.useState(null),[v,b]=c.useState({}),[w,y]=c.useState(new Set),[j,k]=c.useState({}),[S,_]=c.useState(null),[N,P]=c.useState(!1),[A,M]=c.useState(null),[C,I]=c.useState(!1),[F,U]=c.useState(!1),[Y,Z]=c.useState(null),[V,H]=c.useState("all"),[z,X]=c.useState(new Set),{providerTestTimeoutSeconds:J}=Il(),be=c.useRef(null),ve=c.useRef(null),oe=e??[],D=c.useMemo(()=>{const q=V==="all"?oe:oe.filter(ne=>ne.source===V);return V==="all"?[...q].sort((ne,Te)=>{const he={personal:0,company:1};return(he[ne.source??""]??2)-(he[Te.source??""]??2)}):q},[oe,V]),je=n??v,te=r??w,ke=o??j,Se=u?(q,ne)=>u(q,ne):(q,ne)=>{k(ne===void 0?Te=>{const he={...Te};return delete he[q],he}:Te=>({...Te,[q]:ne}))};c.useEffect(()=>{(async()=>{try{const q=await We("/api/config/paths",wI,SI);_(q.providerConfig)}catch{}})()},[]);const le=c.useCallback(q=>{ve.current!==null&&clearTimeout(ve.current),M(q),be.current?.scrollTo({top:be.current.scrollHeight,behavior:"smooth"}),ve.current=setTimeout(()=>{M(null),ve.current=null},2e3)},[]);c.useEffect(()=>()=>{ve.current!==null&&clearTimeout(ve.current)},[]);const ue=c.useCallback(()=>{i?.().catch(()=>{})},[i]),me=c.useCallback((q,ne)=>{a?a(q,ne):b(Te=>({...Te,[q]:ne}))},[a]),we=c.useCallback((q,ne)=>{if(l){l(q,ne);return}y(Te=>{const he=new Set(Te);return ne?he.add(q):he.delete(q),he})},[l]),Ee=c.useCallback(async q=>{me(q,yI()),we(q,!0);const ne=new AbortController,Te=oe.find(G=>G.id===q),he=RI(Te,J);let xe=he;Se(q,xe);const Oe=setInterval(()=>{xe--,Se(q,xe),xe<=0&&(clearInterval(Oe),ne.abort())},1e3);try{const G=await We(`/api/providers/${q}/test`,vI,he*1e3+1e3,{method:"POST",signal:ne.signal},E=>`HTTP ${E.status}: ${E.statusText}`);me(q,G),await MI(q,G)}catch(G){const E=G instanceof Error&&G.name==="AbortError",L=G instanceof Jo;E||L?me(q,hd("Request timed out","timeout")):G instanceof Error&&me(q,hd(G.message,"server_error"))}finally{clearInterval(Oe),Se(q,void 0),we(q,!1)}},[J,oe,Se,me,we]),Ye=c.useCallback(async(q,ne,Te=!0)=>{X(he=>{const xe=new Set(he);return xe.add(q),xe});try{const he=ne!==void 0&&ne.trim()!==""?{url:ne}:{},xe=await We(`/api/providers/${q}/model-metadata`,kI,EI,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(he)},()=>"Failed to refresh model metadata");return xe.imported===0&&Te?g("No matching model metadata found for this provider."):g(null),le(xe.provider.id),ue(),xe.imported>0}catch(he){return Te&&g(he instanceof Error?he.message:Jr),!1}finally{X(he=>{const xe=new Set(he);return xe.delete(q),xe})}},[ue,le]);function De(q){(async()=>{try{const ne=await We("/api/providers",ko,gd,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(xd(q))},()=>"Failed to add provider");p(!1),le(ne.id),q.modelMetadataUrl!==void 0&&q.modelMetadataUrl.trim()!==""&&await Ye(ne.id,q.modelMetadataUrl,!1),ue(),await Ee(ne.id)}catch(ne){g(ne instanceof Error?ne.message:Jr)}})()}function Ve(q){f&&(async()=>{try{const ne=await We(`/api/providers/${f.id}`,ko,gd,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(xd(q,!0))},()=>"Failed to update provider");m(void 0),le(ne.id),q.modelMetadataUrl!==void 0&&q.modelMetadataUrl.trim()!==""&&await Ye(ne.id,q.modelMetadataUrl,!1),ue(),(q.apiKey.trim()!==""||JSON.stringify(q.models)!==JSON.stringify(f.models)||(q.anthropicBaseUrl??"")!==(f.anthropicBaseUrl??"")||(q.openaiBaseUrl??"")!==(f.openaiBaseUrl??"")||(q.openaiResponsesBaseUrl??"")!==(f.openaiResponsesBaseUrl??""))&&await Ee(ne.id)}catch(ne){g(ne instanceof Error?ne.message:Jr)}})()}function wt(q){Z(q),U(!0)}function Qt(){const q=Y;q!==null&&(async()=>{let ne;try{ne=await qn(`/api/providers/${q}`,NI,{method:"DELETE"})}catch{g(Jr);return}if(!ne.ok){g(await kl(ne,"Failed to delete provider"));return}ue()})()}const Xe=c.useRef(null);function Ue(q){const ne="/api/providers/export";(async()=>{try{const Te=await qn(ne,CI);if(!Te.ok){g("Failed to export providers");return}const he=await Te.blob(),xe=URL.createObjectURL(he),Oe=document.createElement("a");Oe.href=xe,Oe.download=Te.headers.get("Content-Disposition")?.match(/filename="(.+)"/)?.[1]??"providers.json",document.body.appendChild(Oe),Oe.click(),document.body.removeChild(Oe),URL.revokeObjectURL(xe)}catch{g("Failed to export providers")}})()}function Ie(){Xe.current?.click()}function Ae(q){const ne=q.target.files?.[0];ne&&(async()=>{try{const Te=await ne.text(),he=await qn("/api/providers/import",TI,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Te)}),xe=await jl(he,jI);he.ok&&xe.imported!==void 0&&xe.imported>0?(ue(),g(null)):xe.errors&&xe.errors.length>0?g(xe.errors.join("; ")):g(xe.message??"Import failed")}catch{g("Failed to import providers")}q.target.value=""})()}return t?s.jsx("div",{className:"flex items-center justify-center py-8",children:s.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading providers..."})}):d||f?s.jsxs("div",{className:"space-y-4",children:[s.jsx("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:s.jsx("h3",{className:"text-lg font-medium",children:f?"Edit Provider":"Add New Provider"})}),s.jsx(pI,{provider:f,onSubmit:f?Ve:De,onCancel:()=>{p(!1),m(void 0)}})]}):s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{"data-provider-toolbar":"true",className:"sticky top-0 z-10 flex min-w-0 flex-wrap items-center justify-start gap-2 rounded-[8px] bg-background/95 px-1 py-1 backdrop-blur sm:justify-end",children:[s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>Ue(),className:"gap-1 hover:bg-muted",children:[s.jsx(gr,{className:"size-3"}),"Export"]}),s.jsxs(ee,{variant:"outline",size:"sm",onClick:Ie,className:"gap-1 hover:bg-muted",children:[s.jsx(yf,{className:"size-3"}),"Import"]}),s.jsx("input",{type:"file",ref:Xe,accept:".json",onChange:Ae,style:{display:"none"}}),s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>I(!0),className:"gap-1",children:[s.jsx(Uj,{className:"size-3"}),"Scan"]}),s.jsxs(ee,{onClick:()=>p(!0),size:"sm",className:"gap-1",children:[s.jsx(su,{className:"size-4"}),"Add Provider"]})]}),S!==null&&s.jsxs("div",{className:"flex items-center gap-2 rounded-[8px] bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[s.jsx("span",{className:"font-mono truncate",title:S,children:S}),s.jsx("button",{type:"button",onClick:()=>{It(S).then(q=>{q&&(P(!0),setTimeout(()=>P(!1),2e3))})},className:"ml-auto shrink-0 text-muted-foreground transition-colors hover:text-foreground","aria-label":N?"Copied config file path":"Copy config file path",children:N?s.jsx(Ge,{className:"size-3 text-cyan-300"}):s.jsx(zt,{className:"size-3"})})]}),h!==null&&s.jsxs("div",{className:"border border-border bg-card shadow-sm flex items-center gap-2 rounded-[8px] px-3 py-2 text-sm text-destructive",children:[s.jsx(Ns,{className:"size-4 shrink-0"}),h]}),oe.length===0?s.jsxs("div",{className:"border border-border bg-card shadow-sm space-y-3 rounded-[8px] py-12 text-center",children:[s.jsx("p",{className:"text-sm text-muted-foreground",children:"No providers configured yet."}),s.jsxs(ee,{onClick:()=>p(!0),variant:"outline",size:"sm",children:[s.jsx(su,{className:"size-4"}),"Add Your First Provider"]})]}):s.jsxs("div",{className:"space-y-3",children:[s.jsx("div",{className:"inline-flex w-fit gap-1 rounded-[8px] bg-muted/20 p-1",children:["all","personal","company"].map(q=>s.jsx("button",{type:"button",onClick:()=>H(q),className:`rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${V===q?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:q==="all"?"All":q==="personal"?"Personal":"Company"},q))}),s.jsx("div",{ref:be,className:"space-y-3",children:D.map(q=>s.jsx(eI,{provider:q,testResults:je[q.id],isTesting:te.has(q.id),testingTimeLeft:ke[q.id],isHighlighted:q.id===A,onEdit:ne=>m(ne),onDelete:wt,onRefreshMetadata:ne=>{Ye(ne)},isRefreshingMetadata:z.has(q.id),onTest:ne=>{Ee(ne)}},q.id))})]}),s.jsx(RM,{open:C,onOpenChange:I,onImportComplete:()=>{i!==void 0&&i()}}),s.jsx(Hh,{open:F,onOpenChange:U,title:"Delete Provider",description:"Are you sure you want to delete this provider? This action cannot be undone.",confirmLabel:"Delete",variant:"destructive",onConfirm:Qt})]})}const PI=[{value:"providers",label:"Providers"},{value:"proxy",label:"Proxy"},{value:"storage",label:"Storage"},{value:"mcp",label:"MCP"},{value:"onboarding",label:"Onboarding"}];function AI(){return s.jsx(d0,{"aria-label":"Settings sections",className:"grid w-full grid-cols-3 justify-stretch gap-1 bg-muted/35 p-1 group-data-[orientation=horizontal]/tabs:h-auto sm:grid-cols-5",children:PI.map(e=>s.jsx(gn,{value:e.value,className:"min-w-0 w-full",children:e.label},e.value))})}function OI(){const[e,t]=c.useState(!1),[n,r]=c.useState("providers"),{providers:o,isLoading:i,mutate:a}=$l(),[l,u]=c.useState({}),[d,p]=c.useState(new Set),[f,m]=c.useState({}),h=c.useCallback((b,w)=>{u(y=>({...y,[b]:w}))},[]),g=c.useCallback((b,w)=>{p(y=>{const j=new Set(y);return w?j.add(b):j.delete(b),j})},[]),v=c.useCallback((b,w)=>{m(y=>{if(w===void 0){const j={...y};return delete j[b],j}return{...y,[b]:w}})},[]);return s.jsxs(Wt,{open:e,onOpenChange:t,children:[s.jsx(jr,{asChild:!0,children:s.jsxs(ee,{variant:"ghost",size:"icon",className:Nr,"aria-label":"Settings",title:"Settings",children:[s.jsx(Gj,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:"Settings"})]})}),s.jsxs(Zt,{className:"flex max-h-[calc(100vh-1rem)] w-[calc(100%-1rem)] max-w-2xl flex-col overflow-hidden p-4 sm:max-h-[80vh] sm:p-6",children:[s.jsx(Yt,{children:s.jsx(Xt,{children:"Settings"})}),s.jsxs(u0,{value:n,onValueChange:r,className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:[s.jsx(AI,{}),s.jsxs("div",{className:"mt-4 min-w-0 flex-1 overflow-x-hidden overflow-y-auto pr-1 sm:pr-2",children:[s.jsx(jt,{value:"providers",children:s.jsx(II,{externalProviders:o,isLoading:i,externalTestResults:l,externalTestingProviders:d,externalTestingTimeLeft:f,onProvidersMutate:()=>a(),onTestResultsChange:h,onTestingProvidersChange:g,onTestingTimeLeftChange:v})}),s.jsx(jt,{value:"proxy",children:s.jsx(UI,{})}),s.jsx(jt,{value:"storage",children:s.jsx($I,{})}),s.jsx(jt,{value:"mcp",children:s.jsx(FI,{})}),s.jsx(jt,{value:"onboarding",children:s.jsx(DI,{})})]})]})]})]})}const zI=T({memoryCount:R(),logDir:x(),logFileCount:R(),logBytes:R(),chunkDir:x(),chunkFileCount:R(),chunkBytes:R(),sessionArchiveDir:x(),sessionArchiveFileCount:R(),sessionArchiveBytes:R()}),LI=1e4;function ma(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KiB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MiB`:`${(e/1024/1024/1024).toFixed(1)} GiB`}function $I(){const[e,t]=c.useState(null),[n,r]=c.useState(null),[o,i]=c.useState(!1),[a,l]=c.useState(null),u=c.useCallback(async()=>{i(!0),r(null);try{const p=await We("/api/logs?stats=1",zI,LI,void 0,f=>`Failed to load storage stats: HTTP ${String(f.status)}`);t(p)}catch(p){r(p instanceof Error?p.message:String(p))}finally{i(!1)}},[]);c.useEffect(()=>{u()},[u]);const d=c.useCallback((p,f)=>{It(f).then(m=>{m&&(l(p),setTimeout(()=>l(null),1600))})},[]);return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("h3",{className:"text-sm font-semibold",children:"Log storage"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Inspect local log and streaming chunk footprint before exporting or clearing sessions."})]}),s.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:()=>{u()},children:o?"Refreshing...":"Refresh"})]}),e!==null&&s.jsxs("div",{className:"grid gap-2 text-xs",children:[s.jsx(Js,{id:"log-dir",label:"Log storage path",value:e.logDir,copiedId:a,onCopy:d}),s.jsx(Js,{id:"chunk-dir",label:"Streaming chunks storage path",value:e.chunkDir,copiedId:a,onCopy:d}),s.jsx(Js,{id:"session-archive-dir",label:"Session archive storage path",value:e.sessionArchiveDir,copiedId:a,onCopy:d}),s.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"font-medium",children:"In-memory logs"}),s.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.memoryCount.toLocaleString()," loaded"]})]}),s.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"font-medium",children:"Log files"}),s.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.logFileCount.toLocaleString()," files / ",ma(e.logBytes)]})]}),s.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"font-medium",children:"Streaming chunks"}),s.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.chunkFileCount.toLocaleString()," files / ",ma(e.chunkBytes)]})]}),s.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"font-medium",children:"Session archives"}),s.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.sessionArchiveFileCount.toLocaleString()," files /"," ",ma(e.sessionArchiveBytes)]})]})]}),n!==null&&s.jsx("p",{className:"text-xs text-destructive",children:n})]})}function Js({id:e,label:t,value:n,copiedId:r,onCopy:o}){const i=r===e;return s.jsxs("div",{className:"min-w-0 rounded-md border border-border/45 bg-muted/15 px-3 py-2 transition-colors hover:bg-muted/25",children:[s.jsx("div",{className:"mb-1 text-xs font-medium text-muted-foreground",children:t}),s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-foreground",title:n,children:n}),s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0",onClick:()=>o(e,n),"aria-label":i?`Copied ${t}`:`Copy ${t}`,children:i?s.jsx(Ge,{className:"size-3.5 text-emerald-500"}):s.jsx(zt,{className:"size-3.5"})})]})]})}function DI(){const[e,t]=c.useState(null),n=c.useMemo(()=>typeof window>"u"?"http://localhost:9527":window.location.origin,[]),r=c.useMemo(()=>[{id:"status",label:"Check onboarding",value:"agent-inspector onboard --status"},{id:"status-json",label:"Check onboarding JSON",value:"agent-inspector onboard --status --json"},{id:"refresh",label:"Refresh generated files",value:"agent-inspector onboard --force"},{id:"uninstall",label:"Remove matching generated files",value:"agent-inspector onboard --uninstall"},{id:"claude",label:"Claude Code command",value:"/agent-inspector:onboard"},{id:"codex",label:"Codex prompt",value:"Use the agent-inspector-onboard skill"},{id:"opencode-config",label:"OpenCode config",value:"agent-inspector onboard --opencode-only"},{id:"opencode-status",label:"OpenCode status",value:"agent-inspector onboard --status --opencode-only"},{id:"opencode-verify",label:"OpenCode verify",value:"opencode mcp list"},{id:"opencode-proxy",label:"OpenCode proxy",value:`LLM_BASE_URL=${n}/proxy`},{id:"mimo-config",label:"MiMo Code config",value:"agent-inspector onboard --mimo-only"},{id:"mimo-status",label:"MiMo Code status",value:"agent-inspector onboard --status --mimo-only"},{id:"mimo-verify",label:"MiMo Code verify",value:"mimo mcp list"},{id:"mimo-proxy",label:"MiMo Code proxy",value:`OPENAI_BASE_URL=${n}/proxy`},{id:"mcp",label:"MCP URL",value:`${n}/api/mcp`},{id:"proxy",label:"Proxy URL",value:`${n}/proxy`},{id:"anthropic",label:"Anthropic base",value:`ANTHROPIC_BASE_URL=${n}/proxy`},{id:"openai",label:"OpenAI base",value:`OPENAI_BASE_URL=${n}/proxy`}],[n]),o=c.useCallback((i,a)=>{It(a).then(l=>{l&&(t(i),setTimeout(()=>t(null),1600))})},[]);return s.jsxs("div",{className:"min-w-0 space-y-4",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Yn,{className:"size-4 text-muted-foreground"}),s.jsx("h3",{className:"text-sm font-semibold",children:"Agent onboarding"})]}),s.jsx("div",{className:"grid gap-2",children:r.map(i=>s.jsx(Js,{id:i.id,label:i.label,value:i.value,copiedId:e,onCopy:o},i.id))}),s.jsxs("div",{className:"grid gap-2 rounded-md bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Ge,{className:"size-3.5 text-emerald-500"}),s.jsx("span",{children:"Provider test creates a traceable memory probe session."})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Ge,{className:"size-3.5 text-emerald-500"}),s.jsx("span",{children:"Captured sessions can produce reviewable memory candidates."})]}),s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(Ge,{className:"mt-0.5 size-3.5 text-emerald-500"}),s.jsxs("span",{children:["Streamable HTTP clients should use the MCP URL directly. Stdio-only clients should use",s.jsx("code",{className:"mx-1 rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"agent-inspector-mcp stdio"}),"instead. Configure only one entry for the same Inspector."]})]}),s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(Ge,{className:"mt-0.5 size-3.5 text-emerald-500"}),s.jsxs("span",{children:["OpenCode onboarding safely merges"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"mcp.agent-inspector"})," ","into"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"opencode.json"}),", then verify with"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"opencode mcp list"}),"."]})]}),s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(Ge,{className:"mt-0.5 size-3.5 text-emerald-500"}),s.jsxs("span",{children:["MiMo Code onboarding safely merges"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"mcp.agent-inspector"})," ","into"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"mimocode.jsonc"}),", then route OpenAI-format traffic with"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"OPENAI_BASE_URL"}),"."]})]}),s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(Ge,{className:"mt-0.5 size-3.5 text-emerald-500"}),s.jsx("span",{children:"If your AI tool runs in another container or host, replace localhost with an address reachable from that tool and verify the network/firewall path."})]})]})]})}function FI(){const[e,t]=c.useState(null),r=`${c.useMemo(()=>typeof window>"u"?"http://localhost:9527":window.location.origin,[])}/api/mcp`,o=c.useMemo(()=>[{id:"mcp-url",label:"Streamable HTTP MCP URL",value:r},{id:"stdio",label:"Stdio bridge command",value:`agent-inspector-mcp stdio --url ${r}`},{id:"doctor",label:"Bridge doctor",value:`agent-inspector-mcp doctor --url ${r}`},{id:"writes",label:"Enable write tools",value:"AGENT_INSPECTOR_MCP_WRITES=1 agent-inspector"},{id:"capabilities",label:"Capabilities resource",value:"inspector://mcp/capabilities"},{id:"context",label:"Current context resource",value:"inspector://context/current"},{id:"streamable-json",label:"Streamable HTTP JSON",value:JSON.stringify({mcpServers:{"agent-inspector":{type:"streamableHttp",url:r}}},null,2)},{id:"stdio-json",label:"Stdio MCP JSON",value:JSON.stringify({mcpServers:{"agent-inspector":{command:"agent-inspector-mcp",args:["stdio","--url",r]}}},null,2)},{id:"opencode-local",label:"OpenCode local MCP",value:JSON.stringify({mcp:{"agent-inspector":{type:"local",command:["agent-inspector-mcp","stdio","--url",r],enabled:!0}}},null,2)},{id:"mimo-local",label:"MiMo Code local MCP",value:JSON.stringify({mcp:{"agent-inspector":{type:"local",command:["agent-inspector-mcp","stdio","--url",r],enabled:!0}}},null,2)},{id:"codex-toml",label:"Codex TOML",value:`[mcp_servers.agent-inspector]
|
|
123
|
+
`);if(n===r)return{lines:[],isEmpty:!0};const o=f0(n,r);return{lines:el(o),isEmpty:!1}}function Hu(e){try{const t=JSON.parse(e);return t===null||typeof t=="string"||typeof t=="object"?t:null}catch{return null}}function y4(e,t){const n=e??"",r=t??"";if(n===r)return{lines:[],isEmpty:!0};const o=Hu(n),i=Hu(r);if(o!==null&&i!==null){const l=b4(o,i)??[];if(l.length===1){const u=l[0];if(u!==void 0&&!u.added&&!u.removed)return{lines:[],isEmpty:!0}}return{lines:el(l),isEmpty:!1}}const a=f0(n,r);return{lines:el(a),isEmpty:!1}}const w4=22,Yi=1e4;function j4(e){return e==="added"?"+":e==="removed"?"-":" "}function k4(e){return e==="added"?"bg-green-500/10 text-green-700 dark:text-green-300":e==="removed"?"bg-red-500/10 text-red-700 dark:text-red-300":"text-foreground/80"}const S4=function({result:t,emptyLabel:n}){const[r,o]=c.useState("unified"),i=c.useRef(null),a=CT({count:t.lines.length,getScrollElement:()=>i.current,estimateSize:()=>w4,overscan:10});if(t.isEmpty)return s.jsx("div",{className:"rounded border border-dashed border-border bg-muted/30 px-4 py-6 text-center text-xs text-muted-foreground","data-testid":"diff-empty",children:n??"No transformation applied — raw and processed are identical."});const l=t.lines.length,u=l>Yi,d=u?t.lines.slice(0,Yi):t.lines;return s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[s.jsxs("span",{children:[l.toLocaleString()," line",l===1?"":"s",u&&` (showing first ${Yi.toLocaleString()})`]}),s.jsxs("div",{className:"inline-flex rounded-md border border-border overflow-hidden",children:[s.jsxs("button",{type:"button",onClick:()=>o("unified"),"aria-pressed":r==="unified",className:$("flex items-center gap-1 px-2 py-1 transition-colors",r==="unified"?"bg-muted text-foreground":"hover:bg-muted/50"),title:"Unified diff (single column)",children:[s.jsx(Lj,{className:"size-3"}),"Unified"]}),s.jsxs("button",{type:"button",onClick:()=>o("split"),"aria-pressed":r==="split",className:$("flex items-center gap-1 px-2 py-1 transition-colors border-l border-border",r==="split"?"bg-muted text-foreground":"hover:bg-muted/50"),title:"Split diff (side by side)",children:[s.jsx(Sw,{className:"size-3"}),"Split"]})]})]}),s.jsx("div",{ref:i,className:"max-h-[60vh] overflow-auto rounded border border-border bg-background font-mono text-xs","data-testid":"diff-viewport",children:r==="unified"?s.jsx(_4,{virtualizer:a,lines:d}):s.jsx(T4,{lines:d})})]})};function _4({virtualizer:e,lines:t}){return s.jsx("div",{style:{height:`${e.getTotalSize()}px`,width:"100%",position:"relative"},children:e.getVirtualItems().map(n=>{const r=t[n.index];return r===void 0?null:s.jsxs("div",{"data-index":n.index,ref:e.measureElement,className:$("flex items-start gap-3 px-2",k4(r.kind)),style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${n.start}px)`},children:[s.jsx("span",{className:"select-none text-muted-foreground/60 w-10 text-right tabular-nums",children:r.oldLineNumber??""}),s.jsx("span",{className:"select-none text-muted-foreground/60 w-10 text-right tabular-nums",children:r.newLineNumber??""}),s.jsx("span",{className:$("select-none w-3 text-right font-bold",r.kind==="added"&&"text-green-600 dark:text-green-400",r.kind==="removed"&&"text-red-600 dark:text-red-400"),children:j4(r.kind)}),s.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:r.text})]},n.key)})})}function N4(e){const t=[];let n=0;for(;n<e.length;){const r=e[n];if(r===void 0)break;if(r.kind==="context"){t.push({left:{text:r.text,lineNumber:r.oldLineNumber},right:{text:r.text,lineNumber:r.newLineNumber},kind:"equal"}),n+=1;continue}const o=[],i=[];for(;n<e.length&&e[n]?.kind==="removed";){const l=e[n];l!==void 0&&o.push(l),n+=1}for(;n<e.length&&e[n]?.kind==="added";){const l=e[n];l!==void 0&&i.push(l),n+=1}const a=Math.max(o.length,i.length);for(let l=0;l<a;l+=1){const u=o[l],d=i[l];u!==void 0&&d!==void 0?t.push({left:{text:u.text,lineNumber:u.oldLineNumber},right:{text:d.text,lineNumber:d.newLineNumber},kind:"changed"}):u!==void 0?t.push({left:{text:u.text,lineNumber:u.oldLineNumber},right:null,kind:"removed"}):d!==void 0&&t.push({left:null,right:{text:d.text,lineNumber:d.newLineNumber},kind:"added"})}}return t}function C4(e){switch(e){case"changed":return"bg-amber-500/10";case"removed":return"bg-red-500/10";case"added":return"bg-green-500/10";case"equal":return""}}function T4({lines:e}){const t=N4(e);return s.jsx("div",{"data-testid":"diff-split",children:t.map((n,r)=>s.jsxs("div",{className:$("grid grid-cols-2 font-mono text-xs",C4(n.kind)),children:[s.jsxs("div",{className:"flex items-start gap-2 px-2 border-r border-border/50",children:[s.jsx("span",{className:"select-none text-muted-foreground/60 w-8 text-right tabular-nums",children:n.left?.lineNumber??""}),s.jsx("span",{className:$("select-none w-3 text-right font-bold",(n.kind==="removed"||n.kind==="changed")&&"text-red-600 dark:text-red-400"),children:n.left!==null?"-":" "}),s.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:n.left?.text??""})]}),s.jsxs("div",{className:"flex items-start gap-2 px-2",children:[s.jsx("span",{className:"select-none text-muted-foreground/60 w-8 text-right tabular-nums",children:n.right?.lineNumber??""}),s.jsx("span",{className:$("select-none w-3 text-right font-bold",(n.kind==="added"||n.kind==="changed")&&"text-green-600 dark:text-green-400"),children:n.right!==null?"+":" "}),s.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:n.right?.text??""})]})]},r))})}const h0=c.memo(S4),E4=tp("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function _e({className:e,variant:t="default",asChild:n=!1,...r}){const o=n?W5:"span";return s.jsx(o,{"data-slot":"badge","data-variant":t,className:$(E4({variant:t}),e),...r})}const R4=3;function M4({event:e}){const t=n=>{n.stopPropagation(),Is({logId:e.logId,tab:"response",toolCallIndex:e.index})};return s.jsx("button",{type:"button",className:"inline-flex h-5 min-w-0 max-w-[8.5rem] items-center rounded px-1.5 text-[10px] text-muted-foreground transition-colors hover:bg-background/65 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:t,onKeyDown:n=>n.stopPropagation(),"aria-label":`Open response tool call ${e.name}`,title:e.name,children:s.jsx("span",{className:"min-w-0 truncate font-mono font-semibold",children:e.name})})}function I4({events:e}){if(e.length===0)return null;const t=e.slice(0,R4),n=Math.max(0,e.length-t.length);return s.jsxs("span",{className:"inline-flex h-7 min-w-0 max-w-full items-center gap-1 overflow-hidden rounded-md border border-cyan-300/10 bg-cyan-300/[0.055] px-1 sm:max-w-[26rem]",role:"group","aria-label":`${e.length} response tool ${e.length===1?"call":"calls"}`,onClick:r=>r.stopPropagation(),onKeyDown:r=>r.stopPropagation(),children:[s.jsxs("span",{className:"inline-flex h-5 shrink-0 items-center gap-1 px-1 font-mono text-[9px] font-semibold uppercase text-cyan-300",children:[s.jsx(gr,{className:"size-3"}),"Call ",e.length]}),s.jsxs("span",{className:"flex min-w-0 flex-1 items-center gap-0.5 overflow-hidden",children:[t.map(r=>s.jsx(M4,{event:r},r.id)),n>0&&s.jsxs("span",{className:"inline-flex h-5 shrink-0 items-center rounded px-1 font-mono text-[10px] font-semibold text-muted-foreground",children:["+",n]})]})]})}const P4={success:"bg-slate-300/[0.08] text-slate-100 border-transparent",client_error:"bg-amber-300/[0.10] text-amber-100 border-transparent",server_error:"bg-rose-400/[0.10] text-rose-100 border-transparent",pending:"bg-cyan-300/[0.08] text-cyan-100 border-transparent"},A4={success:{frame:"border-cyan-200/15 bg-white/[0.04] text-slate-100"},client_error:{frame:"border-amber-300/25 bg-amber-300/[0.08] text-amber-100"},server_error:{frame:"border-rose-300/25 bg-rose-300/[0.08] text-rose-100"},pending:{frame:"border-cyan-300/25 bg-cyan-300/[0.08] text-cyan-100"}},qs="border border-transparent bg-white/[0.045] hover:bg-white/[0.075] size-8 text-muted-foreground shadow-none hover:text-cyan-100",Rt="bg-white/[0.045] flex h-7 items-center gap-1 rounded-md px-2 text-xs";function Hs(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function O4(e){return e>=10?`${e.toFixed(0)}/s`:`${e.toFixed(1)}/s`}function z4(e,t){switch(e){case"success":return t===null?"OK":String(t);case"client_error":return t===null?"WARN":String(t);case"server_error":return t===null?"FAIL":String(t);case"pending":return"ROLL"}}function Vu({trend:e}){if(e===null)return null;const t=e.direction==="up",n=t?$y:Iy,r=t?"+":"-";return s.jsxs("span",{className:"flex items-center gap-0.5 text-muted-foreground tabular-nums",children:[s.jsx(n,{className:t?"size-3 text-cyan-300":"size-3 text-rose-400"}),s.jsxs("span",{className:"font-mono",children:[r,Me(e.delta)]})]})}const L4=c.memo(function({log:e,displayNumber:t,messageCount:n=null,toolCount:r=null,toolEvents:o=[],expanded:i,onToggle:a,cacheTrend:l=null,activeTab:u,tabActions:d,onReplay:p,slowResponseThresholdSeconds:f=0,showClientMetadata:m=!0,timeDisplayFormat:h}){const x=Mx(e.responseStatus),v=e.elapsedMs!==null&&f>0&&e.elapsedMs>f*1e3,b=e.inputTokens!==null||e.outputTokens!==null,w=e.firstChunkMs??null,y=e.tokensPerSecond??null,j=w===null?null:Hs(w),k=y===null||y<=0?null:O4(y),S=e.warnings?.length??0,_=e.clientPid!==null&&e.clientPid!==void 0,N=e.clientProjectFolder!==null&&e.clientProjectFolder!==void 0&&e.clientProjectFolder!=="";e.clientCwd!==null&&e.clientCwd!==void 0&&e.clientCwd;const P=A4[x],A=z4(x,e.responseStatus),M=x!=="success"||e.responseStatus!==200,C=e.streaming&&j===null&&k===null;return s.jsx($s,{children:s.jsxs("div",{id:`log-${e.id}`,role:"button",tabIndex:0,"data-nav-id":`log-${e.id}`,"data-nav-action":i?"collapse":"expand",className:$("group/header relative isolate flex min-w-0 cursor-pointer items-start gap-2 overflow-hidden px-3 py-2 transition-[background-color,border-color,box-shadow]",i?"bg-white/[0.04]":"bg-transparent hover:bg-white/[0.035]","select-none","focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-none"),onClick:a,onKeyDown:I=>{(I.key==="Enter"||I.key===" ")&&(I.preventDefault(),a())},children:[s.jsxs("span",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:$("inline-flex h-8 shrink-0 items-center rounded-md px-2 font-mono",P.frame),children:s.jsxs("span",{className:"text-xs font-semibold tabular-nums",title:`Log ID ${String(e.id)}`,children:["#",t]})}),s.jsxs("span",{className:"bg-white/[0.045] flex h-7 shrink-0 items-center gap-1 rounded-md px-2 text-xs text-muted-foreground",children:[s.jsx(sn,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",title:e.timestamp,children:Ma(e.timestamp,h)})]}),M&&s.jsxs(_e,{variant:"outline",className:$("h-6 gap-1 rounded-md px-2 py-0 font-mono text-[10px] font-semibold uppercase tabular-nums shadow-[inset_0_1px_0_rgba(255,255,255,0.05)]",P4[x]),children:[x==="success"?s.jsx(Ge,{className:"size-3","aria-label":"Success"}):x==="server_error"?s.jsx(jj,{className:"size-3","aria-label":"Server error"}):x==="client_error"?s.jsx(yn,{className:"size-3","aria-label":"Client error"}):s.jsx(He,{className:"size-3 animate-spin","aria-label":"Pending"}),A]}),S>0&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs(_e,{variant:"outline",className:"h-6 gap-1 rounded-md border-amber-300/30 bg-amber-300/[0.10] px-2 py-0 font-mono text-[10px] tabular-nums text-amber-100",children:[s.jsx(yn,{className:"size-3","aria-label":"Tool schema warnings"}),S]})}),s.jsx(mt,{children:S===1?"1 tool schema warning":`${S} tool schema warnings`})]}),e.elapsedMs!==null&&(v?s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs("span",{className:$(Rt,"shrink-0 border-amber-300/25 text-amber-200"),children:[s.jsx(sn,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:Hs(e.elapsedMs)}),s.jsx(yn,{className:"size-3","aria-label":"Slow response"})]})}),s.jsxs(mt,{children:["Slow response: ",Hs(e.elapsedMs)," exceeds"," ",Hs(f*1e3)]})]}):s.jsxs("span",{className:$(Rt,"shrink-0 text-muted-foreground"),children:[s.jsx(sn,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:Hs(e.elapsedMs)})]})),e.streaming&&j!==null&&s.jsxs("span",{className:$(Rt,"shrink-0 text-cyan-300"),children:[s.jsx(ru,{className:"size-3"}),s.jsxs("span",{className:"font-mono tabular-nums",children:["first ",j]})]}),e.streaming&&k!==null&&s.jsxs("span",{className:$(Rt,"shrink-0 text-cyan-300"),children:[s.jsx(zl,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:k})]}),b&&s.jsxs("span",{className:$(Rt,"min-w-0 sm:shrink-0"),children:[s.jsx(sr,{className:"size-3 text-muted-foreground"}),s.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-1 font-mono tabular-nums",children:[s.jsxs("span",{className:$("whitespace-nowrap",e.inputTokens!==null?"text-blue-400":"text-muted-foreground"),children:["IN ",e.inputTokens!==null?Me(e.inputTokens):"n/a"]}),s.jsx("span",{className:"text-muted-foreground",children:"/"}),s.jsxs("span",{className:$("whitespace-nowrap",e.outputTokens!==null?"text-amber-400":"text-muted-foreground"),children:["OUT ",e.outputTokens!==null?Me(e.outputTokens):"n/a"]})]})]}),e.cacheCreationInputTokens!==null&&e.cacheCreationInputTokens>0&&s.jsxs("span",{className:$(Rt,"shrink-0"),children:[s.jsx(Vu,{trend:l?.creation??null}),s.jsxs("span",{className:"font-mono tabular-nums text-cyan-300",children:["KV Cache +",Me(e.cacheCreationInputTokens)]})]}),e.cacheReadInputTokens!==null&&e.cacheReadInputTokens>0&&s.jsxs("span",{className:$(Rt,"shrink-0"),children:[s.jsx(Vu,{trend:l?.read??null}),s.jsxs("span",{className:"font-mono tabular-nums text-purple-400",children:["KV Cache ~",Me(e.cacheReadInputTokens)]})]}),n!==null&&s.jsxs("span",{className:$(Rt,"shrink-0 text-muted-foreground"),children:[s.jsx(Xo,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:n})]}),r!==null&&s.jsxs("span",{className:$(Rt,"shrink-0 text-muted-foreground"),children:[s.jsx(gr,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:r})]}),s.jsx(I4,{events:o}),e.origin!==null&&s.jsxs("span",{className:$(Rt,"hidden shrink-0 text-muted-foreground xl:flex"),title:`Origin: ${e.origin}`,children:[s.jsx(mf,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums truncate max-w-[120px]",title:e.origin,children:e.origin})]}),m&&(_||N)&&s.jsxs("span",{className:$(Rt,"hidden shrink-0 text-purple-300 xl:flex"),children:[s.jsx(Bw,{className:"size-3"}),N?s.jsx("span",{className:"font-mono tabular-nums",children:e.clientProjectFolder}):s.jsxs("span",{className:"font-mono tabular-nums",children:["PID ",e.clientPid]})]}),C&&s.jsx(ru,{className:"size-3 shrink-0 text-muted-foreground/60"})]}),s.jsxs("span",{className:"flex shrink-0 items-start gap-1.5",children:[i&&s.jsxs("span",{className:"flex items-center gap-1.5 shrink-0",onClick:I=>I.stopPropagation(),onKeyDown:I=>I.stopPropagation(),children:[d!==void 0&&u!==void 0&&(()=>{const I=d[u];return I===void 0?null:s.jsxs(s.Fragment,{children:[I.expansion!==null&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:qs,onClick:I.expansion.onToggle,disabled:I.expansion.isPending,"aria-pressed":I.expansion.isExpanded,"aria-label":I.expansion.isExpanded?"Collapse all JSON":"Expand all JSON",children:I.expansion.isExpanded?s.jsx(iw,{className:"size-3.5"}):s.jsx(ew,{className:"size-3.5"})})}),s.jsx(mt,{children:I.expansion.isExpanded?"Collapse all JSON nodes":"Expand all JSON nodes"})]}),I.diffWithRaw!==void 0&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:$(qs,I.diffWithRaw.active&&"border-cyan-300/35 bg-cyan-400/15 text-cyan-100"),onClick:I.diffWithRaw.onToggle,"aria-pressed":I.diffWithRaw.active,"aria-label":I.diffWithRaw.active?"Hide raw diff":"Diff with raw",children:s.jsx($w,{className:"size-3.5"})})}),s.jsx(mt,{children:I.diffWithRaw.active?"Hide diff with raw request":"Show diff between displayed and raw request body"})]}),I.diffWithPrevious!==void 0&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:qs,onClick:I.diffWithPrevious,"aria-label":"Diff with previous",children:s.jsx(hf,{className:"size-3.5"})})}),s.jsx(mt,{children:"Compare this request with the immediately preceding one"})]}),I.copyText!==null&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:qs,onClick:I.onCopy,"aria-label":I.copyCopied?"Copied":I.copyLabel,children:I.copyCopied?s.jsx(Ge,{className:"size-3.5 text-cyan-300"}):s.jsx(zt,{className:"size-3.5"})})}),s.jsx(mt,{children:I.copyCopied?"Copied to clipboard":I.copyLabel})]})]})})(),p!==void 0&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx(ee,{variant:"outline",size:"icon",className:qs,onClick:p,"aria-label":"Replay request",children:s.jsx(vf,{className:"size-3.5"})})}),s.jsx(mt,{children:"Re-send this request to the provider"})]})]}),s.jsx("span",{className:"bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-slate-200","aria-hidden":"true",children:i?s.jsx(tt,{className:"size-4 shrink-0"}):s.jsx(vt,{className:"size-4 shrink-0"})})]})]})})});function $4({...e}){return s.jsx(vk,{"data-slot":"collapsible",...e})}function a6({...e}){return s.jsx(Rf,{"data-slot":"collapsible-trigger",...e})}function D4({...e}){return s.jsx(Mf,{"data-slot":"collapsible-content",...e})}function F4({className:e,children:t,...n}){return s.jsxs(SN,{"data-slot":"scroll-area",className:$("relative overflow-hidden",e),...n,children:[s.jsx(_N,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full max-h-[inherit] rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:t}),s.jsx(U4,{}),s.jsx(NN,{})]})}function U4({className:e,orientation:t="vertical",...n}){return s.jsx(Fm,{"data-slot":"scroll-area-scrollbar",orientation:t,className:$("flex touch-none p-px transition-colors select-none",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",e),...n,children:s.jsx(Hm,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}const x0={file:"file",shell:"shell",browser:"browser",web:"web",mcp:"MCP",code:"code",other:"other"},B4={file:"border-transparent bg-blue-400/5 text-blue-300",shell:"border-transparent bg-teal-400/5 text-teal-300",browser:"border-transparent bg-cyan-400/5 text-cyan-300",web:"border-transparent bg-sky-400/5 text-sky-300",mcp:"border-transparent bg-violet-400/5 text-violet-300",code:"border-transparent bg-emerald-400/5 text-emerald-300",other:"border-transparent bg-muted/30 text-muted-foreground"};function q4({category:e}){switch(e){case"file":return s.jsx(Hw,{className:"size-3.5"});case"shell":return s.jsx(Yn,{className:"size-3.5"});case"browser":return s.jsx(bj,{className:"size-3.5"});case"web":return s.jsx(mf,{className:"size-3.5"});case"mcp":return s.jsx(qy,{className:"size-3.5"});case"code":return s.jsx(df,{className:"size-3.5"});case"other":return s.jsx(Rw,{className:"size-3.5"})}}function H4({names:e}){return e.length===0?null:s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1",children:[s.jsx("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"required"}),e.slice(0,4).map(t=>s.jsx(_e,{variant:"outline",className:"h-5 max-w-36 truncate rounded-md px-1.5 py-0 font-mono text-[10px]",children:t},t)),e.length>4&&s.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:["+",e.length-4]})]})}function V4({tool:e,called:t}){const[n,r]=c.useState(!1),o=bn(e.name),i=e.description!==null||e.requiredParameters.length>0||e.schema!==null;return s.jsx($4,{open:n,onOpenChange:r,children:s.jsxs("div",{className:"bg-white/[0.035] rounded-[8px]",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2 px-2.5 py-2",children:[s.jsxs("button",{type:"button",className:"flex min-w-0 flex-1 items-center gap-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:()=>r(a=>!a),"aria-expanded":n,disabled:!i,children:[s.jsx(q4,{category:e.category}),s.jsx("span",{className:"min-w-0 truncate font-mono text-xs font-semibold text-foreground/90",children:e.name}),t&&s.jsx(_e,{variant:"outline",className:"h-5 rounded-md border-emerald-400/20 bg-emerald-400/5 px-1.5 py-0 text-[10px] text-emerald-300",children:"called"}),s.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:[e.parameterCount," params"]}),e.descriptionPreview!==null&&s.jsx("span",{className:"hidden min-w-0 truncate text-xs text-muted-foreground md:inline",children:e.descriptionPreview}),s.jsx("span",{className:"flex-1"}),i&&(n?s.jsx(tt,{className:"size-3.5 shrink-0 text-muted-foreground"}):s.jsx(vt,{className:"size-3.5 shrink-0 text-muted-foreground"}))]}),s.jsx("button",{type:"button",className:"bg-white/[0.045] hover:bg-white/[0.075] inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:o.copy,"aria-label":o.copied?"Copied tool name":"Copy tool name",children:o.copied?s.jsx(Ge,{className:"size-3.5 text-emerald-400"}):s.jsx(zt,{className:"size-3.5"})})]}),s.jsx(D4,{children:n&&s.jsxs("div",{className:"space-y-2 bg-white/[0.025] px-2.5 py-2",children:[e.description!==null&&s.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:e.description}),s.jsx(H4,{names:e.requiredParameters}),e.schema!==null&&s.jsx(F4,{className:"bg-black/[0.16] max-h-64 rounded-[8px] p-2",children:s.jsx(c.Suspense,{fallback:s.jsx("div",{className:"text-xs text-muted-foreground",children:"Loading JSON..."}),children:s.jsx(Xa,{data:Po(e.schema),defaultExpandDepth:0})})})]})})]})})}function W4(e,t){return t.length===0?!0:`${e.name} ${e.description??""} ${x0[e.category]}`.toLowerCase().trim().includes(t)}const Z4=c.memo(function({summary:t,calledToolNames:n}){const[r,o]=c.useState(!1),[i,a]=c.useState(""),l=c.useMemo(()=>new Set(n),[n]),u=i.trim().toLowerCase(),d=c.useMemo(()=>t===null?[]:t.tools.filter(m=>W4(m,u)),[u,t]);if(t===null)return null;const p=t.tools.slice(0,6),f=t.tools.length-p.length;return s.jsxs("section",{className:"bg-black/[0.10] mb-3 overflow-hidden rounded-[8px]",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2 px-3 py-2",children:[s.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[s.jsx(gr,{className:"size-4 shrink-0 text-sky-300/80"}),s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[s.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Request Tools"}),s.jsx(_e,{variant:"outline",className:"h-5 rounded-md px-1.5 py-0 font-mono text-[10px]",children:t.tools.length}),t.toolChoiceLabel!==null&&s.jsxs(_e,{variant:"outline",className:"h-5 rounded-md px-1.5 py-0 font-mono text-[10px] text-muted-foreground",children:["tool_choice: ",t.toolChoiceLabel]})]}),s.jsx("div",{className:"mt-1 flex min-w-0 flex-wrap gap-1",children:t.categories.map(m=>s.jsxs(_e,{variant:"outline",className:$("h-5 rounded-md px-1.5 py-0 font-mono text-[10px]",B4[m.category]),children:[m.count," ",x0[m.category]]},m.category))})]})]}),s.jsxs(ee,{type:"button",variant:"ghost",size:"sm",className:"h-7 px-2 text-muted-foreground hover:text-cyan-100",onClick:()=>o(m=>!m),"aria-expanded":r,children:[r?s.jsx(tt,{className:"size-3.5"}):s.jsx(vt,{className:"size-3.5"}),r?"Hide":"Show"]})]}),s.jsxs("div",{className:"flex min-w-0 flex-wrap gap-1.5 bg-white/[0.025] px-3 py-2",children:[p.map(m=>s.jsx(_e,{variant:"outline",className:$("h-5 max-w-44 truncate rounded-md px-1.5 py-0 font-mono text-[10px]",l.has(m.name)&&"border-emerald-400/20 text-emerald-300"),children:m.name},m.name)),f>0&&s.jsxs("span",{className:"font-mono text-[10px] leading-5 text-muted-foreground",children:["+",f]})]}),r&&s.jsxs("div",{className:"space-y-2 bg-black/10 px-3 py-3",children:[s.jsxs("label",{className:"bg-white/[0.045] hover:bg-white/[0.075] flex h-8 items-center gap-2 rounded-md px-2 text-xs",children:[s.jsx(qj,{className:"size-3.5 shrink-0 text-muted-foreground"}),s.jsx("input",{value:i,onChange:m=>a(m.target.value),placeholder:"Filter tools",className:"min-w-0 flex-1 bg-transparent font-mono text-xs outline-none placeholder:text-muted-foreground/70"})]}),s.jsx("div",{className:"grid gap-1.5",children:d.length>0?d.map(m=>s.jsx(V4,{tool:m,called:l.has(m.name)},m.name)):s.jsx("p",{className:"py-2 text-xs text-muted-foreground",children:"No matching tools"})})]})]})});function Wu(e,t,n){return e==="anthropic"&&t==="full"&&n}function K4(e,t){return e==="full"&&t}function Xi(e,t){return e==="full"&&t}function Qi(e,t){return e==="full"&&t}function G4(e,t,n,r){return e==="anthropic"&&t==="full"&&n&&r}function cs(){return s.jsx("div",{className:"h-1","aria-hidden":"true"})}function J4(e,t){switch(e){case"anatomy":return t===null?"request":"anatomy";case"request":return"request";case"response":return"parsed"}}const Y4=15e3,X4=15e3,Q4=256*1024,Ao=1024*1024,An="h-9 flex-none rounded-md border border-transparent bg-transparent px-3 text-xs font-semibold text-muted-foreground shadow-none transition-colors hover:bg-white/[0.045] hover:text-foreground data-[state=active]:bg-cyan-300/[0.08] data-[state=active]:text-cyan-100 data-[state=active]:shadow-none";function Ur(e=null){return{status:"idle",text:"",offset:0,totalBytes:e,hasMore:e!==null&&e>0,error:null}}function Oo(e){return e??0}function g0(e){return e.bodyContentMode==="compact"||e.bodyContentMode==="truncated"}function b0(e){return g0(e)?Oo(e.rawRequestBodyBytes)>Ao||Oo(e.responseTextBytes)>Ao:!1}function eE(e){return g0(e)&&!b0(e)}function tE(e){return e instanceof Jo?"Body preview timed out. The log is still available on disk; try loading again.":e instanceof Error?e.message:"Body preview could not be loaded."}function Br({status:e,error:t,footprint:n,onRetry:r}){switch(e){case"idle":return null;case"loading":return s.jsx(lr,{tone:"loading",title:"Loading full bodies",children:s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[s.jsx(He,{className:"size-3.5 shrink-0 animate-spin text-cyan-200"}),s.jsx("span",{children:"Loading full request and response bodies from the log store."})]}),n!==null&&s.jsx("span",{className:"rounded border border-cyan-300/15 bg-cyan-300/[0.06] px-2 py-0.5 font-mono text-[11px] text-cyan-100",children:n})]})});case"failed":return s.jsx(lr,{tone:"warning",title:t?.title??"Full bodies could not be loaded",children:s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.jsx("span",{children:t?.detail??"Compact metadata is still available."}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 gap-1.5 text-xs text-amber-100",onClick:r,children:[s.jsx(Bt,{className:"size-3"}),"Retry"]})]})})}}function Zu(e,t){return e?t.text!==""?t.text:t.status==="success"?"":null:null}function On({children:e,className:t}){return s.jsx("div",{className:$("bg-black/[0.14] inspector-scrollbar mx-3 mb-3 max-h-[72vh] overflow-auto rounded-[8px] p-3",t),children:e})}function ao({children:e}){return s.jsx("div",{className:"bg-white/[0.035] rounded-md px-3 py-5 text-center text-xs italic text-muted-foreground",children:e})}function qr({children:e}){return s.jsx("pre",{className:"bg-black/[0.18] inspector-scrollbar max-h-[64vh] overflow-auto whitespace-pre-wrap break-words rounded-[8px] p-3 font-mono text-xs leading-relaxed text-muted-foreground",children:e})}const nE={loading:"border-transparent bg-cyan-400/[0.06] text-cyan-100",warning:"border-transparent bg-amber-400/[0.08] text-amber-100",danger:"border-transparent bg-rose-400/[0.08] text-rose-100"};function lr({tone:e,title:t,children:n}){return s.jsxs("div",{className:$("mb-3 rounded-md border px-3 py-2 text-xs shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",nE[e]),children:[t!==void 0&&s.jsx("div",{className:"mb-1 font-semibold",children:t}),s.jsx("div",{className:"leading-relaxed text-muted-foreground",children:n})]})}function Hr({label:e,state:t,expectedBytes:n,onLoadMore:r}){const o=t.totalBytes??n,i=o===null?xs(t.offset):`${xs(t.offset)} / ${xs(o)}`,a=t.status!=="loading"&&t.hasMore,l=t.status==="failed"?"Retry":"Load more";return s.jsx(lr,{tone:t.status==="failed"?"warning":"loading",title:`${e} body preview`,children:s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[s.jsxs("span",{children:[t.status==="idle"&&o!==null?`${e} body is ${xs(o)}. Loading the first preview chunk.`:`Loaded ${i}.`,t.status==="failed"&&t.error!==null&&` ${t.error}`]}),a&&s.jsx(ee,{type:"button",variant:"outline",size:"sm",className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 text-xs text-cyan-100",onClick:r,children:l})]})})}function Ku({headers:e,emptyLabel:t}){const n=e===void 0?[]:Object.entries(e).sort(([r],[o])=>r.localeCompare(o));return n.length===0?s.jsx(ao,{children:t}):s.jsx("div",{className:"bg-black/[0.14] overflow-hidden rounded-[8px] font-mono text-xs",children:n.map(([r,o])=>s.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(140px,0.32fr)_minmax(0,1fr)] border-b border-white/[0.055] last:border-b-0",children:[s.jsx("div",{className:"min-w-0 truncate bg-white/[0.035] px-2.5 py-2 font-semibold text-cyan-200",children:r}),s.jsx("div",{className:"min-w-0 truncate px-2.5 py-2 text-muted-foreground",title:o,children:o})]},r))})}function sE({active:e,onClick:t}){return s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs(ee,{variant:e?"default":"outline",size:"sm",className:$("h-8 border-white/10 text-xs shadow-none",e?"bg-cyan-300 text-black hover:bg-cyan-200":"border border-input bg-background hover:bg-accent hover:text-accent-foreground text-muted-foreground hover:text-cyan-100"),onClick:t,"aria-pressed":e,children:[s.jsx(Xw,{className:"size-3.5 mr-1"}),e?"Showing diff":"Diff with Raw"]})}),s.jsx(mt,{children:e?"Hide diff view":"Compare proxy output against the original raw version"})]})}const rE=c.memo(function({rawBody:e,displayedBody:t,emptyLabel:n}){const r=c.useMemo(()=>y4(e,t),[e,t]);return s.jsx(h0,{result:r,emptyLabel:n})}),oE=c.memo(function({rawHeaders:e,headers:t,emptyLabel:n}){const r=c.useMemo(()=>v4(e,t),[e,t]);return s.jsx(h0,{result:r,emptyLabel:n})}),iE=c.memo(function({log:e,displayNumber:t,viewMode:n="simple",strip:r,slowResponseThresholdSeconds:o,timeDisplayFormat:i,cacheTrend:a=null,onCompareWithPrevious:l,showClientMetadata:u=!0,toolEvents:d=[]}){const[p,f]=c.useState(!1),[m,h]=c.useState(!1),[x,v]=c.useState(!1),[b,w]=c.useState(!1),[y,j]=c.useState("request"),[k,S]=c.useState(null),[_,N]=c.useState(0),[P,A]=c.useState(null),[M,C]=c.useState(null),[I,F]=c.useState("idle"),[U,Y]=c.useState(null),[Z,V]=c.useState(0),[H,z]=c.useState(()=>Ur(e.rawRequestBodyBytes??null)),[X,J]=c.useState(()=>Ur(e.responseTextBytes??null)),be=c.useRef(null),ve=c.useRef(e.id),oe=c.useRef(!1),D=M??e,je=M===null&&b0(e),te=c.useMemo(()=>p4(e.rawRequestBodyBytes,e.responseTextBytes),[e.rawRequestBodyBytes,e.responseTextBytes]),ke=Zu(je,H),Se=Zu(je,X),le=D.rawRequestBody??ke,ue=D.responseText??Se,me=D.rawRequestBody===null&&ke!==null,we=D.responseText===null&&Se!==null,Ee=!me||H.hasMore===!1&&Oo(H.totalBytes)<=Ao,Ye=!we||X.hasMore===!1&&Oo(X.totalBytes)<=Ao,De=ir(D),Ve=t0(De),wt=c.useMemo(()=>Ve.analyzeRequest(D.rawRequestBody),[Ve,D.rawRequestBody]),Qt=c.useMemo(()=>Ve.analyzeResponse(D.responseText),[Ve,D.responseText]),Ue=c.useMemo(()=>!r||De!=="anthropic"||D.rawRequestBody===null?null:GT(D.rawRequestBody).body,[D.rawRequestBody,De,r])??le,Ie=Ji(Ee?Ue:null),Ae=Ji(y==="raw-request"&&Ee?le:null),q=Ji(y==="raw"&&Ye?ue:null),ne=c.useMemo(()=>D.headers&&Object.keys(D.headers).length>0?JSON.stringify(D.headers,null,2):null,[D.headers]),Te=c.useMemo(()=>D.rawHeaders&&Object.keys(D.rawHeaders).length>0?JSON.stringify(D.rawHeaders,null,2):null,[D.rawHeaders]),he=bn(Ue),ge=bn(le),Oe=bn(ne),G=bn(Te),E=bn(ue),L=c.useMemo(()=>({request:{copyLabel:me?"Copy loaded request preview":"Copy request body",copyText:Ue,copyCopied:he.copied,onCopy:he.copy,expansion:Ee?{isExpanded:Ie.isExpanded,isPending:Ie.isPending,onToggle:Ie.toggle}:null,diffWithRaw:G4(De,n,r,D.rawRequestBody!==null)?{active:b,onToggle:()=>w(!b)}:void 0,diffWithPrevious:l===void 0?void 0:()=>{l(D)}},"raw-request":{copyLabel:me?"Copy loaded raw request preview":"Copy raw request",copyText:le,copyCopied:ge.copied,onCopy:ge.copy,expansion:Ee?{isExpanded:Ae.isExpanded,isPending:Ae.isPending,onToggle:Ae.toggle}:null},...Qi(n,D.headers!==void 0&&Object.keys(D.headers).length>0)?{headers:{copyLabel:"Copy headers",copyText:ne,copyCopied:Oe.copied,onCopy:Oe.copy,expansion:null}}:{},...Xi(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)?{"raw-headers":{copyLabel:"Copy raw headers",copyText:Te,copyCopied:G.copied,onCopy:G.copy,expansion:null}}:{},raw:{copyLabel:we?"Copy loaded response preview":"Copy response",copyText:ue,copyCopied:E.copied,onCopy:E.copy,expansion:Ye?{isExpanded:q.isExpanded,isPending:q.isPending,onToggle:q.toggle}:null}}),[Ue,me,Ee,he,Ie,b,D,D.rawRequestBody,le,ge,Ae,ne,Oe,Te,G,D.responseText,we,Ye,ue,E,q,De,n,r,l]),K=c.useMemo(()=>Ie.parsedData!==null?Ve.anatomySegments(Ie.parsedData):null,[Ve,Ie.parsedData]),ie=c.useMemo(()=>hc(Ie.parsedData),[Ie.parsedData]),de=D.warnings??[],se=c.useMemo(()=>{if(K!==null)return new Set(K.map(Pe=>Pe.path))},[K]),ye=d4({containerRef:be,setExpandToPath:A,ensureTabActive:()=>{y!=="request"&&j("request")}}),ce=c.useCallback((Pe,en)=>{const at=Pe==="request"?z:J;at(Be=>({...Be,status:"loading",error:null}));const Ct=new URLSearchParams({part:Pe,offset:String(en),limit:String(Q4)});We(`/api/logs/${String(e.id)}/body?${Ct.toString()}`,C2,X4).then(Be=>{ve.current===e.id&&at(es=>({status:"success",text:Be.offset===0?Be.text:`${es.text}${Be.text}`,offset:Be.nextOffset??Be.totalBytes,totalBytes:Be.totalBytes,hasMore:Be.hasMore,error:null}))}).catch(Be=>{ve.current===e.id&&at(es=>({...es,status:"failed",error:tE(Be)}))})},[e.id]),dt=c.useCallback(()=>{oe.current||(C(null),F("idle"),Y(null),V(Pe=>Pe+1))},[]),In=c.useCallback(()=>{const Pe=!p;Pe&&j(K!==null?"anatomy":"request"),f(Pe)},[K,p]);return c.useEffect(()=>{ve.current=e.id,oe.current=!1,C(null),F("idle"),Y(null),V(0),z(Ur(e.rawRequestBodyBytes??null)),J(Ur(e.responseTextBytes??null))},[e.id,e.rawRequestBodyBytes,e.responseTextBytes]),c.useEffect(()=>{if(!p||!eE(e)||M!==null||oe.current)return;let Pe=!1;return oe.current=!0,F("loading"),Y(null),We(`/api/logs/${String(e.id)}`,nr,Y4).then(en=>{Pe||(oe.current=!1,C(en),F("idle"),Y(null))}).catch(en=>{Pe||(oe.current=!1,F("failed"),Y(f4(en)))}),()=>{Pe=!0,oe.current=!1}},[p,M,e.bodyContentMode,e.id,e.rawRequestBodyBytes,e.responseTextBytes,Z]),c.useEffect(()=>{p&&je&&H.status==="idle"&&(y!=="request"&&y!=="raw-request"&&y!=="anatomy"||ce("request",0))},[y,p,ce,H.status,je]),c.useEffect(()=>{p&&je&&X.status==="idle"&&(y!=="parsed"&&y!=="raw"||ce("response",0))},[y,p,ce,X.status,je]),c.useEffect(()=>{const Pe=en=>{const at=Si(en);at!==null&&at.logId===e.id&&(f(!0),j(J4(at.tab,K)),at.tab==="response"&&at.toolCallIndex!==void 0&&(S(at.toolCallIndex),N(Ct=>Ct+1)))};return window.addEventListener(cn,Pe),()=>{window.removeEventListener(cn,Pe)}},[K,e.id]),s.jsxs($s,{children:[s.jsxs("div",{className:$("bg-card/80 relative mb-1.5 overflow-hidden rounded-[8px] transition-[background-color,box-shadow]",p?"bg-card shadow-[0_18px_60px_rgba(0,0,0,0.30),0_0_0_1px_rgba(103,232,249,0.08)]":"hover:bg-card"),children:[s.jsx(L4,{log:D,displayNumber:t,messageCount:wt.messageCount,toolCount:wt.toolCount,toolEvents:d,expanded:p,onToggle:In,cacheTrend:a,slowResponseThresholdSeconds:o,showClientMetadata:u,timeDisplayFormat:i,activeTab:y,tabActions:L,onReplay:l===void 0?void 0:()=>{h(!0)}}),p&&s.jsxs("div",{className:"relative bg-black/[0.14] pt-2",onClick:Pe=>Pe.stopPropagation(),onKeyDown:Pe=>Pe.stopPropagation(),children:[s.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-12 bg-gradient-to-b from-white/[0.05] to-transparent","aria-hidden":"true"}),s.jsx(po,{feature:"Log details",children:s.jsxs(u0,{value:y,onValueChange:j,className:"gap-2",children:[s.jsxs(d0,{variant:"line",className:"bg-white/[0.04] inspector-scrollbar relative mx-3 h-auto w-[calc(100%-1.5rem)] justify-start overflow-x-auto rounded-[8px] p-1",children:[Xi(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&s.jsx(xn,{className:An,value:"raw-headers",children:"Raw Headers"}),Qi(n,D.headers!==void 0&&Object.keys(D.headers).length>0)&&s.jsx(xn,{className:An,value:"headers",children:"Headers"}),K!==null&&s.jsx(xn,{className:An,value:"anatomy",children:"Context"}),Wu(De,n,r)&&s.jsx(xn,{className:An,value:"raw-request",children:"Raw Request"}),s.jsx(xn,{className:An,value:"request",children:"Request"}),n==="full"&&s.jsx(xn,{className:An,value:"raw",children:"Raw Response"}),s.jsx(xn,{className:An,value:"parsed",children:"Response"})]}),Wu(De,n,r)&&s.jsx(jt,{value:"raw-request",children:y==="raw-request"&&s.jsxs(On,{children:[s.jsx(Br,{status:I,error:U,footprint:te,onRetry:dt}),je&&s.jsx(Hr,{label:"Request",state:H,expectedBytes:e.rawRequestBodyBytes??null,onLoadMore:()=>ce("request",H.offset)}),le===null?s.jsx(ao,{children:je?"Request preview is loading":"No request body"}):Ae.parsedData!==null?s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(Xa,{data:Ae.parsedData,bulkDepth:Ae.bulkDepth,bulkRevision:Ae.bulkRevision})}):s.jsx(qr,{children:le})]})}),s.jsx(jt,{value:"request",children:y==="request"&&s.jsxs(On,{children:[s.jsx(Br,{status:I,error:U,footprint:te,onRetry:dt}),je&&s.jsx(Hr,{label:"Request",state:H,expectedBytes:e.rawRequestBodyBytes??null,onLoadMore:()=>ce("request",H.offset)}),de.length>0&&s.jsxs(lr,{tone:"warning",children:[s.jsxs("div",{className:"flex items-center gap-2 font-semibold text-amber-300",children:[s.jsx(yn,{className:"size-3.5"}),"Tool schema warnings"]}),s.jsx("ul",{className:"mt-2 space-y-1 text-muted-foreground",children:de.map(Pe=>s.jsx("li",{children:Pe},Pe))})]}),s.jsx(Z4,{summary:ie,calledToolNames:Qt.toolNames??[]}),b?s.jsx(rE,{rawBody:D.rawRequestBody,displayedBody:Ue,emptyLabel:"No transformation applied; raw and sent request bodies are identical."}):s.jsx("div",{ref:be,children:Ue===null?s.jsx(ao,{children:je?"Request preview is loading":"No request body"}):Ie.parsedData!==null?s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(Xa,{data:Ie.parsedData,bulkDepth:Ie.bulkDepth,bulkRevision:Ie.bulkRevision,anatomyPaths:se,expandToPath:P})}):s.jsx(qr,{children:Ue})})]})}),K!==null&&s.jsx(jt,{value:"anatomy",children:y==="anatomy"&&s.jsx(On,{className:"p-0",children:s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(o4,{parsed:Ie.parsedData,inputTokens:D.inputTokens??null,model:D.model,segments:K,onSegmentActivate:ye})})})}),Qi(n,D.headers!==void 0&&Object.keys(D.headers).length>0)&&s.jsx(jt,{value:"headers",children:y==="headers"&&s.jsxs(On,{children:[s.jsx("div",{className:"flex justify-end gap-2 mb-2",children:K4(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&s.jsx(sE,{active:x,onClick:Pe=>{Pe.stopPropagation(),v(!x)}})}),x?s.jsx(oE,{rawHeaders:D.rawHeaders,headers:D.headers,emptyLabel:"No transformation applied; raw and processed headers are identical."}):s.jsx(Ku,{headers:D.headers,emptyLabel:"No headers captured"})]})}),Xi(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&s.jsx(jt,{value:"raw-headers",children:y==="raw-headers"&&s.jsx(On,{children:s.jsx(Ku,{headers:D.rawHeaders,emptyLabel:"No raw headers captured"})})}),s.jsx(jt,{value:"raw",children:y==="raw"&&s.jsxs(On,{className:"space-y-3",children:[s.jsx(Br,{status:I,error:U,footprint:te,onRetry:dt}),je&&s.jsx(Hr,{label:"Response",state:X,expectedBytes:e.responseTextBytes??null,onLoadMore:()=>ce("response",X.offset)}),D.error!==void 0&&D.error!==null&&s.jsx(lr,{tone:"danger",title:"SSE Error",children:s.jsx("span",{className:"font-mono",children:D.error})}),ue!==null&&Ye?s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(l4,{text:ue,defaultExpandDepth:0,bulkDepth:q.bulkDepth,bulkRevision:q.bulkRevision})}):ue!==null?s.jsx(qr,{children:ue}):s.jsx(ao,{children:je?"Response preview is loading":"No response"}),D.streaming===!0&&s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(a4,{logId:D.id,truncated:D.streamingChunksPath!==null})})]})}),s.jsx(jt,{value:"parsed",children:y==="parsed"&&s.jsxs(On,{children:[s.jsx(Br,{status:I,error:U,footprint:te,onRetry:dt}),je&&s.jsx(Hr,{label:"Response",state:X,expectedBytes:e.responseTextBytes??null,onLoadMore:()=>ce("response",X.offset)}),we&&!Ye?s.jsx(qr,{children:ue}):s.jsx(c.Suspense,{fallback:s.jsx(cs,{}),children:s.jsx(i4,{responseText:ue,responseStatus:D.responseStatus,streaming:D.streaming,inputTokens:D.inputTokens,outputTokens:D.outputTokens,cacheCreationInputTokens:D.cacheCreationInputTokens,cacheReadInputTokens:D.cacheReadInputTokens,apiFormat:De,error:D.error,focusedToolIndex:k,toolFocusNonce:_})})]})})]})})]})]}),s.jsx(po,{feature:"Replay",children:s.jsx(c.Suspense,{fallback:null,children:s.jsx(r4,{log:D,displayNumber:t,open:m,onOpenChange:h})})})]})});function aE(e){switch(e){case"end_turn":return"End of Turn (Anthropic)";case"stop":return"End of Turn (OpenAI)";case"length":return"End of Turn (length limit)";case"tool_use":case null:return"End of Turn"}}function ea(e){return e?"cursor-pointer transition-transform hover:scale-110":""}function lE({stopReason:e,isPending:t,isFirst:n,isTurnStart:r,isOnlyEntry:o=!1,isOpenTurnTail:i=!1,crabIndex:a=0,collapsible:l=!1,onToggle:u}){const d=xc(e),p=o&&r&&d,f=t&&!d,m=l&&u!==void 0,h=c.useMemo(()=>gc(a),[a]),x=c.useMemo(()=>HT(a),[a]),v=w=>{!m||u===void 0||(w.stopPropagation(),u())},b=w=>{!m||u===void 0||w.key!=="Enter"&&w.key!==" "||(w.preventDefault(),u())};return s.jsxs("div",{className:"flex flex-col items-center w-6 shrink-0 pt-0.5 pb-0.5",children:[s.jsx("div",{className:"flex justify-center h-[calc(0.75rem-8px)]",children:!n&&s.jsx("div",{className:"w-px bg-muted-foreground/18 h-full"})}),p?s.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:"Single-request turn",className:ea(m),onClick:v,onKeyDown:b,children:s.jsx(x,{className:$("size-3.5 text-[#80FF00]","animate-crab-settle","drop-shadow-[0_0_4px_rgba(128,255,0,0.5)]")})}):d?s.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:aE(e),className:ea(m),onClick:v,onKeyDown:b,children:s.jsx(h,{className:$("size-3.5 text-amber-400","animate-crab-settle","drop-shadow-[0_0_4px_rgba(251,191,36,0.5)]")})}):r?s.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:"Start of turn",className:ea(m),onClick:v,onKeyDown:b,children:s.jsx(h,{className:$("size-3.5 text-emerald-400","animate-crab-appear","drop-shadow-[0_0_4px_rgba(52,211,153,0.5)]")})}):i?s.jsx("span",{title:t?"Current end of open turn (processing)":"Current end of open turn",children:s.jsx(h,{className:$("size-3.5 text-cyan-300/85",f?"animate-crab-crawl":"animate-crab-appear","drop-shadow-[0_0_4px_rgba(103,232,249,0.4)]")})}):f?s.jsx("span",{title:"Processing",children:s.jsx(h,{className:$("size-3.5 text-amber-300/80","animate-crab-crawl")})}):s.jsx("span",{title:"Request in turn",children:s.jsx(h,{className:"size-3.5 text-muted-foreground/40"})}),s.jsx("div",{className:"flex-1 flex justify-center min-h-0",children:!d&&!i&&s.jsx("div",{className:$("w-0.5 h-full",t?"border-dashed bg-transparent border-l border-muted-foreground/14":"bg-muted-foreground/18")})})]})}const Gu=180,ta=new WeakMap;function cE(e,t){const n=e.responseText;if(n===null)return!1;switch(t){case"anthropic":return n.includes("tool_use");case"openai":return n.includes("tool_calls")||n.includes("function_call");case"unknown":return!1}}function uE(e){return e>1}function tl(e){const t=[];let n=[],r=0;for(let o=0;o<e.length;o+=1){const i=e[o];if(i===void 0)continue;n.push({log:i,stopReason:a0(i),sessionLogNumber:o+1});const a=n[n.length-1];a!==void 0&&xc(a.stopReason)&&(t.push({entries:n,turnIndex:r}),n=[],r+=1)}return n.length>0&&t.push({entries:n,turnIndex:r}),t}function dE(e){const t=new Map;for(const n of e)for(let r=1;r<n.logs.length;r+=1){const o=n.logs[r],i=n.logs[r-1];if(o===void 0||i===void 0)continue;const a=ir(o),l=ir(i);a==="unknown"||a!==l||t.set(o.id,i)}return t}function v0(e){if(e===null)return null;try{const t=JSON.parse(e);return typeof t=="string"?JSON.parse(t):t}catch{return null}}function lo(e){if(e==null)return null;const t=typeof e=="string"?e:JSON.stringify(e);if(t===void 0)return null;const n=t.replace(/\s+/g," ").trim();return n.length===0?null:n.length>Gu?`${n.slice(0,Gu-1)}...`:n}function co(e){if(e==null)return null;if(typeof e=="string")return e.length>0?e:null;const t=JSON.stringify(e,null,2);return t===void 0||t.length===0?null:t}function pE(e){const t=v0(e.responseText),n=Q(t,"content");if(!Array.isArray(n))return[];const r=[];for(const o of n){if(Q(o,"type")!=="tool_use")continue;const a=Q(o,"name");if(typeof a!="string"||a.length===0)continue;const l=Q(o,"input");r.push({id:`${String(e.id)}-anthropic-tool-${String(r.length)}`,logId:e.id,index:r.length,provider:"anthropic",name:a,argumentsText:co(l),argumentsPreview:lo(l)})}return r}function fE(e){const t=v0(e.responseText),n=Q(t,"choices");if(!Array.isArray(n))return[];const r=[];for(const i of n){const a=Q(i,"message"),l=Q(a,"tool_calls");if(Array.isArray(l))for(const p of l){const f=Q(p,"function"),m=Q(f,"name");if(typeof m!="string"||m.length===0)continue;const h=Q(f,"arguments");r.push({id:`${String(e.id)}-openai-tool-${String(r.length)}`,logId:e.id,index:r.length,provider:"openai",name:m,argumentsText:co(h),argumentsPreview:lo(h)})}const u=Q(a,"function_call"),d=Q(u,"name");if(typeof d=="string"&&d.length>0){const p=Q(u,"arguments");r.push({id:`${String(e.id)}-openai-tool-${String(r.length)}`,logId:e.id,index:r.length,provider:"openai",name:d,argumentsText:co(p),argumentsPreview:lo(p)})}}const o=Q(t,"output");if(Array.isArray(o))for(const i of o){if(Q(i,"type")!=="function_call")continue;const a=Q(i,"name");if(typeof a!="string"||a.length===0)continue;const l=Q(i,"arguments");r.push({id:`${String(e.id)}-openai-tool-${String(r.length)}`,logId:e.id,index:r.length,provider:"openai",name:a,argumentsText:co(l),argumentsPreview:lo(l)})}return r}function bc(e){const t=ta.get(e);if(t!==void 0&&t.apiFormat===e.apiFormat&&t.responseText===e.responseText)return t.events;const n=ir(e);if(!cE(e,n)){const o=[];return ta.set(e,{apiFormat:e.apiFormat,responseText:e.responseText,events:o}),o}let r;switch(n){case"anthropic":r=pE(e);break;case"openai":r=fE(e);break;case"unknown":r=[];break}return ta.set(e,{apiFormat:e.apiFormat,responseText:e.responseText,events:r}),r}function mE(e,t,n=0){let r=0,o=0,i=0,a=0,l=0,u=0,d=0,p=0,f=null,m=0;for(const h of e)h.responseStatus===null?o+=1:h.responseStatus>=400&&(r+=1),h.elapsedMs!==null&&t>0&&h.elapsedMs>t*1e3&&(i+=1),h.inputTokens!==null&&(a+=h.inputTokens),h.outputTokens!==null&&(l+=h.outputTokens),h.cacheCreationInputTokens!==null&&(u+=h.cacheCreationInputTokens),h.cacheReadInputTokens!==null&&(d+=h.cacheReadInputTokens),h.elapsedMs!==null&&(p+=h.elapsedMs,f=f===null?h.elapsedMs:Math.max(f,h.elapsedMs)),m+=bc(h).length;return{llmCallCount:e.length,toolCallCount:m,failedCallCount:r,pendingCallCount:o,slowCallCount:i,totalInputTokens:a,totalOutputTokens:l,totalCacheCreationInputTokens:u,totalCacheReadInputTokens:d,totalElapsedMs:p,maxElapsedMs:f,startedAt:e[0]?.timestamp??null,endedAt:e[e.length-1]?.timestamp??null,knowledgeCandidateCount:n}}function na(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}const hE=c.memo(function({entries:t,viewMode:n,strip:r,slowResponseThresholdSeconds:o,cacheTrends:i,onCompareWithPrevious:a,comparisonPredecessors:l,turnIndex:u=0,timeDisplayFormat:d,pendingFocusRequest:p,showLogClientMetadata:f=!0}){const m=t.length-1,h=t[m]?.stopReason??null,x=h!==null?xc(h):!1,v=t[m]?.log.responseStatus===null,b=t.length===1,w=uE(t.length),[y,j]=c.useState(!1),k=c.useRef(!1);c.useEffect(()=>{w?x&&!k.current&&j(!0):j(!1),k.current=x},[w,x]),c.useEffect(()=>{const V=H=>{const z=Si(H);z!==null&&t.some(X=>X.log.id===z.logId)&&w&&j(!1)};return window.addEventListener(cn,V),()=>{window.removeEventListener(cn,V)}},[w,t]),c.useEffect(()=>{if(p===void 0||!t.some(H=>H.log.id===p.logId))return;w&&j(!1);const V=window.setTimeout(()=>{Is({logId:p.logId,tab:p.tab,source:"virtualizer"})},0);return()=>window.clearTimeout(V)},[w,t,p]);const S=c.useCallback(()=>{w&&j(V=>!V)},[w]),_=c.useMemo(()=>{let V=0,H=0,z=null,X=!1;for(const J of t)J.log.inputTokens!==null&&(V+=J.log.inputTokens,X=!0),J.log.outputTokens!==null&&(H+=J.log.outputTokens,X=!0),J.log.elapsedMs!==null&&(z=z===null?J.log.elapsedMs:Math.max(z,J.log.elapsedMs));return{totalInput:V,totalOutput:H,hasTokens:X,maxElapsed:z}},[t,m]),N=u%2===0?"bg-white/[0.008]":"bg-cyan-300/[0.008]",P=_.maxElapsed!==null&&o>0&&_.maxElapsed>o*1e3,A=c.useMemo(()=>{const V=new Map;for(const H of t){const z=bc(H.log);z.length>0&&V.set(H.log.id,z)}return V},[t]),[M,C]=c.useState(0),I=c.useRef(null);c.useEffect(()=>{const V=I.current;if(!V)return;let H=0;const z=new ResizeObserver(()=>{window.cancelAnimationFrame(H),H=window.requestAnimationFrame(()=>C(X=>X+1))});return z.observe(V),()=>{z.disconnect(),window.cancelAnimationFrame(H)}},[]);const F=t[0]?.log.id??u,U=`Turn ${String(u+1)}`,Y=c.useMemo(()=>gc(F%12),[F]),Z=c.useMemo(()=>({contentVisibility:"auto",containIntrinsicSize:y?"48px":"160px"}),[y]);return s.jsx("div",{ref:I,style:Z,tabIndex:y?void 0:0,role:y?void 0:"group","aria-label":y?void 0:U,"data-nav-id":y?void 0:`turn-${String(F)}`,className:$("rounded-[8px] transition-[background-color,box-shadow]",v?"bg-amber-300/[0.018] shadow-[0_0_0_1px_rgba(252,211,77,0.035)]":"",!y&&"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-none"),children:y?s.jsxs("div",{"data-nav-id":`turn-collapsed-${String(F)}`,"data-nav-action":"expand",role:"button",tabIndex:0,className:"flex items-stretch cursor-pointer focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-none rounded-lg",onClick:S,onKeyDown:V=>{(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),S())},children:[s.jsxs("div",{className:"w-6 shrink-0 flex flex-col items-center pt-1.5 pb-1.5",children:[s.jsx("div",{className:"flex justify-center h-[calc(0.75rem-8px)]"}),s.jsx(Y,{className:$("size-3.5",v?"animate-crab-crawl text-amber-300/80":"animate-crab-appear text-emerald-400",v?"drop-shadow-[0_0_4px_rgba(252,211,77,0.42)]":"drop-shadow-[0_0_4px_rgba(52,211,153,0.45)]")}),s.jsx("div",{className:"flex-1 flex justify-center min-h-0",children:s.jsx("div",{className:"w-px bg-muted-foreground/14 h-full"})}),x?s.jsx(Y,{className:$("size-3.5 animate-crab-settle text-amber-400","drop-shadow-[0_0_4px_rgba(251,191,36,0.45)]")}):s.jsx("span",{title:"Current end of open turn","aria-label":"Current end of open turn",children:s.jsx(Y,{className:$("size-3.5 text-cyan-300/85",v?"animate-crab-crawl":"animate-crab-appear","drop-shadow-[0_0_4px_rgba(103,232,249,0.4)]")})})]}),t.length>1&&s.jsxs("div",{className:$("flex-1 min-w-0 mb-0.5 rounded-[8px] py-1.5 px-3 flex items-center gap-3 text-xs","bg-card/80 transition-colors hover:bg-card",N),children:[s.jsx("span",{className:"font-mono text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground/70",children:U}),s.jsxs("span",{className:"text-blue-300/85 font-mono font-semibold tabular-nums shrink-0",title:`Log IDs ${String(t[0]?.log.id??"?")} ~ ${String(t[m]?.log.id??"?")}`,children:["#",t[0]?.sessionLogNumber??"?"," ~ #",t[m]?.sessionLogNumber??"?"]}),s.jsxs("span",{className:"text-muted-foreground shrink-0",children:[t.length," request",t.length>1?"s":""]}),_.maxElapsed!==null&&s.jsx($s,{children:s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs("span",{className:$("flex items-center gap-1 shrink-0",P?"text-amber-400":"text-muted-foreground"),children:[s.jsx(sn,{className:"size-3"}),s.jsx("span",{className:"font-mono tabular-nums",children:na(_.maxElapsed)}),P&&s.jsx(yn,{className:"size-3","aria-label":"Slow response"})]})}),s.jsx(mt,{children:P?`Slow response: ${na(_.maxElapsed)} exceeds ${na(o*1e3)}`:"Slowest request in this turn"})]})}),_.hasTokens&&s.jsxs("span",{className:"flex items-center gap-1 shrink-0",children:[s.jsx(sr,{className:"size-3 text-muted-foreground"}),s.jsxs("span",{className:"font-mono tabular-nums",children:[s.jsxs("span",{className:"text-blue-400",children:["IN ",Me(_.totalInput)]})," / ",s.jsxs("span",{className:"text-amber-400",children:["OUT ",Me(_.totalOutput)]})]})]}),s.jsx("span",{className:"flex-1 min-w-0"}),s.jsx("span",{className:"bg-white/[0.045] inline-flex size-7 shrink-0 items-center justify-center rounded-md text-slate-200","aria-hidden":"true",children:s.jsx(vt,{className:"size-4 shrink-0"})})]})]}):t.map((V,H)=>{const{log:z,stopReason:X}=V,J=H===0;return s.jsxs("div",{className:"flex items-stretch",children:[s.jsx(lE,{stopReason:X,isPending:z.responseStatus===null,isFirst:H===0,isTurnStart:J,isOnlyEntry:b,isOpenTurnTail:H===m&&!x,crabIndex:z.id%12,collapsible:w&&J,onToggle:S}),s.jsx("div",{className:$("flex-1 min-w-0 mb-0.5 rounded-[8px]",N),children:s.jsx(iE,{log:z,displayNumber:V.sessionLogNumber,viewMode:n,strip:r,slowResponseThresholdSeconds:o,timeDisplayFormat:d,cacheTrend:i?.get(z.id)??null,showClientMetadata:f,toolEvents:A.get(z.id),onCompareWithPrevious:l.has(z.id)?a:void 0})})]},z.id)})})}),xE=24,gE=132,bE=8;function vE(e){return e>xE}function yE(e){const t=new Map;for(let n=0;n<e.length;n++){const r=e[n];if(r!==void 0)for(const o of r.entries)t.set(o.log.id,n)}return t}function y0(e,t,n){return s.jsx(hE,{entries:e.entries,viewMode:t.viewMode,strip:t.strip,slowResponseThresholdSeconds:t.slowResponseThresholdSeconds,timeDisplayFormat:t.timeDisplayFormat,cacheTrends:t.cacheTrends,onCompareWithPrevious:t.onCompareWithPrevious,comparisonPredecessors:t.comparisonPredecessors,turnIndex:e.turnIndex,pendingFocusRequest:n,showLogClientMetadata:t.showLogClientMetadata},e.turnIndex)}function wE(e){return vE(e.turnGroups.length)?s.jsx(jE,{...e}):s.jsx(s.Fragment,{children:e.turnGroups.map(t=>y0(t,e))})}function jE(e){const{turnGroups:t}=e,[n,r]=c.useState(null),o=TT({count:t.length,estimateSize:()=>gE,overscan:bE,getItemKey:a=>t[a]?.turnIndex??a}),i=c.useMemo(()=>yE(t),[t]);return c.useEffect(()=>{const a=l=>{const u=Si(l);if(u===null||u.source==="virtualizer")return;const d=i.get(u.logId);d!==void 0&&(o.scrollToIndex(d,{align:"center"}),r(p=>({...u,turnIndex:d,nonce:p===null?1:p.nonce+1})))};return window.addEventListener(cn,a),()=>{window.removeEventListener(cn,a)}},[i,o]),s.jsx("div",{className:"relative w-full",style:{height:`${o.getTotalSize()}px`},"data-virtualized-turn-list":"true",children:o.getVirtualItems().map(a=>{const l=t[a.index];if(l===void 0)return null;const u=n!==null&&n.turnIndex===a.index?n:void 0;return s.jsx("div",{"data-index":a.index,ref:o.measureElement,className:"absolute left-0 top-0 w-full",style:{transform:`translateY(${a.start}px)`},children:y0(l,e,u)},a.key)})})}const vc=fe(["episode","procedure","preference","project-fact"]),kE=fe(["draft","promoted","failed"]),w0=T({source:ae("agent-inspector"),sessionId:g(),logIds:W(R().int().positive()),project:g().nullable(),models:W(g())}),SE=T({redacted:Ce(),patterns:W(g())}),_r=T({id:g(),type:vc,title:g(),content:g(),tags:W(g()),source:ae("agent-inspector"),sessionId:g(),logIds:W(R().int().positive()),evidence:w0,status:kE,createdAt:g(),updatedAt:g(),openClawMemoryId:g().nullable(),error:g().nullable(),redaction:SE});T({idempotencyKey:g(),type:vc,title:g(),content:g(),tags:W(g()),source:ae("agent-inspector"),project:g().nullable(),evidence:w0});const _E=T({id:g(),type:vc.or(g()),title:g(),content:g(),score:R().nullable(),source:g().nullable(),project:g().nullable(),evidence:Bn().optional()});T({results:W(_E),warning:g().nullable()});const NE=T({candidates:W(_r)}),CE=T({candidate:_r}),TE=T({error:g().optional(),candidate:_r.optional()}),EE=T({candidate:_r}),RE=3e4,ME=15e3,IE=15e3,PE={draft:"border-amber-500/30 bg-amber-500/10 text-amber-500",promoted:"border-emerald-500/30 bg-emerald-500/10 text-emerald-500",failed:"border-destructive/30 bg-destructive/10 text-destructive"};function nl(e){return e===null?"-":e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`}function AE(e,t,n){return e===null||t===null?null:Qo(e,t,n)}function OE(e){return`${String(e)} candidate${e===1?"":"s"}`}function j0(e){return`log-${String(e)}`}function k0(e){const t=j0(e),n=document.getElementById(t);window.history.replaceState(null,"",`#${t}`),n instanceof HTMLElement&&(n.scrollIntoView({block:"center",behavior:"smooth"}),n.focus({preventScroll:!0}))}function zE(e){for(const t of e)if(t.responseStatus!==null&&t.responseStatus>=400)return t;return null}function LE(e){let t=null,n=-1;for(const r of e)r.elapsedMs!==null&&r.elapsedMs>n&&(t=r,n=r.elapsedMs);return t}function $E(e){for(const t of e)if(bc(t).length>0)return t;return null}function DE(e){const t=new Map;for(let n=0;n<e.length;n+=1){const r=e[n];r!==void 0&&t.set(r.id,n+1)}return t}function ws(e,t){return String(t.get(e)??e)}function FE(e){const t=[{kind:"session",title:`${String(e.summary.llmCallCount)} LLM call${e.summary.llmCallCount===1?"":"s"}`,detail:`Scope ${e.scopeId}`,logId:e.logs[0]?.id??null}],n=$E(e.logs);e.summary.toolCallCount>0&&n!==null&&t.push({kind:"tool",title:`${String(e.summary.toolCallCount)} tool call${e.summary.toolCallCount===1?"":"s"}`,detail:`First tool evidence at #${ws(n.id,e.displayNumberByLogId)}`,logId:n.id});const r=zE(e.logs);r!==null&&t.push({kind:"failure",title:`Failure #${String(r.responseStatus)}`,detail:`First failed request is #${ws(r.id,e.displayNumberByLogId)}`,logId:r.id});const o=LE(e.logs);if(o!==null&&e.summary.maxElapsedMs!==null&&t.push({kind:"slow",title:`Slowest ${nl(e.summary.maxElapsedMs)}`,detail:`Max latency observed at #${ws(o.id,e.displayNumberByLogId)}`,logId:o.id}),e.candidates.length>0){const i=e.candidates.filter(l=>l.status==="draft").length,a=e.candidates.filter(l=>l.status==="promoted").length;t.push({kind:"candidate",title:`${String(e.candidates.length)} memory candidate${e.candidates.length===1?"":"s"}`,detail:`${String(i)} draft / ${String(a)} promoted`,logId:e.candidates[0]?.logIds[0]??null})}return t}function UE(e){switch(e){case"session":return s.jsx(Xo,{className:"size-3.5 text-blue-400"});case"tool":return s.jsx(gr,{className:"size-3.5 text-sky-400/70"});case"slow":return s.jsx(sn,{className:"size-3.5 text-amber-400"});case"failure":return s.jsx(uf,{className:"size-3.5 text-destructive"});case"candidate":return s.jsx(cf,{className:"size-3.5 text-emerald-400"})}}function BE({insights:e}){return e.length===0?null:s.jsx("div",{className:"mt-2 grid gap-1.5 border-t border-border/70 pt-2 md:grid-cols-2 xl:grid-cols-3",children:e.map(t=>s.jsxs("button",{type:"button",className:$("flex min-w-0 items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs","text-muted-foreground transition-colors hover:bg-muted/40 hover:text-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"),onClick:()=>{t.logId!==null&&k0(t.logId)},disabled:t.logId===null,children:[UE(t.kind),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block truncate font-medium text-foreground/90",children:t.title}),s.jsx("span",{className:"block truncate font-mono text-[10px]",children:t.detail})]})]},`${t.kind}-${t.title}`))})}function qE(e){switch(e){case"draft":return"Draft";case"promoted":return"Promoted";case"failed":return"Failed"}}function HE(e,t){if(t)return"Promoting";switch(e.status){case"draft":return"Promote";case"failed":return"Retry";case"promoted":return"Promoted"}}function VE(e){return e.redaction.redacted?`Redacted ${e.redaction.patterns.join(", ")}`:"No sensitive pattern matched"}function WE(e,t){const n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-3)}...`}function ZE(e,t){const n=e[0],r=e[e.length-1];if(n===void 0)return"No evidence logs";const o=ws(n,t);return r===void 0||n===r?`#${o}`:`#${o}-#${ws(r,t)}`}function Ju(e){return e.join(", ")}function KE(e){return e.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function GE({candidate:e,isPromoting:t,isUpdating:n,onPromoteCandidate:r,onUpdateCandidate:o,displayNumberByLogId:i}){const[a,l]=c.useState(!1),[u,d]=c.useState(e.type),[p,f]=c.useState(e.title),[m,h]=c.useState(e.content),[x,v]=c.useState(Ju(e.tags)),[b,w]=c.useState(null),y=e.status!=="promoted",j=e.status!=="promoted",k=c.useCallback(()=>{d(e.type),f(e.title),h(e.content),v(Ju(e.tags)),w(null)},[e.content,e.tags,e.title,e.type]),S=c.useCallback(async()=>{const _=p.trim(),N=m.trim(),P=KE(x);if(_.length===0){w("Title is required.");return}if(N.length===0){w("Content is required.");return}if(P.length===0){w("At least one tag is required.");return}w(null),await o(e.id,{type:u,title:_,content:N,tags:P})&&l(!1)},[e.id,m,x,p,u,o]);return a?s.jsx("div",{className:"border border-border bg-card shadow-sm rounded-[8px] px-2.5 py-2",children:s.jsxs("div",{className:"grid gap-2",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("select",{value:u,disabled:n,onChange:_=>{const N=_r.shape.type.safeParse(_.currentTarget.value);N.success&&d(N.data)},className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 rounded-md px-2 text-xs","aria-label":"Candidate type",children:[s.jsx("option",{value:"episode",children:"episode"}),s.jsx("option",{value:"procedure",children:"procedure"}),s.jsx("option",{value:"preference",children:"preference"}),s.jsx("option",{value:"project-fact",children:"project-fact"})]}),s.jsx("input",{value:p,disabled:n,onChange:_=>f(_.currentTarget.value),className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 min-w-[220px] flex-1 rounded-md px-2 text-xs","aria-label":"Candidate title"})]}),s.jsx("textarea",{value:m,disabled:n,onChange:_=>h(_.currentTarget.value),className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground min-h-28 rounded-md px-2 py-1.5 font-mono text-[11px] leading-relaxed","aria-label":"Candidate content"}),s.jsx("input",{value:x,disabled:n,onChange:_=>v(_.currentTarget.value),className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground h-7 rounded-md px-2 text-xs","aria-label":"Candidate tags"}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] text-muted-foreground",children:[s.jsx(ou,{className:"size-3"}),"Saving reruns Inspector redaction before promotion."]}),s.jsx("span",{className:"flex-1"}),b!==null&&s.jsx("span",{className:"text-[10px] text-destructive",children:b}),s.jsxs(ee,{type:"button",variant:"ghost",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:n,onClick:()=>{k(),l(!1)},children:[s.jsx(br,{className:"size-3.5"}),"Cancel"]}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:n,onClick:()=>{S()},children:[n?s.jsx(Bt,{className:"size-3.5 animate-spin"}):s.jsx(Dj,{className:"size-3.5"}),"Save"]})]})]})}):s.jsxs("div",{className:"rounded-md border border-border/80 bg-background/60 px-2.5 py-2",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx(_e,{variant:"outline",className:"h-5 px-1.5 text-[10px] font-mono",children:e.type}),s.jsx("span",{className:"min-w-0 flex-1 truncate text-xs font-medium",title:e.title,children:e.title}),s.jsx(_e,{variant:"outline",className:$("h-5 shrink-0 px-1.5 text-[10px] font-mono",PE[e.status]),children:qE(e.status)})]}),s.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",title:e.content,children:WE(e.content,360)}),s.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-muted-foreground",children:[s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx(Fw,{className:"size-3"}),ZE(e.logIds,i)]}),s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx(ou,{className:"size-3"}),VE(e)]}),e.status==="promoted"&&s.jsxs("span",{className:"inline-flex items-center gap-1 text-emerald-500",children:[s.jsx(Na,{className:"size-3"}),e.openClawMemoryId??"OpenClaw"]}),e.status==="failed"&&e.error!==null&&s.jsxs("span",{className:"inline-flex items-center gap-1 text-destructive",children:[s.jsx(uf,{className:"size-3"}),e.error]})]}),s.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[e.logIds.map(_=>{const N=ws(_,i);return s.jsxs("a",{href:`#${j0(_)}`,onClick:P=>{P.preventDefault(),k0(_)},className:"rounded border border-blue-400/25 px-1.5 py-0.5 font-mono text-[10px] text-blue-400 underline-offset-2 transition-colors hover:bg-blue-400/10 hover:text-blue-300 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":`Jump to evidence log ${N}`,title:`Log ID ${String(_)}`,children:["#",N]},_)}),s.jsx("span",{className:"flex-1"}),j&&s.jsxs(ee,{type:"button",variant:"ghost",size:"sm",className:"h-6 gap-1.5 px-2 text-[10px]",disabled:n||t,onClick:()=>l(!0),children:[s.jsx(gf,{className:"size-3"}),"Review"]}),s.jsxs(ee,{type:"button",variant:y?"outline":"ghost",size:"sm",className:"h-6 gap-1.5 px-2 text-[10px]",onClick:()=>r(e.id),disabled:!y||t||n,children:[t?s.jsx(Bt,{className:"size-3 animate-spin"}):y?s.jsx(ww,{className:"size-3"}):s.jsx(Na,{className:"size-3"}),HE(e,t)]})]})]})}function JE({candidates:e,promotingCandidateIds:t,updatingCandidateIds:n,onPromoteCandidate:r,onUpdateCandidate:o,displayNumberByLogId:i}){return e.length===0?null:s.jsx("div",{className:"mt-2 grid gap-1.5",children:e.map(a=>s.jsx(GE,{candidate:a,isPromoting:t.has(a.id),isUpdating:n.has(a.id),onPromoteCandidate:r,onUpdateCandidate:o,displayNumberByLogId:i},a.id))})}function YE({logs:e,scopeId:t,slowResponseThresholdSeconds:n,showRollupMetrics:r,timeDisplayFormat:o}){const[i,a]=c.useState([]),[l,u]=c.useState(!0),[d,p]=c.useState({status:"idle",error:null}),[f,m]=c.useState(()=>new Set),[h,x]=c.useState(()=>new Set),v=i.length>0,b=c.useMemo(()=>mE(e,n,i.length),[i.length,e,n]),w=c.useMemo(()=>DE(e),[e]),y=c.useMemo(()=>FE({logs:e,scopeId:t,summary:b,candidates:i,displayNumberByLogId:w}),[i,w,e,t,b]),j=r||b.maxElapsedMs!==null,k=c.useMemo(()=>AE(b.startedAt,b.endedAt,o),[b.endedAt,b.startedAt,o]),S=c.useCallback(()=>{e.length===0||d.status==="loading"||(p({status:"loading",error:null}),(async()=>{try{const P=await We(`/api/knowledge/sessions/${encodeURIComponent(t)}/candidates`,NE,RE,{method:"POST"},A=>`Candidate generation failed with ${String(A.status)}`);a(P.candidates),u(P.candidates.length>0),p(P.candidates.length>0?{status:"ready",error:null}:{status:"failed",error:"No candidate was generated for this trace scope."})}catch(P){p({status:"failed",error:P instanceof Error?P.message:"Candidate response was invalid"})}})())},[d.status,e.length,t]),_=c.useCallback(P=>{m(A=>{if(A.has(P))return A;const M=new Set(A);return M.add(P),M}),(async()=>{try{const A=await qn(`/api/knowledge/candidates/${encodeURIComponent(P)}/promote`,ME,{method:"POST"}),M=await A.json().catch(()=>null),C=CE.safeParse(M);if(A.ok&&C.success){a(F=>F.map(U=>U.id===C.data.candidate.id?C.data.candidate:U)),p({status:"ready",error:null});return}const I=TE.safeParse(M);I.success&&I.data.candidate!==void 0&&a(F=>F.map(U=>U.id===I.data.candidate?.id?I.data.candidate:U)),p({status:"failed",error:I.success?I.data.error??"Candidate promotion failed":`Candidate promotion failed with ${String(A.status)}`})}catch(A){p({status:"failed",error:A instanceof Error?A.message:"Candidate promotion failed"})}finally{m(A=>{const M=new Set(A);return M.delete(P),M})}})()},[]),N=c.useCallback(async(P,A)=>{x(M=>{if(M.has(P))return M;const C=new Set(M);return C.add(P),C});try{const M=await We(`/api/knowledge/candidates/${encodeURIComponent(P)}`,EE,IE,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)},C=>`Candidate update failed with ${String(C.status)}`);return a(C=>C.map(I=>I.id===M.candidate.id?M.candidate:I)),p({status:"ready",error:null}),!0}catch(M){return p({status:"failed",error:M instanceof Error?M.message:"Candidate update failed"}),!1}finally{x(M=>{const C=new Set(M);return C.delete(P),C})}},[]);return e.length===0?null:s.jsxs("section",{className:"border border-border bg-card shadow-sm mb-2 rounded-[8px] px-3 py-2",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2 text-xs",children:[r&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 font-semibold text-foreground",children:[s.jsx(Xo,{className:"size-3.5 text-blue-400"}),b.llmCallCount," LLM"]}),s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(gr,{className:"size-3.5 text-sky-400/70"}),b.toolCallCount," tools"]}),r&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(sr,{className:"size-3.5 text-emerald-400"}),s.jsxs("span",{className:"font-mono",children:[Me(b.totalInputTokens)," / ",Me(b.totalOutputTokens)]})]}),(b.totalCacheCreationInputTokens>0||b.totalCacheReadInputTokens>0)&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(sr,{className:"size-3.5 text-purple-400"}),s.jsxs("span",{className:"font-mono",children:["KV Cache +",Me(b.totalCacheCreationInputTokens)," / ~",Me(b.totalCacheReadInputTokens)]})]}),j&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[s.jsx(sn,{className:"size-3.5"}),r&&s.jsx("span",{className:"font-mono",children:nl(b.totalElapsedMs)}),b.maxElapsedMs!==null&&s.jsxs("span",{className:"font-mono text-muted-foreground/70",children:["max ",nl(b.maxElapsedMs)]})]}),r&&k!==null&&s.jsx("span",{className:"font-mono text-muted-foreground/70",children:k}),(b.failedCallCount>0||b.pendingCallCount>0||b.slowCallCount>0)&&s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-amber-400",children:[s.jsx(yn,{className:"size-3.5"}),s.jsxs("span",{className:"font-mono",children:[b.failedCallCount," fail / ",b.pendingCallCount," pending /"," ",b.slowCallCount," slow"]})]}),s.jsx("span",{className:"flex-1"}),v&&s.jsx(_e,{variant:"outline",className:"h-6 px-2 text-[10px] font-mono",children:OE(b.knowledgeCandidateCount)}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:S,disabled:d.status==="loading",children:[d.status==="loading"?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(cf,{className:"size-3.5"}),"Candidate"]}),v&&s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 text-muted-foreground",onClick:()=>u(P=>!P),"aria-expanded":l,"aria-label":l?"Collapse memory candidates":"Expand memory candidates",children:l?s.jsx(tt,{className:"size-3.5"}):s.jsx(vt,{className:"size-3.5"})})]}),d.status==="failed"&&s.jsx("p",{className:"mt-2 text-xs text-destructive",children:d.error}),s.jsx(BE,{insights:y}),l&&s.jsx(JE,{candidates:i,promotingCandidateIds:f,updatingCandidateIds:h,onPromoteCandidate:_,onUpdateCandidate:N,displayNumberByLogId:w})]})}function XE(e){let t=0,n=0;for(const r of e)r.inputTokens!==null&&(t+=r.inputTokens),r.outputTokens!==null&&(n+=r.outputTokens);return{totalInputTokens:t,totalOutputTokens:n}}function QE(e){const t=new Map;for(const n of e){if(n.model===null)continue;const r=WC(n.model);if(r==="unknown")continue;let o=t.get(r);o===void 0&&(o=new Set,t.set(r,o)),o.add(n.model)}return[...t.entries()].map(([n,r])=>({provider:n,models:[...r]}))}function eR(e){for(const t of e){const n=t.clientPid;if(n!=null)return n}return null}function tR(e){for(const t of e){const n=t.clientProjectFolder;if(n!=null&&n!=="")return n}return null}const nR=c.memo(function({group:e,viewMode:t="simple",strip:n,slowResponseThresholdSeconds:r,cacheTrends:o,onCompareWithPrevious:i,comparisonPredecessors:a,onClearGroup:l,showClientIdentity:u=!0,showProcessMetadata:d=!0,showLogClientMetadata:p=!0,defaultExpanded:f=!1,timeDisplayFormat:m,expanded:h,onExpandedChange:x}){const[v,b]=c.useState(f),w=h??v,y=c.useCallback(C=>{if(x!==void 0){x(C);return}b(C)},[x]);c.useEffect(()=>{!f||h!==void 0||b(!0)},[h,f]);const j=c.useMemo(()=>XE(e.logs),[e.logs]),k=c.useMemo(()=>QE(e.logs),[e.logs]),S=e.logs[0]?.timestamp??new Date().toISOString(),_=e.logs[e.logs.length-1]?.timestamp??new Date().toISOString(),N=e.logs.some(C=>C.responseStatus===null),P=c.useMemo(()=>eR(e.logs),[e.logs]),A=c.useMemo(()=>tR(e.logs),[e.logs]),M=c.useMemo(()=>tl(e.logs),[e.logs]);return c.useEffect(()=>{const C=I=>{const F=Si(I);F!==null&&e.logs.some(U=>U.id===F.logId)&&y(!0)};return window.addEventListener(cn,C),()=>{window.removeEventListener(cn,C)}},[e.logs,y]),s.jsxs("div",{className:"mb-1.5",children:[s.jsx(lT,{conversationId:e.conversationId,startTime:S,endTime:_,totalCalls:e.logs.length,totalInputTokens:j.totalInputTokens,totalOutputTokens:j.totalOutputTokens,expanded:w,onToggle:()=>y(!w),providers:k,isLoading:N,userAgent:e.logs[0]?.userAgent??null,clientPid:P,clientProjectFolder:A,showClientIdentity:u,showProcessMetadata:d,timeDisplayFormat:m,onClear:()=>l(e.logs.map(C=>C.id))}),w&&s.jsxs("div",{children:[s.jsx(YE,{logs:e.logs,scopeId:e.conversationId,slowResponseThresholdSeconds:r,showRollupMetrics:!1,timeDisplayFormat:m}),s.jsx(wE,{turnGroups:M,viewMode:t,strip:n,slowResponseThresholdSeconds:r,timeDisplayFormat:m,cacheTrends:o,onCompareWithPrevious:i,comparisonPredecessors:a,showLogClientMetadata:p})]})]})}),sR="flex w-full min-w-0 items-center gap-2 rounded-md border border-border/70 bg-muted/35 px-3 py-2 sm:w-auto sm:max-w-full",rR="m-0 min-w-0 flex-1 overflow-x-auto font-mono text-xs text-foreground sm:text-sm";function oR(e){return e==="full"}function iR(e){return e==="raw"}function aR(e,t){const n=t>0;return{redacted:n,raw:n&&oR(e)}}function lR(e,t){const n=e[0],r=e[e.length-1];return n===void 0||r===void 0?null:Qo(n.timestamp,r.timestamp,t)}function cR(e){return e.error!==null&&e.error!==void 0&&e.error.length>0?!0:e.responseStatus!==null&&e.responseStatus>=400}function uR(e){const t=new Set;for(const r of e)r.model!==null&&r.model.length>0&&t.add(r.model);const n=[...t].sort();return n.length===0?"Model unknown":n.length===1?n[0]??"Model unknown":`${n.length} models`}function dR(e){const t=new Set;for(const r of e)r.providerName!==null&&r.providerName!==void 0&&r.providerName.length>0&&t.add(r.providerName);const n=[...t].sort();return n.length===0?"Provider unknown":n.length===1?n[0]??"Provider unknown":`${n.length} providers`}function pR(e){if(e<1e3)return`${e}ms`;if(e<6e4){const o=e/1e3;return`${o<10?o.toFixed(1):o.toFixed(0)}s`}const t=Math.round(e/1e3),n=Math.floor(t/60),r=t%60;return`${n}m ${r}s`}function fR(e,t){return`${Me(e)} in / ${Me(t)} out`}function mR(e,t){if(e.length===0)return 0;if(t.length===0)return tl(e).length;let n=0;for(const r of t)n+=tl(r.logs).length;return n}function hR({stopReason:e,pending:t,lastFailureLogNumber:n}){if(t>0)return{label:"In flight",detail:`${t} request${t===1?"":"s"} pending`,tone:"cool"};if(n!==null&&e===null)return{label:"Error",detail:`Last failed request #${n}`,tone:"danger"};switch(e){case"end_turn":return{label:"End turn",detail:"Assistant completed the turn",tone:"neutral"};case"stop":return{label:"Stop",detail:"Model reached a stop condition",tone:"neutral"};case"length":return{label:"Output limit",detail:"Turn ended at max output tokens",tone:"watch"};case"tool_use":return{label:"Tool call",detail:"Assistant requested a tool",tone:"cool"};case null:return{label:"Unknown",detail:"No finish reason captured",tone:"neutral"}}}function xR(e){if(e===null)return!1;const t=e.toLowerCase();return t.includes("abort")||t.includes("cancel")||t.includes("client disconnected")||t.includes("stream disconnected")||t.includes("connection closed")}function gR({pending:e,failures:t,lengthStops:n,stopReason:r,lastFailure:o}){if(o!==null&&(o.status===499||xR(o.error)))return{label:"Client aborted",detail:`Request #${o.logNumber} ended before completion`,tone:"watch"};if(e>0)return{label:"In flight",detail:`${e} request${e===1?"":"s"} still running`,tone:"cool"};if(o!==null&&o.status!==null&&o.status>=500)return{label:"Provider error",detail:`Request #${o.logNumber} returned HTTP ${o.status}`,tone:"danger"};if(t>0&&o!==null)return{label:"Failed",detail:`Request #${o.logNumber} needs attention`,tone:"danger"};if(n>0||r==="length")return{label:"Output limited",detail:"Model stopped at the output token limit",tone:"watch"};switch(r){case"end_turn":case"stop":return{label:"Completed",detail:"Assistant completed normally",tone:"neutral"};case"tool_use":return{label:"Tool requested",detail:"Assistant handed off to a tool",tone:"cool"};case null:return{label:"Unknown",detail:"No terminal signal captured",tone:"neutral"}}}function bR({logs:e,conversationGroups:t,isLoading:n,timeDisplayFormat:r,slowResponseThresholdSeconds:o}){let i=0,a=0,l=0,u=0,d=0,p=0,f=null,m=null,h=null,x=null,v=null,b=0,w=0,y=0,j=null;const k=o*1e3;for(let A=0;A<e.length;A+=1){const M=e[A];if(M===void 0)continue;const C=A+1,I=a0(M);I!==null&&(f=I),I==="length"&&(u+=1),cR(M)&&(i+=1,m=C,h={logNumber:C,status:M.responseStatus,error:M.error??null}),M.responseStatus===null&&(a+=1),o>0&&M.elapsedMs!==null&&M.elapsedMs>=k&&(l+=1),M.inputTokens!==null&&(d+=M.inputTokens),M.outputTokens!==null&&(p+=M.outputTokens),M.elapsedMs!==null&&(x===null||M.elapsedMs>x)&&(x=M.elapsedMs,v=C);const F=M.inputTokens??0,U=M.outputTokens??0,Y=F+U;Y>b&&(b=Y,w=F,y=U,j=C)}const S=n||a>0&&i===0?"rolling":i>0?"failed":l>0||u>0?"watch":"clear",_=S==="rolling"?"Rolling":S==="failed"?"Failure":S==="watch"?"Watch":"Clear",N=hR({stopReason:f,pending:a,lastFailureLogNumber:m}),P=gR({pending:a,failures:i,lengthStops:u,stopReason:f,lastFailure:h});return{status:S,statusLabel:_,modelLabel:uR(e),providerLabel:dR(e),requests:e.length,turns:mR(e,t),failures:i,pending:a,slow:l,lengthStops:u,timeRange:lR(e,r),tokenLabel:`${Me(d)} in / ${Me(p)} out`,finishLabel:N.label,finishDetail:N.detail,finishTone:N.tone,outcomeLabel:P.label,outcomeDetail:P.detail,outcomeTone:P.tone,slowestLabel:x===null?"n/a":pR(x),slowestDetail:v===null?"Latency pending":`Request #${v}`,heaviestDetail:j===null?"Tokens pending":`#${j} ${fR(w,y)}`}}function vR({pinnedSessionId:e,selectedSession:t,sessions:n,logs:r}){if(e!==void 0){const a=r.filter(l=>l.sessionId===e);return a.length===0?null:{label:e,logs:a,showBackLink:!0}}if(t!=="__all__"){const a=r.filter(l=>l.sessionId===t);return a.length===0?null:{label:t,logs:a,showBackLink:!0}}const o=n.length===1?n[0]??null:null;return o!==null&&r.every(l=>l.sessionId===o)?{label:o,logs:[...r],showBackLink:!1}:n.length===0&&r.length>0&&r.every(a=>a.sessionId===null)?{label:"Visible requests",logs:[...r],showBackLink:!1}:null}function yR({logs:e,pagination:t}){if(t.isLoading&&e.length===0)return"Loading logs...";if(e.length===0)return"No logs on this page";const n=e[0],r=e[e.length-1],o=n===void 0||r===void 0?"Current page":`#${n.id}-#${r.id}`;return t.total===null?`Showing ${e.length} logs (${o})`:t.total<=e.length?`Showing all ${t.total} logs`:`Showing ${e.length} of ${t.total} logs (${o})`}function cr({...e}){return s.jsx(Jm,{"data-slot":"select",...e})}function zo({...e}){return s.jsx(eh,{"data-slot":"select-value",...e})}function ur({className:e,size:t="default",children:n,...r}){return s.jsxs(Xm,{"data-slot":"select-trigger","data-size":t,className:$("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[n,s.jsx(th,{asChild:!0,children:s.jsx(tt,{className:"size-4 opacity-50"})})]})}function dr({className:e,children:t,position:n="popper",align:r="center",...o}){return s.jsx(sh,{children:s.jsxs(rh,{"data-slot":"select-content",className:$("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,align:r,...o,children:[s.jsx(wR,{}),s.jsx(ch,{className:$("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),s.jsx(jR,{})]})})}function ct({className:e,children:t,...n}){return s.jsxs(fh,{"data-slot":"select-item",className:$("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[s.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:s.jsx(xh,{children:s.jsx(Ge,{className:"size-4"})})}),s.jsx(mh,{children:t})]})}function wR({className:e,...t}){return s.jsx(gh,{"data-slot":"select-scroll-up-button",className:$("flex cursor-default items-center justify-center py-1",e),...t,children:s.jsx(Al,{className:"size-4"})})}function jR({className:e,...t}){return s.jsx(bh,{"data-slot":"select-scroll-down-button",className:$("flex cursor-default items-center justify-center py-1",e),...t,children:s.jsx(tt,{className:"size-4"})})}const kR=fe(["critical","warning","notice"]),SR=fe(["open"]),_R=fe(["proxy","tool-schema","run","group"]),S0=fe(["request-failure","request-timeout","slow-response","tool-schema","run-failure","group-failure","group-incomplete"]),NR=fe(["log","session","run","group"]),CR=fe(["anthropic","openai","unknown"]),TR=T({kind:NR,id:g(),label:g(),href:g().nullable()}),ER=T({id:g(),fingerprint:g(),severity:kR,category:S0,source:_R,status:SR,title:g(),message:g(),count:R().int().positive(),firstSeenAt:g(),lastSeenAt:g(),logIds:W(R().int().positive()),sessionIds:W(g()),runIds:W(g()),groupIds:W(g()),provider:g().nullable(),model:g().nullable(),apiFormat:CR.nullable(),evidence:W(TR),metadata:Ke(g(),et)}),RR=T({category:S0,count:R().int().nonnegative()}),_0=T({total:R().int().nonnegative(),open:R().int().nonnegative(),critical:R().int().nonnegative(),warning:R().int().nonnegative(),notice:R().int().nonnegative(),byCategory:W(RR)}),MR=T({alerts:W(ER),total:R().int().nonnegative(),limit:R().int().positive(),summary:_0}),IR=8e3,PR=1e4;function AR(e){const t=new URLSearchParams;e.severity!==void 0&&t.set("severity",e.severity),e.category!==void 0&&t.set("category",e.category),e.source!==void 0&&t.set("source",e.source),e.limit!==void 0&&t.set("limit",String(e.limit));const n=t.toString();return n.length>0?`/api/alerts?${n}`:"/api/alerts"}function OR(e,t){const n=Ut(t?AR(e):null,r=>We(r,MR,PR));return{alerts:n.data?.alerts??[],total:n.data?.total??0,summary:n.data?.summary??null,isLoading:n.isLoading,error:n.error,mutate:n.mutate}}function zR(){const e=Ut("/api/alerts/summary",t=>We(t,_0,IR),{refreshInterval:5e3,revalidateOnFocus:!0});return{summary:e.data??null,isLoading:e.isLoading,error:e.error,mutate:e.mutate}}const Nr="relative size-8 rounded-md border-0 bg-white/[0.035] text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:bg-white/[0.065] hover:text-accent-foreground focus-visible:ring-ring/50",LR=["request-failure","request-timeout","slow-response","tool-schema","run-failure","group-failure","group-incomplete"];function N0(e){switch(e){case"critical":return"Critical";case"warning":return"Warning";case"notice":return"Notice"}}function $R(e){switch(e){case"proxy":return"Proxy";case"tool-schema":return"Tool schema";case"run":return"Run";case"group":return"Group"}}function yc(e){switch(e){case"request-failure":return"Request failure";case"request-timeout":return"Timeout";case"slow-response":return"Slow response";case"tool-schema":return"Tool calling";case"run-failure":return"Run failure";case"group-failure":return"Group failure";case"group-incomplete":return"Group incomplete"}}function DR(e){switch(e){case"critical":return"border-red-400/40 bg-red-500/12 text-red-100";case"warning":return"border-amber-300/35 bg-amber-400/12 text-amber-100";case"notice":return"border-sky-300/35 bg-sky-400/12 text-sky-100"}}function FR(e){switch(e){case"critical":return"bg-red-400";case"warning":return"bg-amber-300";case"notice":return"bg-sky-300"}}function UR(e){switch(e){case"critical":return"text-red-200";case"warning":return"text-amber-100";case"notice":return"text-sky-100"}}function BR(e){switch(e){case"request-failure":case"run-failure":case"group-failure":return s.jsx(Yj,{className:"size-3.5"});case"request-timeout":case"slow-response":return s.jsx(bw,{className:"size-3.5"});case"tool-schema":return s.jsx(yn,{className:"size-3.5"});case"group-incomplete":return s.jsx(Uy,{className:"size-3.5"})}}function sl(e){const t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(void 0,{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).format(new Date(t)):e}function gt(e){return e.toLocaleString()}function C0(e){return e.provider!==null&&e.model!==null?`${e.provider} / ${e.model}`:e.provider!==null?e.provider:e.model!==null?e.model:"Unknown target"}function qR(e,t){const n={limit:100};return e!=="all"&&(n.severity=e),t!=="all"&&(n.category=t),n}function HR(e,t){if(t!==null){const n=e.find(r=>r.id===t);if(n!==void 0)return n}return e[0]??null}function Vr({label:e,count:t,tone:n}){const r=n==="critical"?"border-red-400/30 bg-red-500/10 text-red-100":n==="warning"?"border-amber-300/30 bg-amber-400/10 text-amber-100":n==="notice"?"border-sky-300/30 bg-sky-400/10 text-sky-100":"border-border bg-muted/40 text-foreground";return s.jsxs("div",{className:$("rounded-md border px-3 py-2",r),children:[s.jsx("div",{className:"text-[10px] font-semibold uppercase opacity-75",children:e}),s.jsx("div",{className:"mt-1 text-lg font-semibold leading-none",children:gt(t)})]})}function Wr({value:e,active:t,label:n,count:r,onClick:o}){return s.jsxs(ee,{type:"button",variant:t?"secondary":"ghost",size:"sm","aria-pressed":t,onClick:()=>o(e),className:"h-7 px-2",children:[n,r!==null?s.jsx(_e,{variant:"outline",children:gt(r)}):null]})}function VR({category:e,active:t,count:n,onClick:r}){return s.jsxs(ee,{type:"button",variant:t?"secondary":"ghost",size:"sm","aria-pressed":t,onClick:()=>r(e),className:"h-7 px-2",children:[BR(e),yc(e),s.jsx(_e,{variant:"outline",children:gt(n)})]})}function WR({alerts:e,selectedAlertId:t,isLoading:n,error:r,onSelect:o}){return n?s.jsxs("div",{className:"flex min-h-56 items-center justify-center rounded-md border border-dashed border-border text-xs text-muted-foreground",children:[s.jsx(He,{className:"mr-2 size-3.5 animate-spin"}),"Loading alerts..."]}):r!==void 0?s.jsx("div",{className:"rounded-md border border-red-300/30 bg-red-500/10 px-3 py-2 text-xs text-red-100",children:r.message}):e.length===0?s.jsx("div",{className:"flex min-h-56 items-center justify-center rounded-md border border-dashed border-border px-4 text-center text-xs text-muted-foreground",children:"No alerts match the current filters."}):s.jsx("div",{className:"min-h-0 space-y-2 overflow-y-auto pr-1",children:e.map(i=>{const a=i.id===t;return s.jsxs("button",{type:"button",onClick:()=>o(i.id),className:$("w-full rounded-md border px-3 py-3 text-left transition-colors",a?"border-primary/60 bg-primary/12":"border-border bg-background/70 hover:border-primary/30 hover:bg-muted/60"),children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("span",{className:$("size-2 rounded-full",FR(i.severity))}),s.jsx("span",{className:$("text-xs font-semibold",UR(i.severity)),children:N0(i.severity)}),s.jsx("span",{className:"truncate text-xs text-muted-foreground",children:yc(i.category)})]}),s.jsx("div",{className:"mt-1 text-sm font-semibold leading-snug",children:i.title}),s.jsx("div",{className:"mt-1 line-clamp-2 text-xs text-muted-foreground",children:i.message})]}),i.count>1?s.jsxs(_e,{variant:"outline",className:"shrink-0",children:["x",gt(i.count)]}):null]}),s.jsxs("div",{className:"mt-2 flex min-w-0 items-start justify-between gap-2 text-[11px] text-muted-foreground",children:[s.jsx("span",{className:"min-w-0 leading-snug",children:C0(i)}),s.jsx("span",{className:"shrink-0",children:sl(i.lastSeenAt)})]})]},i.id)})})}function ZR({alert:e,onNavigate:t}){return e.evidence.length===0?s.jsx("span",{className:"text-xs text-muted-foreground",children:"No linked evidence"}):s.jsx("div",{className:"flex flex-wrap gap-2",children:e.evidence.map(n=>n.href===null?s.jsx(_e,{variant:"outline",children:n.label},`${n.kind}:${n.id}`):s.jsx(_e,{variant:"outline",asChild:!0,children:s.jsx("a",{href:n.href,onClick:t,children:n.label})},`${n.kind}:${n.id}`))})}function KR({alert:e,onNavigate:t}){return e===null?s.jsx("div",{className:"flex min-h-56 items-center justify-center rounded-md border border-dashed border-border px-4 text-center text-xs text-muted-foreground",children:"Select an alert to inspect its evidence."}):s.jsxs("div",{className:"min-h-0 overflow-y-auto rounded-md border border-border bg-background/70",children:[s.jsx("div",{className:$("border-b px-4 py-3",DR(e.severity)),children:s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx(_e,{variant:"outline",children:N0(e.severity)}),s.jsx(_e,{variant:"outline",children:$R(e.source)}),s.jsx(_e,{variant:"outline",children:yc(e.category)})]}),s.jsx("h3",{className:"mt-3 text-base font-semibold",children:e.title}),s.jsx("p",{className:"mt-1 text-sm opacity-85",children:e.message})]}),e.count>1?s.jsxs(_e,{variant:"outline",className:"shrink-0",children:[gt(e.count)," hits"]}):null]})}),s.jsxs("div",{className:"space-y-4 p-4",children:[s.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[s.jsx(dn,{label:"Target",value:C0(e)}),s.jsx(dn,{label:"Last seen",value:sl(e.lastSeenAt)}),s.jsx(dn,{label:"First seen",value:sl(e.firstSeenAt)}),s.jsx(dn,{label:"Protocol",value:e.apiFormat??"n/a"})]}),s.jsxs("div",{children:[s.jsx("div",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:"Evidence"}),s.jsx(ZR,{alert:e,onNavigate:t})]}),s.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[s.jsx(dn,{label:"Logs",value:e.logIds.length===0?"n/a":gt(e.logIds.length)}),s.jsx(dn,{label:"Sessions",value:e.sessionIds.length===0?"n/a":gt(e.sessionIds.length)}),s.jsx(dn,{label:"Runs",value:e.runIds.length===0?"n/a":gt(e.runIds.length)}),s.jsx(dn,{label:"Groups",value:e.groupIds.length===0?"n/a":gt(e.groupIds.length)})]})]})]})}function dn({label:e,value:t}){return s.jsxs("div",{className:"rounded-md border border-border bg-muted/30 px-3 py-2",children:[s.jsx("div",{className:"text-[10px] font-semibold uppercase text-muted-foreground",children:e}),s.jsx("div",{className:"mt-1 truncate font-mono text-[11px] text-foreground",children:t})]})}function GR(){const[e,t]=c.useState(!1),[n,r]=c.useState("all"),[o,i]=c.useState("all"),[a,l]=c.useState(null),{summary:u,isLoading:d}=zR(),p=c.useMemo(()=>qR(n,o),[o,n]),{alerts:f,total:m,isLoading:h,error:x,mutate:v}=OR(p,e),b=c.useMemo(()=>HR(f,a),[f,a]);c.useEffect(()=>{!e||a!==null&&f.some(N=>N.id===a)||l(f[0]?.id??null)},[f,e,a]);const w=u?.total??0,y=u?.critical??0,j=u?.warning??0,k=u?.notice??0,S=y>0?"bg-red-600 text-white":j>0?"bg-amber-400 text-zinc-950":"bg-sky-400 text-zinc-950";return s.jsxs(Wt,{open:e,onOpenChange:t,children:[s.jsx(jr,{asChild:!0,children:s.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Nr,"aria-label":"Alerts",title:"Alerts",children:[s.jsx(Ca,{className:"size-4"}),d?s.jsx(He,{className:"absolute -right-0.5 -top-0.5 size-3 animate-spin text-muted-foreground"}):w>0?s.jsx("span",{className:$("absolute -right-1 -top-1 min-w-4 rounded-full px-1 text-[10px] font-semibold leading-4",S),children:gt(w)}):null,s.jsx("span",{className:"sr-only",children:"Alerts"})]})}),s.jsxs(Zt,{className:"flex max-h-[86vh] max-w-6xl flex-col overflow-hidden",children:[s.jsxs(Yt,{children:[s.jsxs(Xt,{className:"flex items-center gap-2 pr-8",children:[s.jsx(Ca,{className:"size-5 text-red-300"}),s.jsx("span",{children:"Alerts"}),s.jsx(_e,{variant:"outline",children:gt(w)})]}),s.jsx(kr,{className:"sr-only",children:"Local alert board for captured Inspector evidence."})]}),s.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[s.jsx(Vr,{label:"Open",count:u?.open??0,tone:"neutral"}),s.jsx(Vr,{label:"Critical",count:y,tone:"critical"}),s.jsx(Vr,{label:"Warning",count:j,tone:"warning"}),s.jsx(Vr,{label:"Notice",count:k,tone:"notice"})]}),s.jsxs("div",{className:"flex min-h-0 flex-wrap items-center justify-between gap-2 border-y border-border py-3",children:[s.jsxs("div",{className:"flex flex-wrap gap-1",children:[s.jsx(Wr,{value:"all",active:n==="all",label:"All",count:u?.total??null,onClick:r}),s.jsx(Wr,{value:"critical",active:n==="critical",label:"Critical",count:y,onClick:r}),s.jsx(Wr,{value:"warning",active:n==="warning",label:"Warning",count:j,onClick:r}),s.jsx(Wr,{value:"notice",active:n==="notice",label:"Notice",count:k,onClick:r})]}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"h-7 shrink-0 px-2",onClick:()=>{v()},children:[s.jsx(Bt,{className:"size-3.5"}),"Refresh"]})]}),s.jsxs("div",{className:"flex flex-wrap gap-1",children:[s.jsx(ee,{type:"button",variant:o==="all"?"secondary":"ghost",size:"sm","aria-pressed":o==="all",onClick:()=>i("all"),className:"h-7 px-2",children:"All categories"}),LR.map(_=>{const N=u?.byCategory.find(P=>P.category===_)?.count??0;return N===0?null:s.jsx(VR,{category:_,active:o===_,count:N,onClick:i},_)})]}),s.jsxs("div",{className:"grid min-h-0 flex-1 gap-4 md:grid-cols-[360px_minmax(0,1fr)]",children:[s.jsxs("div",{className:"flex min-h-0 flex-col",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs text-muted-foreground",children:[s.jsxs("span",{children:[gt(m)," matched"]}),s.jsx("span",{children:f.length<m?`${gt(f.length)} shown`:"Latest"})]}),s.jsx(WR,{alerts:f,selectedAlertId:b?.id??null,isLoading:h,error:x,onSelect:l})]}),s.jsx(KR,{alert:b,onNavigate:()=>t(!1)})]})]})]})}const JR=12e3;function YR(e){return e===null||e.evidence===null?null:`/api/groups/${encodeURIComponent(e.id)}/evidence`}function XR(e){const t=Ut(YR(e),n=>We(n,hy,JR));return{evidenceResponse:t.data??null,isLoading:t.isLoading,error:t.error,mutate:t.mutate}}const QR=8e3;function eM(){const e=Ut("/api/groups",t=>We(t,of,QR));return{groups:e.data?.groups??[],isLoading:e.isLoading,error:e.error,mutate:e.mutate}}const tM=3e3;function nM(e,t){return{id:(e?.id??0)+1,message:t.message,tone:t.tone??"error"}}function T0(){const[e,t]=c.useState(null),n=c.useCallback(o=>{t(i=>nM(i,o))},[]),r=c.useCallback(()=>{t(null)},[]);return c.useEffect(()=>{if(e===null)return;const o=window.setTimeout(()=>{t(null)},tM);return()=>{window.clearTimeout(o)}},[e]),{notice:e,showToast:n,dismissToast:r}}function E0({notice:e,onDismiss:t}){if(e===null)return null;const n=e.tone==="error",r=n?yn:Na;return s.jsx("div",{"aria-atomic":"true","aria-live":"polite",className:"pointer-events-none fixed top-4 right-4 z-[100] w-[min(calc(100vw-2rem),26rem)]",role:"status",children:s.jsxs("div",{className:$("pointer-events-auto flex items-start gap-2 rounded-md border bg-popover/95 px-3 py-2 text-sm text-popover-foreground shadow-[0_18px_50px_color-mix(in_oklch,var(--foreground)_16%,transparent)] backdrop-blur",n?"border-status-danger/35":"border-status-success/35"),children:[s.jsx(r,{className:$("mt-0.5 size-4 shrink-0",n?"text-status-danger":"text-status-success")}),s.jsx("div",{className:"min-w-0 flex-1 break-words leading-5",children:e.message}),s.jsx("button",{type:"button",className:"inline-flex size-6 shrink-0 items-center justify-center rounded-md text-current/70 transition-colors hover:bg-white/10 hover:text-current focus-visible:ring-1 focus-visible:ring-current focus-visible:outline-none","aria-label":"Dismiss notification",onClick:t,children:s.jsx(br,{className:"size-3.5"})})]},e.id)})}const sa=2e4;function sM(e,t){const n=`/api/groups/${encodeURIComponent(e)}`;return t?`${n}?deleteEvidence=1`:n}function rM(e){return"/api/groups"}function R0(e){let t=0,n=0,r=0,o=0;for(const i of e.members)switch(i.status){case"completed":t+=1;break;case"failed":case"cancelled":n+=1;break;case"running":r+=1;break;case"created":break;case null:o+=1;break}return{memberCount:e.members.length,completedMembers:t,failedMembers:n,runningMembers:r,missingStatusMembers:o}}function oM(e,t,n=null){return t!==null&&t.group.id===e.id?t.members.map(r=>({member:r.member,exportMember:r,source:"export"})):n!==null&&n.group.id===e.id&&n.members!==null?n.members.map(r=>({member:r.member,exportMember:r,source:"evidence"})):e.members.map(r=>({member:r,exportMember:null,source:"group"}))}function wc(e){switch(e){case"completed":return"border-emerald-200 bg-emerald-50 text-emerald-700";case"failed":case"cancelled":return"border-red-200 bg-red-50 text-red-700";case"running":return"border-sky-200 bg-sky-50 text-sky-700";case"created":return"border-zinc-200 bg-zinc-50 text-zinc-600";case null:return"border-zinc-200 bg-zinc-50 text-zinc-500"}}function jc(e){return e??"unknown"}function iM(e){switch(e){case"PASS":return"border-emerald-200 bg-emerald-50 text-emerald-700";case"FAIL":return"border-red-200 bg-red-50 text-red-700";case"RUNNING":return"border-sky-200 bg-sky-50 text-sky-700";case"UNKNOWN":return"border-zinc-200 bg-zinc-50 text-zinc-600"}}function _i(e){return e===null||e.trim().length===0?"-":e}function xt(e){return e.toLocaleString()}function rl(e){return e==null?"-":e<1e3?`${xt(e)} ms`:`${(e/1e3).toFixed(1)} s`}function Ps(e){const t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(void 0,{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).format(new Date(t)):e}function Yu(e){return e===null?"-":Ps(e)}function aM(e){const t=JSON.stringify(e),n=t===void 0?String(e):t;return n.length<=160?n:`${n.slice(0,157)}...`}function M0(...e){for(const t of e)if(t!==null&&t.trim().length>0)return t;return"-"}function lM(...e){for(const t of e)if(t!=null&&t.trim().length>0)return t;return null}function cM(e){const t=e.provider,n=e.model;return t!==null&&t.length>0&&n!==null&&n.length>0?`${t} / ${n}`:M0(t,n)}function uM(e,t){if(t!==null){const n=e.find(r=>r.id===t);if(n!==void 0)return n}return e[0]??null}function dM(e){return(e.exportMember?.session?.latestLogs??[])[0]??null}function pM(e){switch(e){case"export":return"fresh export";case"evidence":return"evidence";case"group":return"group"}}function fM(e,t){return t!==null&&t.group.id===e.id?t.evidence:e.evidence}function mM(e,t,n){return t!==null&&t.group.id===e.id?t.summary:n!==null&&n.group.id===e.id?n.summary:null}function hM(e,t,n){return t!==null&&t.group.id===e.id?t.jenkinsReport:n!==null&&n.group.id===e.id?n.report:null}function xM(){const[e,t]=c.useState(!1),[n,r]=c.useState(null),[o,i]=c.useState(null),[a,l]=c.useState(null),[u,d]=c.useState(null),[p,f]=c.useState(null),[m,h]=c.useState(!1),[x,v]=c.useState(null),[b,w]=c.useState(null),[y,j]=c.useState(!1),{notice:k,showToast:S,dismissToast:_}=T0(),{groups:N,isLoading:P,error:A,mutate:M}=eM(),C=c.useMemo(()=>uM(N,n),[N,n]);c.useEffect(()=>{!e||n!==null&&N.some(D=>D.id===n)||r(N[0]?.id??null)},[N,e,n]);const I=C!==null&&u!==null&&u.group.id===C.id?u:null,{evidenceResponse:F,isLoading:U,error:Y,mutate:Z}=XR(C),V=c.useCallback(()=>{M()},[M]),H=c.useCallback(async()=>{if(!(N.length===0||y)){j(!0),f(null),h(!1),w(null),l(null);try{const oe=await We(rM(!1),nf,sa,{method:"DELETE"},D=>`Clear failed with status ${String(D.status)}`);d(null),r(null),await M(),await Z(),S({message:`Cleared ${xt(oe.deleted)} group${oe.deleted===1?"":"s"}.`,tone:"success"})}catch(oe){S({message:oe instanceof Error?oe.message:"Unknown error clearing groups",tone:"error"})}finally{j(!1)}}},[y,N.length,M,Z,S]),z=c.useCallback(async oe=>{i(oe.id),l(null);try{const D=await We(`/api/groups/${encodeURIComponent(oe.id)}/evidence`,xy,sa,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({latestLogLimit:10})},je=>`Export failed with status ${String(je.status)}`);d(D),await M(),await Z()}catch(D){l(D instanceof Error?D.message:String(D))}finally{i(null)}},[M,Z]),X=c.useCallback(oe=>{f(oe),h(!1),w(null)},[]),J=c.useCallback(()=>{x===null&&(f(null),h(!1),w(null))},[x]),be=c.useCallback(oe=>{r(oe),f(null),h(!1),w(null)},[]),ve=c.useCallback(async()=>{const oe=p;if(oe!==null){v(oe.id),w(null);try{await We(sM(oe.id,m),tf,sa,{method:"DELETE"},D=>`Delete failed with status ${String(D.status)}`),d(D=>D!==null&&D.group.id===oe.id?null:D),r(D=>D===oe.id?null:D),f(null),h(!1),await M(),await Z()}catch(D){w(D instanceof Error?D.message:String(D))}finally{v(null)}}},[m,p,M,Z]);return s.jsxs(Wt,{open:e,onOpenChange:t,children:[s.jsx(E0,{notice:k,onDismiss:_}),s.jsx(jr,{asChild:!0,children:s.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Nr,"aria-label":"Evaluation groups",title:"Evaluation groups",children:[s.jsx(nu,{className:"size-4"}),P?s.jsx(He,{className:"absolute -right-0.5 -top-0.5 size-3 animate-spin text-muted-foreground"}):N.length>0?s.jsx("span",{className:"absolute -right-1 -top-1 min-w-4 rounded-full bg-primary px-1 text-[10px] leading-4 text-primary-foreground",children:N.length}):null,s.jsx("span",{className:"sr-only",children:"Evaluation groups"})]})}),s.jsxs(Zt,{className:"flex max-h-[85vh] max-w-5xl flex-col overflow-hidden",children:[s.jsx(Yt,{children:s.jsxs(Xt,{className:"flex items-center gap-2 pr-8",children:[s.jsx(nu,{className:"size-5 text-muted-foreground"}),s.jsx("span",{children:"Groups"}),s.jsx(_e,{variant:"outline",children:xt(N.length)})]})}),s.jsxs("div",{className:"flex min-h-0 items-center justify-between gap-3 border-b border-border pb-3",children:[s.jsx("p",{className:"text-xs text-muted-foreground",children:"Evaluation batches, model runs, and exported evidence packs."}),s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsxs(ee,{type:"button",variant:"outline",size:"sm",disabled:N.length===0||y,onClick:()=>{H()},title:"Clear all groups. Session logs and run records stay intact.",children:[y?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(wn,{className:"size-3.5"}),"Clear"]}),s.jsxs(ee,{type:"button",variant:"outline",size:"sm",onClick:V,children:[s.jsx(Bt,{className:"size-3.5"}),"Refresh"]})]})]}),s.jsxs("div",{className:"grid min-h-0 flex-1 gap-4 md:grid-cols-[260px_minmax(0,1fr)]",children:[s.jsx(gM,{groups:N,selectedGroupId:C?.id??null,isLoading:P,error:A,onSelect:be}),s.jsx(bM,{group:C,deleteTarget:p,deleteEvidence:m,exportResult:I,evidenceResponse:F,evidenceLoading:U,evidenceError:Y,exportError:a,deleteError:b,exportingGroupId:o,deletingGroupId:x,onDeleteEvidenceChange:h,onExport:z,onRequestDelete:X,onCancelDelete:J,onConfirmDelete:()=>{ve()}})]})]})]})}function gM({groups:e,selectedGroupId:t,isLoading:n,error:r,onSelect:o}){return n?s.jsx("div",{className:"flex min-h-48 items-center justify-center rounded-md border border-dashed border-border text-xs text-muted-foreground",children:"Loading groups..."}):r!==void 0?s.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:r.message}):e.length===0?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-8 text-center text-xs text-muted-foreground",children:"No groups yet."}):s.jsx("div",{className:"min-h-0 overflow-y-auto pr-1",children:s.jsx("div",{className:"space-y-2",children:e.map(i=>{const a=R0(i),l=t===i.id;return s.jsxs("button",{type:"button",onClick:()=>o(i.id),className:$("w-full rounded-md border px-3 py-2 text-left text-xs transition-colors",l?"border-primary bg-primary/5":"border-border bg-background hover:bg-muted/50"),children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[s.jsx("span",{className:"min-w-0 text-sm font-medium leading-snug",children:i.title}),s.jsx(_e,{variant:"outline",className:wc(i.status),children:jc(i.status)})]}),s.jsxs("div",{className:"mt-1 flex items-center gap-2 text-muted-foreground",children:[s.jsxs("span",{children:[a.memberCount," sessions"]}),s.jsx("span",{children:Ps(i.updatedAt)})]})]},i.id)})})})}function bM({group:e,deleteTarget:t,deleteEvidence:n,exportResult:r,evidenceResponse:o,evidenceLoading:i,evidenceError:a,exportError:l,deleteError:u,exportingGroupId:d,deletingGroupId:p,onDeleteEvidenceChange:f,onExport:m,onRequestDelete:h,onCancelDelete:x,onConfirmDelete:v}){if(e===null)return s.jsx("div",{className:"flex min-h-48 items-center justify-center rounded-md border border-dashed border-border text-xs text-muted-foreground",children:"Select a group to inspect."});const b=R0(e),w=mM(e,r,o),y=hM(e,r,o),j=fM(e,r),k=oM(e,r,o),S=d===e.id,_=p===e.id,N=t?.id===e.id;return s.jsx("div",{className:"min-h-0 overflow-y-auto pr-1",children:s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex min-w-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[s.jsxs("div",{className:"min-w-0 space-y-1",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[s.jsx("h3",{className:"min-w-0 text-base font-semibold leading-snug",children:e.title}),s.jsx(_e,{variant:"outline",className:wc(e.status),children:jc(e.status)}),s.jsx(_e,{variant:"outline",children:e.kind})]}),s.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[s.jsx("span",{children:_i(e.project)}),s.jsxs("span",{children:["updated ",Ps(e.updatedAt)]})]})]}),s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsx(ee,{type:"button",variant:"outline",size:"icon",className:"size-8 text-red-600 hover:text-red-700","aria-label":"Delete group",title:"Delete group",disabled:_,onClick:()=>h(e),children:_?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(wn,{className:"size-3.5"})}),s.jsxs(ee,{type:"button",variant:"default",size:"sm",className:"shrink-0",disabled:S||_,onClick:()=>{m(e)},children:[S?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(xr,{className:"size-3.5"}),"Export evidence"]})]})]}),e.task!==null&&e.task.trim().length>0&&s.jsx("p",{className:"rounded-md border border-border bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:e.task}),N&&s.jsx(vM,{group:e,deleteEvidence:n,isDeleting:_,error:u,onDeleteEvidenceChange:f,onCancel:x,onConfirm:v}),s.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[s.jsx(pn,{label:"Members",value:b.memberCount}),s.jsx(pn,{label:"Done",value:b.completedMembers}),s.jsx(pn,{label:"Failed",value:b.failedMembers}),s.jsx(pn,{label:"Running",value:b.runningMembers})]}),w!==null&&s.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[s.jsx(pn,{label:"Requests",value:w.requestCount}),s.jsx(pn,{label:"Errors",value:w.errorCount}),s.jsx(pn,{label:"Tokens",value:w.tokenUsage.total}),s.jsx(pn,{label:"Missing",value:w.missingSessions})]}),s.jsx(yM,{report:y,loading:i,error:a,hasEvidence:j!==null}),s.jsx(wM,{evidence:j}),l!==null&&s.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:l}),u!==null&&!N&&s.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:u}),s.jsx(jM,{rows:k})]})})}function vM({group:e,deleteEvidence:t,isDeleting:n,error:r,onDeleteEvidenceChange:o,onCancel:i,onConfirm:a}){const l=e.evidence!==null,u=e.evidence?.markdownPath??"No evidence pack exported.";return s.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-3 text-red-900",children:s.jsxs("div",{className:"flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[s.jsxs("div",{className:"min-w-0 space-y-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-sm font-semibold",children:[s.jsx(wn,{className:"size-4 text-red-600"}),s.jsx("span",{children:"Delete group?"})]}),s.jsxs("p",{className:"text-xs text-red-800",children:["Delete ",s.jsx("span",{className:"font-medium",children:e.title}),". Session logs and run records stay intact."]}),s.jsxs("label",{className:$("flex min-w-0 items-start gap-2 text-xs",l?"cursor-pointer":"opacity-60"),children:[s.jsx("input",{type:"checkbox",className:"mt-0.5 size-4 shrink-0",checked:t,disabled:!l||n,onChange:d=>o(d.currentTarget.checked)}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block font-medium",children:"Also delete exported evidence files"}),s.jsx("code",{className:"mt-1 block truncate font-mono text-[11px] text-red-700",children:u})]})]}),r!==null&&s.jsx("div",{className:"rounded-md border border-red-200 bg-white px-2 py-1.5 text-xs text-red-700",children:r})]}),s.jsxs("div",{className:"flex shrink-0 justify-end gap-2",children:[s.jsx(ee,{type:"button",variant:"outline",size:"sm",disabled:n,onClick:i,children:"Cancel"}),s.jsxs(ee,{type:"button",variant:"destructive",size:"sm",disabled:n,onClick:a,children:[n?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(wn,{className:"size-3.5"}),"Delete"]})]})]})})}function pn({label:e,value:t}){return s.jsxs("div",{className:"rounded-md border border-border bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"text-[11px] font-medium uppercase text-muted-foreground",children:e}),s.jsx("div",{className:"mt-1 font-mono text-sm font-semibold",children:xt(t)})]})}function yM({report:e,loading:t,error:n,hasEvidence:r}){const{copied:o,copy:i}=bn(e?.markdown??null);return e===null&&!t&&n===void 0?null:t?s.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:[s.jsx(He,{className:"size-3.5 animate-spin"}),"Loading evidence report..."]}):n!==void 0&&r?s.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:["Failed to load evidence report: ",n.message]}):e===null?null:s.jsxs("div",{className:"rounded-md border border-border bg-muted/20 px-3 py-2",children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("span",{className:"text-xs font-semibold",children:"Evidence report"}),s.jsx(_e,{variant:"outline",className:iM(e.status),children:e.status})]}),s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0","aria-label":o?"Copied evidence report":"Copy evidence report",onClick:i,children:o?s.jsx(Ge,{className:"size-3.5 text-emerald-500"}):s.jsx(zt,{className:"size-3.5"})})]}),s.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:e.summary})]})}function wM({evidence:e}){return e===null?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-2 text-xs text-muted-foreground",children:"No evidence pack exported yet."}):s.jsxs("div",{className:"space-y-2 rounded-md border border-border bg-muted/20 px-3 py-2",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsx("span",{className:"text-xs font-semibold",children:"Evidence paths"}),s.jsx("span",{className:"text-[11px] text-muted-foreground",children:Ps(e.exportedAt)})]}),s.jsxs("div",{className:"grid gap-2",children:[s.jsx(ra,{label:"JSON",value:e.jsonPath}),s.jsx(ra,{label:"Markdown",value:e.markdownPath}),s.jsx(ra,{label:"HTML",value:e.htmlPath})]})]})}function ra({label:e,value:t}){const{copied:n,copy:r}=bn(t);return s.jsxs("div",{className:"flex min-w-0 items-center gap-2 rounded-md border border-border bg-background px-2 py-1.5",children:[s.jsx("span",{className:"w-16 shrink-0 text-[11px] font-medium text-muted-foreground",children:e}),s.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:t}),s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0","aria-label":n?`Copied ${e} path`:`Copy ${e} path`,onClick:r,children:n?s.jsx(Ge,{className:"size-3.5 text-emerald-500"}):s.jsx(zt,{className:"size-3.5"})})]})}function jM({rows:e}){const[t,n]=c.useState(null),r=c.useCallback(o=>{n(i=>i===o?null:o)},[]);return e.length===0?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-8 text-center text-xs text-muted-foreground",children:"No sessions attached."}):s.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[s.jsx("div",{className:"border-b border-border bg-muted/30 px-3 py-2 text-xs font-semibold",children:"Members"}),s.jsx("div",{className:"overflow-x-auto",children:s.jsxs("table",{className:"w-full min-w-[760px] text-left text-xs",children:[s.jsx("thead",{className:"border-b border-border bg-muted/20 text-muted-foreground",children:s.jsxs("tr",{children:[s.jsx("th",{className:"px-3 py-2 font-medium",children:"Session"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Provider / Model"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Status"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Requests"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Errors"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"First chunk"}),s.jsx("th",{className:"px-3 py-2 font-medium",children:"Tokens"})]})}),s.jsx("tbody",{children:e.map(o=>{const i=t===o.member.id;return s.jsxs(c.Fragment,{children:[s.jsx(kM,{row:o,isExpanded:i,onToggleDetails:r}),s.jsx(SM,{row:o,isExpanded:i})]},o.member.id)})})]})})]})}function kM({row:e,isExpanded:t,onToggleDetails:n}){const r=e.member,o=e.exportMember?.session??null,i=dM(e),a=o?.inspectorPath??ep(r.sessionId),l=e.source!=="evidence",u=o?.requestCount??null,d=o?.errorCount??null,p=o?.tokenUsage.total??null,f=i?.firstChunkMs??null,m=M0(r.label,r.sessionId),h=lM(o?.clientUserAgent,i?.userAgent,r.agent),x=o?.clientProjectFolder??null,v=cc({userAgent:h,conversationId:r.sessionId,clientProjectFolder:x}),b=yi(v);return s.jsxs("tr",{className:"border-b border-border last:border-0 hover:bg-muted/20",children:[s.jsxs("td",{className:"max-w-56 px-3 py-2",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0 text-muted-foreground","aria-label":t?`Hide member ${m}`:`Show member ${m}`,title:t?"Hide member details":"Show member details",onClick:()=>{n(r.id)},children:t?s.jsx(tt,{className:"size-3.5"}):s.jsx(vt,{className:"size-3.5"})}),b!==null&&s.jsx(wi,{client:v,className:"size-5"}),l?s.jsxs("a",{href:a,target:"_blank",rel:"noreferrer",className:"inline-flex max-w-full min-w-0 items-center gap-2 rounded-sm font-mono text-xs text-primary outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","aria-label":`Open session ${m}`,title:`Open session ${m}`,children:[s.jsx("span",{className:"min-w-0 truncate",children:m}),s.jsx(Ol,{className:"size-3 shrink-0 text-muted-foreground"})]}):s.jsxs("button",{type:"button",className:"inline-flex max-w-full min-w-0 items-center gap-2 rounded-sm font-mono text-xs text-foreground outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",title:`Show evidence snapshot for ${m}`,"aria-label":`Show evidence snapshot for ${m}`,onClick:()=>{n(r.id)},children:[s.jsx("span",{className:"min-w-0 truncate",children:m}),s.jsx(_e,{variant:"outline",className:"shrink-0 border-zinc-200 bg-zinc-50 text-zinc-600",children:"evidence"})]})]}),s.jsx("div",{className:"mt-0.5 truncate text-[11px] text-muted-foreground",children:_i(r.agent)})]}),s.jsx("td",{className:"max-w-52 px-3 py-2",children:s.jsx("span",{className:"block whitespace-normal leading-snug",children:cM(r)})}),s.jsx("td",{className:"px-3 py-2",children:s.jsx(_e,{variant:"outline",className:wc(r.status),children:jc(r.status)})}),s.jsx("td",{className:"px-3 py-2 font-mono",children:u===null?"-":xt(u)}),s.jsx("td",{className:"px-3 py-2 font-mono",children:d===null?"-":xt(d)}),s.jsx("td",{className:"px-3 py-2 font-mono",children:rl(f)}),s.jsx("td",{className:"px-3 py-2 font-mono",children:p===null?"-":xt(p)})]})}function SM({row:e,isExpanded:t}){if(!t)return null;const n=e.member,r=e.exportMember,o=r?.session??null,i=r?.run??null,a=Object.entries(n.metadata);return s.jsx("tr",{className:"border-b border-border bg-muted/10",children:s.jsx("td",{colSpan:7,className:"px-3 pb-4 pt-2",children:s.jsxs("div",{className:"space-y-3 rounded-md border border-border bg-background p-3",children:[s.jsxs("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-4",children:[s.jsx(nt,{label:"Source",value:pM(e.source)}),s.jsx(nt,{label:"Member ID",value:n.id,mono:!0}),s.jsx(nt,{label:"Session ID",value:n.sessionId,mono:!0}),s.jsx(nt,{label:"Run ID",value:i?.id??n.runId??"-",mono:!0}),s.jsx(nt,{label:"Created",value:Ps(n.addedAt)}),s.jsx(nt,{label:"Updated",value:Ps(n.updatedAt)}),s.jsx(nt,{label:"Session created",value:Yu(o?.createdAt??null)}),s.jsx(nt,{label:"Session updated",value:Yu(o?.updatedAt??null)})]}),o===null?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-2 text-xs text-muted-foreground",children:"No session snapshot is available for this member."}):s.jsxs("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-4",children:[s.jsx(nt,{label:"Log coverage",value:o.logCoverage}),s.jsx(nt,{label:"Runtime",value:_i(o.runtimeMode)}),s.jsx(nt,{label:"Requests",value:xt(o.requestCount),mono:!0}),s.jsx(nt,{label:"Errors",value:xt(o.errorCount),mono:!0}),s.jsx(nt,{label:"Input tokens",value:xt(o.tokenUsage.input),mono:!0}),s.jsx(nt,{label:"Output tokens",value:xt(o.tokenUsage.output),mono:!0}),s.jsx(nt,{label:"Cache read",value:xt(o.tokenUsage.cacheRead),mono:!0}),s.jsx(nt,{label:"Total tokens",value:xt(o.tokenUsage.total),mono:!0})]}),s.jsx(_M,{logs:o?.latestLogs??[]}),s.jsx(NM,{entries:a})]})})})}function nt({label:e,value:t,mono:n=!1}){return s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:e}),s.jsx("div",{className:$("truncate text-xs text-foreground",n?"font-mono":""),title:t,children:t})]})}function _M({logs:e}){const t=e.slice(0,5);return t.length===0?s.jsx("div",{className:"rounded-md border border-dashed border-border px-3 py-2 text-xs text-muted-foreground",children:"No latest logs in this snapshot."}):s.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[s.jsx("div",{className:"border-b border-border bg-muted/30 px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Latest logs"}),s.jsx("div",{className:"divide-y divide-border",children:t.map(n=>{const r=n.sessionLogNumber??n.id;return s.jsxs("div",{className:"grid gap-2 px-3 py-2 text-xs sm:grid-cols-[72px_1fr_88px_88px]",children:[s.jsxs("span",{className:"font-mono text-muted-foreground",title:`Log ID ${String(n.id)}`,children:["#",r]}),s.jsxs("span",{className:"min-w-0 truncate",children:[_i(n.model)," · ",n.apiFormat," · ",n.path]}),s.jsx("span",{className:"font-mono text-muted-foreground",children:rl(n.firstChunkMs)}),s.jsx("span",{className:"font-mono text-muted-foreground",children:rl(n.latencyMs)})]},n.id)})})]})}function NM({entries:e}){return e.length===0?null:s.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[s.jsx("div",{className:"border-b border-border bg-muted/30 px-3 py-2 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Metadata"}),s.jsx("div",{className:"grid gap-x-3 gap-y-2 p-3 text-xs sm:grid-cols-2",children:e.map(([t,n])=>{const r=aM(n);return s.jsxs("div",{className:"min-w-0",children:[s.jsx("span",{className:"mr-2 text-muted-foreground",children:t}),s.jsx("span",{className:"font-mono text-foreground",title:r,children:r})]},t)})})]})}const CM=T({selectionId:g().uuid(),name:g(),apiKeyHint:g(),format:fe(["anthropic","openai"]),anthropicBaseUrl:g(),openaiBaseUrl:g(),openaiResponsesBaseUrl:g().optional().default(""),models:W(g()),sourceTool:fe(["claude-code","opencode","mimo-code"]),alreadyExists:Ce()}),TM=T({scanId:g().uuid(),providers:W(CM),warnings:W(g()).optional()});T({scanId:g().uuid(),selectionIds:W(g().uuid()).min(1).max(100)});const EM=T({success:Ce().optional(),imported:R().optional(),message:g().optional(),errors:W(g()).optional()}),Xu=2e4;function RM({open:e,onOpenChange:t,onImportComplete:n}){const[r,o]=c.useState(!1),[i,a]=c.useState(null),[l,u]=c.useState(null),[d,p]=c.useState([]),[f,m]=c.useState([]),[h,x]=c.useState(new Set),[v,b]=c.useState(!1),[w,y]=c.useState(null),[j,k]=c.useState(null),S=c.useRef(0),_=c.useRef(0),N=c.useCallback(()=>{const C=S.current+1;S.current=C,o(!0),a(null),m([]),u(null),p([]),x(new Set),y(null),k(null),We("/api/providers/scan",TM,Xu,{method:"POST"},I=>`Scan failed (${String(I.status)})`).then(I=>{if(S.current!==C)return;u(I.scanId),p(I.providers),m(I.warnings??[]);const F=new Set;I.providers.forEach((U,Y)=>{U.alreadyExists||F.add(Y)}),x(F)}).catch(I=>{S.current===C&&a(I instanceof Error?I.message:String(I))}).finally(()=>{S.current===C&&o(!1)})},[]);c.useEffect(()=>{e&&N()},[e,N]),c.useEffect(()=>{e||(S.current+=1,_.current+=1,o(!1),b(!1))},[e]);const P=c.useCallback(C=>{x(I=>{const F=new Set(I);return F.has(C)?F.delete(C):F.add(C),F})},[]),A=c.useCallback(()=>{const C=d.filter((F,U)=>h.has(U));if(C.length===0||l===null)return;const I=_.current+1;_.current=I,b(!0),k(null),y(null),We("/api/providers/import",EM,Xu,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({scanId:l,selectionIds:C.map(F=>F.selectionId)})},F=>`Import failed (${String(F.status)})`).then(F=>{_.current===I&&(p(U=>U.map((Y,Z)=>h.has(Z)?{...Y,alreadyExists:!0}:Y)),x(new Set),F.errors!==void 0&&F.errors.length>0&&F.message!==void 0?y(F.message):y(`Imported ${F.imported??C.length} provider(s)`),n())}).catch(F=>{_.current===I&&k(F instanceof Error?F.message:String(F))}).finally(()=>{_.current===I&&b(!1)})},[d,l,h,n]),M=d.some(C=>!C.alreadyExists);return s.jsx(Wt,{open:e,onOpenChange:t,children:s.jsxs(Zt,{className:"max-w-xl max-h-[80vh] overflow-hidden flex flex-col",children:[s.jsxs(Yt,{children:[s.jsx(Xt,{children:"Import from External Tools"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Detect provider configurations from Claude Code, OpenCode, and MiMo Code."})]}),s.jsxs("div",{className:"flex-1 overflow-y-auto space-y-3",children:[r&&s.jsxs("div",{className:"flex items-center justify-center py-8 gap-2 text-muted-foreground",children:[s.jsx(He,{className:"size-4 animate-spin"}),s.jsx("span",{className:"text-sm",children:"Scanning for external providers..."})]}),i!==null&&s.jsxs("div",{className:"flex items-center gap-2 text-destructive text-sm py-4",children:[s.jsx(Ns,{className:"size-4"}),i]}),!r&&i===null&&d.length===0&&s.jsxs("p",{className:"text-sm text-muted-foreground py-8 text-center",children:["No external provider configurations found.",s.jsx("br",{}),s.jsx("span",{className:"text-xs",children:"Supported tools: Claude Code (~/.claude/settings.json), OpenCode (~/.config/opencode/opencode.json), MiMo Code (~/.config/mimocode/mimocode.jsonc)"})]}),!r&&d.map((C,I)=>s.jsxs("label",{className:`flex items-start gap-3 p-3 border rounded-md ${C.alreadyExists?"":"cursor-pointer hover:bg-muted/50"}`,children:[!C.alreadyExists&&s.jsx("input",{type:"checkbox",checked:h.has(I),disabled:v,onChange:()=>P(I),className:"mt-0.5 size-4"}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(wi,{client:C.sourceTool,className:"size-7 rounded-[8px]"}),C.alreadyExists&&s.jsx("span",{className:"text-[10px] text-muted-foreground",children:"Already added"})]}),s.jsxs("div",{className:"mt-1 text-xs leading-snug text-muted-foreground",children:[C.models.slice(0,4).join(", "),C.models.length>4?` +${C.models.length-4} more`:""]}),s.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:C.format==="anthropic"?C.anthropicBaseUrl:C.openaiResponsesBaseUrl!==""?C.openaiResponsesBaseUrl:C.openaiBaseUrl}),s.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:C.apiKeyHint})]})]},C.selectionId)),f.length>0&&s.jsx("div",{className:"text-xs text-muted-foreground space-y-1 border-t pt-2",children:f.map((C,I)=>s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(Ns,{className:"size-3"}),C]},I))}),w!==null&&s.jsx("div",{className:"text-sm text-green-500 border-t pt-2",children:w}),j!==null&&s.jsx("div",{className:"text-sm text-destructive border-t pt-2",children:j})]}),s.jsxs("div",{className:"flex items-center justify-between pt-3 border-t",children:[s.jsxs(ee,{variant:"outline",size:"sm",onClick:N,disabled:r,children:[s.jsx(He,{className:`size-3 mr-1 ${r?"animate-spin":""}`}),"Rescan"]}),s.jsxs(ee,{size:"sm",onClick:A,disabled:!M||h.size===0||v,children:[s.jsx(xr,{className:"size-3 mr-1"}),v?"Importing...":`Import Selected (${h.size})`]})]})]})})}const I0=T({id:g().min(1).max(Ia),aliases:W(g().max(Ia)).max(Hn).optional().default([]),contextWindow:R().int().positive().optional(),outputLimit:R().int().positive().optional(),sourceUrl:g().optional()}),MM=T({name:g().min(1).optional(),aliases:W(g()).max(Hn).optional().default([]),baseUrls:W(g()).max(Hn).optional().default([]),models:W(I0).min(1).max(Hn)});T({version:R().int().positive().optional(),updatedAt:g().optional(),providers:W(MM).max(Hn).optional().default([]),models:W(I0).max(Hn).optional().default([])});function Qu(e){return e.trim().toLowerCase().replace(/\s+/g,"-")}function IM(e){const t=e.models.filter(n=>n.trim()!=="");return t.length>0?t:e.model!==void 0&&e.model.trim()!==""?[e.model]:[]}function kc(e,t){const n=Qu(t);return(e.modelMetadata??[]).find(o=>Qu(o.model)===n)??null}function PM(e){const t=IM(e);return t.length===0?!1:t.every(n=>{const r=kc(e,n);return r!==null&&r.contextWindow!==void 0})}function AM(e,t){if(e===null)return null;for(const n of t){const r=kc(n,e);if(r!==null&&r.contextWindow!==void 0)return{providerName:n.name,model:r.model,tokens:r.contextWindow,sourceUrl:r.sourceUrl}}return null}function pr(e){return Object.prototype.hasOwnProperty.call(e,"success")}function Ni(e){return Object.prototype.hasOwnProperty.call(e,"notConfigured")}function kt(e){return e!==void 0&&e!==""}function it(e){return e!==void 0&&e.trim()!==""}function js(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function P0(e){return e>=10?`${e.toFixed(0)}/s`:`${e.toFixed(1)}/s`}function A0(e){switch(e){case"timeout":return"Timeout";case"network_unreachable":return"Offline";case"connection_refused":return"Refused";case"auth_failed":return"Auth";case"rate_limited":return"Rate limit";case"server_error":return"Server";case"invalid_response":return"Invalid";case"unknown":return"Failed"}}function OM(e){return e.firstChunkMs!==void 0&&e.firstChunkMs!==null?js(e.firstChunkMs):e.latencyMs!==void 0?js(e.latencyMs):e.totalStreamMs!==void 0&&e.totalStreamMs!==null?js(e.totalStreamMs):e.tokensPerSecond!==void 0&&e.tokensPerSecond!==null&&e.tokensPerSecond>0?P0(e.tokensPerSecond):null}function zM(e){return Ni(e)?{tone:"quiet",label:"N/A",metric:null,hasDetails:!1}:pr(e)?e.success?{tone:"success",label:"Pass",metric:OM(e),hasDetails:!0}:{tone:"failure",label:A0(e.error?.type??"unknown"),metric:null,hasDetails:!0}:{tone:"pending",label:"Running",metric:null,hasDetails:!1}}function LM(e,t){if(t===void 0)return[];const n=[];return kt(e.anthropicBaseUrl)&&n.push(t.anthropic),kt(e.openaiBaseUrl)&&n.push(t.openaiChat),kt(e.openaiResponsesBaseUrl)&&n.push(t.openaiResponses),n}function $M(e,t){const n={total:0,passed:0,failed:0,testing:0};for(const r of LM(e,t))for(const o of[r.nonStreaming,r.streaming])Ni(o)||(n.total+=1,pr(o)?o.success?n.passed+=1:n.failed+=1:n.testing+=1);return n}function ed(e){if(e===void 0)return;const t=Object.entries(e).map(([n,r])=>`${n}: ${r}`);return t.length===0?void 0:t.join(`
|
|
124
|
+
`)}function fn({title:e,children:t}){return s.jsxs("section",{className:"space-y-1.5",children:[s.jsx("h4",{className:"text-xs font-medium text-foreground/80",children:e}),t]})}function zn({value:e}){return s.jsx("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/40 p-3 font-mono text-[11px] leading-relaxed text-foreground/80",children:e})}function Ln({label:e,value:t}){return s.jsxs("div",{className:"min-w-0 rounded-md bg-muted/35 px-3 py-2",children:[s.jsx("dt",{className:"text-[10px] text-muted-foreground",children:e}),s.jsx("dd",{className:"mt-1 truncate font-mono text-xs font-semibold text-foreground",title:t,children:t})]})}function DM({result:e}){const t=e.inputTokens!==void 0||e.outputTokens!==void 0,n=e.cacheCreationInputTokens!==void 0||e.cacheReadInputTokens!==void 0;return it(e.model)||t||n||e.latencyMs!==void 0||e.firstChunkMs!==void 0&&e.firstChunkMs!==null||e.totalStreamMs!==void 0&&e.totalStreamMs!==null||e.tokensPerSecond!==void 0&&e.tokensPerSecond!==null&&e.tokensPerSecond>0?s.jsxs("dl",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4",children:[it(e.model)&&s.jsx(Ln,{label:"Model",value:e.model}),e.latencyMs!==void 0&&s.jsx(Ln,{label:"Latency",value:js(e.latencyMs)}),e.firstChunkMs!==void 0&&e.firstChunkMs!==null&&s.jsx(Ln,{label:"First chunk",value:js(e.firstChunkMs)}),e.totalStreamMs!==void 0&&e.totalStreamMs!==null&&s.jsx(Ln,{label:"Stream total",value:js(e.totalStreamMs)}),e.tokensPerSecond!==void 0&&e.tokensPerSecond!==null&&e.tokensPerSecond>0&&s.jsx(Ln,{label:"Token rate",value:`${P0(e.tokensPerSecond)} tok`}),t&&s.jsx(Ln,{label:"Tokens in / out",value:`${String(e.inputTokens??0)} / ${String(e.outputTokens??0)}`}),n&&s.jsx(Ln,{label:"Cache create / read",value:`${String(e.cacheCreationInputTokens??0)} / ${String(e.cacheReadInputTokens??0)}`})]}):null}function FM({result:e}){const t=e.debug,n=t?.requestUrl,r=t?.requestMethod??"POST",o=ed(t?.requestHeaders),i=ed(t?.responseHeaders),a=t?.responseStatus===void 0?void 0:`${String(t.responseStatus)}${it(t.responseStatusText)?` ${t.responseStatusText}`:""}`,l=t?.responseBody??e.rawResponse;return it(e.error?.hint)||it(e.error?.details)||it(n)||o!==void 0||it(t?.requestBody)||it(a)||i!==void 0||it(l)?s.jsxs("div",{className:"space-y-4 border-t border-border/70 pt-4 text-xs text-muted-foreground",children:[it(e.error?.hint)&&s.jsx(fn,{title:"Hint",children:s.jsx("p",{className:"break-words text-foreground/80",children:e.error.hint})}),it(e.error?.details)&&s.jsx(fn,{title:"Error details",children:s.jsx(zn,{value:e.error.details})}),it(n)&&s.jsx(fn,{title:"Request",children:s.jsx(zn,{value:`${r} ${n}`})}),o!==void 0&&s.jsx(fn,{title:"Request headers",children:s.jsx(zn,{value:o})}),it(t?.requestBody)&&s.jsx(fn,{title:"Request body",children:s.jsx(zn,{value:t.requestBody})}),it(a)&&s.jsx(fn,{title:"Response status",children:s.jsx(zn,{value:a})}),i!==void 0&&s.jsx(fn,{title:"Response headers",children:s.jsx(zn,{value:i})}),it(l)&&s.jsx(fn,{title:"Response body",children:s.jsx(zn,{value:l})})]}):null}function UM({result:e,probeLabel:t,children:n}){const r=e.error?.message??"Connection failed";return s.jsxs(Wt,{children:[s.jsx(jr,{asChild:!0,children:n}),s.jsxs(Zt,{className:"max-h-[82vh] max-w-2xl gap-0 overflow-hidden p-0",children:[s.jsxs(Yt,{className:"border-b border-border/70 px-5 py-4 pr-12",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[e.success?s.jsx(hr,{className:"size-4 text-cyan-300"}):s.jsx(Ns,{className:"size-4 text-red-300"}),s.jsx(Xt,{className:"text-base",children:t})]}),s.jsx(kr,{children:e.success?"Connection probe passed.":r})]}),s.jsxs("div",{className:"space-y-4 overflow-y-auto p-5",children:[!e.success&&s.jsxs("div",{className:"rounded-md border border-red-400/20 bg-red-400/[0.06] px-3 py-2 text-sm text-red-200",children:[s.jsx("div",{className:"font-medium",children:A0(e.error?.type??"unknown")}),s.jsx("div",{className:"mt-1 break-words text-xs text-muted-foreground",children:r})]}),s.jsx(DM,{result:e}),s.jsx(FM,{result:e})]})]})]})}function BM(e){const t="size-3 shrink-0";switch(e){case"timeout":return s.jsx(sn,{className:t});case"network_unreachable":return s.jsx(u5,{className:t});case"connection_refused":return s.jsx(p5,{className:t});case"auth_failed":return s.jsx(ij,{className:t});case"rate_limited":return s.jsx(zl,{className:t});case"server_error":return s.jsx(Zj,{className:t});case"invalid_response":return s.jsx(dw,{className:t});case"unknown":return s.jsx(Ns,{className:t})}}const qM={success:"bg-cyan-300/[0.07] text-cyan-100 hover:bg-cyan-300/[0.11]",failure:"bg-red-400/[0.07] text-red-200 hover:bg-red-400/[0.11]",pending:"bg-muted/40 text-foreground/80",quiet:"bg-transparent text-muted-foreground/70"};function td({result:e,probeLabel:t}){const n=zM(e),r=Ni(e)?s.jsx(xf,{className:"size-3 shrink-0"}):pr(e)?e.success?s.jsx(hr,{className:"size-3 shrink-0"}):BM(e.error?.type??"unknown"):s.jsx(jo,{className:"size-3 shrink-0 animate-spin"}),o=s.jsxs(s.Fragment,{children:[r,s.jsx("span",{className:"min-w-0 truncate",children:n.label}),n.metric!==null&&s.jsx("span",{className:"ml-auto shrink-0 font-mono text-[10px] opacity-75",children:n.metric})]}),i=$("inline-flex h-7 w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-left text-xs transition-colors",qM[n.tone]);return pr(e)&&n.hasDetails?s.jsx(UM,{result:e,probeLabel:t,children:s.jsx("button",{type:"button",className:i,"aria-label":`Open ${t} result: ${n.label}`,children:o})}):s.jsx("div",{className:i,children:o})}function nd({label:e}){return s.jsxs("div",{className:"inline-flex h-7 w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-xs text-muted-foreground/70",children:[s.jsx(xf,{className:"size-3 shrink-0"}),s.jsx("span",{className:"truncate",children:e})]})}function oa({label:e,results:t,configured:n=!0}){return s.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(6.5rem,1fr)_minmax(6rem,0.9fr)_minmax(6rem,0.9fr)] items-center gap-2 border-t border-border/60 px-2 py-2",children:[s.jsx("div",{className:"min-w-0 truncate text-xs font-medium text-foreground/85",title:e,children:e}),n&&t!==void 0?s.jsx(td,{result:t.nonStreaming,probeLabel:`${e} non-stream`}):s.jsx(nd,{label:n?"Not tested":"Off"}),n&&t!==void 0?s.jsx(td,{result:t.streaming,probeLabel:`${e} stream`}):s.jsx(nd,{label:n?"Not tested":"Off"})]})}function O0({provider:e,results:t}){const n=kt(e.anthropicBaseUrl),r=kt(e.openaiBaseUrl),o=kt(e.openaiResponsesBaseUrl);return!n&&!r&&!o?s.jsx("div",{className:"text-xs text-muted-foreground",children:"No testable endpoint configured."}):s.jsx("div",{className:"min-w-0 overflow-x-auto rounded-md border border-border/70",children:s.jsxs("div",{className:"min-w-[20rem]",children:[s.jsxs("div",{className:"grid grid-cols-[minmax(6.5rem,1fr)_minmax(6rem,0.9fr)_minmax(6rem,0.9fr)] gap-2 bg-muted/25 px-2 py-1.5 text-[10px] text-muted-foreground",children:[s.jsx("span",{children:"Protocol"}),s.jsx("span",{children:"Non-stream"}),s.jsx("span",{children:"Stream"})]}),n&&s.jsx(oa,{label:"Anthropic",results:t?.anthropic}),r&&s.jsx(oa,{label:"OpenAI Chat",results:t?.openaiChat}),s.jsx(oa,{label:"OpenAI Responses",results:t?.openaiResponses,configured:o})]})})}function HM(e){const t={total:0,passed:0,failed:0,testing:0};for(const n of[e.nonStreaming,e.streaming])Ni(n)||(t.total+=1,pr(n)?n.success?t.passed+=1:t.failed+=1:t.testing+=1);return t}function ia({label:e,results:t}){const n=HM(t),r=n.failed>0?"border-red-400/20 bg-red-400/[0.06] text-red-200":n.testing>0?"border-amber-300/20 bg-amber-300/[0.06] text-amber-100":n.total>0&&n.passed===n.total?"border-cyan-300/20 bg-cyan-300/[0.06] text-cyan-100":"border-border/60 bg-transparent text-muted-foreground",o=n.failed>0?`${n.failed} fail`:n.testing>0?"running":n.total===0?"off":`${n.passed}/${n.total}`;return s.jsxs("span",{className:$("rounded border px-1.5 py-0.5 text-[10px]",r),children:[e," ",o]})}function VM({provider:e,modelName:t,results:n,expanded:r,onToggle:o}){return s.jsxs("div",{className:"min-w-0",children:[s.jsxs("button",{type:"button",onClick:o,className:"flex w-full min-w-0 flex-wrap items-center gap-2 px-2 py-2 text-left transition-colors hover:bg-muted/20","aria-expanded":r,children:[r?s.jsx(tt,{className:"size-3.5 shrink-0 text-muted-foreground"}):s.jsx(vt,{className:"size-3.5 shrink-0 text-muted-foreground"}),s.jsx("span",{className:"min-w-[8rem] flex-1 truncate text-xs font-medium",title:t,children:t}),s.jsxs("span",{className:"flex flex-wrap items-center justify-end gap-1",children:[kt(e.anthropicBaseUrl)&&s.jsx(ia,{label:"A",results:n.anthropic}),kt(e.openaiBaseUrl)&&s.jsx(ia,{label:"Chat",results:n.openaiChat}),kt(e.openaiResponsesBaseUrl)&&s.jsx(ia,{label:"Resp",results:n.openaiResponses})]})]}),r&&s.jsx("div",{className:"px-2 pb-3",children:s.jsx(O0,{provider:e,results:n})})]})}function WM({provider:e,testResults:t}){const n=Object.entries(t.models??{}),[r,o]=c.useState(!1),[i,a]=c.useState(null);return n.length===0?null:s.jsxs("section",{className:"space-y-2",children:[s.jsxs("button",{type:"button",onClick:()=>o(l=>!l),className:"flex w-full items-center gap-1.5 text-left text-xs font-medium text-foreground/80 transition-colors hover:text-foreground","aria-expanded":r,children:[r?s.jsx(tt,{className:"size-3.5"}):s.jsx(vt,{className:"size-3.5"}),"Model probes",s.jsx("span",{className:"rounded bg-muted/50 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:n.length})]}),r&&s.jsx("div",{className:"min-w-0 divide-y divide-border/60 rounded-md border border-border/70",children:n.map(([l,u])=>s.jsx(VM,{provider:e,modelName:l,results:u,expanded:i===l,onToggle:()=>a(d=>d===l?null:l)},l))})]})}function ZM({provider:e,testResults:t,isTesting:n}){const r=kt(e.anthropicBaseUrl)||kt(e.openaiBaseUrl)||kt(e.openaiResponsesBaseUrl),o=$M(e,t);return n?s.jsxs("span",{className:"inline-flex items-center gap-1 rounded border border-cyan-300/25 bg-cyan-300/[0.08] px-2 py-1 text-xs text-cyan-100",children:[s.jsx(jo,{className:"size-3 animate-spin"}),"Testing"]}):r?t===void 0||o.total===0?s.jsx("span",{className:"rounded border border-border/70 bg-muted/20 px-2 py-1 text-xs text-muted-foreground",children:"Not tested"}):o.failed>0?s.jsxs("span",{className:"inline-flex items-center gap-1 rounded border border-red-400/25 bg-red-500/[0.08] px-2 py-1 text-xs text-red-200",children:[s.jsx(Ns,{className:"size-3"}),o.failed," failed"]}):o.testing>0||o.passed<o.total?s.jsxs("span",{className:"rounded border border-amber-300/25 bg-amber-400/[0.08] px-2 py-1 text-xs text-amber-100",children:[o.passed,"/",o.total]}):s.jsxs("span",{className:"inline-flex items-center gap-1 rounded border border-cyan-300/25 bg-cyan-300/[0.08] px-2 py-1 text-xs text-cyan-100",children:[s.jsx(hr,{className:"size-3"}),o.passed,"/",o.total]}):s.jsx("span",{className:"rounded border border-border/70 bg-muted/20 px-2 py-1 text-xs text-muted-foreground",children:"No endpoint"})}const KM={deepseek:"https://api-docs.deepseek.com/zh-cn/"};function aa(e){return e!==void 0&&e!==""}function la({label:e}){return s.jsxs("span",{className:"inline-flex items-center gap-1 rounded border border-border/70 bg-muted/25 px-1.5 py-0.5 text-foreground/80",children:[s.jsx(hr,{className:"size-3"}),e]})}function GM({provider:e}){const t=aa(e.anthropicBaseUrl),n=aa(e.openaiBaseUrl),r=aa(e.openaiResponsesBaseUrl);return!t&&!n&&!r?s.jsx("div",{className:"text-xs text-muted-foreground",children:"Test requires at least one configured endpoint."}):s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5 text-xs text-muted-foreground",children:[t&&s.jsx(la,{label:"Anthropic"}),n&&s.jsx(la,{label:"OpenAI Chat"}),r&&s.jsx(la,{label:"OpenAI Responses"})]})}function JM(e){const t=e.models??[];if(t.length===0)return"No models configured";const n=t.slice(0,2).join(", "),r=t.length-2;return r>0?`${n} +${r} more`:n}function YM({provider:e,model:t}){const n=kc(e,t),r=QM(n?.sourceUrl);return s.jsxs("span",{className:"inline-flex items-center gap-1 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:[s.jsx("span",{children:t}),n!==null&&n.contextWindow!==void 0&&s.jsx("span",{className:"font-mono text-foreground/80",children:np(n.contextWindow)}),r!==null&&s.jsx($s,{children:s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsx("a",{href:r.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 rounded border border-border/70 bg-background/70 px-1 font-mono text-[10px] leading-4 text-muted-foreground transition-colors hover:text-foreground","aria-label":r.title,children:r.label})}),s.jsx(mt,{children:r.title})]})})]})}function XM(e){const t=Date.now(),n=new Date(e).getTime(),r=t-n,o=Math.floor(r/1e3);if(o<60)return"just now";const i=Math.floor(o/60);if(i<60)return`${i}m ago`;const a=Math.floor(i/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function QM(e){if(e===void 0||e.trim()==="")return null;try{const t=new URL(e);if(t.protocol!=="https:"&&t.protocol!=="http:")return null;const n=t.hostname.toLowerCase(),r=n==="huggingface.co"||n.endsWith(".huggingface.co");return{label:r?"HF":"Source",title:r?"Open Hugging Face model source":"Open model metadata source",url:e}}catch{return null}}function eI({provider:e,testResults:t,isTesting:n,testingTimeLeft:r,isHighlighted:o,onEdit:i,onDelete:a,onTest:l,onRefreshMetadata:u,isRefreshingMetadata:d=!1}){const[p,f]=c.useState(!1),m=e.apiDocsUrl??Object.entries(KM).find(([y])=>e.name.toLowerCase().includes(y))?.[1],h=PM(e),x=e.modelMetadataUrl!==void 0&&e.modelMetadataUrl.trim()!=="",v=x?"Refresh":"Import defaults",b=n??!1,w=e.source==="company"?s.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"}):e.source==="personal"?s.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;return s.jsxs("div",{"data-provider-id":e.id,className:`flex flex-col gap-3 rounded-[8px] border border-border bg-card p-4 shadow-sm transition-all duration-500 ${o===!0?"ring-2 ring-primary shadow-md":""}`,children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[s.jsxs("div",{className:"min-w-0 space-y-1",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[s.jsx("span",{className:"font-medium leading-snug",children:e.name}),w]}),s.jsx("div",{className:"text-xs leading-snug text-muted-foreground",children:JM(e)})]}),s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[s.jsx(ZM,{provider:e,testResults:t,isTesting:b}),m!==void 0&&s.jsxs("a",{href:m,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground",title:"View API documentation",children:[s.jsx(Ol,{className:"size-3"}),s.jsx("span",{className:"sr-only",children:"Docs"})]})]})]}),s.jsxs("div",{className:"flex flex-col gap-2 text-xs text-muted-foreground sm:flex-row sm:items-center sm:justify-between",children:[s.jsx(GM,{provider:e}),t?.testedAt!==void 0&&s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx(sn,{className:"size-3"}),XM(t.testedAt)]})]}),!h&&s.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:[s.jsx("span",{children:"Context window metadata missing"}),s.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[s.jsxs(ee,{type:"button",variant:"outline",size:"sm",onClick:()=>u?.(e.id),className:"h-6 gap-1 px-2 text-xs",disabled:d,children:[s.jsx(jo,{className:`size-3 ${d?"animate-spin":""}`}),v]}),!x&&s.jsx(ee,{type:"button",variant:"ghost",size:"sm",onClick:()=>i(e),className:"h-6 px-2 text-xs",children:"Set URL"})]})]}),p&&s.jsxs("div",{className:"space-y-3 border-t border-border/60 pt-3",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[s.jsx(hr,{className:"size-3.5 text-emerald-500"}),s.jsx("span",{children:"API key configured"})]}),e.models!==void 0&&e.models.length>0&&s.jsx("div",{className:"flex flex-wrap gap-1",children:e.models.map(y=>s.jsx(YM,{provider:e,model:y},y))}),s.jsxs("section",{className:"space-y-2",children:[s.jsx("h4",{className:"text-xs font-medium text-foreground/80",children:"Connection probes"}),s.jsx(O0,{provider:e,results:t})]}),t!==void 0&&s.jsx(WM,{provider:e,testResults:t})]}),s.jsxs("div",{className:"flex flex-col gap-2 border-t pt-1 sm:flex-row sm:items-center sm:justify-between",children:[s.jsxs("button",{type:"button",onClick:()=>f(y=>!y),className:"inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground","aria-expanded":p,children:[p?s.jsx(tt,{className:"size-3"}):s.jsx(vt,{className:"size-3"}),"Details"]}),s.jsxs("div",{className:"flex gap-2",children:[l!==void 0&&s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>l(e.id),className:"text-xs h-7 gap-1",disabled:b,children:[s.jsx(jo,{className:`size-3 ${b?"animate-spin":""}`}),b?r!==void 0?`Testing (${r}s)`:"Testing...":"Test"]}),s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>i(e),className:"text-xs h-7 gap-1",disabled:b,children:[s.jsx(gf,{className:"size-3"}),"Edit"]}),s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>a(e.id),className:"text-xs h-7 gap-1 text-destructive hover:text-destructive",disabled:b,children:[s.jsx(wn,{className:"size-3"}),"Delete"]})]})]})]})}const ks="/v1/chat/completions",ol="/v1/responses",tI="/v1/messages";function nI(e,t){const n=e.endsWith("/")?e.slice(0,-1):e,r=z0(t),o=t.indexOf("?"),i=o>=0?t.slice(o):"";return r!==""&&n.endsWith(r)?n+i:$0(n)&&L0(t)||n.endsWith("/v1")&&t.startsWith("/v1/")?n+t.slice(3):n+t}function sI(e,t,n={}){const r=e.trim().replace(/\/+$/,""),o=z0(t),i=nI(r,t),a=[];return o!==""&&r.endsWith(o)?a.push({severity:"info",message:"This already includes the exact endpoint; no duplicate suffix will be appended."}):$0(r)&&L0(t)?a.push({severity:"info",message:"Zhipu bases already include the API version; only /chat/completions is appended."}):r.endsWith("/v1")&&t.startsWith("/v1/")&&a.push({severity:"info",message:"Base URL already ends with /v1; the suffix will not repeat /v1."}),sd(o)&&oI(r)&&a.push({severity:"warning",message:"This looks like a Chat Completions endpoint, so Responses would append after it."}),rI(o)&&iI(r)&&a.push({severity:"warning",message:"This looks like a Responses endpoint, so Chat Completions would append after it."}),sd(o)&&aI(r,n.providerName)&&a.push({severity:"warning",message:"DeepSeek's official API does not currently expose OpenAI Responses."}),{finalUrl:i,diagnostics:a}}function z0(e){return e.split("?")[0]??e}function L0(e){return e===ks||e.startsWith(`${ks}?`)||e.startsWith(`${ks}/`)}function rI(e){return e===ks||e.startsWith(`${ks}/`)}function sd(e){return e===ol||e.startsWith(`${ol}/`)}function oI(e){return e.toLowerCase().endsWith("/chat/completions")}function iI(e){return e.toLowerCase().endsWith("/responses")}function aI(e,t){const n=t?.toLowerCase();if(n!==void 0&&n.includes("deepseek"))return!0;try{return new URL(e).hostname.toLowerCase().includes("deepseek")}catch{return e.toLowerCase().includes("deepseek")}}function $0(e){try{const t=new URL(e),n=t.pathname.replace(/\/+$/,"");return t.hostname==="open.bigmodel.cn"&&(n==="/api/paas/v4"||n==="/api/coding/paas/v4")}catch{return!1}}function ca(e){return e!==void 0&&e.trim()!==""}function rd(e){const t=ca(e?.anthropicBaseUrl),n=ca(e?.openaiBaseUrl),r=ca(e?.openaiResponsesBaseUrl);return{anthropic:t,openai:n||r,openaiChat:n,openaiResponses:r}}function ua(e,t,n){if(!e)return n?"":void 0;const r=t.trim();return r===""?void 0:r}const od=["zhipu","zhipuai","bigmodel","z.ai","zai","glm"],id=["zhipu coding","glm coding","bigmodel coding","z.ai coding","zai coding"],Zr=tI,Kr=ks,Gr=ol,lI={deepseek:{openaiBaseUrl:"https://api.deepseek.com"},minimax:{anthropicBaseUrl:"https://api.minimaxi.com/anthropic",openaiBaseUrl:"https://api.minimaxi.com",openaiResponsesBaseUrl:"https://api.minimaxi.com",apiDocsUrl:"https://platform.minimaxi.com/docs/api-reference/api-overview"},"zhipu coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},"glm coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},"bigmodel coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},"z.ai coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},"zai coding":{anthropicBaseUrl:"https://open.bigmodel.cn/api/anthropic",openaiBaseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/coding-plan/quick-start"},zhipu:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},zhipuai:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},bigmodel:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},"z.ai":{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},zai:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},glm:{openaiBaseUrl:"https://open.bigmodel.cn/api/paas/v4",apiDocsUrl:"https://docs.bigmodel.cn/cn/guide/develop/openai/introduction"},alibaba:{openaiBaseUrl:"https://dashscope.aliyuncs.com/compatible-mode"}},ad=["MiniMax M3","MiniMax M2.7","MiniMax M2.7-highspeed","MiniMax M2.5","MiniMax M2.5-highspeed","MiniMax M2.1","MiniMax M2.1-highspeed","MiniMax M2"],ld=["qwen3.6-plus","qwen3.7-max"],cd=["glm-5.2","glm-5.1","glm-5","glm-5-turbo","glm-4.7","glm-4.7-flashx","glm-4.6","glm-4.5","glm-4.5-air","glm-4.5-x","glm-4.5-airx","glm-4.5-flash"],il="__unset__",Lo="__custom__",D0=[{value:"32K",label:"Small"},{value:"64K",label:"Standard"},{value:"128K",label:"Medium"},{value:"200K",label:"Long"},{value:"256K",label:"Extended"},{value:"512K",label:"Large"},{value:"1M",label:"Max"}];function $n(){return{contextWindow:"",contextWindowMode:"unset",outputLimit:""}}function ud(e){return e.trim().toLowerCase().replace(/\s+/g,"-")}function F0(e,t){const n=ud(t);return e?.modelMetadata?.find(r=>ud(r.model)===n)??null}function U0(e){const t=fo(e);if(t===null)return null;for(const n of D0)if(fo(n.value)===t)return n.value;return null}function cI(e){return e.trim()===""?"unset":U0(e)!==null?"preset":"custom"}function uI(e){switch(e.contextWindowMode){case"unset":return il;case"custom":return Lo;case"preset":return U0(e.contextWindow)??Lo}}function da(e){const t=e.trim().replaceAll(",","");if(t==="")return{amount:"",unit:"K"};const n=/^(\d+(?:\.\d+)?)\s*([kKmM])?$/.exec(t);if(n===null)return{amount:t,unit:"K"};const r=n[1];if(r===void 0)return{amount:t,unit:"K"};const o=n[2];if(o===void 0||o==="")return{amount:r,unit:"tokens"};switch(o.toLowerCase()){case"k":return{amount:r,unit:"K"};case"m":return{amount:r,unit:"M"};default:return{amount:t,unit:"K"}}}function dd(e,t){const n=e.trim();if(n==="")return"";switch(t){case"K":return`${n}K`;case"M":return`${n}M`;case"tokens":return n}}function pd(e,t){return t.map(n=>{const r=F0(e,n),o=r?.contextWindow!==void 0?Ix(r.contextWindow):"";return{contextWindow:o,contextWindowMode:cI(o),outputLimit:r?.outputLimit?.toString()??""}})}function fd(e){const t=e.trim();if(t==="")return null;const n=Number(t);return!Number.isInteger(n)||n<=0?null:n}function us(e,t){if(e===void 0)return"";const n=e.trim(),r=n.replace(/\/+$/,"");return r.endsWith(t)?r.slice(0,-t.length).replace(/\/+$/,""):n}function dI(e,t,n){const r=e.trim();return r===""?null:sI(r,t,{providerName:n})}function pa({baseUrl:e,endpoint:t,providerName:n}){const r=dI(e,t,n);return r===null?null:s.jsxs("div",{className:"border border-border bg-muted/40 rounded-md px-3 py-2 text-xs",children:[s.jsx("div",{className:"text-muted-foreground",children:"Final URL"}),s.jsx("div",{className:"break-all font-mono text-foreground",children:r.finalUrl}),r.diagnostics.length>0&&s.jsx("div",{className:"mt-2 space-y-1",children:r.diagnostics.map(o=>s.jsx("div",{className:o.severity==="warning"?"text-amber-200":"text-muted-foreground",children:o.message},`${o.severity}:${o.message}`))})]})}function pI({provider:e,onSubmit:t,onCancel:n}){const r=rd(e),[o,i]=c.useState(e?.name??""),[a,l]=c.useState(""),[u,d]=c.useState(!1),[p,f]=c.useState(!1),m=e?.models,[h,x]=c.useState(m!==void 0&&m.length>0?m:[""]),[v,b]=c.useState(()=>pd(e,m!==void 0&&m.length>0?m:[""])),[w,y]=c.useState(r.anthropic),[j,k]=c.useState(r.openai),[S,_]=c.useState(r.openaiChat),[N,P]=c.useState(r.openaiResponses),[A,M]=c.useState(us(e?.anthropicBaseUrl,Zr)),[C,I]=c.useState(us(e?.openaiBaseUrl,Kr)),[F,U]=c.useState(us(e?.openaiResponsesBaseUrl,Gr)),[Y,Z]=c.useState(e?.apiDocsUrl??""),[V,H]=c.useState(e?.modelMetadataUrl??""),[z,X]=c.useState(e?.source),[J,be]=c.useState({}),[ve,oe]=c.useState(!1),[D,je]=c.useState(null),te=c.useRef([]);c.useEffect(()=>{if(D===null)return;const E=D;function L(K){if(!(K.target instanceof Node))return;const ie=te.current[E];ie!=null&&!ie.contains(K.target)&&je(null)}return document.addEventListener("mousedown",L),()=>document.removeEventListener("mousedown",L)},[D]);const[ke,Se]=c.useState(!1),[le,ue]=c.useState(!1),[me,we]=c.useState(!1),Ee=o.toLowerCase().includes("minimax"),Ye=o.toLowerCase().includes("alibaba"),De=[...od,...id].some(E=>o.toLowerCase().includes(E)),Ve=Ee?ad:De?cd:Ye?ld:[],wt=e?.modelMetadata?.some(E=>E.contextWindow!==void 0)??!1;function Qt(){It(a).then(E=>{E&&(f(!0),setTimeout(()=>f(!1),2e3))})}c.useEffect(()=>{if(e){i(e.name),l(""),d(!1);const E=(e.models?.length??0)>0?e.models:[""];x(E),b(pd(e,E));const L=rd(e);y(L.anthropic),k(L.openai),_(L.openaiChat),P(L.openaiResponses),M(us(e.anthropicBaseUrl,Zr)),I(us(e.openaiBaseUrl,Kr)),U(us(e.openaiResponsesBaseUrl,Gr)),Z(e.apiDocsUrl??""),H(e.modelMetadataUrl??""),X(e.source),Se(!1),ue(!1),we(!1)}},[e]),c.useEffect(()=>{const E=o.toLowerCase();for(const[L,K]of Object.entries(lI))if(E.includes(L)){K.anthropicBaseUrl!==void 0&&!ke&&M(K.anthropicBaseUrl),K.openaiBaseUrl!==void 0&&!le&&I(K.openaiBaseUrl),K.openaiResponsesBaseUrl!==void 0&&!me&&U(K.openaiResponsesBaseUrl),K.apiDocsUrl!==void 0&&!Y&&Z(K.apiDocsUrl),L==="minimax"&&h.length===1&&h[0]===""&&x([ad[0]??""]),L==="alibaba"&&h.length===1&&h[0]===""&&x([ld[0]??""]),(od.includes(L)||id.includes(L))&&h.length===1&&h[0]===""&&x([cd[0]??""]);break}},[o]);function Xe(){const E={};return o.trim()||(E.name="Name is required"),e===void 0&&!a.trim()&&(E.apiKey="API key is required"),(h.length===0||h.every(L=>!L.trim()))&&(E.models="At least one model is required"),!w&&!j&&(E.capabilities="Select at least one API capability"),j&&!S&&!N&&(E.openaiCapabilities="Select Chat Completions, Responses, or both"),w&&(A.trim()===""?E.anthropicBaseUrl="Anthropic base URL is required":Ue(A.trim())||(E.anthropicBaseUrl="Invalid URL format")),j&&S&&(C.trim()===""?E.openaiBaseUrl="OpenAI Chat base URL is required":Ue(C.trim())||(E.openaiBaseUrl="Invalid URL format")),j&&N&&(F.trim()===""?E.openaiResponsesBaseUrl="OpenAI Responses base URL is required":Ue(F.trim())||(E.openaiResponsesBaseUrl="Invalid URL format")),V.trim()&&!Ue(V.trim())&&(E.modelMetadataUrl="Invalid URL format"),v.forEach((L,K)=>{const ie=fo(L.contextWindow),de=fd(L.outputLimit);L.contextWindow.trim()!==""&&ie===null&&(E[`modelMetadata.${K}.contextWindow`]="Context window must be a positive number, optionally using K or M"),L.outputLimit.trim()!==""&&de===null&&(E[`modelMetadata.${K}.outputLimit`]="Output limit must be a positive integer"),ie!==null&&de!==null&&de>ie&&(E[`modelMetadata.${K}.outputLimit`]="Output limit should not exceed context window")}),be(E),Object.keys(E).length===0}function Ue(E){try{return new URL(E),!0}catch{return!1}}function Ie(E,L){x(K=>{const ie=[...K];return ie[E]=L,ie})}function Ae(E,L){b(K=>{const ie=[...K];return ie[E]={...ie[E]??$n(),...L},ie})}function q(E,L){switch(L){case il:Ae(E,{contextWindow:"",contextWindowMode:"unset"});return;case Lo:{const K=v[E]??$n();Ae(E,{contextWindow:K.contextWindow,contextWindowMode:"custom"});return}default:Ae(E,{contextWindow:L,contextWindowMode:"preset"});return}}function ne(E,L){const K=v[E]??$n(),ie=da(K.contextWindow);Ae(E,{contextWindow:dd(L,ie.unit),contextWindowMode:"custom"})}function Te(E,L){const K=v[E]??$n(),ie=da(K.contextWindow);switch(L){case"K":case"M":case"tokens":Ae(E,{contextWindow:dd(ie.amount,L),contextWindowMode:"custom"});return;default:return}}function he(E){x(L=>L.filter((K,ie)=>ie!==E)),b(L=>L.filter((K,ie)=>ie!==E))}function ge(){x(E=>[...E,""]),b(E=>[...E,$n()])}function Oe(){const E=new Date().toISOString(),L=[];return h.forEach((K,ie)=>{const de=K.trim();if(de==="")return;const se=v[ie]??$n(),ye=fo(se.contextWindow),ce=fd(se.outputLimit);if(ye===null&&ce===null)return;const dt=F0(e,de);if(dt!==null&&dt.contextWindow===(ye??void 0)&&dt.outputLimit===(ce??void 0)){L.push({...dt,model:de});return}const In={model:de,source:"manual",updatedAt:E};ye!==null&&(In.contextWindow=ye),ce!==null&&(In.outputLimit=ce),L.push(In)}),L.length>0?L:e?.modelMetadata!==void 0?[]:void 0}function G(E){if(E.preventDefault(),!Xe())return;oe(!0);const L=e!==void 0;try{t({name:o.trim(),apiKey:a.trim(),models:h.map(K=>K.trim()).filter(K=>K!==""),anthropicBaseUrl:ua(w,A,L),openaiBaseUrl:ua(j&&S,C,L),openaiResponsesBaseUrl:ua(j&&N,F,L),apiDocsUrl:Y.trim()||void 0,modelMetadataUrl:V.trim()||void 0,modelMetadata:Oe(),source:z})}finally{oe(!1)}}return s.jsxs("form",{onSubmit:G,className:"space-y-4",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-name",className:"text-sm font-medium",children:["Name ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsx("input",{id:"provider-name",type:"text",value:o,onChange:E=>i(E.target.value),placeholder:"Provider Name",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),J.name!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.name})]}),s.jsxs("fieldset",{className:"space-y-3",children:[s.jsxs("legend",{className:"text-sm font-medium",children:["Capabilities ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"divide-y divide-border overflow-hidden rounded-md border border-border",children:[s.jsxs("div",{className:j?"bg-primary/[0.04] px-3 py-3":"px-3 py-3",children:[s.jsxs("label",{htmlFor:"provider-capability-openai",className:"flex cursor-pointer items-start gap-3",children:[s.jsx("input",{id:"provider-capability-openai",type:"checkbox",checked:j,onChange:E=>k(E.target.checked),className:"mt-0.5 size-4 shrink-0 accent-primary"}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block text-sm font-medium",children:"OpenAI"}),s.jsx("span",{className:"block text-xs text-muted-foreground",children:"Chat Completions and Responses"})]})]}),j&&s.jsxs("div",{className:"ml-7 mt-3 flex flex-wrap gap-x-5 gap-y-2 border-t border-border/70 pt-3",children:[s.jsxs("label",{htmlFor:"provider-capability-openai-chat",className:"flex cursor-pointer items-center gap-2 text-sm",children:[s.jsx("input",{id:"provider-capability-openai-chat",type:"checkbox",checked:S,onChange:E=>_(E.target.checked),className:"size-4 shrink-0 accent-primary"}),"Chat Completions"]}),s.jsxs("label",{htmlFor:"provider-capability-openai-responses",className:"flex cursor-pointer items-center gap-2 text-sm",children:[s.jsx("input",{id:"provider-capability-openai-responses",type:"checkbox",checked:N,onChange:E=>P(E.target.checked),className:"size-4 shrink-0 accent-primary"}),"Responses"]})]}),J.openaiCapabilities!==void 0&&j&&s.jsx("p",{className:"ml-7 mt-2 text-xs text-destructive",children:J.openaiCapabilities})]}),s.jsxs("label",{htmlFor:"provider-capability-anthropic",className:`flex cursor-pointer items-start gap-3 px-3 py-3 ${w?"bg-primary/[0.04]":""}`,children:[s.jsx("input",{id:"provider-capability-anthropic",type:"checkbox",checked:w,onChange:E=>y(E.target.checked),className:"mt-0.5 size-4 shrink-0 accent-primary"}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block text-sm font-medium",children:"Anthropic"}),s.jsx("span",{className:"block text-xs text-muted-foreground",children:"Messages"})]})]})]}),J.capabilities!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.capabilities})]}),(w||j&&(S||N))&&s.jsxs("section",{className:"space-y-5 border-l border-border pl-4","aria-label":"API endpoints",children:[s.jsx("h3",{className:"text-sm font-medium",children:"Endpoint Configuration"}),w&&s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-anthropic-base-url",className:"text-sm font-medium",children:["Anthropic Messages Base URL ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground flex min-w-0 overflow-hidden rounded-md focus-within:border-ring focus-within:outline-ring focus-within:ring-[3px]",children:[s.jsx("input",{id:"provider-anthropic-base-url",type:"text",value:A,onChange:E=>{Se(!0),M(E.target.value)},placeholder:"https://api.anthropic.com",className:"min-w-0 flex-1 bg-transparent px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"shrink-0 select-none border-l border-white/10 bg-white/[0.04] px-3 py-2 font-mono text-xs text-muted-foreground",children:Zr})]}),J.anthropicBaseUrl!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.anthropicBaseUrl}),s.jsx(pa,{baseUrl:A,endpoint:Zr,providerName:o})]}),j&&S&&s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-openai-base-url",className:"text-sm font-medium",children:["OpenAI Chat Base URL ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground flex min-w-0 overflow-hidden rounded-md focus-within:border-ring focus-within:outline-ring focus-within:ring-[3px]",children:[s.jsx("input",{id:"provider-openai-base-url",type:"text",value:C,onChange:E=>{ue(!0),I(E.target.value)},placeholder:"https://api.openai.com",className:"min-w-0 flex-1 bg-transparent px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"shrink-0 select-none border-l border-white/10 bg-white/[0.04] px-3 py-2 font-mono text-xs text-muted-foreground",children:Kr})]}),J.openaiBaseUrl!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.openaiBaseUrl}),s.jsx(pa,{baseUrl:C,endpoint:Kr,providerName:o})]}),j&&N&&s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-openai-responses-base-url",className:"text-sm font-medium",children:["OpenAI Responses Base URL ",s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground flex min-w-0 overflow-hidden rounded-md focus-within:border-ring focus-within:outline-ring focus-within:ring-[3px]",children:[s.jsx("input",{id:"provider-openai-responses-base-url",type:"text",value:F,onChange:E=>{we(!0),U(E.target.value)},placeholder:"https://api.openai.com",className:"min-w-0 flex-1 bg-transparent px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"shrink-0 select-none border-l border-white/10 bg-white/[0.04] px-3 py-2 font-mono text-xs text-muted-foreground",children:Gr})]}),J.openaiResponsesBaseUrl!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.openaiResponsesBaseUrl}),s.jsx(pa,{baseUrl:F,endpoint:Gr,providerName:o})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"provider-source",className:"text-sm font-medium",children:"Token Source"}),s.jsxs("select",{id:"provider-source",value:z??"",onChange:E=>X(E.target.value==="company"||E.target.value==="personal"?E.target.value:void 0),className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsx("option",{value:"",children:"Unspecified"}),s.jsx("option",{value:"personal",children:"个人 (Personal)"}),s.jsx("option",{value:"company",children:"公司 (Company)"})]}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Label whether this API key is company-provided or personal."})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"provider-model-metadata-url",className:"text-sm font-medium",children:"Model Metadata URL"}),s.jsx("input",{id:"provider-model-metadata-url",type:"text",value:V,onChange:E=>H(E.target.value),placeholder:"https://example.com/agent-inspector-models.json",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),J.modelMetadataUrl!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.modelMetadataUrl}),V.trim()===""&&s.jsx("div",{className:"border border-border bg-muted/40 rounded-md px-3 py-2 text-xs text-muted-foreground",children:"Built-in limits cover DeepSeek v4 pro/flash, MiniMax M3/M2.7/M2.5/M2.1, and GLM coding models. Use a registry URL for private or custom model limits."}),e!==void 0&&!wt&&V.trim()===""&&s.jsx("p",{className:"text-xs text-amber-400",children:"This provider has no matching context metadata yet."}),V.trim()!==""&&s.jsx("p",{className:"text-xs text-muted-foreground",children:"Agent Inspector will refresh model limits from this JSON registry after save."})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{htmlFor:"provider-apikey",className:"text-sm font-medium",children:["API Key ",e===void 0&&s.jsx("span",{className:"text-destructive",children:"*"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("input",{id:"provider-apikey",type:u?"text":"password",value:a,onChange:E=>l(E.target.value),placeholder:e===void 0?"sk-ant-...":"Leave blank to keep current key",className:"flex-1 rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("button",{type:"button",onClick:()=>d(E=>!E),className:"text-muted-foreground hover:text-foreground transition-colors p-1 shrink-0","aria-label":u?"Hide API key":"Show API key",children:u?s.jsx(Pw,{className:"size-4"}):s.jsx(pf,{className:"size-4"})}),s.jsx("button",{type:"button",onClick:Qt,className:"text-muted-foreground hover:text-foreground transition-colors p-1 shrink-0","aria-label":"Copy API key",children:p?s.jsx(Ge,{className:"size-4 text-cyan-300"}):s.jsx(zt,{className:"size-4"})})]}),e!==void 0&&a.trim()===""&&s.jsx("p",{className:"text-xs text-muted-foreground",children:"A key is configured. Enter a new value only to rotate it."}),J.apiKey!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.apiKey})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("label",{className:"text-sm font-medium",children:["Models ",s.jsx("span",{className:"text-destructive",children:"*"})]}),h.map((E,L)=>{const K=v[L]??$n(),ie=J[`modelMetadata.${L}.contextWindow`],de=J[`modelMetadata.${L}.outputLimit`],se=uI(K),ye=da(K.contextWindow);return s.jsxs("div",{ref:ce=>{te.current[L]=ce},className:"border border-border bg-card shadow-sm space-y-2 rounded-[8px] p-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs("div",{className:"relative flex-1",children:[s.jsx("input",{type:"text",value:E,onChange:ce=>Ie(L,ce.target.value),placeholder:Ve.length>0?"Type or select a model...":"Model name",className:"w-full rounded-md border border-input bg-background px-4 py-3 pr-8 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),Ve.length>0&&s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",onClick:()=>je(D===L?null:L),className:"absolute right-1 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors p-1 z-10","aria-label":"Show model suggestions",children:s.jsx(tt,{className:"size-4"})}),D===L&&s.jsx("div",{className:"bg-popover text-popover-foreground absolute left-0 right-0 top-full z-50 mt-1 max-h-48 overflow-y-auto rounded-md border shadow-md",children:Ve.map(ce=>s.jsx("button",{type:"button",onClick:()=>{Ie(L,ce),je(null)},className:"w-full px-3 py-2 text-left text-sm transition-colors hover:bg-white/[0.06]",children:ce},ce))})]})]}),h.length>1&&s.jsx("button",{type:"button",onClick:()=>he(L),className:"text-muted-foreground hover:text-destructive transition-colors p-1 shrink-0","aria-label":"Remove model",children:s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("path",{d:"M3 6h18"}),s.jsx("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),s.jsx("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]})})]}),s.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1 text-xs text-muted-foreground",children:[s.jsx("span",{children:"Context Window"}),s.jsxs(cr,{value:se,onValueChange:ce=>q(L,ce),children:[s.jsx(ur,{size:"sm",className:"w-full bg-background font-mono text-xs",children:s.jsx(zo,{})}),s.jsxs(dr,{className:"max-h-64",children:[s.jsx(ct,{value:il,children:"Not set"}),D0.map(ce=>s.jsxs(ct,{value:ce.value,children:[ce.label," · ",ce.value]},ce.value)),s.jsx(ct,{value:Lo,children:"Custom"})]})]}),K.contextWindowMode==="custom"&&s.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_5.75rem] gap-1.5",children:[s.jsx("input",{type:"text",inputMode:"decimal",value:ye.amount,onChange:ce=>ne(L,ce.target.value),placeholder:"128",className:"w-full rounded-md border border-input bg-background px-3 py-2 font-mono text-xs text-foreground ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px]"}),s.jsxs(cr,{value:ye.unit,onValueChange:ce=>Te(L,ce),children:[s.jsx(ur,{size:"sm",className:"w-full bg-background font-mono text-xs",children:s.jsx(zo,{})}),s.jsxs(dr,{children:[s.jsx(ct,{value:"K",children:"K"}),s.jsx(ct,{value:"M",children:"M"}),s.jsx(ct,{value:"tokens",children:"tokens"})]})]})]}),ie!==void 0&&s.jsx("span",{className:"block text-destructive",children:ie})]}),s.jsxs("label",{className:"space-y-1 text-xs text-muted-foreground",children:[s.jsx("span",{children:"Output Limit"}),s.jsx("input",{type:"number",min:1,step:1e3,value:K.outputLimit,onChange:ce=>Ae(L,{outputLimit:ce.target.value}),placeholder:"e.g. 8192",className:"w-full rounded-md border border-input bg-background px-3 py-2 font-mono text-xs text-foreground ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px]"}),de!==void 0&&s.jsx("span",{className:"block text-destructive",children:de})]})]})]},L)}),s.jsx("button",{type:"button",onClick:ge,className:"text-xs text-primary hover:underline flex items-center gap-1",children:"+ Add Model"}),J.models!==void 0&&s.jsx("p",{className:"text-xs text-destructive",children:J.models})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx("label",{htmlFor:"provider-api-docs-url",className:"text-sm font-medium",children:"API Docs URL"}),s.jsx("input",{id:"provider-api-docs-url",type:"text",value:Y,onChange:E=>Z(E.target.value),placeholder:"https://api.example.com/docs",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Optional API documentation URL. If not set, uses known provider docs."})]}),s.jsxs("div",{className:"border border-border bg-background/95 shadow-sm sticky bottom-0 flex justify-end gap-2 rounded-[8px] px-3 py-2",children:[s.jsx(ee,{type:"button",variant:"outline",onClick:n,disabled:ve,children:"Cancel"}),s.jsx(ee,{type:"submit",disabled:ve,children:ve?"Saving...":e?"Update Provider":"Add Provider"})]})]})}const fI=fe(["timeout","network_unreachable","connection_refused","auth_failed","rate_limited","server_error","invalid_response","unknown"]),mI=T({message:g(),type:fI,details:g().optional(),hint:g().optional()}),hI=T({type:fe(["text","thinking"]),text:g().optional(),thinking:g().optional()}),xI=T({requestUrl:g().optional(),requestMethod:g().optional(),requestHeaders:Ke(g(),g()).optional(),requestBody:g().optional(),responseStatus:R().optional(),responseStatusText:g().optional(),responseHeaders:Ke(g(),g()).optional(),responseBody:g().optional()}),gI=T({success:Ce(),error:mI.optional(),model:g().optional(),inputTokens:R().optional(),outputTokens:R().optional(),cacheCreationInputTokens:R().optional(),cacheReadInputTokens:R().optional(),latencyMs:R().optional(),firstChunkMs:R().nullable().optional(),totalStreamMs:R().nullable().optional(),tokensPerSecond:R().nullable().optional(),content:W(hI).optional(),rawResponse:g().optional(),streaming:Ce().optional(),streamingChunks:T({chunks:W(zp),truncated:Ce().default(!1)}).optional(),requestHeaders:Ke(g(),g()).optional(),debug:xI.optional()}),md=Ot([gI,T({notConfigured:ae(!0)}),T({testing:ae(!0)})]),vn=T({nonStreaming:md,streaming:md});function $o(){return{nonStreaming:{notConfigured:!0},streaming:{notConfigured:!0}}}const bI=T({anthropic:vn,openai:vn.optional(),openaiChat:vn.optional(),openaiResponses:vn.optional()}).transform(e=>{const t=e.openaiChat??e.openai??$o();return{...e,openai:e.openai??t,openaiChat:t,openaiResponses:e.openaiResponses??$o()}}),vI=T({anthropic:vn,openai:vn.optional(),openaiChat:vn.optional(),openaiResponses:vn.optional(),models:Ke(g(),bI).optional(),testedAt:g().optional()}).transform(e=>{const t=e.openaiChat??e.openai??$o();return{...e,openai:e.openai??t,openaiChat:t,openaiResponses:e.openaiResponses??$o()}});function yI(){return{anthropic:{nonStreaming:{testing:!0},streaming:{testing:!0}},openai:{nonStreaming:{testing:!0},streaming:{testing:!0}},openaiChat:{nonStreaming:{testing:!0},streaming:{testing:!0}},openaiResponses:{nonStreaming:{testing:!0},streaming:{testing:!0}}}}function hd(e,t){const n=()=>({nonStreaming:{success:!1,error:{message:e,type:t}},streaming:{notConfigured:!0}});return{anthropic:n(),openai:n(),openaiChat:n(),openaiResponses:n()}}const wI=T({providerConfig:g()}),jI=T({success:Ce().optional(),imported:R().optional(),message:g().optional(),errors:W(g()).optional()}),kI=T({provider:ko,imported:R(),matchedModels:W(g()),missingModels:W(g()),sourceUrl:g()}),Jr="Network error: could not reach the server. Is the proxy running?",SI=5e3,_I=5e3,xd=15e3,NI=1e4,CI=2e4,TI=2e4,EI=3e4;function fa(e,t){return(e?.length??0)>0?e:t&&e!==void 0?"":void 0}function gd(e,t=!1){return{name:e.name,...e.apiKey.trim()===""?{}:{apiKey:e.apiKey},models:e.models,anthropicBaseUrl:fa(e.anthropicBaseUrl,t),openaiBaseUrl:fa(e.openaiBaseUrl,t),openaiResponsesBaseUrl:fa(e.openaiResponsesBaseUrl,t),apiDocsUrl:(e.apiDocsUrl?.length??0)>0?e.apiDocsUrl:void 0,modelMetadataUrl:(e.modelMetadataUrl?.length??0)>0?e.modelMetadataUrl:void 0,modelMetadata:e.modelMetadata,source:e.source}}function RI(e,t){const n=e?.models?.map(r=>r.trim()).filter(r=>r!=="").length??0;return Math.max(1,n)*t}async function MI(e,t){if(t.models!==void 0)try{await qn(`/api/providers/${e}/test/log`,_I,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}catch{}}function II({externalProviders:e,isLoading:t=!1,externalTestResults:n,externalTestingProviders:r,externalTestingTimeLeft:o,onProvidersMutate:i,onTestResultsChange:a,onTestingProvidersChange:l,onTestingTimeLeftChange:u}){const[d,p]=c.useState(!1),[f,m]=c.useState(),[h,x]=c.useState(null),[v,b]=c.useState({}),[w,y]=c.useState(new Set),[j,k]=c.useState({}),[S,_]=c.useState(null),[N,P]=c.useState(!1),[A,M]=c.useState(null),[C,I]=c.useState(!1),[F,U]=c.useState(!1),[Y,Z]=c.useState(null),[V,H]=c.useState("all"),[z,X]=c.useState(new Set),{providerTestTimeoutSeconds:J}=Il(),be=c.useRef(null),ve=c.useRef(null),oe=e??[],D=c.useMemo(()=>{const q=V==="all"?oe:oe.filter(ne=>ne.source===V);return V==="all"?[...q].sort((ne,Te)=>{const he={personal:0,company:1};return(he[ne.source??""]??2)-(he[Te.source??""]??2)}):q},[oe,V]),je=n??v,te=r??w,ke=o??j,Se=u?(q,ne)=>u(q,ne):(q,ne)=>{k(ne===void 0?Te=>{const he={...Te};return delete he[q],he}:Te=>({...Te,[q]:ne}))};c.useEffect(()=>{(async()=>{try{const q=await We("/api/config/paths",wI,SI);_(q.providerConfig)}catch{}})()},[]);const le=c.useCallback(q=>{ve.current!==null&&clearTimeout(ve.current),M(q),be.current?.scrollTo({top:be.current.scrollHeight,behavior:"smooth"}),ve.current=setTimeout(()=>{M(null),ve.current=null},2e3)},[]);c.useEffect(()=>()=>{ve.current!==null&&clearTimeout(ve.current)},[]);const ue=c.useCallback(()=>{i?.().catch(()=>{})},[i]),me=c.useCallback((q,ne)=>{a?a(q,ne):b(Te=>({...Te,[q]:ne}))},[a]),we=c.useCallback((q,ne)=>{if(l){l(q,ne);return}y(Te=>{const he=new Set(Te);return ne?he.add(q):he.delete(q),he})},[l]),Ee=c.useCallback(async q=>{me(q,yI()),we(q,!0);const ne=new AbortController,Te=oe.find(G=>G.id===q),he=RI(Te,J);let ge=he;Se(q,ge);const Oe=setInterval(()=>{ge--,Se(q,ge),ge<=0&&(clearInterval(Oe),ne.abort())},1e3);try{const G=await We(`/api/providers/${q}/test`,vI,he*1e3+1e3,{method:"POST",signal:ne.signal},E=>`HTTP ${E.status}: ${E.statusText}`);me(q,G),await MI(q,G)}catch(G){const E=G instanceof Error&&G.name==="AbortError",L=G instanceof Jo;E||L?me(q,hd("Request timed out","timeout")):G instanceof Error&&me(q,hd(G.message,"server_error"))}finally{clearInterval(Oe),Se(q,void 0),we(q,!1)}},[J,oe,Se,me,we]),Ye=c.useCallback(async(q,ne,Te=!0)=>{X(he=>{const ge=new Set(he);return ge.add(q),ge});try{const he=ne!==void 0&&ne.trim()!==""?{url:ne}:{},ge=await We(`/api/providers/${q}/model-metadata`,kI,EI,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(he)},()=>"Failed to refresh model metadata");return ge.imported===0&&Te?x("No matching model metadata found for this provider."):x(null),le(ge.provider.id),ue(),ge.imported>0}catch(he){return Te&&x(he instanceof Error?he.message:Jr),!1}finally{X(he=>{const ge=new Set(he);return ge.delete(q),ge})}},[ue,le]);function De(q){(async()=>{try{const ne=await We("/api/providers",ko,xd,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(gd(q))},()=>"Failed to add provider");p(!1),le(ne.id),q.modelMetadataUrl!==void 0&&q.modelMetadataUrl.trim()!==""&&await Ye(ne.id,q.modelMetadataUrl,!1),ue(),await Ee(ne.id)}catch(ne){x(ne instanceof Error?ne.message:Jr)}})()}function Ve(q){f&&(async()=>{try{const ne=await We(`/api/providers/${f.id}`,ko,xd,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(gd(q,!0))},()=>"Failed to update provider");m(void 0),le(ne.id),q.modelMetadataUrl!==void 0&&q.modelMetadataUrl.trim()!==""&&await Ye(ne.id,q.modelMetadataUrl,!1),ue(),(q.apiKey.trim()!==""||JSON.stringify(q.models)!==JSON.stringify(f.models)||(q.anthropicBaseUrl??"")!==(f.anthropicBaseUrl??"")||(q.openaiBaseUrl??"")!==(f.openaiBaseUrl??"")||(q.openaiResponsesBaseUrl??"")!==(f.openaiResponsesBaseUrl??""))&&await Ee(ne.id)}catch(ne){x(ne instanceof Error?ne.message:Jr)}})()}function wt(q){Z(q),U(!0)}function Qt(){const q=Y;q!==null&&(async()=>{let ne;try{ne=await qn(`/api/providers/${q}`,NI,{method:"DELETE"})}catch{x(Jr);return}if(!ne.ok){x(await kl(ne,"Failed to delete provider"));return}ue()})()}const Xe=c.useRef(null);function Ue(q){const ne="/api/providers/export";(async()=>{try{const Te=await qn(ne,CI);if(!Te.ok){x("Failed to export providers");return}const he=await Te.blob(),ge=URL.createObjectURL(he),Oe=document.createElement("a");Oe.href=ge,Oe.download=Te.headers.get("Content-Disposition")?.match(/filename="(.+)"/)?.[1]??"providers.json",document.body.appendChild(Oe),Oe.click(),document.body.removeChild(Oe),URL.revokeObjectURL(ge)}catch{x("Failed to export providers")}})()}function Ie(){Xe.current?.click()}function Ae(q){const ne=q.target.files?.[0];ne&&(async()=>{try{const Te=await ne.text(),he=await qn("/api/providers/import",TI,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Te)}),ge=await jl(he,jI);he.ok&&ge.imported!==void 0&&ge.imported>0?(ue(),x(null)):ge.errors&&ge.errors.length>0?x(ge.errors.join("; ")):x(ge.message??"Import failed")}catch{x("Failed to import providers")}q.target.value=""})()}return t?s.jsx("div",{className:"flex items-center justify-center py-8",children:s.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading providers..."})}):d||f?s.jsxs("div",{className:"space-y-4",children:[s.jsx("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:s.jsx("h3",{className:"text-lg font-medium",children:f?"Edit Provider":"Add New Provider"})}),s.jsx(pI,{provider:f,onSubmit:f?Ve:De,onCancel:()=>{p(!1),m(void 0)}})]}):s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{"data-provider-toolbar":"true",className:"sticky top-0 z-10 flex min-w-0 flex-wrap items-center justify-start gap-2 rounded-[8px] bg-background/95 px-1 py-1 backdrop-blur sm:justify-end",children:[s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>Ue(),className:"gap-1 hover:bg-muted",children:[s.jsx(xr,{className:"size-3"}),"Export"]}),s.jsxs(ee,{variant:"outline",size:"sm",onClick:Ie,className:"gap-1 hover:bg-muted",children:[s.jsx(yf,{className:"size-3"}),"Import"]}),s.jsx("input",{type:"file",ref:Xe,accept:".json",onChange:Ae,style:{display:"none"}}),s.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>I(!0),className:"gap-1",children:[s.jsx(Uj,{className:"size-3"}),"Scan"]}),s.jsxs(ee,{onClick:()=>p(!0),size:"sm",className:"gap-1",children:[s.jsx(su,{className:"size-4"}),"Add Provider"]})]}),S!==null&&s.jsxs("div",{className:"flex items-center gap-2 rounded-[8px] bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[s.jsx("span",{className:"font-mono truncate",title:S,children:S}),s.jsx("button",{type:"button",onClick:()=>{It(S).then(q=>{q&&(P(!0),setTimeout(()=>P(!1),2e3))})},className:"ml-auto shrink-0 text-muted-foreground transition-colors hover:text-foreground","aria-label":N?"Copied config file path":"Copy config file path",children:N?s.jsx(Ge,{className:"size-3 text-cyan-300"}):s.jsx(zt,{className:"size-3"})})]}),h!==null&&s.jsxs("div",{className:"border border-border bg-card shadow-sm flex items-center gap-2 rounded-[8px] px-3 py-2 text-sm text-destructive",children:[s.jsx(Ns,{className:"size-4 shrink-0"}),h]}),oe.length===0?s.jsxs("div",{className:"border border-border bg-card shadow-sm space-y-3 rounded-[8px] py-12 text-center",children:[s.jsx("p",{className:"text-sm text-muted-foreground",children:"No providers configured yet."}),s.jsxs(ee,{onClick:()=>p(!0),variant:"outline",size:"sm",children:[s.jsx(su,{className:"size-4"}),"Add Your First Provider"]})]}):s.jsxs("div",{className:"space-y-3",children:[s.jsx("div",{className:"inline-flex w-fit gap-1 rounded-[8px] bg-muted/20 p-1",children:["all","personal","company"].map(q=>s.jsx("button",{type:"button",onClick:()=>H(q),className:`rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${V===q?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:q==="all"?"All":q==="personal"?"Personal":"Company"},q))}),s.jsx("div",{ref:be,className:"space-y-3",children:D.map(q=>s.jsx(eI,{provider:q,testResults:je[q.id],isTesting:te.has(q.id),testingTimeLeft:ke[q.id],isHighlighted:q.id===A,onEdit:ne=>m(ne),onDelete:wt,onRefreshMetadata:ne=>{Ye(ne)},isRefreshingMetadata:z.has(q.id),onTest:ne=>{Ee(ne)}},q.id))})]}),s.jsx(RM,{open:C,onOpenChange:I,onImportComplete:()=>{i!==void 0&&i()}}),s.jsx(Hh,{open:F,onOpenChange:U,title:"Delete Provider",description:"Are you sure you want to delete this provider? This action cannot be undone.",confirmLabel:"Delete",variant:"destructive",onConfirm:Qt})]})}const PI=[{value:"providers",label:"Providers"},{value:"proxy",label:"Proxy"},{value:"storage",label:"Storage"},{value:"mcp",label:"MCP"},{value:"onboarding",label:"Onboarding"}];function AI(){return s.jsx(d0,{"aria-label":"Settings sections",className:"grid w-full grid-cols-3 justify-stretch gap-1 bg-muted/35 p-1 group-data-[orientation=horizontal]/tabs:h-auto sm:grid-cols-5",children:PI.map(e=>s.jsx(xn,{value:e.value,className:"min-w-0 w-full",children:e.label},e.value))})}function OI(){const[e,t]=c.useState(!1),[n,r]=c.useState("providers"),{providers:o,isLoading:i,mutate:a}=$l(),[l,u]=c.useState({}),[d,p]=c.useState(new Set),[f,m]=c.useState({}),h=c.useCallback((b,w)=>{u(y=>({...y,[b]:w}))},[]),x=c.useCallback((b,w)=>{p(y=>{const j=new Set(y);return w?j.add(b):j.delete(b),j})},[]),v=c.useCallback((b,w)=>{m(y=>{if(w===void 0){const j={...y};return delete j[b],j}return{...y,[b]:w}})},[]);return s.jsxs(Wt,{open:e,onOpenChange:t,children:[s.jsx(jr,{asChild:!0,children:s.jsxs(ee,{variant:"ghost",size:"icon",className:Nr,"aria-label":"Settings",title:"Settings",children:[s.jsx(Gj,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:"Settings"})]})}),s.jsxs(Zt,{className:"flex max-h-[calc(100vh-1rem)] w-[calc(100%-1rem)] max-w-2xl flex-col overflow-hidden p-4 sm:max-h-[80vh] sm:p-6",children:[s.jsx(Yt,{children:s.jsx(Xt,{children:"Settings"})}),s.jsxs(u0,{value:n,onValueChange:r,className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:[s.jsx(AI,{}),s.jsxs("div",{className:"mt-4 min-w-0 flex-1 overflow-x-hidden overflow-y-auto pr-1 sm:pr-2",children:[s.jsx(jt,{value:"providers",children:s.jsx(II,{externalProviders:o,isLoading:i,externalTestResults:l,externalTestingProviders:d,externalTestingTimeLeft:f,onProvidersMutate:()=>a(),onTestResultsChange:h,onTestingProvidersChange:x,onTestingTimeLeftChange:v})}),s.jsx(jt,{value:"proxy",children:s.jsx(UI,{})}),s.jsx(jt,{value:"storage",children:s.jsx($I,{})}),s.jsx(jt,{value:"mcp",children:s.jsx(FI,{})}),s.jsx(jt,{value:"onboarding",children:s.jsx(DI,{})})]})]})]})]})}const zI=T({memoryCount:R(),logDir:g(),logFileCount:R(),logBytes:R(),chunkDir:g(),chunkFileCount:R(),chunkBytes:R(),sessionArchiveDir:g(),sessionArchiveFileCount:R(),sessionArchiveBytes:R()}),LI=1e4;function ma(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KiB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MiB`:`${(e/1024/1024/1024).toFixed(1)} GiB`}function $I(){const[e,t]=c.useState(null),[n,r]=c.useState(null),[o,i]=c.useState(!1),[a,l]=c.useState(null),u=c.useCallback(async()=>{i(!0),r(null);try{const p=await We("/api/logs?stats=1",zI,LI,void 0,f=>`Failed to load storage stats: HTTP ${String(f.status)}`);t(p)}catch(p){r(p instanceof Error?p.message:String(p))}finally{i(!1)}},[]);c.useEffect(()=>{u()},[u]);const d=c.useCallback((p,f)=>{It(f).then(m=>{m&&(l(p),setTimeout(()=>l(null),1600))})},[]);return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("h3",{className:"text-sm font-semibold",children:"Log storage"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Inspect local log and streaming chunk footprint before exporting or clearing sessions."})]}),s.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:()=>{u()},children:o?"Refreshing...":"Refresh"})]}),e!==null&&s.jsxs("div",{className:"grid gap-2 text-xs",children:[s.jsx(Js,{id:"log-dir",label:"Log storage path",value:e.logDir,copiedId:a,onCopy:d}),s.jsx(Js,{id:"chunk-dir",label:"Streaming chunks storage path",value:e.chunkDir,copiedId:a,onCopy:d}),s.jsx(Js,{id:"session-archive-dir",label:"Session archive storage path",value:e.sessionArchiveDir,copiedId:a,onCopy:d}),s.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"font-medium",children:"In-memory logs"}),s.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.memoryCount.toLocaleString()," loaded"]})]}),s.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"font-medium",children:"Log files"}),s.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.logFileCount.toLocaleString()," files / ",ma(e.logBytes)]})]}),s.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"font-medium",children:"Streaming chunks"}),s.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.chunkFileCount.toLocaleString()," files / ",ma(e.chunkBytes)]})]}),s.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[s.jsx("div",{className:"font-medium",children:"Session archives"}),s.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.sessionArchiveFileCount.toLocaleString()," files /"," ",ma(e.sessionArchiveBytes)]})]})]}),n!==null&&s.jsx("p",{className:"text-xs text-destructive",children:n})]})}function Js({id:e,label:t,value:n,copiedId:r,onCopy:o}){const i=r===e;return s.jsxs("div",{className:"min-w-0 rounded-md border border-border/45 bg-muted/15 px-3 py-2 transition-colors hover:bg-muted/25",children:[s.jsx("div",{className:"mb-1 text-xs font-medium text-muted-foreground",children:t}),s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-foreground",title:n,children:n}),s.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0",onClick:()=>o(e,n),"aria-label":i?`Copied ${t}`:`Copy ${t}`,children:i?s.jsx(Ge,{className:"size-3.5 text-emerald-500"}):s.jsx(zt,{className:"size-3.5"})})]})]})}function DI(){const[e,t]=c.useState(null),n=c.useMemo(()=>typeof window>"u"?"http://localhost:9527":window.location.origin,[]),r=c.useMemo(()=>[{id:"status",label:"Check onboarding",value:"agent-inspector onboard --status"},{id:"status-json",label:"Check onboarding JSON",value:"agent-inspector onboard --status --json"},{id:"refresh",label:"Refresh generated files",value:"agent-inspector onboard --force"},{id:"uninstall",label:"Remove matching generated files",value:"agent-inspector onboard --uninstall"},{id:"claude",label:"Claude Code command",value:"/agent-inspector:onboard"},{id:"codex",label:"Codex prompt",value:"Use the agent-inspector-onboard skill"},{id:"opencode-config",label:"OpenCode config",value:"agent-inspector onboard --opencode-only"},{id:"opencode-status",label:"OpenCode status",value:"agent-inspector onboard --status --opencode-only"},{id:"opencode-verify",label:"OpenCode verify",value:"opencode mcp list"},{id:"opencode-proxy",label:"OpenCode proxy",value:`LLM_BASE_URL=${n}/proxy`},{id:"mimo-config",label:"MiMo Code config",value:"agent-inspector onboard --mimo-only"},{id:"mimo-status",label:"MiMo Code status",value:"agent-inspector onboard --status --mimo-only"},{id:"mimo-verify",label:"MiMo Code verify",value:"mimo mcp list"},{id:"mimo-proxy",label:"MiMo Code proxy",value:`OPENAI_BASE_URL=${n}/proxy`},{id:"mcp",label:"MCP URL",value:`${n}/api/mcp`},{id:"proxy",label:"Proxy URL",value:`${n}/proxy`},{id:"anthropic",label:"Anthropic base",value:`ANTHROPIC_BASE_URL=${n}/proxy`},{id:"openai",label:"OpenAI base",value:`OPENAI_BASE_URL=${n}/proxy`}],[n]),o=c.useCallback((i,a)=>{It(a).then(l=>{l&&(t(i),setTimeout(()=>t(null),1600))})},[]);return s.jsxs("div",{className:"min-w-0 space-y-4",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Yn,{className:"size-4 text-muted-foreground"}),s.jsx("h3",{className:"text-sm font-semibold",children:"Agent onboarding"})]}),s.jsx("div",{className:"grid gap-2",children:r.map(i=>s.jsx(Js,{id:i.id,label:i.label,value:i.value,copiedId:e,onCopy:o},i.id))}),s.jsxs("div",{className:"grid gap-2 rounded-md bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Ge,{className:"size-3.5 text-emerald-500"}),s.jsx("span",{children:"Provider test creates a traceable memory probe session."})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Ge,{className:"size-3.5 text-emerald-500"}),s.jsx("span",{children:"Captured sessions can produce reviewable memory candidates."})]}),s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(Ge,{className:"mt-0.5 size-3.5 text-emerald-500"}),s.jsxs("span",{children:["Streamable HTTP clients should use the MCP URL directly. Stdio-only clients should use",s.jsx("code",{className:"mx-1 rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"agent-inspector-mcp stdio"}),"instead. Configure only one entry for the same Inspector."]})]}),s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(Ge,{className:"mt-0.5 size-3.5 text-emerald-500"}),s.jsxs("span",{children:["OpenCode onboarding safely merges"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"mcp.agent-inspector"})," ","into"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"opencode.json"}),", then verify with"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"opencode mcp list"}),"."]})]}),s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(Ge,{className:"mt-0.5 size-3.5 text-emerald-500"}),s.jsxs("span",{children:["MiMo Code onboarding safely merges"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"mcp.agent-inspector"})," ","into"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"mimocode.jsonc"}),", then route OpenAI-format traffic with"," ",s.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"OPENAI_BASE_URL"}),"."]})]}),s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsx(Ge,{className:"mt-0.5 size-3.5 text-emerald-500"}),s.jsx("span",{children:"If your AI tool runs in another container or host, replace localhost with an address reachable from that tool and verify the network/firewall path."})]})]})]})}function FI(){const[e,t]=c.useState(null),r=`${c.useMemo(()=>typeof window>"u"?"http://localhost:9527":window.location.origin,[])}/api/mcp`,o=c.useMemo(()=>[{id:"mcp-url",label:"Streamable HTTP MCP URL",value:r},{id:"stdio",label:"Stdio bridge command",value:`agent-inspector-mcp stdio --url ${r}`},{id:"doctor",label:"Bridge doctor",value:`agent-inspector-mcp doctor --url ${r}`},{id:"writes",label:"Enable write tools",value:"AGENT_INSPECTOR_MCP_WRITES=1 agent-inspector"},{id:"capabilities",label:"Capabilities resource",value:"inspector://mcp/capabilities"},{id:"context",label:"Current context resource",value:"inspector://context/current"},{id:"streamable-json",label:"Streamable HTTP JSON",value:JSON.stringify({mcpServers:{"agent-inspector":{type:"streamableHttp",url:r}}},null,2)},{id:"stdio-json",label:"Stdio MCP JSON",value:JSON.stringify({mcpServers:{"agent-inspector":{command:"agent-inspector-mcp",args:["stdio","--url",r]}}},null,2)},{id:"opencode-local",label:"OpenCode local MCP",value:JSON.stringify({mcp:{"agent-inspector":{type:"local",command:["agent-inspector-mcp","stdio","--url",r],enabled:!0}}},null,2)},{id:"mimo-local",label:"MiMo Code local MCP",value:JSON.stringify({mcp:{"agent-inspector":{type:"local",command:["agent-inspector-mcp","stdio","--url",r],enabled:!0}}},null,2)},{id:"codex-toml",label:"Codex TOML",value:`[mcp_servers.agent-inspector]
|
|
125
125
|
command = "agent-inspector-mcp"
|
|
126
|
-
args = ["stdio", "--url", "${r}"]`}],[r]),i=c.useCallback((a,l)=>{It(l).then(u=>{u&&(t(a),setTimeout(()=>t(null),1600))})},[]);return s.jsxs("div",{className:"min-w-0 space-y-4",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Yn,{className:"size-4 text-muted-foreground"}),s.jsx("h3",{className:"text-sm font-semibold",children:"MCP access"})]}),s.jsxs("div",{className:"grid gap-2 rounded-md bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[s.jsx("div",{children:"Use Streamable HTTP when the client supports URL-based MCP. Use the stdio bridge only for stdio-only clients. Configure one entry for the same Inspector instance."}),s.jsx("div",{children:"If the MCP client runs in another container or host, replace localhost with a reachable host/IP and verify the network path."})]}),s.jsx("div",{className:"grid gap-2",children:o.map(a=>s.jsx(Js,{id:a.id,label:a.label,value:a.value,copiedId:e,onCopy:i},a.id))})]})}function UI(){const{strip:e,slowResponseThresholdSeconds:t,providerTestTimeoutSeconds:n,timeDisplayFormat:r,isLoading:o,setStrip:i,setSlowResponseThresholdSeconds:a,setProviderTestTimeoutSeconds:l,setTimeDisplayFormat:u}=Il(),[d,p]=c.useState(null),[f,m]=c.useState(!1),h=c.useCallback(async w=>{p(null),m(!0);try{await i(w)}catch(y){p(y instanceof Error?y.message:String(y))}finally{m(!1)}},[i]),g=c.useCallback(async w=>{p(null),m(!0);try{await a(w)}catch(y){p(y instanceof Error?y.message:String(y))}finally{m(!1)}},[a]),v=c.useCallback(async w=>{p(null),m(!0);try{await l(w)}catch(y){p(y instanceof Error?y.message:String(y))}finally{m(!1)}},[l]),b=c.useCallback(async w=>{p(null),m(!0);try{await u(w)}catch(y){p(y instanceof Error?y.message:String(y))}finally{m(!1)}},[u]);return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx("h3",{className:"text-sm font-semibold",children:"Claude Code billing header"}),s.jsxs("p",{className:"text-xs text-muted-foreground",children:["Strip Claude Code's synthetic billing block before upstream forwarding. This can improve prefix-cache hits with third-party providers and is persisted to ",s.jsx("code",{children:"config.json"}),"."]})]}),s.jsxs("label",{className:"flex items-center gap-3",children:[s.jsx("input",{type:"checkbox",role:"switch",checked:e,disabled:o||f,onChange:w=>{h(w.currentTarget.checked)},className:"size-4 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"text-sm",children:o?"Loading...":e?"Stripping enabled":"Stripping disabled"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{htmlFor:"slow-response-threshold",className:"text-sm font-semibold",children:"Slow response threshold"}),s.jsxs("p",{className:"text-xs text-muted-foreground",children:["Show a slow marker when elapsed time exceeds this many seconds. Use ",s.jsx("code",{children:"0"})," to disable it."]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("input",{id:"slow-response-threshold",type:"number",min:0,max:Sa,step:1,value:t,disabled:o||f,onChange:w=>{const y=Number(w.currentTarget.value);Number.isInteger(y)&&(y<0||y>Sa||g(y))},className:"h-8 w-24 rounded-md border border-input bg-transparent px-2 text-sm font-mono disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"text-xs text-muted-foreground",children:"seconds"})]})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{htmlFor:"provider-test-timeout",className:"text-sm font-semibold",children:"Provider test timeout"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Abort slow Provider Test probes after this many seconds per model."}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("input",{id:"provider-test-timeout",type:"number",min:1,max:_a,step:1,value:n,disabled:o||f,onChange:w=>{const y=Number(w.currentTarget.value);Number.isInteger(y)&&(y<1||y>_a||v(y))},className:"h-8 w-24 rounded-md border border-input bg-transparent px-2 text-sm font-mono disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"text-xs text-muted-foreground",children:"seconds / model"})]})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{htmlFor:"time-display-format",className:"text-sm font-semibold",children:"Time display"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Controls timestamps in session summaries, headers, and log rows."}),s.jsxs("select",{id:"time-display-format",value:r,disabled:o||f,onChange:w=>{const y=af.safeParse(w.currentTarget.value);y.success&&b(y.data)},className:"h-8 rounded-md border border-input bg-background px-2 text-sm disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsx("option",{value:"time",children:"Time only"}),s.jsx("option",{value:"full",children:"Full ISO"})]})]}),d!==null&&s.jsxs("p",{className:"text-xs text-destructive",children:["Failed to save: ",d]})]})}const BI=fe(["installed","update-available","available","planned","unknown"]),qI=T({id:x(),name:x(),npmName:x(),capability:x(),description:x(),workflow:x(),installCommand:x(),state:BI,installedVersion:x().nullable(),latestVersion:x().nullable(),primary:Ce()}),HI=T({id:x(),name:x(),validatedVersion:x(),binary:x(),modelFlag:x(),variantFlag:x().nullable(),tools:W(x()),logDir:x(),skillsDir:x(),agentsDir:x()}),VI=T({id:x(),title:x(),stage:x(),packageId:x(),description:x(),command:x(),requiresSession:Ce(),runnable:Ce()}),WI=T({checkedAt:x(),packages:W(qI),runnerPresets:W(HI),recipes:W(VI)}),B0=fe(["install","upgrade","help","runner-presets","recipe"]),q0="RUN_LOCAL_COMMAND",ZI=T({action:B0,targetId:x(),targetName:x(),command:x(),source:x(),timeoutMs:R().int().positive(),scope:x()}),KI=T({nonce:x().uuid(),phrase:ae(q0),expiresAt:x().datetime(),plan:ZI}),H0=T({confirmation:KI});Cn("intent",[T({intent:ae("prepare")}),T({intent:ae("confirm"),nonce:x().uuid(),confirmation:ae(q0)})]);const GI=fe(["queued","running","succeeded","failed"]),V0=T({id:x(),packageId:x(),npmName:x(),recipeId:x().nullable().default(null),action:B0,status:GI,command:x(),output:x(),createdAt:x(),startedAt:x().nullable(),finishedAt:x().nullable(),exitCode:R().nullable(),error:x().nullable()}),W0=T({task:V0}),JI=T({tasks:W(V0)}),YI=[{id:"observe",title:"Observe",label:"Live",description:"Capture IDE, process, session, turn, request, response, tools, and providers.",metric:"Inspector core",icon:Ty},{id:"replay",title:"Replay",label:"Ready",description:"Promote real logs into repeatable replay evidence without losing the raw context.",metric:"Session asset",icon:Bt},{id:"evaluate",title:"Evaluate",label:"Next",description:"Use eval-harness to turn sessions into regression cases and provider bakeoffs.",metric:"Eval loop",icon:Pl},{id:"connect",title:"Connect",label:"MCP",description:"Expose Inspector state to coding agents as queryable context and durable evidence.",metric:"/api/mcp",icon:yj}];async function XI(e){return rt(e,WI,void 0,t=>`Failed to load ecosystem packages: ${String(t.status)}`)}async function QI(e){return rt(e,W0,void 0,t=>`Failed to load ecosystem task: ${String(t.status)}`)}async function eP(e){return rt(e,JI,void 0,t=>`Failed to load ecosystem tasks: ${String(t.status)}`)}async function tP(e,t){const n=`/api/ecosystem/packages/${encodeURIComponent(e)}/${t}`,r=await rt(n,H0,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({intent:"prepare"})},o=>`Failed to prepare ecosystem task: ${String(o.status)}`);return{endpoint:n,confirmation:r.confirmation}}async function nP(e){const t=`/api/ecosystem/recipes/${encodeURIComponent(e)}/run`,n=await rt(t,H0,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({intent:"prepare"})},r=>`Failed to prepare ecosystem recipe: ${String(r.status)}`);return{endpoint:t,confirmation:n.confirmation}}async function sP(e){return(await rt(e.endpoint,W0,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({intent:"confirm",nonce:e.confirmation.nonce,confirmation:e.confirmation.phrase})},n=>`Failed to start ecosystem task: ${String(n.status)}`)).task}function rP(e){switch(e){case"installed":return"Installed";case"update-available":return"Update";case"available":return"Available";case"planned":return"Planned";case"unknown":return"Unknown"}}function oP(e){switch(e){case"installed":return"border-emerald-400/20 bg-emerald-400/8 text-emerald-200";case"update-available":return"border-amber-400/20 bg-amber-400/8 text-amber-200";case"available":return"border-sky-400/20 bg-sky-400/8 text-sky-200";case"planned":return"border-white/10 bg-white/[0.04] text-white/55";case"unknown":return"border-white/10 bg-white/[0.04] text-white/45"}}function iP(e){return e.installedVersion!==null&&e.latestVersion!==null?e.installedVersion===e.latestVersion?`v${e.installedVersion}`:`v${e.installedVersion} -> v${e.latestVersion}`:e.installedVersion!==null?`v${e.installedVersion}`:e.latestVersion!==null?`latest v${e.latestVersion}`:"not published"}function Ys(e){switch(e){case"install":return"Install";case"upgrade":return"Upgrade";case"help":return"Help";case"runner-presets":return"Presets";case"recipe":return"Recipe"}}function aP(e){switch(e.status){case"queued":return"Queued";case"running":return`${Ys(e.action)} running`;case"succeeded":return`${Ys(e.action)} complete`;case"failed":return`${Ys(e.action)} failed`}}function Z0(e){switch(e){case"queued":case"running":return"border-cyan-300/20 bg-cyan-300/8 text-cyan-100";case"succeeded":return"border-emerald-400/20 bg-emerald-400/8 text-emerald-100";case"failed":return"border-red-400/20 bg-red-400/8 text-red-100"}}function lP(e){switch(e.state){case"available":return"install";case"update-available":return"upgrade";case"installed":case"planned":case"unknown":return null}}function cP({pkg:e,activeTask:t,onStartTask:n}){const r=lP(e),o=t!==null&&t.packageId===e.id&&t.status==="running";return s.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[s.jsx(Sj,{className:"size-4 shrink-0 text-white/55"}),s.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.name})]}),s.jsx("div",{className:"mt-1 break-all font-mono text-[11px] leading-snug text-white/35",children:e.npmName})]}),s.jsx(_e,{className:$("shrink-0",oP(e.state)),variant:"outline",children:rP(e.state)})]}),s.jsx("div",{className:"mt-3 text-xs leading-5 text-muted-foreground",children:e.description}),s.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2 text-[11px]",children:[s.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-white/50",children:iP(e)}),s.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 text-white/45",children:e.capability}),s.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-white/35",children:e.installCommand})]}),s.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[r!==null&&s.jsxs(ee,{type:"button",size:"sm",variant:"secondary",disabled:o,onClick:()=>n(e.id,r),children:[o?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(gr,{className:"size-3.5"}),Ys(r)]}),s.jsxs(ee,{type:"button",size:"sm",variant:"outline",disabled:o||e.state==="planned",onClick:()=>n(e.id,"help"),children:[s.jsx(Yn,{className:"size-3.5"}),"Help"]}),e.id==="eval-harness"&&s.jsxs(ee,{type:"button",size:"sm",variant:"ghost",disabled:o||e.state==="planned",onClick:()=>n(e.id,"runner-presets"),children:[s.jsx(Pl,{className:"size-3.5"}),"Presets"]})]})]})}function uP({task:e}){if(e===null)return null;const t=e.status==="queued"||e.status==="running";return s.jsxs("section",{className:"mt-3 rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[t?s.jsx(He,{className:"size-4 animate-spin text-cyan-200/75"}):s.jsx(Yn,{className:"size-4 text-white/55"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-semibold",children:aP(e)}),s.jsx("div",{className:"break-all font-mono text-[11px] text-white/35",children:e.command})]})]}),s.jsx(_e,{variant:"outline",className:$("shrink-0",Z0(e.status)),children:e.status})]}),s.jsx("pre",{className:"mt-3 max-h-56 overflow-auto whitespace-pre-wrap rounded-md bg-black/30 p-3 font-mono text-[11px] leading-5 text-white/60 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:e.output.trim().length>0?e.output:"Waiting for npm output..."}),e.error!==null&&s.jsx("div",{className:"mt-2 text-xs text-red-100",children:e.error})]})}function dP({workflow:e}){const t=e.icon;return s.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx(t,{className:"size-4 shrink-0 text-cyan-200/75"}),s.jsx("div",{className:"text-sm font-semibold",children:e.title})]}),s.jsx("span",{className:"rounded bg-white/[0.04] px-2 py-0.5 font-mono text-[10px] text-white/45",children:e.label})]}),s.jsx("div",{className:"mt-2 min-h-10 text-xs leading-5 text-muted-foreground",children:e.description}),s.jsx("div",{className:"mt-3 font-mono text-[11px] text-white/35",children:e.metric})]})}function pP(e){return e===null?'npx @tonyclaw/eval-harness inspector-smoke --title "TonyClaw Lab smoke" --latest-log-limit 5':`npx @tonyclaw/eval-harness inspector-smoke --title "TonyClaw Lab smoke ${e}" --latest-log-limit 5`}function fP({preset:e}){return s.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[s.jsx(bf,{className:"size-4 shrink-0 text-cyan-200/75"}),s.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.name})]}),s.jsxs("div",{className:"mt-1 break-all font-mono text-[11px] leading-snug text-white/35",children:[e.binary," ",e.modelFlag,e.variantFlag!==null?` ${e.variantFlag}`:""]})]}),s.jsxs(_e,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:["v",e.validatedVersion]})]}),s.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-2 text-[11px]",children:[s.jsxs("div",{className:"rounded bg-black/15 px-2 py-1 text-white/45",children:["logs/",e.logDir]}),s.jsx("div",{className:"rounded bg-black/15 px-2 py-1 text-white/45",children:e.tools.join(", ")}),s.jsx("div",{className:"rounded bg-black/15 px-2 py-1 font-mono text-white/35",children:e.skillsDir}),s.jsx("div",{className:"rounded bg-black/15 px-2 py-1 font-mono text-white/35",children:e.agentsDir})]})]})}function mP({recipe:e,copied:t,running:n,onCopy:r,onRun:o}){return s.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[s.jsx(ff,{className:"size-4 shrink-0 text-cyan-200/75"}),s.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.title})]}),s.jsx("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:e.description})]}),s.jsx(_e,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:e.runnable?e.stage:"Template"})]}),s.jsx("div",{className:"mt-3 rounded-md bg-black/20 p-2 font-mono text-[11px] leading-5 text-white/50 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:e.command}),s.jsxs("div",{className:"mt-3 flex items-center justify-between gap-2",children:[s.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-[11px] text-white/35",children:e.packageId}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs(ee,{type:"button",size:"sm",variant:"outline",onClick:()=>r(e),children:[t?s.jsx(Ge,{className:"size-3.5"}):s.jsx(zt,{className:"size-3.5"}),t?"Copied":"Copy"]}),e.runnable&&s.jsxs(ee,{type:"button",size:"sm",variant:"secondary",disabled:n,onClick:()=>o(e),children:[n?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(bf,{className:"size-3.5"}),n?"Running":"Run"]})]})]})]})}function hP({task:e,selected:t,onSelect:n}){const r=e.recipeId??Ys(e.action);return s.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-md bg-white/[0.025] px-3 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx(hf,{className:"size-3.5 shrink-0 text-white/40"}),s.jsx("div",{className:"truncate text-xs font-semibold text-white/75",children:r}),s.jsx(_e,{variant:"outline",className:$("shrink-0",Z0(e.status)),children:e.status})]}),s.jsxs("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-2 font-mono text-[10px] text-white/35",children:[s.jsx("span",{children:e.packageId}),s.jsx("span",{children:new Date(e.createdAt).toLocaleTimeString()}),e.exitCode!==null&&s.jsxs("span",{children:["exit ",String(e.exitCode)]})]})]}),s.jsx(ee,{type:"button",size:"sm",variant:t?"secondary":"outline",onClick:()=>n(e),children:t?"Open":"View"})]})}function gP({pending:e,busy:t,onOpenChange:n,onConfirm:r}){const o=e?.confirmation.plan??null;return s.jsx(Wt,{open:e!==null,onOpenChange:n,children:s.jsxs(Zt,{className:"max-w-xl",children:[s.jsxs(Yt,{children:[s.jsx(Xt,{children:"Confirm local command"}),s.jsx(kr,{children:"Review the exact allowlisted action Agent Inspector will run on this machine."})]}),o!==null&&s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[s.jsxs("div",{className:"rounded-md border bg-muted/30 p-3",children:[s.jsx("div",{className:"text-muted-foreground",children:"Source"}),s.jsx("div",{className:"mt-1 break-words font-medium",children:o.source})]}),s.jsxs("div",{className:"rounded-md border bg-muted/30 p-3",children:[s.jsx("div",{className:"text-muted-foreground",children:"Timeout"}),s.jsxs("div",{className:"mt-1 font-medium",children:[String(o.timeoutMs/1e3)," seconds"]})]}),s.jsxs("div",{className:"rounded-md border bg-muted/30 p-3 sm:col-span-2",children:[s.jsx("div",{className:"text-muted-foreground",children:"Affected scope"}),s.jsx("div",{className:"mt-1 font-medium",children:o.scope})]})]}),s.jsxs("div",{children:[s.jsx("div",{className:"mb-1 text-xs font-medium",children:"Resolved command"}),s.jsx("pre",{className:"max-h-32 overflow-auto whitespace-pre-wrap break-all rounded-md bg-black/80 p-3 font-mono text-xs leading-5 text-white/80",children:o.command})]}),s.jsxs("p",{className:"text-xs text-muted-foreground",children:["Confirmation phrase: ",s.jsx("code",{children:e?.confirmation.phrase}),". The one-time confirmation expires at"," ",new Date(e?.confirmation.expiresAt??"").toLocaleTimeString(),"."]})]}),s.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[s.jsx(ee,{type:"button",variant:"outline",disabled:t,onClick:()=>n(!1),children:"Cancel"}),s.jsxs(ee,{type:"button",variant:"secondary",disabled:t||o===null,onClick:r,children:[t?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(Yn,{className:"size-3.5"}),t?"Starting":"Confirm & Run"]})]})]})})}function xP({currentSessionId:e,logCount:t}){const[n,r]=c.useState(!1),[o,i]=c.useState(!1),[a,l]=c.useState(!1),[u,d]=c.useState(null),[p,f]=c.useState(null),[m,h]=c.useState(null),[g,v]=c.useState(null),[b,w]=c.useState(!1),y=Ut("/api/ecosystem/packages",XI,{revalidateOnFocus:!1,revalidateIfStale:!1}),j=Ut(p===null?null:`/api/ecosystem/tasks/${p}`,QI,{refreshInterval:z=>{const X=z?.task;return X!==void 0&&(X.status==="queued"||X.status==="running")?900:0},revalidateOnFocus:!1}),k=Ut(n?"/api/ecosystem/tasks":null,eP,{refreshInterval:2500,revalidateOnFocus:!1}),S=y.data?.packages??[],_=y.data?.runnerPresets??[],N=y.data?.recipes??[],P=(k.data?.tasks??[]).slice(0,6),A=c.useMemo(()=>S.filter(z=>z.state==="installed"||z.state==="update-available").length,[S]),M=pP(e),C="npx @tonyclaw/eval-harness runner-presets",I=()=>{It(M).then(()=>{i(!0),window.setTimeout(()=>i(!1),1200)})},F=()=>{It(C).then(()=>{l(!0),window.setTimeout(()=>l(!1),1200)})},U=z=>{It(z.command).then(()=>{d(z.id),window.setTimeout(()=>d(null),1200)})},Y=z=>{h(null),nP(z.id).then(X=>{v(X)}).catch(X=>{h(X instanceof Error?X.message:"Failed to prepare ecosystem recipe")})},Z=j.data?.task??null;c.useEffect(()=>{Z!==null&&(k.mutate(),Z.status==="succeeded"&&y.mutate())},[Z,y,k]);const V=(z,X)=>{h(null),tP(z,X).then(J=>{v(J)}).catch(J=>{h(J instanceof Error?J.message:"Failed to prepare ecosystem task")})},H=()=>{g!==null&&(h(null),w(!0),sP(g).then(z=>{f(z.id),v(null),j.mutate({task:z},{revalidate:!0}),k.mutate()}).catch(z=>{h(z instanceof Error?z.message:"Failed to start ecosystem task")}).finally(()=>{w(!1)}))};return s.jsxs(Wt,{open:n,onOpenChange:r,children:[s.jsx(jr,{asChild:!0,children:s.jsxs(ee,{variant:"ghost",size:"icon",className:Nr,"aria-label":"TonyClaw Lab",title:"TonyClaw Lab",children:[s.jsx(ff,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:"TonyClaw Lab"})]})}),s.jsxs(Zt,{className:"flex max-h-[84vh] max-w-5xl flex-col overflow-hidden",children:[s.jsx(Yt,{children:s.jsxs(Xt,{className:"flex items-center gap-2",children:[s.jsx(Ta,{className:"size-4 text-cyan-200/80"}),"TonyClaw Lab"]})}),s.jsxs("div",{className:"overflow-y-auto pr-2",children:[s.jsxs("div",{className:"grid gap-3 lg:grid-cols-[1.1fr_0.9fr]",children:[s.jsxs("section",{className:"rounded-lg bg-white/[0.025] p-4 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-sm font-semibold",children:"Session asset pipeline"}),s.jsx("div",{className:"mt-1 max-w-2xl text-xs leading-5 text-muted-foreground",children:"Treat captured traffic as durable assets: observe it, replay it, evaluate it, and expose it back to agents through MCP."})]}),s.jsxs(_e,{variant:"outline",className:"border-cyan-300/20 bg-cyan-300/8 text-cyan-100",children:[String(A),"/",String(S.length)," packages"]})]}),s.jsx("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:YI.map(z=>s.jsx(dP,{workflow:z},z.id))})]}),s.jsxs("section",{className:"rounded-lg bg-white/[0.025] p-4 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-sm font-semibold",children:"Current session"}),s.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:e===null?"MCP smoke command":e})]}),s.jsxs(_e,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:[String(t)," logs"]})]}),s.jsx("div",{className:"mt-4 rounded-md bg-black/20 p-3 font-mono text-[11px] leading-5 text-white/55 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:M}),s.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[s.jsxs(ee,{size:"sm",variant:"secondary",onClick:I,children:[o?s.jsx(Ge,{className:"size-3.5"}):s.jsx(zt,{className:"size-3.5"}),o?"Copied":"Copy"]}),s.jsxs(ee,{size:"sm",variant:"outline",onClick:F,children:[s.jsx(Pl,{className:"size-3.5"}),a?"Presets copied":"Runner Presets"]})]})]})]}),s.jsxs("section",{className:"mt-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[s.jsx("div",{className:"text-sm font-semibold",children:"Lab recipes"}),s.jsxs("div",{className:"hidden items-center gap-1 font-mono text-[11px] text-muted-foreground sm:flex",children:[s.jsx(Ta,{className:"size-3.5"}),"copy-ready workflows"]})]}),s.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[N.map(z=>s.jsx(mP,{recipe:z,copied:u===z.id,running:Z!==null&&Z.recipeId===z.id&&(Z.status==="queued"||Z.status==="running"),onCopy:U,onRun:Y},z.id)),y.isLoading&&N.length===0&&[0,1].map(z=>s.jsx("div",{className:"h-40 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"},z))]})]}),s.jsxs("section",{className:"mt-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[s.jsx("div",{className:"text-sm font-semibold",children:"Runner presets"}),s.jsxs("div",{className:"hidden items-center gap-1 font-mono text-[11px] text-muted-foreground sm:flex",children:[s.jsx(Yn,{className:"size-3.5"}),C]})]}),s.jsxs("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[_.map(z=>s.jsx(fP,{preset:z},z.id)),y.isLoading&&_.length===0&&[0,1,2,3].map(z=>s.jsx("div",{className:"h-32 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"},z))]})]}),s.jsxs("section",{className:"mt-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[s.jsx("div",{className:"text-sm font-semibold",children:"TonyClaw packages"}),y.isLoading&&s.jsx("div",{className:"font-mono text-[11px] text-muted-foreground",children:"checking npm..."})]}),y.error!==void 0&&s.jsx("div",{className:"rounded-lg bg-red-500/8 p-3 text-xs text-red-100 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.16)]",children:"Package status is temporarily unavailable."}),s.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[S.map(z=>s.jsx(cP,{pkg:z,activeTask:Z,onStartTask:V},z.id)),y.isLoading&&S.length===0&&[0,1,2].map(z=>s.jsx("div",{className:"h-36 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"},z))]})]}),m!==null&&s.jsx("div",{className:"mt-3 rounded-lg bg-red-500/8 p-3 text-xs text-red-100 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.16)]",children:m}),P.length>0&&s.jsxs("section",{className:"mt-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[s.jsx("div",{className:"text-sm font-semibold",children:"Recent Lab runs"}),s.jsxs("div",{className:"hidden font-mono text-[11px] text-muted-foreground sm:block",children:["last ",String(P.length)]})]}),s.jsx("div",{className:"grid gap-2 md:grid-cols-2",children:P.map(z=>s.jsx(hP,{task:z,selected:p===z.id,onSelect:X=>{f(X.id),j.mutate({task:X},{revalidate:!0})}},z.id))})]}),s.jsx(uP,{task:Z})]})]}),s.jsx(gP,{pending:g,busy:b,onOpenChange:z=>{!z&&!b&&v(null)},onConfirm:H})]})}function bP(e){return[...new Set(e.evidence.map(t=>t.logId).filter(t=>t!==null))]}const vP=[{id:"saved-data",label:"Saved Inspector data",description:"requests, responses, sessions, tools, alerts, runs, groups, and knowledge"},{id:"root-cause",label:"Root-cause hints",description:"failures, hangs, slow paths, token spikes, and provider drift"},{id:"evidence",label:"Evidence links",description:"matched logs and metrics you can jump back into"}],yP=[{id:"reliability",label:"Reliability",question:"Which requests failed, stalled, or look most likely to hang, and why?"},{id:"performance",label:"Performance",question:"Summarize latency and identify the slowest requests with supporting evidence."},{id:"tokens",label:"Token usage",question:"Where are tokens being spent, and which requests have unusually high usage?"},{id:"providers",label:"Providers",question:"Compare Provider and model reliability, latency, and token usage in this scope."},{id:"tools",label:"Tool activity",question:"Which tools were used most, and where did tool calls fail or produce warnings?"}],wP=4e3,ha=12;function bd(){return{messages:[],question:"",error:null}}function jP(e){return e.filter(t=>t.content.trim().length>0).slice(-10).map(t=>({role:t.role,content:t.content.trim().slice(0,wP)}))}function lt(e,...t){for(const n of t){const r=Q(e,n);if(typeof r=="string"&&r.trim().length>0)return r}return null}function xn(e,...t){for(const n of t){const r=Q(e,n);if(typeof r=="number"&&Number.isFinite(r))return r}return null}function kP(e,t){const n=Q(e,t);return Array.isArray(n)?n.filter(r=>typeof r=="string").slice(0,8):[]}function SP(e){const t=lt(e,"source")??"log",n=lt(e,"id")??"",r=xn(e,"logId","id");if(n===""&&r===null||r!==null&&(!Number.isInteger(r)||r<0))return null;const o=xn(e,"inputTokens"),i=xn(e,"outputTokens"),a=xn(e,"totalTokens","tokenCount"),l=xn(e,"responseStatus","status"),u=lt(e,"responseStatus","status");return{source:t,id:n!==""?n:String(r),logId:r,sessionId:lt(e,"sessionId"),timestamp:lt(e,"timestamp"),model:lt(e,"model"),providerName:lt(e,"providerName","provider"),path:lt(e,"path"),status:l??u,elapsedMs:xn(e,"elapsedMs","latencyMs"),inputTokens:o,outputTokens:i,totalTokens:a??(o===null&&i===null?null:(o??0)+(i??0)),score:xn(e,"score","relevanceScore"),matchedFields:kP(e,"matchedFields"),excerpt:lt(e,"excerpt","snippet")??"No excerpt available."}}function ga(e){const t=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim();return t.length===0?"Metric":`${t[0]?.toUpperCase()??""}${t.slice(1)}`}function vd(e){if(typeof e=="number"&&Number.isFinite(e))return e.toLocaleString();if(typeof e=="string"&&e.trim().length>0)return e;if(typeof e=="boolean")return e?"Yes":"No";if(Array.isArray(e)){const t=e.filter(n=>typeof n=="string"||typeof n=="number"&&Number.isFinite(n)).slice(0,6);return t.length>0?t.join(", "):null}return null}function yd(e){return Object.getOwnPropertyNames(e).map(t=>[t,Q(e,t)])}function wd(e){if(e===null||typeof e!="object"||Array.isArray(e))return[];const t=[];for(const[n,r]of yd(e)){const o=vd(r);if(o!==null){if(t.push({key:n,label:ga(n),value:o}),t.length>=ha)break;continue}if(!(r===null||typeof r!="object"||Array.isArray(r))){for(const[i,a]of yd(r)){const l=vd(a);if(l===null)continue;const u=`${n}.${i}`;if(t.push({key:u,label:`${ga(n)} ${ga(i).toLowerCase()}`,value:l}),t.length>=ha)break}if(t.length>=ha)break}}return t}function _P(e){const t=lt(e,"answer"),n=lt(e,"providerId"),r=lt(e,"providerName"),o=lt(e,"model"),i=lt(e,"protocol"),a=xn(e,"logCount");if(t===null||n===null||r===null||o===null||i===null||a===null)return null;const l=Q(e,"evidence"),u=Array.isArray(l)?l.map(SP).filter(d=>d!==null).slice(0,12):[];return{answer:t,providerId:n,providerName:r,model:o,protocol:i,logCount:a,evidence:u,summaryMetrics:wd(Q(e,"summary")),queryMetrics:wd(Q(e,"queryStats"))}}const NP=c.lazy(()=>Kt(()=>import("./index-DF6bouqm.js"),__vite__mapDeps([9,1]))),CP="prose prose-sm dark:prose-invert max-w-none text-[13px] leading-[1.65] [&_pre]:bg-muted [&_pre]:text-foreground [&_code]:text-[0.8em] [&_p]:my-1 [&_p]:leading-[1.65] [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_li]:leading-[1.6]";function TP({text:e}){return s.jsx("div",{className:CP,children:s.jsx(c.Suspense,{fallback:s.jsx("span",{className:"text-xs text-muted-foreground",children:"Loading Markdown..."}),children:s.jsx(NP,{children:e})})})}const jd="Analyze the current Inspector session. What looks abnormal, slow, or likely to hang?";function EP(e){return e.openaiResponsesBaseUrl!==void 0||e.openaiBaseUrl!==void 0||e.anthropicBaseUrl!==void 0}function RP(e){return e.openaiResponsesBaseUrl!==void 0&&e.openaiResponsesBaseUrl!==""?"Responses":e.openaiBaseUrl!==void 0&&e.openaiBaseUrl!==""?"Chat":"Anthropic"}function MP(e){return e.toSorted((t,n)=>{const r=t.source==="company"?0:1,o=n.source==="company"?0:1;return r!==o?r-o:t.name.localeCompare(n.name)})}function kd(e){return`${e}-${String(Date.now())}-${String(Math.random()).slice(2)}`}function Fn({label:e,value:t,tone:n="muted"}){return s.jsxs("div",{className:"flex min-w-0 items-center gap-1.5 font-mono text-[10px]",children:[s.jsx("span",{className:n==="cyan"?"text-cyan-100":"text-muted-foreground",children:e}),t!==void 0&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"text-muted-foreground/55",children:":"}),s.jsx("span",{className:"truncate text-muted-foreground",children:t})]})]})}function IP({metrics:e}){return e.length===0?null:s.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:e.slice(0,8).map(t=>s.jsxs("div",{className:"rounded-sm bg-black/25 px-2 py-1 shadow-[inset_2px_0_0_rgba(103,232,249,0.22)]",children:[s.jsx("div",{className:"truncate font-mono text-[9px] text-muted-foreground",children:t.label}),s.jsx("div",{className:"truncate font-mono text-[11px] text-cyan-50/95",children:t.value})]},t.key))})}function PP({evidence:e}){const t=()=>{e.logId!==null&&Is({logId:e.logId,tab:"anatomy"})},n=e.logId===null?`${e.source}:${e.id}`:`${e.source}:log #${String(e.logId)}`;return s.jsxs("button",{type:"button",onClick:t,disabled:e.logId===null,className:"w-full rounded-sm bg-black/25 px-2 py-2 text-left shadow-[inset_2px_0_0_rgba(103,232,249,0.22),inset_0_0_0_1px_rgba(255,255,255,0.045)] transition-colors hover:bg-black/35 disabled:cursor-default disabled:hover:bg-black/25",children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[s.jsx("span",{className:"truncate font-mono text-[10px] text-cyan-100",children:n}),e.score!==null&&s.jsx("span",{className:"shrink-0 font-mono text-[9px] text-muted-foreground",children:e.score.toFixed(1)})]}),s.jsxs("div",{className:"mt-1 flex flex-wrap gap-x-2 gap-y-1 text-[10px] text-muted-foreground",children:[e.providerName!==null&&s.jsx("span",{children:e.providerName}),e.model!==null&&s.jsx("span",{children:e.model}),e.status!==null&&s.jsxs("span",{children:["status ",String(e.status)]}),e.elapsedMs!==null&&s.jsxs("span",{children:[String(e.elapsedMs)," ms"]})]}),s.jsx("p",{className:"mt-1 line-clamp-3 text-[11px] leading-4 text-foreground/85",children:e.excerpt})]})}function AP({response:e}){return s.jsxs("div",{className:"overflow-hidden rounded-md bg-[#050b12]/85 shadow-[inset_0_0_0_1px_rgba(103,232,249,0.12),0_10px_24px_rgba(0,0,0,0.18)]",children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2 border-b border-cyan-100/[0.08] bg-cyan-400/[0.045] px-3 py-2",children:[s.jsx(Fn,{label:"assistant@inspector",value:"output",tone:"cyan"}),s.jsxs("span",{className:"shrink-0 font-mono text-[9px] text-muted-foreground",children:[String(e.logCount)," logs"]})]}),s.jsxs("div",{className:"space-y-3 p-3",children:[s.jsx("div",{className:"rounded-sm bg-black/20 px-2.5 py-2 text-xs leading-5 shadow-[inset_2px_0_0_rgba(103,232,249,0.28)]",children:s.jsx(TP,{text:e.answer})}),s.jsxs("div",{className:"grid gap-1.5 rounded-sm bg-black/20 px-2 py-1.5",children:[s.jsx(Fn,{label:"provider",value:e.providerName}),s.jsx(Fn,{label:"model",value:e.model}),s.jsx(Fn,{label:"protocol",value:e.protocol})]}),(e.summaryMetrics.length>0||e.queryMetrics.length>0)&&s.jsxs("div",{className:"space-y-1.5",children:[s.jsx(Fn,{label:"metrics",tone:"cyan"}),s.jsx(IP,{metrics:[...e.summaryMetrics,...e.queryMetrics]})]}),e.evidence.length>0&&s.jsxs("div",{className:"space-y-1.5",children:[s.jsx(Fn,{label:"evidence",value:"click to inspect source log",tone:"cyan"}),e.evidence.slice(0,6).map(t=>s.jsx(PP,{evidence:t},`${t.source}-${t.id}`))]})]})]})}function OP({message:e}){return e.role==="assistant"&&e.response!==null?s.jsx(AP,{response:e.response}):s.jsxs("div",{className:"overflow-hidden rounded-md bg-black/25 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsx("div",{className:"border-b border-white/[0.06] px-3 py-1.5",children:s.jsx(Fn,{label:"user@inspector",value:"query",tone:"cyan"})}),s.jsxs("div",{className:"px-3 py-2 font-mono text-[11px] leading-5 text-cyan-50",children:[s.jsx("span",{className:"select-none text-cyan-100/60",children:"> "}),e.content]})]})}function zP({currentSessionId:e,logCount:t,onResultChange:n}){const{providers:r}=$l(),o=c.useMemo(()=>MP(r.filter(EP)),[r]),[i,a]=c.useState(()=>({...bd(),question:jd})),[l,u]=c.useState("__auto__"),[d,p]=c.useState("__auto__"),[f,m]=c.useState(!1),g=o.find(_=>_.id===l)?.models??[],v=i.question,b=v.trim()!==""&&o.length>0&&!f,w=_=>{a(N=>({...N,question:_.currentTarget.value}))},y=_=>{u(_),p("__auto__")},j=()=>{a({...bd(),question:jd}),n(null)},k=_=>{a(N=>({...N,question:_,error:null}))},S=()=>{if(!b)return;const _=v.trim(),N=jP(i.messages),P={id:kd("user"),role:"user",content:_,response:null};m(!0),a(M=>({...M,messages:[...M.messages,P],question:"",error:null}));const A={question:_,history:N,...e!==null?{sessionId:e}:{},...l!=="__auto__"?{providerId:l}:{},...d!=="__auto__"?{model:d}:{},logLimit:16};fetch("/api/pi-agent",{method:"POST",headers:{"content-type":"application/json","x-agent-inspector-csrf":"1"},body:JSON.stringify(A)}).then(async M=>{const C=await M.text();if(!M.ok){a(U=>({...U,error:`Inspector Assistant failed: HTTP ${String(M.status)} ${C}`}));return}const I=JSON.parse(C),F=_P(I);if(F===null){a(U=>({...U,error:"Inspector Assistant returned an unexpected response."}));return}a(U=>({...U,messages:[...U.messages,{id:kd("assistant"),role:"assistant",content:F.answer,response:F}]})),n({question:_,logIds:bP(F),reportedLogCount:F.logCount})}).catch(M=>{a(C=>({...C,error:M instanceof Error?M.message:"Inspector Assistant request failed."}))}).finally(()=>{m(!1)})};return s.jsxs("section",{className:"rounded-md bg-black/20 px-3 py-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Vy,{className:"size-4 text-cyan-200"}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("div",{className:"text-xs font-semibold text-foreground",children:"Search with Assistant"}),s.jsx("div",{className:"text-[11px] text-muted-foreground",children:e===null?"Search all Inspector evidence":"Search this session"})]}),s.jsx("button",{type:"button",onClick:j,className:"inline-flex size-7 items-center justify-center rounded-md bg-black/25 text-muted-foreground transition-colors hover:text-foreground",title:"Reset conversation",children:s.jsx(vf,{className:"size-3.5"})})]}),i.messages.length===0&&s.jsxs("div",{className:"mt-3 rounded-md bg-black/[0.18] px-3 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:[s.jsx("p",{className:"text-[11px] leading-5 text-muted-foreground",children:"Describe the traffic you want to find in plain language. Assistant searches saved traffic, sessions, tools, alerts, runs, groups, and knowledge, then uses linked evidence to shape the log results."}),s.jsx("div",{className:"mt-2 grid gap-1.5",children:vP.map(_=>s.jsxs("div",{className:"rounded-sm bg-cyan-400/[0.06] px-2 py-1.5 shadow-[inset_0_0_0_1px_rgba(103,232,249,0.08)]",children:[s.jsx("div",{className:"text-[10px] font-medium text-cyan-50",children:_.label}),s.jsx("div",{className:"mt-0.5 text-[9px] leading-4 text-muted-foreground",children:_.description})]},_.id))})]}),s.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[s.jsxs(cr,{value:l,onValueChange:y,children:[s.jsx(ur,{className:"h-8 border-0 bg-black/25 text-xs shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]",children:s.jsx(zo,{placeholder:"Provider"})}),s.jsxs(dr,{children:[s.jsx(ct,{value:"__auto__",children:"Auto provider"}),o.map(_=>s.jsxs(ct,{value:_.id,children:[_.name," / ",RP(_)]},_.id))]})]}),s.jsxs(cr,{value:d,onValueChange:p,children:[s.jsx(ur,{className:"h-8 border-0 bg-black/25 text-xs shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]",children:s.jsx(zo,{placeholder:"Model"})}),s.jsxs(dr,{children:[s.jsx(ct,{value:"__auto__",children:"Auto model"}),g.map(_=>s.jsx(ct,{value:_,children:_},_))]})]})]}),i.messages.length===0&&s.jsx("div",{className:"mt-3 flex flex-wrap gap-1.5",children:yP.map(_=>s.jsxs("button",{type:"button",onClick:()=>{k(_.question)},className:"inline-flex h-7 items-center gap-1.5 rounded-sm bg-black/25 px-2 text-[11px] text-cyan-50 transition-colors hover:bg-cyan-400/12",children:[s.jsx(Ta,{className:"size-3"}),s.jsx("span",{children:_.label})]},_.id))}),i.messages.length>0&&s.jsxs("div",{className:"mt-3 max-h-96 space-y-2 overflow-y-auto pr-1",children:[i.messages.map(_=>s.jsx(OP,{message:_},_.id)),f&&s.jsxs("div",{className:"inline-flex items-center gap-2 rounded-md bg-black/25 px-3 py-2 text-xs text-muted-foreground",children:[s.jsx(He,{className:"size-3.5 animate-spin"}),s.jsx("span",{children:"Searching Inspector..."})]})]}),s.jsx("textarea",{value:v,onChange:w,className:"mt-3 min-h-20 w-full resize-y rounded-md bg-black/25 px-3 py-2 text-xs leading-5 text-foreground outline-none shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors placeholder:text-muted-foreground focus-visible:ring-1 focus-visible:ring-ring",placeholder:"Search failures, slow requests, token spikes, tool calls..."}),s.jsxs("button",{type:"button",onClick:S,disabled:!b,className:"mt-2 inline-flex h-8 w-full items-center justify-center gap-2 rounded-md bg-cyan-400/12 px-3 text-xs font-medium text-cyan-100 shadow-[inset_0_0_0_1px_rgba(103,232,249,0.18)] transition-colors hover:bg-cyan-400/18 disabled:cursor-not-allowed disabled:opacity-50",children:[f?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(Vj,{className:"size-3.5"}),s.jsx("span",{children:f?"Searching...":"Search logs"})]}),i.error!==null&&s.jsx("p",{className:"mt-2 break-words text-[11px] leading-5 text-red-200",children:i.error}),o.length===0&&s.jsx("p",{className:"mt-2 text-[11px] leading-5 text-muted-foreground",children:"Configure a Provider with Responses, Chat, or Anthropic URL to enable Inspector Assistant."}),t===0&&s.jsx("p",{className:"mt-2 text-[11px] leading-5 text-muted-foreground",children:"No logs are visible in this scope yet; Inspector Assistant can still answer Provider setup questions."})]})}function LP(e){const t=new Map;for(const n of e){const r=n.logs;for(let o=1;o<r.length;o++){const i=r[o-1],a=r[o];i===void 0||a===void 0||t.set(a.id,{creation:Sd(i.cacheCreationInputTokens,a.cacheCreationInputTokens),read:Sd(i.cacheReadInputTokens,a.cacheReadInputTokens)})}}return t}function Sd(e,t){return t===null||e===null?null:t>e?{direction:"up",delta:t-e}:t<e?{direction:"down",delta:e-t}:null}function K0(e){return e===null?null:new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function ds(e,t,n){const r=K0(e.lastSuccessAt),o=e.retryCount>0?` Retry ${e.retryCount.toString()}.`:"",i=n?" Captured logs remain visible.":"",a=r===null?"":` Last update ${r}.`;return`${t}${a}${o}${i}`}function G0(e,t,n){switch(e){case"connecting":return{label:"Connecting",description:ds(t,"Waiting for the first live update.",n),toneClass:"border-cyan-400/20 bg-cyan-500/8 text-cyan-100",dotClass:"bg-cyan-300 animate-pulse motion-reduce:animate-none",canRetry:!1,canStop:!1};case"live":return{label:"Live",description:ds(t,"Live updates are current.",n),toneClass:"border-emerald-400/20 bg-emerald-500/8 text-emerald-100",dotClass:"bg-emerald-300",canRetry:!1,canStop:!1};case"reconnecting":return{label:"Reconnecting",description:ds(t,"Live updates were interrupted.",n),toneClass:"border-amber-400/20 bg-amber-500/8 text-amber-100",dotClass:"bg-amber-300 animate-pulse motion-reduce:animate-none",canRetry:!0,canStop:!0};case"stale":return{label:"Stale data",description:ds(t,"Live updates have not resumed.",n),toneClass:"border-orange-400/25 bg-orange-500/10 text-orange-100",dotClass:"bg-orange-300",canRetry:!0,canStop:!0};case"offline":return{label:"Offline",description:ds(t,t.errorMessage??"Live updates are paused.",n),toneClass:"border-slate-400/20 bg-slate-500/10 text-slate-200",dotClass:"bg-slate-400",canRetry:!0,canStop:!1};case"error":return{label:"Connection error",description:ds(t,t.errorMessage??"The live stream reported a recoverable error.",n),toneClass:"border-red-400/25 bg-red-500/10 text-red-100",dotClass:"bg-red-300",canRetry:!0,canStop:!0}}}function $P({state:e}){const t=G0(e.status,e,!1),n=K0(e.lastSuccessAt),r=e.retryCount>0?`Retry ${e.retryCount.toString()}`:null;return s.jsxs("span",{role:"status","aria-label":t.description,"data-connection-state":e.status,className:$("inline-flex h-7 max-w-full items-center gap-1.5 rounded-full border px-2.5 text-xs font-medium",t.toneClass),children:[s.jsx("span",{className:$("size-1.5 shrink-0 rounded-full",t.dotClass)}),s.jsx("span",{className:"shrink-0",children:t.label}),r!==null&&s.jsx("span",{className:"hidden truncate text-current/70 sm:inline",children:r}),n!==null&&s.jsxs("span",{className:"hidden truncate font-mono text-[10px] text-current/65 md:inline",children:["Last ",n]})]})}function DP({state:e,hasLogs:t,onRetry:n,onStop:r}){const o=G0(e.status,e,t);return s.jsxs("div",{role:"status","aria-live":"polite","data-connection-state":e.status,className:$("mt-2 flex flex-wrap items-center gap-x-3 gap-y-2 rounded-md border px-3 py-2 text-xs",o.toneClass),children:[s.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[s.jsx("span",{className:$("size-2 shrink-0 rounded-full",o.dotClass)}),s.jsx("span",{className:"shrink-0 font-semibold",children:o.label}),s.jsx("span",{className:"min-w-0 text-current/75",children:o.description})]}),(o.canRetry||o.canStop)&&s.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[o.canRetry&&s.jsxs("button",{type:"button",onClick:n,className:"inline-flex h-7 items-center gap-1 rounded-md bg-black/15 px-2 font-medium transition-colors hover:bg-black/25 focus-visible:ring-1 focus-visible:ring-current focus-visible:outline-none",children:[s.jsx(Bt,{className:"size-3"}),"Retry now"]}),o.canStop&&s.jsxs("button",{type:"button",onClick:r,className:"inline-flex h-7 items-center gap-1 rounded-md px-2 text-current/70 transition-colors hover:bg-black/15 hover:text-current focus-visible:ring-1 focus-visible:ring-current focus-visible:outline-none",children:[s.jsx(fw,{className:"size-3"}),"Stop retrying"]})]})]})}function FP(){const[e,t]=c.useState(!1),[n,r]=c.useState(!1);c.useEffect(()=>{const a=()=>{t(document.fullscreenElement!==null),r(document.fullscreenEnabled&&document.documentElement.requestFullscreen!==void 0&&document.exitFullscreen!==void 0)};return a(),document.addEventListener("fullscreenchange",a),()=>{document.removeEventListener("fullscreenchange",a)}},[]);const o=c.useCallback(()=>{if(n){if(document.fullscreenElement===null){document.documentElement.requestFullscreen().catch(()=>{t(document.fullscreenElement!==null)});return}document.exitFullscreen().catch(()=>{t(document.fullscreenElement!==null)})}},[n]),i=e?"Exit fullscreen":"Enter fullscreen";return s.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Nr,"aria-label":i,"aria-pressed":e,title:i,disabled:!n,onClick:o,children:[e?s.jsx(dj,{className:"size-4"}):s.jsx(lj,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:i})]})}function UP({liveConnection:e,alertsAction:t,settingsAction:n}){return s.jsx("header",{"data-application-bar":"true",className:"border-border/70 bg-background/95 sticky top-0 z-50 shrink-0 border-b px-3 py-2 shadow-[0_10px_30px_rgba(0,0,0,0.14)] backdrop-blur lg:px-4",children:s.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-2 sm:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)]",children:[s.jsxs("a",{href:"/","aria-label":"Agent Inspector home",className:"flex min-w-0 items-center gap-2 rounded-md focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:[s.jsx(sp,{className:"size-7 shrink-0 text-amber-500"}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block truncate text-sm font-bold leading-4",children:"Agent Inspector"}),s.jsx("span",{className:"hidden truncate text-[10px] font-medium text-muted-foreground md:block",children:"Local First. Evidence First."})]}),s.jsxs("span",{className:"hidden shrink-0 font-mono text-[10px] text-muted-foreground lg:inline",children:["v",wf.version]})]}),s.jsx("div",{className:"order-3 col-span-2 flex min-w-0 justify-start sm:order-2 sm:col-span-1 sm:justify-center",children:e===void 0?s.jsxs("span",{"data-connection-state":"stored",className:"border-border/70 bg-muted/50 inline-flex h-7 max-w-full items-center gap-1.5 rounded-full border px-2.5 text-xs font-medium text-muted-foreground",children:[s.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-slate-400"}),"Stored session"]}):s.jsx($P,{state:e})}),s.jsxs("nav",{"aria-label":"Application actions",className:"order-2 flex shrink-0 items-center justify-end gap-1 sm:order-3",children:[s.jsx(FP,{}),t,n]})]})})}function BP(e){return`${Math.max(0,Math.ceil(e/1e3)).toString()}s`}function uo({progress:e}){const t=Math.min(1,e.elapsedMs/e.timeoutMs),n=Math.max(4,Math.round(t*100)),r=Math.max(0,e.timeoutMs-e.elapsedMs),o=t>=.75,i=[e.loadedLogs>0?`${e.loadedLogs.toString()} logs`:null,e.loadedPages>0?`${e.loadedPages.toString()} page${e.loadedPages===1?"":"s"}`:null,`${BP(r)} before timeout`].filter(l=>l!==null),a=`${e.label}: ${i.join(", ")}`;return s.jsxs("div",{className:"min-w-0 space-y-1 px-1 pb-1",children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-3 font-mono text-[10px] text-muted-foreground",children:[s.jsx("span",{className:"min-w-0 truncate",children:e.label}),s.jsx("span",{className:$("shrink-0 tabular-nums",o&&"text-amber-300"),children:i.join(" / ")})]}),s.jsx("div",{role:"progressbar","aria-label":e.label,"aria-valuemin":0,"aria-valuemax":e.timeoutMs,"aria-valuenow":Math.min(e.elapsedMs,e.timeoutMs),"aria-valuetext":a,className:"h-1.5 overflow-hidden rounded-full bg-white/[0.06]",children:s.jsx("div",{className:$("h-full rounded-full transition-all duration-300 motion-reduce:transition-none",o?"bg-amber-300/80":"bg-cyan-300/70"),style:{width:`${n.toString()}%`}})})]})}function J0(e){return e?"auto":"smooth"}function Y0(){return typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function qP(){return{status:"connecting",lastSuccessAt:null,retryCount:0,errorMessage:null}}function nn(e,t){switch(t.type){case"connect-requested":return{...e,status:e.lastSuccessAt===null?"connecting":e.status==="stale"?"stale":"reconnecting",errorMessage:null};case"message-received":return{status:"live",lastSuccessAt:t.at,retryCount:0,errorMessage:null};case"connection-lost":{const n=e.retryCount+1;return t.online?{...e,status:e.lastSuccessAt===null?"error":"reconnecting",retryCount:n,errorMessage:t.message}:{...e,status:"offline",retryCount:n,errorMessage:"Browser is offline."}}case"stale-timeout":return e.lastSuccessAt===null||e.status==="live"||e.status==="offline"?e:{...e,status:"stale"};case"browser-offline":return{...e,status:"offline",errorMessage:"Browser is offline."};case"stop-retrying":return{...e,status:"offline",errorMessage:"Automatic live updates are paused."};case"recoverable-error":return{...e,status:"error",errorMessage:t.message}}}function HP(e){return e===void 0||e.status==="live"?"empty":e.status}function VP(e){switch(e){case"connecting":return{title:"Connecting to the live stream...",description:"Waiting for the first successful initialization before checking for logs.",showConnectionCommands:!1};case"empty":return{title:"No logs captured yet.",description:"Connect an AI coding tool to capture its first request.",showConnectionCommands:!0};case"reconnecting":return{title:"Reconnecting to live updates...",description:"The stream was interrupted. Agent Inspector is retrying automatically.",showConnectionCommands:!1};case"stale":return{title:"Live data is stale.",description:"No logs are hidden; retry the connection to resume live updates.",showConnectionCommands:!1};case"offline":return{title:"Live updates are offline.",description:"Check the browser and Inspector connection, then retry.",showConnectionCommands:!1};case"error":return{title:"Live updates could not initialize.",description:"The error is recoverable. Retry without reloading the page.",showConnectionCommands:!1}}}const _d="agent-inspector.hierarchy.collapsedClients",Nd="agent-inspector.hierarchy.collapsedProcesses";function Do(e){return e.some(t=>t.responseStatus===null)}function X0(e){return e.filter(t=>t.responseStatus===null).length}function Q0(e){for(const t of e){const n=t.userAgent;if(n!=null&&n!=="")return n}return null}function WP(e){for(const t of e){const n=t.clientPid;if(n!=null)return n}return null}function eg(e){for(const t of e){const n=t.clientProjectFolder;if(n!=null&&n!=="")return n}return null}function ZP(e){return cc({userAgent:Q0(e.logs),conversationId:e.conversationId,clientProjectFolder:eg(e.logs)})}function KP(e){if(e===null||e==="")return"Unknown client";const t=e.split(/[ /;]/)[0]??"";return t===""?"Unknown client":t}function GP(e,t){const n=yi(e);return n!==null?n:KP(t)}function Fo(e){return e===null||e===""?"unknown":String(e)}function JP(e,t,n){return e!=="unknown"?e:`unknown:${Fo(t)}:${Fo(n)}`}function YP(e,t){return`${Fo(e)}:${Fo(t)}`}function Cd(e){return[...e].sort((t,n)=>t.timestamp.localeCompare(n.timestamp))}function Td(e){let t="";for(const n of e)n.timestamp>t&&(t=n.timestamp);return t}function Ed(e){return Do(e)?0:e.some(t=>t.error!==null&&t.error!==void 0||t.responseStatus!==null&&t.responseStatus!==void 0&&t.responseStatus>=400)?1:2}function xa(e){return[...e].sort((t,n)=>{const r=Ed(t.logs)-Ed(n.logs);if(r!==0)return r;const o=Td(n.logs).localeCompare(Td(t.logs));return o!==0?o:t.id.localeCompare(n.id)})}function XP(e){const t=new Map;for(const r of e){const o=Q0(r.logs),i=eg(r.logs),a=ZP(r),l=JP(a,o,i);let u=t.get(l);u===void 0&&(u={id:l,client:a,label:GP(a,o),userAgent:o,processes:new Map,logs:[]},t.set(l,u)),u.logs.push(...r.logs);const d=WP(r.logs),p=`${l}:${YP(d,i)}`;let f=u.processes.get(p);f===void 0&&(f={id:p,clientPid:d,clientProjectFolder:i,sessions:[],logs:[]},u.processes.set(p,f)),f.sessions.push(r),f.logs.push(...r.logs)}const n=[];for(const r of t.values()){const o=xa([...r.processes.values()].map(i=>({id:i.id,clientPid:i.clientPid,clientProjectFolder:i.clientProjectFolder,sessions:xa(i.sessions),logs:Cd(i.logs)})));n.push({id:r.id,client:r.client,label:r.label,userAgent:r.userAgent,processes:o,logs:Cd(r.logs)})}return xa(n)}function Uo(e){return e<=0?"0":Me(e)}function tg(e){let t=0,n=0;for(const r of e)r.inputTokens!==null&&r.inputTokens!==void 0&&(t+=r.inputTokens),r.outputTokens!==null&&r.outputTokens!==void 0&&(n+=r.outputTokens);return{inputTokens:t,outputTokens:n}}function QP(e){let t=0;for(const n of e)t+=n.sessions.length;return t}function Rd(e){if(typeof window>"u")return null;try{const t=window.localStorage.getItem(e);if(t===null)return null;const n=JSON.parse(t);return Array.isArray(n)?new Set(n.filter(r=>typeof r=="string")):null}catch{return null}}function Md(e,t){try{window.localStorage.setItem(e,JSON.stringify([...t]))}catch{}}function Id(e,t){let n=!1;const r=new Set(e);for(const o of t)r.delete(o)&&(n=!0);return n?r:e}function eA(e){const t=new Set;for(const n of e)for(let r=1;r<n.processes.length;r++){const o=n.processes[r];o!==void 0&&!Do(o.logs)&&t.add(o.id)}return t}function tA(e){if(e===null||e==="")return null;const t=e.replaceAll("\\","/").split("/").filter(o=>o!==""),n=t[t.length-1];if(n===void 0)return e;const r=t[t.length-2];return r===void 0?n:`${r}/${n}`}function Bo({label:e,value:t,className:n}){return s.jsxs("span",{className:$("inline-flex h-7 items-center gap-1 rounded-md bg-[var(--inspector-surface-low)] px-2 text-xs text-muted-foreground",n),children:[s.jsx("span",{className:"font-mono text-[10px] uppercase text-muted-foreground/70",children:e}),s.jsx("span",{className:"font-mono tabular-nums text-foreground",children:t})]})}function ng({count:e}){const t=`${e} open turn${e===1?"":"s"}`;return s.jsxs("span",{className:"relative inline-flex size-6 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-medium)] text-[var(--inspector-status-watch)] ring-1 ring-border/50","aria-label":t,title:t,children:[s.jsx(He,{className:"size-3 animate-spin"}),e>1&&s.jsx("span",{className:"absolute translate-x-2 -translate-y-2 rounded bg-card px-0.5 font-mono text-[8px] tabular-nums text-[var(--inspector-status-watch)]",children:e})]})}function nA({groups:e,...t}){const n=c.useMemo(()=>XP(e),[e]),[r,o]=c.useState(()=>new Set),[i,a]=c.useState(()=>eA(n)),[l,u]=c.useState(!1);c.useEffect(()=>{const f=Rd(_d),m=Rd(Nd);f!==null&&o(f),m!==null&&a(m),u(!0)},[]),c.useEffect(()=>{l&&(Md(_d,r),Md(Nd,i))},[r,i,l]),c.useEffect(()=>{const f=new Set(n.filter(h=>Do(h.logs)).map(h=>h.id)),m=new Set(n.flatMap(h=>h.processes.filter(g=>Do(g.logs)).map(g=>g.id)));o(h=>Id(h,f)),a(h=>Id(h,m))},[n]);const d=c.useCallback(f=>{o(m=>{const h=new Set(m);return h.has(f)?h.delete(f):h.add(f),h})},[]),p=c.useCallback(f=>{a(m=>{const h=new Set(m);return h.has(f)?h.delete(f):h.add(f),h})},[]);return s.jsx("div",{className:"space-y-2",children:n.map(f=>s.jsx(sA,{group:f,collapsed:r.has(f.id),collapsedProcessIds:i,onToggleClient:()=>d(f.id),onToggleProcess:p,conversationProps:t},f.id))})}function sA({group:e,collapsed:t,collapsedProcessIds:n,onToggleClient:r,onToggleProcess:o,conversationProps:i}){const a=tg(e.logs),l=QP(e.processes),u=e.logs.length,d=X0(e.logs),p=d>0;return s.jsxs("section",{className:$("relative isolate overflow-hidden rounded-[8px] bg-card/65",p&&"bg-card/80"),"data-ide-group":e.id,children:[s.jsxs("button",{type:"button",className:"grid w-full min-w-0 grid-cols-[2.25rem_minmax(0,1fr)_auto] items-center gap-2.5 px-3 py-2.5 text-left transition-colors hover:bg-[var(--inspector-surface-low)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",onClick:r,"aria-expanded":!t,children:[e.client==="unknown"?s.jsx("span",{className:"inline-flex size-9 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground",children:s.jsx(mj,{className:"size-4"})}):s.jsx(wi,{client:e.client,className:"size-9 rounded-md",decorative:!0}),s.jsxs("span",{className:"min-w-0",children:[s.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("span",{className:"truncate text-sm font-semibold text-foreground",title:e.userAgent??e.label,children:e.label}),s.jsx("span",{className:"rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground",children:PC(e.client)}),p&&s.jsx(ng,{count:d})]}),s.jsxs("span",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsxs("span",{children:[e.processes.length," process",e.processes.length!==1?"es":""]}),s.jsxs("span",{children:[l," session",l!==1?"s":""]}),s.jsxs("span",{children:[u," req"]})]})]}),s.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[t&&s.jsxs("span",{className:"hidden shrink-0 items-center gap-2 md:flex",children:[s.jsx(Bo,{label:"IN",value:Uo(a.inputTokens)}),s.jsx(Bo,{label:"OUT",value:Uo(a.outputTokens)})]}),s.jsx("span",{className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors group-hover:bg-[var(--inspector-surface-medium)]",children:t?s.jsx(vt,{className:"size-4"}):s.jsx(tt,{className:"size-4"})})]})]}),!t&&s.jsx("div",{className:"space-y-0.5 px-2 pb-2 pt-0.5",children:e.processes.map(f=>s.jsx(rA,{group:f,collapsed:n.has(f.id),onToggle:()=>o(f.id),conversationProps:i},f.id))})]})}function rA({group:e,collapsed:t,onToggle:n,conversationProps:r}){const o=tg(e.logs),i=tA(e.clientProjectFolder),a=e.sessions.length,l=e.logs.length,u=X0(e.logs),d=u>0,p=e.clientPid!==null&&e.clientPid!==void 0?`PID ${e.clientPid}`:"Process unavailable";return s.jsxs("section",{className:"relative pl-3",children:[s.jsxs("button",{type:"button",className:"grid w-full min-w-0 grid-cols-[2rem_minmax(0,1fr)_auto] items-center gap-2.5 rounded-md bg-[var(--inspector-surface-low)] px-2.5 py-2 text-left transition-colors hover:bg-[var(--inspector-surface-medium)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",onClick:n,"aria-expanded":!t,children:[s.jsx("span",{className:"inline-flex size-8 shrink-0 items-center justify-center text-[var(--inspector-status-watch)]",children:s.jsx(Cw,{className:"size-4"})}),s.jsxs("span",{className:"min-w-0",children:[s.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"font-mono text-xs font-semibold tabular-nums text-foreground",children:p}),d&&s.jsx(ng,{count:u}),i!==null&&s.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1 text-[11px] text-muted-foreground",title:e.clientProjectFolder??i,children:[s.jsx(Gw,{className:"size-3 shrink-0"}),s.jsx("span",{className:"truncate font-mono",children:i})]})]}),s.jsxs("span",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsxs("span",{children:[a," session",a!==1?"s":""]}),s.jsxs("span",{children:[l," req"]})]})]}),s.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[t&&s.jsxs("span",{className:"hidden shrink-0 items-center gap-2 md:flex",children:[s.jsx(Bo,{label:"IN",value:Uo(o.inputTokens)}),s.jsx(Bo,{label:"OUT",value:Uo(o.outputTokens)})]}),s.jsx("span",{className:"inline-flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)]",children:t?s.jsx(vt,{className:"size-4"}):s.jsx(tt,{className:"size-4"})})]})]}),!t&&s.jsx("div",{className:"space-y-1 pb-1 pl-3 pr-1 pt-1",children:e.sessions.map(f=>s.jsx(nR,{group:f,...r,showClientIdentity:!1,showLogClientMetadata:!1,showProcessMetadata:!1},f.id))})]})}const oA="w-[calc(100%-1rem)] border-warning/30 bg-popover text-popover-foreground sm:max-w-lg",iA=[{label:"Headers",detail:"request and response headers, including authorization or cookie values"},{label:"Prompts",detail:"system instructions, user prompts, model responses, and conversation history"},{label:"Source content",detail:"source code, file contents, tool inputs, and tool output"},{label:"Secrets",detail:"API keys, access tokens, credentials, and other sensitive values"}];function aA({onCancel:e,onExportRedacted:t,onConfirmRaw:n}){return s.jsxs(s.Fragment,{children:[s.jsxs(Yt,{children:[s.jsx(Xt,{children:"Export unredacted logs?"}),s.jsx(kr,{children:"Raw exports bypass Agent Inspector redaction and may expose sensitive captured data."})]}),s.jsxs("div",{role:"alert",className:"rounded-md border border-warning/35 bg-warning/10 px-3 py-3 text-sm text-foreground",children:[s.jsx("p",{className:"font-medium",children:"The raw archive may include:"}),s.jsx("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-xs leading-relaxed text-muted-foreground",children:iA.map(r=>s.jsxs("li",{children:[s.jsxs("span",{className:"font-semibold text-foreground",children:[r.label,":"]})," ",r.detail]},r.label))}),s.jsx("p",{className:"mt-3 text-xs leading-relaxed text-muted-foreground",children:"Only continue if you trust where this file will be stored and everyone it may be shared with."})]}),s.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[s.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:e,children:"Cancel"}),s.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:t,children:"Export redacted instead"}),s.jsx(ee,{type:"button",variant:"destructive",size:"sm",onClick:n,children:"Export raw data"})]})]})}const qo="data-nav-id",lA="data-nav-action";function Pd(e){return Array.from(e.querySelectorAll(`[${qo}]`))}function Ad(e){return e instanceof HTMLElement}function cA(e,t){let n=e;for(;n!==null&&n!==t;){if(n.hasAttribute(qo))return n;n=n.parentElement}return e.hasAttribute(qo)?e:null}function ba(e){const t=e.getAttribute(lA);return t==="toggle"||t==="expand"||t==="collapse"?t:null}function Vs(e){e.focus({preventScroll:!0}),e.scrollIntoView({block:"nearest",behavior:"smooth"})}function Ws(e,t){return e[t]??null}function sg(e){const t=e.tagName;return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||e.isContentEditable)}function Od(e){const t=e.tagName;return t==="BUTTON"||t==="A"||sg(e)?!0:e.closest("[role='button'],[role='menuitem'],[role='option']")!==null}function uA(e){return e.closest("[role='dialog'],[role='menu'],[role='listbox']")!==null?!0:document.querySelector("[role='dialog'],[role='menu'],[role='listbox']")!==null}function dA(){const e=window.getSelection();return e===null?!1:e.type==="Range"&&e.toString().length>0}function Yr(e,t){return e.key===t&&e.shiftKey}function pA(e,t,n={}){const r=t??e,o=n.pageWide===!0,i=c.useCallback(a=>{const l=e.current,u=r.current;if(!l||!u)return;const d=a.target;if(!Ad(d)||d!==u)return;const p=Pd(l),f=Ws(p,0);f!==null&&Vs(f)},[e,r]);c.useEffect(()=>{const a=l=>{if(l.altKey||l.ctrlKey||l.metaKey)return;const u=e.current;if(!u)return;const d=l.target;if(!Ad(d)||sg(d)||dA())return;const p=u.contains(d);if(p&&Od(d)&&!d.hasAttribute(qo)||!p&&(!o||Od(d)||uA(d)))return;const f=Pd(u);if(f.length===0)return;const m=cA(d,u),h=m!==null?f.indexOf(m):-1;let g=!1;switch(l.key){case"ArrowUp":case"W":{if(l.shiftKey&&l.key==="ArrowUp"||l.key==="W"&&!Yr(l,"W"))break;l.preventDefault();const v=h>0?h-1:h===-1?f.length-1:-1;if(v!==-1){const b=Ws(f,v);b!==null&&Vs(b)}g=!0;break}case"ArrowDown":case"S":{if(l.shiftKey&&l.key==="ArrowDown"||l.key==="S"&&!Yr(l,"S"))break;l.preventDefault();const v=h<f.length-1?h+1:h===-1?0:-1;if(v!==-1){const b=Ws(f,v);b!==null&&Vs(b)}g=!0;break}case"ArrowLeft":case"A":{if(l.shiftKey&&l.key==="ArrowLeft"||l.key==="A"&&!Yr(l,"A")||m===null)break;if(l.preventDefault(),ba(m)==="collapse")m.click();else if(h>0){const b=Ws(f,h-1);b!==null&&Vs(b)}g=!0;break}case"ArrowRight":case"D":{if(l.shiftKey&&l.key==="ArrowRight"||l.key==="D"&&!Yr(l,"D")||m===null)break;if(l.preventDefault(),ba(m)==="expand")m.click();else if(h<f.length-1){const b=Ws(f,h+1);b!==null&&Vs(b)}g=!0;break}case" ":{if(m===null)break;l.preventDefault(),ba(m)!==null&&m.click(),g=!0;break}}g&&l.stopPropagation()};return document.addEventListener("keydown",a,{capture:!0}),()=>document.removeEventListener("keydown",a,{capture:!0})},[e,o,r]),c.useEffect(()=>(document.addEventListener("focusin",i),()=>document.removeEventListener("focusin",i)),[i])}const fA={system:"System",user:"User",assistant:"Assistant",tool:"Tool Results",tools:"Tool Definitions"},mA={system:"bg-sky-500/70",user:"bg-emerald-500/70",assistant:"bg-violet-500/70",tool:"bg-sky-400/55",tools:"bg-slate-500/70"},hA={system:"focus-visible:ring-sky-300",user:"focus-visible:ring-emerald-300",assistant:"focus-visible:ring-violet-300",tool:"focus-visible:ring-sky-300",tools:"focus-visible:ring-slate-300"},va=12,Xr=1,zd=80,Ld=24;function gA(e){return e.length<=Ld?e:`${e.slice(0,Ld-3)}...`}function xA(e){const t=e.replace(/\s+/g," ").trim();return t.length<=zd?t:`${t.slice(0,zd)}...`}function Qr(e){return e>=10?`${e.toFixed(0)}%`:e>=1?`${e.toFixed(1)}%`:e>0?"<1%":"0%"}const bA=c.memo(function({segments:t,totalTokens:n,showLabels:r=!0,onActivate:o}){const i=c.useMemo(()=>n>0?n:t.reduce((b,w)=>b+w.size,0),[t,n]),a=t.slice(0,va),l=t.slice(va),u=l.reduce((b,w)=>b+w.size,0),d=l.length,p=va,f=p+d-1,m=d>0,h=o!==void 0,g=c.useMemo(()=>a.reduce((b,w)=>b+w.size,0),[a]),v=c.useMemo(()=>`Request context: ~${Me(i)} tokens across ${t.length} segment${t.length===1?"":"s"}`,[t.length,i]);return t.length===0||i<=0?s.jsx("div",{role:"img","aria-label":v,className:"h-6"}):s.jsx($s,{delayDuration:150,children:s.jsxs("div",{role:"img","aria-label":v,className:"flex flex-col gap-1.5",children:[s.jsxs("div",{className:"relative flex h-6 w-full overflow-hidden rounded border border-border/40 bg-muted/30","data-testid":"anatomy-segment-bar",children:[a.map((b,w)=>{const y=i>0?b.size/i*100:0,j=Math.max(Xr,y),k=$("h-full border-r border-background/80 last:border-r-0",h?"opacity-90 hover:opacity-100 focus:opacity-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background":"opacity-90",mA[b.role],h?hA[b.role]:""),S={width:`${j}%`},_=`${b.label}, ${Qr(y)}, ~${Me(b.size)} tokens`;return s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:h?s.jsx("button",{type:"button",role:"button",tabIndex:0,onClick:()=>o(b),onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),o(b))},"data-anatomy-path":b.path,"aria-label":_,className:k,style:S}):s.jsx("span",{"aria-label":_,className:k,style:S})}),s.jsxs(mt,{side:"bottom",className:"max-w-sm text-xs p-2 space-y-0.5",children:[s.jsxs("div",{className:"font-semibold",children:[b.label," - ",Qr(y)," - ~",Me(b.size)," ","tokens"]}),s.jsx("div",{className:"text-muted-foreground",children:fA[b.role]}),s.jsxs("div",{className:"text-muted-foreground",children:[b.characters.toLocaleString()," chars"]}),b.text.length>0&&s.jsx("div",{className:"text-muted-foreground/90 break-words whitespace-pre-wrap",children:xA(b.text)})]})]},`${b.path}-${w}`)}),m&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs("div",{role:"img","aria-label":`${d} additional segments`,className:"flex h-full items-center justify-center bg-muted-foreground/30 px-1.5 text-[10px] font-mono text-background",style:{width:`${Math.max(Xr,u/i*100)}%`},children:["... +",d]})}),s.jsxs(mt,{side:"bottom",className:"text-xs",children:[d," more segment",d===1?"":"s"," (indices"," ",p,"-",f,")"]})]})]}),r&&s.jsxs("div",{className:"flex w-full gap-1 text-[10px] text-muted-foreground",children:[a.map((b,w)=>{const y=i>0?b.size/i*100:0,j=Math.max(Xr,y);return s.jsxs("div",{className:"flex flex-col gap-0.5 truncate",style:{width:`${j}%`},title:`${b.label} - ${Qr(y)} - ~${Me(b.size)} tokens`,children:[s.jsx("span",{className:"truncate font-mono text-foreground/80",children:gA(b.label)}),s.jsxs("span",{className:"truncate font-mono text-muted-foreground/70",children:[Qr(y)," - ~",Me(b.size)]})]},`label-${b.path}-${w}`)}),m&&s.jsxs("div",{className:"flex flex-col gap-0.5 truncate text-muted-foreground",style:{width:`${Math.max(Xr,u/i*100)}%`},children:[s.jsxs("span",{className:"truncate font-mono text-foreground/60",children:["... +",d]}),s.jsxs("span",{className:"truncate font-mono text-muted-foreground/60",children:["~",Me(u)]})]})]}),g<i*.1&&s.jsx("div",{className:"h-0"})]})})}),rg=.75,og=.9,al=8e3,vA=.35,ig=40,ag=160,yA=5,wA=8,jA=18,kA=6e4,SA=.7,$d=3e3,_A=.3,Dd=160,NA=new Set(["answer","body","content","data","error","message","markdown","output","response","result","stderr","stdout","text","transcript"]),CA=["context_window","contextWindow","context_length","contextLength","max_context_length","maxContextLength","max_input_tokens","maxInputTokens"],TA=["max_tokens","maxTokens","max_completion_tokens","maxCompletionTokens","max_output_tokens","maxOutputTokens"],EA=[{family:"OpenAI GPT-4.1",tokens:1047576,mode:"prefix",patterns:["gpt-4.1"]},{family:"OpenAI GPT-4o",tokens:128e3,mode:"prefix",patterns:["gpt-4o"]},{family:"OpenAI o-series",tokens:128e3,mode:"prefix",patterns:["o1","o3","o4"]},{family:"Anthropic Claude",tokens:2e5,mode:"prefix",patterns:["claude-"]},{family:"DeepSeek V4",tokens:1048576,mode:"prefix",patterns:["deepseek-v4-pro","deepseek-v4-flash"]},{family:"DeepSeek",tokens:64e3,mode:"prefix",patterns:["deepseek-"]},{family:"MiniMax M3",tokens:1048576,mode:"includes",patterns:["minimax-m3"]},{family:"MiniMax M2.7",tokens:204800,mode:"includes",patterns:["minimax-m2.7"]},{family:"MiniMax M2.5/M2.1",tokens:196608,mode:"includes",patterns:["minimax-m2.5","minimax-m2.1"]},{family:"GLM-5.2",tokens:1048576,mode:"prefix",patterns:["glm-5.2"]},{family:"GLM-5",tokens:202752,mode:"prefix",patterns:["glm-5","glm-5.1"]}],RA={system:"System",user:"User messages",assistant:"Assistant messages",tool:"Tool results",tools:"Tool definitions"};function MA(e){if(typeof e=="number")return Number.isFinite(e)&&e>0?Math.floor(e):null;if(typeof e=="string"){const t=Number(e);if(Number.isFinite(t)&&t>0)return Math.floor(t)}return null}function lg(e,t){for(const n of t){const r=MA(Q(e,n));if(r!==null)return r}return null}function IA(e){const t=Q(e,"model");if(typeof t!="string")return null;const n=t.trim();return n===""?null:n}function PA(e,t){switch(t.mode){case"prefix":return t.patterns.some(n=>e.startsWith(n));case"includes":return t.patterns.some(n=>e.includes(n))}}function AA(e,t,n=[]){const r=lg(t,CA);if(r!==null)return{tokens:r,label:"Request metadata",source:"request"};const o=AM(e,n);if(o!==null)return{tokens:o.tokens,label:`${o.providerName} config`,source:"provider"};if(e===null)return{tokens:null,label:"Unknown model",source:"unknown"};const i=e.trim().toLowerCase().replace(/\s+/g,"-");for(const a of EA)if(PA(i,a))return{tokens:a.tokens,label:`${a.family} local rule`,source:"model-rule"};return{tokens:null,label:"No local rule",source:"unknown"}}function OA(e){return e<0?0:e>1?1:e}function zA(e){return e===null?"unknown":e>=og?"danger":e>=rg?"watch":"ok"}function LA(e,t){return e.filter(n=>n.role===t).reduce((n,r)=>n+r.size,0)}function $A(e,t){return["system","user","assistant","tool","tools"].map(r=>{const o=LA(e,r);return{role:r,label:RA[r],tokens:o,percent:t>0?o/t:0}}).filter(r=>r.tokens>0).sort((r,o)=>o.tokens-r.tokens)}function ll(e){return e.replace(/\s+/g," ").trim().toLowerCase()}function DA(e){const t=e.replace(/\s+/g," ").trim();return t.length<=Dd?t:`${t.slice(0,Dd-3)}...`}function FA(e){return{role:e.role,label:e.label,path:e.path,tokens:e.tokens,characters:e.characters}}function UA(e){return{role:e.role,label:e.label,path:e.path,tokens:e.size,characters:e.characters,text:e.text}}function BA(e){const t=e.trim();return t.startsWith("{")||t.startsWith("[")}function qA(e){if(!BA(e))return null;try{return JSON.parse(e)}catch{return null}}function HA(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function VA(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t]??"";if(!(n.startsWith("[")&&n.endsWith("]")))return n}return null}function WA(e){const t=VA(e);return t===null?!1:NA.has(HA(t))}function ZA(e){return e.map(t=>t.startsWith("[")?t:`.${t}`).join("").replace(/^\./,"")}function KA(e,t,n){const r=fc(t);if(r<ag)return null;const o=pc(t);return o<ig?null:{role:e.role,label:`${e.label} ${ZA(n)}`,path:e.path,tokens:o,characters:r,text:t}}function cl({value:e,segment:t,path:n,depth:r,candidates:o}){if(!(o.length>=wA)&&!(r>yA)){if(typeof e=="string"){if(!WA(n))return;const i=KA(t,e,n);i!==null&&o.push(i);return}if(Array.isArray(e)){e.forEach((i,a)=>cl({value:i,segment:t,path:[...n,`[${String(a)}]`],depth:r+1,candidates:o}));return}mc(e)&&Object.entries(e).forEach(([i,a])=>cl({value:a,segment:t,path:[...n,i],depth:r+1,candidates:o}))}}function GA(e){const t=UA(e),n=qA(e.text);if(n===null)return[t];const r=[];cl({value:n,segment:e,path:[],depth:0,candidates:r});const o=ll(e.text),i=new Set([o]),a=r.filter(l=>{const u=ll(l.text);return u===""||i.has(u)?!1:(i.add(u),!0)});return[t,...a]}function JA(e){const t=new Map;for(const r of e){const o=GA(r);for(const i of o){if(i.tokens<ig||i.characters<ag)continue;const a=ll(i.text);if(a==="")continue;const l=t.get(a);if(l===void 0){t.set(a,{tokens:i.tokens,candidates:[i]});continue}t.set(a,{tokens:l.tokens+i.tokens,candidates:[...l.candidates,i]})}}const n=[];for(const r of t.values()){if(r.candidates.length<2)continue;const o=r.candidates[0]??null;if(o===null)continue;const i=r.tokens-o.tokens;n.push({key:`${o.path}:${o.label}:${String(r.candidates.length)}:${String(r.tokens)}`,count:r.candidates.length,totalTokens:r.tokens,repeatedTokens:i,preview:DA(o.text),firstLabel:o.label,segments:r.candidates.map(FA)})}return n.sort((r,o)=>o.repeatedTokens-r.repeatedTokens||o.totalTokens-r.totalTokens)}function YA(e){if(e.length===0)return null;const t=e.length,n=e.reduce((o,i)=>o+i.count,0),r=e.reduce((o,i)=>o+i.repeatedTokens,0);return{kind:"duplicate",severity:r>=al?"danger":"watch",title:"Duplicate context",detail:`${String(n)} repeated blocks across ${String(t)} group${t===1?"":"s"}, ~${String(r)} repeated tokens.`}}function XA(e){return e.reduce((t,n)=>t+n.repeatedTokens,0)}function QA(e,t,n){const r=[],o=e.find(u=>u.role==="tools")??null;o!==null&&(o.tokens>=al||o.percent>=vA&&o.tokens>=$d)&&r.push({kind:"tool-schema",severity:o.tokens>=al?"danger":"watch",title:"Large tool schema",detail:`Tool definitions take ${Math.round(o.percent*100)}% of request context.`});const i=e.find(u=>u.role==="system")??null;i!==null&&i.tokens>=$d&&i.percent>=_A&&r.push({kind:"system-heavy",severity:"watch",title:"Large system prompt",detail:`System instructions take ${Math.round(i.percent*100)}% of request context.`});const a=e.filter(u=>u.role==="user"||u.role==="assistant"||u.role==="tool").reduce((u,d)=>u+d.tokens,0),l=t>0?a/t:0;return n>=jA&&(a>=kA||l>=SA)&&r.push({kind:"history-bloat",severity:l>=.85?"danger":"watch",title:"Conversation history growth",detail:`${String(n)} message blocks take ${Math.round(l*100)}% of request context.`}),r}function eO({risk:e,contextWindow:t,diagnostics:n,duplicateGroups:r}){let i=new Set(n.map(u=>u.kind)).size;(e==="watch"||e==="danger")&&(i+=1),t.source==="unknown"&&(i+=1);const a=n.some(u=>u.severity==="danger");return{level:e==="danger"||a?"risk":i>0?"optimizable":"ok",opportunityCount:i,reclaimableTokens:XA(r)}}function tO({segments:e,inputTokens:t,parsed:n,model:r,providers:o=[]}){const i=e.reduce((_,N)=>_+N.size,0),a=r??IA(n),l=t??i,u=lg(n,TA),d=AA(a,n,o),p=u??0,f=d.tokens===null?null:l+p,m=d.tokens===null?null:d.tokens-l,h=d.tokens===null?null:d.tokens-l-p,g=d.tokens===null||f===null?null:OA(f/d.tokens),v=$A(e,i),b=v[0]??null,w=e.filter(_=>_.role!=="tools").length,y=JA(e),j=YA(y),k=QA(v,i,w);j!==null&&k.unshift(j);const S=zA(g);return{model:a,contextWindow:d,estimatedInputTokens:l,outputReserveTokens:u,windowUsedTokens:f,remainingInputTokens:m,remainingAfterReserveTokens:h,usagePercent:g,riskLevel:S,roleUsages:v,largestRole:b,diagnostics:k,duplicateGroups:y,health:eO({risk:S,contextWindow:d,diagnostics:k,duplicateGroups:y})}}const l6={watch:rg,danger:og},Fd=new WeakMap;function nO(e){return e.map(t=>{const n=t.modelMetadata?.map(r=>`${r.model}:${String(r.contextWindow??"")}`).join(",")??"";return`${t.id}:${t.updatedAt}:${t.models.join(",")}:${n}`}).join("|")}function sO(e){if(e===null)return null;try{return JSON.parse(e)}catch{return null}}function rO(e){return{role:e.role,label:e.label,size:e.tokens,characters:e.tokens*4,text:"",path:`role:${e.role}`}}function oO(e,t){const n=sO(e.rawRequestBody);if(n===null)return null;const o=t0(ir(e)).anatomySegments(n);if(o===null)return null;const i=tO({segments:o,inputTokens:e.inputTokens??null,parsed:n,model:e.model,providers:t}),a=i.model??e.model??"Unknown model",l=i.roleUsages.map(rO);return{logId:e.id,model:a,timestamp:e.timestamp,contextWindow:i.contextWindow,estimatedInputTokens:i.estimatedInputTokens,windowUsedTokens:i.windowUsedTokens,usagePercent:i.usagePercent,riskLevel:i.riskLevel,health:i.health,diagnostics:i.diagnostics.map(u=>u.title),roleSegments:l,roleTotalTokens:l.reduce((u,d)=>u+d.size,0)}}function iO(e,t,n){const r=Fd.get(e);if(r!==void 0&&r.id===e.id&&r.rawRequestBody===e.rawRequestBody&&r.inputTokens===e.inputTokens&&r.model===e.model&&r.path===e.path&&r.apiFormat===e.apiFormat&&r.timestamp===e.timestamp&&r.providersSignature===n)return r.snapshot;const o=oO(e,t);return Fd.set(e,{id:e.id,rawRequestBody:e.rawRequestBody,inputTokens:e.inputTokens,model:e.model,path:e.path,apiFormat:e.apiFormat,timestamp:e.timestamp,providersSignature:n,snapshot:o}),o}function aO(e,t){return e.usagePercent!==null&&t.usagePercent!==null?e.usagePercent>t.usagePercent:e.usagePercent!==null&&t.usagePercent===null?!0:e.usagePercent===null&&t.usagePercent!==null?!1:e.estimatedInputTokens>t.estimatedInputTokens}function Ud(e){switch(e){case"danger":return 4;case"watch":return 3;case"unknown":return 2;case"ok":return 1}}function lO(e,t){const n=Ud(t.latest.riskLevel)-Ud(e.latest.riskLevel);if(n!==0)return n;const r=e.peak.usagePercent??-1,i=(t.peak.usagePercent??-1)-r;return i!==0?i:t.latest.logId-e.latest.logId}function cO(e,t){return e.usagePercent===null||t.usagePercent===null?null:(t.usagePercent-e.usagePercent)*100}function uO(e){for(let t=1;t<e.length;t++){const n=e[t-1],r=e[t];if(!(n===void 0||r===void 0)&&n.id>r.id)return[...e].sort((o,i)=>o.id-i.id)}return e}function dO(e,t=[]){const n=uO(e),r=nO(t),o=new Map;for(const a of n){const l=iO(a,t,r);if(l===null)continue;const u=o.get(l.model);if(u===void 0){o.set(l.model,{model:l.model,requestCount:1,first:l,latest:l,peak:l});continue}o.set(l.model,{model:u.model,requestCount:u.requestCount+1,first:u.first,latest:l,peak:aO(l,u.peak)?l:u.peak})}return{models:[...o.values()].map(a=>({model:a.model,requestCount:a.requestCount,first:a.first,latest:a.latest,peak:a.peak,trendPercent:cO(a.first,a.latest)})).sort(lO)}}function Un(e){return e.length<=30?e:`${e.slice(0,12)}...${e.slice(-12)}`}function pO(e){const t=new Map;for(const n of e)for(let r=0;r<n.logs.length;r+=1){const o=n.logs[r];o!==void 0&&t.set(o.id,r+1)}return t}function Bd(e,t){return t.get(e.id)??e.id}function qd(e){let t=0,n=0;for(const r of e)r.inputTokens!==null&&(t+=r.inputTokens),r.outputTokens!==null&&(n+=r.outputTokens);return{totalIn:t,totalOut:n}}function fO(e){for(const t of e)if(t.userAgent!==null&&t.userAgent!==void 0&&t.userAgent!=="")return t.userAgent;return null}function mO(e,t){const n=e[0],r=e[e.length-1];return n===void 0||r===void 0?null:Qo(n.timestamp,r.timestamp,t)}function hO(e){switch(e){case"cool":return"text-cyan-100";case"danger":return"text-red-100";case"watch":return"text-amber-100";case"neutral":return"text-foreground"}}function gO(e){switch(e){case"rolling":return"cool";case"failed":return"danger";case"watch":return"watch";case"clear":return"neutral"}}function xO(e){return e.pending>0?`${e.pending} pending / ${e.failures} failed`:e.lengthStops>0?`${e.lengthStops} output limit / ${e.failures} failed`:`${e.failures} failed / ${e.slow} slow`}function ps({label:e,value:t,detail:n,icon:r,tone:o="neutral"}){return s.jsxs("div",{className:"min-w-0 border-t border-white/10 px-4 py-3",children:[s.jsxs("div",{className:"flex items-center gap-1 text-[10px] uppercase text-muted-foreground",children:[r,e]}),s.jsx("div",{className:$("mt-2 font-mono text-sm font-semibold",hO(o)),children:t}),s.jsx("div",{className:"mt-1 font-mono text-[11px] leading-snug text-muted-foreground",children:n})]})}function bO({stats:e}){return e.requests===0?null:s.jsxs("div",{className:"border border-border bg-card shadow-sm mb-4 overflow-hidden rounded-[8px]",children:[s.jsx("div",{className:"px-4 py-3",children:s.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex items-center gap-2 text-[10px] font-semibold uppercase text-muted-foreground",children:[s.jsx(gw,{className:"size-3.5 text-slate-300"}),"Flight Recorder"]}),s.jsx("div",{className:"mt-2 min-w-0 font-mono text-sm font-semibold text-foreground",children:e.modelLabel})]}),s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-4 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsx("span",{className:"min-w-0 font-mono",children:e.providerLabel}),s.jsx("span",{className:"min-w-0 font-mono",children:e.timeRange??"Timeline pending"})]})]})}),s.jsxs("div",{className:"grid grid-cols-2 border-t border-white/10 md:grid-cols-3 2xl:grid-cols-6",children:[s.jsx(ps,{label:"Status",value:e.statusLabel,detail:xO(e),tone:gO(e.status)}),s.jsx(ps,{label:"Turns",value:String(e.turns),detail:e.finishLabel,icon:s.jsx(Ww,{className:"size-3 text-muted-foreground"}),tone:e.finishTone}),s.jsx(ps,{label:"Requests",value:String(e.requests),detail:`${e.failures} failed / ${e.slow} slow`,icon:s.jsx(Ca,{className:"size-3 text-muted-foreground"}),tone:e.failures>0?"danger":"neutral"}),s.jsx(ps,{label:"Peak",value:e.slowestLabel,detail:e.slowestDetail,icon:s.jsx(o5,{className:"size-3 text-muted-foreground"}),tone:e.slow>0?"watch":"neutral"}),s.jsx(ps,{label:"Tokens",value:e.tokenLabel,detail:e.heaviestDetail,icon:s.jsx(zl,{className:"size-3 text-muted-foreground"})}),s.jsx(ps,{label:"Outcome",value:e.outcomeLabel,detail:e.outcomeDetail,tone:e.outcomeTone})]})]})}function Xs(e){if(e===null)return"Unknown";const t=e*100;return t>=10?`${t.toFixed(0)}%`:t>=1?`${t.toFixed(1)}%`:t>0?"<1%":"0%"}function vO(e){return e===null?"n/a":Math.abs(e)<.1?"0%":`${e>0?"+":""}${e.toFixed(1)}%`}function ul(e){return e===null||!Number.isFinite(e)?0:Math.min(Math.max(e*100,0),100)}function yO(e,t){if(t===null)return null;const n=ul(e),r=ul(t);return r<=0||Math.abs(r-n)<.5?null:r}function wO(e){switch(e){case"danger":return"bg-red-400";case"watch":return"bg-amber-300";case"unknown":return"bg-muted-foreground/50";case"ok":return"bg-cyan-300"}}function jO(e){const t=e.latest.contextWindow.tokens;return t===null?"Context window unknown":`Context window ${np(t)}`}const kO=["score","decision","final_status","validation_pass_ratio","semantic_memory_score","opencode_exit","actual_model","run_dir","workspace","project_dir","work_dir"];function cg(e){return typeof e=="string"?e.length>0?e:null:typeof e=="number"||typeof e=="boolean"?String(e):e===null?null:JSON.stringify(e)}function ya(e,t){if(e===null)return null;const n=e.metadata[t];return n===void 0?null:cg(n)}function SO(e){const t=e.toLowerCase();return t.includes("reject")||t.includes("fail")||t.includes("error")?"border-red-400/35 bg-red-500/10 text-red-100":t.includes("partial")||t.includes("pending")||t.includes("slow")?"border-amber-300/35 bg-amber-400/10 text-amber-100":t.includes("pass")||t.includes("complete")||t.includes("accept")?"border-cyan-300/25 bg-cyan-400/10 text-cyan-100":"border-border/70 bg-background/70 text-muted-foreground"}function _O(e){const t=[];for(const n of kO){const r=e.metadata[n];if(r===void 0)continue;const o=cg(r);o!==null&&t.push({key:n,value:o})}return t}function Hd({memberships:e,defaultOpen:t=!1}){const[n,r]=c.useState(t);if(e.length===0)return null;const o=e[0],i=o?.member??null,a=ya(i,"score"),l=ya(i,"decision"),u=ya(i,"final_status"),d=[a===null?null:{label:`score ${a}`,value:a},l===null?null:{label:l,value:l},u===null?null:{label:u,value:u},i?.model===null||i?.model===void 0?null:{label:i.model,value:i.model}].filter(p=>p!==null&&p.label.length>0&&p.value.length>0);return s.jsxs("div",{className:"border border-border bg-card shadow-sm mb-3 rounded-[8px] text-xs",children:[s.jsxs("button",{type:"button",onClick:()=>r(p=>!p),className:"flex w-full items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-white/[0.04]","aria-expanded":n,children:[s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"font-semibold text-foreground",children:"Case File"}),o!==void 0&&s.jsx("span",{className:"truncate text-muted-foreground",title:o.groupTitle,children:o.groupTitle}),s.jsxs("span",{className:"font-mono text-[10px] uppercase text-muted-foreground",children:[e.length," group",e.length===1?"":"s"]})]}),d.length>0&&s.jsx("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:d.slice(0,4).map(p=>s.jsx("span",{className:$("rounded border px-1.5 py-0.5 font-mono text-[10px]",SO(p.value)),children:p.label},p.label))})]}),n?s.jsx(Al,{className:"size-4 shrink-0 text-muted-foreground"}):s.jsx(tt,{className:"size-4 shrink-0 text-muted-foreground"})]}),n&&s.jsx("div",{className:"space-y-2 border-t border-white/10 px-3 py-2",children:e.map(p=>{const f=p.member,m=_O(f);return s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"truncate font-medium text-foreground",title:p.groupTitle,children:p.groupTitle}),s.jsx("span",{className:"font-mono text-[10px] uppercase text-muted-foreground",children:p.groupStatus}),f.status!==null&&s.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:["member ",f.status]})]}),s.jsxs("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-muted-foreground",children:[s.jsx("span",{className:"font-mono",title:f.sessionId,children:Un(f.sessionId)}),f.label!==null&&s.jsx("span",{children:f.label}),f.provider!==null&&s.jsx("span",{children:f.provider}),f.model!==null&&s.jsx("span",{className:"font-mono",children:f.model}),f.runId!==null&&s.jsxs("span",{className:"font-mono",title:f.runId,children:["run ",Un(f.runId)]})]}),m.length>0&&s.jsx("div",{className:"mt-2 grid gap-1 sm:grid-cols-2 xl:grid-cols-3",children:m.map(h=>s.jsxs("div",{className:"border border-border bg-muted/40 min-w-0 rounded-md px-2 py-1",children:[s.jsx("div",{className:"font-mono text-[10px] text-muted-foreground",children:h.key}),s.jsx("div",{className:"truncate font-mono text-[11px] text-foreground",title:h.value,children:h.value})]},h.key))})]},`${p.groupId}:${f.id}`)})})]})}function eo({label:e,title:t,icon:n,disabled:r,onClick:o}){return s.jsxs("button",{type:"button",onClick:o,disabled:r,className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-45",title:t,children:[n,s.jsx("span",{children:e})]})}function Vd({logs:e,pagination:t,embedded:n=!1}){if(t===void 0)return null;const r=t.isLoading;return s.jsxs("nav",{"aria-label":"Session log pagination",className:$("flex min-h-9 flex-col gap-2 px-1 py-1 sm:flex-row sm:items-center",n?"border-t border-white/10 pt-2":"border border-border bg-card shadow-sm mb-3 rounded-[8px] px-2"),children:[s.jsxs("div",{className:"w-full min-w-0 px-1 font-mono text-[11px] text-muted-foreground sm:flex-1",children:[s.jsxs("div",{role:"status","aria-live":"polite","aria-atomic":"true",children:[yR({logs:e,pagination:t}),t.isLoading&&e.length>0&&s.jsx("span",{className:"ml-2",children:"Loading..."})]}),t.loadProgress!==void 0&&s.jsx(uo,{progress:t.loadProgress})]}),s.jsxs("div",{className:"flex w-full items-center gap-1 overflow-x-auto sm:w-auto",children:[s.jsx(eo,{label:"Oldest",title:"Load the oldest logs in this session",icon:s.jsx(nw,{className:"size-3.5"}),disabled:r||!t.hasOlder,onClick:t.onOldest}),s.jsx(eo,{label:"Older",title:"Load older logs",icon:s.jsx(Jy,{className:"size-3.5"}),disabled:r||!t.hasOlder,onClick:t.onOlder}),s.jsx(eo,{label:"Newer",title:"Load newer logs",icon:s.jsx(vt,{className:"size-3.5"}),disabled:r||!t.hasNewer,onClick:t.onNewer}),s.jsx(eo,{label:"Newest",title:"Load the newest logs in this session",icon:s.jsx(rw,{className:"size-3.5"}),disabled:r||!t.hasNewer,onClick:t.onNewest})]})]})}function NO(e){return`${e} ${e===1?"request":"requests"}`}function Wd(e){return`#${String(e)}`}function Zd(e){switch(e){case"danger":return"text-red-300";case"watch":return"text-amber-200";case"unknown":return"text-muted-foreground";case"ok":return"text-cyan-200"}}function CO(e){switch(e){case"risk":return"border-red-400/30 bg-red-500/10 text-red-100";case"optimizable":return"border-amber-400/25 bg-amber-400/8 text-amber-100";case"ok":return"border-cyan-300/25 bg-cyan-400/8 text-cyan-100"}}function TO(e){switch(e){case"risk":return"Risk";case"optimizable":return"Optimizable";case"ok":return"OK"}}const EO=10,RO=80;function MO(e){e.setAttribute("data-deep-link-highlight","true"),window.setTimeout(()=>{e.removeAttribute("data-deep-link-highlight")},1800)}function IO(e){const t=document.getElementById(`log-${String(e)}`);return t instanceof HTMLElement?(t.scrollIntoView({block:"center",behavior:J0(Y0())}),t.focus({preventScroll:!0}),MO(t),!0):!1}function ug(e){Is({logId:e,tab:"anatomy"});let t=0;const n=()=>{Is({logId:e,tab:"anatomy"}),!IO(e)&&(t+=1,t<EO&&window.setTimeout(n,RO))};window.setTimeout(n,0)}function Kd({command:e}){const[t,n]=c.useState(!1),r=c.useCallback(()=>{It(e).then(o=>{o&&(n(!0),setTimeout(()=>n(!1),2e3))})},[e]);return s.jsxs("div",{"data-command-example":"true",className:sR,children:[s.jsx("pre",{className:rR,children:e}),s.jsx("button",{type:"button",onClick:r,className:"shrink-0 cursor-pointer rounded-sm text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Copy command",children:t?s.jsx(Ge,{className:"size-4"}):s.jsx(zt,{className:"size-4"})})]})}function Gd({label:e,children:t,className:n}){return s.jsxs("section",{className:$("bg-white/[0.028] shadow-[inset_0_1px_0_rgba(255,255,255,0.035)] rounded-[8px]",n),children:[s.jsx("div",{className:"px-3 pt-3",children:s.jsx("div",{className:"font-mono text-[10px] font-semibold uppercase tracking-[0.14em] text-white/35",children:e})}),s.jsx("div",{className:"p-3 pt-2",children:t})]})}function to({label:e,value:t}){return s.jsxs("div",{className:"bg-black/20 min-w-0 rounded-md px-2 py-2 shadow-[inset_0_1px_0_rgba(255,255,255,0.035)]",children:[s.jsx("div",{className:"truncate font-mono text-lg font-semibold leading-6 text-slate-100",children:t}),s.jsx("div",{className:"mt-0.5 truncate font-mono text-[10px] uppercase tracking-[0.12em] text-white/35",children:e})]})}function PO(){const{themeMode:e,setThemeMode:t}=A5();return s.jsxs("div",{className:"border-border/70 bg-muted/70 inline-flex h-8 items-center rounded-md border p-0.5 shadow-sm","aria-label":"Theme mode",role:"group",children:[s.jsx("button",{type:"button",onClick:()=>t("light"),className:$("inline-flex size-7 items-center justify-center rounded-[6px] text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",e==="light"&&"bg-background text-foreground shadow-sm"),"aria-label":"Use light mode","aria-pressed":e==="light",title:"Light mode",children:s.jsx(n5,{className:"size-3.5"})}),s.jsx("button",{type:"button",onClick:()=>t("eye-care"),className:$("inline-flex size-7 items-center justify-center rounded-[6px] text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",e==="eye-care"&&"bg-background text-foreground shadow-sm"),"aria-label":"Use eye care mode","aria-pressed":e==="eye-care",title:"Eye care mode",children:s.jsx(pf,{className:"size-3.5"})}),s.jsx("button",{type:"button",onClick:()=>t("dark"),className:$("inline-flex size-7 items-center justify-center rounded-[6px] text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",e==="dark"&&"bg-background text-foreground shadow-sm"),"aria-label":"Use dark mode","aria-pressed":e==="dark",title:"Dark mode",children:s.jsx(gj,{className:"size-3.5"})})]})}function AO({visible:e,onToggle:t}){const n=e?"Hide Inspector pet":"Summon Inspector pet";return s.jsx("button",{type:"button",onClick:t,className:$("border-border/70 bg-muted/70 inline-flex size-8 shrink-0 items-center justify-center rounded-md border text-muted-foreground shadow-sm transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",e&&"bg-background text-amber-500 shadow-sm"),"aria-label":n,"aria-pressed":e,title:n,children:s.jsx(sp,{className:$("size-4 transition-opacity",!e&&"opacity-45")})})}function OO({preference:e,resolvedScale:t,onChange:n}){const r=Pg(t),o=e==="auto"?`Auto (${r})`:`${e}%`;return s.jsxs(cr,{value:e,onValueChange:i=>n(Qd(i)),children:[s.jsxs(ur,{size:"sm",className:"bg-white/[0.035] hover:bg-white/[0.065] h-8 min-w-[4rem] justify-center gap-1 border-0 px-2 py-0 text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] [&>svg:last-child]:hidden","aria-label":`Interface size: ${o}`,children:[s.jsx(Ny,{className:"size-3.5"}),s.jsx("span",{className:"font-mono text-[10px] font-semibold tabular-nums",children:r})]}),s.jsxs(dr,{align:"end",children:[s.jsx(ct,{value:"auto",children:"Auto"}),s.jsx(ct,{value:"100",children:"100%"}),s.jsx(ct,{value:"125",children:"125%"}),s.jsx(ct,{value:"150",children:"150%"})]})]})}const dg="agent-inspector.detailsPanelCollapsed",pg="agent-inspector.pet.visible";function zO(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(dg);return e===null||e==="1"}function LO(){if(typeof window>"u")return!0;try{return window.localStorage.getItem(pg)!=="0"}catch{return!0}}function Jd({label:e,logId:t}){return s.jsxs("button",{type:"button",onClick:()=>ug(t),className:"inline-flex h-5 items-center rounded px-1 font-mono text-[10px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",title:`Open Context for ${Wd(t)}`,children:[e," ",Wd(t)]})}function $O({latestPercent:e,peakPercent:t,risk:n,onOpenContext:r}){const o=ul(e),i=yO(e,t),a=t===null?`Latest context window usage ${Xs(e)}`:`Latest context window usage ${Xs(e)}, peak ${Xs(t)}`;return s.jsx("button",{type:"button",onClick:r,className:"group block w-full rounded-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1","aria-label":`${a}. Open latest Context details`,title:"Open latest Context details",children:s.jsxs("span",{className:"relative block h-2.5 overflow-hidden rounded-full border border-white/10 bg-black/25 transition-colors group-hover:border-cyan-200/35",role:"meter","aria-label":a,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(o),children:[s.jsx("span",{className:$("block h-full rounded-full transition-[width]",wO(n)),style:{width:`${o}%`}}),i!==null&&s.jsx("span",{className:"absolute top-0 h-full w-0.5 rounded-full bg-amber-100/75 shadow-[0_0_0_1px_rgba(0,0,0,0.25)]",style:{left:`calc(${i}% - 0.5px)`},"aria-hidden":"true"})]})})}function DO({summary:e}){const t=e.trendPercent,n=t===null||Math.abs(t)<.1?null:t>0?zy:Ry,r=e.latest.diagnostics[0]??null,o=Xs(e.latest.usagePercent),i=Xs(e.peak.usagePercent),a=()=>{ug(e.latest.logId)};return s.jsxs("div",{className:"grid gap-x-4 gap-y-2 border-t border-white/10 py-2 first:border-t-0 lg:grid-cols-[minmax(180px,1fr)_minmax(260px,1fr)_minmax(260px,1.4fr)]",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("button",{type:"button",onClick:a,className:"min-w-0 truncate rounded-sm text-left font-mono font-semibold text-foreground transition-colors hover:text-cyan-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",title:`Open latest Context for ${e.model}`,children:e.model}),s.jsx("span",{className:$("inline-flex h-5 shrink-0 items-center rounded border px-1.5 font-mono text-[10px]",CO(e.latest.health.level)),children:TO(e.latest.health.level)})]}),s.jsxs("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsx("span",{children:NO(e.requestCount)}),s.jsx("span",{children:jO(e)})]})]}),s.jsxs("div",{className:"min-w-0 space-y-2 text-xs",children:[s.jsx($O,{latestPercent:e.latest.usagePercent,peakPercent:e.peak.usagePercent,risk:e.latest.riskLevel,onOpenContext:a}),s.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Latest"}),s.jsx("div",{className:$("mt-0.5 font-mono",Zd(e.latest.riskLevel)),children:o}),s.jsx(Jd,{label:"Log",logId:e.latest.logId})]}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Peak"}),s.jsx("div",{className:$("mt-0.5 font-mono",Zd(e.peak.riskLevel)),children:i}),s.jsx(Jd,{label:"Log",logId:e.peak.logId})]}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Trend"}),s.jsxs("div",{className:"mt-0.5 flex items-center gap-1 font-mono text-foreground",children:[n!==null&&s.jsx(n,{className:$("size-3",t!==null&&t>0?"text-amber-300":"text-cyan-300")}),vO(t)]}),s.jsx("div",{className:"h-5","aria-hidden":"true"})]})]})]}),s.jsxs("div",{className:"min-w-0 space-y-1.5",children:[s.jsx(bA,{segments:e.latest.roleSegments,totalTokens:e.latest.roleTotalTokens,showLabels:!1}),s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsxs("span",{className:"font-mono",children:["~",Me(e.latest.estimatedInputTokens)," input"]}),e.latest.windowUsedTokens!==null&&s.jsxs("span",{className:"font-mono",children:["~",Me(e.latest.windowUsedTokens)," used"]}),r!==null&&s.jsx("span",{className:"truncate",children:r})]})]})]})}function FO({summary:e}){return e.models.length===0?null:s.jsxs("div",{className:"mt-3 border-t border-white/10 pt-2",children:[s.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[s.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-normal text-muted-foreground",children:"Session Context"}),s.jsxs("div",{className:"font-mono text-[10px] text-muted-foreground",children:[e.models.length," model",e.models.length===1?"":"s"]})]}),s.jsx("div",{className:"max-h-52 overflow-y-auto pr-1",children:e.models.map(t=>s.jsx(DO,{summary:t},t.model))})]})}function UO(e){const t=e.models.filter(r=>r.latest.health.level==="risk").length;if(t>0)return`${t} risk`;const n=e.models.filter(r=>r.latest.health.level==="optimizable").length;return n>0?`${n} optimizable`:`${e.models.length} model${e.models.length===1?"":"s"}`}function BO({label:e,logs:t,totalIn:n,totalOut:r,timeDisplayFormat:o,contextSummary:i,showBackLink:a}){const[l,u]=c.useState(!1),[d,p]=c.useState(!1),f=c.useMemo(()=>mO(t,o),[t,o]),m=c.useMemo(()=>fO(t),[t]),h=c.useMemo(()=>UO(i),[i]),g=c.useCallback(()=>{It(window.location.href).then(v=>{v&&(u(!0),setTimeout(()=>u(!1),2e3))})},[]);return s.jsxs("div",{className:"border border-border bg-card shadow-sm mb-3 rounded-[8px] px-3 py-2 text-xs",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a&&s.jsx("a",{href:"/",className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground","aria-label":"Back to all sessions",title:"Back to all sessions",children:s.jsx(Ay,{className:"size-3.5"})}),s.jsxs("div",{className:"min-w-[180px] flex-1",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("span",{className:"font-mono font-semibold text-purple-400/90 truncate",title:e,children:Un(e)}),m!==null&&s.jsx("span",{className:"font-mono text-muted-foreground truncate max-w-[220px]",title:m,children:m})]}),s.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-muted-foreground",children:[s.jsxs("span",{children:[t.length," request",t.length!==1?"s":""]}),f!==null&&s.jsx("span",{children:f}),(n>0||r>0)&&s.jsxs("span",{className:"font-mono",children:[Me(n)," in / ",Me(r)," out"]})]})]}),i.models.length>0&&s.jsxs("button",{type:"button",onClick:()=>p(v=>!v),className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-mono text-[11px] text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground","aria-expanded":d,title:d?"Hide context details":"Show context details",children:[s.jsx("span",{children:h}),d?s.jsx(Al,{className:"size-3.5"}):s.jsx(tt,{className:"size-3.5"})]}),s.jsx("button",{type:"button",onClick:g,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground","aria-label":l?"Copied session link":"Copy session link",title:l?"Copied session link":"Copy session link",children:l?s.jsx(Ge,{className:"size-3.5"}):s.jsx(zt,{className:"size-3.5"})})]}),d&&s.jsx(FO,{summary:i})]})}function qO({logs:e,sessions:t,selectedSession:n,selectedModel:r,onSessionChange:o,onClearAll:i,onDeleteCurrentView:a,onReloadSession:l,onClearGroup:u,onNotify:d,onImportLogs:p,viewMode:f,captureMode:m,strip:h,slowResponseThresholdSeconds:g,timeDisplayFormat:v,isLoading:b=!1,liveConnection:w,onRetryLiveConnection:y,onStopLiveConnection:j,pagination:k,sessionLoadProgress:S,sessionLoadError:_,sessionMemberships:N=[],hideSessionFilter:P=!1,pinnedSessionId:A}){const{totalIn:M,totalOut:C}=c.useMemo(()=>qd(e),[e]),{providers:I}=$l(),{uiScalePreference:F,resolvedUiScale:U,setUiScalePreference:Y}=O5(),[Z,V]=c.useState(null),[H,z]=c.useState(null),[X,J]=c.useState(!1),[be,ve]=c.useState(!1),[oe,D]=c.useState(null),[je,te]=c.useState(null),[ke,Se]=c.useState(!1),[le,ue]=c.useState(!1),[me,we]=c.useState(!0),[Ee,Ye]=c.useState(!1),[De,Ve]=c.useState(!0),[wt,Qt]=c.useState(!1),[Xe,Ue]=c.useState(null),[Ie,Ae]=c.useState(null),q=c.useRef(null),ne=c.useRef(null),Te=c.useRef(null),he=c.useRef(null),xe=c.useRef(0);pA(q,ne,{pageWide:!0});const Oe=c.useCallback(()=>{xe.current+=1,he.current?.abort(),he.current=null,V(null),z(null)},[]);c.useEffect(()=>()=>{xe.current+=1,he.current?.abort(),he.current=null},[]),c.useEffect(()=>{we(zO()),Ye(!0)},[]),c.useEffect(()=>{Ee&&window.localStorage.setItem(dg,me?"1":"0")},[me,Ee]),c.useEffect(()=>{Ve(LO()),Qt(!0)},[]),c.useEffect(()=>{if(wt)try{window.localStorage.setItem(pg,De?"1":"0")}catch{}},[wt,De]),c.useEffect(()=>{if(A===void 0){document.title="Agent Inspector";return}const qe=e.length===1?"1 req":`${e.length} req`;document.title=`${Un(A)} - ${qe} - Agent Inspector`},[e.length,A]);const G=c.useCallback(async qe=>{he.current?.abort();const Tt=new AbortController;he.current=Tt;const Et=xe.current+1;xe.current=Et,V(qe),z(null);try{const tn=await P5(e,qe,{signal:Tt.signal});if(xe.current!==Et)return;if(!tn.ok){if(tn.canceled===!0)return;d!==void 0?d({message:tn.message,tone:"error"}):z(tn.message)}}finally{xe.current===Et&&(he.current=null,V(null))}},[e,d]),E=c.useCallback(qe=>{if(iR(qe)){J(!0);return}G(qe)},[G]),L=c.useCallback(()=>{J(!1),G("redacted")},[G]),K=c.useCallback(()=>{J(!1),G("raw")},[G]),ie=c.useCallback(()=>{Te.current?.click()},[]),de=c.useCallback(qe=>{const Tt=qe.currentTarget.files?.[0];qe.currentTarget.value="",!(Tt===void 0||p===void 0)&&(ve(!0),te(null),D(null),p(Tt).then(Et=>{const tn=Et.skipped>0?`, skipped ${String(Et.skipped)}`:"",Rc=`Imported ${String(Et.imported)} logs as ${Et.sessionId}${tn}.`;d!==void 0?d({message:Rc,tone:"success"}):D(Rc)}).catch(Et=>{const tn=Et instanceof Error?Et.message:"Failed to import logs";d!==void 0?d({message:tn,tone:"error"}):te(tn)}).finally(()=>{ve(!1)}))},[p,d]);c.useEffect(()=>{Oe(),Ae(null),Ue(null)},[Oe,n,r]);const se=c.useCallback(()=>{Oe(),D(null),te(null),Ae(null),i()},[Oe,i]),ye=c.useCallback(()=>{Se(!0)},[]),ce=c.useCallback(()=>{Oe(),D(null),te(null),Ae(null),a!==void 0&&(ue(!0),a().then(()=>{Se(!1)}).catch(qe=>{const Tt=qe instanceof Error?qe.message:"Failed to delete stored logs";d!==void 0?d({message:Tt,tone:"error"}):te(Tt)}).finally(()=>{ue(!1)}))},[Oe,a,d]),dt=c.useCallback(()=>{l!==void 0&&(Oe(),D(null),te(null),Ae(null),l())},[Oe,l]),In=c.useCallback(()=>{Ae(null)},[]),Pe=c.useCallback(()=>{we(qe=>!qe)},[]),en=c.useCallback(()=>{Ve(qe=>!qe)},[]),at=c.useMemo(()=>Xe===null?null:new Set(Xe.logIds),[Xe]),Ct=c.useMemo(()=>at===null?e:e.filter(qe=>at.has(qe.id)),[at,e]),Be=c.useMemo(()=>uT(Ct),[Ct]),es=c.useMemo(()=>pO(Be),[Be]),Pn=c.useMemo(()=>vR({pinnedSessionId:A,selectedSession:n,sessions:t,logs:e}),[e,A,n,t]),ts=Pn?.logs??[],Ds=Pn!==null&&ts.length>0,{totalIn:_c,totalOut:Nc}=c.useMemo(()=>qd(ts),[ts]),mg=c.useMemo(()=>dO(ts,I),[ts,I]),hg=c.useMemo(()=>LP(Be),[Be]),Ci=c.useMemo(()=>dE(Be),[Be]),Cc=aR(m,e.length),gg=A!==void 0,xg=e.length>0,bg=a!==void 0&&(e.length>0||n!=="__all__"),vg=n==="__all__"?"all sessions":"this session",yg=n==="__all__"?"Deletes every stored log, streaming chunk, and session archive entry across all sessions.":"Deletes every stored log, streaming chunk, and session archive entry for this session, including history that is not currently loaded.",wg=e.length===0?"Load":"Reload",Ti=Ds&&Pn!==null?Un(Pn.label):n==="__all__"?"All sessions":Un(n),Tc=HP(w),Ei=VP(Tc),jg=c.useMemo(()=>bR({logs:Ct,conversationGroups:Be,isLoading:b,timeDisplayFormat:v,slowResponseThresholdSeconds:g}),[Ct,Be,b,g,v]),kg=c.useCallback(qe=>{const Tt=Ci.get(qe.id);Tt!==void 0&&Ae([Tt,qe])},[Ci]),Ec=A!==void 0?A:n==="__all__"?null:n;return s.jsxs("div",{className:"bg-background min-h-screen w-full overflow-x-clip text-foreground lg:h-screen lg:flex lg:flex-col lg:overflow-hidden",children:[s.jsx(UP,{liveConnection:w,alertsAction:s.jsx(GR,{}),settingsAction:s.jsx(OI,{})}),s.jsxs("button",{type:"button",onClick:Pe,className:$("group fixed top-1/2 right-3 z-40 inline-flex h-14 w-7 -translate-y-1/2 items-center justify-center rounded-l-md border border-white/[0.08] bg-background/90 text-muted-foreground shadow-[0_12px_34px_rgba(0,0,0,0.26),inset_0_1px_0_rgba(255,255,255,0.06)] backdrop-blur transition-[right,background-color,color,border-color] duration-200 motion-reduce:transition-none hover:border-white/[0.16] hover:bg-white/[0.07] hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",me?"right-3":"lg:right-[calc(21.25rem-0.875rem)] xl:right-[calc(22.5rem-0.875rem)]"),"aria-label":me?"Show details panel":"Hide details panel",title:me?"Show details panel":"Hide details panel",children:[s.jsx("span",{className:"absolute left-1 top-2 bottom-2 w-px rounded-full bg-white/[0.16] transition-colors group-hover:bg-white/[0.28]"}),me?s.jsx(Tj,{className:"size-3.5"}):s.jsx(Nj,{className:"size-3.5"})]}),wt&&De&&s.jsx(po,{feature:"Inspector Pet",children:s.jsx(c.Suspense,{fallback:null,children:s.jsx(s4,{logs:e})})}),s.jsxs("div",{className:$("grid w-full min-w-0 grid-cols-1 lg:min-h-0 lg:flex-1 lg:overflow-hidden",me?"lg:grid-cols-[minmax(0,1fr)]":"lg:grid-cols-[minmax(0,1fr)_21.25rem] xl:grid-cols-[minmax(0,1fr)_22.5rem]"),children:[!me&&s.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:s.jsxs("div",{className:"space-y-4 p-4",children:[s.jsx(zP,{currentSessionId:Ec,logCount:e.length,onResultChange:Ue}),s.jsxs(Gd,{label:"Current scope",children:[s.jsxs("div",{className:"mb-2 rounded-md bg-black/20 px-3 py-2 shadow-[inset_0_1px_0_rgba(255,255,255,0.035)]",children:[s.jsx("div",{className:"truncate font-mono text-xs font-semibold text-cyan-100",title:Ti,children:Ti}),s.jsx("div",{className:"mt-1 text-[11px] text-muted-foreground",children:gg?"Pinned session":"Live Inspector data"})]}),s.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[s.jsx(to,{label:Xe===null?"Requests":"Results",value:Ct.length}),s.jsx(to,{label:"Sessions",value:t.length}),s.jsx(to,{label:"Input",value:Me(Ds?_c:M)}),s.jsx(to,{label:"Output",value:Me(Ds?Nc:C)})]}),S!==void 0&&s.jsx("div",{className:"mt-2 rounded-md bg-black/20 px-2 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:s.jsx(uo,{progress:S})})]}),s.jsx(Gd,{label:"Tools",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[s.jsx(PO,{}),s.jsx(OO,{preference:F,resolvedScale:U,onChange:Y}),s.jsx(gM,{}),s.jsx(xP,{currentSessionId:Ec,logCount:e.length})]})}),Ds&&Pn!==null&&s.jsx(BO,{label:Pn.label,logs:ts,totalIn:_c,totalOut:Nc,timeDisplayFormat:v,contextSummary:mg,showBackLink:Pn.showBackLink}),Ds&&A!==void 0&&N.length>0&&s.jsx(Hd,{memberships:N})]})}),s.jsxs("main",{className:"order-2 min-w-0 lg:order-1 lg:h-full lg:overflow-y-auto inspector-scrollbar",children:[s.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:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("div",{className:"min-w-[180px] flex-1",children:[s.jsx("div",{className:"text-sm font-semibold text-foreground",children:"Logs"}),s.jsx("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground",children:Ti})]}),s.jsx(AO,{visible:De,onToggle:en}),p!==void 0&&s.jsxs(s.Fragment,{children:[s.jsx("input",{ref:Te,type:"file",accept:".zip,.json,.jsonl,application/zip,application/json",className:"hidden",onChange:de}),s.jsx("button",{type:"button",onClick:ie,disabled:be,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Import Agent Inspector export",children:be?s.jsx("span",{children:"Importing..."}):s.jsxs(s.Fragment,{children:[s.jsx(yf,{className:"size-3.5"}),s.jsx("span",{children:"Import"})]})})]}),Cc.redacted&&s.jsx("button",{type:"button",onClick:()=>{E("redacted")},disabled:Z!==null,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Export redacted logs as JSON ZIP",children:Z==="redacted"?s.jsx("span",{children:"Exporting..."}):s.jsxs(s.Fragment,{children:[s.jsx(gr,{className:"size-3.5"}),s.jsx("span",{children:"Export"})]})}),Cc.raw&&s.jsx("button",{type:"button",onClick:()=>{E("raw")},disabled:Z!==null,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Export raw logs without redaction",children:Z==="raw"?s.jsx("span",{children:"Exporting..."}):s.jsxs(s.Fragment,{children:[s.jsx(zw,{className:"size-3.5"}),s.jsx("span",{children:"Raw"})]})}),l!==void 0&&s.jsxs("button",{type:"button",onClick:dt,disabled:b,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Reload this session from stored logs",children:[s.jsx(Bt,{className:$("size-3.5",b&&"animate-spin motion-reduce:animate-none")}),s.jsx("span",{children:wg})]}),s.jsxs("button",{type:"button",onClick:se,disabled:!xg,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Clear the current view. Stored logs remain reloadable.",children:[s.jsx(wn,{className:"size-3.5"}),s.jsx("span",{children:"Clear"})]}),a!==void 0&&s.jsxs("button",{type:"button",onClick:ye,disabled:!bg||le,className:"bg-red-500/[0.07] hover:bg-red-500/[0.12] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-red-200 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.14)] transition-colors hover:text-red-100 focus-visible:ring-1 focus-visible:ring-red-300 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Delete persisted history for the selected session.",children:[s.jsx(wn,{className:"size-3.5"}),s.jsx("span",{children:"Delete"})]})]}),k===void 0&&S!==void 0&&s.jsx("div",{className:"mt-2 rounded-md bg-black/20 px-2 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:s.jsx(uo,{progress:S})}),_!==void 0&&s.jsxs("div",{role:"alert",className:"mt-2 flex flex-wrap items-center gap-2 rounded-md border border-red-400/25 bg-red-500/10 px-3 py-2 text-xs text-red-100",children:[s.jsxs("span",{className:"min-w-0 flex-1",children:["Session logs could not be loaded. ",_," Existing logs remain visible."]}),l!==void 0&&s.jsxs("button",{type:"button",onClick:dt,className:"inline-flex h-7 items-center gap-1 rounded-md bg-black/15 px-2 font-medium transition-colors hover:bg-black/25 focus-visible:ring-1 focus-visible:ring-current focus-visible:outline-none",children:[s.jsx(Bt,{className:"size-3"}),"Retry"]})]}),Xe!==null&&s.jsxs("div",{className:"mt-2 flex items-center gap-3 rounded-md bg-cyan-400/[0.07] px-3 py-2 shadow-[inset_2px_0_0_rgba(103,232,249,0.35),inset_0_0_0_1px_rgba(103,232,249,0.08)]",children:[s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("div",{className:"truncate text-xs font-medium text-cyan-50",children:Xe.question}),s.jsxs("div",{className:"mt-0.5 text-[10px] text-muted-foreground",children:["Showing ",String(Ct.length)," loaded logs from"," ",String(Xe.logIds.length)," linked results"]})]}),s.jsxs("button",{type:"button",onClick:()=>Ue(null),className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-md bg-black/20 px-2 text-[11px] text-muted-foreground transition-colors hover:bg-black/30 hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:[s.jsx(br,{className:"size-3"}),"All logs"]})]}),Xe===null&&s.jsx(Vd,{logs:e,pagination:k,embedded:!0}),d===void 0&&H!==null&&s.jsx("div",{className:"mt-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:H}),d===void 0&&je!==null&&s.jsx("div",{className:"mt-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:je}),d===void 0&&oe!==null&&je===null&&s.jsx("div",{className:"mt-2 rounded-md border border-cyan-400/25 bg-cyan-500/10 px-3 py-2 text-xs text-cyan-100",children:oe}),w!==void 0&&w.status!=="live"&&y!==void 0&&j!==void 0&&s.jsx(DP,{state:w,hasLogs:e.length>0,onRetry:y,onStop:j})]}),s.jsxs("div",{className:"px-4 py-4 lg:px-5",children:[s.jsx(bO,{stats:jg}),Xe!==null&&Ct.length===0?s.jsx("div",{className:"py-16 text-center text-muted-foreground",children:s.jsxs("div",{className:"mx-auto max-w-xl rounded-[8px] bg-white/[0.035] px-5 py-8 shadow-[inset_0_1px_0_rgba(255,255,255,0.045),0_18px_52px_rgba(0,0,0,0.18)]",children:[s.jsx("p",{className:"text-sm font-medium text-foreground",children:"No linked logs are loaded"}),s.jsx("p",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:"Assistant found evidence, but none of its linked log IDs are in the current loaded window. Open an evidence card in Assistant or restore the full log view."}),s.jsx("button",{type:"button",onClick:()=>Ue(null),className:"mt-4 inline-flex h-8 items-center rounded-md bg-cyan-400/10 px-3 text-xs text-cyan-100 transition-colors hover:bg-cyan-400/16",children:"Show all logs"})]})}):e.length===0?n!=="__all__"?s.jsx("div",{className:"py-16 text-center text-muted-foreground",children:s.jsxs("div",{className:"bg-white/[0.035] shadow-[inset_0_1px_0_rgba(255,255,255,0.045),0_18px_52px_rgba(0,0,0,0.18)] mx-auto max-w-xl space-y-4 rounded-[8px] px-4 py-8",children:[s.jsx("p",{className:"text-sm font-medium",children:b?"Loading session data...":_===void 0?"No logs loaded for this session":"Session logs could not be loaded"}),s.jsx("p",{className:"inline-block max-w-full rounded bg-muted px-3 py-1 font-mono text-xs break-all",children:Un(n)}),S!==void 0&&s.jsx("div",{className:"mx-auto max-w-md rounded-md bg-black/20 px-2 py-2 text-left shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:s.jsx(uo,{progress:S})}),N.length>0&&s.jsx("div",{className:"text-left",children:s.jsx(Hd,{memberships:N})}),!b&&s.jsxs("div",{className:"flex flex-col items-center gap-3 text-xs",children:[s.jsx("p",{children:"Stored logs may still be available."}),s.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[l!==void 0&&s.jsxs("button",{type:"button",onClick:dt,className:"bg-white/[0.045] hover:bg-white/[0.075] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:[s.jsx(Bt,{className:"size-3.5"}),s.jsx("span",{children:"Load session"})]}),P?s.jsx("a",{href:"/",className:"inline-flex h-8 items-center rounded-md px-3 text-xs text-muted-foreground underline transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:"Back to all sessions"}):s.jsx("button",{type:"button",onClick:()=>o("__all__"),className:"inline-flex h-8 items-center rounded-md px-3 text-xs text-muted-foreground underline transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:"Show all sessions"})]})]})]})}):s.jsx("div",{className:"py-16 text-center text-muted-foreground",children:s.jsxs("div",{className:"bg-white/[0.035] shadow-[inset_0_1px_0_rgba(255,255,255,0.045),0_18px_52px_rgba(0,0,0,0.18)] mx-auto max-w-2xl space-y-4 rounded-[8px] px-4 py-8",children:[s.jsx("p",{className:"text-sm font-medium",children:Ei.title}),s.jsx("p",{className:"mx-auto max-w-xl text-xs leading-relaxed text-muted-foreground",children:Ei.description}),Tc==="empty"&&t.length>0&&s.jsx("p",{className:"mx-auto max-w-xl text-xs leading-relaxed text-muted-foreground",children:"Pick a session from the filter panel to load stored logs on demand."}),Ei.showConnectionCommands&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex flex-col items-center gap-2",children:[s.jsx(Kd,{command:"ANTHROPIC_BASE_URL=http://localhost:9527/proxy <your-tool>"}),s.jsx(Kd,{command:"OPENAI_BASE_URL=http://localhost:9527/proxy <your-tool>"})]}),s.jsx("p",{className:"mx-auto max-w-xl text-xs leading-relaxed text-muted-foreground",children:"Container note: if your AI tool runs in a different container or host than Agent Inspector, replace localhost with an address reachable from that tool and verify the network/firewall path."})]})]})}):s.jsxs("div",{ref:ne,tabIndex:0,"aria-label":"Captured logs",className:"flex flex-col gap-2 rounded-md focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:outline-none",children:[s.jsx("div",{ref:q,children:s.jsx(nA,{groups:Be,viewMode:f,strip:h,slowResponseThresholdSeconds:g,cacheTrends:hg,onCompareWithPrevious:kg,comparisonPredecessors:Ci,onClearGroup:u,defaultExpanded:Be.length===1,timeDisplayFormat:v})}),Xe===null&&s.jsx("div",{className:"mt-3",children:s.jsx(Vd,{logs:e,pagination:k})})]})]})]})]}),s.jsx(Wt,{open:X,onOpenChange:J,children:s.jsx(Zt,{className:oA,children:s.jsx(aA,{onCancel:()=>J(!1),onExportRedacted:L,onConfirmRaw:K})})}),s.jsx(Wt,{open:ke,onOpenChange:Se,children:s.jsxs(Zt,{className:"border-red-500/20 bg-zinc-950 text-zinc-100 sm:max-w-md",children:[s.jsxs(Yt,{children:[s.jsxs(Xt,{children:["Delete ",vg," history?"]}),s.jsx(kr,{children:"Clear only hides logs from the UI. Delete removes stored history from disk."})]}),s.jsxs("div",{className:"rounded-md bg-red-500/[0.08] px-3 py-3 text-sm text-red-100 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.16)]",children:[s.jsx("span",{className:"block font-medium",children:"This is a full history delete."}),s.jsx("span",{className:"mt-1 block text-xs text-red-200/80",children:yg})]}),s.jsxs("div",{className:"flex justify-end gap-2",children:[s.jsx(ee,{type:"button",variant:"outline",size:"sm",disabled:le,onClick:()=>Se(!1),children:"Cancel"}),s.jsx(ee,{type:"button",variant:"destructive",size:"sm",disabled:le,onClick:ce,children:le?"Deleting...":"Delete history"})]})]})}),Ie!==null&&s.jsx(po,{feature:"Compare",children:s.jsx(c.Suspense,{fallback:null,children:s.jsx(n4,{left:Ie[0],right:Ie[1],leftDisplayNumber:Bd(Ie[0],es),rightDisplayNumber:Bd(Ie[1],es),onClose:In})})})]})}function HO(e,t,n){return t==="__all__"&&n==="__all__"?e:e.filter(r=>!(t!=="__all__"&&r.sessionId!==t||n!=="__all__"&&r.model!==n))}function no(e,t){if(e.length===0)return[...t];if(t.length===0)return[...e];const n=new Map;for(const r of e)n.set(r.id,r);for(const r of t)n.set(r.id,r);return[...n.values()].toSorted((r,o)=>r.id-o.id)}function Dn(e,t){const n=new Set;for(const r of e)r!==""&&n.add(r);for(const r of t)r!==""&&n.add(r);return[...n].sort()}const VO=Ot([T({type:ae("init"),logs:W(nr)}),T({type:ae("update"),log:nr})]),WO=T({logs:W(nr),total:R().int().nonnegative(),limit:R().int().positive(),hasOlder:Ce(),hasNewer:Ce(),oldestLogId:R().int().positive().nullable(),newestLogId:R().int().positive().nullable()}),ZO=W(x()),Yd=T({success:Ce(),cleared:R().int().nonnegative(),logFilesRewritten:R().int().nonnegative().optional(),chunkFilesDeleted:R().int().nonnegative(),sessionArchiveLogsDeleted:R().int().nonnegative().optional()});function KO(e,t){const n=[];for(const r of e)for(const o of r.members)o.sessionId===t&&n.push({groupId:r.id,groupTitle:r.title,groupKind:r.kind,groupStatus:r.status,groupTask:r.task,groupProject:r.project,groupEvidence:r.evidence,member:o});return n}function so(e){const t=new Set;for(const n of e)n.sessionId!==null&&n.sessionId!==""&&t.add(n.sessionId);return[...t]}function GO(e){const t=new Set;for(const n of e)n.model!==null&&n.model!==""&&t.add(n.model);return[...t]}const JO=100,YO=12,XO=1800,Sc=100,Ho=500,fg=200,dl=2e4,QO=1e4,e6=3e3,t6=1e4;function n6(e){const t=new URLSearchParams({compact:"1"});e!==void 0&&t.set("sessionId",e);const n=t.toString();return n.length>0?`/api/logs/stream?${n}`:"/api/logs/stream"}function s6(e,t,n=Sc){const r=new URLSearchParams({cursor:"1",compact:"1",limit:String(n),sessionId:e});switch(t.kind){case"oldest":r.set("anchor","oldest");break;case"older":r.set("beforeLogId",String(t.beforeLogId));break;case"newer":r.set("afterLogId",String(t.afterLogId));break}return`/api/logs?${r.toString()}`}function mn(e){const t=new Map;for(let n=0;n<e.length;n++){const r=e[n];r!==void 0&&t.set(r.id,n)}return t}function Qs(e,t,n=Sc){return We(s6(e,t,n),WO,dl)}async function r6(e,t){const n=new Set;let r=await Qs(e,{kind:"oldest"},Ho);for(const i of r.logs)n.add(i.id);t(n.size,1);let o=1;for(;r.hasNewer&&r.newestLogId!==null&&o<fg;){r=await Qs(e,{kind:"newer",afterLogId:r.newestLogId},Ho);for(const i of r.logs)n.add(i.id);o+=1,t(n.size,o)}return{ids:[...n],truncated:r.hasNewer}}async function o6(){try{return{deleted:(await rt("/api/groups",nf,{method:"DELETE"})).deleted,ok:!0}}catch{return{deleted:0,ok:!1}}}function c6({initialSessionId:e}={}){const[t,n]=c.useState([]),[r,o]=c.useState(e??"__all__"),[i,a]=c.useState("__all__"),[l,u]=c.useState([]),{notice:d,showToast:p,dismissToast:f}=T0(),[m,h]=c.useState(qP),[g,v]=c.useState(null),[b,w]=c.useState(e!==void 0),[y,j]=c.useState(null),[k,S]=c.useState(void 0),[_,N]=c.useState([]),[,P]=c.useTransition(),A=c.useRef(null),M=c.useRef(null),C=c.useRef(null),I=c.useRef(!0),F=c.useRef(null),U=c.useRef(0),Y=c.useRef(null),Z=c.useRef(null),V=c.useRef(new Map),H=c.useRef([]),z=c.useRef(null),X=c.useCallback(G=>{p({message:G,tone:"error"})},[p]),J=c.useCallback(()=>{Z.current!==null&&(clearInterval(Z.current),Z.current=null),Y.current=null,S(void 0)},[]),be=c.useCallback((G,E,L=0,K=0)=>{Z.current!==null&&clearInterval(Z.current);const ie=Date.now();Y.current=ie;const de=()=>{U.current===E&&S({label:G,elapsedMs:Date.now()-ie,timeoutMs:dl,loadedLogs:L,loadedPages:K})};de(),Z.current=setInterval(de,250)},[]),ve=c.useCallback((G,E,L,K)=>{const ie=Y.current;ie===null||U.current!==E||S({label:G,elapsedMs:Date.now()-ie,timeoutMs:dl,loadedLogs:L,loadedPages:K})},[]),oe=c.useMemo(()=>HO(t,r,i),[t,r,i]),D=c.useMemo(()=>Dn(l,so(t)),[t,l]),je=c.useMemo(()=>GO(t),[t]),te=c.useCallback(()=>{rt("/api/sessions",ZO).then(G=>{u(E=>Dn(E,G))}).catch(()=>{})},[]),ke=c.useCallback(()=>{z.current=null;const G=H.current;H.current=[],G.length!==0&&P(()=>{n(E=>{const L=no(E,G);return V.current=mn(L),L})})},[P]),Se=c.useCallback(G=>{H.current.push(G),z.current===null&&(z.current=setTimeout(ke,JO))},[ke]),le=c.useCallback(()=>{A.current&&A.current.close(),M.current!==null&&(clearTimeout(M.current),M.current=null),h(E=>nn(E,{type:"connect-requested"}));const G=new EventSource(n6(e));A.current=G,G.onmessage=E=>{try{const L=String(E.data),K=JSON.parse(L),ie=VO.safeParse(K);if(!ie.success){h(se=>nn(se,{type:"recoverable-error",message:"The live stream returned invalid data."})),X("Failed to parse SSE data");return}const de=ie.data;de.type==="init"?(z.current!==null&&(clearTimeout(z.current),z.current=null),H.current=[],n(se=>{const ye=no(se,de.logs);return V.current=mn(ye),ye}),u(se=>Dn(se,so(de.logs))),C.current!==null&&(clearTimeout(C.current),C.current=null),h(se=>nn(se,{type:"message-received",at:Date.now()})),f()):de.type==="update"&&(u(se=>de.log.sessionId===null||de.log.sessionId===""?se:Dn(se,[de.log.sessionId])),Se(de.log),C.current!==null&&(clearTimeout(C.current),C.current=null),h(se=>nn(se,{type:"message-received",at:Date.now()})))}catch{h(L=>nn(L,{type:"recoverable-error",message:"The live stream returned malformed JSON."})),X("Failed to parse SSE data")}},G.onerror=()=>{const E=navigator.onLine;h(L=>nn(L,{type:"connection-lost",online:E,message:"The live stream disconnected."})),G.close(),!(!E||!I.current)&&(C.current===null&&(C.current=setTimeout(()=>{C.current=null,h(L=>nn(L,{type:"stale-timeout"}))},t6)),M.current=setTimeout(le,e6))}},[f,e,Se,X]),ue=c.useCallback(()=>{I.current=!0,M.current!==null&&(clearTimeout(M.current),M.current=null),le()},[le]),me=c.useCallback(()=>{I.current=!1,A.current?.close(),A.current=null,M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),h(G=>nn(G,{type:"stop-retrying"}))},[]),we=c.useCallback(G=>{if(e===void 0)return;const E=U.current+1;U.current=E,w(!0),j(null),be("Loading session logs",E),f(),Qs(e,G).then(L=>{if(U.current!==E)return;const K=L.logs;V.current=mn(K),n(K),v(L),o(e),w(!1),j(null),J(),f()}).catch(L=>{if(U.current!==E)return;w(!1),J();const K=L instanceof Error?L.message:"Failed to load session logs";j(K),X(K)})},[f,e,X,be,J]),Ee=c.useCallback(G=>{const E=U.current+1;U.current=E,w(!0),j(null),be("Reloading full session",E),f(),(async()=>{const L=[];let K=await Qs(G,{kind:"oldest"},Ho);L.push(...K.logs),ve("Reloading full session",E,L.length,1);let ie=1;for(;K.hasNewer&&K.newestLogId!==null&&ie<fg;)K=await Qs(G,{kind:"newer",afterLogId:K.newestLogId},Ho),L.push(...K.logs),ie+=1,ve("Reloading full session",E,L.length,ie);U.current===E&&(n(de=>{const se=no(de,L);return V.current=mn(se),se}),u(de=>Dn(de,[G])),w(!1),j(null),J(),K.hasNewer?p({message:`Loaded ${String(L.length)} logs for this session. More history is available.`,tone:"success"}):f())})().catch(L=>{if(U.current!==E)return;w(!1),J();const K=L instanceof Error?L.message:"Failed to reload session logs";j(K),X(K)})},[f,X,p,be,J,ve]);c.useEffect(()=>{if(e===void 0){N([]);return}let G=!1;return We("/api/groups",of,QO).then(E=>E.groups).then(E=>{G||E===null||N(KO(E,e))}).catch(()=>{G||N([])}),()=>{G=!0}},[e]),c.useEffect(()=>{te()},[te]),c.useEffect(()=>()=>{J()},[J]),c.useEffect(()=>{e!==void 0&&we({kind:"newest"})},[e,we]),c.useEffect(()=>{e===void 0&&r!=="__all__"&&Ee(r)},[e,Ee,r]),c.useEffect(()=>{if(e!==void 0)return;le();const G=()=>{A.current?.close(),A.current=null,M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),h(L=>nn(L,{type:"browser-offline"}))},E=()=>{I.current&&le()};return window.addEventListener("offline",G),window.addEventListener("online",E),()=>{window.removeEventListener("offline",G),window.removeEventListener("online",E),A.current&&(A.current.close(),A.current=null),M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),z.current!==null&&(clearTimeout(z.current),z.current=null)}},[le,e]),c.useEffect(()=>{const G=window.location.hash;if(!G.startsWith("#log-")||F.current===G)return;const E=G.slice(1),L=Number(E.replace(/^log-/,""));Number.isInteger(L)&&L>0&&Is({logId:L,tab:"request"});let K=!1,ie=0,de=null,se=null;const ye=()=>{if(K)return;const ce=document.getElementById(E);if(ce!==null){F.current=G,ce.scrollIntoView({block:"center",behavior:J0(Y0())}),ce instanceof HTMLElement&&(de=ce,ce.setAttribute("data-deep-link-highlight","true"),se=window.setTimeout(()=>{ce.removeAttribute("data-deep-link-highlight")},XO),ce.focus({preventScroll:!0}),ce.getAttribute("data-nav-action")==="expand"&&ce.click());return}ie+=1,ie<YO&&window.setTimeout(ye,100)};return ye(),()=>{K=!0,se!==null&&window.clearTimeout(se),de!==null&&de.removeAttribute("data-deep-link-highlight")}},[oe.length]);const Ye=c.useCallback(()=>{const G=so(t);J(),w(!1),V.current.clear(),n([]),v(null),u(E=>Dn(E,G)),p({message:"Cleared the current view. Stored logs are still reloadable.",tone:"success"})},[t,p,J]),De=c.useCallback(G=>{if(G.length===0)return;const E=new Set(G);n(L=>{const K=L.filter(de=>E.has(de.id)),ie=L.filter(de=>!E.has(de.id));return u(de=>Dn(de,so(K))),V.current=mn(ie),ie}),p({message:"Cleared this group from the current view.",tone:"success"})},[p]),Ve=c.useCallback(async()=>{const G=U.current+1;U.current=G,w(!0),J(),f();try{if(r==="__all__"){be("Deleting stored history",G);const se=await rt("/api/logs",Yd,{method:"DELETE"}),ye=await o6();if(U.current!==G)return;n([]),V.current.clear(),v(null),u([]),N([]),w(!1),J();const ce=ye.ok?` Cleared ${ye.deleted.toString()} group${ye.deleted===1?"":"s"}.`:" Group cleanup failed; open Groups to retry Clear.";p({message:`Deleted ${se.cleared.toString()} stored log${se.cleared===1?"":"s"} across all sessions.${ce}`,tone:ye.ok?"success":"error"});return}const E=r;be("Deleting session history",G);const L=await r6(E,(se,ye)=>{ve("Deleting session history",G,se,ye)}),K=new Set(L.ids);for(const se of t)se.sessionId===E&&K.add(se.id);const ie=[...K].filter(se=>Number.isInteger(se)&&se>=0);if(ie.length===0){if(U.current!==G)return;n(se=>{const ye=se.filter(ce=>ce.sessionId!==E);return V.current=mn(ye),ye}),v(se=>se===null?null:{...se,logs:se.logs.filter(ye=>ye.sessionId!==E)}),u(se=>se.filter(ye=>ye!==E)),w(!1),J(),p({message:"No stored log records were found for this session.",tone:"success"});return}const de=await rt("/api/logs",Yd,{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({ids:ie})});if(U.current!==G)return;n(se=>{const ye=se.filter(ce=>ce.sessionId!==E);return V.current=mn(ye),ye}),v(se=>se===null?null:{...se,logs:se.logs.filter(ye=>ye.sessionId!==E)}),u(se=>se.filter(ye=>ye!==E)),w(!1),J(),p({message:`Deleted ${de.cleared.toString()} stored log${de.cleared===1?"":"s"} for this session${L.truncated?". More history may remain.":"."}`,tone:L.truncated?"error":"success"})}finally{U.current===G&&(w(!1),J())}},[t,f,r,p,be,J,ve]),wt=c.useCallback(()=>{if(e!==void 0){we({kind:"newest"});return}if(r==="__all__"){te();return}Ee(r)},[e,we,te,Ee,r]),Qt=c.useCallback(async G=>{const E=new FormData;E.set("file",G);const L=await rt("/api/logs/import",xy,{method:"POST",body:E});return n(K=>{const ie=new Set(L.logs.map(se=>se.id)),de=no(K.filter(se=>!ie.has(se.id)),L.logs);return V.current=mn(de),de}),o(L.sessionId),a("__all__"),v(null),f(),L},[f]),{strip:Xe,captureMode:Ue,slowResponseThresholdSeconds:Ie,timeDisplayFormat:Ae}=Il(),q=Ue,ne=c.useCallback(()=>{we({kind:"oldest"})},[we]),Te=c.useCallback(()=>{we({kind:"newest"})},[we]),he=c.useCallback(()=>{const G=t[0],E=g?.oldestLogId??G?.id??null;E!==null&&we({kind:"older",beforeLogId:E})},[t,we,g]),xe=c.useCallback(()=>{const G=t[t.length-1],E=g?.newestLogId??G?.id??null;E!==null&&we({kind:"newer",afterLogId:E})},[t,we,g]),Oe=c.useMemo(()=>{if(e!==void 0)return{isLoading:b,loadProgress:k,total:g?.total??null,pageSize:g?.limit??Sc,hasOlder:g?.hasOlder??!1,hasNewer:g?.hasNewer??!1,oldestLogId:g?.oldestLogId??null,newestLogId:g?.newestLogId??null,onOldest:ne,onOlder:he,onNewer:xe,onNewest:Te}},[e,Te,xe,he,ne,g,k,b]);return s.jsxs(s.Fragment,{children:[s.jsx(E0,{notice:d,onDismiss:f}),s.jsx(y5,{}),s.jsx(qO,{logs:oe,sessions:D,models:je,selectedSession:r,selectedModel:i,onSessionChange:o,onModelChange:a,onClearAll:Ye,onDeleteCurrentView:Ve,onReloadSession:e!==void 0||r!=="__all__"?wt:void 0,onClearGroup:De,onNotify:p,onImportLogs:e===void 0?Qt:void 0,isLoading:e===void 0&&m.status==="connecting"&&m.lastSuccessAt===null||b,liveConnection:e===void 0?m:void 0,onRetryLiveConnection:ue,onStopLiveConnection:me,pagination:Oe,sessionLoadProgress:k,sessionLoadError:y??void 0,sessionMemberships:_,viewMode:q,captureMode:Ue,strip:Xe,slowResponseThresholdSeconds:Ie,timeDisplayFormat:Ae,hideSessionFilter:e!==void 0,pinnedSessionId:e})]})}export{Yn as $,Is as A,_e as B,Sw as C,Wt as D,Jo as E,Ce as F,x as G,nr as H,tO as I,nj as J,mA as K,l4 as L,gf as M,fA as N,l6 as O,c6 as P,tt as Q,Lj as R,bA as S,u0 as T,ge as U,$4 as V,a6 as W,br as X,cf as Y,D4 as Z,F4 as _,cT as a,Xa as a0,Po as a1,TP as a2,fw as a3,sr as a4,Q as a5,yn as a6,He as a7,zp as a8,e4 as a9,ew as aa,su as b,B as c,xf as d,vt as e,Ge as f,t0 as g,zt as h,We as i,Zt as j,Yt as k,Xt as l,vf as m,d0 as n,gn as o,jt as p,dj as q,ir as r,$s as s,pt as t,$l as u,ft as v,mt as w,T as x,R as y,W as z};
|
|
126
|
+
args = ["stdio", "--url", "${r}"]`}],[r]),i=c.useCallback((a,l)=>{It(l).then(u=>{u&&(t(a),setTimeout(()=>t(null),1600))})},[]);return s.jsxs("div",{className:"min-w-0 space-y-4",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Yn,{className:"size-4 text-muted-foreground"}),s.jsx("h3",{className:"text-sm font-semibold",children:"MCP access"})]}),s.jsxs("div",{className:"grid gap-2 rounded-md bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[s.jsx("div",{children:"Use Streamable HTTP when the client supports URL-based MCP. Use the stdio bridge only for stdio-only clients. Configure one entry for the same Inspector instance."}),s.jsx("div",{children:"If the MCP client runs in another container or host, replace localhost with a reachable host/IP and verify the network path."})]}),s.jsx("div",{className:"grid gap-2",children:o.map(a=>s.jsx(Js,{id:a.id,label:a.label,value:a.value,copiedId:e,onCopy:i},a.id))})]})}function UI(){const{strip:e,slowResponseThresholdSeconds:t,providerTestTimeoutSeconds:n,timeDisplayFormat:r,isLoading:o,setStrip:i,setSlowResponseThresholdSeconds:a,setProviderTestTimeoutSeconds:l,setTimeDisplayFormat:u}=Il(),[d,p]=c.useState(null),[f,m]=c.useState(!1),h=c.useCallback(async w=>{p(null),m(!0);try{await i(w)}catch(y){p(y instanceof Error?y.message:String(y))}finally{m(!1)}},[i]),x=c.useCallback(async w=>{p(null),m(!0);try{await a(w)}catch(y){p(y instanceof Error?y.message:String(y))}finally{m(!1)}},[a]),v=c.useCallback(async w=>{p(null),m(!0);try{await l(w)}catch(y){p(y instanceof Error?y.message:String(y))}finally{m(!1)}},[l]),b=c.useCallback(async w=>{p(null),m(!0);try{await u(w)}catch(y){p(y instanceof Error?y.message:String(y))}finally{m(!1)}},[u]);return s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx("h3",{className:"text-sm font-semibold",children:"Claude Code billing header"}),s.jsxs("p",{className:"text-xs text-muted-foreground",children:["Strip Claude Code's synthetic billing block before upstream forwarding. This can improve prefix-cache hits with third-party providers and is persisted to ",s.jsx("code",{children:"config.json"}),"."]})]}),s.jsxs("label",{className:"flex items-center gap-3",children:[s.jsx("input",{type:"checkbox",role:"switch",checked:e,disabled:o||f,onChange:w=>{h(w.currentTarget.checked)},className:"size-4 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"text-sm",children:o?"Loading...":e?"Stripping enabled":"Stripping disabled"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{htmlFor:"slow-response-threshold",className:"text-sm font-semibold",children:"Slow response threshold"}),s.jsxs("p",{className:"text-xs text-muted-foreground",children:["Show a slow marker when elapsed time exceeds this many seconds. Use ",s.jsx("code",{children:"0"})," to disable it."]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("input",{id:"slow-response-threshold",type:"number",min:0,max:Sa,step:1,value:t,disabled:o||f,onChange:w=>{const y=Number(w.currentTarget.value);Number.isInteger(y)&&(y<0||y>Sa||x(y))},className:"h-8 w-24 rounded-md border border-input bg-transparent px-2 text-sm font-mono disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"text-xs text-muted-foreground",children:"seconds"})]})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{htmlFor:"provider-test-timeout",className:"text-sm font-semibold",children:"Provider test timeout"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Abort slow Provider Test probes after this many seconds per model."}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("input",{id:"provider-test-timeout",type:"number",min:1,max:_a,step:1,value:n,disabled:o||f,onChange:w=>{const y=Number(w.currentTarget.value);Number.isInteger(y)&&(y<1||y>_a||v(y))},className:"h-8 w-24 rounded-md border border-input bg-transparent px-2 text-sm font-mono disabled:cursor-not-allowed disabled:opacity-50"}),s.jsx("span",{className:"text-xs text-muted-foreground",children:"seconds / model"})]})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{htmlFor:"time-display-format",className:"text-sm font-semibold",children:"Time display"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Controls timestamps in session summaries, headers, and log rows."}),s.jsxs("select",{id:"time-display-format",value:r,disabled:o||f,onChange:w=>{const y=af.safeParse(w.currentTarget.value);y.success&&b(y.data)},className:"h-8 rounded-md border border-input bg-background px-2 text-sm disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsx("option",{value:"time",children:"Time only"}),s.jsx("option",{value:"full",children:"Full ISO"})]})]}),d!==null&&s.jsxs("p",{className:"text-xs text-destructive",children:["Failed to save: ",d]})]})}const BI=fe(["installed","update-available","available","planned","unknown"]),qI=T({id:g(),name:g(),npmName:g(),capability:g(),description:g(),workflow:g(),installCommand:g(),state:BI,installedVersion:g().nullable(),latestVersion:g().nullable(),primary:Ce()}),HI=T({id:g(),name:g(),validatedVersion:g(),binary:g(),modelFlag:g(),variantFlag:g().nullable(),tools:W(g()),logDir:g(),skillsDir:g(),agentsDir:g()}),VI=T({id:g(),title:g(),stage:g(),packageId:g(),description:g(),command:g(),requiresSession:Ce(),runnable:Ce()}),WI=T({checkedAt:g(),packages:W(qI),runnerPresets:W(HI),recipes:W(VI)}),B0=fe(["install","upgrade","help","runner-presets","recipe"]),q0="RUN_LOCAL_COMMAND",ZI=T({action:B0,targetId:g(),targetName:g(),command:g(),source:g(),timeoutMs:R().int().positive(),scope:g()}),KI=T({nonce:g().uuid(),phrase:ae(q0),expiresAt:g().datetime(),plan:ZI}),H0=T({confirmation:KI});Cn("intent",[T({intent:ae("prepare")}),T({intent:ae("confirm"),nonce:g().uuid(),confirmation:ae(q0)})]);const GI=fe(["queued","running","succeeded","failed"]),V0=T({id:g(),packageId:g(),npmName:g(),recipeId:g().nullable().default(null),action:B0,status:GI,command:g(),output:g(),createdAt:g(),startedAt:g().nullable(),finishedAt:g().nullable(),exitCode:R().nullable(),error:g().nullable()}),W0=T({task:V0}),JI=T({tasks:W(V0)}),YI=[{id:"observe",title:"Observe",label:"Live",description:"Capture IDE, process, session, turn, request, response, tools, and providers.",metric:"Inspector core",icon:Ty},{id:"replay",title:"Replay",label:"Ready",description:"Promote real logs into repeatable replay evidence without losing the raw context.",metric:"Session asset",icon:Bt},{id:"evaluate",title:"Evaluate",label:"Next",description:"Use eval-harness to turn sessions into regression cases and provider bakeoffs.",metric:"Eval loop",icon:Pl},{id:"connect",title:"Connect",label:"MCP",description:"Expose Inspector state to coding agents as queryable context and durable evidence.",metric:"/api/mcp",icon:yj}];async function XI(e){return rt(e,WI,void 0,t=>`Failed to load ecosystem packages: ${String(t.status)}`)}async function QI(e){return rt(e,W0,void 0,t=>`Failed to load ecosystem task: ${String(t.status)}`)}async function eP(e){return rt(e,JI,void 0,t=>`Failed to load ecosystem tasks: ${String(t.status)}`)}async function tP(e,t){const n=`/api/ecosystem/packages/${encodeURIComponent(e)}/${t}`,r=await rt(n,H0,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({intent:"prepare"})},o=>`Failed to prepare ecosystem task: ${String(o.status)}`);return{endpoint:n,confirmation:r.confirmation}}async function nP(e){const t=`/api/ecosystem/recipes/${encodeURIComponent(e)}/run`,n=await rt(t,H0,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({intent:"prepare"})},r=>`Failed to prepare ecosystem recipe: ${String(r.status)}`);return{endpoint:t,confirmation:n.confirmation}}async function sP(e){return(await rt(e.endpoint,W0,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({intent:"confirm",nonce:e.confirmation.nonce,confirmation:e.confirmation.phrase})},n=>`Failed to start ecosystem task: ${String(n.status)}`)).task}function rP(e){switch(e){case"installed":return"Installed";case"update-available":return"Update";case"available":return"Available";case"planned":return"Planned";case"unknown":return"Unknown"}}function oP(e){switch(e){case"installed":return"border-emerald-400/20 bg-emerald-400/8 text-emerald-200";case"update-available":return"border-amber-400/20 bg-amber-400/8 text-amber-200";case"available":return"border-sky-400/20 bg-sky-400/8 text-sky-200";case"planned":return"border-white/10 bg-white/[0.04] text-white/55";case"unknown":return"border-white/10 bg-white/[0.04] text-white/45"}}function iP(e){return e.installedVersion!==null&&e.latestVersion!==null?e.installedVersion===e.latestVersion?`v${e.installedVersion}`:`v${e.installedVersion} -> v${e.latestVersion}`:e.installedVersion!==null?`v${e.installedVersion}`:e.latestVersion!==null?`latest v${e.latestVersion}`:"not published"}function Ys(e){switch(e){case"install":return"Install";case"upgrade":return"Upgrade";case"help":return"Help";case"runner-presets":return"Presets";case"recipe":return"Recipe"}}function aP(e){switch(e.status){case"queued":return"Queued";case"running":return`${Ys(e.action)} running`;case"succeeded":return`${Ys(e.action)} complete`;case"failed":return`${Ys(e.action)} failed`}}function Z0(e){switch(e){case"queued":case"running":return"border-cyan-300/20 bg-cyan-300/8 text-cyan-100";case"succeeded":return"border-emerald-400/20 bg-emerald-400/8 text-emerald-100";case"failed":return"border-red-400/20 bg-red-400/8 text-red-100"}}function lP(e){switch(e.state){case"available":return"install";case"update-available":return"upgrade";case"installed":case"planned":case"unknown":return null}}function cP({pkg:e,activeTask:t,onStartTask:n}){const r=lP(e),o=t!==null&&t.packageId===e.id&&t.status==="running";return s.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[s.jsx(Sj,{className:"size-4 shrink-0 text-white/55"}),s.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.name})]}),s.jsx("div",{className:"mt-1 break-all font-mono text-[11px] leading-snug text-white/35",children:e.npmName})]}),s.jsx(_e,{className:$("shrink-0",oP(e.state)),variant:"outline",children:rP(e.state)})]}),s.jsx("div",{className:"mt-3 text-xs leading-5 text-muted-foreground",children:e.description}),s.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2 text-[11px]",children:[s.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-white/50",children:iP(e)}),s.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 text-white/45",children:e.capability}),s.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-white/35",children:e.installCommand})]}),s.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[r!==null&&s.jsxs(ee,{type:"button",size:"sm",variant:"secondary",disabled:o,onClick:()=>n(e.id,r),children:[o?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(xr,{className:"size-3.5"}),Ys(r)]}),s.jsxs(ee,{type:"button",size:"sm",variant:"outline",disabled:o||e.state==="planned",onClick:()=>n(e.id,"help"),children:[s.jsx(Yn,{className:"size-3.5"}),"Help"]}),e.id==="eval-harness"&&s.jsxs(ee,{type:"button",size:"sm",variant:"ghost",disabled:o||e.state==="planned",onClick:()=>n(e.id,"runner-presets"),children:[s.jsx(Pl,{className:"size-3.5"}),"Presets"]})]})]})}function uP({task:e}){if(e===null)return null;const t=e.status==="queued"||e.status==="running";return s.jsxs("section",{className:"mt-3 rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[t?s.jsx(He,{className:"size-4 animate-spin text-cyan-200/75"}):s.jsx(Yn,{className:"size-4 text-white/55"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-semibold",children:aP(e)}),s.jsx("div",{className:"break-all font-mono text-[11px] text-white/35",children:e.command})]})]}),s.jsx(_e,{variant:"outline",className:$("shrink-0",Z0(e.status)),children:e.status})]}),s.jsx("pre",{className:"mt-3 max-h-56 overflow-auto whitespace-pre-wrap rounded-md bg-black/30 p-3 font-mono text-[11px] leading-5 text-white/60 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:e.output.trim().length>0?e.output:"Waiting for npm output..."}),e.error!==null&&s.jsx("div",{className:"mt-2 text-xs text-red-100",children:e.error})]})}function dP({workflow:e}){const t=e.icon;return s.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx(t,{className:"size-4 shrink-0 text-cyan-200/75"}),s.jsx("div",{className:"text-sm font-semibold",children:e.title})]}),s.jsx("span",{className:"rounded bg-white/[0.04] px-2 py-0.5 font-mono text-[10px] text-white/45",children:e.label})]}),s.jsx("div",{className:"mt-2 min-h-10 text-xs leading-5 text-muted-foreground",children:e.description}),s.jsx("div",{className:"mt-3 font-mono text-[11px] text-white/35",children:e.metric})]})}function pP(e){return e===null?'npx @tonyclaw/eval-harness inspector-smoke --title "TonyClaw Lab smoke" --latest-log-limit 5':`npx @tonyclaw/eval-harness inspector-smoke --title "TonyClaw Lab smoke ${e}" --latest-log-limit 5`}function fP({preset:e}){return s.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[s.jsx(bf,{className:"size-4 shrink-0 text-cyan-200/75"}),s.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.name})]}),s.jsxs("div",{className:"mt-1 break-all font-mono text-[11px] leading-snug text-white/35",children:[e.binary," ",e.modelFlag,e.variantFlag!==null?` ${e.variantFlag}`:""]})]}),s.jsxs(_e,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:["v",e.validatedVersion]})]}),s.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-2 text-[11px]",children:[s.jsxs("div",{className:"rounded bg-black/15 px-2 py-1 text-white/45",children:["logs/",e.logDir]}),s.jsx("div",{className:"rounded bg-black/15 px-2 py-1 text-white/45",children:e.tools.join(", ")}),s.jsx("div",{className:"rounded bg-black/15 px-2 py-1 font-mono text-white/35",children:e.skillsDir}),s.jsx("div",{className:"rounded bg-black/15 px-2 py-1 font-mono text-white/35",children:e.agentsDir})]})]})}function mP({recipe:e,copied:t,running:n,onCopy:r,onRun:o}){return s.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[s.jsx(ff,{className:"size-4 shrink-0 text-cyan-200/75"}),s.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.title})]}),s.jsx("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:e.description})]}),s.jsx(_e,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:e.runnable?e.stage:"Template"})]}),s.jsx("div",{className:"mt-3 rounded-md bg-black/20 p-2 font-mono text-[11px] leading-5 text-white/50 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:e.command}),s.jsxs("div",{className:"mt-3 flex items-center justify-between gap-2",children:[s.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-[11px] text-white/35",children:e.packageId}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs(ee,{type:"button",size:"sm",variant:"outline",onClick:()=>r(e),children:[t?s.jsx(Ge,{className:"size-3.5"}):s.jsx(zt,{className:"size-3.5"}),t?"Copied":"Copy"]}),e.runnable&&s.jsxs(ee,{type:"button",size:"sm",variant:"secondary",disabled:n,onClick:()=>o(e),children:[n?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(bf,{className:"size-3.5"}),n?"Running":"Run"]})]})]})]})}function hP({task:e,selected:t,onSelect:n}){const r=e.recipeId??Ys(e.action);return s.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-md bg-white/[0.025] px-3 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx(hf,{className:"size-3.5 shrink-0 text-white/40"}),s.jsx("div",{className:"truncate text-xs font-semibold text-white/75",children:r}),s.jsx(_e,{variant:"outline",className:$("shrink-0",Z0(e.status)),children:e.status})]}),s.jsxs("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-2 font-mono text-[10px] text-white/35",children:[s.jsx("span",{children:e.packageId}),s.jsx("span",{children:new Date(e.createdAt).toLocaleTimeString()}),e.exitCode!==null&&s.jsxs("span",{children:["exit ",String(e.exitCode)]})]})]}),s.jsx(ee,{type:"button",size:"sm",variant:t?"secondary":"outline",onClick:()=>n(e),children:t?"Open":"View"})]})}function xP({pending:e,busy:t,onOpenChange:n,onConfirm:r}){const o=e?.confirmation.plan??null;return s.jsx(Wt,{open:e!==null,onOpenChange:n,children:s.jsxs(Zt,{className:"max-w-xl",children:[s.jsxs(Yt,{children:[s.jsx(Xt,{children:"Confirm local command"}),s.jsx(kr,{children:"Review the exact allowlisted action Agent Inspector will run on this machine."})]}),o!==null&&s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[s.jsxs("div",{className:"rounded-md border bg-muted/30 p-3",children:[s.jsx("div",{className:"text-muted-foreground",children:"Source"}),s.jsx("div",{className:"mt-1 break-words font-medium",children:o.source})]}),s.jsxs("div",{className:"rounded-md border bg-muted/30 p-3",children:[s.jsx("div",{className:"text-muted-foreground",children:"Timeout"}),s.jsxs("div",{className:"mt-1 font-medium",children:[String(o.timeoutMs/1e3)," seconds"]})]}),s.jsxs("div",{className:"rounded-md border bg-muted/30 p-3 sm:col-span-2",children:[s.jsx("div",{className:"text-muted-foreground",children:"Affected scope"}),s.jsx("div",{className:"mt-1 font-medium",children:o.scope})]})]}),s.jsxs("div",{children:[s.jsx("div",{className:"mb-1 text-xs font-medium",children:"Resolved command"}),s.jsx("pre",{className:"max-h-32 overflow-auto whitespace-pre-wrap break-all rounded-md bg-black/80 p-3 font-mono text-xs leading-5 text-white/80",children:o.command})]}),s.jsxs("p",{className:"text-xs text-muted-foreground",children:["Confirmation phrase: ",s.jsx("code",{children:e?.confirmation.phrase}),". The one-time confirmation expires at"," ",new Date(e?.confirmation.expiresAt??"").toLocaleTimeString(),"."]})]}),s.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[s.jsx(ee,{type:"button",variant:"outline",disabled:t,onClick:()=>n(!1),children:"Cancel"}),s.jsxs(ee,{type:"button",variant:"secondary",disabled:t||o===null,onClick:r,children:[t?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(Yn,{className:"size-3.5"}),t?"Starting":"Confirm & Run"]})]})]})})}function gP({currentSessionId:e,logCount:t}){const[n,r]=c.useState(!1),[o,i]=c.useState(!1),[a,l]=c.useState(!1),[u,d]=c.useState(null),[p,f]=c.useState(null),[m,h]=c.useState(null),[x,v]=c.useState(null),[b,w]=c.useState(!1),y=Ut("/api/ecosystem/packages",XI,{revalidateOnFocus:!1,revalidateIfStale:!1}),j=Ut(p===null?null:`/api/ecosystem/tasks/${p}`,QI,{refreshInterval:z=>{const X=z?.task;return X!==void 0&&(X.status==="queued"||X.status==="running")?900:0},revalidateOnFocus:!1}),k=Ut(n?"/api/ecosystem/tasks":null,eP,{refreshInterval:2500,revalidateOnFocus:!1}),S=y.data?.packages??[],_=y.data?.runnerPresets??[],N=y.data?.recipes??[],P=(k.data?.tasks??[]).slice(0,6),A=c.useMemo(()=>S.filter(z=>z.state==="installed"||z.state==="update-available").length,[S]),M=pP(e),C="npx @tonyclaw/eval-harness runner-presets",I=()=>{It(M).then(()=>{i(!0),window.setTimeout(()=>i(!1),1200)})},F=()=>{It(C).then(()=>{l(!0),window.setTimeout(()=>l(!1),1200)})},U=z=>{It(z.command).then(()=>{d(z.id),window.setTimeout(()=>d(null),1200)})},Y=z=>{h(null),nP(z.id).then(X=>{v(X)}).catch(X=>{h(X instanceof Error?X.message:"Failed to prepare ecosystem recipe")})},Z=j.data?.task??null;c.useEffect(()=>{Z!==null&&(k.mutate(),Z.status==="succeeded"&&y.mutate())},[Z,y,k]);const V=(z,X)=>{h(null),tP(z,X).then(J=>{v(J)}).catch(J=>{h(J instanceof Error?J.message:"Failed to prepare ecosystem task")})},H=()=>{x!==null&&(h(null),w(!0),sP(x).then(z=>{f(z.id),v(null),j.mutate({task:z},{revalidate:!0}),k.mutate()}).catch(z=>{h(z instanceof Error?z.message:"Failed to start ecosystem task")}).finally(()=>{w(!1)}))};return s.jsxs(Wt,{open:n,onOpenChange:r,children:[s.jsx(jr,{asChild:!0,children:s.jsxs(ee,{variant:"ghost",size:"icon",className:Nr,"aria-label":"TonyClaw Lab",title:"TonyClaw Lab",children:[s.jsx(ff,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:"TonyClaw Lab"})]})}),s.jsxs(Zt,{className:"flex max-h-[84vh] max-w-5xl flex-col overflow-hidden",children:[s.jsx(Yt,{children:s.jsxs(Xt,{className:"flex items-center gap-2",children:[s.jsx(Ta,{className:"size-4 text-cyan-200/80"}),"TonyClaw Lab"]})}),s.jsxs("div",{className:"overflow-y-auto pr-2",children:[s.jsxs("div",{className:"grid gap-3 lg:grid-cols-[1.1fr_0.9fr]",children:[s.jsxs("section",{className:"rounded-lg bg-white/[0.025] p-4 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-sm font-semibold",children:"Session asset pipeline"}),s.jsx("div",{className:"mt-1 max-w-2xl text-xs leading-5 text-muted-foreground",children:"Treat captured traffic as durable assets: observe it, replay it, evaluate it, and expose it back to agents through MCP."})]}),s.jsxs(_e,{variant:"outline",className:"border-cyan-300/20 bg-cyan-300/8 text-cyan-100",children:[String(A),"/",String(S.length)," packages"]})]}),s.jsx("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:YI.map(z=>s.jsx(dP,{workflow:z},z.id))})]}),s.jsxs("section",{className:"rounded-lg bg-white/[0.025] p-4 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("div",{className:"text-sm font-semibold",children:"Current session"}),s.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:e===null?"MCP smoke command":e})]}),s.jsxs(_e,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:[String(t)," logs"]})]}),s.jsx("div",{className:"mt-4 rounded-md bg-black/20 p-3 font-mono text-[11px] leading-5 text-white/55 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:M}),s.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[s.jsxs(ee,{size:"sm",variant:"secondary",onClick:I,children:[o?s.jsx(Ge,{className:"size-3.5"}):s.jsx(zt,{className:"size-3.5"}),o?"Copied":"Copy"]}),s.jsxs(ee,{size:"sm",variant:"outline",onClick:F,children:[s.jsx(Pl,{className:"size-3.5"}),a?"Presets copied":"Runner Presets"]})]})]})]}),s.jsxs("section",{className:"mt-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[s.jsx("div",{className:"text-sm font-semibold",children:"Lab recipes"}),s.jsxs("div",{className:"hidden items-center gap-1 font-mono text-[11px] text-muted-foreground sm:flex",children:[s.jsx(Ta,{className:"size-3.5"}),"copy-ready workflows"]})]}),s.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[N.map(z=>s.jsx(mP,{recipe:z,copied:u===z.id,running:Z!==null&&Z.recipeId===z.id&&(Z.status==="queued"||Z.status==="running"),onCopy:U,onRun:Y},z.id)),y.isLoading&&N.length===0&&[0,1].map(z=>s.jsx("div",{className:"h-40 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"},z))]})]}),s.jsxs("section",{className:"mt-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[s.jsx("div",{className:"text-sm font-semibold",children:"Runner presets"}),s.jsxs("div",{className:"hidden items-center gap-1 font-mono text-[11px] text-muted-foreground sm:flex",children:[s.jsx(Yn,{className:"size-3.5"}),C]})]}),s.jsxs("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[_.map(z=>s.jsx(fP,{preset:z},z.id)),y.isLoading&&_.length===0&&[0,1,2,3].map(z=>s.jsx("div",{className:"h-32 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"},z))]})]}),s.jsxs("section",{className:"mt-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[s.jsx("div",{className:"text-sm font-semibold",children:"TonyClaw packages"}),y.isLoading&&s.jsx("div",{className:"font-mono text-[11px] text-muted-foreground",children:"checking npm..."})]}),y.error!==void 0&&s.jsx("div",{className:"rounded-lg bg-red-500/8 p-3 text-xs text-red-100 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.16)]",children:"Package status is temporarily unavailable."}),s.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[S.map(z=>s.jsx(cP,{pkg:z,activeTask:Z,onStartTask:V},z.id)),y.isLoading&&S.length===0&&[0,1,2].map(z=>s.jsx("div",{className:"h-36 animate-pulse rounded-lg bg-white/[0.025] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]"},z))]})]}),m!==null&&s.jsx("div",{className:"mt-3 rounded-lg bg-red-500/8 p-3 text-xs text-red-100 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.16)]",children:m}),P.length>0&&s.jsxs("section",{className:"mt-3",children:[s.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[s.jsx("div",{className:"text-sm font-semibold",children:"Recent Lab runs"}),s.jsxs("div",{className:"hidden font-mono text-[11px] text-muted-foreground sm:block",children:["last ",String(P.length)]})]}),s.jsx("div",{className:"grid gap-2 md:grid-cols-2",children:P.map(z=>s.jsx(hP,{task:z,selected:p===z.id,onSelect:X=>{f(X.id),j.mutate({task:X},{revalidate:!0})}},z.id))})]}),s.jsx(uP,{task:Z})]})]}),s.jsx(xP,{pending:x,busy:b,onOpenChange:z=>{!z&&!b&&v(null)},onConfirm:H})]})}function bP(e){return[...new Set(e.evidence.map(t=>t.logId).filter(t=>t!==null))]}const vP=[{id:"saved-data",label:"Saved Inspector data",description:"requests, responses, sessions, tools, alerts, runs, groups, and knowledge"},{id:"root-cause",label:"Root-cause hints",description:"failures, hangs, slow paths, token spikes, and provider drift"},{id:"evidence",label:"Evidence links",description:"matched logs and metrics you can jump back into"}],yP=[{id:"reliability",label:"Reliability",question:"Which requests failed, stalled, or look most likely to hang, and why?"},{id:"performance",label:"Performance",question:"Summarize latency and identify the slowest requests with supporting evidence."},{id:"tokens",label:"Token usage",question:"Where are tokens being spent, and which requests have unusually high usage?"},{id:"providers",label:"Providers",question:"Compare Provider and model reliability, latency, and token usage in this scope."},{id:"tools",label:"Tool activity",question:"Which tools were used most, and where did tool calls fail or produce warnings?"}],wP=4e3,ha=12;function bd(){return{messages:[],question:"",error:null}}function jP(e){return e.filter(t=>t.content.trim().length>0).slice(-10).map(t=>({role:t.role,content:t.content.trim().slice(0,wP)}))}function lt(e,...t){for(const n of t){const r=Q(e,n);if(typeof r=="string"&&r.trim().length>0)return r}return null}function gn(e,...t){for(const n of t){const r=Q(e,n);if(typeof r=="number"&&Number.isFinite(r))return r}return null}function kP(e,t){const n=Q(e,t);return Array.isArray(n)?n.filter(r=>typeof r=="string").slice(0,8):[]}function SP(e){const t=lt(e,"source")??"log",n=lt(e,"id")??"",r=gn(e,"logId","id");if(n===""&&r===null||r!==null&&(!Number.isInteger(r)||r<0))return null;const o=gn(e,"inputTokens"),i=gn(e,"outputTokens"),a=gn(e,"totalTokens","tokenCount"),l=gn(e,"responseStatus","status"),u=lt(e,"responseStatus","status");return{source:t,id:n!==""?n:String(r),logId:r,sessionId:lt(e,"sessionId"),timestamp:lt(e,"timestamp"),model:lt(e,"model"),providerName:lt(e,"providerName","provider"),path:lt(e,"path"),status:l??u,elapsedMs:gn(e,"elapsedMs","latencyMs"),inputTokens:o,outputTokens:i,totalTokens:a??(o===null&&i===null?null:(o??0)+(i??0)),score:gn(e,"score","relevanceScore"),matchedFields:kP(e,"matchedFields"),excerpt:lt(e,"excerpt","snippet")??"No excerpt available."}}function xa(e){const t=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim();return t.length===0?"Metric":`${t[0]?.toUpperCase()??""}${t.slice(1)}`}function vd(e){if(typeof e=="number"&&Number.isFinite(e))return e.toLocaleString();if(typeof e=="string"&&e.trim().length>0)return e;if(typeof e=="boolean")return e?"Yes":"No";if(Array.isArray(e)){const t=e.filter(n=>typeof n=="string"||typeof n=="number"&&Number.isFinite(n)).slice(0,6);return t.length>0?t.join(", "):null}return null}function yd(e){return Object.getOwnPropertyNames(e).map(t=>[t,Q(e,t)])}function wd(e){if(e===null||typeof e!="object"||Array.isArray(e))return[];const t=[];for(const[n,r]of yd(e)){const o=vd(r);if(o!==null){if(t.push({key:n,label:xa(n),value:o}),t.length>=ha)break;continue}if(!(r===null||typeof r!="object"||Array.isArray(r))){for(const[i,a]of yd(r)){const l=vd(a);if(l===null)continue;const u=`${n}.${i}`;if(t.push({key:u,label:`${xa(n)} ${xa(i).toLowerCase()}`,value:l}),t.length>=ha)break}if(t.length>=ha)break}}return t}function _P(e){const t=lt(e,"answer"),n=lt(e,"providerId"),r=lt(e,"providerName"),o=lt(e,"model"),i=lt(e,"protocol"),a=gn(e,"logCount");if(t===null||n===null||r===null||o===null||i===null||a===null)return null;const l=Q(e,"evidence"),u=Array.isArray(l)?l.map(SP).filter(d=>d!==null).slice(0,12):[];return{answer:t,providerId:n,providerName:r,model:o,protocol:i,logCount:a,evidence:u,summaryMetrics:wd(Q(e,"summary")),queryMetrics:wd(Q(e,"queryStats"))}}const NP=c.lazy(()=>Kt(()=>import("./index-BWWA1Rf6.js"),__vite__mapDeps([9,1]))),CP="prose prose-sm dark:prose-invert max-w-none text-[13px] leading-[1.65] [&_pre]:bg-muted [&_pre]:text-foreground [&_code]:text-[0.8em] [&_p]:my-1 [&_p]:leading-[1.65] [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_li]:leading-[1.6]";function TP({text:e}){return s.jsx("div",{className:CP,children:s.jsx(c.Suspense,{fallback:s.jsx("span",{className:"text-xs text-muted-foreground",children:"Loading Markdown..."}),children:s.jsx(NP,{children:e})})})}const jd="Analyze the current Inspector session. What looks abnormal, slow, or likely to hang?";function EP(e){return e.openaiResponsesBaseUrl!==void 0||e.openaiBaseUrl!==void 0||e.anthropicBaseUrl!==void 0}function RP(e){return e.openaiResponsesBaseUrl!==void 0&&e.openaiResponsesBaseUrl!==""?"Responses":e.openaiBaseUrl!==void 0&&e.openaiBaseUrl!==""?"Chat":"Anthropic"}function MP(e){return e.toSorted((t,n)=>{const r=t.source==="company"?0:1,o=n.source==="company"?0:1;return r!==o?r-o:t.name.localeCompare(n.name)})}function kd(e){return`${e}-${String(Date.now())}-${String(Math.random()).slice(2)}`}function Fn({label:e,value:t,tone:n="muted"}){return s.jsxs("div",{className:"flex min-w-0 items-center gap-1.5 font-mono text-[10px]",children:[s.jsx("span",{className:n==="cyan"?"text-cyan-100":"text-muted-foreground",children:e}),t!==void 0&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"text-muted-foreground/55",children:":"}),s.jsx("span",{className:"truncate text-muted-foreground",children:t})]})]})}function IP({metrics:e}){return e.length===0?null:s.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:e.slice(0,8).map(t=>s.jsxs("div",{className:"rounded-sm bg-black/25 px-2 py-1 shadow-[inset_2px_0_0_rgba(103,232,249,0.22)]",children:[s.jsx("div",{className:"truncate font-mono text-[9px] text-muted-foreground",children:t.label}),s.jsx("div",{className:"truncate font-mono text-[11px] text-cyan-50/95",children:t.value})]},t.key))})}function PP({evidence:e}){const t=()=>{e.logId!==null&&Is({logId:e.logId,tab:"anatomy"})},n=e.logId===null?`${e.source}:${e.id}`:`${e.source}:log #${String(e.logId)}`;return s.jsxs("button",{type:"button",onClick:t,disabled:e.logId===null,className:"w-full rounded-sm bg-black/25 px-2 py-2 text-left shadow-[inset_2px_0_0_rgba(103,232,249,0.22),inset_0_0_0_1px_rgba(255,255,255,0.045)] transition-colors hover:bg-black/35 disabled:cursor-default disabled:hover:bg-black/25",children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[s.jsx("span",{className:"truncate font-mono text-[10px] text-cyan-100",children:n}),e.score!==null&&s.jsx("span",{className:"shrink-0 font-mono text-[9px] text-muted-foreground",children:e.score.toFixed(1)})]}),s.jsxs("div",{className:"mt-1 flex flex-wrap gap-x-2 gap-y-1 text-[10px] text-muted-foreground",children:[e.providerName!==null&&s.jsx("span",{children:e.providerName}),e.model!==null&&s.jsx("span",{children:e.model}),e.status!==null&&s.jsxs("span",{children:["status ",String(e.status)]}),e.elapsedMs!==null&&s.jsxs("span",{children:[String(e.elapsedMs)," ms"]})]}),s.jsx("p",{className:"mt-1 line-clamp-3 text-[11px] leading-4 text-foreground/85",children:e.excerpt})]})}function AP({response:e}){return s.jsxs("div",{className:"overflow-hidden rounded-md bg-[#050b12]/85 shadow-[inset_0_0_0_1px_rgba(103,232,249,0.12),0_10px_24px_rgba(0,0,0,0.18)]",children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2 border-b border-cyan-100/[0.08] bg-cyan-400/[0.045] px-3 py-2",children:[s.jsx(Fn,{label:"assistant@inspector",value:"output",tone:"cyan"}),s.jsxs("span",{className:"shrink-0 font-mono text-[9px] text-muted-foreground",children:[String(e.logCount)," logs"]})]}),s.jsxs("div",{className:"space-y-3 p-3",children:[s.jsx("div",{className:"rounded-sm bg-black/20 px-2.5 py-2 text-xs leading-5 shadow-[inset_2px_0_0_rgba(103,232,249,0.28)]",children:s.jsx(TP,{text:e.answer})}),s.jsxs("div",{className:"grid gap-1.5 rounded-sm bg-black/20 px-2 py-1.5",children:[s.jsx(Fn,{label:"provider",value:e.providerName}),s.jsx(Fn,{label:"model",value:e.model}),s.jsx(Fn,{label:"protocol",value:e.protocol})]}),(e.summaryMetrics.length>0||e.queryMetrics.length>0)&&s.jsxs("div",{className:"space-y-1.5",children:[s.jsx(Fn,{label:"metrics",tone:"cyan"}),s.jsx(IP,{metrics:[...e.summaryMetrics,...e.queryMetrics]})]}),e.evidence.length>0&&s.jsxs("div",{className:"space-y-1.5",children:[s.jsx(Fn,{label:"evidence",value:"click to inspect source log",tone:"cyan"}),e.evidence.slice(0,6).map(t=>s.jsx(PP,{evidence:t},`${t.source}-${t.id}`))]})]})]})}function OP({message:e}){return e.role==="assistant"&&e.response!==null?s.jsx(AP,{response:e.response}):s.jsxs("div",{className:"overflow-hidden rounded-md bg-black/25 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[s.jsx("div",{className:"border-b border-white/[0.06] px-3 py-1.5",children:s.jsx(Fn,{label:"user@inspector",value:"query",tone:"cyan"})}),s.jsxs("div",{className:"px-3 py-2 font-mono text-[11px] leading-5 text-cyan-50",children:[s.jsx("span",{className:"select-none text-cyan-100/60",children:"> "}),e.content]})]})}function zP({currentSessionId:e,logCount:t,onResultChange:n}){const{providers:r}=$l(),o=c.useMemo(()=>MP(r.filter(EP)),[r]),[i,a]=c.useState(()=>({...bd(),question:jd})),[l,u]=c.useState("__auto__"),[d,p]=c.useState("__auto__"),[f,m]=c.useState(!1),x=o.find(_=>_.id===l)?.models??[],v=i.question,b=v.trim()!==""&&o.length>0&&!f,w=_=>{a(N=>({...N,question:_.currentTarget.value}))},y=_=>{u(_),p("__auto__")},j=()=>{a({...bd(),question:jd}),n(null)},k=_=>{a(N=>({...N,question:_,error:null}))},S=()=>{if(!b)return;const _=v.trim(),N=jP(i.messages),P={id:kd("user"),role:"user",content:_,response:null};m(!0),a(M=>({...M,messages:[...M.messages,P],question:"",error:null}));const A={question:_,history:N,...e!==null?{sessionId:e}:{},...l!=="__auto__"?{providerId:l}:{},...d!=="__auto__"?{model:d}:{},logLimit:16};fetch("/api/pi-agent",{method:"POST",headers:{"content-type":"application/json","x-agent-inspector-csrf":"1"},body:JSON.stringify(A)}).then(async M=>{const C=await M.text();if(!M.ok){a(U=>({...U,error:`Inspector Assistant failed: HTTP ${String(M.status)} ${C}`}));return}const I=JSON.parse(C),F=_P(I);if(F===null){a(U=>({...U,error:"Inspector Assistant returned an unexpected response."}));return}a(U=>({...U,messages:[...U.messages,{id:kd("assistant"),role:"assistant",content:F.answer,response:F}]})),n({question:_,logIds:bP(F),reportedLogCount:F.logCount})}).catch(M=>{a(C=>({...C,error:M instanceof Error?M.message:"Inspector Assistant request failed."}))}).finally(()=>{m(!1)})};return s.jsxs("section",{className:"rounded-md bg-black/20 px-3 py-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Vy,{className:"size-4 text-cyan-200"}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("div",{className:"text-xs font-semibold text-foreground",children:"Search with Assistant"}),s.jsx("div",{className:"text-[11px] text-muted-foreground",children:e===null?"Search all Inspector evidence":"Search this session"})]}),s.jsx("button",{type:"button",onClick:j,className:"inline-flex size-7 items-center justify-center rounded-md bg-black/25 text-muted-foreground transition-colors hover:text-foreground",title:"Reset conversation",children:s.jsx(vf,{className:"size-3.5"})})]}),i.messages.length===0&&s.jsxs("div",{className:"mt-3 rounded-md bg-black/[0.18] px-3 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:[s.jsx("p",{className:"text-[11px] leading-5 text-muted-foreground",children:"Describe the traffic you want to find in plain language. Assistant searches saved traffic, sessions, tools, alerts, runs, groups, and knowledge, then uses linked evidence to shape the log results."}),s.jsx("div",{className:"mt-2 grid gap-1.5",children:vP.map(_=>s.jsxs("div",{className:"rounded-sm bg-cyan-400/[0.06] px-2 py-1.5 shadow-[inset_0_0_0_1px_rgba(103,232,249,0.08)]",children:[s.jsx("div",{className:"text-[10px] font-medium text-cyan-50",children:_.label}),s.jsx("div",{className:"mt-0.5 text-[9px] leading-4 text-muted-foreground",children:_.description})]},_.id))})]}),s.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[s.jsxs(cr,{value:l,onValueChange:y,children:[s.jsx(ur,{className:"h-8 border-0 bg-black/25 text-xs shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]",children:s.jsx(zo,{placeholder:"Provider"})}),s.jsxs(dr,{children:[s.jsx(ct,{value:"__auto__",children:"Auto provider"}),o.map(_=>s.jsxs(ct,{value:_.id,children:[_.name," / ",RP(_)]},_.id))]})]}),s.jsxs(cr,{value:d,onValueChange:p,children:[s.jsx(ur,{className:"h-8 border-0 bg-black/25 text-xs shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]",children:s.jsx(zo,{placeholder:"Model"})}),s.jsxs(dr,{children:[s.jsx(ct,{value:"__auto__",children:"Auto model"}),x.map(_=>s.jsx(ct,{value:_,children:_},_))]})]})]}),i.messages.length===0&&s.jsx("div",{className:"mt-3 flex flex-wrap gap-1.5",children:yP.map(_=>s.jsxs("button",{type:"button",onClick:()=>{k(_.question)},className:"inline-flex h-7 items-center gap-1.5 rounded-sm bg-black/25 px-2 text-[11px] text-cyan-50 transition-colors hover:bg-cyan-400/12",children:[s.jsx(Ta,{className:"size-3"}),s.jsx("span",{children:_.label})]},_.id))}),i.messages.length>0&&s.jsxs("div",{className:"mt-3 max-h-96 space-y-2 overflow-y-auto pr-1",children:[i.messages.map(_=>s.jsx(OP,{message:_},_.id)),f&&s.jsxs("div",{className:"inline-flex items-center gap-2 rounded-md bg-black/25 px-3 py-2 text-xs text-muted-foreground",children:[s.jsx(He,{className:"size-3.5 animate-spin"}),s.jsx("span",{children:"Searching Inspector..."})]})]}),s.jsx("textarea",{value:v,onChange:w,className:"mt-3 min-h-20 w-full resize-y rounded-md bg-black/25 px-3 py-2 text-xs leading-5 text-foreground outline-none shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors placeholder:text-muted-foreground focus-visible:ring-1 focus-visible:ring-ring",placeholder:"Search failures, slow requests, token spikes, tool calls..."}),s.jsxs("button",{type:"button",onClick:S,disabled:!b,className:"mt-2 inline-flex h-8 w-full items-center justify-center gap-2 rounded-md bg-cyan-400/12 px-3 text-xs font-medium text-cyan-100 shadow-[inset_0_0_0_1px_rgba(103,232,249,0.18)] transition-colors hover:bg-cyan-400/18 disabled:cursor-not-allowed disabled:opacity-50",children:[f?s.jsx(He,{className:"size-3.5 animate-spin"}):s.jsx(Vj,{className:"size-3.5"}),s.jsx("span",{children:f?"Searching...":"Search logs"})]}),i.error!==null&&s.jsx("p",{className:"mt-2 break-words text-[11px] leading-5 text-red-200",children:i.error}),o.length===0&&s.jsx("p",{className:"mt-2 text-[11px] leading-5 text-muted-foreground",children:"Configure a Provider with Responses, Chat, or Anthropic URL to enable Inspector Assistant."}),t===0&&s.jsx("p",{className:"mt-2 text-[11px] leading-5 text-muted-foreground",children:"No logs are visible in this scope yet; Inspector Assistant can still answer Provider setup questions."})]})}function LP(e){const t=new Map;for(const n of e){const r=n.logs;for(let o=1;o<r.length;o++){const i=r[o-1],a=r[o];i===void 0||a===void 0||t.set(a.id,{creation:Sd(i.cacheCreationInputTokens,a.cacheCreationInputTokens),read:Sd(i.cacheReadInputTokens,a.cacheReadInputTokens)})}}return t}function Sd(e,t){return t===null||e===null?null:t>e?{direction:"up",delta:t-e}:t<e?{direction:"down",delta:e-t}:null}function K0(e){return e===null?null:new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function ds(e,t,n){const r=K0(e.lastSuccessAt),o=e.retryCount>0?` Retry ${e.retryCount.toString()}.`:"",i=n?" Captured logs remain visible.":"",a=r===null?"":` Last update ${r}.`;return`${t}${a}${o}${i}`}function G0(e,t,n){switch(e){case"connecting":return{label:"Connecting",description:ds(t,"Waiting for the first live update.",n),toneClass:"border-cyan-400/20 bg-cyan-500/8 text-cyan-100",dotClass:"bg-cyan-300 animate-pulse motion-reduce:animate-none",canRetry:!1,canStop:!1};case"live":return{label:"Live",description:ds(t,"Live updates are current.",n),toneClass:"border-emerald-400/20 bg-emerald-500/8 text-emerald-100",dotClass:"bg-emerald-300",canRetry:!1,canStop:!1};case"reconnecting":return{label:"Reconnecting",description:ds(t,"Live updates were interrupted.",n),toneClass:"border-amber-400/20 bg-amber-500/8 text-amber-100",dotClass:"bg-amber-300 animate-pulse motion-reduce:animate-none",canRetry:!0,canStop:!0};case"stale":return{label:"Stale data",description:ds(t,"Live updates have not resumed.",n),toneClass:"border-orange-400/25 bg-orange-500/10 text-orange-100",dotClass:"bg-orange-300",canRetry:!0,canStop:!0};case"offline":return{label:"Offline",description:ds(t,t.errorMessage??"Live updates are paused.",n),toneClass:"border-slate-400/20 bg-slate-500/10 text-slate-200",dotClass:"bg-slate-400",canRetry:!0,canStop:!1};case"error":return{label:"Connection error",description:ds(t,t.errorMessage??"The live stream reported a recoverable error.",n),toneClass:"border-red-400/25 bg-red-500/10 text-red-100",dotClass:"bg-red-300",canRetry:!0,canStop:!0}}}function $P({state:e}){const t=G0(e.status,e,!1),n=K0(e.lastSuccessAt),r=e.retryCount>0?`Retry ${e.retryCount.toString()}`:null;return s.jsxs("span",{role:"status","aria-label":t.description,"data-connection-state":e.status,className:$("inline-flex h-7 max-w-full items-center gap-1.5 rounded-full border px-2.5 text-xs font-medium",t.toneClass),children:[s.jsx("span",{className:$("size-1.5 shrink-0 rounded-full",t.dotClass)}),s.jsx("span",{className:"shrink-0",children:t.label}),r!==null&&s.jsx("span",{className:"hidden truncate text-current/70 sm:inline",children:r}),n!==null&&s.jsxs("span",{className:"hidden truncate font-mono text-[10px] text-current/65 md:inline",children:["Last ",n]})]})}function DP({state:e,hasLogs:t,onRetry:n,onStop:r}){const o=G0(e.status,e,t);return s.jsxs("div",{role:"status","aria-live":"polite","data-connection-state":e.status,className:$("mt-2 flex flex-wrap items-center gap-x-3 gap-y-2 rounded-md border px-3 py-2 text-xs",o.toneClass),children:[s.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[s.jsx("span",{className:$("size-2 shrink-0 rounded-full",o.dotClass)}),s.jsx("span",{className:"shrink-0 font-semibold",children:o.label}),s.jsx("span",{className:"min-w-0 text-current/75",children:o.description})]}),(o.canRetry||o.canStop)&&s.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[o.canRetry&&s.jsxs("button",{type:"button",onClick:n,className:"inline-flex h-7 items-center gap-1 rounded-md bg-black/15 px-2 font-medium transition-colors hover:bg-black/25 focus-visible:ring-1 focus-visible:ring-current focus-visible:outline-none",children:[s.jsx(Bt,{className:"size-3"}),"Retry now"]}),o.canStop&&s.jsxs("button",{type:"button",onClick:r,className:"inline-flex h-7 items-center gap-1 rounded-md px-2 text-current/70 transition-colors hover:bg-black/15 hover:text-current focus-visible:ring-1 focus-visible:ring-current focus-visible:outline-none",children:[s.jsx(fw,{className:"size-3"}),"Stop retrying"]})]})]})}function FP(){const[e,t]=c.useState(!1),[n,r]=c.useState(!1);c.useEffect(()=>{const a=()=>{t(document.fullscreenElement!==null),r(document.fullscreenEnabled&&document.documentElement.requestFullscreen!==void 0&&document.exitFullscreen!==void 0)};return a(),document.addEventListener("fullscreenchange",a),()=>{document.removeEventListener("fullscreenchange",a)}},[]);const o=c.useCallback(()=>{if(n){if(document.fullscreenElement===null){document.documentElement.requestFullscreen().catch(()=>{t(document.fullscreenElement!==null)});return}document.exitFullscreen().catch(()=>{t(document.fullscreenElement!==null)})}},[n]),i=e?"Exit fullscreen":"Enter fullscreen";return s.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Nr,"aria-label":i,"aria-pressed":e,title:i,disabled:!n,onClick:o,children:[e?s.jsx(dj,{className:"size-4"}):s.jsx(lj,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:i})]})}function UP({liveConnection:e,alertsAction:t,settingsAction:n}){return s.jsx("header",{"data-application-bar":"true",className:"border-border/70 bg-background/95 sticky top-0 z-50 shrink-0 border-b px-3 py-2 shadow-[0_10px_30px_rgba(0,0,0,0.14)] backdrop-blur lg:px-4",children:s.jsxs("div",{className:"grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-2 sm:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)]",children:[s.jsxs("a",{href:"/","aria-label":"Agent Inspector home",className:"flex min-w-0 items-center gap-2 rounded-md focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:[s.jsx(sp,{className:"size-7 shrink-0 text-amber-500"}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block truncate text-sm font-bold leading-4",children:"Agent Inspector"}),s.jsx("span",{className:"hidden truncate text-[10px] font-medium text-muted-foreground md:block",children:"Local First. Evidence First."})]}),s.jsxs("span",{className:"hidden shrink-0 font-mono text-[10px] text-muted-foreground lg:inline",children:["v",wf.version]})]}),s.jsx("div",{className:"order-3 col-span-2 flex min-w-0 justify-start sm:order-2 sm:col-span-1 sm:justify-center",children:e===void 0?s.jsxs("span",{"data-connection-state":"stored",className:"border-border/70 bg-muted/50 inline-flex h-7 max-w-full items-center gap-1.5 rounded-full border px-2.5 text-xs font-medium text-muted-foreground",children:[s.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-slate-400"}),"Stored session"]}):s.jsx($P,{state:e})}),s.jsxs("nav",{"aria-label":"Application actions",className:"order-2 flex shrink-0 items-center justify-end gap-1 sm:order-3",children:[s.jsx(FP,{}),t,n]})]})})}function BP(e){return`${Math.max(0,Math.ceil(e/1e3)).toString()}s`}function uo({progress:e}){const t=Math.min(1,e.elapsedMs/e.timeoutMs),n=Math.max(4,Math.round(t*100)),r=Math.max(0,e.timeoutMs-e.elapsedMs),o=t>=.75,i=[e.loadedLogs>0?`${e.loadedLogs.toString()} logs`:null,e.loadedPages>0?`${e.loadedPages.toString()} page${e.loadedPages===1?"":"s"}`:null,`${BP(r)} before timeout`].filter(l=>l!==null),a=`${e.label}: ${i.join(", ")}`;return s.jsxs("div",{className:"min-w-0 space-y-1 px-1 pb-1",children:[s.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-3 font-mono text-[10px] text-muted-foreground",children:[s.jsx("span",{className:"min-w-0 truncate",children:e.label}),s.jsx("span",{className:$("shrink-0 tabular-nums",o&&"text-amber-300"),children:i.join(" / ")})]}),s.jsx("div",{role:"progressbar","aria-label":e.label,"aria-valuemin":0,"aria-valuemax":e.timeoutMs,"aria-valuenow":Math.min(e.elapsedMs,e.timeoutMs),"aria-valuetext":a,className:"h-1.5 overflow-hidden rounded-full bg-white/[0.06]",children:s.jsx("div",{className:$("h-full rounded-full transition-all duration-300 motion-reduce:transition-none",o?"bg-amber-300/80":"bg-cyan-300/70"),style:{width:`${n.toString()}%`}})})]})}function J0(e){return e?"auto":"smooth"}function Y0(){return typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function qP(){return{status:"connecting",lastSuccessAt:null,retryCount:0,errorMessage:null}}function nn(e,t){switch(t.type){case"connect-requested":return{...e,status:e.lastSuccessAt===null?"connecting":e.status==="stale"?"stale":"reconnecting",errorMessage:null};case"message-received":return{status:"live",lastSuccessAt:t.at,retryCount:0,errorMessage:null};case"connection-lost":{const n=e.retryCount+1;return t.online?{...e,status:e.lastSuccessAt===null?"error":"reconnecting",retryCount:n,errorMessage:t.message}:{...e,status:"offline",retryCount:n,errorMessage:"Browser is offline."}}case"stale-timeout":return e.lastSuccessAt===null||e.status==="live"||e.status==="offline"?e:{...e,status:"stale"};case"browser-offline":return{...e,status:"offline",errorMessage:"Browser is offline."};case"stop-retrying":return{...e,status:"offline",errorMessage:"Automatic live updates are paused."};case"recoverable-error":return{...e,status:"error",errorMessage:t.message}}}function HP(e){return e===void 0||e.status==="live"?"empty":e.status}function VP(e){switch(e){case"connecting":return{title:"Connecting to the live stream...",description:"Waiting for the first successful initialization before checking for logs.",showConnectionCommands:!1};case"empty":return{title:"No logs captured yet.",description:"Connect an AI coding tool to capture its first request.",showConnectionCommands:!0};case"reconnecting":return{title:"Reconnecting to live updates...",description:"The stream was interrupted. Agent Inspector is retrying automatically.",showConnectionCommands:!1};case"stale":return{title:"Live data is stale.",description:"No logs are hidden; retry the connection to resume live updates.",showConnectionCommands:!1};case"offline":return{title:"Live updates are offline.",description:"Check the browser and Inspector connection, then retry.",showConnectionCommands:!1};case"error":return{title:"Live updates could not initialize.",description:"The error is recoverable. Retry without reloading the page.",showConnectionCommands:!1}}}const _d="agent-inspector.hierarchy.collapsedClients",Nd="agent-inspector.hierarchy.collapsedProcesses";function Do(e){return e.some(t=>t.responseStatus===null)}function X0(e){return e.filter(t=>t.responseStatus===null).length}function Q0(e){for(const t of e){const n=t.userAgent;if(n!=null&&n!=="")return n}return null}function WP(e){for(const t of e){const n=t.clientPid;if(n!=null)return n}return null}function ex(e){for(const t of e){const n=t.clientProjectFolder;if(n!=null&&n!=="")return n}return null}function ZP(e){return cc({userAgent:Q0(e.logs),conversationId:e.conversationId,clientProjectFolder:ex(e.logs)})}function KP(e){if(e===null||e==="")return"Unknown client";const t=e.split(/[ /;]/)[0]??"";return t===""?"Unknown client":t}function GP(e,t){const n=yi(e);return n!==null?n:KP(t)}function Fo(e){return e===null||e===""?"unknown":String(e)}function JP(e,t,n){return e!=="unknown"?e:`unknown:${Fo(t)}:${Fo(n)}`}function YP(e,t){return`${Fo(e)}:${Fo(t)}`}function Cd(e){return[...e].sort((t,n)=>t.timestamp.localeCompare(n.timestamp))}function Td(e){let t="";for(const n of e)n.timestamp>t&&(t=n.timestamp);return t}function Ed(e){return Do(e)?0:e.some(t=>t.error!==null&&t.error!==void 0||t.responseStatus!==null&&t.responseStatus!==void 0&&t.responseStatus>=400)?1:2}function ga(e){return[...e].sort((t,n)=>{const r=Ed(t.logs)-Ed(n.logs);if(r!==0)return r;const o=Td(n.logs).localeCompare(Td(t.logs));return o!==0?o:t.id.localeCompare(n.id)})}function XP(e){const t=new Map;for(const r of e){const o=Q0(r.logs),i=ex(r.logs),a=ZP(r),l=JP(a,o,i);let u=t.get(l);u===void 0&&(u={id:l,client:a,label:GP(a,o),userAgent:o,processes:new Map,logs:[]},t.set(l,u)),u.logs.push(...r.logs);const d=WP(r.logs),p=`${l}:${YP(d,i)}`;let f=u.processes.get(p);f===void 0&&(f={id:p,clientPid:d,clientProjectFolder:i,sessions:[],logs:[]},u.processes.set(p,f)),f.sessions.push(r),f.logs.push(...r.logs)}const n=[];for(const r of t.values()){const o=ga([...r.processes.values()].map(i=>({id:i.id,clientPid:i.clientPid,clientProjectFolder:i.clientProjectFolder,sessions:ga(i.sessions),logs:Cd(i.logs)})));n.push({id:r.id,client:r.client,label:r.label,userAgent:r.userAgent,processes:o,logs:Cd(r.logs)})}return ga(n)}function Uo(e){return e<=0?"0":Me(e)}function tx(e){let t=0,n=0;for(const r of e)r.inputTokens!==null&&r.inputTokens!==void 0&&(t+=r.inputTokens),r.outputTokens!==null&&r.outputTokens!==void 0&&(n+=r.outputTokens);return{inputTokens:t,outputTokens:n}}function QP(e){let t=0;for(const n of e)t+=n.sessions.length;return t}function Rd(e){if(typeof window>"u")return null;try{const t=window.localStorage.getItem(e);if(t===null)return null;const n=JSON.parse(t);return Array.isArray(n)?new Set(n.filter(r=>typeof r=="string")):null}catch{return null}}function Md(e,t){try{window.localStorage.setItem(e,JSON.stringify([...t]))}catch{}}function Id(e,t){let n=!1;const r=new Set(e);for(const o of t)r.delete(o)&&(n=!0);return n?r:e}function eA(e){const t=new Set;for(const n of e)for(let r=1;r<n.processes.length;r++){const o=n.processes[r];o!==void 0&&!Do(o.logs)&&t.add(o.id)}return t}function tA(e){if(e===null||e==="")return null;const t=e.replaceAll("\\","/").split("/").filter(o=>o!==""),n=t[t.length-1];if(n===void 0)return e;const r=t[t.length-2];return r===void 0?n:`${r}/${n}`}function Bo({label:e,value:t,className:n}){return s.jsxs("span",{className:$("inline-flex h-7 items-center gap-1 rounded-md bg-[var(--inspector-surface-low)] px-2 text-xs text-muted-foreground",n),children:[s.jsx("span",{className:"font-mono text-[10px] uppercase text-muted-foreground/70",children:e}),s.jsx("span",{className:"font-mono tabular-nums text-foreground",children:t})]})}function nx({count:e}){const t=`${e} open turn${e===1?"":"s"}`;return s.jsxs("span",{className:"relative inline-flex size-6 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-medium)] text-[var(--inspector-status-watch)] ring-1 ring-border/50","aria-label":t,title:t,children:[s.jsx(He,{className:"size-3 animate-spin"}),e>1&&s.jsx("span",{className:"absolute translate-x-2 -translate-y-2 rounded bg-card px-0.5 font-mono text-[8px] tabular-nums text-[var(--inspector-status-watch)]",children:e})]})}function nA({groups:e,...t}){const n=c.useMemo(()=>XP(e),[e]),[r,o]=c.useState(()=>new Set),[i,a]=c.useState(()=>eA(n)),[l,u]=c.useState(!1);c.useEffect(()=>{const f=Rd(_d),m=Rd(Nd);f!==null&&o(f),m!==null&&a(m),u(!0)},[]),c.useEffect(()=>{l&&(Md(_d,r),Md(Nd,i))},[r,i,l]),c.useEffect(()=>{const f=new Set(n.filter(h=>Do(h.logs)).map(h=>h.id)),m=new Set(n.flatMap(h=>h.processes.filter(x=>Do(x.logs)).map(x=>x.id)));o(h=>Id(h,f)),a(h=>Id(h,m))},[n]);const d=c.useCallback(f=>{o(m=>{const h=new Set(m);return h.has(f)?h.delete(f):h.add(f),h})},[]),p=c.useCallback(f=>{a(m=>{const h=new Set(m);return h.has(f)?h.delete(f):h.add(f),h})},[]);return s.jsx("div",{className:"space-y-2",children:n.map(f=>s.jsx(sA,{group:f,collapsed:r.has(f.id),collapsedProcessIds:i,onToggleClient:()=>d(f.id),onToggleProcess:p,conversationProps:t},f.id))})}function sA({group:e,collapsed:t,collapsedProcessIds:n,onToggleClient:r,onToggleProcess:o,conversationProps:i}){const a=tx(e.logs),l=QP(e.processes),u=e.logs.length,d=X0(e.logs),p=d>0;return s.jsxs("section",{className:$("relative isolate overflow-hidden rounded-[8px] bg-card/65",p&&"bg-card/80"),"data-ide-group":e.id,children:[s.jsxs("button",{type:"button",className:"grid w-full min-w-0 grid-cols-[2.25rem_minmax(0,1fr)_auto] items-center gap-2.5 px-3 py-2.5 text-left transition-colors hover:bg-[var(--inspector-surface-low)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",onClick:r,"aria-expanded":!t,children:[e.client==="unknown"?s.jsx("span",{className:"inline-flex size-9 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground",children:s.jsx(mj,{className:"size-4"})}):s.jsx(wi,{client:e.client,className:"size-9 rounded-md",decorative:!0}),s.jsxs("span",{className:"min-w-0",children:[s.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("span",{className:"truncate text-sm font-semibold text-foreground",title:e.userAgent??e.label,children:e.label}),s.jsx("span",{className:"rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground",children:PC(e.client)}),p&&s.jsx(nx,{count:d})]}),s.jsxs("span",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsxs("span",{children:[e.processes.length," process",e.processes.length!==1?"es":""]}),s.jsxs("span",{children:[l," session",l!==1?"s":""]}),s.jsxs("span",{children:[u," req"]})]})]}),s.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[t&&s.jsxs("span",{className:"hidden shrink-0 items-center gap-2 md:flex",children:[s.jsx(Bo,{label:"IN",value:Uo(a.inputTokens)}),s.jsx(Bo,{label:"OUT",value:Uo(a.outputTokens)})]}),s.jsx("span",{className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors group-hover:bg-[var(--inspector-surface-medium)]",children:t?s.jsx(vt,{className:"size-4"}):s.jsx(tt,{className:"size-4"})})]})]}),!t&&s.jsx("div",{className:"space-y-0.5 px-2 pb-2 pt-0.5",children:e.processes.map(f=>s.jsx(rA,{group:f,collapsed:n.has(f.id),onToggle:()=>o(f.id),conversationProps:i},f.id))})]})}function rA({group:e,collapsed:t,onToggle:n,conversationProps:r}){const o=tx(e.logs),i=tA(e.clientProjectFolder),a=e.sessions.length,l=e.logs.length,u=X0(e.logs),d=u>0,p=e.clientPid!==null&&e.clientPid!==void 0?`PID ${e.clientPid}`:"Process unavailable";return s.jsxs("section",{className:"relative pl-3",children:[s.jsxs("button",{type:"button",className:"grid w-full min-w-0 grid-cols-[2rem_minmax(0,1fr)_auto] items-center gap-2.5 rounded-md bg-[var(--inspector-surface-low)] px-2.5 py-2 text-left transition-colors hover:bg-[var(--inspector-surface-medium)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",onClick:n,"aria-expanded":!t,children:[s.jsx("span",{className:"inline-flex size-8 shrink-0 items-center justify-center text-[var(--inspector-status-watch)]",children:s.jsx(Cw,{className:"size-4"})}),s.jsxs("span",{className:"min-w-0",children:[s.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"font-mono text-xs font-semibold tabular-nums text-foreground",children:p}),d&&s.jsx(nx,{count:u}),i!==null&&s.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1 text-[11px] text-muted-foreground",title:e.clientProjectFolder??i,children:[s.jsx(Gw,{className:"size-3 shrink-0"}),s.jsx("span",{className:"truncate font-mono",children:i})]})]}),s.jsxs("span",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsxs("span",{children:[a," session",a!==1?"s":""]}),s.jsxs("span",{children:[l," req"]})]})]}),s.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[t&&s.jsxs("span",{className:"hidden shrink-0 items-center gap-2 md:flex",children:[s.jsx(Bo,{label:"IN",value:Uo(o.inputTokens)}),s.jsx(Bo,{label:"OUT",value:Uo(o.outputTokens)})]}),s.jsx("span",{className:"inline-flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground transition-colors hover:bg-[var(--inspector-surface-medium)]",children:t?s.jsx(vt,{className:"size-4"}):s.jsx(tt,{className:"size-4"})})]})]}),!t&&s.jsx("div",{className:"space-y-1 pb-1 pl-3 pr-1 pt-1",children:e.sessions.map(f=>s.jsx(nR,{group:f,...r,showClientIdentity:!1,showLogClientMetadata:!1,showProcessMetadata:!1},f.id))})]})}const oA="w-[calc(100%-1rem)] border-warning/30 bg-popover text-popover-foreground sm:max-w-lg",iA=[{label:"Headers",detail:"request and response headers, including authorization or cookie values"},{label:"Prompts",detail:"system instructions, user prompts, model responses, and conversation history"},{label:"Source content",detail:"source code, file contents, tool inputs, and tool output"},{label:"Secrets",detail:"API keys, access tokens, credentials, and other sensitive values"}];function aA({onCancel:e,onExportRedacted:t,onConfirmRaw:n}){return s.jsxs(s.Fragment,{children:[s.jsxs(Yt,{children:[s.jsx(Xt,{children:"Export unredacted logs?"}),s.jsx(kr,{children:"Raw exports bypass Agent Inspector redaction and may expose sensitive captured data."})]}),s.jsxs("div",{role:"alert",className:"rounded-md border border-warning/35 bg-warning/10 px-3 py-3 text-sm text-foreground",children:[s.jsx("p",{className:"font-medium",children:"The raw archive may include:"}),s.jsx("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-xs leading-relaxed text-muted-foreground",children:iA.map(r=>s.jsxs("li",{children:[s.jsxs("span",{className:"font-semibold text-foreground",children:[r.label,":"]})," ",r.detail]},r.label))}),s.jsx("p",{className:"mt-3 text-xs leading-relaxed text-muted-foreground",children:"Only continue if you trust where this file will be stored and everyone it may be shared with."})]}),s.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[s.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:e,children:"Cancel"}),s.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:t,children:"Export redacted instead"}),s.jsx(ee,{type:"button",variant:"destructive",size:"sm",onClick:n,children:"Export raw data"})]})]})}const qo="data-nav-id",lA="data-nav-action";function Pd(e){return Array.from(e.querySelectorAll(`[${qo}]`))}function Ad(e){return e instanceof HTMLElement}function cA(e,t){let n=e;for(;n!==null&&n!==t;){if(n.hasAttribute(qo))return n;n=n.parentElement}return e.hasAttribute(qo)?e:null}function ba(e){const t=e.getAttribute(lA);return t==="toggle"||t==="expand"||t==="collapse"?t:null}function Vs(e){e.focus({preventScroll:!0}),e.scrollIntoView({block:"nearest",behavior:"smooth"})}function Ws(e,t){return e[t]??null}function sx(e){const t=e.tagName;return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||e.isContentEditable)}function Od(e){const t=e.tagName;return t==="BUTTON"||t==="A"||sx(e)?!0:e.closest("[role='button'],[role='menuitem'],[role='option']")!==null}function uA(e){return e.closest("[role='dialog'],[role='menu'],[role='listbox']")!==null?!0:document.querySelector("[role='dialog'],[role='menu'],[role='listbox']")!==null}function dA(){const e=window.getSelection();return e===null?!1:e.type==="Range"&&e.toString().length>0}function Yr(e,t){return e.key===t&&e.shiftKey}function pA(e,t,n={}){const r=t??e,o=n.pageWide===!0,i=c.useCallback(a=>{const l=e.current,u=r.current;if(!l||!u)return;const d=a.target;if(!Ad(d)||d!==u)return;const p=Pd(l),f=Ws(p,0);f!==null&&Vs(f)},[e,r]);c.useEffect(()=>{const a=l=>{if(l.altKey||l.ctrlKey||l.metaKey)return;const u=e.current;if(!u)return;const d=l.target;if(!Ad(d)||sx(d)||dA())return;const p=u.contains(d);if(p&&Od(d)&&!d.hasAttribute(qo)||!p&&(!o||Od(d)||uA(d)))return;const f=Pd(u);if(f.length===0)return;const m=cA(d,u),h=m!==null?f.indexOf(m):-1;let x=!1;switch(l.key){case"ArrowUp":case"W":{if(l.shiftKey&&l.key==="ArrowUp"||l.key==="W"&&!Yr(l,"W"))break;l.preventDefault();const v=h>0?h-1:h===-1?f.length-1:-1;if(v!==-1){const b=Ws(f,v);b!==null&&Vs(b)}x=!0;break}case"ArrowDown":case"S":{if(l.shiftKey&&l.key==="ArrowDown"||l.key==="S"&&!Yr(l,"S"))break;l.preventDefault();const v=h<f.length-1?h+1:h===-1?0:-1;if(v!==-1){const b=Ws(f,v);b!==null&&Vs(b)}x=!0;break}case"ArrowLeft":case"A":{if(l.shiftKey&&l.key==="ArrowLeft"||l.key==="A"&&!Yr(l,"A")||m===null)break;if(l.preventDefault(),ba(m)==="collapse")m.click();else if(h>0){const b=Ws(f,h-1);b!==null&&Vs(b)}x=!0;break}case"ArrowRight":case"D":{if(l.shiftKey&&l.key==="ArrowRight"||l.key==="D"&&!Yr(l,"D")||m===null)break;if(l.preventDefault(),ba(m)==="expand")m.click();else if(h<f.length-1){const b=Ws(f,h+1);b!==null&&Vs(b)}x=!0;break}case" ":{if(m===null)break;l.preventDefault(),ba(m)!==null&&m.click(),x=!0;break}}x&&l.stopPropagation()};return document.addEventListener("keydown",a,{capture:!0}),()=>document.removeEventListener("keydown",a,{capture:!0})},[e,o,r]),c.useEffect(()=>(document.addEventListener("focusin",i),()=>document.removeEventListener("focusin",i)),[i])}const fA={system:"System",user:"User",assistant:"Assistant",tool:"Tool Results",tools:"Tool Definitions"},mA={system:"bg-sky-500/70",user:"bg-emerald-500/70",assistant:"bg-violet-500/70",tool:"bg-sky-400/55",tools:"bg-slate-500/70"},hA={system:"focus-visible:ring-sky-300",user:"focus-visible:ring-emerald-300",assistant:"focus-visible:ring-violet-300",tool:"focus-visible:ring-sky-300",tools:"focus-visible:ring-slate-300"},va=12,Xr=1,zd=80,Ld=24;function xA(e){return e.length<=Ld?e:`${e.slice(0,Ld-3)}...`}function gA(e){const t=e.replace(/\s+/g," ").trim();return t.length<=zd?t:`${t.slice(0,zd)}...`}function Qr(e){return e>=10?`${e.toFixed(0)}%`:e>=1?`${e.toFixed(1)}%`:e>0?"<1%":"0%"}const bA=c.memo(function({segments:t,totalTokens:n,showLabels:r=!0,onActivate:o}){const i=c.useMemo(()=>n>0?n:t.reduce((b,w)=>b+w.size,0),[t,n]),a=t.slice(0,va),l=t.slice(va),u=l.reduce((b,w)=>b+w.size,0),d=l.length,p=va,f=p+d-1,m=d>0,h=o!==void 0,x=c.useMemo(()=>a.reduce((b,w)=>b+w.size,0),[a]),v=c.useMemo(()=>`Request context: ~${Me(i)} tokens across ${t.length} segment${t.length===1?"":"s"}`,[t.length,i]);return t.length===0||i<=0?s.jsx("div",{role:"img","aria-label":v,className:"h-6"}):s.jsx($s,{delayDuration:150,children:s.jsxs("div",{role:"img","aria-label":v,className:"flex flex-col gap-1.5",children:[s.jsxs("div",{className:"relative flex h-6 w-full overflow-hidden rounded border border-border/40 bg-muted/30","data-testid":"anatomy-segment-bar",children:[a.map((b,w)=>{const y=i>0?b.size/i*100:0,j=Math.max(Xr,y),k=$("h-full border-r border-background/80 last:border-r-0",h?"opacity-90 hover:opacity-100 focus:opacity-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background":"opacity-90",mA[b.role],h?hA[b.role]:""),S={width:`${j}%`},_=`${b.label}, ${Qr(y)}, ~${Me(b.size)} tokens`;return s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:h?s.jsx("button",{type:"button",role:"button",tabIndex:0,onClick:()=>o(b),onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),o(b))},"data-anatomy-path":b.path,"aria-label":_,className:k,style:S}):s.jsx("span",{"aria-label":_,className:k,style:S})}),s.jsxs(mt,{side:"bottom",className:"max-w-sm text-xs p-2 space-y-0.5",children:[s.jsxs("div",{className:"font-semibold",children:[b.label," - ",Qr(y)," - ~",Me(b.size)," ","tokens"]}),s.jsx("div",{className:"text-muted-foreground",children:fA[b.role]}),s.jsxs("div",{className:"text-muted-foreground",children:[b.characters.toLocaleString()," chars"]}),b.text.length>0&&s.jsx("div",{className:"text-muted-foreground/90 break-words whitespace-pre-wrap",children:gA(b.text)})]})]},`${b.path}-${w}`)}),m&&s.jsxs(pt,{children:[s.jsx(ft,{asChild:!0,children:s.jsxs("div",{role:"img","aria-label":`${d} additional segments`,className:"flex h-full items-center justify-center bg-muted-foreground/30 px-1.5 text-[10px] font-mono text-background",style:{width:`${Math.max(Xr,u/i*100)}%`},children:["... +",d]})}),s.jsxs(mt,{side:"bottom",className:"text-xs",children:[d," more segment",d===1?"":"s"," (indices"," ",p,"-",f,")"]})]})]}),r&&s.jsxs("div",{className:"flex w-full gap-1 text-[10px] text-muted-foreground",children:[a.map((b,w)=>{const y=i>0?b.size/i*100:0,j=Math.max(Xr,y);return s.jsxs("div",{className:"flex flex-col gap-0.5 truncate",style:{width:`${j}%`},title:`${b.label} - ${Qr(y)} - ~${Me(b.size)} tokens`,children:[s.jsx("span",{className:"truncate font-mono text-foreground/80",children:xA(b.label)}),s.jsxs("span",{className:"truncate font-mono text-muted-foreground/70",children:[Qr(y)," - ~",Me(b.size)]})]},`label-${b.path}-${w}`)}),m&&s.jsxs("div",{className:"flex flex-col gap-0.5 truncate text-muted-foreground",style:{width:`${Math.max(Xr,u/i*100)}%`},children:[s.jsxs("span",{className:"truncate font-mono text-foreground/60",children:["... +",d]}),s.jsxs("span",{className:"truncate font-mono text-muted-foreground/60",children:["~",Me(u)]})]})]}),x<i*.1&&s.jsx("div",{className:"h-0"})]})})}),rx=.75,ox=.9,al=8e3,vA=.35,ix=40,ax=160,yA=5,wA=8,jA=18,kA=6e4,SA=.7,$d=3e3,_A=.3,Dd=160,NA=new Set(["answer","body","content","data","error","message","markdown","output","response","result","stderr","stdout","text","transcript"]),CA=["context_window","contextWindow","context_length","contextLength","max_context_length","maxContextLength","max_input_tokens","maxInputTokens"],TA=["max_tokens","maxTokens","max_completion_tokens","maxCompletionTokens","max_output_tokens","maxOutputTokens"],EA=[{family:"OpenAI GPT-4.1",tokens:1047576,mode:"prefix",patterns:["gpt-4.1"]},{family:"OpenAI GPT-4o",tokens:128e3,mode:"prefix",patterns:["gpt-4o"]},{family:"OpenAI o-series",tokens:128e3,mode:"prefix",patterns:["o1","o3","o4"]},{family:"Anthropic Claude",tokens:2e5,mode:"prefix",patterns:["claude-"]},{family:"DeepSeek V4",tokens:1048576,mode:"prefix",patterns:["deepseek-v4-pro","deepseek-v4-flash"]},{family:"DeepSeek",tokens:64e3,mode:"prefix",patterns:["deepseek-"]},{family:"MiniMax M3",tokens:1048576,mode:"includes",patterns:["minimax-m3"]},{family:"MiniMax M2.7",tokens:204800,mode:"includes",patterns:["minimax-m2.7"]},{family:"MiniMax M2.5/M2.1",tokens:196608,mode:"includes",patterns:["minimax-m2.5","minimax-m2.1"]},{family:"GLM-5.2",tokens:1048576,mode:"prefix",patterns:["glm-5.2"]},{family:"GLM-5",tokens:202752,mode:"prefix",patterns:["glm-5","glm-5.1"]}],RA={system:"System",user:"User messages",assistant:"Assistant messages",tool:"Tool results",tools:"Tool definitions"};function MA(e){if(typeof e=="number")return Number.isFinite(e)&&e>0?Math.floor(e):null;if(typeof e=="string"){const t=Number(e);if(Number.isFinite(t)&&t>0)return Math.floor(t)}return null}function lx(e,t){for(const n of t){const r=MA(Q(e,n));if(r!==null)return r}return null}function IA(e){const t=Q(e,"model");if(typeof t!="string")return null;const n=t.trim();return n===""?null:n}function PA(e,t){switch(t.mode){case"prefix":return t.patterns.some(n=>e.startsWith(n));case"includes":return t.patterns.some(n=>e.includes(n))}}function AA(e,t,n=[]){const r=lx(t,CA);if(r!==null)return{tokens:r,label:"Request metadata",source:"request"};const o=AM(e,n);if(o!==null)return{tokens:o.tokens,label:`${o.providerName} config`,source:"provider"};if(e===null)return{tokens:null,label:"Unknown model",source:"unknown"};const i=e.trim().toLowerCase().replace(/\s+/g,"-");for(const a of EA)if(PA(i,a))return{tokens:a.tokens,label:`${a.family} local rule`,source:"model-rule"};return{tokens:null,label:"No local rule",source:"unknown"}}function OA(e){return e<0?0:e>1?1:e}function zA(e){return e===null?"unknown":e>=ox?"danger":e>=rx?"watch":"ok"}function LA(e,t){return e.filter(n=>n.role===t).reduce((n,r)=>n+r.size,0)}function $A(e,t){return["system","user","assistant","tool","tools"].map(r=>{const o=LA(e,r);return{role:r,label:RA[r],tokens:o,percent:t>0?o/t:0}}).filter(r=>r.tokens>0).sort((r,o)=>o.tokens-r.tokens)}function ll(e){return e.replace(/\s+/g," ").trim().toLowerCase()}function DA(e){const t=e.replace(/\s+/g," ").trim();return t.length<=Dd?t:`${t.slice(0,Dd-3)}...`}function FA(e){return{role:e.role,label:e.label,path:e.path,tokens:e.tokens,characters:e.characters}}function UA(e){return{role:e.role,label:e.label,path:e.path,tokens:e.size,characters:e.characters,text:e.text}}function BA(e){const t=e.trim();return t.startsWith("{")||t.startsWith("[")}function qA(e){if(!BA(e))return null;try{return JSON.parse(e)}catch{return null}}function HA(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function VA(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t]??"";if(!(n.startsWith("[")&&n.endsWith("]")))return n}return null}function WA(e){const t=VA(e);return t===null?!1:NA.has(HA(t))}function ZA(e){return e.map(t=>t.startsWith("[")?t:`.${t}`).join("").replace(/^\./,"")}function KA(e,t,n){const r=fc(t);if(r<ax)return null;const o=pc(t);return o<ix?null:{role:e.role,label:`${e.label} ${ZA(n)}`,path:e.path,tokens:o,characters:r,text:t}}function cl({value:e,segment:t,path:n,depth:r,candidates:o}){if(!(o.length>=wA)&&!(r>yA)){if(typeof e=="string"){if(!WA(n))return;const i=KA(t,e,n);i!==null&&o.push(i);return}if(Array.isArray(e)){e.forEach((i,a)=>cl({value:i,segment:t,path:[...n,`[${String(a)}]`],depth:r+1,candidates:o}));return}mc(e)&&Object.entries(e).forEach(([i,a])=>cl({value:a,segment:t,path:[...n,i],depth:r+1,candidates:o}))}}function GA(e){const t=UA(e),n=qA(e.text);if(n===null)return[t];const r=[];cl({value:n,segment:e,path:[],depth:0,candidates:r});const o=ll(e.text),i=new Set([o]),a=r.filter(l=>{const u=ll(l.text);return u===""||i.has(u)?!1:(i.add(u),!0)});return[t,...a]}function JA(e){const t=new Map;for(const r of e){const o=GA(r);for(const i of o){if(i.tokens<ix||i.characters<ax)continue;const a=ll(i.text);if(a==="")continue;const l=t.get(a);if(l===void 0){t.set(a,{tokens:i.tokens,candidates:[i]});continue}t.set(a,{tokens:l.tokens+i.tokens,candidates:[...l.candidates,i]})}}const n=[];for(const r of t.values()){if(r.candidates.length<2)continue;const o=r.candidates[0]??null;if(o===null)continue;const i=r.tokens-o.tokens;n.push({key:`${o.path}:${o.label}:${String(r.candidates.length)}:${String(r.tokens)}`,count:r.candidates.length,totalTokens:r.tokens,repeatedTokens:i,preview:DA(o.text),firstLabel:o.label,segments:r.candidates.map(FA)})}return n.sort((r,o)=>o.repeatedTokens-r.repeatedTokens||o.totalTokens-r.totalTokens)}function YA(e){if(e.length===0)return null;const t=e.length,n=e.reduce((o,i)=>o+i.count,0),r=e.reduce((o,i)=>o+i.repeatedTokens,0);return{kind:"duplicate",severity:r>=al?"danger":"watch",title:"Duplicate context",detail:`${String(n)} repeated blocks across ${String(t)} group${t===1?"":"s"}, ~${String(r)} repeated tokens.`}}function XA(e){return e.reduce((t,n)=>t+n.repeatedTokens,0)}function QA(e,t,n){const r=[],o=e.find(u=>u.role==="tools")??null;o!==null&&(o.tokens>=al||o.percent>=vA&&o.tokens>=$d)&&r.push({kind:"tool-schema",severity:o.tokens>=al?"danger":"watch",title:"Large tool schema",detail:`Tool definitions take ${Math.round(o.percent*100)}% of request context.`});const i=e.find(u=>u.role==="system")??null;i!==null&&i.tokens>=$d&&i.percent>=_A&&r.push({kind:"system-heavy",severity:"watch",title:"Large system prompt",detail:`System instructions take ${Math.round(i.percent*100)}% of request context.`});const a=e.filter(u=>u.role==="user"||u.role==="assistant"||u.role==="tool").reduce((u,d)=>u+d.tokens,0),l=t>0?a/t:0;return n>=jA&&(a>=kA||l>=SA)&&r.push({kind:"history-bloat",severity:l>=.85?"danger":"watch",title:"Conversation history growth",detail:`${String(n)} message blocks take ${Math.round(l*100)}% of request context.`}),r}function eO({risk:e,contextWindow:t,diagnostics:n,duplicateGroups:r}){let i=new Set(n.map(u=>u.kind)).size;(e==="watch"||e==="danger")&&(i+=1),t.source==="unknown"&&(i+=1);const a=n.some(u=>u.severity==="danger");return{level:e==="danger"||a?"risk":i>0?"optimizable":"ok",opportunityCount:i,reclaimableTokens:XA(r)}}function tO({segments:e,inputTokens:t,parsed:n,model:r,providers:o=[]}){const i=e.reduce((_,N)=>_+N.size,0),a=r??IA(n),l=t??i,u=lx(n,TA),d=AA(a,n,o),p=u??0,f=d.tokens===null?null:l+p,m=d.tokens===null?null:d.tokens-l,h=d.tokens===null?null:d.tokens-l-p,x=d.tokens===null||f===null?null:OA(f/d.tokens),v=$A(e,i),b=v[0]??null,w=e.filter(_=>_.role!=="tools").length,y=JA(e),j=YA(y),k=QA(v,i,w);j!==null&&k.unshift(j);const S=zA(x);return{model:a,contextWindow:d,estimatedInputTokens:l,outputReserveTokens:u,windowUsedTokens:f,remainingInputTokens:m,remainingAfterReserveTokens:h,usagePercent:x,riskLevel:S,roleUsages:v,largestRole:b,diagnostics:k,duplicateGroups:y,health:eO({risk:S,contextWindow:d,diagnostics:k,duplicateGroups:y})}}const l6={watch:rx,danger:ox},Fd=new WeakMap;function nO(e){return e.map(t=>{const n=t.modelMetadata?.map(r=>`${r.model}:${String(r.contextWindow??"")}`).join(",")??"";return`${t.id}:${t.updatedAt}:${t.models.join(",")}:${n}`}).join("|")}function sO(e){if(e===null)return null;try{return JSON.parse(e)}catch{return null}}function rO(e){return{role:e.role,label:e.label,size:e.tokens,characters:e.tokens*4,text:"",path:`role:${e.role}`}}function oO(e,t){const n=sO(e.rawRequestBody);if(n===null)return null;const o=t0(ir(e)).anatomySegments(n);if(o===null)return null;const i=tO({segments:o,inputTokens:e.inputTokens??null,parsed:n,model:e.model,providers:t}),a=i.model??e.model??"Unknown model",l=i.roleUsages.map(rO);return{logId:e.id,model:a,timestamp:e.timestamp,contextWindow:i.contextWindow,estimatedInputTokens:i.estimatedInputTokens,windowUsedTokens:i.windowUsedTokens,usagePercent:i.usagePercent,riskLevel:i.riskLevel,health:i.health,diagnostics:i.diagnostics.map(u=>u.title),roleSegments:l,roleTotalTokens:l.reduce((u,d)=>u+d.size,0)}}function iO(e,t,n){const r=Fd.get(e);if(r!==void 0&&r.id===e.id&&r.rawRequestBody===e.rawRequestBody&&r.inputTokens===e.inputTokens&&r.model===e.model&&r.path===e.path&&r.apiFormat===e.apiFormat&&r.timestamp===e.timestamp&&r.providersSignature===n)return r.snapshot;const o=oO(e,t);return Fd.set(e,{id:e.id,rawRequestBody:e.rawRequestBody,inputTokens:e.inputTokens,model:e.model,path:e.path,apiFormat:e.apiFormat,timestamp:e.timestamp,providersSignature:n,snapshot:o}),o}function aO(e,t){return e.usagePercent!==null&&t.usagePercent!==null?e.usagePercent>t.usagePercent:e.usagePercent!==null&&t.usagePercent===null?!0:e.usagePercent===null&&t.usagePercent!==null?!1:e.estimatedInputTokens>t.estimatedInputTokens}function Ud(e){switch(e){case"danger":return 4;case"watch":return 3;case"unknown":return 2;case"ok":return 1}}function lO(e,t){const n=Ud(t.latest.riskLevel)-Ud(e.latest.riskLevel);if(n!==0)return n;const r=e.peak.usagePercent??-1,i=(t.peak.usagePercent??-1)-r;return i!==0?i:t.latest.logId-e.latest.logId}function cO(e,t){return e.usagePercent===null||t.usagePercent===null?null:(t.usagePercent-e.usagePercent)*100}function uO(e){for(let t=1;t<e.length;t++){const n=e[t-1],r=e[t];if(!(n===void 0||r===void 0)&&n.id>r.id)return[...e].sort((o,i)=>o.id-i.id)}return e}function dO(e,t=[]){const n=uO(e),r=nO(t),o=new Map;for(const a of n){const l=iO(a,t,r);if(l===null)continue;const u=o.get(l.model);if(u===void 0){o.set(l.model,{model:l.model,requestCount:1,first:l,latest:l,peak:l});continue}o.set(l.model,{model:u.model,requestCount:u.requestCount+1,first:u.first,latest:l,peak:aO(l,u.peak)?l:u.peak})}return{models:[...o.values()].map(a=>({model:a.model,requestCount:a.requestCount,first:a.first,latest:a.latest,peak:a.peak,trendPercent:cO(a.first,a.latest)})).sort(lO)}}function Un(e){return e.length<=30?e:`${e.slice(0,12)}...${e.slice(-12)}`}function pO(e){const t=new Map;for(const n of e)for(let r=0;r<n.logs.length;r+=1){const o=n.logs[r];o!==void 0&&t.set(o.id,r+1)}return t}function Bd(e,t){return t.get(e.id)??e.id}function qd(e){let t=0,n=0;for(const r of e)r.inputTokens!==null&&(t+=r.inputTokens),r.outputTokens!==null&&(n+=r.outputTokens);return{totalIn:t,totalOut:n}}function fO(e){for(const t of e)if(t.userAgent!==null&&t.userAgent!==void 0&&t.userAgent!=="")return t.userAgent;return null}function mO(e,t){const n=e[0],r=e[e.length-1];return n===void 0||r===void 0?null:Qo(n.timestamp,r.timestamp,t)}function hO(e){switch(e){case"cool":return"text-cyan-100";case"danger":return"text-red-100";case"watch":return"text-amber-100";case"neutral":return"text-foreground"}}function xO(e){switch(e){case"rolling":return"cool";case"failed":return"danger";case"watch":return"watch";case"clear":return"neutral"}}function gO(e){return e.pending>0?`${e.pending} pending / ${e.failures} failed`:e.lengthStops>0?`${e.lengthStops} output limit / ${e.failures} failed`:`${e.failures} failed / ${e.slow} slow`}function ps({label:e,value:t,detail:n,icon:r,tone:o="neutral"}){return s.jsxs("div",{className:"min-w-0 border-t border-white/10 px-4 py-3",children:[s.jsxs("div",{className:"flex items-center gap-1 text-[10px] uppercase text-muted-foreground",children:[r,e]}),s.jsx("div",{className:$("mt-2 font-mono text-sm font-semibold",hO(o)),children:t}),s.jsx("div",{className:"mt-1 font-mono text-[11px] leading-snug text-muted-foreground",children:n})]})}function bO({stats:e}){return e.requests===0?null:s.jsxs("div",{className:"border border-border bg-card shadow-sm mb-4 overflow-hidden rounded-[8px]",children:[s.jsx("div",{className:"px-4 py-3",children:s.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex items-center gap-2 text-[10px] font-semibold uppercase text-muted-foreground",children:[s.jsx(xw,{className:"size-3.5 text-slate-300"}),"Flight Recorder"]}),s.jsx("div",{className:"mt-2 min-w-0 font-mono text-sm font-semibold text-foreground",children:e.modelLabel})]}),s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-4 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsx("span",{className:"min-w-0 font-mono",children:e.providerLabel}),s.jsx("span",{className:"min-w-0 font-mono",children:e.timeRange??"Timeline pending"})]})]})}),s.jsxs("div",{className:"grid grid-cols-2 border-t border-white/10 md:grid-cols-3 2xl:grid-cols-6",children:[s.jsx(ps,{label:"Status",value:e.statusLabel,detail:gO(e),tone:xO(e.status)}),s.jsx(ps,{label:"Turns",value:String(e.turns),detail:e.finishLabel,icon:s.jsx(Ww,{className:"size-3 text-muted-foreground"}),tone:e.finishTone}),s.jsx(ps,{label:"Requests",value:String(e.requests),detail:`${e.failures} failed / ${e.slow} slow`,icon:s.jsx(Ca,{className:"size-3 text-muted-foreground"}),tone:e.failures>0?"danger":"neutral"}),s.jsx(ps,{label:"Peak",value:e.slowestLabel,detail:e.slowestDetail,icon:s.jsx(o5,{className:"size-3 text-muted-foreground"}),tone:e.slow>0?"watch":"neutral"}),s.jsx(ps,{label:"Tokens",value:e.tokenLabel,detail:e.heaviestDetail,icon:s.jsx(zl,{className:"size-3 text-muted-foreground"})}),s.jsx(ps,{label:"Outcome",value:e.outcomeLabel,detail:e.outcomeDetail,tone:e.outcomeTone})]})]})}function Xs(e){if(e===null)return"Unknown";const t=e*100;return t>=10?`${t.toFixed(0)}%`:t>=1?`${t.toFixed(1)}%`:t>0?"<1%":"0%"}function vO(e){return e===null?"n/a":Math.abs(e)<.1?"0%":`${e>0?"+":""}${e.toFixed(1)}%`}function ul(e){return e===null||!Number.isFinite(e)?0:Math.min(Math.max(e*100,0),100)}function yO(e,t){if(t===null)return null;const n=ul(e),r=ul(t);return r<=0||Math.abs(r-n)<.5?null:r}function wO(e){switch(e){case"danger":return"bg-red-400";case"watch":return"bg-amber-300";case"unknown":return"bg-muted-foreground/50";case"ok":return"bg-cyan-300"}}function jO(e){const t=e.latest.contextWindow.tokens;return t===null?"Context window unknown":`Context window ${np(t)}`}const kO=["score","decision","final_status","validation_pass_ratio","semantic_memory_score","opencode_exit","actual_model","run_dir","workspace","project_dir","work_dir"];function cx(e){return typeof e=="string"?e.length>0?e:null:typeof e=="number"||typeof e=="boolean"?String(e):e===null?null:JSON.stringify(e)}function ya(e,t){if(e===null)return null;const n=e.metadata[t];return n===void 0?null:cx(n)}function SO(e){const t=e.toLowerCase();return t.includes("reject")||t.includes("fail")||t.includes("error")?"border-red-400/35 bg-red-500/10 text-red-100":t.includes("partial")||t.includes("pending")||t.includes("slow")?"border-amber-300/35 bg-amber-400/10 text-amber-100":t.includes("pass")||t.includes("complete")||t.includes("accept")?"border-cyan-300/25 bg-cyan-400/10 text-cyan-100":"border-border/70 bg-background/70 text-muted-foreground"}function _O(e){const t=[];for(const n of kO){const r=e.metadata[n];if(r===void 0)continue;const o=cx(r);o!==null&&t.push({key:n,value:o})}return t}function Hd({memberships:e,defaultOpen:t=!1}){const[n,r]=c.useState(t);if(e.length===0)return null;const o=e[0],i=o?.member??null,a=ya(i,"score"),l=ya(i,"decision"),u=ya(i,"final_status"),d=[a===null?null:{label:`score ${a}`,value:a},l===null?null:{label:l,value:l},u===null?null:{label:u,value:u},i?.model===null||i?.model===void 0?null:{label:i.model,value:i.model}].filter(p=>p!==null&&p.label.length>0&&p.value.length>0);return s.jsxs("div",{className:"border border-border bg-card shadow-sm mb-3 rounded-[8px] text-xs",children:[s.jsxs("button",{type:"button",onClick:()=>r(p=>!p),className:"flex w-full items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-white/[0.04]","aria-expanded":n,children:[s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"font-semibold text-foreground",children:"Case File"}),o!==void 0&&s.jsx("span",{className:"truncate text-muted-foreground",title:o.groupTitle,children:o.groupTitle}),s.jsxs("span",{className:"font-mono text-[10px] uppercase text-muted-foreground",children:[e.length," group",e.length===1?"":"s"]})]}),d.length>0&&s.jsx("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:d.slice(0,4).map(p=>s.jsx("span",{className:$("rounded border px-1.5 py-0.5 font-mono text-[10px]",SO(p.value)),children:p.label},p.label))})]}),n?s.jsx(Al,{className:"size-4 shrink-0 text-muted-foreground"}):s.jsx(tt,{className:"size-4 shrink-0 text-muted-foreground"})]}),n&&s.jsx("div",{className:"space-y-2 border-t border-white/10 px-3 py-2",children:e.map(p=>{const f=p.member,m=_O(f);return s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[s.jsx("span",{className:"truncate font-medium text-foreground",title:p.groupTitle,children:p.groupTitle}),s.jsx("span",{className:"font-mono text-[10px] uppercase text-muted-foreground",children:p.groupStatus}),f.status!==null&&s.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:["member ",f.status]})]}),s.jsxs("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-muted-foreground",children:[s.jsx("span",{className:"font-mono",title:f.sessionId,children:Un(f.sessionId)}),f.label!==null&&s.jsx("span",{children:f.label}),f.provider!==null&&s.jsx("span",{children:f.provider}),f.model!==null&&s.jsx("span",{className:"font-mono",children:f.model}),f.runId!==null&&s.jsxs("span",{className:"font-mono",title:f.runId,children:["run ",Un(f.runId)]})]}),m.length>0&&s.jsx("div",{className:"mt-2 grid gap-1 sm:grid-cols-2 xl:grid-cols-3",children:m.map(h=>s.jsxs("div",{className:"border border-border bg-muted/40 min-w-0 rounded-md px-2 py-1",children:[s.jsx("div",{className:"font-mono text-[10px] text-muted-foreground",children:h.key}),s.jsx("div",{className:"truncate font-mono text-[11px] text-foreground",title:h.value,children:h.value})]},h.key))})]},`${p.groupId}:${f.id}`)})})]})}function eo({label:e,title:t,icon:n,disabled:r,onClick:o}){return s.jsxs("button",{type:"button",onClick:o,disabled:r,className:"border border-input bg-background hover:bg-accent hover:text-accent-foreground inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-45",title:t,children:[n,s.jsx("span",{children:e})]})}function Vd({logs:e,pagination:t,embedded:n=!1}){if(t===void 0)return null;const r=t.isLoading;return s.jsxs("nav",{"aria-label":"Session log pagination",className:$("flex min-h-9 flex-col gap-2 px-1 py-1 sm:flex-row sm:items-center",n?"border-t border-white/10 pt-2":"border border-border bg-card shadow-sm mb-3 rounded-[8px] px-2"),children:[s.jsxs("div",{className:"w-full min-w-0 px-1 font-mono text-[11px] text-muted-foreground sm:flex-1",children:[s.jsxs("div",{role:"status","aria-live":"polite","aria-atomic":"true",children:[yR({logs:e,pagination:t}),t.isLoading&&e.length>0&&s.jsx("span",{className:"ml-2",children:"Loading..."})]}),t.loadProgress!==void 0&&s.jsx(uo,{progress:t.loadProgress})]}),s.jsxs("div",{className:"flex w-full items-center gap-1 overflow-x-auto sm:w-auto",children:[s.jsx(eo,{label:"Oldest",title:"Load the oldest logs in this session",icon:s.jsx(nw,{className:"size-3.5"}),disabled:r||!t.hasOlder,onClick:t.onOldest}),s.jsx(eo,{label:"Older",title:"Load older logs",icon:s.jsx(Jy,{className:"size-3.5"}),disabled:r||!t.hasOlder,onClick:t.onOlder}),s.jsx(eo,{label:"Newer",title:"Load newer logs",icon:s.jsx(vt,{className:"size-3.5"}),disabled:r||!t.hasNewer,onClick:t.onNewer}),s.jsx(eo,{label:"Newest",title:"Load the newest logs in this session",icon:s.jsx(rw,{className:"size-3.5"}),disabled:r||!t.hasNewer,onClick:t.onNewest})]})]})}function NO(e){return`${e} ${e===1?"request":"requests"}`}function Wd(e){return`#${String(e)}`}function Zd(e){switch(e){case"danger":return"text-red-300";case"watch":return"text-amber-200";case"unknown":return"text-muted-foreground";case"ok":return"text-cyan-200"}}function CO(e){switch(e){case"risk":return"border-red-400/30 bg-red-500/10 text-red-100";case"optimizable":return"border-amber-400/25 bg-amber-400/8 text-amber-100";case"ok":return"border-cyan-300/25 bg-cyan-400/8 text-cyan-100"}}function TO(e){switch(e){case"risk":return"Risk";case"optimizable":return"Optimizable";case"ok":return"OK"}}const EO=10,RO=80;function MO(e){e.setAttribute("data-deep-link-highlight","true"),window.setTimeout(()=>{e.removeAttribute("data-deep-link-highlight")},1800)}function IO(e){const t=document.getElementById(`log-${String(e)}`);return t instanceof HTMLElement?(t.scrollIntoView({block:"center",behavior:J0(Y0())}),t.focus({preventScroll:!0}),MO(t),!0):!1}function ux(e){Is({logId:e,tab:"anatomy"});let t=0;const n=()=>{Is({logId:e,tab:"anatomy"}),!IO(e)&&(t+=1,t<EO&&window.setTimeout(n,RO))};window.setTimeout(n,0)}function Kd({command:e}){const[t,n]=c.useState(!1),r=c.useCallback(()=>{It(e).then(o=>{o&&(n(!0),setTimeout(()=>n(!1),2e3))})},[e]);return s.jsxs("div",{"data-command-example":"true",className:sR,children:[s.jsx("pre",{className:rR,children:e}),s.jsx("button",{type:"button",onClick:r,className:"shrink-0 cursor-pointer rounded-sm text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Copy command",children:t?s.jsx(Ge,{className:"size-4"}):s.jsx(zt,{className:"size-4"})})]})}function Gd({label:e,children:t,className:n}){return s.jsxs("section",{className:$("bg-white/[0.028] shadow-[inset_0_1px_0_rgba(255,255,255,0.035)] rounded-[8px]",n),children:[s.jsx("div",{className:"px-3 pt-3",children:s.jsx("div",{className:"font-mono text-[10px] font-semibold uppercase tracking-[0.14em] text-white/35",children:e})}),s.jsx("div",{className:"p-3 pt-2",children:t})]})}function to({label:e,value:t}){return s.jsxs("div",{className:"bg-black/20 min-w-0 rounded-md px-2 py-2 shadow-[inset_0_1px_0_rgba(255,255,255,0.035)]",children:[s.jsx("div",{className:"truncate font-mono text-lg font-semibold leading-6 text-slate-100",children:t}),s.jsx("div",{className:"mt-0.5 truncate font-mono text-[10px] uppercase tracking-[0.12em] text-white/35",children:e})]})}function PO(){const{themeMode:e,setThemeMode:t}=A5();return s.jsxs("div",{className:"border-border/70 bg-muted/70 inline-flex h-8 items-center rounded-md border p-0.5 shadow-sm","aria-label":"Theme mode",role:"group",children:[s.jsx("button",{type:"button",onClick:()=>t("light"),className:$("inline-flex size-7 items-center justify-center rounded-[6px] text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",e==="light"&&"bg-background text-foreground shadow-sm"),"aria-label":"Use light mode","aria-pressed":e==="light",title:"Light mode",children:s.jsx(n5,{className:"size-3.5"})}),s.jsx("button",{type:"button",onClick:()=>t("eye-care"),className:$("inline-flex size-7 items-center justify-center rounded-[6px] text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",e==="eye-care"&&"bg-background text-foreground shadow-sm"),"aria-label":"Use eye care mode","aria-pressed":e==="eye-care",title:"Eye care mode",children:s.jsx(pf,{className:"size-3.5"})}),s.jsx("button",{type:"button",onClick:()=>t("dark"),className:$("inline-flex size-7 items-center justify-center rounded-[6px] text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",e==="dark"&&"bg-background text-foreground shadow-sm"),"aria-label":"Use dark mode","aria-pressed":e==="dark",title:"Dark mode",children:s.jsx(xj,{className:"size-3.5"})})]})}function AO({visible:e,onToggle:t}){const n=e?"Hide Inspector pet":"Summon Inspector pet";return s.jsx("button",{type:"button",onClick:t,className:$("border-border/70 bg-muted/70 inline-flex size-8 shrink-0 items-center justify-center rounded-md border text-muted-foreground shadow-sm transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",e&&"bg-background text-amber-500 shadow-sm"),"aria-label":n,"aria-pressed":e,title:n,children:s.jsx(sp,{className:$("size-4 transition-opacity",!e&&"opacity-45")})})}function OO({preference:e,resolvedScale:t,onChange:n}){const r=Px(t),o=e==="auto"?`Auto (${r})`:`${e}%`;return s.jsxs(cr,{value:e,onValueChange:i=>n(Qd(i)),children:[s.jsxs(ur,{size:"sm",className:"bg-white/[0.035] hover:bg-white/[0.065] h-8 min-w-[4rem] justify-center gap-1 border-0 px-2 py-0 text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] [&>svg:last-child]:hidden","aria-label":`Interface size: ${o}`,children:[s.jsx(Ny,{className:"size-3.5"}),s.jsx("span",{className:"font-mono text-[10px] font-semibold tabular-nums",children:r})]}),s.jsxs(dr,{align:"end",children:[s.jsx(ct,{value:"auto",children:"Auto"}),s.jsx(ct,{value:"100",children:"100%"}),s.jsx(ct,{value:"125",children:"125%"}),s.jsx(ct,{value:"150",children:"150%"})]})]})}const dx="agent-inspector.detailsPanelCollapsed",px="agent-inspector.pet.visible";function zO(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(dx);return e===null||e==="1"}function LO(){if(typeof window>"u")return!0;try{return window.localStorage.getItem(px)!=="0"}catch{return!0}}function Jd({label:e,logId:t}){return s.jsxs("button",{type:"button",onClick:()=>ux(t),className:"inline-flex h-5 items-center rounded px-1 font-mono text-[10px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",title:`Open Context for ${Wd(t)}`,children:[e," ",Wd(t)]})}function $O({latestPercent:e,peakPercent:t,risk:n,onOpenContext:r}){const o=ul(e),i=yO(e,t),a=t===null?`Latest context window usage ${Xs(e)}`:`Latest context window usage ${Xs(e)}, peak ${Xs(t)}`;return s.jsx("button",{type:"button",onClick:r,className:"group block w-full rounded-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1","aria-label":`${a}. Open latest Context details`,title:"Open latest Context details",children:s.jsxs("span",{className:"relative block h-2.5 overflow-hidden rounded-full border border-white/10 bg-black/25 transition-colors group-hover:border-cyan-200/35",role:"meter","aria-label":a,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(o),children:[s.jsx("span",{className:$("block h-full rounded-full transition-[width]",wO(n)),style:{width:`${o}%`}}),i!==null&&s.jsx("span",{className:"absolute top-0 h-full w-0.5 rounded-full bg-amber-100/75 shadow-[0_0_0_1px_rgba(0,0,0,0.25)]",style:{left:`calc(${i}% - 0.5px)`},"aria-hidden":"true"})]})})}function DO({summary:e}){const t=e.trendPercent,n=t===null||Math.abs(t)<.1?null:t>0?zy:Ry,r=e.latest.diagnostics[0]??null,o=Xs(e.latest.usagePercent),i=Xs(e.peak.usagePercent),a=()=>{ux(e.latest.logId)};return s.jsxs("div",{className:"grid gap-x-4 gap-y-2 border-t border-white/10 py-2 first:border-t-0 lg:grid-cols-[minmax(180px,1fr)_minmax(260px,1fr)_minmax(260px,1.4fr)]",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("button",{type:"button",onClick:a,className:"min-w-0 truncate rounded-sm text-left font-mono font-semibold text-foreground transition-colors hover:text-cyan-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",title:`Open latest Context for ${e.model}`,children:e.model}),s.jsx("span",{className:$("inline-flex h-5 shrink-0 items-center rounded border px-1.5 font-mono text-[10px]",CO(e.latest.health.level)),children:TO(e.latest.health.level)})]}),s.jsxs("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsx("span",{children:NO(e.requestCount)}),s.jsx("span",{children:jO(e)})]})]}),s.jsxs("div",{className:"min-w-0 space-y-2 text-xs",children:[s.jsx($O,{latestPercent:e.latest.usagePercent,peakPercent:e.peak.usagePercent,risk:e.latest.riskLevel,onOpenContext:a}),s.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Latest"}),s.jsx("div",{className:$("mt-0.5 font-mono",Zd(e.latest.riskLevel)),children:o}),s.jsx(Jd,{label:"Log",logId:e.latest.logId})]}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Peak"}),s.jsx("div",{className:$("mt-0.5 font-mono",Zd(e.peak.riskLevel)),children:i}),s.jsx(Jd,{label:"Log",logId:e.peak.logId})]}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Trend"}),s.jsxs("div",{className:"mt-0.5 flex items-center gap-1 font-mono text-foreground",children:[n!==null&&s.jsx(n,{className:$("size-3",t!==null&&t>0?"text-amber-300":"text-cyan-300")}),vO(t)]}),s.jsx("div",{className:"h-5","aria-hidden":"true"})]})]})]}),s.jsxs("div",{className:"min-w-0 space-y-1.5",children:[s.jsx(bA,{segments:e.latest.roleSegments,totalTokens:e.latest.roleTotalTokens,showLabels:!1}),s.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-[11px] text-muted-foreground",children:[s.jsxs("span",{className:"font-mono",children:["~",Me(e.latest.estimatedInputTokens)," input"]}),e.latest.windowUsedTokens!==null&&s.jsxs("span",{className:"font-mono",children:["~",Me(e.latest.windowUsedTokens)," used"]}),r!==null&&s.jsx("span",{className:"truncate",children:r})]})]})]})}function FO({summary:e}){return e.models.length===0?null:s.jsxs("div",{className:"mt-3 border-t border-white/10 pt-2",children:[s.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[s.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-normal text-muted-foreground",children:"Session Context"}),s.jsxs("div",{className:"font-mono text-[10px] text-muted-foreground",children:[e.models.length," model",e.models.length===1?"":"s"]})]}),s.jsx("div",{className:"max-h-52 overflow-y-auto pr-1",children:e.models.map(t=>s.jsx(DO,{summary:t},t.model))})]})}function UO(e){const t=e.models.filter(r=>r.latest.health.level==="risk").length;if(t>0)return`${t} risk`;const n=e.models.filter(r=>r.latest.health.level==="optimizable").length;return n>0?`${n} optimizable`:`${e.models.length} model${e.models.length===1?"":"s"}`}function BO({label:e,logs:t,totalIn:n,totalOut:r,timeDisplayFormat:o,contextSummary:i,showBackLink:a}){const[l,u]=c.useState(!1),[d,p]=c.useState(!1),f=c.useMemo(()=>mO(t,o),[t,o]),m=c.useMemo(()=>fO(t),[t]),h=c.useMemo(()=>UO(i),[i]),x=c.useCallback(()=>{It(window.location.href).then(v=>{v&&(u(!0),setTimeout(()=>u(!1),2e3))})},[]);return s.jsxs("div",{className:"border border-border bg-card shadow-sm mb-3 rounded-[8px] px-3 py-2 text-xs",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a&&s.jsx("a",{href:"/",className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground","aria-label":"Back to all sessions",title:"Back to all sessions",children:s.jsx(Ay,{className:"size-3.5"})}),s.jsxs("div",{className:"min-w-[180px] flex-1",children:[s.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[s.jsx("span",{className:"font-mono font-semibold text-purple-400/90 truncate",title:e,children:Un(e)}),m!==null&&s.jsx("span",{className:"font-mono text-muted-foreground truncate max-w-[220px]",title:m,children:m})]}),s.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-muted-foreground",children:[s.jsxs("span",{children:[t.length," request",t.length!==1?"s":""]}),f!==null&&s.jsx("span",{children:f}),(n>0||r>0)&&s.jsxs("span",{className:"font-mono",children:[Me(n)," in / ",Me(r)," out"]})]})]}),i.models.length>0&&s.jsxs("button",{type:"button",onClick:()=>p(v=>!v),className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 shrink-0 items-center gap-1.5 rounded-md px-2.5 font-mono text-[11px] text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground","aria-expanded":d,title:d?"Hide context details":"Show context details",children:[s.jsx("span",{children:h}),d?s.jsx(Al,{className:"size-3.5"}):s.jsx(tt,{className:"size-3.5"})]}),s.jsx("button",{type:"button",onClick:x,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex size-8 shrink-0 items-center justify-center rounded-md text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground","aria-label":l?"Copied session link":"Copy session link",title:l?"Copied session link":"Copy session link",children:l?s.jsx(Ge,{className:"size-3.5"}):s.jsx(zt,{className:"size-3.5"})})]}),d&&s.jsx(FO,{summary:i})]})}function qO({logs:e,sessions:t,selectedSession:n,selectedModel:r,onSessionChange:o,onClearAll:i,onDeleteCurrentView:a,onReloadSession:l,onClearGroup:u,onNotify:d,onImportLogs:p,viewMode:f,captureMode:m,strip:h,slowResponseThresholdSeconds:x,timeDisplayFormat:v,isLoading:b=!1,liveConnection:w,onRetryLiveConnection:y,onStopLiveConnection:j,pagination:k,sessionLoadProgress:S,sessionLoadError:_,sessionMemberships:N=[],hideSessionFilter:P=!1,pinnedSessionId:A}){const{totalIn:M,totalOut:C}=c.useMemo(()=>qd(e),[e]),{providers:I}=$l(),{uiScalePreference:F,resolvedUiScale:U,setUiScalePreference:Y}=O5(),[Z,V]=c.useState(null),[H,z]=c.useState(null),[X,J]=c.useState(!1),[be,ve]=c.useState(!1),[oe,D]=c.useState(null),[je,te]=c.useState(null),[ke,Se]=c.useState(!1),[le,ue]=c.useState(!1),[me,we]=c.useState(!0),[Ee,Ye]=c.useState(!1),[De,Ve]=c.useState(!0),[wt,Qt]=c.useState(!1),[Xe,Ue]=c.useState(null),[Ie,Ae]=c.useState(null),q=c.useRef(null),ne=c.useRef(null),Te=c.useRef(null),he=c.useRef(null),ge=c.useRef(0);pA(q,ne,{pageWide:!0});const Oe=c.useCallback(()=>{ge.current+=1,he.current?.abort(),he.current=null,V(null),z(null)},[]);c.useEffect(()=>()=>{ge.current+=1,he.current?.abort(),he.current=null},[]),c.useEffect(()=>{we(zO()),Ye(!0)},[]),c.useEffect(()=>{Ee&&window.localStorage.setItem(dx,me?"1":"0")},[me,Ee]),c.useEffect(()=>{Ve(LO()),Qt(!0)},[]),c.useEffect(()=>{if(wt)try{window.localStorage.setItem(px,De?"1":"0")}catch{}},[wt,De]),c.useEffect(()=>{if(A===void 0){document.title="Agent Inspector";return}const qe=e.length===1?"1 req":`${e.length} req`;document.title=`${Un(A)} - ${qe} - Agent Inspector`},[e.length,A]);const G=c.useCallback(async qe=>{he.current?.abort();const Tt=new AbortController;he.current=Tt;const Et=ge.current+1;ge.current=Et,V(qe),z(null);try{const tn=await P5(e,qe,{signal:Tt.signal});if(ge.current!==Et)return;if(!tn.ok){if(tn.canceled===!0)return;d!==void 0?d({message:tn.message,tone:"error"}):z(tn.message)}}finally{ge.current===Et&&(he.current=null,V(null))}},[e,d]),E=c.useCallback(qe=>{if(iR(qe)){J(!0);return}G(qe)},[G]),L=c.useCallback(()=>{J(!1),G("redacted")},[G]),K=c.useCallback(()=>{J(!1),G("raw")},[G]),ie=c.useCallback(()=>{Te.current?.click()},[]),de=c.useCallback(qe=>{const Tt=qe.currentTarget.files?.[0];qe.currentTarget.value="",!(Tt===void 0||p===void 0)&&(ve(!0),te(null),D(null),p(Tt).then(Et=>{const tn=Et.skipped>0?`, skipped ${String(Et.skipped)}`:"",Rc=`Imported ${String(Et.imported)} logs as ${Et.sessionId}${tn}.`;d!==void 0?d({message:Rc,tone:"success"}):D(Rc)}).catch(Et=>{const tn=Et instanceof Error?Et.message:"Failed to import logs";d!==void 0?d({message:tn,tone:"error"}):te(tn)}).finally(()=>{ve(!1)}))},[p,d]);c.useEffect(()=>{Oe(),Ae(null),Ue(null)},[Oe,n,r]);const se=c.useCallback(()=>{Oe(),D(null),te(null),Ae(null),i()},[Oe,i]),ye=c.useCallback(()=>{Se(!0)},[]),ce=c.useCallback(()=>{Oe(),D(null),te(null),Ae(null),a!==void 0&&(ue(!0),a().then(()=>{Se(!1)}).catch(qe=>{const Tt=qe instanceof Error?qe.message:"Failed to delete stored logs";d!==void 0?d({message:Tt,tone:"error"}):te(Tt)}).finally(()=>{ue(!1)}))},[Oe,a,d]),dt=c.useCallback(()=>{l!==void 0&&(Oe(),D(null),te(null),Ae(null),l())},[Oe,l]),In=c.useCallback(()=>{Ae(null)},[]),Pe=c.useCallback(()=>{we(qe=>!qe)},[]),en=c.useCallback(()=>{Ve(qe=>!qe)},[]),at=c.useMemo(()=>Xe===null?null:new Set(Xe.logIds),[Xe]),Ct=c.useMemo(()=>at===null?e:e.filter(qe=>at.has(qe.id)),[at,e]),Be=c.useMemo(()=>uT(Ct),[Ct]),es=c.useMemo(()=>pO(Be),[Be]),Pn=c.useMemo(()=>vR({pinnedSessionId:A,selectedSession:n,sessions:t,logs:e}),[e,A,n,t]),ts=Pn?.logs??[],Ds=Pn!==null&&ts.length>0,{totalIn:_c,totalOut:Nc}=c.useMemo(()=>qd(ts),[ts]),mx=c.useMemo(()=>dO(ts,I),[ts,I]),hx=c.useMemo(()=>LP(Be),[Be]),Ci=c.useMemo(()=>dE(Be),[Be]),Cc=aR(m,e.length),xx=A!==void 0,gx=e.length>0,bx=a!==void 0&&(e.length>0||n!=="__all__"),vx=n==="__all__"?"all sessions":"this session",yx=n==="__all__"?"Deletes every stored log, streaming chunk, and session archive entry across all sessions.":"Deletes every stored log, streaming chunk, and session archive entry for this session, including history that is not currently loaded.",wx=e.length===0?"Load":"Reload",Ti=Ds&&Pn!==null?Un(Pn.label):n==="__all__"?"All sessions":Un(n),Tc=HP(w),Ei=VP(Tc),jx=c.useMemo(()=>bR({logs:Ct,conversationGroups:Be,isLoading:b,timeDisplayFormat:v,slowResponseThresholdSeconds:x}),[Ct,Be,b,x,v]),kx=c.useCallback(qe=>{const Tt=Ci.get(qe.id);Tt!==void 0&&Ae([Tt,qe])},[Ci]),Ec=A!==void 0?A:n==="__all__"?null:n;return s.jsxs("div",{className:"bg-background min-h-screen w-full overflow-x-clip text-foreground lg:h-screen lg:flex lg:flex-col lg:overflow-hidden",children:[s.jsx(UP,{liveConnection:w,alertsAction:s.jsx(GR,{}),settingsAction:s.jsx(OI,{})}),s.jsxs("button",{type:"button",onClick:Pe,className:$("group fixed top-1/2 right-3 z-40 inline-flex h-14 w-7 -translate-y-1/2 items-center justify-center rounded-l-md border border-white/[0.08] bg-background/90 text-muted-foreground shadow-[0_12px_34px_rgba(0,0,0,0.26),inset_0_1px_0_rgba(255,255,255,0.06)] backdrop-blur transition-[right,background-color,color,border-color] duration-200 motion-reduce:transition-none hover:border-white/[0.16] hover:bg-white/[0.07] hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",me?"right-3":"lg:right-[calc(21.25rem-0.875rem)] xl:right-[calc(22.5rem-0.875rem)]"),"aria-label":me?"Show details panel":"Hide details panel",title:me?"Show details panel":"Hide details panel",children:[s.jsx("span",{className:"absolute left-1 top-2 bottom-2 w-px rounded-full bg-white/[0.16] transition-colors group-hover:bg-white/[0.28]"}),me?s.jsx(Tj,{className:"size-3.5"}):s.jsx(Nj,{className:"size-3.5"})]}),wt&&De&&s.jsx(po,{feature:"Inspector Pet",children:s.jsx(c.Suspense,{fallback:null,children:s.jsx(s4,{logs:e})})}),s.jsxs("div",{className:$("grid w-full min-w-0 grid-cols-1 lg:min-h-0 lg:flex-1 lg:overflow-hidden",me?"lg:grid-cols-[minmax(0,1fr)]":"lg:grid-cols-[minmax(0,1fr)_21.25rem] xl:grid-cols-[minmax(0,1fr)_22.5rem]"),children:[!me&&s.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:s.jsxs("div",{className:"flex min-h-full flex-col gap-4 p-4",children:[s.jsx("div",{className:"bg-background/95 sticky top-0 z-20 -mx-4 -mt-4 px-4 pt-4 pb-3 shadow-[0_12px_24px_rgba(0,0,0,0.18),inset_0_-1px_0_rgba(255,255,255,0.045)] backdrop-blur",children:s.jsx(Gd,{label:"Tools",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[s.jsx(PO,{}),s.jsx(OO,{preference:F,resolvedScale:U,onChange:Y}),s.jsx(xM,{}),s.jsx(gP,{currentSessionId:Ec,logCount:e.length})]})})}),s.jsxs(Gd,{label:"Current scope",children:[s.jsxs("div",{className:"mb-2 rounded-md bg-black/20 px-3 py-2 shadow-[inset_0_1px_0_rgba(255,255,255,0.035)]",children:[s.jsx("div",{className:"truncate font-mono text-xs font-semibold text-cyan-100",title:Ti,children:Ti}),s.jsx("div",{className:"mt-1 text-[11px] text-muted-foreground",children:xx?"Pinned session":"Live Inspector data"})]}),s.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[s.jsx(to,{label:Xe===null?"Requests":"Results",value:Ct.length}),s.jsx(to,{label:"Sessions",value:t.length}),s.jsx(to,{label:"Input",value:Me(Ds?_c:M)}),s.jsx(to,{label:"Output",value:Me(Ds?Nc:C)})]}),S!==void 0&&s.jsx("div",{className:"mt-2 rounded-md bg-black/20 px-2 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:s.jsx(uo,{progress:S})})]}),Ds&&Pn!==null&&s.jsx(BO,{label:Pn.label,logs:ts,totalIn:_c,totalOut:Nc,timeDisplayFormat:v,contextSummary:mx,showBackLink:Pn.showBackLink}),Ds&&A!==void 0&&N.length>0&&s.jsx(Hd,{memberships:N}),s.jsx("div",{className:"flex-1"}),s.jsx(zP,{currentSessionId:Ec,logCount:e.length,onResultChange:Ue})]})}),s.jsxs("main",{className:"order-2 min-w-0 lg:order-1 lg:h-full lg:overflow-y-auto inspector-scrollbar",children:[s.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:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("div",{className:"min-w-[180px] flex-1",children:[s.jsx("div",{className:"text-sm font-semibold text-foreground",children:"Logs"}),s.jsx("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground",children:Ti})]}),s.jsx(AO,{visible:De,onToggle:en}),p!==void 0&&s.jsxs(s.Fragment,{children:[s.jsx("input",{ref:Te,type:"file",accept:".zip,.json,.jsonl,application/zip,application/json",className:"hidden",onChange:de}),s.jsx("button",{type:"button",onClick:ie,disabled:be,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Import Agent Inspector export",children:be?s.jsx("span",{children:"Importing..."}):s.jsxs(s.Fragment,{children:[s.jsx(yf,{className:"size-3.5"}),s.jsx("span",{children:"Import"})]})})]}),Cc.redacted&&s.jsx("button",{type:"button",onClick:()=>{E("redacted")},disabled:Z!==null,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Export redacted logs as JSON ZIP",children:Z==="redacted"?s.jsx("span",{children:"Exporting..."}):s.jsxs(s.Fragment,{children:[s.jsx(xr,{className:"size-3.5"}),s.jsx("span",{children:"Export"})]})}),Cc.raw&&s.jsx("button",{type:"button",onClick:()=>{E("raw")},disabled:Z!==null,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Export raw logs without redaction",children:Z==="raw"?s.jsx("span",{children:"Exporting..."}):s.jsxs(s.Fragment,{children:[s.jsx(zw,{className:"size-3.5"}),s.jsx("span",{children:"Raw"})]})}),l!==void 0&&s.jsxs("button",{type:"button",onClick:dt,disabled:b,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Reload this session from stored logs",children:[s.jsx(Bt,{className:$("size-3.5",b&&"animate-spin motion-reduce:animate-none")}),s.jsx("span",{children:wx})]}),s.jsxs("button",{type:"button",onClick:se,disabled:!gx,className:"bg-white/[0.035] hover:bg-white/[0.065] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Clear the current view. Stored logs remain reloadable.",children:[s.jsx(wn,{className:"size-3.5"}),s.jsx("span",{children:"Clear"})]}),a!==void 0&&s.jsxs("button",{type:"button",onClick:ye,disabled:!bx||le,className:"bg-red-500/[0.07] hover:bg-red-500/[0.12] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-red-200 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.14)] transition-colors hover:text-red-100 focus-visible:ring-1 focus-visible:ring-red-300 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",title:"Delete persisted history for the selected session.",children:[s.jsx(wn,{className:"size-3.5"}),s.jsx("span",{children:"Delete"})]})]}),k===void 0&&S!==void 0&&s.jsx("div",{className:"mt-2 rounded-md bg-black/20 px-2 py-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:s.jsx(uo,{progress:S})}),_!==void 0&&s.jsxs("div",{role:"alert",className:"mt-2 flex flex-wrap items-center gap-2 rounded-md border border-red-400/25 bg-red-500/10 px-3 py-2 text-xs text-red-100",children:[s.jsxs("span",{className:"min-w-0 flex-1",children:["Session logs could not be loaded. ",_," Existing logs remain visible."]}),l!==void 0&&s.jsxs("button",{type:"button",onClick:dt,className:"inline-flex h-7 items-center gap-1 rounded-md bg-black/15 px-2 font-medium transition-colors hover:bg-black/25 focus-visible:ring-1 focus-visible:ring-current focus-visible:outline-none",children:[s.jsx(Bt,{className:"size-3"}),"Retry"]})]}),Xe!==null&&s.jsxs("div",{className:"mt-2 flex items-center gap-3 rounded-md bg-cyan-400/[0.07] px-3 py-2 shadow-[inset_2px_0_0_rgba(103,232,249,0.35),inset_0_0_0_1px_rgba(103,232,249,0.08)]",children:[s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("div",{className:"truncate text-xs font-medium text-cyan-50",children:Xe.question}),s.jsxs("div",{className:"mt-0.5 text-[10px] text-muted-foreground",children:["Showing ",String(Ct.length)," loaded logs from"," ",String(Xe.logIds.length)," linked results"]})]}),s.jsxs("button",{type:"button",onClick:()=>Ue(null),className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-md bg-black/20 px-2 text-[11px] text-muted-foreground transition-colors hover:bg-black/30 hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:[s.jsx(br,{className:"size-3"}),"All logs"]})]}),Xe===null&&s.jsx(Vd,{logs:e,pagination:k,embedded:!0}),d===void 0&&H!==null&&s.jsx("div",{className:"mt-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:H}),d===void 0&&je!==null&&s.jsx("div",{className:"mt-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:je}),d===void 0&&oe!==null&&je===null&&s.jsx("div",{className:"mt-2 rounded-md border border-cyan-400/25 bg-cyan-500/10 px-3 py-2 text-xs text-cyan-100",children:oe}),w!==void 0&&w.status!=="live"&&y!==void 0&&j!==void 0&&s.jsx(DP,{state:w,hasLogs:e.length>0,onRetry:y,onStop:j})]}),s.jsxs("div",{className:"px-4 py-4 lg:px-5",children:[s.jsx(bO,{stats:jx}),Xe!==null&&Ct.length===0?s.jsx("div",{className:"py-16 text-center text-muted-foreground",children:s.jsxs("div",{className:"mx-auto max-w-xl rounded-[8px] bg-white/[0.035] px-5 py-8 shadow-[inset_0_1px_0_rgba(255,255,255,0.045),0_18px_52px_rgba(0,0,0,0.18)]",children:[s.jsx("p",{className:"text-sm font-medium text-foreground",children:"No linked logs are loaded"}),s.jsx("p",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:"Assistant found evidence, but none of its linked log IDs are in the current loaded window. Open an evidence card in Assistant or restore the full log view."}),s.jsx("button",{type:"button",onClick:()=>Ue(null),className:"mt-4 inline-flex h-8 items-center rounded-md bg-cyan-400/10 px-3 text-xs text-cyan-100 transition-colors hover:bg-cyan-400/16",children:"Show all logs"})]})}):e.length===0?n!=="__all__"?s.jsx("div",{className:"py-16 text-center text-muted-foreground",children:s.jsxs("div",{className:"bg-white/[0.035] shadow-[inset_0_1px_0_rgba(255,255,255,0.045),0_18px_52px_rgba(0,0,0,0.18)] mx-auto max-w-xl space-y-4 rounded-[8px] px-4 py-8",children:[s.jsx("p",{className:"text-sm font-medium",children:b?"Loading session data...":_===void 0?"No logs loaded for this session":"Session logs could not be loaded"}),s.jsx("p",{className:"inline-block max-w-full rounded bg-muted px-3 py-1 font-mono text-xs break-all",children:Un(n)}),S!==void 0&&s.jsx("div",{className:"mx-auto max-w-md rounded-md bg-black/20 px-2 py-2 text-left shadow-[inset_0_0_0_1px_rgba(255,255,255,0.045)]",children:s.jsx(uo,{progress:S})}),N.length>0&&s.jsx("div",{className:"text-left",children:s.jsx(Hd,{memberships:N})}),!b&&s.jsxs("div",{className:"flex flex-col items-center gap-3 text-xs",children:[s.jsx("p",{children:"Stored logs may still be available."}),s.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[l!==void 0&&s.jsxs("button",{type:"button",onClick:dt,className:"bg-white/[0.045] hover:bg-white/[0.075] inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs text-muted-foreground shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:[s.jsx(Bt,{className:"size-3.5"}),s.jsx("span",{children:"Load session"})]}),P?s.jsx("a",{href:"/",className:"inline-flex h-8 items-center rounded-md px-3 text-xs text-muted-foreground underline transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:"Back to all sessions"}):s.jsx("button",{type:"button",onClick:()=>o("__all__"),className:"inline-flex h-8 items-center rounded-md px-3 text-xs text-muted-foreground underline transition-colors hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:"Show all sessions"})]})]})]})}):s.jsx("div",{className:"py-16 text-center text-muted-foreground",children:s.jsxs("div",{className:"bg-white/[0.035] shadow-[inset_0_1px_0_rgba(255,255,255,0.045),0_18px_52px_rgba(0,0,0,0.18)] mx-auto max-w-2xl space-y-4 rounded-[8px] px-4 py-8",children:[s.jsx("p",{className:"text-sm font-medium",children:Ei.title}),s.jsx("p",{className:"mx-auto max-w-xl text-xs leading-relaxed text-muted-foreground",children:Ei.description}),Tc==="empty"&&t.length>0&&s.jsx("p",{className:"mx-auto max-w-xl text-xs leading-relaxed text-muted-foreground",children:"Pick a session from the filter panel to load stored logs on demand."}),Ei.showConnectionCommands&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex flex-col items-center gap-2",children:[s.jsx(Kd,{command:"ANTHROPIC_BASE_URL=http://localhost:9527/proxy <your-tool>"}),s.jsx(Kd,{command:"OPENAI_BASE_URL=http://localhost:9527/proxy <your-tool>"})]}),s.jsx("p",{className:"mx-auto max-w-xl text-xs leading-relaxed text-muted-foreground",children:"Container note: if your AI tool runs in a different container or host than Agent Inspector, replace localhost with an address reachable from that tool and verify the network/firewall path."})]})]})}):s.jsxs("div",{ref:ne,tabIndex:0,"aria-label":"Captured logs",className:"flex flex-col gap-2 rounded-md focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:outline-none",children:[s.jsx("div",{ref:q,children:s.jsx(nA,{groups:Be,viewMode:f,strip:h,slowResponseThresholdSeconds:x,cacheTrends:hx,onCompareWithPrevious:kx,comparisonPredecessors:Ci,onClearGroup:u,defaultExpanded:Be.length===1,timeDisplayFormat:v})}),Xe===null&&s.jsx("div",{className:"mt-3",children:s.jsx(Vd,{logs:e,pagination:k})})]})]})]})]}),s.jsx(Wt,{open:X,onOpenChange:J,children:s.jsx(Zt,{className:oA,children:s.jsx(aA,{onCancel:()=>J(!1),onExportRedacted:L,onConfirmRaw:K})})}),s.jsx(Wt,{open:ke,onOpenChange:Se,children:s.jsxs(Zt,{className:"border-red-500/20 bg-zinc-950 text-zinc-100 sm:max-w-md",children:[s.jsxs(Yt,{children:[s.jsxs(Xt,{children:["Delete ",vx," history?"]}),s.jsx(kr,{children:"Clear only hides logs from the UI. Delete removes stored history from disk."})]}),s.jsxs("div",{className:"rounded-md bg-red-500/[0.08] px-3 py-3 text-sm text-red-100 shadow-[inset_0_0_0_1px_rgba(248,113,113,0.16)]",children:[s.jsx("span",{className:"block font-medium",children:"This is a full history delete."}),s.jsx("span",{className:"mt-1 block text-xs text-red-200/80",children:yx})]}),s.jsxs("div",{className:"flex justify-end gap-2",children:[s.jsx(ee,{type:"button",variant:"outline",size:"sm",disabled:le,onClick:()=>Se(!1),children:"Cancel"}),s.jsx(ee,{type:"button",variant:"destructive",size:"sm",disabled:le,onClick:ce,children:le?"Deleting...":"Delete history"})]})]})}),Ie!==null&&s.jsx(po,{feature:"Compare",children:s.jsx(c.Suspense,{fallback:null,children:s.jsx(n4,{left:Ie[0],right:Ie[1],leftDisplayNumber:Bd(Ie[0],es),rightDisplayNumber:Bd(Ie[1],es),onClose:In})})})]})}function HO(e,t,n){return t==="__all__"&&n==="__all__"?e:e.filter(r=>!(t!=="__all__"&&r.sessionId!==t||n!=="__all__"&&r.model!==n))}function no(e,t){if(e.length===0)return[...t];if(t.length===0)return[...e];const n=new Map;for(const r of e)n.set(r.id,r);for(const r of t)n.set(r.id,r);return[...n.values()].toSorted((r,o)=>r.id-o.id)}function Dn(e,t){const n=new Set;for(const r of e)r!==""&&n.add(r);for(const r of t)r!==""&&n.add(r);return[...n].sort()}const VO=Ot([T({type:ae("init"),logs:W(nr)}),T({type:ae("update"),log:nr})]),WO=T({logs:W(nr),total:R().int().nonnegative(),limit:R().int().positive(),hasOlder:Ce(),hasNewer:Ce(),oldestLogId:R().int().positive().nullable(),newestLogId:R().int().positive().nullable()}),ZO=W(g()),Yd=T({success:Ce(),cleared:R().int().nonnegative(),logFilesRewritten:R().int().nonnegative().optional(),chunkFilesDeleted:R().int().nonnegative(),sessionArchiveLogsDeleted:R().int().nonnegative().optional()});function KO(e,t){const n=[];for(const r of e)for(const o of r.members)o.sessionId===t&&n.push({groupId:r.id,groupTitle:r.title,groupKind:r.kind,groupStatus:r.status,groupTask:r.task,groupProject:r.project,groupEvidence:r.evidence,member:o});return n}function so(e){const t=new Set;for(const n of e)n.sessionId!==null&&n.sessionId!==""&&t.add(n.sessionId);return[...t]}function GO(e){const t=new Set;for(const n of e)n.model!==null&&n.model!==""&&t.add(n.model);return[...t]}const JO=100,YO=12,XO=1800,Sc=100,Ho=500,fx=200,dl=2e4,QO=1e4,e6=3e3,t6=1e4;function n6(e){const t=new URLSearchParams({compact:"1"});e!==void 0&&t.set("sessionId",e);const n=t.toString();return n.length>0?`/api/logs/stream?${n}`:"/api/logs/stream"}function s6(e,t,n=Sc){const r=new URLSearchParams({cursor:"1",compact:"1",limit:String(n),sessionId:e});switch(t.kind){case"oldest":r.set("anchor","oldest");break;case"older":r.set("beforeLogId",String(t.beforeLogId));break;case"newer":r.set("afterLogId",String(t.afterLogId));break}return`/api/logs?${r.toString()}`}function mn(e){const t=new Map;for(let n=0;n<e.length;n++){const r=e[n];r!==void 0&&t.set(r.id,n)}return t}function Qs(e,t,n=Sc){return We(s6(e,t,n),WO,dl)}async function r6(e,t){const n=new Set;let r=await Qs(e,{kind:"oldest"},Ho);for(const i of r.logs)n.add(i.id);t(n.size,1);let o=1;for(;r.hasNewer&&r.newestLogId!==null&&o<fx;){r=await Qs(e,{kind:"newer",afterLogId:r.newestLogId},Ho);for(const i of r.logs)n.add(i.id);o+=1,t(n.size,o)}return{ids:[...n],truncated:r.hasNewer}}async function o6(){try{return{deleted:(await rt("/api/groups",nf,{method:"DELETE"})).deleted,ok:!0}}catch{return{deleted:0,ok:!1}}}function c6({initialSessionId:e}={}){const[t,n]=c.useState([]),[r,o]=c.useState(e??"__all__"),[i,a]=c.useState("__all__"),[l,u]=c.useState([]),{notice:d,showToast:p,dismissToast:f}=T0(),[m,h]=c.useState(qP),[x,v]=c.useState(null),[b,w]=c.useState(e!==void 0),[y,j]=c.useState(null),[k,S]=c.useState(void 0),[_,N]=c.useState([]),[,P]=c.useTransition(),A=c.useRef(null),M=c.useRef(null),C=c.useRef(null),I=c.useRef(!0),F=c.useRef(null),U=c.useRef(0),Y=c.useRef(null),Z=c.useRef(null),V=c.useRef(new Map),H=c.useRef([]),z=c.useRef(null),X=c.useCallback(G=>{p({message:G,tone:"error"})},[p]),J=c.useCallback(()=>{Z.current!==null&&(clearInterval(Z.current),Z.current=null),Y.current=null,S(void 0)},[]),be=c.useCallback((G,E,L=0,K=0)=>{Z.current!==null&&clearInterval(Z.current);const ie=Date.now();Y.current=ie;const de=()=>{U.current===E&&S({label:G,elapsedMs:Date.now()-ie,timeoutMs:dl,loadedLogs:L,loadedPages:K})};de(),Z.current=setInterval(de,250)},[]),ve=c.useCallback((G,E,L,K)=>{const ie=Y.current;ie===null||U.current!==E||S({label:G,elapsedMs:Date.now()-ie,timeoutMs:dl,loadedLogs:L,loadedPages:K})},[]),oe=c.useMemo(()=>HO(t,r,i),[t,r,i]),D=c.useMemo(()=>Dn(l,so(t)),[t,l]),je=c.useMemo(()=>GO(t),[t]),te=c.useCallback(()=>{rt("/api/sessions",ZO).then(G=>{u(E=>Dn(E,G))}).catch(()=>{})},[]),ke=c.useCallback(()=>{z.current=null;const G=H.current;H.current=[],G.length!==0&&P(()=>{n(E=>{const L=no(E,G);return V.current=mn(L),L})})},[P]),Se=c.useCallback(G=>{H.current.push(G),z.current===null&&(z.current=setTimeout(ke,JO))},[ke]),le=c.useCallback(()=>{A.current&&A.current.close(),M.current!==null&&(clearTimeout(M.current),M.current=null),h(E=>nn(E,{type:"connect-requested"}));const G=new EventSource(n6(e));A.current=G,G.onmessage=E=>{try{const L=String(E.data),K=JSON.parse(L),ie=VO.safeParse(K);if(!ie.success){h(se=>nn(se,{type:"recoverable-error",message:"The live stream returned invalid data."})),X("Failed to parse SSE data");return}const de=ie.data;de.type==="init"?(z.current!==null&&(clearTimeout(z.current),z.current=null),H.current=[],n(se=>{const ye=no(se,de.logs);return V.current=mn(ye),ye}),u(se=>Dn(se,so(de.logs))),C.current!==null&&(clearTimeout(C.current),C.current=null),h(se=>nn(se,{type:"message-received",at:Date.now()})),f()):de.type==="update"&&(u(se=>de.log.sessionId===null||de.log.sessionId===""?se:Dn(se,[de.log.sessionId])),Se(de.log),C.current!==null&&(clearTimeout(C.current),C.current=null),h(se=>nn(se,{type:"message-received",at:Date.now()})))}catch{h(L=>nn(L,{type:"recoverable-error",message:"The live stream returned malformed JSON."})),X("Failed to parse SSE data")}},G.onerror=()=>{const E=navigator.onLine;h(L=>nn(L,{type:"connection-lost",online:E,message:"The live stream disconnected."})),G.close(),!(!E||!I.current)&&(C.current===null&&(C.current=setTimeout(()=>{C.current=null,h(L=>nn(L,{type:"stale-timeout"}))},t6)),M.current=setTimeout(le,e6))}},[f,e,Se,X]),ue=c.useCallback(()=>{I.current=!0,M.current!==null&&(clearTimeout(M.current),M.current=null),le()},[le]),me=c.useCallback(()=>{I.current=!1,A.current?.close(),A.current=null,M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),h(G=>nn(G,{type:"stop-retrying"}))},[]),we=c.useCallback(G=>{if(e===void 0)return;const E=U.current+1;U.current=E,w(!0),j(null),be("Loading session logs",E),f(),Qs(e,G).then(L=>{if(U.current!==E)return;const K=L.logs;V.current=mn(K),n(K),v(L),o(e),w(!1),j(null),J(),f()}).catch(L=>{if(U.current!==E)return;w(!1),J();const K=L instanceof Error?L.message:"Failed to load session logs";j(K),X(K)})},[f,e,X,be,J]),Ee=c.useCallback(G=>{const E=U.current+1;U.current=E,w(!0),j(null),be("Reloading full session",E),f(),(async()=>{const L=[];let K=await Qs(G,{kind:"oldest"},Ho);L.push(...K.logs),ve("Reloading full session",E,L.length,1);let ie=1;for(;K.hasNewer&&K.newestLogId!==null&&ie<fx;)K=await Qs(G,{kind:"newer",afterLogId:K.newestLogId},Ho),L.push(...K.logs),ie+=1,ve("Reloading full session",E,L.length,ie);U.current===E&&(n(de=>{const se=no(de,L);return V.current=mn(se),se}),u(de=>Dn(de,[G])),w(!1),j(null),J(),K.hasNewer?p({message:`Loaded ${String(L.length)} logs for this session. More history is available.`,tone:"success"}):f())})().catch(L=>{if(U.current!==E)return;w(!1),J();const K=L instanceof Error?L.message:"Failed to reload session logs";j(K),X(K)})},[f,X,p,be,J,ve]);c.useEffect(()=>{if(e===void 0){N([]);return}let G=!1;return We("/api/groups",of,QO).then(E=>E.groups).then(E=>{G||E===null||N(KO(E,e))}).catch(()=>{G||N([])}),()=>{G=!0}},[e]),c.useEffect(()=>{te()},[te]),c.useEffect(()=>()=>{J()},[J]),c.useEffect(()=>{e!==void 0&&we({kind:"newest"})},[e,we]),c.useEffect(()=>{e===void 0&&r!=="__all__"&&Ee(r)},[e,Ee,r]),c.useEffect(()=>{if(e!==void 0)return;le();const G=()=>{A.current?.close(),A.current=null,M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),h(L=>nn(L,{type:"browser-offline"}))},E=()=>{I.current&&le()};return window.addEventListener("offline",G),window.addEventListener("online",E),()=>{window.removeEventListener("offline",G),window.removeEventListener("online",E),A.current&&(A.current.close(),A.current=null),M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),z.current!==null&&(clearTimeout(z.current),z.current=null)}},[le,e]),c.useEffect(()=>{const G=window.location.hash;if(!G.startsWith("#log-")||F.current===G)return;const E=G.slice(1),L=Number(E.replace(/^log-/,""));Number.isInteger(L)&&L>0&&Is({logId:L,tab:"request"});let K=!1,ie=0,de=null,se=null;const ye=()=>{if(K)return;const ce=document.getElementById(E);if(ce!==null){F.current=G,ce.scrollIntoView({block:"center",behavior:J0(Y0())}),ce instanceof HTMLElement&&(de=ce,ce.setAttribute("data-deep-link-highlight","true"),se=window.setTimeout(()=>{ce.removeAttribute("data-deep-link-highlight")},XO),ce.focus({preventScroll:!0}),ce.getAttribute("data-nav-action")==="expand"&&ce.click());return}ie+=1,ie<YO&&window.setTimeout(ye,100)};return ye(),()=>{K=!0,se!==null&&window.clearTimeout(se),de!==null&&de.removeAttribute("data-deep-link-highlight")}},[oe.length]);const Ye=c.useCallback(()=>{const G=so(t);J(),w(!1),V.current.clear(),n([]),v(null),u(E=>Dn(E,G)),p({message:"Cleared the current view. Stored logs are still reloadable.",tone:"success"})},[t,p,J]),De=c.useCallback(G=>{if(G.length===0)return;const E=new Set(G);n(L=>{const K=L.filter(de=>E.has(de.id)),ie=L.filter(de=>!E.has(de.id));return u(de=>Dn(de,so(K))),V.current=mn(ie),ie}),p({message:"Cleared this group from the current view.",tone:"success"})},[p]),Ve=c.useCallback(async()=>{const G=U.current+1;U.current=G,w(!0),J(),f();try{if(r==="__all__"){be("Deleting stored history",G);const se=await rt("/api/logs",Yd,{method:"DELETE"}),ye=await o6();if(U.current!==G)return;n([]),V.current.clear(),v(null),u([]),N([]),w(!1),J();const ce=ye.ok?` Cleared ${ye.deleted.toString()} group${ye.deleted===1?"":"s"}.`:" Group cleanup failed; open Groups to retry Clear.";p({message:`Deleted ${se.cleared.toString()} stored log${se.cleared===1?"":"s"} across all sessions.${ce}`,tone:ye.ok?"success":"error"});return}const E=r;be("Deleting session history",G);const L=await r6(E,(se,ye)=>{ve("Deleting session history",G,se,ye)}),K=new Set(L.ids);for(const se of t)se.sessionId===E&&K.add(se.id);const ie=[...K].filter(se=>Number.isInteger(se)&&se>=0);if(ie.length===0){if(U.current!==G)return;n(se=>{const ye=se.filter(ce=>ce.sessionId!==E);return V.current=mn(ye),ye}),v(se=>se===null?null:{...se,logs:se.logs.filter(ye=>ye.sessionId!==E)}),u(se=>se.filter(ye=>ye!==E)),w(!1),J(),p({message:"No stored log records were found for this session.",tone:"success"});return}const de=await rt("/api/logs",Yd,{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({ids:ie})});if(U.current!==G)return;n(se=>{const ye=se.filter(ce=>ce.sessionId!==E);return V.current=mn(ye),ye}),v(se=>se===null?null:{...se,logs:se.logs.filter(ye=>ye.sessionId!==E)}),u(se=>se.filter(ye=>ye!==E)),w(!1),J(),p({message:`Deleted ${de.cleared.toString()} stored log${de.cleared===1?"":"s"} for this session${L.truncated?". More history may remain.":"."}`,tone:L.truncated?"error":"success"})}finally{U.current===G&&(w(!1),J())}},[t,f,r,p,be,J,ve]),wt=c.useCallback(()=>{if(e!==void 0){we({kind:"newest"});return}if(r==="__all__"){te();return}Ee(r)},[e,we,te,Ee,r]),Qt=c.useCallback(async G=>{const E=new FormData;E.set("file",G);const L=await rt("/api/logs/import",gy,{method:"POST",body:E});return n(K=>{const ie=new Set(L.logs.map(se=>se.id)),de=no(K.filter(se=>!ie.has(se.id)),L.logs);return V.current=mn(de),de}),o(L.sessionId),a("__all__"),v(null),f(),L},[f]),{strip:Xe,captureMode:Ue,slowResponseThresholdSeconds:Ie,timeDisplayFormat:Ae}=Il(),q=Ue,ne=c.useCallback(()=>{we({kind:"oldest"})},[we]),Te=c.useCallback(()=>{we({kind:"newest"})},[we]),he=c.useCallback(()=>{const G=t[0],E=x?.oldestLogId??G?.id??null;E!==null&&we({kind:"older",beforeLogId:E})},[t,we,x]),ge=c.useCallback(()=>{const G=t[t.length-1],E=x?.newestLogId??G?.id??null;E!==null&&we({kind:"newer",afterLogId:E})},[t,we,x]),Oe=c.useMemo(()=>{if(e!==void 0)return{isLoading:b,loadProgress:k,total:x?.total??null,pageSize:x?.limit??Sc,hasOlder:x?.hasOlder??!1,hasNewer:x?.hasNewer??!1,oldestLogId:x?.oldestLogId??null,newestLogId:x?.newestLogId??null,onOldest:ne,onOlder:he,onNewer:ge,onNewest:Te}},[e,Te,ge,he,ne,x,k,b]);return s.jsxs(s.Fragment,{children:[s.jsx(E0,{notice:d,onDismiss:f}),s.jsx(y5,{}),s.jsx(qO,{logs:oe,sessions:D,models:je,selectedSession:r,selectedModel:i,onSessionChange:o,onModelChange:a,onClearAll:Ye,onDeleteCurrentView:Ve,onReloadSession:e!==void 0||r!=="__all__"?wt:void 0,onClearGroup:De,onNotify:p,onImportLogs:e===void 0?Qt:void 0,isLoading:e===void 0&&m.status==="connecting"&&m.lastSuccessAt===null||b,liveConnection:e===void 0?m:void 0,onRetryLiveConnection:ue,onStopLiveConnection:me,pagination:Oe,sessionLoadProgress:k,sessionLoadError:y??void 0,sessionMemberships:_,viewMode:q,captureMode:Ue,strip:Xe,slowResponseThresholdSeconds:Ie,timeDisplayFormat:Ae,hideSessionFilter:e!==void 0,pinnedSessionId:e})]})}export{Yn as $,Is as A,_e as B,Sw as C,Wt as D,Jo as E,Ce as F,g as G,nr as H,tO as I,nj as J,mA as K,l4 as L,xf as M,fA as N,l6 as O,c6 as P,tt as Q,Lj as R,bA as S,u0 as T,xe as U,$4 as V,a6 as W,br as X,cf as Y,D4 as Z,F4 as _,cT as a,Xa as a0,Po as a1,TP as a2,fw as a3,sr as a4,Q as a5,yn as a6,He as a7,zp as a8,e4 as a9,ew as aa,su as b,B as c,gf as d,vt as e,Ge as f,t0 as g,zt as h,We as i,Zt as j,Yt as k,Xt as l,vf as m,d0 as n,xn as o,jt as p,dj as q,ir as r,$s as s,pt as t,$l as u,ft as v,mt as w,T as x,R as y,W as z};
|