llm-simple-router 0.3.7 → 0.4.0

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 (104) hide show
  1. package/README.md +81 -49
  2. package/dist/admin/constants.d.ts +1 -8
  3. package/dist/admin/constants.js +2 -8
  4. package/dist/admin/logs.js +18 -3
  5. package/dist/admin/router-keys.js +1 -2
  6. package/dist/cli.js +0 -0
  7. package/dist/constants.d.ts +8 -0
  8. package/dist/constants.js +9 -0
  9. package/dist/db/index.d.ts +4 -4
  10. package/dist/db/index.js +2 -2
  11. package/dist/db/logs.d.ts +18 -33
  12. package/dist/db/logs.js +40 -17
  13. package/dist/db/metrics.d.ts +33 -0
  14. package/dist/db/metrics.js +7 -0
  15. package/dist/db/migrations/018_add_failover_field.sql +2 -0
  16. package/dist/db/retry-rules.d.ts +2 -2
  17. package/dist/db/retry-rules.js +26 -13
  18. package/dist/index.js +3 -5
  19. package/dist/monitor/request-tracker.d.ts +6 -0
  20. package/dist/monitor/request-tracker.js +23 -54
  21. package/dist/monitor/stream-extractor.d.ts +11 -0
  22. package/dist/monitor/stream-extractor.js +51 -0
  23. package/dist/proxy/anthropic.js +19 -32
  24. package/dist/proxy/log-helpers.d.ts +11 -4
  25. package/dist/proxy/log-helpers.js +5 -3
  26. package/dist/proxy/openai.js +18 -34
  27. package/dist/proxy/orchestrator.d.ts +52 -0
  28. package/dist/proxy/orchestrator.js +100 -0
  29. package/dist/proxy/proxy-core.d.ts +14 -26
  30. package/dist/proxy/proxy-core.js +40 -337
  31. package/dist/proxy/proxy-handler.d.ts +18 -0
  32. package/dist/proxy/proxy-handler.js +223 -0
  33. package/dist/proxy/proxy-logging.d.ts +28 -0
  34. package/dist/proxy/proxy-logging.js +122 -0
  35. package/dist/proxy/resilience.d.ts +63 -0
  36. package/dist/proxy/resilience.js +188 -0
  37. package/dist/proxy/scope.d.ts +18 -0
  38. package/dist/proxy/scope.js +37 -0
  39. package/dist/proxy/semaphore.d.ts +9 -2
  40. package/dist/proxy/semaphore.js +34 -7
  41. package/dist/proxy/stream-proxy.d.ts +7 -0
  42. package/dist/proxy/stream-proxy.js +263 -0
  43. package/dist/proxy/{upstream-call.d.ts → transport.d.ts} +25 -18
  44. package/dist/proxy/transport.js +128 -0
  45. package/dist/proxy/types.d.ts +58 -0
  46. package/dist/proxy/types.js +30 -0
  47. package/frontend-dist/assets/{CardContent-CucI6u41.js → CardContent-CTnwqTdL.js} +1 -1
  48. package/frontend-dist/assets/{CardHeader-d-DYsWxe.js → CardHeader-CfUeY7tk.js} +1 -1
  49. package/frontend-dist/assets/{CardTitle-CIDEQkWB.js → CardTitle-CWiDwWqd.js} +1 -1
  50. package/frontend-dist/assets/{Checkbox-CybCw3zS.js → Checkbox-BxNz70R_.js} +1 -1
  51. package/frontend-dist/assets/{CollapsibleTrigger-BFNhb19_.js → CollapsibleTrigger-Uz1aGdtH.js} +1 -1
  52. package/frontend-dist/assets/{Collection-DUBb4r6h.js → Collection-1EHC87X5.js} +1 -1
  53. package/frontend-dist/assets/{Dashboard-DLB6iqH1.js → Dashboard-C3FL30UN.js} +2 -2
  54. package/frontend-dist/assets/{DialogTitle-Dq-5o7nJ.js → DialogTitle-CAOFxr83.js} +1 -1
  55. package/frontend-dist/assets/{Input-HN3Il0-c.js → Input-DRIid2C6.js} +1 -1
  56. package/frontend-dist/assets/{Label-CXAeFn-r.js → Label-UyNN2jyE.js} +1 -1
  57. package/frontend-dist/assets/LogDetailDialog-8BT4vIlV.js +3 -0
  58. package/frontend-dist/assets/{Login-Br3qsdxf.js → Login-CnzH6TdS.js} +1 -1
  59. package/frontend-dist/assets/Logs-CbK8NB_X.js +1 -0
  60. package/frontend-dist/assets/{ModelMappings-DXC0sNH5.js → ModelMappings-DeRFgsYG.js} +1 -1
  61. package/frontend-dist/assets/Monitor-Dd80bdUn.js +1 -0
  62. package/frontend-dist/assets/{PopperContent-CnZejY31.js → PopperContent-B3fZao7v.js} +1 -1
  63. package/frontend-dist/assets/{Providers-8CHhW4uH.js → Providers-B_DbV-_y.js} +1 -1
  64. package/frontend-dist/assets/ProxyEnhancement-up1fnPzq.js +5 -0
  65. package/frontend-dist/assets/RetryRules-Dkuhjh0u.js +1 -0
  66. package/frontend-dist/assets/RouterKeys-CvMMAa4t.js +1 -0
  67. package/frontend-dist/assets/{RovingFocusItem-B7ZIkplZ.js → RovingFocusItem-X0bfqWWS.js} +1 -1
  68. package/frontend-dist/assets/{SelectValue-B32pgmTJ.js → SelectValue-zO8t-tx1.js} +1 -1
  69. package/frontend-dist/assets/{Setup-Df9IQo2x.js → Setup-ByT2ThOQ.js} +1 -1
  70. package/frontend-dist/assets/{Switch-CLeo7H6d.js → Switch-BEMjVugO.js} +1 -1
  71. package/frontend-dist/assets/{TableHeader-BpscAtT3.js → TableHeader-DpHWSnxK.js} +1 -1
  72. package/frontend-dist/assets/{TabsTrigger-DErAbTuM.js → TabsTrigger-Db6RqsZc.js} +1 -1
  73. package/frontend-dist/assets/{VisuallyHidden-CJBR3YB3.js → VisuallyHidden-hs8pj8OP.js} +1 -1
  74. package/frontend-dist/assets/{VisuallyHiddenInput-Cy0VuE1l.js → VisuallyHiddenInput-1m0nNADN.js} +1 -1
  75. package/frontend-dist/assets/{alert-dialog-BAR1JRmT.js → alert-dialog-PP91kaO8.js} +1 -1
  76. package/frontend-dist/assets/{button-D54q76GQ.js → button-Dcc0gF5i.js} +1 -1
  77. package/frontend-dist/assets/{client-Mb8fy_bC.js → client-DIIo9zPK.js} +2 -2
  78. package/frontend-dist/assets/{createLucideIcon-CCmQ9QKM.js → createLucideIcon-DGZkBjcJ.js} +1 -1
  79. package/frontend-dist/assets/{dialog-DSH5k5Kj.js → dialog-CxSyR-fN.js} +1 -1
  80. package/frontend-dist/assets/format-CPdJtjZ5.js +1 -0
  81. package/frontend-dist/assets/index-BL-LAtac.css +1 -0
  82. package/frontend-dist/assets/{index-BQBtSfem.js → index-CvT41fGL.js} +1 -1
  83. package/frontend-dist/assets/{lib-BgOqOzXI.js → lib-Bl0OuBjh.js} +1 -1
  84. package/frontend-dist/assets/{ohash.D__AXeF1-p4vp6Svt.js → ohash.D__AXeF1-B64hB831.js} +1 -1
  85. package/frontend-dist/assets/{useClipboard-DO-38TXr.js → useClipboard-CWc1cTDo.js} +1 -1
  86. package/frontend-dist/assets/{useForwardExpose-CzQFheaD.js → useForwardExpose-AkE0lq8y.js} +1 -1
  87. package/frontend-dist/assets/useNonce-DGyPxdjq.js +1 -0
  88. package/frontend-dist/assets/x-BuUpx9Fr.js +1 -0
  89. package/frontend-dist/index.html +7 -7
  90. package/package.json +1 -1
  91. package/dist/admin/services.d.ts +0 -7
  92. package/dist/admin/services.js +0 -63
  93. package/dist/proxy/retry.d.ts +0 -43
  94. package/dist/proxy/retry.js +0 -121
  95. package/dist/proxy/upstream-call.js +0 -208
  96. package/frontend-dist/assets/LogResponseViewer-CyBzv02a.js +0 -3
  97. package/frontend-dist/assets/Logs-Cu_IftdS.js +0 -1
  98. package/frontend-dist/assets/Monitor-CKlid1sC.js +0 -1
  99. package/frontend-dist/assets/ProxyEnhancement-CkYeXwgH.js +0 -5
  100. package/frontend-dist/assets/RetryRules-Csb7u9W4.js +0 -1
  101. package/frontend-dist/assets/RouterKeys-C6YIufmj.js +0 -1
  102. package/frontend-dist/assets/index-H-lnTkMr.css +0 -1
  103. package/frontend-dist/assets/useNonce-CU-NirfM.js +0 -1
  104. package/frontend-dist/assets/x-DEJ1xpi5.js +0 -1
@@ -1 +1 @@
1
- import{B as e,F as t,L as n,M as r,S as i,Y as a,_ as o,b as s,f as c,g as l,gt as ee,h as te,l as ne,mt as u,ot as d,t as re,u as ie,v as f,x as p,y as m,yt as h}from"./client-Mb8fy_bC.js";import{t as ae}from"./createLucideIcon-CCmQ9QKM.js";import{n as oe}from"./ohash.D__AXeF1-p4vp6Svt.js";import{a as se,i as ce,n as le,r as ue,t as de}from"./SelectValue-B32pgmTJ.js";import{n as g}from"./button-D54q76GQ.js";import{t as fe}from"./Checkbox-CybCw3zS.js";import{i as pe,o as me,r as he,s as ge,t as _e}from"./dialog-DSH5k5Kj.js";import{a as ve,c as ye,i as be,n as xe,o as Se,r as Ce,t as we}from"./alert-dialog-BAR1JRmT.js";import{t as _}from"./Label-CXAeFn-r.js";import{t as Te}from"./Switch-CLeo7H6d.js";import{n as Ee,r as v}from"./lib-BgOqOzXI.js";import{a as De,i as y,n as b,o as Oe,r as ke,t as Ae}from"./TableHeader-BpscAtT3.js";import{t as x}from"./Input-HN3Il0-c.js";var je=ae(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),S;(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})(S||={});var Me;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Me||={});var C=S.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),w=e=>{switch(typeof e){case`undefined`:return C.undefined;case`string`:return C.string;case`number`:return Number.isNaN(e)?C.nan:C.number;case`boolean`:return C.boolean;case`function`:return C.function;case`bigint`:return C.bigint;case`symbol`:return C.symbol;case`object`:return Array.isArray(e)?C.array:e===null?C.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?C.promise:typeof Map<`u`&&e instanceof Map?C.map:typeof Set<`u`&&e instanceof Set?C.set:typeof Date<`u`&&e instanceof Date?C.date:C.object;default:return C.unknown}},T=S.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`]),E=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,S.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()}};E.create=e=>new E(e);var D=(e,t)=>{let n;switch(e.code){case T.invalid_type:n=e.received===C.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case T.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,S.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:n=`Unrecognized key(s) in object: ${S.joinValues(e.keys,`, `)}`;break;case T.invalid_union:n=`Invalid input`;break;case T.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${S.joinValues(e.options)}`;break;case T.invalid_enum_value:n=`Invalid enum value. Expected ${S.joinValues(e.options)}, received '${e.received}'`;break;case T.invalid_arguments:n=`Invalid function arguments`;break;case T.invalid_return_type:n=`Invalid function return type`;break;case T.invalid_date:n=`Invalid date`;break;case T.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}"`:S.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case T.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 T.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 T.custom:n=`Invalid input`;break;case T.invalid_intersection_types:n=`Intersection results could not be merged`;break;case T.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case T.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,S.assertNever(e)}return{message:n}},O=D;function k(){return O}var Ne=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 A(e,t){let n=k(),r=Ne({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===D?void 0:D].filter(e=>!!e)});e.common.issues.push(r)}var j=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 M;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 M;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}}},M=Object.freeze({status:`aborted`}),N=e=>({status:`dirty`,value:e}),P=e=>({status:`valid`,value:e}),Pe=e=>e.status===`aborted`,Fe=e=>e.status===`dirty`,F=e=>e.status===`valid`,I=e=>typeof Promise<`u`&&e instanceof Promise,L;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(L||={});var R=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}},Ie=(e,t)=>{if(F(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(){return this._error||=new E(e.common.issues),this._error}}};function z(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 B=class{get description(){return this._def.description}_getType(e){return w(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:w(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new j,ctx:{common:e.parent.common,data:e.data,parsedType:w(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(I(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:w(e)};return Ie(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:w(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return F(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=>F(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:w(e)},r=this._parse({data:e,path:n.path,parent:n});return Ie(n,await(I(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:T.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 W.create(this)}promise(){return Y.create(this,this._def)}or(e){return _t.create([this,e],this._def)}and(e){return bt.create(this,e,this._def)}transform(e){return new X({...z(this._def),schema:this,typeName:$.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new At({...z(this._def),innerType:this,defaultValue:t,typeName:$.ZodDefault})}brand(){return new Nt({typeName:$.ZodBranded,type:this,...z(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new jt({...z(this._def),innerType:this,catchValue:t,typeName:$.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Pt.create(this,e)}readonly(){return Ft.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Le=/^c[^\s-]{8,}$/i,Re=/^[0-9a-z]+$/,ze=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Be=/^[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,Ve=/^[a-z0-9_-]{21}$/i,He=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ue=/^[-+]?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)?)??$/,We=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ge=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Ke,qe=/^(?:(?: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])$/,Je=/^(?:(?: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])$/,Ye=/^(([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]))$/,Xe=/^(([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])$/,Ze=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Qe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,$e=`((\\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])))`,et=RegExp(`^${$e}$`);function tt(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 nt(e){return RegExp(`^${tt(e)}$`)}function rt(e){let t=`${$e}T${tt(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function it(e,t){return!!((t===`v4`||!t)&&qe.test(e)||(t===`v6`||!t)&&Ye.test(e))}function at(e,t){if(!He.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 ot(e,t){return!!((t===`v4`||!t)&&Je.test(e)||(t===`v6`||!t)&&Xe.test(e))}var V=class e extends B{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==C.string){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.string,received:t.parsedType}),M}let t=new j,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),A(n,{code:T.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),A(n,{code:T.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?A(n,{code:T.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&A(n,{code:T.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)We.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`email`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Ke||=new RegExp(Ge,`u`),Ke.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`emoji`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)Be.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`uuid`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)Ve.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`nanoid`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Le.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`cuid`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Re.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`cuid2`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)ze.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`ulid`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),A(n,{validation:`url`,code:T.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),A(n,{validation:`regex`,code:T.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),A(n,{code:T.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),A(n,{code:T.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),A(n,{code:T.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?rt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{code:T.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?et.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{code:T.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?nt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{code:T.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Ue.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`duration`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?it(e.data,r.version)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`ip`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?at(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`jwt`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?ot(e.data,r.version)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`cidr`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Ze.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`base64`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?Qe.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`base64url`,code:T.invalid_string,message:r.message}),t.dirty()):S.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:T.invalid_string,...L.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...L.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...L.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...L.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...L.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...L.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...L.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...L.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...L.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...L.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...L.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...L.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...L.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...L.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,...L.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,...L.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...L.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...L.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...L.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...L.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...L.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...L.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...L.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...L.errToObj(t)})}nonempty(e){return this.min(1,L.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}};V.create=e=>new V({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...z(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 B{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)!==C.number){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.number,received:t.parsedType}),M}let t,n=new j;for(let r of this._def.checks)r.kind===`int`?S.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),A(t,{code:T.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),A(t,{code:T.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),A(t,{code:T.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),A(t,{code:T.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),A(t,{code:T.not_finite,message:r.message}),n.dirty()):S.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,L.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,L.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,L.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,L.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:L.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:L.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:L.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:L.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:L.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:L.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:L.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:L.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:L.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:L.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`&&S.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,...z(e)});var lt=class e extends B{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)!==C.bigint)return this._getInvalidInput(e);let t,n=new j;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),A(t,{code:T.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),A(t,{code:T.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),A(t,{code:T.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):S.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.bigint,received:t.parsedType}),M}gte(e,t){return this.setLimit(`min`,e,!0,L.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,L.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,L.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,L.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:L.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:L.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:L.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:L.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:L.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:L.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}};lt.create=e=>new lt({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...z(e)});var ut=class extends B{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==C.boolean){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.boolean,received:t.parsedType}),M}return P(e.data)}};ut.create=e=>new ut({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...z(e)});var dt=class e extends B{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==C.date){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.date,received:t.parsedType}),M}if(Number.isNaN(e.data.getTime()))return A(this._getOrReturnCtx(e),{code:T.invalid_date}),M;let t=new j,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),A(n,{code:T.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),A(n,{code:T.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):S.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:L.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:L.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)}};dt.create=e=>new dt({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...z(e)});var ft=class extends B{_parse(e){if(this._getType(e)!==C.symbol){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.symbol,received:t.parsedType}),M}return P(e.data)}};ft.create=e=>new ft({typeName:$.ZodSymbol,...z(e)});var pt=class extends B{_parse(e){if(this._getType(e)!==C.undefined){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.undefined,received:t.parsedType}),M}return P(e.data)}};pt.create=e=>new pt({typeName:$.ZodUndefined,...z(e)});var mt=class extends B{_parse(e){if(this._getType(e)!==C.null){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.null,received:t.parsedType}),M}return P(e.data)}};mt.create=e=>new mt({typeName:$.ZodNull,...z(e)});var ht=class extends B{constructor(){super(...arguments),this._any=!0}_parse(e){return P(e.data)}};ht.create=e=>new ht({typeName:$.ZodAny,...z(e)});var H=class extends B{constructor(){super(...arguments),this._unknown=!0}_parse(e){return P(e.data)}};H.create=e=>new H({typeName:$.ZodUnknown,...z(e)});var U=class extends B{_parse(e){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.never,received:t.parsedType}),M}};U.create=e=>new U({typeName:$.ZodNever,...z(e)});var gt=class extends B{_parse(e){if(this._getType(e)!==C.undefined){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.void,received:t.parsedType}),M}return P(e.data)}};gt.create=e=>new gt({typeName:$.ZodVoid,...z(e)});var W=class e extends B{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==C.array)return A(t,{code:T.invalid_type,expected:C.array,received:t.parsedType}),M;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(A(t,{code:e?T.too_big:T.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&&(A(t,{code:T.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&&(A(t,{code:T.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 R(t,e,t.path,n)))).then(e=>j.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new R(t,e,t.path,n)));return j.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:L.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:L.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:L.toString(n)}})}nonempty(e){return this.min(1,e)}};W.create=(e,t)=>new W({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...z(t)});function G(e){if(e instanceof K){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Z.create(G(r))}return new K({...e._def,shape:()=>t})}else if(e instanceof W)return new W({...e._def,type:G(e.element)});else if(e instanceof Z)return Z.create(G(e.unwrap()));else if(e instanceof Q)return Q.create(G(e.unwrap()));else if(e instanceof J)return J.create(e.items.map(e=>G(e)));else return e}var K=class e extends B{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();return this._cached={shape:e,keys:S.objectKeys(e)},this._cached}_parse(e){if(this._getType(e)!==C.object){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.object,received:t.parsedType}),M}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof U&&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 R(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof U){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&&(A(n,{code:T.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 R(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=>j.mergeObjectSync(t,e)):j.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return L.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:L.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 S.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 S.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return G(this)}partial(t){let n={};for(let e of S.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 S.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 Dt(S.objectKeys(this.shape))}};K.create=(e,t)=>new K({shape:()=>e,unknownKeys:`strip`,catchall:U.create(),typeName:$.ZodObject,...z(t)}),K.strictCreate=(e,t)=>new K({shape:()=>e,unknownKeys:`strict`,catchall:U.create(),typeName:$.ZodObject,...z(t)}),K.lazycreate=(e,t)=>new K({shape:e,unknownKeys:`strip`,catchall:U.create(),typeName:$.ZodObject,...z(t)});var _t=class extends B{_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 E(e.ctx.common.issues));return A(t,{code:T.invalid_union,unionErrors:n}),M}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 E(e));return A(t,{code:T.invalid_union,unionErrors:i}),M}}get options(){return this._def.options}};_t.create=(e,t)=>new _t({options:e,typeName:$.ZodUnion,...z(t)});var q=e=>e instanceof Tt?q(e.schema):e instanceof X?q(e.innerType()):e instanceof Et?[e.value]:e instanceof Ot?e.options:e instanceof kt?S.objectValues(e.enum):e instanceof At?q(e._def.innerType):e instanceof pt?[void 0]:e instanceof mt?[null]:e instanceof Z?[void 0,...q(e.unwrap())]:e instanceof Q?[null,...q(e.unwrap())]:e instanceof Nt||e instanceof Ft?q(e.unwrap()):e instanceof jt?q(e._def.innerType):[],vt=class e extends B{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==C.object)return A(t,{code:T.invalid_type,expected:C.object,received:t.parsedType}),M;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}):(A(t,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),M)}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=q(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,...z(r)})}};function yt(e,t){let n=w(e),r=w(t);if(e===t)return{valid:!0,data:e};if(n===C.object&&r===C.object){let n=S.objectKeys(t),r=S.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=yt(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===C.array&&r===C.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=yt(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===C.date&&r===C.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var bt=class extends B{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Pe(e)||Pe(r))return M;let i=yt(e.value,r.value);return i.valid?((Fe(e)||Fe(r))&&t.dirty(),{status:t.value,value:i.data}):(A(n,{code:T.invalid_intersection_types}),M)};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}))}};bt.create=(e,t,n)=>new bt({left:e,right:t,typeName:$.ZodIntersection,...z(n)});var J=class e extends B{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.array)return A(n,{code:T.invalid_type,expected:C.array,received:n.parsedType}),M;if(n.data.length<this._def.items.length)return A(n,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),M;!this._def.rest&&n.data.length>this._def.items.length&&(A(n,{code:T.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 R(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>j.mergeArray(t,e)):j.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};J.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new J({items:e,typeName:$.ZodTuple,rest:null,...z(t)})};var xt=class e extends B{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!==C.object)return A(n,{code:T.invalid_type,expected:C.object,received:n.parsedType}),M;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new R(n,e,n.path,e)),value:a._parse(new R(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?j.mergeObjectAsync(t,r):j.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof B?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...z(r)}):new e({keyType:V.create(),valueType:t,typeName:$.ZodRecord,...z(n)})}},St=class extends B{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!==C.map)return A(n,{code:T.invalid_type,expected:C.map,received:n.parsedType}),M;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new R(n,e,n.path,[a,`key`])),value:i._parse(new R(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 M;(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 M;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};St.create=(e,t,n)=>new St({valueType:t,keyType:e,typeName:$.ZodMap,...z(n)});var Ct=class e extends B{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.set)return A(n,{code:T.invalid_type,expected:C.set,received:n.parsedType}),M;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(A(n,{code:T.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&&(A(n,{code:T.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 M;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 R(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:L.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:L.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};Ct.create=(e,t)=>new Ct({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...z(t)});var wt=class e extends B{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==C.function)return A(t,{code:T.invalid_type,expected:C.function,received:t.parsedType}),M;function n(e,n){return Ne({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,k(),D].filter(e=>!!e),issueData:{code:T.invalid_arguments,argumentsError:n}})}function r(e,n){return Ne({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,k(),D].filter(e=>!!e),issueData:{code:T.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Y){let e=this;return P(async function(...t){let o=new E([]),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 P(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new E([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new E([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:J.create(t).rest(H.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||J.create([]).rest(H.create()),returns:n||H.create(),typeName:$.ZodFunction,...z(r)})}},Tt=class extends B{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})}};Tt.create=(e,t)=>new Tt({getter:e,typeName:$.ZodLazy,...z(t)});var Et=class extends B{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return A(t,{received:t.data,code:T.invalid_literal,expected:this._def.value}),M}return{status:`valid`,value:e.data}}get value(){return this._def.value}};Et.create=(e,t)=>new Et({value:e,typeName:$.ZodLiteral,...z(t)});function Dt(e,t){return new Ot({values:e,typeName:$.ZodEnum,...z(t)})}var Ot=class e extends B{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return A(t,{expected:S.joinValues(n),received:t.parsedType,code:T.invalid_type}),M}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return A(t,{received:t.data,code:T.invalid_enum_value,options:n}),M}return P(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})}};Ot.create=Dt;var kt=class extends B{_parse(e){let t=S.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==C.string&&n.parsedType!==C.number){let e=S.objectValues(t);return A(n,{expected:S.joinValues(e),received:n.parsedType,code:T.invalid_type}),M}if(this._cache||=new Set(S.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=S.objectValues(t);return A(n,{received:n.data,code:T.invalid_enum_value,options:e}),M}return P(e.data)}get enum(){return this._def.values}};kt.create=(e,t)=>new kt({values:e,typeName:$.ZodNativeEnum,...z(t)});var Y=class extends B{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==C.promise&&t.common.async===!1?(A(t,{code:T.invalid_type,expected:C.promise,received:t.parsedType}),M):P((t.parsedType===C.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Y.create=(e,t)=>new Y({type:e,typeName:$.ZodPromise,...z(t)});var X=class extends B{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=>{A(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 M;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?M:r.status===`dirty`||t.value===`dirty`?N(r.value):r});{if(t.value===`aborted`)return M;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?M:r.status===`dirty`||t.value===`dirty`?N(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`?M:(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`?M:(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(!F(e))return M;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=>F(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):M);S.assertNever(r)}};X.create=(e,t,n)=>new X({schema:e,typeName:$.ZodEffects,effect:t,...z(n)}),X.createWithPreprocess=(e,t,n)=>new X({schema:t,effect:{type:`preprocess`,transform:e},typeName:$.ZodEffects,...z(n)});var Z=class extends B{_parse(e){return this._getType(e)===C.undefined?P(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Z.create=(e,t)=>new Z({innerType:e,typeName:$.ZodOptional,...z(t)});var Q=class extends B{_parse(e){return this._getType(e)===C.null?P(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Q.create=(e,t)=>new Q({innerType:e,typeName:$.ZodNullable,...z(t)});var At=class extends B{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===C.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};At.create=(e,t)=>new At({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...z(t)});var jt=class extends B{_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 I(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new E(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new E(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};jt.create=(e,t)=>new jt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...z(t)});var Mt=class extends B{_parse(e){if(this._getType(e)!==C.nan){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.nan,received:t.parsedType}),M}return{status:`valid`,value:e.data}}};Mt.create=e=>new Mt({typeName:$.ZodNaN,...z(e)});var Nt=class extends B{_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}},Pt=class e extends B{_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`?M:e.status===`dirty`?(t.dirty(),N(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`?M: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})}},Ft=class extends B{_parse(e){let t=this._def.innerType._parse(e),n=e=>(F(e)&&(e.value=Object.freeze(e.value)),e);return I(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Ft.create=(e,t)=>new Ft({innerType:e,typeName:$.ZodReadonly,...z(t)}),K.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 It=V.create;ct.create,Mt.create,lt.create,ut.create,dt.create,ft.create,pt.create,mt.create,ht.create,H.create,U.create,gt.create,W.create;var Lt=K.create;K.strictCreate,_t.create,vt.create,bt.create,J.create,xt.create,St.create,Ct.create,wt.create,Tt.create,Et.create,Ot.create,kt.create,Y.create,X.create,Z.create,Q.create,X.createWithPreprocess,Pt.create;var Rt=[{group:`智谱`,presets:[{plan:`Coding Plan`,presetName:`zhipu-coding-plan`,apiType:`anthropic`,baseUrl:`https://open.bigmodel.cn/api/anthropic`,models:[`glm-5.1`,`glm-5-turbo`,`glm-4.7`,`glm-4.5-air`]},{plan:`API`,presetName:`zhipu`,apiType:`openai`,baseUrl:`https://open.bigmodel.cn/api/paas/v4`,models:[`glm-5.1`,`glm-5`,`glm-5-turbo`,`glm-4.7`,`glm-4.7-flash`,`glm-4.6`]}]},{group:`KIMI`,presets:[{plan:`Coding Plan`,presetName:`kimi-coding-plan`,apiType:`anthropic`,baseUrl:`https://api.kimi.com/coding`,models:[`kimi-for-coding`,`kimi-k2.5`]},{plan:`API`,presetName:`kimi`,apiType:`openai`,baseUrl:`https://api.moonshot.cn`,models:[`kimi-k2.5`,`kimi-k2-0905-preview`,`kimi-k2-turbo-preview`,`kimi-k2-thinking`,`kimi-k2-thinking-turbo`,`moonshot-v1-128k`]}]},{group:`Minimax`,presets:[{plan:`Token Plan`,presetName:`minimax-token-plan`,apiType:`anthropic`,baseUrl:`https://api.minimaxi.com/anthropic`,models:[`MiniMax-M2.7`]},{plan:`API`,presetName:`minimax`,apiType:`openai`,baseUrl:`https://api.minimax.chat`,models:[`MiniMax-M2.7`,`MiniMax-M2.7-highspeed`,`MiniMax-M2.5`,`MiniMax-M2.5-highspeed`,`MiniMax-M2.1`,`MiniMax-M2`]}]},{group:`火山引擎`,presets:[{plan:`Coding Plan`,presetName:`volcengine-coding-plan`,apiType:`anthropic`,baseUrl:`https://ark.cn-beijing.volces.com/api/compatible`,models:[`ark-code-latest`,`doubao-seed-2.0-code`,`kimi-k2.5`,`glm-4.7`,`deepseek-v3.2`]},{plan:`API`,presetName:`volcengine`,apiType:`openai`,baseUrl:`https://ark.cn-beijing.volces.com/api/v3`,models:[`doubao-seed-2-0-pro-260215`,`doubao-seed-1-8-251228`,`doubao-seed-code-preview-251028`]}]},{group:`阿里云`,presets:[{plan:`Coding Plan`,presetName:`aliyun-coding-plan`,apiType:`anthropic`,baseUrl:`https://coding.dashscope.aliyuncs.com/apps/anthropic`,models:[`qwen3.6-plus`,`qwen3-coder-next`,`qwen3-coder-plus`,`kimi-k2.5`,`glm-5`,`MiniMax-M2.5`]},{plan:`API`,presetName:`aliyun`,apiType:`openai`,baseUrl:`https://dashscope.aliyuncs.com/compatible-mode`,models:[`qwen3.6-plus`,`qwen3.5-plus`,`qwen3-max`,`qwen3.5-flash`,`qwen3-coder-plus`,`qwen3-coder-next`]}]},{group:`腾讯云`,presets:[{plan:`Coding Plan`,presetName:`tencent-coding-plan`,apiType:`anthropic`,baseUrl:`https://api.lkeap.cloud.tencent.com/coding/anthropic`,models:[`tc-code-latest`,`hunyuan-2.0-instruct`,`hunyuan-2.0-thinking`,`hunyuan-turbos`,`hunyuan-t1`,`glm-5`,`kimi-k2.5`]},{plan:`API`,presetName:`tencent`,apiType:`openai`,baseUrl:`https://api.hunyuan.cloud.tencent.com`,models:[`hunyuan-2.0-thinking`,`hunyuan-2.0-instruct`,`hunyuan-t1-latest`,`hunyuan-a13b`,`hunyuan-turbos-latest`]}]},{group:`阶跃星辰`,presets:[{plan:`Step Plan`,presetName:`stepfun-step-plan`,apiType:`anthropic`,baseUrl:`https://api.stepfun.com/step_plan`,models:[`step-3.5-flash-2603`,`step-3.5-flash`]},{plan:`API`,presetName:`stepfun`,apiType:`openai`,baseUrl:`https://api.stepfun.com`,models:[`step-3.5-flash`,`step-3`,`step-2-mini`,`step-2-16k`,`step-1-8k`,`step-1-32k`]}]}],zt={class:`p-6`},Bt={class:`flex items-center justify-between mb-4`},Vt={class:`bg-card rounded-lg border overflow-hidden`},Ht={class:`flex items-center gap-1`},Ut={class:`font-mono text-xs text-muted-foreground`},Wt={class:`flex flex-wrap gap-1`},Gt={key:0,class:`text-muted-foreground text-xs`},Kt={key:1,class:`text-muted-foreground`},qt={class:`rounded-md border bg-muted/40 p-3 space-y-2`},Jt={class:`flex gap-2`},Yt={key:0,class:`text-sm text-destructive mt-1`},Xt={key:0,class:`text-sm text-destructive mt-1`},Zt={key:0,class:`text-sm text-destructive mt-1`},Qt={class:`flex flex-wrap gap-1.5 mb-1.5`},$t={class:`flex gap-2`},en={class:`flex items-center gap-2 mb-1`},tn={key:0,class:`mt-2 space-y-2`},nn={key:0,class:`text-sm text-destructive mt-1`},rn={key:0,class:`text-sm text-destructive mt-1`},an={key:0,class:`text-sm text-destructive mt-1`},on={class:`flex items-center gap-2`},sn=3,cn=12e4,ln=10,un=100,dn=1e3,fn=7,pn=7,mn=2e3,hn=i({__name:`Providers`,setup(i){let ae={name:``,api_type:`anthropic`,base_url:``,api_key:``,models:[],is_active:!0,max_concurrency:sn,queue_timeout_ms:cn,max_queue_size:ln},S=d(``),Me=d([]),C=d(!1),w=d(null),T=d(null),E=d({...ae}),D=d({}),O=d(!1),k=d(null),Ne=Lt({name:It().min(1,`请输入名称`).regex(/^[a-zA-Z0-9_-]+$/,`仅允许英文、数字、横线和下划线`),base_url:It().min(1,`请输入 Base URL`).url(`请输入合法的 URL`)});function A(){let e={},t=Ne.safeParse({name:E.value.name.trim(),base_url:E.value.base_url.trim()});if(!t.success)for(let n of t.error.issues){let t=n.path[0];e[t]||(e[t]=n.message)}if(!w.value&&!E.value.api_key.trim()&&(e.api_key=`请输入 API Key`),O.value){let t=E.value.max_concurrency;(!t||t<1||t>un)&&(e.max_concurrency=`范围 1-${un}`),E.value.queue_timeout_ms<0&&(e.queue_timeout_ms=`不能为负数`);let n=E.value.max_queue_size;(!n||n<1||n>dn)&&(e.max_queue_size=`范围 1-${dn}`)}return D.value=e,Object.keys(e).length===0}function j(e){return e?e.slice(0,fn)+`*`.repeat(pn):``}async function M(e,t){await navigator.clipboard.writeText(e),k.value=t,setTimeout(()=>{k.value=null},mn)}let N=d(``),P=d(``),Pe=te(()=>N.value?Rt.find(e=>e.group===N.value)?.presets??[]:[]);function Fe(){let e=Rt.find(e=>e.group===N.value)?.presets;e?.length?(P.value=e[0].plan,F()):P.value=``}function F(){let e=Pe.value.find(e=>e.plan===P.value);e&&(E.value.name=e.presetName,E.value.api_type=`anthropic`,E.value.base_url=e.baseUrl,E.value.models=[...e.models])}async function I(){try{Me.value=await re.getProviders()}catch(e){console.error(`Failed to load providers:`,e),Ee.error(`加载供应商失败`)}}function L(){let e=S.value.trim();if(!e)return;let t=e.split(/[,,]/).map(e=>e.trim()).filter(Boolean);for(let e of t)E.value.models.includes(e)||E.value.models.push(e);S.value=``}function R(e){E.value.models.splice(e,1)}function Ie(){w.value=null,E.value={...ae},O.value=!0,S.value=``,N.value=``,P.value=``,D.value={},C.value=!0}function z(e){w.value=e.id,E.value={name:e.name,api_type:`anthropic`,base_url:e.base_url,api_key:``,models:[...e.models||[]],is_active:!!e.is_active,max_concurrency:e.max_concurrency??sn,queue_timeout_ms:e.queue_timeout_ms??cn,max_queue_size:e.max_queue_size??ln},O.value=(e.max_concurrency??0)>0,S.value=``,N.value=``,P.value=``,D.value={},C.value=!0}function B(){let e={name:E.value.name,api_type:`anthropic`,base_url:E.value.base_url,models:E.value.models,is_active:+!!E.value.is_active,max_concurrency:O.value?E.value.max_concurrency:0,queue_timeout_ms:O.value?E.value.queue_timeout_ms:0,max_queue_size:O.value?E.value.max_queue_size:ln};return E.value.api_key&&(e.api_key=E.value.api_key),e}async function Le(){if(A())try{let e=B();e.name=E.value.name.trim(),w.value?await re.updateProvider(w.value,e):(e.api_key=E.value.api_key,await re.createProvider(e)),C.value=!1,await I()}catch(e){console.error(`Failed to save provider:`,e),Ee.error(`保存供应商失败`)}}function Re(e){T.value=e}async function ze(){let e=T.value;if(e){T.value=null;try{await re.deleteProvider(e.id),await I()}catch(e){console.error(`Failed to delete provider:`,e),Ee.error(`删除供应商失败`)}}}return r(I),(r,i)=>(t(),m(`div`,zt,[l(`div`,Bt,[i[21]||=l(`h2`,{class:`text-lg font-semibold text-foreground`},`供应商`,-1),p(u(g),{onClick:Ie,class:`flex items-center gap-1`},{default:a(()=>[...i[20]||=[l(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[l(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),s(` 添加供应商 `,-1)]]),_:1})]),l(`div`,Vt,[p(u(Oe),null,{default:a(()=>[p(u(Ae),null,{default:a(()=>[p(u(ke),{class:`bg-muted`},{default:a(()=>[p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[22]||=[s(`名称`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[23]||=[s(`类型`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[24]||=[s(`Base URL`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[25]||=[s(`API Key`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[26]||=[s(`模型`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[27]||=[s(`并发`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[28]||=[s(`状态`,-1)]]),_:1}),p(u(b),{class:`text-right text-muted-foreground`},{default:a(()=>[...i[29]||=[s(`操作`,-1)]]),_:1})]),_:1})]),_:1}),p(u(De),null,{default:a(()=>[(t(!0),m(c,null,n(Me.value,r=>(t(),o(u(ke),{key:r.id,class:ee({"opacity-60":!r.is_active})},{default:a(()=>[p(u(y),{class:`font-medium`},{default:a(()=>[s(h(r.name),1)]),_:2},1024),p(u(y),null,{default:a(()=>[p(u(v),{variant:`secondary`},{default:a(()=>[s(h(r.api_type),1)]),_:2},1024)]),_:2},1024),p(u(y),{class:`text-muted-foreground`},{default:a(()=>[s(h(r.base_url),1)]),_:2},1024),p(u(y),null,{default:a(()=>[l(`div`,Ht,[l(`span`,Ut,h(j(r.api_key)),1),p(u(g),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:e=>M(r.api_key,r.id)},{default:a(()=>[(t(),o(e(k.value===r.id?u(oe):u(je)),{class:ee([`w-3.5 h-3.5`,{"text-green-500":k.value===r.id}])},null,8,[`class`]))]),_:2},1032,[`onClick`])])]),_:2},1024),p(u(y),null,{default:a(()=>[l(`div`,Wt,[(t(!0),m(c,null,n(r.models||[],e=>(t(),o(u(v),{key:e,variant:`secondary`,class:`text-xs`},{default:a(()=>[s(h(e),1)]),_:2},1024))),128)),r.models?.length?f(``,!0):(t(),m(`span`,Gt,`-`))])]),_:2},1024),p(u(y),null,{default:a(()=>[r.max_concurrency>0?(t(),o(u(v),{key:0,variant:`secondary`},{default:a(()=>[s(h(r.max_concurrency),1)]),_:2},1024)):(t(),m(`span`,Kt,`-`))]),_:2},1024),p(u(y),null,{default:a(()=>[p(u(v),{variant:r.is_active?`default`:`secondary`},{default:a(()=>[s(h(r.is_active?`启用`:`禁用`),1)]),_:2},1032,[`variant`])]),_:2},1024),p(u(y),{class:`text-right`},{default:a(()=>[p(u(g),{variant:`ghost`,size:`sm`,onClick:e=>z(r),class:`text-muted-foreground hover:text-primary mr-2`},{default:a(()=>[...i[30]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),p(u(g),{variant:`ghost`,size:`sm`,onClick:e=>Re(r),class:`text-muted-foreground hover:text-destructive`},{default:a(()=>[...i[31]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),Me.value.length===0?(t(),o(u(ke),{key:0},{default:a(()=>[p(u(y),{colspan:`8`,class:`text-center text-muted-foreground py-8`},{default:a(()=>[...i[32]||=[s(`暂无供应商`,-1)]]),_:1})]),_:1})):f(``,!0)]),_:1})]),_:1})]),p(u(ge),{open:C.value,"onUpdate:open":i[18]||=e=>C.value=e},{default:a(()=>[p(u(me),null,{default:a(()=>[p(u(he),null,{default:a(()=>[p(u(_e),null,{default:a(()=>[s(h(w.value?`编辑供应商`:`添加供应商`),1)]),_:1})]),_:1}),l(`form`,{onSubmit:ie(Le,[`prevent`]),class:`space-y-3`},[l(`div`,qt,[i[33]||=l(`div`,{class:`text-xs font-medium text-muted-foreground`},`快速配置`,-1),l(`div`,Jt,[p(u(se),{modelValue:N.value,"onUpdate:modelValue":[i[0]||=e=>N.value=e,Fe]},{default:a(()=>[p(u(le),{class:`flex-1`},{default:a(()=>[p(u(de),{placeholder:`选择供应商`})]),_:1}),p(u(ce),null,{default:a(()=>[(t(!0),m(c,null,n(u(Rt),e=>(t(),o(u(ue),{key:e.group,value:e.group},{default:a(()=>[s(h(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`]),p(u(se),{modelValue:P.value,"onUpdate:modelValue":[i[1]||=e=>P.value=e,F],disabled:!N.value},{default:a(()=>[p(u(le),{class:`flex-1`},{default:a(()=>[p(u(de),{placeholder:`选择套餐`})]),_:1}),p(u(ce),null,{default:a(()=>[(t(!0),m(c,null,n(Pe.value,e=>(t(),o(u(ue),{key:e.plan,value:e.plan},{default:a(()=>[s(h(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`,`disabled`])])]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[34]||=[s(`名称`,-1)]]),_:1}),p(u(x),{modelValue:E.value.name,"onUpdate:modelValue":i[2]||=e=>E.value.name=e,type:`text`,required:``,onInput:i[3]||=e=>delete D.value.name},null,8,[`modelValue`]),D.value.name?(t(),m(`p`,Yt,h(D.value.name),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[35]||=[s(`Base URL`,-1)]]),_:1}),p(u(x),{modelValue:E.value.base_url,"onUpdate:modelValue":i[4]||=e=>E.value.base_url=e,type:`url`,required:``,onInput:i[5]||=e=>delete D.value.base_url},null,8,[`modelValue`]),D.value.base_url?(t(),m(`p`,Xt,h(D.value.base_url),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[36]||=[s(`API Key`,-1)]]),_:1}),p(u(x),{modelValue:E.value.api_key,"onUpdate:modelValue":i[6]||=e=>E.value.api_key=e,type:`text`,required:!w.value,placeholder:w.value?`留空则保持原密钥不变`:``,onInput:i[7]||=e=>delete D.value.api_key},null,8,[`modelValue`,`required`,`placeholder`]),D.value.api_key?(t(),m(`p`,Zt,h(D.value.api_key),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[37]||=[s(`可用模型`,-1)]]),_:1}),l(`div`,Qt,[(t(!0),m(c,null,n(E.value.models,(e,n)=>(t(),o(u(v),{key:n,variant:`secondary`,class:`gap-1 pr-1`},{default:a(()=>[s(h(e)+` `,1),p(u(g),{type:`button`,variant:`ghost`,size:`icon`,class:`h-4 w-4 rounded-full hover:bg-muted p-0 text-xs leading-none`,onClick:e=>R(n)},{default:a(()=>[...i[38]||=[s(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))]),l(`div`,$t,[p(u(x),{modelValue:S.value,"onUpdate:modelValue":i[8]||=e=>S.value=e,placeholder:`输入模型名称,多个用逗号分隔`,onKeydown:ne(ie(L,[`prevent`]),[`enter`]),class:`flex-1`},null,8,[`modelValue`,`onKeydown`]),p(u(g),{type:`button`,variant:`outline`,size:`sm`,onClick:L,disabled:!S.value.trim()},{default:a(()=>[...i[39]||=[s(`添加`,-1)]]),_:1},8,[`disabled`])])]),l(`div`,null,[l(`div`,en,[p(u(Te),{modelValue:O.value,"onUpdate:modelValue":i[9]||=e=>O.value=e,id:`concurrency-switch`},null,8,[`modelValue`]),p(u(_),{for:`concurrency-switch`,class:`text-sm text-foreground`},{default:a(()=>[...i[40]||=[s(`并发控制`,-1)]]),_:1})]),O.value?(t(),m(`div`,tn,[l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[41]||=[s(`最大并发数`,-1)]]),_:1}),p(u(x),{modelValue:E.value.max_concurrency,"onUpdate:modelValue":i[10]||=e=>E.value.max_concurrency=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:un,placeholder:`3`,onInput:i[11]||=e=>delete D.value.max_concurrency},null,8,[`modelValue`]),D.value.max_concurrency?(t(),m(`p`,nn,h(D.value.max_concurrency),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[42]||=[s(`队列超时 (ms)`,-1)]]),_:1}),p(u(x),{modelValue:E.value.queue_timeout_ms,"onUpdate:modelValue":i[12]||=e=>E.value.queue_timeout_ms=e,modelModifiers:{number:!0},type:`number`,min:`0`,placeholder:`0 = 无限等待`,onInput:i[13]||=e=>delete D.value.queue_timeout_ms},null,8,[`modelValue`]),D.value.queue_timeout_ms?(t(),m(`p`,rn,h(D.value.queue_timeout_ms),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[43]||=[s(`最大队列长度`,-1)]]),_:1}),p(u(x),{modelValue:E.value.max_queue_size,"onUpdate:modelValue":i[14]||=e=>E.value.max_queue_size=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:dn,placeholder:ln,onInput:i[15]||=e=>delete D.value.max_queue_size},null,8,[`modelValue`]),D.value.max_queue_size?(t(),m(`p`,an,h(D.value.max_queue_size),1)):f(``,!0)])])):f(``,!0)]),l(`div`,on,[p(u(fe),{modelValue:E.value.is_active,"onUpdate:modelValue":i[16]||=e=>E.value.is_active=e,id:`svc-active`},null,8,[`modelValue`]),p(u(_),{for:`svc-active`,class:`text-sm text-foreground`},{default:a(()=>[...i[44]||=[s(`启用`,-1)]]),_:1})]),p(u(pe),null,{default:a(()=>[p(u(g),{type:`button`,variant:`outline`,onClick:i[17]||=e=>C.value=!1},{default:a(()=>[...i[45]||=[s(`取消`,-1)]]),_:1}),p(u(g),{type:`submit`},{default:a(()=>[...i[46]||=[s(`保存`,-1)]]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),p(u(ye),{open:!!T.value,"onUpdate:open":i[19]||=e=>{e||(T.value=null)}},{default:a(()=>[p(u(ve),null,{default:a(()=>[p(u(xe),null,{default:a(()=>[p(u(we),null,{default:a(()=>[...i[47]||=[s(`确认删除`,-1)]]),_:1}),p(u(be),null,{default:a(()=>[s(`确定要删除供应商「`+h(T.value?.name)+`」吗?此操作不可撤销。`,1)]),_:1})]),_:1}),p(u(Ce),null,{default:a(()=>[p(u(Se),null,{default:a(()=>[...i[48]||=[s(`取消`,-1)]]),_:1}),p(u(g),{variant:`destructive`,onClick:ze},{default:a(()=>[...i[49]||=[s(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{hn as default};
1
+ import{B as e,F as t,L as n,M as r,S as i,Y as a,_ as o,b as s,f as c,g as l,gt as ee,h as te,l as ne,mt as u,ot as d,t as re,u as ie,v as f,x as p,y as m,yt as h}from"./client-DIIo9zPK.js";import{t as ae}from"./createLucideIcon-DGZkBjcJ.js";import{n as oe}from"./ohash.D__AXeF1-B64hB831.js";import{a as se,i as ce,n as le,r as ue,t as de}from"./SelectValue-zO8t-tx1.js";import{n as g}from"./button-Dcc0gF5i.js";import{t as fe}from"./Checkbox-BxNz70R_.js";import{i as pe,o as me,r as he,s as ge,t as _e}from"./dialog-CxSyR-fN.js";import{a as ve,c as ye,i as be,n as xe,o as Se,r as Ce,t as we}from"./alert-dialog-PP91kaO8.js";import{t as _}from"./Label-UyNN2jyE.js";import{t as Te}from"./Switch-BEMjVugO.js";import{n as Ee,r as v}from"./lib-Bl0OuBjh.js";import{a as De,i as y,n as b,o as Oe,r as ke,t as Ae}from"./TableHeader-DpHWSnxK.js";import{t as x}from"./Input-DRIid2C6.js";var je=ae(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),S;(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})(S||={});var Me;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Me||={});var C=S.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),w=e=>{switch(typeof e){case`undefined`:return C.undefined;case`string`:return C.string;case`number`:return Number.isNaN(e)?C.nan:C.number;case`boolean`:return C.boolean;case`function`:return C.function;case`bigint`:return C.bigint;case`symbol`:return C.symbol;case`object`:return Array.isArray(e)?C.array:e===null?C.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?C.promise:typeof Map<`u`&&e instanceof Map?C.map:typeof Set<`u`&&e instanceof Set?C.set:typeof Date<`u`&&e instanceof Date?C.date:C.object;default:return C.unknown}},T=S.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`]),E=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,S.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()}};E.create=e=>new E(e);var D=(e,t)=>{let n;switch(e.code){case T.invalid_type:n=e.received===C.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case T.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,S.jsonStringifyReplacer)}`;break;case T.unrecognized_keys:n=`Unrecognized key(s) in object: ${S.joinValues(e.keys,`, `)}`;break;case T.invalid_union:n=`Invalid input`;break;case T.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${S.joinValues(e.options)}`;break;case T.invalid_enum_value:n=`Invalid enum value. Expected ${S.joinValues(e.options)}, received '${e.received}'`;break;case T.invalid_arguments:n=`Invalid function arguments`;break;case T.invalid_return_type:n=`Invalid function return type`;break;case T.invalid_date:n=`Invalid date`;break;case T.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}"`:S.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case T.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 T.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 T.custom:n=`Invalid input`;break;case T.invalid_intersection_types:n=`Intersection results could not be merged`;break;case T.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case T.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,S.assertNever(e)}return{message:n}},O=D;function k(){return O}var Ne=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 A(e,t){let n=k(),r=Ne({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===D?void 0:D].filter(e=>!!e)});e.common.issues.push(r)}var j=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 M;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 M;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}}},M=Object.freeze({status:`aborted`}),N=e=>({status:`dirty`,value:e}),P=e=>({status:`valid`,value:e}),Pe=e=>e.status===`aborted`,Fe=e=>e.status===`dirty`,F=e=>e.status===`valid`,I=e=>typeof Promise<`u`&&e instanceof Promise,L;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(L||={});var R=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}},Ie=(e,t)=>{if(F(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(){return this._error||=new E(e.common.issues),this._error}}};function z(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 B=class{get description(){return this._def.description}_getType(e){return w(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:w(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new j,ctx:{common:e.parent.common,data:e.data,parsedType:w(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(I(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:w(e)};return Ie(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:w(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return F(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=>F(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:w(e)},r=this._parse({data:e,path:n.path,parent:n});return Ie(n,await(I(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:T.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 W.create(this)}promise(){return Y.create(this,this._def)}or(e){return _t.create([this,e],this._def)}and(e){return bt.create(this,e,this._def)}transform(e){return new X({...z(this._def),schema:this,typeName:$.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new At({...z(this._def),innerType:this,defaultValue:t,typeName:$.ZodDefault})}brand(){return new Nt({typeName:$.ZodBranded,type:this,...z(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new jt({...z(this._def),innerType:this,catchValue:t,typeName:$.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Pt.create(this,e)}readonly(){return Ft.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Le=/^c[^\s-]{8,}$/i,Re=/^[0-9a-z]+$/,ze=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Be=/^[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,Ve=/^[a-z0-9_-]{21}$/i,He=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ue=/^[-+]?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)?)??$/,We=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ge=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Ke,qe=/^(?:(?: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])$/,Je=/^(?:(?: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])$/,Ye=/^(([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]))$/,Xe=/^(([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])$/,Ze=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Qe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,$e=`((\\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])))`,et=RegExp(`^${$e}$`);function tt(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 nt(e){return RegExp(`^${tt(e)}$`)}function rt(e){let t=`${$e}T${tt(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function it(e,t){return!!((t===`v4`||!t)&&qe.test(e)||(t===`v6`||!t)&&Ye.test(e))}function at(e,t){if(!He.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 ot(e,t){return!!((t===`v4`||!t)&&Je.test(e)||(t===`v6`||!t)&&Xe.test(e))}var V=class e extends B{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==C.string){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.string,received:t.parsedType}),M}let t=new j,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),A(n,{code:T.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),A(n,{code:T.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?A(n,{code:T.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&A(n,{code:T.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)We.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`email`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Ke||=new RegExp(Ge,`u`),Ke.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`emoji`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)Be.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`uuid`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)Ve.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`nanoid`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Le.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`cuid`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Re.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`cuid2`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)ze.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`ulid`,code:T.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),A(n,{validation:`url`,code:T.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),A(n,{validation:`regex`,code:T.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),A(n,{code:T.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),A(n,{code:T.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),A(n,{code:T.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?rt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{code:T.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?et.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{code:T.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?nt(r).test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{code:T.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Ue.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`duration`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?it(e.data,r.version)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`ip`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?at(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`jwt`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?ot(e.data,r.version)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`cidr`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Ze.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`base64`,code:T.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?Qe.test(e.data)||(n=this._getOrReturnCtx(e,n),A(n,{validation:`base64url`,code:T.invalid_string,message:r.message}),t.dirty()):S.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:T.invalid_string,...L.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...L.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...L.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...L.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...L.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...L.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...L.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...L.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...L.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...L.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...L.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...L.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...L.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...L.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,...L.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,...L.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...L.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...L.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...L.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...L.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...L.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...L.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...L.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...L.errToObj(t)})}nonempty(e){return this.min(1,L.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}};V.create=e=>new V({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...z(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 B{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)!==C.number){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.number,received:t.parsedType}),M}let t,n=new j;for(let r of this._def.checks)r.kind===`int`?S.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),A(t,{code:T.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),A(t,{code:T.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),A(t,{code:T.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),A(t,{code:T.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),A(t,{code:T.not_finite,message:r.message}),n.dirty()):S.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,L.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,L.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,L.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,L.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:L.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:L.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:L.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:L.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:L.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:L.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:L.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:L.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:L.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:L.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`&&S.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,...z(e)});var lt=class e extends B{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)!==C.bigint)return this._getInvalidInput(e);let t,n=new j;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),A(t,{code:T.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),A(t,{code:T.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),A(t,{code:T.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):S.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.bigint,received:t.parsedType}),M}gte(e,t){return this.setLimit(`min`,e,!0,L.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,L.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,L.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,L.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:L.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:L.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:L.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:L.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:L.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:L.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}};lt.create=e=>new lt({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...z(e)});var ut=class extends B{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==C.boolean){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.boolean,received:t.parsedType}),M}return P(e.data)}};ut.create=e=>new ut({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...z(e)});var dt=class e extends B{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==C.date){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.date,received:t.parsedType}),M}if(Number.isNaN(e.data.getTime()))return A(this._getOrReturnCtx(e),{code:T.invalid_date}),M;let t=new j,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),A(n,{code:T.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),A(n,{code:T.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):S.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:L.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:L.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)}};dt.create=e=>new dt({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...z(e)});var ft=class extends B{_parse(e){if(this._getType(e)!==C.symbol){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.symbol,received:t.parsedType}),M}return P(e.data)}};ft.create=e=>new ft({typeName:$.ZodSymbol,...z(e)});var pt=class extends B{_parse(e){if(this._getType(e)!==C.undefined){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.undefined,received:t.parsedType}),M}return P(e.data)}};pt.create=e=>new pt({typeName:$.ZodUndefined,...z(e)});var mt=class extends B{_parse(e){if(this._getType(e)!==C.null){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.null,received:t.parsedType}),M}return P(e.data)}};mt.create=e=>new mt({typeName:$.ZodNull,...z(e)});var ht=class extends B{constructor(){super(...arguments),this._any=!0}_parse(e){return P(e.data)}};ht.create=e=>new ht({typeName:$.ZodAny,...z(e)});var H=class extends B{constructor(){super(...arguments),this._unknown=!0}_parse(e){return P(e.data)}};H.create=e=>new H({typeName:$.ZodUnknown,...z(e)});var U=class extends B{_parse(e){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.never,received:t.parsedType}),M}};U.create=e=>new U({typeName:$.ZodNever,...z(e)});var gt=class extends B{_parse(e){if(this._getType(e)!==C.undefined){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.void,received:t.parsedType}),M}return P(e.data)}};gt.create=e=>new gt({typeName:$.ZodVoid,...z(e)});var W=class e extends B{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==C.array)return A(t,{code:T.invalid_type,expected:C.array,received:t.parsedType}),M;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(A(t,{code:e?T.too_big:T.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&&(A(t,{code:T.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&&(A(t,{code:T.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 R(t,e,t.path,n)))).then(e=>j.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new R(t,e,t.path,n)));return j.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:L.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:L.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:L.toString(n)}})}nonempty(e){return this.min(1,e)}};W.create=(e,t)=>new W({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...z(t)});function G(e){if(e instanceof K){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Z.create(G(r))}return new K({...e._def,shape:()=>t})}else if(e instanceof W)return new W({...e._def,type:G(e.element)});else if(e instanceof Z)return Z.create(G(e.unwrap()));else if(e instanceof Q)return Q.create(G(e.unwrap()));else if(e instanceof J)return J.create(e.items.map(e=>G(e)));else return e}var K=class e extends B{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();return this._cached={shape:e,keys:S.objectKeys(e)},this._cached}_parse(e){if(this._getType(e)!==C.object){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.object,received:t.parsedType}),M}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof U&&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 R(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof U){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&&(A(n,{code:T.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 R(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=>j.mergeObjectSync(t,e)):j.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return L.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:L.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 S.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 S.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return G(this)}partial(t){let n={};for(let e of S.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 S.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 Dt(S.objectKeys(this.shape))}};K.create=(e,t)=>new K({shape:()=>e,unknownKeys:`strip`,catchall:U.create(),typeName:$.ZodObject,...z(t)}),K.strictCreate=(e,t)=>new K({shape:()=>e,unknownKeys:`strict`,catchall:U.create(),typeName:$.ZodObject,...z(t)}),K.lazycreate=(e,t)=>new K({shape:e,unknownKeys:`strip`,catchall:U.create(),typeName:$.ZodObject,...z(t)});var _t=class extends B{_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 E(e.ctx.common.issues));return A(t,{code:T.invalid_union,unionErrors:n}),M}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 E(e));return A(t,{code:T.invalid_union,unionErrors:i}),M}}get options(){return this._def.options}};_t.create=(e,t)=>new _t({options:e,typeName:$.ZodUnion,...z(t)});var q=e=>e instanceof Tt?q(e.schema):e instanceof X?q(e.innerType()):e instanceof Et?[e.value]:e instanceof Ot?e.options:e instanceof kt?S.objectValues(e.enum):e instanceof At?q(e._def.innerType):e instanceof pt?[void 0]:e instanceof mt?[null]:e instanceof Z?[void 0,...q(e.unwrap())]:e instanceof Q?[null,...q(e.unwrap())]:e instanceof Nt||e instanceof Ft?q(e.unwrap()):e instanceof jt?q(e._def.innerType):[],vt=class e extends B{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==C.object)return A(t,{code:T.invalid_type,expected:C.object,received:t.parsedType}),M;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}):(A(t,{code:T.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),M)}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=q(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,...z(r)})}};function yt(e,t){let n=w(e),r=w(t);if(e===t)return{valid:!0,data:e};if(n===C.object&&r===C.object){let n=S.objectKeys(t),r=S.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=yt(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===C.array&&r===C.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=yt(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}else if(n===C.date&&r===C.date&&+e==+t)return{valid:!0,data:e};else return{valid:!1}}var bt=class extends B{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Pe(e)||Pe(r))return M;let i=yt(e.value,r.value);return i.valid?((Fe(e)||Fe(r))&&t.dirty(),{status:t.value,value:i.data}):(A(n,{code:T.invalid_intersection_types}),M)};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}))}};bt.create=(e,t,n)=>new bt({left:e,right:t,typeName:$.ZodIntersection,...z(n)});var J=class e extends B{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.array)return A(n,{code:T.invalid_type,expected:C.array,received:n.parsedType}),M;if(n.data.length<this._def.items.length)return A(n,{code:T.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),M;!this._def.rest&&n.data.length>this._def.items.length&&(A(n,{code:T.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 R(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>j.mergeArray(t,e)):j.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};J.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new J({items:e,typeName:$.ZodTuple,rest:null,...z(t)})};var xt=class e extends B{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!==C.object)return A(n,{code:T.invalid_type,expected:C.object,received:n.parsedType}),M;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new R(n,e,n.path,e)),value:a._parse(new R(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?j.mergeObjectAsync(t,r):j.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof B?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...z(r)}):new e({keyType:V.create(),valueType:t,typeName:$.ZodRecord,...z(n)})}},St=class extends B{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!==C.map)return A(n,{code:T.invalid_type,expected:C.map,received:n.parsedType}),M;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new R(n,e,n.path,[a,`key`])),value:i._parse(new R(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 M;(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 M;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};St.create=(e,t,n)=>new St({valueType:t,keyType:e,typeName:$.ZodMap,...z(n)});var Ct=class e extends B{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==C.set)return A(n,{code:T.invalid_type,expected:C.set,received:n.parsedType}),M;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(A(n,{code:T.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&&(A(n,{code:T.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 M;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 R(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:L.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:L.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};Ct.create=(e,t)=>new Ct({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...z(t)});var wt=class e extends B{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==C.function)return A(t,{code:T.invalid_type,expected:C.function,received:t.parsedType}),M;function n(e,n){return Ne({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,k(),D].filter(e=>!!e),issueData:{code:T.invalid_arguments,argumentsError:n}})}function r(e,n){return Ne({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,k(),D].filter(e=>!!e),issueData:{code:T.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Y){let e=this;return P(async function(...t){let o=new E([]),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 P(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new E([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new E([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:J.create(t).rest(H.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||J.create([]).rest(H.create()),returns:n||H.create(),typeName:$.ZodFunction,...z(r)})}},Tt=class extends B{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})}};Tt.create=(e,t)=>new Tt({getter:e,typeName:$.ZodLazy,...z(t)});var Et=class extends B{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return A(t,{received:t.data,code:T.invalid_literal,expected:this._def.value}),M}return{status:`valid`,value:e.data}}get value(){return this._def.value}};Et.create=(e,t)=>new Et({value:e,typeName:$.ZodLiteral,...z(t)});function Dt(e,t){return new Ot({values:e,typeName:$.ZodEnum,...z(t)})}var Ot=class e extends B{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return A(t,{expected:S.joinValues(n),received:t.parsedType,code:T.invalid_type}),M}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return A(t,{received:t.data,code:T.invalid_enum_value,options:n}),M}return P(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})}};Ot.create=Dt;var kt=class extends B{_parse(e){let t=S.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==C.string&&n.parsedType!==C.number){let e=S.objectValues(t);return A(n,{expected:S.joinValues(e),received:n.parsedType,code:T.invalid_type}),M}if(this._cache||=new Set(S.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=S.objectValues(t);return A(n,{received:n.data,code:T.invalid_enum_value,options:e}),M}return P(e.data)}get enum(){return this._def.values}};kt.create=(e,t)=>new kt({values:e,typeName:$.ZodNativeEnum,...z(t)});var Y=class extends B{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==C.promise&&t.common.async===!1?(A(t,{code:T.invalid_type,expected:C.promise,received:t.parsedType}),M):P((t.parsedType===C.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Y.create=(e,t)=>new Y({type:e,typeName:$.ZodPromise,...z(t)});var X=class extends B{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=>{A(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 M;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?M:r.status===`dirty`||t.value===`dirty`?N(r.value):r});{if(t.value===`aborted`)return M;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?M:r.status===`dirty`||t.value===`dirty`?N(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`?M:(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`?M:(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(!F(e))return M;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=>F(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):M);S.assertNever(r)}};X.create=(e,t,n)=>new X({schema:e,typeName:$.ZodEffects,effect:t,...z(n)}),X.createWithPreprocess=(e,t,n)=>new X({schema:t,effect:{type:`preprocess`,transform:e},typeName:$.ZodEffects,...z(n)});var Z=class extends B{_parse(e){return this._getType(e)===C.undefined?P(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Z.create=(e,t)=>new Z({innerType:e,typeName:$.ZodOptional,...z(t)});var Q=class extends B{_parse(e){return this._getType(e)===C.null?P(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Q.create=(e,t)=>new Q({innerType:e,typeName:$.ZodNullable,...z(t)});var At=class extends B{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===C.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};At.create=(e,t)=>new At({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...z(t)});var jt=class extends B{_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 I(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new E(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new E(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};jt.create=(e,t)=>new jt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...z(t)});var Mt=class extends B{_parse(e){if(this._getType(e)!==C.nan){let t=this._getOrReturnCtx(e);return A(t,{code:T.invalid_type,expected:C.nan,received:t.parsedType}),M}return{status:`valid`,value:e.data}}};Mt.create=e=>new Mt({typeName:$.ZodNaN,...z(e)});var Nt=class extends B{_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}},Pt=class e extends B{_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`?M:e.status===`dirty`?(t.dirty(),N(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`?M: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})}},Ft=class extends B{_parse(e){let t=this._def.innerType._parse(e),n=e=>(F(e)&&(e.value=Object.freeze(e.value)),e);return I(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Ft.create=(e,t)=>new Ft({innerType:e,typeName:$.ZodReadonly,...z(t)}),K.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 It=V.create;ct.create,Mt.create,lt.create,ut.create,dt.create,ft.create,pt.create,mt.create,ht.create,H.create,U.create,gt.create,W.create;var Lt=K.create;K.strictCreate,_t.create,vt.create,bt.create,J.create,xt.create,St.create,Ct.create,wt.create,Tt.create,Et.create,Ot.create,kt.create,Y.create,X.create,Z.create,Q.create,X.createWithPreprocess,Pt.create;var Rt=[{group:`智谱`,presets:[{plan:`Coding Plan`,presetName:`zhipu-coding-plan`,apiType:`anthropic`,baseUrl:`https://open.bigmodel.cn/api/anthropic`,models:[`glm-5.1`,`glm-5-turbo`,`glm-4.7`,`glm-4.5-air`]},{plan:`API`,presetName:`zhipu`,apiType:`openai`,baseUrl:`https://open.bigmodel.cn/api/paas/v4`,models:[`glm-5.1`,`glm-5`,`glm-5-turbo`,`glm-4.7`,`glm-4.7-flash`,`glm-4.6`]}]},{group:`KIMI`,presets:[{plan:`Coding Plan`,presetName:`kimi-coding-plan`,apiType:`anthropic`,baseUrl:`https://api.kimi.com/coding`,models:[`kimi-for-coding`,`kimi-k2.5`]},{plan:`API`,presetName:`kimi`,apiType:`openai`,baseUrl:`https://api.moonshot.cn`,models:[`kimi-k2.5`,`kimi-k2-0905-preview`,`kimi-k2-turbo-preview`,`kimi-k2-thinking`,`kimi-k2-thinking-turbo`,`moonshot-v1-128k`]}]},{group:`Minimax`,presets:[{plan:`Token Plan`,presetName:`minimax-token-plan`,apiType:`anthropic`,baseUrl:`https://api.minimaxi.com/anthropic`,models:[`MiniMax-M2.7`]},{plan:`API`,presetName:`minimax`,apiType:`openai`,baseUrl:`https://api.minimax.chat`,models:[`MiniMax-M2.7`,`MiniMax-M2.7-highspeed`,`MiniMax-M2.5`,`MiniMax-M2.5-highspeed`,`MiniMax-M2.1`,`MiniMax-M2`]}]},{group:`火山引擎`,presets:[{plan:`Coding Plan`,presetName:`volcengine-coding-plan`,apiType:`anthropic`,baseUrl:`https://ark.cn-beijing.volces.com/api/compatible`,models:[`ark-code-latest`,`doubao-seed-2.0-code`,`kimi-k2.5`,`glm-4.7`,`deepseek-v3.2`]},{plan:`API`,presetName:`volcengine`,apiType:`openai`,baseUrl:`https://ark.cn-beijing.volces.com/api/v3`,models:[`doubao-seed-2-0-pro-260215`,`doubao-seed-1-8-251228`,`doubao-seed-code-preview-251028`]}]},{group:`阿里云`,presets:[{plan:`Coding Plan`,presetName:`aliyun-coding-plan`,apiType:`anthropic`,baseUrl:`https://coding.dashscope.aliyuncs.com/apps/anthropic`,models:[`qwen3.6-plus`,`qwen3-coder-next`,`qwen3-coder-plus`,`kimi-k2.5`,`glm-5`,`MiniMax-M2.5`]},{plan:`API`,presetName:`aliyun`,apiType:`openai`,baseUrl:`https://dashscope.aliyuncs.com/compatible-mode`,models:[`qwen3.6-plus`,`qwen3.5-plus`,`qwen3-max`,`qwen3.5-flash`,`qwen3-coder-plus`,`qwen3-coder-next`]}]},{group:`腾讯云`,presets:[{plan:`Coding Plan`,presetName:`tencent-coding-plan`,apiType:`anthropic`,baseUrl:`https://api.lkeap.cloud.tencent.com/coding/anthropic`,models:[`tc-code-latest`,`hunyuan-2.0-instruct`,`hunyuan-2.0-thinking`,`hunyuan-turbos`,`hunyuan-t1`,`glm-5`,`kimi-k2.5`]},{plan:`API`,presetName:`tencent`,apiType:`openai`,baseUrl:`https://api.hunyuan.cloud.tencent.com`,models:[`hunyuan-2.0-thinking`,`hunyuan-2.0-instruct`,`hunyuan-t1-latest`,`hunyuan-a13b`,`hunyuan-turbos-latest`]}]},{group:`阶跃星辰`,presets:[{plan:`Step Plan`,presetName:`stepfun-step-plan`,apiType:`anthropic`,baseUrl:`https://api.stepfun.com/step_plan`,models:[`step-3.5-flash-2603`,`step-3.5-flash`]},{plan:`API`,presetName:`stepfun`,apiType:`openai`,baseUrl:`https://api.stepfun.com`,models:[`step-3.5-flash`,`step-3`,`step-2-mini`,`step-2-16k`,`step-1-8k`,`step-1-32k`]}]}],zt={class:`p-6`},Bt={class:`flex items-center justify-between mb-4`},Vt={class:`bg-card rounded-lg border overflow-hidden`},Ht={class:`flex items-center gap-1`},Ut={class:`font-mono text-xs text-muted-foreground`},Wt={class:`flex flex-wrap gap-1`},Gt={key:0,class:`text-muted-foreground text-xs`},Kt={key:1,class:`text-muted-foreground`},qt={class:`rounded-md border bg-muted/40 p-3 space-y-2`},Jt={class:`flex gap-2`},Yt={key:0,class:`text-sm text-destructive mt-1`},Xt={key:0,class:`text-sm text-destructive mt-1`},Zt={key:0,class:`text-sm text-destructive mt-1`},Qt={class:`flex flex-wrap gap-1.5 mb-1.5`},$t={class:`flex gap-2`},en={class:`flex items-center gap-2 mb-1`},tn={key:0,class:`mt-2 space-y-2`},nn={key:0,class:`text-sm text-destructive mt-1`},rn={key:0,class:`text-sm text-destructive mt-1`},an={key:0,class:`text-sm text-destructive mt-1`},on={class:`flex items-center gap-2`},sn=3,cn=12e4,ln=10,un=100,dn=1e3,fn=7,pn=7,mn=2e3,hn=i({__name:`Providers`,setup(i){let ae={name:``,api_type:`anthropic`,base_url:``,api_key:``,models:[],is_active:!0,max_concurrency:sn,queue_timeout_ms:cn,max_queue_size:ln},S=d(``),Me=d([]),C=d(!1),w=d(null),T=d(null),E=d({...ae}),D=d({}),O=d(!1),k=d(null),Ne=Lt({name:It().min(1,`请输入名称`).regex(/^[a-zA-Z0-9_-]+$/,`仅允许英文、数字、横线和下划线`),base_url:It().min(1,`请输入 Base URL`).url(`请输入合法的 URL`)});function A(){let e={},t=Ne.safeParse({name:E.value.name.trim(),base_url:E.value.base_url.trim()});if(!t.success)for(let n of t.error.issues){let t=n.path[0];e[t]||(e[t]=n.message)}if(!w.value&&!E.value.api_key.trim()&&(e.api_key=`请输入 API Key`),O.value){let t=E.value.max_concurrency;(!t||t<1||t>un)&&(e.max_concurrency=`范围 1-${un}`),E.value.queue_timeout_ms<0&&(e.queue_timeout_ms=`不能为负数`);let n=E.value.max_queue_size;(!n||n<1||n>dn)&&(e.max_queue_size=`范围 1-${dn}`)}return D.value=e,Object.keys(e).length===0}function j(e){return e?e.slice(0,fn)+`*`.repeat(pn):``}async function M(e,t){await navigator.clipboard.writeText(e),k.value=t,setTimeout(()=>{k.value=null},mn)}let N=d(``),P=d(``),Pe=te(()=>N.value?Rt.find(e=>e.group===N.value)?.presets??[]:[]);function Fe(){let e=Rt.find(e=>e.group===N.value)?.presets;e?.length?(P.value=e[0].plan,F()):P.value=``}function F(){let e=Pe.value.find(e=>e.plan===P.value);e&&(E.value.name=e.presetName,E.value.api_type=`anthropic`,E.value.base_url=e.baseUrl,E.value.models=[...e.models])}async function I(){try{Me.value=await re.getProviders()}catch(e){console.error(`Failed to load providers:`,e),Ee.error(`加载供应商失败`)}}function L(){let e=S.value.trim();if(!e)return;let t=e.split(/[,,]/).map(e=>e.trim()).filter(Boolean);for(let e of t)E.value.models.includes(e)||E.value.models.push(e);S.value=``}function R(e){E.value.models.splice(e,1)}function Ie(){w.value=null,E.value={...ae},O.value=!0,S.value=``,N.value=``,P.value=``,D.value={},C.value=!0}function z(e){w.value=e.id,E.value={name:e.name,api_type:`anthropic`,base_url:e.base_url,api_key:``,models:[...e.models||[]],is_active:!!e.is_active,max_concurrency:e.max_concurrency??sn,queue_timeout_ms:e.queue_timeout_ms??cn,max_queue_size:e.max_queue_size??ln},O.value=(e.max_concurrency??0)>0,S.value=``,N.value=``,P.value=``,D.value={},C.value=!0}function B(){let e={name:E.value.name,api_type:`anthropic`,base_url:E.value.base_url,models:E.value.models,is_active:+!!E.value.is_active,max_concurrency:O.value?E.value.max_concurrency:0,queue_timeout_ms:O.value?E.value.queue_timeout_ms:0,max_queue_size:O.value?E.value.max_queue_size:ln};return E.value.api_key&&(e.api_key=E.value.api_key),e}async function Le(){if(A())try{let e=B();e.name=E.value.name.trim(),w.value?await re.updateProvider(w.value,e):(e.api_key=E.value.api_key,await re.createProvider(e)),C.value=!1,await I()}catch(e){console.error(`Failed to save provider:`,e),Ee.error(`保存供应商失败`)}}function Re(e){T.value=e}async function ze(){let e=T.value;if(e){T.value=null;try{await re.deleteProvider(e.id),await I()}catch(e){console.error(`Failed to delete provider:`,e),Ee.error(`删除供应商失败`)}}}return r(I),(r,i)=>(t(),m(`div`,zt,[l(`div`,Bt,[i[21]||=l(`h2`,{class:`text-lg font-semibold text-foreground`},`供应商`,-1),p(u(g),{onClick:Ie,class:`flex items-center gap-1`},{default:a(()=>[...i[20]||=[l(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[l(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),s(` 添加供应商 `,-1)]]),_:1})]),l(`div`,Vt,[p(u(Oe),null,{default:a(()=>[p(u(Ae),null,{default:a(()=>[p(u(ke),{class:`bg-muted`},{default:a(()=>[p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[22]||=[s(`名称`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[23]||=[s(`类型`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[24]||=[s(`Base URL`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[25]||=[s(`API Key`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[26]||=[s(`模型`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[27]||=[s(`并发`,-1)]]),_:1}),p(u(b),{class:`text-muted-foreground`},{default:a(()=>[...i[28]||=[s(`状态`,-1)]]),_:1}),p(u(b),{class:`text-right text-muted-foreground`},{default:a(()=>[...i[29]||=[s(`操作`,-1)]]),_:1})]),_:1})]),_:1}),p(u(De),null,{default:a(()=>[(t(!0),m(c,null,n(Me.value,r=>(t(),o(u(ke),{key:r.id,class:ee({"opacity-60":!r.is_active})},{default:a(()=>[p(u(y),{class:`font-medium`},{default:a(()=>[s(h(r.name),1)]),_:2},1024),p(u(y),null,{default:a(()=>[p(u(v),{variant:`secondary`},{default:a(()=>[s(h(r.api_type),1)]),_:2},1024)]),_:2},1024),p(u(y),{class:`text-muted-foreground`},{default:a(()=>[s(h(r.base_url),1)]),_:2},1024),p(u(y),null,{default:a(()=>[l(`div`,Ht,[l(`span`,Ut,h(j(r.api_key)),1),p(u(g),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:e=>M(r.api_key,r.id)},{default:a(()=>[(t(),o(e(k.value===r.id?u(oe):u(je)),{class:ee([`w-3.5 h-3.5`,{"text-green-500":k.value===r.id}])},null,8,[`class`]))]),_:2},1032,[`onClick`])])]),_:2},1024),p(u(y),null,{default:a(()=>[l(`div`,Wt,[(t(!0),m(c,null,n(r.models||[],e=>(t(),o(u(v),{key:e,variant:`secondary`,class:`text-xs`},{default:a(()=>[s(h(e),1)]),_:2},1024))),128)),r.models?.length?f(``,!0):(t(),m(`span`,Gt,`-`))])]),_:2},1024),p(u(y),null,{default:a(()=>[r.max_concurrency>0?(t(),o(u(v),{key:0,variant:`secondary`},{default:a(()=>[s(h(r.max_concurrency),1)]),_:2},1024)):(t(),m(`span`,Kt,`-`))]),_:2},1024),p(u(y),null,{default:a(()=>[p(u(v),{variant:r.is_active?`default`:`secondary`},{default:a(()=>[s(h(r.is_active?`启用`:`禁用`),1)]),_:2},1032,[`variant`])]),_:2},1024),p(u(y),{class:`text-right`},{default:a(()=>[p(u(g),{variant:`ghost`,size:`sm`,onClick:e=>z(r),class:`text-muted-foreground hover:text-primary mr-2`},{default:a(()=>[...i[30]||=[s(`编辑`,-1)]]),_:1},8,[`onClick`]),p(u(g),{variant:`ghost`,size:`sm`,onClick:e=>Re(r),class:`text-muted-foreground hover:text-destructive`},{default:a(()=>[...i[31]||=[s(`删除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),Me.value.length===0?(t(),o(u(ke),{key:0},{default:a(()=>[p(u(y),{colspan:`8`,class:`text-center text-muted-foreground py-8`},{default:a(()=>[...i[32]||=[s(`暂无供应商`,-1)]]),_:1})]),_:1})):f(``,!0)]),_:1})]),_:1})]),p(u(ge),{open:C.value,"onUpdate:open":i[18]||=e=>C.value=e},{default:a(()=>[p(u(me),null,{default:a(()=>[p(u(he),null,{default:a(()=>[p(u(_e),null,{default:a(()=>[s(h(w.value?`编辑供应商`:`添加供应商`),1)]),_:1})]),_:1}),l(`form`,{onSubmit:ie(Le,[`prevent`]),class:`space-y-3`},[l(`div`,qt,[i[33]||=l(`div`,{class:`text-xs font-medium text-muted-foreground`},`快速配置`,-1),l(`div`,Jt,[p(u(se),{modelValue:N.value,"onUpdate:modelValue":[i[0]||=e=>N.value=e,Fe]},{default:a(()=>[p(u(le),{class:`flex-1`},{default:a(()=>[p(u(de),{placeholder:`选择供应商`})]),_:1}),p(u(ce),null,{default:a(()=>[(t(!0),m(c,null,n(u(Rt),e=>(t(),o(u(ue),{key:e.group,value:e.group},{default:a(()=>[s(h(e.group),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`]),p(u(se),{modelValue:P.value,"onUpdate:modelValue":[i[1]||=e=>P.value=e,F],disabled:!N.value},{default:a(()=>[p(u(le),{class:`flex-1`},{default:a(()=>[p(u(de),{placeholder:`选择套餐`})]),_:1}),p(u(ce),null,{default:a(()=>[(t(!0),m(c,null,n(Pe.value,e=>(t(),o(u(ue),{key:e.plan,value:e.plan},{default:a(()=>[s(h(e.plan),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`,`disabled`])])]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[34]||=[s(`名称`,-1)]]),_:1}),p(u(x),{modelValue:E.value.name,"onUpdate:modelValue":i[2]||=e=>E.value.name=e,type:`text`,required:``,onInput:i[3]||=e=>delete D.value.name},null,8,[`modelValue`]),D.value.name?(t(),m(`p`,Yt,h(D.value.name),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[35]||=[s(`Base URL`,-1)]]),_:1}),p(u(x),{modelValue:E.value.base_url,"onUpdate:modelValue":i[4]||=e=>E.value.base_url=e,type:`url`,required:``,onInput:i[5]||=e=>delete D.value.base_url},null,8,[`modelValue`]),D.value.base_url?(t(),m(`p`,Xt,h(D.value.base_url),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[36]||=[s(`API Key`,-1)]]),_:1}),p(u(x),{modelValue:E.value.api_key,"onUpdate:modelValue":i[6]||=e=>E.value.api_key=e,type:`text`,required:!w.value,placeholder:w.value?`留空则保持原密钥不变`:``,onInput:i[7]||=e=>delete D.value.api_key},null,8,[`modelValue`,`required`,`placeholder`]),D.value.api_key?(t(),m(`p`,Zt,h(D.value.api_key),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[37]||=[s(`可用模型`,-1)]]),_:1}),l(`div`,Qt,[(t(!0),m(c,null,n(E.value.models,(e,n)=>(t(),o(u(v),{key:n,variant:`secondary`,class:`gap-1 pr-1`},{default:a(()=>[s(h(e)+` `,1),p(u(g),{type:`button`,variant:`ghost`,size:`icon`,class:`h-4 w-4 rounded-full hover:bg-muted p-0 text-xs leading-none`,onClick:e=>R(n)},{default:a(()=>[...i[38]||=[s(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))]),l(`div`,$t,[p(u(x),{modelValue:S.value,"onUpdate:modelValue":i[8]||=e=>S.value=e,placeholder:`输入模型名称,多个用逗号分隔`,onKeydown:ne(ie(L,[`prevent`]),[`enter`]),class:`flex-1`},null,8,[`modelValue`,`onKeydown`]),p(u(g),{type:`button`,variant:`outline`,size:`sm`,onClick:L,disabled:!S.value.trim()},{default:a(()=>[...i[39]||=[s(`添加`,-1)]]),_:1},8,[`disabled`])])]),l(`div`,null,[l(`div`,en,[p(u(Te),{modelValue:O.value,"onUpdate:modelValue":i[9]||=e=>O.value=e,id:`concurrency-switch`},null,8,[`modelValue`]),p(u(_),{for:`concurrency-switch`,class:`text-sm text-foreground`},{default:a(()=>[...i[40]||=[s(`并发控制`,-1)]]),_:1})]),O.value?(t(),m(`div`,tn,[l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[41]||=[s(`最大并发数`,-1)]]),_:1}),p(u(x),{modelValue:E.value.max_concurrency,"onUpdate:modelValue":i[10]||=e=>E.value.max_concurrency=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:un,placeholder:`3`,onInput:i[11]||=e=>delete D.value.max_concurrency},null,8,[`modelValue`]),D.value.max_concurrency?(t(),m(`p`,nn,h(D.value.max_concurrency),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[42]||=[s(`队列超时 (ms)`,-1)]]),_:1}),p(u(x),{modelValue:E.value.queue_timeout_ms,"onUpdate:modelValue":i[12]||=e=>E.value.queue_timeout_ms=e,modelModifiers:{number:!0},type:`number`,min:`0`,placeholder:`0 = 无限等待`,onInput:i[13]||=e=>delete D.value.queue_timeout_ms},null,8,[`modelValue`]),D.value.queue_timeout_ms?(t(),m(`p`,rn,h(D.value.queue_timeout_ms),1)):f(``,!0)]),l(`div`,null,[p(u(_),{class:`block text-sm font-medium text-foreground mb-1`},{default:a(()=>[...i[43]||=[s(`最大队列长度`,-1)]]),_:1}),p(u(x),{modelValue:E.value.max_queue_size,"onUpdate:modelValue":i[14]||=e=>E.value.max_queue_size=e,modelModifiers:{number:!0},type:`number`,min:`1`,max:dn,placeholder:ln,onInput:i[15]||=e=>delete D.value.max_queue_size},null,8,[`modelValue`]),D.value.max_queue_size?(t(),m(`p`,an,h(D.value.max_queue_size),1)):f(``,!0)])])):f(``,!0)]),l(`div`,on,[p(u(fe),{modelValue:E.value.is_active,"onUpdate:modelValue":i[16]||=e=>E.value.is_active=e,id:`svc-active`},null,8,[`modelValue`]),p(u(_),{for:`svc-active`,class:`text-sm text-foreground`},{default:a(()=>[...i[44]||=[s(`启用`,-1)]]),_:1})]),p(u(pe),null,{default:a(()=>[p(u(g),{type:`button`,variant:`outline`,onClick:i[17]||=e=>C.value=!1},{default:a(()=>[...i[45]||=[s(`取消`,-1)]]),_:1}),p(u(g),{type:`submit`},{default:a(()=>[...i[46]||=[s(`保存`,-1)]]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),p(u(ye),{open:!!T.value,"onUpdate:open":i[19]||=e=>{e||(T.value=null)}},{default:a(()=>[p(u(ve),null,{default:a(()=>[p(u(xe),null,{default:a(()=>[p(u(we),null,{default:a(()=>[...i[47]||=[s(`确认删除`,-1)]]),_:1}),p(u(be),null,{default:a(()=>[s(`确定要删除供应商「`+h(T.value?.name)+`」吗?此操作不可撤销。`,1)]),_:1})]),_:1}),p(u(Ce),null,{default:a(()=>[p(u(Se),null,{default:a(()=>[...i[48]||=[s(`取消`,-1)]]),_:1}),p(u(g),{variant:`destructive`,onClick:ze},{default:a(()=>[...i[49]||=[s(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{hn as default};
@@ -0,0 +1,5 @@
1
+ import{B as e,F as t,K as n,L as r,M as i,R as a,S as o,V as s,Y as c,_ as l,_t as u,b as d,dt as f,f as p,g as m,gt as h,h as g,k as _,mt as v,ot as y,q as b,t as x,u as S,v as C,vt as w,w as T,x as E,y as D,yt as O}from"./client-DIIo9zPK.js";import{C as ee,T as k,b as te,h as ne,i as A,n as j,p as re,r as M,u as N,x as ie}from"./button-Dcc0gF5i.js";import{S as P,_ as ae,c as oe,f as F,n as se,o as ce,p as le,u as ue}from"./Collection-1EHC87X5.js";import{t as de}from"./VisuallyHidden-hs8pj8OP.js";import{t as I}from"./useForwardExpose-AkE0lq8y.js";import{i as fe,n as pe,r as me,t as he}from"./PopperContent-B3fZao7v.js";import{n as ge,r as _e,t as ve}from"./CollapsibleTrigger-Uz1aGdtH.js";import{a as ye,c as be,i as xe,n as Se,o as Ce,r as we,s as Te,t as Ee}from"./alert-dialog-PP91kaO8.js";import{t as De}from"./Label-UyNN2jyE.js";import{t as Oe}from"./Switch-BEMjVugO.js";import{i as ke,n as Ae,r as L,t as R}from"./TabsTrigger-Db6RqsZc.js";import{n as z,r as B}from"./lib-Bl0OuBjh.js";import{n as V,t as H}from"./CardContent-CTnwqTdL.js";import{t as U}from"./CardHeader-CfUeY7tk.js";import{t as W}from"./CardTitle-CWiDwWqd.js";import{a as je,i as G,n as K,o as Me,r as q,t as Ne}from"./TableHeader-DpHWSnxK.js";import{t as Pe}from"./format-CPdJtjZ5.js";function Fe(e,t){let n=ie(!1,300);ee(()=>{n.value=!1});let r=y(null),i=ne();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=Le(a,Ie(a,i.getBoundingClientRect()),1),s=Re(t.getBoundingClientRect());r.value=Be([...o,...s]),n.value=!0}return b(n=>{if(e.value&&t.value){let r=e=>o(e,t.value),i=t=>o(t,e.value);e.value.addEventListener(`pointerleave`,r),t.value.addEventListener(`pointerleave`,i),n(()=>{e.value?.removeEventListener(`pointerleave`,r),t.value?.removeEventListener(`pointerleave`,i)})}}),b(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!ze(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,o),n(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function Ie(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Le(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Re(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ze(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function Be(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),Ve(t)}function Ve(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var He={key:0,d:`M0 0L6 6L12 0`},Ue={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},We=o({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let n=e;return I(),(e,r)=>(t(),l(v(A),_(n,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:c(()=>[a(e.$slots,`default`,{},()=>[e.rounded?(t(),D(`path`,Ue)):(t(),D(`path`,He))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),Ge={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Ke=o({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let{forwardRef:n}=I(),r=pe(),i=g(()=>Ge[r.placedSide.value]);return(e,o)=>(t(),D(`span`,{ref:e=>{v(r).onArrowChange(e??void 0)},style:w({position:`absolute`,left:v(r).arrowX?.value?`${v(r).arrowX?.value}px`:void 0,top:v(r).arrowY?.value?`${v(r).arrowY?.value}px`:void 0,[i.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[v(r).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[v(r).placedSide.value],visibility:v(r).shouldHideArrow.value?`hidden`:void 0})},[E(We,_(e.$attrs,{ref:v(n),style:{display:`block`},as:e.as,"as-child":e.asChild,rounded:e.rounded,width:e.width,height:e.height}),{default:c(()=>[a(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),qe=o({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let n=e;return I(),(e,r)=>(t(),l(v(Ke),u(T(n)),{default:c(()=>[a(e.$slots,`default`)]),_:3},16))}}),[J,Je]=P(`TooltipProvider`),Ye=o({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:o,disabled:s,content:c}=f(e);I();let l=y(!0),u=y(!1),{start:d,stop:p}=k(()=>{l.value=!0},n,{immediate:!1});return Je({isOpenDelayed:l,delayDuration:t,onOpen(){p(),l.value=!1},onClose(){d()},isPointerInTransitRef:u,disableHoverableContent:r,disableClosingTrigger:i,disabled:s,ignoreNonKeyboardFocus:o,content:c}),(e,t)=>a(e.$slots,`default`)}}),Y=`tooltip.open`,[X,Xe]=P(`TooltipRoot`),Ze=o({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:r}){let i=e,o=r;I();let s=J(),u=g(()=>i.disableHoverableContent??s.disableHoverableContent.value),d=g(()=>i.disableClosingTrigger??s.disableClosingTrigger.value),f=g(()=>i.disabled??s.disabled.value),p=g(()=>i.delayDuration??s.delayDuration.value),m=g(()=>i.ignoreNonKeyboardFocus??s.ignoreNonKeyboardFocus.value),h=re(i,`open`,o,{defaultValue:i.defaultOpen,passive:i.open===void 0});n(h,e=>{s.onClose&&(e?(s.onOpen(),document.dispatchEvent(new CustomEvent(Y))):s.onClose())});let _=y(!1),b=y(),x=g(()=>h.value?_.value?`delayed-open`:`instant-open`:`closed`),{start:S,stop:C}=k(()=>{_.value=!0,h.value=!0},p,{immediate:!1});function w(){C(),_.value=!1,h.value=!0}function T(){C(),h.value=!1}function E(){S()}return Xe({contentId:``,open:h,stateAttribute:x,trigger:b,onTriggerChange(e){b.value=e},onTriggerEnter(){s.isOpenDelayed.value?E():w()},onTriggerLeave(){u.value?T():C()},onOpen:w,onClose:T,disableHoverableContent:u,disableClosingTrigger:d,disabled:f,ignoreNonKeyboardFocus:m}),(e,n)=>(t(),l(v(fe),null,{default:c(()=>[a(e.$slots,`default`,{open:v(h)})]),_:3}))}}),Z=o({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,o=n,s=X(),u=J(),{forwardRef:f,currentElement:p}=I(),m=g(()=>r.ariaLabel||p.value?.textContent),h=g(()=>{let{ariaLabel:e,...t}=r;return ae(t,u.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return i(()=>{N(window,`scroll`,e=>{e.target?.contains(s.trigger.value)&&s.onClose()},{capture:!0}),N(window,Y,s.onClose)}),(e,n)=>(t(),l(v(ce),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>o(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{v(s).disableClosingTrigger.value&&v(s).trigger.value?.contains(e.target)&&e.preventDefault(),o(`pointerDownOutside`,e)},onFocusOutside:n[2]||=S(()=>{},[`prevent`]),onDismiss:n[3]||=e=>v(s).onClose()},{default:c(()=>[E(v(he),_({ref:v(f),"data-state":v(s).stateAttribute.value},{...e.$attrs,...h.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:c(()=>[a(e.$slots,`default`),E(v(de),{id:v(s).contentId,role:`tooltip`},{default:c(()=>[d(O(m.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),Qe=o({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let n=le(e),{forwardRef:r,currentElement:i}=I(),{trigger:o,onClose:s}=X(),u=J(),{isPointerInTransit:d,onPointerExit:f}=Fe(o,i);return u.isPointerInTransitRef=d,f(()=>{s()}),(e,i)=>(t(),l(Z,_({ref:v(r)},v(n)),{default:c(()=>[a(e.$slots,`default`)]),_:3},16))}}),$e=o({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(n,{emit:r}){let i=n,o=r,s=X(),u=F(i,o),{forwardRef:d}=I();return(n,r)=>(t(),l(v(oe),{present:n.forceMount||v(s).open.value},{default:c(()=>[(t(),l(e(v(s).disableHoverableContent.value?Z:Qe),_({ref:v(d)},v(u)),{default:c(()=>[a(n.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),et=o({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,r)=>(t(),l(v(se),u(T(n)),{default:c(()=>[a(e.$slots,`default`)]),_:3},16))}}),tt=o({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=X(),o=J();r.contentId||=ue(void 0,`reka-tooltip-content`);let{forwardRef:u,currentElement:d}=I(),f=y(!1),p=y(!1),m=g(()=>r.disabled.value?{}:{click:T,focus:C,pointermove:x,pointerleave:S,pointerdown:b,blur:w});i(()=>{r.onTriggerChange(d.value)});function h(){setTimeout(()=>{f.value=!1},1)}function b(){r.open&&!r.disableClosingTrigger.value&&r.onClose(),f.value=!0,document.addEventListener(`pointerup`,h,{once:!0})}function x(e){e.pointerType!==`touch`&&!p.value&&!o.isPointerInTransitRef.value&&(r.onTriggerEnter(),p.value=!0)}function S(){r.onTriggerLeave(),p.value=!1}function C(e){f.value||r.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||r.onOpen()}function w(){r.onClose()}function T(){r.disableClosingTrigger.value||r.onClose()}return(e,i)=>(t(),l(v(me),{"as-child":``,reference:e.reference},{default:c(()=>[E(v(A),_({ref:v(u),"aria-describedby":v(r).open.value?v(r).contentId:void 0,"data-state":v(r).stateAttribute.value,as:e.as,"as-child":n.asChild,"data-grace-area-trigger":``},s(m.value)),{default:c(()=>[a(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),Q=o({__name:`CardDescription`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>(t(),D(`div`,{"data-slot":`card-description`,class:h(v(M)(`text-muted-foreground text-sm`,n.class))},[a(e.$slots,`default`)],2))}}),nt=o({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:n}){let r=F(e,n);return(e,n)=>(t(),l(v(Ze),_({"data-slot":`tooltip`},v(r)),{default:c(t=>[a(e.$slots,`default`,u(T(t)))]),_:3},16))}}),rt=o({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:0},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=n,o=F(te(r,`class`),i);return(e,n)=>(t(),l(v(et),null,{default:c(()=>[E(v($e),_({"data-slot":`tooltip-content`},{...v(o),...e.$attrs},{class:v(M)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,r.class)}),{default:c(()=>[a(e.$slots,`default`),E(v(qe),{class:`size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-dropdown translate-y-[calc(-50%_-_2px)]`})]),_:3},16,[`class`])]),_:3}))}}),it=o({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(e){let n=e;return(e,r)=>(t(),l(v(Ye),u(T(n)),{default:c(()=>[a(e.$slots,`default`)]),_:3},16))}}),at=o({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let n=e;return(e,r)=>(t(),l(v(tt),_({"data-slot":`tooltip-trigger`},n),{default:c(()=>[a(e.$slots,`default`)]),_:3},16))}}),ot={key:0,class:`py-8 text-center text-muted-foreground`},st={key:1,class:`py-8 text-center text-muted-foreground`},ct={class:`cursor-default font-mono text-xs`},lt={class:`font-mono text-xs`},ut={key:0,class:`text-muted-foreground`},dt={key:1,class:`text-muted-foreground`},ft={class:`flex items-center gap-2`},pt={class:`space-y-2`},mt={class:`text-muted-foreground whitespace-nowrap`},ht={class:`text-muted-foreground`},gt={class:`font-medium`},_t=8,vt=6e4,$=60,yt=24,bt=o({__name:`SessionTable`,props:{sessions:{},loading:{type:Boolean},historyMap:{}},emits:[`clear`,`viewHistory`],setup(e,{emit:n}){let i=n,a=y(!1),o=y(null);function s(e){o.value=e,a.value=!0}function u(){o.value&&=(i(`clear`,o.value),null)}function f(e){return e.slice(0,_t)+`...`}function h(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/vt);if(n<1)return`刚刚`;if(n<$)return`${n} 分钟前`;let r=Math.floor(n/$);return r<yt?`${r} 小时前`:`${Math.floor(r/yt)} 天前`}return(n,i)=>(t(),D(p,null,[e.loading?(t(),D(`div`,ot,`加载中...`)):e.sessions.length===0?(t(),D(`div`,st,`暂无活跃 Session`)):(t(),l(v(Me),{key:2},{default:c(()=>[E(v(Ne),null,{default:c(()=>[E(v(q),null,{default:c(()=>[E(v(K),null,{default:c(()=>[...i[1]||=[d(`密钥名称`,-1)]]),_:1}),E(v(K),null,{default:c(()=>[...i[2]||=[d(`Session ID`,-1)]]),_:1}),E(v(K),null,{default:c(()=>[...i[3]||=[d(`当前模型`,-1)]]),_:1}),E(v(K),null,{default:c(()=>[...i[4]||=[d(`原始模型`,-1)]]),_:1}),E(v(K),null,{default:c(()=>[...i[5]||=[d(`最后活跃`,-1)]]),_:1}),E(v(K),null,{default:c(()=>[...i[6]||=[d(`操作`,-1)]]),_:1})]),_:1})]),_:1}),E(v(je),null,{default:c(()=>[(t(!0),D(p,null,r(e.sessions,a=>(t(),D(p,{key:a.id},[E(v(q),null,{default:c(()=>[E(v(G),{class:`font-medium`},{default:c(()=>[d(O(a.router_key_name),1)]),_:2},1024),E(v(G),null,{default:c(()=>[E(v(it),null,{default:c(()=>[E(v(nt),null,{default:c(()=>[E(v(at),{"as-child":``},{default:c(()=>[m(`span`,ct,O(f(a.session_id)),1)]),_:2},1024),E(v(rt),null,{default:c(()=>[m(`p`,lt,O(a.session_id),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024),E(v(G),null,{default:c(()=>[E(v(B),{variant:`secondary`},{default:c(()=>[d(O(a.current_model),1)]),_:2},1024)]),_:2},1024),E(v(G),null,{default:c(()=>[a.original_model?(t(),D(`span`,ut,O(a.original_model),1)):(t(),D(`span`,dt,`-`))]),_:2},1024),E(v(G),{class:`text-muted-foreground text-sm`},{default:c(()=>[d(O(h(a.last_active_at)),1)]),_:2},1024),E(v(G),null,{default:c(()=>[m(`div`,ft,[E(v(j),{variant:`ghost`,size:`sm`,onClick:e=>n.$emit(`viewHistory`,a)},{default:c(()=>[d(O(e.historyMap[a.session_id]?`收起`:`历史`),1)]),_:2},1032,[`onClick`]),E(v(j),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>s(a)},{default:c(()=>[...i[7]||=[d(` 清除 `,-1)]]),_:1},8,[`onClick`])])]),_:2},1024)]),_:2},1024),e.historyMap[a.session_id]?(t(),l(v(q),{key:0},{default:c(()=>[E(v(G),{colspan:`6`,class:`bg-muted/50 px-6 py-3`},{default:c(()=>[m(`div`,pt,[i[9]||=m(`p`,{class:`text-sm font-medium text-foreground`},`切换历史`,-1),(t(!0),D(p,null,r(e.historyMap[a.session_id],e=>(t(),D(`div`,{key:e.id,class:`flex items-center gap-3 text-sm`},[m(`span`,mt,O(v(Pe)(e.created_at)),1),E(v(B),{variant:`outline`,class:`text-xs`},{default:c(()=>[d(O(e.trigger_type),1)]),_:2},1024),m(`span`,null,[m(`span`,ht,O(e.old_model||`默认`),1),i[8]||=m(`span`,{class:`mx-1`},`→`,-1),m(`span`,gt,O(e.new_model),1)])]))),128))])]),_:2},1024)]),_:2},1024)):C(``,!0)],64))),128))]),_:1})]),_:1})),E(v(be),{open:a.value,"onUpdate:open":i[0]||=e=>a.value=e},{default:c(()=>[E(v(ye),null,{default:c(()=>[E(v(Se),null,{default:c(()=>[E(v(Ee),null,{default:c(()=>[...i[10]||=[d(`确认清除 Session`,-1)]]),_:1}),E(v(xe),null,{default:c(()=>[...i[11]||=[d(` 清除后,该 Session 将恢复使用默认模型映射。此操作不可撤销。 `,-1)]]),_:1})]),_:1}),E(v(we),null,{default:c(()=>[E(v(Ce),null,{default:c(()=>[...i[12]||=[d(`取消`,-1)]]),_:1}),E(v(Te),{onClick:u},{default:c(()=>[...i[13]||=[d(`确认清除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])],64))}}),xt={class:`p-6`},St={class:`flex items-center justify-between mb-4`},Ct={key:0,class:`flex items-center gap-1`},wt={key:1},Tt={class:`flex items-center gap-3`},Et={class:`flex items-center justify-between`},Dt=`---
2
+ description: 切换代理路由模型
3
+ ---
4
+
5
+ [router-command: select-model $ARGUMENTS]`,Ot=o({__name:`ProxyEnhancement`,setup(e){let n=y(!1),r=y(!1),a=y(!0),o=y([]),s=y(!1),l=y({});async function u(){try{n.value=(await x.getProxyEnhancement()).claude_code_enabled}catch(e){console.error(`Failed to load proxy enhancement config:`,e),z.error(`加载配置失败`)}}async function f(){r.value=!0;try{await x.updateProxyEnhancement({claude_code_enabled:n.value}),z.success(`保存成功`)}catch(e){console.error(`Failed to save proxy enhancement config:`,e),z.error(`保存失败`)}finally{r.value=!1}}async function p(){s.value=!0;try{o.value=await x.getSessionStates()}catch(e){console.error(`Failed to load sessions:`,e),z.error(`加载 Session 列表失败`)}finally{s.value=!1}}async function g(e){try{await x.deleteSessionState(e.router_key_id,e.session_id),z.success(`Session 已清除`),p()}catch(e){console.error(`Failed to clear session:`,e),z.error(`清除 Session 失败`)}}async function _(e){let t=e.session_id;if(l.value[t]){delete l.value[t];return}try{let n=await x.getSessionHistory(e.router_key_id,e.session_id);l.value[t]=n}catch(e){console.error(`Failed to load history:`,e),z.error(`加载历史记录失败`)}}return i(()=>{u(),p()}),(e,i)=>(t(),D(`div`,xt,[m(`div`,St,[i[3]||=m(`h2`,{class:`text-lg font-semibold text-foreground`},`代理增强(实验性)`,-1),E(v(j),{disabled:r.value,onClick:f},{default:c(()=>[r.value?(t(),D(`span`,Ct,[...i[2]||=[m(`svg`,{class:`w-4 h-4 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[m(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),m(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),d(` 保存中... `,-1)]])):(t(),D(`span`,wt,`保存`))]),_:1},8,[`disabled`])]),E(v(ke),{"default-value":`claude-code`},{default:c(()=>[E(v(Ae),null,{default:c(()=>[E(v(R),{value:`claude-code`},{default:c(()=>[...i[4]||=[d(`Claude Code`,-1)]]),_:1}),E(v(R),{value:`opencode`},{default:c(()=>[...i[5]||=[d(`OpenCode`,-1)]]),_:1})]),_:1}),E(v(L),{value:`claude-code`},{default:c(()=>[E(v(V),null,{default:c(()=>[E(v(U),null,{default:c(()=>[E(v(W),null,{default:c(()=>[...i[6]||=[d(`Claude Code 动态模型切换`,-1)]]),_:1}),E(v(Q),null,{default:c(()=>[...i[7]||=[d(` 在 Claude Code 对话中通过 /select-model 命令动态切换后端模型。模型选择在当前会话内有效(24h),不影响路由配置。 `,-1)]]),_:1})]),_:1}),E(v(H),null,{default:c(()=>[m(`div`,Tt,[E(v(Oe),{id:`claude-code-toggle`,modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e},null,8,[`modelValue`]),E(v(De),{for:`claude-code-toggle`},{default:c(()=>[d(O(n.value?`已启用`:`已禁用`),1)]),_:1})])]),_:1})]),_:1}),E(v(_e),{open:a.value,"onUpdate:open":i[1]||=e=>a.value=e,class:`mt-4`},{default:c(()=>[E(v(ve),{"as-child":``},{default:c(()=>[E(v(j),{variant:`ghost`,class:`w-full justify-between`},{default:c(()=>[i[9]||=m(`span`,null,`使用说明`,-1),(t(),D(`svg`,{class:h([`w-4 h-4 transition-transform`,{"rotate-180":a.value}]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...i[8]||=[m(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`},null,-1)]],2))]),_:1})]),_:1}),E(v(ge),{class:`mt-2`},{default:c(()=>[E(v(V),null,{default:c(()=>[E(v(H),{class:`space-y-4 text-sm`},{default:c(()=>[m(`div`,null,[i[10]||=m(`p`,{class:`font-medium text-foreground mb-1 leading-relaxed`},`配置方法`,-1),i[11]||=m(`p`,{class:`text-muted-foreground leading-relaxed`},` 在 Claude Code 项目级或全局级目录下创建 Command 文件: `,-1),i[12]||=m(`code`,{class:`block mt-1 px-3 py-2 bg-muted rounded text-xs font-mono whitespace-pre-wrap leading-relaxed`},[d(` # 项目级 .claude/commands/select-model.md`),m(`br`),d(` # 全局级 ~/.claude/commands/select-model.md `)],-1),i[13]||=m(`p`,{class:`text-muted-foreground leading-relaxed mt-2`},` 文件内容: `,-1),m(`code`,{class:`block mt-1 px-3 py-2 bg-muted rounded text-xs font-mono whitespace-pre-wrap leading-relaxed`,textContent:Dt})]),i[14]||=m(`div`,null,[m(`p`,{class:`font-medium text-foreground mb-1 leading-relaxed`},`使用方法`),m(`p`,{class:`text-muted-foreground leading-relaxed`},` 查看可用模型列表(格式为 provider_name/backend_model): `),m(`code`,{class:`block mt-1 px-3 py-2 bg-muted rounded text-xs font-mono whitespace-pre-wrap leading-relaxed`},` /select-model `),m(`p`,{class:`text-muted-foreground leading-relaxed mt-2`},` 选择模型并记住到当前会话: `),m(`code`,{class:`block mt-1 px-3 py-2 bg-muted rounded text-xs font-mono whitespace-pre-wrap leading-relaxed`},` /select-model provider_name/backend_model `),m(`p`,{class:`text-muted-foreground leading-relaxed mt-2`},` 切换后在下方活跃 Session 表中确认状态,请求日志中可验证路由是否生效。 `)],-1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),E(v(V),{class:`mt-4`},{default:c(()=>[E(v(U),null,{default:c(()=>[m(`div`,Et,[m(`div`,null,[E(v(W),null,{default:c(()=>[...i[15]||=[d(`活跃 Session`,-1)]]),_:1}),E(v(Q),null,{default:c(()=>[...i[16]||=[d(`查看和管理当前已配置模型的 session`,-1)]]),_:1})]),E(v(j),{variant:`outline`,size:`sm`,onClick:p,disabled:s.value},{default:c(()=>[...i[17]||=[d(`刷新`,-1)]]),_:1},8,[`disabled`])])]),_:1}),E(v(H),null,{default:c(()=>[E(bt,{sessions:o.value,loading:s.value,"history-map":l.value,onClear:g,onViewHistory:_},null,8,[`sessions`,`loading`,`history-map`])]),_:1})]),_:1})]),_:1}),E(v(L),{value:`opencode`},{default:c(()=>[...i[18]||=[m(`div`,{class:`flex flex-col items-center justify-center py-16 text-muted-foreground`},[m(`p`,{class:`text-lg`},`暂未支持 OpenCode 增强`)],-1)]]),_:1})]),_:1})]))}});export{Ot as default};
@@ -0,0 +1 @@
1
+ import{F as e,L as t,M as n,S as r,Y as i,_ as a,b as o,f as s,g as c,mt as l,ot as u,t as d,u as f,v as p,x as m,y as h,yt as g}from"./client-DIIo9zPK.js";import{a as ee,i as te,n as _,r as v,t as ne}from"./SelectValue-zO8t-tx1.js";import{n as y}from"./button-Dcc0gF5i.js";import{t as re}from"./Checkbox-BxNz70R_.js";import{i as ie,o as b,r as ae,s as oe,t as se}from"./dialog-CxSyR-fN.js";import{a as x,c as S,i as ce,n as le,o as ue,r as de,t as fe}from"./alert-dialog-PP91kaO8.js";import{t as C}from"./Label-UyNN2jyE.js";import{n as w,r as T}from"./lib-Bl0OuBjh.js";import{a as E,i as D,n as O,o as k,r as A,t as j}from"./TableHeader-DpHWSnxK.js";import{t as M}from"./Input-DRIid2C6.js";var N={class:`p-6`},P={class:`flex items-center justify-between mb-4`},F={class:`bg-card rounded-lg border overflow-hidden`},I={class:`flex items-center gap-2`},L={class:`text-xs text-muted-foreground`},R={key:0,class:`text-sm text-destructive mt-1`},z={key:0,class:`text-sm text-destructive mt-1`},B={key:0,class:`text-sm text-destructive mt-1`},V={class:`grid grid-cols-2 gap-3`},pe={key:0,class:`text-sm text-destructive mt-1`},me={key:0,class:`text-sm text-destructive mt-1`},he={key:0},ge={key:0,class:`text-sm text-destructive mt-1`},_e={class:`flex items-center gap-2`},H=100,U=599,W=100,G=100,K=r({__name:`RetryRules`,setup(r){let K={name:``,status_code:429,body_pattern:``,is_active:!0,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4},q=u([]),J=u(!1),Y=u(null),X=u(null),Z=u({...K}),Q=u({});function ve(){let e={};Z.value.name.trim()||(e.name=`请输入名称`);let t=Number(Z.value.status_code);if((!Number.isInteger(t)||t<H||t>U)&&(e.status_code=`范围 ${H}-${U}`),!Z.value.body_pattern.trim())e.body_pattern=`请输入匹配规则`;else try{new RegExp(Z.value.body_pattern)}catch{e.body_pattern=`不是合法的正则表达式`}let n=Number(Z.value.retry_delay_ms);(!n||n<W)&&(e.retry_delay_ms=`不能小于 ${W}ms`);let r=Number(Z.value.max_retries);if((!Number.isInteger(r)||r<0||r>G)&&(e.max_retries=`范围 0-${G}`),Z.value.retry_strategy===`exponential`){let t=Number(Z.value.max_delay_ms);(!t||t<W)&&(e.max_delay_ms=`不能小于 ${W}ms`)}return Q.value=e,Object.keys(e).length===0}async function $(){try{q.value=await d.getRetryRules()}catch(e){console.error(`Failed to load retry rules:`,e),w.error(`加载数据失败`)}}function ye(){Y.value=null,Z.value={...K},Q.value={},J.value=!0}function be(e){Y.value=e.id,Z.value={name:e.name,status_code:e.status_code,body_pattern:e.body_pattern,is_active:!!e.is_active,retry_strategy:e.retry_strategy,retry_delay_ms:e.retry_delay_ms,max_retries:e.max_retries,max_delay_ms:e.max_delay_ms},Q.value={},J.value=!0}async function xe(){if(ve())try{let e={name:Z.value.name,status_code:Number(Z.value.status_code),body_pattern:Z.value.body_pattern,is_active:+!!Z.value.is_active,retry_strategy:Z.value.retry_strategy,retry_delay_ms:Number(Z.value.retry_delay_ms),max_retries:Number(Z.value.max_retries),max_delay_ms:Number(Z.value.max_delay_ms)};Y.value?await d.updateRetryRule(Y.value,e):await d.createRetryRule(e),J.value=!1,await $()}catch(e){console.error(`Failed to save retry rule:`,e),w.error(`保存规则失败`)}}function Se(e){X.value=e}async function Ce(){let e=X.value;if(e){X.value=null;try{await d.deleteRetryRule(e.id),await $()}catch(e){console.error(`Failed to delete retry rule:`,e),w.error(`删除规则失败`)}}}return n($),(n,r)=>(e(),h(`div`,N,[c(`div`,P,[r[18]||=c(`h2`,{class:`text-lg font-semibold text-foreground`},`重试规则`,-1),m(l(y),{onClick:ye,class:`flex items-center gap-1`},{default:i(()=>[...r[17]||=[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),o(` 添加规则 `,-1)]]),_:1})]),c(`div`,F,[m(l(k),null,{default:i(()=>[m(l(j),null,{default:i(()=>[m(l(A),{class:`bg-muted`},{default:i(()=>[m(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[19]||=[o(`名称`,-1)]]),_:1}),m(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[20]||=[o(`HTTP 状态码`,-1)]]),_:1}),m(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[21]||=[o(`响应体匹配`,-1)]]),_:1}),m(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[22]||=[o(`重试策略`,-1)]]),_:1}),m(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[23]||=[o(`状态`,-1)]]),_:1}),m(l(O),{class:`text-right text-muted-foreground`},{default:i(()=>[...r[24]||=[o(`操作`,-1)]]),_:1})]),_:1})]),_:1}),m(l(E),null,{default:i(()=>[(e(!0),h(s,null,t(q.value,t=>(e(),a(l(A),{key:t.id},{default:i(()=>[m(l(D),{class:`font-mono text-sm`},{default:i(()=>[o(g(t.name),1)]),_:2},1024),m(l(D),null,{default:i(()=>[o(g(t.status_code),1)]),_:2},1024),m(l(D),{class:`font-mono text-xs text-muted-foreground`},{default:i(()=>[o(g(t.body_pattern),1)]),_:2},1024),m(l(D),null,{default:i(()=>[c(`div`,I,[m(l(T),{variant:`outline`},{default:i(()=>[o(g(t.retry_strategy===`fixed`?`固定间隔`:`指数退避`),1)]),_:2},1024),c(`span`,L,[o(g(t.retry_delay_ms/1e3)+`s · `+g(t.max_retries)+`次 `,1),t.retry_strategy===`exponential`?(e(),h(s,{key:0},[o(` · 上限`+g(t.max_delay_ms/1e3)+`s`,1)],64)):p(``,!0)])])]),_:2},1024),m(l(D),null,{default:i(()=>[m(l(T),{variant:t.is_active?`default`:`secondary`},{default:i(()=>[o(g(t.is_active?`启用`:`禁用`),1)]),_:2},1032,[`variant`])]),_:2},1024),m(l(D),{class:`text-right`},{default:i(()=>[m(l(y),{variant:`ghost`,size:`sm`,onClick:e=>be(t),class:`mr-2`},{default:i(()=>[...r[25]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(l(y),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:e=>Se(t)},{default:i(()=>[...r[26]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024))),128)),q.value.length===0?(e(),a(l(A),{key:0},{default:i(()=>[m(l(D),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:i(()=>[...r[27]||=[o(`暂无规则`,-1)]]),_:1})]),_:1})):p(``,!0)]),_:1})]),_:1})]),m(l(oe),{open:J.value,"onUpdate:open":r[15]||=e=>J.value=e},{default:i(()=>[m(l(b),null,{default:i(()=>[m(l(ae),null,{default:i(()=>[m(l(se),null,{default:i(()=>[o(g(Y.value?`编辑规则`:`添加规则`),1)]),_:1})]),_:1}),c(`form`,{onSubmit:f(xe,[`prevent`]),class:`space-y-3`},[c(`div`,null,[m(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...r[28]||=[o(`名称`,-1)]]),_:1}),m(l(M),{modelValue:Z.value.name,"onUpdate:modelValue":r[0]||=e=>Z.value.name=e,type:`text`,required:``,onInput:r[1]||=e=>delete Q.value.name},null,8,[`modelValue`]),Q.value.name?(e(),h(`p`,R,g(Q.value.name),1)):p(``,!0)]),c(`div`,null,[m(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...r[29]||=[o(`HTTP 状态码`,-1)]]),_:1}),m(l(M),{modelValue:Z.value.status_code,"onUpdate:modelValue":r[2]||=e=>Z.value.status_code=e,modelModifiers:{number:!0},type:`number`,required:``,onInput:r[3]||=e=>delete Q.value.status_code},null,8,[`modelValue`]),Q.value.status_code?(e(),h(`p`,z,g(Q.value.status_code),1)):p(``,!0)]),c(`div`,null,[m(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...r[30]||=[o(`响应体匹配`,-1)]]),_:1}),m(l(M),{modelValue:Z.value.body_pattern,"onUpdate:modelValue":r[4]||=e=>Z.value.body_pattern=e,type:`text`,placeholder:`正则表达式,例如 .*rate_limit.*`,required:``,onInput:r[5]||=e=>delete Q.value.body_pattern},null,8,[`modelValue`]),Q.value.body_pattern?(e(),h(`p`,B,g(Q.value.body_pattern),1)):p(``,!0)]),c(`div`,null,[m(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...r[31]||=[o(`重试策略`,-1)]]),_:1}),m(l(ee),{modelValue:Z.value.retry_strategy,"onUpdate:modelValue":r[6]||=e=>Z.value.retry_strategy=e},{default:i(()=>[m(l(_),{class:`w-full`},{default:i(()=>[m(l(ne),{placeholder:`选择策略`})]),_:1}),m(l(te),null,{default:i(()=>[m(l(v),{value:`exponential`},{default:i(()=>[...r[32]||=[o(`指数退避`,-1)]]),_:1}),m(l(v),{value:`fixed`},{default:i(()=>[...r[33]||=[o(`固定间隔`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),c(`div`,V,[c(`div`,null,[m(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[o(g(Z.value.retry_strategy===`fixed`?`间隔时间 (ms)`:`初始延迟 (ms)`),1)]),_:1}),m(l(M),{modelValue:Z.value.retry_delay_ms,"onUpdate:modelValue":r[7]||=e=>Z.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:r[8]||=e=>delete Q.value.retry_delay_ms},null,8,[`modelValue`]),Q.value.retry_delay_ms?(e(),h(`p`,pe,g(Q.value.retry_delay_ms),1)):p(``,!0)]),c(`div`,null,[m(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...r[34]||=[o(`最大重试次数`,-1)]]),_:1}),m(l(M),{modelValue:Z.value.max_retries,"onUpdate:modelValue":r[9]||=e=>Z.value.max_retries=e,modelModifiers:{number:!0},type:`number`,min:0,max:100,required:``,onInput:r[10]||=e=>delete Q.value.max_retries},null,8,[`modelValue`]),Q.value.max_retries?(e(),h(`p`,me,g(Q.value.max_retries),1)):p(``,!0)])]),Z.value.retry_strategy===`exponential`?(e(),h(`div`,he,[m(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...r[35]||=[o(`延迟上限 (ms)`,-1)]]),_:1}),m(l(M),{modelValue:Z.value.max_delay_ms,"onUpdate:modelValue":r[11]||=e=>Z.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``,onInput:r[12]||=e=>delete Q.value.max_delay_ms},null,8,[`modelValue`]),Q.value.max_delay_ms?(e(),h(`p`,ge,g(Q.value.max_delay_ms),1)):p(``,!0)])):p(``,!0),c(`div`,_e,[m(l(re),{modelValue:Z.value.is_active,"onUpdate:modelValue":r[13]||=e=>Z.value.is_active=e,id:`rule-active`},null,8,[`modelValue`]),m(l(C),{for:`rule-active`,class:`text-sm text-foreground`},{default:i(()=>[...r[36]||=[o(`启用`,-1)]]),_:1})]),m(l(ie),null,{default:i(()=>[m(l(y),{type:`button`,variant:`outline`,onClick:r[14]||=e=>J.value=!1},{default:i(()=>[...r[37]||=[o(`取消`,-1)]]),_:1}),m(l(y),{type:`submit`},{default:i(()=>[...r[38]||=[o(`保存`,-1)]]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),m(l(S),{open:!!X.value,"onUpdate:open":r[16]||=e=>{e||(X.value=null)}},{default:i(()=>[m(l(x),null,{default:i(()=>[m(l(le),null,{default:i(()=>[m(l(fe),null,{default:i(()=>[...r[39]||=[o(`确认删除`,-1)]]),_:1}),m(l(ce),null,{default:i(()=>[o(`确定要删除规则「`+g(X.value?.name)+`」吗?`,1)]),_:1})]),_:1}),m(l(de),null,{default:i(()=>[m(l(ue),null,{default:i(()=>[...r[40]||=[o(`取消`,-1)]]),_:1}),m(l(y),{variant:`destructive`,onClick:Ce},{default:i(()=>[...r[41]||=[o(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{K as default};
@@ -0,0 +1 @@
1
+ import{F as e,L as t,M as n,S as r,Y as i,_ as a,b as o,f as s,g as c,gt as ee,mt as l,ot as u,t as d,u as te,v as f,x as p,y as m,yt as h}from"./client-DIIo9zPK.js";import{n as g}from"./button-Dcc0gF5i.js";import{t as _}from"./Checkbox-BxNz70R_.js";import{i as v,o as ne,r as re,s as ie,t as ae}from"./dialog-CxSyR-fN.js";import{a as oe,c as se,i as y,n as b,o as ce,r as x,t as S}from"./alert-dialog-PP91kaO8.js";import{t as C}from"./Label-UyNN2jyE.js";import{n as w,r as T}from"./lib-Bl0OuBjh.js";import{a as E,i as D,n as O,o as k,r as A,t as j}from"./TableHeader-DpHWSnxK.js";import{t as M}from"./Input-DRIid2C6.js";import{t as N}from"./useClipboard-CWc1cTDo.js";var P={class:`p-6`},F={class:`flex items-center justify-between mb-4`},I={class:`bg-card rounded-lg border overflow-hidden`},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`},H={key:0,class:`text-sm text-destructive mt-1`},U={class:`border rounded-md p-3 max-h-48 overflow-y-auto space-y-2 bg-muted`},W={class:`font-mono text-xs`},le={key:0,class:`text-muted-foreground text-sm text-center py-2`},ue={key:0,class:`flex flex-wrap gap-1 mt-2`},de={key:0,class:`flex items-center gap-2`},G=r({__name:`RouterKeys`,setup(r){let G={name:``,allowed_models:[],is_active:!0},K=u([]),q=u([]),J=u(!1),Y=u(null),X=u(null),Z=u({...G,allowed_models:[]}),Q=u({}),{copied:fe,copy:pe}=N();function me(e){return e?e.slice(0,7)+`*`.repeat(7):``}function he(e){return new Date(e).toLocaleString(`zh-CN`)}function ge(e){let t=Z.value.allowed_models.indexOf(e);t>=0&&Z.value.allowed_models.splice(t,1)}async function $(){try{let[e,t]=await Promise.allSettled([d.getRouterKeys(),d.getAvailableModels()]);e.status===`fulfilled`&&(K.value=e.value),t.status===`fulfilled`&&(q.value=t.value)}catch(e){console.error(`Failed to load data:`,e),w.error(`加载数据失败`)}}function _e(){Y.value=null,Z.value={...G,allowed_models:[]},Q.value={},J.value=!0}function ve(e){Y.value=e.id,Z.value={name:e.name,allowed_models:e.allowed_models?[...e.allowed_models]:[],is_active:!!e.is_active},Q.value={},J.value=!0}function ye(){return{name:Z.value.name,allowed_models:Z.value.allowed_models.length>0?Z.value.allowed_models:null,is_active:+!!Z.value.is_active}}function be(){return{name:Z.value.name,allowed_models:Z.value.allowed_models.length>0?Z.value.allowed_models:null}}async function xe(){let e={};if(Z.value.name.trim()||(e.name=`请输入名称`),Q.value=e,!(Object.keys(e).length>0))try{Y.value?await d.updateRouterKey(Y.value,ye()):await d.createRouterKey(be()),J.value=!1,await $()}catch(e){console.error(`Failed to save router key:`,e),w.error(`保存密钥失败`)}}function Se(e){X.value=e}async function Ce(){let e=X.value;if(e){X.value=null;try{await d.deleteRouterKey(e.id),await $()}catch(e){console.error(`Failed to delete router key:`,e),w.error(`删除密钥失败`)}}}return n($),(n,r)=>(e(),m(`div`,P,[c(`div`,F,[r[7]||=c(`h2`,{class:`text-lg font-semibold text-foreground`},`API 密钥`,-1),p(l(g),{onClick:_e,class:`flex items-center gap-1`},{default:i(()=>[...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),o(` 创建密钥 `,-1)]]),_:1})]),c(`div`,I,[p(l(k),null,{default:i(()=>[p(l(j),null,{default:i(()=>[p(l(A),{class:`bg-muted`},{default:i(()=>[p(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[8]||=[o(`名称`,-1)]]),_:1}),p(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[9]||=[o(`密钥`,-1)]]),_:1}),p(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[10]||=[o(`白名单模型`,-1)]]),_:1}),p(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[11]||=[o(`状态`,-1)]]),_:1}),p(l(O),{class:`text-muted-foreground`},{default:i(()=>[...r[12]||=[o(`创建时间`,-1)]]),_:1}),p(l(O),{class:`text-right text-muted-foreground`},{default:i(()=>[...r[13]||=[o(`操作`,-1)]]),_:1})]),_:1})]),_:1}),p(l(E),null,{default:i(()=>[(e(!0),m(s,null,t(K.value,n=>(e(),a(l(A),{key:n.id,class:ee({"opacity-60":!n.is_active})},{default:i(()=>[p(l(D),{class:`font-medium`},{default:i(()=>[o(h(n.name),1)]),_:2},1024),p(l(D),null,{default:i(()=>[c(`div`,L,[c(`span`,R,h(me(n.key)),1),p(l(g),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:e=>n.key&&l(pe)(n.key)},{default:i(()=>[l(fe)?(e(),m(`svg`,B,[...r[15]||=[c(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(e(),m(`svg`,z,[...r[14]||=[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)]]))]),_:1},8,[`onClick`])])]),_:2},1024),p(l(D),null,{default:i(()=>[n.allowed_models&&n.allowed_models.length>0?(e(),m(`div`,V,[(e(!0),m(s,null,t(n.allowed_models,t=>(e(),a(l(T),{key:t,variant:`outline`,class:`text-xs`},{default:i(()=>[o(h(t),1)]),_:2},1024))),128))])):(e(),a(l(T),{key:1,variant:`secondary`},{default:i(()=>[...r[16]||=[o(`全部模型`,-1)]]),_:1}))]),_:2},1024),p(l(D),null,{default:i(()=>[p(l(T),{variant:n.is_active?`default`:`secondary`},{default:i(()=>[o(h(n.is_active?`启用`:`禁用`),1)]),_:2},1032,[`variant`])]),_:2},1024),p(l(D),{class:`text-muted-foreground text-sm`},{default:i(()=>[o(h(he(n.created_at)),1)]),_:2},1024),p(l(D),{class:`text-right`},{default:i(()=>[p(l(g),{variant:`ghost`,size:`sm`,onClick:e=>ve(n),class:`text-muted-foreground hover:text-primary mr-2`},{default:i(()=>[...r[17]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),p(l(g),{variant:`ghost`,size:`sm`,onClick:e=>Se(n),class:`text-muted-foreground hover:text-destructive`},{default:i(()=>[...r[18]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),K.value.length===0?(e(),a(l(A),{key:0},{default:i(()=>[p(l(D),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:i(()=>[...r[19]||=[o(`暂无密钥`,-1)]]),_:1})]),_:1})):f(``,!0)]),_:1})]),_:1})]),p(l(ie),{open:J.value,"onUpdate:open":r[4]||=e=>J.value=e},{default:i(()=>[p(l(ne),{class:`sm:max-w-lg`},{default:i(()=>[p(l(re),null,{default:i(()=>[p(l(ae),null,{default:i(()=>[o(h(Y.value?`编辑密钥`:`创建密钥`),1)]),_:1})]),_:1}),c(`form`,{onSubmit:te(xe,[`prevent`]),class:`space-y-4`},[c(`div`,null,[p(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...r[20]||=[o(`名称`,-1)]]),_:1}),p(l(M),{modelValue:Z.value.name,"onUpdate:modelValue":r[0]||=e=>Z.value.name=e,type:`text`,required:``,placeholder:`例如:生产环境`,onInput:r[1]||=e=>delete Q.value.name},null,8,[`modelValue`]),Q.value.name?(e(),m(`p`,H,h(Q.value.name),1)):f(``,!0)]),c(`div`,null,[p(l(C),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...r[21]||=[o(`白名单模型`,-1)]]),_:1}),r[23]||=c(`div`,{class:`text-xs text-muted-foreground mb-2`},`不选择 = 允许所有模型`,-1),c(`div`,U,[(e(!0),m(s,null,t(q.value,t=>(e(),a(l(C),{key:t,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:i(()=>[p(l(_),{"model-value":Z.value.allowed_models.includes(t),"onUpdate:modelValue":e=>{if(e&&e!==`indeterminate`&&!Z.value.allowed_models.includes(t))Z.value.allowed_models.push(t);else if(!e){let e=Z.value.allowed_models.indexOf(t);e>=0&&Z.value.allowed_models.splice(e,1)}}},null,8,[`model-value`,`onUpdate:modelValue`]),c(`span`,W,h(t),1)]),_:2},1024))),128)),q.value.length===0?(e(),m(`div`,le,` 暂无可用模型,请先配置模型映射 `)):f(``,!0)]),Z.value.allowed_models.length>0?(e(),m(`div`,ue,[(e(!0),m(s,null,t(Z.value.allowed_models,t=>(e(),a(l(T),{key:t,variant:`outline`,class:`text-xs`},{default:i(()=>[o(h(t)+` `,1),p(l(g),{type:`button`,variant:`ghost`,size:`sm`,class:`ml-1 h-4 w-4 p-0 text-muted-foreground hover:text-destructive`,onClick:e=>ge(t)},{default:i(()=>[...r[22]||=[o(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):f(``,!0)]),Y.value?(e(),m(`div`,de,[p(l(_),{modelValue:Z.value.is_active,"onUpdate:modelValue":r[2]||=e=>Z.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),p(l(C),{for:`key-active`,class:`text-sm text-foreground`},{default:i(()=>[...r[24]||=[o(`启用`,-1)]]),_:1})])):f(``,!0),p(l(v),null,{default:i(()=>[p(l(g),{type:`button`,variant:`outline`,onClick:r[3]||=e=>J.value=!1},{default:i(()=>[...r[25]||=[o(`取消`,-1)]]),_:1}),p(l(g),{type:`submit`},{default:i(()=>[...r[26]||=[o(`保存`,-1)]]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),p(l(se),{open:!!X.value,"onUpdate:open":r[5]||=e=>{e||(X.value=null)}},{default:i(()=>[p(l(oe),null,{default:i(()=>[p(l(b),null,{default:i(()=>[p(l(S),null,{default:i(()=>[...r[27]||=[o(`确认删除`,-1)]]),_:1}),p(l(y),null,{default:i(()=>[o(`确定要删除密钥「`+h(X.value?.name)+`」吗?使用此密钥的所有请求将被拒绝,此操作不可撤销。`,1)]),_:1})]),_:1}),p(l(x),null,{default:i(()=>[p(l(ce),null,{default:i(()=>[...r[28]||=[o(`取消`,-1)]]),_:1}),p(l(g),{variant:`destructive`,onClick:Ce},{default:i(()=>[...r[29]||=[o(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{G as default};
@@ -1 +1 @@
1
- import{A as e,F as t,M as n,N as r,R as i,S as a,Y as o,_ as s,dt as c,h as l,mt as u,ot as d,x as f}from"./client-Mb8fy_bC.js";import{i as p,p as m}from"./button-D54q76GQ.js";import{S as h,h as g,t as _,u as v,x as y}from"./Collection-DUBb4r6h.js";var b=`rovingFocusGroup.onEntryFocus`,x={bubbles:!1,cancelable:!0},S={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function C(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function w(e,t,n){let r=C(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return S[r]}function T(e,t=!1){let n=y();for(let r of e)if(r===n||(r.focus({preventScroll:t}),y()!==n))return}function E(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[D,O]=h(`RovingFocusGroup`),k=a({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:n,emit:r}){let a=e,l=r,{loop:h,orientation:v,dir:y}=c(a),S=g(y),C=m(a,`currentTabStopId`,l,{defaultValue:a.defaultCurrentTabStopId,passive:a.currentTabStopId===void 0}),w=d(!1),E=d(!1),D=d(0),{getItems:k,CollectionSlot:A}=_({isProvider:!0});function j(e){let t=!E.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!w.value){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),l(`entryFocus`,t),!t.defaultPrevented){let e=k().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);T([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===C.value),...e].filter(Boolean),a.preventScrollOnEntryFocus)}}E.value=!1}function M(){setTimeout(()=>{E.value=!1},1)}return n({getItems:k}),O({loop:h,dir:S,orientation:v,currentTabStopId:C,onItemFocus:e=>{C.value=e},onItemShiftTab:()=>{w.value=!0},onFocusableItemAdd:()=>{D.value++},onFocusableItemRemove:()=>{D.value--}}),(e,n)=>(t(),s(u(A),null,{default:o(()=>[f(u(p),{tabindex:w.value||D.value===0?-1:0,"data-orientation":u(v),as:e.as,"as-child":e.asChild,dir:u(S),style:{outline:`none`},onMousedown:n[0]||=e=>E.value=!0,onMouseup:M,onFocus:j,onBlur:n[1]||=e=>w.value=!1},{default:o(()=>[i(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),A=a({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(a){let c=a,d=D(),m=v(),h=l(()=>c.tabStopId||m),g=l(()=>d.currentTabStopId.value===h.value),{getItems:y,CollectionItem:b}=_();n(()=>{c.focusable&&d.onFocusableItemAdd()}),r(()=>{c.focusable&&d.onFocusableItemRemove()});function x(t){if(t.key===`Tab`&&t.shiftKey){d.onItemShiftTab();return}if(t.target!==t.currentTarget)return;let n=w(t,d.orientation.value,d.dir.value);if(n!==void 0){if(t.metaKey||t.ctrlKey||t.altKey||!c.allowShiftKey&&t.shiftKey)return;t.preventDefault();let r=[...y().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(n===`last`)r.reverse();else if(n===`prev`||n===`next`){n===`prev`&&r.reverse();let e=r.indexOf(t.currentTarget);r=d.loop.value?E(r,e+1):r.slice(e+1)}e(()=>T(r))}}return(e,n)=>(t(),s(u(b),null,{default:o(()=>[f(u(p),{tabindex:g.value?0:-1,"data-orientation":u(d).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:n[0]||=t=>{e.focusable?u(d).onItemFocus(h.value):t.preventDefault()},onFocus:n[1]||=e=>u(d).onItemFocus(h.value),onKeydown:x},{default:o(()=>[i(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}});export{k as n,A as t};
1
+ import{A as e,F as t,M as n,N as r,R as i,S as a,Y as o,_ as s,dt as c,h as l,mt as u,ot as d,x as f}from"./client-DIIo9zPK.js";import{i as p,p as m}from"./button-Dcc0gF5i.js";import{S as h,h as g,t as _,u as v,x as y}from"./Collection-1EHC87X5.js";var b=`rovingFocusGroup.onEntryFocus`,x={bubbles:!1,cancelable:!0},S={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function C(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function w(e,t,n){let r=C(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return S[r]}function T(e,t=!1){let n=y();for(let r of e)if(r===n||(r.focus({preventScroll:t}),y()!==n))return}function E(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[D,O]=h(`RovingFocusGroup`),k=a({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:n,emit:r}){let a=e,l=r,{loop:h,orientation:v,dir:y}=c(a),S=g(y),C=m(a,`currentTabStopId`,l,{defaultValue:a.defaultCurrentTabStopId,passive:a.currentTabStopId===void 0}),w=d(!1),E=d(!1),D=d(0),{getItems:k,CollectionSlot:A}=_({isProvider:!0});function j(e){let t=!E.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!w.value){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),l(`entryFocus`,t),!t.defaultPrevented){let e=k().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);T([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===C.value),...e].filter(Boolean),a.preventScrollOnEntryFocus)}}E.value=!1}function M(){setTimeout(()=>{E.value=!1},1)}return n({getItems:k}),O({loop:h,dir:S,orientation:v,currentTabStopId:C,onItemFocus:e=>{C.value=e},onItemShiftTab:()=>{w.value=!0},onFocusableItemAdd:()=>{D.value++},onFocusableItemRemove:()=>{D.value--}}),(e,n)=>(t(),s(u(A),null,{default:o(()=>[f(u(p),{tabindex:w.value||D.value===0?-1:0,"data-orientation":u(v),as:e.as,"as-child":e.asChild,dir:u(S),style:{outline:`none`},onMousedown:n[0]||=e=>E.value=!0,onMouseup:M,onFocus:j,onBlur:n[1]||=e=>w.value=!1},{default:o(()=>[i(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),A=a({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(a){let c=a,d=D(),m=v(),h=l(()=>c.tabStopId||m),g=l(()=>d.currentTabStopId.value===h.value),{getItems:y,CollectionItem:b}=_();n(()=>{c.focusable&&d.onFocusableItemAdd()}),r(()=>{c.focusable&&d.onFocusableItemRemove()});function x(t){if(t.key===`Tab`&&t.shiftKey){d.onItemShiftTab();return}if(t.target!==t.currentTarget)return;let n=w(t,d.orientation.value,d.dir.value);if(n!==void 0){if(t.metaKey||t.ctrlKey||t.altKey||!c.allowShiftKey&&t.shiftKey)return;t.preventDefault();let r=[...y().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(n===`last`)r.reverse();else if(n===`prev`||n===`next`){n===`prev`&&r.reverse();let e=r.indexOf(t.currentTarget);r=d.loop.value?E(r,e+1):r.slice(e+1)}e(()=>T(r))}}return(e,n)=>(t(),s(u(b),null,{default:o(()=>[f(u(p),{tabindex:g.value?0:-1,"data-orientation":u(d).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:n[0]||=t=>{e.focusable?u(d).onItemFocus(h.value):t.preventDefault()},onFocus:n[1]||=e=>u(d).onItemFocus(h.value),onKeydown:x},{default:o(()=>[i(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}});export{k as n,A as t};