@tonyclaw/agent-inspector 3.0.36 → 3.0.37
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-BF8Yk4Nq.js → CompareDrawer-BvF04FAX.js} +1 -1
- package/.output/public/assets/{InspectorPet-D01knLHJ.js → InspectorPet-CSCn4jWU.js} +1 -1
- package/.output/public/assets/ProxyViewerContainer-9mjL1YlZ.js +126 -0
- package/.output/public/assets/{ReplayDialog-NRgCp09o.js → ReplayDialog-DWJkKTDB.js} +1 -1
- package/.output/public/assets/{RequestAnatomy-BPiUptQ-.js → RequestAnatomy-CDFI55pJ.js} +1 -1
- package/.output/public/assets/{ResponseView-C6oCKVyP.js → ResponseView-tlIj9vRr.js} +1 -1
- package/.output/public/assets/{StreamingChunkSequence-B90BNPvD.js → StreamingChunkSequence-C7Ntivbf.js} +1 -1
- package/.output/public/assets/{_sessionId-c3quqe4s.js → _sessionId-BbrBvkvn.js} +1 -1
- package/.output/public/assets/{_sessionId-B7pqqX6S.js → _sessionId-DUL-l56X.js} +1 -1
- package/.output/public/assets/{index-D4Atppe6.js → index-By0CyDmk.js} +1 -1
- package/.output/public/assets/{index-D444FJGM.js → index-CEdulUJ3.js} +3 -3
- package/.output/public/assets/index-DCj1X8Qt.css +1 -0
- package/.output/public/assets/{index-CmGZ17BL.js → index-DF6bouqm.js} +1 -1
- package/.output/public/assets/{index-CjODQxYY.js → index-e-fWO2Du.js} +1 -1
- package/.output/public/assets/{json-viewer-CuYTDXFj.js → json-viewer-0fOrL_Cz.js} +1 -1
- package/.output/public/assets/{jszip.min-C-avw0w1.js → jszip.min-2Bsoez0Q.js} +1 -1
- package/.output/server/_libs/lucide-react.mjs +65 -65
- package/.output/server/_libs/radix-ui__react-select.mjs +7 -7
- package/.output/server/{_sessionId-BsDZ3m3b.mjs → _sessionId-D-GcecKN.mjs} +2 -2
- package/.output/server/{_sessionId-BTazjVlZ.mjs → _sessionId-DzY1bB_L.mjs} +1 -1
- package/.output/server/_ssr/{CompareDrawer-BMo93_DO.mjs → CompareDrawer-BXm8BitS.mjs} +3 -3
- package/.output/server/_ssr/{InspectorPet-DApzyYro.mjs → InspectorPet-CZUOr9sO.mjs} +1 -1
- package/.output/server/_ssr/{ProxyViewerContainer-CiXXtVXH.mjs → ProxyViewerContainer-BAQY5x_x.mjs} +120 -281
- package/.output/server/_ssr/{ReplayDialog-B8bP1qUr.mjs → ReplayDialog-BOODYnLb.mjs} +4 -4
- package/.output/server/_ssr/{RequestAnatomy-DkVynjyh.mjs → RequestAnatomy-Bd2OBiJP.mjs} +3 -3
- package/.output/server/_ssr/{ResponseView-BAQa0WUP.mjs → ResponseView-ZSjpdHLG.mjs} +3 -3
- package/.output/server/_ssr/{StreamingChunkSequence-B4_K4_VI.mjs → StreamingChunkSequence-BT-yQGLL.mjs} +3 -3
- package/.output/server/_ssr/{index-DhjNsApq.mjs → index-CSJlUfwz.mjs} +1 -1
- package/.output/server/_ssr/{index-BiwG5Sws.mjs → index-CXouA5fR.mjs} +2 -2
- package/.output/server/_ssr/index.mjs +2 -2
- package/.output/server/_ssr/{json-viewer-Dlpq5S-r.mjs → json-viewer-DF2oLr4x.mjs} +3 -3
- package/.output/server/_ssr/{router-6s7p8rsX.mjs → router-75eycvXZ.mjs} +6 -6
- package/.output/server/{_tanstack-start-manifest_v-ClIF-cfh.mjs → _tanstack-start-manifest_v-DjCobDeN.mjs} +1 -1
- package/.output/server/index.mjs +87 -87
- package/package.json +7 -1
- package/src/components/ProxyViewer.tsx +96 -328
- package/src/components/pi-agent/PiAgentPanel.tsx +23 -14
- package/src/components/pi-agent/piAgentChatLogic.ts +10 -0
- package/.output/public/assets/ProxyViewerContainer-CArcMNg_.js +0 -126
- package/.output/public/assets/index-BQqVblQv.css +0 -1
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jszip.min-C-avw0w1.js","assets/index-D444FJGM.js","assets/CompareDrawer-BF8Yk4Nq.js","assets/InspectorPet-D01knLHJ.js","assets/ReplayDialog-NRgCp09o.js","assets/ResponseView-C6oCKVyP.js","assets/RequestAnatomy-BPiUptQ-.js","assets/StreamingChunkSequence-B90BNPvD.js","assets/json-viewer-CuYTDXFj.js","assets/index-CmGZ17BL.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{u as qt,a as np,r as c,j as r,_ as Jt,b as Ix,c as Ii,p as Px,T as Ox,n as zx,d as Lx,e as $x,f as Pi,U as Dx,g as sp,h as Ko,i as Is,k as $,B as ee,l as Gn,m as rp,o as Me,q as op,s as Mt,t as Fx,L as ho,v as ip,w as Ux,x as xo,C as ap,y as Bx}from"./index-D444FJGM.js";var Oc;function O(e,t,n){function s(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;s(d,l),(u=d._zod).deferred??(u.deferred=[]);for(const p of d._zod.deferred)p();return d}return Object.defineProperty(a,"init",{value:s}),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 lp extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(Oc=globalThis).__zod_globalConfig??(Oc.__zod_globalConfig={});const hl=globalThis.__zod_globalConfig;function on(e){return hl}function cp(e){const t=Object.values(e).filter(s=>typeof s=="number");return Object.entries(e).filter(([s,o])=>t.indexOf(+s)===-1).map(([s,o])=>o)}function Sa(e,t){return typeof t=="bigint"?t.toString():t}function Go(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function xl(e){return e==null}function gl(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function qx(e,t){const n=e/t,s=Math.round(n),o=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-s)<o?0:n-s}const zc=Symbol("evaluating");function Te(e,t,n){let s;Object.defineProperty(e,t,{get(){if(s!==zc)return s===void 0&&(s=zc,s=n()),s},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 Nn(...e){const t={};for(const n of e){const s=Object.getOwnPropertyDescriptors(n);Object.assign(t,s)}return Object.defineProperties({},t)}function Lc(e){return JSON.stringify(e)}function Hx(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const up="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function nr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Vx=Go(()=>{if(hl.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ks(e){if(nr(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(nr(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function dp(e){return ks(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Wx=new Set(["string","number","symbol"]);function Ss(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Cn(e,t,n){const s=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(s._zod.parent=e),s}function oe(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 Zx(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Kx={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 Gx(e,t){const n=e._zod.def,s=n.checks;if(s&&s.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i=Nn(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 Cn(e,i)}function Jx(e,t){const n=e._zod.def,s=n.checks;if(s&&s.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=Nn(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 Cn(e,i)}function Yx(e,t){if(!ks(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=Nn(e._zod.def,{get shape(){const i={...e._zod.def.shape,...t};return Jn(this,"shape",i),i}});return Cn(e,o)}function Xx(e,t){if(!ks(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=Nn(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t};return Jn(this,"shape",s),s}});return Cn(e,n)}function Qx(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=Nn(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t._zod.def.shape};return Jn(this,"shape",s),s},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Cn(e,n)}function eg(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=Nn(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 Cn(t,a)}function tg(e,t,n){const s=Nn(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 Cn(t,s)}function fs(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 ng(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 ms(e,t){return t.map(n=>{var s;return(s=n).path??(s.path=[]),n.path.unshift(e),n})}function Er(e){return typeof e=="string"?e:e?.message}function an(e,t,n){const s=e.message?e.message:Er(e.inst?._zod.def?.error?.(e))??Er(t?.error?.(e))??Er(n.customError?.(e))??Er(n.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:a,...l}=e;return l.path??(l.path=[]),l.message=s,t?.reportInput&&(l.input=a),l}function bl(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function sr(...e){const[t,n,s]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:s}:{...t}}const pp=(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,Sa,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},fp=O("$ZodError",pp),mp=O("$ZodError",pp,{Parent:Error});function sg(e,t=n=>n.message){const n={},s=[];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))):s.push(t(o));return{formErrors:s,fieldErrors:n}}function rg(e,t=n=>n.message){const n={_errors:[]},s=(o,i=[])=>{for(const a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(l=>s({issues:l},[...i,...a.path]));else if(a.code==="invalid_key")s({issues:a.issues},[...i,...a.path]);else if(a.code==="invalid_element")s({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 s(e),n}const vl=e=>(t,n,s,o)=>{const i=s?{...s,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=>an(u,i,on())));throw up(l,o?.callee),l}return a.value},yl=e=>async(t,n,s,o)=>{const i=s?{...s,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=>an(u,i,on())));throw up(l,o?.callee),l}return a.value},Jo=e=>(t,n,s)=>{const o=s?{...s,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??fp)(i.issues.map(a=>an(a,o,on())))}:{success:!0,data:i.value}},og=Jo(mp),Yo=e=>async(t,n,s)=>{const o=s?{...s,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=>an(a,o,on())))}:{success:!0,data:i.value}},ig=Yo(mp),ag=e=>(t,n,s)=>{const o=s?{...s,direction:"backward"}:{direction:"backward"};return vl(e)(t,n,o)},lg=e=>(t,n,s)=>vl(e)(t,n,s),cg=e=>async(t,n,s)=>{const o=s?{...s,direction:"backward"}:{direction:"backward"};return yl(e)(t,n,o)},ug=e=>async(t,n,s)=>yl(e)(t,n,s),dg=e=>(t,n,s)=>{const o=s?{...s,direction:"backward"}:{direction:"backward"};return Jo(e)(t,n,o)},pg=e=>(t,n,s)=>Jo(e)(t,n,s),fg=e=>async(t,n,s)=>{const o=s?{...s,direction:"backward"}:{direction:"backward"};return Yo(e)(t,n,o)},mg=e=>async(t,n,s)=>Yo(e)(t,n,s),hg=/^[cC][0-9a-z]{6,}$/,xg=/^[0-9a-z]+$/,gg=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,bg=/^[0-9a-vA-V]{20}$/,vg=/^[A-Za-z0-9]{27}$/,yg=/^[a-zA-Z0-9_-]{21}$/,wg=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,jg=/^([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})$/,$c=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)$/,kg=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Sg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function _g(){return new RegExp(Sg,"u")}const Ng=/^(?:(?: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])$/,Cg=/^(([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}|:))$/,Tg=/^((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])$/,Eg=/^(([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])$/,Rg=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,hp=/^[A-Za-z0-9_-]*$/,Mg=/^https?$/,Ag=/^\+[1-9]\d{6,14}$/,xp="(?:(?:\\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])))",Ig=new RegExp(`^${xp}$`);function gp(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 Pg(e){return new RegExp(`^${gp(e)}$`)}function Og(e){const t=gp({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const s=`${t}(?:${n.join("|")})`;return new RegExp(`^${xp}T(?:${s})$`)}const zg=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Lg=/^-?\d+$/,bp=/^-?\d+(?:\.\d+)?$/,$g=/^(?:true|false)$/i,Dg=/^null$/i,Fg=/^[^A-Z]*$/,Ug=/^[^a-z]*$/,lt=O("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),vp={number:"number",bigint:"bigint",object:"date"},yp=O("$ZodCheckLessThan",(e,t)=>{lt.init(e,t);const n=vp[typeof t.value];e._zod.onattach.push(s=>{const o=s._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=s=>{(t.inclusive?s.value<=t.value:s.value<t.value)||s.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:s.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),wp=O("$ZodCheckGreaterThan",(e,t)=>{lt.init(e,t);const n=vp[typeof t.value];e._zod.onattach.push(s=>{const o=s._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=s=>{(t.inclusive?s.value>=t.value:s.value>t.value)||s.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:s.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Bg=O("$ZodCheckMultipleOf",(e,t)=>{lt.init(e,t),e._zod.onattach.push(n=>{var s;(s=n._zod.bag).multipleOf??(s.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):qx(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})}}),qg=O("$ZodCheckNumberFormat",(e,t)=>{lt.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),s=n?"int":"number",[o,i]=Kx[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=Lg)}),e._zod.check=a=>{const l=a.value;if(n){if(!Number.isInteger(l)){a.issues.push({expected:s,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:s,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:s,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})}}),Hg=O("$ZodCheckMaxLength",(e,t)=>{var n;lt.init(e,t),(n=e._zod.def).when??(n.when=s=>{const o=s.value;return!xl(o)&&o.length!==void 0}),e._zod.onattach.push(s=>{const o=s._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(s._zod.bag.maximum=t.maximum)}),e._zod.check=s=>{const o=s.value;if(o.length<=t.maximum)return;const a=bl(o);s.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Vg=O("$ZodCheckMinLength",(e,t)=>{var n;lt.init(e,t),(n=e._zod.def).when??(n.when=s=>{const o=s.value;return!xl(o)&&o.length!==void 0}),e._zod.onattach.push(s=>{const o=s._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(s._zod.bag.minimum=t.minimum)}),e._zod.check=s=>{const o=s.value;if(o.length>=t.minimum)return;const a=bl(o);s.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Wg=O("$ZodCheckLengthEquals",(e,t)=>{var n;lt.init(e,t),(n=e._zod.def).when??(n.when=s=>{const o=s.value;return!xl(o)&&o.length!==void 0}),e._zod.onattach.push(s=>{const o=s._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=s=>{const o=s.value,i=o.length;if(i===t.length)return;const a=bl(o),l=i>t.length;s.issues.push({origin:a,...l?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:s.value,inst:e,continue:!t.abort})}}),Xo=O("$ZodCheckStringFormat",(e,t)=>{var n,s;lt.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})}):(s=e._zod).check??(s.check=()=>{})}),Zg=O("$ZodCheckRegex",(e,t)=>{Xo.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})}}),Kg=O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Fg),Xo.init(e,t)}),Gg=O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ug),Xo.init(e,t)}),Jg=O("$ZodCheckIncludes",(e,t)=>{lt.init(e,t);const n=Ss(t.includes),s=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=s,e._zod.onattach.push(o=>{const i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(s)}),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})}}),Yg=O("$ZodCheckStartsWith",(e,t)=>{lt.init(e,t);const n=new RegExp(`^${Ss(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(s=>{const o=s._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=s=>{s.value.startsWith(t.prefix)||s.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:s.value,inst:e,continue:!t.abort})}}),Xg=O("$ZodCheckEndsWith",(e,t)=>{lt.init(e,t);const n=new RegExp(`.*${Ss(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(s=>{const o=s._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=s=>{s.value.endsWith(t.suffix)||s.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:s.value,inst:e,continue:!t.abort})}}),Qg=O("$ZodCheckOverwrite",(e,t)=>{lt.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class e1{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 s=t.split(`
|
|
3
|
-
`).filter(a=>a),o=Math.min(...s.map(a=>a.length-a.trimStart().length)),i=s.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 t1={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=t1;const s=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&s.unshift(e);for(const o of s)for(const i of o._zod.onattach)i(e);if(s.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=fs(a),p;for(const f of l){if(f._zod.def.when){if(ng(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 xs;if(p||h instanceof Promise)p=(p??Promise.resolve()).then(async()=>{await h,a.issues.length!==m&&(d||(d=fs(a,m)))});else{if(a.issues.length===m)continue;d||(d=fs(a,m))}}return p?p.then(()=>a):a},i=(a,l,u)=>{if(fs(a))return a.aborted=!0,a;const d=o(l,s,u);if(d instanceof Promise){if(u.async===!1)throw new xs;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 xs;return u.then(d=>o(d,s,l))}return o(u,s,l)}}Te(e,"~standard",()=>({validate:o=>{try{const i=og(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ig(e,o).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),wl=O("$ZodString",(e,t)=>{ze.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??zg(e._zod.bag),e._zod.parse=(n,s)=>{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)=>{Xo.init(e,t),wl.init(e,t)}),n1=O("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=jg),$e.init(e,t)}),s1=O("$ZodUUID",(e,t)=>{if(t.version){const s={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(s===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=$c(s))}else t.pattern??(t.pattern=$c());$e.init(e,t)}),r1=O("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=kg),$e.init(e,t)}),o1=O("$ZodURL",(e,t)=>{$e.init(e,t),e._zod.check=n=>{try{const s=n.value.trim();if(!t.normalize&&t.protocol?.source===Mg.source&&!/^https?:\/\//i.test(s)){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(s);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=s;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),i1=O("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=_g()),$e.init(e,t)}),a1=O("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=yg),$e.init(e,t)}),l1=O("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=hg),$e.init(e,t)}),c1=O("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=xg),$e.init(e,t)}),u1=O("$ZodULID",(e,t)=>{t.pattern??(t.pattern=gg),$e.init(e,t)}),d1=O("$ZodXID",(e,t)=>{t.pattern??(t.pattern=bg),$e.init(e,t)}),p1=O("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=vg),$e.init(e,t)}),f1=O("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Og(t)),$e.init(e,t)}),m1=O("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ig),$e.init(e,t)}),h1=O("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Pg(t)),$e.init(e,t)}),x1=O("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=wg),$e.init(e,t)}),g1=O("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ng),$e.init(e,t),e._zod.bag.format="ipv4"}),b1=O("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Cg),$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})}}}),v1=O("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Tg),$e.init(e,t)}),y1=O("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Eg),$e.init(e,t),e._zod.check=n=>{const s=n.value.split("/");try{if(s.length!==2)throw new Error;const[o,i]=s;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 jp(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const w1=O("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Rg),$e.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{jp(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function j1(e){if(!hp.test(e))return!1;const t=e.replace(/[-_]/g,s=>s==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return jp(n)}const k1=O("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=hp),$e.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{j1(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),S1=O("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ag),$e.init(e,t)});function _1(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[s]=n;if(!s)return!1;const o=JSON.parse(atob(s));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const N1=O("$ZodJWT",(e,t)=>{$e.init(e,t),e._zod.check=n=>{_1(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),kp=O("$ZodNumber",(e,t)=>{ze.init(e,t),e._zod.pattern=e._zod.bag.pattern??bp,e._zod.parse=(n,s)=>{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}}),C1=O("$ZodNumberFormat",(e,t)=>{qg.init(e,t),kp.init(e,t)}),T1=O("$ZodBoolean",(e,t)=>{ze.init(e,t),e._zod.pattern=$g,e._zod.parse=(n,s)=>{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}}),E1=O("$ZodNull",(e,t)=>{ze.init(e,t),e._zod.pattern=Dg,e._zod.values=new Set([null]),e._zod.parse=(n,s)=>{const o=n.value;return o===null||n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),R1=O("$ZodUnknown",(e,t)=>{ze.init(e,t),e._zod.parse=n=>n}),M1=O("$ZodNever",(e,t)=>{ze.init(e,t),e._zod.parse=(n,s)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Dc(e,t,n){e.issues.length&&t.issues.push(...ms(n,e.issues)),t.value[n]=e.value}const A1=O("$ZodArray",(e,t)=>{ze.init(e,t),e._zod.parse=(n,s)=>{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:[]},s);u instanceof Promise?i.push(u.then(d=>Dc(d,n,a))):Dc(u,n,a)}return i.length?Promise.all(i).then(()=>n):n}});function go(e,t,n,s,o,i){const a=n in s;if(e.issues.length){if(o&&i&&!a)return;t.issues.push(...ms(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 Sp(e){const t=Object.keys(e.shape);for(const s of t)if(!e.shape?.[s]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${s}": expected a Zod schema`);const n=Zx(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function _p(e,t,n,s,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:[]},s);h instanceof Promise?e.push(h.then(x=>go(x,n,m,t,p,f))):go(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 I1=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 s=Go(()=>Sp(t));Te(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=nr,i=t.catchall;let a;e._zod.parse=(l,u)=>{a??(a=s.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",y=h._zod.optout==="optional",b=h._zod.run({value:d[m],issues:[]},u);b instanceof Promise?p.push(b.then(w=>go(w,l,m,d,x,y))):go(b,l,m,d,x,y)}return i?_p(p,d,l,u,s.value,e):p.length?Promise.all(p).then(()=>l):l}}),P1=O("$ZodObjectJIT",(e,t)=>{I1.init(e,t);const n=e._zod.parse,s=Go(()=>Sp(t)),o=m=>{const h=new e1(["shape","payload","ctx"]),x=s.value,y=j=>{const k=Lc(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=Lc(j),_=m[j],N=_?._zod?.optin==="optional",I=_?._zod?.optout==="optional";h.write(`const ${k} = ${y(j)};`),N&&I?h.write(`
|
|
5
|
-
if (${k}.issues.length) {
|
|
6
|
-
if (${S} in input) {
|
|
7
|
-
payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
|
|
8
|
-
...iss,
|
|
9
|
-
path: iss.path ? [${S}, ...iss.path] : [${S}]
|
|
10
|
-
})));
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (${k}.value === undefined) {
|
|
15
|
-
if (${S} in input) {
|
|
16
|
-
newResult[${S}] = undefined;
|
|
17
|
-
}
|
|
18
|
-
} else {
|
|
19
|
-
newResult[${S}] = ${k}.value;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
`):N?h.write(`
|
|
23
|
-
if (${k}.issues.length) {
|
|
24
|
-
payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
|
|
25
|
-
...iss,
|
|
26
|
-
path: iss.path ? [${S}, ...iss.path] : [${S}]
|
|
27
|
-
})));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (${k}.value === undefined) {
|
|
31
|
-
if (${S} in input) {
|
|
32
|
-
newResult[${S}] = undefined;
|
|
33
|
-
}
|
|
34
|
-
} else {
|
|
35
|
-
newResult[${S}] = ${k}.value;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
`):h.write(`
|
|
39
|
-
const ${k}_present = ${S} in input;
|
|
40
|
-
if (${k}.issues.length) {
|
|
41
|
-
payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
|
|
42
|
-
...iss,
|
|
43
|
-
path: iss.path ? [${S}, ...iss.path] : [${S}]
|
|
44
|
-
})));
|
|
45
|
-
}
|
|
46
|
-
if (!${k}_present && !${k}.issues.length) {
|
|
47
|
-
payload.issues.push({
|
|
48
|
-
code: "invalid_type",
|
|
49
|
-
expected: "nonoptional",
|
|
50
|
-
input: undefined,
|
|
51
|
-
path: [${S}]
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (${k}_present) {
|
|
56
|
-
if (${k}.value === undefined) {
|
|
57
|
-
newResult[${S}] = undefined;
|
|
58
|
-
} else {
|
|
59
|
-
newResult[${S}] = ${k}.value;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
`)}h.write("payload.value = newResult;"),h.write("return payload;");const v=h.compile();return(j,k)=>v(m,j,k)};let i;const a=nr,l=!hl.jitless,d=l&&Vx.value,p=t.catchall;let f;e._zod.parse=(m,h)=>{f??(f=s.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?_p([],x,m,h,f,e):m):n(m,h):(m.issues.push({expected:"object",code:"invalid_type",input:x,inst:e}),m)}});function Fc(e,t,n,s){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const o=e.filter(i=>!fs(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=>an(a,s,on())))}),t)}const Np=O("$ZodUnion",(e,t)=>{ze.init(e,t),Te(e._zod,"optin",()=>t.options.some(s=>s._zod.optin==="optional")?"optional":void 0),Te(e._zod,"optout",()=>t.options.some(s=>s._zod.optout==="optional")?"optional":void 0),Te(e._zod,"values",()=>{if(t.options.every(s=>s._zod.values))return new Set(t.options.flatMap(s=>Array.from(s._zod.values)))}),Te(e._zod,"pattern",()=>{if(t.options.every(s=>s._zod.pattern)){const s=t.options.map(o=>o._zod.pattern);return new RegExp(`^(${s.map(o=>gl(o.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(s,o)=>{if(n)return n(s,o);let i=!1;const a=[];for(const l of t.options){const u=l._zod.run({value:s.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=>Fc(l,s,e,o)):Fc(a,s,e,o)}}),O1=O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Np.init(e,t);const n=e._zod.parse;Te(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 s=Go(()=>{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(!nr(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),o;const l=s.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(s.value.keys()),input:a,path:[t.discriminator],inst:e}),o)}}),z1=O("$ZodIntersection",(e,t)=>{ze.init(e,t),e._zod.parse=(n,s)=>{const o=n.value,i=t.left._zod.run({value:o,issues:[]},s),a=t.right._zod.run({value:o,issues:[]},s);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([u,d])=>Uc(n,u,d)):Uc(n,i,a)}});function _a(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(ks(e)&&ks(t)){const n=Object.keys(t),s=Object.keys(e).filter(i=>n.indexOf(i)!==-1),o={...e,...t};for(const i of s){const a=_a(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 s=0;s<e.length;s++){const o=e[s],i=t[s],a=_a(o,i);if(!a.valid)return{valid:!1,mergeErrorPath:[s,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Uc(e,t,n){const s=new Map;let o;for(const l of t.issues)if(l.code==="unrecognized_keys"){o??(o=l);for(const u of l.keys)s.has(u)||s.set(u,{}),s.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)s.has(u)||s.set(u,{}),s.get(u).r=!0;else e.issues.push(l);const i=[...s].filter(([,l])=>l.l&&l.r).map(([l])=>l);if(i.length&&o&&e.issues.push({...o,keys:i}),fs(e))return e;const a=_a(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 L1=O("$ZodRecord",(e,t)=>{ze.init(e,t),e._zod.parse=(n,s)=>{const o=n.value;if(!ks(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:[]},s);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=>an(h,s,on())),input:d,path:[d],inst:e});continue}const f=p.value,m=t.valueType._zod.run({value:o[d],issues:[]},s);m instanceof Promise?i.push(m.then(h=>{h.issues.length&&n.issues.push(...ms(d,h.issues)),n.value[f]=h.value})):(m.issues.length&&n.issues.push(...ms(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:[]},s);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof l=="string"&&bp.test(l)&&u.issues.length){const f=t.keyType._zod.run({value:Number(l),issues:[]},s);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=>an(f,s,on())),input:l,path:[l],inst:e});continue}const p=t.valueType._zod.run({value:o[l],issues:[]},s);p instanceof Promise?i.push(p.then(f=>{f.issues.length&&n.issues.push(...ms(l,f.issues)),n.value[u.value]=f.value})):(p.issues.length&&n.issues.push(...ms(l,p.issues)),n.value[u.value]=p.value)}}return i.length?Promise.all(i).then(()=>n):n}}),$1=O("$ZodEnum",(e,t)=>{ze.init(e,t);const n=cp(t.entries),s=new Set(n);e._zod.values=s,e._zod.pattern=new RegExp(`^(${n.filter(o=>Wx.has(typeof o)).map(o=>typeof o=="string"?Ss(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{const a=o.value;return s.has(a)||o.issues.push({code:"invalid_value",values:n,input:a,inst:e}),o}}),D1=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(s=>typeof s=="string"?Ss(s):s?Ss(s.toString()):String(s)).join("|")})$`),e._zod.parse=(s,o)=>{const i=s.value;return n.has(i)||s.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),s}}),F1=O("$ZodTransform",(e,t)=>{ze.init(e,t),e._zod.optin="optional",e._zod.parse=(n,s)=>{if(s.direction==="backward")throw new lp(e.constructor.name);const o=t.transform(n.value,n);if(s.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 Bc(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const Cp=O("$ZodOptional",(e,t)=>{ze.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Te(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Te(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${gl(n.source)})?$`):void 0}),e._zod.parse=(n,s)=>{if(t.innerType._zod.optin==="optional"){const o=n.value,i=t.innerType._zod.run(n,s);return i instanceof Promise?i.then(a=>Bc(a,o)):Bc(i,o)}return n.value===void 0?n:t.innerType._zod.run(n,s)}}),U1=O("$ZodExactOptional",(e,t)=>{Cp.init(e,t),Te(e._zod,"values",()=>t.innerType._zod.values),Te(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,s)=>t.innerType._zod.run(n,s)}),B1=O("$ZodNullable",(e,t)=>{ze.init(e,t),Te(e._zod,"optin",()=>t.innerType._zod.optin),Te(e._zod,"optout",()=>t.innerType._zod.optout),Te(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${gl(n.source)}|null)$`):void 0}),Te(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,s)=>n.value===null?n:t.innerType._zod.run(n,s)}),q1=O("$ZodDefault",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Te(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,s)=>{if(s.direction==="backward")return t.innerType._zod.run(n,s);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,s);return o instanceof Promise?o.then(i=>qc(i,t)):qc(o,t)}});function qc(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const H1=O("$ZodPrefault",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Te(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,s)=>(s.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,s))}),V1=O("$ZodNonOptional",(e,t)=>{ze.init(e,t),Te(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(s=>s!==void 0)):void 0}),e._zod.parse=(n,s)=>{const o=t.innerType._zod.run(n,s);return o instanceof Promise?o.then(i=>Hc(i,e)):Hc(o,e)}});function Hc(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 W1=O("$ZodCatch",(e,t)=>{ze.init(e,t),e._zod.optin="optional",Te(e._zod,"optout",()=>t.innerType._zod.optout),Te(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,s)=>{if(s.direction==="backward")return t.innerType._zod.run(n,s);const o=t.innerType._zod.run(n,s);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=>an(a,s,on()))},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=>an(i,s,on()))},input:n.value}),n.issues=[],n.fallback=!0),n)}}),Z1=O("$ZodPipe",(e,t)=>{ze.init(e,t),Te(e._zod,"values",()=>t.in._zod.values),Te(e._zod,"optin",()=>t.in._zod.optin),Te(e._zod,"optout",()=>t.out._zod.optout),Te(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,s)=>{if(s.direction==="backward"){const i=t.out._zod.run(n,s);return i instanceof Promise?i.then(a=>Rr(a,t.in,s)):Rr(i,t.in,s)}const o=t.in._zod.run(n,s);return o instanceof Promise?o.then(i=>Rr(i,t.out,s)):Rr(o,t.out,s)}});function Rr(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 K1=O("$ZodReadonly",(e,t)=>{ze.init(e,t),Te(e._zod,"propValues",()=>t.innerType._zod.propValues),Te(e._zod,"values",()=>t.innerType._zod.values),Te(e._zod,"optin",()=>t.innerType?._zod?.optin),Te(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,s)=>{if(s.direction==="backward")return t.innerType._zod.run(n,s);const o=t.innerType._zod.run(n,s);return o instanceof Promise?o.then(Vc):Vc(o)}});function Vc(e){return e.value=Object.freeze(e.value),e}const G1=O("$ZodLazy",(e,t)=>{ze.init(e,t),Te(e._zod,"innerType",()=>{const n=t;return n._cachedInner||(n._cachedInner=t.getter()),n._cachedInner}),Te(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),Te(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),Te(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),Te(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,s)=>e._zod.innerType._zod.run(n,s)}),J1=O("$ZodCustom",(e,t)=>{lt.init(e,t),ze.init(e,t),e._zod.parse=(n,s)=>n,e._zod.check=n=>{const s=n.value,o=t.fn(s);if(o instanceof Promise)return o.then(i=>Wc(i,n,s,e));Wc(o,n,s,e)}});function Wc(e,t,n,s){if(!e){const o={code:"custom",input:n,inst:s,path:[...s._zod.def.path??[]],continue:!s._zod.def.abort};s._zod.def.params&&(o.params=s._zod.def.params),t.issues.push(sr(o))}}var Zc;class Y1{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const s=n[0];return this._map.set(t,s),s&&typeof s=="object"&&"id"in s&&this._idmap.set(s.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 s={...this.get(n)??{}};delete s.id;const o={...s,...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 X1(){return new Y1}(Zc=globalThis).__zod_globalRegistry??(Zc.__zod_globalRegistry=X1());const Ks=globalThis.__zod_globalRegistry;function Q1(e,t){return new e({type:"string",...oe(t)})}function eb(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...oe(t)})}function Kc(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...oe(t)})}function tb(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...oe(t)})}function nb(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...oe(t)})}function sb(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...oe(t)})}function rb(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...oe(t)})}function ob(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...oe(t)})}function ib(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...oe(t)})}function ab(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...oe(t)})}function lb(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...oe(t)})}function cb(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...oe(t)})}function ub(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...oe(t)})}function db(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...oe(t)})}function pb(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...oe(t)})}function fb(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...oe(t)})}function mb(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...oe(t)})}function hb(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...oe(t)})}function xb(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...oe(t)})}function gb(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...oe(t)})}function bb(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...oe(t)})}function vb(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...oe(t)})}function yb(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...oe(t)})}function wb(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...oe(t)})}function jb(e,t){return new e({type:"string",format:"date",check:"string_format",...oe(t)})}function kb(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...oe(t)})}function Sb(e,t){return new e({type:"string",format:"duration",check:"string_format",...oe(t)})}function _b(e,t){return new e({type:"number",checks:[],...oe(t)})}function Nb(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...oe(t)})}function Cb(e,t){return new e({type:"boolean",...oe(t)})}function Tb(e,t){return new e({type:"null",...oe(t)})}function Eb(e){return new e({type:"unknown"})}function Rb(e,t){return new e({type:"never",...oe(t)})}function Gc(e,t){return new yp({check:"less_than",...oe(t),value:e,inclusive:!1})}function Oi(e,t){return new yp({check:"less_than",...oe(t),value:e,inclusive:!0})}function Jc(e,t){return new wp({check:"greater_than",...oe(t),value:e,inclusive:!1})}function zi(e,t){return new wp({check:"greater_than",...oe(t),value:e,inclusive:!0})}function Yc(e,t){return new Bg({check:"multiple_of",...oe(t),value:e})}function Tp(e,t){return new Hg({check:"max_length",...oe(t),maximum:e})}function bo(e,t){return new Vg({check:"min_length",...oe(t),minimum:e})}function Ep(e,t){return new Wg({check:"length_equals",...oe(t),length:e})}function Mb(e,t){return new Zg({check:"string_format",format:"regex",...oe(t),pattern:e})}function Ab(e){return new Kg({check:"string_format",format:"lowercase",...oe(e)})}function Ib(e){return new Gg({check:"string_format",format:"uppercase",...oe(e)})}function Pb(e,t){return new Jg({check:"string_format",format:"includes",...oe(t),includes:e})}function Ob(e,t){return new Yg({check:"string_format",format:"starts_with",...oe(t),prefix:e})}function zb(e,t){return new Xg({check:"string_format",format:"ends_with",...oe(t),suffix:e})}function Ps(e){return new Qg({check:"overwrite",tx:e})}function Lb(e){return Ps(t=>t.normalize(e))}function $b(){return Ps(e=>e.trim())}function Db(){return Ps(e=>e.toLowerCase())}function Fb(){return Ps(e=>e.toUpperCase())}function Ub(){return Ps(e=>Hx(e))}function Bb(e,t,n){return new e({type:"array",element:t,...oe(n)})}function qb(e,t,n){return new e({type:"custom",check:"custom",fn:t,...oe(n)})}function Hb(e,t){const n=Vb(s=>(s.addIssue=o=>{if(typeof o=="string")s.issues.push(sr(o,s.value,n._zod.def));else{const i=o;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=s.value),i.inst??(i.inst=n),i.continue??(i.continue=!n._zod.def.abort),s.issues.push(sr(i))}},e(s.value,s)),t);return n}function Vb(e,t){const n=new lt({check:"custom",...oe(t)});return n._zod.check=e,n}function Rp(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??Ks,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 qe(e,t,n={path:[],schemaPath:[]}){var s;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),qe(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"&&st(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&"_prefault"in a.schema&&((s=a.schema).default??(s.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function Mp(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const s=new Map;for(const a of e.seen.entries()){const l=e.metadataRegistry.get(a[0])?.id;if(l){const u=s.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.`);s.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
|
-
|
|
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 Ap(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const s=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){s(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){s(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())s(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:vo(t,"input",e.processors),output:vo(t,"output",e.processors)}},enumerable:!1,writable:!1}),l}catch{throw new Error("Error converting schema to JSON.")}}function st(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const s=e._zod.def;if(s.type==="transform")return!0;if(s.type==="array")return st(s.element,n);if(s.type==="set")return st(s.valueType,n);if(s.type==="lazy")return st(s.getter(),n);if(s.type==="promise"||s.type==="optional"||s.type==="nonoptional"||s.type==="nullable"||s.type==="readonly"||s.type==="default"||s.type==="prefault")return st(s.innerType,n);if(s.type==="intersection")return st(s.left,n)||st(s.right,n);if(s.type==="record"||s.type==="map")return st(s.keyType,n)||st(s.valueType,n);if(s.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:st(s.in,n)||st(s.out,n);if(s.type==="object"){for(const o in s.shape)if(st(s.shape[o],n))return!0;return!1}if(s.type==="union"){for(const o of s.options)if(st(o,n))return!0;return!1}if(s.type==="tuple"){for(const o of s.items)if(st(o,n))return!0;return!!(s.rest&&st(s.rest,n))}return!1}const Wb=(e,t={})=>n=>{const s=Rp({...n,processors:t});return qe(e,s),Mp(s,e),Ap(s,e)},vo=(e,t,n={})=>s=>{const{libraryOptions:o,target:i}=s??{},a=Rp({...o??{},target:i,io:t,processors:n});return qe(e,a),Mp(a,e),Ap(a,e)},Zb={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Kb=(e,t,n,s)=>{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=Zb[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}))])}},Gb=(e,t,n,s)=>{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)},Jb=(e,t,n,s)=>{n.type="boolean"},Yb=(e,t,n,s)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},Xb=(e,t,n,s)=>{n.not={}},Qb=(e,t,n,s)=>{},ev=(e,t,n,s)=>{const o=e._zod.def,i=cp(o.entries);i.every(a=>typeof a=="number")&&(n.type="number"),i.every(a=>typeof a=="string")&&(n.type="string"),n.enum=i},tv=(e,t,n,s)=>{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},nv=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},sv=(e,t,n,s)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},rv=(e,t,n,s)=>{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=qe(i.element,t,{...s,path:[...s.path,"items"]})},ov=(e,t,n,s)=>{const o=n,i=e._zod.def;o.type="object",o.properties={};const a=i.shape;for(const d in a)o.properties[d]=qe(a[d],t,{...s,path:[...s.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=qe(i.catchall,t,{...s,path:[...s.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},iv=(e,t,n,s)=>{const o=e._zod.def,i=o.inclusive===!1,a=o.options.map((l,u)=>qe(l,t,{...s,path:[...s.path,i?"oneOf":"anyOf",u]}));i?n.oneOf=a:n.anyOf=a},av=(e,t,n,s)=>{const o=e._zod.def,i=qe(o.left,t,{...s,path:[...s.path,"allOf",0]}),a=qe(o.right,t,{...s,path:[...s.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},lv=(e,t,n,s)=>{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=qe(i.valueType,t,{...s,path:[...s.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=qe(i.keyType,t,{...s,path:[...s.path,"propertyNames"]})),o.additionalProperties=qe(i.valueType,t,{...s,path:[...s.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)}},cv=(e,t,n,s)=>{const o=e._zod.def,i=qe(o.innerType,t,s),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=o.innerType,n.nullable=!0):n.anyOf=[i,{type:"null"}]},uv=(e,t,n,s)=>{const o=e._zod.def;qe(o.innerType,t,s);const i=t.seen.get(e);i.ref=o.innerType},dv=(e,t,n,s)=>{const o=e._zod.def;qe(o.innerType,t,s);const i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},pv=(e,t,n,s)=>{const o=e._zod.def;qe(o.innerType,t,s);const i=t.seen.get(e);i.ref=o.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(o.defaultValue)))},fv=(e,t,n,s)=>{const o=e._zod.def;qe(o.innerType,t,s);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},mv=(e,t,n,s)=>{const o=e._zod.def,i=o.in._zod.traits.has("$ZodTransform"),a=t.io==="input"?i?o.out:o.in:o.out;qe(a,t,s);const l=t.seen.get(e);l.ref=a},hv=(e,t,n,s)=>{const o=e._zod.def;qe(o.innerType,t,s);const i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},Ip=(e,t,n,s)=>{const o=e._zod.def;qe(o.innerType,t,s);const i=t.seen.get(e);i.ref=o.innerType},xv=(e,t,n,s)=>{const o=e._zod.innerType;qe(o,t,s);const i=t.seen.get(e);i.ref=o},gv=O("ZodISODateTime",(e,t)=>{f1.init(e,t),De.init(e,t)});function bv(e){return wb(gv,e)}const vv=O("ZodISODate",(e,t)=>{m1.init(e,t),De.init(e,t)});function yv(e){return jb(vv,e)}const wv=O("ZodISOTime",(e,t)=>{h1.init(e,t),De.init(e,t)});function jv(e){return kb(wv,e)}const kv=O("ZodISODuration",(e,t)=>{x1.init(e,t),De.init(e,t)});function Sv(e){return Sb(kv,e)}const _v=(e,t)=>{fp.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>rg(e,n)},flatten:{value:n=>sg(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Sa,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Sa,2)}},isEmpty:{get(){return e.issues.length===0}}})},jt=O("ZodError",_v,{Parent:Error}),Nv=vl(jt),Cv=yl(jt),Tv=Jo(jt),Ev=Yo(jt),Rv=ag(jt),Mv=lg(jt),Av=cg(jt),Iv=ug(jt),Pv=dg(jt),Ov=pg(jt),zv=fg(jt),Lv=mg(jt),Xc=new WeakMap;function hr(e,t,n){const s=Object.getPrototypeOf(e);let o=Xc.get(s);if(o||(o=new Set,Xc.set(s,o)),!o.has(t)){o.add(t);for(const i in n){const a=n[i];Object.defineProperty(s,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:vo(e,"input"),output:vo(e,"output")}}),e.toJSONSchema=Wb(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,s)=>Nv(e,n,s,{callee:e.parse}),e.safeParse=(n,s)=>Tv(e,n,s),e.parseAsync=async(n,s)=>Cv(e,n,s,{callee:e.parseAsync}),e.safeParseAsync=async(n,s)=>Ev(e,n,s),e.spa=e.safeParseAsync,e.encode=(n,s)=>Rv(e,n,s),e.decode=(n,s)=>Mv(e,n,s),e.encodeAsync=async(n,s)=>Av(e,n,s),e.decodeAsync=async(n,s)=>Iv(e,n,s),e.safeEncode=(n,s)=>Pv(e,n,s),e.safeDecode=(n,s)=>Ov(e,n,s),e.safeEncodeAsync=async(n,s)=>zv(e,n,s),e.safeDecodeAsync=async(n,s)=>Lv(e,n,s),hr(e,"ZodType",{check(...n){const s=this.def;return this.clone(Nn(s,{checks:[...s.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,s){return Cn(this,n,s)},brand(){return this},register(n,s){return n.add(this,s),this},refine(n,s){return this.check(A2(n,s))},superRefine(n,s){return this.check(I2(n,s))},overwrite(n){return this.check(Ps(n))},optional(){return nu(this)},exactOptional(){return g2(this)},nullable(){return su(this)},nullish(){return nu(su(this))},nonoptional(n){return k2(this,n)},array(){return W(this)},or(n){return Pt([this,n])},and(n){return p2(this,n)},transform(n){return ru(this,h2(n))},default(n){return y2(this,n)},prefault(n){return j2(this,n)},catch(n){return _2(this,n)},pipe(n){return ru(this,n)},readonly(){return T2(this)},describe(n){const s=this.clone();return Ks.add(s,{description:n}),s},meta(...n){if(n.length===0)return Ks.get(this);const s=this.clone();return Ks.add(s,n[0]),s},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return Ks.get(e)?.description},configurable:!0}),e)),Pp=O("_ZodString",(e,t)=>{wl.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(s,o,i)=>Kb(e,s,o);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,hr(e,"_ZodString",{regex(...s){return this.check(Mb(...s))},includes(...s){return this.check(Pb(...s))},startsWith(...s){return this.check(Ob(...s))},endsWith(...s){return this.check(zb(...s))},min(...s){return this.check(bo(...s))},max(...s){return this.check(Tp(...s))},length(...s){return this.check(Ep(...s))},nonempty(...s){return this.check(bo(1,...s))},lowercase(s){return this.check(Ab(s))},uppercase(s){return this.check(Ib(s))},trim(){return this.check($b())},normalize(...s){return this.check(Lb(...s))},toLowerCase(){return this.check(Db())},toUpperCase(){return this.check(Fb())},slugify(){return this.check(Ub())}})}),$v=O("ZodString",(e,t)=>{wl.init(e,t),Pp.init(e,t),e.email=n=>e.check(eb(Dv,n)),e.url=n=>e.check(ob(Fv,n)),e.jwt=n=>e.check(yb(t2,n)),e.emoji=n=>e.check(ib(Uv,n)),e.guid=n=>e.check(Kc(Qc,n)),e.uuid=n=>e.check(tb(Mr,n)),e.uuidv4=n=>e.check(nb(Mr,n)),e.uuidv6=n=>e.check(sb(Mr,n)),e.uuidv7=n=>e.check(rb(Mr,n)),e.nanoid=n=>e.check(ab(Bv,n)),e.guid=n=>e.check(Kc(Qc,n)),e.cuid=n=>e.check(lb(qv,n)),e.cuid2=n=>e.check(cb(Hv,n)),e.ulid=n=>e.check(ub(Vv,n)),e.base64=n=>e.check(gb(Xv,n)),e.base64url=n=>e.check(bb(Qv,n)),e.xid=n=>e.check(db(Wv,n)),e.ksuid=n=>e.check(pb(Zv,n)),e.ipv4=n=>e.check(fb(Kv,n)),e.ipv6=n=>e.check(mb(Gv,n)),e.cidrv4=n=>e.check(hb(Jv,n)),e.cidrv6=n=>e.check(xb(Yv,n)),e.e164=n=>e.check(vb(e2,n)),e.datetime=n=>e.check(bv(n)),e.date=n=>e.check(yv(n)),e.time=n=>e.check(jv(n)),e.duration=n=>e.check(Sv(n))});function g(e){return Q1($v,e)}const De=O("ZodStringFormat",(e,t)=>{$e.init(e,t),Pp.init(e,t)}),Dv=O("ZodEmail",(e,t)=>{r1.init(e,t),De.init(e,t)}),Qc=O("ZodGUID",(e,t)=>{n1.init(e,t),De.init(e,t)}),Mr=O("ZodUUID",(e,t)=>{s1.init(e,t),De.init(e,t)}),Fv=O("ZodURL",(e,t)=>{o1.init(e,t),De.init(e,t)}),Uv=O("ZodEmoji",(e,t)=>{i1.init(e,t),De.init(e,t)}),Bv=O("ZodNanoID",(e,t)=>{a1.init(e,t),De.init(e,t)}),qv=O("ZodCUID",(e,t)=>{l1.init(e,t),De.init(e,t)}),Hv=O("ZodCUID2",(e,t)=>{c1.init(e,t),De.init(e,t)}),Vv=O("ZodULID",(e,t)=>{u1.init(e,t),De.init(e,t)}),Wv=O("ZodXID",(e,t)=>{d1.init(e,t),De.init(e,t)}),Zv=O("ZodKSUID",(e,t)=>{p1.init(e,t),De.init(e,t)}),Kv=O("ZodIPv4",(e,t)=>{g1.init(e,t),De.init(e,t)}),Gv=O("ZodIPv6",(e,t)=>{b1.init(e,t),De.init(e,t)}),Jv=O("ZodCIDRv4",(e,t)=>{v1.init(e,t),De.init(e,t)}),Yv=O("ZodCIDRv6",(e,t)=>{y1.init(e,t),De.init(e,t)}),Xv=O("ZodBase64",(e,t)=>{w1.init(e,t),De.init(e,t)}),Qv=O("ZodBase64URL",(e,t)=>{k1.init(e,t),De.init(e,t)}),e2=O("ZodE164",(e,t)=>{S1.init(e,t),De.init(e,t)}),t2=O("ZodJWT",(e,t)=>{N1.init(e,t),De.init(e,t)}),Op=O("ZodNumber",(e,t)=>{kp.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(s,o,i)=>Gb(e,s,o),hr(e,"ZodNumber",{gt(s,o){return this.check(Jc(s,o))},gte(s,o){return this.check(zi(s,o))},min(s,o){return this.check(zi(s,o))},lt(s,o){return this.check(Gc(s,o))},lte(s,o){return this.check(Oi(s,o))},max(s,o){return this.check(Oi(s,o))},int(s){return this.check(eu(s))},safe(s){return this.check(eu(s))},positive(s){return this.check(Jc(0,s))},nonnegative(s){return this.check(zi(0,s))},negative(s){return this.check(Gc(0,s))},nonpositive(s){return this.check(Oi(0,s))},multipleOf(s,o){return this.check(Yc(s,o))},step(s,o){return this.check(Yc(s,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 _b(Op,e)}const n2=O("ZodNumberFormat",(e,t)=>{C1.init(e,t),Op.init(e,t)});function eu(e){return Nb(n2,e)}const s2=O("ZodBoolean",(e,t)=>{T1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>Jb(e,n,s)});function Ee(e){return Cb(s2,e)}const r2=O("ZodNull",(e,t)=>{E1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>Yb(e,n,s)});function yo(e){return Tb(r2,e)}const o2=O("ZodUnknown",(e,t)=>{R1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>Qb()});function Bn(){return Eb(o2)}const i2=O("ZodNever",(e,t)=>{M1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>Xb(e,n,s)});function a2(e){return Rb(i2,e)}const l2=O("ZodArray",(e,t)=>{A1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>rv(e,n,s,o),e.element=t.element,hr(e,"ZodArray",{min(n,s){return this.check(bo(n,s))},nonempty(n){return this.check(bo(1,n))},max(n,s){return this.check(Tp(n,s))},length(n,s){return this.check(Ep(n,s))},unwrap(){return this.element}})});function W(e,t){return Bb(l2,e,t)}const c2=O("ZodObject",(e,t)=>{P1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>ov(e,n,s,o),Te(e,"shape",()=>t.shape),hr(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:a2()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return Yx(this,n)},safeExtend(n){return Xx(this,n)},merge(n){return Qx(this,n)},pick(n){return Gx(this,n)},omit(n){return Jx(this,n)},partial(...n){return eg(Lp,this,n[0])},required(...n){return tg($p,this,n[0])}})});function E(e,t){const n={type:"object",shape:e??{},...oe(t)};return new c2(n)}const zp=O("ZodUnion",(e,t)=>{Np.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>iv(e,n,s,o),e.options=t.options});function Pt(e,t){return new zp({type:"union",options:e,...oe(t)})}const u2=O("ZodDiscriminatedUnion",(e,t)=>{zp.init(e,t),O1.init(e,t)});function Tn(e,t,n){return new u2({type:"union",options:t,discriminator:e,...oe(n)})}const d2=O("ZodIntersection",(e,t)=>{z1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>av(e,n,s,o)});function p2(e,t){return new d2({type:"intersection",left:e,right:t})}const tu=O("ZodRecord",(e,t)=>{L1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>lv(e,n,s,o),e.keyType=t.keyType,e.valueType=t.valueType});function He(e,t,n){return!t||!t._zod?new tu({type:"record",keyType:g(),valueType:e,...oe(t)}):new tu({type:"record",keyType:e,valueType:t,...oe(n)})}const Na=O("ZodEnum",(e,t)=>{$1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(s,o,i)=>ev(e,s,o),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(s,o)=>{const i={};for(const a of s)if(n.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Na({...t,checks:[],...oe(o),entries:i})},e.exclude=(s,o)=>{const i={...t.entries};for(const a of s)if(n.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new Na({...t,checks:[],...oe(o),entries:i})}});function fe(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(s=>[s,s])):e;return new Na({type:"enum",entries:n,...oe(t)})}const f2=O("ZodLiteral",(e,t)=>{D1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>tv(e,n,s),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 f2({type:"literal",values:Array.isArray(e)?e:[e],...oe(t)})}const m2=O("ZodTransform",(e,t)=>{F1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>sv(e,n),e._zod.parse=(n,s)=>{if(s.direction==="backward")throw new lp(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(sr(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(sr(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 h2(e){return new m2({type:"transform",transform:e})}const Lp=O("ZodOptional",(e,t)=>{Cp.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>Ip(e,n,s,o),e.unwrap=()=>e._zod.def.innerType});function nu(e){return new Lp({type:"optional",innerType:e})}const x2=O("ZodExactOptional",(e,t)=>{U1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>Ip(e,n,s,o),e.unwrap=()=>e._zod.def.innerType});function g2(e){return new x2({type:"optional",innerType:e})}const b2=O("ZodNullable",(e,t)=>{B1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>cv(e,n,s,o),e.unwrap=()=>e._zod.def.innerType});function su(e){return new b2({type:"nullable",innerType:e})}const v2=O("ZodDefault",(e,t)=>{q1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>dv(e,n,s,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function y2(e,t){return new v2({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():dp(t)}})}const w2=O("ZodPrefault",(e,t)=>{H1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>pv(e,n,s,o),e.unwrap=()=>e._zod.def.innerType});function j2(e,t){return new w2({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():dp(t)}})}const $p=O("ZodNonOptional",(e,t)=>{V1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>uv(e,n,s,o),e.unwrap=()=>e._zod.def.innerType});function k2(e,t){return new $p({type:"nonoptional",innerType:e,...oe(t)})}const S2=O("ZodCatch",(e,t)=>{W1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>fv(e,n,s,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function _2(e,t){return new S2({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const N2=O("ZodPipe",(e,t)=>{Z1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>mv(e,n,s,o),e.in=t.in,e.out=t.out});function ru(e,t){return new N2({type:"pipe",in:e,out:t})}const C2=O("ZodReadonly",(e,t)=>{K1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>hv(e,n,s,o),e.unwrap=()=>e._zod.def.innerType});function T2(e){return new C2({type:"readonly",innerType:e})}const E2=O("ZodLazy",(e,t)=>{G1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>xv(e,n,s,o),e.unwrap=()=>e._zod.def.getter()});function R2(e){return new E2({type:"lazy",getter:e})}const M2=O("ZodCustom",(e,t)=>{J1.init(e,t),Le.init(e,t),e._zod.processJSONSchema=(n,s,o)=>nv(e,n)});function A2(e,t={}){return qb(M2,e,t)}function I2(e,t){return Hb(e,t)}const Xe=R2(()=>Pt([g(),R(),Ee(),yo(),W(Xe),He(g(),Xe)]));function Dp(e){return e===void 0||typeof e=="bigint"||typeof e=="function"?null:e}const Fp=E({index:R(),timestamp:R(),type:g(),data:Xe}),P2=E({chunks:W(Fp),truncated:Ee().optional().default(!1)}),O2=fe(["request","response"]),z2=E({logId:R().int().positive(),part:O2,text:g(),offset:R().int().nonnegative(),limit:R().int().positive(),totalBytes:R().int().nonnegative(),textBytes:R().int().nonnegative(),nextOffset:R().int().nonnegative().nullable(),hasMore:Ee(),contentMode:fe(["empty","partial","full"])}),rr=E({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:Ee(),userAgent:g().nullable(),origin:g().nullable(),rawHeaders:He(g(),g()).optional(),headers:He(g(),g()).optional(),apiFormat:fe(["anthropic","openai","unknown"]).default("unknown"),isTest:Ee().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:P2.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()}),jl=E({type:g(),ttl:g().optional(),scope:g().optional()}),kl=E({type:ae("text"),text:g(),cache_control:jl.optional()}),Up=E({type:ae("thinking"),thinking:g(),signature:g().optional()}),L2=E({type:ae("think"),thinking:g(),signature:g().optional()}),$2=E({type:ae("base64"),media_type:g(),data:g()}),Bp=E({type:ae("image"),source:$2}),qp=E({type:ae("tool_use"),id:g(),name:g(),input:He(g(),Xe)}),D2=Tn("type",[kl,Bp]),F2=E({type:ae("tool_result"),tool_use_id:g().optional(),content:Pt([g(),W(D2)]),is_error:Ee().optional()}),U2=Tn("type",[kl,Up,Bp,qp,F2]),B2=Pt([g(),W(U2)]),q2=E({role:fe(["user","assistant"]),content:B2}),H2=E({type:ae("text"),text:g(),cache_control:jl.optional()}),V2=E({type:g(),properties:He(g(),He(g(),Xe)).optional(),required:W(g()).optional(),additionalProperties:Ee().optional(),$schema:g().optional()}),W2=E({name:g(),description:g().optional(),input_schema:V2.optional(),cache_control:jl.optional()}),Z2=Tn("type",[E({type:ae("enabled"),budget_tokens:R()}),E({type:ae("disabled")}),E({type:ae("adaptive")})]),Hp=E({model:g(),messages:W(q2),system:W(H2).optional(),tools:W(W2).optional(),max_tokens:R().optional(),temperature:R().optional(),stream:Ee().optional(),thinking:Z2.optional(),metadata:E({user_id:g().optional()}).optional()}),Sl=Tn("type",[kl,Up,L2,qp]),K2=E({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(),Vp=E({id:g(),type:ae("message"),model:g(),role:ae("assistant"),content:W(Sl),stop_reason:g().nullable(),stop_sequence:g().nullable().optional(),usage:K2}).passthrough(),G2=E({type:ae("message_start"),message:E({id:g(),type:ae("message"),model:g(),role:ae("assistant"),content:W(Sl),stop_reason:yo(),stop_sequence:yo(),usage:E({input_tokens:R(),cache_creation_input_tokens:R().optional(),cache_read_input_tokens:R().optional()}).passthrough()})}),J2=E({type:ae("content_block_start"),index:R(),content_block:Sl}),Y2=Tn("type",[E({type:ae("text_delta"),text:g()}),E({type:ae("input_json_delta"),partial_json:g()}),E({type:ae("thinking_delta"),thinking:g()}),E({type:ae("signature_delta"),signature:g()})]),X2=E({type:ae("content_block_delta"),index:R(),delta:Y2}),Q2=E({type:ae("content_block_stop"),index:R()}),ey=E({type:ae("message_delta"),delta:E({stop_reason:g().nullable(),stop_sequence:g().nullable().optional()}),usage:E({output_tokens:R(),input_tokens:R().optional(),cache_creation_input_tokens:R().optional(),cache_read_input_tokens:R().optional()}).passthrough()}),ty=E({type:ae("message_stop")}),ny=E({type:ae("ping")}),sy=E({type:ae("error"),error:E({type:g(),message:g()})}),ry=Tn("type",[G2,J2,X2,Q2,ey,ty,ny,sy]),oy=Pt([g(),W(Tn("type",[E({type:ae("text"),text:g()}),E({type:ae("image_url"),image_url:E({url:g(),detail:g().optional()})})]))]),Wp=E({role:fe(["system","user","assistant","tool"]),content:oy,name:g().optional(),reasoning_content:g().optional(),thinking:g().optional(),think:g().optional()}),iy=E({name:g(),arguments:g()}),Zp=E({index:R().optional(),id:g().optional(),type:ae("function").optional(),function:E({name:g().optional(),arguments:g().optional()})});Wp.extend({content:Pt([g(),W(E({type:ae("text"),text:g()}))]).optional(),function_call:iy.optional(),tool_calls:W(Zp).optional()});const ay=E({type:ae("function"),function:E({name:g(),description:g().optional(),parameters:He(g(),Xe)})}),Kp=E({model:g(),messages:W(Wp),temperature:R().optional(),max_tokens:R().optional(),stream:Ee().optional(),tools:W(ay).optional(),tool_choice:Pt([fe(["auto","none","required"]),E({type:ae("auto")}),E({type:ae("none")}),E({type:ae("function"),function:E({name:g()})})]).optional(),user:g().optional()}),ly=E({type:g(),name:g().optional(),description:g().optional(),parameters:Xe.optional(),function:E({name:g().optional(),description:g().optional(),parameters:Xe.optional()}).optional()}).passthrough(),Gp=E({model:g(),input:Bn().optional(),instructions:Pt([g(),yo()]).optional(),stream:Ee().optional(),tools:W(ly).optional(),tool_choice:Bn().optional(),max_output_tokens:R().optional(),temperature:R().optional(),user:g().optional(),metadata:He(g(),Bn()).optional()}).passthrough(),Jp=E({role:fe(["assistant"]).optional(),content:g().nullable().optional(),reasoning_content:g().nullable().optional(),thinking:g().nullable().optional(),think:g().nullable().optional(),function_call:E({name:g().optional(),arguments:g().optional()}).nullable().optional(),tool_calls:W(E({index:R(),id:g().optional(),type:ae("function").optional(),function:E({name:g().optional(),arguments:g().optional()})})).nullable().optional()}),cy=E({index:R(),message:E({role:fe(["assistant"]),content:g().nullable(),reasoning_content:g().optional(),thinking:g().optional(),think:g().optional(),function_call:E({name:g(),arguments:g()}).nullable().optional(),tool_calls:W(Zp).optional()}).optional(),delta:Jp.optional(),finish_reason:g().nullable()}),uy=E({id:g(),object:ae("chat.completion"),created:R(),model:g(),choices:W(cy),usage:E({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(),dy=E({id:g(),object:ae("chat.completion.chunk"),created:R(),model:g(),choices:W(E({index:R(),delta:Jp,finish_reason:g().nullable().optional()})),usage:E({prompt_tokens:R().nullable().optional(),completion_tokens:R().nullable().optional(),total_tokens:R().nullable().optional()}).passthrough().nullable().optional()}).passthrough(),py=E({input_tokens:R().nullable().optional(),output_tokens:R().nullable().optional(),total_tokens:R().nullable().optional(),input_tokens_details:E({cached_tokens:R().nullable().optional()}).passthrough().nullable().optional(),output_tokens_details:E({reasoning_tokens:R().nullable().optional()}).passthrough().nullable().optional()}).passthrough(),fy=E({type:g()}).passthrough(),wo=E({id:g(),object:ae("response").optional(),created_at:R().optional(),status:g().nullable().optional(),model:g().optional(),output:W(fy).optional(),output_text:g().optional(),usage:py.nullable().optional(),error:Bn().optional()}).passthrough(),my=E({type:g()}).passthrough();function Yp(e){try{const t=JSON.parse(e),n=uy.safeParse(t);return n.success?n.data:null}catch{return null}}function Xp(e){try{const t=JSON.parse(e),n=wo.safeParse(t);return n.success?n.data:null}catch{return null}}const hy=E({error:g()}),xy=new Set(["POST","PUT","PATCH","DELETE"]);function Qp(e){const t=e?.method?.toUpperCase();if(t===void 0||!xy.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 _l(e,t){const n=await e.json();return t.parse(n)}async function Nl(e,t){try{const n=await e.json(),s=hy.safeParse(n);return s.success?s.data.error:t}catch{return t}}async function nt(e,t,n,s){const o=await fetch(e,Qp(n));if(!o.ok){const i=s?.(o)??`Request failed with status ${o.status}`;throw new Error(await Nl(o,i))}return _l(o,t)}function gy(e){return e<1e3?`${String(e)}ms`:`${String(Math.round(e/1e3))}s`}class Qo extends Error{constructor(t){super(`Request timed out after ${gy(t)}`),this.name="ApiTimeoutError"}}async function qn(e,t,n){const s=new AbortController;let o=!1;const i=setTimeout(()=>{o=!0,s.abort()},t),a=n?.signal??void 0,l=()=>s.abort();a!==void 0&&(a.aborted?s.abort():a.addEventListener("abort",l,{once:!0}));try{return await fetch(e,{...Qp(n),signal:s.signal})}catch(u){throw o&&u instanceof DOMException&&u.name==="AbortError"?new Qo(t):u}finally{clearTimeout(i),a?.removeEventListener("abort",l)}}async function Be(e,t,n,s,o){const i=await qn(e,n,s);if(!i.ok){const a=o?.(i)??`Request failed with status ${i.status}`;throw new Error(await Nl(i,a))}return _l(i,t)}const ef=E({input:R().int().nonnegative(),output:R().int().nonnegative(),cacheCreate:R().int().nonnegative(),cacheRead:R().int().nonnegative(),total:R().int().nonnegative()}),by=E({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:Ee(),hasError:Ee(),error:g().nullable(),latencyMs:R().nullable(),firstChunkMs:R().nullable().optional(),totalStreamMs:R().nullable().optional(),tokensPerSecond:R().nullable().optional(),tokens:E({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()}),tf=E({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:ef,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(by)}),xr=fe(["created","running","completed","failed","cancelled"]),Cl=E({jsonPath:g(),markdownPath:g(),htmlPath:g(),exportedAt:g()}),vy=fe(["run-created","session-started","request","session-finished","evidence-exported"]),yy=fe(["info","success","warning","error"]),wy=E({timestamp:g(),kind:vy,severity:yy,title:g(),details:g(),logId:R().int().positive().nullable(),status:R().nullable(),model:g().nullable(),provider:g().nullable(),latencyMs:R().nullable(),isStreaming:Ee().nullable()}),jy=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"]),nf=E({outcome:fe(["success","failure","active","unknown"]),severity:fe(["none","low","medium","high"]),category:jy,summary:g(),evidenceLogIds:W(R().int().positive()),hints:W(g())}),Tl=E({status:fe(["PASS","FAIL","RUNNING","UNKNOWN"]),summary:g(),markdown:g()}),sf=Tl,El=E({id:g(),sessionId:g(),groupId:g().nullable().default(null),title:g(),task:g().nullable(),project:g().nullable(),agent:g().nullable(),status:xr,tags:W(g()),metadata:He(g(),Xe),evidence:Cl.nullable(),createdAt:g(),updatedAt:g()});E({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:xr.optional(),tags:W(g()).optional(),metadata:He(g(),Xe).optional()}).optional();E({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:xr.optional(),tags:W(g()).optional(),metadata:He(g(),Xe).optional()});E({includeHistory:Ee().optional(),latestLogLimit:R().int().positive().max(50).optional()}).optional();E({run:El,evidence:Cl,session:tf.nullable(),timeline:W(wy),classification:nf,jenkinsReport:Tl});const ky=E({run:El,classification:nf,evidence:Cl.nullable(),jenkinsReport:Tl.nullable(),sessionId:g(),inspectorUrl:g().nullable(),evidenceMarkdownPath:g().nullable(),updatedAt:g()});E({failures:W(ky),total:R().int().nonnegative(),limit:R().int().positive()});const Rl=fe(["created","running","completed","failed","cancelled"]),Ml=fe(["evaluation","batch","manual"]),Al=E({jsonPath:g(),markdownPath:g(),htmlPath:g(),exportedAt:g()}),rf=E({id:g(),groupId:g(),sessionId:g(),runId:g().nullable(),label:g().nullable(),agent:g().nullable(),provider:g().nullable(),model:g().nullable(),status:xr.nullable(),metadata:He(g(),Xe),addedAt:g(),updatedAt:g()}),Il=E({id:g(),title:g(),kind:Ml,task:g().nullable(),project:g().nullable(),status:Rl,tags:W(g()),metadata:He(g(),Xe),evidence:Al.nullable(),members:W(rf),createdAt:g(),updatedAt:g()});E({groupId:g().min(1).optional(),title:g().min(1).optional(),kind:Ml.optional(),task:g().nullable().optional(),project:g().nullable().optional(),status:Rl.optional(),tags:W(g()).optional(),metadata:He(g(),Xe).optional()}).optional();E({title:g().min(1).optional(),kind:Ml.optional(),task:g().nullable().optional(),project:g().nullable().optional(),status:Rl.optional(),tags:W(g()).optional(),metadata:He(g(),Xe).optional()});E({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:xr.nullable().optional(),metadata:He(g(),Xe).optional()});E({includeHistory:Ee().optional(),latestLogLimit:R().int().positive().max(50).optional()}).optional();E({deleteEvidence:Ee().optional()});const of=E({groupId:g(),deleted:Ee(),evidenceDeleted:Ee(),evidencePath:g().nullable()}),af=E({deleted:R().int().nonnegative(),groups:W(of)}),lf=E({member:rf,run:El.nullable(),session:tf.nullable()}),cf=E({memberCount:R().int().nonnegative(),sessionsWithData:R().int().nonnegative(),missingSessions:R().int().nonnegative(),requestCount:R().int().nonnegative(),errorCount:R().int().nonnegative(),tokenUsage:ef,models:W(g()),providers:W(g()),completedMembers:R().int().nonnegative(),failedMembers:R().int().nonnegative(),runningMembers:R().int().nonnegative()}),Sy=E({group:Il,evidence:Al,members:W(lf).nullable(),markdown:g(),summary:cf.nullable(),report:sf.nullable()}),_y=E({group:Il,evidence:Al,members:W(lf),summary:cf,jenkinsReport:sf}),uf=E({groups:W(Il)}),Ny=E({sessionId:g(),imported:R().int().nonnegative(),skipped:R().int().nonnegative(),warnings:W(g()),logs:W(rr)}),jo=10,Ca=600,ko=60,Ta=600,So="time",Pl="simple",df=fe(["time","full"]),Cy=fe(["simple","full"]),ei=E({stripClaudeCodeBillingHeader:Ee(),hasSeenOnboarding:Ee().default(!1),slowResponseThresholdSeconds:R().int().min(0).max(Ca).default(jo),providerTestTimeoutSeconds:R().int().min(1).max(Ta).default(ko),timeDisplayFormat:df.default(So),captureMode:Cy.default(Pl)}),ps="/api/config";async function Ty(e){return nt(e,ei,void 0,t=>`Failed to fetch ${e}: ${t.status}`)}async function Ar(e){return nt(ps,ei,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(e)},t=>`PATCH failed with status ${t.status}`)}function Ol(){const e=qt(ps,Ty,{revalidateOnFocus:!1,revalidateIfStale:!1}),{mutate:t}=np(),n=e.data?.stripClaudeCodeBillingHeader??!1,s=e.data?.captureMode??Pl,o=e.data?.slowResponseThresholdSeconds??jo,i=e.data?.providerTestTimeoutSeconds??ko,a=e.data?.timeDisplayFormat??So,l=m=>({stripClaudeCodeBillingHeader:e.data?.stripClaudeCodeBillingHeader??!1,hasSeenOnboarding:e.data?.hasSeenOnboarding??!1,slowResponseThresholdSeconds:e.data?.slowResponseThresholdSeconds??jo,providerTestTimeoutSeconds:e.data?.providerTestTimeoutSeconds??ko,timeDisplayFormat:e.data?.timeDisplayFormat??So,captureMode:s,...m}),u=async m=>{await t(ps,Ar({stripClaudeCodeBillingHeader:m}),{optimisticData:l({stripClaudeCodeBillingHeader:m}),rollbackOnError:!0,revalidate:!1})},d=async m=>{await t(ps,Ar({slowResponseThresholdSeconds:m}),{optimisticData:l({slowResponseThresholdSeconds:m}),rollbackOnError:!0,revalidate:!1})},p=async m=>{await t(ps,Ar({timeDisplayFormat:m}),{optimisticData:l({timeDisplayFormat:m}),rollbackOnError:!0,revalidate:!1})},f=async m=>{await t(ps,Ar({providerTestTimeoutSeconds:m}),{optimisticData:l({providerTestTimeoutSeconds:m}),rollbackOnError:!0,revalidate:!1})};return{strip:n,captureMode:s,slowResponseThresholdSeconds:o,providerTestTimeoutSeconds:i,timeDisplayFormat:a,isLoading:e.isLoading,isError:e.error!==void 0,setStrip:u,setSlowResponseThresholdSeconds:d,setProviderTestTimeoutSeconds:f,setTimeDisplayFormat:p}}const pf=(...e)=>e.filter((t,n,s)=>!!t&&t.trim()!==""&&s.indexOf(t)===n).join(" ").trim();const Ey=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Ry=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,s)=>s?s.toUpperCase():n.toLowerCase());const ou=e=>{const t=Ry(e);return t.charAt(0).toUpperCase()+t.slice(1)};var My={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 Ay=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};const Iy=c.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:s,className:o="",children:i,iconNode:a,...l},u)=>c.createElement("svg",{ref:u,...My,width:t,height:t,stroke:e,strokeWidth:s?Number(n)*24/Number(t):n,className:pf("lucide",o),...!i&&!Ay(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:s,...o},i)=>c.createElement(Iy,{ref:i,iconNode:t,className:pf(`lucide-${Ey(ou(e))}`,`lucide-${e}`,s),...o}));return n.displayName=ou(e),n};const Py=[["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"}]],Oy=B("a-large-small",Py);const zy=[["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"}]],Ly=B("activity",zy);const $y=[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]],Dy=B("arrow-down-right",$y);const Fy=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Uy=B("arrow-down",Fy);const By=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],qy=B("arrow-left",By);const Hy=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],Vy=B("arrow-up-right",Hy);const Wy=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Zy=B("arrow-up",Wy);const Ky=[["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"}]],zl=B("beaker",Ky);const Gy=[["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"}]],Jy=B("bell",Gy);const Yy=[["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"}]],Xy=B("blocks",Yy);const Qy=[["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"}]],ew=B("brain-circuit",Qy);const tw=[["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"}]],ff=B("brain",tw);const nw=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ze=B("check",nw);const sw=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Qe=B("chevron-down",sw);const rw=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],ow=B("chevron-left",rw);const iw=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],bt=B("chevron-right",iw);const aw=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Ll=B("chevron-up",aw);const lw=[["path",{d:"m7 6 5 5 5-5",key:"1lc07p"}],["path",{d:"m7 13 5 5 5-5",key:"1d48rs"}]],cw=B("chevrons-down",lw);const uw=[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]],dw=B("chevrons-left",uw);const pw=[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]],fw=B("chevrons-right",pw);const mw=[["path",{d:"m17 11-5-5-5 5",key:"e8nh98"}],["path",{d:"m17 18-5-5-5 5",key:"2avn1x"}]],hw=B("chevrons-up",mw);const xw=[["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"}]],_s=B("circle-alert",xw);const gw=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],gr=B("circle-check-big",gw);const bw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Ea=B("circle-check",bw);const vw=[["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"}]],yw=B("circle-question-mark",vw);const ww=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],jw=B("circle-stop",ww);const kw=[["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"}]],mf=B("circle-x",kw);const Sw=[["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"}]],_w=B("clapperboard",Sw);const Nw=[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Cw=B("clock-3",Nw);const Tw=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],rn=B("clock",Tw);const Ew=[["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"}]],Rw=B("cloud-upload",Ew);const Mw=[["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"}]],hf=B("code-xml",Mw);const Aw=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],Iw=B("columns-2",Aw);const Pw=[["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"}]],Ot=B("copy",Pw);const Ow=[["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"}]],zw=B("cpu",Ow);const Lw=[["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"}]],br=B("download",Lw);const $w=[["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"}]],Dw=B("ellipsis",$w);const Fw=[["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"}]],$l=B("external-link",Fw);const Uw=[["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"}]],Bw=B("eye-off",Uw);const qw=[["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"}]],xf=B("eye",qw);const Hw=[["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"}]],Vw=B("file-braces",Hw);const Ww=[["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"}]],Zw=B("file-diff",Ww);const Kw=[["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"}]],Gw=B("file-search",Kw);const Jw=[["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"}]],Yw=B("file-terminal",Jw);const Xw=[["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"}]],Qw=B("file-text",Xw);const ej=[["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"}]],tj=B("flag",ej);const nj=[["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"}]],gf=B("flask-conical",nj);const sj=[["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"}]],rj=B("folder-open",sj);const oj=[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]],Dl=B("gauge",oj);const ij=[["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"}]],aj=B("git-compare-arrows",ij);const lj=[["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"}]],bf=B("globe",lj);const cj=[["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"}]],vf=B("history",cj);const uj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],dj=B("info",uj);const pj=[["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"}]],iu=B("layers",pj);const fj=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Fe=B("loader-circle",fj);const mj=[["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"}]],hj=B("lock",mj);const xj=[["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"}]],gj=B("maximize-2",xj);const bj=[["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"}]],ti=B("message-square",bj);const vj=[["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"}]],yj=B("minimize-2",vj);const wj=[["path",{d:"M5 12h14",key:"1ays0h"}]],yf=B("minus",wj);const jj=[["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"}]],kj=B("monitor",jj);const Sj=[["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"}]],_j=B("moon",Sj);const Nj=[["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"}]],Cj=B("mouse-pointer-click",Nj);const Tj=[["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"}]],Ej=B("network",Tj);const Rj=[["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"}]],Mj=B("octagon-alert",Rj);const Aj=[["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"}]],Ij=B("package-check",Aj);const Pj=[["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"}]],Oj=B("panel-right-close",Pj);const zj=[["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"}]],Lj=B("panel-right-open",zj);const $j=[["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"}]],wf=B("pencil",$j);const Dj=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],au=B("plus",Dj);const Fj=[["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"}]],lu=B("radio",Fj);const Uj=[["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"}]],Ht=B("refresh-cw",Uj);const Bj=[["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"}]],jf=B("rocket",Bj);const qj=[["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"}]],kf=B("rotate-ccw",qj);const Hj=[["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"}]],_o=B("rotate-cw",Hj);const Vj=[["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"}]],Wj=B("rows-3",Vj);const Zj=[["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"}]],Kj=B("save",Zj);const Gj=[["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"}]],Jj=B("scan",Gj);const Yj=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],Sf=B("search",Yj);const Xj=[["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"}]],Qj=B("send",Xj);const ek=[["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"}]],tk=B("server",ek);const nk=[["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"}]],sk=B("settings",nk);const rk=[["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"}]],ok=B("shield-alert",rk);const ik=[["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"}]],cu=B("shield-check",ik);const ak=[["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"}]],Ra=B("siren",ak);const lk=[["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"}]],Ma=B("sparkles",lk);const ck=[["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"}]],uk=B("sun",ck);const dk=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Yn=B("terminal",dk);const pk=[["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"}]],fk=B("timer",pk);const mk=[["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"}]],jn=B("trash-2",mk);const hk=[["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"}]],wn=B("triangle-alert",hk);const xk=[["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"}]],_f=B("upload",xk);const gk=[["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"}]],bk=B("wifi-off",gk);const vk=[["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"}]],yk=B("wifi",vk);const wk=[["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"}]],vr=B("wrench",wk);const jk=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],yr=B("x",jk);const kk=[["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"}]],or=B("zap",kk),Aa="/api/config";async function Sk(e){return nt(e,ei,void 0,t=>`Failed to fetch ${e}: ${t.status}`)}async function _k(e){return nt(Aa,ei,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(e)},t=>`PATCH failed with status ${t.status}`)}function Nk(){const e=qt(Aa,Sk,{revalidateOnFocus:!1,revalidateIfStale:!1}),{mutate:t}=np(),n=e.data?.hasSeenOnboarding??!1,s=e.data?.captureMode??Pl,o=async()=>{await t(Aa,_k({hasSeenOnboarding:!0}),{optimisticData:{stripClaudeCodeBillingHeader:e.data?.stripClaudeCodeBillingHeader??!1,hasSeenOnboarding:!0,slowResponseThresholdSeconds:e.data?.slowResponseThresholdSeconds??jo,providerTestTimeoutSeconds:e.data?.providerTestTimeoutSeconds??ko,timeDisplayFormat:e.data?.timeDisplayFormat??So,captureMode:s},rollbackOnError:!0,revalidate:!1})};return{hasSeenOnboarding:n,captureMode:s,isLoading:e.isLoading,markSeen:o}}function Ck({expanded:e,onToggle:t,onDismiss:n}){const s=e?"grid":"hidden sm:grid";return r.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:r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(dj,{className:"mt-0.5 size-4 shrink-0 text-warning","aria-hidden":"true"}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[r.jsx("span",{className:"font-medium text-foreground",children:"Inspector ready"}),r.jsx("span",{className:"hidden truncate text-xs text-muted-foreground sm:inline",children:"Request, response, tool, timing, token, replay, and memory signals are active."})]}),r.jsx("div",{className:"mt-1 text-xs leading-relaxed text-muted-foreground sm:hidden",children:"Core capture is active."}),r.jsxs("div",{className:`${s} mt-2 gap-x-4 gap-y-1 text-xs leading-relaxed text-muted-foreground sm:grid-cols-2`,children:[r.jsxs("div",{children:[r.jsx("strong",{children:"Evidence"}),": logs, sessions, groups, and MCP exports are available."]}),r.jsxs("div",{children:[r.jsx("strong",{children:"Network"}),": replace ",r.jsx("code",{children:"localhost"})," if containers differ."]})]})]}),r.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:r.jsx(Qe,{className:`size-3.5 transition-transform ${e?"rotate-180":""}`})}),r.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:[r.jsx(Ze,{className:"size-3.5"}),"Got it"]}),r.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:r.jsx(yr,{className:"size-3.5"})})]})})}function Tk(){const{hasSeenOnboarding:e,isLoading:t,markSeen:n}=Nk(),[s,o]=c.useState(!1);return t||e?null:r.jsx(Ck,{expanded:s,onToggle:()=>o(i=>!i),onDismiss:()=>{n()}})}const Ek="3.0.36",Nf={version:Ek};function Gs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Cf="[REDACTED]",Rk=/(^|[-_])(api[-_]?key|authorization|cookie|token|secret|password|access[-_]?token|refresh[-_]?token)([-_]|$)/i,Mk=[/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],uu=200,Ak=25e6,Tf=50,Ik=1e4;function Pk(e){return e<1024?`${e} chars`:e<1024*1024?`${Math.ceil(e/1024)} KB`:`${Math.ceil(e/(1024*1024))} MB`}function Ok(e){let t=0;for(const n of e)t+=n.rawRequestBody?.length??0,t+=n.responseText?.length??0;return t}function zk(e){if(e.length>uu)return`Export is limited to ${uu} logs at once. Narrow the filter and try again.`;const t=Ok(e);return t>Ak?`Export is too large (${Pk(t)} of text). Narrow the filter and try again.`:null}function Ir(e){return e?.aborted===!0?{ok:!1,message:"Export canceled.",canceled:!0}:null}async function Lk(e,t){try{const n=await qn(`/api/logs/${e}/chunks`,Ik,{signal:t});if(!n.ok)return null;const s=await n.json();return JSON.stringify(s,null,2)}catch{return null}}function Ia(e){if(Array.isArray(e))return e.map(n=>Ia(n));if(!Gs(e))return e;const t={};for(const[n,s]of Object.entries(e))t[n]=Rk.test(n)?Cf:Ia(s);return t}function $k(e){const t=n=>{let s=n;for(const o of Mk)s=s.replace(o,Cf);return s};try{const n=JSON.parse(e);return t(JSON.stringify(Ia(n),null,2))}catch{return t(e)}}function Li(e,t){return t==="redacted"?$k(e):e}function Dk(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 Fk(e,t,n,s=new Date().toISOString()){return{version:Nf.version,exportedAt:s,mode:t,redacted:t==="redacted",logCount:e.length,logIds:e.map(o=>o.id),streamingChunkExportLimit:Tf,streamingChunkLogIds:n.map(o=>o.id)}}async function Uk(e,t="redacted",n={}){const s=Ir(n.signal);if(s!==null)return s;const o=zk(e);if(o!==null)return{ok:!1,message:o};const{default:i}=await Jt(async()=>{const{default:h}=await import("./jszip.min-C-avw0w1.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,Tf);a.file("manifest.json",JSON.stringify(Fk(e,t,u),null,2)),a.file("logs.json",JSON.stringify(e.map(h=>Dk(h,t)),null,2));for(const h of e){const x=Ir(n.signal);if(x!==null)return x;h.rawRequestBody!==null&&a.file(`#${h.id}.Request.json`,Li(h.rawRequestBody,t)),h.responseText!==null&&a.file(`#${h.id}.Response.json`,Li(h.responseText,t))}for(const h of u){const x=Ir(n.signal);if(x!==null)return x;const y=await Lk(h.id,n.signal);y!==null&&a.file(`#${h.id}.SSE.Response.json`,Li(y,t))}const d=await a.generateAsync({type:"blob"}),p=Ir(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 Pa(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 ni(e,t,n){return`${Pa(e,n)} - ${Pa(t,n)}`}function Bk(){const[e,t]=c.useState(Ix),n=c.useCallback(s=>{t(s),Ii(s),Px(s)},[]);return c.useEffect(()=>{Ii(e)},[e]),c.useEffect(()=>{function s(o){if(o.key!==Ox)return;const i=zx(o.newValue);t(i),Ii(i)}return window.addEventListener("storage",s),()=>window.removeEventListener("storage",s)},[]),{themeMode:e,setThemeMode:n}}function qk(){const[e,t]=c.useState(Lx),[n,s]=c.useState(1),o=c.useCallback(i=>{t(i),$x(i),s(Pi(i))},[]);return c.useEffect(()=>{const i=()=>{s(Pi(e))};if(i(),e==="auto")return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[e]),c.useEffect(()=>{const i=a=>{if(a.key!==Dx)return;const l=sp(a.newValue);t(l),s(Pi(l))};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)},[]),{uiScalePreference:e,resolvedUiScale:n,setUiScalePreference:o}}const Hn=64,Oa=256,Hk=64,Vk=fe(["invalid-page-request","search-limit-exceeded","provider-model-limit-exceeded","sse-capacity-exceeded","provider-test-capacity-exceeded"]),Wk=Pt([ae(400),ae(413),ae(429),ae(503)]);E({error:g().min(1).max(300),code:Vk,status:Wk,resource:g().min(1).max(80),limit:R().int().positive(),retryable:Ee()});function Pr(){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 Fl=g().max(Oa),Zk=W(Fl).max(Hn),Kk=E({model:Fl.min(1),contextWindow:R().int().positive().optional(),outputLimit:R().int().positive().optional(),source:fe(["manual","registry"]).optional(),sourceUrl:g().optional(),updatedAt:g().optional()}),Gk=W(Kk).max(Hk),Jk=E({id:g(),name:g(),apiKey:g(),model:Fl.optional(),models:Zk.optional().default([]),format:fe(["anthropic","openai"]).optional(),baseUrl:Pr().optional(),anthropicBaseUrl:Pr().optional(),openaiBaseUrl:Pr().optional(),openaiResponsesBaseUrl:Pr().optional(),authHeader:fe(["bearer","x-api-key"]).optional().default("bearer"),apiDocsUrl:g().optional(),modelMetadataUrl:g().optional(),modelMetadata:Gk.optional(),source:fe(["company","personal"]).optional(),createdAt:g(),updatedAt:g()}),Yk="configured",No=Jk.extend({apiKey:ae(Yk)});async function Xk(e){return nt(e,No.array(),void 0,t=>`Failed to fetch ${e}: ${t.status}`)}function Ul(){const e=qt("/api/providers",Xk,{revalidateOnFocus:!1,revalidateIfStale:!1});return{providers:e.data??[],isLoading:e.isLoading,isError:e.error,mutate:e.mutate}}function du(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Qk(...e){return t=>{let n=!1;const s=e.map(o=>{const i=du(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o<s.length;o++){const i=s[o];typeof i=="function"?i():du(e[o],null)}}}}function Re(...e){return c.useCallback(Qk(...e),e)}function Ns(e){const t=c.forwardRef((n,s)=>{let{children:o,...i}=n,a=null,l=!1;const u=[];pu(o)&&typeof Or=="function"&&(o=Or(o._payload)),c.Children.forEach(o,m=>{if(o5(m)){l=!0;const h=m;let x="child"in h.props?h.props.child:h.props.children;pu(x)&&typeof Or=="function"&&(x=Or(x._payload)),a=n5(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?r5(a):void 0,p=Re(s,d);if(!a){if(o||o===0)throw new Error(l?c5(e):l5(e));return o}const f=s5(i,a.props??{});return a.type!==c.Fragment&&(f.ref=s?p:d),c.cloneElement(a,f)});return t.displayName=`${e}.Slot`,t}var e5=Ns("Slot"),Ef=Symbol.for("radix.slottable");function t5(e){const t=n=>"child"in n?n.children(n.child):n.children;return t.displayName=`${e}.Slottable`,t.__radixId=Ef,t}var n5=(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 s5(e,t){const n={...t};for(const s in t){const o=e[s],i=t[s];/^on[A-Z]/.test(s)?o&&i?n[s]=(...l)=>{const u=i(...l);return o(...l),u}:o&&(n[s]=o):s==="style"?n[s]={...o,...i}:s==="className"&&(n[s]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function r5(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 o5(e){return c.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ef}var i5=Symbol.for("react.lazy");function pu(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===i5&&"_payload"in e&&a5(e._payload)}function a5(e){return typeof e=="object"&&e!==null&&"then"in e}var l5=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,c5=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Or=Ko[" use ".trim().toString()],u5=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],xe=u5.reduce((e,t)=>{const n=Ns(`Primitive.${t}`),s=c.forwardRef((o,i)=>{const{asChild:a,...l}=o,u=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),r.jsx(u,{...l,ref:i})});return s.displayName=`Primitive.${t}`,{...e,[t]:s}},{});function d5(e,t){e&&Is.flushSync(()=>e.dispatchEvent(t))}var Rf=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"}),p5="VisuallyHidden",Mf=c.forwardRef((e,t)=>r.jsx(xe.span,{...e,ref:t,style:{...Rf,...e.style}}));Mf.displayName=p5;var f5=Mf;function dn(e,t=[]){let n=[];function s(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,y=m?.[e]?.[u]||l,b=c.useMemo(()=>x,Object.values(x));return r.jsx(y.Provider,{value:b,children:h})};d.displayName=i+"Provider";function p(f,m,h={}){const{optional:x=!1}=h,y=m?.[e]?.[u]||l,b=c.useContext(y);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,[s,m5(o,...t)]}function m5(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const s=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const a=s.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 Af(e){const t=e+"CollectionProvider",[n,s]=dn(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=y=>{const{scope:b,children:w}=y,v=c.useRef(null),j=c.useRef(new Map).current;return r.jsx(o,{scope:b,itemMap:j,collectionRef:v,children:w})};a.displayName=t;const l=e+"CollectionSlot",u=Ns(l),d=c.forwardRef((y,b)=>{const{scope:w,children:v}=y,j=i(l,w),k=Re(b,j.collectionRef);return r.jsx(u,{ref:k,children:v})});d.displayName=l;const p=e+"CollectionItemSlot",f="data-radix-collection-item",m=Ns(p),h=c.forwardRef((y,b)=>{const{scope:w,children:v,...j}=y,k=c.useRef(null),S=Re(b,k),_=i(p,w);return c.useEffect(()=>(_.itemMap.set(k,{ref:k,...j}),()=>{_.itemMap.delete(k)})),r.jsx(m,{[f]:"",ref:S,children:v})});h.displayName=p;function x(y){const b=i(e+"CollectionConsumer",y);return c.useCallback(()=>{const v=b.collectionRef.current;if(!v)return[];const j=Array.from(v.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,s]}function pe(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o||!o.defaultPrevented)return t?.(o)}}var Ke=globalThis?.document?c.useLayoutEffect:()=>{},h5=Ko[" useInsertionEffect ".trim().toString()]||Ke;function Wn({prop:e,defaultProp:t,onChange:n=()=>{},caller:s}){const[o,i,a]=x5({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(`${s} 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,s])}const d=c.useCallback(p=>{if(l){const f=g5(p)?p(e):p;f!==e&&a.current?.(f)}else i(p)},[l,e,i,a]);return[u,d]}function x5({defaultProp:e,onChange:t}){const[n,s]=c.useState(e),o=c.useRef(n),i=c.useRef(t);return h5(()=>{i.current=t},[t]),c.useEffect(()=>{o.current!==n&&(i.current?.(n),o.current=n)},[n,o]),[n,s,i]}function g5(e){return typeof e=="function"}function b5(e,t){return c.useReducer((n,s)=>t[n][s]??n,e)}var vt=e=>{const{present:t,children:n}=e,s=v5(t),o=typeof n=="function"?n({present:s.isPresent}):c.Children.only(n),i=y5(s.ref,w5(o));return typeof n=="function"||s.isPresent?c.cloneElement(o,{ref:i}):null};vt.displayName="Presence";function v5(e){const[t,n]=c.useState(),s=c.useRef(null),o=c.useRef(e),i=c.useRef("none"),a=c.useRef(void 0),l=e?"mounted":"unmounted",[u,d]=b5(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??Us(s.current),a.current=void 0):i.current="none"},[u]),Ke(()=>{const p=s.current,f=o.current;if(f!==e){const h=i.current,x=Us(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]),Ke(()=>{if(t){let p;const f=t.ownerDocument.defaultView??window,m=x=>{const b=Us(s.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=Us(s.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);s.current=f,a.current=Us(f)}else s.current=null;n(p)},[])}}function fu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function y5(...e){const t=c.useRef(e);return t.current=e,c.useCallback(n=>{const s=t.current;let o=!1;const i=s.map(a=>{const l=fu(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():fu(s[a],null)}}},[])}function Us(e){return e?.animationName||"none"}function w5(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 j5=Ko[" useId ".trim().toString()]||(()=>{}),k5=0;function Vt(e){const[t,n]=c.useState(j5());return Ke(()=>{n(s=>s??String(k5++))},[e]),e||(t?`radix-${t}`:"")}var si="Collapsible",[S5]=dn(si),[_5,Bl]=S5(si),If=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:s,defaultOpen:o,disabled:i,onOpenChange:a,...l}=e,[u,d]=Wn({prop:s,defaultProp:o??!1,onChange:a,caller:si});return r.jsx(_5,{scope:n,disabled:i,contentId:Vt(),open:u,onOpenToggle:c.useCallback(()=>d(p=>!p),[d]),children:r.jsx(xe.div,{"data-state":Hl(u),"data-disabled":i?"":void 0,...l,ref:t})})});If.displayName=si;var Pf="CollapsibleTrigger",Of=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,...s}=e,o=Bl(Pf,n);return r.jsx(xe.button,{type:"button","aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open||!1,"data-state":Hl(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...s,ref:t,onClick:pe(e.onClick,o.onOpenToggle)})});Of.displayName=Pf;var ql="CollapsibleContent",zf=c.forwardRef((e,t)=>{const{forceMount:n,...s}=e,o=Bl(ql,e.__scopeCollapsible);return r.jsx(vt,{present:n||o.open,children:({present:i})=>r.jsx(N5,{...s,ref:t,present:i})})});zf.displayName=ql;var N5=c.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:s,children:o,...i}=e,a=Bl(ql,n),[l,u]=c.useState(s),d=c.useRef(null),p=Re(t,d),f=c.useRef(0),m=f.current,h=c.useRef(0),x=h.current,y=a.open||l,b=c.useRef(y),w=c.useRef(void 0);return c.useEffect(()=>{const v=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(v)},[]),Ke(()=>{const v=d.current;if(v){w.current=w.current||{transitionDuration:v.style.transitionDuration,animationName:v.style.animationName},v.style.transitionDuration="0s",v.style.animationName="none";const j=v.getBoundingClientRect();f.current=j.height,h.current=j.width,b.current||(v.style.transitionDuration=w.current.transitionDuration,v.style.animationName=w.current.animationName),u(s)}},[a.open,s]),r.jsx(xe.div,{"data-state":Hl(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!y,...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:y&&o})});function Hl(e){return e?"open":"closed"}var C5=If,T5=c.createContext(void 0);function ri(e){const t=c.useContext(T5);return e||t||"ltr"}function Ye(e){const t=c.useRef(e);return c.useEffect(()=>{t.current=e}),c.useMemo(()=>((...n)=>t.current?.(...n)),[])}var E5="DismissableLayer",za="dismissableLayer.update",R5="dismissableLayer.pointerDownOutside",M5="dismissableLayer.focusOutside",mu,Vl=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),oi=c.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:s=!1,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:l,onDismiss:u,...d}=e,p=c.useContext(Vl),[f,m]=c.useState(null),h=f?.ownerDocument??globalThis?.document,[,x]=c.useState({}),y=Re(t,m),b=Array.from(p.layers),[w]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),v=w?b.indexOf(w):-1,j=f?b.indexOf(f):-1,k=p.layersWithOutsidePointerEventsDisabled.size>0,S=j>=v,_=c.useRef(!1),N=z5(C=>{i?.(C),l?.(C),C.defaultPrevented||u?.()},{ownerDocument:h,deferPointerDownOutside:s,isDeferredPointerDownOutsideRef:_,dismissableSurfaces:p.dismissableSurfaces,shouldHandlePointerDownOutside:c.useCallback(C=>{if(!(C instanceof Node))return!1;const A=[...p.branches].some(F=>F.contains(C));return S&&!A},[p.branches,S])}),I=L5(C=>{if(s&&_.current)return;const A=C.target;[...p.branches].some(U=>U.contains(A))||(a?.(C),l?.(C),C.defaultPrevented||u?.())},h),P=f?j===b.length-1:!1,M=Ye(C=>{C.key==="Escape"&&(o?.(C),!C.defaultPrevented&&u&&(C.preventDefault(),u()))});return c.useEffect(()=>{if(P)return h.addEventListener("keydown",M,{capture:!0}),()=>h.removeEventListener("keydown",M,{capture:!0})},[h,P,M]),c.useEffect(()=>{if(f)return n&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(mu=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(f)),p.layers.add(f),hu(),()=>{n&&(p.layersWithOutsidePointerEventsDisabled.delete(f),p.layersWithOutsidePointerEventsDisabled.size===0&&(h.body.style.pointerEvents=mu))}},[f,h,n,p]),c.useEffect(()=>()=>{f&&(p.layers.delete(f),p.layersWithOutsidePointerEventsDisabled.delete(f),hu())},[f,p]),c.useEffect(()=>{const C=()=>x({});return document.addEventListener(za,C),()=>document.removeEventListener(za,C)},[]),r.jsx(xe.div,{...d,ref:y,style:{pointerEvents:k?S?"auto":"none":void 0,...e.style},onFocusCapture:pe(e.onFocusCapture,I.onFocusCapture),onBlurCapture:pe(e.onBlurCapture,I.onBlurCapture),onPointerDownCapture:pe(e.onPointerDownCapture,N.onPointerDownCapture)})});oi.displayName=E5;var A5="DismissableLayerBranch",I5=c.forwardRef((e,t)=>{const n=c.useContext(Vl),s=c.useRef(null),o=Re(t,s);return c.useEffect(()=>{const i=s.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),r.jsx(xe.div,{...e,ref:o})});I5.displayName=A5;function P5(){const e=c.useContext(Vl),[t,n]=c.useState(null);return c.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var O5=()=>!0;function z5(e,t){const{ownerDocument:n=globalThis?.document,deferPointerDownOutside:s=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:i,shouldHandlePointerDownOutside:a=O5}=t,l=Ye(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 y(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(),_||Lf(R5,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=s&&j.button===0,p.current.clear(),!s||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,y);const v=window.setTimeout(()=>{n.addEventListener("pointerdown",b)},0);return()=>{window.clearTimeout(v),n.removeEventListener("pointerdown",b),n.removeEventListener("click",f.current);for(const j of w)n.removeEventListener(j,x,!0),n.removeEventListener(j,y)}},[n,l,s,o,i,a]),{onPointerDownCapture:()=>u.current=!0}}function L5(e,t=globalThis?.document){const n=Ye(e),s=c.useRef(!1);return c.useEffect(()=>{const o=i=>{i.target&&!s.current&&Lf(M5,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>s.current=!0,onBlurCapture:()=>s.current=!1}}function hu(){const e=new CustomEvent(za);document.dispatchEvent(e)}function Lf(e,t,n,{discrete:s}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),s?d5(o,i):o.dispatchEvent(i)}var $i="focusScope.autoFocusOnMount",Di="focusScope.autoFocusOnUnmount",xu={bubbles:!1,cancelable:!0},$5="FocusScope",Wl=c.forwardRef((e,t)=>{const{loop:n=!1,trapped:s=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...a}=e,[l,u]=c.useState(null),d=Ye(o),p=Ye(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(s){let y=function(j){if(h.paused||!l)return;const k=j.target;l.contains(k)?f.current=k:xn(f.current,{select:!0})},b=function(j){if(h.paused||!l)return;const k=j.relatedTarget;k!==null&&(l.contains(k)||xn(f.current,{select:!0}))},w=function(j){if(document.activeElement===document.body)for(const S of j)S.removedNodes.length>0&&xn(l)};document.addEventListener("focusin",y),document.addEventListener("focusout",b);const v=new MutationObserver(w);return l&&v.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",b),v.disconnect()}}},[s,l,h.paused]),c.useEffect(()=>{if(l){bu.add(h);const y=document.activeElement;if(!l.contains(y)){const w=new CustomEvent($i,xu);l.addEventListener($i,d),l.dispatchEvent(w),w.defaultPrevented||(D5(H5($f(l)),{select:!0}),document.activeElement===y&&xn(l))}return()=>{l.removeEventListener($i,d),setTimeout(()=>{const w=new CustomEvent(Di,xu);l.addEventListener(Di,p),l.dispatchEvent(w),w.defaultPrevented||xn(y??document.body,{select:!0}),l.removeEventListener(Di,p),bu.remove(h)},0)}}},[l,d,p,h]);const x=c.useCallback(y=>{if(!n&&!s||h.paused)return;const b=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,w=document.activeElement;if(b&&w){const v=y.currentTarget,[j,k]=F5(v);j&&k?!y.shiftKey&&w===k?(y.preventDefault(),n&&xn(j,{select:!0})):y.shiftKey&&w===j&&(y.preventDefault(),n&&xn(k,{select:!0})):w===v&&y.preventDefault()}},[n,s,h.paused]);return r.jsx(xe.div,{tabIndex:-1,...a,ref:m,onKeyDown:x})});Wl.displayName=$5;function D5(e,{select:t=!1}={}){const n=document.activeElement;for(const s of e)if(xn(s,{select:t}),document.activeElement!==n)return}function F5(e){const t=$f(e),n=gu(t,e),s=gu(t.reverse(),e);return[n,s]}function $f(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const o=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||o?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function gu(e,t){const n=typeof t.checkVisibility=="function"&&t.checkVisibility({checkVisibilityCSS:!0});for(const s of e)if(!(n?!s.checkVisibility({checkVisibilityCSS:!0}):U5(s,{upTo:t})))return s}function U5(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 B5(e){return e instanceof HTMLInputElement&&"select"in e}function xn(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&B5(e)&&t&&e.select()}}var bu=q5();function q5(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=vu(e,t),e.unshift(t)},remove(t){e=vu(e,t),e[0]?.resume()}}}function vu(e,t){const n=[...e],s=n.indexOf(t);return s!==-1&&n.splice(s,1),n}function H5(e){return e.filter(t=>t.tagName!=="A")}var V5="Portal",ii=c.forwardRef((e,t)=>{const{container:n,...s}=e,[o,i]=c.useState(!1);Ke(()=>i(!0),[]);const a=n||o&&globalThis?.document?.body;return a?Is.createPortal(r.jsx(xe.div,{...s,ref:t}),a):null});ii.displayName=V5;var zr=0,ts=null;function Df(){c.useEffect(()=>{ts||(ts={start:yu(),end:yu()});const{start:e,end:t}=ts;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),zr++,()=>{zr===1&&(ts?.start.remove(),ts?.end.remove(),ts=null),zr=Math.max(0,zr-1)}},[])}function yu(){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 Ft=function(){return Ft=Object.assign||function(t){for(var n,s=1,o=arguments.length;s<o;s++){n=arguments[s];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},Ft.apply(this,arguments)};function Ff(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,s=Object.getOwnPropertySymbols(e);o<s.length;o++)t.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(e,s[o])&&(n[s[o]]=e[s[o]]);return n}function W5(e,t,n){if(n||arguments.length===2)for(var s=0,o=t.length,i;s<o;s++)(i||!(s in t))&&(i||(i=Array.prototype.slice.call(t,0,s)),i[s]=t[s]);return e.concat(i||Array.prototype.slice.call(t))}var ao="right-scroll-bar-position",lo="width-before-scroll-bar",Z5="with-scroll-bars-hidden",K5="--removed-body-scroll-bar-size";function Fi(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function G5(e,t){var n=c.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(s){var o=n.value;o!==s&&(n.value=s,n.callback(s,o))}}}})[0];return n.callback=t,n.facade}var J5=typeof window<"u"?c.useLayoutEffect:c.useEffect,wu=new WeakMap;function Y5(e,t){var n=G5(null,function(s){return e.forEach(function(o){return Fi(o,s)})});return J5(function(){var s=wu.get(n);if(s){var o=new Set(s),i=new Set(e),a=n.current;o.forEach(function(l){i.has(l)||Fi(l,null)}),i.forEach(function(l){o.has(l)||Fi(l,a)})}wu.set(n,e)},[e]),n}function X5(e){return e}function Q5(e,t){t===void 0&&(t=X5);var n=[],s=!1,o={read:function(){if(s)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,s);return n.push(a),function(){n=n.filter(function(l){return l!==a})}},assignSyncMedium:function(i){for(s=!0;n.length;){var a=n;n=[],a.forEach(i)}n={push:function(l){return i(l)},filter:function(){return n}}},assignMedium:function(i){s=!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 eS(e){e===void 0&&(e={});var t=Q5(null);return t.options=Ft({async:!0,ssr:!1},e),t}var Uf=function(e){var t=e.sideCar,n=Ff(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var s=t.read();if(!s)throw new Error("Sidecar medium not found");return c.createElement(s,Ft({},n))};Uf.isSideCarExport=!0;function tS(e,t){return e.useMedium(t),Uf}var Bf=eS(),Ui=function(){},ai=c.forwardRef(function(e,t){var n=c.useRef(null),s=c.useState({onScrollCapture:Ui,onWheelCapture:Ui,onTouchMoveCapture:Ui}),o=s[0],i=s[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,y=e.inert,b=e.allowPinchZoom,w=e.as,v=w===void 0?"div":w,j=e.gapMode,k=Ff(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=m,_=Y5([n,t]),N=Ft(Ft({},k),o);return c.createElement(c.Fragment,null,p&&c.createElement(S,{sideCar:Bf,removeScrollBar:d,shards:f,noRelative:h,noIsolation:x,inert:y,setCallbacks:i,allowPinchZoom:!!b,lockRef:n,gapMode:j}),a?c.cloneElement(c.Children.only(l),Ft(Ft({},N),{ref:_})):c.createElement(v,Ft({},N,{className:u,ref:_}),l))});ai.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ai.classNames={fullWidth:lo,zeroRight:ao};var nS=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function sS(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=nS();return t&&e.setAttribute("nonce",t),e}function rS(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function oS(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var iS=function(){var e=0,t=null;return{add:function(n){e==0&&(t=sS())&&(rS(t,n),oS(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},aS=function(){var e=iS();return function(t,n){c.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},qf=function(){var e=aS(),t=function(n){var s=n.styles,o=n.dynamic;return e(s,o),null};return t},lS={left:0,top:0,right:0,gap:0},Bi=function(e){return parseInt(e||"",10)||0},cS=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],s=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Bi(n),Bi(s),Bi(o)]},uS=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return lS;var t=cS(e),n=document.documentElement.clientWidth,s=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,s-n+t[2]-t[0])}},dS=qf(),gs="data-scroll-locked",pS=function(e,t,n,s){var o=e.left,i=e.top,a=e.right,l=e.gap;return n===void 0&&(n="margin"),`
|
|
66
|
-
.`.concat(Z5,` {
|
|
67
|
-
overflow: hidden `).concat(s,`;
|
|
68
|
-
padding-right: `).concat(l,"px ").concat(s,`;
|
|
69
|
-
}
|
|
70
|
-
body[`).concat(gs,`] {
|
|
71
|
-
overflow: hidden `).concat(s,`;
|
|
72
|
-
overscroll-behavior: contain;
|
|
73
|
-
`).concat([t&&"position: relative ".concat(s,";"),n==="margin"&&`
|
|
74
|
-
padding-left: `.concat(o,`px;
|
|
75
|
-
padding-top: `).concat(i,`px;
|
|
76
|
-
padding-right: `).concat(a,`px;
|
|
77
|
-
margin-left:0;
|
|
78
|
-
margin-top:0;
|
|
79
|
-
margin-right: `).concat(l,"px ").concat(s,`;
|
|
80
|
-
`),n==="padding"&&"padding-right: ".concat(l,"px ").concat(s,";")].filter(Boolean).join(""),`
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.`).concat(ao,` {
|
|
84
|
-
right: `).concat(l,"px ").concat(s,`;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.`).concat(lo,` {
|
|
88
|
-
margin-right: `).concat(l,"px ").concat(s,`;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.`).concat(ao," .").concat(ao,` {
|
|
92
|
-
right: 0 `).concat(s,`;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.`).concat(lo," .").concat(lo,` {
|
|
96
|
-
margin-right: 0 `).concat(s,`;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
body[`).concat(gs,`] {
|
|
100
|
-
`).concat(K5,": ").concat(l,`px;
|
|
101
|
-
}
|
|
102
|
-
`)},ju=function(){var e=parseInt(document.body.getAttribute(gs)||"0",10);return isFinite(e)?e:0},fS=function(){c.useEffect(function(){return document.body.setAttribute(gs,(ju()+1).toString()),function(){var e=ju()-1;e<=0?document.body.removeAttribute(gs):document.body.setAttribute(gs,e.toString())}},[])},mS=function(e){var t=e.noRelative,n=e.noImportant,s=e.gapMode,o=s===void 0?"margin":s;fS();var i=c.useMemo(function(){return uS(o)},[o]);return c.createElement(dS,{styles:pS(i,!t,o,n?"":"!important")})},La=!1;if(typeof window<"u")try{var Lr=Object.defineProperty({},"passive",{get:function(){return La=!0,!0}});window.addEventListener("test",Lr,Lr),window.removeEventListener("test",Lr,Lr)}catch{La=!1}var ns=La?{passive:!1}:!1,hS=function(e){return e.tagName==="TEXTAREA"},Hf=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!hS(e)&&n[t]==="visible")},xS=function(e){return Hf(e,"overflowY")},gS=function(e){return Hf(e,"overflowX")},ku=function(e,t){var n=t.ownerDocument,s=t;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var o=Vf(e,s);if(o){var i=Wf(e,s),a=i[1],l=i[2];if(a>l)return!0}s=s.parentNode}while(s&&s!==n.body);return!1},bS=function(e){var t=e.scrollTop,n=e.scrollHeight,s=e.clientHeight;return[t,n,s]},vS=function(e){var t=e.scrollLeft,n=e.scrollWidth,s=e.clientWidth;return[t,n,s]},Vf=function(e,t){return e==="v"?xS(t):gS(t)},Wf=function(e,t){return e==="v"?bS(t):vS(t)},yS=function(e,t){return e==="h"&&t==="rtl"?-1:1},wS=function(e,t,n,s,o){var i=yS(e,window.getComputedStyle(t).direction),a=i*s,l=n.target,u=t.contains(l),d=!1,p=a>0,f=0,m=0;do{if(!l)break;var h=Wf(e,l),x=h[0],y=h[1],b=h[2],w=y-b-i*x;(x||w)&&Vf(e,l)&&(f+=w,m+=x);var v=l.parentNode;l=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}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},$r=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Su=function(e){return[e.deltaX,e.deltaY]},_u=function(e){return e&&"current"in e?e.current:e},jS=function(e,t){return e[0]===t[0]&&e[1]===t[1]},kS=function(e){return`
|
|
103
|
-
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
104
|
-
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
105
|
-
`)},SS=0,ss=[];function _S(e){var t=c.useRef([]),n=c.useRef([0,0]),s=c.useRef(),o=c.useState(SS++)[0],i=c.useState(qf)[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 y=W5([e.lockRef.current],(e.shards||[]).map(_u),!0).filter(Boolean);return y.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),y.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=c.useCallback(function(y,b){if("touches"in y&&y.touches.length===2||y.type==="wheel"&&y.ctrlKey)return!a.current.allowPinchZoom;var w=$r(y),v=n.current,j="deltaX"in y?y.deltaX:v[0]-w[0],k="deltaY"in y?y.deltaY:v[1]-w[1],S,_=y.target,N=Math.abs(j)>Math.abs(k)?"h":"v";if("touches"in y&&N==="h"&&_.type==="range")return!1;var I=window.getSelection(),P=I&&I.anchorNode,M=P?P===_||P.contains(_):!1;if(M)return!1;var C=ku(N,_);if(!C)return!0;if(C?S=N:(S=N==="v"?"h":"v",C=ku(N,_)),!C)return!1;if(!s.current&&"changedTouches"in y&&(j||k)&&(s.current=S),!S)return!0;var A=s.current||S;return wS(A,b,y,A==="h"?j:k)},[]),u=c.useCallback(function(y){var b=y;if(!(!ss.length||ss[ss.length-1]!==i)){var w="deltaY"in b?Su(b):$r(b),v=t.current.filter(function(S){return S.name===b.type&&(S.target===b.target||b.target===S.shadowParent)&&jS(S.delta,w)})[0];if(v&&v.should){b.cancelable&&b.preventDefault();return}if(!v){var j=(a.current.shards||[]).map(_u).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(y,b,w,v){var j={name:y,delta:b,target:w,should:v,shadowParent:NS(w)};t.current.push(j),setTimeout(function(){t.current=t.current.filter(function(k){return k!==j})},1)},[]),p=c.useCallback(function(y){n.current=$r(y),s.current=void 0},[]),f=c.useCallback(function(y){d(y.type,Su(y),y.target,l(y,e.lockRef.current))},[]),m=c.useCallback(function(y){d(y.type,$r(y),y.target,l(y,e.lockRef.current))},[]);c.useEffect(function(){return ss.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",u,ns),document.addEventListener("touchmove",u,ns),document.addEventListener("touchstart",p,ns),function(){ss=ss.filter(function(y){return y!==i}),document.removeEventListener("wheel",u,ns),document.removeEventListener("touchmove",u,ns),document.removeEventListener("touchstart",p,ns)}},[]);var h=e.removeScrollBar,x=e.inert;return c.createElement(c.Fragment,null,x?c.createElement(i,{styles:kS(o)}):null,h?c.createElement(mS,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function NS(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const CS=tS(Bf,_S);var Zl=c.forwardRef(function(e,t){return c.createElement(ai,Ft({},e,{ref:t,sideCar:CS}))});Zl.classNames=ai.classNames;var TS=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},rs=new WeakMap,Dr=new WeakMap,Fr={},qi=0,Zf=function(e){return e&&(e.host||Zf(e.parentNode))},ES=function(e,t){return t.map(function(n){if(e.contains(n))return n;var s=Zf(n);return s&&e.contains(s)?s:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},RS=function(e,t,n,s){var o=ES(t,Array.isArray(e)?e:[e]);Fr[n]||(Fr[n]=new WeakMap);var i=Fr[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(s),x=h!==null&&h!=="false",y=(rs.get(m)||0)+1,b=(i.get(m)||0)+1;rs.set(m,y),i.set(m,b),a.push(m),y===1&&x&&Dr.set(m,!0),b===1&&m.setAttribute(n,"true"),x||m.setAttribute(s,"true")}catch(w){console.error("aria-hidden: cannot operate on ",m,w)}})};return p(t),l.clear(),qi++,function(){a.forEach(function(f){var m=rs.get(f)-1,h=i.get(f)-1;rs.set(f,m),i.set(f,h),m||(Dr.has(f)||f.removeAttribute(s),Dr.delete(f)),h||f.removeAttribute(n)}),qi--,qi||(rs=new WeakMap,rs=new WeakMap,Dr=new WeakMap,Fr={})}},Kf=function(e,t,n){n===void 0&&(n="data-aria-hidden");var s=Array.from(Array.isArray(e)?e:[e]),o=TS(e);return o?(s.push.apply(s,Array.from(o.querySelectorAll("[aria-live], script"))),RS(s,o,n,"aria-hidden")):function(){return null}},li="Dialog",[Gf]=dn(li),[MS,zt]=Gf(li),Jf=e=>{const{__scopeDialog:t,children:n,open:s,defaultOpen:o,onOpenChange:i,modal:a=!0}=e,l=c.useRef(null),u=c.useRef(null),[d,p]=Wn({prop:s,defaultProp:o??!1,onChange:i,caller:li});return r.jsx(MS,{scope:t,triggerRef:l,contentRef:u,contentId:Vt(),titleId:Vt(),descriptionId:Vt(),open:d,onOpenChange:p,onOpenToggle:c.useCallback(()=>p(f=>!f),[p]),modal:a,children:n})};Jf.displayName=li;var Yf="DialogTrigger",Xf=c.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,o=zt(Yf,n),i=Re(t,o.triggerRef);return r.jsx(xe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":Gl(o.open),...s,ref:i,onClick:pe(e.onClick,o.onOpenToggle)})});Xf.displayName=Yf;var Kl="DialogPortal",[AS,Qf]=Gf(Kl,{forceMount:void 0}),em=e=>{const{__scopeDialog:t,forceMount:n,children:s,container:o}=e,i=zt(Kl,t);return r.jsx(AS,{scope:t,forceMount:n,children:c.Children.map(s,a=>r.jsx(vt,{present:n||i.open,children:r.jsx(ii,{asChild:!0,container:o,children:a})}))})};em.displayName=Kl;var Co="DialogOverlay",tm=c.forwardRef((e,t)=>{const n=Qf(Co,e.__scopeDialog),{forceMount:s=n.forceMount,...o}=e,i=zt(Co,e.__scopeDialog);return i.modal?r.jsx(vt,{present:s||i.open,children:r.jsx(PS,{...o,ref:t})}):null});tm.displayName=Co;var IS=Ns("DialogOverlay.RemoveScroll"),PS=c.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,o=zt(Co,n),i=P5(),a=Re(t,i);return r.jsx(Zl,{as:IS,allowPinchZoom:!0,shards:[o.contentRef],children:r.jsx(xe.div,{"data-state":Gl(o.open),...s,ref:a,style:{pointerEvents:"auto",...s.style}})})}),Cs="DialogContent",nm=c.forwardRef((e,t)=>{const n=Qf(Cs,e.__scopeDialog),{forceMount:s=n.forceMount,...o}=e,i=zt(Cs,e.__scopeDialog);return r.jsx(vt,{present:s||i.open,children:i.modal?r.jsx(OS,{...o,ref:t}):r.jsx(zS,{...o,ref:t})})});nm.displayName=Cs;var OS=c.forwardRef((e,t)=>{const n=zt(Cs,e.__scopeDialog),s=c.useRef(null),o=Re(t,n.contentRef,s);return c.useEffect(()=>{const i=s.current;if(i)return Kf(i)},[]),r.jsx(sm,{...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())})}),zS=c.forwardRef((e,t)=>{const n=zt(Cs,e.__scopeDialog),s=c.useRef(!1),o=c.useRef(!1);return r.jsx(sm,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{e.onCloseAutoFocus?.(i),i.defaultPrevented||(s.current||n.triggerRef.current?.focus(),i.preventDefault()),s.current=!1,o.current=!1},onInteractOutside:i=>{e.onInteractOutside?.(i),i.defaultPrevented||(s.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()}})}),sm=c.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:s,onOpenAutoFocus:o,onCloseAutoFocus:i,...a}=e,l=zt(Cs,n);return Df(),r.jsx(r.Fragment,{children:r.jsx(Wl,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:o,onUnmountAutoFocus:i,children:r.jsx(oi,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":Gl(l.open),...a,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1)})})})}),rm="DialogTitle",om=c.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,o=zt(rm,n);return r.jsx(xe.h2,{id:o.titleId,...s,ref:t})});om.displayName=rm;var im="DialogDescription",am=c.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,o=zt(im,n);return r.jsx(xe.p,{id:o.descriptionId,...s,ref:t})});am.displayName=im;var lm="DialogClose",cm=c.forwardRef((e,t)=>{const{__scopeDialog:n,...s}=e,o=zt(lm,n);return r.jsx(xe.button,{type:"button",...s,ref:t,onClick:pe(e.onClick,()=>o.onOpenChange(!1))})});cm.displayName=lm;function Gl(e){return e?"open":"closed"}function LS(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 $S(e){const[t,n]=c.useState(void 0);return Ke(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const s=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 s.observe(e,{box:"border-box"}),()=>s.unobserve(e)}else n(void 0)},[e]),t}const DS=["top","right","bottom","left"],kn=Math.min,mt=Math.max,To=Math.round,Ur=Math.floor,Wt=e=>({x:e,y:e}),FS={left:"right",right:"left",bottom:"top",top:"bottom"},US={start:"end",end:"start"};function $a(e,t,n){return mt(e,kn(t,n))}function ln(e,t){return typeof e=="function"?e(t):e}function cn(e){return e.split("-")[0]}function Os(e){return e.split("-")[1]}function Jl(e){return e==="x"?"y":"x"}function Yl(e){return e==="y"?"height":"width"}const BS=new Set(["top","bottom"]);function Ut(e){return BS.has(cn(e))?"y":"x"}function Xl(e){return Jl(Ut(e))}function qS(e,t,n){n===void 0&&(n=!1);const s=Os(e),o=Xl(e),i=Yl(o);let a=o==="x"?s===(n?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=Eo(a)),[a,Eo(a)]}function HS(e){const t=Eo(e);return[Da(e),t,Da(t)]}function Da(e){return e.replace(/start|end/g,t=>US[t])}const Nu=["left","right"],Cu=["right","left"],VS=["top","bottom"],WS=["bottom","top"];function ZS(e,t,n){switch(e){case"top":case"bottom":return n?t?Cu:Nu:t?Nu:Cu;case"left":case"right":return t?VS:WS;default:return[]}}function KS(e,t,n,s){const o=Os(e);let i=ZS(cn(e),n==="start",s);return o&&(i=i.map(a=>a+"-"+o),t&&(i=i.concat(i.map(Da)))),i}function Eo(e){return e.replace(/left|right|bottom|top/g,t=>FS[t])}function GS(e){return{top:0,right:0,bottom:0,left:0,...e}}function um(e){return typeof e!="number"?GS(e):{top:e,right:e,bottom:e,left:e}}function Ro(e){const{x:t,y:n,width:s,height:o}=e;return{width:s,height:o,top:n,left:t,right:t+s,bottom:n+o,x:t,y:n}}function Tu(e,t,n){let{reference:s,floating:o}=e;const i=Ut(t),a=Xl(t),l=Yl(a),u=cn(t),d=i==="y",p=s.x+s.width/2-o.width/2,f=s.y+s.height/2-o.height/2,m=s[l]/2-o[l]/2;let h;switch(u){case"top":h={x:p,y:s.y-o.height};break;case"bottom":h={x:p,y:s.y+s.height};break;case"right":h={x:s.x+s.width,y:f};break;case"left":h={x:s.x-o.width,y:f};break;default:h={x:s.x,y:s.y}}switch(Os(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 JS(e,t){var n;t===void 0&&(t={});const{x:s,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}=ln(t,e),x=um(h),b=l[m?f==="floating"?"reference":"floating":f],w=Ro(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})),v=f==="floating"?{x:s,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=Ro(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:v,offsetParent:j,strategy:u}):v);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 YS=async(e,t,n)=>{const{placement:s="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}=Tu(d,s,u),m=s,h={},x=0;for(let b=0;b<l.length;b++){var y;const{name:w,fn:v}=l[b],{x:j,y:k,data:S,reset:_}=await v({x:p,y:f,initialPlacement:s,placement:m,strategy:o,middlewareData:h,rects:d,platform:{...a,detectOverflow:(y=a.detectOverflow)!=null?y:JS},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}=Tu(d,m,u)),b=-1)}return{x:p,y:f,placement:m,strategy:o,middlewareData:h}},XS=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:s,placement:o,rects:i,platform:a,elements:l,middlewareData:u}=t,{element:d,padding:p=0}=ln(e,t)||{};if(d==null)return{};const f=um(p),m={x:n,y:s},h=Xl(o),x=Yl(h),y=await a.getDimensions(d),b=h==="y",w=b?"top":"left",v=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 I=k/2-S/2,P=N/2-y[x]/2-1,M=kn(f[w],P),C=kn(f[v],P),A=M,F=N-y[x]-C,U=N/2-y[x]/2+I,G=$a(A,U,F),K=!u.arrow&&Os(o)!=null&&U!==G&&i.reference[x]/2-(U<A?M:C)-y[x]/2<0,Z=K?U<A?U-A:U-F:0;return{[h]:m[h]+Z,data:{[h]:G,centerOffset:U-G-Z,...K&&{alignmentOffset:Z}},reset:K}}}),QS=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,s;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:y=!0,...b}=ln(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};const w=cn(o),v=Ut(l),j=cn(l)===l,k=await(u.isRTL==null?void 0:u.isRTL(d.floating)),S=m||(j||!y?[Eo(l)]:HS(l)),_=x!=="none";!m&&_&&S.push(...KS(l,y,x,k));const N=[l,...S],I=await u.detectOverflow(t,b),P=[];let M=((s=i.flip)==null?void 0:s.overflows)||[];if(p&&P.push(I[w]),f){const U=qS(o,a,k);P.push(I[U[0]],I[U[1]])}if(M=[...M,{placement:o,overflows:P}],!P.every(U=>U<=0)){var C,A;const U=(((C=i.flip)==null?void 0:C.index)||0)+1,G=N[U];if(G&&(!(f==="alignment"?v!==Ut(G):!1)||M.every(H=>Ut(H.placement)===v?H.overflows[0]>0:!0)))return{data:{index:U,overflows:M},reset:{placement:G}};let K=(A=M.filter(Z=>Z.overflows[0]<=0).sort((Z,H)=>Z.overflows[1]-H.overflows[1])[0])==null?void 0:A.placement;if(!K)switch(h){case"bestFit":{var F;const Z=(F=M.filter(H=>{if(_){const L=Ut(H.placement);return L===v||L==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(L=>L>0).reduce((L,X)=>L+X,0)]).sort((H,L)=>H[1]-L[1])[0])==null?void 0:F[0];Z&&(K=Z);break}case"initialPlacement":K=l;break}if(o!==K)return{reset:{placement:K}}}return{}}}};function Eu(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Ru(e){return DS.some(t=>e[t]>=0)}const e_=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:s}=t,{strategy:o="referenceHidden",...i}=ln(e,t);switch(o){case"referenceHidden":{const a=await s.detectOverflow(t,{...i,elementContext:"reference"}),l=Eu(a,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Ru(l)}}}case"escaped":{const a=await s.detectOverflow(t,{...i,altBoundary:!0}),l=Eu(a,n.floating);return{data:{escapedOffsets:l,escaped:Ru(l)}}}default:return{}}}}},dm=new Set(["left","top"]);async function t_(e,t){const{placement:n,platform:s,elements:o}=e,i=await(s.isRTL==null?void 0:s.isRTL(o.floating)),a=cn(n),l=Os(n),u=Ut(n)==="y",d=dm.has(a)?-1:1,p=i&&u?-1:1,f=ln(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 n_=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,s;const{x:o,y:i,placement:a,middlewareData:l}=t,u=await t_(t,e);return a===((n=l.offset)==null?void 0:n.placement)&&(s=l.arrow)!=null&&s.alignmentOffset?{}:{x:o+u.x,y:i+u.y,data:{...u,placement:a}}}}},s_=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:o,platform:i}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:u={fn:w=>{let{x:v,y:j}=w;return{x:v,y:j}}},...d}=ln(e,t),p={x:n,y:s},f=await i.detectOverflow(t,d),m=Ut(cn(o)),h=Jl(m);let x=p[h],y=p[m];if(a){const w=h==="y"?"top":"left",v=h==="y"?"bottom":"right",j=x+f[w],k=x-f[v];x=$a(j,x,k)}if(l){const w=m==="y"?"top":"left",v=m==="y"?"bottom":"right",j=y+f[w],k=y-f[v];y=$a(j,y,k)}const b=u.fn({...t,[h]:x,[m]:y});return{...b,data:{x:b.x-n,y:b.y-s,enabled:{[h]:a,[m]:l}}}}}},r_=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:s,placement:o,rects:i,middlewareData:a}=t,{offset:l=0,mainAxis:u=!0,crossAxis:d=!0}=ln(e,t),p={x:n,y:s},f=Ut(o),m=Jl(f);let h=p[m],x=p[f];const y=ln(l,t),b=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};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,v;const j=m==="y"?"width":"height",k=dm.has(cn(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:((v=a.offset)==null?void 0:v[f])||0)-(k?b.crossAxis:0);x<S?x=S:x>_&&(x=_)}return{[m]:h,[f]:x}}}},o_=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,s;const{placement:o,rects:i,platform:a,elements:l}=t,{apply:u=()=>{},...d}=ln(e,t),p=await a.detectOverflow(t,d),f=cn(o),m=Os(o),h=Ut(o)==="y",{width:x,height:y}=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 v=y-p.top-p.bottom,j=x-p.left-p.right,k=kn(y-p[b],v),S=kn(x-p[w],j),_=!t.middlewareData.shift;let N=k,I=S;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(I=j),(s=t.middlewareData.shift)!=null&&s.enabled.y&&(N=v),_&&!m){const M=mt(p.left,0),C=mt(p.right,0),A=mt(p.top,0),F=mt(p.bottom,0);h?I=x-2*(M!==0||C!==0?M+C:mt(p.left,p.right)):N=y-2*(A!==0||F!==0?A+F:mt(p.top,p.bottom))}await u({...t,availableWidth:I,availableHeight:N});const P=await a.getDimensions(l.floating);return x!==P.width||y!==P.height?{reset:{rects:!0}}:{}}}};function ci(){return typeof window<"u"}function zs(e){return pm(e)?(e.nodeName||"").toLowerCase():"#document"}function gt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Yt(e){var t;return(t=(pm(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function pm(e){return ci()?e instanceof Node||e instanceof gt(e).Node:!1}function At(e){return ci()?e instanceof Element||e instanceof gt(e).Element:!1}function Zt(e){return ci()?e instanceof HTMLElement||e instanceof gt(e).HTMLElement:!1}function Mu(e){return!ci()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof gt(e).ShadowRoot}const i_=new Set(["inline","contents"]);function wr(e){const{overflow:t,overflowX:n,overflowY:s,display:o}=It(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+n)&&!i_.has(o)}const a_=new Set(["table","td","th"]);function l_(e){return a_.has(zs(e))}const c_=[":popover-open",":modal"];function ui(e){return c_.some(t=>{try{return e.matches(t)}catch{return!1}})}const u_=["transform","translate","scale","rotate","perspective"],d_=["transform","translate","scale","rotate","perspective","filter"],p_=["paint","layout","strict","content"];function Ql(e){const t=ec(),n=At(e)?It(e):e;return u_.some(s=>n[s]?n[s]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||d_.some(s=>(n.willChange||"").includes(s))||p_.some(s=>(n.contain||"").includes(s))}function f_(e){let t=Sn(e);for(;Zt(t)&&!Ts(t);){if(Ql(t))return t;if(ui(t))return null;t=Sn(t)}return null}function ec(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const m_=new Set(["html","body","#document"]);function Ts(e){return m_.has(zs(e))}function It(e){return gt(e).getComputedStyle(e)}function di(e){return At(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Sn(e){if(zs(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Mu(e)&&e.host||Yt(e);return Mu(t)?t.host:t}function fm(e){const t=Sn(e);return Ts(t)?e.ownerDocument?e.ownerDocument.body:e.body:Zt(t)&&wr(t)?t:fm(t)}function ir(e,t,n){var s;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=fm(e),i=o===((s=e.ownerDocument)==null?void 0:s.body),a=gt(o);if(i){const l=Fa(a);return t.concat(a,a.visualViewport||[],wr(o)?o:[],l&&n?ir(l):[])}return t.concat(o,ir(o,[],n))}function Fa(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function mm(e){const t=It(e);let n=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const o=Zt(e),i=o?e.offsetWidth:n,a=o?e.offsetHeight:s,l=To(n)!==i||To(s)!==a;return l&&(n=i,s=a),{width:n,height:s,$:l}}function tc(e){return At(e)?e:e.contextElement}function bs(e){const t=tc(e);if(!Zt(t))return Wt(1);const n=t.getBoundingClientRect(),{width:s,height:o,$:i}=mm(t);let a=(i?To(n.width):n.width)/s,l=(i?To(n.height):n.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!l||!Number.isFinite(l))&&(l=1),{x:a,y:l}}const h_=Wt(0);function hm(e){const t=gt(e);return!ec()||!t.visualViewport?h_:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function x_(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==gt(e)?!1:t}function Zn(e,t,n,s){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),i=tc(e);let a=Wt(1);t&&(s?At(s)&&(a=bs(s)):a=bs(e));const l=x_(i,n,s)?hm(i):Wt(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=gt(i),h=s&&At(s)?gt(s):s;let x=m,y=Fa(x);for(;y&&s&&h!==x;){const b=bs(y),w=y.getBoundingClientRect(),v=It(y),j=w.left+(y.clientLeft+parseFloat(v.paddingLeft))*b.x,k=w.top+(y.clientTop+parseFloat(v.paddingTop))*b.y;u*=b.x,d*=b.y,p*=b.x,f*=b.y,u+=j,d+=k,x=gt(y),y=Fa(x)}}return Ro({width:p,height:f,x:u,y:d})}function pi(e,t){const n=di(e).scrollLeft;return t?t.left+n:Zn(Yt(e)).left+n}function xm(e,t){const n=e.getBoundingClientRect(),s=n.left+t.scrollLeft-pi(e,n),o=n.top+t.scrollTop;return{x:s,y:o}}function g_(e){let{elements:t,rect:n,offsetParent:s,strategy:o}=e;const i=o==="fixed",a=Yt(s),l=t?ui(t.floating):!1;if(s===a||l&&i)return n;let u={scrollLeft:0,scrollTop:0},d=Wt(1);const p=Wt(0),f=Zt(s);if((f||!f&&!i)&&((zs(s)!=="body"||wr(a))&&(u=di(s)),Zt(s))){const h=Zn(s);d=bs(s),p.x=h.x+s.clientLeft,p.y=h.y+s.clientTop}const m=a&&!f&&!i?xm(a,u):Wt(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 b_(e){return Array.from(e.getClientRects())}function v_(e){const t=Yt(e),n=di(e),s=e.ownerDocument.body,o=mt(t.scrollWidth,t.clientWidth,s.scrollWidth,s.clientWidth),i=mt(t.scrollHeight,t.clientHeight,s.scrollHeight,s.clientHeight);let a=-n.scrollLeft+pi(e);const l=-n.scrollTop;return It(s).direction==="rtl"&&(a+=mt(t.clientWidth,s.clientWidth)-o),{width:o,height:i,x:a,y:l}}const Au=25;function y_(e,t){const n=gt(e),s=Yt(e),o=n.visualViewport;let i=s.clientWidth,a=s.clientHeight,l=0,u=0;if(o){i=o.width,a=o.height;const p=ec();(!p||p&&t==="fixed")&&(l=o.offsetLeft,u=o.offsetTop)}const d=pi(s);if(d<=0){const p=s.ownerDocument,f=p.body,m=getComputedStyle(f),h=p.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,x=Math.abs(s.clientWidth-f.clientWidth-h);x<=Au&&(i-=x)}else d<=Au&&(i+=d);return{width:i,height:a,x:l,y:u}}const w_=new Set(["absolute","fixed"]);function j_(e,t){const n=Zn(e,!0,t==="fixed"),s=n.top+e.clientTop,o=n.left+e.clientLeft,i=Zt(e)?bs(e):Wt(1),a=e.clientWidth*i.x,l=e.clientHeight*i.y,u=o*i.x,d=s*i.y;return{width:a,height:l,x:u,y:d}}function Iu(e,t,n){let s;if(t==="viewport")s=y_(e,n);else if(t==="document")s=v_(Yt(e));else if(At(t))s=j_(t,n);else{const o=hm(e);s={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Ro(s)}function gm(e,t){const n=Sn(e);return n===t||!At(n)||Ts(n)?!1:It(n).position==="fixed"||gm(n,t)}function k_(e,t){const n=t.get(e);if(n)return n;let s=ir(e,[],!1).filter(l=>At(l)&&zs(l)!=="body"),o=null;const i=It(e).position==="fixed";let a=i?Sn(e):e;for(;At(a)&&!Ts(a);){const l=It(a),u=Ql(a);!u&&l.position==="fixed"&&(o=null),(i?!u&&!o:!u&&l.position==="static"&&!!o&&w_.has(o.position)||wr(a)&&!u&&gm(e,a))?s=s.filter(p=>p!==a):o=l,a=Sn(a)}return t.set(e,s),s}function S_(e){let{element:t,boundary:n,rootBoundary:s,strategy:o}=e;const a=[...n==="clippingAncestors"?ui(t)?[]:k_(t,this._c):[].concat(n),s],l=a[0],u=a.reduce((d,p)=>{const f=Iu(t,p,o);return d.top=mt(f.top,d.top),d.right=kn(f.right,d.right),d.bottom=kn(f.bottom,d.bottom),d.left=mt(f.left,d.left),d},Iu(t,l,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function __(e){const{width:t,height:n}=mm(e);return{width:t,height:n}}function N_(e,t,n){const s=Zt(t),o=Yt(t),i=n==="fixed",a=Zn(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const u=Wt(0);function d(){u.x=pi(o)}if(s||!s&&!i)if((zs(t)!=="body"||wr(o))&&(l=di(t)),s){const h=Zn(t,!0,i,t);u.x=h.x+t.clientLeft,u.y=h.y+t.clientTop}else o&&d();i&&!s&&o&&d();const p=o&&!s&&!i?xm(o,l):Wt(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 Hi(e){return It(e).position==="static"}function Pu(e,t){if(!Zt(e)||It(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Yt(e)===n&&(n=n.ownerDocument.body),n}function bm(e,t){const n=gt(e);if(ui(e))return n;if(!Zt(e)){let o=Sn(e);for(;o&&!Ts(o);){if(At(o)&&!Hi(o))return o;o=Sn(o)}return n}let s=Pu(e,t);for(;s&&l_(s)&&Hi(s);)s=Pu(s,t);return s&&Ts(s)&&Hi(s)&&!Ql(s)?n:s||f_(e)||n}const C_=async function(e){const t=this.getOffsetParent||bm,n=this.getDimensions,s=await n(e.floating);return{reference:N_(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function T_(e){return It(e).direction==="rtl"}const E_={convertOffsetParentRelativeRectToViewportRelativeRect:g_,getDocumentElement:Yt,getClippingRect:S_,getOffsetParent:bm,getElementRects:C_,getClientRects:b_,getDimensions:__,getScale:bs,isElement:At,isRTL:T_};function vm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function R_(e,t){let n=null,s;const o=Yt(e);function i(){var l;clearTimeout(s),(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=Ur(f),y=Ur(o.clientWidth-(p+m)),b=Ur(o.clientHeight-(f+h)),w=Ur(p),j={rootMargin:-x+"px "+-y+"px "+-b+"px "+-w+"px",threshold:mt(0,kn(1,u))||1};let k=!0;function S(_){const N=_[0].intersectionRatio;if(N!==u){if(!k)return a();N?a(!1,N):s=setTimeout(()=>{a(!1,1e-7)},1e3)}N===1&&!vm(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 M_(e,t,n,s){s===void 0&&(s={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=s,d=tc(e),p=o||i?[...d?ir(d):[],...ir(t)]:[];p.forEach(w=>{o&&w.addEventListener("scroll",n,{passive:!0}),i&&w.addEventListener("resize",n)});const f=d&&l?R_(d,n):null;let m=-1,h=null;a&&(h=new ResizeObserver(w=>{let[v]=w;v&&v.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,y=u?Zn(e):null;u&&b();function b(){const w=Zn(e);y&&!vm(y,w)&&n(),y=w,x=requestAnimationFrame(b)}return n(),()=>{var w;p.forEach(v=>{o&&v.removeEventListener("scroll",n),i&&v.removeEventListener("resize",n)}),f?.(),(w=h)==null||w.disconnect(),h=null,u&&cancelAnimationFrame(x)}}const A_=n_,I_=s_,P_=QS,O_=o_,z_=e_,Ou=XS,L_=r_,$_=(e,t,n)=>{const s=new Map,o={platform:E_,...n},i={...o.platform,_c:s};return YS(e,t,{...o,platform:i})};var D_=typeof document<"u",F_=function(){},co=D_?c.useLayoutEffect:F_;function Mo(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,s,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(s=n;s--!==0;)if(!Mo(e[s],t[s]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(s=n;s--!==0;)if(!{}.hasOwnProperty.call(t,o[s]))return!1;for(s=n;s--!==0;){const i=o[s];if(!(i==="_owner"&&e.$$typeof)&&!Mo(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function ym(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function zu(e,t){const n=ym(e);return Math.round(t*n)/n}function Vi(e){const t=c.useRef(e);return co(()=>{t.current=e}),t}function U_(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:s=[],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(s);Mo(m,s)||h(s);const[x,y]=c.useState(null),[b,w]=c.useState(null),v=c.useCallback(H=>{H!==_.current&&(_.current=H,y(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),I=c.useRef(p),P=u!=null,M=Vi(u),C=Vi(o),A=Vi(d),F=c.useCallback(()=>{if(!_.current||!N.current)return;const H={placement:t,strategy:n,middleware:m};C.current&&(H.platform=C.current),$_(_.current,N.current,H).then(L=>{const X={...L,isPositioned:A.current!==!1};U.current&&!Mo(I.current,X)&&(I.current=X,Is.flushSync(()=>{f(X)}))})},[m,t,n,C,A]);co(()=>{d===!1&&I.current.isPositioned&&(I.current.isPositioned=!1,f(H=>({...H,isPositioned:!1})))},[d]);const U=c.useRef(!1);co(()=>(U.current=!0,()=>{U.current=!1}),[]),co(()=>{if(k&&(_.current=k),S&&(N.current=S),k&&S){if(M.current)return M.current(k,S,F);F()}},[k,S,F,M,P]);const G=c.useMemo(()=>({reference:_,floating:N,setReference:v,setFloating:j}),[v,j]),K=c.useMemo(()=>({reference:k,floating:S}),[k,S]),Z=c.useMemo(()=>{const H={position:n,left:0,top:0};if(!K.floating)return H;const L=zu(K.floating,p.x),X=zu(K.floating,p.y);return l?{...H,transform:"translate("+L+"px, "+X+"px)",...ym(K.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:L,top:X}},[n,l,K.floating,p.x,p.y]);return c.useMemo(()=>({...p,update:F,refs:G,elements:K,floatingStyles:Z}),[p,F,G,K,Z])}const B_=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:s,padding:o}=typeof e=="function"?e(n):e;return s&&t(s)?s.current!=null?Ou({element:s.current,padding:o}).fn(n):{}:s?Ou({element:s,padding:o}).fn(n):{}}}},q_=(e,t)=>({...A_(e),options:[e,t]}),H_=(e,t)=>({...I_(e),options:[e,t]}),V_=(e,t)=>({...L_(e),options:[e,t]}),W_=(e,t)=>({...P_(e),options:[e,t]}),Z_=(e,t)=>({...O_(e),options:[e,t]}),K_=(e,t)=>({...z_(e),options:[e,t]}),G_=(e,t)=>({...B_(e),options:[e,t]});var J_="Arrow",wm=c.forwardRef((e,t)=>{const{children:n,width:s=10,height:o=5,...i}=e;return r.jsx(xe.svg,{...i,ref:t,width:s,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:r.jsx("polygon",{points:"0,0 30,0 15,10"})})});wm.displayName=J_;var Y_=wm,nc="Popper",[jm,fi]=dn(nc),[X_,km]=jm(nc),Sm=e=>{const{__scopePopper:t,children:n}=e,[s,o]=c.useState(null),[i,a]=c.useState(void 0);return r.jsx(X_,{scope:t,anchor:s,onAnchorChange:o,placementState:i,setPlacementState:a,children:n})};Sm.displayName=nc;var _m="PopperAnchor",Nm=c.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:s,...o}=e,i=km(_m,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(!s)return;const x=p.current;p.current=s.current,x!==p.current&&l(p.current)});const f=i.placementState&&rc(i.placementState),m=f?.[0],h=f?.[1];return s?null:r.jsx(xe.div,{"data-radix-popper-side":m,"data-radix-popper-align":h,...o,ref:d})});Nm.displayName=_m;var sc="PopperContent",[Q_,eN]=jm(sc),Cm=c.forwardRef((e,t)=>{const{__scopePopper:n,side:s="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,...y}=e,b=km(sc,n),[w,v]=c.useState(null),j=Re(t,v),[k,S]=c.useState(null),_=$S(k),N=_?.width??0,I=_?.height??0,P=s+(i!=="center"?"-"+i:""),M=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},C=Array.isArray(d)?d:[d],A=C.length>0,F={padding:M,boundary:C.filter(nN),altBoundary:A},{refs:U,floatingStyles:G,placement:K,isPositioned:Z,middlewareData:H}=U_({strategy:"fixed",placement:P,whileElementsMounted:(...we)=>M_(...we,{animationFrame:h==="always"}),elements:{reference:b.anchor},middleware:[q_({mainAxis:o+I,alignmentAxis:a}),u&&H_({mainAxis:!0,crossAxis:!1,limiter:f==="partial"?V_():void 0,...F}),u&&W_({...F}),Z_({...F,apply:({elements:we,rects:je,availableWidth:ue,availableHeight:le})=>{const{width:ge,height:ke}=je.reference,be=we.floating.style;be.setProperty("--radix-popper-available-width",`${ue}px`),be.setProperty("--radix-popper-available-height",`${le}px`),be.setProperty("--radix-popper-anchor-width",`${ge}px`),be.setProperty("--radix-popper-anchor-height",`${ke}px`)}}),k&&G_({element:k,padding:l}),sN({arrowWidth:N,arrowHeight:I}),m&&K_({strategy:"referenceHidden",...F,boundary:A?F.boundary:void 0})]}),L=b.setPlacementState;Ke(()=>(L(K),()=>{L(void 0)}),[K,L]);const[X,Y]=rc(K),ye=Ye(x);Ke(()=>{Z&&ye?.()},[Z,ye]);const he=H.arrow?.x,ie=H.arrow?.y,D=H.arrow?.centerOffset!==0,[Ce,te]=c.useState();return Ke(()=>{w&&te(window.getComputedStyle(w).zIndex)},[w]),r.jsx("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:Z?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Ce,"--radix-popper-transform-origin":[H.transformOrigin?.x,H.transformOrigin?.y].join(" "),...H.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:r.jsx(Q_,{scope:n,placedSide:X,placedAlign:Y,onArrowChange:S,arrowX:he,arrowY:ie,shouldHideArrow:D,children:r.jsx(xe.div,{"data-side":X,"data-align":Y,...y,ref:j,style:{...y.style,animation:Z?void 0:"none"}})})})});Cm.displayName=sc;var Tm="PopperArrow",tN={top:"bottom",right:"left",bottom:"top",left:"right"},Em=c.forwardRef(function(t,n){const{__scopePopper:s,...o}=t,i=eN(Tm,s),a=tN[i.placedSide];return r.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:r.jsx(Y_,{...o,ref:n,style:{...o.style,display:"block"}})})});Em.displayName=Tm;function nN(e){return e!==null}var sN=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:s,middlewareData:o}=t,a=o.arrow?.centerOffset!==0,l=a?0:e.arrowWidth,u=a?0:e.arrowHeight,[d,p]=rc(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="",y="";return d==="bottom"?(x=a?f:`${m}px`,y=`${-u}px`):d==="top"?(x=a?f:`${m}px`,y=`${s.floating.height+u}px`):d==="right"?(x=`${-u}px`,y=a?f:`${h}px`):d==="left"&&(x=`${s.floating.width+u}px`,y=a?f:`${h}px`),{data:{x,y}}}});function rc(e){const[t,n="center"]=e.split("-");return[t,n]}var Rm=Sm,Mm=Nm,Am=Cm,Im=Em,Wi=!1;function rN(){const[e,t]=c.useState(Wi);return c.useEffect(()=>{Wi||(Wi=!0,t(!0))},[]),e}var Pm=Ko[" useSyncExternalStore ".trim().toString()];function oN(){return()=>{}}function iN(){return Pm(oN,()=>!0,()=>!1)}var aN=typeof Pm=="function"?iN:rN,Zi="rovingFocusGroup.onEntryFocus",lN={bubbles:!1,cancelable:!0},jr="RovingFocusGroup",[Ua,Om,cN]=Af(jr),[uN,zm]=dn(jr,[cN]),[dN,pN]=uN(jr),Lm=c.forwardRef((e,t)=>r.jsx(Ua.Provider,{scope:e.__scopeRovingFocusGroup,children:r.jsx(Ua.Slot,{scope:e.__scopeRovingFocusGroup,children:r.jsx(fN,{...e,ref:t})})}));Lm.displayName=jr;var fN=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:s,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=ri(i),[y,b]=Wn({prop:a,defaultProp:l??null,onChange:u,caller:jr}),[w,v]=c.useState(!1),j=Ye(d),k=Om(n),S=c.useRef(!1),[_,N]=c.useState(0);return c.useEffect(()=>{const I=m.current;if(I)return I.addEventListener(Zi,j),()=>I.removeEventListener(Zi,j)},[j]),r.jsx(dN,{scope:n,orientation:s,dir:x,loop:o,currentTabStopId:y,onItemFocus:c.useCallback(I=>b(I),[b]),onItemShiftTab:c.useCallback(()=>v(!0),[]),onFocusableItemAdd:c.useCallback(()=>N(I=>I+1),[]),onFocusableItemRemove:c.useCallback(()=>N(I=>I-1),[]),children:r.jsx(xe.div,{tabIndex:w||_===0?-1:0,"data-orientation":s,...f,ref:h,style:{outline:"none",...e.style},onMouseDown:pe(e.onMouseDown,()=>{S.current=!0}),onFocus:pe(e.onFocus,I=>{const P=!S.current;if(I.target===I.currentTarget&&P&&!w){const M=new CustomEvent(Zi,lN);if(I.currentTarget.dispatchEvent(M),!M.defaultPrevented){const C=k().filter(K=>K.focusable),A=C.find(K=>K.active),F=C.find(K=>K.id===y),G=[A,F,...C].filter(Boolean).map(K=>K.ref.current);Fm(G,p)}}S.current=!1}),onBlur:pe(e.onBlur,()=>v(!1))})})}),$m="RovingFocusGroupItem",Dm=c.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:s=!0,active:o=!1,tabStopId:i,children:a,...l}=e,u=Vt(),d=i||u,p=pN($m,n),f=p.currentTabStopId===d,m=Om(n),{onFocusableItemAdd:h,onFocusableItemRemove:x,currentTabStopId:y}=p,b=aN();return Ke(()=>{if(!(!b||!s))return h(),()=>x()},[b,s,h,x]),c.useEffect(()=>{if(!(b||!s))return h(),()=>x()},[b,s,h,x]),r.jsx(Ua.ItemSlot,{scope:n,id:d,focusable:s,active:o,children:r.jsx(xe.span,{tabIndex:f?0:-1,"data-orientation":p.orientation,...l,ref:t,onMouseDown:pe(e.onMouseDown,w=>{s?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 v=xN(w,p.orientation,p.dir);if(v!==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(v==="last")k.reverse();else if(v==="prev"||v==="next"){v==="prev"&&k.reverse();const S=k.indexOf(w.currentTarget);k=p.loop?gN(k,S+1):k.slice(S+1)}setTimeout(()=>Fm(k))}}),children:typeof a=="function"?a({isCurrentTabStop:f,hasTabStop:y!=null}):a})})});Dm.displayName=$m;var mN={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function hN(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function xN(e,t,n){const s=hN(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(s))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(s)))return mN[s]}function Fm(e,t=!1){const n=document.activeElement;for(const s of e)if(s===n||(s.focus({preventScroll:t}),document.activeElement!==n))return}function gN(e,t){return e.map((n,s)=>e[(t+s)%e.length])}var bN=Lm,vN=Dm;function Ba(e,[t,n]){return Math.min(n,Math.max(t,e))}function yN(e,t){return c.useReducer((n,s)=>t[n][s]??n,e)}var oc="ScrollArea",[Um]=dn(oc),[wN,kt]=Um(oc),Bm=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:s="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),[y,b]=c.useState(null),[w,v]=c.useState(0),[j,k]=c.useState(0),[S,_]=c.useState(!1),[N,I]=c.useState(!1),P=Re(t,u),M=ri(o);return r.jsx(wN,{scope:n,type:s,dir:M,scrollHideDelay:i,scrollArea:l,viewport:d,onViewportChange:p,content:f,onContentChange:m,scrollbarX:h,onScrollbarXChange:x,scrollbarXEnabled:S,onScrollbarXEnabledChange:_,scrollbarY:y,onScrollbarYChange:b,scrollbarYEnabled:N,onScrollbarYEnabledChange:I,onCornerWidthChange:v,onCornerHeightChange:k,children:r.jsx(xe.div,{dir:M,...a,ref:P,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":j+"px",...e.style}})})});Bm.displayName=oc;var qm="ScrollAreaViewport",Hm=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:s,nonce:o,...i}=e,a=kt(qm,n),l=c.useRef(null),u=Re(t,l,a.onViewportChange);return r.jsxs(r.Fragment,{children:[r.jsx(jN,{nonce:o}),r.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:r.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})});Hm.displayName=qm;var jN=c.memo(({nonce:e})=>r.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),Xt="ScrollAreaScrollbar",Vm=c.forwardRef((e,t)=>{const{forceMount:n,...s}=e,o=kt(Xt,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"?r.jsx(kN,{...s,ref:t,forceMount:n}):o.type==="scroll"?r.jsx(SN,{...s,ref:t,forceMount:n}):o.type==="auto"?r.jsx(Wm,{...s,ref:t,forceMount:n}):o.type==="always"?r.jsx(ic,{...s,ref:t,"data-state":"visible"}):null});Vm.displayName=Xt;var kN=c.forwardRef((e,t)=>{const{forceMount:n,...s}=e,o=kt(Xt,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]),r.jsx(vt,{present:n||i,children:r.jsx(Wm,{"data-state":i?"visible":"hidden",...s,ref:t})})}),SN=c.forwardRef((e,t)=>{const{forceMount:n,...s}=e,o=kt(Xt,e.__scopeScrollArea),i=e.orientation==="horizontal",a=hi(()=>u("SCROLL_END"),100),[l,u]=yN("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]),r.jsx(vt,{present:n||l!=="hidden",children:r.jsx(ic,{"data-state":l==="hidden"?"hidden":"visible",...s,ref:t,onPointerEnter:pe(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:pe(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),Wm=c.forwardRef((e,t)=>{const n=kt(Xt,e.__scopeScrollArea),{forceMount:s,...o}=e,[i,a]=c.useState(!1),l=e.orientation==="horizontal",u=hi(()=>{if(n.viewport){const d=n.viewport.offsetWidth<n.viewport.scrollWidth,p=n.viewport.offsetHeight<n.viewport.scrollHeight;a(l?d:p)}},10);return Es(n.viewport,u),Es(n.content,u),r.jsx(vt,{present:s||i,children:r.jsx(ic,{"data-state":i?"visible":"hidden",...o,ref:t})})}),ic=c.forwardRef((e,t)=>{const{orientation:n="vertical",...s}=e,o=kt(Xt,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=Ym(l.viewport,l.content),p={...s,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 RN(m,a.current,l,h)}return n==="horizontal"?r.jsx(_N,{...p,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollLeft,h=Lu(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"?r.jsx(NN,{...p,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){const m=o.viewport.scrollTop,h=Lu(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}),_N=c.forwardRef((e,t)=>{const{sizes:n,onSizesChange:s,...o}=e,i=kt(Xt,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]),r.jsx(Km,{"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":mi(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),Qm(m,f)&&p.preventDefault()}},onResize:()=>{u.current&&i.viewport&&a&&s({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:Io(a.paddingLeft),paddingEnd:Io(a.paddingRight)}})}})}),NN=c.forwardRef((e,t)=>{const{sizes:n,onSizesChange:s,...o}=e,i=kt(Xt,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]),r.jsx(Km,{"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":mi(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),Qm(m,f)&&p.preventDefault()}},onResize:()=>{u.current&&i.viewport&&a&&s({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:Io(a.paddingTop),paddingEnd:Io(a.paddingBottom)}})}})}),[CN,Zm]=Um(Xt),Km=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:s,hasThumb:o,onThumbChange:i,onThumbPointerUp:a,onThumbPointerDown:l,onThumbPositionChange:u,onDragScroll:d,onWheelScroll:p,onResize:f,...m}=e,h=kt(Xt,n),[x,y]=c.useState(null),b=Re(t,y),w=c.useRef(null),v=c.useRef(""),j=h.viewport,k=s.content-s.viewport,S=Ye(p),_=Ye(u),N=hi(f,10);function I(P){if(w.current){const M=P.clientX-w.current.left,C=P.clientY-w.current.top;d({x:M,y:C})}}return c.useEffect(()=>{const P=M=>{const C=M.target;x?.contains(C)&&S(M,k)};return document.addEventListener("wheel",P,{passive:!1}),()=>document.removeEventListener("wheel",P,{passive:!1})},[j,x,k,S]),c.useEffect(_,[s,_]),Es(x,N),Es(h.content,N),r.jsx(CN,{scope:n,scrollbar:x,hasThumb:o,onThumbChange:Ye(i),onThumbPointerUp:Ye(a),onThumbPositionChange:_,onThumbPointerDown:Ye(l),children:r.jsx(xe.div,{...m,ref:b,style:{position:"absolute",...m.style},onPointerDown:pe(e.onPointerDown,P=>{P.button===0&&(P.target.setPointerCapture(P.pointerId),w.current=x.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",h.viewport&&(h.viewport.style.scrollBehavior="auto"),I(P))}),onPointerMove:pe(e.onPointerMove,I),onPointerUp:pe(e.onPointerUp,P=>{const M=P.target;M.hasPointerCapture(P.pointerId)&&M.releasePointerCapture(P.pointerId),document.body.style.webkitUserSelect=v.current,h.viewport&&(h.viewport.style.scrollBehavior=""),w.current=null})})})}),Ao="ScrollAreaThumb",Gm=c.forwardRef((e,t)=>{const{forceMount:n,...s}=e,o=Zm(Ao,e.__scopeScrollArea);return r.jsx(vt,{present:n||o.hasThumb,children:r.jsx(TN,{ref:t,...s})})}),TN=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:s,...o}=e,i=kt(Ao,n),a=Zm(Ao,n),{onThumbPositionChange:l}=a,u=Re(t,a.onThumbChange),d=c.useRef(void 0),p=hi(()=>{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=MN(f,l);d.current=h,l()}};return l(),f.addEventListener("scroll",m),()=>f.removeEventListener("scroll",m)}},[i.viewport,p,l]),r.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)",...s},onPointerDownCapture:pe(e.onPointerDownCapture,f=>{const h=f.target.getBoundingClientRect(),x=f.clientX-h.left,y=f.clientY-h.top;a.onThumbPointerDown({x,y})}),onPointerUp:pe(e.onPointerUp,a.onThumbPointerUp)})});Gm.displayName=Ao;var ac="ScrollAreaCorner",Jm=c.forwardRef((e,t)=>{const n=kt(ac,e.__scopeScrollArea),s=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&s?r.jsx(EN,{...e,ref:t}):null});Jm.displayName=ac;var EN=c.forwardRef((e,t)=>{const{__scopeScrollArea:n,...s}=e,o=kt(ac,n),[i,a]=c.useState(0),[l,u]=c.useState(0),d=!!(i&&l),{onCornerWidthChange:p,onCornerHeightChange:f}=o;return Es(o.scrollbarX,()=>{const m=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(m),u(m)}),Es(o.scrollbarY,()=>{const m=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(m),a(m)}),c.useEffect(()=>()=>{p(0),f(0)},[p,f]),d?r.jsx(xe.div,{...s,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 Io(e){return e?parseInt(e,10):0}function Ym(e,t){const n=e/t;return isNaN(n)?0:n}function mi(e){const t=Ym(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=(e.scrollbar.size-n)*t;return Math.max(s,18)}function RN(e,t,n,s="ltr"){const o=mi(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=s==="ltr"?[0,p]:[p*-1,0];return Xm([u,d],f)(e)}function Lu(e,t,n="ltr"){const s=mi(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,a=t.content-t.viewport,l=i-s,u=n==="ltr"?[0,a]:[a*-1,0],d=Ba(e,u);return Xm([0,a],[0,l])(d)}function Xm(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const s=(t[1]-t[0])/(e[1]-e[0]);return t[0]+s*(n-e[0])}}function Qm(e,t){return e>0&&e<t}var MN=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},s=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,s=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(s)};function hi(e,t){const n=Ye(e),s=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(s.current),[]),c.useCallback(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(n,t)},[n,t])}function Es(e,t){const n=Ye(t);Ke(()=>{let s=0;if(e){const o=new ResizeObserver(()=>{cancelAnimationFrame(s),s=window.requestAnimationFrame(n)});return o.observe(e),()=>{window.cancelAnimationFrame(s),o.unobserve(e)}}},[e,n])}var AN=Bm,IN=Hm,PN=Jm,ON=[" ","Enter","ArrowUp","ArrowDown"],zN=[" ","Enter"],Kn="Select",[xi,gi,LN]=Af(Kn),[Xn]=dn(Kn,[LN,fi]),bi=fi(),[$N,En]=Xn(Kn),[DN,FN]=Xn(Kn),UN="SelectProvider";function eh(e){const{__scopeSelect:t,children:n,open:s,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:y}=e,b=bi(t),[w,v]=c.useState(null),[j,k]=c.useState(null),[S,_]=c.useState(!1),N=ri(d),[I,P]=Wn({prop:s,defaultProp:o??!1,onChange:i,caller:Kn}),[M,C]=Wn({prop:a,defaultProp:l,onChange:u,caller:Kn}),A=c.useRef(null),F=c.useRef(M);c.useEffect(()=>{const ye=x?w?.ownerDocument.getElementById(x):w?.form;if(ye instanceof HTMLFormElement){const he=()=>C(F.current);return ye.addEventListener("reset",he),()=>ye.removeEventListener("reset",he)}},[x,w,C]);const U=w?!!x||!!w.closest("form"):!0,[G,K]=c.useState(new Set),Z=Vt(),H=Array.from(G).map(ye=>ye.props.value).join(";"),L=c.useCallback(ye=>{K(he=>new Set(he).add(ye))},[]),X=c.useCallback(ye=>{K(he=>{const ie=new Set(he);return ie.delete(ye),ie})},[]),Y={required:h,trigger:w,onTriggerChange:v,valueNode:j,onValueNodeChange:k,valueNodeHasChildren:S,onValueNodeHasChildrenChange:_,contentId:Z,value:M,onValueChange:C,open:I,onOpenChange:P,dir:N,triggerPointerDownPosRef:A,disabled:m,name:p,autoComplete:f,form:x,nativeOptions:G,nativeSelectKey:H,isFormControl:U};return r.jsx(Rm,{...b,children:r.jsx($N,{scope:t,...Y,children:r.jsx(xi.Provider,{scope:t,children:r.jsx(DN,{scope:t,onNativeOptionAdd:L,onNativeOptionRemove:X,children:rC(y)?y(Y):n})})})})}eh.displayName=UN;var th=e=>{const{__scopeSelect:t,children:n,...s}=e;return r.jsx(eh,{__scopeSelect:t,...s,internal_do_not_use_render:({isFormControl:o})=>r.jsxs(r.Fragment,{children:[n,o?r.jsx(Ch,{__scopeSelect:t}):null]})})};th.displayName=Kn;var nh="SelectTrigger",sh=c.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:s=!1,...o}=e,i=bi(n),a=En(nh,n),l=a.disabled||s,u=Re(t,a.onTriggerChange),d=gi(n),p=c.useRef("touch"),[f,m,h]=Th(y=>{const b=d().filter(j=>!j.disabled),w=b.find(j=>j.value===a.value),v=Eh(b,y,w);v!==void 0&&a.onValueChange(v.value)}),x=y=>{l||(a.onOpenChange(!0),h()),y&&(a.triggerPointerDownPosRef.current={x:Math.round(y.pageX),y:Math.round(y.pageY)})};return r.jsx(Mm,{asChild:!0,...i,children:r.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":vi(a.value)?"":void 0,...o,ref:u,onClick:pe(o.onClick,y=>{y.currentTarget.focus(),p.current!=="mouse"&&x(y)}),onPointerDown:pe(o.onPointerDown,y=>{p.current=y.pointerType;const b=y.target;b.hasPointerCapture(y.pointerId)&&b.releasePointerCapture(y.pointerId),y.button===0&&y.ctrlKey===!1&&y.pointerType==="mouse"&&(x(y),y.preventDefault())}),onKeyDown:pe(o.onKeyDown,y=>{const b=f.current!=="";!(y.ctrlKey||y.altKey||y.metaKey)&&y.key.length===1&&m(y.key),!(b&&y.key===" ")&&ON.includes(y.key)&&(x(),y.preventDefault())})})})});sh.displayName=nh;var rh="SelectValue",oh=c.forwardRef((e,t)=>{const{__scopeSelect:n,className:s,style:o,children:i,placeholder:a="",...l}=e,u=En(rh,n),{onValueNodeHasChildrenChange:d}=u,p=i!==void 0,f=Re(t,u.onValueNodeChange);Ke(()=>{d(p)},[d,p]);const m=vi(u.value);return r.jsx(xe.span,{...l,asChild:m?!1:l.asChild,ref:f,style:{pointerEvents:"none"},children:r.jsx(c.Fragment,{children:m?a:i},m?"placeholder":"value")})});oh.displayName=rh;var BN="SelectIcon",ih=c.forwardRef((e,t)=>{const{__scopeSelect:n,children:s,...o}=e;return r.jsx(xe.span,{"aria-hidden":!0,...o,ref:t,children:s||"▼"})});ih.displayName=BN;var ah="SelectPortal",[qN,HN]=Xn(ah,{forceMount:void 0}),lh=e=>{const{__scopeSelect:t,forceMount:n,...s}=e;return r.jsx(qN,{scope:e.__scopeSelect,forceMount:n,children:r.jsx(ii,{asChild:!0,...s})})};lh.displayName=ah;var _n="SelectContent",ch=c.forwardRef((e,t)=>{const n=HN(_n,e.__scopeSelect),{forceMount:s=n.forceMount,...o}=e,i=En(_n,e.__scopeSelect),[a,l]=c.useState();return Ke(()=>{l(new DocumentFragment)},[]),r.jsx(vt,{present:s||i.open,children:({present:u})=>u?r.jsx(ph,{...o,ref:t}):r.jsx(uh,{...o,fragment:a})})});ch.displayName=_n;var uh=c.forwardRef((e,t)=>{const{__scopeSelect:n,children:s,fragment:o}=e;return o?Is.createPortal(r.jsx(dh,{scope:n,children:r.jsx(xi.Slot,{scope:n,children:r.jsx("div",{ref:t,children:s})})}),o):null});uh.displayName="SelectContentFragment";var Rt=10,[dh,Rn]=Xn(_n),VN="SelectContentImpl",WN=Ns("SelectContent.RemoveScroll"),ph=c.forwardRef((e,t)=>{const{__scopeSelect:n}=e,{position:s="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:y,avoidCollisions:b,...w}=e,v=En(_n,n),[j,k]=c.useState(null),[S,_]=c.useState(null),N=Re(t,k),[I,P]=c.useState(null),[M,C]=c.useState(null),A=gi(n),[F,U]=c.useState(!1),G=c.useRef(!1);c.useEffect(()=>{if(j)return Kf(j)},[j]),Df();const K=c.useCallback(te=>{const[we,...je]=A().map(ge=>ge.ref.current),[ue]=je.slice(-1),le=document.activeElement;for(const ge of te)if(ge===le||(ge?.scrollIntoView({block:"nearest"}),ge===we&&S&&(S.scrollTop=0),ge===ue&&S&&(S.scrollTop=S.scrollHeight),ge?.focus(),document.activeElement!==le))return},[A,S]),Z=c.useCallback(()=>K([I,j]),[K,I,j]);c.useEffect(()=>{F&&Z()},[F,Z]);const{onOpenChange:H,triggerPointerDownPosRef:L}=v;c.useEffect(()=>{if(j){let te={x:0,y:0};const we=ue=>{te={x:Math.abs(Math.round(ue.pageX)-(L.current?.x??0)),y:Math.abs(Math.round(ue.pageY)-(L.current?.y??0))}},je=ue=>{te.x<=10&&te.y<=10?ue.preventDefault():ue.composedPath().includes(j)||H(!1),document.removeEventListener("pointermove",we),L.current=null};return L.current!==null&&(document.addEventListener("pointermove",we),document.addEventListener("pointerup",je,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",we),document.removeEventListener("pointerup",je,{capture:!0})}}},[j,H,L]),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,Y]=Th(te=>{const we=A().filter(le=>!le.disabled),je=we.find(le=>le.ref.current===document.activeElement),ue=Eh(we,te,je);ue&&setTimeout(()=>ue.ref.current?.focus())}),ye=c.useCallback((te,we,je)=>{const ue=!G.current&&!je;(v.value!==void 0&&v.value===we||ue)&&(P(te),ue&&(G.current=!0))},[v.value]),he=c.useCallback(()=>j?.focus(),[j]),ie=c.useCallback((te,we,je)=>{const ue=!G.current&&!je;(v.value!==void 0&&v.value===we||ue)&&C(te)},[v.value]),D=s==="popper"?qa:fh,Ce=D===qa?{side:l,sideOffset:u,align:d,alignOffset:p,arrowPadding:f,collisionBoundary:m,collisionPadding:h,sticky:x,hideWhenDetached:y,avoidCollisions:b}:{};return r.jsx(dh,{scope:n,content:j,viewport:S,onViewportChange:_,itemRefCallback:ye,selectedItem:I,onItemLeave:he,itemTextRefCallback:ie,focusSelectedItem:Z,selectedItemText:M,position:s,isPositioned:F,searchRef:X,children:r.jsx(Zl,{as:WN,allowPinchZoom:!0,children:r.jsx(Wl,{asChild:!0,trapped:v.open,onMountAutoFocus:te=>{te.preventDefault()},onUnmountAutoFocus:pe(o,te=>{v.trigger?.focus({preventScroll:!0}),te.preventDefault()}),children:r.jsx(oi,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:te=>te.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:r.jsx(D,{role:"listbox",id:v.contentId,"data-state":v.open?"open":"closed",dir:v.dir,onContextMenu:te=>te.preventDefault(),...w,...Ce,onPlaced:()=>U(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:pe(w.onKeyDown,te=>{const we=te.ctrlKey||te.altKey||te.metaKey;if(te.key==="Tab"&&te.preventDefault(),!we&&te.key.length===1&&Y(te.key),["ArrowUp","ArrowDown","Home","End"].includes(te.key)){let ue=A().filter(le=>!le.disabled).map(le=>le.ref.current);if(["ArrowUp","End"].includes(te.key)&&(ue=ue.slice().reverse()),["ArrowUp","ArrowDown"].includes(te.key)){const le=te.target,ge=ue.indexOf(le);ue=ue.slice(ge+1)}setTimeout(()=>K(ue)),te.preventDefault()}})})})})})})});ph.displayName=VN;var ZN="SelectItemAlignedPosition",fh=c.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:s,...o}=e,i=En(_n,n),a=Rn(_n,n),[l,u]=c.useState(null),[d,p]=c.useState(null),f=Re(t,p),m=gi(n),h=c.useRef(!1),x=c.useRef(!0),{viewport:y,selectedItem:b,selectedItemText:w,focusSelectedItem:v}=a,j=c.useCallback(()=>{if(i.trigger&&i.valueNode&&l&&d&&y&&b&&w){const N=i.trigger.getBoundingClientRect(),I=d.getBoundingClientRect(),P=i.valueNode.getBoundingClientRect(),M=w.getBoundingClientRect();if(i.dir!=="rtl"){const le=M.left-I.left,ge=P.left-le,ke=N.left-ge,be=N.width+ke,Ve=Math.max(be,I.width),Ue=window.innerWidth-Rt,We=Ba(ge,[Rt,Math.max(Rt,Ue-Ve)]);l.style.minWidth=be+"px",l.style.left=We+"px"}else{const le=I.right-M.right,ge=window.innerWidth-P.right-le,ke=window.innerWidth-N.right-ge,be=N.width+ke,Ve=Math.max(be,I.width),Ue=window.innerWidth-Rt,We=Ba(ge,[Rt,Math.max(Rt,Ue-Ve)]);l.style.minWidth=be+"px",l.style.right=We+"px"}const C=m(),A=window.innerHeight-Rt*2,F=y.scrollHeight,U=window.getComputedStyle(d),G=parseInt(U.borderTopWidth,10),K=parseInt(U.paddingTop,10),Z=parseInt(U.borderBottomWidth,10),H=parseInt(U.paddingBottom,10),L=G+K+F+H+Z,X=Math.min(b.offsetHeight*5,L),Y=window.getComputedStyle(y),ye=parseInt(Y.paddingTop,10),he=parseInt(Y.paddingBottom,10),ie=N.top+N.height/2-Rt,D=A-ie,Ce=b.offsetHeight/2,te=b.offsetTop+Ce,we=G+K+te,je=L-we;if(we<=ie){const le=C.length>0&&b===C[C.length-1].ref.current;l.style.bottom="0px";const ge=d.clientHeight-y.offsetTop-y.offsetHeight,ke=Math.max(D,Ce+(le?he:0)+ge+Z),be=we+ke;l.style.height=be+"px"}else{const le=C.length>0&&b===C[0].ref.current;l.style.top="0px";const ke=Math.max(ie,G+y.offsetTop+(le?ye:0)+Ce)+je;l.style.height=ke+"px",y.scrollTop=we-ie+y.offsetTop}l.style.margin=`${Rt}px 0`,l.style.minHeight=X+"px",l.style.maxHeight=A+"px",s?.(),requestAnimationFrame(()=>h.current=!0)}},[m,i.trigger,i.valueNode,l,d,y,b,w,i.dir,s]);Ke(()=>j(),[j]);const[k,S]=c.useState();Ke(()=>{d&&S(window.getComputedStyle(d).zIndex)},[d]);const _=c.useCallback(N=>{N&&x.current===!0&&(j(),v?.(),x.current=!1)},[j,v]);return r.jsx(GN,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:h,onScrollButtonChange:_,children:r.jsx("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:r.jsx(xe.div,{...o,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});fh.displayName=ZN;var KN="SelectPopperPosition",qa=c.forwardRef((e,t)=>{const{__scopeSelect:n,align:s="start",collisionPadding:o=Rt,...i}=e,a=bi(n);return r.jsx(Am,{...a,...i,ref:t,align:s,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)"}})});qa.displayName=KN;var[GN,lc]=Xn(_n,{}),Ha="SelectViewport",mh=c.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:s,...o}=e,i=Rn(Ha,n),a=lc(Ha,n),l=Re(t,i.onViewportChange),u=c.useRef(0);return r.jsxs(r.Fragment,{children:[r.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:s}),r.jsx(xi.Slot,{scope:n,children:r.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-Rt*2,y=parseFloat(f.style.minHeight),b=parseFloat(f.style.height),w=Math.max(y,b);if(w<x){const v=w+h,j=Math.min(x,v),k=v-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})})})]})});mh.displayName=Ha;var hh="SelectGroup",[JN,YN]=Xn(hh),XN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...s}=e,o=Vt();return r.jsx(JN,{scope:n,id:o,children:r.jsx(xe.div,{role:"group","aria-labelledby":o,...s,ref:t})})});XN.displayName=hh;var xh="SelectLabel",QN=c.forwardRef((e,t)=>{const{__scopeSelect:n,...s}=e,o=YN(xh,n);return r.jsx(xe.div,{id:o.id,...s,ref:t})});QN.displayName=xh;var Po="SelectItem",[eC,gh]=Xn(Po),bh=c.forwardRef((e,t)=>{const{__scopeSelect:n,value:s,disabled:o=!1,textValue:i,...a}=e,l=En(Po,n),u=Rn(Po,n),d=l.value===s,[p,f]=c.useState(i??""),[m,h]=c.useState(!1),x=Ye(j=>u.itemRefCallback?.(j,s,o)),y=Re(t,x),b=Vt(),w=c.useRef("touch"),v=()=>{o||(l.onValueChange(s),l.onOpenChange(!1))};return r.jsx(eC,{scope:n,value:s,disabled:o,textId:b,isSelected:d,onItemTextChange:c.useCallback(j=>{f(k=>k||(j?.textContent??"").trim())},[]),children:r.jsx(xi.ItemSlot,{scope:n,value:s,disabled:o,textValue:p,children:r.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:y,onFocus:pe(a.onFocus,()=>h(!0)),onBlur:pe(a.onBlur,()=>h(!1)),onClick:pe(a.onClick,()=>{w.current!=="mouse"&&v()}),onPointerUp:pe(a.onPointerUp,()=>{w.current==="mouse"&&v()}),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===" "||(zN.includes(j.key)&&v(),j.key===" "&&j.preventDefault())})})})})});bh.displayName=Po;var Js="SelectItemText",vh=c.forwardRef((e,t)=>{const{__scopeSelect:n,className:s,style:o,...i}=e,a=En(Js,n),l=Rn(Js,n),u=gh(Js,n),d=FN(Js,n),[p,f]=c.useState(null),m=Ye(v=>l.itemTextRefCallback?.(v,u.value,u.disabled)),h=Re(t,f,u.onItemTextChange,m),x=p?.textContent,y=c.useMemo(()=>r.jsx("option",{value:u.value,disabled:u.disabled,children:x},u.value),[u.disabled,u.value,x]),{onNativeOptionAdd:b,onNativeOptionRemove:w}=d;return Ke(()=>(b(y),()=>w(y)),[b,w,y]),r.jsxs(r.Fragment,{children:[r.jsx(xe.span,{id:u.textId,...i,ref:h}),u.isSelected&&a.valueNode&&!a.valueNodeHasChildren&&!vi(a.value)?Is.createPortal(i.children,a.valueNode):null]})});vh.displayName=Js;var yh="SelectItemIndicator",wh=c.forwardRef((e,t)=>{const{__scopeSelect:n,...s}=e;return gh(yh,n).isSelected?r.jsx(xe.span,{"aria-hidden":!0,...s,ref:t}):null});wh.displayName=yh;var Va="SelectScrollUpButton",jh=c.forwardRef((e,t)=>{const n=Rn(Va,e.__scopeSelect),s=lc(Va,e.__scopeSelect),[o,i]=c.useState(!1),a=Re(t,s.onScrollButtonChange);return Ke(()=>{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?r.jsx(Sh,{...e,ref:a,onAutoScroll:()=>{const{viewport:l,selectedItem:u}=n;l&&u&&(l.scrollTop=l.scrollTop-u.offsetHeight)}}):null});jh.displayName=Va;var Wa="SelectScrollDownButton",kh=c.forwardRef((e,t)=>{const n=Rn(Wa,e.__scopeSelect),s=lc(Wa,e.__scopeSelect),[o,i]=c.useState(!1),a=Re(t,s.onScrollButtonChange);return Ke(()=>{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?r.jsx(Sh,{...e,ref:a,onAutoScroll:()=>{const{viewport:l,selectedItem:u}=n;l&&u&&(l.scrollTop=l.scrollTop+u.offsetHeight)}}):null});kh.displayName=Wa;var Sh=c.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:s,...o}=e,i=Rn("SelectScrollButton",n),a=c.useRef(null),l=gi(n),u=c.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return c.useEffect(()=>()=>u(),[u]),Ke(()=>{l().find(p=>p.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),r.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(s,50))}),onPointerMove:pe(o.onPointerMove,()=>{i.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(s,50))}),onPointerLeave:pe(o.onPointerLeave,()=>{u()})})}),tC="SelectSeparator",nC=c.forwardRef((e,t)=>{const{__scopeSelect:n,...s}=e;return r.jsx(xe.div,{"aria-hidden":!0,...s,ref:t})});nC.displayName=tC;var _h="SelectArrow",sC=c.forwardRef((e,t)=>{const{__scopeSelect:n,...s}=e,o=bi(n);return Rn(_h,n).position==="popper"?r.jsx(Im,{...o,...s,ref:t}):null});sC.displayName=_h;var Nh="SelectBubbleInput",Ch=c.forwardRef(({__scopeSelect:e,...t},n)=>{const s=En(Nh,e),{value:o,onValueChange:i,required:a,disabled:l,name:u,autoComplete:d,form:p}=s,{nativeOptions:f,nativeSelectKey:m}=s,h=c.useRef(null),x=Re(n,h),y=o??"",b=LS(y),w=Array.from(f).some(v=>(v.props.value??"")==="");return c.useEffect(()=>{const v=h.current;if(!v)return;const j=window.HTMLSelectElement.prototype,S=Object.getOwnPropertyDescriptor(j,"value").set;if(b!==y&&S){const _=new Event("change",{bubbles:!0});S.call(v,y),v.dispatchEvent(_)}},[b,y]),r.jsxs(xe.select,{"aria-hidden":!0,required:a,tabIndex:-1,name:u,autoComplete:d,disabled:l,form:p,onChange:v=>i(v.target.value),...t,style:{...Rf,...t.style},ref:x,defaultValue:y,children:[vi(o)&&!w?r.jsx("option",{value:""}):null,Array.from(f)]},m)});Ch.displayName=Nh;function rC(e){return typeof e=="function"}function vi(e){return e===""||e===void 0}function Th(e){const t=Ye(e),n=c.useRef(""),s=c.useRef(0),o=c.useCallback(a=>{const l=n.current+a;t(l),(function u(d){n.current=d,window.clearTimeout(s.current),d!==""&&(s.current=window.setTimeout(()=>u(""),1e3))})(l)},[t]),i=c.useCallback(()=>{n.current="",window.clearTimeout(s.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(s.current),[]),[n,o,i]}function Eh(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=oC(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 oC(e,t){return e.map((n,s)=>e[(t+s)%e.length])}var yi="Tabs",[iC]=dn(yi,[zm]),Rh=zm(),[aC,cc]=iC(yi),Mh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:s,onValueChange:o,defaultValue:i,orientation:a="horizontal",dir:l,activationMode:u="automatic",...d}=e,p=ri(l),[f,m]=Wn({prop:s,onChange:o,defaultProp:i??"",caller:yi});return r.jsx(aC,{scope:n,baseId:Vt(),value:f,onValueChange:m,orientation:a,dir:p,activationMode:u,children:r.jsx(xe.div,{dir:p,"data-orientation":a,...d,ref:t})})});Mh.displayName=yi;var Ah="TabsList",Ih=c.forwardRef((e,t)=>{const{__scopeTabs:n,loop:s=!0,...o}=e,i=cc(Ah,n),a=Rh(n);return r.jsx(bN,{asChild:!0,...a,orientation:i.orientation,dir:i.dir,loop:s,children:r.jsx(xe.div,{role:"tablist","aria-orientation":i.orientation,...o,ref:t})})});Ih.displayName=Ah;var Ph="TabsTrigger",Oh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:s,disabled:o=!1,...i}=e,a=cc(Ph,n),l=Rh(n),u=$h(a.baseId,s),d=Dh(a.baseId,s),p=s===a.value;return r.jsx(vN,{asChild:!0,...l,focusable:!o,active:p,children:r.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(s):f.preventDefault()}),onKeyDown:pe(e.onKeyDown,f=>{o||f.target!==f.currentTarget||[" ","Enter"].includes(f.key)&&a.onValueChange(s)}),onFocus:pe(e.onFocus,()=>{const f=a.activationMode!=="manual";!p&&!o&&f&&a.onValueChange(s)})})})});Oh.displayName=Ph;var zh="TabsContent",Lh=c.forwardRef((e,t)=>{const{__scopeTabs:n,value:s,forceMount:o,children:i,...a}=e,l=cc(zh,n),u=$h(l.baseId,s),d=Dh(l.baseId,s),p=s===l.value,f=c.useRef(p);return c.useEffect(()=>{const m=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(m)},[]),r.jsx(vt,{present:o||p,children:({present:m})=>r.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})})});Lh.displayName=zh;function $h(e,t){return`${e}-trigger-${t}`}function Dh(e,t){return`${e}-content-${t}`}var lC=Mh,cC=Ih,uC=Oh,dC=Lh,[wi]=dn("Tooltip",[fi]),ji=fi(),Fh="TooltipProvider",pC=700,Za="tooltip.open",[fC,uc]=wi(Fh),Uh=e=>{const{__scopeTooltip:t,delayDuration:n=pC,skipDelayDuration:s=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)},[]),r.jsx(fC,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:c.useCallback(()=>{s<=0||(window.clearTimeout(u.current),a.current=!1)},[s]),onClose:c.useCallback(()=>{s<=0||(window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,s))},[s]),isPointerInTransitRef:l,onPointerInTransitChange:c.useCallback(d=>{l.current=d},[]),disableHoverableContent:o,children:i})};Uh.displayName=Fh;var ar="Tooltip",[mC,kr]=wi(ar),Bh=e=>{const{__scopeTooltip:t,children:n,open:s,defaultOpen:o,onOpenChange:i,disableHoverableContent:a,delayDuration:l}=e,u=uc(ar,e.__scopeTooltip),d=ji(t),[p,f]=c.useState(null),m=Vt(),h=c.useRef(0),x=a??u.disableHoverableContent,y=l??u.delayDuration,b=c.useRef(!1),[w,v]=Wn({prop:s,defaultProp:o??!1,onChange:N=>{N?(u.onOpen(),document.dispatchEvent(new CustomEvent(Za))):u.onClose(),i?.(N)},caller:ar}),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,v(!0)},[v]),S=c.useCallback(()=>{window.clearTimeout(h.current),h.current=0,v(!1)},[v]),_=c.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{b.current=!0,v(!0),h.current=0},y)},[y,v]);return c.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),r.jsx(Rm,{...d,children:r.jsx(mC,{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})})};Bh.displayName=ar;var Ka="TooltipTrigger",qh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...s}=e,o=kr(Ka,n),i=uc(Ka,n),a=ji(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]),r.jsx(Mm,{asChild:!0,...a,children:r.jsx(xe.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...s,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)})})});qh.displayName=Ka;var dc="TooltipPortal",[hC,xC]=wi(dc,{forceMount:void 0}),Hh=e=>{const{__scopeTooltip:t,forceMount:n,children:s,container:o}=e,i=kr(dc,t);return r.jsx(hC,{scope:t,forceMount:n,children:r.jsx(vt,{present:n||i.open,children:r.jsx(ii,{asChild:!0,container:o,children:s})})})};Hh.displayName=dc;var Rs="TooltipContent",Vh=c.forwardRef((e,t)=>{const n=xC(Rs,e.__scopeTooltip),{forceMount:s=n.forceMount,side:o="top",...i}=e,a=kr(Rs,e.__scopeTooltip);return r.jsx(vt,{present:s||a.open,children:a.disableHoverableContent?r.jsx(Wh,{side:o,...i,ref:t}):r.jsx(gC,{side:o,...i,ref:t})})}),gC=c.forwardRef((e,t)=>{const n=kr(Rs,e.__scopeTooltip),s=uc(Rs,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}=s,m=c.useCallback(()=>{l(null),f(!1)},[f]),h=c.useCallback((x,y)=>{const b=x.currentTarget,w={x:x.clientX,y:x.clientY},v=wC(w,b.getBoundingClientRect()),j=jC(w,v),k=kC(y.getBoundingClientRect()),S=_C([...j,...k]);l(S),f(!0)},[f]);return c.useEffect(()=>()=>m(),[m]),c.useEffect(()=>{if(u&&p){const x=b=>h(b,p),y=b=>h(b,u);return u.addEventListener("pointerleave",x),p.addEventListener("pointerleave",y),()=>{u.removeEventListener("pointerleave",x),p.removeEventListener("pointerleave",y)}}},[u,p,h,m]),c.useEffect(()=>{if(a){const x=y=>{const b=y.target,w={x:y.clientX,y:y.clientY},v=u?.contains(b)||p?.contains(b),j=!SC(w,a);v?m():j&&(m(),d())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[u,p,a,d,m]),r.jsx(Wh,{...e,ref:i})}),[bC,vC]=wi(ar,{isInside:!1}),yC=t5("TooltipContent"),Wh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,children:s,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:a,...l}=e,u=kr(Rs,n),d=ji(n),{onClose:p}=u;return c.useEffect(()=>(document.addEventListener(Za,p),()=>document.removeEventListener(Za,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]),r.jsx(oi,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:f=>f.preventDefault(),onDismiss:p,children:r.jsxs(Am,{"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:[r.jsx(yC,{children:s}),r.jsx(bC,{scope:n,isInside:!0,children:r.jsx(f5,{id:u.contentId,role:"tooltip",children:o||s})})]})})});Vh.displayName=Rs;var Zh="TooltipArrow",Kh=c.forwardRef((e,t)=>{const{__scopeTooltip:n,...s}=e,o=ji(n);return vC(Zh,n).isInside?null:r.jsx(Im,{...o,...s,ref:t})});Kh.displayName=Zh;function wC(e,t){const n=Math.abs(t.top-e.y),s=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,s,o,i)){case i:return"left";case o:return"right";case n:return"top";case s:return"bottom";default:throw new Error("unreachable")}}function jC(e,t,n=5){const s=[];switch(t){case"top":s.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":s.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":s.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":s.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return s}function kC(e){const{top:t,right:n,bottom:s,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:s},{x:o,y:s}]}function SC(e,t){const{x:n,y:s}=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>s!=m>s&&n<(f-d)*(s-p)/(m-p)+d&&(o=!o)}return o}function _C(e){const t=e.slice();return t.sort((n,s)=>n.x<s.x?-1:n.x>s.x?1:n.y<s.y?-1:n.y>s.y?1:0),NC(t)}function NC(e){if(e.length<=1)return e.slice();const t=[];for(let s=0;s<e.length;s++){const o=e[s];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 s=e.length-1;s>=0;s--){const o=e[s];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 CC=Uh,TC=Bh,EC=qh,RC=Hh,MC=Vh,AC=Kh;function Kt({...e}){return r.jsx(Jf,{"data-slot":"dialog",...e})}function Sr({...e}){return r.jsx(Xf,{"data-slot":"dialog-trigger",...e})}function IC({...e}){return r.jsx(em,{"data-slot":"dialog-portal",...e})}function PC({className:e,...t}){return r.jsx(tm,{"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 Gt({className:e,children:t,...n}){return r.jsxs(IC,{children:[r.jsx(PC,{}),r.jsxs(nm,{"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,r.jsxs(cm,{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:[r.jsx(yr,{className:"size-4"}),r.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Qt({className:e,...t}){return r.jsx("div",{"data-slot":"dialog-header",className:$("flex flex-col space-y-1.5 text-center sm:text-left",e),...t})}function en({className:e,...t}){return r.jsx(om,{"data-slot":"dialog-title",className:$("text-lg font-semibold leading-none tracking-tight",e),...t})}function _r({className:e,...t}){return r.jsx(am,{"data-slot":"dialog-description",className:$("text-sm text-muted-foreground",e),...t})}function Gh({open:e,onOpenChange:t,title:n,description:s,confirmLabel:o="Confirm",variant:i="default",onConfirm:a}){return r.jsx(Kt,{open:e,onOpenChange:t,children:r.jsxs(Gt,{children:[r.jsx(Qt,{children:r.jsx(en,{children:n})}),r.jsx("p",{className:"text-sm text-muted-foreground",children:s}),r.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[r.jsx(ee,{variant:"outline",size:"sm",onClick:()=>t(!1),children:"Cancel"}),r.jsx(ee,{variant:i,size:"sm",onClick:()=>{a(),t(!1)},children:o})]})]})})}const OC="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",zC="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",LC="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",$C="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",DC="/assets/agent-inspector-58K1_MsC.ico",FC={"agent-inspector":"Inspector",codex:"Codex",opencode:"OpenCode","mimo-code":"MiMo Code","claude-code":"Claude Code","ai-sdk":"AI SDK"};function Br(e){return e?.toLowerCase()??""}function os(e,t){for(const n of t)if(e.includes(n))return!0;return!1}function pc(e){const t=[Br(e.userAgent),Br(e.conversationId),Br(e.clientProjectFolder)].join(" ");return os(t,["agent-inspector","agent inspector","provider-test"])?"agent-inspector":os(t,["mimocode","mimo-code","mimo code"])?"mimo-code":os(t,["opencode","open-code","open code"])?"opencode":os(t,["claude-code","claude code","claudecode","claude-cli","claude cli"])?"claude-code":os(t,["codex desktop","codex-cli","openai-codex","codex"])?"codex":os(Br(e.userAgent),["ai-sdk","ai/"])?"ai-sdk":"unknown"}function ki(e){switch(e){case"agent-inspector":case"codex":case"opencode":case"mimo-code":case"claude-code":case"ai-sdk":return FC[e];case"unknown":return null}}function UC(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 BC={"agent-inspector":DC,codex:zC,opencode:LC,"mimo-code":$C,"claude-code":OC},qC={"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]"},HC={"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 Si({client:e,className:t,decorative:n=!1}){if(e==="unknown")return null;const s=ki(e);if(s===null)return null;if(e==="ai-sdk")return r.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:s,"aria-hidden":n?!0:void 0,title:s,children:r.jsx(hf,{className:"size-1/2","aria-hidden":"true"})});const o=BC[e];return r.jsx("span",{className:$("inline-flex size-6 shrink-0 items-center justify-center rounded-md border p-0 shadow-sm",qC[e],t),"aria-label":n?void 0:s,"aria-hidden":n?!0:void 0,title:s,children:r.jsx("img",{src:o,alt:"",className:$("size-full object-contain",HC[e]),"aria-hidden":"true"})})}const VC="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",WC="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",ZC="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",KC="/assets/minimax-BPMzvuL-.jpeg",GC="/assets/alibaba-TTwafVwX.svg",JC="/assets/qwen-mMn3f5ul.webp",YC="/assets/zhipuai-BPNAnxo-.svg",XC={"claude-":"anthropic","gpt-":"openai","o1-":"openai","o3-":"openai","deepseek-":"deepseek",MiniMax:"minimax",qwen:"qwen"};function QC(e){return e.replace(/[_\s]+/g,"-").split(/[/:@]/).some(n=>n.startsWith("glm-"))}function e3(e){if(e===null)return"unknown";const t=e.toLowerCase();if(QC(t))return"zhipuai";for(const[n,s]of Object.entries(XC))if(t.startsWith(n.toLowerCase()))return s;return"unknown"}const Qn={width:24,height:24,objectFit:"contain"},t3=Gn.memo(({className:e})=>r.jsx("img",{src:VC,alt:"Anthropic",className:e,style:Qn})),n3=Gn.memo(({className:e})=>r.jsx("img",{src:WC,alt:"OpenAI",className:e,style:{...Qn,background:"white",borderRadius:"4px"}})),s3=Gn.memo(({className:e})=>r.jsx("img",{src:ZC,alt:"DeepSeek",className:e,style:Qn})),r3=Gn.memo(({className:e})=>r.jsx("img",{src:KC,alt:"MiniMax",className:e,style:Qn})),o3=Gn.memo(({className:e})=>r.jsx("img",{src:GC,alt:"Alibaba",className:e,style:Qn})),i3=Gn.memo(({className:e})=>r.jsx("img",{src:JC,alt:"Qwen",className:e,style:Qn})),a3=Gn.memo(({className:e})=>r.jsx("img",{src:YC,alt:"ZhipuAI",className:e,style:Qn}));function l3({provider:e,className:t}){switch(e){case"anthropic":return r.jsx(t3,{className:t});case"openai":return r.jsx(n3,{className:t});case"deepseek":return r.jsx(s3,{className:t});case"minimax":return r.jsx(r3,{className:t});case"alibaba":return r.jsx(o3,{className:t});case"qwen":return r.jsx(i3,{className:t});case"zhipuai":return r.jsx(a3,{className:t});case"unknown":return null}}function Ls({delayDuration:e=600,...t}){return r.jsx(CC,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function dt({...e}){return r.jsx(TC,{"data-slot":"tooltip",...e})}function pt({...e}){return r.jsx(EC,{"data-slot":"tooltip-trigger",...e})}function ft({className:e,sideOffset:t=0,children:n,...s}){return r.jsx(RC,{children:r.jsxs(MC,{"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),...s,children:[n,r.jsx(AC,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}const c3=3;function u3({items:e,ariaLabel:t,className:n}){if(e.length===0)return r.jsx("span",{className:$("flex h-8 w-12 shrink-0 items-center",n),"aria-hidden":"true"});const s=e.slice(0,c3),o=e.length-s.length;return r.jsx(Ls,{delayDuration:150,children:r.jsxs("span",{className:$("flex h-8 w-12 shrink-0 items-center",n),"aria-label":t,children:[s.map((i,a)=>r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.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:r.jsx(l3,{provider:i.provider,className:"size-4"})})}),r.jsx(ft,{children:i.tooltip})]},`${i.provider}-${String(a)}`)),o>0&&r.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 d3="/v1/chat/completions",p3="/chat/completions",f3="/v1/responses",m3="/responses",h3="/v1/messages";class x3{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]??"",s=this.pathMap.get(n);return s===void 0?void 0:this.handlers.get(s)}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 Mn=new x3;function g3(e){return Mn.getApiFormatByPath(e)??"unknown"}Mn.registerPath(h3,"anthropic");Mn.registerPath(d3,"openai");Mn.registerPath(p3,"openai");Mn.registerPath(f3,"openai");Mn.registerPath(m3,"openai");function b3(e){if(e==="")return{};try{const t=JSON.parse(e);return t!==null&&typeof t=="object"&&!Array.isArray(t)?{...t}:{}}catch{return{}}}function v3(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:b3(e.inputJson)}}}function Jh(e,t,n,s){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 v=JSON.parse(w.slice(6)),j=ry.safeParse(v);if(!j.success)continue;const k=j.data;switch(m===0&&(h=Date.now()),s===!0&&x.length<f&&x.push({index:m,timestamp:Date.now()-h,type:k.type,data:Dp(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{}}s===!0&&(t.streamingChunks={chunks:x,truncated:m>f});const y=[...o.entries()].sort(([b],[w])=>b-w).map(([,b])=>v3(b));return JSON.stringify({id:i,type:"message",model:a!==""?a:n??"",role:"assistant",content:y,stop_reason:l,stop_sequence:u,usage:{input_tokens:d,output_tokens:p}})}const y3={format:"anthropic",parseRequest(e,t){try{const n=JSON.parse(e),s=Hp.safeParse(n);return s.success?{model:s.data.model,sessionId:s.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=Vp.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,s){return Jh(e,t,n,s)},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}}};Mn.register(y3);class w3{providers=[];register(t){this.providers.push(t)}findProvider(t){let n=null;for(const s of this.providers)if(s.matches(t)){if(s.name!=="anthropic")return s;n=s}return n}getAll(){return[...this.providers]}}const _i=new w3,j3="https://api.anthropic.com",k3={MiniMax:"https://api.minimaxi.com/anthropic"},S3={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(k3))if(t.startsWith(n.toLowerCase()))return!0;return!0},getUpstreamBase(e,t){return t?.baseUrl!==void 0?t.baseUrl:j3},extractStream(e,t,n,s){return Jh(e,t,n,s)}};_i.register(S3);const fc=1e3;function Nr(e,t){if(!(e===null||typeof e!="object"||Array.isArray(e)))return Object.getOwnPropertyDescriptor(e,t)?.value}function tt(e,t){const n=Nr(e,t);return typeof n=="string"?n:null}function Yh(e,t){const n=Nr(e,t);return typeof n=="number"&&Number.isFinite(n)?n:null}function Oo(e,t){const n=Nr(e,t);return n!==null&&typeof n=="object"&&!Array.isArray(n)?n:null}function _3(e,t){const n=Nr(e,t);return Array.isArray(n)?n:[]}function N3(e){const t=[];let n=null,s=[];const o=()=>{n===null&&s.length===0||(t.push({event:n,data:s.join(`
|
|
107
|
-
`)}),n=null,s=[])};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&&s.length>0&&(p.startsWith("{")||p==="[DONE]")&&o(),s.push(p);break}}return o(),t}function mc(e){try{return JSON.parse(e)}catch{return null}}function Xh(e,t){if(e.event!==null&&e.event!=="")return e.event;const n=my.safeParse(t);return n.success?n.data.type:""}function C3(e){if(e.data==="[DONE]")return!1;const t=mc(e.data),n=Xh(e,t);return n.startsWith("response.")||n==="error"}function Qh(e,t,n,s,o){e.length>=fc||e.push({index:t,timestamp:Date.now()-n,type:s,data:Dp(o)})}function Ga(e,t){const n=Oo(t,"error"),s=tt(n,"message")??tt(t,"message")??tt(t,"error");s!==null&&s.length>0&&(e.error=s)}function T3(e,t,n,s){let o="",i="",a="",l="",u=null,d=0,p=0,f=!1,m=!1;const h=new Map;let x=0,y=0;const b=[];for(const v of e){if(v.data==="[DONE]")break;const j=mc(v.data);if(j===null)continue;Ga(t,j);const k=dy.safeParse(j);if(!k.success)continue;const S=k.data;if(x===0&&(y=Date.now()),s&&Qh(b,x,y,"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 _=Oo(j,"usage"),N=Oo(_,"prompt_tokens_details"),I=Yh(N,"cached_tokens");I!==null&&(t.cacheReadInputTokens=I),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 I=N.think;if(I!=null&&(l+=I),_.finish_reason!==void 0&&_.finish_reason!==null&&(u=_.finish_reason),N.tool_calls!==void 0&&N.tool_calls!==null)for(const P of N.tool_calls){let M=h.get(P.index);M===void 0&&(M={index:P.index,type:"function",function:{name:"",arguments:""}},h.set(P.index,M)),P.id!==void 0&&(M.id=P.id),P.function?.name!==void 0&&(M.function.name+=P.function.name),P.function?.arguments!==void 0&&(M.function.arguments+=P.function.arguments)}}}s&&(t.streamingChunks={chunks:b,truncated:x>fc}),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 E3(e){const t=wo.safeParse(Nr(e,"response"));if(t.success)return t.data;const n=wo.safeParse(e);return n.success?n.data:null}function e0(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 s=_3(n,"content");for(const o of s){const i=tt(o,"type"),a=tt(o,"text");(i==="output_text"||i==="text")&&a!==null&&a.length>0&&t.push(a)}}return t.join(`
|
|
109
|
-
`)}function $u(e,t){const n=e.usage,s=n?.input_tokens??null,o=n?.output_tokens??null;s!==null&&(t.inputTokens=s),o!==null&&(t.outputTokens=o);const i=n?.input_tokens_details?.cached_tokens??null;return i!==null&&(t.cacheReadInputTokens=i),{inputTokens:s,outputTokens:o}}function Ki(e,t){const n=tt(e,"item_id");if(n!==null&&n.length>0)return n;const s=Yh(e,"output_index");return s!==null?String(s):`function-${String(t)}`}function Ja(e,t){const n=e.get(t);if(n!==void 0)return n;const s={type:"function_call",arguments:""};return e.set(t,s),s}function R3(e,t,n){if(tt(n,"type")!=="function_call")return;const s=Ja(e,t),o=tt(n,"id"),i=tt(n,"call_id"),a=tt(n,"name"),l=tt(n,"arguments"),u=tt(n,"status");o!==null&&(s.id=o),i!==null&&(s.call_id=i),a!==null&&(s.name=a),l!==null&&(s.arguments=l),u!==null&&(s.status=u)}function M3(e,t){const n=[];e.length>0&&n.push({type:"message",role:"assistant",content:[{type:"output_text",text:e,annotations:[]}]});for(const s of t.values())n.push(s);return n}function A3(e,t,n){const s=t??Math.ceil(n.length/4);return{input_tokens:e,output_tokens:s,total_tokens:e===null?s:e+s}}function I3(e){const t=e.completedResponse===null?"":e0(e.completedResponse),n=t.length>0?t:e.outputText,s=e.completedResponse?.output,o=s!==void 0&&s.length>0?s:M3(n,e.calls),i=e.completedResponse?.usage??A3(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 P3(e,t,n,s){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 v=mc(w.data);if(v===null)continue;const j=Xh(w,v);if(f===0&&(m=Date.now()),s&&Qh(h,f,m,j===""?"response.event":j,v),f++,Ga(t,v),j==="error")continue;const k=E3(v);if(k!==null){o=k,i=k.id,a=k.model??a,l=k.status??l;const _=$u(k,t);d=_.inputTokens??d,p=_.outputTokens??p,Ga(t,k)}const S=tt(v,"delta");switch(j){case"response.output_text.delta":S!==null&&(u+=S);break;case"response.output_text.done":{const _=tt(v,"text");u.length===0&&_!==null&&(u=_);break}case"response.function_call_arguments.delta":{if(S!==null){const _=Ja(x,Ki(v,x.size));_.arguments+=S}break}case"response.function_call_arguments.done":{const _=tt(v,"arguments");if(_!==null){const N=Ja(x,Ki(v,x.size));N.arguments=_}break}case"response.output_item.added":case"response.output_item.done":{const _=Oo(v,"item");R3(x,Ki(v,x.size),_);break}case"response.failed":case"response.incomplete":l=j.slice(9);break;case"response.completed":l="completed";break}}s&&(t.streamingChunks={chunks:h,truncated:f>fc});const y=I3({completedResponse:o,responseId:i,model:a,status:l,outputText:u,calls:x,inputTokens:d,outputTokens:p}),b=wo.safeParse(y);if(b.success){if($u(b.data,t).outputTokens===null){const v=e0(b.data),j=Math.ceil(v.length/4);t.outputTokens=j}return JSON.stringify(b.data)}if(t.outputTokens===null){const w=tt(y,"output_text")??u,v=Math.ceil(w.length/4);t.outputTokens=v}return JSON.stringify(y)}function Ni(e,t,n,s=!0){const o=N3(e);return o.some(C3)?P3(o,t,n,s):T3(o,t,n,s)}const O3={sessionId:null,threadId:null,turnId:null,installationId:null,windowId:null};function Ya(e,t){if(!(typeof e!="object"||e===null||Array.isArray(e)))return Object.getOwnPropertyDescriptor(e,t)?.value}function Dt(e,t){const n=Ya(e,t);return typeof n=="string"&&n.length>0?n:null}function z3(e){if(typeof e!="string"||e.length===0)return null;try{return JSON.parse(e)}catch{return null}}function L3(e){const t=Ya(e,"client_metadata");if(t===void 0)return O3;const n=z3(Ya(t,"x-codex-turn-metadata"));return{sessionId:Dt(t,"session_id")??Dt(n,"session_id"),threadId:Dt(t,"thread_id")??Dt(n,"thread_id"),turnId:Dt(t,"turn_id")??Dt(n,"turn_id"),installationId:Dt(t,"x-codex-installation-id")??Dt(n,"installation_id"),windowId:Dt(t,"x-codex-window-id")??Dt(n,"window_id")}}function Du(e){return L3(e).sessionId}function $3(){return{inputTokens:null,outputTokens:null,cacheCreationInputTokens:null,cacheReadInputTokens:null}}function Fu(e){return e===void 0?null:e.get("x-agent-inspector-session-id")??e.get("x-session-affinity")}const D3={format:"openai",parseRequest(e,t){try{const n=JSON.parse(e),s=Kp.safeParse(n);if(s.success)return{model:s.data.model,sessionId:Du(n)??Fu(t)};const o=Gp.safeParse(n);return o.success?{model:o.data.model,sessionId:Du(n)??Fu(t)}:null}catch{return null}},extractTokens(e){const t=Yp(e);if(t){let s=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"&&(s=l.value)}}}}catch{}return{inputTokens:t.usage.prompt_tokens??null,outputTokens:t.usage.completion_tokens??null,cacheCreationInputTokens:null,cacheReadInputTokens:s}}const n=Xp(e);if(n!==null){const s=n.usage;return{inputTokens:s?.input_tokens??null,outputTokens:s?.output_tokens??null,cacheCreationInputTokens:null,cacheReadInputTokens:s?.input_tokens_details?.cached_tokens??null}}return $3()},extractStream(e,t,n,s){return Ni(e,t,n,s)},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}}};Mn.register(D3);const F3="https://api.openai.com/v1",U3={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:F3},extractStream(e,t,n,s){return Ni(e,t,n,s)}};_i.register(U3);const B3="https://open.bigmodel.cn/api/paas/v4",q3=["glm-","charglm-","cogview-","embedding-","rerank-"],H3={name:"zhipu",matches(e){const t=e.toLowerCase().replace(/\s+/g,"-");return q3.some(n=>t.startsWith(n))},getUpstreamBase(e,t){return t?.baseUrl??B3},extractStream(e,t,n,s){return Ni(e,t,n,s)}};_i.register(H3);const V3="https://dashscope.aliyuncs.com/compatible-mode/v1",W3={name:"alibaba",matches(e){return!!e.toLowerCase().replace(/\s+/g,"-").startsWith("qwen")},getUpstreamBase(e,t){return V3},extractStream(e,t,n){return Ni(e,t,n)}};_i.register(W3);function t0(e,t){for(const n of Array.from(e))t(n)}const Z3=/[\u3000-\u9FFF\uAC00-\uD7FF\uF900-\uFAFF\uFF00-\uFFEF\u{1F300}-\u{1FAFF}]/u;function hc(e){if(e.length===0)return 0;let t=0,n=0;return t0(e,s=>{Z3.test(s)?t+=1:n+=1}),Math.ceil(t*1)+Math.ceil(n/4)}function xc(e){if(e.length===0)return 0;let t=0;return t0(e,()=>{t+=1}),t}function gc(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 K3=["file","shell","browser","web","mcp","code","other"];function Xa(e){const t=e.replace(/\s+/g," ").trim();return t.length<=120?t:`${t.slice(0,119)}...`}function n0(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?Xa(t.slice(0,n+1)):Xa(t)}function G3(e,t){return`${e} ${t??""}`.toLowerCase()}function is(e,t){return t.some(n=>e.includes(n))}function s0(e,t){const n=G3(e,t);return e.startsWith("mcp__")||e.startsWith("inspector_")||is(n,[" mcp","model context protocol"])?"mcp":is(n,["bash","shell","terminal","command","powershell","exec","process"])?"shell":is(n,["browser","playwright","screenshot","click","navigate","page","tab"])?"browser":is(n,["read","write","edit","file","glob","grep","patch","filesystem","directory"])?"file":is(n,["web","search","http","url","fetch"])?"web":is(n,["code","typescript","javascript","python","repl"])?"code":"other"}function r0(e){const t=Q(e,"properties");return t===null||typeof t!="object"||Array.isArray(t)?[]:Object.keys(t).sort((n,s)=>n.localeCompare(s))}function o0(e){const t=Q(e,"required");if(!Array.isArray(t))return[];const n=[];for(const s of t)typeof s=="string"&&s.length>0&&n.push(s);return n.sort((s,o)=>s.localeCompare(o))}function J3(e){const t=Q(e,"name");if(typeof t!="string"||t.length===0)return null;const n=Q(e,"description"),s=Q(e,"input_schema")??null,o=typeof n=="string"?n:null;return{name:t,description:o,descriptionPreview:n0(o),category:s0(t,o),parameterCount:r0(s).length,requiredParameters:o0(s),schema:s}}function Y3(e){const t=Q(e,"function"),n=Q(e,"type");if(t===void 0&&typeof n!="string")return null;const s=Q(t,"name")??Q(e,"name")??(typeof n=="string"?n:void 0);if(typeof s!="string"||s.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:s,description:a,descriptionPreview:n0(a),category:s0(s,a),parameterCount:r0(i).length,requiredParameters:o0(i),schema:i}}function X3(e){const t=Y3(e);return t!==null?t:J3(e)}function Q3(e){if(e==null)return null;if(typeof e=="string")return e;const t=Q(e,"type"),n=Q(e,"name"),s=Q(Q(e,"function"),"name");if(typeof t=="string"&&typeof s=="string"&&s.length>0)return`${t}: ${s}`;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:Xa(o)}function eT(e){const t=new Map;for(const n of e)t.set(n.category,(t.get(n.category)??0)+1);return K3.flatMap(n=>{const s=t.get(n)??0;return s>0?[{category:n,count:s}]:[]})}function bc(e){const t=Q(e,"tools");if(!Array.isArray(t)||t.length===0)return null;const n=[];for(const s of t){const o=X3(s);o!==null&&n.push(o)}return n.length===0?null:{tools:n,toolChoiceLabel:Q3(Q(e,"tool_choice")),categories:eT(n)}}function Vn(e){return{parsed:null,comparisonValue:e,messageCount:null,toolCount:null}}const vs={parsed:null,toolNames:null};function tT(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 s=n;switch(s.type){case"text":typeof s.text=="string"&&t.push(s.text);break;case"thinking":case"think":typeof s.thinking=="string"&&t.push(s.thinking);break;case"tool_use":{const i=typeof s.name=="string"?s.name:"",a=s.input!==void 0?JSON.stringify(s.input):"";t.push(`${i} ${a}`.trim());break}case"tool_result":{const i=s.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
|
-
`)}function nT(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 s=n.text;n.type==="text"&&typeof s=="string"&&t.push(s)}return t.join(`
|
|
111
|
-
`)}function sT(e){if(!Array.isArray(e))return"";const t=[];for(const n of e){if(n===null||typeof n!="object")continue;const s=n;typeof s.name=="string"&&t.push(s.name),typeof s.description=="string"&&t.push(s.description),s.input_schema!==void 0&&t.push(JSON.stringify(s.input_schema))}return t.join(`
|
|
112
|
-
`)}function Gi(e,t,n,s){return{role:e,label:t,text:n,size:hc(n),characters:xc(n),path:s}}const rT={format:"anthropic",analyzeRequest(e){if(e===null)return Vn(e);try{const t=JSON.parse(e),n=bc(t)?.tools.length??null,s=Hp.safeParse(t);return s.success?{parsed:s.data,comparisonValue:s.data,messageCount:s.data.messages.length,toolCount:n}:Vn(e)}catch{return Vn(e)}},analyzeResponse(e){if(e===null)return vs;try{let t=JSON.parse(e);typeof t=="string"&&(t=JSON.parse(t));const n=Vp.safeParse(t);if(!n.success)return vs;const s=n.data.content.filter(o=>o.type==="tool_use").map(o=>o.name);return{parsed:n.data,toolNames:s.length>0?s:null}}catch{return vs}},anatomySegments(e){if(e===null||typeof e!="object")return null;const t=e,n=[];if(t.system!==void 0){const s=nT(t.system);s.length>0&&n.push(Gi("system","system",s,"/system"))}if(Array.isArray(t.messages)&&t.messages.forEach((s,o)=>{if(s===null||typeof s!="object")return;const i=s,a=i.role==="user"||i.role==="assistant"?i.role:"user",l=tT(i.content);n.push(Gi(a,`[${o}] ${a}`,l,`/messages/${o}`))}),Array.isArray(t.tools)&&t.tools.length>0){const s=sT(t.tools);n.push(Gi("tools","tools",s,"/tools"))}return n.length>0?n:null}};function Qa(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 s=n,o=s.type;(o==="text"||o==="input_text"||o==="output_text")&&typeof s.text=="string"?t.push(s.text):(o==="image_url"||o==="input_image")&&t.push("[image]")}return t.join(`
|
|
113
|
-
`)}function oT(e){const t=[],n=Qa(e.content);n.length>0&&t.push(n);const s=typeof e.reasoning_content=="string"?e.reasoning_content:typeof e.thinking=="string"?e.thinking:typeof e.think=="string"?e.think:"";s.length>0&&t.push(s);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
|
-
`)}function iT(e){if(!Array.isArray(e))return"";const t=[];for(const n of e){if(n===null||typeof n!="object")continue;const s=Q(n,"function"),o=Q(s,"name")??Q(n,"name"),i=Q(s,"description")??Q(n,"description"),a=Q(s,"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 aT(e){return typeof e=="string"?e.length>0?1:0:Array.isArray(e)?e.length:e==null?null:1}function lT(e){if(typeof e=="string")return e;const t=Q(e,"text");if(typeof t=="string")return t;const n=Qa(Q(e,"content"));if(n.length>0)return n;const s=Qa(Q(e,"output"));if(s.length>0)return s;const o=Q(e,"arguments");return typeof o=="string"?o:""}function cT(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 uT(e){const t=Q(e,"output");if(!Array.isArray(t))return[];const n=[];for(const s of t){if(Q(s,"type")!=="function_call")continue;const o=Q(s,"name");typeof o=="string"&&o.length>0&&n.push(o)}return n}function Bs(e,t,n,s){return{role:e,label:t,text:n,size:hc(n),characters:xc(n),path:s}}const dT={format:"openai",analyzeRequest(e){if(e===null)return Vn(e);try{const t=JSON.parse(e),n=bc(t)?.tools.length??null,s=Kp.safeParse(t);if(!s.success){const o=Gp.safeParse(t);return o.success?{parsed:o.data,comparisonValue:o.data,messageCount:aT(o.data.input),toolCount:n}:Vn(e)}return{parsed:s.data,comparisonValue:s.data,messageCount:s.data.messages.length,toolCount:n}}catch{return Vn(e)}},analyzeResponse(e){if(e===null)return vs;const t=Yp(e);if(t===null){const s=Xp(e);if(s===null)return vs;const o=uT(s);return{parsed:s,toolNames:o.length>0?o:null}}const n=t.choices[0]?.message?.tool_calls?.map(s=>s.function?.name??"").filter(s=>s!=="")??[];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(Bs("system","instructions",t.instructions,"/instructions")),Array.isArray(t.messages)&&t.messages.forEach((s,o)=>{if(s===null||typeof s!="object")return;const i=s,a=i.role==="user"||i.role==="assistant"||i.role==="system"||i.role==="tool"?i.role:"user",l=oT(i);n.push(Bs(a,`[${o}] ${a}`,l,`/messages/${o}`))}),Array.isArray(t.messages)||(typeof t.input=="string"&&t.input.length>0?n.push(Bs("user","input",t.input,"/input")):Array.isArray(t.input)&&t.input.forEach((s,o)=>{const i=cT(s),a=lT(s);n.push(Bs(i,`[${o}] ${i}`,a,`/input/${o}`))})),Array.isArray(t.tools)&&t.tools.length>0){const s=iT(t.tools);n.push(Bs("tools","tools",s,"/tools"))}return n.length>0?n:null}},pT={format:"unknown",analyzeRequest(e){return Vn(e)},analyzeResponse(){return vs},anatomySegments(){return null}},fT={anthropic:rT,openai:dT,unknown:pT};function i0(e){return fT[e]}function lr(e){const t=g3(e.path);return t==="unknown"?e.apiFormat:t}const Uu="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 a0(e){return e.startsWith("PID:")||e.startsWith("process:")||e.startsWith("connection:")||e.includes("|")}function mT(e){return a0(e)?"No session ID":e.length>24?`${e.slice(0,12)}...${e.slice(-12)}`:e}function Ji({icon:e,children:t,title:n,className:s}){return r.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",s),title:n,children:[e,r.jsx("span",{className:"min-w-0 font-mono tabular-nums",children:t})]})}function hT(){return r.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:[r.jsx(Fe,{className:"size-3 animate-spin"}),"Turn open"]})}function xT({conversationId:e,startTime:t,endTime:n,totalCalls:s,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:y,onClear:b}){const[w,v]=c.useState(!1),j=G=>{G.stopPropagation(),b!==void 0&&v(!0)},k=c.useCallback(G=>{G.stopPropagation(),window.open(rp(e),"_blank","noopener,noreferrer")},[e]),S=u?.map(({provider:G,models:K})=>({provider:G,tooltip:K.length===1?K[0]??G:K.join(", ")}))??[],_=pc({userAgent:p,conversationId:e,clientProjectFolder:m}),N=ki(_),I=p!=null&&p!=="",P=N??p??null,M=N!==null&&I?`${N} - ${p}`:null,C=a0(e),A=mT(e),F=ni(t,n,y),U=`${s} call${s!==1?"s":""}`;return r.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:G=>{G.target===G.currentTarget&&(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),l())},children:[r.jsx(u3,{items:S,ariaLabel:"Models used in this session",className:"mt-0.5"}),r.jsxs("span",{className:"min-w-0 flex-1",children:[r.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[r.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?r.jsxs("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:`PID ${f}`,children:["PID ",f]}):r.jsx("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:e,children:e}):r.jsx("span",{className:"min-w-0 max-w-full truncate font-mono text-xs font-semibold text-foreground",title:e,children:A}),!C&&x&&f!==null&&f!==void 0&&r.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!==""&&r.jsx("span",{className:"min-w-0 max-w-[240px] truncate font-mono text-xs text-muted-foreground",title:m,children:m}),h&&P!==null&&P!==""&&r.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??P,children:[r.jsx(Si,{client:_,className:"size-4 shrink-0",decorative:!0}),r.jsx("span",{className:"font-mono leading-snug tabular-nums",children:P})]}),d&&r.jsx(hT,{})]}),r.jsxs("span",{className:"mt-1.5 flex min-w-0 flex-wrap items-center gap-1.5",children:[r.jsx(Ji,{icon:r.jsx(rn,{className:"size-3 shrink-0"}),title:F,children:F}),r.jsx(Ji,{icon:r.jsx(ti,{className:"size-3 shrink-0"}),children:U}),r.jsxs(Ji,{icon:r.jsx(or,{className:"size-3 shrink-0"}),className:"max-w-full",children:[r.jsx("span",{className:"text-[var(--inspector-status-info)]",children:Me(o)})," / ",r.jsx("span",{className:"text-[var(--inspector-status-watch)]",children:Me(i)})]})]})]}),r.jsxs("span",{className:"flex shrink-0 items-start gap-1.5",children:[r.jsx("button",{type:"button",onClick:k,onKeyDown:G=>{(G.key==="Enter"||G.key===" ")&&k(G)},"aria-label":`Open session ${e} in a new tab`,title:"Open this session in a new tab",className:Uu,children:r.jsx($l,{className:"size-3.5"})}),b!==void 0&&r.jsx("button",{type:"button",onClick:j,"aria-label":`Clear group (${s} request${s!==1?"s":""})`,title:"Clear this group from the current view",className:Uu,children:r.jsx(jn,{className:"size-3.5"})}),r.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?r.jsx(Qe,{className:"size-4 shrink-0"}):d?r.jsx(Fe,{className:"size-4 shrink-0 animate-spin"}):r.jsx(bt,{className:"size-4 shrink-0"})})]}),d&&r.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:r.jsx("span",{className:"absolute inset-y-0 left-0 w-1/3 animate-pulse rounded-full bg-[var(--inspector-status-watch)] opacity-70"})}),r.jsx(Gh,{open:w,onOpenChange:v,title:"Clear this group from the current view?",description:`This will hide ${s} request${s!==1?"s":""} from the current view. Stored logs remain reloadable.`,confirmLabel:"Clear",variant:"destructive",onConfirm:()=>{b?.()}})]})}function gT(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 s=t?`PID:${e.clientPid}`:"unknown",o=n?e.clientProjectFolder:"no-folder";return`${s}|${o}`}function bT(e){const t=new Map;for(const s of e){const o=gT(s),i=t.get(o);i!==void 0?i.push(s):t.set(o,[s])}const n=[];for(const[s,o]of t){const i=[...o].sort((a,l)=>a.timestamp.localeCompare(l.timestamp));n.push({id:s,conversationId:s,logs:i})}return n.sort((s,o)=>(s.logs[0]?.timestamp??"").localeCompare(o.logs[0]?.timestamp??"")),n}function vT(e,t,n){const s=new Array(e);return new Proxy(s,{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 as(e,t,n){let s=n.initialDeps??[],o,i=!0;function a(){const l=e();return(l.length!==s.length||l.some((d,p)=>s[p]!==d))&&(s=l,o=t(...l),n?.onChange&&!(i&&n.skipInitialOnChange)&&n.onChange(o),i=!1),o}return a.updateDeps=l=>{s=l},a}function Bu(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const yT=(e,t)=>Math.abs(e-t)<1.01,wT=(e,t,n)=>{let s;return function(...o){e.clearTimeout(s),s=e.setTimeout(()=>t.apply(this,o),n)}};let qs;const Yi=()=>{if(qs!==void 0)return qs;if(typeof navigator>"u")return qs=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return qs=!0;const e=navigator.maxTouchPoints;return qs=navigator.platform==="MacIntel"&&e!==void 0&&e>0},qu=e=>{const{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},jT=e=>e,kT=e=>{const t=Math.max(e.startIndex-e.overscan,0),s=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,o=new Array(s);for(let i=0;i<s;i++)o[i]=t+i;return o},ST=(e,t)=>{const n=e.scrollElement;if(!n)return;const s=e.targetWindow;if(!s)return;const o=a=>{const{width:l,height:u}=a;t({width:Math.round(l),height:Math.round(u)})};if(o(qu(n)),!s.ResizeObserver)return()=>{};const i=new s.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(qu(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()});return i.observe(n,{box:"border-box"}),()=>{i.unobserve(n)}},cr={passive:!0},_T=(e,t)=>{const n=e.scrollElement;if(!n)return;const s=()=>{t({width:n.innerWidth,height:n.innerHeight})};return s(),n.addEventListener("resize",s,cr),()=>{n.removeEventListener("resize",s)}},NT=typeof window>"u"?!0:"onscrollend"in window,l0=(e,t,n)=>{const s=e.scrollElement;if(!s)return;const o=e.targetWindow;if(!o)return;const i=e.options.useScrollendEvent&&NT;let a=0;const l=i?null:wT(o,()=>t(a,!1),e.options.isScrollingResetDelay),u=f=>()=>{a=n(s),l?.(),t(a,f)},d=u(!0),p=u(!1);return s.addEventListener("scroll",d,cr),i&&s.addEventListener("scrollend",p,cr),()=>{s.removeEventListener("scroll",d),i&&s.removeEventListener("scrollend",p)}},CT=(e,t)=>l0(e,t,n=>{const{horizontal:s,isRtl:o}=e.options;return s?n.scrollLeft*(o&&-1||1):n.scrollTop}),TT=(e,t)=>l0(e,t,n=>e.options.horizontal?n.scrollX:n.scrollY),ET=(e,t,n)=>{if(n.options.useCachedMeasurements){const s=n.indexFromElement(e),o=n.options.getItemKey(s);return n.itemSizeCache.get(o)??n.options.estimateSize(s)}if(t?.borderBoxSize){const s=t.borderBoxSize[0];if(s)return Math.round(s[n.options.horizontal?"inlineSize":"blockSize"])}if(!t){const s=n.indexFromElement(e),o=n.options.getItemKey(s),i=n.itemSizeCache.get(o);if(i!==void 0)return i}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},c0=(e,{adjustments:t=0,behavior:n},s)=>{var o,i;(i=(o=s.scrollElement)==null?void 0:o.scrollTo)==null||i.call(o,{[s.options.horizontal?"left":"top"]:e+t,behavior:n})},RT=c0,MT=c0;class AT{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,s,o;return((o=(s=(n=this.targetWindow)==null?void 0:n.performance)==null?void 0:s.now)==null?void 0:o.call(s))??Date.now()},this.observer=(()=>{let n=null;const s=()=>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=s())==null||o.disconnect(),n=null},observe:o=>{var i;return(i=s())==null?void 0:i.observe(o,{box:"border-box"})},unobserve:o=>{var i;return(i=s())==null?void 0:i.unobserve(o)}}})(),this.range=null,this.setOptions=n=>{var s,o;const i={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:jT,rangeExtractor:kT,onChange:()=>{},measureElement:ET,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(),y=m>0?((s=x[0])==null?void 0:s.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)!==y||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:y,getItemKey:b}=this.options;let w=0;for(;w<y&&b(w)!==m;)w++;if(w<y){const v=x[w];if(v){const j=v.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 s,o;(o=(s=this.options).onChange)==null||o.call(s,this,n)},this.maybeNotify=as(()=>(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 s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}if(this.scrollElement=s,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,!(!Yi()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};i.addEventListener("touchstart",a,cr),i.addEventListener("touchend",l,cr),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&&(Yi()&&(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(),s=this.getMaxScrollOffset();if(n<0||n>s)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,s)=>{const o=new Map,i=new Map;for(let a=s-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=as(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(n,s,o,i,a,l,u)=>(this.prevLanes!==void 0&&this.prevLanes!==l&&(this.lanesChangedFlag=!0),this.prevLanes=l,this.pendingMin=null,{count:n,paddingStart:s,scrollMargin:o,getItemKey:i,enabled:a,lanes:l,laneAssignmentMode:u}),{key:!1}),this.getMeasurements=as(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:n,paddingStart:s,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,y=n*2;let b=this._flatMeasurements;if(!b||b.length<y){const j=new Float64Array(y);b&&f>0&&j.set(b.subarray(0,f*2)),b=j,this._flatMeasurements=b}let w;if(f===0)w=s+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 v=vT(n,b,i);return this.measurementsCache=v,v}const m=this.measurementsCache.slice(0,f),h=new Array(l).fill(void 0);for(let x=0;x<f;x++){const y=m[x];y&&(h[y.lane]=x)}for(let x=f;x<n;x++){const y=i(x),b=this.laneAssignments.get(x);let w,v;const j=u==="estimate"||p.has(y);if(b!==void 0&&this.options.lanes>1){w=b;const N=h[w],I=N!==void 0?m[N]:void 0;v=I?I.end+this.options.gap:s+o}else{const N=this.options.lanes===1?m[x-1]:this.getFurthestMeasurement(m,x);v=N?N.end+this.options.gap:s+o,w=N?N.lane:x%this.options.lanes,this.options.lanes>1&&j&&this.laneAssignments.set(x,w)}const k=p.get(y),S=typeof k=="number"?k:this.options.estimateSize(x),_=v+S;m[x]={index:x,start:v,size:S,end:_,key:y,lane:w},h[w]=x}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=as(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,s,o,i)=>n.length===0||s===0?(this.range=null,null):(this.range=PT(n,s,o,i,i===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=as(()=>{let n=null,s=null;const o=this.calculateRange();return o&&(n=o.startIndex,s=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,s]},(n,s,o,i,a)=>i===null||a===null?[]:n({startIndex:i,endIndex:a,overscan:s,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=n=>{const s=this.options.indexAttribute,o=n.getAttribute(s);return o?parseInt(o,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=n=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const o=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.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 s=this.indexFromElement(n),o=this.options.getItemKey(s),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(s)&&this.resizeItem(s,this.options.measureElement(n,void 0,this))},this.resizeItem=(n,s)=>{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=s-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,s),this.itemSizeCacheVersion++,m?this.applyScrollAdjustment(this.getTotalSize()-h):x&&this.applyScrollAdjustment(f),this.notify(!1)}},this.getVirtualItems=as(()=>[this.getVirtualIndexes(),this.getMeasurements()],(n,s)=>{const o=[];for(let i=0,a=n.length;i<a;i++){const l=n[i],u=s[l];o.push(u)}return o},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=n=>{const s=this.getMeasurements();if(s.length===0)return;const o=this._flatMeasurements,i=this.options.lanes===1&&o!=null,a=u0(0,s.length-1,i?l=>o[l*2]:l=>Bu(s[l]).start,n);return Bu(s[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,s,o=0)=>{if(!this.scrollElement)return 0;const i=this.getSize(),a=this.getScrollOffset();s==="auto"&&(s=n>=a+i?"end":"start"),s==="center"?n+=(o-i)/2:s==="end"&&(n-=i);const l=this.getMaxScrollOffset();return Math.max(Math.min(l,n),0)},this.getOffsetForIndex=(n,s="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(s==="auto")if(a.end>=i+o-this.options.scrollPaddingEnd)s="end";else if(a.start<=i+this.options.scrollPaddingStart)s="start";else return[i,s];if(s==="end"&&n===this.options.count-1)return[this.getMaxScrollOffset(),s];const l=s==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(l,s,a.size),s]},this.scrollToOffset=(n,{align:s="start",behavior:o="auto"}={})=>{const i=this.getOffsetForAlignment(n,s),a=this.now();this.scrollState={index:null,align:s,behavior:o,startedAt:a,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollToIndex=(n,{align:s="auto",behavior:o="auto"}={})=>{n=Math.max(0,Math.min(n,this.options.count-1));const i=this.getOffsetForIndex(n,s);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:s="auto"}={})=>{const o=this.getScrollOffset()+n,i=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:i,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),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 s=this.getMeasurements();let o;if(s.length===0)o=this.options.paddingStart;else if(this.options.lanes===1){const i=s.length-1,a=this._flatMeasurements;a!=null?o=a[i*2]+a[i*2+1]:o=((n=s[i])==null?void 0:n.end)??0}else{const i=Array(this.options.lanes).fill(null);let a=s.length-1;for(;a>=0&&i.some(l=>l===null);){const l=s[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 s=this.getMeasurements();for(const o of s)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:s,behavior:o})=>{this._intendedScrollOffset=n+(s??0),this.options.scrollToFn(n,{behavior:o,adjustments:s},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&&(Yi()&&(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 s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,o=s?s[0]:this.scrollState.lastTargetOffset,i=1,a=o!==this.scrollState.lastTargetOffset;if(!a&&yT(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 u0=(e,t,n,s)=>{for(;e<=t;){const o=(e+t)/2|0,i=n(o);if(i<s)e=o+1;else if(i>s)t=o-1;else return o}return e>0?e-1:0};function IT(e,t,n){let s=0;for(;s<=t;){const o=(s+t)/2|0,i=e[o*2];if(i<n)s=o+1;else if(i>n)t=o-1;else return o}return s>0?s-1:0}function PT(e,t,n,s,o){const i=e.length-1;if(e.length<=s)return{startIndex:0,endIndex:i};if(s===1&&o!==null){const d=IT(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=u0(0,i,d=>e[d].start,n),u=l;if(s===1)for(;u<i&&e[u].end<n+t;)u++;else if(s>1){const d=Array(s).fill(0);for(;u<i&&d.some(f=>f<n+t);){const f=e[u];d[f.lane]=f.end,u++}const p=Array(s).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%s),u=Math.min(i,u+(s-1-u%s))}return{startIndex:l,endIndex:u}}const Xi=typeof document<"u"?c.useLayoutEffect:c.useEffect;function d0({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n="transform",...s}){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",y=d.options.scrollMargin,b=d.getVirtualItems();for(const w of b){const v=w.start-y,j=d.elementsCache.get(w.key);j&&p.lastPositions.get(j)!==v&&(p.lastPositions.set(j,v),h?j.style.transform=m?`translate3d(${v}px, 0, 0)`:`translate3d(0, ${v}px, 0)`:j.style[x]=`${v}px`)}},l={...s,onChange:(d,p)=>{var f;const m=i.current;let h=!0;if(m.enabled){a(d);const x=d.range,y=m.prevRange;h=!y||y.isScrolling!==d.isScrolling||y.startIndex!==x?.startIndex||y.endIndex!==x?.endIndex,h&&(m.prevRange=x?{startIndex:x.startIndex,endIndex:x.endIndex,isScrolling:d.isScrolling}:null)}h&&(e&&p?Is.flushSync(o):o()),(f=s.onChange)==null||f.call(s,d,p)}},[u]=c.useState(()=>{const d=new AT(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),Xi(()=>u._didMount(),[]),Xi(()=>u._willUpdate()),Xi(()=>{a(u)}),u}function OT(e){return d0({observeElementRect:ST,observeElementOffset:CT,scrollToFn:MT,...e})}function zT(e){return d0({getScrollElement:()=>typeof document<"u"?window:null,observeElementRect:_T,observeElementOffset:TT,scrollToFn:RT,initialOffset:()=>typeof document<"u"?window.scrollY:0,...e})}const un="agent-inspector:focus-log";function Ms(e){window.dispatchEvent(new CustomEvent(un,{detail:e}))}function Ci(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 s=Q(t,"tab");switch(s){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:s??"request",toolCallIndex:i}:{logId:n,tab:s??"request"};switch(o){case"virtualizer":return{...a,source:o};case void 0:return a;default:return null}}function LT(e){switch(e){case"end_turn":case"tool_use":return e;case"max_tokens":return"length";default:return null}}function $T(e){switch(e){case"stop":case"length":return e;case"max_tokens":return"length";default:return null}}function DT(e){switch(e){case"max_output_tokens":case"max_tokens":return!0;default:return!1}}function p0(e){if(e.responseText===null)return null;try{let t=JSON.parse(e.responseText);if(typeof t=="string"&&(t=JSON.parse(t)),!Gs(t))return null;if(typeof t.stop_reason=="string")return LT(t.stop_reason);if(Array.isArray(t.choices))for(const n of t.choices){if(!Gs(n)||typeof n.finish_reason!="string")continue;const s=$T(n.finish_reason);if(s!==null)return s}if(Array.isArray(t.output)){for(const n of t.output)if(Gs(n)&&n.type==="function_call")return"tool_use";if(t.status==="completed")return"stop"}if(t.status==="incomplete"&&Gs(t.incomplete_details)){const n=t.incomplete_details.reason;if(typeof n=="string"&&DT(n))return"length"}return null}catch{return null}}function vc(e){return e==="end_turn"||e==="stop"||e==="length"}function St({className:e,style:t,d:n,eyeStalks:s,eyes:o,legs:i,extras:a}){return r.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:[r.jsx("path",{d:n}),s,o,i,a]})}const An=r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"6.5",y1:"16",x2:"4.5",y2:"19.5"}),r.jsx("line",{x1:"9",y1:"17.5",x2:"8",y2:"20.5"}),r.jsx("line",{x1:"15",y1:"17.5",x2:"16",y2:"20.5"}),r.jsx("line",{x1:"17.5",y1:"16",x2:"19.5",y2:"19.5"})]}),f0=r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"7",y1:"16",x2:"5.5",y2:"18.5"}),r.jsx("line",{x1:"9.5",y1:"17",x2:"8.5",y2:"19.5"}),r.jsx("line",{x1:"14.5",y1:"17",x2:"15.5",y2:"19.5"}),r.jsx("line",{x1:"17",y1:"16",x2:"18.5",y2:"18.5"})]});function m0({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),r.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"}),r.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"})]}),legs:An,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),r.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 FT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"9.5",y1:"6.5",x2:"9.5",y2:"4.5"}),r.jsx("line",{x1:"14.5",y1:"6.5",x2:"14.5",y2:"4.5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"9.5",cy:"4",r:"1.1",fill:"currentColor",stroke:"none"}),r.jsx("circle",{cx:"14.5",cy:"4",r:"1.1",fill:"currentColor",stroke:"none"})]}),legs:f0,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M5 11 C4 9.5 2.5 10 3 12 C3.5 13.5 4.5 13 5 12"}),r.jsx("path",{d:"M19 11 C20 9.5 21.5 10 21 12 C20.5 13.5 19.5 13 19 12"})]})})}function UT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"7",y1:"7",x2:"6.5",y2:"4.5"}),r.jsx("line",{x1:"17",y1:"7",x2:"17.5",y2:"4.5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"6.5",cy:"4",r:"0.8",fill:"currentColor",stroke:"none"}),r.jsx("circle",{cx:"17.5",cy:"4",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:An,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M4 12 C2.5 10.5 1 11 1.5 13 C2 14.5 3.5 14 4.5 13"}),r.jsx("path",{d:"M20 12 C21.5 10.5 23 11 22.5 13 C22 14.5 20.5 14 19.5 13"})]})})}function BT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10",y1:"6.5",x2:"10",y2:"3.5"}),r.jsx("line",{x1:"14",y1:"6.5",x2:"14",y2:"3.5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"10",cy:"3",r:"0.7",fill:"currentColor",stroke:"none"}),r.jsx("circle",{cx:"14",cy:"3",r:"0.7",fill:"currentColor",stroke:"none"})]}),legs:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"7",y1:"17",x2:"5",y2:"20.5"}),r.jsx("line",{x1:"9.5",y1:"18.5",x2:"8.5",y2:"21.5"}),r.jsx("line",{x1:"14.5",y1:"18.5",x2:"15.5",y2:"21.5"}),r.jsx("line",{x1:"17",y1:"17",x2:"19",y2:"20.5"})]}),extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M6.5 11 C5 8.5 3 9 3.5 11.5 C4 13.5 5 13 6 12"}),r.jsx("path",{d:"M17.5 11 C19 8.5 21 9 20.5 11.5 C20 13.5 19 13 18 12"})]})})}function qT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),r.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.8",fill:"currentColor",stroke:"none"}),r.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:An,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),r.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 HT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),r.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.9",fill:"currentColor",stroke:"none"}),r.jsx("line",{x1:"13.5",y1:"4",x2:"15.5",y2:"5"})]}),legs:An,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),r.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 VT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10",y1:"8",x2:"10",y2:"6"}),r.jsx("line",{x1:"14",y1:"8",x2:"14",y2:"6"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"9",y1:"6",x2:"11",y2:"6.5"}),r.jsx("line",{x1:"13",y1:"6",x2:"15",y2:"6.5"})]}),legs:f0,extras:r.jsxs(r.Fragment,{children:[r.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"}),r.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 WT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),r.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"9.5",cy:"4.5",r:"0.7",fill:"currentColor",stroke:"none"}),r.jsx("circle",{cx:"14.5",cy:"4.5",r:"0.7",fill:"currentColor",stroke:"none"})]}),legs:An,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),r.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),r.jsx("line",{x1:"8.5",y1:"4",x2:"10.5",y2:"4.5"}),r.jsx("line",{x1:"15.5",y1:"4",x2:"13.5",y2:"4.5"}),r.jsx("path",{d:"M9 15.5 C10 14.5 14 14.5 15 15.5"})]})})}function ZT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5"}),r.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"9.5",cy:"4.5",r:"1.2",fill:"none",stroke:"currentColor"}),r.jsx("circle",{cx:"14.5",cy:"4.5",r:"1.2",fill:"none",stroke:"currentColor"})]}),legs:An,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),r.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),r.jsx("ellipse",{cx:"12",cy:"15",rx:"2",ry:"1.5",fill:"currentColor",stroke:"none"})]})})}function KT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"9.5",y1:"7",x2:"9",y2:"5"}),r.jsx("line",{x1:"14.5",y1:"7",x2:"15",y2:"5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"9",cy:"4.5",r:"1",fill:"currentColor",stroke:"none"}),r.jsx("circle",{cx:"15",cy:"4.5",r:"1",fill:"currentColor",stroke:"none"})]}),legs:An,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M5 11 C3.5 9 2 9.5 2.5 12 C3 14 4 13 5 12"}),r.jsx("path",{d:"M19 11 C20.5 9 22 9.5 21.5 12 C21 14 20 13 19 12"}),r.jsx("path",{d:"M9 14.5 C10 16 14 16 15 14.5"}),r.jsx("circle",{cx:"7",cy:"13",r:"1",fill:"currentColor",stroke:"none",opacity:"0.3"}),r.jsx("circle",{cx:"17",cy:"13",r:"1",fill:"currentColor",stroke:"none",opacity:"0.3"})]})})}function GT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10",y1:"7",x2:"9.5",y2:"5.5"}),r.jsx("line",{x1:"14",y1:"7",x2:"14.5",y2:"5.5"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"7.5",y1:"5.5",x2:"16.5",y2:"5.5"}),r.jsx("rect",{x:"7",y:"5",width:"4",height:"2",rx:"0.5",fill:"currentColor",stroke:"none"}),r.jsx("rect",{x:"13",y:"5",width:"4",height:"2",rx:"0.5",fill:"currentColor",stroke:"none"})]}),legs:An,extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M5 11 C3.5 9.5 1.5 10 2 12.5 C2.5 14 4 13.5 5 12.5"}),r.jsx("path",{d:"M19 11 C20.5 9.5 22.5 10 22 12.5 C21.5 14 20 13.5 19 12.5"}),r.jsx("path",{d:"M9.5 15 C10.5 16 13.5 16 14.5 15"})]})})}function JT({className:e}){return r.jsx(St,{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:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"10.5",y1:"9.5",x2:"10.5",y2:"8"}),r.jsx("line",{x1:"13.5",y1:"9.5",x2:"13.5",y2:"8"})]}),eyes:r.jsxs(r.Fragment,{children:[r.jsx("circle",{cx:"10.5",cy:"7.5",r:"0.8",fill:"currentColor",stroke:"none"}),r.jsx("circle",{cx:"13.5",cy:"7.5",r:"0.8",fill:"currentColor",stroke:"none"})]}),legs:r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"8",y1:"16",x2:"6.5",y2:"18"}),r.jsx("line",{x1:"10",y1:"17",x2:"9.5",y2:"19"}),r.jsx("line",{x1:"14",y1:"17",x2:"14.5",y2:"19"}),r.jsx("line",{x1:"16",y1:"16",x2:"17.5",y2:"18"})]}),extras:r.jsxs(r.Fragment,{children:[r.jsx("path",{d:"M7.5 12 C6.5 11 5.5 11.5 6 13 C6.5 14 7 13.5 7.5 13"}),r.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 el=[m0,FT,UT,BT,qT,HT,VT,WT,ZT,KT,GT,JT];function yc(e){return el[Math.abs(e)%el.length]??m0}function YT(e){const t=el.length-2;return t<=0?0:1+((Number.isFinite(e)?Math.trunc(e):0)%t+t)%t}function XT(e){return yc(YT(e))}const QT="x-anthropic-billing-header:";function e4(e){return e.trimStart().toLowerCase().startsWith(QT)}function t4(e){return gc(e)?Object.prototype.hasOwnProperty.call(e,"system"):!1}function n4(e){if(!gc(e))return!1;const t=Q(e,"type"),n=Q(e,"text");return typeof t!="string"||t!=="text"||typeof n!="string"?!1:e4(n)}function s4(e){let t;try{t=JSON.parse(e)}catch{return{body:e,removed:0}}if(!t4(t))return{body:e,removed:0};const n=t.system;if(!Array.isArray(n)||n.length===0)return{body:e,removed:0};const s=[];let o=0;for(const i of n){if(n4(i)){o+=1;continue}s.push(i)}return o===0?{body:e,removed:0}:(s.length===0?delete t.system:t.system=s,{body:JSON.stringify(t),removed:o})}const r4=400,Hu=2e3;function o4(e){return Array.isArray(e)}function i4(e,t){const n=[e];let s=0;for(;n.length>0;){const o=n.pop();if(o!==void 0){if(s+=1,s>t)return s;if(!(o===null||typeof o!="object")){if(o4(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 s}function a4(e){const t=i4(e,Hu+1);return t<=r4?{depth:Number.POSITIVE_INFINITY}:t<=Hu?{depth:3}:{depth:2}}function l4(e){try{const t=JSON.parse(e);return{kind:"json",data:zo(t)}}catch{return{kind:"text"}}}function Qi(e){const t=c.useMemo(()=>e===null?null:l4(e),[e]),n=t?.kind==="json"?t.data:null,s=c.useMemo(()=>n===null?null:a4(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&&s!==null?s.depth:0;f(()=>{i(h),l(x),d(y=>y+1)})},[o,s]);return{parsedData:n,policy:s,isExpanded:o,toggle:m,isPending:p,bulkDepth:a,bulkRevision:u}}function zo(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=>zo(n));const t={};for(const n of Object.keys(e)){const s=Object.getOwnPropertyDescriptor(e,n);t[n]=zo(s?.value)}return t}case"bigint":case"symbol":case"function":case"undefined":return String(e)}return null}function h0({className:e,orientation:t="horizontal",...n}){return r.jsx(lC,{"data-slot":"tabs","data-orientation":t,orientation:t,className:$("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...n})}const c4=op("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 x0({className:e,variant:t="default",...n}){return r.jsx(cC,{"data-slot":"tabs-list","data-variant":t,className:$(c4({variant:t}),e),...n})}function gn({className:e,...t}){return r.jsx(uC,{"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 yt({className:e,...t}){return r.jsx(dC,{"data-slot":"tabs-content",className:$("flex-1 outline-none",e),...t})}function vn(e){const[t,n]=c.useState(!1),s=c.useRef(null);c.useEffect(()=>()=>{s.current!==null&&clearTimeout(s.current)},[]);const o=c.useCallback(i=>{i.stopPropagation(),e!==null&&Mt(e).then(a=>{a&&(n(!0),s.current!==null&&clearTimeout(s.current),s.current=setTimeout(()=>n(!1),2e3))})},[e]);return{copied:t,copy:o}}const u4=c.lazy(()=>Jt(()=>import("./CompareDrawer-BF8Yk4Nq.js"),__vite__mapDeps([2,1])).then(e=>({default:e.CompareDrawer}))),d4=c.lazy(()=>Jt(()=>import("./InspectorPet-D01knLHJ.js"),__vite__mapDeps([3,1])).then(e=>({default:e.InspectorPet}))),p4=c.lazy(()=>Jt(()=>import("./ReplayDialog-NRgCp09o.js"),__vite__mapDeps([4,1,5])).then(e=>({default:e.ReplayDialog}))),f4=c.lazy(()=>Jt(()=>import("./RequestAnatomy-BPiUptQ-.js"),__vite__mapDeps([6,1])).then(e=>({default:e.RequestAnatomy}))),m4=c.lazy(()=>Jt(()=>import("./ResponseView-C6oCKVyP.js"),__vite__mapDeps([5,1])).then(e=>({default:e.ResponseView}))),h4=c.lazy(()=>Jt(()=>import("./StreamingChunkSequence-B90BNPvD.js"),__vite__mapDeps([7,1])).then(e=>({default:e.StreamingChunkSequence}))),tl=c.lazy(()=>Jt(()=>import("./json-viewer-CuYTDXFj.js"),__vite__mapDeps([8,1])).then(e=>({default:e.JsonViewer}))),x4=c.lazy(()=>Jt(()=>import("./json-viewer-CuYTDXFj.js"),__vite__mapDeps([8,1])).then(e=>({default:e.JsonViewerFromString}))),g4=1200,b4=12;function v4(e){const{containerRef:t,setExpandToPath:n,ensureTabActive:s,highlightMs:o}=e,i=c.useRef(null);return c.useCallback(a=>{s?.(),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??g4)},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(b4))},[t,s,o,n])}const Vu="The compact log metadata is still available. Retry if the local server was restarting or the body store was briefly unavailable.";function hs(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 y4(e,t){const n=[];return e!=null&&n.push(`Request ${hs(e)}`),t!=null&&n.push(`Response ${hs(t)}`),n.length===0?null:n.join(" · ")}function w4(e){if(e instanceof Qo)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===""?Vu:t}}return{title:"Full bodies could not be loaded",detail:Vu}}class g0{diff(t,n,s={}){let o;typeof s=="function"?(o=s,s={}):"callback"in s&&(o=s.callback);const i=this.castInput(t,s),a=this.castInput(n,s),l=this.removeEmpty(this.tokenize(i,s)),u=this.removeEmpty(this.tokenize(a,s));return this.diffWithOptionsObj(l,u,s,o)}diffWithOptionsObj(t,n,s,o){var i;const a=v=>{if(v=this.postProcess(v,s),o){setTimeout(function(){o(v)},0);return}else return v},l=n.length,u=t.length;let d=1,p=l+u;s.maxEditLength!=null&&(p=Math.min(p,s.maxEditLength));const f=(i=s.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,s);if(h[0].oldPos+1>=u&&x+1>=l)return a(this.buildValues(h[0].lastComponent,n,t));let y=-1/0,b=1/0;const w=()=>{for(let v=Math.max(y,-d);v<=Math.min(b,d);v+=2){let j;const k=h[v-1],S=h[v+1];k&&(h[v-1]=void 0);let _=!1;if(S){const I=S.oldPos-v;_=S&&0<=I&&I<l}const N=k&&k.oldPos+1<u;if(!_&&!N){h[v]=void 0;continue}if(!N||_&&k.oldPos<S.oldPos?j=this.addToPath(S,!0,!1,0,s):j=this.addToPath(k,!1,!0,1,s),x=this.extractCommon(j,n,t,v,s),j.oldPos+1>=u&&x+1>=l)return a(this.buildValues(j.lastComponent,n,t))||!0;h[v]=j,j.oldPos+1>=u&&(b=Math.min(b,v-1)),x+1>=l&&(y=Math.max(y,v+1))}d++};if(o)(function v(){setTimeout(function(){if(d>p||Date.now()>m)return o(void 0);w()||v()},0)})();else for(;d<=p&&Date.now()<=m;){const v=w();if(v)return v}}addToPath(t,n,s,o,i){const a=t.lastComponent;return a&&!i.oneChangePerToken&&a.added===n&&a.removed===s?{oldPos:t.oldPos+o,lastComponent:{count:a.count+1,added:n,removed:s,previousComponent:a.previousComponent}}:{oldPos:t.oldPos+o,lastComponent:{count:1,added:n,removed:s,previousComponent:a}}}extractCommon(t,n,s,o,i){const a=n.length,l=s.length;let u=t.oldPos,d=u-o,p=0;for(;d+1<a&&u+1<l&&this.equals(s[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,s){return s.comparator?s.comparator(t,n):t===n||!!s.ignoreCase&&t.toLowerCase()===n.toLowerCase()}removeEmpty(t){const n=[];for(let s=0;s<t.length;s++)t[s]&&n.push(t[s]);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,s){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(s.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=s[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 j4 extends g0{constructor(){super(...arguments),this.tokenize=v0}equals(t,n,s){return s.ignoreWhitespace?((!s.newlineIsToken||!t.includes(`
|
|
116
|
-
`))&&(t=t.trim()),(!s.newlineIsToken||!n.includes(`
|
|
117
|
-
`))&&(n=n.trim())):s.ignoreNewlineAtEof&&!s.newlineIsToken&&(t.endsWith(`
|
|
118
|
-
`)&&(t=t.slice(0,-1)),n.endsWith(`
|
|
119
|
-
`)&&(n=n.slice(0,-1))),super.equals(t,n,s)}}const k4=new j4;function b0(e,t,n){return k4.diff(e,t,n)}function v0(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
|
|
120
|
-
`));const n=[],s=e.split(/(\n|\r\n)/);s[s.length-1]||s.pop();for(let o=0;o<s.length;o++){const i=s[o];o%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}class S4 extends g0{constructor(){super(...arguments),this.tokenize=v0}get useLongestToken(){return!0}castInput(t,n){const{undefinedReplacement:s,stringifyReplacer:o=(i,a)=>typeof a>"u"?s:a}=n;return typeof t=="string"?t:JSON.stringify(nl(t,null,null,o),null," ")}equals(t,n,s){return super.equals(t.replace(/,([\r\n])/g,"$1"),n.replace(/,([\r\n])/g,"$1"),s)}}const _4=new S4;function N4(e,t,n){return _4.diff(e,t,n)}function nl(e,t,n,s,o){t=t||[],n=n||[],s&&(e=s(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]=nl(e[i],t,n,s,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]=nl(e[u],t,n,s,u);t.pop(),n.pop()}else a=e;return a}function Wu(e){return e===void 0?[]:Object.entries(e).map(t=>[t[0].toLowerCase(),t[1]]).sort(([t],[n])=>t.localeCompare(n))}function Zu([e,t]){return`${e}: ${t}`}function sl(e){const t=[];let n=0,s=0;for(const o of e){const i=o.value.split(`
|
|
121
|
-
`);i.length>0&&i[i.length-1]===""&&i.pop();for(const a of i)o.added?(s+=1,t.push({kind:"added",text:a,oldLineNumber:null,newLineNumber:s})):o.removed?(n+=1,t.push({kind:"removed",text:a,oldLineNumber:n,newLineNumber:null})):(n+=1,s+=1,t.push({kind:"context",text:a,oldLineNumber:n,newLineNumber:s}))}return t}function C4(e,t){const n=Wu(e).map(Zu).join(`
|
|
122
|
-
`),s=Wu(t).map(Zu).join(`
|
|
123
|
-
`);if(n===s)return{lines:[],isEmpty:!0};const o=b0(n,s);return{lines:sl(o),isEmpty:!1}}function Ku(e){try{const t=JSON.parse(e);return t===null||typeof t=="string"||typeof t=="object"?t:null}catch{return null}}function T4(e,t){const n=e??"",s=t??"";if(n===s)return{lines:[],isEmpty:!0};const o=Ku(n),i=Ku(s);if(o!==null&&i!==null){const l=N4(o,i)??[];if(l.length===1){const u=l[0];if(u!==void 0&&!u.added&&!u.removed)return{lines:[],isEmpty:!0}}return{lines:sl(l),isEmpty:!1}}const a=b0(n,s);return{lines:sl(a),isEmpty:!1}}const E4=22,ea=1e4;function R4(e){return e==="added"?"+":e==="removed"?"-":" "}function M4(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 A4=function({result:t,emptyLabel:n}){const[s,o]=c.useState("unified"),i=c.useRef(null),a=OT({count:t.lines.length,getScrollElement:()=>i.current,estimateSize:()=>E4,overscan:10});if(t.isEmpty)return r.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>ea,d=u?t.lines.slice(0,ea):t.lines;return r.jsxs("div",{className:"space-y-2",children:[r.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[r.jsxs("span",{children:[l.toLocaleString()," line",l===1?"":"s",u&&` (showing first ${ea.toLocaleString()})`]}),r.jsxs("div",{className:"inline-flex rounded-md border border-border overflow-hidden",children:[r.jsxs("button",{type:"button",onClick:()=>o("unified"),"aria-pressed":s==="unified",className:$("flex items-center gap-1 px-2 py-1 transition-colors",s==="unified"?"bg-muted text-foreground":"hover:bg-muted/50"),title:"Unified diff (single column)",children:[r.jsx(Wj,{className:"size-3"}),"Unified"]}),r.jsxs("button",{type:"button",onClick:()=>o("split"),"aria-pressed":s==="split",className:$("flex items-center gap-1 px-2 py-1 transition-colors border-l border-border",s==="split"?"bg-muted text-foreground":"hover:bg-muted/50"),title:"Split diff (side by side)",children:[r.jsx(Iw,{className:"size-3"}),"Split"]})]})]}),r.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:s==="unified"?r.jsx(I4,{virtualizer:a,lines:d}):r.jsx(z4,{lines:d})})]})};function I4({virtualizer:e,lines:t}){return r.jsx("div",{style:{height:`${e.getTotalSize()}px`,width:"100%",position:"relative"},children:e.getVirtualItems().map(n=>{const s=t[n.index];return s===void 0?null:r.jsxs("div",{"data-index":n.index,ref:e.measureElement,className:$("flex items-start gap-3 px-2",M4(s.kind)),style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${n.start}px)`},children:[r.jsx("span",{className:"select-none text-muted-foreground/60 w-10 text-right tabular-nums",children:s.oldLineNumber??""}),r.jsx("span",{className:"select-none text-muted-foreground/60 w-10 text-right tabular-nums",children:s.newLineNumber??""}),r.jsx("span",{className:$("select-none w-3 text-right font-bold",s.kind==="added"&&"text-green-600 dark:text-green-400",s.kind==="removed"&&"text-red-600 dark:text-red-400"),children:R4(s.kind)}),r.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:s.text})]},n.key)})})}function P4(e){const t=[];let n=0;for(;n<e.length;){const s=e[n];if(s===void 0)break;if(s.kind==="context"){t.push({left:{text:s.text,lineNumber:s.oldLineNumber},right:{text:s.text,lineNumber:s.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 O4(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 z4({lines:e}){const t=P4(e);return r.jsx("div",{"data-testid":"diff-split",children:t.map((n,s)=>r.jsxs("div",{className:$("grid grid-cols-2 font-mono text-xs",O4(n.kind)),children:[r.jsxs("div",{className:"flex items-start gap-2 px-2 border-r border-border/50",children:[r.jsx("span",{className:"select-none text-muted-foreground/60 w-8 text-right tabular-nums",children:n.left?.lineNumber??""}),r.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?"-":" "}),r.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:n.left?.text??""})]}),r.jsxs("div",{className:"flex items-start gap-2 px-2",children:[r.jsx("span",{className:"select-none text-muted-foreground/60 w-8 text-right tabular-nums",children:n.right?.lineNumber??""}),r.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?"+":" "}),r.jsx("span",{className:"whitespace-pre-wrap break-all flex-1",children:n.right?.text??""})]})]},s))})}const y0=c.memo(A4),L4=op("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 Ne({className:e,variant:t="default",asChild:n=!1,...s}){const o=n?e5:"span";return r.jsx(o,{"data-slot":"badge","data-variant":t,className:$(L4({variant:t}),e),...s})}const $4=3;function D4({event:e}){const t=n=>{n.stopPropagation(),Ms({logId:e.logId,tab:"response",toolCallIndex:e.index})};return r.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:r.jsx("span",{className:"min-w-0 truncate font-mono font-semibold",children:e.name})})}function F4({events:e}){if(e.length===0)return null;const t=e.slice(0,$4),n=Math.max(0,e.length-t.length);return r.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:s=>s.stopPropagation(),onKeyDown:s=>s.stopPropagation(),children:[r.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:[r.jsx(vr,{className:"size-3"}),"Call ",e.length]}),r.jsxs("span",{className:"flex min-w-0 flex-1 items-center gap-0.5 overflow-hidden",children:[t.map(s=>r.jsx(D4,{event:s},s.id)),n>0&&r.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 U4={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"},B4={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"}},Hs="border border-transparent bg-white/[0.045] hover:bg-white/[0.075] size-8 text-muted-foreground shadow-none hover:text-cyan-100",Et="bg-white/[0.045] flex h-7 items-center gap-1 rounded-md px-2 text-xs";function Vs(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function q4(e){return e>=10?`${e.toFixed(0)}/s`:`${e.toFixed(1)}/s`}function H4(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 Gu({trend:e}){if(e===null)return null;const t=e.direction==="up",n=t?Zy:Uy,s=t?"+":"-";return r.jsxs("span",{className:"flex items-center gap-0.5 text-muted-foreground tabular-nums",children:[r.jsx(n,{className:t?"size-3 text-cyan-300":"size-3 text-rose-400"}),r.jsxs("span",{className:"font-mono",children:[s,Me(e.delta)]})]})}const V4=c.memo(function({log:e,displayNumber:t,messageCount:n=null,toolCount:s=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=Fx(e.responseStatus),y=e.elapsedMs!==null&&f>0&&e.elapsedMs>f*1e3,b=e.inputTokens!==null||e.outputTokens!==null,w=e.firstChunkMs??null,v=e.tokensPerSecond??null,j=w===null?null:Vs(w),k=v===null||v<=0?null:q4(v),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 I=B4[x],P=H4(x,e.responseStatus),M=x!=="success"||e.responseStatus!==200,C=e.streaming&&j===null&&k===null;return r.jsx(Ls,{children:r.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:A=>{(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),a())},children:[r.jsxs("span",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1",children:[r.jsx("span",{className:$("inline-flex h-8 shrink-0 items-center rounded-md px-2 font-mono",I.frame),children:r.jsxs("span",{className:"text-xs font-semibold tabular-nums",title:`Log ID ${String(e.id)}`,children:["#",t]})}),r.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:[r.jsx(rn,{className:"size-3"}),r.jsx("span",{className:"font-mono tabular-nums",title:e.timestamp,children:Pa(e.timestamp,h)})]}),M&&r.jsxs(Ne,{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)]",U4[x]),children:[x==="success"?r.jsx(Ze,{className:"size-3","aria-label":"Success"}):x==="server_error"?r.jsx(Mj,{className:"size-3","aria-label":"Server error"}):x==="client_error"?r.jsx(wn,{className:"size-3","aria-label":"Client error"}):r.jsx(Fe,{className:"size-3 animate-spin","aria-label":"Pending"}),P]}),S>0&&r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsxs(Ne,{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:[r.jsx(wn,{className:"size-3","aria-label":"Tool schema warnings"}),S]})}),r.jsx(ft,{children:S===1?"1 tool schema warning":`${S} tool schema warnings`})]}),e.elapsedMs!==null&&(y?r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsxs("span",{className:$(Et,"shrink-0 border-amber-300/25 text-amber-200"),children:[r.jsx(rn,{className:"size-3"}),r.jsx("span",{className:"font-mono tabular-nums",children:Vs(e.elapsedMs)}),r.jsx(wn,{className:"size-3","aria-label":"Slow response"})]})}),r.jsxs(ft,{children:["Slow response: ",Vs(e.elapsedMs)," exceeds"," ",Vs(f*1e3)]})]}):r.jsxs("span",{className:$(Et,"shrink-0 text-muted-foreground"),children:[r.jsx(rn,{className:"size-3"}),r.jsx("span",{className:"font-mono tabular-nums",children:Vs(e.elapsedMs)})]})),e.streaming&&j!==null&&r.jsxs("span",{className:$(Et,"shrink-0 text-cyan-300"),children:[r.jsx(lu,{className:"size-3"}),r.jsxs("span",{className:"font-mono tabular-nums",children:["first ",j]})]}),e.streaming&&k!==null&&r.jsxs("span",{className:$(Et,"shrink-0 text-cyan-300"),children:[r.jsx(Dl,{className:"size-3"}),r.jsx("span",{className:"font-mono tabular-nums",children:k})]}),b&&r.jsxs("span",{className:$(Et,"min-w-0 sm:shrink-0"),children:[r.jsx(or,{className:"size-3 text-muted-foreground"}),r.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-1 font-mono tabular-nums",children:[r.jsxs("span",{className:$("whitespace-nowrap",e.inputTokens!==null?"text-blue-400":"text-muted-foreground"),children:["IN ",e.inputTokens!==null?Me(e.inputTokens):"n/a"]}),r.jsx("span",{className:"text-muted-foreground",children:"/"}),r.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&&r.jsxs("span",{className:$(Et,"shrink-0"),children:[r.jsx(Gu,{trend:l?.creation??null}),r.jsxs("span",{className:"font-mono tabular-nums text-cyan-300",children:["KV Cache +",Me(e.cacheCreationInputTokens)]})]}),e.cacheReadInputTokens!==null&&e.cacheReadInputTokens>0&&r.jsxs("span",{className:$(Et,"shrink-0"),children:[r.jsx(Gu,{trend:l?.read??null}),r.jsxs("span",{className:"font-mono tabular-nums text-purple-400",children:["KV Cache ~",Me(e.cacheReadInputTokens)]})]}),n!==null&&r.jsxs("span",{className:$(Et,"shrink-0 text-muted-foreground"),children:[r.jsx(ti,{className:"size-3"}),r.jsx("span",{className:"font-mono tabular-nums",children:n})]}),s!==null&&r.jsxs("span",{className:$(Et,"shrink-0 text-muted-foreground"),children:[r.jsx(vr,{className:"size-3"}),r.jsx("span",{className:"font-mono tabular-nums",children:s})]}),r.jsx(F4,{events:o}),e.origin!==null&&r.jsxs("span",{className:$(Et,"hidden shrink-0 text-muted-foreground xl:flex"),title:`Origin: ${e.origin}`,children:[r.jsx(bf,{className:"size-3"}),r.jsx("span",{className:"font-mono tabular-nums truncate max-w-[120px]",title:e.origin,children:e.origin})]}),m&&(_||N)&&r.jsxs("span",{className:$(Et,"hidden shrink-0 text-purple-300 xl:flex"),children:[r.jsx(Yw,{className:"size-3"}),N?r.jsx("span",{className:"font-mono tabular-nums",children:e.clientProjectFolder}):r.jsxs("span",{className:"font-mono tabular-nums",children:["PID ",e.clientPid]})]}),C&&r.jsx(lu,{className:"size-3 shrink-0 text-muted-foreground/60"})]}),r.jsxs("span",{className:"flex shrink-0 items-start gap-1.5",children:[i&&r.jsxs("span",{className:"flex items-center gap-1.5 shrink-0",onClick:A=>A.stopPropagation(),onKeyDown:A=>A.stopPropagation(),children:[d!==void 0&&u!==void 0&&(()=>{const A=d[u];return A===void 0?null:r.jsxs(r.Fragment,{children:[A.expansion!==null&&r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsx(ee,{variant:"outline",size:"icon",className:Hs,onClick:A.expansion.onToggle,disabled:A.expansion.isPending,"aria-pressed":A.expansion.isExpanded,"aria-label":A.expansion.isExpanded?"Collapse all JSON":"Expand all JSON",children:A.expansion.isExpanded?r.jsx(hw,{className:"size-3.5"}):r.jsx(cw,{className:"size-3.5"})})}),r.jsx(ft,{children:A.expansion.isExpanded?"Collapse all JSON nodes":"Expand all JSON nodes"})]}),A.diffWithRaw!==void 0&&r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsx(ee,{variant:"outline",size:"icon",className:$(Hs,A.diffWithRaw.active&&"border-cyan-300/35 bg-cyan-400/15 text-cyan-100"),onClick:A.diffWithRaw.onToggle,"aria-pressed":A.diffWithRaw.active,"aria-label":A.diffWithRaw.active?"Hide raw diff":"Diff with raw",children:r.jsx(Zw,{className:"size-3.5"})})}),r.jsx(ft,{children:A.diffWithRaw.active?"Hide diff with raw request":"Show diff between displayed and raw request body"})]}),A.diffWithPrevious!==void 0&&r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsx(ee,{variant:"outline",size:"icon",className:Hs,onClick:A.diffWithPrevious,"aria-label":"Diff with previous",children:r.jsx(vf,{className:"size-3.5"})})}),r.jsx(ft,{children:"Compare this request with the immediately preceding one"})]}),A.copyText!==null&&r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsx(ee,{variant:"outline",size:"icon",className:Hs,onClick:A.onCopy,"aria-label":A.copyCopied?"Copied":A.copyLabel,children:A.copyCopied?r.jsx(Ze,{className:"size-3.5 text-cyan-300"}):r.jsx(Ot,{className:"size-3.5"})})}),r.jsx(ft,{children:A.copyCopied?"Copied to clipboard":A.copyLabel})]})]})})(),p!==void 0&&r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsx(ee,{variant:"outline",size:"icon",className:Hs,onClick:p,"aria-label":"Replay request",children:r.jsx(kf,{className:"size-3.5"})})}),r.jsx(ft,{children:"Re-send this request to the provider"})]})]}),r.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?r.jsx(Qe,{className:"size-4 shrink-0"}):r.jsx(bt,{className:"size-4 shrink-0"})})]})]})})});function W4({...e}){return r.jsx(C5,{"data-slot":"collapsible",...e})}function v6({...e}){return r.jsx(Of,{"data-slot":"collapsible-trigger",...e})}function Z4({...e}){return r.jsx(zf,{"data-slot":"collapsible-content",...e})}function K4({className:e,children:t,...n}){return r.jsxs(AN,{"data-slot":"scroll-area",className:$("relative overflow-hidden",e),...n,children:[r.jsx(IN,{"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}),r.jsx(G4,{}),r.jsx(PN,{})]})}function G4({className:e,orientation:t="vertical",...n}){return r.jsx(Vm,{"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:r.jsx(Gm,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}const w0={file:"file",shell:"shell",browser:"browser",web:"web",mcp:"MCP",code:"code",other:"other"},J4={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 Y4({category:e}){switch(e){case"file":return r.jsx(Qw,{className:"size-3.5"});case"shell":return r.jsx(Yn,{className:"size-3.5"});case"browser":return r.jsx(Cj,{className:"size-3.5"});case"web":return r.jsx(bf,{className:"size-3.5"});case"mcp":return r.jsx(Xy,{className:"size-3.5"});case"code":return r.jsx(hf,{className:"size-3.5"});case"other":return r.jsx(Dw,{className:"size-3.5"})}}function X4({names:e}){return e.length===0?null:r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1",children:[r.jsx("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"required"}),e.slice(0,4).map(t=>r.jsx(Ne,{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&&r.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:["+",e.length-4]})]})}function Q4({tool:e,called:t}){const[n,s]=c.useState(!1),o=vn(e.name),i=e.description!==null||e.requiredParameters.length>0||e.schema!==null;return r.jsx(W4,{open:n,onOpenChange:s,children:r.jsxs("div",{className:"bg-white/[0.035] rounded-[8px]",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2 px-2.5 py-2",children:[r.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:()=>s(a=>!a),"aria-expanded":n,disabled:!i,children:[r.jsx(Y4,{category:e.category}),r.jsx("span",{className:"min-w-0 truncate font-mono text-xs font-semibold text-foreground/90",children:e.name}),t&&r.jsx(Ne,{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"}),r.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:[e.parameterCount," params"]}),e.descriptionPreview!==null&&r.jsx("span",{className:"hidden min-w-0 truncate text-xs text-muted-foreground md:inline",children:e.descriptionPreview}),r.jsx("span",{className:"flex-1"}),i&&(n?r.jsx(Qe,{className:"size-3.5 shrink-0 text-muted-foreground"}):r.jsx(bt,{className:"size-3.5 shrink-0 text-muted-foreground"}))]}),r.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?r.jsx(Ze,{className:"size-3.5 text-emerald-400"}):r.jsx(Ot,{className:"size-3.5"})})]}),r.jsx(Z4,{children:n&&r.jsxs("div",{className:"space-y-2 bg-white/[0.025] px-2.5 py-2",children:[e.description!==null&&r.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:e.description}),r.jsx(X4,{names:e.requiredParameters}),e.schema!==null&&r.jsx(K4,{className:"bg-black/[0.16] max-h-64 rounded-[8px] p-2",children:r.jsx(c.Suspense,{fallback:r.jsx("div",{className:"text-xs text-muted-foreground",children:"Loading JSON..."}),children:r.jsx(tl,{data:zo(e.schema),defaultExpandDepth:0})})})]})})]})})}function eE(e,t){return t.length===0?!0:`${e.name} ${e.description??""} ${w0[e.category]}`.toLowerCase().trim().includes(t)}const tE=c.memo(function({summary:t,calledToolNames:n}){const[s,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=>eE(m,u)),[u,t]);if(t===null)return null;const p=t.tools.slice(0,6),f=t.tools.length-p.length;return r.jsxs("section",{className:"bg-black/[0.10] mb-3 overflow-hidden rounded-[8px]",children:[r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2 px-3 py-2",children:[r.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[r.jsx(vr,{className:"size-4 shrink-0 text-sky-300/80"}),r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[r.jsx("span",{className:"text-sm font-semibold text-foreground",children:"Request Tools"}),r.jsx(Ne,{variant:"outline",className:"h-5 rounded-md px-1.5 py-0 font-mono text-[10px]",children:t.tools.length}),t.toolChoiceLabel!==null&&r.jsxs(Ne,{variant:"outline",className:"h-5 rounded-md px-1.5 py-0 font-mono text-[10px] text-muted-foreground",children:["tool_choice: ",t.toolChoiceLabel]})]}),r.jsx("div",{className:"mt-1 flex min-w-0 flex-wrap gap-1",children:t.categories.map(m=>r.jsxs(Ne,{variant:"outline",className:$("h-5 rounded-md px-1.5 py-0 font-mono text-[10px]",J4[m.category]),children:[m.count," ",w0[m.category]]},m.category))})]})]}),r.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":s,children:[s?r.jsx(Qe,{className:"size-3.5"}):r.jsx(bt,{className:"size-3.5"}),s?"Hide":"Show"]})]}),r.jsxs("div",{className:"flex min-w-0 flex-wrap gap-1.5 bg-white/[0.025] px-3 py-2",children:[p.map(m=>r.jsx(Ne,{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&&r.jsxs("span",{className:"font-mono text-[10px] leading-5 text-muted-foreground",children:["+",f]})]}),s&&r.jsxs("div",{className:"space-y-2 bg-black/10 px-3 py-3",children:[r.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:[r.jsx(Sf,{className:"size-3.5 shrink-0 text-muted-foreground"}),r.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"})]}),r.jsx("div",{className:"grid gap-1.5",children:d.length>0?d.map(m=>r.jsx(Q4,{tool:m,called:l.has(m.name)},m.name)):r.jsx("p",{className:"py-2 text-xs text-muted-foreground",children:"No matching tools"})})]})]})});function Ju(e,t,n){return e==="anthropic"&&t==="full"&&n}function nE(e,t){return e==="full"&&t}function ta(e,t){return e==="full"&&t}function na(e,t){return e==="full"&&t}function sE(e,t,n,s){return e==="anthropic"&&t==="full"&&n&&s}function ls(){return r.jsx("div",{className:"h-1","aria-hidden":"true"})}function rE(e,t){switch(e){case"anatomy":return t===null?"request":"anatomy";case"request":return"request";case"response":return"parsed"}}const oE=15e3,iE=15e3,aE=256*1024,Lo=1024*1024,On="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 qr(e=null){return{status:"idle",text:"",offset:0,totalBytes:e,hasMore:e!==null&&e>0,error:null}}function $o(e){return e??0}function j0(e){return e.bodyContentMode==="compact"||e.bodyContentMode==="truncated"}function k0(e){return j0(e)?$o(e.rawRequestBodyBytes)>Lo||$o(e.responseTextBytes)>Lo:!1}function lE(e){return j0(e)&&!k0(e)}function cE(e){return e instanceof Qo?"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 Hr({status:e,error:t,footprint:n,onRetry:s}){switch(e){case"idle":return null;case"loading":return r.jsx(ur,{tone:"loading",title:"Loading full bodies",children:r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[r.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[r.jsx(Fe,{className:"size-3.5 shrink-0 animate-spin text-cyan-200"}),r.jsx("span",{children:"Loading full request and response bodies from the log store."})]}),n!==null&&r.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 r.jsx(ur,{tone:"warning",title:t?.title??"Full bodies could not be loaded",children:r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[r.jsx("span",{children:t?.detail??"Compact metadata is still available."}),r.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:s,children:[r.jsx(Ht,{className:"size-3"}),"Retry"]})]})})}}function Yu(e,t){return e?t.text!==""?t.text:t.status==="success"?"":null:null}function zn({children:e,className:t}){return r.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 uo({children:e}){return r.jsx("div",{className:"bg-white/[0.035] rounded-md px-3 py-5 text-center text-xs italic text-muted-foreground",children:e})}function Vr({children:e}){return r.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 uE={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 ur({tone:e,title:t,children:n}){return r.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)]",uE[e]),children:[t!==void 0&&r.jsx("div",{className:"mb-1 font-semibold",children:t}),r.jsx("div",{className:"leading-relaxed text-muted-foreground",children:n})]})}function Wr({label:e,state:t,expectedBytes:n,onLoadMore:s}){const o=t.totalBytes??n,i=o===null?hs(t.offset):`${hs(t.offset)} / ${hs(o)}`,a=t.status!=="loading"&&t.hasMore,l=t.status==="failed"?"Retry":"Load more";return r.jsx(ur,{tone:t.status==="failed"?"warning":"loading",title:`${e} body preview`,children:r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[r.jsxs("span",{children:[t.status==="idle"&&o!==null?`${e} body is ${hs(o)}. Loading the first preview chunk.`:`Loaded ${i}.`,t.status==="failed"&&t.error!==null&&` ${t.error}`]}),a&&r.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:s,children:l})]})})}function Xu({headers:e,emptyLabel:t}){const n=e===void 0?[]:Object.entries(e).sort(([s],[o])=>s.localeCompare(o));return n.length===0?r.jsx(uo,{children:t}):r.jsx("div",{className:"bg-black/[0.14] overflow-hidden rounded-[8px] font-mono text-xs",children:n.map(([s,o])=>r.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:[r.jsx("div",{className:"min-w-0 truncate bg-white/[0.035] px-2.5 py-2 font-semibold text-cyan-200",children:s}),r.jsx("div",{className:"min-w-0 truncate px-2.5 py-2 text-muted-foreground",title:o,children:o})]},s))})}function dE({active:e,onClick:t}){return r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.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:[r.jsx(aj,{className:"size-3.5 mr-1"}),e?"Showing diff":"Diff with Raw"]})}),r.jsx(ft,{children:e?"Hide diff view":"Compare proxy output against the original raw version"})]})}const pE=c.memo(function({rawBody:e,displayedBody:t,emptyLabel:n}){const s=c.useMemo(()=>T4(e,t),[e,t]);return r.jsx(y0,{result:s,emptyLabel:n})}),fE=c.memo(function({rawHeaders:e,headers:t,emptyLabel:n}){const s=c.useMemo(()=>C4(e,t),[e,t]);return r.jsx(y0,{result:s,emptyLabel:n})}),mE=c.memo(function({log:e,displayNumber:t,viewMode:n="simple",strip:s,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,y]=c.useState(!1),[b,w]=c.useState(!1),[v,j]=c.useState("request"),[k,S]=c.useState(null),[_,N]=c.useState(0),[I,P]=c.useState(null),[M,C]=c.useState(null),[A,F]=c.useState("idle"),[U,G]=c.useState(null),[K,Z]=c.useState(0),[H,L]=c.useState(()=>qr(e.rawRequestBodyBytes??null)),[X,Y]=c.useState(()=>qr(e.responseTextBytes??null)),ye=c.useRef(null),he=c.useRef(e.id),ie=c.useRef(!1),D=M??e,Ce=M===null&&k0(e),te=c.useMemo(()=>y4(e.rawRequestBodyBytes,e.responseTextBytes),[e.rawRequestBodyBytes,e.responseTextBytes]),we=Yu(Ce,H),je=Yu(Ce,X),ue=D.rawRequestBody??we,le=D.responseText??je,ge=D.rawRequestBody===null&&we!==null,ke=D.responseText===null&&je!==null,be=!ge||H.hasMore===!1&&$o(H.totalBytes)<=Lo,Ve=!ke||X.hasMore===!1&&$o(X.totalBytes)<=Lo,Ue=lr(D),We=i0(Ue),ct=c.useMemo(()=>We.analyzeRequest(D.rawRequestBody),[We,D.rawRequestBody]),Lt=c.useMemo(()=>We.analyzeResponse(D.responseText),[We,D.responseText]),Ge=c.useMemo(()=>!s||Ue!=="anthropic"||D.rawRequestBody===null?null:s4(D.rawRequestBody).body,[D.rawRequestBody,Ue,s])??ue,Ae=Qi(be?Ge:null),Oe=Qi(v==="raw-request"&&be?ue:null),V=Qi(v==="raw"&&Ve?le:null),ne=c.useMemo(()=>D.headers&&Object.keys(D.headers).length>0?JSON.stringify(D.headers,null,2):null,[D.headers]),Se=c.useMemo(()=>D.rawHeaders&&Object.keys(D.rawHeaders).length>0?JSON.stringify(D.rawHeaders,null,2):null,[D.rawHeaders]),me=vn(Ge),_e=vn(ue),Je=vn(ne),J=vn(Se),T=vn(le),z=c.useMemo(()=>({request:{copyLabel:ge?"Copy loaded request preview":"Copy request body",copyText:Ge,copyCopied:me.copied,onCopy:me.copy,expansion:be?{isExpanded:Ae.isExpanded,isPending:Ae.isPending,onToggle:Ae.toggle}:null,diffWithRaw:sE(Ue,n,s,D.rawRequestBody!==null)?{active:b,onToggle:()=>w(!b)}:void 0,diffWithPrevious:l===void 0?void 0:()=>{l(D)}},"raw-request":{copyLabel:ge?"Copy loaded raw request preview":"Copy raw request",copyText:ue,copyCopied:_e.copied,onCopy:_e.copy,expansion:be?{isExpanded:Oe.isExpanded,isPending:Oe.isPending,onToggle:Oe.toggle}:null},...na(n,D.headers!==void 0&&Object.keys(D.headers).length>0)?{headers:{copyLabel:"Copy headers",copyText:ne,copyCopied:Je.copied,onCopy:Je.copy,expansion:null}}:{},...ta(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)?{"raw-headers":{copyLabel:"Copy raw headers",copyText:Se,copyCopied:J.copied,onCopy:J.copy,expansion:null}}:{},raw:{copyLabel:ke?"Copy loaded response preview":"Copy response",copyText:le,copyCopied:T.copied,onCopy:T.copy,expansion:Ve?{isExpanded:V.isExpanded,isPending:V.isPending,onToggle:V.toggle}:null}}),[Ge,ge,be,me,Ae,b,D,D.rawRequestBody,ue,_e,Oe,ne,Je,Se,J,D.responseText,ke,Ve,le,T,V,Ue,n,s,l]),q=c.useMemo(()=>Ae.parsedData!==null?We.anatomySegments(Ae.parsedData):null,[We,Ae.parsedData]),se=c.useMemo(()=>bc(Ae.parsedData),[Ae.parsedData]),de=D.warnings??[],re=c.useMemo(()=>{if(q!==null)return new Set(q.map(Ie=>Ie.path))},[q]),ve=v4({containerRef:ye,setExpandToPath:P,ensureTabActive:()=>{v!=="request"&&j("request")}}),ce=c.useCallback((Ie,tn)=>{const ot=Ie==="request"?L:Y;ot(ut=>({...ut,status:"loading",error:null}));const $s=new URLSearchParams({part:Ie,offset:String(tn),limit:String(aE)});Be(`/api/logs/${String(e.id)}/body?${$s.toString()}`,z2,iE).then(ut=>{he.current===e.id&&ot(Ds=>({status:"success",text:ut.offset===0?ut.text:`${Ds.text}${ut.text}`,offset:ut.nextOffset??ut.totalBytes,totalBytes:ut.totalBytes,hasMore:ut.hasMore,error:null}))}).catch(ut=>{he.current===e.id&&ot(Ds=>({...Ds,status:"failed",error:cE(ut)}))})},[e.id]),Nt=c.useCallback(()=>{ie.current||(C(null),F("idle"),G(null),Z(Ie=>Ie+1))},[]),In=c.useCallback(()=>{const Ie=!p;Ie&&j(q!==null?"anatomy":"request"),f(Ie)},[q,p]);return c.useEffect(()=>{he.current=e.id,ie.current=!1,C(null),F("idle"),G(null),Z(0),L(qr(e.rawRequestBodyBytes??null)),Y(qr(e.responseTextBytes??null))},[e.id,e.rawRequestBodyBytes,e.responseTextBytes]),c.useEffect(()=>{if(!p||!lE(e)||M!==null||ie.current)return;let Ie=!1;return ie.current=!0,F("loading"),G(null),Be(`/api/logs/${String(e.id)}`,rr,oE).then(tn=>{Ie||(ie.current=!1,C(tn),F("idle"),G(null))}).catch(tn=>{Ie||(ie.current=!1,F("failed"),G(w4(tn)))}),()=>{Ie=!0,ie.current=!1}},[p,M,e.bodyContentMode,e.id,e.rawRequestBodyBytes,e.responseTextBytes,K]),c.useEffect(()=>{p&&Ce&&H.status==="idle"&&(v!=="request"&&v!=="raw-request"&&v!=="anatomy"||ce("request",0))},[v,p,ce,H.status,Ce]),c.useEffect(()=>{p&&Ce&&X.status==="idle"&&(v!=="parsed"&&v!=="raw"||ce("response",0))},[v,p,ce,X.status,Ce]),c.useEffect(()=>{const Ie=tn=>{const ot=Ci(tn);ot!==null&&ot.logId===e.id&&(f(!0),j(rE(ot.tab,q)),ot.tab==="response"&&ot.toolCallIndex!==void 0&&(S(ot.toolCallIndex),N($s=>$s+1)))};return window.addEventListener(un,Ie),()=>{window.removeEventListener(un,Ie)}},[q,e.id]),r.jsxs(Ls,{children:[r.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:[r.jsx(V4,{log:D,displayNumber:t,messageCount:ct.messageCount,toolCount:ct.toolCount,toolEvents:d,expanded:p,onToggle:In,cacheTrend:a,slowResponseThresholdSeconds:o,showClientMetadata:u,timeDisplayFormat:i,activeTab:v,tabActions:z,onReplay:l===void 0?void 0:()=>{h(!0)}}),p&&r.jsxs("div",{className:"relative bg-black/[0.14] pt-2",onClick:Ie=>Ie.stopPropagation(),onKeyDown:Ie=>Ie.stopPropagation(),children:[r.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"}),r.jsx(ho,{feature:"Log details",children:r.jsxs(h0,{value:v,onValueChange:j,className:"gap-2",children:[r.jsxs(x0,{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:[ta(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&r.jsx(gn,{className:On,value:"raw-headers",children:"Raw Headers"}),na(n,D.headers!==void 0&&Object.keys(D.headers).length>0)&&r.jsx(gn,{className:On,value:"headers",children:"Headers"}),q!==null&&r.jsx(gn,{className:On,value:"anatomy",children:"Context"}),Ju(Ue,n,s)&&r.jsx(gn,{className:On,value:"raw-request",children:"Raw Request"}),r.jsx(gn,{className:On,value:"request",children:"Request"}),n==="full"&&r.jsx(gn,{className:On,value:"raw",children:"Raw Response"}),r.jsx(gn,{className:On,value:"parsed",children:"Response"})]}),Ju(Ue,n,s)&&r.jsx(yt,{value:"raw-request",children:v==="raw-request"&&r.jsxs(zn,{children:[r.jsx(Hr,{status:A,error:U,footprint:te,onRetry:Nt}),Ce&&r.jsx(Wr,{label:"Request",state:H,expectedBytes:e.rawRequestBodyBytes??null,onLoadMore:()=>ce("request",H.offset)}),ue===null?r.jsx(uo,{children:Ce?"Request preview is loading":"No request body"}):Oe.parsedData!==null?r.jsx(c.Suspense,{fallback:r.jsx(ls,{}),children:r.jsx(tl,{data:Oe.parsedData,bulkDepth:Oe.bulkDepth,bulkRevision:Oe.bulkRevision})}):r.jsx(Vr,{children:ue})]})}),r.jsx(yt,{value:"request",children:v==="request"&&r.jsxs(zn,{children:[r.jsx(Hr,{status:A,error:U,footprint:te,onRetry:Nt}),Ce&&r.jsx(Wr,{label:"Request",state:H,expectedBytes:e.rawRequestBodyBytes??null,onLoadMore:()=>ce("request",H.offset)}),de.length>0&&r.jsxs(ur,{tone:"warning",children:[r.jsxs("div",{className:"flex items-center gap-2 font-semibold text-amber-300",children:[r.jsx(wn,{className:"size-3.5"}),"Tool schema warnings"]}),r.jsx("ul",{className:"mt-2 space-y-1 text-muted-foreground",children:de.map(Ie=>r.jsx("li",{children:Ie},Ie))})]}),r.jsx(tE,{summary:se,calledToolNames:Lt.toolNames??[]}),b?r.jsx(pE,{rawBody:D.rawRequestBody,displayedBody:Ge,emptyLabel:"No transformation applied; raw and sent request bodies are identical."}):r.jsx("div",{ref:ye,children:Ge===null?r.jsx(uo,{children:Ce?"Request preview is loading":"No request body"}):Ae.parsedData!==null?r.jsx(c.Suspense,{fallback:r.jsx(ls,{}),children:r.jsx(tl,{data:Ae.parsedData,bulkDepth:Ae.bulkDepth,bulkRevision:Ae.bulkRevision,anatomyPaths:re,expandToPath:I})}):r.jsx(Vr,{children:Ge})})]})}),q!==null&&r.jsx(yt,{value:"anatomy",children:v==="anatomy"&&r.jsx(zn,{className:"p-0",children:r.jsx(c.Suspense,{fallback:r.jsx(ls,{}),children:r.jsx(f4,{parsed:Ae.parsedData,inputTokens:D.inputTokens??null,model:D.model,segments:q,onSegmentActivate:ve})})})}),na(n,D.headers!==void 0&&Object.keys(D.headers).length>0)&&r.jsx(yt,{value:"headers",children:v==="headers"&&r.jsxs(zn,{children:[r.jsx("div",{className:"flex justify-end gap-2 mb-2",children:nE(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&r.jsx(dE,{active:x,onClick:Ie=>{Ie.stopPropagation(),y(!x)}})}),x?r.jsx(fE,{rawHeaders:D.rawHeaders,headers:D.headers,emptyLabel:"No transformation applied; raw and processed headers are identical."}):r.jsx(Xu,{headers:D.headers,emptyLabel:"No headers captured"})]})}),ta(n,D.rawHeaders!==void 0&&Object.keys(D.rawHeaders).length>0)&&r.jsx(yt,{value:"raw-headers",children:v==="raw-headers"&&r.jsx(zn,{children:r.jsx(Xu,{headers:D.rawHeaders,emptyLabel:"No raw headers captured"})})}),r.jsx(yt,{value:"raw",children:v==="raw"&&r.jsxs(zn,{className:"space-y-3",children:[r.jsx(Hr,{status:A,error:U,footprint:te,onRetry:Nt}),Ce&&r.jsx(Wr,{label:"Response",state:X,expectedBytes:e.responseTextBytes??null,onLoadMore:()=>ce("response",X.offset)}),D.error!==void 0&&D.error!==null&&r.jsx(ur,{tone:"danger",title:"SSE Error",children:r.jsx("span",{className:"font-mono",children:D.error})}),le!==null&&Ve?r.jsx(c.Suspense,{fallback:r.jsx(ls,{}),children:r.jsx(x4,{text:le,defaultExpandDepth:0,bulkDepth:V.bulkDepth,bulkRevision:V.bulkRevision})}):le!==null?r.jsx(Vr,{children:le}):r.jsx(uo,{children:Ce?"Response preview is loading":"No response"}),D.streaming===!0&&r.jsx(c.Suspense,{fallback:r.jsx(ls,{}),children:r.jsx(h4,{logId:D.id,truncated:D.streamingChunksPath!==null})})]})}),r.jsx(yt,{value:"parsed",children:v==="parsed"&&r.jsxs(zn,{children:[r.jsx(Hr,{status:A,error:U,footprint:te,onRetry:Nt}),Ce&&r.jsx(Wr,{label:"Response",state:X,expectedBytes:e.responseTextBytes??null,onLoadMore:()=>ce("response",X.offset)}),ke&&!Ve?r.jsx(Vr,{children:le}):r.jsx(c.Suspense,{fallback:r.jsx(ls,{}),children:r.jsx(m4,{responseText:le,responseStatus:D.responseStatus,streaming:D.streaming,inputTokens:D.inputTokens,outputTokens:D.outputTokens,cacheCreationInputTokens:D.cacheCreationInputTokens,cacheReadInputTokens:D.cacheReadInputTokens,apiFormat:Ue,error:D.error,focusedToolIndex:k,toolFocusNonce:_})})]})})]})})]})]}),r.jsx(ho,{feature:"Replay",children:r.jsx(c.Suspense,{fallback:null,children:r.jsx(p4,{log:D,displayNumber:t,open:m,onOpenChange:h})})})]})});function hE(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 sa(e){return e?"cursor-pointer transition-transform hover:scale-110":""}function xE({stopReason:e,isPending:t,isFirst:n,isTurnStart:s,isOnlyEntry:o=!1,isOpenTurnTail:i=!1,crabIndex:a=0,collapsible:l=!1,onToggle:u}){const d=vc(e),p=o&&s&&d,f=t&&!d,m=l&&u!==void 0,h=c.useMemo(()=>yc(a),[a]),x=c.useMemo(()=>XT(a),[a]),y=w=>{!m||u===void 0||(w.stopPropagation(),u())},b=w=>{!m||u===void 0||w.key!=="Enter"&&w.key!==" "||(w.preventDefault(),u())};return r.jsxs("div",{className:"flex flex-col items-center w-6 shrink-0 pt-0.5 pb-0.5",children:[r.jsx("div",{className:"flex justify-center h-[calc(0.75rem-8px)]",children:!n&&r.jsx("div",{className:"w-px bg-muted-foreground/18 h-full"})}),p?r.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:"Single-request turn",className:sa(m),onClick:y,onKeyDown:b,children:r.jsx(x,{className:$("size-3.5 text-[#80FF00]","animate-crab-settle","drop-shadow-[0_0_4px_rgba(128,255,0,0.5)]")})}):d?r.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:hE(e),className:sa(m),onClick:y,onKeyDown:b,children:r.jsx(h,{className:$("size-3.5 text-amber-400","animate-crab-settle","drop-shadow-[0_0_4px_rgba(251,191,36,0.5)]")})}):s?r.jsx("span",{role:m?"button":void 0,tabIndex:m?0:void 0,title:"Start of turn",className:sa(m),onClick:y,onKeyDown:b,children:r.jsx(h,{className:$("size-3.5 text-emerald-400","animate-crab-appear","drop-shadow-[0_0_4px_rgba(52,211,153,0.5)]")})}):i?r.jsx("span",{title:t?"Current end of open turn (processing)":"Current end of open turn",children:r.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?r.jsx("span",{title:"Processing",children:r.jsx(h,{className:$("size-3.5 text-amber-300/80","animate-crab-crawl")})}):r.jsx("span",{title:"Request in turn",children:r.jsx(h,{className:"size-3.5 text-muted-foreground/40"})}),r.jsx("div",{className:"flex-1 flex justify-center min-h-0",children:!d&&!i&&r.jsx("div",{className:$("w-0.5 h-full",t?"border-dashed bg-transparent border-l border-muted-foreground/14":"bg-muted-foreground/18")})})]})}const Qu=180,ra=new WeakMap;function gE(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 bE(e){return e>1}function rl(e){const t=[];let n=[],s=0;for(let o=0;o<e.length;o+=1){const i=e[o];if(i===void 0)continue;n.push({log:i,stopReason:p0(i),sessionLogNumber:o+1});const a=n[n.length-1];a!==void 0&&vc(a.stopReason)&&(t.push({entries:n,turnIndex:s}),n=[],s+=1)}return n.length>0&&t.push({entries:n,turnIndex:s}),t}function vE(e){const t=new Map;for(const n of e)for(let s=1;s<n.logs.length;s+=1){const o=n.logs[s],i=n.logs[s-1];if(o===void 0||i===void 0)continue;const a=lr(o),l=lr(i);a==="unknown"||a!==l||t.set(o.id,i)}return t}function S0(e){if(e===null)return null;try{const t=JSON.parse(e);return typeof t=="string"?JSON.parse(t):t}catch{return null}}function po(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>Qu?`${n.slice(0,Qu-1)}...`:n}function fo(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 yE(e){const t=S0(e.responseText),n=Q(t,"content");if(!Array.isArray(n))return[];const s=[];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");s.push({id:`${String(e.id)}-anthropic-tool-${String(s.length)}`,logId:e.id,index:s.length,provider:"anthropic",name:a,argumentsText:fo(l),argumentsPreview:po(l)})}return s}function wE(e){const t=S0(e.responseText),n=Q(t,"choices");if(!Array.isArray(n))return[];const s=[];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");s.push({id:`${String(e.id)}-openai-tool-${String(s.length)}`,logId:e.id,index:s.length,provider:"openai",name:m,argumentsText:fo(h),argumentsPreview:po(h)})}const u=Q(a,"function_call"),d=Q(u,"name");if(typeof d=="string"&&d.length>0){const p=Q(u,"arguments");s.push({id:`${String(e.id)}-openai-tool-${String(s.length)}`,logId:e.id,index:s.length,provider:"openai",name:d,argumentsText:fo(p),argumentsPreview:po(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");s.push({id:`${String(e.id)}-openai-tool-${String(s.length)}`,logId:e.id,index:s.length,provider:"openai",name:a,argumentsText:fo(l),argumentsPreview:po(l)})}return s}function wc(e){const t=ra.get(e);if(t!==void 0&&t.apiFormat===e.apiFormat&&t.responseText===e.responseText)return t.events;const n=lr(e);if(!gE(e,n)){const o=[];return ra.set(e,{apiFormat:e.apiFormat,responseText:e.responseText,events:o}),o}let s;switch(n){case"anthropic":s=yE(e);break;case"openai":s=wE(e);break;case"unknown":s=[];break}return ra.set(e,{apiFormat:e.apiFormat,responseText:e.responseText,events:s}),s}function jE(e,t,n=0){let s=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&&(s+=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+=wc(h).length;return{llmCallCount:e.length,toolCallCount:m,failedCallCount:s,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 oa(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}const kE=c.memo(function({entries:t,viewMode:n,strip:s,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?vc(h):!1,y=t[m]?.log.responseStatus===null,b=t.length===1,w=bE(t.length),[v,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 Z=H=>{const L=Ci(H);L!==null&&t.some(X=>X.log.id===L.logId)&&w&&j(!1)};return window.addEventListener(un,Z),()=>{window.removeEventListener(un,Z)}},[w,t]),c.useEffect(()=>{if(p===void 0||!t.some(H=>H.log.id===p.logId))return;w&&j(!1);const Z=window.setTimeout(()=>{Ms({logId:p.logId,tab:p.tab,source:"virtualizer"})},0);return()=>window.clearTimeout(Z)},[w,t,p]);const S=c.useCallback(()=>{w&&j(Z=>!Z)},[w]),_=c.useMemo(()=>{let Z=0,H=0,L=null,X=!1;for(const Y of t)Y.log.inputTokens!==null&&(Z+=Y.log.inputTokens,X=!0),Y.log.outputTokens!==null&&(H+=Y.log.outputTokens,X=!0),Y.log.elapsedMs!==null&&(L=L===null?Y.log.elapsedMs:Math.max(L,Y.log.elapsedMs));return{totalInput:Z,totalOutput:H,hasTokens:X,maxElapsed:L}},[t,m]),N=u%2===0?"bg-white/[0.008]":"bg-cyan-300/[0.008]",I=_.maxElapsed!==null&&o>0&&_.maxElapsed>o*1e3,P=c.useMemo(()=>{const Z=new Map;for(const H of t){const L=wc(H.log);L.length>0&&Z.set(H.log.id,L)}return Z},[t]),[M,C]=c.useState(0),A=c.useRef(null);c.useEffect(()=>{const Z=A.current;if(!Z)return;let H=0;const L=new ResizeObserver(()=>{window.cancelAnimationFrame(H),H=window.requestAnimationFrame(()=>C(X=>X+1))});return L.observe(Z),()=>{L.disconnect(),window.cancelAnimationFrame(H)}},[]);const F=t[0]?.log.id??u,U=`Turn ${String(u+1)}`,G=c.useMemo(()=>yc(F%12),[F]),K=c.useMemo(()=>({contentVisibility:"auto",containIntrinsicSize:v?"48px":"160px"}),[v]);return r.jsx("div",{ref:A,style:K,tabIndex:v?void 0:0,role:v?void 0:"group","aria-label":v?void 0:U,"data-nav-id":v?void 0:`turn-${String(F)}`,className:$("rounded-[8px] transition-[background-color,box-shadow]",y?"bg-amber-300/[0.018] shadow-[0_0_0_1px_rgba(252,211,77,0.035)]":"",!v&&"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:outline-none"),children:v?r.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:Z=>{(Z.key==="Enter"||Z.key===" ")&&(Z.preventDefault(),S())},children:[r.jsxs("div",{className:"w-6 shrink-0 flex flex-col items-center pt-1.5 pb-1.5",children:[r.jsx("div",{className:"flex justify-center h-[calc(0.75rem-8px)]"}),r.jsx(G,{className:$("size-3.5",y?"animate-crab-crawl text-amber-300/80":"animate-crab-appear text-emerald-400",y?"drop-shadow-[0_0_4px_rgba(252,211,77,0.42)]":"drop-shadow-[0_0_4px_rgba(52,211,153,0.45)]")}),r.jsx("div",{className:"flex-1 flex justify-center min-h-0",children:r.jsx("div",{className:"w-px bg-muted-foreground/14 h-full"})}),x?r.jsx(G,{className:$("size-3.5 animate-crab-settle text-amber-400","drop-shadow-[0_0_4px_rgba(251,191,36,0.45)]")}):r.jsx("span",{title:"Current end of open turn","aria-label":"Current end of open turn",children:r.jsx(G,{className:$("size-3.5 text-cyan-300/85",y?"animate-crab-crawl":"animate-crab-appear","drop-shadow-[0_0_4px_rgba(103,232,249,0.4)]")})})]}),t.length>1&&r.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:[r.jsx("span",{className:"font-mono text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground/70",children:U}),r.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??"?"]}),r.jsxs("span",{className:"text-muted-foreground shrink-0",children:[t.length," request",t.length>1?"s":""]}),_.maxElapsed!==null&&r.jsx(Ls,{children:r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsxs("span",{className:$("flex items-center gap-1 shrink-0",I?"text-amber-400":"text-muted-foreground"),children:[r.jsx(rn,{className:"size-3"}),r.jsx("span",{className:"font-mono tabular-nums",children:oa(_.maxElapsed)}),I&&r.jsx(wn,{className:"size-3","aria-label":"Slow response"})]})}),r.jsx(ft,{children:I?`Slow response: ${oa(_.maxElapsed)} exceeds ${oa(o*1e3)}`:"Slowest request in this turn"})]})}),_.hasTokens&&r.jsxs("span",{className:"flex items-center gap-1 shrink-0",children:[r.jsx(or,{className:"size-3 text-muted-foreground"}),r.jsxs("span",{className:"font-mono tabular-nums",children:[r.jsxs("span",{className:"text-blue-400",children:["IN ",Me(_.totalInput)]})," / ",r.jsxs("span",{className:"text-amber-400",children:["OUT ",Me(_.totalOutput)]})]})]}),r.jsx("span",{className:"flex-1 min-w-0"}),r.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:r.jsx(bt,{className:"size-4 shrink-0"})})]})]}):t.map((Z,H)=>{const{log:L,stopReason:X}=Z,Y=H===0;return r.jsxs("div",{className:"flex items-stretch",children:[r.jsx(xE,{stopReason:X,isPending:L.responseStatus===null,isFirst:H===0,isTurnStart:Y,isOnlyEntry:b,isOpenTurnTail:H===m&&!x,crabIndex:L.id%12,collapsible:w&&Y,onToggle:S}),r.jsx("div",{className:$("flex-1 min-w-0 mb-0.5 rounded-[8px]",N),children:r.jsx(mE,{log:L,displayNumber:Z.sessionLogNumber,viewMode:n,strip:s,slowResponseThresholdSeconds:o,timeDisplayFormat:d,cacheTrend:i?.get(L.id)??null,showClientMetadata:f,toolEvents:P.get(L.id),onCompareWithPrevious:l.has(L.id)?a:void 0})})]},L.id)})})}),SE=24,_E=132,NE=8;function CE(e){return e>SE}function TE(e){const t=new Map;for(let n=0;n<e.length;n++){const s=e[n];if(s!==void 0)for(const o of s.entries)t.set(o.log.id,n)}return t}function _0(e,t,n){return r.jsx(kE,{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 EE(e){return CE(e.turnGroups.length)?r.jsx(RE,{...e}):r.jsx(r.Fragment,{children:e.turnGroups.map(t=>_0(t,e))})}function RE(e){const{turnGroups:t}=e,[n,s]=c.useState(null),o=zT({count:t.length,estimateSize:()=>_E,overscan:NE,getItemKey:a=>t[a]?.turnIndex??a}),i=c.useMemo(()=>TE(t),[t]);return c.useEffect(()=>{const a=l=>{const u=Ci(l);if(u===null||u.source==="virtualizer")return;const d=i.get(u.logId);d!==void 0&&(o.scrollToIndex(d,{align:"center"}),s(p=>({...u,turnIndex:d,nonce:p===null?1:p.nonce+1})))};return window.addEventListener(un,a),()=>{window.removeEventListener(un,a)}},[i,o]),r.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 r.jsx("div",{"data-index":a.index,ref:o.measureElement,className:"absolute left-0 top-0 w-full",style:{transform:`translateY(${a.start}px)`},children:_0(l,e,u)},a.key)})})}const jc=fe(["episode","procedure","preference","project-fact"]),ME=fe(["draft","promoted","failed"]),N0=E({source:ae("agent-inspector"),sessionId:g(),logIds:W(R().int().positive()),project:g().nullable(),models:W(g())}),AE=E({redacted:Ee(),patterns:W(g())}),Cr=E({id:g(),type:jc,title:g(),content:g(),tags:W(g()),source:ae("agent-inspector"),sessionId:g(),logIds:W(R().int().positive()),evidence:N0,status:ME,createdAt:g(),updatedAt:g(),openClawMemoryId:g().nullable(),error:g().nullable(),redaction:AE});E({idempotencyKey:g(),type:jc,title:g(),content:g(),tags:W(g()),source:ae("agent-inspector"),project:g().nullable(),evidence:N0});const IE=E({id:g(),type:jc.or(g()),title:g(),content:g(),score:R().nullable(),source:g().nullable(),project:g().nullable(),evidence:Bn().optional()});E({results:W(IE),warning:g().nullable()});const PE=E({candidates:W(Cr)}),OE=E({candidate:Cr}),zE=E({error:g().optional(),candidate:Cr.optional()}),LE=E({candidate:Cr}),$E=3e4,DE=15e3,FE=15e3,UE={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 ol(e){return e===null?"-":e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`}function BE(e,t,n){return e===null||t===null?null:ni(e,t,n)}function qE(e){return`${String(e)} candidate${e===1?"":"s"}`}function C0(e){return`log-${String(e)}`}function T0(e){const t=C0(e),n=document.getElementById(t);window.history.replaceState(null,"",`#${t}`),n instanceof HTMLElement&&(n.scrollIntoView({block:"center",behavior:"smooth"}),n.focus({preventScroll:!0}))}function HE(e){for(const t of e)if(t.responseStatus!==null&&t.responseStatus>=400)return t;return null}function VE(e){let t=null,n=-1;for(const s of e)s.elapsedMs!==null&&s.elapsedMs>n&&(t=s,n=s.elapsedMs);return t}function WE(e){for(const t of e)if(wc(t).length>0)return t;return null}function ZE(e){const t=new Map;for(let n=0;n<e.length;n+=1){const s=e[n];s!==void 0&&t.set(s.id,n+1)}return t}function ys(e,t){return String(t.get(e)??e)}function KE(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=WE(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 #${ys(n.id,e.displayNumberByLogId)}`,logId:n.id});const s=HE(e.logs);s!==null&&t.push({kind:"failure",title:`Failure #${String(s.responseStatus)}`,detail:`First failed request is #${ys(s.id,e.displayNumberByLogId)}`,logId:s.id});const o=VE(e.logs);if(o!==null&&e.summary.maxElapsedMs!==null&&t.push({kind:"slow",title:`Slowest ${ol(e.summary.maxElapsedMs)}`,detail:`Max latency observed at #${ys(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 GE(e){switch(e){case"session":return r.jsx(ti,{className:"size-3.5 text-blue-400"});case"tool":return r.jsx(vr,{className:"size-3.5 text-sky-400/70"});case"slow":return r.jsx(rn,{className:"size-3.5 text-amber-400"});case"failure":return r.jsx(mf,{className:"size-3.5 text-destructive"});case"candidate":return r.jsx(ff,{className:"size-3.5 text-emerald-400"})}}function JE({insights:e}){return e.length===0?null:r.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=>r.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&&T0(t.logId)},disabled:t.logId===null,children:[GE(t.kind),r.jsxs("span",{className:"min-w-0",children:[r.jsx("span",{className:"block truncate font-medium text-foreground/90",children:t.title}),r.jsx("span",{className:"block truncate font-mono text-[10px]",children:t.detail})]})]},`${t.kind}-${t.title}`))})}function YE(e){switch(e){case"draft":return"Draft";case"promoted":return"Promoted";case"failed":return"Failed"}}function XE(e,t){if(t)return"Promoting";switch(e.status){case"draft":return"Promote";case"failed":return"Retry";case"promoted":return"Promoted"}}function QE(e){return e.redaction.redacted?`Redacted ${e.redaction.patterns.join(", ")}`:"No sensitive pattern matched"}function eR(e,t){const n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-3)}...`}function tR(e,t){const n=e[0],s=e[e.length-1];if(n===void 0)return"No evidence logs";const o=ys(n,t);return s===void 0||n===s?`#${o}`:`#${o}-#${ys(s,t)}`}function ed(e){return e.join(", ")}function nR(e){return e.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function sR({candidate:e,isPromoting:t,isUpdating:n,onPromoteCandidate:s,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,y]=c.useState(ed(e.tags)),[b,w]=c.useState(null),v=e.status!=="promoted",j=e.status!=="promoted",k=c.useCallback(()=>{d(e.type),f(e.title),h(e.content),y(ed(e.tags)),w(null)},[e.content,e.tags,e.title,e.type]),S=c.useCallback(async()=>{const _=p.trim(),N=m.trim(),I=nR(x);if(_.length===0){w("Title is required.");return}if(N.length===0){w("Content is required.");return}if(I.length===0){w("At least one tag is required.");return}w(null),await o(e.id,{type:u,title:_,content:N,tags:I})&&l(!1)},[e.id,m,x,p,u,o]);return a?r.jsx("div",{className:"border border-border bg-card shadow-sm rounded-[8px] px-2.5 py-2",children:r.jsxs("div",{className:"grid gap-2",children:[r.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[r.jsxs("select",{value:u,disabled:n,onChange:_=>{const N=Cr.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:[r.jsx("option",{value:"episode",children:"episode"}),r.jsx("option",{value:"procedure",children:"procedure"}),r.jsx("option",{value:"preference",children:"preference"}),r.jsx("option",{value:"project-fact",children:"project-fact"})]}),r.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"})]}),r.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"}),r.jsx("input",{value:x,disabled:n,onChange:_=>y(_.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"}),r.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[r.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] text-muted-foreground",children:[r.jsx(cu,{className:"size-3"}),"Saving reruns Inspector redaction before promotion."]}),r.jsx("span",{className:"flex-1"}),b!==null&&r.jsx("span",{className:"text-[10px] text-destructive",children:b}),r.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:[r.jsx(yr,{className:"size-3.5"}),"Cancel"]}),r.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:n,onClick:()=>{S()},children:[n?r.jsx(Ht,{className:"size-3.5 animate-spin"}):r.jsx(Kj,{className:"size-3.5"}),"Save"]})]})]})}):r.jsxs("div",{className:"rounded-md border border-border/80 bg-background/60 px-2.5 py-2",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.jsx(Ne,{variant:"outline",className:"h-5 px-1.5 text-[10px] font-mono",children:e.type}),r.jsx("span",{className:"min-w-0 flex-1 truncate text-xs font-medium",title:e.title,children:e.title}),r.jsx(Ne,{variant:"outline",className:$("h-5 shrink-0 px-1.5 text-[10px] font-mono",UE[e.status]),children:YE(e.status)})]}),r.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",title:e.content,children:eR(e.content,360)}),r.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-muted-foreground",children:[r.jsxs("span",{className:"inline-flex items-center gap-1",children:[r.jsx(Gw,{className:"size-3"}),tR(e.logIds,i)]}),r.jsxs("span",{className:"inline-flex items-center gap-1",children:[r.jsx(cu,{className:"size-3"}),QE(e)]}),e.status==="promoted"&&r.jsxs("span",{className:"inline-flex items-center gap-1 text-emerald-500",children:[r.jsx(Ea,{className:"size-3"}),e.openClawMemoryId??"OpenClaw"]}),e.status==="failed"&&e.error!==null&&r.jsxs("span",{className:"inline-flex items-center gap-1 text-destructive",children:[r.jsx(mf,{className:"size-3"}),e.error]})]}),r.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[e.logIds.map(_=>{const N=ys(_,i);return r.jsxs("a",{href:`#${C0(_)}`,onClick:I=>{I.preventDefault(),T0(_)},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]},_)}),r.jsx("span",{className:"flex-1"}),j&&r.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:[r.jsx(wf,{className:"size-3"}),"Review"]}),r.jsxs(ee,{type:"button",variant:v?"outline":"ghost",size:"sm",className:"h-6 gap-1.5 px-2 text-[10px]",onClick:()=>s(e.id),disabled:!v||t||n,children:[t?r.jsx(Ht,{className:"size-3 animate-spin"}):v?r.jsx(Rw,{className:"size-3"}):r.jsx(Ea,{className:"size-3"}),XE(e,t)]})]})]})}function rR({candidates:e,promotingCandidateIds:t,updatingCandidateIds:n,onPromoteCandidate:s,onUpdateCandidate:o,displayNumberByLogId:i}){return e.length===0?null:r.jsx("div",{className:"mt-2 grid gap-1.5",children:e.map(a=>r.jsx(sR,{candidate:a,isPromoting:t.has(a.id),isUpdating:n.has(a.id),onPromoteCandidate:s,onUpdateCandidate:o,displayNumberByLogId:i},a.id))})}function oR({logs:e,scopeId:t,slowResponseThresholdSeconds:n,showRollupMetrics:s,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),y=i.length>0,b=c.useMemo(()=>jE(e,n,i.length),[i.length,e,n]),w=c.useMemo(()=>ZE(e),[e]),v=c.useMemo(()=>KE({logs:e,scopeId:t,summary:b,candidates:i,displayNumberByLogId:w}),[i,w,e,t,b]),j=s||b.maxElapsedMs!==null,k=c.useMemo(()=>BE(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 I=await Be(`/api/knowledge/sessions/${encodeURIComponent(t)}/candidates`,PE,$E,{method:"POST"},P=>`Candidate generation failed with ${String(P.status)}`);a(I.candidates),u(I.candidates.length>0),p(I.candidates.length>0?{status:"ready",error:null}:{status:"failed",error:"No candidate was generated for this trace scope."})}catch(I){p({status:"failed",error:I instanceof Error?I.message:"Candidate response was invalid"})}})())},[d.status,e.length,t]),_=c.useCallback(I=>{m(P=>{if(P.has(I))return P;const M=new Set(P);return M.add(I),M}),(async()=>{try{const P=await qn(`/api/knowledge/candidates/${encodeURIComponent(I)}/promote`,DE,{method:"POST"}),M=await P.json().catch(()=>null),C=OE.safeParse(M);if(P.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 A=zE.safeParse(M);A.success&&A.data.candidate!==void 0&&a(F=>F.map(U=>U.id===A.data.candidate?.id?A.data.candidate:U)),p({status:"failed",error:A.success?A.data.error??"Candidate promotion failed":`Candidate promotion failed with ${String(P.status)}`})}catch(P){p({status:"failed",error:P instanceof Error?P.message:"Candidate promotion failed"})}finally{m(P=>{const M=new Set(P);return M.delete(I),M})}})()},[]),N=c.useCallback(async(I,P)=>{x(M=>{if(M.has(I))return M;const C=new Set(M);return C.add(I),C});try{const M=await Be(`/api/knowledge/candidates/${encodeURIComponent(I)}`,LE,FE,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(P)},C=>`Candidate update failed with ${String(C.status)}`);return a(C=>C.map(A=>A.id===M.candidate.id?M.candidate:A)),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(I),C})}},[]);return e.length===0?null:r.jsxs("section",{className:"border border-border bg-card shadow-sm mb-2 rounded-[8px] px-3 py-2",children:[r.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2 text-xs",children:[s&&r.jsxs("span",{className:"inline-flex items-center gap-1.5 font-semibold text-foreground",children:[r.jsx(ti,{className:"size-3.5 text-blue-400"}),b.llmCallCount," LLM"]}),r.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[r.jsx(vr,{className:"size-3.5 text-sky-400/70"}),b.toolCallCount," tools"]}),s&&r.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[r.jsx(or,{className:"size-3.5 text-emerald-400"}),r.jsxs("span",{className:"font-mono",children:[Me(b.totalInputTokens)," / ",Me(b.totalOutputTokens)]})]}),(b.totalCacheCreationInputTokens>0||b.totalCacheReadInputTokens>0)&&r.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[r.jsx(or,{className:"size-3.5 text-purple-400"}),r.jsxs("span",{className:"font-mono",children:["KV Cache +",Me(b.totalCacheCreationInputTokens)," / ~",Me(b.totalCacheReadInputTokens)]})]}),j&&r.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[r.jsx(rn,{className:"size-3.5"}),s&&r.jsx("span",{className:"font-mono",children:ol(b.totalElapsedMs)}),b.maxElapsedMs!==null&&r.jsxs("span",{className:"font-mono text-muted-foreground/70",children:["max ",ol(b.maxElapsedMs)]})]}),s&&k!==null&&r.jsx("span",{className:"font-mono text-muted-foreground/70",children:k}),(b.failedCallCount>0||b.pendingCallCount>0||b.slowCallCount>0)&&r.jsxs("span",{className:"inline-flex items-center gap-1.5 text-amber-400",children:[r.jsx(wn,{className:"size-3.5"}),r.jsxs("span",{className:"font-mono",children:[b.failedCallCount," fail / ",b.pendingCallCount," pending /"," ",b.slowCallCount," slow"]})]}),r.jsx("span",{className:"flex-1"}),y&&r.jsx(Ne,{variant:"outline",className:"h-6 px-2 text-[10px] font-mono",children:qE(b.knowledgeCandidateCount)}),r.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"?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(ff,{className:"size-3.5"}),"Candidate"]}),y&&r.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 text-muted-foreground",onClick:()=>u(I=>!I),"aria-expanded":l,"aria-label":l?"Collapse memory candidates":"Expand memory candidates",children:l?r.jsx(Qe,{className:"size-3.5"}):r.jsx(bt,{className:"size-3.5"})})]}),d.status==="failed"&&r.jsx("p",{className:"mt-2 text-xs text-destructive",children:d.error}),r.jsx(JE,{insights:v}),l&&r.jsx(rR,{candidates:i,promotingCandidateIds:f,updatingCandidateIds:h,onPromoteCandidate:_,onUpdateCandidate:N,displayNumberByLogId:w})]})}function iR(e){let t=0,n=0;for(const s of e)s.inputTokens!==null&&(t+=s.inputTokens),s.outputTokens!==null&&(n+=s.outputTokens);return{totalInputTokens:t,totalOutputTokens:n}}function aR(e){const t=new Map;for(const n of e){if(n.model===null)continue;const s=e3(n.model);if(s==="unknown")continue;let o=t.get(s);o===void 0&&(o=new Set,t.set(s,o)),o.add(n.model)}return[...t.entries()].map(([n,s])=>({provider:n,models:[...s]}))}function lR(e){for(const t of e){const n=t.clientPid;if(n!=null)return n}return null}function cR(e){for(const t of e){const n=t.clientProjectFolder;if(n!=null&&n!=="")return n}return null}const uR=c.memo(function({group:e,viewMode:t="simple",strip:n,slowResponseThresholdSeconds:s,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[y,b]=c.useState(f),w=h??y,v=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(()=>iR(e.logs),[e.logs]),k=c.useMemo(()=>aR(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),I=c.useMemo(()=>lR(e.logs),[e.logs]),P=c.useMemo(()=>cR(e.logs),[e.logs]),M=c.useMemo(()=>rl(e.logs),[e.logs]);return c.useEffect(()=>{const C=A=>{const F=Ci(A);F!==null&&e.logs.some(U=>U.id===F.logId)&&v(!0)};return window.addEventListener(un,C),()=>{window.removeEventListener(un,C)}},[e.logs,v]),r.jsxs("div",{className:"mb-1.5",children:[r.jsx(xT,{conversationId:e.conversationId,startTime:S,endTime:_,totalCalls:e.logs.length,totalInputTokens:j.totalInputTokens,totalOutputTokens:j.totalOutputTokens,expanded:w,onToggle:()=>v(!w),providers:k,isLoading:N,userAgent:e.logs[0]?.userAgent??null,clientPid:I,clientProjectFolder:P,showClientIdentity:u,showProcessMetadata:d,timeDisplayFormat:m,onClear:()=>l(e.logs.map(C=>C.id))}),w&&r.jsxs("div",{children:[r.jsx(oR,{logs:e.logs,scopeId:e.conversationId,slowResponseThresholdSeconds:s,showRollupMetrics:!1,timeDisplayFormat:m}),r.jsx(EE,{turnGroups:M,viewMode:t,strip:n,slowResponseThresholdSeconds:s,timeDisplayFormat:m,cacheTrends:o,onCompareWithPrevious:i,comparisonPredecessors:a,showLogClientMetadata:p})]})]})}),dR="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",pR="m-0 min-w-0 flex-1 overflow-x-auto font-mono text-xs text-foreground sm:text-sm";function fR(e){return e==="full"}function mR(e){return e==="raw"}function hR(e,t){const n=t>0;return{redacted:n,raw:n&&fR(e)}}function xR(e,t){const n=e[0],s=e[e.length-1];return n===void 0||s===void 0?null:ni(n.timestamp,s.timestamp,t)}function gR(e){return e.error!==null&&e.error!==void 0&&e.error.length>0?!0:e.responseStatus!==null&&e.responseStatus>=400}function bR(e){const t=new Set;for(const s of e)s.model!==null&&s.model.length>0&&t.add(s.model);const n=[...t].sort();return n.length===0?"Model unknown":n.length===1?n[0]??"Model unknown":`${n.length} models`}function vR(e){const t=new Set;for(const s of e)s.providerName!==null&&s.providerName!==void 0&&s.providerName.length>0&&t.add(s.providerName);const n=[...t].sort();return n.length===0?"Provider unknown":n.length===1?n[0]??"Provider unknown":`${n.length} providers`}function yR(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),s=t%60;return`${n}m ${s}s`}function wR(e,t){return`${Me(e)} in / ${Me(t)} out`}function jR(e,t){if(e.length===0)return 0;if(t.length===0)return rl(e).length;let n=0;for(const s of t)n+=rl(s.logs).length;return n}function kR({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 SR(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 _R({pending:e,failures:t,lengthStops:n,stopReason:s,lastFailure:o}){if(o!==null&&(o.status===499||SR(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||s==="length")return{label:"Output limited",detail:"Model stopped at the output token limit",tone:"watch"};switch(s){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 NR({logs:e,conversationGroups:t,isLoading:n,timeDisplayFormat:s,slowResponseThresholdSeconds:o}){let i=0,a=0,l=0,u=0,d=0,p=0,f=null,m=null,h=null,x=null,y=null,b=0,w=0,v=0,j=null;const k=o*1e3;for(let P=0;P<e.length;P+=1){const M=e[P];if(M===void 0)continue;const C=P+1,A=p0(M);A!==null&&(f=A),A==="length"&&(u+=1),gR(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,y=C);const F=M.inputTokens??0,U=M.outputTokens??0,G=F+U;G>b&&(b=G,w=F,v=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=kR({stopReason:f,pending:a,lastFailureLogNumber:m}),I=_R({pending:a,failures:i,lengthStops:u,stopReason:f,lastFailure:h});return{status:S,statusLabel:_,modelLabel:bR(e),providerLabel:vR(e),requests:e.length,turns:jR(e,t),failures:i,pending:a,slow:l,lengthStops:u,timeRange:xR(e,s),tokenLabel:`${Me(d)} in / ${Me(p)} out`,finishLabel:N.label,finishDetail:N.detail,finishTone:N.tone,outcomeLabel:I.label,outcomeDetail:I.detail,outcomeTone:I.tone,slowestLabel:x===null?"n/a":yR(x),slowestDetail:y===null?"Latency pending":`Request #${y}`,heaviestDetail:j===null?"Tokens pending":`#${j} ${wR(w,v)}`}}function CR({pinnedSessionId:e,selectedSession:t,sessions:n,logs:s}){if(e!==void 0){const a=s.filter(l=>l.sessionId===e);return a.length===0?null:{label:e,logs:a,showBackLink:!0}}if(t!=="__all__"){const a=s.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&&s.every(l=>l.sessionId===o)?{label:o,logs:[...s],showBackLink:!1}:n.length===0&&s.length>0&&s.every(a=>a.sessionId===null)?{label:"Visible requests",logs:[...s],showBackLink:!1}:null}function TR({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],s=e[e.length-1],o=n===void 0||s===void 0?"Current page":`#${n.id}-#${s.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 dr({...e}){return r.jsx(th,{"data-slot":"select",...e})}function Do({...e}){return r.jsx(oh,{"data-slot":"select-value",...e})}function pr({className:e,size:t="default",children:n,...s}){return r.jsxs(sh,{"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),...s,children:[n,r.jsx(ih,{asChild:!0,children:r.jsx(Qe,{className:"size-4 opacity-50"})})]})}function fr({className:e,children:t,position:n="popper",align:s="center",...o}){return r.jsx(lh,{children:r.jsxs(ch,{"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:s,...o,children:[r.jsx(ER,{}),r.jsx(mh,{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}),r.jsx(RR,{})]})})}function at({className:e,children:t,...n}){return r.jsxs(bh,{"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:[r.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:r.jsx(wh,{children:r.jsx(Ze,{className:"size-4"})})}),r.jsx(vh,{children:t})]})}function ER({className:e,...t}){return r.jsx(jh,{"data-slot":"select-scroll-up-button",className:$("flex cursor-default items-center justify-center py-1",e),...t,children:r.jsx(Ll,{className:"size-4"})})}function RR({className:e,...t}){return r.jsx(kh,{"data-slot":"select-scroll-down-button",className:$("flex cursor-default items-center justify-center py-1",e),...t,children:r.jsx(Qe,{className:"size-4"})})}const MR=fe(["critical","warning","notice"]),AR=fe(["open"]),IR=fe(["proxy","tool-schema","run","group"]),E0=fe(["request-failure","request-timeout","slow-response","tool-schema","run-failure","group-failure","group-incomplete"]),PR=fe(["log","session","run","group"]),OR=fe(["anthropic","openai","unknown"]),zR=E({kind:PR,id:g(),label:g(),href:g().nullable()}),LR=E({id:g(),fingerprint:g(),severity:MR,category:E0,source:IR,status:AR,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:OR.nullable(),evidence:W(zR),metadata:He(g(),Xe)}),$R=E({category:E0,count:R().int().nonnegative()}),R0=E({total:R().int().nonnegative(),open:R().int().nonnegative(),critical:R().int().nonnegative(),warning:R().int().nonnegative(),notice:R().int().nonnegative(),byCategory:W($R)}),DR=E({alerts:W(LR),total:R().int().nonnegative(),limit:R().int().positive(),summary:R0}),FR=8e3,UR=1e4;function BR(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 qR(e,t){const n=qt(t?BR(e):null,s=>Be(s,DR,UR));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 HR(){const e=qt("/api/alerts/summary",t=>Be(t,R0,FR),{refreshInterval:5e3,revalidateOnFocus:!0});return{summary:e.data??null,isLoading:e.isLoading,error:e.error,mutate:e.mutate}}const Tr="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",VR=["request-failure","request-timeout","slow-response","tool-schema","run-failure","group-failure","group-incomplete"];function M0(e){switch(e){case"critical":return"Critical";case"warning":return"Warning";case"notice":return"Notice"}}function WR(e){switch(e){case"proxy":return"Proxy";case"tool-schema":return"Tool schema";case"run":return"Run";case"group":return"Group"}}function kc(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 ZR(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 KR(e){switch(e){case"critical":return"bg-red-400";case"warning":return"bg-amber-300";case"notice":return"bg-sky-300"}}function GR(e){switch(e){case"critical":return"text-red-200";case"warning":return"text-amber-100";case"notice":return"text-sky-100"}}function JR(e){switch(e){case"request-failure":case"run-failure":case"group-failure":return r.jsx(ok,{className:"size-3.5"});case"request-timeout":case"slow-response":return r.jsx(Cw,{className:"size-3.5"});case"tool-schema":return r.jsx(wn,{className:"size-3.5"});case"group-incomplete":return r.jsx(Jy,{className:"size-3.5"})}}function il(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 A0(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 YR(e,t){const n={limit:100};return e!=="all"&&(n.severity=e),t!=="all"&&(n.category=t),n}function XR(e,t){if(t!==null){const n=e.find(s=>s.id===t);if(n!==void 0)return n}return e[0]??null}function Zr({label:e,count:t,tone:n}){const s=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 r.jsxs("div",{className:$("rounded-md border px-3 py-2",s),children:[r.jsx("div",{className:"text-[10px] font-semibold uppercase opacity-75",children:e}),r.jsx("div",{className:"mt-1 text-lg font-semibold leading-none",children:xt(t)})]})}function Kr({value:e,active:t,label:n,count:s,onClick:o}){return r.jsxs(ee,{type:"button",variant:t?"secondary":"ghost",size:"sm","aria-pressed":t,onClick:()=>o(e),className:"h-7 px-2",children:[n,s!==null?r.jsx(Ne,{variant:"outline",children:xt(s)}):null]})}function QR({category:e,active:t,count:n,onClick:s}){return r.jsxs(ee,{type:"button",variant:t?"secondary":"ghost",size:"sm","aria-pressed":t,onClick:()=>s(e),className:"h-7 px-2",children:[JR(e),kc(e),r.jsx(Ne,{variant:"outline",children:xt(n)})]})}function eM({alerts:e,selectedAlertId:t,isLoading:n,error:s,onSelect:o}){return n?r.jsxs("div",{className:"flex min-h-56 items-center justify-center rounded-md border border-dashed border-border text-xs text-muted-foreground",children:[r.jsx(Fe,{className:"mr-2 size-3.5 animate-spin"}),"Loading alerts..."]}):s!==void 0?r.jsx("div",{className:"rounded-md border border-red-300/30 bg-red-500/10 px-3 py-2 text-xs text-red-100",children:s.message}):e.length===0?r.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."}):r.jsx("div",{className:"min-h-0 space-y-2 overflow-y-auto pr-1",children:e.map(i=>{const a=i.id===t;return r.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:[r.jsxs("div",{className:"flex items-start justify-between gap-3",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.jsx("span",{className:$("size-2 rounded-full",KR(i.severity))}),r.jsx("span",{className:$("text-xs font-semibold",GR(i.severity)),children:M0(i.severity)}),r.jsx("span",{className:"truncate text-xs text-muted-foreground",children:kc(i.category)})]}),r.jsx("div",{className:"mt-1 text-sm font-semibold leading-snug",children:i.title}),r.jsx("div",{className:"mt-1 line-clamp-2 text-xs text-muted-foreground",children:i.message})]}),i.count>1?r.jsxs(Ne,{variant:"outline",className:"shrink-0",children:["x",xt(i.count)]}):null]}),r.jsxs("div",{className:"mt-2 flex min-w-0 items-start justify-between gap-2 text-[11px] text-muted-foreground",children:[r.jsx("span",{className:"min-w-0 leading-snug",children:A0(i)}),r.jsx("span",{className:"shrink-0",children:il(i.lastSeenAt)})]})]},i.id)})})}function tM({alert:e,onNavigate:t}){return e.evidence.length===0?r.jsx("span",{className:"text-xs text-muted-foreground",children:"No linked evidence"}):r.jsx("div",{className:"flex flex-wrap gap-2",children:e.evidence.map(n=>n.href===null?r.jsx(Ne,{variant:"outline",children:n.label},`${n.kind}:${n.id}`):r.jsx(Ne,{variant:"outline",asChild:!0,children:r.jsx("a",{href:n.href,onClick:t,children:n.label})},`${n.kind}:${n.id}`))})}function nM({alert:e,onNavigate:t}){return e===null?r.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."}):r.jsxs("div",{className:"min-h-0 overflow-y-auto rounded-md border border-border bg-background/70",children:[r.jsx("div",{className:$("border-b px-4 py-3",ZR(e.severity)),children:r.jsxs("div",{className:"flex items-start justify-between gap-3",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[r.jsx(Ne,{variant:"outline",children:M0(e.severity)}),r.jsx(Ne,{variant:"outline",children:WR(e.source)}),r.jsx(Ne,{variant:"outline",children:kc(e.category)})]}),r.jsx("h3",{className:"mt-3 text-base font-semibold",children:e.title}),r.jsx("p",{className:"mt-1 text-sm opacity-85",children:e.message})]}),e.count>1?r.jsxs(Ne,{variant:"outline",className:"shrink-0",children:[xt(e.count)," hits"]}):null]})}),r.jsxs("div",{className:"space-y-4 p-4",children:[r.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[r.jsx(pn,{label:"Target",value:A0(e)}),r.jsx(pn,{label:"Last seen",value:il(e.lastSeenAt)}),r.jsx(pn,{label:"First seen",value:il(e.firstSeenAt)}),r.jsx(pn,{label:"Protocol",value:e.apiFormat??"n/a"})]}),r.jsxs("div",{children:[r.jsx("div",{className:"mb-2 text-xs font-semibold text-muted-foreground",children:"Evidence"}),r.jsx(tM,{alert:e,onNavigate:t})]}),r.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[r.jsx(pn,{label:"Logs",value:e.logIds.length===0?"n/a":xt(e.logIds.length)}),r.jsx(pn,{label:"Sessions",value:e.sessionIds.length===0?"n/a":xt(e.sessionIds.length)}),r.jsx(pn,{label:"Runs",value:e.runIds.length===0?"n/a":xt(e.runIds.length)}),r.jsx(pn,{label:"Groups",value:e.groupIds.length===0?"n/a":xt(e.groupIds.length)})]})]})]})}function pn({label:e,value:t}){return r.jsxs("div",{className:"rounded-md border border-border bg-muted/30 px-3 py-2",children:[r.jsx("div",{className:"text-[10px] font-semibold uppercase text-muted-foreground",children:e}),r.jsx("div",{className:"mt-1 truncate font-mono text-[11px] text-foreground",children:t})]})}function sM(){const[e,t]=c.useState(!1),[n,s]=c.useState("all"),[o,i]=c.useState("all"),[a,l]=c.useState(null),{summary:u,isLoading:d}=HR(),p=c.useMemo(()=>YR(n,o),[o,n]),{alerts:f,total:m,isLoading:h,error:x,mutate:y}=qR(p,e),b=c.useMemo(()=>XR(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,v=u?.critical??0,j=u?.warning??0,k=u?.notice??0,S=v>0?"bg-red-600 text-white":j>0?"bg-amber-400 text-zinc-950":"bg-sky-400 text-zinc-950";return r.jsxs(Kt,{open:e,onOpenChange:t,children:[r.jsx(Sr,{asChild:!0,children:r.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Tr,"aria-label":"Alerts",title:"Alerts",children:[r.jsx(Ra,{className:"size-4"}),d?r.jsx(Fe,{className:"absolute -right-0.5 -top-0.5 size-3 animate-spin text-muted-foreground"}):w>0?r.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,r.jsx("span",{className:"sr-only",children:"Alerts"})]})}),r.jsxs(Gt,{className:"flex max-h-[86vh] max-w-6xl flex-col overflow-hidden",children:[r.jsxs(Qt,{children:[r.jsxs(en,{className:"flex items-center gap-2 pr-8",children:[r.jsx(Ra,{className:"size-5 text-red-300"}),r.jsx("span",{children:"Alerts"}),r.jsx(Ne,{variant:"outline",children:xt(w)})]}),r.jsx(_r,{className:"sr-only",children:"Local alert board for captured Inspector evidence."})]}),r.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[r.jsx(Zr,{label:"Open",count:u?.open??0,tone:"neutral"}),r.jsx(Zr,{label:"Critical",count:v,tone:"critical"}),r.jsx(Zr,{label:"Warning",count:j,tone:"warning"}),r.jsx(Zr,{label:"Notice",count:k,tone:"notice"})]}),r.jsxs("div",{className:"flex min-h-0 flex-wrap items-center justify-between gap-2 border-y border-border py-3",children:[r.jsxs("div",{className:"flex flex-wrap gap-1",children:[r.jsx(Kr,{value:"all",active:n==="all",label:"All",count:u?.total??null,onClick:s}),r.jsx(Kr,{value:"critical",active:n==="critical",label:"Critical",count:v,onClick:s}),r.jsx(Kr,{value:"warning",active:n==="warning",label:"Warning",count:j,onClick:s}),r.jsx(Kr,{value:"notice",active:n==="notice",label:"Notice",count:k,onClick:s})]}),r.jsxs(ee,{type:"button",variant:"outline",size:"sm",className:"h-7 shrink-0 px-2",onClick:()=>{y()},children:[r.jsx(Ht,{className:"size-3.5"}),"Refresh"]})]}),r.jsxs("div",{className:"flex flex-wrap gap-1",children:[r.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"}),VR.map(_=>{const N=u?.byCategory.find(I=>I.category===_)?.count??0;return N===0?null:r.jsx(QR,{category:_,active:o===_,count:N,onClick:i},_)})]}),r.jsxs("div",{className:"grid min-h-0 flex-1 gap-4 md:grid-cols-[360px_minmax(0,1fr)]",children:[r.jsxs("div",{className:"flex min-h-0 flex-col",children:[r.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs text-muted-foreground",children:[r.jsxs("span",{children:[xt(m)," matched"]}),r.jsx("span",{children:f.length<m?`${xt(f.length)} shown`:"Latest"})]}),r.jsx(eM,{alerts:f,selectedAlertId:b?.id??null,isLoading:h,error:x,onSelect:l})]}),r.jsx(nM,{alert:b,onNavigate:()=>t(!1)})]})]})]})}const rM=12e3;function oM(e){return e===null||e.evidence===null?null:`/api/groups/${encodeURIComponent(e.id)}/evidence`}function iM(e){const t=qt(oM(e),n=>Be(n,Sy,rM));return{evidenceResponse:t.data??null,isLoading:t.isLoading,error:t.error,mutate:t.mutate}}const aM=8e3;function lM(){const e=qt("/api/groups",t=>Be(t,uf,aM));return{groups:e.data?.groups??[],isLoading:e.isLoading,error:e.error,mutate:e.mutate}}const cM=3e3;function uM(e,t){return{id:(e?.id??0)+1,message:t.message,tone:t.tone??"error"}}function I0(){const[e,t]=c.useState(null),n=c.useCallback(o=>{t(i=>uM(i,o))},[]),s=c.useCallback(()=>{t(null)},[]);return c.useEffect(()=>{if(e===null)return;const o=window.setTimeout(()=>{t(null)},cM);return()=>{window.clearTimeout(o)}},[e]),{notice:e,showToast:n,dismissToast:s}}function P0({notice:e,onDismiss:t}){if(e===null)return null;const n=e.tone==="error",s=n?wn:Ea;return r.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:r.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:[r.jsx(s,{className:$("mt-0.5 size-4 shrink-0",n?"text-status-danger":"text-status-success")}),r.jsx("div",{className:"min-w-0 flex-1 break-words leading-5",children:e.message}),r.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:r.jsx(yr,{className:"size-3.5"})})]},e.id)})}const ia=2e4;function dM(e,t){const n=`/api/groups/${encodeURIComponent(e)}`;return t?`${n}?deleteEvidence=1`:n}function pM(e){return"/api/groups"}function O0(e){let t=0,n=0,s=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":s+=1;break;case"created":break;case null:o+=1;break}return{memberCount:e.members.length,completedMembers:t,failedMembers:n,runningMembers:s,missingStatusMembers:o}}function fM(e,t,n=null){return t!==null&&t.group.id===e.id?t.members.map(s=>({member:s.member,exportMember:s,source:"export"})):n!==null&&n.group.id===e.id&&n.members!==null?n.members.map(s=>({member:s.member,exportMember:s,source:"evidence"})):e.members.map(s=>({member:s,exportMember:null,source:"group"}))}function Sc(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 _c(e){return e??"unknown"}function mM(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 Ti(e){return e===null||e.trim().length===0?"-":e}function ht(e){return e.toLocaleString()}function al(e){return e==null?"-":e<1e3?`${ht(e)} ms`:`${(e/1e3).toFixed(1)} s`}function As(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 td(e){return e===null?"-":As(e)}function hM(e){const t=JSON.stringify(e),n=t===void 0?String(e):t;return n.length<=160?n:`${n.slice(0,157)}...`}function z0(...e){for(const t of e)if(t!==null&&t.trim().length>0)return t;return"-"}function xM(...e){for(const t of e)if(t!=null&&t.trim().length>0)return t;return null}function gM(e){const t=e.provider,n=e.model;return t!==null&&t.length>0&&n!==null&&n.length>0?`${t} / ${n}`:z0(t,n)}function bM(e,t){if(t!==null){const n=e.find(s=>s.id===t);if(n!==void 0)return n}return e[0]??null}function vM(e){return(e.exportMember?.session?.latestLogs??[])[0]??null}function yM(e){switch(e){case"export":return"fresh export";case"evidence":return"evidence";case"group":return"group"}}function wM(e,t){return t!==null&&t.group.id===e.id?t.evidence:e.evidence}function jM(e,t,n){return t!==null&&t.group.id===e.id?t.summary:n!==null&&n.group.id===e.id?n.summary:null}function kM(e,t,n){return t!==null&&t.group.id===e.id?t.jenkinsReport:n!==null&&n.group.id===e.id?n.report:null}function SM(){const[e,t]=c.useState(!1),[n,s]=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,y]=c.useState(null),[b,w]=c.useState(null),[v,j]=c.useState(!1),{notice:k,showToast:S,dismissToast:_}=I0(),{groups:N,isLoading:I,error:P,mutate:M}=lM(),C=c.useMemo(()=>bM(N,n),[N,n]);c.useEffect(()=>{!e||n!==null&&N.some(D=>D.id===n)||s(N[0]?.id??null)},[N,e,n]);const A=C!==null&&u!==null&&u.group.id===C.id?u:null,{evidenceResponse:F,isLoading:U,error:G,mutate:K}=iM(C),Z=c.useCallback(()=>{M()},[M]),H=c.useCallback(async()=>{if(!(N.length===0||v)){j(!0),f(null),h(!1),w(null),l(null);try{const ie=await Be(pM(!1),af,ia,{method:"DELETE"},D=>`Clear failed with status ${String(D.status)}`);d(null),s(null),await M(),await K(),S({message:`Cleared ${ht(ie.deleted)} group${ie.deleted===1?"":"s"}.`,tone:"success"})}catch(ie){S({message:ie instanceof Error?ie.message:"Unknown error clearing groups",tone:"error"})}finally{j(!1)}}},[v,N.length,M,K,S]),L=c.useCallback(async ie=>{i(ie.id),l(null);try{const D=await Be(`/api/groups/${encodeURIComponent(ie.id)}/evidence`,_y,ia,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({latestLogLimit:10})},Ce=>`Export failed with status ${String(Ce.status)}`);d(D),await M(),await K()}catch(D){l(D instanceof Error?D.message:String(D))}finally{i(null)}},[M,K]),X=c.useCallback(ie=>{f(ie),h(!1),w(null)},[]),Y=c.useCallback(()=>{x===null&&(f(null),h(!1),w(null))},[x]),ye=c.useCallback(ie=>{s(ie),f(null),h(!1),w(null)},[]),he=c.useCallback(async()=>{const ie=p;if(ie!==null){y(ie.id),w(null);try{await Be(dM(ie.id,m),of,ia,{method:"DELETE"},D=>`Delete failed with status ${String(D.status)}`),d(D=>D!==null&&D.group.id===ie.id?null:D),s(D=>D===ie.id?null:D),f(null),h(!1),await M(),await K()}catch(D){w(D instanceof Error?D.message:String(D))}finally{y(null)}}},[m,p,M,K]);return r.jsxs(Kt,{open:e,onOpenChange:t,children:[r.jsx(P0,{notice:k,onDismiss:_}),r.jsx(Sr,{asChild:!0,children:r.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Tr,"aria-label":"Evaluation groups",title:"Evaluation groups",children:[r.jsx(iu,{className:"size-4"}),I?r.jsx(Fe,{className:"absolute -right-0.5 -top-0.5 size-3 animate-spin text-muted-foreground"}):N.length>0?r.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,r.jsx("span",{className:"sr-only",children:"Evaluation groups"})]})}),r.jsxs(Gt,{className:"flex max-h-[85vh] max-w-5xl flex-col overflow-hidden",children:[r.jsx(Qt,{children:r.jsxs(en,{className:"flex items-center gap-2 pr-8",children:[r.jsx(iu,{className:"size-5 text-muted-foreground"}),r.jsx("span",{children:"Groups"}),r.jsx(Ne,{variant:"outline",children:ht(N.length)})]})}),r.jsxs("div",{className:"flex min-h-0 items-center justify-between gap-3 border-b border-border pb-3",children:[r.jsx("p",{className:"text-xs text-muted-foreground",children:"Evaluation batches, model runs, and exported evidence packs."}),r.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[r.jsxs(ee,{type:"button",variant:"outline",size:"sm",disabled:N.length===0||v,onClick:()=>{H()},title:"Clear all groups. Session logs and run records stay intact.",children:[v?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(jn,{className:"size-3.5"}),"Clear"]}),r.jsxs(ee,{type:"button",variant:"outline",size:"sm",onClick:Z,children:[r.jsx(Ht,{className:"size-3.5"}),"Refresh"]})]})]}),r.jsxs("div",{className:"grid min-h-0 flex-1 gap-4 md:grid-cols-[260px_minmax(0,1fr)]",children:[r.jsx(_M,{groups:N,selectedGroupId:C?.id??null,isLoading:I,error:P,onSelect:ye}),r.jsx(NM,{group:C,deleteTarget:p,deleteEvidence:m,exportResult:A,evidenceResponse:F,evidenceLoading:U,evidenceError:G,exportError:a,deleteError:b,exportingGroupId:o,deletingGroupId:x,onDeleteEvidenceChange:h,onExport:L,onRequestDelete:X,onCancelDelete:Y,onConfirmDelete:()=>{he()}})]})]})]})}function _M({groups:e,selectedGroupId:t,isLoading:n,error:s,onSelect:o}){return n?r.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..."}):s!==void 0?r.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:s.message}):e.length===0?r.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."}):r.jsx("div",{className:"min-h-0 overflow-y-auto pr-1",children:r.jsx("div",{className:"space-y-2",children:e.map(i=>{const a=O0(i),l=t===i.id;return r.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:[r.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[r.jsx("span",{className:"min-w-0 text-sm font-medium leading-snug",children:i.title}),r.jsx(Ne,{variant:"outline",className:Sc(i.status),children:_c(i.status)})]}),r.jsxs("div",{className:"mt-1 flex items-center gap-2 text-muted-foreground",children:[r.jsxs("span",{children:[a.memberCount," sessions"]}),r.jsx("span",{children:As(i.updatedAt)})]})]},i.id)})})})}function NM({group:e,deleteTarget:t,deleteEvidence:n,exportResult:s,evidenceResponse:o,evidenceLoading:i,evidenceError:a,exportError:l,deleteError:u,exportingGroupId:d,deletingGroupId:p,onDeleteEvidenceChange:f,onExport:m,onRequestDelete:h,onCancelDelete:x,onConfirmDelete:y}){if(e===null)return r.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=O0(e),w=jM(e,s,o),v=kM(e,s,o),j=wM(e,s),k=fM(e,s,o),S=d===e.id,_=p===e.id,N=t?.id===e.id;return r.jsx("div",{className:"min-h-0 overflow-y-auto pr-1",children:r.jsxs("div",{className:"space-y-4",children:[r.jsxs("div",{className:"flex min-w-0 flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[r.jsxs("div",{className:"min-w-0 space-y-1",children:[r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[r.jsx("h3",{className:"min-w-0 text-base font-semibold leading-snug",children:e.title}),r.jsx(Ne,{variant:"outline",className:Sc(e.status),children:_c(e.status)}),r.jsx(Ne,{variant:"outline",children:e.kind})]}),r.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[r.jsx("span",{children:Ti(e.project)}),r.jsxs("span",{children:["updated ",As(e.updatedAt)]})]})]}),r.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[r.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:_?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(jn,{className:"size-3.5"})}),r.jsxs(ee,{type:"button",variant:"default",size:"sm",className:"shrink-0",disabled:S||_,onClick:()=>{m(e)},children:[S?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(br,{className:"size-3.5"}),"Export evidence"]})]})]}),e.task!==null&&e.task.trim().length>0&&r.jsx("p",{className:"rounded-md border border-border bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:e.task}),N&&r.jsx(CM,{group:e,deleteEvidence:n,isDeleting:_,error:u,onDeleteEvidenceChange:f,onCancel:x,onConfirm:y}),r.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[r.jsx(fn,{label:"Members",value:b.memberCount}),r.jsx(fn,{label:"Done",value:b.completedMembers}),r.jsx(fn,{label:"Failed",value:b.failedMembers}),r.jsx(fn,{label:"Running",value:b.runningMembers})]}),w!==null&&r.jsxs("div",{className:"grid gap-2 sm:grid-cols-4",children:[r.jsx(fn,{label:"Requests",value:w.requestCount}),r.jsx(fn,{label:"Errors",value:w.errorCount}),r.jsx(fn,{label:"Tokens",value:w.tokenUsage.total}),r.jsx(fn,{label:"Missing",value:w.missingSessions})]}),r.jsx(TM,{report:v,loading:i,error:a,hasEvidence:j!==null}),r.jsx(EM,{evidence:j}),l!==null&&r.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&&r.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:u}),r.jsx(RM,{rows:k})]})})}function CM({group:e,deleteEvidence:t,isDeleting:n,error:s,onDeleteEvidenceChange:o,onCancel:i,onConfirm:a}){const l=e.evidence!==null,u=e.evidence?.markdownPath??"No evidence pack exported.";return r.jsx("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-3 text-red-900",children:r.jsxs("div",{className:"flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[r.jsxs("div",{className:"min-w-0 space-y-2",children:[r.jsxs("div",{className:"flex items-center gap-2 text-sm font-semibold",children:[r.jsx(jn,{className:"size-4 text-red-600"}),r.jsx("span",{children:"Delete group?"})]}),r.jsxs("p",{className:"text-xs text-red-800",children:["Delete ",r.jsx("span",{className:"font-medium",children:e.title}),". Session logs and run records stay intact."]}),r.jsxs("label",{className:$("flex min-w-0 items-start gap-2 text-xs",l?"cursor-pointer":"opacity-60"),children:[r.jsx("input",{type:"checkbox",className:"mt-0.5 size-4 shrink-0",checked:t,disabled:!l||n,onChange:d=>o(d.currentTarget.checked)}),r.jsxs("span",{className:"min-w-0",children:[r.jsx("span",{className:"block font-medium",children:"Also delete exported evidence files"}),r.jsx("code",{className:"mt-1 block truncate font-mono text-[11px] text-red-700",children:u})]})]}),s!==null&&r.jsx("div",{className:"rounded-md border border-red-200 bg-white px-2 py-1.5 text-xs text-red-700",children:s})]}),r.jsxs("div",{className:"flex shrink-0 justify-end gap-2",children:[r.jsx(ee,{type:"button",variant:"outline",size:"sm",disabled:n,onClick:i,children:"Cancel"}),r.jsxs(ee,{type:"button",variant:"destructive",size:"sm",disabled:n,onClick:a,children:[n?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(jn,{className:"size-3.5"}),"Delete"]})]})]})})}function fn({label:e,value:t}){return r.jsxs("div",{className:"rounded-md border border-border bg-muted/20 px-3 py-2",children:[r.jsx("div",{className:"text-[11px] font-medium uppercase text-muted-foreground",children:e}),r.jsx("div",{className:"mt-1 font-mono text-sm font-semibold",children:ht(t)})]})}function TM({report:e,loading:t,error:n,hasEvidence:s}){const{copied:o,copy:i}=vn(e?.markdown??null);return e===null&&!t&&n===void 0?null:t?r.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:[r.jsx(Fe,{className:"size-3.5 animate-spin"}),"Loading evidence report..."]}):n!==void 0&&s?r.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:r.jsxs("div",{className:"rounded-md border border-border bg-muted/20 px-3 py-2",children:[r.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.jsx("span",{className:"text-xs font-semibold",children:"Evidence report"}),r.jsx(Ne,{variant:"outline",className:mM(e.status),children:e.status})]}),r.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?r.jsx(Ze,{className:"size-3.5 text-emerald-500"}):r.jsx(Ot,{className:"size-3.5"})})]}),r.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:e.summary})]})}function EM({evidence:e}){return e===null?r.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."}):r.jsxs("div",{className:"space-y-2 rounded-md border border-border bg-muted/20 px-3 py-2",children:[r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[r.jsx("span",{className:"text-xs font-semibold",children:"Evidence paths"}),r.jsx("span",{className:"text-[11px] text-muted-foreground",children:As(e.exportedAt)})]}),r.jsxs("div",{className:"grid gap-2",children:[r.jsx(aa,{label:"JSON",value:e.jsonPath}),r.jsx(aa,{label:"Markdown",value:e.markdownPath}),r.jsx(aa,{label:"HTML",value:e.htmlPath})]})]})}function aa({label:e,value:t}){const{copied:n,copy:s}=vn(t);return r.jsxs("div",{className:"flex min-w-0 items-center gap-2 rounded-md border border-border bg-background px-2 py-1.5",children:[r.jsx("span",{className:"w-16 shrink-0 text-[11px] font-medium text-muted-foreground",children:e}),r.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:t}),r.jsx(ee,{type:"button",variant:"ghost",size:"icon",className:"size-7 shrink-0","aria-label":n?`Copied ${e} path`:`Copy ${e} path`,onClick:s,children:n?r.jsx(Ze,{className:"size-3.5 text-emerald-500"}):r.jsx(Ot,{className:"size-3.5"})})]})}function RM({rows:e}){const[t,n]=c.useState(null),s=c.useCallback(o=>{n(i=>i===o?null:o)},[]);return e.length===0?r.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."}):r.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[r.jsx("div",{className:"border-b border-border bg-muted/30 px-3 py-2 text-xs font-semibold",children:"Members"}),r.jsx("div",{className:"overflow-x-auto",children:r.jsxs("table",{className:"w-full min-w-[760px] text-left text-xs",children:[r.jsx("thead",{className:"border-b border-border bg-muted/20 text-muted-foreground",children:r.jsxs("tr",{children:[r.jsx("th",{className:"px-3 py-2 font-medium",children:"Session"}),r.jsx("th",{className:"px-3 py-2 font-medium",children:"Provider / Model"}),r.jsx("th",{className:"px-3 py-2 font-medium",children:"Status"}),r.jsx("th",{className:"px-3 py-2 font-medium",children:"Requests"}),r.jsx("th",{className:"px-3 py-2 font-medium",children:"Errors"}),r.jsx("th",{className:"px-3 py-2 font-medium",children:"First chunk"}),r.jsx("th",{className:"px-3 py-2 font-medium",children:"Tokens"})]})}),r.jsx("tbody",{children:e.map(o=>{const i=t===o.member.id;return r.jsxs(c.Fragment,{children:[r.jsx(MM,{row:o,isExpanded:i,onToggleDetails:s}),r.jsx(AM,{row:o,isExpanded:i})]},o.member.id)})})]})})]})}function MM({row:e,isExpanded:t,onToggleDetails:n}){const s=e.member,o=e.exportMember?.session??null,i=vM(e),a=o?.inspectorPath??rp(s.sessionId),l=e.source!=="evidence",u=o?.requestCount??null,d=o?.errorCount??null,p=o?.tokenUsage.total??null,f=i?.firstChunkMs??null,m=z0(s.label,s.sessionId),h=xM(o?.clientUserAgent,i?.userAgent,s.agent),x=o?.clientProjectFolder??null,y=pc({userAgent:h,conversationId:s.sessionId,clientProjectFolder:x}),b=ki(y);return r.jsxs("tr",{className:"border-b border-border last:border-0 hover:bg-muted/20",children:[r.jsxs("td",{className:"max-w-56 px-3 py-2",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[r.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(s.id)},children:t?r.jsx(Qe,{className:"size-3.5"}):r.jsx(bt,{className:"size-3.5"})}),b!==null&&r.jsx(Si,{client:y,className:"size-5"}),l?r.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:[r.jsx("span",{className:"min-w-0 truncate",children:m}),r.jsx($l,{className:"size-3 shrink-0 text-muted-foreground"})]}):r.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(s.id)},children:[r.jsx("span",{className:"min-w-0 truncate",children:m}),r.jsx(Ne,{variant:"outline",className:"shrink-0 border-zinc-200 bg-zinc-50 text-zinc-600",children:"evidence"})]})]}),r.jsx("div",{className:"mt-0.5 truncate text-[11px] text-muted-foreground",children:Ti(s.agent)})]}),r.jsx("td",{className:"max-w-52 px-3 py-2",children:r.jsx("span",{className:"block whitespace-normal leading-snug",children:gM(s)})}),r.jsx("td",{className:"px-3 py-2",children:r.jsx(Ne,{variant:"outline",className:Sc(s.status),children:_c(s.status)})}),r.jsx("td",{className:"px-3 py-2 font-mono",children:u===null?"-":ht(u)}),r.jsx("td",{className:"px-3 py-2 font-mono",children:d===null?"-":ht(d)}),r.jsx("td",{className:"px-3 py-2 font-mono",children:al(f)}),r.jsx("td",{className:"px-3 py-2 font-mono",children:p===null?"-":ht(p)})]})}function AM({row:e,isExpanded:t}){if(!t)return null;const n=e.member,s=e.exportMember,o=s?.session??null,i=s?.run??null,a=Object.entries(n.metadata);return r.jsx("tr",{className:"border-b border-border bg-muted/10",children:r.jsx("td",{colSpan:7,className:"px-3 pb-4 pt-2",children:r.jsxs("div",{className:"space-y-3 rounded-md border border-border bg-background p-3",children:[r.jsxs("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-4",children:[r.jsx(et,{label:"Source",value:yM(e.source)}),r.jsx(et,{label:"Member ID",value:n.id,mono:!0}),r.jsx(et,{label:"Session ID",value:n.sessionId,mono:!0}),r.jsx(et,{label:"Run ID",value:i?.id??n.runId??"-",mono:!0}),r.jsx(et,{label:"Created",value:As(n.addedAt)}),r.jsx(et,{label:"Updated",value:As(n.updatedAt)}),r.jsx(et,{label:"Session created",value:td(o?.createdAt??null)}),r.jsx(et,{label:"Session updated",value:td(o?.updatedAt??null)})]}),o===null?r.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."}):r.jsxs("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-4",children:[r.jsx(et,{label:"Log coverage",value:o.logCoverage}),r.jsx(et,{label:"Runtime",value:Ti(o.runtimeMode)}),r.jsx(et,{label:"Requests",value:ht(o.requestCount),mono:!0}),r.jsx(et,{label:"Errors",value:ht(o.errorCount),mono:!0}),r.jsx(et,{label:"Input tokens",value:ht(o.tokenUsage.input),mono:!0}),r.jsx(et,{label:"Output tokens",value:ht(o.tokenUsage.output),mono:!0}),r.jsx(et,{label:"Cache read",value:ht(o.tokenUsage.cacheRead),mono:!0}),r.jsx(et,{label:"Total tokens",value:ht(o.tokenUsage.total),mono:!0})]}),r.jsx(IM,{logs:o?.latestLogs??[]}),r.jsx(PM,{entries:a})]})})})}function et({label:e,value:t,mono:n=!1}){return r.jsxs("div",{className:"min-w-0",children:[r.jsx("div",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:e}),r.jsx("div",{className:$("truncate text-xs text-foreground",n?"font-mono":""),title:t,children:t})]})}function IM({logs:e}){const t=e.slice(0,5);return t.length===0?r.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."}):r.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[r.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"}),r.jsx("div",{className:"divide-y divide-border",children:t.map(n=>{const s=n.sessionLogNumber??n.id;return r.jsxs("div",{className:"grid gap-2 px-3 py-2 text-xs sm:grid-cols-[72px_1fr_88px_88px]",children:[r.jsxs("span",{className:"font-mono text-muted-foreground",title:`Log ID ${String(n.id)}`,children:["#",s]}),r.jsxs("span",{className:"min-w-0 truncate",children:[Ti(n.model)," · ",n.apiFormat," · ",n.path]}),r.jsx("span",{className:"font-mono text-muted-foreground",children:al(n.firstChunkMs)}),r.jsx("span",{className:"font-mono text-muted-foreground",children:al(n.latencyMs)})]},n.id)})})]})}function PM({entries:e}){return e.length===0?null:r.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[r.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"}),r.jsx("div",{className:"grid gap-x-3 gap-y-2 p-3 text-xs sm:grid-cols-2",children:e.map(([t,n])=>{const s=hM(n);return r.jsxs("div",{className:"min-w-0",children:[r.jsx("span",{className:"mr-2 text-muted-foreground",children:t}),r.jsx("span",{className:"font-mono text-foreground",title:s,children:s})]},t)})})]})}const OM=E({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:Ee()}),zM=E({scanId:g().uuid(),providers:W(OM),warnings:W(g()).optional()});E({scanId:g().uuid(),selectionIds:W(g().uuid()).min(1).max(100)});const LM=E({success:Ee().optional(),imported:R().optional(),message:g().optional(),errors:W(g()).optional()}),nd=2e4;function $M({open:e,onOpenChange:t,onImportComplete:n}){const[s,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),[y,b]=c.useState(!1),[w,v]=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),v(null),k(null),Be("/api/providers/scan",zM,nd,{method:"POST"},A=>`Scan failed (${String(A.status)})`).then(A=>{if(S.current!==C)return;u(A.scanId),p(A.providers),m(A.warnings??[]);const F=new Set;A.providers.forEach((U,G)=>{U.alreadyExists||F.add(G)}),x(F)}).catch(A=>{S.current===C&&a(A instanceof Error?A.message:String(A))}).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 I=c.useCallback(C=>{x(A=>{const F=new Set(A);return F.has(C)?F.delete(C):F.add(C),F})},[]),P=c.useCallback(()=>{const C=d.filter((F,U)=>h.has(U));if(C.length===0||l===null)return;const A=_.current+1;_.current=A,b(!0),k(null),v(null),Be("/api/providers/import",LM,nd,{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===A&&(p(U=>U.map((G,K)=>h.has(K)?{...G,alreadyExists:!0}:G)),x(new Set),F.errors!==void 0&&F.errors.length>0&&F.message!==void 0?v(F.message):v(`Imported ${F.imported??C.length} provider(s)`),n())}).catch(F=>{_.current===A&&k(F instanceof Error?F.message:String(F))}).finally(()=>{_.current===A&&b(!1)})},[d,l,h,n]),M=d.some(C=>!C.alreadyExists);return r.jsx(Kt,{open:e,onOpenChange:t,children:r.jsxs(Gt,{className:"max-w-xl max-h-[80vh] overflow-hidden flex flex-col",children:[r.jsxs(Qt,{children:[r.jsx(en,{children:"Import from External Tools"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Detect provider configurations from Claude Code, OpenCode, and MiMo Code."})]}),r.jsxs("div",{className:"flex-1 overflow-y-auto space-y-3",children:[s&&r.jsxs("div",{className:"flex items-center justify-center py-8 gap-2 text-muted-foreground",children:[r.jsx(Fe,{className:"size-4 animate-spin"}),r.jsx("span",{className:"text-sm",children:"Scanning for external providers..."})]}),i!==null&&r.jsxs("div",{className:"flex items-center gap-2 text-destructive text-sm py-4",children:[r.jsx(_s,{className:"size-4"}),i]}),!s&&i===null&&d.length===0&&r.jsxs("p",{className:"text-sm text-muted-foreground py-8 text-center",children:["No external provider configurations found.",r.jsx("br",{}),r.jsx("span",{className:"text-xs",children:"Supported tools: Claude Code (~/.claude/settings.json), OpenCode (~/.config/opencode/opencode.json), MiMo Code (~/.config/mimocode/mimocode.jsonc)"})]}),!s&&d.map((C,A)=>r.jsxs("label",{className:`flex items-start gap-3 p-3 border rounded-md ${C.alreadyExists?"":"cursor-pointer hover:bg-muted/50"}`,children:[!C.alreadyExists&&r.jsx("input",{type:"checkbox",checked:h.has(A),disabled:y,onChange:()=>I(A),className:"mt-0.5 size-4"}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center justify-between",children:[r.jsx(Si,{client:C.sourceTool,className:"size-7 rounded-[8px]"}),C.alreadyExists&&r.jsx("span",{className:"text-[10px] text-muted-foreground",children:"Already added"})]}),r.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`:""]}),r.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:C.format==="anthropic"?C.anthropicBaseUrl:C.openaiResponsesBaseUrl!==""?C.openaiResponsesBaseUrl:C.openaiBaseUrl}),r.jsx("div",{className:"text-xs text-muted-foreground mt-0.5 font-mono",children:C.apiKeyHint})]})]},C.selectionId)),f.length>0&&r.jsx("div",{className:"text-xs text-muted-foreground space-y-1 border-t pt-2",children:f.map((C,A)=>r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx(_s,{className:"size-3"}),C]},A))}),w!==null&&r.jsx("div",{className:"text-sm text-green-500 border-t pt-2",children:w}),j!==null&&r.jsx("div",{className:"text-sm text-destructive border-t pt-2",children:j})]}),r.jsxs("div",{className:"flex items-center justify-between pt-3 border-t",children:[r.jsxs(ee,{variant:"outline",size:"sm",onClick:N,disabled:s,children:[r.jsx(Fe,{className:`size-3 mr-1 ${s?"animate-spin":""}`}),"Rescan"]}),r.jsxs(ee,{size:"sm",onClick:P,disabled:!M||h.size===0||y,children:[r.jsx(br,{className:"size-3 mr-1"}),y?"Importing...":`Import Selected (${h.size})`]})]})]})})}const L0=E({id:g().min(1).max(Oa),aliases:W(g().max(Oa)).max(Hn).optional().default([]),contextWindow:R().int().positive().optional(),outputLimit:R().int().positive().optional(),sourceUrl:g().optional()}),DM=E({name:g().min(1).optional(),aliases:W(g()).max(Hn).optional().default([]),baseUrls:W(g()).max(Hn).optional().default([]),models:W(L0).min(1).max(Hn)});E({version:R().int().positive().optional(),updatedAt:g().optional(),providers:W(DM).max(Hn).optional().default([]),models:W(L0).max(Hn).optional().default([])});function sd(e){return e.trim().toLowerCase().replace(/\s+/g,"-")}function FM(e){const t=e.models.filter(n=>n.trim()!=="");return t.length>0?t:e.model!==void 0&&e.model.trim()!==""?[e.model]:[]}function Nc(e,t){const n=sd(t);return(e.modelMetadata??[]).find(o=>sd(o.model)===n)??null}function UM(e){const t=FM(e);return t.length===0?!1:t.every(n=>{const s=Nc(e,n);return s!==null&&s.contextWindow!==void 0})}function BM(e,t){if(e===null)return null;for(const n of t){const s=Nc(n,e);if(s!==null&&s.contextWindow!==void 0)return{providerName:n.name,model:s.model,tokens:s.contextWindow,sourceUrl:s.sourceUrl}}return null}function mr(e){return Object.prototype.hasOwnProperty.call(e,"success")}function Ei(e){return Object.prototype.hasOwnProperty.call(e,"notConfigured")}function wt(e){return e!==void 0&&e!==""}function rt(e){return e!==void 0&&e.trim()!==""}function ws(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function $0(e){return e>=10?`${e.toFixed(0)}/s`:`${e.toFixed(1)}/s`}function D0(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 qM(e){return e.firstChunkMs!==void 0&&e.firstChunkMs!==null?ws(e.firstChunkMs):e.latencyMs!==void 0?ws(e.latencyMs):e.totalStreamMs!==void 0&&e.totalStreamMs!==null?ws(e.totalStreamMs):e.tokensPerSecond!==void 0&&e.tokensPerSecond!==null&&e.tokensPerSecond>0?$0(e.tokensPerSecond):null}function HM(e){return Ei(e)?{tone:"quiet",label:"N/A",metric:null,hasDetails:!1}:mr(e)?e.success?{tone:"success",label:"Pass",metric:qM(e),hasDetails:!0}:{tone:"failure",label:D0(e.error?.type??"unknown"),metric:null,hasDetails:!0}:{tone:"pending",label:"Running",metric:null,hasDetails:!1}}function VM(e,t){if(t===void 0)return[];const n=[];return wt(e.anthropicBaseUrl)&&n.push(t.anthropic),wt(e.openaiBaseUrl)&&n.push(t.openaiChat),wt(e.openaiResponsesBaseUrl)&&n.push(t.openaiResponses),n}function WM(e,t){const n={total:0,passed:0,failed:0,testing:0};for(const s of VM(e,t))for(const o of[s.nonStreaming,s.streaming])Ei(o)||(n.total+=1,mr(o)?o.success?n.passed+=1:n.failed+=1:n.testing+=1);return n}function rd(e){if(e===void 0)return;const t=Object.entries(e).map(([n,s])=>`${n}: ${s}`);return t.length===0?void 0:t.join(`
|
|
124
|
-
`)}function mn({title:e,children:t}){return r.jsxs("section",{className:"space-y-1.5",children:[r.jsx("h4",{className:"text-xs font-medium text-foreground/80",children:e}),t]})}function Ln({value:e}){return r.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 $n({label:e,value:t}){return r.jsxs("div",{className:"min-w-0 rounded-md bg-muted/35 px-3 py-2",children:[r.jsx("dt",{className:"text-[10px] text-muted-foreground",children:e}),r.jsx("dd",{className:"mt-1 truncate font-mono text-xs font-semibold text-foreground",title:t,children:t})]})}function ZM({result:e}){const t=e.inputTokens!==void 0||e.outputTokens!==void 0,n=e.cacheCreationInputTokens!==void 0||e.cacheReadInputTokens!==void 0;return rt(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?r.jsxs("dl",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4",children:[rt(e.model)&&r.jsx($n,{label:"Model",value:e.model}),e.latencyMs!==void 0&&r.jsx($n,{label:"Latency",value:ws(e.latencyMs)}),e.firstChunkMs!==void 0&&e.firstChunkMs!==null&&r.jsx($n,{label:"First chunk",value:ws(e.firstChunkMs)}),e.totalStreamMs!==void 0&&e.totalStreamMs!==null&&r.jsx($n,{label:"Stream total",value:ws(e.totalStreamMs)}),e.tokensPerSecond!==void 0&&e.tokensPerSecond!==null&&e.tokensPerSecond>0&&r.jsx($n,{label:"Token rate",value:`${$0(e.tokensPerSecond)} tok`}),t&&r.jsx($n,{label:"Tokens in / out",value:`${String(e.inputTokens??0)} / ${String(e.outputTokens??0)}`}),n&&r.jsx($n,{label:"Cache create / read",value:`${String(e.cacheCreationInputTokens??0)} / ${String(e.cacheReadInputTokens??0)}`})]}):null}function KM({result:e}){const t=e.debug,n=t?.requestUrl,s=t?.requestMethod??"POST",o=rd(t?.requestHeaders),i=rd(t?.responseHeaders),a=t?.responseStatus===void 0?void 0:`${String(t.responseStatus)}${rt(t.responseStatusText)?` ${t.responseStatusText}`:""}`,l=t?.responseBody??e.rawResponse;return rt(e.error?.hint)||rt(e.error?.details)||rt(n)||o!==void 0||rt(t?.requestBody)||rt(a)||i!==void 0||rt(l)?r.jsxs("div",{className:"space-y-4 border-t border-border/70 pt-4 text-xs text-muted-foreground",children:[rt(e.error?.hint)&&r.jsx(mn,{title:"Hint",children:r.jsx("p",{className:"break-words text-foreground/80",children:e.error.hint})}),rt(e.error?.details)&&r.jsx(mn,{title:"Error details",children:r.jsx(Ln,{value:e.error.details})}),rt(n)&&r.jsx(mn,{title:"Request",children:r.jsx(Ln,{value:`${s} ${n}`})}),o!==void 0&&r.jsx(mn,{title:"Request headers",children:r.jsx(Ln,{value:o})}),rt(t?.requestBody)&&r.jsx(mn,{title:"Request body",children:r.jsx(Ln,{value:t.requestBody})}),rt(a)&&r.jsx(mn,{title:"Response status",children:r.jsx(Ln,{value:a})}),i!==void 0&&r.jsx(mn,{title:"Response headers",children:r.jsx(Ln,{value:i})}),rt(l)&&r.jsx(mn,{title:"Response body",children:r.jsx(Ln,{value:l})})]}):null}function GM({result:e,probeLabel:t,children:n}){const s=e.error?.message??"Connection failed";return r.jsxs(Kt,{children:[r.jsx(Sr,{asChild:!0,children:n}),r.jsxs(Gt,{className:"max-h-[82vh] max-w-2xl gap-0 overflow-hidden p-0",children:[r.jsxs(Qt,{className:"border-b border-border/70 px-5 py-4 pr-12",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[e.success?r.jsx(gr,{className:"size-4 text-cyan-300"}):r.jsx(_s,{className:"size-4 text-red-300"}),r.jsx(en,{className:"text-base",children:t})]}),r.jsx(_r,{children:e.success?"Connection probe passed.":s})]}),r.jsxs("div",{className:"space-y-4 overflow-y-auto p-5",children:[!e.success&&r.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:[r.jsx("div",{className:"font-medium",children:D0(e.error?.type??"unknown")}),r.jsx("div",{className:"mt-1 break-words text-xs text-muted-foreground",children:s})]}),r.jsx(ZM,{result:e}),r.jsx(KM,{result:e})]})]})]})}function JM(e){const t="size-3 shrink-0";switch(e){case"timeout":return r.jsx(rn,{className:t});case"network_unreachable":return r.jsx(bk,{className:t});case"connection_refused":return r.jsx(yk,{className:t});case"auth_failed":return r.jsx(hj,{className:t});case"rate_limited":return r.jsx(Dl,{className:t});case"server_error":return r.jsx(tk,{className:t});case"invalid_response":return r.jsx(yw,{className:t});case"unknown":return r.jsx(_s,{className:t})}}const YM={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 od({result:e,probeLabel:t}){const n=HM(e),s=Ei(e)?r.jsx(yf,{className:"size-3 shrink-0"}):mr(e)?e.success?r.jsx(gr,{className:"size-3 shrink-0"}):JM(e.error?.type??"unknown"):r.jsx(_o,{className:"size-3 shrink-0 animate-spin"}),o=r.jsxs(r.Fragment,{children:[s,r.jsx("span",{className:"min-w-0 truncate",children:n.label}),n.metric!==null&&r.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",YM[n.tone]);return mr(e)&&n.hasDetails?r.jsx(GM,{result:e,probeLabel:t,children:r.jsx("button",{type:"button",className:i,"aria-label":`Open ${t} result: ${n.label}`,children:o})}):r.jsx("div",{className:i,children:o})}function id({label:e}){return r.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:[r.jsx(yf,{className:"size-3 shrink-0"}),r.jsx("span",{className:"truncate",children:e})]})}function la({label:e,results:t,configured:n=!0}){return r.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:[r.jsx("div",{className:"min-w-0 truncate text-xs font-medium text-foreground/85",title:e,children:e}),n&&t!==void 0?r.jsx(od,{result:t.nonStreaming,probeLabel:`${e} non-stream`}):r.jsx(id,{label:n?"Not tested":"Off"}),n&&t!==void 0?r.jsx(od,{result:t.streaming,probeLabel:`${e} stream`}):r.jsx(id,{label:n?"Not tested":"Off"})]})}function F0({provider:e,results:t}){const n=wt(e.anthropicBaseUrl),s=wt(e.openaiBaseUrl),o=wt(e.openaiResponsesBaseUrl);return!n&&!s&&!o?r.jsx("div",{className:"text-xs text-muted-foreground",children:"No testable endpoint configured."}):r.jsx("div",{className:"min-w-0 overflow-x-auto rounded-md border border-border/70",children:r.jsxs("div",{className:"min-w-[20rem]",children:[r.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:[r.jsx("span",{children:"Protocol"}),r.jsx("span",{children:"Non-stream"}),r.jsx("span",{children:"Stream"})]}),n&&r.jsx(la,{label:"Anthropic",results:t?.anthropic}),s&&r.jsx(la,{label:"OpenAI Chat",results:t?.openaiChat}),r.jsx(la,{label:"OpenAI Responses",results:t?.openaiResponses,configured:o})]})})}function XM(e){const t={total:0,passed:0,failed:0,testing:0};for(const n of[e.nonStreaming,e.streaming])Ei(n)||(t.total+=1,mr(n)?n.success?t.passed+=1:t.failed+=1:t.testing+=1);return t}function ca({label:e,results:t}){const n=XM(t),s=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 r.jsxs("span",{className:$("rounded border px-1.5 py-0.5 text-[10px]",s),children:[e," ",o]})}function QM({provider:e,modelName:t,results:n,expanded:s,onToggle:o}){return r.jsxs("div",{className:"min-w-0",children:[r.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":s,children:[s?r.jsx(Qe,{className:"size-3.5 shrink-0 text-muted-foreground"}):r.jsx(bt,{className:"size-3.5 shrink-0 text-muted-foreground"}),r.jsx("span",{className:"min-w-[8rem] flex-1 truncate text-xs font-medium",title:t,children:t}),r.jsxs("span",{className:"flex flex-wrap items-center justify-end gap-1",children:[wt(e.anthropicBaseUrl)&&r.jsx(ca,{label:"A",results:n.anthropic}),wt(e.openaiBaseUrl)&&r.jsx(ca,{label:"Chat",results:n.openaiChat}),wt(e.openaiResponsesBaseUrl)&&r.jsx(ca,{label:"Resp",results:n.openaiResponses})]})]}),s&&r.jsx("div",{className:"px-2 pb-3",children:r.jsx(F0,{provider:e,results:n})})]})}function eA({provider:e,testResults:t}){const n=Object.entries(t.models??{}),[s,o]=c.useState(!1),[i,a]=c.useState(null);return n.length===0?null:r.jsxs("section",{className:"space-y-2",children:[r.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":s,children:[s?r.jsx(Qe,{className:"size-3.5"}):r.jsx(bt,{className:"size-3.5"}),"Model probes",r.jsx("span",{className:"rounded bg-muted/50 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:n.length})]}),s&&r.jsx("div",{className:"min-w-0 divide-y divide-border/60 rounded-md border border-border/70",children:n.map(([l,u])=>r.jsx(QM,{provider:e,modelName:l,results:u,expanded:i===l,onToggle:()=>a(d=>d===l?null:l)},l))})]})}function tA({provider:e,testResults:t,isTesting:n}){const s=wt(e.anthropicBaseUrl)||wt(e.openaiBaseUrl)||wt(e.openaiResponsesBaseUrl),o=WM(e,t);return n?r.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:[r.jsx(_o,{className:"size-3 animate-spin"}),"Testing"]}):s?t===void 0||o.total===0?r.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?r.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:[r.jsx(_s,{className:"size-3"}),o.failed," failed"]}):o.testing>0||o.passed<o.total?r.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]}):r.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:[r.jsx(gr,{className:"size-3"}),o.passed,"/",o.total]}):r.jsx("span",{className:"rounded border border-border/70 bg-muted/20 px-2 py-1 text-xs text-muted-foreground",children:"No endpoint"})}const nA={deepseek:"https://api-docs.deepseek.com/zh-cn/"};function ua(e){return e!==void 0&&e!==""}function da({label:e}){return r.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:[r.jsx(gr,{className:"size-3"}),e]})}function sA({provider:e}){const t=ua(e.anthropicBaseUrl),n=ua(e.openaiBaseUrl),s=ua(e.openaiResponsesBaseUrl);return!t&&!n&&!s?r.jsx("div",{className:"text-xs text-muted-foreground",children:"Test requires at least one configured endpoint."}):r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5 text-xs text-muted-foreground",children:[t&&r.jsx(da,{label:"Anthropic"}),n&&r.jsx(da,{label:"OpenAI Chat"}),s&&r.jsx(da,{label:"OpenAI Responses"})]})}function rA(e){const t=e.models??[];if(t.length===0)return"No models configured";const n=t.slice(0,2).join(", "),s=t.length-2;return s>0?`${n} +${s} more`:n}function oA({provider:e,model:t}){const n=Nc(e,t),s=aA(n?.sourceUrl);return r.jsxs("span",{className:"inline-flex items-center gap-1 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:[r.jsx("span",{children:t}),n!==null&&n.contextWindow!==void 0&&r.jsx("span",{className:"font-mono text-foreground/80",children:ip(n.contextWindow)}),s!==null&&r.jsx(Ls,{children:r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.jsx("a",{href:s.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":s.title,children:s.label})}),r.jsx(ft,{children:s.title})]})})]})}function iA(e){const t=Date.now(),n=new Date(e).getTime(),s=t-n,o=Math.floor(s/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 aA(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(),s=n==="huggingface.co"||n.endsWith(".huggingface.co");return{label:s?"HF":"Source",title:s?"Open Hugging Face model source":"Open model metadata source",url:e}}catch{return null}}function lA({provider:e,testResults:t,isTesting:n,testingTimeLeft:s,isHighlighted:o,onEdit:i,onDelete:a,onTest:l,onRefreshMetadata:u,isRefreshingMetadata:d=!1}){const[p,f]=c.useState(!1),m=e.apiDocsUrl??Object.entries(nA).find(([v])=>e.name.toLowerCase().includes(v))?.[1],h=UM(e),x=e.modelMetadataUrl!==void 0&&e.modelMetadataUrl.trim()!=="",y=x?"Refresh":"Import defaults",b=n??!1,w=e.source==="company"?r.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"?r.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 r.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:[r.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[r.jsxs("div",{className:"min-w-0 space-y-1",children:[r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[r.jsx("span",{className:"font-medium leading-snug",children:e.name}),w]}),r.jsx("div",{className:"text-xs leading-snug text-muted-foreground",children:rA(e)})]}),r.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[r.jsx(tA,{provider:e,testResults:t,isTesting:b}),m!==void 0&&r.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:[r.jsx($l,{className:"size-3"}),r.jsx("span",{className:"sr-only",children:"Docs"})]})]})]}),r.jsxs("div",{className:"flex flex-col gap-2 text-xs text-muted-foreground sm:flex-row sm:items-center sm:justify-between",children:[r.jsx(sA,{provider:e}),t?.testedAt!==void 0&&r.jsxs("span",{className:"inline-flex items-center gap-1",children:[r.jsx(rn,{className:"size-3"}),iA(t.testedAt)]})]}),!h&&r.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:[r.jsx("span",{children:"Context window metadata missing"}),r.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[r.jsxs(ee,{type:"button",variant:"outline",size:"sm",onClick:()=>u?.(e.id),className:"h-6 gap-1 px-2 text-xs",disabled:d,children:[r.jsx(_o,{className:`size-3 ${d?"animate-spin":""}`}),y]}),!x&&r.jsx(ee,{type:"button",variant:"ghost",size:"sm",onClick:()=>i(e),className:"h-6 px-2 text-xs",children:"Set URL"})]})]}),p&&r.jsxs("div",{className:"space-y-3 border-t border-border/60 pt-3",children:[r.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[r.jsx(gr,{className:"size-3.5 text-emerald-500"}),r.jsx("span",{children:"API key configured"})]}),e.models!==void 0&&e.models.length>0&&r.jsx("div",{className:"flex flex-wrap gap-1",children:e.models.map(v=>r.jsx(oA,{provider:e,model:v},v))}),r.jsxs("section",{className:"space-y-2",children:[r.jsx("h4",{className:"text-xs font-medium text-foreground/80",children:"Connection probes"}),r.jsx(F0,{provider:e,results:t})]}),t!==void 0&&r.jsx(eA,{provider:e,testResults:t})]}),r.jsxs("div",{className:"flex flex-col gap-2 border-t pt-1 sm:flex-row sm:items-center sm:justify-between",children:[r.jsxs("button",{type:"button",onClick:()=>f(v=>!v),className:"inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground","aria-expanded":p,children:[p?r.jsx(Qe,{className:"size-3"}):r.jsx(bt,{className:"size-3"}),"Details"]}),r.jsxs("div",{className:"flex gap-2",children:[l!==void 0&&r.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>l(e.id),className:"text-xs h-7 gap-1",disabled:b,children:[r.jsx(_o,{className:`size-3 ${b?"animate-spin":""}`}),b?s!==void 0?`Testing (${s}s)`:"Testing...":"Test"]}),r.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>i(e),className:"text-xs h-7 gap-1",disabled:b,children:[r.jsx(wf,{className:"size-3"}),"Edit"]}),r.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:[r.jsx(jn,{className:"size-3"}),"Delete"]})]})]})]})}const js="/v1/chat/completions",ll="/v1/responses",cA="/v1/messages";function uA(e,t){const n=e.endsWith("/")?e.slice(0,-1):e,s=U0(t),o=t.indexOf("?"),i=o>=0?t.slice(o):"";return s!==""&&n.endsWith(s)?n+i:q0(n)&&B0(t)||n.endsWith("/v1")&&t.startsWith("/v1/")?n+t.slice(3):n+t}function dA(e,t,n={}){const s=e.trim().replace(/\/+$/,""),o=U0(t),i=uA(s,t),a=[];return o!==""&&s.endsWith(o)?a.push({severity:"info",message:"This already includes the exact endpoint; no duplicate suffix will be appended."}):q0(s)&&B0(t)?a.push({severity:"info",message:"Zhipu bases already include the API version; only /chat/completions is appended."}):s.endsWith("/v1")&&t.startsWith("/v1/")&&a.push({severity:"info",message:"Base URL already ends with /v1; the suffix will not repeat /v1."}),ad(o)&&fA(s)&&a.push({severity:"warning",message:"This looks like a Chat Completions endpoint, so Responses would append after it."}),pA(o)&&mA(s)&&a.push({severity:"warning",message:"This looks like a Responses endpoint, so Chat Completions would append after it."}),ad(o)&&hA(s,n.providerName)&&a.push({severity:"warning",message:"DeepSeek's official API does not currently expose OpenAI Responses."}),{finalUrl:i,diagnostics:a}}function U0(e){return e.split("?")[0]??e}function B0(e){return e===js||e.startsWith(`${js}?`)||e.startsWith(`${js}/`)}function pA(e){return e===js||e.startsWith(`${js}/`)}function ad(e){return e===ll||e.startsWith(`${ll}/`)}function fA(e){return e.toLowerCase().endsWith("/chat/completions")}function mA(e){return e.toLowerCase().endsWith("/responses")}function hA(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 q0(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 pa(e){return e!==void 0&&e.trim()!==""}function ld(e){const t=pa(e?.anthropicBaseUrl),n=pa(e?.openaiBaseUrl),s=pa(e?.openaiResponsesBaseUrl);return{anthropic:t,openai:n||s,openaiChat:n,openaiResponses:s}}function fa(e,t,n){if(!e)return n?"":void 0;const s=t.trim();return s===""?void 0:s}const cd=["zhipu","zhipuai","bigmodel","z.ai","zai","glm"],ud=["zhipu coding","glm coding","bigmodel coding","z.ai coding","zai coding"],Gr=cA,Jr=js,Yr=ll,xA={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"}},dd=["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"],pd=["qwen3.6-plus","qwen3.7-max"],fd=["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"],cl="__unset__",Fo="__custom__",H0=[{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 Dn(){return{contextWindow:"",contextWindowMode:"unset",outputLimit:""}}function md(e){return e.trim().toLowerCase().replace(/\s+/g,"-")}function V0(e,t){const n=md(t);return e?.modelMetadata?.find(s=>md(s.model)===n)??null}function W0(e){const t=xo(e);if(t===null)return null;for(const n of H0)if(xo(n.value)===t)return n.value;return null}function gA(e){return e.trim()===""?"unset":W0(e)!==null?"preset":"custom"}function bA(e){switch(e.contextWindowMode){case"unset":return cl;case"custom":return Fo;case"preset":return W0(e.contextWindow)??Fo}}function ma(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 s=n[1];if(s===void 0)return{amount:t,unit:"K"};const o=n[2];if(o===void 0||o==="")return{amount:s,unit:"tokens"};switch(o.toLowerCase()){case"k":return{amount:s,unit:"K"};case"m":return{amount:s,unit:"M"};default:return{amount:t,unit:"K"}}}function hd(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 xd(e,t){return t.map(n=>{const s=V0(e,n),o=s?.contextWindow!==void 0?Ux(s.contextWindow):"";return{contextWindow:o,contextWindowMode:gA(o),outputLimit:s?.outputLimit?.toString()??""}})}function gd(e){const t=e.trim();if(t==="")return null;const n=Number(t);return!Number.isInteger(n)||n<=0?null:n}function cs(e,t){if(e===void 0)return"";const n=e.trim(),s=n.replace(/\/+$/,"");return s.endsWith(t)?s.slice(0,-t.length).replace(/\/+$/,""):n}function vA(e,t,n){const s=e.trim();return s===""?null:dA(s,t,{providerName:n})}function ha({baseUrl:e,endpoint:t,providerName:n}){const s=vA(e,t,n);return s===null?null:r.jsxs("div",{className:"border border-border bg-muted/40 rounded-md px-3 py-2 text-xs",children:[r.jsx("div",{className:"text-muted-foreground",children:"Final URL"}),r.jsx("div",{className:"break-all font-mono text-foreground",children:s.finalUrl}),s.diagnostics.length>0&&r.jsx("div",{className:"mt-2 space-y-1",children:s.diagnostics.map(o=>r.jsx("div",{className:o.severity==="warning"?"text-amber-200":"text-muted-foreground",children:o.message},`${o.severity}:${o.message}`))})]})}function yA({provider:e,onSubmit:t,onCancel:n}){const s=ld(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:[""]),[y,b]=c.useState(()=>xd(e,m!==void 0&&m.length>0?m:[""])),[w,v]=c.useState(s.anthropic),[j,k]=c.useState(s.openai),[S,_]=c.useState(s.openaiChat),[N,I]=c.useState(s.openaiResponses),[P,M]=c.useState(cs(e?.anthropicBaseUrl,Gr)),[C,A]=c.useState(cs(e?.openaiBaseUrl,Jr)),[F,U]=c.useState(cs(e?.openaiResponsesBaseUrl,Yr)),[G,K]=c.useState(e?.apiDocsUrl??""),[Z,H]=c.useState(e?.modelMetadataUrl??""),[L,X]=c.useState(e?.source),[Y,ye]=c.useState({}),[he,ie]=c.useState(!1),[D,Ce]=c.useState(null),te=c.useRef([]);c.useEffect(()=>{if(D===null)return;const T=D;function z(q){if(!(q.target instanceof Node))return;const se=te.current[T];se!=null&&!se.contains(q.target)&&Ce(null)}return document.addEventListener("mousedown",z),()=>document.removeEventListener("mousedown",z)},[D]);const[we,je]=c.useState(!1),[ue,le]=c.useState(!1),[ge,ke]=c.useState(!1),be=o.toLowerCase().includes("minimax"),Ve=o.toLowerCase().includes("alibaba"),Ue=[...cd,...ud].some(T=>o.toLowerCase().includes(T)),We=be?dd:Ue?fd:Ve?pd:[],ct=e?.modelMetadata?.some(T=>T.contextWindow!==void 0)??!1;function Lt(){Mt(a).then(T=>{T&&(f(!0),setTimeout(()=>f(!1),2e3))})}c.useEffect(()=>{if(e){i(e.name),l(""),d(!1);const T=(e.models?.length??0)>0?e.models:[""];x(T),b(xd(e,T));const z=ld(e);v(z.anthropic),k(z.openai),_(z.openaiChat),I(z.openaiResponses),M(cs(e.anthropicBaseUrl,Gr)),A(cs(e.openaiBaseUrl,Jr)),U(cs(e.openaiResponsesBaseUrl,Yr)),K(e.apiDocsUrl??""),H(e.modelMetadataUrl??""),X(e.source),je(!1),le(!1),ke(!1)}},[e]),c.useEffect(()=>{const T=o.toLowerCase();for(const[z,q]of Object.entries(xA))if(T.includes(z)){q.anthropicBaseUrl!==void 0&&!we&&M(q.anthropicBaseUrl),q.openaiBaseUrl!==void 0&&!ue&&A(q.openaiBaseUrl),q.openaiResponsesBaseUrl!==void 0&&!ge&&U(q.openaiResponsesBaseUrl),q.apiDocsUrl!==void 0&&!G&&K(q.apiDocsUrl),z==="minimax"&&h.length===1&&h[0]===""&&x([dd[0]??""]),z==="alibaba"&&h.length===1&&h[0]===""&&x([pd[0]??""]),(cd.includes(z)||ud.includes(z))&&h.length===1&&h[0]===""&&x([fd[0]??""]);break}},[o]);function _t(){const T={};return o.trim()||(T.name="Name is required"),e===void 0&&!a.trim()&&(T.apiKey="API key is required"),(h.length===0||h.every(z=>!z.trim()))&&(T.models="At least one model is required"),!w&&!j&&(T.capabilities="Select at least one API capability"),j&&!S&&!N&&(T.openaiCapabilities="Select Chat Completions, Responses, or both"),w&&(P.trim()===""?T.anthropicBaseUrl="Anthropic base URL is required":Ge(P.trim())||(T.anthropicBaseUrl="Invalid URL format")),j&&S&&(C.trim()===""?T.openaiBaseUrl="OpenAI Chat base URL is required":Ge(C.trim())||(T.openaiBaseUrl="Invalid URL format")),j&&N&&(F.trim()===""?T.openaiResponsesBaseUrl="OpenAI Responses base URL is required":Ge(F.trim())||(T.openaiResponsesBaseUrl="Invalid URL format")),Z.trim()&&!Ge(Z.trim())&&(T.modelMetadataUrl="Invalid URL format"),y.forEach((z,q)=>{const se=xo(z.contextWindow),de=gd(z.outputLimit);z.contextWindow.trim()!==""&&se===null&&(T[`modelMetadata.${q}.contextWindow`]="Context window must be a positive number, optionally using K or M"),z.outputLimit.trim()!==""&&de===null&&(T[`modelMetadata.${q}.outputLimit`]="Output limit must be a positive integer"),se!==null&&de!==null&&de>se&&(T[`modelMetadata.${q}.outputLimit`]="Output limit should not exceed context window")}),ye(T),Object.keys(T).length===0}function Ge(T){try{return new URL(T),!0}catch{return!1}}function Ae(T,z){x(q=>{const se=[...q];return se[T]=z,se})}function Oe(T,z){b(q=>{const se=[...q];return se[T]={...se[T]??Dn(),...z},se})}function V(T,z){switch(z){case cl:Oe(T,{contextWindow:"",contextWindowMode:"unset"});return;case Fo:{const q=y[T]??Dn();Oe(T,{contextWindow:q.contextWindow,contextWindowMode:"custom"});return}default:Oe(T,{contextWindow:z,contextWindowMode:"preset"});return}}function ne(T,z){const q=y[T]??Dn(),se=ma(q.contextWindow);Oe(T,{contextWindow:hd(z,se.unit),contextWindowMode:"custom"})}function Se(T,z){const q=y[T]??Dn(),se=ma(q.contextWindow);switch(z){case"K":case"M":case"tokens":Oe(T,{contextWindow:hd(se.amount,z),contextWindowMode:"custom"});return;default:return}}function me(T){x(z=>z.filter((q,se)=>se!==T)),b(z=>z.filter((q,se)=>se!==T))}function _e(){x(T=>[...T,""]),b(T=>[...T,Dn()])}function Je(){const T=new Date().toISOString(),z=[];return h.forEach((q,se)=>{const de=q.trim();if(de==="")return;const re=y[se]??Dn(),ve=xo(re.contextWindow),ce=gd(re.outputLimit);if(ve===null&&ce===null)return;const Nt=V0(e,de);if(Nt!==null&&Nt.contextWindow===(ve??void 0)&&Nt.outputLimit===(ce??void 0)){z.push({...Nt,model:de});return}const In={model:de,source:"manual",updatedAt:T};ve!==null&&(In.contextWindow=ve),ce!==null&&(In.outputLimit=ce),z.push(In)}),z.length>0?z:e?.modelMetadata!==void 0?[]:void 0}function J(T){if(T.preventDefault(),!_t())return;ie(!0);const z=e!==void 0;try{t({name:o.trim(),apiKey:a.trim(),models:h.map(q=>q.trim()).filter(q=>q!==""),anthropicBaseUrl:fa(w,P,z),openaiBaseUrl:fa(j&&S,C,z),openaiResponsesBaseUrl:fa(j&&N,F,z),apiDocsUrl:G.trim()||void 0,modelMetadataUrl:Z.trim()||void 0,modelMetadata:Je(),source:L})}finally{ie(!1)}}return r.jsxs("form",{onSubmit:J,className:"space-y-4",children:[r.jsxs("div",{className:"space-y-2",children:[r.jsxs("label",{htmlFor:"provider-name",className:"text-sm font-medium",children:["Name ",r.jsx("span",{className:"text-destructive",children:"*"})]}),r.jsx("input",{id:"provider-name",type:"text",value:o,onChange:T=>i(T.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"}),Y.name!==void 0&&r.jsx("p",{className:"text-xs text-destructive",children:Y.name})]}),r.jsxs("fieldset",{className:"space-y-3",children:[r.jsxs("legend",{className:"text-sm font-medium",children:["Capabilities ",r.jsx("span",{className:"text-destructive",children:"*"})]}),r.jsxs("div",{className:"divide-y divide-border overflow-hidden rounded-md border border-border",children:[r.jsxs("div",{className:j?"bg-primary/[0.04] px-3 py-3":"px-3 py-3",children:[r.jsxs("label",{htmlFor:"provider-capability-openai",className:"flex cursor-pointer items-start gap-3",children:[r.jsx("input",{id:"provider-capability-openai",type:"checkbox",checked:j,onChange:T=>k(T.target.checked),className:"mt-0.5 size-4 shrink-0 accent-primary"}),r.jsxs("span",{className:"min-w-0",children:[r.jsx("span",{className:"block text-sm font-medium",children:"OpenAI"}),r.jsx("span",{className:"block text-xs text-muted-foreground",children:"Chat Completions and Responses"})]})]}),j&&r.jsxs("div",{className:"ml-7 mt-3 flex flex-wrap gap-x-5 gap-y-2 border-t border-border/70 pt-3",children:[r.jsxs("label",{htmlFor:"provider-capability-openai-chat",className:"flex cursor-pointer items-center gap-2 text-sm",children:[r.jsx("input",{id:"provider-capability-openai-chat",type:"checkbox",checked:S,onChange:T=>_(T.target.checked),className:"size-4 shrink-0 accent-primary"}),"Chat Completions"]}),r.jsxs("label",{htmlFor:"provider-capability-openai-responses",className:"flex cursor-pointer items-center gap-2 text-sm",children:[r.jsx("input",{id:"provider-capability-openai-responses",type:"checkbox",checked:N,onChange:T=>I(T.target.checked),className:"size-4 shrink-0 accent-primary"}),"Responses"]})]}),Y.openaiCapabilities!==void 0&&j&&r.jsx("p",{className:"ml-7 mt-2 text-xs text-destructive",children:Y.openaiCapabilities})]}),r.jsxs("label",{htmlFor:"provider-capability-anthropic",className:`flex cursor-pointer items-start gap-3 px-3 py-3 ${w?"bg-primary/[0.04]":""}`,children:[r.jsx("input",{id:"provider-capability-anthropic",type:"checkbox",checked:w,onChange:T=>v(T.target.checked),className:"mt-0.5 size-4 shrink-0 accent-primary"}),r.jsxs("span",{className:"min-w-0",children:[r.jsx("span",{className:"block text-sm font-medium",children:"Anthropic"}),r.jsx("span",{className:"block text-xs text-muted-foreground",children:"Messages"})]})]})]}),Y.capabilities!==void 0&&r.jsx("p",{className:"text-xs text-destructive",children:Y.capabilities})]}),(w||j&&(S||N))&&r.jsxs("section",{className:"space-y-5 border-l border-border pl-4","aria-label":"API endpoints",children:[r.jsx("h3",{className:"text-sm font-medium",children:"Endpoint Configuration"}),w&&r.jsxs("div",{className:"space-y-2",children:[r.jsxs("label",{htmlFor:"provider-anthropic-base-url",className:"text-sm font-medium",children:["Anthropic Messages Base URL ",r.jsx("span",{className:"text-destructive",children:"*"})]}),r.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:[r.jsx("input",{id:"provider-anthropic-base-url",type:"text",value:P,onChange:T=>{je(!0),M(T.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"}),r.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})]}),Y.anthropicBaseUrl!==void 0&&r.jsx("p",{className:"text-xs text-destructive",children:Y.anthropicBaseUrl}),r.jsx(ha,{baseUrl:P,endpoint:Gr,providerName:o})]}),j&&S&&r.jsxs("div",{className:"space-y-2",children:[r.jsxs("label",{htmlFor:"provider-openai-base-url",className:"text-sm font-medium",children:["OpenAI Chat Base URL ",r.jsx("span",{className:"text-destructive",children:"*"})]}),r.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:[r.jsx("input",{id:"provider-openai-base-url",type:"text",value:C,onChange:T=>{le(!0),A(T.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"}),r.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:Jr})]}),Y.openaiBaseUrl!==void 0&&r.jsx("p",{className:"text-xs text-destructive",children:Y.openaiBaseUrl}),r.jsx(ha,{baseUrl:C,endpoint:Jr,providerName:o})]}),j&&N&&r.jsxs("div",{className:"space-y-2",children:[r.jsxs("label",{htmlFor:"provider-openai-responses-base-url",className:"text-sm font-medium",children:["OpenAI Responses Base URL ",r.jsx("span",{className:"text-destructive",children:"*"})]}),r.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:[r.jsx("input",{id:"provider-openai-responses-base-url",type:"text",value:F,onChange:T=>{ke(!0),U(T.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"}),r.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:Yr})]}),Y.openaiResponsesBaseUrl!==void 0&&r.jsx("p",{className:"text-xs text-destructive",children:Y.openaiResponsesBaseUrl}),r.jsx(ha,{baseUrl:F,endpoint:Yr,providerName:o})]})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsx("label",{htmlFor:"provider-source",className:"text-sm font-medium",children:"Token Source"}),r.jsxs("select",{id:"provider-source",value:L??"",onChange:T=>X(T.target.value==="company"||T.target.value==="personal"?T.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:[r.jsx("option",{value:"",children:"Unspecified"}),r.jsx("option",{value:"personal",children:"个人 (Personal)"}),r.jsx("option",{value:"company",children:"公司 (Company)"})]}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Label whether this API key is company-provided or personal."})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsx("label",{htmlFor:"provider-model-metadata-url",className:"text-sm font-medium",children:"Model Metadata URL"}),r.jsx("input",{id:"provider-model-metadata-url",type:"text",value:Z,onChange:T=>H(T.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"}),Y.modelMetadataUrl!==void 0&&r.jsx("p",{className:"text-xs text-destructive",children:Y.modelMetadataUrl}),Z.trim()===""&&r.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&&!ct&&Z.trim()===""&&r.jsx("p",{className:"text-xs text-amber-400",children:"This provider has no matching context metadata yet."}),Z.trim()!==""&&r.jsx("p",{className:"text-xs text-muted-foreground",children:"Agent Inspector will refresh model limits from this JSON registry after save."})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsxs("label",{htmlFor:"provider-apikey",className:"text-sm font-medium",children:["API Key ",e===void 0&&r.jsx("span",{className:"text-destructive",children:"*"})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("input",{id:"provider-apikey",type:u?"text":"password",value:a,onChange:T=>l(T.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"}),r.jsx("button",{type:"button",onClick:()=>d(T=>!T),className:"text-muted-foreground hover:text-foreground transition-colors p-1 shrink-0","aria-label":u?"Hide API key":"Show API key",children:u?r.jsx(Bw,{className:"size-4"}):r.jsx(xf,{className:"size-4"})}),r.jsx("button",{type:"button",onClick:Lt,className:"text-muted-foreground hover:text-foreground transition-colors p-1 shrink-0","aria-label":"Copy API key",children:p?r.jsx(Ze,{className:"size-4 text-cyan-300"}):r.jsx(Ot,{className:"size-4"})})]}),e!==void 0&&a.trim()===""&&r.jsx("p",{className:"text-xs text-muted-foreground",children:"A key is configured. Enter a new value only to rotate it."}),Y.apiKey!==void 0&&r.jsx("p",{className:"text-xs text-destructive",children:Y.apiKey})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsxs("label",{className:"text-sm font-medium",children:["Models ",r.jsx("span",{className:"text-destructive",children:"*"})]}),h.map((T,z)=>{const q=y[z]??Dn(),se=Y[`modelMetadata.${z}.contextWindow`],de=Y[`modelMetadata.${z}.outputLimit`],re=bA(q),ve=ma(q.contextWindow);return r.jsxs("div",{ref:ce=>{te.current[z]=ce},className:"border border-border bg-card shadow-sm space-y-2 rounded-[8px] p-2",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs("div",{className:"relative flex-1",children:[r.jsx("input",{type:"text",value:T,onChange:ce=>Ae(z,ce.target.value),placeholder:We.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"}),We.length>0&&r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",onClick:()=>Ce(D===z?null:z),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:r.jsx(Qe,{className:"size-4"})}),D===z&&r.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:We.map(ce=>r.jsx("button",{type:"button",onClick:()=>{Ae(z,ce),Ce(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&&r.jsx("button",{type:"button",onClick:()=>me(z),className:"text-muted-foreground hover:text-destructive transition-colors p-1 shrink-0","aria-label":"Remove model",children:r.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:[r.jsx("path",{d:"M3 6h18"}),r.jsx("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),r.jsx("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]})})]}),r.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[r.jsxs("div",{className:"space-y-1 text-xs text-muted-foreground",children:[r.jsx("span",{children:"Context Window"}),r.jsxs(dr,{value:re,onValueChange:ce=>V(z,ce),children:[r.jsx(pr,{size:"sm",className:"w-full bg-background font-mono text-xs",children:r.jsx(Do,{})}),r.jsxs(fr,{className:"max-h-64",children:[r.jsx(at,{value:cl,children:"Not set"}),H0.map(ce=>r.jsxs(at,{value:ce.value,children:[ce.label," · ",ce.value]},ce.value)),r.jsx(at,{value:Fo,children:"Custom"})]})]}),q.contextWindowMode==="custom"&&r.jsxs("div",{className:"grid grid-cols-[minmax(0,1fr)_5.75rem] gap-1.5",children:[r.jsx("input",{type:"text",inputMode:"decimal",value:ve.amount,onChange:ce=>ne(z,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]"}),r.jsxs(dr,{value:ve.unit,onValueChange:ce=>Se(z,ce),children:[r.jsx(pr,{size:"sm",className:"w-full bg-background font-mono text-xs",children:r.jsx(Do,{})}),r.jsxs(fr,{children:[r.jsx(at,{value:"K",children:"K"}),r.jsx(at,{value:"M",children:"M"}),r.jsx(at,{value:"tokens",children:"tokens"})]})]})]}),se!==void 0&&r.jsx("span",{className:"block text-destructive",children:se})]}),r.jsxs("label",{className:"space-y-1 text-xs text-muted-foreground",children:[r.jsx("span",{children:"Output Limit"}),r.jsx("input",{type:"number",min:1,step:1e3,value:q.outputLimit,onChange:ce=>Oe(z,{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&&r.jsx("span",{className:"block text-destructive",children:de})]})]})]},z)}),r.jsx("button",{type:"button",onClick:_e,className:"text-xs text-primary hover:underline flex items-center gap-1",children:"+ Add Model"}),Y.models!==void 0&&r.jsx("p",{className:"text-xs text-destructive",children:Y.models})]}),r.jsxs("div",{className:"space-y-2",children:[r.jsx("label",{htmlFor:"provider-api-docs-url",className:"text-sm font-medium",children:"API Docs URL"}),r.jsx("input",{id:"provider-api-docs-url",type:"text",value:G,onChange:T=>K(T.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"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Optional API documentation URL. If not set, uses known provider docs."})]}),r.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:[r.jsx(ee,{type:"button",variant:"outline",onClick:n,disabled:he,children:"Cancel"}),r.jsx(ee,{type:"submit",disabled:he,children:he?"Saving...":e?"Update Provider":"Add Provider"})]})]})}const wA=fe(["timeout","network_unreachable","connection_refused","auth_failed","rate_limited","server_error","invalid_response","unknown"]),jA=E({message:g(),type:wA,details:g().optional(),hint:g().optional()}),kA=E({type:fe(["text","thinking"]),text:g().optional(),thinking:g().optional()}),SA=E({requestUrl:g().optional(),requestMethod:g().optional(),requestHeaders:He(g(),g()).optional(),requestBody:g().optional(),responseStatus:R().optional(),responseStatusText:g().optional(),responseHeaders:He(g(),g()).optional(),responseBody:g().optional()}),_A=E({success:Ee(),error:jA.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(kA).optional(),rawResponse:g().optional(),streaming:Ee().optional(),streamingChunks:E({chunks:W(Fp),truncated:Ee().default(!1)}).optional(),requestHeaders:He(g(),g()).optional(),debug:SA.optional()}),bd=Pt([_A,E({notConfigured:ae(!0)}),E({testing:ae(!0)})]),yn=E({nonStreaming:bd,streaming:bd});function Uo(){return{nonStreaming:{notConfigured:!0},streaming:{notConfigured:!0}}}const NA=E({anthropic:yn,openai:yn.optional(),openaiChat:yn.optional(),openaiResponses:yn.optional()}).transform(e=>{const t=e.openaiChat??e.openai??Uo();return{...e,openai:e.openai??t,openaiChat:t,openaiResponses:e.openaiResponses??Uo()}}),CA=E({anthropic:yn,openai:yn.optional(),openaiChat:yn.optional(),openaiResponses:yn.optional(),models:He(g(),NA).optional(),testedAt:g().optional()}).transform(e=>{const t=e.openaiChat??e.openai??Uo();return{...e,openai:e.openai??t,openaiChat:t,openaiResponses:e.openaiResponses??Uo()}});function TA(){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 vd(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 EA=E({providerConfig:g()}),RA=E({success:Ee().optional(),imported:R().optional(),message:g().optional(),errors:W(g()).optional()}),MA=E({provider:No,imported:R(),matchedModels:W(g()),missingModels:W(g()),sourceUrl:g()}),Xr="Network error: could not reach the server. Is the proxy running?",AA=5e3,IA=5e3,yd=15e3,PA=1e4,OA=2e4,zA=2e4,LA=3e4;function xa(e,t){return(e?.length??0)>0?e:t&&e!==void 0?"":void 0}function wd(e,t=!1){return{name:e.name,...e.apiKey.trim()===""?{}:{apiKey:e.apiKey},models:e.models,anthropicBaseUrl:xa(e.anthropicBaseUrl,t),openaiBaseUrl:xa(e.openaiBaseUrl,t),openaiResponsesBaseUrl:xa(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 $A(e,t){const n=e?.models?.map(s=>s.trim()).filter(s=>s!=="").length??0;return Math.max(1,n)*t}async function DA(e,t){if(t.models!==void 0)try{await qn(`/api/providers/${e}/test/log`,IA,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}catch{}}function FA({externalProviders:e,isLoading:t=!1,externalTestResults:n,externalTestingProviders:s,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),[y,b]=c.useState({}),[w,v]=c.useState(new Set),[j,k]=c.useState({}),[S,_]=c.useState(null),[N,I]=c.useState(!1),[P,M]=c.useState(null),[C,A]=c.useState(!1),[F,U]=c.useState(!1),[G,K]=c.useState(null),[Z,H]=c.useState("all"),[L,X]=c.useState(new Set),{providerTestTimeoutSeconds:Y}=Ol(),ye=c.useRef(null),he=c.useRef(null),ie=e??[],D=c.useMemo(()=>{const V=Z==="all"?ie:ie.filter(ne=>ne.source===Z);return Z==="all"?[...V].sort((ne,Se)=>{const me={personal:0,company:1};return(me[ne.source??""]??2)-(me[Se.source??""]??2)}):V},[ie,Z]),Ce=n??y,te=s??w,we=o??j,je=u?(V,ne)=>u(V,ne):(V,ne)=>{k(ne===void 0?Se=>{const me={...Se};return delete me[V],me}:Se=>({...Se,[V]:ne}))};c.useEffect(()=>{(async()=>{try{const V=await Be("/api/config/paths",EA,AA);_(V.providerConfig)}catch{}})()},[]);const ue=c.useCallback(V=>{he.current!==null&&clearTimeout(he.current),M(V),ye.current?.scrollTo({top:ye.current.scrollHeight,behavior:"smooth"}),he.current=setTimeout(()=>{M(null),he.current=null},2e3)},[]);c.useEffect(()=>()=>{he.current!==null&&clearTimeout(he.current)},[]);const le=c.useCallback(()=>{i?.().catch(()=>{})},[i]),ge=c.useCallback((V,ne)=>{a?a(V,ne):b(Se=>({...Se,[V]:ne}))},[a]),ke=c.useCallback((V,ne)=>{if(l){l(V,ne);return}v(Se=>{const me=new Set(Se);return ne?me.add(V):me.delete(V),me})},[l]),be=c.useCallback(async V=>{ge(V,TA()),ke(V,!0);const ne=new AbortController,Se=ie.find(J=>J.id===V),me=$A(Se,Y);let _e=me;je(V,_e);const Je=setInterval(()=>{_e--,je(V,_e),_e<=0&&(clearInterval(Je),ne.abort())},1e3);try{const J=await Be(`/api/providers/${V}/test`,CA,me*1e3+1e3,{method:"POST",signal:ne.signal},T=>`HTTP ${T.status}: ${T.statusText}`);ge(V,J),await DA(V,J)}catch(J){const T=J instanceof Error&&J.name==="AbortError",z=J instanceof Qo;T||z?ge(V,vd("Request timed out","timeout")):J instanceof Error&&ge(V,vd(J.message,"server_error"))}finally{clearInterval(Je),je(V,void 0),ke(V,!1)}},[Y,ie,je,ge,ke]),Ve=c.useCallback(async(V,ne,Se=!0)=>{X(me=>{const _e=new Set(me);return _e.add(V),_e});try{const me=ne!==void 0&&ne.trim()!==""?{url:ne}:{},_e=await Be(`/api/providers/${V}/model-metadata`,MA,LA,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(me)},()=>"Failed to refresh model metadata");return _e.imported===0&&Se?x("No matching model metadata found for this provider."):x(null),ue(_e.provider.id),le(),_e.imported>0}catch(me){return Se&&x(me instanceof Error?me.message:Xr),!1}finally{X(me=>{const _e=new Set(me);return _e.delete(V),_e})}},[le,ue]);function Ue(V){(async()=>{try{const ne=await Be("/api/providers",No,yd,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(wd(V))},()=>"Failed to add provider");p(!1),ue(ne.id),V.modelMetadataUrl!==void 0&&V.modelMetadataUrl.trim()!==""&&await Ve(ne.id,V.modelMetadataUrl,!1),le(),await be(ne.id)}catch(ne){x(ne instanceof Error?ne.message:Xr)}})()}function We(V){f&&(async()=>{try{const ne=await Be(`/api/providers/${f.id}`,No,yd,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(wd(V,!0))},()=>"Failed to update provider");m(void 0),ue(ne.id),V.modelMetadataUrl!==void 0&&V.modelMetadataUrl.trim()!==""&&await Ve(ne.id,V.modelMetadataUrl,!1),le(),(V.apiKey.trim()!==""||JSON.stringify(V.models)!==JSON.stringify(f.models)||(V.anthropicBaseUrl??"")!==(f.anthropicBaseUrl??"")||(V.openaiBaseUrl??"")!==(f.openaiBaseUrl??"")||(V.openaiResponsesBaseUrl??"")!==(f.openaiResponsesBaseUrl??""))&&await be(ne.id)}catch(ne){x(ne instanceof Error?ne.message:Xr)}})()}function ct(V){K(V),U(!0)}function Lt(){const V=G;V!==null&&(async()=>{let ne;try{ne=await qn(`/api/providers/${V}`,PA,{method:"DELETE"})}catch{x(Xr);return}if(!ne.ok){x(await Nl(ne,"Failed to delete provider"));return}le()})()}const _t=c.useRef(null);function Ge(V){const ne="/api/providers/export";(async()=>{try{const Se=await qn(ne,OA);if(!Se.ok){x("Failed to export providers");return}const me=await Se.blob(),_e=URL.createObjectURL(me),Je=document.createElement("a");Je.href=_e,Je.download=Se.headers.get("Content-Disposition")?.match(/filename="(.+)"/)?.[1]??"providers.json",document.body.appendChild(Je),Je.click(),document.body.removeChild(Je),URL.revokeObjectURL(_e)}catch{x("Failed to export providers")}})()}function Ae(){_t.current?.click()}function Oe(V){const ne=V.target.files?.[0];ne&&(async()=>{try{const Se=await ne.text(),me=await qn("/api/providers/import",zA,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Se)}),_e=await _l(me,RA);me.ok&&_e.imported!==void 0&&_e.imported>0?(le(),x(null)):_e.errors&&_e.errors.length>0?x(_e.errors.join("; ")):x(_e.message??"Import failed")}catch{x("Failed to import providers")}V.target.value=""})()}return t?r.jsx("div",{className:"flex items-center justify-center py-8",children:r.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading providers..."})}):d||f?r.jsxs("div",{className:"space-y-4",children:[r.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:r.jsx("h3",{className:"text-lg font-medium",children:f?"Edit Provider":"Add New Provider"})}),r.jsx(yA,{provider:f,onSubmit:f?We:Ue,onCancel:()=>{p(!1),m(void 0)}})]}):r.jsxs("div",{className:"space-y-4",children:[r.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:[r.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>Ge(),className:"gap-1 hover:bg-muted",children:[r.jsx(br,{className:"size-3"}),"Export"]}),r.jsxs(ee,{variant:"outline",size:"sm",onClick:Ae,className:"gap-1 hover:bg-muted",children:[r.jsx(_f,{className:"size-3"}),"Import"]}),r.jsx("input",{type:"file",ref:_t,accept:".json",onChange:Oe,style:{display:"none"}}),r.jsxs(ee,{variant:"outline",size:"sm",onClick:()=>A(!0),className:"gap-1",children:[r.jsx(Jj,{className:"size-3"}),"Scan"]}),r.jsxs(ee,{onClick:()=>p(!0),size:"sm",className:"gap-1",children:[r.jsx(au,{className:"size-4"}),"Add Provider"]})]}),S!==null&&r.jsxs("div",{className:"flex items-center gap-2 rounded-[8px] bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[r.jsx("span",{className:"font-mono truncate",title:S,children:S}),r.jsx("button",{type:"button",onClick:()=>{Mt(S).then(V=>{V&&(I(!0),setTimeout(()=>I(!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?r.jsx(Ze,{className:"size-3 text-cyan-300"}):r.jsx(Ot,{className:"size-3"})})]}),h!==null&&r.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:[r.jsx(_s,{className:"size-4 shrink-0"}),h]}),ie.length===0?r.jsxs("div",{className:"border border-border bg-card shadow-sm space-y-3 rounded-[8px] py-12 text-center",children:[r.jsx("p",{className:"text-sm text-muted-foreground",children:"No providers configured yet."}),r.jsxs(ee,{onClick:()=>p(!0),variant:"outline",size:"sm",children:[r.jsx(au,{className:"size-4"}),"Add Your First Provider"]})]}):r.jsxs("div",{className:"space-y-3",children:[r.jsx("div",{className:"inline-flex w-fit gap-1 rounded-[8px] bg-muted/20 p-1",children:["all","personal","company"].map(V=>r.jsx("button",{type:"button",onClick:()=>H(V),className:`rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${Z===V?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:V==="all"?"All":V==="personal"?"Personal":"Company"},V))}),r.jsx("div",{ref:ye,className:"space-y-3",children:D.map(V=>r.jsx(lA,{provider:V,testResults:Ce[V.id],isTesting:te.has(V.id),testingTimeLeft:we[V.id],isHighlighted:V.id===P,onEdit:ne=>m(ne),onDelete:ct,onRefreshMetadata:ne=>{Ve(ne)},isRefreshingMetadata:L.has(V.id),onTest:ne=>{be(ne)}},V.id))})]}),r.jsx($M,{open:C,onOpenChange:A,onImportComplete:()=>{i!==void 0&&i()}}),r.jsx(Gh,{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:Lt})]})}const UA=[{value:"providers",label:"Providers"},{value:"proxy",label:"Proxy"},{value:"storage",label:"Storage"},{value:"mcp",label:"MCP"},{value:"onboarding",label:"Onboarding"}];function BA(){return r.jsx(x0,{"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:UA.map(e=>r.jsx(gn,{value:e.value,className:"min-w-0 w-full",children:e.label},e.value))})}function qA(){const[e,t]=c.useState(!1),[n,s]=c.useState("providers"),{providers:o,isLoading:i,mutate:a}=Ul(),[l,u]=c.useState({}),[d,p]=c.useState(new Set),[f,m]=c.useState({}),h=c.useCallback((b,w)=>{u(v=>({...v,[b]:w}))},[]),x=c.useCallback((b,w)=>{p(v=>{const j=new Set(v);return w?j.add(b):j.delete(b),j})},[]),y=c.useCallback((b,w)=>{m(v=>{if(w===void 0){const j={...v};return delete j[b],j}return{...v,[b]:w}})},[]);return r.jsxs(Kt,{open:e,onOpenChange:t,children:[r.jsx(Sr,{asChild:!0,children:r.jsxs(ee,{variant:"ghost",size:"icon",className:Tr,"aria-label":"Settings",title:"Settings",children:[r.jsx(sk,{className:"size-4"}),r.jsx("span",{className:"sr-only",children:"Settings"})]})}),r.jsxs(Gt,{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:[r.jsx(Qt,{children:r.jsx(en,{children:"Settings"})}),r.jsxs(h0,{value:n,onValueChange:s,className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:[r.jsx(BA,{}),r.jsxs("div",{className:"mt-4 min-w-0 flex-1 overflow-x-hidden overflow-y-auto pr-1 sm:pr-2",children:[r.jsx(yt,{value:"providers",children:r.jsx(FA,{externalProviders:o,isLoading:i,externalTestResults:l,externalTestingProviders:d,externalTestingTimeLeft:f,onProvidersMutate:()=>a(),onTestResultsChange:h,onTestingProvidersChange:x,onTestingTimeLeftChange:y})}),r.jsx(yt,{value:"proxy",children:r.jsx(GA,{})}),r.jsx(yt,{value:"storage",children:r.jsx(WA,{})}),r.jsx(yt,{value:"mcp",children:r.jsx(KA,{})}),r.jsx(yt,{value:"onboarding",children:r.jsx(ZA,{})})]})]})]})]})}const HA=E({memoryCount:R(),logDir:g(),logFileCount:R(),logBytes:R(),chunkDir:g(),chunkFileCount:R(),chunkBytes:R(),sessionArchiveDir:g(),sessionArchiveFileCount:R(),sessionArchiveBytes:R()}),VA=1e4;function ga(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 WA(){const[e,t]=c.useState(null),[n,s]=c.useState(null),[o,i]=c.useState(!1),[a,l]=c.useState(null),u=c.useCallback(async()=>{i(!0),s(null);try{const p=await Be("/api/logs?stats=1",HA,VA,void 0,f=>`Failed to load storage stats: HTTP ${String(f.status)}`);t(p)}catch(p){s(p instanceof Error?p.message:String(p))}finally{i(!1)}},[]);c.useEffect(()=>{u()},[u]);const d=c.useCallback((p,f)=>{Mt(f).then(m=>{m&&(l(p),setTimeout(()=>l(null),1600))})},[]);return r.jsxs("div",{className:"space-y-4",children:[r.jsxs("div",{className:"flex items-center justify-between gap-3",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("h3",{className:"text-sm font-semibold",children:"Log storage"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Inspect local log and streaming chunk footprint before exporting or clearing sessions."})]}),r.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:()=>{u()},children:o?"Refreshing...":"Refresh"})]}),e!==null&&r.jsxs("div",{className:"grid gap-2 text-xs",children:[r.jsx(Xs,{id:"log-dir",label:"Log storage path",value:e.logDir,copiedId:a,onCopy:d}),r.jsx(Xs,{id:"chunk-dir",label:"Streaming chunks storage path",value:e.chunkDir,copiedId:a,onCopy:d}),r.jsx(Xs,{id:"session-archive-dir",label:"Session archive storage path",value:e.sessionArchiveDir,copiedId:a,onCopy:d}),r.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[r.jsx("div",{className:"font-medium",children:"In-memory logs"}),r.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.memoryCount.toLocaleString()," loaded"]})]}),r.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[r.jsx("div",{className:"font-medium",children:"Log files"}),r.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.logFileCount.toLocaleString()," files / ",ga(e.logBytes)]})]}),r.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[r.jsx("div",{className:"font-medium",children:"Streaming chunks"}),r.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.chunkFileCount.toLocaleString()," files / ",ga(e.chunkBytes)]})]}),r.jsxs("div",{className:"rounded-md bg-muted/20 px-3 py-2",children:[r.jsx("div",{className:"font-medium",children:"Session archives"}),r.jsxs("div",{className:"mt-1 font-mono text-muted-foreground",children:[e.sessionArchiveFileCount.toLocaleString()," files /"," ",ga(e.sessionArchiveBytes)]})]})]}),n!==null&&r.jsx("p",{className:"text-xs text-destructive",children:n})]})}function Xs({id:e,label:t,value:n,copiedId:s,onCopy:o}){const i=s===e;return r.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:[r.jsx("div",{className:"mb-1 text-xs font-medium text-muted-foreground",children:t}),r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.jsx("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-foreground",title:n,children:n}),r.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?r.jsx(Ze,{className:"size-3.5 text-emerald-500"}):r.jsx(Ot,{className:"size-3.5"})})]})]})}function ZA(){const[e,t]=c.useState(null),n=c.useMemo(()=>typeof window>"u"?"http://localhost:9527":window.location.origin,[]),s=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)=>{Mt(a).then(l=>{l&&(t(i),setTimeout(()=>t(null),1600))})},[]);return r.jsxs("div",{className:"min-w-0 space-y-4",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Yn,{className:"size-4 text-muted-foreground"}),r.jsx("h3",{className:"text-sm font-semibold",children:"Agent onboarding"})]}),r.jsx("div",{className:"grid gap-2",children:s.map(i=>r.jsx(Xs,{id:i.id,label:i.label,value:i.value,copiedId:e,onCopy:o},i.id))}),r.jsxs("div",{className:"grid gap-2 rounded-md bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Ze,{className:"size-3.5 text-emerald-500"}),r.jsx("span",{children:"Provider test creates a traceable memory probe session."})]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Ze,{className:"size-3.5 text-emerald-500"}),r.jsx("span",{children:"Captured sessions can produce reviewable memory candidates."})]}),r.jsxs("div",{className:"flex items-start gap-2",children:[r.jsx(Ze,{className:"mt-0.5 size-3.5 text-emerald-500"}),r.jsxs("span",{children:["Streamable HTTP clients should use the MCP URL directly. Stdio-only clients should use",r.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."]})]}),r.jsxs("div",{className:"flex items-start gap-2",children:[r.jsx(Ze,{className:"mt-0.5 size-3.5 text-emerald-500"}),r.jsxs("span",{children:["OpenCode onboarding safely merges"," ",r.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"mcp.agent-inspector"})," ","into"," ",r.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"opencode.json"}),", then verify with"," ",r.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"opencode mcp list"}),"."]})]}),r.jsxs("div",{className:"flex items-start gap-2",children:[r.jsx(Ze,{className:"mt-0.5 size-3.5 text-emerald-500"}),r.jsxs("span",{children:["MiMo Code onboarding safely merges"," ",r.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"mcp.agent-inspector"})," ","into"," ",r.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"," ",r.jsx("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground",children:"OPENAI_BASE_URL"}),"."]})]}),r.jsxs("div",{className:"flex items-start gap-2",children:[r.jsx(Ze,{className:"mt-0.5 size-3.5 text-emerald-500"}),r.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 KA(){const[e,t]=c.useState(null),s=`${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:s},{id:"stdio",label:"Stdio bridge command",value:`agent-inspector-mcp stdio --url ${s}`},{id:"doctor",label:"Bridge doctor",value:`agent-inspector-mcp doctor --url ${s}`},{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:s}}},null,2)},{id:"stdio-json",label:"Stdio MCP JSON",value:JSON.stringify({mcpServers:{"agent-inspector":{command:"agent-inspector-mcp",args:["stdio","--url",s]}}},null,2)},{id:"opencode-local",label:"OpenCode local MCP",value:JSON.stringify({mcp:{"agent-inspector":{type:"local",command:["agent-inspector-mcp","stdio","--url",s],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",s],enabled:!0}}},null,2)},{id:"codex-toml",label:"Codex TOML",value:`[mcp_servers.agent-inspector]
|
|
125
|
-
command = "agent-inspector-mcp"
|
|
126
|
-
args = ["stdio", "--url", "${s}"]`}],[s]),i=c.useCallback((a,l)=>{Mt(l).then(u=>{u&&(t(a),setTimeout(()=>t(null),1600))})},[]);return r.jsxs("div",{className:"min-w-0 space-y-4",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Yn,{className:"size-4 text-muted-foreground"}),r.jsx("h3",{className:"text-sm font-semibold",children:"MCP access"})]}),r.jsxs("div",{className:"grid gap-2 rounded-md bg-muted/15 px-3 py-2 text-xs text-muted-foreground",children:[r.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."}),r.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."})]}),r.jsx("div",{className:"grid gap-2",children:o.map(a=>r.jsx(Xs,{id:a.id,label:a.label,value:a.value,copiedId:e,onCopy:i},a.id))})]})}function GA(){const{strip:e,slowResponseThresholdSeconds:t,providerTestTimeoutSeconds:n,timeDisplayFormat:s,isLoading:o,setStrip:i,setSlowResponseThresholdSeconds:a,setProviderTestTimeoutSeconds:l,setTimeDisplayFormat:u}=Ol(),[d,p]=c.useState(null),[f,m]=c.useState(!1),h=c.useCallback(async w=>{p(null),m(!0);try{await i(w)}catch(v){p(v instanceof Error?v.message:String(v))}finally{m(!1)}},[i]),x=c.useCallback(async w=>{p(null),m(!0);try{await a(w)}catch(v){p(v instanceof Error?v.message:String(v))}finally{m(!1)}},[a]),y=c.useCallback(async w=>{p(null),m(!0);try{await l(w)}catch(v){p(v instanceof Error?v.message:String(v))}finally{m(!1)}},[l]),b=c.useCallback(async w=>{p(null),m(!0);try{await u(w)}catch(v){p(v instanceof Error?v.message:String(v))}finally{m(!1)}},[u]);return r.jsxs("div",{className:"space-y-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("h3",{className:"text-sm font-semibold",children:"Claude Code billing header"}),r.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 ",r.jsx("code",{children:"config.json"}),"."]})]}),r.jsxs("label",{className:"flex items-center gap-3",children:[r.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"}),r.jsx("span",{className:"text-sm",children:o?"Loading...":e?"Stripping enabled":"Stripping disabled"})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{htmlFor:"slow-response-threshold",className:"text-sm font-semibold",children:"Slow response threshold"}),r.jsxs("p",{className:"text-xs text-muted-foreground",children:["Show a slow marker when elapsed time exceeds this many seconds. Use ",r.jsx("code",{children:"0"})," to disable it."]}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("input",{id:"slow-response-threshold",type:"number",min:0,max:Ca,step:1,value:t,disabled:o||f,onChange:w=>{const v=Number(w.currentTarget.value);Number.isInteger(v)&&(v<0||v>Ca||x(v))},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"}),r.jsx("span",{className:"text-xs text-muted-foreground",children:"seconds"})]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{htmlFor:"provider-test-timeout",className:"text-sm font-semibold",children:"Provider test timeout"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Abort slow Provider Test probes after this many seconds per model."}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("input",{id:"provider-test-timeout",type:"number",min:1,max:Ta,step:1,value:n,disabled:o||f,onChange:w=>{const v=Number(w.currentTarget.value);Number.isInteger(v)&&(v<1||v>Ta||y(v))},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"}),r.jsx("span",{className:"text-xs text-muted-foreground",children:"seconds / model"})]})]}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("label",{htmlFor:"time-display-format",className:"text-sm font-semibold",children:"Time display"}),r.jsx("p",{className:"text-xs text-muted-foreground",children:"Controls timestamps in session summaries, headers, and log rows."}),r.jsxs("select",{id:"time-display-format",value:s,disabled:o||f,onChange:w=>{const v=df.safeParse(w.currentTarget.value);v.success&&b(v.data)},className:"h-8 rounded-md border border-input bg-background px-2 text-sm disabled:cursor-not-allowed disabled:opacity-50",children:[r.jsx("option",{value:"time",children:"Time only"}),r.jsx("option",{value:"full",children:"Full ISO"})]})]}),d!==null&&r.jsxs("p",{className:"text-xs text-destructive",children:["Failed to save: ",d]})]})}const JA=fe(["installed","update-available","available","planned","unknown"]),YA=E({id:g(),name:g(),npmName:g(),capability:g(),description:g(),workflow:g(),installCommand:g(),state:JA,installedVersion:g().nullable(),latestVersion:g().nullable(),primary:Ee()}),XA=E({id:g(),name:g(),validatedVersion:g(),binary:g(),modelFlag:g(),variantFlag:g().nullable(),tools:W(g()),logDir:g(),skillsDir:g(),agentsDir:g()}),QA=E({id:g(),title:g(),stage:g(),packageId:g(),description:g(),command:g(),requiresSession:Ee(),runnable:Ee()}),eI=E({checkedAt:g(),packages:W(YA),runnerPresets:W(XA),recipes:W(QA)}),Z0=fe(["install","upgrade","help","runner-presets","recipe"]),K0="RUN_LOCAL_COMMAND",tI=E({action:Z0,targetId:g(),targetName:g(),command:g(),source:g(),timeoutMs:R().int().positive(),scope:g()}),nI=E({nonce:g().uuid(),phrase:ae(K0),expiresAt:g().datetime(),plan:tI}),G0=E({confirmation:nI});Tn("intent",[E({intent:ae("prepare")}),E({intent:ae("confirm"),nonce:g().uuid(),confirmation:ae(K0)})]);const sI=fe(["queued","running","succeeded","failed"]),J0=E({id:g(),packageId:g(),npmName:g(),recipeId:g().nullable().default(null),action:Z0,status:sI,command:g(),output:g(),createdAt:g(),startedAt:g().nullable(),finishedAt:g().nullable(),exitCode:R().nullable(),error:g().nullable()}),Y0=E({task:J0}),rI=E({tasks:W(J0)}),oI=[{id:"observe",title:"Observe",label:"Live",description:"Capture IDE, process, session, turn, request, response, tools, and providers.",metric:"Inspector core",icon:Ly},{id:"replay",title:"Replay",label:"Ready",description:"Promote real logs into repeatable replay evidence without losing the raw context.",metric:"Session asset",icon:Ht},{id:"evaluate",title:"Evaluate",label:"Next",description:"Use eval-harness to turn sessions into regression cases and provider bakeoffs.",metric:"Eval loop",icon:zl},{id:"connect",title:"Connect",label:"MCP",description:"Expose Inspector state to coding agents as queryable context and durable evidence.",metric:"/api/mcp",icon:Ej}];async function iI(e){return nt(e,eI,void 0,t=>`Failed to load ecosystem packages: ${String(t.status)}`)}async function aI(e){return nt(e,Y0,void 0,t=>`Failed to load ecosystem task: ${String(t.status)}`)}async function lI(e){return nt(e,rI,void 0,t=>`Failed to load ecosystem tasks: ${String(t.status)}`)}async function cI(e,t){const n=`/api/ecosystem/packages/${encodeURIComponent(e)}/${t}`,s=await nt(n,G0,{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:s.confirmation}}async function uI(e){const t=`/api/ecosystem/recipes/${encodeURIComponent(e)}/run`,n=await nt(t,G0,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({intent:"prepare"})},s=>`Failed to prepare ecosystem recipe: ${String(s.status)}`);return{endpoint:t,confirmation:n.confirmation}}async function dI(e){return(await nt(e.endpoint,Y0,{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 pI(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 fI(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 mI(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 Qs(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 hI(e){switch(e.status){case"queued":return"Queued";case"running":return`${Qs(e.action)} running`;case"succeeded":return`${Qs(e.action)} complete`;case"failed":return`${Qs(e.action)} failed`}}function X0(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 xI(e){switch(e.state){case"available":return"install";case"update-available":return"upgrade";case"installed":case"planned":case"unknown":return null}}function gI({pkg:e,activeTask:t,onStartTask:n}){const s=xI(e),o=t!==null&&t.packageId===e.id&&t.status==="running";return r.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[r.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[r.jsx(Ij,{className:"size-4 shrink-0 text-white/55"}),r.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.name})]}),r.jsx("div",{className:"mt-1 break-all font-mono text-[11px] leading-snug text-white/35",children:e.npmName})]}),r.jsx(Ne,{className:$("shrink-0",fI(e.state)),variant:"outline",children:pI(e.state)})]}),r.jsx("div",{className:"mt-3 text-xs leading-5 text-muted-foreground",children:e.description}),r.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2 text-[11px]",children:[r.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-white/50",children:mI(e)}),r.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 text-white/45",children:e.capability}),r.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-white/35",children:e.installCommand})]}),r.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[s!==null&&r.jsxs(ee,{type:"button",size:"sm",variant:"secondary",disabled:o,onClick:()=>n(e.id,s),children:[o?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(br,{className:"size-3.5"}),Qs(s)]}),r.jsxs(ee,{type:"button",size:"sm",variant:"outline",disabled:o||e.state==="planned",onClick:()=>n(e.id,"help"),children:[r.jsx(Yn,{className:"size-3.5"}),"Help"]}),e.id==="eval-harness"&&r.jsxs(ee,{type:"button",size:"sm",variant:"ghost",disabled:o||e.state==="planned",onClick:()=>n(e.id,"runner-presets"),children:[r.jsx(zl,{className:"size-3.5"}),"Presets"]})]})]})}function bI({task:e}){if(e===null)return null;const t=e.status==="queued"||e.status==="running";return r.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:[r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[t?r.jsx(Fe,{className:"size-4 animate-spin text-cyan-200/75"}):r.jsx(Yn,{className:"size-4 text-white/55"}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("div",{className:"text-sm font-semibold",children:hI(e)}),r.jsx("div",{className:"break-all font-mono text-[11px] text-white/35",children:e.command})]})]}),r.jsx(Ne,{variant:"outline",className:$("shrink-0",X0(e.status)),children:e.status})]}),r.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&&r.jsx("div",{className:"mt-2 text-xs text-red-100",children:e.error})]})}function vI({workflow:e}){const t=e.icon;return r.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[r.jsxs("div",{className:"flex items-start justify-between gap-3",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.jsx(t,{className:"size-4 shrink-0 text-cyan-200/75"}),r.jsx("div",{className:"text-sm font-semibold",children:e.title})]}),r.jsx("span",{className:"rounded bg-white/[0.04] px-2 py-0.5 font-mono text-[10px] text-white/45",children:e.label})]}),r.jsx("div",{className:"mt-2 min-h-10 text-xs leading-5 text-muted-foreground",children:e.description}),r.jsx("div",{className:"mt-3 font-mono text-[11px] text-white/35",children:e.metric})]})}function yI(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 wI({preset:e}){return r.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[r.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[r.jsx(jf,{className:"size-4 shrink-0 text-cyan-200/75"}),r.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.name})]}),r.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}`:""]})]}),r.jsxs(Ne,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:["v",e.validatedVersion]})]}),r.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-2 text-[11px]",children:[r.jsxs("div",{className:"rounded bg-black/15 px-2 py-1 text-white/45",children:["logs/",e.logDir]}),r.jsx("div",{className:"rounded bg-black/15 px-2 py-1 text-white/45",children:e.tools.join(", ")}),r.jsx("div",{className:"rounded bg-black/15 px-2 py-1 font-mono text-white/35",children:e.skillsDir}),r.jsx("div",{className:"rounded bg-black/15 px-2 py-1 font-mono text-white/35",children:e.agentsDir})]})]})}function jI({recipe:e,copied:t,running:n,onCopy:s,onRun:o}){return r.jsxs("div",{className:"rounded-lg bg-white/[0.025] p-3 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[r.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[r.jsx(gf,{className:"size-4 shrink-0 text-cyan-200/75"}),r.jsx("div",{className:"text-sm font-semibold leading-snug",children:e.title})]}),r.jsx("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:e.description})]}),r.jsx(Ne,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:e.runnable?e.stage:"Template"})]}),r.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}),r.jsxs("div",{className:"mt-3 flex items-center justify-between gap-2",children:[r.jsx("span",{className:"rounded bg-white/[0.035] px-2 py-1 font-mono text-[11px] text-white/35",children:e.packageId}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs(ee,{type:"button",size:"sm",variant:"outline",onClick:()=>s(e),children:[t?r.jsx(Ze,{className:"size-3.5"}):r.jsx(Ot,{className:"size-3.5"}),t?"Copied":"Copy"]}),e.runnable&&r.jsxs(ee,{type:"button",size:"sm",variant:"secondary",disabled:n,onClick:()=>o(e),children:[n?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(jf,{className:"size-3.5"}),n?"Running":"Run"]})]})]})]})}function kI({task:e,selected:t,onSelect:n}){const s=e.recipeId??Qs(e.action);return r.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:[r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.jsx(vf,{className:"size-3.5 shrink-0 text-white/40"}),r.jsx("div",{className:"truncate text-xs font-semibold text-white/75",children:s}),r.jsx(Ne,{variant:"outline",className:$("shrink-0",X0(e.status)),children:e.status})]}),r.jsxs("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-2 font-mono text-[10px] text-white/35",children:[r.jsx("span",{children:e.packageId}),r.jsx("span",{children:new Date(e.createdAt).toLocaleTimeString()}),e.exitCode!==null&&r.jsxs("span",{children:["exit ",String(e.exitCode)]})]})]}),r.jsx(ee,{type:"button",size:"sm",variant:t?"secondary":"outline",onClick:()=>n(e),children:t?"Open":"View"})]})}function SI({pending:e,busy:t,onOpenChange:n,onConfirm:s}){const o=e?.confirmation.plan??null;return r.jsx(Kt,{open:e!==null,onOpenChange:n,children:r.jsxs(Gt,{className:"max-w-xl",children:[r.jsxs(Qt,{children:[r.jsx(en,{children:"Confirm local command"}),r.jsx(_r,{children:"Review the exact allowlisted action Agent Inspector will run on this machine."})]}),o!==null&&r.jsxs("div",{className:"space-y-3",children:[r.jsxs("div",{className:"grid gap-2 text-xs sm:grid-cols-2",children:[r.jsxs("div",{className:"rounded-md border bg-muted/30 p-3",children:[r.jsx("div",{className:"text-muted-foreground",children:"Source"}),r.jsx("div",{className:"mt-1 break-words font-medium",children:o.source})]}),r.jsxs("div",{className:"rounded-md border bg-muted/30 p-3",children:[r.jsx("div",{className:"text-muted-foreground",children:"Timeout"}),r.jsxs("div",{className:"mt-1 font-medium",children:[String(o.timeoutMs/1e3)," seconds"]})]}),r.jsxs("div",{className:"rounded-md border bg-muted/30 p-3 sm:col-span-2",children:[r.jsx("div",{className:"text-muted-foreground",children:"Affected scope"}),r.jsx("div",{className:"mt-1 font-medium",children:o.scope})]})]}),r.jsxs("div",{children:[r.jsx("div",{className:"mb-1 text-xs font-medium",children:"Resolved command"}),r.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})]}),r.jsxs("p",{className:"text-xs text-muted-foreground",children:["Confirmation phrase: ",r.jsx("code",{children:e?.confirmation.phrase}),". The one-time confirmation expires at"," ",new Date(e?.confirmation.expiresAt??"").toLocaleTimeString(),"."]})]}),r.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[r.jsx(ee,{type:"button",variant:"outline",disabled:t,onClick:()=>n(!1),children:"Cancel"}),r.jsxs(ee,{type:"button",variant:"secondary",disabled:t||o===null,onClick:s,children:[t?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(Yn,{className:"size-3.5"}),t?"Starting":"Confirm & Run"]})]})]})})}function _I({currentSessionId:e,logCount:t}){const[n,s]=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,y]=c.useState(null),[b,w]=c.useState(!1),v=qt("/api/ecosystem/packages",iI,{revalidateOnFocus:!1,revalidateIfStale:!1}),j=qt(p===null?null:`/api/ecosystem/tasks/${p}`,aI,{refreshInterval:L=>{const X=L?.task;return X!==void 0&&(X.status==="queued"||X.status==="running")?900:0},revalidateOnFocus:!1}),k=qt(n?"/api/ecosystem/tasks":null,lI,{refreshInterval:2500,revalidateOnFocus:!1}),S=v.data?.packages??[],_=v.data?.runnerPresets??[],N=v.data?.recipes??[],I=(k.data?.tasks??[]).slice(0,6),P=c.useMemo(()=>S.filter(L=>L.state==="installed"||L.state==="update-available").length,[S]),M=yI(e),C="npx @tonyclaw/eval-harness runner-presets",A=()=>{Mt(M).then(()=>{i(!0),window.setTimeout(()=>i(!1),1200)})},F=()=>{Mt(C).then(()=>{l(!0),window.setTimeout(()=>l(!1),1200)})},U=L=>{Mt(L.command).then(()=>{d(L.id),window.setTimeout(()=>d(null),1200)})},G=L=>{h(null),uI(L.id).then(X=>{y(X)}).catch(X=>{h(X instanceof Error?X.message:"Failed to prepare ecosystem recipe")})},K=j.data?.task??null;c.useEffect(()=>{K!==null&&(k.mutate(),K.status==="succeeded"&&v.mutate())},[K,v,k]);const Z=(L,X)=>{h(null),cI(L,X).then(Y=>{y(Y)}).catch(Y=>{h(Y instanceof Error?Y.message:"Failed to prepare ecosystem task")})},H=()=>{x!==null&&(h(null),w(!0),dI(x).then(L=>{f(L.id),y(null),j.mutate({task:L},{revalidate:!0}),k.mutate()}).catch(L=>{h(L instanceof Error?L.message:"Failed to start ecosystem task")}).finally(()=>{w(!1)}))};return r.jsxs(Kt,{open:n,onOpenChange:s,children:[r.jsx(Sr,{asChild:!0,children:r.jsxs(ee,{variant:"ghost",size:"icon",className:Tr,"aria-label":"TonyClaw Lab",title:"TonyClaw Lab",children:[r.jsx(gf,{className:"size-4"}),r.jsx("span",{className:"sr-only",children:"TonyClaw Lab"})]})}),r.jsxs(Gt,{className:"flex max-h-[84vh] max-w-5xl flex-col overflow-hidden",children:[r.jsx(Qt,{children:r.jsxs(en,{className:"flex items-center gap-2",children:[r.jsx(Ma,{className:"size-4 text-cyan-200/80"}),"TonyClaw Lab"]})}),r.jsxs("div",{className:"overflow-y-auto pr-2",children:[r.jsxs("div",{className:"grid gap-3 lg:grid-cols-[1.1fr_0.9fr]",children:[r.jsxs("section",{className:"rounded-lg bg-white/[0.025] p-4 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[r.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[r.jsxs("div",{children:[r.jsx("div",{className:"text-sm font-semibold",children:"Session asset pipeline"}),r.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."})]}),r.jsxs(Ne,{variant:"outline",className:"border-cyan-300/20 bg-cyan-300/8 text-cyan-100",children:[String(P),"/",String(S.length)," packages"]})]}),r.jsx("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:oI.map(L=>r.jsx(vI,{workflow:L},L.id))})]}),r.jsxs("section",{className:"rounded-lg bg-white/[0.025] p-4 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[r.jsxs("div",{className:"flex items-start justify-between gap-3",children:[r.jsxs("div",{children:[r.jsx("div",{className:"text-sm font-semibold",children:"Current session"}),r.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:e===null?"MCP smoke command":e})]}),r.jsxs(Ne,{variant:"outline",className:"border-white/10 bg-white/[0.04] text-white/55",children:[String(t)," logs"]})]}),r.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}),r.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[r.jsxs(ee,{size:"sm",variant:"secondary",onClick:A,children:[o?r.jsx(Ze,{className:"size-3.5"}):r.jsx(Ot,{className:"size-3.5"}),o?"Copied":"Copy"]}),r.jsxs(ee,{size:"sm",variant:"outline",onClick:F,children:[r.jsx(zl,{className:"size-3.5"}),a?"Presets copied":"Runner Presets"]})]})]})]}),r.jsxs("section",{className:"mt-3",children:[r.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[r.jsx("div",{className:"text-sm font-semibold",children:"Lab recipes"}),r.jsxs("div",{className:"hidden items-center gap-1 font-mono text-[11px] text-muted-foreground sm:flex",children:[r.jsx(Ma,{className:"size-3.5"}),"copy-ready workflows"]})]}),r.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[N.map(L=>r.jsx(jI,{recipe:L,copied:u===L.id,running:K!==null&&K.recipeId===L.id&&(K.status==="queued"||K.status==="running"),onCopy:U,onRun:G},L.id)),v.isLoading&&N.length===0&&[0,1].map(L=>r.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)]"},L))]})]}),r.jsxs("section",{className:"mt-3",children:[r.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[r.jsx("div",{className:"text-sm font-semibold",children:"Runner presets"}),r.jsxs("div",{className:"hidden items-center gap-1 font-mono text-[11px] text-muted-foreground sm:flex",children:[r.jsx(Yn,{className:"size-3.5"}),C]})]}),r.jsxs("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[_.map(L=>r.jsx(wI,{preset:L},L.id)),v.isLoading&&_.length===0&&[0,1,2,3].map(L=>r.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)]"},L))]})]}),r.jsxs("section",{className:"mt-3",children:[r.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[r.jsx("div",{className:"text-sm font-semibold",children:"TonyClaw packages"}),v.isLoading&&r.jsx("div",{className:"font-mono text-[11px] text-muted-foreground",children:"checking npm..."})]}),v.error!==void 0&&r.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."}),r.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[S.map(L=>r.jsx(gI,{pkg:L,activeTask:K,onStartTask:Z},L.id)),v.isLoading&&S.length===0&&[0,1,2].map(L=>r.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)]"},L))]})]}),m!==null&&r.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}),I.length>0&&r.jsxs("section",{className:"mt-3",children:[r.jsxs("div",{className:"mb-2 flex items-center justify-between gap-3",children:[r.jsx("div",{className:"text-sm font-semibold",children:"Recent Lab runs"}),r.jsxs("div",{className:"hidden font-mono text-[11px] text-muted-foreground sm:block",children:["last ",String(I.length)]})]}),r.jsx("div",{className:"grid gap-2 md:grid-cols-2",children:I.map(L=>r.jsx(kI,{task:L,selected:p===L.id,onSelect:X=>{f(X.id),j.mutate({task:X},{revalidate:!0})}},L.id))})]}),r.jsx(bI,{task:K})]})]}),r.jsx(SI,{pending:x,busy:b,onOpenChange:L=>{!L&&!b&&y(null)},onConfirm:H})]})}const NI=[{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"}],CI=[{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?"}],TI=4e3,ba=12;function jd(){return{messages:[],question:"",error:null}}function EI(e){return e.filter(t=>t.content.trim().length>0).slice(-10).map(t=>({role:t.role,content:t.content.trim().slice(0,TI)}))}function it(e,...t){for(const n of t){const s=Q(e,n);if(typeof s=="string"&&s.trim().length>0)return s}return null}function bn(e,...t){for(const n of t){const s=Q(e,n);if(typeof s=="number"&&Number.isFinite(s))return s}return null}function RI(e,t){const n=Q(e,t);return Array.isArray(n)?n.filter(s=>typeof s=="string").slice(0,8):[]}function MI(e){const t=it(e,"source")??"log",n=it(e,"id")??"",s=bn(e,"logId","id");if(n===""&&s===null||s!==null&&(!Number.isInteger(s)||s<0))return null;const o=bn(e,"inputTokens"),i=bn(e,"outputTokens"),a=bn(e,"totalTokens","tokenCount"),l=bn(e,"responseStatus","status"),u=it(e,"responseStatus","status");return{source:t,id:n!==""?n:String(s),logId:s,sessionId:it(e,"sessionId"),timestamp:it(e,"timestamp"),model:it(e,"model"),providerName:it(e,"providerName","provider"),path:it(e,"path"),status:l??u,elapsedMs:bn(e,"elapsedMs","latencyMs"),inputTokens:o,outputTokens:i,totalTokens:a??(o===null&&i===null?null:(o??0)+(i??0)),score:bn(e,"score","relevanceScore"),matchedFields:RI(e,"matchedFields"),excerpt:it(e,"excerpt","snippet")??"No excerpt available."}}function va(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 kd(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 Sd(e){return Object.getOwnPropertyNames(e).map(t=>[t,Q(e,t)])}function _d(e){if(e===null||typeof e!="object"||Array.isArray(e))return[];const t=[];for(const[n,s]of Sd(e)){const o=kd(s);if(o!==null){if(t.push({key:n,label:va(n),value:o}),t.length>=ba)break;continue}if(!(s===null||typeof s!="object"||Array.isArray(s))){for(const[i,a]of Sd(s)){const l=kd(a);if(l===null)continue;const u=`${n}.${i}`;if(t.push({key:u,label:`${va(n)} ${va(i).toLowerCase()}`,value:l}),t.length>=ba)break}if(t.length>=ba)break}}return t}function AI(e){const t=it(e,"answer"),n=it(e,"providerId"),s=it(e,"providerName"),o=it(e,"model"),i=it(e,"protocol"),a=bn(e,"logCount");if(t===null||n===null||s===null||o===null||i===null||a===null)return null;const l=Q(e,"evidence"),u=Array.isArray(l)?l.map(MI).filter(d=>d!==null).slice(0,12):[];return{answer:t,providerId:n,providerName:s,model:o,protocol:i,logCount:a,evidence:u,summaryMetrics:_d(Q(e,"summary")),queryMetrics:_d(Q(e,"queryStats"))}}const II=c.lazy(()=>Jt(()=>import("./index-CmGZ17BL.js"),__vite__mapDeps([9,1]))),PI="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 OI({text:e}){return r.jsx("div",{className:PI,children:r.jsx(c.Suspense,{fallback:r.jsx("span",{className:"text-xs text-muted-foreground",children:"Loading Markdown..."}),children:r.jsx(II,{children:e})})})}const Nd="Analyze the current Inspector session. What looks abnormal, slow, or likely to hang?";function zI(e){return e.openaiResponsesBaseUrl!==void 0||e.openaiBaseUrl!==void 0||e.anthropicBaseUrl!==void 0}function LI(e){return e.openaiResponsesBaseUrl!==void 0&&e.openaiResponsesBaseUrl!==""?"Responses":e.openaiBaseUrl!==void 0&&e.openaiBaseUrl!==""?"Chat":"Anthropic"}function $I(e){return e.toSorted((t,n)=>{const s=t.source==="company"?0:1,o=n.source==="company"?0:1;return s!==o?s-o:t.name.localeCompare(n.name)})}function Cd(e){return`${e}-${String(Date.now())}-${String(Math.random()).slice(2)}`}function Un({label:e,value:t,tone:n="muted"}){return r.jsxs("div",{className:"flex min-w-0 items-center gap-1.5 font-mono text-[10px]",children:[r.jsx("span",{className:n==="cyan"?"text-cyan-100":"text-muted-foreground",children:e}),t!==void 0&&r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"text-muted-foreground/55",children:":"}),r.jsx("span",{className:"truncate text-muted-foreground",children:t})]})]})}function DI({metrics:e}){return e.length===0?null:r.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:e.slice(0,8).map(t=>r.jsxs("div",{className:"rounded-sm bg-black/25 px-2 py-1 shadow-[inset_2px_0_0_rgba(103,232,249,0.22)]",children:[r.jsx("div",{className:"truncate font-mono text-[9px] text-muted-foreground",children:t.label}),r.jsx("div",{className:"truncate font-mono text-[11px] text-cyan-50/95",children:t.value})]},t.key))})}function FI({evidence:e}){const t=()=>{e.logId!==null&&Ms({logId:e.logId,tab:"anatomy"})},n=e.logId===null?`${e.source}:${e.id}`:`${e.source}:log #${String(e.logId)}`;return r.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:[r.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-2",children:[r.jsx("span",{className:"truncate font-mono text-[10px] text-cyan-100",children:n}),e.score!==null&&r.jsx("span",{className:"shrink-0 font-mono text-[9px] text-muted-foreground",children:e.score.toFixed(1)})]}),r.jsxs("div",{className:"mt-1 flex flex-wrap gap-x-2 gap-y-1 text-[10px] text-muted-foreground",children:[e.providerName!==null&&r.jsx("span",{children:e.providerName}),e.model!==null&&r.jsx("span",{children:e.model}),e.status!==null&&r.jsxs("span",{children:["status ",String(e.status)]}),e.elapsedMs!==null&&r.jsxs("span",{children:[String(e.elapsedMs)," ms"]})]}),r.jsx("p",{className:"mt-1 line-clamp-3 text-[11px] leading-4 text-foreground/85",children:e.excerpt})]})}function UI({response:e}){return r.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:[r.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:[r.jsx(Un,{label:"assistant@inspector",value:"output",tone:"cyan"}),r.jsxs("span",{className:"shrink-0 font-mono text-[9px] text-muted-foreground",children:[String(e.logCount)," logs"]})]}),r.jsxs("div",{className:"space-y-3 p-3",children:[r.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:r.jsx(OI,{text:e.answer})}),r.jsxs("div",{className:"grid gap-1.5 rounded-sm bg-black/20 px-2 py-1.5",children:[r.jsx(Un,{label:"provider",value:e.providerName}),r.jsx(Un,{label:"model",value:e.model}),r.jsx(Un,{label:"protocol",value:e.protocol})]}),(e.summaryMetrics.length>0||e.queryMetrics.length>0)&&r.jsxs("div",{className:"space-y-1.5",children:[r.jsx(Un,{label:"metrics",tone:"cyan"}),r.jsx(DI,{metrics:[...e.summaryMetrics,...e.queryMetrics]})]}),e.evidence.length>0&&r.jsxs("div",{className:"space-y-1.5",children:[r.jsx(Un,{label:"evidence",value:"click to inspect source log",tone:"cyan"}),e.evidence.slice(0,6).map(t=>r.jsx(FI,{evidence:t},`${t.source}-${t.id}`))]})]})]})}function BI({message:e}){return e.role==="assistant"&&e.response!==null?r.jsx(UI,{response:e.response}):r.jsxs("div",{className:"overflow-hidden rounded-md bg-black/25 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[r.jsx("div",{className:"border-b border-white/[0.06] px-3 py-1.5",children:r.jsx(Un,{label:"user@inspector",value:"query",tone:"cyan"})}),r.jsxs("div",{className:"px-3 py-2 font-mono text-[11px] leading-5 text-cyan-50",children:[r.jsx("span",{className:"select-none text-cyan-100/60",children:"> "}),e.content]})]})}function qI({currentSessionId:e,logCount:t,suggestedQuestion:n}){const{providers:s}=Ul(),o=c.useMemo(()=>$I(s.filter(zI)),[s]),[i,a]=c.useState(()=>({...jd(),question:Nd})),[l,u]=c.useState("__auto__"),[d,p]=c.useState("__auto__"),[f,m]=c.useState(!1),x=o.find(_=>_.id===l)?.models??[],y=i.question,b=y.trim()!==""&&o.length>0&&!f;c.useEffect(()=>{n===void 0||n.trim()===""||a(_=>({..._,question:n,error:null}))},[n]);const w=_=>{a(N=>({...N,question:_.currentTarget.value}))},v=_=>{u(_),p("__auto__")},j=()=>{a({...jd(),question:Nd})},k=_=>{a(N=>({...N,question:_,error:null}))},S=()=>{if(!b)return;const _=y.trim(),N=EI(i.messages),I={id:Cd("user"),role:"user",content:_,response:null};m(!0),a(M=>({...M,messages:[...M.messages,I],question:"",error:null}));const P={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(P)}).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 A=JSON.parse(C),F=AI(A);if(F===null){a(U=>({...U,error:"Inspector Assistant returned an unexpected response."}));return}a(U=>({...U,messages:[...U.messages,{id:Cd("assistant"),role:"assistant",content:F.answer,response:F}]}))}).catch(M=>{a(C=>({...C,error:M instanceof Error?M.message:"Inspector Assistant request failed."}))}).finally(()=>{m(!1)})};return r.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:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(ew,{className:"size-4 text-cyan-200"}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("div",{className:"text-xs font-semibold text-foreground",children:"Inspector Assistant"}),r.jsx("div",{className:"text-[11px] text-muted-foreground",children:e===null?"Ask saved Inspector data":"Ask this session"})]}),r.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:r.jsx(kf,{className:"size-3.5"})})]}),i.messages.length===0&&r.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:[r.jsx("p",{className:"text-[11px] leading-5 text-muted-foreground",children:"Ask your Inspector memory across saved traffic, sessions, tools, Provider signals, alerts, runs, groups, and knowledge candidates. Answers include linked evidence."}),r.jsx("div",{className:"mt-2 grid gap-1.5",children:NI.map(_=>r.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:[r.jsx("div",{className:"text-[10px] font-medium text-cyan-50",children:_.label}),r.jsx("div",{className:"mt-0.5 text-[9px] leading-4 text-muted-foreground",children:_.description})]},_.id))})]}),r.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[r.jsxs(dr,{value:l,onValueChange:v,children:[r.jsx(pr,{className:"h-8 border-0 bg-black/25 text-xs shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]",children:r.jsx(Do,{placeholder:"Provider"})}),r.jsxs(fr,{children:[r.jsx(at,{value:"__auto__",children:"Auto provider"}),o.map(_=>r.jsxs(at,{value:_.id,children:[_.name," / ",LI(_)]},_.id))]})]}),r.jsxs(dr,{value:d,onValueChange:p,children:[r.jsx(pr,{className:"h-8 border-0 bg-black/25 text-xs shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)]",children:r.jsx(Do,{placeholder:"Model"})}),r.jsxs(fr,{children:[r.jsx(at,{value:"__auto__",children:"Auto model"}),x.map(_=>r.jsx(at,{value:_,children:_},_))]})]})]}),i.messages.length===0&&r.jsx("div",{className:"mt-3 flex flex-wrap gap-1.5",children:CI.map(_=>r.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:[r.jsx(Ma,{className:"size-3"}),r.jsx("span",{children:_.label})]},_.id))}),i.messages.length>0&&r.jsxs("div",{className:"mt-3 max-h-96 space-y-2 overflow-y-auto pr-1",children:[i.messages.map(_=>r.jsx(BI,{message:_},_.id)),f&&r.jsxs("div",{className:"inline-flex items-center gap-2 rounded-md bg-black/25 px-3 py-2 text-xs text-muted-foreground",children:[r.jsx(Fe,{className:"size-3.5 animate-spin"}),r.jsx("span",{children:"Searching Inspector..."})]})]}),r.jsx("textarea",{value:y,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:"Ask across saved Inspector data..."}),r.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?r.jsx(Fe,{className:"size-3.5 animate-spin"}):r.jsx(Qj,{className:"size-3.5"}),r.jsx("span",{children:f?"Thinking...":"Ask Assistant"})]}),i.error!==null&&r.jsx("p",{className:"mt-2 break-words text-[11px] leading-5 text-red-200",children:i.error}),o.length===0&&r.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&&r.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 HI(e){const t=new Map;for(const n of e){const s=n.logs;for(let o=1;o<s.length;o++){const i=s[o-1],a=s[o];i===void 0||a===void 0||t.set(a.id,{creation:Td(i.cacheCreationInputTokens,a.cacheCreationInputTokens),read:Td(i.cacheReadInputTokens,a.cacheReadInputTokens)})}}return t}function Td(e,t){return t===null||e===null?null:t>e?{direction:"up",delta:t-e}:t<e?{direction:"down",delta:e-t}:null}function Q0(e){return e===null?null:new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function us(e,t,n){const s=Q0(e.lastSuccessAt),o=e.retryCount>0?` Retry ${e.retryCount.toString()}.`:"",i=n?" Captured logs remain visible.":"",a=s===null?"":` Last update ${s}.`;return`${t}${a}${o}${i}`}function ex(e,t,n){switch(e){case"connecting":return{label:"Connecting",description:us(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:us(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:us(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:us(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:us(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:us(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 VI({state:e}){const t=ex(e.status,e,!1),n=Q0(e.lastSuccessAt),s=e.retryCount>0?`Retry ${e.retryCount.toString()}`:null;return r.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:[r.jsx("span",{className:$("size-1.5 shrink-0 rounded-full",t.dotClass)}),r.jsx("span",{className:"shrink-0",children:t.label}),s!==null&&r.jsx("span",{className:"hidden truncate text-current/70 sm:inline",children:s}),n!==null&&r.jsxs("span",{className:"hidden truncate font-mono text-[10px] text-current/65 md:inline",children:["Last ",n]})]})}function WI({state:e,hasLogs:t,onRetry:n,onStop:s}){const o=ex(e.status,e,t);return r.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:[r.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[r.jsx("span",{className:$("size-2 shrink-0 rounded-full",o.dotClass)}),r.jsx("span",{className:"shrink-0 font-semibold",children:o.label}),r.jsx("span",{className:"min-w-0 text-current/75",children:o.description})]}),(o.canRetry||o.canStop)&&r.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[o.canRetry&&r.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:[r.jsx(Ht,{className:"size-3"}),"Retry now"]}),o.canStop&&r.jsxs("button",{type:"button",onClick:s,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:[r.jsx(jw,{className:"size-3"}),"Stop retrying"]})]})]})}function ZI(){const[e,t]=c.useState(!1),[n,s]=c.useState(!1);c.useEffect(()=>{const a=()=>{t(document.fullscreenElement!==null),s(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 r.jsxs(ee,{type:"button",variant:"ghost",size:"icon",className:Tr,"aria-label":i,"aria-pressed":e,title:i,disabled:!n,onClick:o,children:[e?r.jsx(yj,{className:"size-4"}):r.jsx(gj,{className:"size-4"}),r.jsx("span",{className:"sr-only",children:i})]})}function KI({liveConnection:e,alertsAction:t,settingsAction:n}){return r.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:r.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:[r.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:[r.jsx(ap,{className:"size-7 shrink-0 text-amber-500"}),r.jsxs("span",{className:"min-w-0",children:[r.jsx("span",{className:"block truncate text-sm font-bold leading-4",children:"Agent Inspector"}),r.jsx("span",{className:"hidden truncate text-[10px] font-medium text-muted-foreground md:block",children:"Local First. Evidence First."})]}),r.jsxs("span",{className:"hidden shrink-0 font-mono text-[10px] text-muted-foreground lg:inline",children:["v",Nf.version]})]}),r.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?r.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:[r.jsx("span",{className:"size-1.5 shrink-0 rounded-full bg-slate-400"}),"Stored session"]}):r.jsx(VI,{state:e})}),r.jsxs("nav",{"aria-label":"Application actions",className:"order-2 flex shrink-0 items-center justify-end gap-1 sm:order-3",children:[r.jsx(ZI,{}),t,n]})]})})}function GI(e){return`${Math.max(0,Math.ceil(e/1e3)).toString()}s`}function mo({progress:e}){const t=Math.min(1,e.elapsedMs/e.timeoutMs),n=Math.max(4,Math.round(t*100)),s=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,`${GI(s)} before timeout`].filter(l=>l!==null),a=`${e.label}: ${i.join(", ")}`;return r.jsxs("div",{className:"min-w-0 space-y-1 px-1 pb-1",children:[r.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-3 font-mono text-[10px] text-muted-foreground",children:[r.jsx("span",{className:"min-w-0 truncate",children:e.label}),r.jsx("span",{className:$("shrink-0 tabular-nums",o&&"text-amber-300"),children:i.join(" / ")})]}),r.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:r.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 tx(e){return e?"auto":"smooth"}function nx(){return typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function JI(){return{status:"connecting",lastSuccessAt:null,retryCount:0,errorMessage:null}}function sn(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 YI(e){return e===void 0||e.status==="live"?"empty":e.status}function XI(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 Ed="agent-inspector.hierarchy.collapsedClients",Rd="agent-inspector.hierarchy.collapsedProcesses";function Bo(e){return e.some(t=>t.responseStatus===null)}function sx(e){return e.filter(t=>t.responseStatus===null).length}function rx(e){for(const t of e){const n=t.userAgent;if(n!=null&&n!=="")return n}return null}function QI(e){for(const t of e){const n=t.clientPid;if(n!=null)return n}return null}function ox(e){for(const t of e){const n=t.clientProjectFolder;if(n!=null&&n!=="")return n}return null}function eP(e){return pc({userAgent:rx(e.logs),conversationId:e.conversationId,clientProjectFolder:ox(e.logs)})}function tP(e){if(e===null||e==="")return"Unknown client";const t=e.split(/[ /;]/)[0]??"";return t===""?"Unknown client":t}function nP(e,t){const n=ki(e);return n!==null?n:tP(t)}function qo(e){return e===null||e===""?"unknown":String(e)}function sP(e,t,n){return e!=="unknown"?e:`unknown:${qo(t)}:${qo(n)}`}function rP(e,t){return`${qo(e)}:${qo(t)}`}function Md(e){return[...e].sort((t,n)=>t.timestamp.localeCompare(n.timestamp))}function Ad(e){let t="";for(const n of e)n.timestamp>t&&(t=n.timestamp);return t}function Id(e){return Bo(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 ya(e){return[...e].sort((t,n)=>{const s=Id(t.logs)-Id(n.logs);if(s!==0)return s;const o=Ad(n.logs).localeCompare(Ad(t.logs));return o!==0?o:t.id.localeCompare(n.id)})}function oP(e){const t=new Map;for(const s of e){const o=rx(s.logs),i=ox(s.logs),a=eP(s),l=sP(a,o,i);let u=t.get(l);u===void 0&&(u={id:l,client:a,label:nP(a,o),userAgent:o,processes:new Map,logs:[]},t.set(l,u)),u.logs.push(...s.logs);const d=QI(s.logs),p=`${l}:${rP(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(s),f.logs.push(...s.logs)}const n=[];for(const s of t.values()){const o=ya([...s.processes.values()].map(i=>({id:i.id,clientPid:i.clientPid,clientProjectFolder:i.clientProjectFolder,sessions:ya(i.sessions),logs:Md(i.logs)})));n.push({id:s.id,client:s.client,label:s.label,userAgent:s.userAgent,processes:o,logs:Md(s.logs)})}return ya(n)}function Ho(e){return e<=0?"0":Me(e)}function ix(e){let t=0,n=0;for(const s of e)s.inputTokens!==null&&s.inputTokens!==void 0&&(t+=s.inputTokens),s.outputTokens!==null&&s.outputTokens!==void 0&&(n+=s.outputTokens);return{inputTokens:t,outputTokens:n}}function iP(e){let t=0;for(const n of e)t+=n.sessions.length;return t}function Pd(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(s=>typeof s=="string")):null}catch{return null}}function Od(e,t){try{window.localStorage.setItem(e,JSON.stringify([...t]))}catch{}}function zd(e,t){let n=!1;const s=new Set(e);for(const o of t)s.delete(o)&&(n=!0);return n?s:e}function aP(e){const t=new Set;for(const n of e)for(let s=1;s<n.processes.length;s++){const o=n.processes[s];o!==void 0&&!Bo(o.logs)&&t.add(o.id)}return t}function lP(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 s=t[t.length-2];return s===void 0?n:`${s}/${n}`}function Vo({label:e,value:t,className:n}){return r.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:[r.jsx("span",{className:"font-mono text-[10px] uppercase text-muted-foreground/70",children:e}),r.jsx("span",{className:"font-mono tabular-nums text-foreground",children:t})]})}function ax({count:e}){const t=`${e} open turn${e===1?"":"s"}`;return r.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:[r.jsx(Fe,{className:"size-3 animate-spin"}),e>1&&r.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 cP({groups:e,...t}){const n=c.useMemo(()=>oP(e),[e]),[s,o]=c.useState(()=>new Set),[i,a]=c.useState(()=>aP(n)),[l,u]=c.useState(!1);c.useEffect(()=>{const f=Pd(Ed),m=Pd(Rd);f!==null&&o(f),m!==null&&a(m),u(!0)},[]),c.useEffect(()=>{l&&(Od(Ed,s),Od(Rd,i))},[s,i,l]),c.useEffect(()=>{const f=new Set(n.filter(h=>Bo(h.logs)).map(h=>h.id)),m=new Set(n.flatMap(h=>h.processes.filter(x=>Bo(x.logs)).map(x=>x.id)));o(h=>zd(h,f)),a(h=>zd(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 r.jsx("div",{className:"space-y-2",children:n.map(f=>r.jsx(uP,{group:f,collapsed:s.has(f.id),collapsedProcessIds:i,onToggleClient:()=>d(f.id),onToggleProcess:p,conversationProps:t},f.id))})}function uP({group:e,collapsed:t,collapsedProcessIds:n,onToggleClient:s,onToggleProcess:o,conversationProps:i}){const a=ix(e.logs),l=iP(e.processes),u=e.logs.length,d=sx(e.logs),p=d>0;return r.jsxs("section",{className:$("relative isolate overflow-hidden rounded-[8px] bg-card/65",p&&"bg-card/80"),"data-ide-group":e.id,children:[r.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:s,"aria-expanded":!t,children:[e.client==="unknown"?r.jsx("span",{className:"inline-flex size-9 shrink-0 items-center justify-center rounded-md bg-[var(--inspector-surface-low)] text-muted-foreground",children:r.jsx(kj,{className:"size-4"})}):r.jsx(Si,{client:e.client,className:"size-9 rounded-md",decorative:!0}),r.jsxs("span",{className:"min-w-0",children:[r.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[r.jsx("span",{className:"truncate text-sm font-semibold text-foreground",title:e.userAgent??e.label,children:e.label}),r.jsx("span",{className:"rounded bg-[var(--inspector-surface-medium)] px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground",children:UC(e.client)}),p&&r.jsx(ax,{count:d})]}),r.jsxs("span",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground",children:[r.jsxs("span",{children:[e.processes.length," process",e.processes.length!==1?"es":""]}),r.jsxs("span",{children:[l," session",l!==1?"s":""]}),r.jsxs("span",{children:[u," req"]})]})]}),r.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[t&&r.jsxs("span",{className:"hidden shrink-0 items-center gap-2 md:flex",children:[r.jsx(Vo,{label:"IN",value:Ho(a.inputTokens)}),r.jsx(Vo,{label:"OUT",value:Ho(a.outputTokens)})]}),r.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?r.jsx(bt,{className:"size-4"}):r.jsx(Qe,{className:"size-4"})})]})]}),!t&&r.jsx("div",{className:"space-y-0.5 px-2 pb-2 pt-0.5",children:e.processes.map(f=>r.jsx(dP,{group:f,collapsed:n.has(f.id),onToggle:()=>o(f.id),conversationProps:i},f.id))})]})}function dP({group:e,collapsed:t,onToggle:n,conversationProps:s}){const o=ix(e.logs),i=lP(e.clientProjectFolder),a=e.sessions.length,l=e.logs.length,u=sx(e.logs),d=u>0,p=e.clientPid!==null&&e.clientPid!==void 0?`PID ${e.clientPid}`:"Process unavailable";return r.jsxs("section",{className:"relative pl-3",children:[r.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:[r.jsx("span",{className:"inline-flex size-8 shrink-0 items-center justify-center text-[var(--inspector-status-watch)]",children:r.jsx(zw,{className:"size-4"})}),r.jsxs("span",{className:"min-w-0",children:[r.jsxs("span",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[r.jsx("span",{className:"font-mono text-xs font-semibold tabular-nums text-foreground",children:p}),d&&r.jsx(ax,{count:u}),i!==null&&r.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1 text-[11px] text-muted-foreground",title:e.clientProjectFolder??i,children:[r.jsx(rj,{className:"size-3 shrink-0"}),r.jsx("span",{className:"truncate font-mono",children:i})]})]}),r.jsxs("span",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-muted-foreground",children:[r.jsxs("span",{children:[a," session",a!==1?"s":""]}),r.jsxs("span",{children:[l," req"]})]})]}),r.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[t&&r.jsxs("span",{className:"hidden shrink-0 items-center gap-2 md:flex",children:[r.jsx(Vo,{label:"IN",value:Ho(o.inputTokens)}),r.jsx(Vo,{label:"OUT",value:Ho(o.outputTokens)})]}),r.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?r.jsx(bt,{className:"size-4"}):r.jsx(Qe,{className:"size-4"})})]})]}),!t&&r.jsx("div",{className:"space-y-1 pb-1 pl-3 pr-1 pt-1",children:e.sessions.map(f=>r.jsx(uR,{group:f,...s,showClientIdentity:!1,showLogClientMetadata:!1,showProcessMetadata:!1},f.id))})]})}const pP="w-[calc(100%-1rem)] border-warning/30 bg-popover text-popover-foreground sm:max-w-lg",fP=[{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 mP({onCancel:e,onExportRedacted:t,onConfirmRaw:n}){return r.jsxs(r.Fragment,{children:[r.jsxs(Qt,{children:[r.jsx(en,{children:"Export unredacted logs?"}),r.jsx(_r,{children:"Raw exports bypass Agent Inspector redaction and may expose sensitive captured data."})]}),r.jsxs("div",{role:"alert",className:"rounded-md border border-warning/35 bg-warning/10 px-3 py-3 text-sm text-foreground",children:[r.jsx("p",{className:"font-medium",children:"The raw archive may include:"}),r.jsx("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-xs leading-relaxed text-muted-foreground",children:fP.map(s=>r.jsxs("li",{children:[r.jsxs("span",{className:"font-semibold text-foreground",children:[s.label,":"]})," ",s.detail]},s.label))}),r.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."})]}),r.jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[r.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:e,children:"Cancel"}),r.jsx(ee,{type:"button",variant:"outline",size:"sm",onClick:t,children:"Export redacted instead"}),r.jsx(ee,{type:"button",variant:"destructive",size:"sm",onClick:n,children:"Export raw data"})]})]})}const Wo="data-nav-id",hP="data-nav-action";function Ld(e){return Array.from(e.querySelectorAll(`[${Wo}]`))}function $d(e){return e instanceof HTMLElement}function xP(e,t){let n=e;for(;n!==null&&n!==t;){if(n.hasAttribute(Wo))return n;n=n.parentElement}return e.hasAttribute(Wo)?e:null}function wa(e){const t=e.getAttribute(hP);return t==="toggle"||t==="expand"||t==="collapse"?t:null}function Ws(e){e.focus({preventScroll:!0}),e.scrollIntoView({block:"nearest",behavior:"smooth"})}function Zs(e,t){return e[t]??null}function lx(e){const t=e.tagName;return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||e.isContentEditable)}function Dd(e){const t=e.tagName;return t==="BUTTON"||t==="A"||lx(e)?!0:e.closest("[role='button'],[role='menuitem'],[role='option']")!==null}function gP(e){return e.closest("[role='dialog'],[role='menu'],[role='listbox']")!==null?!0:document.querySelector("[role='dialog'],[role='menu'],[role='listbox']")!==null}function bP(){const e=window.getSelection();return e===null?!1:e.type==="Range"&&e.toString().length>0}function Qr(e,t){return e.key===t&&e.shiftKey}function vP(e,t,n={}){const s=t??e,o=n.pageWide===!0,i=c.useCallback(a=>{const l=e.current,u=s.current;if(!l||!u)return;const d=a.target;if(!$d(d)||d!==u)return;const p=Ld(l),f=Zs(p,0);f!==null&&Ws(f)},[e,s]);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(!$d(d)||lx(d)||bP())return;const p=u.contains(d);if(p&&Dd(d)&&!d.hasAttribute(Wo)||!p&&(!o||Dd(d)||gP(d)))return;const f=Ld(u);if(f.length===0)return;const m=xP(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"&&!Qr(l,"W"))break;l.preventDefault();const y=h>0?h-1:h===-1?f.length-1:-1;if(y!==-1){const b=Zs(f,y);b!==null&&Ws(b)}x=!0;break}case"ArrowDown":case"S":{if(l.shiftKey&&l.key==="ArrowDown"||l.key==="S"&&!Qr(l,"S"))break;l.preventDefault();const y=h<f.length-1?h+1:h===-1?0:-1;if(y!==-1){const b=Zs(f,y);b!==null&&Ws(b)}x=!0;break}case"ArrowLeft":case"A":{if(l.shiftKey&&l.key==="ArrowLeft"||l.key==="A"&&!Qr(l,"A")||m===null)break;if(l.preventDefault(),wa(m)==="collapse")m.click();else if(h>0){const b=Zs(f,h-1);b!==null&&Ws(b)}x=!0;break}case"ArrowRight":case"D":{if(l.shiftKey&&l.key==="ArrowRight"||l.key==="D"&&!Qr(l,"D")||m===null)break;if(l.preventDefault(),wa(m)==="expand")m.click();else if(h<f.length-1){const b=Zs(f,h+1);b!==null&&Ws(b)}x=!0;break}case" ":{if(m===null)break;l.preventDefault(),wa(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,s]),c.useEffect(()=>(document.addEventListener("focusin",i),()=>document.removeEventListener("focusin",i)),[i])}const yP={system:"System",user:"User",assistant:"Assistant",tool:"Tool Results",tools:"Tool Definitions"},wP={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"},jP={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"},ja=12,eo=1,Fd=80,Ud=24;function kP(e){return e.length<=Ud?e:`${e.slice(0,Ud-3)}...`}function SP(e){const t=e.replace(/\s+/g," ").trim();return t.length<=Fd?t:`${t.slice(0,Fd)}...`}function to(e){return e>=10?`${e.toFixed(0)}%`:e>=1?`${e.toFixed(1)}%`:e>0?"<1%":"0%"}const _P=c.memo(function({segments:t,totalTokens:n,showLabels:s=!0,onActivate:o}){const i=c.useMemo(()=>n>0?n:t.reduce((b,w)=>b+w.size,0),[t,n]),a=t.slice(0,ja),l=t.slice(ja),u=l.reduce((b,w)=>b+w.size,0),d=l.length,p=ja,f=p+d-1,m=d>0,h=o!==void 0,x=c.useMemo(()=>a.reduce((b,w)=>b+w.size,0),[a]),y=c.useMemo(()=>`Request context: ~${Me(i)} tokens across ${t.length} segment${t.length===1?"":"s"}`,[t.length,i]);return t.length===0||i<=0?r.jsx("div",{role:"img","aria-label":y,className:"h-6"}):r.jsx(Ls,{delayDuration:150,children:r.jsxs("div",{role:"img","aria-label":y,className:"flex flex-col gap-1.5",children:[r.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 v=i>0?b.size/i*100:0,j=Math.max(eo,v),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",wP[b.role],h?jP[b.role]:""),S={width:`${j}%`},_=`${b.label}, ${to(v)}, ~${Me(b.size)} tokens`;return r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:h?r.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}):r.jsx("span",{"aria-label":_,className:k,style:S})}),r.jsxs(ft,{side:"bottom",className:"max-w-sm text-xs p-2 space-y-0.5",children:[r.jsxs("div",{className:"font-semibold",children:[b.label," - ",to(v)," - ~",Me(b.size)," ","tokens"]}),r.jsx("div",{className:"text-muted-foreground",children:yP[b.role]}),r.jsxs("div",{className:"text-muted-foreground",children:[b.characters.toLocaleString()," chars"]}),b.text.length>0&&r.jsx("div",{className:"text-muted-foreground/90 break-words whitespace-pre-wrap",children:SP(b.text)})]})]},`${b.path}-${w}`)}),m&&r.jsxs(dt,{children:[r.jsx(pt,{asChild:!0,children:r.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(eo,u/i*100)}%`},children:["... +",d]})}),r.jsxs(ft,{side:"bottom",className:"text-xs",children:[d," more segment",d===1?"":"s"," (indices"," ",p,"-",f,")"]})]})]}),s&&r.jsxs("div",{className:"flex w-full gap-1 text-[10px] text-muted-foreground",children:[a.map((b,w)=>{const v=i>0?b.size/i*100:0,j=Math.max(eo,v);return r.jsxs("div",{className:"flex flex-col gap-0.5 truncate",style:{width:`${j}%`},title:`${b.label} - ${to(v)} - ~${Me(b.size)} tokens`,children:[r.jsx("span",{className:"truncate font-mono text-foreground/80",children:kP(b.label)}),r.jsxs("span",{className:"truncate font-mono text-muted-foreground/70",children:[to(v)," - ~",Me(b.size)]})]},`label-${b.path}-${w}`)}),m&&r.jsxs("div",{className:"flex flex-col gap-0.5 truncate text-muted-foreground",style:{width:`${Math.max(eo,u/i*100)}%`},children:[r.jsxs("span",{className:"truncate font-mono text-foreground/60",children:["... +",d]}),r.jsxs("span",{className:"truncate font-mono text-muted-foreground/60",children:["~",Me(u)]})]})]}),x<i*.1&&r.jsx("div",{className:"h-0"})]})})}),cx=.75,ux=.9,ul=8e3,NP=.35,dx=40,px=160,CP=5,TP=8,EP=18,RP=6e4,MP=.7,Bd=3e3,AP=.3,qd=160,IP=new Set(["answer","body","content","data","error","message","markdown","output","response","result","stderr","stdout","text","transcript"]),PP=["context_window","contextWindow","context_length","contextLength","max_context_length","maxContextLength","max_input_tokens","maxInputTokens"],OP=["max_tokens","maxTokens","max_completion_tokens","maxCompletionTokens","max_output_tokens","maxOutputTokens"],zP=[{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"]}],LP={system:"System",user:"User messages",assistant:"Assistant messages",tool:"Tool results",tools:"Tool definitions"};function $P(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 fx(e,t){for(const n of t){const s=$P(Q(e,n));if(s!==null)return s}return null}function DP(e){const t=Q(e,"model");if(typeof t!="string")return null;const n=t.trim();return n===""?null:n}function FP(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 UP(e,t,n=[]){const s=fx(t,PP);if(s!==null)return{tokens:s,label:"Request metadata",source:"request"};const o=BM(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 zP)if(FP(i,a))return{tokens:a.tokens,label:`${a.family} local rule`,source:"model-rule"};return{tokens:null,label:"No local rule",source:"unknown"}}function BP(e){return e<0?0:e>1?1:e}function qP(e){return e===null?"unknown":e>=ux?"danger":e>=cx?"watch":"ok"}function HP(e,t){return e.filter(n=>n.role===t).reduce((n,s)=>n+s.size,0)}function VP(e,t){return["system","user","assistant","tool","tools"].map(s=>{const o=HP(e,s);return{role:s,label:LP[s],tokens:o,percent:t>0?o/t:0}}).filter(s=>s.tokens>0).sort((s,o)=>o.tokens-s.tokens)}function dl(e){return e.replace(/\s+/g," ").trim().toLowerCase()}function WP(e){const t=e.replace(/\s+/g," ").trim();return t.length<=qd?t:`${t.slice(0,qd-3)}...`}function ZP(e){return{role:e.role,label:e.label,path:e.path,tokens:e.tokens,characters:e.characters}}function KP(e){return{role:e.role,label:e.label,path:e.path,tokens:e.size,characters:e.characters,text:e.text}}function GP(e){const t=e.trim();return t.startsWith("{")||t.startsWith("[")}function JP(e){if(!GP(e))return null;try{return JSON.parse(e)}catch{return null}}function YP(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function XP(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 QP(e){const t=XP(e);return t===null?!1:IP.has(YP(t))}function eO(e){return e.map(t=>t.startsWith("[")?t:`.${t}`).join("").replace(/^\./,"")}function tO(e,t,n){const s=xc(t);if(s<px)return null;const o=hc(t);return o<dx?null:{role:e.role,label:`${e.label} ${eO(n)}`,path:e.path,tokens:o,characters:s,text:t}}function pl({value:e,segment:t,path:n,depth:s,candidates:o}){if(!(o.length>=TP)&&!(s>CP)){if(typeof e=="string"){if(!QP(n))return;const i=tO(t,e,n);i!==null&&o.push(i);return}if(Array.isArray(e)){e.forEach((i,a)=>pl({value:i,segment:t,path:[...n,`[${String(a)}]`],depth:s+1,candidates:o}));return}gc(e)&&Object.entries(e).forEach(([i,a])=>pl({value:a,segment:t,path:[...n,i],depth:s+1,candidates:o}))}}function nO(e){const t=KP(e),n=JP(e.text);if(n===null)return[t];const s=[];pl({value:n,segment:e,path:[],depth:0,candidates:s});const o=dl(e.text),i=new Set([o]),a=s.filter(l=>{const u=dl(l.text);return u===""||i.has(u)?!1:(i.add(u),!0)});return[t,...a]}function sO(e){const t=new Map;for(const s of e){const o=nO(s);for(const i of o){if(i.tokens<dx||i.characters<px)continue;const a=dl(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 s of t.values()){if(s.candidates.length<2)continue;const o=s.candidates[0]??null;if(o===null)continue;const i=s.tokens-o.tokens;n.push({key:`${o.path}:${o.label}:${String(s.candidates.length)}:${String(s.tokens)}`,count:s.candidates.length,totalTokens:s.tokens,repeatedTokens:i,preview:WP(o.text),firstLabel:o.label,segments:s.candidates.map(ZP)})}return n.sort((s,o)=>o.repeatedTokens-s.repeatedTokens||o.totalTokens-s.totalTokens)}function rO(e){if(e.length===0)return null;const t=e.length,n=e.reduce((o,i)=>o+i.count,0),s=e.reduce((o,i)=>o+i.repeatedTokens,0);return{kind:"duplicate",severity:s>=ul?"danger":"watch",title:"Duplicate context",detail:`${String(n)} repeated blocks across ${String(t)} group${t===1?"":"s"}, ~${String(s)} repeated tokens.`}}function oO(e){return e.reduce((t,n)=>t+n.repeatedTokens,0)}function iO(e,t,n){const s=[],o=e.find(u=>u.role==="tools")??null;o!==null&&(o.tokens>=ul||o.percent>=NP&&o.tokens>=Bd)&&s.push({kind:"tool-schema",severity:o.tokens>=ul?"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>=Bd&&i.percent>=AP&&s.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>=EP&&(a>=RP||l>=MP)&&s.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.`}),s}function aO({risk:e,contextWindow:t,diagnostics:n,duplicateGroups:s}){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:oO(s)}}function lO({segments:e,inputTokens:t,parsed:n,model:s,providers:o=[]}){const i=e.reduce((_,N)=>_+N.size,0),a=s??DP(n),l=t??i,u=fx(n,OP),d=UP(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:BP(f/d.tokens),y=VP(e,i),b=y[0]??null,w=e.filter(_=>_.role!=="tools").length,v=sO(e),j=rO(v),k=iO(y,i,w);j!==null&&k.unshift(j);const S=qP(x);return{model:a,contextWindow:d,estimatedInputTokens:l,outputReserveTokens:u,windowUsedTokens:f,remainingInputTokens:m,remainingAfterReserveTokens:h,usagePercent:x,riskLevel:S,roleUsages:y,largestRole:b,diagnostics:k,duplicateGroups:v,health:aO({risk:S,contextWindow:d,diagnostics:k,duplicateGroups:v})}}const y6={watch:cx,danger:ux},Hd=new WeakMap;function cO(e){return e.map(t=>{const n=t.modelMetadata?.map(s=>`${s.model}:${String(s.contextWindow??"")}`).join(",")??"";return`${t.id}:${t.updatedAt}:${t.models.join(",")}:${n}`}).join("|")}function uO(e){if(e===null)return null;try{return JSON.parse(e)}catch{return null}}function dO(e){return{role:e.role,label:e.label,size:e.tokens,characters:e.tokens*4,text:"",path:`role:${e.role}`}}function pO(e,t){const n=uO(e.rawRequestBody);if(n===null)return null;const o=i0(lr(e)).anatomySegments(n);if(o===null)return null;const i=lO({segments:o,inputTokens:e.inputTokens??null,parsed:n,model:e.model,providers:t}),a=i.model??e.model??"Unknown model",l=i.roleUsages.map(dO);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 fO(e,t,n){const s=Hd.get(e);if(s!==void 0&&s.id===e.id&&s.rawRequestBody===e.rawRequestBody&&s.inputTokens===e.inputTokens&&s.model===e.model&&s.path===e.path&&s.apiFormat===e.apiFormat&&s.timestamp===e.timestamp&&s.providersSignature===n)return s.snapshot;const o=pO(e,t);return Hd.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 mO(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 Vd(e){switch(e){case"danger":return 4;case"watch":return 3;case"unknown":return 2;case"ok":return 1}}function hO(e,t){const n=Vd(t.latest.riskLevel)-Vd(e.latest.riskLevel);if(n!==0)return n;const s=e.peak.usagePercent??-1,i=(t.peak.usagePercent??-1)-s;return i!==0?i:t.latest.logId-e.latest.logId}function xO(e,t){return e.usagePercent===null||t.usagePercent===null?null:(t.usagePercent-e.usagePercent)*100}function gO(e){for(let t=1;t<e.length;t++){const n=e[t-1],s=e[t];if(!(n===void 0||s===void 0)&&n.id>s.id)return[...e].sort((o,i)=>o.id-i.id)}return e}function bO(e,t=[]){const n=gO(e),s=cO(t),o=new Map;for(const a of n){const l=fO(a,t,s);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:mO(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:xO(a.first,a.latest)})).sort(hO)}}function Bt(e){return e.length<=30?e:`${e.slice(0,12)}...${e.slice(-12)}`}function vO(e){return e.trim().toLowerCase()}function Ys(e,t){return e!=null&&e.toLowerCase().includes(t)}function Wd(e,t){const n=t.filter(l=>l.sessionId===e);if(n.length===0)return"Stored session";const s=new Set,o=new Set;for(const l of n)l.model!==null&&l.model!==""&&s.add(l.model),l.providerName!==null&&l.providerName!==void 0&&l.providerName.trim()!==""&&o.add(l.providerName);const i=s.size===0?"unknown model":[...s].slice(0,2).join(", "),a=o.size===0?"unknown provider":[...o].slice(0,2).join(", ");return`${String(n.length)} req · ${a} · ${i}`}function yO(e,t,n){return Ys(e,n)?!0:t.some(s=>s.sessionId===e&&(Ys(s.model,n)||Ys(s.providerName,n)||Ys(s.path,n)))}function wO({query:e,sessions:t,models:n,logs:s}){const o=vO(e),i=[];if(o===""){i.push({id:"all",label:"All sessions",detail:`${String(s.length)} visible requests`,kind:"all",value:"__all__"});for(const u of t.slice(0,5))i.push({id:`session-${u}`,label:Bt(u),detail:Wd(u,s),kind:"session",value:u});return i}const a=t.filter(u=>yO(u,s,o));for(const u of a.slice(0,5))i.push({id:`session-${u}`,label:Bt(u),detail:Wd(u,s),kind:"session",value:u});const l=n.filter(u=>Ys(u,o));for(const u of l.slice(0,3))i.push({id:`model-${u}`,label:u,detail:"Model filter",kind:"model",value:u});return i.slice(0,7)}function jO(e,t){const n=e.trim(),s=t==="__all__"?"all visible Inspector sessions":`session ${t}`;return n===""?`Analyze ${s}. What failed, slowed down, or deserves attention?`:`Search ${s} for "${n}" and explain the relevant failures, latency, token usage, provider behavior, and evidence.`}function kO({query:e,suggestions:t,selectedSession:n,selectedModel:s,onQueryChange:o,onApplySuggestion:i,onClear:a,onAskAssistant:l}){const u=d=>{if(d.key!=="Enter")return;const p=t[0];p!==void 0&&(d.preventDefault(),i(p))};return r.jsxs("div",{className:"rounded-xl bg-black/20 p-2 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.055)]",children:[r.jsxs("div",{className:"relative",children:[r.jsx(Sf,{className:"pointer-events-none absolute left-3 top-1/2 size-3.5 -translate-y-1/2 text-cyan-100/70"}),r.jsx("input",{type:"search",value:e,onChange:d=>o(d.currentTarget.value),onKeyDown:u,placeholder:"Search sessions, models, providers...",className:"h-10 w-full rounded-full bg-black/30 px-9 pr-9 text-xs text-foreground outline-none shadow-[inset_0_0_0_1px_rgba(103,232,249,0.13)] transition-colors placeholder:text-muted-foreground hover:bg-black/35 focus-visible:ring-1 focus-visible:ring-cyan-200/70","aria-label":"Search sessions and models"}),(e!==""||n!=="__all__"||s!=="__all__")&&r.jsx("button",{type:"button",onClick:a,className:"absolute right-2 top-1/2 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.07] hover:text-foreground focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none","aria-label":"Clear session search",title:"Clear search",children:r.jsx(yr,{className:"size-3.5"})})]}),r.jsxs("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[r.jsx("button",{type:"button",onClick:l,className:"inline-flex h-7 items-center rounded-full bg-cyan-400/10 px-2.5 text-[11px] font-medium text-cyan-100 shadow-[inset_0_0_0_1px_rgba(103,232,249,0.14)] transition-colors hover:bg-cyan-400/16",children:"Ask Assistant"}),n!=="__all__"&&r.jsxs("span",{className:"inline-flex h-7 max-w-full items-center rounded-full bg-white/[0.045] px-2.5 font-mono text-[10px] text-muted-foreground",children:["session:",Bt(n)]}),s!=="__all__"&&r.jsxs("span",{className:"inline-flex h-7 max-w-full items-center rounded-full bg-white/[0.045] px-2.5 text-[10px] text-muted-foreground",children:["model:",s]})]}),r.jsx("div",{className:"mt-2 space-y-1",children:t.map(d=>r.jsxs("button",{type:"button",onClick:()=>i(d),className:"grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-2 rounded-lg px-2 py-1.5 text-left transition-colors hover:bg-white/[0.045] focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-none",children:[r.jsxs("span",{className:"min-w-0",children:[r.jsx("span",{className:"block truncate text-[11px] font-medium text-foreground",children:d.label}),r.jsx("span",{className:"block truncate text-[10px] text-muted-foreground",children:d.detail})]}),r.jsx("span",{className:"rounded-full bg-white/[0.045] px-2 py-0.5 text-[9px] uppercase tracking-[0.12em] text-muted-foreground",children:d.kind})]},d.id))})]})}function SO(e){const t=new Map;for(const n of e)for(let s=0;s<n.logs.length;s+=1){const o=n.logs[s];o!==void 0&&t.set(o.id,s+1)}return t}function Zd(e,t){return t.get(e.id)??e.id}function Kd(e){let t=0,n=0;for(const s of e)s.inputTokens!==null&&(t+=s.inputTokens),s.outputTokens!==null&&(n+=s.outputTokens);return{totalIn:t,totalOut:n}}function _O(e){for(const t of e)if(t.userAgent!==null&&t.userAgent!==void 0&&t.userAgent!=="")return t.userAgent;return null}function NO(e,t){const n=e[0],s=e[e.length-1];return n===void 0||s===void 0?null:ni(n.timestamp,s.timestamp,t)}function CO(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 TO(e){switch(e){case"rolling":return"cool";case"failed":return"danger";case"watch":return"watch";case"clear":return"neutral"}}function EO(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 ds({label:e,value:t,detail:n,icon:s,tone:o="neutral"}){return r.jsxs("div",{className:"min-w-0 border-t border-white/10 px-4 py-3",children:[r.jsxs("div",{className:"flex items-center gap-1 text-[10px] uppercase text-muted-foreground",children:[s,e]}),r.jsx("div",{className:$("mt-2 font-mono text-sm font-semibold",CO(o)),children:t}),r.jsx("div",{className:"mt-1 font-mono text-[11px] leading-snug text-muted-foreground",children:n})]})}function RO({stats:e}){return e.requests===0?null:r.jsxs("div",{className:"border border-border bg-card shadow-sm mb-4 overflow-hidden rounded-[8px]",children:[r.jsx("div",{className:"px-4 py-3",children:r.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-3",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2 text-[10px] font-semibold uppercase text-muted-foreground",children:[r.jsx(_w,{className:"size-3.5 text-slate-300"}),"Flight Recorder"]}),r.jsx("div",{className:"mt-2 min-w-0 font-mono text-sm font-semibold text-foreground",children:e.modelLabel})]}),r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-4 gap-y-1 text-[11px] text-muted-foreground",children:[r.jsx("span",{className:"min-w-0 font-mono",children:e.providerLabel}),r.jsx("span",{className:"min-w-0 font-mono",children:e.timeRange??"Timeline pending"})]})]})}),r.jsxs("div",{className:"grid grid-cols-2 border-t border-white/10 md:grid-cols-3 2xl:grid-cols-6",children:[r.jsx(ds,{label:"Status",value:e.statusLabel,detail:EO(e),tone:TO(e.status)}),r.jsx(ds,{label:"Turns",value:String(e.turns),detail:e.finishLabel,icon:r.jsx(tj,{className:"size-3 text-muted-foreground"}),tone:e.finishTone}),r.jsx(ds,{label:"Requests",value:String(e.requests),detail:`${e.failures} failed / ${e.slow} slow`,icon:r.jsx(Ra,{className:"size-3 text-muted-foreground"}),tone:e.failures>0?"danger":"neutral"}),r.jsx(ds,{label:"Peak",value:e.slowestLabel,detail:e.slowestDetail,icon:r.jsx(fk,{className:"size-3 text-muted-foreground"}),tone:e.slow>0?"watch":"neutral"}),r.jsx(ds,{label:"Tokens",value:e.tokenLabel,detail:e.heaviestDetail,icon:r.jsx(Dl,{className:"size-3 text-muted-foreground"})}),r.jsx(ds,{label:"Outcome",value:e.outcomeLabel,detail:e.outcomeDetail,tone:e.outcomeTone})]})]})}function er(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 MO(e){return e===null?"n/a":Math.abs(e)<.1?"0%":`${e>0?"+":""}${e.toFixed(1)}%`}function fl(e){return e===null||!Number.isFinite(e)?0:Math.min(Math.max(e*100,0),100)}function AO(e,t){if(t===null)return null;const n=fl(e),s=fl(t);return s<=0||Math.abs(s-n)<.5?null:s}function IO(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 PO(e){const t=e.latest.contextWindow.tokens;return t===null?"Context window unknown":`Context window ${ip(t)}`}const OO=["score","decision","final_status","validation_pass_ratio","semantic_memory_score","opencode_exit","actual_model","run_dir","workspace","project_dir","work_dir"];function mx(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 ka(e,t){if(e===null)return null;const n=e.metadata[t];return n===void 0?null:mx(n)}function zO(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 LO(e){const t=[];for(const n of OO){const s=e.metadata[n];if(s===void 0)continue;const o=mx(s);o!==null&&t.push({key:n,value:o})}return t}function Gd({memberships:e,defaultOpen:t=!1}){const[n,s]=c.useState(t);if(e.length===0)return null;const o=e[0],i=o?.member??null,a=ka(i,"score"),l=ka(i,"decision"),u=ka(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 r.jsxs("div",{className:"border border-border bg-card shadow-sm mb-3 rounded-[8px] text-xs",children:[r.jsxs("button",{type:"button",onClick:()=>s(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:[r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[r.jsx("span",{className:"font-semibold text-foreground",children:"Case File"}),o!==void 0&&r.jsx("span",{className:"truncate text-muted-foreground",title:o.groupTitle,children:o.groupTitle}),r.jsxs("span",{className:"font-mono text-[10px] uppercase text-muted-foreground",children:[e.length," group",e.length===1?"":"s"]})]}),d.length>0&&r.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=>r.jsx("span",{className:$("rounded border px-1.5 py-0.5 font-mono text-[10px]",zO(p.value)),children:p.label},p.label))})]}),n?r.jsx(Ll,{className:"size-4 shrink-0 text-muted-foreground"}):r.jsx(Qe,{className:"size-4 shrink-0 text-muted-foreground"})]}),n&&r.jsx("div",{className:"space-y-2 border-t border-white/10 px-3 py-2",children:e.map(p=>{const f=p.member,m=LO(f);return r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1",children:[r.jsx("span",{className:"truncate font-medium text-foreground",title:p.groupTitle,children:p.groupTitle}),r.jsx("span",{className:"font-mono text-[10px] uppercase text-muted-foreground",children:p.groupStatus}),f.status!==null&&r.jsxs("span",{className:"font-mono text-[10px] text-muted-foreground",children:["member ",f.status]})]}),r.jsxs("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-muted-foreground",children:[r.jsx("span",{className:"font-mono",title:f.sessionId,children:Bt(f.sessionId)}),f.label!==null&&r.jsx("span",{children:f.label}),f.provider!==null&&r.jsx("span",{children:f.provider}),f.model!==null&&r.jsx("span",{className:"font-mono",children:f.model}),f.runId!==null&&r.jsxs("span",{className:"font-mono",title:f.runId,children:["run ",Bt(f.runId)]})]}),m.length>0&&r.jsx("div",{className:"mt-2 grid gap-1 sm:grid-cols-2 xl:grid-cols-3",children:m.map(h=>r.jsxs("div",{className:"border border-border bg-muted/40 min-w-0 rounded-md px-2 py-1",children:[r.jsx("div",{className:"font-mono text-[10px] text-muted-foreground",children:h.key}),r.jsx("div",{className:"truncate font-mono text-[11px] text-foreground",title:h.value,children:h.value})]},h.key))})]},`${p.groupId}:${f.id}`)})})]})}function no({label:e,title:t,icon:n,disabled:s,onClick:o}){return r.jsxs("button",{type:"button",onClick:o,disabled:s,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,r.jsx("span",{children:e})]})}function Jd({logs:e,pagination:t,embedded:n=!1}){if(t===void 0)return null;const s=t.isLoading;return r.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:[r.jsxs("div",{className:"w-full min-w-0 px-1 font-mono text-[11px] text-muted-foreground sm:flex-1",children:[r.jsxs("div",{role:"status","aria-live":"polite","aria-atomic":"true",children:[TR({logs:e,pagination:t}),t.isLoading&&e.length>0&&r.jsx("span",{className:"ml-2",children:"Loading..."})]}),t.loadProgress!==void 0&&r.jsx(mo,{progress:t.loadProgress})]}),r.jsxs("div",{className:"flex w-full items-center gap-1 overflow-x-auto sm:w-auto",children:[r.jsx(no,{label:"Oldest",title:"Load the oldest logs in this session",icon:r.jsx(dw,{className:"size-3.5"}),disabled:s||!t.hasOlder,onClick:t.onOldest}),r.jsx(no,{label:"Older",title:"Load older logs",icon:r.jsx(ow,{className:"size-3.5"}),disabled:s||!t.hasOlder,onClick:t.onOlder}),r.jsx(no,{label:"Newer",title:"Load newer logs",icon:r.jsx(bt,{className:"size-3.5"}),disabled:s||!t.hasNewer,onClick:t.onNewer}),r.jsx(no,{label:"Newest",title:"Load the newest logs in this session",icon:r.jsx(fw,{className:"size-3.5"}),disabled:s||!t.hasNewer,onClick:t.onNewest})]})]})}function $O(e){return`${e} ${e===1?"request":"requests"}`}function Yd(e){return`#${String(e)}`}function Xd(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 DO(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 FO(e){switch(e){case"risk":return"Risk";case"optimizable":return"Optimizable";case"ok":return"OK"}}const UO=10,BO=80;function qO(e){e.setAttribute("data-deep-link-highlight","true"),window.setTimeout(()=>{e.removeAttribute("data-deep-link-highlight")},1800)}function HO(e){const t=document.getElementById(`log-${String(e)}`);return t instanceof HTMLElement?(t.scrollIntoView({block:"center",behavior:tx(nx())}),t.focus({preventScroll:!0}),qO(t),!0):!1}function hx(e){Ms({logId:e,tab:"anatomy"});let t=0;const n=()=>{Ms({logId:e,tab:"anatomy"}),!HO(e)&&(t+=1,t<UO&&window.setTimeout(n,BO))};window.setTimeout(n,0)}function Qd({command:e}){const[t,n]=c.useState(!1),s=c.useCallback(()=>{Mt(e).then(o=>{o&&(n(!0),setTimeout(()=>n(!1),2e3))})},[e]);return r.jsxs("div",{"data-command-example":"true",className:dR,children:[r.jsx("pre",{className:pR,children:e}),r.jsx("button",{type:"button",onClick:s,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?r.jsx(Ze,{className:"size-4"}):r.jsx(Ot,{className:"size-4"})})]})}function so({label:e,children:t,className:n}){return r.jsxs("section",{className:$("bg-white/[0.028] shadow-[inset_0_1px_0_rgba(255,255,255,0.035)] rounded-[8px]",n),children:[r.jsx("div",{className:"px-3 pt-3",children:r.jsx("div",{className:"font-mono text-[10px] font-semibold uppercase tracking-[0.14em] text-white/35",children:e})}),r.jsx("div",{className:"p-3 pt-2",children:t})]})}function ro({label:e,value:t}){return r.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:[r.jsx("div",{className:"truncate font-mono text-lg font-semibold leading-6 text-slate-100",children:t}),r.jsx("div",{className:"mt-0.5 truncate font-mono text-[10px] uppercase tracking-[0.12em] text-white/35",children:e})]})}function VO(){const{themeMode:e,setThemeMode:t}=Bk();return r.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:[r.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:r.jsx(uk,{className:"size-3.5"})}),r.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:r.jsx(xf,{className:"size-3.5"})}),r.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:r.jsx(_j,{className:"size-3.5"})})]})}function WO({visible:e,onToggle:t}){const n=e?"Hide Inspector pet":"Summon Inspector pet";return r.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:r.jsx(ap,{className:$("size-4 transition-opacity",!e&&"opacity-45")})})}function ZO({preference:e,resolvedScale:t,onChange:n}){const s=Bx(t),o=e==="auto"?`Auto (${s})`:`${e}%`;return r.jsxs(dr,{value:e,onValueChange:i=>n(sp(i)),children:[r.jsxs(pr,{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:[r.jsx(Oy,{className:"size-3.5"}),r.jsx("span",{className:"font-mono text-[10px] font-semibold tabular-nums",children:s})]}),r.jsxs(fr,{align:"end",children:[r.jsx(at,{value:"auto",children:"Auto"}),r.jsx(at,{value:"100",children:"100%"}),r.jsx(at,{value:"125",children:"125%"}),r.jsx(at,{value:"150",children:"150%"})]})]})}const xx="agent-inspector.detailsPanelCollapsed",gx="agent-inspector.pet.visible";function KO(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(xx);return e===null||e==="1"}function GO(){if(typeof window>"u")return!0;try{return window.localStorage.getItem(gx)!=="0"}catch{return!0}}function ep({label:e,logId:t}){return r.jsxs("button",{type:"button",onClick:()=>hx(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 ${Yd(t)}`,children:[e," ",Yd(t)]})}function JO({latestPercent:e,peakPercent:t,risk:n,onOpenContext:s}){const o=fl(e),i=AO(e,t),a=t===null?`Latest context window usage ${er(e)}`:`Latest context window usage ${er(e)}, peak ${er(t)}`;return r.jsx("button",{type:"button",onClick:s,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:r.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:[r.jsx("span",{className:$("block h-full rounded-full transition-[width]",IO(n)),style:{width:`${o}%`}}),i!==null&&r.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 YO({summary:e}){const t=e.trendPercent,n=t===null||Math.abs(t)<.1?null:t>0?Vy:Dy,s=e.latest.diagnostics[0]??null,o=er(e.latest.usagePercent),i=er(e.peak.usagePercent),a=()=>{hx(e.latest.logId)};return r.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:[r.jsxs("div",{className:"min-w-0",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.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}),r.jsx("span",{className:$("inline-flex h-5 shrink-0 items-center rounded border px-1.5 font-mono text-[10px]",DO(e.latest.health.level)),children:FO(e.latest.health.level)})]}),r.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:[r.jsx("span",{children:$O(e.requestCount)}),r.jsx("span",{children:PO(e)})]})]}),r.jsxs("div",{className:"min-w-0 space-y-2 text-xs",children:[r.jsx(JO,{latestPercent:e.latest.usagePercent,peakPercent:e.peak.usagePercent,risk:e.latest.riskLevel,onOpenContext:a}),r.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[r.jsxs("div",{className:"min-w-0",children:[r.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Latest"}),r.jsx("div",{className:$("mt-0.5 font-mono",Xd(e.latest.riskLevel)),children:o}),r.jsx(ep,{label:"Log",logId:e.latest.logId})]}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Peak"}),r.jsx("div",{className:$("mt-0.5 font-mono",Xd(e.peak.riskLevel)),children:i}),r.jsx(ep,{label:"Log",logId:e.peak.logId})]}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("div",{className:"text-[10px] uppercase text-muted-foreground",children:"Trend"}),r.jsxs("div",{className:"mt-0.5 flex items-center gap-1 font-mono text-foreground",children:[n!==null&&r.jsx(n,{className:$("size-3",t!==null&&t>0?"text-amber-300":"text-cyan-300")}),MO(t)]}),r.jsx("div",{className:"h-5","aria-hidden":"true"})]})]})]}),r.jsxs("div",{className:"min-w-0 space-y-1.5",children:[r.jsx(_P,{segments:e.latest.roleSegments,totalTokens:e.latest.roleTotalTokens,showLabels:!1}),r.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-[11px] text-muted-foreground",children:[r.jsxs("span",{className:"font-mono",children:["~",Me(e.latest.estimatedInputTokens)," input"]}),e.latest.windowUsedTokens!==null&&r.jsxs("span",{className:"font-mono",children:["~",Me(e.latest.windowUsedTokens)," used"]}),s!==null&&r.jsx("span",{className:"truncate",children:s})]})]})]})}function XO({summary:e}){return e.models.length===0?null:r.jsxs("div",{className:"mt-3 border-t border-white/10 pt-2",children:[r.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[r.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-normal text-muted-foreground",children:"Session Context"}),r.jsxs("div",{className:"font-mono text-[10px] text-muted-foreground",children:[e.models.length," model",e.models.length===1?"":"s"]})]}),r.jsx("div",{className:"max-h-52 overflow-y-auto pr-1",children:e.models.map(t=>r.jsx(YO,{summary:t},t.model))})]})}function QO(e){const t=e.models.filter(s=>s.latest.health.level==="risk").length;if(t>0)return`${t} risk`;const n=e.models.filter(s=>s.latest.health.level==="optimizable").length;return n>0?`${n} optimizable`:`${e.models.length} model${e.models.length===1?"":"s"}`}function e6({label:e,logs:t,totalIn:n,totalOut:s,timeDisplayFormat:o,contextSummary:i,showBackLink:a}){const[l,u]=c.useState(!1),[d,p]=c.useState(!1),f=c.useMemo(()=>NO(t,o),[t,o]),m=c.useMemo(()=>_O(t),[t]),h=c.useMemo(()=>QO(i),[i]),x=c.useCallback(()=>{Mt(window.location.href).then(y=>{y&&(u(!0),setTimeout(()=>u(!1),2e3))})},[]);return r.jsxs("div",{className:"border border-border bg-card shadow-sm mb-3 rounded-[8px] px-3 py-2 text-xs",children:[r.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a&&r.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:r.jsx(qy,{className:"size-3.5"})}),r.jsxs("div",{className:"min-w-[180px] flex-1",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[r.jsx("span",{className:"font-mono font-semibold text-purple-400/90 truncate",title:e,children:Bt(e)}),m!==null&&r.jsx("span",{className:"font-mono text-muted-foreground truncate max-w-[220px]",title:m,children:m})]}),r.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-muted-foreground",children:[r.jsxs("span",{children:[t.length," request",t.length!==1?"s":""]}),f!==null&&r.jsx("span",{children:f}),(n>0||s>0)&&r.jsxs("span",{className:"font-mono",children:[Me(n)," in / ",Me(s)," out"]})]})]}),i.models.length>0&&r.jsxs("button",{type:"button",onClick:()=>p(y=>!y),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:[r.jsx("span",{children:h}),d?r.jsx(Ll,{className:"size-3.5"}):r.jsx(Qe,{className:"size-3.5"})]}),r.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?r.jsx(Ze,{className:"size-3.5"}):r.jsx(Ot,{className:"size-3.5"})})]}),d&&r.jsx(XO,{summary:i})]})}function t6({logs:e,sessions:t,models:n,selectedSession:s,selectedModel:o,onSessionChange:i,onModelChange:a,onClearAll:l,onDeleteCurrentView:u,onReloadSession:d,onClearGroup:p,onNotify:f,onImportLogs:m,viewMode:h,captureMode:x,strip:y,slowResponseThresholdSeconds:b,timeDisplayFormat:w,isLoading:v=!1,liveConnection:j,onRetryLiveConnection:k,onStopLiveConnection:S,pagination:_,sessionLoadProgress:N,sessionLoadError:I,sessionMemberships:P=[],hideSessionFilter:M=!1,pinnedSessionId:C}){const{totalIn:A,totalOut:F}=c.useMemo(()=>Kd(e),[e]),{providers:U}=Ul(),{uiScalePreference:G,resolvedUiScale:K,setUiScalePreference:Z}=qk(),[H,L]=c.useState(null),[X,Y]=c.useState(null),[ye,he]=c.useState(!1),[ie,D]=c.useState(!1),[Ce,te]=c.useState(null),[we,je]=c.useState(null),[ue,le]=c.useState(!1),[ge,ke]=c.useState(!1),[be,Ve]=c.useState(!0),[Ue,We]=c.useState(!1),[ct,Lt]=c.useState(!0),[_t,Ge]=c.useState(!1),[Ae,Oe]=c.useState(""),[V,ne]=c.useState(void 0),[Se,me]=c.useState(null),_e=c.useRef(null),Je=c.useRef(null),J=c.useRef(null),T=c.useRef(null),z=c.useRef(0);vP(_e,Je,{pageWide:!0});const q=c.useCallback(()=>{z.current+=1,T.current?.abort(),T.current=null,L(null),Y(null)},[]);c.useEffect(()=>()=>{z.current+=1,T.current?.abort(),T.current=null},[]),c.useEffect(()=>{Ve(KO()),We(!0)},[]),c.useEffect(()=>{Ue&&window.localStorage.setItem(xx,be?"1":"0")},[be,Ue]),c.useEffect(()=>{Lt(GO()),Ge(!0)},[]),c.useEffect(()=>{if(_t)try{window.localStorage.setItem(gx,ct?"1":"0")}catch{}},[_t,ct]),c.useEffect(()=>{if(C===void 0){document.title="Agent Inspector";return}const Pe=e.length===1?"1 req":`${e.length} req`;document.title=`${Bt(C)} - ${Pe} - Agent Inspector`},[e.length,C]);const se=c.useCallback(async Pe=>{T.current?.abort();const Ct=new AbortController;T.current=Ct;const Tt=z.current+1;z.current=Tt,L(Pe),Y(null);try{const nn=await Uk(e,Pe,{signal:Ct.signal});if(z.current!==Tt)return;if(!nn.ok){if(nn.canceled===!0)return;f!==void 0?f({message:nn.message,tone:"error"}):Y(nn.message)}}finally{z.current===Tt&&(T.current=null,L(null))}},[e,f]),de=c.useCallback(Pe=>{if(mR(Pe)){he(!0);return}se(Pe)},[se]),re=c.useCallback(()=>{he(!1),se("redacted")},[se]),ve=c.useCallback(()=>{he(!1),se("raw")},[se]),ce=c.useCallback(()=>{J.current?.click()},[]),Nt=c.useCallback(Pe=>{const Ct=Pe.currentTarget.files?.[0];Pe.currentTarget.value="",!(Ct===void 0||m===void 0)&&(D(!0),je(null),te(null),m(Ct).then(Tt=>{const nn=Tt.skipped>0?`, skipped ${String(Tt.skipped)}`:"",Pc=`Imported ${String(Tt.imported)} logs as ${Tt.sessionId}${nn}.`;f!==void 0?f({message:Pc,tone:"success"}):te(Pc)}).catch(Tt=>{const nn=Tt instanceof Error?Tt.message:"Failed to import logs";f!==void 0?f({message:nn,tone:"error"}):je(nn)}).finally(()=>{D(!1)}))},[m,f]);c.useEffect(()=>{q(),me(null)},[q,s,o]);const In=c.useCallback(()=>{q(),te(null),je(null),me(null),l()},[q,l]),Ie=c.useCallback(()=>{le(!0)},[]),tn=c.useCallback(()=>{q(),te(null),je(null),me(null),u!==void 0&&(ke(!0),u().then(()=>{le(!1)}).catch(Pe=>{const Ct=Pe instanceof Error?Pe.message:"Failed to delete stored logs";f!==void 0?f({message:Ct,tone:"error"}):je(Ct)}).finally(()=>{ke(!1)}))},[q,u,f]),ot=c.useCallback(()=>{d!==void 0&&(q(),te(null),je(null),me(null),d())},[q,d]),$s=c.useCallback(()=>{me(null)},[]),ut=c.useCallback(()=>{Ve(Pe=>!Pe)},[]),Ds=c.useCallback(()=>{Lt(Pe=>!Pe)},[]),$t=c.useMemo(()=>bT(e),[e]),Tc=c.useMemo(()=>SO($t),[$t]),Pn=c.useMemo(()=>CR({pinnedSessionId:C,selectedSession:s,sessions:t,logs:e}),[e,C,s,t]),es=Pn?.logs??[],Fs=Pn!==null&&es.length>0,{totalIn:Ec,totalOut:Rc}=c.useMemo(()=>Kd(es),[es]),vx=c.useMemo(()=>bO(es,U),[es,U]),yx=c.useMemo(()=>HI($t),[$t]),Ri=c.useMemo(()=>vE($t),[$t]),Mc=hR(x,e.length),wx=C!==void 0,jx=e.length>0,kx=u!==void 0&&(e.length>0||s!=="__all__"),Sx=s==="__all__"?"all sessions":"this session",_x=s==="__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.",Nx=e.length===0?"Load":"Reload",Cx=c.useMemo(()=>wO({query:Ae,sessions:t,models:n,logs:e}),[e,n,Ae,t]),Mi=Fs&&Pn!==null?Bt(Pn.label):s==="__all__"?"All sessions":Bt(s),Ac=YI(j),Ai=XI(Ac),Tx=c.useMemo(()=>NR({logs:e,conversationGroups:$t,isLoading:v,timeDisplayFormat:w,slowResponseThresholdSeconds:b}),[$t,v,e,b,w]),Ex=c.useCallback(Pe=>{const Ct=Ri.get(Pe.id);Ct!==void 0&&me([Ct,Pe])},[Ri]),Rx=c.useCallback(Pe=>{switch(Pe.kind){case"all":i("__all__"),a("__all__"),Oe("");break;case"session":i(Pe.value),Oe(Pe.value);break;case"model":a(Pe.value),Oe(Pe.value);break}},[a,i]),Mx=c.useCallback(()=>{Oe(""),i("__all__"),a("__all__")},[a,i]),Ax=c.useCallback(()=>{ne(jO(Ae,s))},[s,Ae]),Ic=C!==void 0?C:s==="__all__"?null:s;return r.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:[r.jsx(KI,{liveConnection:j,alertsAction:r.jsx(sM,{}),settingsAction:r.jsx(qA,{})}),r.jsxs("button",{type:"button",onClick:ut,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",be?"right-3":"lg:right-[calc(21.25rem-0.875rem)] xl:right-[calc(22.5rem-0.875rem)]"),"aria-label":be?"Show details panel":"Hide details panel",title:be?"Show details panel":"Hide details panel",children:[r.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]"}),be?r.jsx(Lj,{className:"size-3.5"}):r.jsx(Oj,{className:"size-3.5"})]}),_t&&ct&&r.jsx(ho,{feature:"Inspector Pet",children:r.jsx(c.Suspense,{fallback:null,children:r.jsx(d4,{logs:e})})}),r.jsxs("div",{className:$("grid w-full min-w-0 grid-cols-1 lg:min-h-0 lg:flex-1 lg:overflow-hidden",be?"lg:grid-cols-[minmax(0,1fr)]":"lg:grid-cols-[minmax(0,1fr)_21.25rem] xl:grid-cols-[minmax(0,1fr)_22.5rem]"),children:[!be&&r.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:r.jsxs("div",{className:"space-y-4 p-4",children:[r.jsx(so,{label:"Tools",children:r.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[r.jsx(VO,{}),r.jsx(ZO,{preference:G,resolvedScale:K,onChange:Z}),r.jsx(SM,{}),r.jsx(_I,{currentSessionId:Ic,logCount:e.length})]})}),r.jsxs(so,{label:"Session",children:[r.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[r.jsx(ro,{label:"Requests",value:e.length}),r.jsx(ro,{label:"Sessions",value:t.length}),r.jsx(ro,{label:"Input",value:Me(Fs?Ec:A)}),r.jsx(ro,{label:"Output",value:Me(Fs?Rc:F)})]}),N!==void 0&&r.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:r.jsx(mo,{progress:N})})]}),r.jsx(so,{label:"Workspace",children:r.jsxs("div",{className:"bg-black/20 rounded-md px-3 py-2 shadow-[inset_0_1px_0_rgba(255,255,255,0.035)]",children:[r.jsx("div",{className:"truncate font-mono text-xs font-semibold text-cyan-100",title:Mi,children:Mi}),r.jsx("div",{className:"mt-1 text-[11px] text-muted-foreground",children:wx?"Session workspace":"Live workspace"})]})}),r.jsx(qI,{currentSessionId:Ic,logCount:e.length,suggestedQuestion:V}),Fs&&Pn!==null&&r.jsx(e6,{label:Pn.label,logs:es,totalIn:Ec,totalOut:Rc,timeDisplayFormat:w,contextSummary:vx,showBackLink:Pn.showBackLink}),Fs&&C!==void 0&&P.length>0&&r.jsx(Gd,{memberships:P}),r.jsx(so,{label:"Filters",children:M?r.jsx("p",{className:"text-[11px] leading-5 text-muted-foreground",children:"This session is pinned by the current URL."}):r.jsx(kO,{query:Ae,suggestions:Cx,selectedSession:s,selectedModel:o,onQueryChange:Oe,onApplySuggestion:Rx,onClear:Mx,onAskAssistant:Ax})})]})}),r.jsxs("main",{className:"order-2 min-w-0 lg:order-1 lg:h-full lg:overflow-y-auto inspector-scrollbar",children:[r.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:[r.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[r.jsxs("div",{className:"min-w-[180px] flex-1",children:[r.jsx("div",{className:"text-sm font-semibold text-foreground",children:"Logs"}),r.jsx("div",{className:"mt-0.5 font-mono text-[11px] text-muted-foreground",children:Mi})]}),r.jsx(WO,{visible:ct,onToggle:Ds}),m!==void 0&&r.jsxs(r.Fragment,{children:[r.jsx("input",{ref:J,type:"file",accept:".zip,.json,.jsonl,application/zip,application/json",className:"hidden",onChange:Nt}),r.jsx("button",{type:"button",onClick:ce,disabled:ie,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:ie?r.jsx("span",{children:"Importing..."}):r.jsxs(r.Fragment,{children:[r.jsx(_f,{className:"size-3.5"}),r.jsx("span",{children:"Import"})]})})]}),Mc.redacted&&r.jsx("button",{type:"button",onClick:()=>{de("redacted")},disabled:H!==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:H==="redacted"?r.jsx("span",{children:"Exporting..."}):r.jsxs(r.Fragment,{children:[r.jsx(br,{className:"size-3.5"}),r.jsx("span",{children:"Export"})]})}),Mc.raw&&r.jsx("button",{type:"button",onClick:()=>{de("raw")},disabled:H!==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:H==="raw"?r.jsx("span",{children:"Exporting..."}):r.jsxs(r.Fragment,{children:[r.jsx(Vw,{className:"size-3.5"}),r.jsx("span",{children:"Raw"})]})}),d!==void 0&&r.jsxs("button",{type:"button",onClick:ot,disabled:v,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:[r.jsx(Ht,{className:$("size-3.5",v&&"animate-spin motion-reduce:animate-none")}),r.jsx("span",{children:Nx})]}),r.jsxs("button",{type:"button",onClick:In,disabled:!jx,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:[r.jsx(jn,{className:"size-3.5"}),r.jsx("span",{children:"Clear"})]}),u!==void 0&&r.jsxs("button",{type:"button",onClick:Ie,disabled:!kx||ge,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:[r.jsx(jn,{className:"size-3.5"}),r.jsx("span",{children:"Delete"})]})]}),_===void 0&&N!==void 0&&r.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:r.jsx(mo,{progress:N})}),I!==void 0&&r.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:[r.jsxs("span",{className:"min-w-0 flex-1",children:["Session logs could not be loaded. ",I," Existing logs remain visible."]}),d!==void 0&&r.jsxs("button",{type:"button",onClick:ot,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:[r.jsx(Ht,{className:"size-3"}),"Retry"]})]}),r.jsx(Jd,{logs:e,pagination:_,embedded:!0}),f===void 0&&X!==null&&r.jsx("div",{className:"mt-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:X}),f===void 0&&we!==null&&r.jsx("div",{className:"mt-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:we}),f===void 0&&Ce!==null&&we===null&&r.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:Ce}),j!==void 0&&j.status!=="live"&&k!==void 0&&S!==void 0&&r.jsx(WI,{state:j,hasLogs:e.length>0,onRetry:k,onStop:S})]}),r.jsxs("div",{className:"px-4 py-4 lg:px-5",children:[r.jsx(RO,{stats:Tx}),e.length===0?s!=="__all__"?r.jsx("div",{className:"py-16 text-center text-muted-foreground",children:r.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:[r.jsx("p",{className:"text-sm font-medium",children:v?"Loading session data...":I===void 0?"No logs loaded for this session":"Session logs could not be loaded"}),r.jsx("p",{className:"inline-block max-w-full rounded bg-muted px-3 py-1 font-mono text-xs break-all",children:Bt(s)}),N!==void 0&&r.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:r.jsx(mo,{progress:N})}),P.length>0&&r.jsx("div",{className:"text-left",children:r.jsx(Gd,{memberships:P})}),!v&&r.jsxs("div",{className:"flex flex-col items-center gap-3 text-xs",children:[r.jsx("p",{children:"Stored logs may still be available."}),r.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[d!==void 0&&r.jsxs("button",{type:"button",onClick:ot,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:[r.jsx(Ht,{className:"size-3.5"}),r.jsx("span",{children:"Load session"})]}),M?r.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"}):r.jsx("button",{type:"button",onClick:()=>i("__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"})]})]})]})}):r.jsx("div",{className:"py-16 text-center text-muted-foreground",children:r.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:[r.jsx("p",{className:"text-sm font-medium",children:Ai.title}),r.jsx("p",{className:"mx-auto max-w-xl text-xs leading-relaxed text-muted-foreground",children:Ai.description}),Ac==="empty"&&t.length>0&&r.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."}),Ai.showConnectionCommands&&r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex flex-col items-center gap-2",children:[r.jsx(Qd,{command:"ANTHROPIC_BASE_URL=http://localhost:9527/proxy <your-tool>"}),r.jsx(Qd,{command:"OPENAI_BASE_URL=http://localhost:9527/proxy <your-tool>"})]}),r.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."})]})]})}):r.jsxs("div",{ref:Je,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:[r.jsx("div",{ref:_e,children:r.jsx(cP,{groups:$t,viewMode:h,strip:y,slowResponseThresholdSeconds:b,cacheTrends:yx,onCompareWithPrevious:Ex,comparisonPredecessors:Ri,onClearGroup:p,defaultExpanded:$t.length===1,timeDisplayFormat:w})}),r.jsx("div",{className:"mt-3",children:r.jsx(Jd,{logs:e,pagination:_})})]})]})]})]}),r.jsx(Kt,{open:ye,onOpenChange:he,children:r.jsx(Gt,{className:pP,children:r.jsx(mP,{onCancel:()=>he(!1),onExportRedacted:re,onConfirmRaw:ve})})}),r.jsx(Kt,{open:ue,onOpenChange:le,children:r.jsxs(Gt,{className:"border-red-500/20 bg-zinc-950 text-zinc-100 sm:max-w-md",children:[r.jsxs(Qt,{children:[r.jsxs(en,{children:["Delete ",Sx," history?"]}),r.jsx(_r,{children:"Clear only hides logs from the UI. Delete removes stored history from disk."})]}),r.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:[r.jsx("span",{className:"block font-medium",children:"This is a full history delete."}),r.jsx("span",{className:"mt-1 block text-xs text-red-200/80",children:_x})]}),r.jsxs("div",{className:"flex justify-end gap-2",children:[r.jsx(ee,{type:"button",variant:"outline",size:"sm",disabled:ge,onClick:()=>le(!1),children:"Cancel"}),r.jsx(ee,{type:"button",variant:"destructive",size:"sm",disabled:ge,onClick:tn,children:ge?"Deleting...":"Delete history"})]})]})}),Se!==null&&r.jsx(ho,{feature:"Compare",children:r.jsx(c.Suspense,{fallback:null,children:r.jsx(u4,{left:Se[0],right:Se[1],leftDisplayNumber:Zd(Se[0],Tc),rightDisplayNumber:Zd(Se[1],Tc),onClose:$s})})})]})}function n6(e,t,n){return t==="__all__"&&n==="__all__"?e:e.filter(s=>!(t!=="__all__"&&s.sessionId!==t||n!=="__all__"&&s.model!==n))}function oo(e,t){if(e.length===0)return[...t];if(t.length===0)return[...e];const n=new Map;for(const s of e)n.set(s.id,s);for(const s of t)n.set(s.id,s);return[...n.values()].toSorted((s,o)=>s.id-o.id)}function Fn(e,t){const n=new Set;for(const s of e)s!==""&&n.add(s);for(const s of t)s!==""&&n.add(s);return[...n].sort()}const s6=Pt([E({type:ae("init"),logs:W(rr)}),E({type:ae("update"),log:rr})]),r6=E({logs:W(rr),total:R().int().nonnegative(),limit:R().int().positive(),hasOlder:Ee(),hasNewer:Ee(),oldestLogId:R().int().positive().nullable(),newestLogId:R().int().positive().nullable()}),o6=W(g()),tp=E({success:Ee(),cleared:R().int().nonnegative(),logFilesRewritten:R().int().nonnegative().optional(),chunkFilesDeleted:R().int().nonnegative(),sessionArchiveLogsDeleted:R().int().nonnegative().optional()});function i6(e,t){const n=[];for(const s of e)for(const o of s.members)o.sessionId===t&&n.push({groupId:s.id,groupTitle:s.title,groupKind:s.kind,groupStatus:s.status,groupTask:s.task,groupProject:s.project,groupEvidence:s.evidence,member:o});return n}function io(e){const t=new Set;for(const n of e)n.sessionId!==null&&n.sessionId!==""&&t.add(n.sessionId);return[...t]}function a6(e){const t=new Set;for(const n of e)n.model!==null&&n.model!==""&&t.add(n.model);return[...t]}const l6=100,c6=12,u6=1800,Cc=100,Zo=500,bx=200,ml=2e4,d6=1e4,p6=3e3,f6=1e4;function m6(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 h6(e,t,n=Cc){const s=new URLSearchParams({cursor:"1",compact:"1",limit:String(n),sessionId:e});switch(t.kind){case"oldest":s.set("anchor","oldest");break;case"older":s.set("beforeLogId",String(t.beforeLogId));break;case"newer":s.set("afterLogId",String(t.afterLogId));break}return`/api/logs?${s.toString()}`}function hn(e){const t=new Map;for(let n=0;n<e.length;n++){const s=e[n];s!==void 0&&t.set(s.id,n)}return t}function tr(e,t,n=Cc){return Be(h6(e,t,n),r6,ml)}async function x6(e,t){const n=new Set;let s=await tr(e,{kind:"oldest"},Zo);for(const i of s.logs)n.add(i.id);t(n.size,1);let o=1;for(;s.hasNewer&&s.newestLogId!==null&&o<bx;){s=await tr(e,{kind:"newer",afterLogId:s.newestLogId},Zo);for(const i of s.logs)n.add(i.id);o+=1,t(n.size,o)}return{ids:[...n],truncated:s.hasNewer}}async function g6(){try{return{deleted:(await nt("/api/groups",af,{method:"DELETE"})).deleted,ok:!0}}catch{return{deleted:0,ok:!1}}}function w6({initialSessionId:e}={}){const[t,n]=c.useState([]),[s,o]=c.useState(e??"__all__"),[i,a]=c.useState("__all__"),[l,u]=c.useState([]),{notice:d,showToast:p,dismissToast:f}=I0(),[m,h]=c.useState(JI),[x,y]=c.useState(null),[b,w]=c.useState(e!==void 0),[v,j]=c.useState(null),[k,S]=c.useState(void 0),[_,N]=c.useState([]),[,I]=c.useTransition(),P=c.useRef(null),M=c.useRef(null),C=c.useRef(null),A=c.useRef(!0),F=c.useRef(null),U=c.useRef(0),G=c.useRef(null),K=c.useRef(null),Z=c.useRef(new Map),H=c.useRef([]),L=c.useRef(null),X=c.useCallback(J=>{p({message:J,tone:"error"})},[p]),Y=c.useCallback(()=>{K.current!==null&&(clearInterval(K.current),K.current=null),G.current=null,S(void 0)},[]),ye=c.useCallback((J,T,z=0,q=0)=>{K.current!==null&&clearInterval(K.current);const se=Date.now();G.current=se;const de=()=>{U.current===T&&S({label:J,elapsedMs:Date.now()-se,timeoutMs:ml,loadedLogs:z,loadedPages:q})};de(),K.current=setInterval(de,250)},[]),he=c.useCallback((J,T,z,q)=>{const se=G.current;se===null||U.current!==T||S({label:J,elapsedMs:Date.now()-se,timeoutMs:ml,loadedLogs:z,loadedPages:q})},[]),ie=c.useMemo(()=>n6(t,s,i),[t,s,i]),D=c.useMemo(()=>Fn(l,io(t)),[t,l]),Ce=c.useMemo(()=>a6(t),[t]),te=c.useCallback(()=>{nt("/api/sessions",o6).then(J=>{u(T=>Fn(T,J))}).catch(()=>{})},[]),we=c.useCallback(()=>{L.current=null;const J=H.current;H.current=[],J.length!==0&&I(()=>{n(T=>{const z=oo(T,J);return Z.current=hn(z),z})})},[I]),je=c.useCallback(J=>{H.current.push(J),L.current===null&&(L.current=setTimeout(we,l6))},[we]),ue=c.useCallback(()=>{P.current&&P.current.close(),M.current!==null&&(clearTimeout(M.current),M.current=null),h(T=>sn(T,{type:"connect-requested"}));const J=new EventSource(m6(e));P.current=J,J.onmessage=T=>{try{const z=String(T.data),q=JSON.parse(z),se=s6.safeParse(q);if(!se.success){h(re=>sn(re,{type:"recoverable-error",message:"The live stream returned invalid data."})),X("Failed to parse SSE data");return}const de=se.data;de.type==="init"?(L.current!==null&&(clearTimeout(L.current),L.current=null),H.current=[],n(re=>{const ve=oo(re,de.logs);return Z.current=hn(ve),ve}),u(re=>Fn(re,io(de.logs))),C.current!==null&&(clearTimeout(C.current),C.current=null),h(re=>sn(re,{type:"message-received",at:Date.now()})),f()):de.type==="update"&&(u(re=>de.log.sessionId===null||de.log.sessionId===""?re:Fn(re,[de.log.sessionId])),je(de.log),C.current!==null&&(clearTimeout(C.current),C.current=null),h(re=>sn(re,{type:"message-received",at:Date.now()})))}catch{h(z=>sn(z,{type:"recoverable-error",message:"The live stream returned malformed JSON."})),X("Failed to parse SSE data")}},J.onerror=()=>{const T=navigator.onLine;h(z=>sn(z,{type:"connection-lost",online:T,message:"The live stream disconnected."})),J.close(),!(!T||!A.current)&&(C.current===null&&(C.current=setTimeout(()=>{C.current=null,h(z=>sn(z,{type:"stale-timeout"}))},f6)),M.current=setTimeout(ue,p6))}},[f,e,je,X]),le=c.useCallback(()=>{A.current=!0,M.current!==null&&(clearTimeout(M.current),M.current=null),ue()},[ue]),ge=c.useCallback(()=>{A.current=!1,P.current?.close(),P.current=null,M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),h(J=>sn(J,{type:"stop-retrying"}))},[]),ke=c.useCallback(J=>{if(e===void 0)return;const T=U.current+1;U.current=T,w(!0),j(null),ye("Loading session logs",T),f(),tr(e,J).then(z=>{if(U.current!==T)return;const q=z.logs;Z.current=hn(q),n(q),y(z),o(e),w(!1),j(null),Y(),f()}).catch(z=>{if(U.current!==T)return;w(!1),Y();const q=z instanceof Error?z.message:"Failed to load session logs";j(q),X(q)})},[f,e,X,ye,Y]),be=c.useCallback(J=>{const T=U.current+1;U.current=T,w(!0),j(null),ye("Reloading full session",T),f(),(async()=>{const z=[];let q=await tr(J,{kind:"oldest"},Zo);z.push(...q.logs),he("Reloading full session",T,z.length,1);let se=1;for(;q.hasNewer&&q.newestLogId!==null&&se<bx;)q=await tr(J,{kind:"newer",afterLogId:q.newestLogId},Zo),z.push(...q.logs),se+=1,he("Reloading full session",T,z.length,se);U.current===T&&(n(de=>{const re=oo(de,z);return Z.current=hn(re),re}),u(de=>Fn(de,[J])),w(!1),j(null),Y(),q.hasNewer?p({message:`Loaded ${String(z.length)} logs for this session. More history is available.`,tone:"success"}):f())})().catch(z=>{if(U.current!==T)return;w(!1),Y();const q=z instanceof Error?z.message:"Failed to reload session logs";j(q),X(q)})},[f,X,p,ye,Y,he]);c.useEffect(()=>{if(e===void 0){N([]);return}let J=!1;return Be("/api/groups",uf,d6).then(T=>T.groups).then(T=>{J||T===null||N(i6(T,e))}).catch(()=>{J||N([])}),()=>{J=!0}},[e]),c.useEffect(()=>{te()},[te]),c.useEffect(()=>()=>{Y()},[Y]),c.useEffect(()=>{e!==void 0&&ke({kind:"newest"})},[e,ke]),c.useEffect(()=>{e===void 0&&s!=="__all__"&&be(s)},[e,be,s]),c.useEffect(()=>{if(e!==void 0)return;ue();const J=()=>{P.current?.close(),P.current=null,M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),h(z=>sn(z,{type:"browser-offline"}))},T=()=>{A.current&&ue()};return window.addEventListener("offline",J),window.addEventListener("online",T),()=>{window.removeEventListener("offline",J),window.removeEventListener("online",T),P.current&&(P.current.close(),P.current=null),M.current!==null&&(clearTimeout(M.current),M.current=null),C.current!==null&&(clearTimeout(C.current),C.current=null),L.current!==null&&(clearTimeout(L.current),L.current=null)}},[ue,e]),c.useEffect(()=>{const J=window.location.hash;if(!J.startsWith("#log-")||F.current===J)return;const T=J.slice(1),z=Number(T.replace(/^log-/,""));Number.isInteger(z)&&z>0&&Ms({logId:z,tab:"request"});let q=!1,se=0,de=null,re=null;const ve=()=>{if(q)return;const ce=document.getElementById(T);if(ce!==null){F.current=J,ce.scrollIntoView({block:"center",behavior:tx(nx())}),ce instanceof HTMLElement&&(de=ce,ce.setAttribute("data-deep-link-highlight","true"),re=window.setTimeout(()=>{ce.removeAttribute("data-deep-link-highlight")},u6),ce.focus({preventScroll:!0}),ce.getAttribute("data-nav-action")==="expand"&&ce.click());return}se+=1,se<c6&&window.setTimeout(ve,100)};return ve(),()=>{q=!0,re!==null&&window.clearTimeout(re),de!==null&&de.removeAttribute("data-deep-link-highlight")}},[ie.length]);const Ve=c.useCallback(()=>{const J=io(t);Y(),w(!1),Z.current.clear(),n([]),y(null),u(T=>Fn(T,J)),p({message:"Cleared the current view. Stored logs are still reloadable.",tone:"success"})},[t,p,Y]),Ue=c.useCallback(J=>{if(J.length===0)return;const T=new Set(J);n(z=>{const q=z.filter(de=>T.has(de.id)),se=z.filter(de=>!T.has(de.id));return u(de=>Fn(de,io(q))),Z.current=hn(se),se}),p({message:"Cleared this group from the current view.",tone:"success"})},[p]),We=c.useCallback(async()=>{const J=U.current+1;U.current=J,w(!0),Y(),f();try{if(s==="__all__"){ye("Deleting stored history",J);const re=await nt("/api/logs",tp,{method:"DELETE"}),ve=await g6();if(U.current!==J)return;n([]),Z.current.clear(),y(null),u([]),N([]),w(!1),Y();const ce=ve.ok?` Cleared ${ve.deleted.toString()} group${ve.deleted===1?"":"s"}.`:" Group cleanup failed; open Groups to retry Clear.";p({message:`Deleted ${re.cleared.toString()} stored log${re.cleared===1?"":"s"} across all sessions.${ce}`,tone:ve.ok?"success":"error"});return}const T=s;ye("Deleting session history",J);const z=await x6(T,(re,ve)=>{he("Deleting session history",J,re,ve)}),q=new Set(z.ids);for(const re of t)re.sessionId===T&&q.add(re.id);const se=[...q].filter(re=>Number.isInteger(re)&&re>=0);if(se.length===0){if(U.current!==J)return;n(re=>{const ve=re.filter(ce=>ce.sessionId!==T);return Z.current=hn(ve),ve}),y(re=>re===null?null:{...re,logs:re.logs.filter(ve=>ve.sessionId!==T)}),u(re=>re.filter(ve=>ve!==T)),w(!1),Y(),p({message:"No stored log records were found for this session.",tone:"success"});return}const de=await nt("/api/logs",tp,{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({ids:se})});if(U.current!==J)return;n(re=>{const ve=re.filter(ce=>ce.sessionId!==T);return Z.current=hn(ve),ve}),y(re=>re===null?null:{...re,logs:re.logs.filter(ve=>ve.sessionId!==T)}),u(re=>re.filter(ve=>ve!==T)),w(!1),Y(),p({message:`Deleted ${de.cleared.toString()} stored log${de.cleared===1?"":"s"} for this session${z.truncated?". More history may remain.":"."}`,tone:z.truncated?"error":"success"})}finally{U.current===J&&(w(!1),Y())}},[t,f,s,p,ye,Y,he]),ct=c.useCallback(()=>{if(e!==void 0){ke({kind:"newest"});return}if(s==="__all__"){te();return}be(s)},[e,ke,te,be,s]),Lt=c.useCallback(async J=>{const T=new FormData;T.set("file",J);const z=await nt("/api/logs/import",Ny,{method:"POST",body:T});return n(q=>{const se=new Set(z.logs.map(re=>re.id)),de=oo(q.filter(re=>!se.has(re.id)),z.logs);return Z.current=hn(de),de}),o(z.sessionId),a("__all__"),y(null),f(),z},[f]),{strip:_t,captureMode:Ge,slowResponseThresholdSeconds:Ae,timeDisplayFormat:Oe}=Ol(),V=Ge,ne=c.useCallback(()=>{ke({kind:"oldest"})},[ke]),Se=c.useCallback(()=>{ke({kind:"newest"})},[ke]),me=c.useCallback(()=>{const J=t[0],T=x?.oldestLogId??J?.id??null;T!==null&&ke({kind:"older",beforeLogId:T})},[t,ke,x]),_e=c.useCallback(()=>{const J=t[t.length-1],T=x?.newestLogId??J?.id??null;T!==null&&ke({kind:"newer",afterLogId:T})},[t,ke,x]),Je=c.useMemo(()=>{if(e!==void 0)return{isLoading:b,loadProgress:k,total:x?.total??null,pageSize:x?.limit??Cc,hasOlder:x?.hasOlder??!1,hasNewer:x?.hasNewer??!1,oldestLogId:x?.oldestLogId??null,newestLogId:x?.newestLogId??null,onOldest:ne,onOlder:me,onNewer:_e,onNewest:Se}},[e,Se,_e,me,ne,x,k,b]);return r.jsxs(r.Fragment,{children:[r.jsx(P0,{notice:d,onDismiss:f}),r.jsx(Tk,{}),r.jsx(t6,{logs:ie,sessions:D,models:Ce,selectedSession:s,selectedModel:i,onSessionChange:o,onModelChange:a,onClearAll:Ve,onDeleteCurrentView:We,onReloadSession:e!==void 0||s!=="__all__"?ct:void 0,onClearGroup:Ue,onNotify:p,onImportLogs:e===void 0?Lt:void 0,isLoading:e===void 0&&m.status==="connecting"&&m.lastSuccessAt===null||b,liveConnection:e===void 0?m:void 0,onRetryLiveConnection:le,onStopLiveConnection:ge,pagination:Je,sessionLoadProgress:k,sessionLoadError:v??void 0,sessionMemberships:_,viewMode:V,captureMode:Ge,strip:_t,slowResponseThresholdSeconds:Ae,timeDisplayFormat:Oe,hideSessionFilter:e!==void 0,pinnedSessionId:e})]})}export{Yn as $,Ms as A,Ne as B,Iw as C,Kt as D,Qo as E,Ee as F,g as G,rr as H,lO as I,dj as J,wP as K,x4 as L,yf as M,yP as N,y6 as O,w6 as P,Qe as Q,Wj as R,_P as S,h0 as T,xe as U,W4 as V,v6 as W,yr as X,ff as Y,Z4 as Z,K4 as _,gT as a,tl as a0,zo as a1,OI as a2,jw as a3,or as a4,Q as a5,wn as a6,Fe as a7,Fp as a8,l4 as a9,cw as aa,au as b,B as c,wf as d,bt as e,Ze as f,i0 as g,Ot as h,Be as i,Gt as j,Qt as k,en as l,kf as m,x0 as n,gn as o,yt as p,yj as q,lr as r,Ls as s,dt as t,Ul as u,pt as v,ft as w,E as x,R as y,W as z};
|