llm-simple-router 0.11.20 → 0.11.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/index.js +23 -5
  2. package/dist/proxy/handler/create-proxy-handler.js +3 -3
  3. package/dist/proxy/transform/stream-ant2oa.js +12 -11
  4. package/dist/proxy/transport/stream.js +18 -0
  5. package/frontend-dist/assets/{CardContent-B1EH4dOn.js → CardContent-1i8E_S3q.js} +1 -1
  6. package/frontend-dist/assets/{CardTitle-DF6mjZ7-.js → CardTitle-9IEYVrNF.js} +1 -1
  7. package/frontend-dist/assets/{CascadingModelSelect-BJUYEjl6.js → CascadingModelSelect-CqzJeQWb.js} +1 -1
  8. package/frontend-dist/assets/{Checkbox-8nGGlG98.js → Checkbox-9z_nic4H.js} +1 -1
  9. package/frontend-dist/assets/{CollapsibleContent-D74YnHwC.js → CollapsibleContent-DRXTjuF_.js} +1 -1
  10. package/frontend-dist/assets/{CollapsibleTrigger-CY0laTR_.js → CollapsibleTrigger-BusSosYR.js} +1 -1
  11. package/frontend-dist/assets/{Dashboard-DXWfPbHb.js → Dashboard-DjO_Bc_0.js} +1 -1
  12. package/frontend-dist/assets/{Input-BdVdLvb5.js → Input-BwqUPR8k.js} +1 -1
  13. package/frontend-dist/assets/{Label-D6iOUZ8Q.js → Label-CumWBzHY.js} +1 -1
  14. package/frontend-dist/assets/{Login-DJ901WNr.js → Login-9ZLrg5AA.js} +1 -1
  15. package/frontend-dist/assets/Logs-DKktTerr.js +1 -0
  16. package/frontend-dist/assets/{MappingEntryEditor-DMc-aTGm.js → MappingEntryEditor-DX749LDW.js} +1 -1
  17. package/frontend-dist/assets/{ModelMappings-Cwl3jqw2.js → ModelMappings-snvf_INI.js} +1 -1
  18. package/frontend-dist/assets/Monitor-RqCMWyto.js +1 -0
  19. package/frontend-dist/assets/Providers-DlVBSVgE.js +1 -0
  20. package/frontend-dist/assets/{ProxyEnhancement-DWgtboJm.js → ProxyEnhancement-CZBmTnsG.js} +1 -1
  21. package/frontend-dist/assets/{QuickSetup-DWsbFO_6.js → QuickSetup-BIV6mDlG.js} +1 -1
  22. package/frontend-dist/assets/{RetryRules-BhsWRvAM.js → RetryRules-DfeCwU9V.js} +1 -1
  23. package/frontend-dist/assets/RouterKeys-tCdqFDml.js +1 -0
  24. package/frontend-dist/assets/{RovingFocusItem-BcifDGwJ.js → RovingFocusItem-D3EohvxE.js} +1 -1
  25. package/frontend-dist/assets/{Schedules-CA24nOzQ.js → Schedules-ImwpwJKm.js} +1 -1
  26. package/frontend-dist/assets/{Settings-wmEJGV-Q.js → Settings-BUsDohX6.js} +1 -1
  27. package/frontend-dist/assets/{Setup-BzZrgNye.js → Setup-2xmJP0f2.js} +1 -1
  28. package/frontend-dist/assets/{Switch-DpbOdaG4.js → Switch-Ce1RNEg2.js} +1 -1
  29. package/frontend-dist/assets/{TooltipTrigger-Bm1hv-HG.js → TooltipTrigger-BvHKib2n.js} +1 -1
  30. package/frontend-dist/assets/{TransformRulesForm-CROm451Q.js → TransformRulesForm-BT9zoPTc.js} +1 -1
  31. package/frontend-dist/assets/UnifiedRequestDialog-D_88_dFB.js +3 -0
  32. package/frontend-dist/assets/{VisuallyHiddenInput-Dfr4xrvh.js → VisuallyHiddenInput-B-usxRjt.js} +1 -1
  33. package/frontend-dist/assets/{button-Cn_ZnI9p.js → button-Dm-cbgS5.js} +2 -2
  34. package/frontend-dist/assets/{copy-B1ISSl-K.js → copy-DMw-23Tb.js} +1 -1
  35. package/frontend-dist/assets/{dialog-W72I6tQK.js → dialog-Dzy4m58L.js} +1 -1
  36. package/frontend-dist/assets/{index-Dpx8LfJK.js → index-CTaQHTod.js} +2 -2
  37. package/frontend-dist/assets/{model-patches-Dfa7npgs.js → model-patches-Be68Qreu.js} +1 -1
  38. package/frontend-dist/assets/plus-BkH7yWn-.js +1 -0
  39. package/frontend-dist/assets/{sparkles-Cn9BME2D.js → sparkles-7mkrsmh7.js} +1 -1
  40. package/frontend-dist/assets/{trash-2-DSMpMRZF.js → trash-2-BoBubJto.js} +1 -1
  41. package/frontend-dist/assets/useClipboard-DebN1Yvq.js +1 -0
  42. package/frontend-dist/assets/{useLogRetention-qeuUgaAR.js → useLogRetention-BGDglTVo.js} +1 -1
  43. package/frontend-dist/index.html +2 -2
  44. package/package.json +1 -1
  45. package/frontend-dist/assets/Logs-BGWbAGa4.js +0 -1
  46. package/frontend-dist/assets/Monitor-BwO1WnJD.js +0 -1
  47. package/frontend-dist/assets/Providers-oAhYdMc-.js +0 -1
  48. package/frontend-dist/assets/RouterKeys-Ckk3R7zi.js +0 -1
  49. package/frontend-dist/assets/UnifiedRequestDialog-BPvDIOZz.js +0 -3
  50. package/frontend-dist/assets/plus-CcSvL3Cd.js +0 -1
@@ -1 +0,0 @@
1
- import{$ as e,A as t,Gt as n,H as r,J as i,K as a,L as o,Lt as s,M as c,N as l,Nt as u,Q as d,X as f,Xt as p,Z as m,et as h,gt as g,it as _,k as v,kt as y,mt as ee,n as b,nt as x,q as te,qt as S,rt as C,vt as w,xt as ne}from"./button-Cn_ZnI9p.js";import{t as re}from"./copy-B1ISSl-K.js";import{a as ie,n as ae,o as oe,s as se,t as T}from"./model-patches-Dfa7npgs.js";import{a as ce,c as le,d as ue,f as de,l as fe,n as pe,o as me,r as he,s as ge,t as _e,u as E}from"./dialog-W72I6tQK.js";import{t as D}from"./Label-D6iOUZ8Q.js";import{_ as ve,a as ye,c as be,d as xe,f as Se,g as Ce,h as O,i as k,l as we,m as Te,o as Ee,p as De,pt as Oe,s as ke,u as Ae,x as je}from"./index-Dpx8LfJK.js";import{t as A}from"./Input-BdVdLvb5.js";import{n as Me,t as Ne}from"./TransformRulesForm-CROm451Q.js";var Pe=o(`rotate-cw`,[[`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`}]]),Fe=o(`shield`,[[`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`}]]),Ie={class:`border rounded-md p-3 space-y-3`},Le={class:`flex items-center gap-3`},Re={class:`text-xs font-medium text-muted-foreground whitespace-nowrap`},ze={key:0,class:`grid grid-cols-4 gap-3`},Be={class:`col-span-2`},Ve=_({__name:`ProxyConfigForm`,props:{proxyType:{type:String,default:``},proxyUrl:{type:String,default:``},proxyUsername:{type:String,default:``},proxyPassword:{type:String,default:``}},emits:[`update:proxyType`,`update:proxyUrl`,`update:proxyUsername`,`update:proxyPassword`,`clear`],setup(t,{emit:i}){let a=i,{t:o}=r();function s(e){let t=typeof e==`string`?e:e==null?``:JSON.stringify(e),n=t===`none`?``:t;a(`update:proxyType`,n),n||a(`clear`)}return(r,i)=>(g(),h(`div`,Ie,[m(`div`,Le,[m(`span`,Re,p(n(o)(`providers.fields.proxyTitle`)),1),C(n(ve),{"model-value":t.proxyType||`none`,class:`w-32`,"onUpdate:modelValue":s},{default:y(()=>[C(n(Te),null,{default:y(()=>[C(n(De))]),_:1}),C(n(Ce),null,{default:y(()=>[C(n(O),{value:`none`},{default:y(()=>[x(p(n(o)(`providers.fields.proxyNoProxy`)),1)]),_:1}),C(n(O),{value:`http`},{default:y(()=>[x(p(n(o)(`providers.fields.proxyHttp`)),1)]),_:1}),C(n(O),{value:`socks5`},{default:y(()=>[x(p(n(o)(`providers.fields.proxySocks5`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`])]),t.proxyType?(g(),h(`div`,ze,[m(`div`,Be,[C(n(D),{class:`text-xs text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.fields.proxyUrl`)),1)]),_:1}),C(n(A),{"model-value":t.proxyUrl,type:`text`,class:`mt-1 font-mono text-xs`,placeholder:t.proxyType===`socks5`?n(o)(`providers.fields.proxyUrlPlaceholderSocks5`):n(o)(`providers.fields.proxyUrlPlaceholderHttp`),"onUpdate:modelValue":i[0]||=e=>a(`update:proxyUrl`,e)},null,8,[`model-value`,`placeholder`])]),m(`div`,null,[C(n(D),{class:`text-xs text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.fields.proxyUsername`)),1)]),_:1}),C(n(A),{"model-value":t.proxyUsername,type:`text`,class:`mt-1`,placeholder:n(o)(`providers.fields.proxyAuthOptional`),"onUpdate:modelValue":i[1]||=e=>a(`update:proxyUsername`,e)},null,8,[`model-value`,`placeholder`])]),m(`div`,null,[C(n(D),{class:`text-xs text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.fields.proxyPassword`)),1)]),_:1}),C(n(A),{"model-value":t.proxyPassword,type:`password`,class:`mt-1`,placeholder:n(o)(`providers.fields.proxyAuthOptional`),"onUpdate:modelValue":i[2]||=e=>a(`update:proxyPassword`,e)},null,8,[`model-value`,`placeholder`])])])):e(``,!0)]))}}),j;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(j||={});var He;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(He||={});var M=j.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),N=e=>{switch(typeof e){case`undefined`:return M.undefined;case`string`:return M.string;case`number`:return Number.isNaN(e)?M.nan:M.number;case`boolean`:return M.boolean;case`function`:return M.function;case`bigint`:return M.bigint;case`symbol`:return M.symbol;case`object`:return Array.isArray(e)?M.array:e===null?M.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?M.promise:typeof Map<`u`&&e instanceof Map?M.map:typeof Set<`u`&&e instanceof Set?M.set:typeof Date<`u`&&e instanceof Date?M.date:M.object;default:return M.unknown}},P=j.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),F=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,j.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};F.create=e=>new F(e);var Ue=(e,t)=>{let n;switch(e.code){case P.invalid_type:n=e.received===M.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case P.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,j.jsonStringifyReplacer)}`;break;case P.unrecognized_keys:n=`Unrecognized key(s) in object: ${j.joinValues(e.keys,`, `)}`;break;case P.invalid_union:n=`Invalid input`;break;case P.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${j.joinValues(e.options)}`;break;case P.invalid_enum_value:n=`Invalid enum value. Expected ${j.joinValues(e.options)}, received '${e.received}'`;break;case P.invalid_arguments:n=`Invalid function arguments`;break;case P.invalid_return_type:n=`Invalid function return type`;break;case P.invalid_date:n=`Invalid date`;break;case P.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:j.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case P.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case P.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case P.custom:n=`Invalid input`;break;case P.invalid_intersection_types:n=`Intersection results could not be merged`;break;case P.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case P.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,j.assertNever(e)}return{message:n}},We=Ue;function Ge(){return We}var Ke=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function I(e,t){let n=Ge(),r=Ke({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Ue?void 0:Ue].filter(e=>!!e)});e.common.issues.push(r)}var L=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return R;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return R;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},R=Object.freeze({status:`aborted`}),qe=e=>({status:`dirty`,value:e}),z=e=>({status:`valid`,value:e}),B=e=>e.status===`aborted`,Je=e=>e.status===`dirty`,V=e=>e.status===`valid`,Ye=e=>typeof Promise<`u`&&e instanceof Promise,H;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(H||={});var U=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Xe=(e,t)=>{if(V(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new F(e.common.issues);return this._error=t,this._error}}};function W(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var G=class{get description(){return this._def.description}_getType(e){return N(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:N(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new L,ctx:{common:e.parent.common,data:e.data,parsedType:N(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Ye(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:N(e)};return Xe(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:N(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return V(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>V(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:N(e)},r=this._parse({data:e,path:n.path,parent:n});return Xe(n,await(Ye(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:P.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new X({schema:this,typeName:$.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return Z.create(this,this._def)}nullable(){return Q.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Nt.create(this)}promise(){return Jt.create(this,this._def)}or(e){return Ft.create([this,e],this._def)}and(e){return Rt.create(this,e,this._def)}transform(e){return new X({...W(this._def),schema:this,typeName:$.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new Yt({...W(this._def),innerType:this,defaultValue:t,typeName:$.ZodDefault})}brand(){return new Qt({typeName:$.ZodBranded,type:this,...W(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Xt({...W(this._def),innerType:this,catchValue:t,typeName:$.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return $t.create(this,e)}readonly(){return en.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Ze=/^c[^\s-]{8,}$/i,Qe=/^[0-9a-z]+$/,$e=/^[0-9A-HJKMNP-TV-Z]{26}$/i,et=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,tt=/^[a-z0-9_-]{21}$/i,nt=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,rt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,it=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,at=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,ot,st=/^(?:(?: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])$/,ct=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,lt=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,ut=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,dt=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ft=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,pt=`((\\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])))`,mt=RegExp(`^${pt}$`);function ht(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function gt(e){return RegExp(`^${ht(e)}$`)}function _t(e){let t=`${pt}T${ht(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function vt(e,t){return!!((t===`v4`||!t)&&st.test(e)||(t===`v6`||!t)&&lt.test(e))}function yt(e,t){if(!nt.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function bt(e,t){return!!((t===`v4`||!t)&&ct.test(e)||(t===`v6`||!t)&&ut.test(e))}var xt=class e extends G{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==M.string){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.string,received:t.parsedType}),R}let t=new L,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),I(n,{code:P.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),I(n,{code:P.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?I(n,{code:P.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&I(n,{code:P.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)it.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`email`,code:P.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)ot||=new RegExp(at,`u`),ot.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`emoji`,code:P.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)et.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`uuid`,code:P.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)tt.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`nanoid`,code:P.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Ze.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`cuid`,code:P.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Qe.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`cuid2`,code:P.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)$e.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`ulid`,code:P.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),I(n,{validation:`url`,code:P.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`regex`,code:P.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),I(n,{code:P.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),I(n,{code:P.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),I(n,{code:P.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?_t(r).test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{code:P.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?mt.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{code:P.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?gt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{code:P.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?rt.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`duration`,code:P.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?vt(e.data,r.version)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`ip`,code:P.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?yt(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`jwt`,code:P.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?bt(e.data,r.version)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`cidr`,code:P.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?dt.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`base64`,code:P.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?ft.test(e.data)||(n=this._getOrReturnCtx(e,n),I(n,{validation:`base64url`,code:P.invalid_string,message:r.message}),t.dirty()):j.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:P.invalid_string,...H.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...H.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...H.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...H.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...H.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...H.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...H.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...H.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...H.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...H.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...H.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...H.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...H.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...H.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...H.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...H.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...H.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...H.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...H.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...H.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...H.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...H.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...H.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...H.errToObj(t)})}nonempty(e){return this.min(1,H.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};xt.create=e=>new xt({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...W(e)});function St(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var Ct=class e extends G{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==M.number){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.number,received:t.parsedType}),R}let t,n=new L;for(let r of this._def.checks)r.kind===`int`?j.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),I(t,{code:P.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),I(t,{code:P.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),I(t,{code:P.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?St(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),I(t,{code:P.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),I(t,{code:P.not_finite,message:r.message}),n.dirty()):j.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,H.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,H.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,H.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,H.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:H.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:H.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:H.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:H.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:H.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:H.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:H.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:H.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:H.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:H.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&j.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};Ct.create=e=>new Ct({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...W(e)});var wt=class e extends G{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==M.bigint)return this._getInvalidInput(e);let t,n=new L;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),I(t,{code:P.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),I(t,{code:P.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),I(t,{code:P.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):j.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.bigint,received:t.parsedType}),R}gte(e,t){return this.setLimit(`min`,e,!0,H.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,H.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,H.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,H.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:H.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:H.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:H.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:H.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:H.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:H.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};wt.create=e=>new wt({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...W(e)});var Tt=class extends G{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==M.boolean){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.boolean,received:t.parsedType}),R}return z(e.data)}};Tt.create=e=>new Tt({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...W(e)});var Et=class e extends G{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==M.date){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.date,received:t.parsedType}),R}if(Number.isNaN(e.data.getTime()))return I(this._getOrReturnCtx(e),{code:P.invalid_date}),R;let t=new L,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),I(n,{code:P.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),I(n,{code:P.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):j.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:H.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:H.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};Et.create=e=>new Et({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...W(e)});var Dt=class extends G{_parse(e){if(this._getType(e)!==M.symbol){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.symbol,received:t.parsedType}),R}return z(e.data)}};Dt.create=e=>new Dt({typeName:$.ZodSymbol,...W(e)});var Ot=class extends G{_parse(e){if(this._getType(e)!==M.undefined){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.undefined,received:t.parsedType}),R}return z(e.data)}};Ot.create=e=>new Ot({typeName:$.ZodUndefined,...W(e)});var kt=class extends G{_parse(e){if(this._getType(e)!==M.null){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.null,received:t.parsedType}),R}return z(e.data)}};kt.create=e=>new kt({typeName:$.ZodNull,...W(e)});var At=class extends G{constructor(){super(...arguments),this._any=!0}_parse(e){return z(e.data)}};At.create=e=>new At({typeName:$.ZodAny,...W(e)});var jt=class extends G{constructor(){super(...arguments),this._unknown=!0}_parse(e){return z(e.data)}};jt.create=e=>new jt({typeName:$.ZodUnknown,...W(e)});var K=class extends G{_parse(e){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.never,received:t.parsedType}),R}};K.create=e=>new K({typeName:$.ZodNever,...W(e)});var Mt=class extends G{_parse(e){if(this._getType(e)!==M.undefined){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.void,received:t.parsedType}),R}return z(e.data)}};Mt.create=e=>new Mt({typeName:$.ZodVoid,...W(e)});var Nt=class e extends G{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==M.array)return I(t,{code:P.invalid_type,expected:M.array,received:t.parsedType}),R;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(I(t,{code:e?P.too_big:P.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(I(t,{code:P.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(I(t,{code:P.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new U(t,e,t.path,n)))).then(e=>L.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new U(t,e,t.path,n)));return L.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:H.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:H.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:H.toString(n)}})}nonempty(e){return this.min(1,e)}};Nt.create=(e,t)=>new Nt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...W(t)});function Pt(e){if(e instanceof q){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Z.create(Pt(r))}return new q({...e._def,shape:()=>t})}else if(e instanceof Nt)return new Nt({...e._def,type:Pt(e.element)});else if(e instanceof Z)return Z.create(Pt(e.unwrap()));else if(e instanceof Q)return Q.create(Pt(e.unwrap()));else if(e instanceof Y)return Y.create(e.items.map(e=>Pt(e)));else return e}var q=class e extends G{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=j.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==M.object){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.object,received:t.parsedType}),R}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof K&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new U(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof K){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(I(n,{code:P.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new U(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>L.mergeObjectSync(t,e)):L.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return H.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:H.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:$.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of j.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of j.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return Pt(this)}partial(t){let n={};for(let e of j.objectKeys(this.shape)){let r=this.shape[e];t&&!t[e]?n[e]=r:n[e]=r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of j.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof Z;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return Gt(j.objectKeys(this.shape))}};q.create=(e,t)=>new q({shape:()=>e,unknownKeys:`strip`,catchall:K.create(),typeName:$.ZodObject,...W(t)}),q.strictCreate=(e,t)=>new q({shape:()=>e,unknownKeys:`strict`,catchall:K.create(),typeName:$.ZodObject,...W(t)}),q.lazycreate=(e,t)=>new q({shape:e,unknownKeys:`strip`,catchall:K.create(),typeName:$.ZodObject,...W(t)});var Ft=class extends G{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new F(e.ctx.common.issues));return I(t,{code:P.invalid_union,unionErrors:n}),R}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new F(e));return I(t,{code:P.invalid_union,unionErrors:i}),R}}get options(){return this._def.options}};Ft.create=(e,t)=>new Ft({options:e,typeName:$.ZodUnion,...W(t)});var J=e=>e instanceof Ut?J(e.schema):e instanceof X?J(e.innerType()):e instanceof Wt?[e.value]:e instanceof Kt?e.options:e instanceof qt?j.objectValues(e.enum):e instanceof Yt?J(e._def.innerType):e instanceof Ot?[void 0]:e instanceof kt?[null]:e instanceof Z?[void 0,...J(e.unwrap())]:e instanceof Q?[null,...J(e.unwrap())]:e instanceof Qt||e instanceof en?J(e.unwrap()):e instanceof Xt?J(e._def.innerType):[],It=class e extends G{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.object)return I(t,{code:P.invalid_type,expected:M.object,received:t.parsedType}),R;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(I(t,{code:P.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),R)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=J(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...W(r)})}};function Lt(e,t){let n=N(e),r=N(t);if(e===t)return{valid:!0,data:e};if(n===M.object&&r===M.object){let n=j.objectKeys(t),r=j.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Lt(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===M.array&&r===M.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Lt(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===M.date&&r===M.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var Rt=class extends G{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(B(e)||B(r))return R;let i=Lt(e.value,r.value);return i.valid?((Je(e)||Je(r))&&t.dirty(),{status:t.value,value:i.data}):(I(n,{code:P.invalid_intersection_types}),R)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Rt.create=(e,t,n)=>new Rt({left:e,right:t,typeName:$.ZodIntersection,...W(n)});var Y=class e extends G{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==M.array)return I(n,{code:P.invalid_type,expected:M.array,received:n.parsedType}),R;if(n.data.length<this._def.items.length)return I(n,{code:P.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),R;!this._def.rest&&n.data.length>this._def.items.length&&(I(n,{code:P.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new U(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>L.mergeArray(t,e)):L.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Y.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new Y({items:e,typeName:$.ZodTuple,rest:null,...W(t)})};var zt=class e extends G{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==M.object)return I(n,{code:P.invalid_type,expected:M.object,received:n.parsedType}),R;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new U(n,e,n.path,e)),value:a._parse(new U(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?L.mergeObjectAsync(t,r):L.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof G?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...W(r)}):new e({keyType:xt.create(),valueType:t,typeName:$.ZodRecord,...W(n)})}},Bt=class extends G{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==M.map)return I(n,{code:P.invalid_type,expected:M.map,received:n.parsedType}),R;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new U(n,e,n.path,[a,`key`])),value:i._parse(new U(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return R;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return R;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Bt.create=(e,t,n)=>new Bt({valueType:t,keyType:e,typeName:$.ZodMap,...W(n)});var Vt=class e extends G{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==M.set)return I(n,{code:P.invalid_type,expected:M.set,received:n.parsedType}),R;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(I(n,{code:P.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(I(n,{code:P.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return R;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new U(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:H.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:H.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};Vt.create=(e,t)=>new Vt({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...W(t)});var Ht=class e extends G{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==M.function)return I(t,{code:P.invalid_type,expected:M.function,received:t.parsedType}),R;function n(e,n){return Ke({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ge(),Ue].filter(e=>!!e),issueData:{code:P.invalid_arguments,argumentsError:n}})}function r(e,n){return Ke({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ge(),Ue].filter(e=>!!e),issueData:{code:P.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Jt){let e=this;return z(async function(...t){let o=new F([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}else{let e=this;return z(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new F([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new F([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Y.create(t).rest(jt.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||Y.create([]).rest(jt.create()),returns:n||jt.create(),typeName:$.ZodFunction,...W(r)})}},Ut=class extends G{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Ut.create=(e,t)=>new Ut({getter:e,typeName:$.ZodLazy,...W(t)});var Wt=class extends G{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return I(t,{received:t.data,code:P.invalid_literal,expected:this._def.value}),R}return{status:`valid`,value:e.data}}get value(){return this._def.value}};Wt.create=(e,t)=>new Wt({value:e,typeName:$.ZodLiteral,...W(t)});function Gt(e,t){return new Kt({values:e,typeName:$.ZodEnum,...W(t)})}var Kt=class e extends G{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return I(t,{expected:j.joinValues(n),received:t.parsedType,code:P.invalid_type}),R}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return I(t,{received:t.data,code:P.invalid_enum_value,options:n}),R}return z(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};Kt.create=Gt;var qt=class extends G{_parse(e){let t=j.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==M.string&&n.parsedType!==M.number){let e=j.objectValues(t);return I(n,{expected:j.joinValues(e),received:n.parsedType,code:P.invalid_type}),R}if(this._cache||=new Set(j.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=j.objectValues(t);return I(n,{received:n.data,code:P.invalid_enum_value,options:e}),R}return z(e.data)}get enum(){return this._def.values}};qt.create=(e,t)=>new qt({values:e,typeName:$.ZodNativeEnum,...W(t)});var Jt=class extends G{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==M.promise&&t.common.async===!1?(I(t,{code:P.invalid_type,expected:M.promise,received:t.parsedType}),R):z((t.parsedType===M.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Jt.create=(e,t)=>new Jt({type:e,typeName:$.ZodPromise,...W(t)});var X=class extends G{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{I(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return R;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?R:r.status===`dirty`||t.value===`dirty`?qe(r.value):r});{if(t.value===`aborted`)return R;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?R:r.status===`dirty`||t.value===`dirty`?qe(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?R:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?R:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`)if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!V(e))return R;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>V(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):R);j.assertNever(r)}};X.create=(e,t,n)=>new X({schema:e,typeName:$.ZodEffects,effect:t,...W(n)}),X.createWithPreprocess=(e,t,n)=>new X({schema:t,effect:{type:`preprocess`,transform:e},typeName:$.ZodEffects,...W(n)});var Z=class extends G{_parse(e){return this._getType(e)===M.undefined?z(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Z.create=(e,t)=>new Z({innerType:e,typeName:$.ZodOptional,...W(t)});var Q=class extends G{_parse(e){return this._getType(e)===M.null?z(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Q.create=(e,t)=>new Q({innerType:e,typeName:$.ZodNullable,...W(t)});var Yt=class extends G{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===M.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Yt.create=(e,t)=>new Yt({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...W(t)});var Xt=class extends G{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Ye(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new F(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new F(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Xt.create=(e,t)=>new Xt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...W(t)});var Zt=class extends G{_parse(e){if(this._getType(e)!==M.nan){let t=this._getOrReturnCtx(e);return I(t,{code:P.invalid_type,expected:M.nan,received:t.parsedType}),R}return{status:`valid`,value:e.data}}};Zt.create=e=>new Zt({typeName:$.ZodNaN,...W(e)});var Qt=class extends G{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},$t=class e extends G{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?R:e.status===`dirty`?(t.dirty(),qe(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?R:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:$.ZodPipeline})}},en=class extends G{_parse(e){let t=this._def.innerType._parse(e),n=e=>(V(e)&&(e.value=Object.freeze(e.value)),e);return Ye(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};en.create=(e,t)=>new en({innerType:e,typeName:$.ZodReadonly,...W(t)}),q.lazycreate;var $;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})($||={});var tn=xt.create;Ct.create,Zt.create,wt.create,Tt.create,Et.create,Dt.create,Ot.create,kt.create,At.create,jt.create,K.create,Mt.create,Nt.create;var nn=q.create;q.strictCreate,Ft.create,It.create,Rt.create,Y.create,zt.create,Bt.create,Vt.create,Ht.create,Ut.create,Wt.create,Kt.create,qt.create,Jt.create,X.create,Z.create,Q.create,X.createWithPreprocess,$t.create;function rn(){let{t:e}=r(),n=s({dropFieldsInput:``,requestDefaultsInput:``,injectHeadersInput:``,exists:!1});async function i(r){try{let e=await v.getTransformRules(r);e?(n.value.dropFieldsInput=(e.drop_fields||[]).join(`, `),n.value.requestDefaultsInput=e.request_defaults?JSON.stringify(e.request_defaults):``,n.value.injectHeadersInput=e.inject_headers?JSON.stringify(e.inject_headers):``,n.value.exists=!0):(n.value.dropFieldsInput=``,n.value.requestDefaultsInput=``,n.value.injectHeadersInput=``,n.value.exists=!1)}catch(r){console.error(`transformRules.load:`,r),k.error(t(r,e(`providers.transform.loadFailed`))),n.value.dropFieldsInput=``,n.value.requestDefaultsInput=``,n.value.injectHeadersInput=``,n.value.exists=!1}}function a(r){if(!r)return Promise.resolve();let i=n.value.dropFieldsInput?n.value.dropFieldsInput.split(`,`).map(e=>e.trim()).filter(Boolean):null,a=null;if(n.value.requestDefaultsInput.trim())try{a=JSON.parse(n.value.requestDefaultsInput)}catch{return k.error(e(`providers.transform.requestDefaultsJsonError`)),Promise.resolve()}let o=null;if(n.value.injectHeadersInput.trim())try{o=JSON.parse(n.value.injectHeadersInput)}catch{return k.error(e(`providers.transform.injectHeadersJsonError`)),Promise.resolve()}return v.upsertTransformRules(r,{drop_fields:i,request_defaults:a,inject_headers:o,is_active:1}).then(()=>{n.value.exists=!0,k.success(e(`providers.transform.saved`))}).catch(n=>{console.error(`transformRules.save:`,n),k.error(t(n,e(`common.saveFailed`)))})}function o(r){return r?v.deleteTransformRules(r).then(()=>{n.value.dropFieldsInput=``,n.value.requestDefaultsInput=``,n.value.injectHeadersInput=``,n.value.exists=!1,k.success(e(`providers.transform.deleted`))}).catch(n=>{console.error(`transformRules.delete:`,n),k.error(t(n,e(`providers.transform.deleteFailed`)))}):Promise.resolve()}return{transformForm:n,loadTransformRules:i,saveTransformRules:a,handleDeleteTransformRules:o}}function an(e){let t=s([]),n=s(``),r=s(``),i=f(()=>n.value?t.value.find(e=>e.group===n.value)?.presets??[]:[]);function a(){if(n.value===`__custom__`){r.value=``,e.value.name=``,e.value.api_type=`openai`,e.value.base_url=``,e.value.models=[];return}let i=t.value.find(e=>e.group===n.value)?.presets;i?.length?(r.value=i[0].plan,o()):r.value=``}function o(){let t=i.value.find(e=>e.plan===r.value);t&&(e.value.name=t.presetName,e.value.api_type=t.apiType,e.value.base_url=t.baseUrl,e.value.upstream_path=t.upstreamPath??``,e.value.models=t.models.map(e=>({name:e,context_window:ie(e),patches:T(e,t.apiType,!1),capabilities:t.modelCapabilities?.[e]})))}function c(){return i.value.find(e=>e.plan===r.value)?.modelsEndpoint}function l(){return i.value.find(e=>e.plan===r.value)?.models??[]}async function u(){try{t.value=await v.recommended.getProviders()}catch{t.value=[]}}function d(){n.value=``,r.value=``}return{providerPresets:t,presetGroup:n,presetPlan:r,availablePlans:i,onGroupChange:a,onPresetChange:o,getCurrentModelsEndpoint:c,getCurrentPresetModels:l,loadPresets:u,resetPreset:d}}var on=3,sn=10,cn=12e4,ln=10,un=100,dn=1e3,fn=1e3,pn=1e6,mn=1e3,hn={name:``,api_type:`anthropic`,base_url:``,upstream_path:``,api_key:``,models:[],is_active:!0,max_concurrency:sn,queue_timeout_ms:cn,max_queue_size:ln,adaptive_enabled:!0,proxy_type:``,proxy_url:``,proxy_username:``,proxy_password:``},gn=[{label:`8K`,value:`8000`},{label:`16K`,value:`16000`},{label:`32K`,value:`32000`},{label:`64K`,value:`64000`},{label:`128K`,value:`128000`},{label:`160K`,value:`160000`},{label:`200K`,value:`200000`},{label:`256K`,value:`256000`},{label:`1M`,value:`1000000`}],_n={openai:`OpenAI Chat Completions`,"openai-responses":`OpenAI Responses`,anthropic:`Anthropic Messages`};function vn(){let{t:e}=r(),{transformForm:t,loadTransformRules:n,saveTransformRules:i}=rn(),a=s({...hn}),o=s({}),u=s(`auto`),d=s(!1),p=s(null),m=s(``),h=s(c),g=f({get:()=>`${h.value}`,set:e=>{h.value=Number(e)}}),_=an(a);function v(){let t=nn({name:tn().min(1,e(`providers.validation.nameRequired`)).regex(/^[a-zA-Z0-9_-]+$/,e(`providers.validation.namePattern`)),base_url:tn().min(1,e(`providers.validation.baseUrlRequired`)).url(e(`providers.validation.baseUrlInvalid`))}),n={},r=t.safeParse({name:a.value.name.trim(),base_url:a.value.base_url.trim()});if(!r.success)for(let e of r.error.issues){let t=e.path[0];n[t]||(n[t]=e.message)}if(!p.value&&!a.value.api_key.trim()&&(n.api_key=e(`providers.validation.apiKeyRequired`)),u.value!==`none`){let t=a.value.max_concurrency;(!t||t<1||t>un)&&(n.max_concurrency=e(`providers.validation.concurrencyRange`,{min:1,max:un})),a.value.queue_timeout_ms<0&&(n.queue_timeout_ms=e(`providers.validation.negativeNotAllowed`));let r=a.value.max_queue_size;(!r||r<1||r>dn)&&(n.max_queue_size=e(`providers.validation.queueSizeRange`,{min:1,max:dn}))}return o.value=n,Object.keys(n).length===0}function y(){let e={name:a.value.name,api_type:a.value.api_type,base_url:a.value.base_url,upstream_path:a.value.upstream_path||void 0,models:a.value.models.map(e=>({name:e.name,context_window:e.context_window??void 0,patches:e.patches??void 0,stream_timeout_ms:e.stream_timeout_ms??void 0,capabilities:e.capabilities??void 0})),is_active:+!!a.value.is_active,max_concurrency:u.value===`none`?0:a.value.max_concurrency,queue_timeout_ms:u.value===`none`?0:a.value.queue_timeout_ms,max_queue_size:u.value===`none`?ln:a.value.max_queue_size,adaptive_enabled:+(u.value===`auto`),proxy_type:a.value.proxy_type||null,proxy_url:a.value.proxy_url?.trim()||null,proxy_username:a.value.proxy_username?.trim()||null,proxy_password:a.value.proxy_password||null};return a.value.api_key&&(e.api_key=a.value.api_key),e}function ee(){let e=m.value.trim();if(!e)return;let t=e.split(/[,,]/).map(e=>e.trim()).filter(Boolean);for(let e of t)a.value.models.some(t=>t.name===e)||a.value.models.push({name:e,context_window:h.value||2e5,patches:[],stream_timeout_ms:l,capabilities:[`text`]});m.value=``,h.value=c}function b(e){a.value.models.splice(e,1)}function x(e,t){a.value.models[e].context_window=t.contextWindow,a.value.models[e].patches=t.patches}function te(e,t){if(t===`text`)return;let n=a.value.models[e],r=n.capabilities??[`text`];n.capabilities=r.includes(t)?r.filter(e=>e!==t):[...r,t]}function S(e,t){let n=Number(t);a.value.models[e].stream_timeout_ms=n>0?n*mn:null}function C(e){u.value=e,e===`auto`?((!a.value.max_concurrency||a.value.max_concurrency<1)&&(a.value.max_concurrency=sn),a.value.adaptive_enabled=!0):e===`manual`&&((!a.value.max_concurrency||a.value.max_concurrency<1)&&(a.value.max_concurrency=on),a.value.adaptive_enabled=!1)}function w(e){return e.includes(`api.openai.com`)}function ne(){p.value=null,a.value={...hn,models:[]},u.value=`auto`,m.value=``,h.value=c,_.presetGroup.value=``,_.presetPlan.value=``,o.value={},d.value=!0}function re(e){p.value=e.id;let t=e.max_concurrency??0;t===0?u.value=`none`:e.adaptive_enabled?u.value=`auto`:u.value=`manual`,a.value={name:e.name,api_type:e.api_type,base_url:e.base_url,upstream_path:e.upstream_path||``,api_key:``,models:(e.models||[]).map(e=>({name:e.name,context_window:e.context_window??2e5,patches:e.patches??[],stream_timeout_ms:e.stream_timeout_ms??null,capabilities:e.capabilities??[`text`]})),is_active:!!e.is_active,max_concurrency:u.value===`none`?sn:t,queue_timeout_ms:e.queue_timeout_ms??cn,max_queue_size:e.max_queue_size??ln,adaptive_enabled:u.value===`auto`,proxy_type:e.proxy_type||``,proxy_url:e.proxy_url||``,proxy_username:e.proxy_username||``,proxy_password:``},_.presetGroup.value=``,_.presetPlan.value=``,m.value=``,h.value=c,o.value={},d.value=!0,n(e.id)}return{form:a,errors:o,concurrencyMode:u,dialogOpen:d,editingId:p,modelInput:m,modelContextWindow:h,contextWindowSelect:g,transformForm:t,presetHook:_,validate:v,buildPayload:y,addModel:ee,removeModel:b,updateModel:x,updateModelTimeout:S,toggleModelCapability:te,onConcurrencyModeChange:C,isOfficialOpenai:w,openCreate:ne,openEdit:re,saveTransformRules:i}}var yn={class:`grid grid-cols-2 gap-3`},bn={key:0,class:`text-xs text-destructive mt-0.5`},xn={key:0,class:`text-xs text-destructive mt-0.5`},Sn={key:0,class:`text-xs text-destructive mt-0.5`},Cn={class:`text-xs text-muted-foreground mt-0.5`},wn={class:`flex items-center justify-between mb-2`},Tn={class:`grid grid-cols-2 gap-2 mb-3`},En={class:`flex gap-2`},Dn={class:`grid grid-cols-2 gap-4`},On={class:`border rounded-md p-3 space-y-3`},kn={class:`text-xs font-medium text-muted-foreground`},An={class:`border rounded-md p-3 space-y-3`},jn={class:`text-xs font-medium text-muted-foreground`},Mn=_({__name:`ModelCapabilitiesEditor`,props:{name:{},apiType:{},baseUrl:{},apiKey:{},upstreamPath:{},proxyType:{},proxyUrl:{},proxyUsername:{},proxyPassword:{},errorsName:{},errorsBaseUrl:{},errorsApiKey:{},editingId:{},models:{},fetchingModels:{type:Boolean},modelInput:{},contextWindowSelect:{},hasModelsEndpoint:{type:Boolean},presetGroup:{},hasApiKey:{type:Boolean},concurrencyMode:{},maxConcurrency:{},queueTimeoutMs:{},maxQueueSize:{},transformInjectHeaders:{},transformDropFields:{},transformRequestDefaults:{}},emits:`update:name.update:api-type.update:base-url.update:api-key.update:upstream-path.update:proxy-type.update:proxy-url.update:proxy-username.update:proxy-password.clear-errors.update:model.remove-model.update:model-timeout.toggle-model-capability.fetch-upstream-models.add-model.update:model-input.update:context-window-select.update:concurrency-mode.update:max-concurrency.update:queue-timeout-ms.update:max-queue-size.update:inject-headers.update:drop-fields.update:request-defaults.clear-proxy`.split(`.`),setup(t,{emit:o}){let{t:s}=r(),c=t,l=o;function u(e){return e.capabilities??[`text`]}function f(e){return e.includes(`api.openai.com`)}return(t,r)=>(g(),h(i,null,[m(`div`,yn,[m(`div`,null,[C(n(D),{class:`text-xs text-muted-foreground`},{default:y(()=>[x(p(n(s)(`providers.fields.name`)),1)]),_:1}),C(n(A),{"model-value":c.name,type:`text`,required:``,class:`mt-1`,"onUpdate:modelValue":r[0]||=e=>l(`update:name`,String(e)),onInput:r[1]||=e=>l(`clear-errors`,`name`)},null,8,[`model-value`]),c.errorsName?(g(),h(`p`,bn,p(c.errorsName),1)):e(``,!0)]),m(`div`,null,[C(n(D),{class:`text-xs text-muted-foreground`},{default:y(()=>[x(p(n(s)(`providers.fields.apiType`)),1)]),_:1}),C(n(ve),{"model-value":c.apiType,"onUpdate:modelValue":r[2]||=e=>l(`update:api-type`,String(e)),class:`mt-1`},{default:y(()=>[C(n(Te),null,{default:y(()=>[C(n(De),{placeholder:n(s)(`common.pleaseSelect`)},null,8,[`placeholder`])]),_:1}),C(n(Ce),null,{default:y(()=>[C(n(O),{value:`openai`},{default:y(()=>[...r[25]||=[x(`OpenAI Chat Completions`,-1)]]),_:1}),C(n(O),{value:`openai-responses`},{default:y(()=>[...r[26]||=[x(`OpenAI Responses`,-1)]]),_:1}),C(n(O),{value:`anthropic`},{default:y(()=>[...r[27]||=[x(`Anthropic Messages`,-1)]]),_:1})]),_:1})]),_:1},8,[`model-value`])]),m(`div`,null,[C(n(D),{class:`text-xs text-muted-foreground`},{default:y(()=>[x(p(n(s)(`providers.fields.baseUrl`)),1)]),_:1}),C(n(A),{"model-value":c.baseUrl,type:`url`,required:``,class:`mt-1 font-mono text-xs`,"onUpdate:modelValue":r[3]||=e=>l(`update:base-url`,String(e)),onInput:r[4]||=e=>l(`clear-errors`,`base_url`)},null,8,[`model-value`]),c.errorsBaseUrl?(g(),h(`p`,xn,p(c.errorsBaseUrl),1)):e(``,!0)]),m(`div`,null,[C(n(D),{class:`text-xs text-muted-foreground`},{default:y(()=>[x(p(n(s)(`providers.fields.apiKey`)),1)]),_:1}),C(n(A),{"model-value":c.apiKey,type:`text`,required:!c.editingId,placeholder:c.editingId?n(s)(`providers.fields.apiKeyPlaceholder`):``,class:`mt-1`,"onUpdate:modelValue":r[5]||=e=>l(`update:api-key`,String(e)),onInput:r[6]||=e=>l(`clear-errors`,`api_key`)},null,8,[`model-value`,`required`,`placeholder`]),c.errorsApiKey?(g(),h(`p`,Sn,p(c.errorsApiKey),1)):e(``,!0)])]),m(`div`,null,[C(n(D),{class:`text-xs`},{default:y(()=>[x(p(n(s)(`providers.fields.upstreamPath`)),1)]),_:1}),C(n(A),{"model-value":c.upstreamPath,placeholder:n(s)(`providers.fields.upstreamPathPlaceholder`),class:`mt-1 font-mono text-xs`,"onUpdate:modelValue":r[7]||=e=>l(`update:upstream-path`,String(e))},null,8,[`model-value`,`placeholder`]),m(`p`,Cn,p(n(s)(`providers.fields.upstreamPathHint`)),1)]),C(Ve,{"proxy-type":c.proxyType,"proxy-url":c.proxyUrl,"proxy-username":c.proxyUsername,"proxy-password":c.proxyPassword,"onUpdate:proxyType":r[8]||=e=>l(`update:proxy-type`,e),"onUpdate:proxyUrl":r[9]||=e=>l(`update:proxy-url`,e),"onUpdate:proxyUsername":r[10]||=e=>l(`update:proxy-username`,e),"onUpdate:proxyPassword":r[11]||=e=>l(`update:proxy-password`,e),onClear:r[12]||=e=>l(`clear-proxy`)},null,8,[`proxy-type`,`proxy-url`,`proxy-username`,`proxy-password`]),m(`div`,null,[m(`div`,wn,[C(n(D),{class:`text-xs text-muted-foreground`},{default:y(()=>[x(p(n(s)(`providers.fields.availableModels`)),1)]),_:1}),!c.editingId&&c.presetGroup&&c.presetGroup!==`__custom__`&&(c.hasApiKey||!c.hasModelsEndpoint)?(g(),d(n(b),{key:0,type:`button`,variant:`outline`,size:`sm`,class:`text-xs`,disabled:c.fetchingModels,onClick:r[13]||=e=>l(`fetch-upstream-models`)},{default:y(()=>[C(n(Pe),{class:S([`w-3 h-3 mr-1`,{"animate-spin":c.fetchingModels}])},null,8,[`class`]),x(` `+p(c.fetchingModels?n(s)(`providers.fetchModels.loading`):c.hasModelsEndpoint?n(s)(`providers.fetchModels.button`):n(s)(`providers.fetchModels.buttonPreset`)),1)]),_:1},8,[`disabled`])):e(``,!0)]),m(`div`,Tn,[(g(!0),h(i,null,w(c.models,(e,t)=>(g(),h(`div`,{key:t},[C(ae,{model:{name:e.name,contextWindow:e.context_window??2e5,enabled:!0,patches:e.patches??[]},"api-type":c.apiType,"is-deep-seek":e.name.toLowerCase().includes(`deepseek`),"is-non-openai-endpoint":!f(c.baseUrl),"stream-timeout-ms":e.stream_timeout_ms??void 0,capabilities:u(e),"onUpdate:model":e=>l(`update:model`,t,e),onRemove:e=>l(`remove-model`,t),"onUpdate:streamTimeoutMs":e=>l(`update:model-timeout`,t,String(e?Math.round(e/1e3):``)),onToggleCapability:e=>l(`toggle-model-capability`,t,e)},null,8,[`model`,`api-type`,`is-deep-seek`,`is-non-openai-endpoint`,`stream-timeout-ms`,`capabilities`,`onUpdate:model`,`onRemove`,`onUpdate:streamTimeoutMs`,`onToggleCapability`])]))),128))]),m(`div`,En,[C(n(A),{"model-value":c.modelInput,"onUpdate:modelValue":r[14]||=e=>l(`update:model-input`,String(e)),placeholder:n(s)(`providers.fields.modelInputPlaceholder`),onKeydown:r[15]||=a(te(e=>l(`add-model`),[`prevent`]),[`enter`]),class:`flex-1`},null,8,[`model-value`,`placeholder`]),C(n(ve),{"model-value":c.contextWindowSelect,"onUpdate:modelValue":r[16]||=e=>l(`update:context-window-select`,String(e))},{default:y(()=>[C(n(Te),{class:`w-28`},{default:y(()=>[C(n(De),{placeholder:n(s)(`providers.fields.context`)},null,8,[`placeholder`])]),_:1}),C(n(Ce),null,{default:y(()=>[(g(!0),h(i,null,w(n(gn),e=>(g(),d(n(O),{key:e.value,value:e.value},{default:y(()=>[x(p(e.label),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`]),C(n(b),{type:`button`,variant:`outline`,size:`sm`,onClick:r[17]||=e=>l(`add-model`),disabled:!c.modelInput.trim()},{default:y(()=>[x(p(n(s)(`providers.fields.addModel`)),1)]),_:1},8,[`disabled`])])]),m(`div`,Dn,[m(`div`,On,[m(`div`,kn,p(n(s)(`providers.concurrency.title`)),1),C(Me,{mode:c.concurrencyMode,"max-concurrency":c.maxConcurrency,"queue-timeout-ms":c.queueTimeoutMs,"max-queue-size":c.maxQueueSize,compact:``,"onUpdate:mode":r[18]||=e=>l(`update:concurrency-mode`,e),"onUpdate:maxConcurrency":r[19]||=e=>l(`update:max-concurrency`,e),"onUpdate:queueTimeoutMs":r[20]||=e=>l(`update:queue-timeout-ms`,e),"onUpdate:maxQueueSize":r[21]||=e=>l(`update:max-queue-size`,e)},null,8,[`mode`,`max-concurrency`,`queue-timeout-ms`,`max-queue-size`])]),m(`div`,An,[m(`div`,jn,p(n(s)(`providers.transform.title`)),1),C(Ne,{"inject-headers":c.transformInjectHeaders,"drop-fields":c.transformDropFields,"request-defaults":c.transformRequestDefaults,"onUpdate:injectHeaders":r[22]||=e=>l(`update:inject-headers`,e),"onUpdate:dropFields":r[23]||=e=>l(`update:drop-fields`,e),"onUpdate:requestDefaults":r[24]||=e=>l(`update:request-defaults`,e)},null,8,[`inject-headers`,`drop-fields`,`request-defaults`])])])],64))}}),Nn=7,Pn=7,Fn=2e3;function In(){let{t:e}=r(),n=s([]),i=s(!1),a=s(null),o=s(null),c=s(null),l=s(null),u=s(!1),d=s([]);async function f(){try{n.value=await v.getProviders()}catch(n){console.error(`Failed to load providers:`,n),k.error(t(n,e(`providers.toast.loadFailed`)))}}function p(e){return e?e.slice(0,Nn)+`*`.repeat(Pn):``}async function m(e,t){await navigator.clipboard.writeText(e),a.value=t,setTimeout(()=>{a.value=null},Fn)}function h(e){o.value=e}async function g(e){if(c.value=e,l.value=e.id,u.value=!!e.is_active,d.value=[],e.is_active)try{d.value=(await v.getProviderDependencies(e.id)).references}catch{d.value=[]}}async function _(){let n=l.value;if(!n)return;let r=u.value;c.value=null,l.value=null;try{let t=await v.updateProvider(n,{is_active:+!r});if(t.cascadedGroups?.length){let n=t.cascadedGroups.filter(e=>e.disabled).length,r=t.cascadedGroups.length-n,i=[];r>0&&i.push(e(`providers.toast.cascadeClean`,{count:r})),n>0&&i.push(e(`providers.toast.cascadeDisable`,{count:n})),k.warning(e(`providers.toast.cascadeAuto`,{actions:i.join(`, `)}))}await f()}catch(n){console.error(`Failed to toggle provider:`,n),k.error(t(n,e(`providers.toast.toggleFailed`)))}}async function y(){let n=o.value;if(n){o.value=null;try{await v.deleteProvider(n.id),await f()}catch(n){console.error(`providerActions.delete:`,n),k.error(t(n,e(`providers.toast.deleteFailed`)))}}}async function ee(){i.value=!0;try{let t=await v.reloadTransformRules();k.success(e(`providers.toast.reloadSuccess`,{pluginCount:t.loadedPlugins.length,rulesCount:t.rulesCount}))}catch(n){console.error(`providerActions.reload:`,n),k.error(t(n,e(`providers.toast.reloadFailed`)))}finally{i.value=!1}}return{providers:n,reloading:i,copiedId:a,deleteTarget:o,toggleTarget:c,pendingToggleId:l,pendingToggleActive:u,toggleDependencies:d,maskKey:p,copyKey:m,loadProviders:f,confirmDelete:h,confirmToggle:g,handleToggle:_,handleDelete:y,handleReload:ee}}function Ln(e,t,n){let{t:i}=r(),a=s(!1);function o(t,n){if(t.length===0){k.info(i(`providers.fetchModels.empty`));return}let r=new Set(e.value.models.map(e=>e.name)),a=0;for(let n of t)r.has(n)||(e.value.models.push({name:n,context_window:ie(n),patches:T(n,e.value.api_type,!1)}),a++);a>0?k.success(i(`providers.fetchModels.success`,{source:n,total:t.length,added:a})):k.info(i(`providers.fetchModels.allExist`,{total:t.length}))}function c(){o(n(),i(`providers.fetchModels.sourcePreset`))}async function l(){let n=t();if(!n){c();return}if(!e.value.api_key?.trim()){k.error(i(`providers.fetchModels.noApiKey`));return}a.value=!0;try{let t=await v.fetchUpstreamModels({base_url:e.value.base_url,models_endpoint:n,api_key:e.value.api_key,api_type:e.value.api_type});if(t.length===0){c();return}o(t,i(`providers.fetchModels.sourceUpstream`))}catch{c()}finally{a.value=!1}}return{fetchingModels:a,fetchUpstreamModels:l}}var Rn={class:`p-6`},zn={class:`flex items-center justify-between mb-4`},Bn={class:`text-lg font-semibold text-foreground`},Vn={class:`flex items-center gap-2`},Hn={class:`bg-card rounded-lg border overflow-hidden`},Un={class:`space-y-0.5`},Wn={class:`flex items-center gap-2 font-medium`},Gn={class:`text-xs text-muted-foreground`},Kn={class:`text-xs text-muted-foreground flex items-center gap-1 max-w-0`},qn={class:`truncate`},Jn={class:`flex items-center gap-1`},Yn={class:`font-mono text-xs text-muted-foreground`},Xn={class:`truncate block`},Zn={key:0,class:`ml-1 text-muted-foreground`},Qn={key:0,class:`text-muted-foreground text-xs`},$n={key:2,class:`text-muted-foreground`},er={class:`flex items-center gap-1`},tr={key:0,class:`rounded-md border-2 border-primary/30 bg-primary/5 p-3 space-y-2`},nr={class:`flex items-center gap-1.5 text-xs font-semibold text-primary`},rr={class:`flex gap-2`},ir={key:1,class:`flex flex-col items-center justify-center py-10 text-muted-foreground`},ar={class:`text-sm`},or={key:0,class:`mt-2 space-y-1`},sr={class:`text-sm font-medium`},cr=_({__name:`Providers`,setup(a){let{t:o}=r(),{form:s,errors:c,concurrencyMode:l,dialogOpen:f,editingId:_,modelInput:ie,contextWindowSelect:ae,transformForm:T,presetHook:D,validate:A,buildPayload:Me,addModel:Ne,removeModel:Ie,updateModel:Le,updateModelTimeout:Re,toggleModelCapability:ze,onConcurrencyModeChange:Be,openCreate:Ve,openEdit:j,saveTransformRules:He}=vn(),{providerPresets:M,presetGroup:N,presetPlan:P,availablePlans:F,onGroupChange:Ue,onPresetChange:We,loadPresets:Ge,getCurrentModelsEndpoint:Ke,getCurrentPresetModels:I}=D,{providers:L,reloading:R,copiedId:qe,deleteTarget:z,toggleTarget:B,toggleDependencies:Je,maskKey:V,copyKey:Ye,loadProviders:H,confirmDelete:U,confirmToggle:Xe,handleToggle:W,handleDelete:G,handleReload:Ze}=In(),{fetchingModels:Qe,fetchUpstreamModels:$e}=Ln(s,Ke,I),et={deepseek:`deepseek`,qianfan:`baidu`,百度千帆:`baidu`,iflytek:`iflytek`,科大讯飞:`iflytek`,siliconflow:`siliconcloud`,硅基流动:`siliconcloud`,zhipu:`zhipu`,智谱:`zhipu`,kimi:`moonshot`,moonshot:`moonshot`,月之暗面:`moonshot`,minimax:`minimax`,volcengine:`volcengine`,火山引擎:`volcengine`,aliyun:`alibaba`,alibaba:`alibaba`,阿里云:`alibaba`,tencent:`tencentcloud`,腾讯云:`tencentcloud`,opencode:`opencode`,stepfun:`stepfun`,阶跃星辰:`stepfun`};function tt(e){let t=e.toLowerCase();for(let[e,n]of Object.entries(et))if(t.includes(e))return n;return t}let nt={anthropic:`/v1/messages`,openai:`/v1/chat/completions`,"openai-responses":`/v1/responses`};function rt(e){let t=e.upstream_path||nt[e.api_type]||`/v1/chat/completions`;try{let n=new URL(e.base_url),r=n.pathname.replace(/\/+$/,``),i=t.replace(/\/+$/,``);return r.endsWith(i)?`${n.origin}${r}`:`${n.origin}${r}${t}`}catch{return`${e.base_url.replace(/\/+$/,``)}${t}`}}function it(e){return e.capabilities??[`text`]}function at(e){return e>=1e6?`${e/pn}M`:e>=1e3?`${e/fn}K`:`${e}`}async function ot(){if(A())try{let e=Me();e.name=s.value.name.trim();let t=_.value;_.value?await v.updateProvider(_.value,e):(e.api_key=s.value.api_key,t=(await v.createProvider(e)).id),await He(t),f.value=!1,await H()}catch(e){console.error(`Failed to save provider:`,e),k.error(t(e,o(`providers.toast.saveFailed`)))}}return ee(async()=>{await Promise.allSettled([Ge(),H()])}),(t,r)=>(g(),h(`div`,Rn,[m(`div`,zn,[m(`h2`,Bn,p(n(o)(`providers.title`)),1),m(`div`,Vn,[C(n(b),{variant:`outline`,size:`sm`,onClick:n(Ze),disabled:n(R)},{default:y(()=>[C(n(Pe),{class:S([`w-4 h-4 mr-1`,{"animate-spin":n(R)}])},null,8,[`class`]),x(` `+p(n(o)(`providers.reloadPlugin`)),1)]),_:1},8,[`onClick`,`disabled`]),C(n(b),{onClick:n(Ve),class:`flex items-center gap-1`},{default:y(()=>[r[25]||=m(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[m(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),x(` `+p(n(o)(`providers.addProvider`)),1)]),_:1},8,[`onClick`])])]),m(`div`,Hn,[C(n(de),{class:`[&_td]:px-4 [&_th]:px-4`},{default:y(()=>[C(n(ge),null,{default:y(()=>[C(n(fe),{class:`bg-muted`},{default:y(()=>[C(n(le),{class:`text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.tableHeaders.name`)),1)]),_:1}),C(n(le),{class:`text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.tableHeaders.apiKey`)),1)]),_:1}),C(n(le),{class:`text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.tableHeaders.models`)),1)]),_:1}),C(n(le),{class:`text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.tableHeaders.concurrency`)),1)]),_:1}),C(n(le),{class:`text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.tableHeaders.status`)),1)]),_:1}),C(n(le),{class:`text-muted-foreground`},{default:y(()=>[x(p(n(o)(`providers.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),C(n(ue),null,{default:y(()=>[(g(!0),h(i,null,w(n(L),t=>(g(),d(n(fe),{key:t.id,class:S({"opacity-60":!t.is_active})},{default:y(()=>[C(n(E),null,{default:y(()=>[m(`div`,Un,[m(`div`,Wn,[C(oe,{name:tt(t.name),size:18},null,8,[`name`]),m(`span`,null,p(t.name),1)]),m(`div`,Gn,[C(n(je),{variant:`secondary`,class:`text-[11px] px-1.5 py-0`},{default:y(()=>[x(p(n(_n)[t.api_type]??t.api_type),1)]),_:2},1024)]),m(`div`,Kn,[m(`span`,qn,p(rt(t)),1),t.proxy_type?(g(),d(n(Fe),{key:0,class:`w-3 h-3`,title:`Proxy: ${t.proxy_type.toUpperCase()}`},null,8,[`title`])):e(``,!0)])])]),_:2},1024),C(n(E),null,{default:y(()=>[m(`div`,Jn,[m(`span`,Yn,p(n(V)(t.api_key)),1),C(n(b),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:e=>n(Ye)(t.api_key,t.id)},{default:y(()=>[(g(),d(ne(n(qe)===t.id?n(Oe):n(re)),{class:S([`w-3.5 h-3.5`,{"text-success":n(qe)===t.id}])},null,8,[`class`]))]),_:2},1032,[`onClick`])])]),_:2},1024),C(n(E),null,{default:y(()=>[m(`div`,{class:S([`grid gap-1`,(t.models?.length??0)>3?`grid-cols-2`:`grid-cols-1`])},[(g(!0),h(i,null,w(t.models||[],t=>(g(),h(`div`,{key:t.name,class:`flex items-center gap-1`},[C(n(je),{variant:`secondary`,class:`text-xs max-w-[200px]`},{default:y(()=>[m(`span`,Xn,p(t.name),1),t.context_window?(g(),h(`span`,Zn,`(`+p(at(t.context_window))+`)`,1)):e(``,!0)]),_:2},1024),it(t).includes(`image`)?(g(),d(n(je),{key:0,variant:`outline`,class:`text-[10px] px-1 py-0 gap-0.5 text-primary/70 border-primary/20`},{default:y(()=>[C(n(se),{class:`w-2.5 h-2.5`})]),_:1})):e(``,!0)]))),128)),t.models?.length?e(``,!0):(g(),h(`span`,Qn,`-`))],2)]),_:2},1024),C(n(E),null,{default:y(()=>[t.adaptive_enabled?(g(),d(n(je),{key:0,variant:`outline`},{default:y(()=>[x(p(n(o)(`common.adaptive`)),1)]),_:1})):t.max_concurrency>0?(g(),d(n(je),{key:1,variant:`secondary`},{default:y(()=>[x(p(t.max_concurrency),1)]),_:2},1024)):(g(),h(`span`,$n,`-`))]),_:2},1024),C(n(E),null,{default:y(()=>[C(n(b),{variant:`ghost`,size:`sm`,class:`gap-1.5`,onClick:e=>n(Xe)(t)},{default:y(()=>[m(`span`,{class:S([`relative inline-flex h-4 w-7 shrink-0 items-center rounded-full transition-colors`,t.is_active?`bg-primary`:`bg-input`])},[m(`span`,{class:S([`inline-block h-3 w-3 rounded-full bg-background shadow-sm transition-transform`,t.is_active?`translate-x-3.5`:`translate-x-0.5`])},null,2)],2),C(n(je),{variant:t.is_active?`default`:`secondary`},{default:y(()=>[x(p(t.is_active?n(o)(`common.enabled`):n(o)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1032,[`onClick`])]),_:2},1024),C(n(E),null,{default:y(()=>[m(`div`,er,[C(n(b),{variant:`ghost`,size:`sm`,onClick:e=>n(j)(t),class:`text-muted-foreground hover:text-primary`},{default:y(()=>[x(p(n(o)(`common.edit`)),1)]),_:1},8,[`onClick`]),C(n(b),{variant:`ghost`,size:`sm`,onClick:e=>n(U)(t),class:`text-muted-foreground hover:text-destructive`},{default:y(()=>[x(p(n(o)(`common.delete`)),1)]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1032,[`class`]))),128)),n(L).length===0?(g(),d(n(fe),{key:0},{default:y(()=>[C(n(E),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:y(()=>[x(p(n(o)(`providers.noProviders`)),1)]),_:1})]),_:1})):e(``,!0)]),_:1})]),_:1})]),C(n(me),{open:n(f),"onUpdate:open":r[22]||=e=>u(f)?f.value=e:null},{default:y(()=>[C(n(ce),{class:`sm:max-w-4xl max-h-[85vh] overflow-y-auto`},{default:y(()=>[C(n(pe),null,{default:y(()=>[C(n(_e),null,{default:y(()=>[x(p(n(_)?n(o)(`providers.editProvider`):n(o)(`providers.addProvider`)),1)]),_:1})]),_:1}),m(`form`,{onSubmit:te(ot,[`prevent`]),class:`space-y-4`},[n(_)?e(``,!0):(g(),h(`div`,tr,[m(`div`,nr,[r[26]||=m(`svg`,{class:`w-3.5 h-3.5`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[m(`path`,{d:`M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z`})],-1),x(` `+p(n(o)(`providers.template.title`)),1)]),m(`div`,rr,[C(n(ve),{modelValue:n(N),"onUpdate:modelValue":[r[0]||=e=>u(N)?N.value=e:null,n(Ue)]},{default:y(()=>[C(n(Te),{class:`flex-1 border-primary/40`},{default:y(()=>[C(n(De),{placeholder:n(o)(`providers.template.selectProvider`)},null,8,[`placeholder`])]),_:1}),C(n(Ce),null,{default:y(()=>[C(n(O),{value:`__custom__`},{default:y(()=>[x(p(n(o)(`providers.template.custom`)),1)]),_:1}),(g(!0),h(i,null,w(n(M),e=>(g(),d(n(O),{key:e.group,value:e.group},{default:y(()=>[x(p(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`,`onUpdate:modelValue`]),n(N)===`__custom__`?e(``,!0):(g(),d(n(ve),{key:0,modelValue:n(P),"onUpdate:modelValue":[r[1]||=e=>u(P)?P.value=e:null,n(We)],disabled:!n(N)||n(N)===`__custom__`},{default:y(()=>[C(n(Te),{class:`flex-1 border-primary/40`},{default:y(()=>[C(n(De),{placeholder:n(o)(`providers.template.selectPlan`)},null,8,[`placeholder`])]),_:1}),C(n(Ce),null,{default:y(()=>[(g(!0),h(i,null,w(n(F),e=>(g(),d(n(O),{key:e.plan,value:e.plan},{default:y(()=>[x(p(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`disabled`]))])])),!n(N)&&!n(_)?(g(),h(`div`,ir,[r[27]||=m(`svg`,{class:`w-10 h-10 mb-3 opacity-30`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[m(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),m(`path`,{d:`M9 12l2 2 4-4`})],-1),m(`span`,ar,p(n(o)(`providers.template.selectFirst`)),1)])):e(``,!0),n(N)||n(_)?(g(),d(Mn,{key:2,name:n(s).name,"api-type":n(s).api_type,"base-url":n(s).base_url,"api-key":n(s).api_key,"upstream-path":n(s).upstream_path,"proxy-type":n(s).proxy_type,"proxy-url":n(s).proxy_url,"proxy-username":n(s).proxy_username,"proxy-password":n(s).proxy_password,"errors-name":n(c).name??``,"errors-base-url":n(c).base_url??``,"errors-api-key":n(c).api_key??``,"editing-id":n(_),models:n(s).models,"fetching-models":n(Qe),"model-input":n(ie),"context-window-select":n(ae),"has-models-endpoint":!!n(Ke)(),"preset-group":n(N),"has-api-key":!!n(s).api_key,"concurrency-mode":n(l),"max-concurrency":n(s).max_concurrency,"queue-timeout-ms":n(s).queue_timeout_ms,"max-queue-size":n(s).max_queue_size,"transform-inject-headers":n(T).injectHeadersInput,"transform-drop-fields":n(T).dropFieldsInput,"transform-request-defaults":n(T).requestDefaultsInput,"onUpdate:name":r[2]||=e=>n(s).name=e,"onUpdate:apiType":r[3]||=e=>n(s).api_type=e,"onUpdate:baseUrl":r[4]||=e=>n(s).base_url=e,"onUpdate:apiKey":r[5]||=e=>n(s).api_key=e,"onUpdate:upstreamPath":r[6]||=e=>n(s).upstream_path=e,"onUpdate:proxyType":r[7]||=e=>n(s).proxy_type=e,"onUpdate:proxyUrl":r[8]||=e=>n(s).proxy_url=e,"onUpdate:proxyUsername":r[9]||=e=>n(s).proxy_username=e,"onUpdate:proxyPassword":r[10]||=e=>n(s).proxy_password=e,onClearErrors:r[11]||=e=>delete n(c)[e],onClearProxy:r[12]||=e=>{n(s).proxy_url=``,n(s).proxy_username=``,n(s).proxy_password=``},"onUpdate:model":n(Le),onRemoveModel:n(Ie),"onUpdate:modelTimeout":n(Re),onToggleModelCapability:n(ze),onFetchUpstreamModels:n($e),onAddModel:n(Ne),"onUpdate:modelInput":r[13]||=e=>ie.value=e,"onUpdate:contextWindowSelect":r[14]||=e=>ae.value=e,"onUpdate:concurrencyMode":n(Be),"onUpdate:maxConcurrency":r[15]||=e=>n(s).max_concurrency=e,"onUpdate:queueTimeoutMs":r[16]||=e=>n(s).queue_timeout_ms=e,"onUpdate:maxQueueSize":r[17]||=e=>n(s).max_queue_size=e,"onUpdate:injectHeaders":r[18]||=e=>n(T).injectHeadersInput=e,"onUpdate:dropFields":r[19]||=e=>n(T).dropFieldsInput=e,"onUpdate:requestDefaults":r[20]||=e=>n(T).requestDefaultsInput=e},null,8,`name.api-type.base-url.api-key.upstream-path.proxy-type.proxy-url.proxy-username.proxy-password.errors-name.errors-base-url.errors-api-key.editing-id.models.fetching-models.model-input.context-window-select.has-models-endpoint.preset-group.has-api-key.concurrency-mode.max-concurrency.queue-timeout-ms.max-queue-size.transform-inject-headers.transform-drop-fields.transform-request-defaults.onUpdate:model.onRemoveModel.onUpdate:modelTimeout.onToggleModelCapability.onFetchUpstreamModels.onAddModel.onUpdate:concurrencyMode`.split(`.`))):e(``,!0),C(n(he),null,{default:y(()=>[C(n(b),{type:`button`,variant:`outline`,onClick:r[21]||=e=>f.value=!1},{default:y(()=>[x(p(n(o)(`common.cancel`)),1)]),_:1}),C(n(b),{type:`submit`},{default:y(()=>[x(p(n(o)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),C(n(Se),{open:!!n(z),"onUpdate:open":r[23]||=e=>{e||(z.value=null)}},{default:y(()=>[C(n(we),null,{default:y(()=>[C(n(Ee),null,{default:y(()=>[C(n(ye),null,{default:y(()=>[x(p(n(o)(`providers.confirmDelete.title`)),1)]),_:1}),C(n(be),null,{default:y(()=>[x(p(n(o)(`providers.confirmDelete.message`,{name:n(z)?.name})),1)]),_:1})]),_:1}),C(n(ke),null,{default:y(()=>[C(n(Ae),null,{default:y(()=>[x(p(n(o)(`common.cancel`)),1)]),_:1}),C(n(b),{variant:`destructive`,onClick:n(G)},{default:y(()=>[x(p(n(o)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`open`]),C(n(Se),{open:!!n(B),"onUpdate:open":r[24]||=e=>{e||(B.value=null)}},{default:y(()=>[C(n(we),null,{default:y(()=>[C(n(Ee),null,{default:y(()=>[C(n(ye),null,{default:y(()=>[x(p(n(B)?.is_active?n(o)(`providers.confirmToggle.titleDisable`):n(o)(`providers.confirmToggle.titleEnable`)),1)]),_:1}),C(n(be),null,{default:y(()=>[x(p(n(B)?.is_active?n(o)(`providers.confirmToggle.messageDisable`,{name:n(B)?.name}):n(o)(`providers.confirmToggle.messageEnable`,{name:n(B)?.name}))+` `,1),n(Je).length?(g(),h(`div`,or,[m(`div`,sr,p(n(o)(`providers.confirmToggle.dependencyWarning`)),1),(g(!0),h(i,null,w(n(Je),e=>(g(),h(`div`,{key:e,class:`text-destructive text-sm`},p(e),1))),128))])):e(``,!0)]),_:1})]),_:1}),C(n(ke),null,{default:y(()=>[C(n(Ae),null,{default:y(()=>[x(p(n(o)(`common.cancel`)),1)]),_:1}),C(n(xe),{onClick:n(W)},{default:y(()=>[x(p(n(o)(`common.confirm`)),1)]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{cr as default};
@@ -1 +0,0 @@
1
- import{$ as e,A as t,Gt as n,H as r,J as i,Lt as a,Q as o,Xt as s,Z as c,et as l,gt as u,it as ee,k as d,kt as f,mt as p,n as m,nt as h,q as te,qt as ne,rt as g,vt as _}from"./button-Cn_ZnI9p.js";import{t as v}from"./Checkbox-8nGGlG98.js";import{a as re,c as y,d as ie,f as ae,l as b,n as oe,o as se,r as ce,s as le,t as x,u as S}from"./dialog-W72I6tQK.js";import{t as C}from"./Label-D6iOUZ8Q.js";import{a as ue,c as de,f as fe,gt as w,i as T,l as E,o as D,s as O,u as k,x as A}from"./index-Dpx8LfJK.js";import{t as j}from"./Input-BdVdLvb5.js";var M={class:`p-6`},N={class:`flex items-center justify-between mb-4`},P={class:`text-lg font-semibold text-foreground`},F={class:`bg-card rounded-lg border overflow-hidden`},I={class:`truncate block`},L={class:`flex items-center gap-1`},R={class:`font-mono text-xs text-muted-foreground`},z={key:0,class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},B={key:1,class:`w-3.5 h-3.5 text-success`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},V={key:0,class:`flex flex-wrap gap-1`},pe={key:0,class:`text-sm text-destructive mt-1`},me={class:`text-xs text-muted-foreground mb-2`},H={class:`border rounded-md p-3 max-h-48 overflow-y-auto space-y-2 bg-muted`},he={class:`font-mono text-xs`},ge={key:0,class:`text-muted-foreground text-sm text-center py-2`},_e={key:0,class:`flex flex-wrap gap-1 mt-2`},ve={key:0,class:`flex items-center gap-2`},ye=2e3,U=ee({__name:`RouterKeys`,setup(ee){let{t:U}=r(),W={name:``,allowed_models:[],is_active:!0},G=a([]),K=a([]),q=a(!1),J=a(null),Y=a(null),X=a({...W,allowed_models:[]}),Z=a({}),Q=a(null);function be(e,t){navigator.clipboard.writeText(e),Q.value=t,setTimeout(()=>{Q.value===t&&(Q.value=null)},ye)}function xe(e){return e?e.slice(0,7)+`*`.repeat(7):``}function Se(e){return w(e)}function Ce(e){let t=X.value.allowed_models.indexOf(e);t>=0&&X.value.allowed_models.splice(t,1)}async function $(){try{let[e,t]=await Promise.allSettled([d.getRouterKeys(),d.getAvailableModels()]);e.status===`fulfilled`&&(G.value=e.value),t.status===`fulfilled`&&(K.value=t.value)}catch(e){console.error(`Failed to load data:`,e),T.error(t(e,U(`routerKeys.loadFailed`)))}}function we(){J.value=null,X.value={...W,allowed_models:[]},Z.value={},q.value=!0}function Te(e){J.value=e.id,X.value={name:e.name,allowed_models:e.allowed_models?[...e.allowed_models]:[],is_active:!!e.is_active},Z.value={},q.value=!0}function Ee(){return{name:X.value.name,allowed_models:X.value.allowed_models.length>0?X.value.allowed_models:null,is_active:+!!X.value.is_active}}function De(){return{name:X.value.name,allowed_models:X.value.allowed_models.length>0?X.value.allowed_models:null}}async function Oe(){let e={};if(X.value.name.trim()||(e.name=U(`routerKeys.nameRequired`)),Z.value=e,!(Object.keys(e).length>0))try{J.value?await d.updateRouterKey(J.value,Ee()):await d.createRouterKey(De()),q.value=!1,await $()}catch(e){console.error(`Failed to save router key:`,e),T.error(t(e,U(`routerKeys.saveFailed`)))}}function ke(e){Y.value=e}async function Ae(){let e=Y.value;if(e){Y.value=null;try{await d.deleteRouterKey(e.id),await $()}catch(e){console.error(`Failed to delete router key:`,e),T.error(t(e,U(`routerKeys.deleteFailed`)))}}}return p($),(t,r)=>(u(),l(`div`,M,[c(`div`,N,[c(`h2`,P,s(n(U)(`routerKeys.title`)),1),g(n(m),{onClick:we,class:`flex items-center gap-1`},{default:f(()=>[r[6]||=c(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[c(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),h(` `+s(n(U)(`routerKeys.createKey`)),1)]),_:1})]),c(`div`,F,[g(n(ae),{class:`[&_td]:px-4 [&_th]:px-4`},{default:f(()=>[g(n(le),null,{default:f(()=>[g(n(b),{class:`bg-muted`},{default:f(()=>[g(n(y),{class:`text-muted-foreground`},{default:f(()=>[h(s(n(U)(`routerKeys.tableHeaders.name`)),1)]),_:1}),g(n(y),{class:`text-muted-foreground`},{default:f(()=>[h(s(n(U)(`routerKeys.tableHeaders.key`)),1)]),_:1}),g(n(y),{class:`text-muted-foreground`},{default:f(()=>[h(s(n(U)(`routerKeys.tableHeaders.whitelist`)),1)]),_:1}),g(n(y),{class:`text-muted-foreground`},{default:f(()=>[h(s(n(U)(`routerKeys.tableHeaders.status`)),1)]),_:1}),g(n(y),{class:`text-muted-foreground`},{default:f(()=>[h(s(n(U)(`routerKeys.tableHeaders.createdAt`)),1)]),_:1}),g(n(y),{class:`text-right text-muted-foreground`},{default:f(()=>[h(s(n(U)(`routerKeys.tableHeaders.actions`)),1)]),_:1})]),_:1})]),_:1}),g(n(ie),null,{default:f(()=>[(u(!0),l(i,null,_(G.value,e=>(u(),o(n(b),{key:e.id,class:ne({"opacity-60":!e.is_active})},{default:f(()=>[g(n(S),{class:`font-medium max-w-[200px]`},{default:f(()=>[c(`span`,I,s(e.name),1)]),_:2},1024),g(n(S),null,{default:f(()=>[c(`div`,L,[c(`span`,R,s(xe(e.key)),1),g(n(m),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:t=>e.key&&be(e.key,e.id)},{default:f(()=>[Q.value===e.id?(u(),l(`svg`,B,[...r[8]||=[c(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(u(),l(`svg`,z,[...r[7]||=[c(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))]),_:2},1032,[`onClick`])])]),_:2},1024),g(n(S),null,{default:f(()=>[e.allowed_models&&e.allowed_models.length>0?(u(),l(`div`,V,[(u(!0),l(i,null,_(e.allowed_models,e=>(u(),o(n(A),{key:e,variant:`outline`,class:`text-xs`},{default:f(()=>[h(s(e),1)]),_:2},1024))),128))])):(u(),o(n(A),{key:1,variant:`secondary`},{default:f(()=>[h(s(n(U)(`common.allModels`)),1)]),_:1}))]),_:2},1024),g(n(S),null,{default:f(()=>[g(n(A),{variant:e.is_active?`default`:`secondary`},{default:f(()=>[h(s(e.is_active?n(U)(`common.enabled`):n(U)(`common.disabled`)),1)]),_:2},1032,[`variant`])]),_:2},1024),g(n(S),{class:`text-muted-foreground text-sm`},{default:f(()=>[h(s(Se(e.created_at)),1)]),_:2},1024),g(n(S),{class:`text-right`},{default:f(()=>[g(n(m),{variant:`ghost`,size:`sm`,onClick:t=>Te(e),class:`text-muted-foreground hover:text-primary mr-2`},{default:f(()=>[h(s(n(U)(`common.edit`)),1)]),_:1},8,[`onClick`]),g(n(m),{variant:`ghost`,size:`sm`,onClick:t=>ke(e),class:`text-muted-foreground hover:text-destructive`},{default:f(()=>[h(s(n(U)(`common.delete`)),1)]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),G.value.length===0?(u(),o(n(b),{key:0},{default:f(()=>[g(n(S),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:f(()=>[h(s(n(U)(`routerKeys.noKeys`)),1)]),_:1})]),_:1})):e(``,!0)]),_:1})]),_:1})]),g(n(se),{open:q.value,"onUpdate:open":r[4]||=e=>q.value=e},{default:f(()=>[g(n(re),{class:`sm:max-w-lg`},{default:f(()=>[g(n(oe),null,{default:f(()=>[g(n(x),null,{default:f(()=>[h(s(J.value?n(U)(`routerKeys.editKey`):n(U)(`routerKeys.createKey`)),1)]),_:1})]),_:1}),c(`form`,{onSubmit:te(Oe,[`prevent`]),class:`space-y-4`},[c(`div`,null,[g(n(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:f(()=>[h(s(n(U)(`routerKeys.tableHeaders.name`)),1)]),_:1}),g(n(j),{modelValue:X.value.name,"onUpdate:modelValue":r[0]||=e=>X.value.name=e,type:`text`,required:``,placeholder:n(U)(`routerKeys.placeholder.name`),onInput:r[1]||=e=>delete Z.value.name},null,8,[`modelValue`,`placeholder`]),Z.value.name?(u(),l(`p`,pe,s(Z.value.name),1)):e(``,!0)]),c(`div`,null,[g(n(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:f(()=>[h(s(n(U)(`routerKeys.whitelistLabel`)),1)]),_:1}),c(`div`,me,s(n(U)(`routerKeys.whitelistHint`)),1),c(`div`,H,[(u(!0),l(i,null,_(K.value,e=>(u(),o(n(C),{key:e,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:f(()=>[g(n(v),{"model-value":X.value.allowed_models.includes(e),"onUpdate:modelValue":t=>{if(t&&t!==`indeterminate`&&!X.value.allowed_models.includes(e))X.value.allowed_models.push(e);else if(!t){let t=X.value.allowed_models.indexOf(e);t>=0&&X.value.allowed_models.splice(t,1)}}},null,8,[`model-value`,`onUpdate:modelValue`]),c(`span`,he,s(e),1)]),_:2},1024))),128)),K.value.length===0?(u(),l(`div`,ge,s(n(U)(`routerKeys.noModels`)),1)):e(``,!0)]),X.value.allowed_models.length>0?(u(),l(`div`,_e,[(u(!0),l(i,null,_(X.value.allowed_models,e=>(u(),o(n(A),{key:e,variant:`outline`,class:`text-xs`},{default:f(()=>[h(s(e)+` `,1),g(n(m),{type:`button`,variant:`ghost`,size:`sm`,class:`ml-1 h-4 w-4 p-0 text-muted-foreground hover:text-destructive`,onClick:t=>Ce(e)},{default:f(()=>[...r[9]||=[h(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):e(``,!0)]),J.value?(u(),l(`div`,ve,[g(n(v),{modelValue:X.value.is_active,"onUpdate:modelValue":r[2]||=e=>X.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),g(n(C),{for:`key-active`,class:`text-sm text-foreground`},{default:f(()=>[h(s(n(U)(`common.enable`)),1)]),_:1})])):e(``,!0),g(n(ce),null,{default:f(()=>[g(n(m),{type:`button`,variant:`outline`,onClick:r[3]||=e=>q.value=!1},{default:f(()=>[h(s(n(U)(`common.cancel`)),1)]),_:1}),g(n(m),{type:`submit`},{default:f(()=>[h(s(n(U)(`common.save`)),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),g(n(fe),{open:!!Y.value,"onUpdate:open":r[5]||=e=>{e||(Y.value=null)}},{default:f(()=>[g(n(E),null,{default:f(()=>[g(n(D),null,{default:f(()=>[g(n(ue),null,{default:f(()=>[h(s(n(U)(`routerKeys.confirmDeleteTitle`)),1)]),_:1}),g(n(de),null,{default:f(()=>[h(s(n(U)(`routerKeys.confirmDeleteDesc`,{name:Y.value?.name})),1)]),_:1})]),_:1}),g(n(O),null,{default:f(()=>[g(n(k),null,{default:f(()=>[h(s(n(U)(`common.cancel`)),1)]),_:1}),g(n(m),{variant:`destructive`,onClick:Ae},{default:f(()=>[h(s(n(U)(`common.delete`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{U as default};
@@ -1,3 +0,0 @@
1
- import{$ as e,A as t,At as n,D as r,Dt as i,Et as a,G as o,Gt as s,H as c,Ht as l,J as u,Jt as d,L as f,Lt as p,Nt as m,Q as h,T as g,X as _,Xt as v,Yt as y,Z as b,dt as x,et as S,ft as C,gt as w,ht as T,i as E,it as D,k as O,kt as k,m as A,mt as j,n as M,nt as N,o as P,ot as ee,p as F,qt as I,r as L,rt as R,vt as z,x as te,xt as ne,yt as B,z as re}from"./button-Cn_ZnI9p.js";import{t as ie}from"./copy-B1ISSl-K.js";import{t as ae}from"./sparkles-Cn9BME2D.js";import{n as oe,t as se}from"./CollapsibleContent-D74YnHwC.js";import{i as ce,n as le,r as ue,t as de}from"./CollapsibleTrigger-CY0laTR_.js";import{a as fe,i as pe,n as me,o as he,r as ge,t as _e}from"./dialog-W72I6tQK.js";import{t as V}from"./Label-D6iOUZ8Q.js";import{t as ve}from"./Switch-DpbOdaG4.js";import{J as ye,R as H,S as be,W as xe,Y as Se,_ as Ce,dt as we,ft as Te,g as Ee,h as U,i as W,m as De,p as Oe,pt as ke,ut as Ae,x as G,z as je}from"./index-Dpx8LfJK.js";import{t as K}from"./Input-BdVdLvb5.js";var Me=f(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),Ne=f(`brain`,[[`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`}]]),Pe=f(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Fe=f(`file-braces`,[[`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`}]]),Ie=f(`message-square`,[[`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`}]]),Le=f(`wrench`,[[`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`}]]),[q,Re]=ye(`ScrollAreaRoot`),ze=D({__name:`ScrollAreaRoot`,props:{type:{type:String,required:!1,default:`hover`},dir:{type:String,required:!1},scrollHideDelay:{type:Number,required:!1,default:600},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let n=e,r=p(0),i=p(0),a=p(),o=p(),c=p(),u=p(),d=p(!1),f=p(!1),{type:m,dir:g,scrollHideDelay:_}=l(n),v=xe(g);function b(){a.value?.scrollTo({top:0})}function x(){a.value?.scrollTo({top:0,left:0})}t({viewport:a,scrollTop:b,scrollTopLeft:x});let{forwardRef:S,currentElement:C}=P();return Re({type:m,dir:v,scrollHideDelay:_,scrollArea:C,viewport:a,onViewportChange:e=>{a.value=e||void 0},content:o,onContentChange:e=>{o.value=e},scrollbarX:c,scrollbarXEnabled:d,scrollbarY:u,scrollbarYEnabled:f,onScrollbarXChange:e=>{c.value=e||void 0},onScrollbarYChange:e=>{u.value=e||void 0},onScrollbarXEnabledChange:e=>{d.value=e},onScrollbarYEnabledChange:e=>{f.value=e},onCornerWidthChange:e=>{r.value=e},onCornerHeightChange:e=>{i.value=e}}),(e,t)=>(w(),h(s(E),{ref:s(S),"as-child":n.asChild,as:e.as,dir:s(v),style:y({position:`relative`,"--reka-scroll-area-corner-width":`${r.value}px`,"--reka-scroll-area-corner-height":`${i.value}px`})},{default:k(()=>[B(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`dir`,`style`]))}}),Be=D({__name:`ScrollAreaCornerImpl`,setup(t){let n=q(),r=p(0),i=p(0),o=_(()=>!!r.value&&!!i.value);function c(){let e=n.scrollbarX.value?.offsetHeight||0;n.onCornerHeightChange(e),i.value=e}function l(){let e=n.scrollbarY.value?.offsetWidth||0;n.onCornerWidthChange(e),r.value=e}return F(n.scrollbarX.value,c),F(n.scrollbarY.value,l),a(()=>n.scrollbarX.value,c),a(()=>n.scrollbarY.value,l),(t,a)=>o.value?(w(),h(s(E),x({key:0,style:{width:`${r.value}px`,height:`${i.value}px`,position:`absolute`,right:s(n).dir.value===`ltr`?0:void 0,left:s(n).dir.value===`rtl`?0:void 0,bottom:0}},t.$parent?.$props),{default:k(()=>[B(t.$slots,`default`)]),_:3},16,[`style`])):e(`v-if`,!0)}}),Ve=D({__name:`ScrollAreaCorner`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let n=t,{forwardRef:r}=P(),i=q(),a=_(()=>!!i.scrollbarX.value&&!!i.scrollbarY.value),o=_(()=>i.type.value!==`scroll`&&a.value);return(t,i)=>o.value?(w(),h(Be,x({key:0},n,{ref:s(r)}),{default:k(()=>[B(t.$slots,`default`)]),_:3},16)):e(`v-if`,!0)}});function He(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function J(e){let t=Ue(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Ue(e,t){let n=e/t;return Number.isNaN(n)?0:n}function We(e,t=()=>{}){let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)}function Ge(e,t,n=`ltr`){let r=J(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=Se(e,c[0],c[1]);return He([0,o],[0,s])(l)}function Y(e){return e?Number.parseInt(e,10):0}function Ke(e,t,n,r=`ltr`){let i=J(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return He([c,l],d)(e)}function qe(e,t){return e>0&&e<t}var Je=D({__name:`ScrollAreaScrollbarX`,setup(e){let t=q(),n=Z(),{forwardRef:r,currentElement:i}=P();j(()=>{i.value&&t.onScrollbarXChange(i.value)});let a=_(()=>n.sizes.value);return(e,i)=>(w(),h(it,{ref:s(r),"is-horizontal":!0,"data-orientation":`horizontal`,style:y({bottom:0,left:s(t).dir.value===`rtl`?`var(--reka-scroll-area-corner-width)`:0,right:s(t).dir.value===`ltr`?`var(--reka-scroll-area-corner-width)`:0,"--reka-scroll-area-thumb-width":a.value?`${s(J)(a.value)}px`:void 0}),onOnDragScroll:i[0]||=e=>s(n).onDragScroll(e.x)},{default:k(()=>[B(e.$slots,`default`)]),_:3},8,[`style`]))}}),Ye=D({__name:`ScrollAreaScrollbarY`,setup(e){let t=q(),n=Z(),{forwardRef:r,currentElement:i}=P();j(()=>{i.value&&t.onScrollbarYChange(i.value)});let a=_(()=>n.sizes.value);return(e,i)=>(w(),h(it,{ref:s(r),"is-horizontal":!1,"data-orientation":`vertical`,style:y({top:0,right:s(t).dir.value===`ltr`?0:void 0,left:s(t).dir.value===`rtl`?0:void 0,bottom:`var(--reka-scroll-area-corner-height)`,"--reka-scroll-area-thumb-height":a.value?`${s(J)(a.value)}px`:void 0}),onOnDragScroll:i[0]||=e=>s(n).onDragScroll(e.y)},{default:k(()=>[B(e.$slots,`default`)]),_:3},8,[`style`]))}}),Xe=D({__name:`ScrollAreaScrollbarAuto`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=q(),n=X(),{forwardRef:r}=P(),i=p(!1),a=g(()=>{if(t.viewport.value){let e=t.viewport.value.offsetWidth<t.viewport.value.scrollWidth,r=t.viewport.value.offsetHeight<t.viewport.value.scrollHeight;i.value=n.isHorizontal.value?e:r}},10);return j(()=>a()),F(t.viewport,a),F(t.content,a),(e,t)=>(w(),h(s(H),{present:e.forceMount||i.value},{default:k(()=>[R(rt,x(e.$attrs,{ref:s(r),"data-state":i.value?`visible`:`hidden`}),{default:k(()=>[B(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Ze=D({inheritAttrs:!1,__name:`ScrollAreaScrollbarGlimpse`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=q(),n=X(),{forwardRef:r}=P(),{state:a,dispatch:o}=je(`hidden`,{hidden:{POINTER_ENTER:`glimpse`,SCROLL:`scrolling`},glimpse:{HIDE:`hidden`,POINTER_LEAVE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`glimpse`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}}),c=_(()=>a.value!==`hidden`);function l(){o(`POINTER_ENTER`)}function u(){o(`POINTER_LEAVE`)}let d=g(()=>o(`SCROLL_END`),100);return i(e=>{if(a.value===`glimpse`){let n=window.setTimeout(o,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}}),i(e=>{if(a.value===`idle`){let n=window.setTimeout(o,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}}),i(e=>{let r=t.viewport.value,i=n.isHorizontal.value?`scrollLeft`:`scrollTop`;if(r){let t=r[i],n=()=>{let e=r[i];t!==e&&(o(`SCROLL`),d()),t=e};r.addEventListener(`scroll`,n),e(()=>{r.removeEventListener(`scroll`,n)})}}),j(()=>{let e=t.scrollArea.value;e&&(e.addEventListener(`pointerenter`,l),e.addEventListener(`pointerleave`,u))}),T(()=>{let e=t.scrollArea.value;e&&(e.removeEventListener(`pointerenter`,l),e.removeEventListener(`pointerleave`,u))}),(e,t)=>(w(),h(s(H),{present:e.forceMount||c.value},{default:k(()=>[R(Xe,x(e.$attrs,{ref:s(r),"data-state":c.value?`visible`:`hidden`}),{default:k(()=>[B(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Qe=D({inheritAttrs:!1,__name:`ScrollAreaScrollbarHover`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=q(),{forwardRef:n}=P(),r,i=p(!1);function a(){window.clearTimeout(r),i.value=!0}function o(){r=window.setTimeout(()=>{i.value=!1},t.scrollHideDelay.value)}return j(()=>{let e=t.scrollArea.value;e&&(e.addEventListener(`pointerenter`,a),e.addEventListener(`pointerleave`,o))}),T(()=>{let e=t.scrollArea.value;e&&(window.clearTimeout(r),e.removeEventListener(`pointerenter`,a),e.removeEventListener(`pointerleave`,o))}),(e,t)=>(w(),h(s(H),{present:e.forceMount||i.value},{default:k(()=>[R(Xe,x(e.$attrs,{ref:s(n),"data-state":i.value?`visible`:`hidden`}),{default:k(()=>[B(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),$e=D({__name:`ScrollAreaScrollbarScroll`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=q(),n=X(),{forwardRef:r}=P(),{state:a,dispatch:o}=je(`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`}}),c=_(()=>a.value!==`hidden`);i(e=>{if(a.value===`idle`){let n=window.setTimeout(o,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}});let l=g(()=>o(`SCROLL_END`),100);return i(e=>{let r=t.viewport.value,i=n.isHorizontal.value?`scrollLeft`:`scrollTop`;if(r){let t=r[i],n=()=>{let e=r[i];t!==e&&(o(`SCROLL`),l()),t=e};r.addEventListener(`scroll`,n),e(()=>{r.removeEventListener(`scroll`,n)})}}),(e,t)=>(w(),h(s(H),{present:e.forceMount||c.value},{default:k(()=>[R(rt,x(e.$attrs,{ref:s(r),"data-state":c.value?`visible`:`hidden`}),{default:k(()=>[B(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),[X,et]=ye(`ScrollAreaScrollbar`),tt=D({inheritAttrs:!1,__name:`ScrollAreaScrollbar`,props:{orientation:{type:String,required:!1,default:`vertical`},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(t){let n=t,{forwardRef:r}=P(),i=q(),o=_(()=>n.orientation===`horizontal`);a(o,()=>{o.value?i.onScrollbarXEnabledChange(!0):i.onScrollbarYEnabledChange(!0)},{immediate:!0}),T(()=>{i.onScrollbarXEnabledChange(!1),i.onScrollbarYEnabledChange(!1)});let{orientation:c,forceMount:u,asChild:d,as:f}=l(n);return et({orientation:c,forceMount:u,isHorizontal:o,as:f,asChild:d}),(t,n)=>s(i).type.value===`hover`?(w(),h(Qe,x({key:0},t.$attrs,{ref:s(r),"force-mount":s(u)}),{default:k(()=>[B(t.$slots,`default`)]),_:3},16,[`force-mount`])):s(i).type.value===`scroll`?(w(),h($e,x({key:1},t.$attrs,{ref:s(r),"force-mount":s(u)}),{default:k(()=>[B(t.$slots,`default`)]),_:3},16,[`force-mount`])):s(i).type.value===`glimpse`?(w(),h(Ze,x({key:2},t.$attrs,{ref:s(r),"force-mount":s(u)}),{default:k(()=>[B(t.$slots,`default`)]),_:3},16,[`force-mount`])):s(i).type.value===`auto`?(w(),h(Xe,x({key:3},t.$attrs,{ref:s(r),"force-mount":s(u)}),{default:k(()=>[B(t.$slots,`default`)]),_:3},16,[`force-mount`])):s(i).type.value===`always`?(w(),h(rt,x({key:4},t.$attrs,{ref:s(r),"data-state":`visible`}),{default:k(()=>[B(t.$slots,`default`)]),_:3},16)):e(`v-if`,!0)}}),[Z,nt]=ye(`ScrollAreaScrollbarVisible`),rt=D({__name:`ScrollAreaScrollbarVisible`,setup(e){let t=q(),n=X(),{forwardRef:r}=P(),i=p({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),a=_(()=>{let e=Ue(i.value.viewport,i.value.content);return e>0&&e<1}),o=p(),c=p(0);function l(e,n){if(g.value){let r=t.viewport.value.scrollLeft+e.deltaY;t.viewport.value.scrollLeft=r,qe(r,n)&&e.preventDefault()}else{let r=t.viewport.value.scrollTop+e.deltaY;t.viewport.value.scrollTop=r,qe(r,n)&&e.preventDefault()}}function u(e,t){g.value?c.value=t.x:c.value=t.y}function d(e){c.value=0}function f(e){i.value=e}function m(e,t){return Ke(e,c.value,i.value,t)}let g=_(()=>n.isHorizontal.value);function v(e){g.value?t.viewport.value.scrollLeft=m(e,t.dir.value):t.viewport.value.scrollTop=m(e)}function y(){if(g.value){if(t.viewport.value&&o.value){let e=t.viewport.value.scrollLeft,n=Ge(e,i.value,t.dir.value);o.value.style.transform=`translate3d(${n}px, 0, 0)`}}else if(t.viewport.value&&o.value){let e=t.viewport.value.scrollTop,n=Ge(e,i.value);o.value.style.transform=`translate3d(0, ${n}px, 0)`}}function b(e){o.value=e}return nt({sizes:i,hasThumb:a,handleWheelScroll:l,handleThumbDown:u,handleThumbUp:d,handleSizeChange:f,onThumbPositionChange:y,onThumbChange:b,onDragScroll:v}),(e,t)=>g.value?(w(),h(Je,x({key:0},e.$attrs,{ref:s(r)}),{default:k(()=>[B(e.$slots,`default`)]),_:3},16)):(w(),h(Ye,x({key:1},e.$attrs,{ref:s(r)}),{default:k(()=>[B(e.$slots,`default`)]),_:3},16))}}),it=D({__name:`ScrollAreaScrollbarImpl`,props:{isHorizontal:{type:Boolean,required:!0}},emits:[`onDragScroll`,`onWheelScroll`,`onThumbPointerDown`],setup(e,{emit:t}){let n=e,r=t,i=q(),a=Z(),o=X(),{forwardRef:c,currentElement:l}=P(),u=p(``),d=p();function f(e){d.value&&r(`onDragScroll`,{x:e.clientX-d.value?.left,y:e.clientY-d.value?.top})}function m(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),d.value=l.value.getBoundingClientRect(),u.value=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,i.viewport&&(i.viewport.value.style.scrollBehavior=`auto`),f(e))}function g(e){f(e)}function _(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=u.value,i.viewport&&(i.viewport.value.style.scrollBehavior=``),d.value=void 0}function v(e){let t=e.target,n=l.value?.contains(t),r=a.sizes.value.content-a.sizes.value.viewport;n&&a.handleWheelScroll(e,r)}j(()=>{document.addEventListener(`wheel`,v,{passive:!1})}),T(()=>{document.removeEventListener(`wheel`,v)});function y(){l.value&&(n.isHorizontal?a.handleSizeChange({content:i.viewport.value?.scrollWidth??0,viewport:i.viewport.value?.offsetWidth??0,scrollbar:{size:l.value.clientWidth??0,paddingStart:Y(getComputedStyle(l.value).paddingLeft),paddingEnd:Y(getComputedStyle(l.value).paddingRight)}}):a.handleSizeChange({content:i.viewport.value?.scrollHeight??0,viewport:i.viewport.value?.offsetHeight??0,scrollbar:{size:l.value?.clientHeight??0,paddingStart:Y(getComputedStyle(l.value).paddingTop),paddingEnd:Y(getComputedStyle(l.value).paddingBottom)}}),a.onThumbPositionChange())}return F(l,y),F(i.content,y),(e,t)=>(w(),h(s(E),{ref:s(c),style:{position:`absolute`},"data-scrollbarimpl":``,as:s(o).as.value,"as-child":s(o).asChild.value,onPointerdown:m,onPointermove:g,onPointerup:_},{default:k(()=>[B(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),at=D({__name:`ScrollAreaThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=q(),i=Z();function a(e){let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;i.handleThumbDown(e,{x:n,y:r})}function o(e){i.handleThumbUp(e)}let{forwardRef:c,currentElement:l}=P(),u=p(),d=_(()=>n.viewport.value);function f(){u.value||(u.value=We(d.value,i.onThumbPositionChange),i.onThumbPositionChange())}return r(_(()=>i.sizes.value),()=>{i.onThumbChange(l.value),d.value&&(i.onThumbPositionChange(),d.value.addEventListener(`scroll`,f))}),T(()=>{d.value.removeEventListener(`scroll`,f),n.viewport.value?.removeEventListener(`scroll`,f)}),(e,n)=>(w(),h(s(E),{ref:s(c),"data-state":s(i).hasThumb?`visible`:`hidden`,style:{width:`var(--reka-scroll-area-thumb-width)`,height:`var(--reka-scroll-area-thumb-height)`},"as-child":t.asChild,as:e.as,onPointerdown:a,onPointerup:o},{default:k(()=>[B(e.$slots,`default`)]),_:3},8,[`data-state`,`as-child`,`as`]))}}),ot=D({inheritAttrs:!1,__name:`ScrollAreaViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let n=e,{nonce:r}=l(n),i=be(r),a=q(),o=p();j(()=>{a.onViewportChange(o.value),a.onContentChange(d.value)}),t({viewportElement:o});let{forwardRef:c,currentElement:d}=P();return(e,t)=>(w(),S(u,null,[b(`div`,x({ref_key:`viewportElement`,ref:o,"data-reka-scroll-area-viewport":``,style:{overflowX:s(a).scrollbarXEnabled.value?`scroll`:`hidden`,overflowY:s(a).scrollbarYEnabled.value?`scroll`:`hidden`}},e.$attrs,{tabindex:0}),[R(s(E),{ref:s(c),style:y({minWidth:s(a).scrollbarXEnabled.value?`fit-content`:void 0}),"as-child":n.asChild,as:e.as},{default:k(()=>[B(e.$slots,`default`)]),_:3},8,[`style`,`as-child`,`as`])],16),R(s(E),{as:`style`,nonce:s(i)},{default:k(()=>t[0]||=[N(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-scroll-area-viewport] { scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; } [data-reka-scroll-area-viewport]::-webkit-scrollbar { display:none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),st=D({__name:`BaseSeparator`,props:{orientation:{type:String,required:!1,default:`horizontal`},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=[`horizontal`,`vertical`];function r(e){return n.includes(e)}let i=_(()=>r(t.orientation)?t.orientation:`horizontal`),a=_(()=>i.value===`vertical`?t.orientation:void 0),o=_(()=>t.decorative?{role:`none`}:{"aria-orientation":a.value,role:`separator`});return(e,t)=>(w(),h(s(E),x({as:e.as,"as-child":e.asChild,"data-orientation":i.value},o.value),{default:k(()=>[B(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`data-orientation`]))}}),ct=D({__name:`Separator`,props:{orientation:{type:String,required:!1,default:`horizontal`},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(w(),h(st,d(ee(t)),{default:k(()=>[B(e.$slots,`default`)]),_:3},16))}}),Q=D({__name:`Separator`,props:{orientation:{default:`horizontal`},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=te(t,`class`);return(e,r)=>(w(),h(s(ct),x({"data-slot":`separator`},s(n),{class:s(L)(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch`,t.class)}),null,16,[`class`]))}}),lt=2e3;function ut(){let e=p(!1);async function t(t){try{return navigator.clipboard?.writeText?await navigator.clipboard.writeText(t):dt(t),e.value=!0,setTimeout(()=>{e.value=!1},lt),!0}catch{try{return dt(t),e.value=!0,setTimeout(()=>{e.value=!1},lt),!0}catch{return!1}}}return{copied:e,copy:t}}function dt(e){let t=document.createElement(`textarea`);if(t.value=e,t.style.cssText=`position:fixed;left:-9999px;opacity:0`,document.body.appendChild(t),t.select(),!document.execCommand(`copy`))throw Error(`execCommand copy failed`);document.body.removeChild(t)}var ft=D({__name:`Textarea`,props:{class:{type:[Boolean,null,String,Object,Array]},defaultValue:{},modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,i=A(r,`modelValue`,t,{passive:!0,defaultValue:r.defaultValue});return(e,t)=>n((w(),S(`textarea`,{"onUpdate:modelValue":t[0]||=e=>m(i)?i.value=e:null,"data-slot":`textarea`,class:I(s(L)(`border-input dark:bg-input/30 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:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 rounded-lg border bg-transparent px-2.5 py-2 text-base transition-colors focus-visible:ring-3 aria-invalid:ring-3 md:text-sm flex field-sizing-content min-h-16 w-full outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50`,r.class))},null,2)),[[o,s(i)]])}}),pt={class:`flex items-center gap-2`},mt={key:0,class:`rounded-lg border border-success/20 bg-success/5 px-3 py-2.5 flex items-start gap-2.5`},ht={class:`flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-success/10 mt-0.5`},gt={class:`text-sm text-success-foreground leading-relaxed`},_t={class:`space-y-4`},vt={class:`space-y-3`},yt={class:`rounded-lg border bg-muted/30 p-3 space-y-3`},bt={class:`text-xs font-medium text-muted-foreground uppercase tracking-wide`},xt={class:`grid grid-cols-2 gap-3`},St={class:`rounded-lg border bg-muted/30 p-3 space-y-3`},Ct={class:`text-xs font-medium text-muted-foreground uppercase tracking-wide`},wt={class:`grid grid-cols-2 gap-3`},Tt={key:0},Et={class:`flex items-center gap-2.5 pt-1`},Dt=100,Ot=599,kt=100,At=100,jt=D({__name:`AiRulePreviewDialog`,props:{open:{type:Boolean},rule:{},summary:{}},emits:[`update:open`,`saved`],setup(n,{emit:r}){let{t:i}=c(),o=n,l=r;function d(){return{name:``,status_code:429,body_pattern:``,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4,is_active:!0,provider_id:`__all__`}}let f=p(d());a([()=>o.open,()=>o.rule],([e,t])=>{e&&t&&(f.value={...t,is_active:!0,provider_id:`__all__`},_.value=!1,g())},{immediate:!0});let m=p([]);async function g(){try{m.value=await O.getProviders()}catch(e){console.error(`AiRulePreviewDialog.loadProviders:`,e),W.error(t(e,i(`logs.messages.loadProvidersFailed`)))}}let _=p(!1);async function y(){if(_.value)return;let e=[];f.value.name.trim()||e.push(i(`retryRules.messages.nameRequired`));let n=f.value.status_code;(typeof n!=`number`||isNaN(n)||n<Dt||n>Ot)&&e.push(i(`retryRules.messages.statusCodeRange`));try{new RegExp(f.value.body_pattern)}catch{e.push(i(`retryRules.messages.bodyPatternInvalid`))}f.value.body_pattern.trim()||e.push(i(`retryRules.messages.bodyPatternInvalid`));let r=f.value.retry_delay_ms;(typeof r!=`number`||isNaN(r)||r<kt)&&e.push(i(`retryRules.messages.delayMin`));let a=f.value.max_retries;(typeof a!=`number`||isNaN(a)||a<0||a>At)&&e.push(i(`retryRules.messages.retriesRange`));let o=f.value.max_delay_ms;if(f.value.retry_strategy===`exponential`&&(typeof o!=`number`||isNaN(o)||o<kt)&&e.push(i(`retryRules.messages.delayMin`)),e.length>0){W.error(e.join(`; `));return}_.value=!0;try{await O.createRetryRule({name:f.value.name,status_code:Number(f.value.status_code),body_pattern:f.value.body_pattern,is_active:+!!f.value.is_active,retry_strategy:f.value.retry_strategy,retry_delay_ms:Number(f.value.retry_delay_ms),max_retries:Number(f.value.max_retries),max_delay_ms:f.value.retry_strategy===`exponential`?Number(f.value.max_delay_ms):void 0,provider_id:f.value.provider_id===`__all__`?null:f.value.provider_id||null}),W.success(i(`retryRules.messages.saveCompleted`)),l(`saved`),l(`update:open`,!1)}catch(e){console.error(`AiRulePreviewDialog.handleSave:`,e),W.error(t(e,i(`retryRules.messages.saveFailed`)))}finally{_.value=!1}}return(t,r)=>(w(),h(s(he),{open:n.open,"onUpdate:open":r[10]||=e=>l(`update:open`,e)},{default:k(()=>[R(s(fe),{class:`sm:max-w-xl`},{default:k(()=>[R(s(me),{class:`gap-1.5`},{default:k(()=>[b(`div`,pt,[R(s(ae),{class:`h-4 w-4 text-primary shrink-0`}),R(s(_e),null,{default:k(()=>[N(v(s(i)(`logs.aiGeneratedRule`)),1)]),_:1})]),R(s(G),{variant:`secondary`,class:`w-fit text-[10px]`},{default:k(()=>[N(v(s(i)(`logs.aiGenerated`)),1)]),_:1})]),_:1}),n.summary?(w(),S(`div`,mt,[b(`div`,ht,[R(s(we),{class:`h-3 w-3 text-success`})]),b(`p`,gt,v(n.summary),1)])):e(``,!0),b(`div`,_t,[b(`div`,vt,[b(`div`,null,[R(s(V),{class:`text-xs text-muted-foreground font-medium`},{default:k(()=>[N(v(s(i)(`retryRules.dialog.name`)),1)]),_:1}),R(s(K),{modelValue:f.value.name,"onUpdate:modelValue":r[0]||=e=>f.value.name=e,type:`text`,class:`mt-1`},null,8,[`modelValue`])]),b(`div`,null,[R(s(V),{class:`text-xs text-muted-foreground font-medium`},{default:k(()=>[N(v(s(i)(`retryRules.provider`)),1)]),_:1}),R(s(Ce),{modelValue:f.value.provider_id,"onUpdate:modelValue":r[1]||=e=>f.value.provider_id=e},{default:k(()=>[R(s(De),{class:`mt-1`},{default:k(()=>[R(s(Oe),{placeholder:s(i)(`retryRules.providerPlaceholder`)},null,8,[`placeholder`])]),_:1}),R(s(Ee),null,{default:k(()=>[R(s(U),{value:`__all__`},{default:k(()=>[N(v(s(i)(`retryRules.providerAll`)),1)]),_:1}),(w(!0),S(u,null,z(m.value,e=>(w(),h(s(U),{key:e.id,value:e.id},{default:k(()=>[N(v(e.name),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])])]),b(`div`,yt,[b(`p`,bt,v(s(i)(`logs.matchConditions`)),1),b(`div`,xt,[b(`div`,null,[R(s(V),{class:`text-xs text-muted-foreground font-medium`},{default:k(()=>[N(v(s(i)(`retryRules.dialog.statusCode`)),1)]),_:1}),R(s(K),{modelValue:f.value.status_code,"onUpdate:modelValue":r[2]||=e=>f.value.status_code=e,modelModifiers:{number:!0},type:`number`,class:`mt-1`},null,8,[`modelValue`])]),b(`div`,null,[R(s(V),{class:`text-xs text-muted-foreground font-medium`},{default:k(()=>[N(v(s(i)(`retryRules.dialog.retryStrategy`)),1)]),_:1}),R(s(Ce),{modelValue:f.value.retry_strategy,"onUpdate:modelValue":r[3]||=e=>f.value.retry_strategy=e},{default:k(()=>[R(s(De),{class:`mt-1`},{default:k(()=>[R(s(Oe))]),_:1}),R(s(Ee),null,{default:k(()=>[R(s(U),{value:`exponential`},{default:k(()=>[N(v(s(i)(`retryRules.strategy.exponential`)),1)]),_:1}),R(s(U),{value:`fixed`},{default:k(()=>[N(v(s(i)(`retryRules.strategy.fixed`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`])])]),b(`div`,null,[R(s(V),{class:`text-xs text-muted-foreground font-medium`},{default:k(()=>[N(v(s(i)(`retryRules.dialog.bodyPattern`)),1)]),_:1}),R(s(ft),{modelValue:f.value.body_pattern,"onUpdate:modelValue":r[4]||=e=>f.value.body_pattern=e,class:`font-mono mt-1`,rows:2},null,8,[`modelValue`])])]),b(`div`,St,[b(`p`,Ct,v(s(i)(`logs.retryParams`)),1),b(`div`,wt,[b(`div`,null,[R(s(V),{class:`text-xs text-muted-foreground font-medium`},{default:k(()=>[N(v(f.value.retry_strategy===`fixed`?s(i)(`retryRules.dialog.intervalMs`):s(i)(`retryRules.dialog.initialDelayMs`)),1)]),_:1}),R(s(K),{modelValue:f.value.retry_delay_ms,"onUpdate:modelValue":r[5]||=e=>f.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,class:`mt-1`},null,8,[`modelValue`])]),b(`div`,null,[R(s(V),{class:`text-xs text-muted-foreground font-medium`},{default:k(()=>[N(v(s(i)(`retryRules.dialog.maxRetries`)),1)]),_:1}),R(s(K),{modelValue:f.value.max_retries,"onUpdate:modelValue":r[6]||=e=>f.value.max_retries=e,modelModifiers:{number:!0},type:`number`,class:`mt-1`},null,8,[`modelValue`])])]),f.value.retry_strategy===`exponential`?(w(),S(`div`,Tt,[R(s(V),{class:`text-xs text-muted-foreground font-medium`},{default:k(()=>[N(v(s(i)(`retryRules.dialog.maxDelayMs`)),1)]),_:1}),R(s(K),{modelValue:f.value.max_delay_ms,"onUpdate:modelValue":r[7]||=e=>f.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,class:`mt-1`},null,8,[`modelValue`])])):e(``,!0)]),b(`div`,Et,[R(s(ve),{checked:f.value.is_active,"onUpdate:checked":r[8]||=e=>f.value.is_active=e,id:`rule-active`},null,8,[`checked`]),R(s(V),{for:`rule-active`,class:`text-sm text-foreground cursor-pointer`},{default:k(()=>[N(v(s(i)(`retryRules.dialog.enable`)),1)]),_:1})])]),R(s(ge),{class:`border-t pt-4 mt-2`},{default:k(()=>[R(s(M),{variant:`outline`,onClick:r[9]||=e=>l(`update:open`,!1)},{default:k(()=>[N(v(s(i)(`common.cancel`)),1)]),_:1}),R(s(M),{disabled:_.value,onClick:y},{default:k(()=>[N(v(s(i)(`logs.saveRule`)),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),$=1e3;function Mt(e,t){let n=e.attempts.length>0?e.attempts[e.attempts.length-1]:void 0,r=e.streamMetrics,i=r?.tokensPerSecond??null;if(!i&&r&&r.outputTokens&&r.ttftMs&&e.completedAt){let t=(e.completedAt-e.startTime-r.ttftMs)/$;t>0&&(i=r.outputTokens/t)}return{id:e.id,model:e.model,backendModel:null,originalModel:null,statusCode:e.status===`completed`?n?.statusCode??null:null,isStream:e.isStream,apiType:e.apiType,providerName:e.providerName,clientIp:e.clientIp,sessionId:e.sessionId??null,latencyMs:e.completedAt?e.completedAt-e.startTime:null,ttftMs:r?.ttftMs??null,inputTokens:r?.inputTokens??null,outputTokens:r?.outputTokens??null,tokensPerSecond:i,cacheReadTokens:r?.cacheReadTokens??null,cacheWriteTokens:null,stopReason:r?.stopReason??null,isComplete:r?.isComplete??!1,attempts:e.attempts.map(e=>({statusCode:e.statusCode,error:e.error,latencyMs:e.latencyMs,providerId:e.providerId})),status:e.status,clientRequest:e.clientRequest??null,upstreamRequest:e.upstreamRequest??null,responseBody:t??null,upstreamResponse:null,errorMessage:null,createdAt:null,inputTokensEstimated:!1,clientType:null,cacheReadTokensEstimated:r?.cacheReadTokensEstimated??null,mappingReason:e.mappingReason}}function Nt(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.statusCode==`number`&&t.headers&&!t.content&&!t.choices?typeof t.body==`string`?t.body:null:e}catch{return e}}var Pt=[`stream_error: upstream returned 200 but body contains error`],Ft=new Set([`direct_format`,`group_base_rule`,`group_schedule`,`fallback_provider`,`overflow_redirect`,`failover_retry`]);function It(e){if(e)try{let t=JSON.parse(e),n=Array.isArray(t)?t:[];if(n.length===0)return;for(let e of n)if(e.stage===`overflow`&&e.triggered===!0)return`overflow_redirect`;for(let e of n)if(e.stage===`routing`&&typeof e.mapping_reason==`string`)return Ft.has(e.mapping_reason)?e.mapping_reason:void 0;return}catch{return}}function Lt(e){return e?Pt.some(t=>e.startsWith(t)):!1}function Rt(e){let t=e.input_tokens??null,n=e.output_tokens??null,r=e.ttft_ms??null,i=e.tokens_per_second??null;if(!i&&n&&r&&e.latency_ms){let t=(e.latency_ms-r)/$;t>0&&(i=n/t)}let a=Nt(e.upstream_response)??e.stream_text_content??null;return{id:e.id,model:e.original_model??e.model??`unknown`,backendModel:e.backend_model,originalModel:e.original_model,statusCode:e.status_code,isStream:!!e.is_stream,apiType:e.api_type===`openai`||e.api_type===`anthropic`?e.api_type:`openai`,providerName:e.provider_name,clientIp:void 0,sessionId:e.session_id??null,latencyMs:e.latency_ms,ttftMs:r,inputTokens:t,outputTokens:n,tokensPerSecond:i,cacheReadTokens:e.cache_read_tokens??null,cacheWriteTokens:null,stopReason:e.stop_reason??null,isComplete:!!e.metrics_complete,attempts:[],status:(e.status_code??0)>=400?`failed`:`completed`,clientRequest:e.client_request,upstreamRequest:e.upstream_request,responseBody:a,upstreamResponse:e.upstream_response,errorMessage:Lt(e.error_message)?null:e.error_message,createdAt:e.created_at,inputTokensEstimated:e.input_tokens_estimated===1,clientType:e.client_type??null,cacheReadTokensEstimated:e.cache_read_tokens_estimated??null,mappingReason:It(e.pipeline_snapshot)}}var zt=D({__name:`ScrollBar`,props:{orientation:{default:`vertical`},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=te(t,`class`);return(r,i)=>(w(),h(s(tt),x({"data-slot":`scroll-area-scrollbar`,"data-orientation":e.orientation},s(n),{class:s(L)(`data-[orientation=horizontal]:h-2.5 data-[orientation=horizontal]:flex-col data-[orientation=horizontal]:border-t data-[orientation=horizontal]:border-t-transparent data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2.5 data-[orientation=vertical]:border-l data-[orientation=vertical]:border-l-transparent flex touch-none p-px transition-colors select-none`,t.class)}),{default:k(()=>[R(s(at),{"data-slot":`scroll-area-thumb`,class:`rounded-full relative flex-1 bg-border`})]),_:1},16,[`data-orientation`,`class`]))}}),Bt=D({__name:`ScrollArea`,props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=te(t,`class`);return(e,r)=>(w(),h(s(ze),x({"data-slot":`scroll-area`},s(n),{class:s(L)(`relative`,t.class)}),{default:k(()=>[R(s(ot),{"data-slot":`scroll-area-viewport`,class:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`},{default:k(()=>[B(e.$slots,`default`)]),_:3}),R(zt),R(s(Ve))]),_:3},16,[`class`]))}});function Vt(e,t){if(!e)return t||``;try{let n=JSON.parse(e);return typeof n.statusCode==`number`&&(n.headers||n.body!==void 0)?n.body===null&&t?JSON.stringify({...n,body:t},null,Ht):JSON.stringify(n,null,Ht):e}catch{return e}}var Ht=2,Ut=new Set([`choices`,`content`]);function Wt(e,t){if(!e&&!t)return``;let n=Gt(e),r=n?.headers,i=n?.body??t;if(r){let e={headers:r};return i&&(e.body=Kt(i)),JSON.stringify(e,null,Ht)}if(i){let e=Kt(i);return JSON.stringify(e,null,Ht)}return``}function Gt(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.statusCode==`number`&&(t.headers||t.body!==void 0)?{headers:t.headers??{},body:typeof t.body==`string`?t.body:t.body==null?null:JSON.stringify(t.body)}:null}catch{return null}}function Kt(e){try{let t=JSON.parse(e);if(typeof t==`object`&&t){let e={};for(let[n,r]of Object.entries(t))Ut.has(n)||(e[n]=r);return e}return e}catch{return e}}var qt={class:`space-y-3`},Jt={class:`flex items-center justify-between`},Yt={class:`text-xs font-medium text-muted-foreground`},Xt={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},Zt={class:`flex items-baseline gap-1 min-w-0`},Qt={class:`font-mono text-[11px] font-semibold truncate min-w-0`},$t={class:`text-[10px] text-muted-foreground flex-shrink-0`},en={key:0,class:`flex items-center gap-1.5`},tn={class:`flex items-center gap-1.5`},nn={key:1,class:`flex items-center gap-1.5`},rn={class:`font-mono text-[11px] text-muted-foreground truncate`},an={class:`grid grid-cols-2 gap-1.5`},on={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},sn={class:`text-[10px] text-muted-foreground`},cn={class:`text-sm font-semibold truncate`},ln={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},un={class:`text-[10px] text-muted-foreground`},dn={class:`text-sm font-semibold truncate`},fn={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},pn={class:`text-[10px] text-muted-foreground`},mn={class:`text-sm font-semibold truncate`},hn={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},gn={class:`text-[10px] text-muted-foreground`},_n={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},vn={class:`text-[10px] text-muted-foreground`},yn={class:`text-sm font-semibold truncate`},bn={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},xn={class:`text-[10px] text-muted-foreground`},Sn={class:`text-sm font-semibold truncate`},Cn={key:2,class:`rounded-md px-2 py-1.5 bg-muted/50`},wn={class:`text-[10px] text-muted-foreground`},Tn={key:0,class:`text-[11px] font-semibold text-success-dark`},En={key:1,class:`text-[11px] font-semibold text-warning-dark`},Dn={class:`space-y-1.5`},On={class:`text-[10px] text-muted-foreground uppercase tracking-wider`},kn={key:0,class:`text-[11px] text-muted-foreground`},An={class:`text-muted-foreground`},jn={class:`text-muted-foreground`},Mn={class:`space-y-1`},Nn={key:0,class:`flex items-center justify-between text-[11px]`},Pn={class:`text-muted-foreground`},Fn={class:`font-mono`},In={key:1,class:`flex items-center justify-between text-[11px]`},Ln={class:`text-muted-foreground`},Rn={class:`font-mono`},zn={key:2,class:`flex items-center justify-between text-[11px]`},Bn={class:`text-muted-foreground`},Vn={class:`font-mono truncate max-w-[160px]`},Hn=2,Un=D({__name:`RequestOverviewPanel`,props:{overview:{}},setup(t){let{t:n}=c(),r=t,i=p(!1),a=_(()=>{let e=r.overview.clientType;return e===`claude-code`?`Claude Code`:e===`codex`?`Codex CLI`:e===`pi`?`Pi`:e===`openai-sdk`?`OpenAI SDK`:e===`anthropic-sdk`?`Anthropic SDK`:e??`Unknown`}),o=_(()=>Wt(r.overview.upstreamResponse,r.overview.responseBody)||JSON.stringify({latencyMs:r.overview.latencyMs,ttftMs:r.overview.ttftMs,inputTokens:r.overview.inputTokens,outputTokens:r.overview.outputTokens,tokensPerSecond:r.overview.tokensPerSecond,cacheReadTokens:r.overview.cacheReadTokens,cacheWriteTokens:r.overview.cacheWriteTokens,stopReason:r.overview.stopReason,statusCode:r.overview.statusCode},null,Hn)),l=_(()=>{if(r.overview.status===`pending`)return`pending`;let e=r.overview.statusCode;return r.overview.status===`failed`||e!=null&&e>=400?`error`:`success`}),d=_(()=>r.overview.status===`pending`&&r.overview.outputTokens!=null),f=_(()=>{let e=r.overview.outputTokens;return e==null?`--`:d.value?`+${e}`:`${e}`}),m=_(()=>r.overview.status===`pending`&&r.overview.latencyMs==null?`...`:r.overview.latencyMs==null?`--`:`${(r.overview.latencyMs/$).toFixed(1)}s`),g=_(()=>{if(r.overview.tokensPerSecond!=null)return`${r.overview.tokensPerSecond.toFixed(1)}`;let{outputTokens:e,latencyMs:t}=r.overview;return e&&t?`${(e/t*$).toFixed(1)}`:`--`});function y(e){return e!=null&&e>=400}return(r,c)=>(w(),S(`div`,qt,[b(`div`,Jt,[b(`span`,Yt,v(s(n)(`requestDetail.overviewTitle`)),1),R(s(M),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:c[0]||=e=>i.value=!i.value},{default:k(()=>[(w(),h(ne(i.value?s(Ae):s(Fe)),{class:`h-3 w-3`})),N(` `+v(i.value?s(n)(`requestDetail.structured`):s(n)(`requestDetail.rawData`)),1)]),_:1})]),i.value?(w(),h(s(Bt),{key:0,class:`rounded-md border flex-1`},{default:k(()=>[b(`pre`,Xt,v(o.value),1)]),_:1})):e(``,!0),i.value?e(``,!0):(w(),S(u,{key:1},[b(`div`,Zt,[b(`span`,Qt,v(t.overview.model),1),b(`span`,$t,`@ `+v(t.overview.providerName||s(n)(`requestDetail.unknownProvider`)),1)]),t.overview.mappingReason?(w(),S(`div`,en,[R(s(G),{variant:`secondary`,class:`text-[10px]`},{default:k(()=>[N(v(s(n)(`requestDetail.mappingReason.${t.overview.mappingReason}`)),1)]),_:1})])):e(``,!0),b(`div`,tn,[l.value===`pending`?(w(),h(s(G),{key:0,variant:`outline`,class:`border-warning/30 bg-warning-light text-warning-dark`},{default:k(()=>[c[1]||=b(`span`,{class:`w-1.5 h-1.5 rounded-full bg-warning animate-pulse`},null,-1),N(` `+v(s(n)(`requestDetail.pending`)),1)]),_:1})):l.value===`error`?(w(),h(s(G),{key:1,variant:`outline`,class:`border-danger/30 bg-danger-light text-danger-dark`},{default:k(()=>[N(v(t.overview.statusCode??s(n)(`requestDetail.failed`)),1)]),_:1})):(w(),h(s(G),{key:2,variant:`outline`,class:`border-success/30 bg-success-light text-success-dark`},{default:k(()=>[c[2]||=b(`span`,{class:`w-1.5 h-1.5 rounded-full bg-success`},null,-1),N(` `+v(s(n)(`requestDetail.completed`)),1)]),_:1})),R(s(G),{variant:`outline`},{default:k(()=>[N(v(t.overview.isStream?`SSE`:s(n)(`requestDetail.nonStream`)),1)]),_:1}),R(s(G),{variant:`outline`},{default:k(()=>[N(v(t.overview.apiType),1)]),_:1})]),t.overview.sessionId?(w(),S(`div`,nn,[R(s(G),{variant:`secondary`,class:`text-[10px]`},{default:k(()=>[...c[3]||=[N(`Session`,-1)]]),_:1}),b(`span`,rn,v(t.overview.sessionId.slice(0,8)),1)])):e(``,!0),b(`div`,an,[b(`div`,on,[b(`div`,sn,v(s(n)(`requestDetail.latency`)),1),b(`div`,cn,v(m.value),1)]),b(`div`,ln,[b(`div`,un,v(s(n)(`requestDetail.ttft`)),1),b(`div`,dn,v(t.overview.ttftMs==null?`--`:`${t.overview.ttftMs}ms`),1)]),b(`div`,fn,[b(`div`,pn,v(t.overview.inputTokensEstimated?s(n)(`requestDetail.estInputTokens`):s(n)(`requestDetail.inputTokens`)),1),b(`div`,mn,v(t.overview.inputTokens==null?`--`:t.overview.inputTokens),1)]),b(`div`,hn,[b(`div`,gn,v(s(n)(`requestDetail.outputTokens`)),1),b(`div`,{class:I([`text-sm font-semibold truncate`,d.value?`diff-added`:``])},v(f.value),3)]),b(`div`,_n,[b(`div`,vn,v(s(n)(`requestDetail.speed`)),1),b(`div`,yn,v(g.value),1)]),b(`div`,bn,[b(`div`,xn,v(s(n)(`requestDetail.cacheRead`)),1),b(`div`,Sn,v(t.overview.cacheReadTokens==null?`--`:t.overview.cacheReadTokens),1)])]),t.overview.cacheReadTokens!=null&&t.overview.cacheReadTokens>0?(w(),S(`div`,Cn,[b(`div`,wn,v(s(n)(`requestDetail.cacheSource`)),1),t.overview.cacheReadTokensEstimated===0?(w(),S(`div`,Tn,v(s(n)(`requestDetail.cacheSourceApi`)),1)):(w(),S(`div`,En,v(s(n)(`requestDetail.cacheSourceEstimated`)),1))])):e(``,!0),R(s(Q)),b(`div`,Dn,[b(`span`,On,v(s(n)(`requestDetail.attemptHistory`)),1),t.overview.attempts.length===0?(w(),S(`div`,kn,v(s(n)(`requestDetail.noRetry`)),1)):e(``,!0),(w(!0),S(u,null,z(t.overview.attempts,(e,t)=>(w(),S(`div`,{key:t,class:`flex items-center gap-1 text-[11px]`},[b(`span`,An,`#`+v(t+1),1),b(`span`,{class:I(y(e.statusCode)?`diff-removed`:`diff-added`)},v(e.statusCode??`--`),3),b(`span`,jn,v((e.latencyMs/s($)).toFixed(1))+`s`,1)]))),128))]),R(s(Q)),b(`div`,Mn,[t.overview.clientType==null?e(``,!0):(w(),S(`div`,Nn,[b(`span`,Pn,v(s(n)(`requestDetail.clientType`)),1),b(`span`,Fn,v(a.value),1)])),t.overview.statusCode==null?e(``,!0):(w(),S(`div`,In,[b(`span`,Ln,v(s(n)(`requestDetail.statusCodeLabel`)),1),b(`span`,Rn,v(t.overview.statusCode),1)])),t.overview.clientIp?(w(),S(`div`,zn,[b(`span`,Bn,v(s(n)(`requestDetail.clientIp`)),1),b(`span`,Vn,v(t.overview.clientIp),1)])):e(``,!0)])],64))]))}}),Wn={key:0,class:`rounded-md border bg-card`},Gn={class:`flex items-center gap-1.5 px-2.5 py-1.5 border-b`},Kn={class:`text-xs font-medium`},qn={class:`px-2.5 py-2`},Jn={key:0,class:`inline-block w-1.5 h-3.5 dot-success animate-pulse ml-0.5 align-text-bottom`},Yn={class:`flex items-center gap-1.5 px-2.5 py-1.5 cursor-pointer hover:brightness-95 rounded-t-md`},Xn={class:`text-xs font-medium`},Zn={key:0,class:`text-xs text-muted-foreground`},Qn={class:`px-2.5 pb-2`},$n=D({__name:`ContentBlockRenderer`,props:{type:{},content:{},name:{default:void 0},defaultOpen:{type:Boolean,default:!0},showCursor:{type:Boolean,default:!1},autoScroll:{type:Boolean,default:!1}},setup(t){let{t:n}=c(),r=t,i=p(r.type===`text`?!0:r.defaultOpen),o=p(null),l=_(()=>{switch(r.type){case`thinking`:return`block-thinking`;case`tool_use`:return`block-tool-use`;case`tool_result`:return`block-tool-result`;default:return`bg-card`}}),u=_(()=>{switch(r.type){case`thinking`:return`block-thinking-content italic`;case`tool_use`:return`block-tool-use-content`;case`tool_result`:return`block-tool-result-content`;default:return`bg-muted/50`}}),d=_(()=>{switch(r.type){case`thinking`:return Ne;case`tool_use`:return Le;case`tool_result`:return Pe;default:return Ie}}),f=_(()=>{switch(r.type){case`thinking`:return`text-[var(--color-role-thinking)]`;case`tool_use`:return`text-[var(--color-role-tool)]`;case`tool_result`:return`text-[var(--color-role-user)]`;default:return`text-muted-foreground`}}),m=_(()=>{switch(r.type){case`thinking`:return n(`requestDetail.thinking`);case`tool_use`:return n(`requestDetail.toolUse`);case`tool_result`:return n(`requestDetail.toolResultLabel`);default:return``}}),g=_(()=>r.type===`tool_use`?n(`requestDetail.waitingData`):r.type===`tool_result`?n(`requestDetail.noReturnData`):``);return a(()=>r.content,()=>{r.autoScroll&&C(()=>{let e=o.value;e&&(e.scrollTop=e.scrollHeight)})}),(r,a)=>t.type===`text`?(w(),S(`div`,Wn,[b(`div`,Gn,[R(s(Ie),{class:`h-3.5 w-3.5 diff-added`}),b(`span`,Kn,v(s(n)(`requestDetail.reply`)),1)]),b(`div`,qn,[b(`pre`,{ref_key:`contentRef`,ref:o,class:`text-xs overflow-y-auto whitespace-pre-wrap break-words`,style:{"max-height":`300px`}},[b(`code`,null,[N(v(t.content),1),t.showCursor?(w(),S(`span`,Jn)):e(``,!0)])],512)])])):(w(),h(s(oe),{key:1,open:i.value,"onUpdate:open":a[0]||=e=>i.value=e,class:I([`rounded-md border`,l.value])},{default:k(()=>[R(s(de),{"as-child":``},{default:k(()=>[b(`div`,Yn,[R(s(Te),{class:I([`h-3 w-3 transition-transform duration-200`,{"rotate-180":!i.value}])},null,8,[`class`]),(w(),h(ne(d.value),{class:I([`h-3.5 w-3.5`,f.value])},null,8,[`class`])),b(`span`,Xn,v(m.value),1),t.type===`thinking`?(w(),S(`span`,Zn,`(`+v(s(n)(`requestDetail.charCount`,{count:t.content.length}))+`)`,1)):e(``,!0),t.type===`tool_use`&&t.name?(w(),h(s(G),{key:1,variant:`secondary`,class:`text-xs`},{default:k(()=>[N(v(t.name),1)]),_:1})):e(``,!0)])]),_:1}),R(s(se),null,{default:k(()=>[b(`div`,Qn,[b(`pre`,{ref_key:`contentRef`,ref:o,class:I([`text-xs rounded p-2 overflow-y-auto whitespace-pre-wrap break-words`,u.value]),style:{"max-height":`300px`}},[b(`code`,null,v(t.content||g.value),1)],2)])]),_:1})]),_:1},8,[`open`,`class`]))}}),er=2;function tr(e){return e.map(e=>{let t=e;return t.type===`thinking`?{type:`thinking`,content:typeof t.thinking==`string`?t.thinking:``}:t.type===`text`?{type:`text`,content:typeof t.text==`string`?t.text:``}:t.type===`tool_use`?{type:`tool_use`,content:JSON.stringify(t.input??{},null,er),name:typeof t.name==`string`?t.name:``}:t.type===`tool_result`?{type:`tool_result`,content:typeof t.content==`string`?t.content:JSON.stringify(t.content)}:{type:`text`,content:JSON.stringify(t)}})}function nr(e){let t=[];for(let n of e){let e=n.message;if(!e)continue;let r=e.content;if(typeof r==`string`&&r)t.push({type:`text`,content:r});else if(Array.isArray(r))for(let e of r){let n=e;if(n.type===`text`)t.push({type:`text`,content:typeof n.text==`string`?n.text:``});else if(n.type===`tool_use`||n.type===`function`){let e=n.function??n.input??{};t.push({type:`tool_use`,content:JSON.stringify(e,null,er),name:typeof n.name==`string`?n.name:typeof e.name==`string`?e.name:``})}}}return t}function rr(e,t,n){let r=e||t;if(!r)return[];let i;try{i=JSON.parse(r)}catch{return[]}let a=i;if(typeof a.body==`string`)try{i=JSON.parse(a.body)}catch{i=i}let o=i;return n===`anthropic`&&Array.isArray(o.content)?tr(o.content):n===`openai`&&Array.isArray(o.choices)?nr(o.choices):[]}var ir=5,ar=2,or=3;function sr(e,t,n){let r=_(()=>{if(!t||!e.value)return[];let n=e.value.split(`
2
- `),r=[];for(let e of n){let t=e.trim();if(!t.startsWith(`data:`))continue;let n=t.slice(ir).trim();if(n===`[DONE]`){r.push({type:`done`,data:n});continue}try{let e=JSON.parse(n);r.push({type:`data`,data:e})}catch{r.push({type:`raw`,data:n})}}return r});return{sseEvents:r,assembledBlocks:_(()=>{if(!t||!e.value)return[];let n=[],i=null;for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`content_block_start`){let e=t.content_block;if(i={type:typeof e?.type==`string`?e.type:``,content:``,eventCount:0,toolName:typeof e?.name==`string`?e.name:void 0},i.type===`tool_use`&&e?.input){let t=e.input;Object.keys(t).length>0&&(i.content=JSON.stringify(t,null,ar))}continue}if(t.type===`content_block_delta`&&i){let e=t.delta;i.content+=e.thinking||e.text||e.partial_json||``,i.eventCount++;continue}t.type===`content_block_stop`&&i&&(n.push(i),i=null)}return i&&n.push(i),n}),sseMeta:_(()=>{let e=``,t=``,n=0,i=0,a=``;for(let o of r.value){if(o.type!==`data`)continue;let r=o.data;if(r.type===`message_start`){let i=r.message;e=typeof i?.id==`string`?i.id:``,t=typeof i?.model==`string`?i.model:``,n=Number(i?.usage?.input_tokens??0)}if(r.type===`message_delta`){let e=r.delta,t=r.usage;a=typeof e?.stop_reason==`string`?e.stop_reason:``,i=Number(t?.output_tokens??0)}}return{id:e,model:t,inputTokens:n,outputTokens:i,stopReason:a}}),openaiAssembled:_(()=>{if(n!==`openai`||!t)return null;let e=``,i=``,a=``,o=null,s=0;for(let t of r.value){if(t.type!==`data`)continue;let n=t.data,r=n.choices||[],c=r[0]?.delta;c?.role&&(e=c.role),c?.content&&(i+=c.content,s++),r[0]?.finish_reason&&(a=r[0].finish_reason),n.usage&&(o=n.usage)}return{role:e,content:i,contentEventCount:s,finishReason:a,usage:o}}),anthropicMessageStart:_(()=>{if(!t)return null;for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`message_start`){let e=t.message;return{id:typeof e?.id==`string`?e.id:``,model:typeof e?.model==`string`?e.model:``,input_tokens:Number(e?.usage?.input_tokens??0)}}}return null}),anthropicContentBlockStarts:_(()=>{if(!t)return[];let e=[];for(let t of r.value){if(t.type!==`data`)continue;let n=t.data;if(n.type===`content_block_start`){let t=n.content_block;e.push({index:Number(n.index??0),type:typeof t?.type==`string`?t.type:``})}}return e}),anthropicDeltaGroups:_(()=>{if(!t)return[];let e={};for(let t of r.value){if(t.type!==`data`)continue;let n=t.data;if(n.type!==`content_block_delta`)continue;let r=n.delta,i=typeof r?.type==`string`?r.type:`unknown`;e[i]||(e[i]={deltaType:i,kept:0,folded:0,foldedChars:0});let a=e[i];if(a.kept<or)a.kept++;else{a.folded++;let e=r,t=e.thinking||e.text||e.partial_json||``;a.foldedChars+=t.length}}return Object.values(e).filter(e=>e.kept>0||e.folded>0)}),anthropicMessageDelta:_(()=>{if(!t)return null;for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`message_delta`){let e=t.delta,n=t.usage;return{output_tokens:Number(n?.output_tokens??0),stop_reason:typeof e?.stop_reason==`string`?e.stop_reason:``}}}return null}),anthropicMessageStop:_(()=>t?r.value.some(e=>e.type===`data`&&e.data.type===`message_stop`):!1),openaiSseRole:_(()=>{if(!t)return null;for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.role)return t.role}return null}),openaiSseFirstContent:_(()=>{if(!t)return null;for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.content)return t.content}return null}),openaiSseFinishReason:_(()=>{if(!t)return null;for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.finish_reason;if(t)return t}return null}),openaiSseCollapsedCount:_(()=>{if(!t)return 0;let e=0,n=!1;for(let t of r.value){if(t.type!==`data`)continue;let r=(t.data.choices||[])[0]?.delta;if(!n){r?.content&&(n=!0);continue}(r?.content||r?.role)&&e++}return e}),openaiSseUsage:_(()=>{if(!t)return null;for(let e=r.value.length-1;e>=0;e--){let t=r.value[e];if(t.type!==`data`)continue;let n=t.data.usage;if(n)return{prompt_tokens:n.prompt_tokens,completion_tokens:n.completion_tokens,total_tokens:n.total_tokens,cached_tokens:n.cached_tokens??n.prompt_tokens_details?.cached_tokens}}return null})}}var cr={class:`flex flex-col gap-2 min-h-0 flex-1`},lr={class:`flex items-center justify-between flex-shrink-0`},ur={class:`text-xs font-medium text-muted-foreground`},dr={key:0,class:`relative flex-1 min-h-0`},fr={key:0,class:`flex flex-col gap-2`},pr={key:0,class:`text-xs text-muted-foreground`},mr={key:1,class:`text-xs text-muted-foreground`},hr={key:2,class:`text-xs text-muted-foreground`},gr={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},_r=50,vr=D({__name:`ResponseViewer`,props:{source:{},apiType:{},isStream:{type:Boolean},streamContent:{default:null},nonStreamBody:{default:null},responseBody:{default:null},upstreamResponse:{default:null},status:{}},setup(t){let{t:n}=c(),r=p(null),i=t,o=p(!1),l=_(()=>!!(i.responseBody||i.upstreamResponse)),{assembledBlocks:d}=sr(_(()=>{if(i.source!==`history`)return``;let e=i.responseBody||i.upstreamResponse||``;try{return JSON.parse(e).body||e}catch{return e}}),i.isStream,i.apiType),f=_(()=>{if(i.source===`realtime`){let e=i.streamContent?.blocks;if(e&&e.length>0)return e;if(i.responseBody){let e=rr(i.responseBody,null,i.apiType);if(e.length>0)return e}let t=i.streamContent?.rawChunks;return t&&t.trim().length>0?[{type:`text`,content:t}]:[]}let e=rr(i.responseBody??null,i.upstreamResponse??null,i.apiType);if(e.length>0)return e;if(i.responseBody&&i.responseBody.trim().length>0)return[{type:`text`,content:i.responseBody}];let t=[`thinking`,`text`,`tool_use`,`tool_result`];return d.value.map(e=>({type:t.includes(e.type)?e.type:`text`,content:e.content,...e.toolName?{name:e.toolName}:{}}))}),m=_(()=>i.source===`realtime`?i.streamContent?.rawChunks||i.responseBody||``:Vt(i.upstreamResponse??null,i.responseBody??null)),g=p(!1);function y(){let e=r.value;e&&(g.value=e.scrollHeight-e.scrollTop-e.clientHeight>_r)}function x(){let e=r.value;e&&(e.scrollTop=e.scrollHeight)}return a(f,()=>{g.value||C(()=>x())},{deep:!0}),(t,a)=>(w(),S(`div`,cr,[b(`div`,lr,[b(`span`,ur,v(s(n)(`requestDetail.responseTitle`)),1),R(s(M),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:a[0]||=e=>o.value=!o.value},{default:k(()=>[(w(),h(ne(o.value?s(Ae):s(Fe)),{class:`h-3 w-3`})),N(` `+v(o.value?s(n)(`requestDetail.structured`):i.isStream?s(n)(`requestDetail.rawSse`):s(n)(`requestDetail.rawJson`)),1)]),_:1})]),o.value?(w(),h(s(Bt),{key:1,class:`flex-1 min-h-0 rounded-md border`},{default:k(()=>[b(`pre`,gr,v(m.value),1)]),_:1})):(w(),S(`div`,dr,[b(`div`,{ref_key:`structuredRef`,ref:r,class:`flex-1 min-h-0 overflow-y-auto`,onScroll:y},[f.value.length>0?(w(),S(`div`,fr,[(w(!0),S(u,null,z(f.value,(e,t)=>(w(),h($n,{key:t,type:e.type,content:e.content,name:e.name,"show-cursor":i.status===`pending`&&t===f.value.length-1,"auto-scroll":i.status===`pending`&&t===f.value.length-1},null,8,[`type`,`content`,`name`,`show-cursor`,`auto-scroll`]))),128))])):e(``,!0),f.value.length===0?(w(),S(u,{key:1},[i.status===`pending`&&!i.streamContent?.rawChunks?(w(),S(`p`,pr,v(s(n)(`requestDetail.waitingResponse`)),1)):i.source===`history`&&i.isStream&&!l.value?(w(),S(`p`,mr,v(s(n)(`requestDetail.streamNotPersisted`)),1)):(w(),S(`p`,hr,v(s(n)(`requestDetail.noResponseContent`)),1))],64)):e(``,!0)],544),g.value?(w(),h(s(M),{key:0,variant:`outline`,size:`icon`,class:`absolute bottom-2 right-2 h-7 w-7 rounded-full shadow-md opacity-80 hover:opacity-100`,onClick:x},{default:k(()=>[R(s(Me),{class:`h-3.5 w-3.5`})]),_:1})):e(``,!0)]))]))}}),yr={class:`relative`},br={class:`bg-background text-foreground rounded-md p-3 text-xs overflow-auto max-h-[40vh] whitespace-pre-wrap break-all border`},xr=D({__name:`JsonCopyBlock`,props:{content:{},hideCopyButton:{type:Boolean}},setup(t){let{t:n}=c(),r=t,{copied:i,copy:a}=ut();async function o(){await a(r.content)}return(r,a)=>(w(),S(`div`,yr,[t.hideCopyButton?e(``,!0):(w(),h(s(M),{key:0,variant:`outline`,size:`sm`,class:`absolute top-2 right-2 h-7 text-xs`,onClick:o},{default:k(()=>[N(v(s(i)?s(n)(`logs.viewer.copied`):s(n)(`logs.viewer.copy`)),1)]),_:1})),b(`pre`,br,v(t.content),1)]))}}),Sr={class:`flex flex-col min-h-0 h-full`},Cr={class:`flex justify-end mb-1 flex-shrink-0`},wr={key:0,class:`space-y-3`},Tr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Er={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Dr={key:0,class:`text-[11px] text-muted-foreground py-4 text-center`},Or={key:1,class:`text-[11px] text-muted-foreground py-2 text-center`},kr={key:2,class:`space-y-4`},Ar={key:0},jr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Mr={class:`flex items-center gap-2 text-[11px]`},Nr={class:`font-mono text-muted-foreground`},Pr={class:`font-mono text-primary font-semibold`},Fr={key:1},Ir={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Lr={class:`text-[11px] bg-muted/50 rounded-md border px-2.5 py-2 overflow-y-auto whitespace-pre-wrap break-words max-h-40`},Rr={key:2},zr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Br={class:`space-y-1.5`},Vr={class:`flex items-center gap-1.5 mb-1`},Hr={key:1,class:`text-[9px] text-muted-foreground`},Ur={key:0,class:`diff-removed line-through mb-0.5`},Wr={key:1,class:`text-foreground overflow-y-auto max-h-40`},Gr={key:2,class:`text-muted-foreground text-[10px]`},Kr={key:3},qr={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},Jr={class:`space-y-1`},Yr={class:`grid grid-cols-5 gap-1`},Xr=[`title`,`onClick`],Zr={key:0,class:`rounded-md border bg-background p-2.5`},Qr={class:`flex items-center gap-2 mb-1`},$r={class:`text-[11px] font-semibold font-mono`},ei={key:0,class:`text-[11px] text-muted-foreground`},ti={key:1,class:`mt-1 flex flex-wrap gap-1`},ni={key:4},ri={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},ii={class:`flex items-center gap-2 text-[11px]`},ai={key:5},oi={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},si={class:`flex items-center gap-2 text-[11px]`},ci={class:`font-mono diff-removed line-through`},li={class:`font-mono diff-added font-medium`},ui=4,di=5,fi=D({__name:`RequestDiffViewer`,props:{overview:{}},setup(t){let{t:n}=c(),r=t,i=p(!1);function a(e){if(!e)return null;try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return null;let n=typeof t.headers==`object`&&t.headers!==null?t.headers:{},r=t.body;if(typeof r==`string`)try{r=JSON.parse(r)}catch{}return{headers:n,body:r??{}}}catch{return null}}function o(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&`text`in e).map(e=>typeof e.text==`string`?e.text:``).join(``):typeof t==`string`?t:t==null?``:JSON.stringify(t)}function l(e){if(!e)return``;let t=e.replace(/^Bearer\s+/i,``);return t.length<=ui?`***`:`${t.slice(0,ui)}***`}function d(e,t){let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n)return r}let f=_(()=>a(r.overview.clientRequest)),m=_(()=>a(r.overview.upstreamRequest)),g=_(()=>{let e=f.value?.body?.model,t=m.value?.body?.model;return{hasDiff:!!e&&!!t&&e!==t,from:e??``,to:t??``}}),y=_(()=>{let e=m.value?.body;if(!e)return null;let t=e.system;if(typeof t==`string`)return t;if(Array.isArray(t))return t.filter(e=>typeof e==`object`&&!!e&&`text`in e).map(e=>e.text).join(`
3
- `);let n=e.messages;if(Array.isArray(n)){let e=n.find(e=>e.role===`system`);if(e)return o(e)}return null}),x=_(()=>{let e=m.value?.body?.messages??[],t=f.value?.body?.messages??[];if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=typeof i.role==`string`?i.role:`unknown`;if(a===`system`)continue;let s=o(i),c=t[r],l=c?o(c):null,u=l!==null&&s!==l,d=i.content,f=Array.isArray(d)?d:[],p=f.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_use`).map(e=>e.name).filter(Boolean),m=f.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_result`).length;n.push({role:a,text:s,removedText:u?l:null,modified:u,toolCalls:p,toolResultCount:m})}return n}),C=p(-1),T=_(()=>{let e=[];for(let t=0;t<E.value.length;t+=di)e.push({tools:E.value.slice(t,t+di),startIdx:t});return e}),E=_(()=>{let e=m.value?.body;if(!e)return[];let t=e.tools;return Array.isArray(t)?t.filter(e=>typeof e?.name==`string`).map(e=>{let t=typeof e.description==`string`?e.description:``,n=e.input_schema?.properties,r=n?Object.keys(n):[];return{name:e.name,description:t,params:r}}):[]}),D=_(()=>{let e=f.value?.body?.stream_options!=null,t=m.value?.body?.stream_options!=null;return!e&&t}),O=_(()=>{if(!f.value?.headers||!m.value?.headers)return{hasDiff:!1,old:``,new:``};let e=d(f.value.headers,`authorization`),t=d(m.value.headers,`authorization`);return{hasDiff:!!e&&!!t&&e!==t,old:l(e),new:l(t)}});return(r,a)=>(w(),S(`div`,Sr,[b(`div`,Cr,[R(s(M),{variant:`outline`,size:`xs`,class:`gap-1`,onClick:a[0]||=e=>i.value=!i.value},{default:k(()=>[i.value?(w(),h(s(Fe),{key:0,class:`size-3`})):(w(),h(s(Ae),{key:1,class:`size-3`})),N(` `+v(i.value?s(n)(`requestDetail.structured`):s(n)(`requestDetail.rawJson`)),1)]),_:1})]),R(s(Bt),{class:`flex-1 min-h-0`},{default:k(()=>[i.value?(w(),S(`div`,wr,[b(`div`,null,[b(`div`,Tr,v(s(n)(`requestDetail.clientRequest`)),1),R(xr,{content:t.overview.clientRequest??`{}`},null,8,[`content`])]),b(`div`,null,[b(`div`,Er,v(s(n)(`requestDetail.upstreamRequest`)),1),R(xr,{content:t.overview.upstreamRequest??`{}`},null,8,[`content`])])])):(w(),S(u,{key:1},[!m.value&&!f.value?(w(),S(`div`,Dr,v(s(n)(`requestDetail.noRequestData`)),1)):!m.value&&f.value?(w(),S(`div`,Or,v(s(n)(`requestDetail.requestInProgress`)),1)):(w(),S(`div`,kr,[g.value.hasDiff?(w(),S(`div`,Ar,[b(`div`,jr,v(s(n)(`requestDetail.modelMapping`)),1),b(`div`,Mr,[b(`span`,Nr,v(g.value.from),1),a[1]||=b(`span`,{class:`text-muted-foreground`},`→`,-1),b(`span`,Pr,v(g.value.to),1)])])):e(``,!0),y.value?(w(),S(`div`,Fr,[b(`div`,Ir,v(s(n)(`requestDetail.system`)),1),b(`pre`,Lr,v(y.value),1)])):e(``,!0),x.value.length>0?(w(),S(`div`,Rr,[b(`div`,zr,v(s(n)(`requestDetail.messagesCount`,{count:x.value.length})),1),b(`div`,Br,[(w(!0),S(u,null,z(x.value,(t,r)=>(w(),S(`div`,{key:r,class:I([`rounded-md border px-2.5 py-1.5 text-[11px]`,t.modified?`diff-modified`:`bg-background`])},[b(`div`,Vr,[R(s(G),{variant:`outline`,class:I([`text-[9px] px-1.5 py-0 border-transparent`,t.role===`user`?`bg-role-user-bg text-role-user`:t.role===`assistant`?`bg-role-assistant-bg text-role-assistant`:`bg-role-thinking-bg text-role-thinking`])},{default:k(()=>[N(v(t.role),1)]),_:2},1032,[`class`]),t.modified?(w(),h(s(G),{key:0,variant:`outline`,class:`bg-role-thinking-bg text-role-thinking text-[9px] px-1.5 py-0 border-transparent`},{default:k(()=>[N(v(s(n)(`requestDetail.modified`)),1)]),_:1})):e(``,!0),t.toolCalls.length>0?(w(),S(`span`,Hr,` → `+v(t.toolCalls.join(`, `)),1)):e(``,!0)]),t.modified&&t.removedText?(w(),S(`div`,Ur,v(t.removedText),1)):e(``,!0),t.text?(w(),S(`div`,Wr,v(t.text),1)):t.toolResultCount>0?(w(),S(`div`,Gr,v(s(n)(`requestDetail.toolResultCount`,{count:t.toolResultCount})),1)):e(``,!0)],2))),128))])])):e(``,!0),E.value.length>0?(w(),S(`div`,Kr,[b(`div`,qr,v(s(n)(`requestDetail.toolsCount`,{count:E.value.length})),1),b(`div`,Jr,[(w(!0),S(u,null,z(T.value,(t,n)=>(w(),S(u,{key:n},[b(`div`,Yr,[(w(!0),S(u,null,z(t.tools,(e,n)=>(w(),S(`div`,{key:n,class:I([`cursor-pointer rounded-md border px-1.5 py-1 text-[10px] truncate text-center transition-colors`,C.value===t.startIdx+n?`bg-role-tool-bg text-role-tool border-role-tool`:`bg-background hover:bg-muted`]),title:e.name,onClick:e=>C.value=C.value===t.startIdx+n?-1:t.startIdx+n},v(e.name),11,Xr))),128))]),C.value>=t.startIdx&&C.value<t.startIdx+t.tools.length?(w(),S(`div`,Zr,[b(`div`,Qr,[b(`span`,$r,v(E.value[C.value].name),1)]),E.value[C.value].description?(w(),S(`p`,ei,v(E.value[C.value].description),1)):e(``,!0),E.value[C.value].params.length>0?(w(),S(`div`,ti,[(w(!0),S(u,null,z(E.value[C.value].params,e=>(w(),h(s(G),{key:e,variant:`outline`,class:`text-[9px] px-1 py-0`},{default:k(()=>[N(v(e),1)]),_:2},1024))),128))])):e(``,!0)])):e(``,!0)],64))),128))])])):e(``,!0),D.value?(w(),S(`div`,ni,[b(`div`,ri,v(s(n)(`requestDetail.streamOptions`)),1),b(`div`,ii,[R(s(G),{variant:`outline`,class:`bg-success-light text-success-dark text-[9px] px-1.5 py-0 border-transparent`},{default:k(()=>[N(v(s(n)(`requestDetail.injected`)),1)]),_:1}),a[2]||=b(`code`,{class:`font-mono diff-added`},`{ "include_usage": true }`,-1)])])):e(``,!0),O.value.hasDiff?(w(),S(`div`,ai,[b(`div`,oi,v(s(n)(`requestDetail.authReplacement`)),1),b(`div`,si,[b(`span`,ci,v(O.value.old),1),R(s(Q),{orientation:`vertical`,class:`h-3`}),b(`span`,li,v(O.value.new),1)])])):e(``,!0)]))],64))]),_:1})]))}}),pi={class:`h-[3px] w-full overflow-hidden`},mi={key:0,class:`h-full w-[40%] progress-active`,style:{animation:`shimmer 1.5s infinite`}},hi={key:1,class:`h-full w-full progress-failed`},gi={key:2,class:`h-full w-full progress-active`},_i={key:0,class:`font-mono text-[11px] text-muted-foreground`},vi={key:0,class:`flex gap-0 px-4 pb-4 min-h-0 h-[calc(85vh-80px)]`},yi={class:`w-[280px] border-r pr-3 flex-shrink-0 overflow-y-auto min-h-0`},bi={class:`mt-4 border-t pt-4`},xi={class:`flex-1 flex flex-col min-w-0 min-h-0 pl-3`},Si={key:0,class:`rounded-md bg-destructive/10 px-3 py-1.5 text-xs text-destructive mb-2 flex-shrink-0`},Ci={key:0,class:`flex-1 min-h-0 overflow-y-auto mt-2`},wi={key:1,class:`flex-1 min-h-0 mt-2`},Ti={key:1,class:`flex items-center justify-center h-[calc(85vh-80px)]`},Ei={class:`text-sm text-muted-foreground`},Di={class:`rounded-md bg-muted px-3 py-2 text-sm text-muted-foreground`},Oi=429,ki=5e3,Ai=10,ji=6e4,Mi=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(D({__name:`UnifiedRequestDialog`,props:{open:{type:Boolean},source:{},request:{},streamContent:{},logDetailData:{},logEntry:{}},emits:[`update:open`],setup(n,{emit:r}){let{t:i}=c(),o=re(),{copied:l,copy:u}=ut();function d(){return{name:``,status_code:Oi,body_pattern:``,retry_strategy:`exponential`,retry_delay_ms:ki,max_retries:Ai,max_delay_ms:ji,provider_id:null}}let f=p(!1),m=p(!1),g=p(!1),y=p(null),x=p(``);function C(){F.value&&u(F.value.id)}async function T(){if(F.value?.id){f.value=!0;try{let e=await O.aiRetryGenerate(F.value.id);if(e.success&&e.rule){let t=e.rule,n=d();y.value={name:t.name??n.name,status_code:t.status_code??n.status_code,body_pattern:t.body_pattern??n.body_pattern,retry_strategy:t.retry_strategy??n.retry_strategy,retry_delay_ms:t.retry_delay_ms??n.retry_delay_ms,max_retries:t.max_retries??n.max_retries,max_delay_ms:t.max_delay_ms??n.max_delay_ms,provider_id:t.provider_id??null},x.value=e.summary??``,g.value=!0}else{let t=e.error??``;/config/i.test(t)||/未配置/.test(t)||/ai_retry_config/i.test(t)?m.value=!0:W.error(t||i(`logs.generateFailed`))}}catch(e){console.error(`UnifiedRequestDialog.handleGenerateRule:`,e);let n=t(e,i(`logs.generateFailed`));/config/i.test(n)||/未配置/.test(n)?m.value=!0:W.error(n)}finally{f.value=!1}}}function E(){}function D(){m.value=!1,j(`update:open`,!1),o.push(`/proxy-enhancement`)}let A=n,j=r,P=p(`response`),ee=p(null),F=_(()=>{if(A.source===`realtime`){if(!A.request)return null;let e=Mt(A.request,A.logDetailData?.responseBody);return A.logDetailData&&(A.logDetailData.clientRequest&&(e.clientRequest=A.logDetailData.clientRequest),A.logDetailData.upstreamRequest&&(e.upstreamRequest=A.logDetailData.upstreamRequest)),e}return ee.value}),I=_(()=>F.value?F.value.status:`pending`);return a([()=>A.open,()=>A.logEntry],([e,t])=>{if(!e){f.value=!1,g.value=!1,y.value=null,x.value=``,m.value=!1;return}P.value=`response`,A.source===`history`&&t&&(ee.value=Rt(t))}),(t,r)=>(w(),h(s(he),{open:A.open,"onUpdate:open":r[4]||=e=>j(`update:open`,e)},{default:k(()=>[R(s(fe),{class:`sm:max-w-6xl max-h-[85vh] p-0 overflow-hidden flex flex-col`},{default:k(()=>[b(`div`,pi,[I.value===`pending`?(w(),S(`div`,mi)):I.value===`failed`?(w(),S(`div`,hi)):(w(),S(`div`,gi))]),R(s(me),{class:`px-4 pt-2 pb-0`},{default:k(()=>[R(s(_e),{class:`text-sm flex items-center gap-2`},{default:k(()=>[N(v(s(i)(`requestDetail.dialogTitle`))+` `,1),F.value?(w(),S(`span`,_i,v(F.value.id),1)):e(``,!0),F.value?(w(),h(s(M),{key:1,variant:`ghost`,size:`icon-xs`,class:`shrink-0`,onClick:C},{default:k(()=>[s(l)?(w(),h(s(ke),{key:0,class:`size-3 text-success`})):(w(),h(s(ie),{key:1,class:`size-3`}))]),_:1})):e(``,!0)]),_:1}),R(s(pe),{class:`sr-only`},{default:k(()=>[N(v(s(i)(`requestDetail.dialogDescription`)),1)]),_:1})]),_:1}),F.value?(w(),S(`div`,vi,[b(`div`,yi,[R(Un,{overview:F.value},null,8,[`overview`]),b(`div`,bi,[R(s(M),{variant:`default`,size:`sm`,class:`w-full gap-1.5`,disabled:f.value,onClick:T},{default:k(()=>[R(s(ae),{class:`h-3.5 w-3.5`}),N(` `+v(f.value?s(i)(`logs.analyzing`):s(i)(`logs.generateRetryRule`)),1)]),_:1},8,[`disabled`])])]),b(`div`,xi,[F.value.errorMessage?(w(),S(`div`,Si,v(F.value.errorMessage),1)):e(``,!0),R(s(ce),{modelValue:P.value,"onUpdate:modelValue":r[0]||=e=>P.value=e,class:`flex-1 flex flex-col min-h-0`},{default:k(()=>[R(s(ue),{class:`flex-shrink-0`},{default:k(()=>[R(s(le),{value:`response`},{default:k(()=>[N(v(s(i)(`requestDetail.responseTab`)),1)]),_:1}),R(s(le),{value:`request`},{default:k(()=>[N(v(s(i)(`requestDetail.requestTab`)),1)]),_:1})]),_:1}),P.value===`response`?(w(),S(`div`,Ci,[R(vr,{source:A.source,"api-type":F.value.apiType,"is-stream":F.value.isStream,"stream-content":A.streamContent,"non-stream-body":n.logDetailData?.responseBody,"response-body":F.value.responseBody,"upstream-response":F.value.upstreamResponse,status:F.value.status},null,8,[`source`,`api-type`,`is-stream`,`stream-content`,`non-stream-body`,`response-body`,`upstream-response`,`status`])])):e(``,!0),P.value===`request`?(w(),S(`div`,wi,[R(fi,{overview:F.value},null,8,[`overview`])])):e(``,!0)]),_:1},8,[`modelValue`])])])):(w(),S(`div`,Ti,[b(`p`,Ei,v(A.source===`realtime`?s(i)(`requestDetail.loading`):s(i)(`requestDetail.noSelectedRequest`)),1)])),R(jt,{open:g.value,rule:y.value,summary:x.value,"onUpdate:open":r[1]||=e=>g.value=e,onSaved:E},null,8,[`open`,`rule`,`summary`]),R(s(he),{open:m.value,"onUpdate:open":r[3]||=e=>m.value=e},{default:k(()=>[R(s(fe),{class:`max-w-md`},{default:k(()=>[R(s(me),null,{default:k(()=>[R(s(_e),{class:`flex items-center gap-2`},{default:k(()=>[R(s(ae),{class:`h-4 w-4 text-primary`}),N(` `+v(s(i)(`logs.needAiConfig`)),1)]),_:1}),R(s(pe),null,{default:k(()=>[N(v(s(i)(`logs.needAiConfigDesc`)),1)]),_:1})]),_:1}),b(`div`,Di,v(s(i)(`logs.configPath`)),1),R(s(ge),null,{default:k(()=>[R(s(M),{variant:`outline`,onClick:r[2]||=e=>m.value=!1},{default:k(()=>[N(v(s(i)(`common.cancel`)),1)]),_:1}),R(s(M),{onClick:D},{default:k(()=>[N(v(s(i)(`logs.goToConfig`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]),_:1})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-22144aa1`]]);export{Q as i,Bt as n,ut as r,Mi as t};
@@ -1 +0,0 @@
1
- import{L as e}from"./button-Cn_ZnI9p.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};