diff --git a/SKILLS/README.md b/SKILLS/README.md index 0dc0b29..2282c74 100644 --- a/SKILLS/README.md +++ b/SKILLS/README.md @@ -12,9 +12,10 @@ ## Current active skills -As of 2026-07-13, the active skill directories are: +As of 2026-07-25, the active skill directories are: - `SKILLS/df-meta-mcp/` +- `SKILLS/media-generation/` - `SKILLS/new-api-manage/` - `SKILLS/qwen3-asr-tts-hf2api/` - `SKILLS/vits-tts-hf2api/` diff --git a/SKILLS/media-generation/.gitignore b/SKILLS/media-generation/.gitignore new file mode 100644 index 0000000..8a433ab --- /dev/null +++ b/SKILLS/media-generation/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +*.log +.env +.DS_Store diff --git a/SKILLS/media-generation/SKILL.md b/SKILLS/media-generation/SKILL.md new file mode 100644 index 0000000..5537289 --- /dev/null +++ b/SKILLS/media-generation/SKILL.md @@ -0,0 +1,69 @@ +--- +name: media-generation +description: Generate or edit images and generate videos through an OpenAI-compatible new-api endpoint. Use for gpt-image-2, gpt-5-image, nanobanana variants, Grok image, or Grok video; also use doctor to verify endpoint credentials and model routes. +homepage: https://github.com/QuantumNous/new-api +metadata: {"clawdbot":{"requires":{"bins":["node"]}}} +--- + +# Media Generation + +Use the bundled CLI from this skill directory. It needs no runtime package installation. + +```bash +./media-generation [options] +``` + +Set the exact environment variables before network commands: + +```bash +export OPENAI_COMPATIBLE_BASE_URL="https://new-api.example.com/v1" +export OPENAI_COMPATIBLE_API_KEY="..." +``` + +## Choose A Command + +- `doctor`: authenticate `GET /v1/models` and compare provider routes with the registry. +- `models`: inspect aliases and capabilities locally; no credentials or network required. +- `image`: generate an image or edit one or more local images. +- `video`: submit a new-api video task, poll it, and stream the result to disk. + +## Common Calls + +```bash +./media-generation doctor +./media-generation models + +./media-generation image \ + --prompt "A quiet harbor at dawn" \ + --model gpt-image-2 \ + --aspectRatio 3:2 \ + --outputDir ./media + +./media-generation image \ + --prompt "Replace the sky with morning light" \ + --model gpt-5-image \ + --inputImages ./base.png,./reference.png \ + --maskImage ./mask.png \ + --outputDir ./media + +./media-generation video \ + --prompt "A slow cinematic camera move" \ + --model grok-imagine-video \ + --inputImage ./frame.png \ + --seconds 5 \ + --size 1280x720 \ + --path ./media/clip.mp4 +``` + +Options accept both `--field value` and `--field=value`. Repeat `--inputImages` or use a +comma-separated value. There is no provider fallback and image retries are disabled. + +Success is one JSON object on stdout. Failure is one JSON object on stderr with exit code 1. +Success payloads contain output metadata, never prompts or credentials. + +## Detailed References + +- [CLI_REFERENCE.md](references/CLI_REFERENCE.md): every argument, JSON envelopes, file behavior, + timeout and download limits. +- [MODEL_REGISTRY.md](references/MODEL_REGISTRY.md): alias routes and per-model capability rules. +- [PROTOCOLS.md](references/PROTOCOLS.md): doctor, AI SDK image, and new-api video HTTP flows. diff --git a/SKILLS/media-generation/bun.lock b/SKILLS/media-generation/bun.lock new file mode 100644 index 0000000..bb25a7b --- /dev/null +++ b/SKILLS/media-generation/bun.lock @@ -0,0 +1,59 @@ +{ + "lockfileVersion": 1, + "configVersion": 1, + "workspaces": { + "": { + "name": "media-generation", + "dependencies": { + "@ai-sdk/openai-compatible": "3.0.7", + "ai": "7.0.22", + "zod": "4.3.6", + }, + "devDependencies": { + "@types/bun": "1.3.14", + "@types/node": "22.10.5", + "prettier": "3.6.2", + "typescript": "5.7.2", + }, + }, + }, + "packages": { + "@ai-sdk/gateway": ["@ai-sdk/gateway@4.0.16", "", { "dependencies": { "@ai-sdk/provider": "4.0.3", "@ai-sdk/provider-utils": "5.0.7", "@vercel/oidc": "3.2.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-9iYxdOLquoOFk5e+02P9qfBIA+EJU0FNJvyjGxi4iXJabt2+GlbaCg7TX0sTtxOsBVkdabkatqWM6+kvp53tBg=="], + + "@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@3.0.7", "", { "dependencies": { "@ai-sdk/provider": "4.0.3", "@ai-sdk/provider-utils": "5.0.7" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-y8RVpm8BZKNHDxlbNVt/GYmoBBqLx10m4d7bOzOnRD8V2aP3Cr6/g/bfubR4EkbW1ySrnPr62svZIeND2fdp3Q=="], + + "@ai-sdk/provider": ["@ai-sdk/provider@4.0.3", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-e0CpNWJUY7OxAFAnCZkw+ri9QOHWwTs1tXP42782KFGCU07qt8NiXCrCVowyCB5dP2r5/Uls+g2oPd8kOJn9dw=="], + + "@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@5.0.7", "", { "dependencies": { "@ai-sdk/provider": "4.0.3", "@standard-schema/spec": "^1.1.0", "@workflow/serde": "4.1.0", "eventsource-parser": "^3.0.8" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-OSm5/5kdrHa11WIOo5LYgDKnxYWp5aB/wx5EXRHi0jpUGduMDeB6oht9U6p+UNNWIP3F/EqPpV8d7vdP/iRnqg=="], + + "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], + + "@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="], + + "@types/node": ["@types/node@22.10.5", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ=="], + + "@vercel/oidc": ["@vercel/oidc@3.2.0", "", {}, "sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug=="], + + "@workflow/serde": ["@workflow/serde@4.1.0", "", {}, "sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ=="], + + "ai": ["ai@7.0.22", "", { "dependencies": { "@ai-sdk/gateway": "4.0.16", "@ai-sdk/provider": "4.0.3", "@ai-sdk/provider-utils": "5.0.7" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-iAXYwQtR18qN7GXwNmGVAQM4uSJOh2+nZ5RP9NtDXfH5d4tlYyYzAM133O3U+eVcyWrvNRzecN9yW58xpCdfMg=="], + + "bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="], + + "eventsource-parser": ["eventsource-parser@3.1.0", "", {}, "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg=="], + + "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="], + + "prettier": ["prettier@3.6.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="], + + "typescript": ["typescript@5.7.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg=="], + + "undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="], + + "zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="], + + "bun-types/@types/node": ["@types/node@22.20.1", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q=="], + + "bun-types/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + } +} diff --git a/SKILLS/media-generation/dist/media-generation.js b/SKILLS/media-generation/dist/media-generation.js new file mode 100755 index 0000000..a384edf --- /dev/null +++ b/SKILLS/media-generation/dist/media-generation.js @@ -0,0 +1,94 @@ +#!/usr/bin/env node +import{createRequire as LL}from"node:module";var DL=Object.create;var{getPrototypeOf:zL,defineProperty:Sw,getOwnPropertyNames:JL}=Object;var XL=Object.prototype.hasOwnProperty;function GL($){return this[$]}var YL,WL,YU=($,v,w)=>{var D=$!=null&&typeof $==="object";if(D){var U=v?YL??=new WeakMap:WL??=new WeakMap,z=U.get($);if(z)return z}w=$!=null?DL(zL($)):{};let J=v||!$||!$.__esModule?Sw(w,"default",{value:$,enumerable:!0}):w;for(let G of JL($))if(!XL.call(J,G))Sw(J,G,{get:GL.bind($,G),enumerable:!0});if(D)U.set($,J);return J};var e$=($,v)=>()=>(v||$((v={exports:{}}).exports,v),v.exports);var QL=($)=>$;function NL($,v){this[$]=QL.bind(null,v)}var Y6=($,v)=>{for(var w in v)Sw($,w,{get:v[w],enumerable:!0,configurable:!0,set:NL.bind(v,w)})};var V6=LL(import.meta.url);var iG=e$((SM,HQ)=>{var{defineProperty:yG,getOwnPropertyDescriptor:EI,getOwnPropertyNames:bI}=Object,FI=Object.prototype.hasOwnProperty,RI=($,v)=>{for(var w in v)yG($,w,{get:v[w],enumerable:!0})},MI=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of bI(v))if(!FI.call($,U)&&U!==w)yG($,U,{get:()=>v[U],enumerable:!(D=EI(v,U))||D.enumerable})}return $},SI=($)=>MI(yG({},"__esModule",{value:!0}),$),qQ={};RI(qQ,{SYMBOL_FOR_REQ_CONTEXT:()=>IQ,getContext:()=>PI});HQ.exports=SI(qQ);var IQ=Symbol.for("@vercel/request-context");function PI(){return globalThis[IQ]?.get?.()??{}}});var av=e$((PM,KQ)=>{var{defineProperty:hG,getOwnPropertyDescriptor:gI,getOwnPropertyNames:_I}=Object,TI=Object.prototype.hasOwnProperty,kI=($,v)=>{for(var w in v)hG($,w,{get:v[w],enumerable:!0})},CI=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of _I(v))if(!TI.call($,U)&&U!==w)hG($,U,{get:()=>v[U],enumerable:!(D=gI(v,U))||D.enumerable})}return $},ZI=($)=>CI(hG({},"__esModule",{value:!0}),$),VQ={};kI(VQ,{VercelOidcTokenError:()=>jQ});KQ.exports=ZI(VQ);class jQ extends Error{constructor($,v){super($);this.name="VercelOidcTokenError",this.cause=v}toString(){if(this.cause)return`${this.name}: ${this.message}: ${this.cause}`;return`${this.name}: ${this.message}`}}});var bQ=e$((gM,EQ)=>{var{create:xI,defineProperty:Hw,getOwnPropertyDescriptor:fI,getOwnPropertyNames:uI,getPrototypeOf:yI}=Object,iI=Object.prototype.hasOwnProperty,hI=($,v)=>{for(var w in v)Hw($,w,{get:v[w],enumerable:!0})},BQ=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of uI(v))if(!iI.call($,U)&&U!==w)Hw($,U,{get:()=>v[U],enumerable:!(D=fI(v,U))||D.enumerable})}return $},mG=($,v,w)=>(w=$!=null?xI(yI($)):{},BQ(v||!$||!$.__esModule?Hw(w,"default",{value:$,enumerable:!0}):w,$)),cI=($)=>BQ(Hw({},"__esModule",{value:!0}),$),AQ={};hI(AQ,{findRootDir:()=>lI,getUserDataDir:()=>rI});EQ.exports=cI(AQ);var ev=mG(V6("path")),mI=mG(V6("fs")),cG=mG(V6("os")),nI=av();function lI(){try{let $=process.cwd();while($!==ev.default.dirname($)){let v=ev.default.join($,".vercel");if(mI.default.existsSync(v))return $;$=ev.default.dirname($)}}catch($){throw new nI.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function rI(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(cG.default.platform()){case"darwin":return ev.default.join(cG.default.homedir(),"Library/Application Support");case"linux":return ev.default.join(cG.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}});var _Q=e$((_M,gQ)=>{var{create:dI,defineProperty:Vw,getOwnPropertyDescriptor:pI,getOwnPropertyNames:oI,getPrototypeOf:tI}=Object,aI=Object.prototype.hasOwnProperty,eI=($,v)=>{for(var w in v)Vw($,w,{get:v[w],enumerable:!0})},FQ=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of oI(v))if(!aI.call($,U)&&U!==w)Vw($,U,{get:()=>v[U],enumerable:!(D=pI(v,U))||D.enumerable})}return $},RQ=($,v,w)=>(w=$!=null?dI(tI($)):{},FQ(v||!$||!$.__esModule?Vw(w,"default",{value:$,enumerable:!0}):w,$)),sI=($)=>FQ(Vw({},"__esModule",{value:!0}),$),MQ={};eI(MQ,{isValidAccessToken:()=>wH,readAuthConfig:()=>vH,writeAuthConfig:()=>UH});gQ.exports=sI(MQ);var sv=RQ(V6("fs")),SQ=RQ(V6("path")),$H=$U();function PQ(){let $=(0,$H.getVercelDataDir)();if(!$)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return SQ.join($,"auth.json")}function vH(){try{let $=PQ();if(!sv.existsSync($))return null;let v=sv.readFileSync($,"utf8");if(!v)return null;return JSON.parse(v)}catch($){return null}}function UH($){let v=PQ(),w=SQ.dirname(v);if(!sv.existsSync(w))sv.mkdirSync(w,{mode:504,recursive:!0});sv.writeFileSync(v,JSON.stringify($,null,2),{mode:384})}function wH($,v=0){if(!$.token)return!1;if(typeof $.expiresAt!=="number")return!0;let w=Math.floor(Date.now()/1000),D=v/1000;return $.expiresAt>=w+D}});var ZQ=e$((TM,CQ)=>{var{defineProperty:rG,getOwnPropertyDescriptor:DH,getOwnPropertyNames:zH}=Object,JH=Object.prototype.hasOwnProperty,XH=($,v)=>{for(var w in v)rG($,w,{get:v[w],enumerable:!0})},GH=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of zH(v))if(!JH.call($,U)&&U!==w)rG($,U,{get:()=>v[U],enumerable:!(D=DH(v,U))||D.enumerable})}return $},YH=($)=>GH(rG({},"__esModule",{value:!0}),$),TQ={};XH(TQ,{processTokenResponse:()=>OH,refreshTokenRequest:()=>LH});CQ.exports=YH(TQ);var nG=V6("os"),WH="https://vercel.com",QH="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",kQ=`@vercel/oidc node-${process.version} ${(0,nG.platform)()} (${(0,nG.arch)()}) ${(0,nG.hostname)()}`,lG=null;async function NH(){if(lG)return lG;let $=`${WH}/.well-known/openid-configuration`,v=await fetch($,{headers:{"user-agent":kQ}});if(!v.ok)throw Error("Failed to discover OAuth endpoints");let w=await v.json();if(!w||typeof w.token_endpoint!=="string")throw Error("Invalid OAuth discovery response");let D=w.token_endpoint;return lG=D,D}async function LH($){let v=await NH();return await fetch(v,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":kQ},body:new URLSearchParams({client_id:QH,grant_type:"refresh_token",...$})})}async function OH($){let v=await $.json();if(!$.ok){let w=typeof v==="object"&&v&&"error"in v?String(v.error):"Token refresh failed";return[Error(w)]}if(typeof v!=="object"||v===null)return[Error("Invalid token response")];if(typeof v.access_token!=="string")return[Error("Missing access_token in response")];if(v.token_type!=="Bearer")return[Error("Invalid token_type in response")];if(typeof v.expires_in!=="number")return[Error("Missing expires_in in response")];return[null,v]}});var pG=e$((kM,yQ)=>{var{defineProperty:dG,getOwnPropertyDescriptor:qH,getOwnPropertyNames:IH}=Object,HH=Object.prototype.hasOwnProperty,VH=($,v)=>{for(var w in v)dG($,w,{get:v[w],enumerable:!0})},jH=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of IH(v))if(!HH.call($,U)&&U!==w)dG($,U,{get:()=>v[U],enumerable:!(D=qH(v,U))||D.enumerable})}return $},KH=($)=>jH(dG({},"__esModule",{value:!0}),$),xQ={};VH(xQ,{AccessTokenMissingError:()=>fQ,RefreshAccessTokenFailedError:()=>uQ});yQ.exports=KH(xQ);class fQ extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login).");this.name="AccessTokenMissingError"}}class uQ extends Error{constructor($){super("Failed to refresh authentication token.",{cause:$});this.name="RefreshAccessTokenFailedError"}}});var $U=e$((CM,nQ)=>{var{create:BH,defineProperty:jw,getOwnPropertyDescriptor:AH,getOwnPropertyNames:EH,getPrototypeOf:bH}=Object,FH=Object.prototype.hasOwnProperty,RH=($,v)=>{for(var w in v)jw($,w,{get:v[w],enumerable:!0})},hQ=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of EH(v))if(!FH.call($,U)&&U!==w)jw($,U,{get:()=>v[U],enumerable:!(D=AH(v,U))||D.enumerable})}return $},cQ=($,v,w)=>(w=$!=null?BH(bH($)):{},hQ(v||!$||!$.__esModule?jw(w,"default",{value:$,enumerable:!0}):w,$)),MH=($)=>hQ(jw({},"__esModule",{value:!0}),$),mQ={};RH(mQ,{assertVercelOidcTokenResponse:()=>oG,findProjectInfo:()=>_H,getTokenPayload:()=>CH,getVercelDataDir:()=>SH,getVercelOidcToken:()=>gH,getVercelToken:()=>PH,isExpired:()=>ZH,loadToken:()=>kH,saveToken:()=>TH});nQ.exports=MH(mQ);var vU=cQ(V6("path")),t6=cQ(V6("fs")),n4=av(),Kw=bQ(),c4=_Q(),iQ=ZQ(),m4=pG();function SH(){let v=(0,Kw.getUserDataDir)();if(!v)return null;return vU.join(v,"com.vercel.cli")}async function PH($){let v=(0,c4.readAuthConfig)();if(!v?.token)throw new m4.AccessTokenMissingError;if((0,c4.isValidAccessToken)(v,$?.expirationBufferMs))return v.token;if(!v.refreshToken)throw(0,c4.writeAuthConfig)({}),new m4.RefreshAccessTokenFailedError("No refresh token available");try{let w=await(0,iQ.refreshTokenRequest)({refresh_token:v.refreshToken}),[D,U]=await(0,iQ.processTokenResponse)(w);if(D||!U)throw(0,c4.writeAuthConfig)({}),new m4.RefreshAccessTokenFailedError(D);let z={token:U.access_token,expiresAt:Math.floor(Date.now()/1000)+U.expires_in};if(U.refresh_token)z.refreshToken=U.refresh_token;return(0,c4.writeAuthConfig)(z),z.token}catch(w){if((0,c4.writeAuthConfig)({}),w instanceof m4.AccessTokenMissingError||w instanceof m4.RefreshAccessTokenFailedError)throw w;throw new m4.RefreshAccessTokenFailedError(w)}}async function gH($,v,w){let D=`https://api.vercel.com/v1/projects/${v}/token?source=vercel-oidc-refresh${w?`&teamId=${w}`:""}`,U=await fetch(D,{method:"POST",headers:{Authorization:`Bearer ${$}`}});if(!U.ok)throw new n4.VercelOidcTokenError(`Failed to refresh OIDC token: ${U.statusText}`);let z=await U.json();return oG(z),z}function oG($){if(!$||typeof $!=="object")throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in $)||typeof $.token!=="string")throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function _H(){let $=(0,Kw.findRootDir)();if(!$)throw new n4.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let v=vU.join($,".vercel","project.json");if(!t6.existsSync(v))throw new n4.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let w=JSON.parse(t6.readFileSync(v,"utf8"));if(typeof w.projectId!=="string"&&typeof w.orgId!=="string")throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:w.projectId,teamId:w.orgId}}function TH($,v){let w=(0,Kw.getUserDataDir)();if(!w)throw new n4.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let D=vU.join(w,"com.vercel.token",`${v}.json`),U=JSON.stringify($);t6.mkdirSync(vU.dirname(D),{mode:504,recursive:!0}),t6.writeFileSync(D,U),t6.chmodSync(D,432);return}function kH($){let v=(0,Kw.getUserDataDir)();if(!v)throw new n4.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let w=vU.join(v,"com.vercel.token",`${$}.json`);if(!t6.existsSync(w))return null;let D=JSON.parse(t6.readFileSync(w,"utf8"));return oG(D),D}function CH($){let v=$.split(".");if(v.length!==3)throw new n4.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let w=v[1].replace(/-/g,"+").replace(/_/g,"/"),D=w.padEnd(w.length+(4-w.length%4)%4,"=");return JSON.parse(Buffer.from(D,"base64").toString("utf8"))}function ZH($,v=0){return $.exp*1000{var{defineProperty:tG,getOwnPropertyDescriptor:xH,getOwnPropertyNames:fH}=Object,uH=Object.prototype.hasOwnProperty,yH=($,v)=>{for(var w in v)tG($,w,{get:v[w],enumerable:!0})},iH=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of fH(v))if(!uH.call($,U)&&U!==w)tG($,U,{get:()=>v[U],enumerable:!(D=xH(v,U))||D.enumerable})}return $},hH=($)=>iH(tG({},"__esModule",{value:!0}),$),rQ={};yH(rQ,{refreshToken:()=>cH});dQ.exports=hH(rQ);var lQ=av(),g6=$U();async function cH($){let v=$?.project,w=$?.team;if(!v&&!w){let U=(0,g6.findProjectInfo)();v=U.projectId,w=U.teamId}else if(!v||!w){let U=(0,g6.findProjectInfo)();v=v??U.projectId,w=w??U.teamId}if(!v)throw new lQ.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let D=(0,g6.loadToken)(v);if(!D||(0,g6.isExpired)((0,g6.getTokenPayload)(D.token),$?.expirationBufferMs)){let U=await(0,g6.getVercelToken)({expirationBufferMs:$?.expirationBufferMs});if(D=await(0,g6.getVercelOidcToken)(U,v,w),!D)throw new lQ.VercelOidcTokenError("Failed to refresh OIDC token");(0,g6.saveToken)(D,v)}process.env.VERCEL_OIDC_TOKEN=D.token;return}});var aQ=e$((xM,tQ)=>{var{defineProperty:eG,getOwnPropertyDescriptor:mH,getOwnPropertyNames:nH}=Object,lH=Object.prototype.hasOwnProperty,rH=($,v)=>{for(var w in v)eG($,w,{get:v[w],enumerable:!0})},dH=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of nH(v))if(!lH.call($,U)&&U!==w)eG($,U,{get:()=>v[U],enumerable:!(D=mH(v,U))||D.enumerable})}return $},pH=($)=>dH(eG({},"__esModule",{value:!0}),$),oQ={};rH(oQ,{getVercelOidcToken:()=>aH,getVercelOidcTokenSync:()=>aG});tQ.exports=pH(oQ);var oH=iG(),tH=av();async function aH($){let v="",w;try{v=aG()}catch(D){w=D}try{let[{getTokenPayload:D,isExpired:U},{refreshToken:z}]=await Promise.all([await Promise.resolve().then(() => YU($U())),await Promise.resolve().then(() => YU(pQ()))]);if(!v||U(D(v),$?.expirationBufferMs))await z($),v=aG()}catch(D){let U=w instanceof Error?w.message:"";if(D instanceof Error)U=`${U} +${D.message}`;if(U)throw new tH.VercelOidcTokenError(U);throw D}return v}function aG(){let $=(0,oH.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!$)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return $}});var $8=e$((fM,vN)=>{var{defineProperty:sG,getOwnPropertyDescriptor:eH,getOwnPropertyNames:sH}=Object,$V=Object.prototype.hasOwnProperty,vV=($,v)=>{for(var w in v)sG($,w,{get:v[w],enumerable:!0})},UV=($,v,w,D)=>{if(v&&typeof v==="object"||typeof v==="function"){for(let U of sH(v))if(!$V.call($,U)&&U!==w)sG($,U,{get:()=>v[U],enumerable:!(D=eH(v,U))||D.enumerable})}return $},wV=($)=>UV(sG({},"__esModule",{value:!0}),$),$N={};vV($N,{AccessTokenMissingError:()=>sQ.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>sQ.RefreshAccessTokenFailedError,getContext:()=>DV.getContext,getVercelOidcToken:()=>eQ.getVercelOidcToken,getVercelOidcTokenSync:()=>eQ.getVercelOidcTokenSync,getVercelToken:()=>zV.getVercelToken});vN.exports=wV($N);var eQ=aQ(),DV=iG(),sQ=pG(),zV=$U()});var X={};Y6(X,{xor:()=>xY,xid:()=>zY,void:()=>gY,uuidv7:()=>a8,uuidv6:()=>t8,uuidv4:()=>o8,uuid:()=>p8,util:()=>A,url:()=>e8,uppercase:()=>W4,unknown:()=>i6,union:()=>x1,undefined:()=>SY,ulid:()=>DY,uint64:()=>RY,uint32:()=>EY,tuple:()=>lX,trim:()=>I4,treeifyError:()=>iw,transform:()=>u1,toUpperCase:()=>V4,toLowerCase:()=>H4,toJSONSchema:()=>A4,templateLiteral:()=>oY,symbol:()=>MY,superRefine:()=>VG,success:()=>rY,stringbool:()=>wW,stringFormat:()=>IY,string:()=>q1,strictObject:()=>CY,startsWith:()=>N4,slugify:()=>j4,size:()=>f6,setErrorMap:()=>mq,set:()=>hY,safeParseAsync:()=>Iv,safeParse:()=>jX,safeEncodeAsync:()=>RX,safeEncode:()=>bX,safeDecodeAsync:()=>MX,safeDecode:()=>FX,registry:()=>ZU,regexes:()=>m$,regex:()=>G4,refine:()=>HG,record:()=>rX,readonly:()=>QG,property:()=>J1,promise:()=>tY,prettifyError:()=>hw,preprocess:()=>zW,prefault:()=>DG,positive:()=>U1,pipe:()=>Kv,partialRecord:()=>uY,parseAsync:()=>VX,parse:()=>HX,overwrite:()=>r$,optional:()=>Vv,object:()=>kY,number:()=>PX,nullish:()=>lY,nullable:()=>jv,null:()=>CX,normalize:()=>q4,nonpositive:()=>D1,nonoptional:()=>zG,nonnegative:()=>z1,never:()=>Z1,negative:()=>w1,nativeEnum:()=>cY,nanoid:()=>vY,nan:()=>dY,multipleOf:()=>E6,minSize:()=>U6,minLength:()=>Q6,mime:()=>O4,meta:()=>vW,maxSize:()=>b6,maxLength:()=>u6,map:()=>iY,mac:()=>GY,lte:()=>f$,lt:()=>$6,lowercase:()=>Y4,looseRecord:()=>yY,looseObject:()=>ZY,locales:()=>Nv,literal:()=>mY,length:()=>y6,lazy:()=>OG,ksuid:()=>JY,keyof:()=>TY,jwt:()=>qY,json:()=>DW,iso:()=>E4,ipv6:()=>YY,ipv4:()=>XY,intersection:()=>mX,int64:()=>FY,int32:()=>AY,int:()=>I1,instanceof:()=>UW,includes:()=>Q4,httpUrl:()=>s8,hostname:()=>HY,hex:()=>VY,hash:()=>jY,guid:()=>d8,gte:()=>b$,gt:()=>v6,globalRegistry:()=>H$,getErrorMap:()=>nq,function:()=>aY,fromJSONSchema:()=>XW,formatError:()=>vv,float64:()=>BY,float32:()=>KY,flattenError:()=>$v,file:()=>nY,exactOptional:()=>sX,enum:()=>f1,endsWith:()=>L4,encodeAsync:()=>AX,encode:()=>KX,emoji:()=>$Y,email:()=>r8,e164:()=>OY,discriminatedUnion:()=>fY,describe:()=>$W,decodeAsync:()=>EX,decode:()=>BX,date:()=>_Y,custom:()=>sY,cuid2:()=>wY,cuid:()=>UY,core:()=>N6,config:()=>O$,coerce:()=>KG,codec:()=>pY,clone:()=>E$,cidrv6:()=>QY,cidrv4:()=>WY,check:()=>eY,catch:()=>GG,boolean:()=>gX,bigint:()=>bY,base64url:()=>LY,base64:()=>NY,array:()=>Ev,any:()=>PY,_function:()=>aY,_default:()=>UG,_ZodString:()=>H1,ZodXor:()=>iX,ZodXID:()=>b1,ZodVoid:()=>uX,ZodUnknown:()=>xX,ZodUnion:()=>Fv,ZodUndefined:()=>TX,ZodUUID:()=>w6,ZodURL:()=>Bv,ZodULID:()=>E1,ZodType:()=>l,ZodTuple:()=>nX,ZodTransform:()=>aX,ZodTemplateLiteral:()=>NG,ZodSymbol:()=>_X,ZodSuccess:()=>JG,ZodStringFormat:()=>X$,ZodString:()=>F4,ZodSet:()=>pX,ZodRecord:()=>Rv,ZodRealError:()=>T$,ZodReadonly:()=>WG,ZodPromise:()=>qG,ZodPrefault:()=>wG,ZodPipe:()=>h1,ZodOptional:()=>y1,ZodObject:()=>bv,ZodNumberFormat:()=>h6,ZodNumber:()=>M4,ZodNullable:()=>$G,ZodNull:()=>kX,ZodNonOptional:()=>i1,ZodNever:()=>fX,ZodNanoID:()=>K1,ZodNaN:()=>YG,ZodMap:()=>dX,ZodMAC:()=>SX,ZodLiteral:()=>oX,ZodLazy:()=>LG,ZodKSUID:()=>F1,ZodJWT:()=>k1,ZodIssueCode:()=>cq,ZodIntersection:()=>cX,ZodISOTime:()=>L1,ZodISODuration:()=>O1,ZodISODateTime:()=>Q1,ZodISODate:()=>N1,ZodIPv6:()=>M1,ZodIPv4:()=>R1,ZodGUID:()=>Hv,ZodFunction:()=>IG,ZodFirstPartyTypeKind:()=>jG,ZodFile:()=>tX,ZodExactOptional:()=>eX,ZodError:()=>IX,ZodEnum:()=>b4,ZodEmoji:()=>j1,ZodEmail:()=>V1,ZodE164:()=>T1,ZodDiscriminatedUnion:()=>hX,ZodDefault:()=>vG,ZodDate:()=>Av,ZodCustomStringFormat:()=>R4,ZodCustom:()=>Mv,ZodCodec:()=>c1,ZodCatch:()=>XG,ZodCUID2:()=>A1,ZodCUID:()=>B1,ZodCIDRv6:()=>P1,ZodCIDRv4:()=>S1,ZodBoolean:()=>S4,ZodBigIntFormat:()=>C1,ZodBigInt:()=>P4,ZodBase64URL:()=>_1,ZodBase64:()=>g1,ZodArray:()=>yX,ZodAny:()=>ZX,TimePrecision:()=>lz,NEVER:()=>Pw,$output:()=>yz,$input:()=>iz,$brand:()=>gw});var N6={};Y6(N6,{version:()=>x0,util:()=>A,treeifyError:()=>iw,toJSONSchema:()=>A4,toDotPath:()=>q8,safeParseAsync:()=>mw,safeParse:()=>cw,safeEncodeAsync:()=>rL,safeEncode:()=>nL,safeDecodeAsync:()=>dL,safeDecode:()=>lL,registry:()=>ZU,regexes:()=>m$,process:()=>U$,prettifyError:()=>hw,parseAsync:()=>LU,parse:()=>NU,meta:()=>FJ,locales:()=>Nv,isValidJWT:()=>C8,isValidBase64URL:()=>k8,isValidBase64:()=>DD,initializeContext:()=>F6,globalRegistry:()=>H$,globalConfig:()=>r4,formatError:()=>vv,flattenError:()=>$v,finalize:()=>M6,extractDefs:()=>R6,encodeAsync:()=>cL,encode:()=>iL,describe:()=>bJ,decodeAsync:()=>mL,decode:()=>hL,createToJSONSchemaMethod:()=>MJ,createStandardJSONSchemaMethod:()=>B4,config:()=>O$,clone:()=>E$,_xor:()=>Hq,_xid:()=>rU,_void:()=>qJ,_uuidv7:()=>iU,_uuidv6:()=>yU,_uuidv4:()=>uU,_uuid:()=>fU,_url:()=>Ov,_uppercase:()=>W4,_unknown:()=>LJ,_union:()=>Iq,_undefined:()=>WJ,_ulid:()=>lU,_uint64:()=>GJ,_uint32:()=>UJ,_tuple:()=>Kq,_trim:()=>I4,_transform:()=>Mq,_toUpperCase:()=>V4,_toLowerCase:()=>H4,_templateLiteral:()=>xq,_symbol:()=>YJ,_superRefine:()=>EJ,_success:()=>Tq,_stringbool:()=>RJ,_stringFormat:()=>K4,_string:()=>cz,_startsWith:()=>N4,_slugify:()=>j4,_size:()=>f6,_set:()=>Eq,_safeParseAsync:()=>z4,_safeParse:()=>D4,_safeEncodeAsync:()=>KU,_safeEncode:()=>VU,_safeDecodeAsync:()=>BU,_safeDecode:()=>jU,_regex:()=>G4,_refine:()=>AJ,_record:()=>Bq,_readonly:()=>Zq,_property:()=>J1,_promise:()=>uq,_positive:()=>U1,_pipe:()=>Cq,_parseAsync:()=>w4,_parse:()=>U4,_overwrite:()=>r$,_optional:()=>Sq,_number:()=>tz,_nullable:()=>Pq,_null:()=>QJ,_normalize:()=>q4,_nonpositive:()=>D1,_nonoptional:()=>_q,_nonnegative:()=>z1,_never:()=>OJ,_negative:()=>w1,_nativeEnum:()=>Fq,_nanoid:()=>cU,_nan:()=>VJ,_multipleOf:()=>E6,_minSize:()=>U6,_minLength:()=>Q6,_min:()=>b$,_mime:()=>O4,_maxSize:()=>b6,_maxLength:()=>u6,_max:()=>f$,_map:()=>Aq,_mac:()=>nz,_lte:()=>f$,_lt:()=>$6,_lowercase:()=>Y4,_literal:()=>Rq,_length:()=>y6,_lazy:()=>fq,_ksuid:()=>dU,_jwt:()=>v1,_isoTime:()=>pz,_isoDuration:()=>oz,_isoDateTime:()=>rz,_isoDate:()=>dz,_ipv6:()=>oU,_ipv4:()=>pU,_intersection:()=>jq,_int64:()=>XJ,_int32:()=>vJ,_int:()=>ez,_includes:()=>Q4,_guid:()=>Lv,_gte:()=>b$,_gt:()=>v6,_float64:()=>$J,_float32:()=>sz,_file:()=>KJ,_enum:()=>bq,_endsWith:()=>L4,_encodeAsync:()=>IU,_encode:()=>OU,_emoji:()=>hU,_email:()=>xU,_e164:()=>$1,_discriminatedUnion:()=>Vq,_default:()=>gq,_decodeAsync:()=>HU,_decode:()=>qU,_date:()=>IJ,_custom:()=>BJ,_cuid2:()=>nU,_cuid:()=>mU,_coercedString:()=>mz,_coercedNumber:()=>az,_coercedDate:()=>HJ,_coercedBoolean:()=>DJ,_coercedBigint:()=>JJ,_cidrv6:()=>aU,_cidrv4:()=>tU,_check:()=>m8,_catch:()=>kq,_boolean:()=>wJ,_bigint:()=>zJ,_base64url:()=>sU,_base64:()=>eU,_array:()=>jJ,_any:()=>NJ,TimePrecision:()=>lz,NEVER:()=>Pw,JSONSchemaGenerator:()=>QX,JSONSchema:()=>n8,Doc:()=>FU,$output:()=>yz,$input:()=>iz,$constructor:()=>O,$brand:()=>gw,$ZodXor:()=>AD,$ZodXID:()=>d0,$ZodVoid:()=>VD,$ZodUnknown:()=>ID,$ZodUnion:()=>Jv,$ZodUndefined:()=>LD,$ZodUUID:()=>y0,$ZodURL:()=>h0,$ZodULID:()=>r0,$ZodType:()=>c,$ZodTuple:()=>kU,$ZodTransform:()=>_D,$ZodTemplateLiteral:()=>cD,$ZodSymbol:()=>ND,$ZodSuccess:()=>fD,$ZodStringFormat:()=>J$,$ZodString:()=>x6,$ZodSet:()=>MD,$ZodRegistry:()=>hz,$ZodRecord:()=>FD,$ZodRealError:()=>_$,$ZodReadonly:()=>hD,$ZodPromise:()=>nD,$ZodPrefault:()=>ZD,$ZodPipe:()=>iD,$ZodOptional:()=>CU,$ZodObjectJIT:()=>BD,$ZodObject:()=>f8,$ZodNumberFormat:()=>WD,$ZodNumber:()=>_U,$ZodNullable:()=>kD,$ZodNull:()=>OD,$ZodNonOptional:()=>xD,$ZodNever:()=>HD,$ZodNanoID:()=>m0,$ZodNaN:()=>yD,$ZodMap:()=>RD,$ZodMAC:()=>vD,$ZodLiteral:()=>PD,$ZodLazy:()=>lD,$ZodKSUID:()=>p0,$ZodJWT:()=>GD,$ZodIntersection:()=>bD,$ZodISOTime:()=>a0,$ZodISODuration:()=>e0,$ZodISODateTime:()=>o0,$ZodISODate:()=>t0,$ZodIPv6:()=>$D,$ZodIPv4:()=>s0,$ZodGUID:()=>u0,$ZodFunction:()=>mD,$ZodFile:()=>gD,$ZodExactOptional:()=>TD,$ZodError:()=>s4,$ZodEnum:()=>SD,$ZodEncodeError:()=>k6,$ZodEmoji:()=>c0,$ZodEmail:()=>i0,$ZodE164:()=>XD,$ZodDiscriminatedUnion:()=>ED,$ZodDefault:()=>CD,$ZodDate:()=>jD,$ZodCustomStringFormat:()=>YD,$ZodCustom:()=>rD,$ZodCodec:()=>Xv,$ZodCheckUpperCase:()=>P0,$ZodCheckStringFormat:()=>J4,$ZodCheckStartsWith:()=>_0,$ZodCheckSizeEquals:()=>E0,$ZodCheckRegex:()=>M0,$ZodCheckProperty:()=>k0,$ZodCheckOverwrite:()=>Z0,$ZodCheckNumberFormat:()=>j0,$ZodCheckMultipleOf:()=>V0,$ZodCheckMinSize:()=>A0,$ZodCheckMinLength:()=>F0,$ZodCheckMimeType:()=>C0,$ZodCheckMaxSize:()=>B0,$ZodCheckMaxLength:()=>b0,$ZodCheckLowerCase:()=>S0,$ZodCheckLessThan:()=>EU,$ZodCheckLengthEquals:()=>R0,$ZodCheckIncludes:()=>g0,$ZodCheckGreaterThan:()=>bU,$ZodCheckEndsWith:()=>T0,$ZodCheckBigIntFormat:()=>K0,$ZodCheck:()=>G$,$ZodCatch:()=>uD,$ZodCUID2:()=>l0,$ZodCUID:()=>n0,$ZodCIDRv6:()=>wD,$ZodCIDRv4:()=>UD,$ZodBoolean:()=>zv,$ZodBigIntFormat:()=>QD,$ZodBigInt:()=>TU,$ZodBase64URL:()=>JD,$ZodBase64:()=>zD,$ZodAsyncError:()=>s$,$ZodArray:()=>KD,$ZodAny:()=>qD});var Pw=Object.freeze({status:"aborted"});function O($,v,w){function D(G,W){if(!G._zod)Object.defineProperty(G,"_zod",{value:{def:W,constr:J,traits:new Set},enumerable:!1});if(G._zod.traits.has($))return;G._zod.traits.add($),v(G,W);let Y=J.prototype,Q=Object.keys(Y);for(let N=0;N{if(w?.Parent&&G instanceof w.Parent)return!0;return G?._zod?.traits?.has($)}}),Object.defineProperty(J,"name",{value:$}),J}var gw=Symbol("zod_brand");class s$ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class k6 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}}var r4={};function O$($){if($)Object.assign(r4,$);return r4}var A={};Y6(A,{unwrapMessage:()=>d4,uint8ArrayToHex:()=>uL,uint8ArrayToBase64url:()=>xL,uint8ArrayToBase64:()=>N8,stringifyPrimitive:()=>V,slugify:()=>kw,shallowClone:()=>Zw,safeExtend:()=>gL,required:()=>kL,randomString:()=>EL,propertyKeyTypes:()=>t4,promiseAllObject:()=>AL,primitiveTypes:()=>xw,prefixIssues:()=>x$,pick:()=>ML,partial:()=>TL,parsedType:()=>B,optionalKeys:()=>fw,omit:()=>SL,objectClone:()=>jL,numKeys:()=>bL,nullish:()=>j6,normalizeParams:()=>b,mergeDefs:()=>W6,merge:()=>_L,jsonStringifyReplacer:()=>s6,joinValues:()=>I,issue:()=>v4,isPlainObject:()=>B6,isObject:()=>C6,hexToUint8Array:()=>fL,getSizableOrigin:()=>a4,getParsedType:()=>FL,getLengthableOrigin:()=>e4,getEnumValues:()=>p4,getElementAtPath:()=>BL,floatSafeRemainder:()=>Tw,finalizeIssue:()=>g$,extend:()=>PL,escapeRegex:()=>c$,esc:()=>WU,defineLazy:()=>p,createTransparentProxy:()=>RL,cloneDef:()=>KL,clone:()=>E$,cleanRegex:()=>o4,cleanEnum:()=>CL,captureStackTrace:()=>QU,cached:()=>$4,base64urlToUint8Array:()=>ZL,base64ToUint8Array:()=>Q8,assignProp:()=>K6,assertNotEqual:()=>qL,assertNever:()=>HL,assertIs:()=>IL,assertEqual:()=>OL,assert:()=>VL,allowsEval:()=>Cw,aborted:()=>A6,NUMBER_FORMAT_RANGES:()=>uw,Class:()=>L8,BIGINT_FORMAT_RANGES:()=>yw});function OL($){return $}function qL($){return $}function IL($){}function HL($){throw Error("Unexpected value in exhaustive check")}function VL($){}function p4($){let v=Object.values($).filter((D)=>typeof D==="number");return Object.entries($).filter(([D,U])=>v.indexOf(+D)===-1).map(([D,U])=>U)}function I($,v="|"){return $.map((w)=>V(w)).join(v)}function s6($,v){if(typeof v==="bigint")return v.toString();return v}function $4($){return{get value(){{let w=$();return Object.defineProperty(this,"value",{value:w}),w}throw Error("cached value already set")}}}function j6($){return $===null||$===void 0}function o4($){let v=$.startsWith("^")?1:0,w=$.endsWith("$")?$.length-1:$.length;return $.slice(v,w)}function Tw($,v){let w=($.toString().split(".")[1]||"").length,D=v.toString(),U=(D.split(".")[1]||"").length;if(U===0&&/\d?e-\d?/.test(D)){let W=D.match(/\d?e-(\d?)/);if(W?.[1])U=Number.parseInt(W[1])}let z=w>U?w:U,J=Number.parseInt($.toFixed(z).replace(".","")),G=Number.parseInt(v.toFixed(z).replace(".",""));return J%G/10**z}var W8=Symbol("evaluating");function p($,v,w){let D=void 0;Object.defineProperty($,v,{get(){if(D===W8)return;if(D===void 0)D=W8,D=w();return D},set(U){Object.defineProperty($,v,{value:U})},configurable:!0})}function jL($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function K6($,v,w){Object.defineProperty($,v,{value:w,writable:!0,enumerable:!0,configurable:!0})}function W6(...$){let v={};for(let w of $){let D=Object.getOwnPropertyDescriptors(w);Object.assign(v,D)}return Object.defineProperties({},v)}function KL($){return W6($._zod.def)}function BL($,v){if(!v)return $;return v.reduce((w,D)=>w?.[D],$)}function AL($){let v=Object.keys($),w=v.map((D)=>$[D]);return Promise.all(w).then((D)=>{let U={};for(let z=0;z{};function C6($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var Cw=$4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});function B6($){if(C6($)===!1)return!1;let v=$.constructor;if(v===void 0)return!0;if(typeof v!=="function")return!0;let w=v.prototype;if(C6(w)===!1)return!1;if(Object.prototype.hasOwnProperty.call(w,"isPrototypeOf")===!1)return!1;return!0}function Zw($){if(B6($))return{...$};if(Array.isArray($))return[...$];return $}function bL($){let v=0;for(let w in $)if(Object.prototype.hasOwnProperty.call($,w))v++;return v}var FL=($)=>{let v=typeof $;switch(v){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${v}`)}},t4=new Set(["string","number","symbol"]),xw=new Set(["string","number","bigint","boolean","symbol","undefined"]);function c$($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function E$($,v,w){let D=new $._zod.constr(v??$._zod.def);if(!v||w?.parent)D._zod.parent=$;return D}function b($){let v=$;if(!v)return{};if(typeof v==="string")return{error:()=>v};if(v?.message!==void 0){if(v?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");v.error=v.message}if(delete v.message,typeof v.error==="string")return{...v,error:()=>v.error};return v}function RL($){let v;return new Proxy({},{get(w,D,U){return v??(v=$()),Reflect.get(v,D,U)},set(w,D,U,z){return v??(v=$()),Reflect.set(v,D,U,z)},has(w,D){return v??(v=$()),Reflect.has(v,D)},deleteProperty(w,D){return v??(v=$()),Reflect.deleteProperty(v,D)},ownKeys(w){return v??(v=$()),Reflect.ownKeys(v)},getOwnPropertyDescriptor(w,D){return v??(v=$()),Reflect.getOwnPropertyDescriptor(v,D)},defineProperty(w,D,U){return v??(v=$()),Reflect.defineProperty(v,D,U)}})}function V($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function fw($){return Object.keys($).filter((v)=>{return $[v]._zod.optin==="optional"&&$[v]._zod.optout==="optional"})}var uw={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},yw={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function ML($,v){let w=$._zod.def,D=w.checks;if(D&&D.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let z=W6($._zod.def,{get shape(){let J={};for(let G in v){if(!(G in w.shape))throw Error(`Unrecognized key: "${G}"`);if(!v[G])continue;J[G]=w.shape[G]}return K6(this,"shape",J),J},checks:[]});return E$($,z)}function SL($,v){let w=$._zod.def,D=w.checks;if(D&&D.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let z=W6($._zod.def,{get shape(){let J={...$._zod.def.shape};for(let G in v){if(!(G in w.shape))throw Error(`Unrecognized key: "${G}"`);if(!v[G])continue;delete J[G]}return K6(this,"shape",J),J},checks:[]});return E$($,z)}function PL($,v){if(!B6(v))throw Error("Invalid input to extend: expected a plain object");let w=$._zod.def.checks;if(w&&w.length>0){let z=$._zod.def.shape;for(let J in v)if(Object.getOwnPropertyDescriptor(z,J)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let U=W6($._zod.def,{get shape(){let z={...$._zod.def.shape,...v};return K6(this,"shape",z),z}});return E$($,U)}function gL($,v){if(!B6(v))throw Error("Invalid input to safeExtend: expected a plain object");let w=W6($._zod.def,{get shape(){let D={...$._zod.def.shape,...v};return K6(this,"shape",D),D}});return E$($,w)}function _L($,v){let w=W6($._zod.def,{get shape(){let D={...$._zod.def.shape,...v._zod.def.shape};return K6(this,"shape",D),D},get catchall(){return v._zod.def.catchall},checks:[]});return E$($,w)}function TL($,v,w){let U=v._zod.def.checks;if(U&&U.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let J=W6(v._zod.def,{get shape(){let G=v._zod.def.shape,W={...G};if(w)for(let Y in w){if(!(Y in G))throw Error(`Unrecognized key: "${Y}"`);if(!w[Y])continue;W[Y]=$?new $({type:"optional",innerType:G[Y]}):G[Y]}else for(let Y in G)W[Y]=$?new $({type:"optional",innerType:G[Y]}):G[Y];return K6(this,"shape",W),W},checks:[]});return E$(v,J)}function kL($,v,w){let D=W6(v._zod.def,{get shape(){let U=v._zod.def.shape,z={...U};if(w)for(let J in w){if(!(J in z))throw Error(`Unrecognized key: "${J}"`);if(!w[J])continue;z[J]=new $({type:"nonoptional",innerType:U[J]})}else for(let J in U)z[J]=new $({type:"nonoptional",innerType:U[J]});return K6(this,"shape",z),z}});return E$(v,D)}function A6($,v=0){if($.aborted===!0)return!0;for(let w=v;w<$.issues.length;w++)if($.issues[w]?.continue!==!0)return!0;return!1}function x$($,v){return v.map((w)=>{var D;return(D=w).path??(D.path=[]),w.path.unshift($),w})}function d4($){return typeof $==="string"?$:$?.message}function g$($,v,w){let D={...$,path:$.path??[]};if(!$.message){let U=d4($.inst?._zod.def?.error?.($))??d4(v?.error?.($))??d4(w.customError?.($))??d4(w.localeError?.($))??"Invalid input";D.message=U}if(delete D.inst,delete D.continue,!v?.reportInput)delete D.input;return D}function a4($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function e4($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function B($){let v=typeof $;switch(v){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let w=$;if(w&&Object.getPrototypeOf(w)!==Object.prototype&&"constructor"in w&&w.constructor)return w.constructor.name}}return v}function v4(...$){let[v,w,D]=$;if(typeof v==="string")return{message:v,code:"custom",input:w,inst:D};return{...v}}function CL($){return Object.entries($).filter(([v,w])=>{return Number.isNaN(Number.parseInt(v,10))}).map((v)=>v[1])}function Q8($){let v=atob($),w=new Uint8Array(v.length);for(let D=0;Dv.toString(16).padStart(2,"0")).join("")}class L8{constructor(...$){}}var O8=($,v)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:v,enumerable:!1}),$.message=JSON.stringify(v,s6,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},s4=O("$ZodError",O8),_$=O("$ZodError",O8,{Parent:Error});function $v($,v=(w)=>w.message){let w={},D=[];for(let U of $.issues)if(U.path.length>0)w[U.path[0]]=w[U.path[0]]||[],w[U.path[0]].push(v(U));else D.push(v(U));return{formErrors:D,fieldErrors:w}}function vv($,v=(w)=>w.message){let w={_errors:[]},D=(U)=>{for(let z of U.issues)if(z.code==="invalid_union"&&z.errors.length)z.errors.map((J)=>D({issues:J}));else if(z.code==="invalid_key")D({issues:z.issues});else if(z.code==="invalid_element")D({issues:z.issues});else if(z.path.length===0)w._errors.push(v(z));else{let J=w,G=0;while(Gw.message){let w={errors:[]},D=(U,z=[])=>{var J,G;for(let W of U.issues)if(W.code==="invalid_union"&&W.errors.length)W.errors.map((Y)=>D({issues:Y},W.path));else if(W.code==="invalid_key")D({issues:W.issues},W.path);else if(W.code==="invalid_element")D({issues:W.issues},W.path);else{let Y=[...z,...W.path];if(Y.length===0){w.errors.push(v(W));continue}let Q=w,N=0;while(Ntypeof D==="object"?D.key:D);for(let D of w)if(typeof D==="number")v.push(`[${D}]`);else if(typeof D==="symbol")v.push(`[${JSON.stringify(String(D))}]`);else if(/[^\w$]/.test(D))v.push(`[${JSON.stringify(D)}]`);else{if(v.length)v.push(".");v.push(D)}return v.join("")}function hw($){let v=[],w=[...$.issues].sort((D,U)=>(D.path??[]).length-(U.path??[]).length);for(let D of w)if(v.push(`✖ ${D.message}`),D.path?.length)v.push(` → at ${q8(D.path)}`);return v.join(` +`)}var U4=($)=>(v,w,D,U)=>{let z=D?Object.assign(D,{async:!1}):{async:!1},J=v._zod.run({value:w,issues:[]},z);if(J instanceof Promise)throw new s$;if(J.issues.length){let G=new(U?.Err??$)(J.issues.map((W)=>g$(W,z,O$())));throw QU(G,U?.callee),G}return J.value},NU=U4(_$),w4=($)=>async(v,w,D,U)=>{let z=D?Object.assign(D,{async:!0}):{async:!0},J=v._zod.run({value:w,issues:[]},z);if(J instanceof Promise)J=await J;if(J.issues.length){let G=new(U?.Err??$)(J.issues.map((W)=>g$(W,z,O$())));throw QU(G,U?.callee),G}return J.value},LU=w4(_$),D4=($)=>(v,w,D)=>{let U=D?{...D,async:!1}:{async:!1},z=v._zod.run({value:w,issues:[]},U);if(z instanceof Promise)throw new s$;return z.issues.length?{success:!1,error:new($??s4)(z.issues.map((J)=>g$(J,U,O$())))}:{success:!0,data:z.value}},cw=D4(_$),z4=($)=>async(v,w,D)=>{let U=D?Object.assign(D,{async:!0}):{async:!0},z=v._zod.run({value:w,issues:[]},U);if(z instanceof Promise)z=await z;return z.issues.length?{success:!1,error:new $(z.issues.map((J)=>g$(J,U,O$())))}:{success:!0,data:z.value}},mw=z4(_$),OU=($)=>(v,w,D)=>{let U=D?Object.assign(D,{direction:"backward"}):{direction:"backward"};return U4($)(v,w,U)},iL=OU(_$),qU=($)=>(v,w,D)=>{return U4($)(v,w,D)},hL=qU(_$),IU=($)=>async(v,w,D)=>{let U=D?Object.assign(D,{direction:"backward"}):{direction:"backward"};return w4($)(v,w,U)},cL=IU(_$),HU=($)=>async(v,w,D)=>{return w4($)(v,w,D)},mL=HU(_$),VU=($)=>(v,w,D)=>{let U=D?Object.assign(D,{direction:"backward"}):{direction:"backward"};return D4($)(v,w,U)},nL=VU(_$),jU=($)=>(v,w,D)=>{return D4($)(v,w,D)},lL=jU(_$),KU=($)=>async(v,w,D)=>{let U=D?Object.assign(D,{direction:"backward"}):{direction:"backward"};return z4($)(v,w,U)},rL=KU(_$),BU=($)=>async(v,w,D)=>{return z4($)(v,w,D)},dL=BU(_$);var m$={};Y6(m$,{xid:()=>dw,uuid7:()=>aL,uuid6:()=>tL,uuid4:()=>oL,uuid:()=>Z6,uppercase:()=>H0,unicodeEmail:()=>I8,undefined:()=>q0,ulid:()=>rw,time:()=>G0,string:()=>W0,sha512_hex:()=>VO,sha512_base64url:()=>KO,sha512_base64:()=>jO,sha384_hex:()=>qO,sha384_base64url:()=>HO,sha384_base64:()=>IO,sha256_hex:()=>NO,sha256_base64url:()=>OO,sha256_base64:()=>LO,sha1_hex:()=>YO,sha1_base64url:()=>QO,sha1_base64:()=>WO,rfc5322Email:()=>sL,number:()=>Uv,null:()=>O0,nanoid:()=>ow,md5_hex:()=>JO,md5_base64url:()=>GO,md5_base64:()=>XO,mac:()=>U0,lowercase:()=>I0,ksuid:()=>pw,ipv6:()=>v0,ipv4:()=>$0,integer:()=>N0,idnEmail:()=>$O,html5Email:()=>eL,hostname:()=>wO,hex:()=>zO,guid:()=>aw,extendedDuration:()=>pL,emoji:()=>sw,email:()=>ew,e164:()=>J0,duration:()=>tw,domain:()=>DO,datetime:()=>Y0,date:()=>X0,cuid2:()=>lw,cuid:()=>nw,cidrv6:()=>D0,cidrv4:()=>w0,browserEmail:()=>vO,boolean:()=>L0,bigint:()=>Q0,base64url:()=>AU,base64:()=>z0});var nw=/^[cC][^\s-]{8,}$/,lw=/^[0-9a-z]+$/,rw=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,dw=/^[0-9a-vA-V]{20}$/,pw=/^[A-Za-z0-9]{27}$/,ow=/^[a-zA-Z0-9_-]{21}$/,tw=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,pL=/^[-+]?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)?)??$/,aw=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Z6=($)=>{if(!$)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},oL=Z6(4),tL=Z6(6),aL=Z6(7),ew=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,eL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,sL=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,I8=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,$O=I8,vO=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,UO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function sw(){return new RegExp(UO,"u")}var $0=/^(?:(?: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])$/,v0=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,U0=($)=>{let v=c$($??":");return new RegExp(`^(?:[0-9A-F]{2}${v}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${v}){5}[0-9a-f]{2}$`)},w0=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,D0=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,z0=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,AU=/^[A-Za-z0-9_-]*$/,wO=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,DO=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,J0=/^\+[1-9]\d{6,14}$/,H8="(?:(?:\\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])))",X0=new RegExp(`^${H8}$`);function V8($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function G0($){return new RegExp(`^${V8($)}$`)}function Y0($){let v=V8({precision:$.precision}),w=["Z"];if($.local)w.push("");if($.offset)w.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let D=`${v}(?:${w.join("|")})`;return new RegExp(`^${H8}T(?:${D})$`)}var W0=($)=>{let v=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${v}$`)},Q0=/^-?\d+n?$/,N0=/^-?\d+$/,Uv=/^-?\d+(?:\.\d+)?$/,L0=/^(?:true|false)$/i,O0=/^null$/i;var q0=/^undefined$/i;var I0=/^[^A-Z]*$/,H0=/^[^a-z]*$/,zO=/^[0-9a-fA-F]*$/;function wv($,v){return new RegExp(`^[A-Za-z0-9+/]{${$}}${v}$`)}function Dv($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var JO=/^[0-9a-fA-F]{32}$/,XO=wv(22,"=="),GO=Dv(22),YO=/^[0-9a-fA-F]{40}$/,WO=wv(27,"="),QO=Dv(27),NO=/^[0-9a-fA-F]{64}$/,LO=wv(43,"="),OO=Dv(43),qO=/^[0-9a-fA-F]{96}$/,IO=wv(64,""),HO=Dv(64),VO=/^[0-9a-fA-F]{128}$/,jO=wv(86,"=="),KO=Dv(86);var G$=O("$ZodCheck",($,v)=>{var w;$._zod??($._zod={}),$._zod.def=v,(w=$._zod).onattach??(w.onattach=[])}),K8={number:"number",bigint:"bigint",object:"date"},EU=O("$ZodCheckLessThan",($,v)=>{G$.init($,v);let w=K8[typeof v.value];$._zod.onattach.push((D)=>{let U=D._zod.bag,z=(v.inclusive?U.maximum:U.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(v.value{if(v.inclusive?D.value<=v.value:D.value{G$.init($,v);let w=K8[typeof v.value];$._zod.onattach.push((D)=>{let U=D._zod.bag,z=(v.inclusive?U.minimum:U.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(v.value>z)if(v.inclusive)U.minimum=v.value;else U.exclusiveMinimum=v.value}),$._zod.check=(D)=>{if(v.inclusive?D.value>=v.value:D.value>v.value)return;D.issues.push({origin:w,code:"too_small",minimum:typeof v.value==="object"?v.value.getTime():v.value,input:D.value,inclusive:v.inclusive,inst:$,continue:!v.abort})}}),V0=O("$ZodCheckMultipleOf",($,v)=>{G$.init($,v),$._zod.onattach.push((w)=>{var D;(D=w._zod.bag).multipleOf??(D.multipleOf=v.value)}),$._zod.check=(w)=>{if(typeof w.value!==typeof v.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof w.value==="bigint"?w.value%v.value===BigInt(0):Tw(w.value,v.value)===0)return;w.issues.push({origin:typeof w.value,code:"not_multiple_of",divisor:v.value,input:w.value,inst:$,continue:!v.abort})}}),j0=O("$ZodCheckNumberFormat",($,v)=>{G$.init($,v),v.format=v.format||"float64";let w=v.format?.includes("int"),D=w?"int":"number",[U,z]=uw[v.format];$._zod.onattach.push((J)=>{let G=J._zod.bag;if(G.format=v.format,G.minimum=U,G.maximum=z,w)G.pattern=N0}),$._zod.check=(J)=>{let G=J.value;if(w){if(!Number.isInteger(G)){J.issues.push({expected:D,format:v.format,code:"invalid_type",continue:!1,input:G,inst:$});return}if(!Number.isSafeInteger(G)){if(G>0)J.issues.push({input:G,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:D,inclusive:!0,continue:!v.abort});else J.issues.push({input:G,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:D,inclusive:!0,continue:!v.abort});return}}if(Gz)J.issues.push({origin:"number",input:G,code:"too_big",maximum:z,inclusive:!0,inst:$,continue:!v.abort})}}),K0=O("$ZodCheckBigIntFormat",($,v)=>{G$.init($,v);let[w,D]=yw[v.format];$._zod.onattach.push((U)=>{let z=U._zod.bag;z.format=v.format,z.minimum=w,z.maximum=D}),$._zod.check=(U)=>{let z=U.value;if(zD)U.issues.push({origin:"bigint",input:z,code:"too_big",maximum:D,inclusive:!0,inst:$,continue:!v.abort})}}),B0=O("$ZodCheckMaxSize",($,v)=>{var w;G$.init($,v),(w=$._zod.def).when??(w.when=(D)=>{let U=D.value;return!j6(U)&&U.size!==void 0}),$._zod.onattach.push((D)=>{let U=D._zod.bag.maximum??Number.POSITIVE_INFINITY;if(v.maximum{let U=D.value;if(U.size<=v.maximum)return;D.issues.push({origin:a4(U),code:"too_big",maximum:v.maximum,inclusive:!0,input:U,inst:$,continue:!v.abort})}}),A0=O("$ZodCheckMinSize",($,v)=>{var w;G$.init($,v),(w=$._zod.def).when??(w.when=(D)=>{let U=D.value;return!j6(U)&&U.size!==void 0}),$._zod.onattach.push((D)=>{let U=D._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(v.minimum>U)D._zod.bag.minimum=v.minimum}),$._zod.check=(D)=>{let U=D.value;if(U.size>=v.minimum)return;D.issues.push({origin:a4(U),code:"too_small",minimum:v.minimum,inclusive:!0,input:U,inst:$,continue:!v.abort})}}),E0=O("$ZodCheckSizeEquals",($,v)=>{var w;G$.init($,v),(w=$._zod.def).when??(w.when=(D)=>{let U=D.value;return!j6(U)&&U.size!==void 0}),$._zod.onattach.push((D)=>{let U=D._zod.bag;U.minimum=v.size,U.maximum=v.size,U.size=v.size}),$._zod.check=(D)=>{let U=D.value,z=U.size;if(z===v.size)return;let J=z>v.size;D.issues.push({origin:a4(U),...J?{code:"too_big",maximum:v.size}:{code:"too_small",minimum:v.size},inclusive:!0,exact:!0,input:D.value,inst:$,continue:!v.abort})}}),b0=O("$ZodCheckMaxLength",($,v)=>{var w;G$.init($,v),(w=$._zod.def).when??(w.when=(D)=>{let U=D.value;return!j6(U)&&U.length!==void 0}),$._zod.onattach.push((D)=>{let U=D._zod.bag.maximum??Number.POSITIVE_INFINITY;if(v.maximum{let U=D.value;if(U.length<=v.maximum)return;let J=e4(U);D.issues.push({origin:J,code:"too_big",maximum:v.maximum,inclusive:!0,input:U,inst:$,continue:!v.abort})}}),F0=O("$ZodCheckMinLength",($,v)=>{var w;G$.init($,v),(w=$._zod.def).when??(w.when=(D)=>{let U=D.value;return!j6(U)&&U.length!==void 0}),$._zod.onattach.push((D)=>{let U=D._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(v.minimum>U)D._zod.bag.minimum=v.minimum}),$._zod.check=(D)=>{let U=D.value;if(U.length>=v.minimum)return;let J=e4(U);D.issues.push({origin:J,code:"too_small",minimum:v.minimum,inclusive:!0,input:U,inst:$,continue:!v.abort})}}),R0=O("$ZodCheckLengthEquals",($,v)=>{var w;G$.init($,v),(w=$._zod.def).when??(w.when=(D)=>{let U=D.value;return!j6(U)&&U.length!==void 0}),$._zod.onattach.push((D)=>{let U=D._zod.bag;U.minimum=v.length,U.maximum=v.length,U.length=v.length}),$._zod.check=(D)=>{let U=D.value,z=U.length;if(z===v.length)return;let J=e4(U),G=z>v.length;D.issues.push({origin:J,...G?{code:"too_big",maximum:v.length}:{code:"too_small",minimum:v.length},inclusive:!0,exact:!0,input:D.value,inst:$,continue:!v.abort})}}),J4=O("$ZodCheckStringFormat",($,v)=>{var w,D;if(G$.init($,v),$._zod.onattach.push((U)=>{let z=U._zod.bag;if(z.format=v.format,v.pattern)z.patterns??(z.patterns=new Set),z.patterns.add(v.pattern)}),v.pattern)(w=$._zod).check??(w.check=(U)=>{if(v.pattern.lastIndex=0,v.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:v.format,input:U.value,...v.pattern?{pattern:v.pattern.toString()}:{},inst:$,continue:!v.abort})});else(D=$._zod).check??(D.check=()=>{})}),M0=O("$ZodCheckRegex",($,v)=>{J4.init($,v),$._zod.check=(w)=>{if(v.pattern.lastIndex=0,v.pattern.test(w.value))return;w.issues.push({origin:"string",code:"invalid_format",format:"regex",input:w.value,pattern:v.pattern.toString(),inst:$,continue:!v.abort})}}),S0=O("$ZodCheckLowerCase",($,v)=>{v.pattern??(v.pattern=I0),J4.init($,v)}),P0=O("$ZodCheckUpperCase",($,v)=>{v.pattern??(v.pattern=H0),J4.init($,v)}),g0=O("$ZodCheckIncludes",($,v)=>{G$.init($,v);let w=c$(v.includes),D=new RegExp(typeof v.position==="number"?`^.{${v.position}}${w}`:w);v.pattern=D,$._zod.onattach.push((U)=>{let z=U._zod.bag;z.patterns??(z.patterns=new Set),z.patterns.add(D)}),$._zod.check=(U)=>{if(U.value.includes(v.includes,v.position))return;U.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:v.includes,input:U.value,inst:$,continue:!v.abort})}}),_0=O("$ZodCheckStartsWith",($,v)=>{G$.init($,v);let w=new RegExp(`^${c$(v.prefix)}.*`);v.pattern??(v.pattern=w),$._zod.onattach.push((D)=>{let U=D._zod.bag;U.patterns??(U.patterns=new Set),U.patterns.add(w)}),$._zod.check=(D)=>{if(D.value.startsWith(v.prefix))return;D.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:v.prefix,input:D.value,inst:$,continue:!v.abort})}}),T0=O("$ZodCheckEndsWith",($,v)=>{G$.init($,v);let w=new RegExp(`.*${c$(v.suffix)}$`);v.pattern??(v.pattern=w),$._zod.onattach.push((D)=>{let U=D._zod.bag;U.patterns??(U.patterns=new Set),U.patterns.add(w)}),$._zod.check=(D)=>{if(D.value.endsWith(v.suffix))return;D.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:v.suffix,input:D.value,inst:$,continue:!v.abort})}});function j8($,v,w){if($.issues.length)v.issues.push(...x$(w,$.issues))}var k0=O("$ZodCheckProperty",($,v)=>{G$.init($,v),$._zod.check=(w)=>{let D=v.schema._zod.run({value:w.value[v.property],issues:[]},{});if(D instanceof Promise)return D.then((U)=>j8(U,w,v.property));j8(D,w,v.property);return}}),C0=O("$ZodCheckMimeType",($,v)=>{G$.init($,v);let w=new Set(v.mime);$._zod.onattach.push((D)=>{D._zod.bag.mime=v.mime}),$._zod.check=(D)=>{if(w.has(D.value.type))return;D.issues.push({code:"invalid_value",values:v.mime,input:D.value.type,inst:$,continue:!v.abort})}}),Z0=O("$ZodCheckOverwrite",($,v)=>{G$.init($,v),$._zod.check=(w)=>{w.value=v.tx(w.value)}});class FU{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let w=$.split(` +`).filter((z)=>z),D=Math.min(...w.map((z)=>z.length-z.trimStart().length)),U=w.map((z)=>z.slice(D)).map((z)=>" ".repeat(this.indent*2)+z);for(let z of U)this.content.push(z)}compile(){let $=Function,v=this?.args,D=[...(this?.content??[""]).map((U)=>` ${U}`)];return new $(...v,D.join(` +`))}}var x0={major:4,minor:3,patch:6};var c=O("$ZodType",($,v)=>{var w;$??($={}),$._zod.def=v,$._zod.bag=$._zod.bag||{},$._zod.version=x0;let D=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))D.unshift($);for(let U of D)for(let z of U._zod.onattach)z($);if(D.length===0)(w=$._zod).deferred??(w.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let U=(J,G,W)=>{let Y=A6(J),Q;for(let N of G){if(N._zod.def.when){if(!N._zod.def.when(J))continue}else if(Y)continue;let L=J.issues.length,q=N._zod.check(J);if(q instanceof Promise&&W?.async===!1)throw new s$;if(Q||q instanceof Promise)Q=(Q??Promise.resolve()).then(async()=>{if(await q,J.issues.length===L)return;if(!Y)Y=A6(J,L)});else{if(J.issues.length===L)continue;if(!Y)Y=A6(J,L)}}if(Q)return Q.then(()=>{return J});return J},z=(J,G,W)=>{if(A6(J))return J.aborted=!0,J;let Y=U(G,D,W);if(Y instanceof Promise){if(W.async===!1)throw new s$;return Y.then((Q)=>$._zod.parse(Q,W))}return $._zod.parse(Y,W)};$._zod.run=(J,G)=>{if(G.skipChecks)return $._zod.parse(J,G);if(G.direction==="backward"){let Y=$._zod.parse({value:J.value,issues:[]},{...G,skipChecks:!0});if(Y instanceof Promise)return Y.then((Q)=>{return z(Q,J,G)});return z(Y,J,G)}let W=$._zod.parse(J,G);if(W instanceof Promise){if(G.async===!1)throw new s$;return W.then((Y)=>U(Y,D,G))}return U(W,D,G)}}p($,"~standard",()=>({validate:(U)=>{try{let z=cw($,U);return z.success?{value:z.data}:{issues:z.error?.issues}}catch(z){return mw($,U).then((J)=>J.success?{value:J.data}:{issues:J.error?.issues})}},vendor:"zod",version:1}))}),x6=O("$ZodString",($,v)=>{c.init($,v),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??W0($._zod.bag),$._zod.parse=(w,D)=>{if(v.coerce)try{w.value=String(w.value)}catch(U){}if(typeof w.value==="string")return w;return w.issues.push({expected:"string",code:"invalid_type",input:w.value,inst:$}),w}}),J$=O("$ZodStringFormat",($,v)=>{J4.init($,v),x6.init($,v)}),u0=O("$ZodGUID",($,v)=>{v.pattern??(v.pattern=aw),J$.init($,v)}),y0=O("$ZodUUID",($,v)=>{if(v.version){let D={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[v.version];if(D===void 0)throw Error(`Invalid UUID version: "${v.version}"`);v.pattern??(v.pattern=Z6(D))}else v.pattern??(v.pattern=Z6());J$.init($,v)}),i0=O("$ZodEmail",($,v)=>{v.pattern??(v.pattern=ew),J$.init($,v)}),h0=O("$ZodURL",($,v)=>{J$.init($,v),$._zod.check=(w)=>{try{let D=w.value.trim(),U=new URL(D);if(v.hostname){if(v.hostname.lastIndex=0,!v.hostname.test(U.hostname))w.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:v.hostname.source,input:w.value,inst:$,continue:!v.abort})}if(v.protocol){if(v.protocol.lastIndex=0,!v.protocol.test(U.protocol.endsWith(":")?U.protocol.slice(0,-1):U.protocol))w.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:v.protocol.source,input:w.value,inst:$,continue:!v.abort})}if(v.normalize)w.value=U.href;else w.value=D;return}catch(D){w.issues.push({code:"invalid_format",format:"url",input:w.value,inst:$,continue:!v.abort})}}}),c0=O("$ZodEmoji",($,v)=>{v.pattern??(v.pattern=sw()),J$.init($,v)}),m0=O("$ZodNanoID",($,v)=>{v.pattern??(v.pattern=ow),J$.init($,v)}),n0=O("$ZodCUID",($,v)=>{v.pattern??(v.pattern=nw),J$.init($,v)}),l0=O("$ZodCUID2",($,v)=>{v.pattern??(v.pattern=lw),J$.init($,v)}),r0=O("$ZodULID",($,v)=>{v.pattern??(v.pattern=rw),J$.init($,v)}),d0=O("$ZodXID",($,v)=>{v.pattern??(v.pattern=dw),J$.init($,v)}),p0=O("$ZodKSUID",($,v)=>{v.pattern??(v.pattern=pw),J$.init($,v)}),o0=O("$ZodISODateTime",($,v)=>{v.pattern??(v.pattern=Y0(v)),J$.init($,v)}),t0=O("$ZodISODate",($,v)=>{v.pattern??(v.pattern=X0),J$.init($,v)}),a0=O("$ZodISOTime",($,v)=>{v.pattern??(v.pattern=G0(v)),J$.init($,v)}),e0=O("$ZodISODuration",($,v)=>{v.pattern??(v.pattern=tw),J$.init($,v)}),s0=O("$ZodIPv4",($,v)=>{v.pattern??(v.pattern=$0),J$.init($,v),$._zod.bag.format="ipv4"}),$D=O("$ZodIPv6",($,v)=>{v.pattern??(v.pattern=v0),J$.init($,v),$._zod.bag.format="ipv6",$._zod.check=(w)=>{try{new URL(`http://[${w.value}]`)}catch{w.issues.push({code:"invalid_format",format:"ipv6",input:w.value,inst:$,continue:!v.abort})}}}),vD=O("$ZodMAC",($,v)=>{v.pattern??(v.pattern=U0(v.delimiter)),J$.init($,v),$._zod.bag.format="mac"}),UD=O("$ZodCIDRv4",($,v)=>{v.pattern??(v.pattern=w0),J$.init($,v)}),wD=O("$ZodCIDRv6",($,v)=>{v.pattern??(v.pattern=D0),J$.init($,v),$._zod.check=(w)=>{let D=w.value.split("/");try{if(D.length!==2)throw Error();let[U,z]=D;if(!z)throw Error();let J=Number(z);if(`${J}`!==z)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${U}]`)}catch{w.issues.push({code:"invalid_format",format:"cidrv6",input:w.value,inst:$,continue:!v.abort})}}});function DD($){if($==="")return!0;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}var zD=O("$ZodBase64",($,v)=>{v.pattern??(v.pattern=z0),J$.init($,v),$._zod.bag.contentEncoding="base64",$._zod.check=(w)=>{if(DD(w.value))return;w.issues.push({code:"invalid_format",format:"base64",input:w.value,inst:$,continue:!v.abort})}});function k8($){if(!AU.test($))return!1;let v=$.replace(/[-_]/g,(D)=>D==="-"?"+":"/"),w=v.padEnd(Math.ceil(v.length/4)*4,"=");return DD(w)}var JD=O("$ZodBase64URL",($,v)=>{v.pattern??(v.pattern=AU),J$.init($,v),$._zod.bag.contentEncoding="base64url",$._zod.check=(w)=>{if(k8(w.value))return;w.issues.push({code:"invalid_format",format:"base64url",input:w.value,inst:$,continue:!v.abort})}}),XD=O("$ZodE164",($,v)=>{v.pattern??(v.pattern=J0),J$.init($,v)});function C8($,v=null){try{let w=$.split(".");if(w.length!==3)return!1;let[D]=w;if(!D)return!1;let U=JSON.parse(atob(D));if("typ"in U&&U?.typ!=="JWT")return!1;if(!U.alg)return!1;if(v&&(!("alg"in U)||U.alg!==v))return!1;return!0}catch{return!1}}var GD=O("$ZodJWT",($,v)=>{J$.init($,v),$._zod.check=(w)=>{if(C8(w.value,v.alg))return;w.issues.push({code:"invalid_format",format:"jwt",input:w.value,inst:$,continue:!v.abort})}}),YD=O("$ZodCustomStringFormat",($,v)=>{J$.init($,v),$._zod.check=(w)=>{if(v.fn(w.value))return;w.issues.push({code:"invalid_format",format:v.format,input:w.value,inst:$,continue:!v.abort})}}),_U=O("$ZodNumber",($,v)=>{c.init($,v),$._zod.pattern=$._zod.bag.pattern??Uv,$._zod.parse=(w,D)=>{if(v.coerce)try{w.value=Number(w.value)}catch(J){}let U=w.value;if(typeof U==="number"&&!Number.isNaN(U)&&Number.isFinite(U))return w;let z=typeof U==="number"?Number.isNaN(U)?"NaN":!Number.isFinite(U)?"Infinity":void 0:void 0;return w.issues.push({expected:"number",code:"invalid_type",input:U,inst:$,...z?{received:z}:{}}),w}}),WD=O("$ZodNumberFormat",($,v)=>{j0.init($,v),_U.init($,v)}),zv=O("$ZodBoolean",($,v)=>{c.init($,v),$._zod.pattern=L0,$._zod.parse=(w,D)=>{if(v.coerce)try{w.value=Boolean(w.value)}catch(z){}let U=w.value;if(typeof U==="boolean")return w;return w.issues.push({expected:"boolean",code:"invalid_type",input:U,inst:$}),w}}),TU=O("$ZodBigInt",($,v)=>{c.init($,v),$._zod.pattern=Q0,$._zod.parse=(w,D)=>{if(v.coerce)try{w.value=BigInt(w.value)}catch(U){}if(typeof w.value==="bigint")return w;return w.issues.push({expected:"bigint",code:"invalid_type",input:w.value,inst:$}),w}}),QD=O("$ZodBigIntFormat",($,v)=>{K0.init($,v),TU.init($,v)}),ND=O("$ZodSymbol",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{let U=w.value;if(typeof U==="symbol")return w;return w.issues.push({expected:"symbol",code:"invalid_type",input:U,inst:$}),w}}),LD=O("$ZodUndefined",($,v)=>{c.init($,v),$._zod.pattern=q0,$._zod.values=new Set([void 0]),$._zod.optin="optional",$._zod.optout="optional",$._zod.parse=(w,D)=>{let U=w.value;if(typeof U>"u")return w;return w.issues.push({expected:"undefined",code:"invalid_type",input:U,inst:$}),w}}),OD=O("$ZodNull",($,v)=>{c.init($,v),$._zod.pattern=O0,$._zod.values=new Set([null]),$._zod.parse=(w,D)=>{let U=w.value;if(U===null)return w;return w.issues.push({expected:"null",code:"invalid_type",input:U,inst:$}),w}}),qD=O("$ZodAny",($,v)=>{c.init($,v),$._zod.parse=(w)=>w}),ID=O("$ZodUnknown",($,v)=>{c.init($,v),$._zod.parse=(w)=>w}),HD=O("$ZodNever",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{return w.issues.push({expected:"never",code:"invalid_type",input:w.value,inst:$}),w}}),VD=O("$ZodVoid",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{let U=w.value;if(typeof U>"u")return w;return w.issues.push({expected:"void",code:"invalid_type",input:U,inst:$}),w}}),jD=O("$ZodDate",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{if(v.coerce)try{w.value=new Date(w.value)}catch(G){}let U=w.value,z=U instanceof Date;if(z&&!Number.isNaN(U.getTime()))return w;return w.issues.push({expected:"date",code:"invalid_type",input:U,...z?{received:"Invalid Date"}:{},inst:$}),w}});function A8($,v,w){if($.issues.length)v.issues.push(...x$(w,$.issues));v.value[w]=$.value}var KD=O("$ZodArray",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{let U=w.value;if(!Array.isArray(U))return w.issues.push({expected:"array",code:"invalid_type",input:U,inst:$}),w;w.value=Array(U.length);let z=[];for(let J=0;JA8(Y,w,J)));else A8(W,w,J)}if(z.length)return Promise.all(z).then(()=>w);return w}});function gU($,v,w,D,U){if($.issues.length){if(U&&!(w in D))return;v.issues.push(...x$(w,$.issues))}if($.value===void 0){if(w in D)v.value[w]=void 0}else v.value[w]=$.value}function Z8($){let v=Object.keys($.shape);for(let D of v)if(!$.shape?.[D]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${D}": expected a Zod schema`);let w=fw($.shape);return{...$,keys:v,keySet:new Set(v),numKeys:v.length,optionalKeys:new Set(w)}}function x8($,v,w,D,U,z){let J=[],G=U.keySet,W=U.catchall._zod,Y=W.def.type,Q=W.optout==="optional";for(let N in v){if(G.has(N))continue;if(Y==="never"){J.push(N);continue}let L=W.run({value:v[N],issues:[]},D);if(L instanceof Promise)$.push(L.then((q)=>gU(q,w,N,v,Q)));else gU(L,w,N,v,Q)}if(J.length)w.issues.push({code:"unrecognized_keys",keys:J,input:v,inst:z});if(!$.length)return w;return Promise.all($).then(()=>{return w})}var f8=O("$ZodObject",($,v)=>{if(c.init($,v),!Object.getOwnPropertyDescriptor(v,"shape")?.get){let G=v.shape;Object.defineProperty(v,"shape",{get:()=>{let W={...G};return Object.defineProperty(v,"shape",{value:W}),W}})}let D=$4(()=>Z8(v));p($._zod,"propValues",()=>{let G=v.shape,W={};for(let Y in G){let Q=G[Y]._zod;if(Q.values){W[Y]??(W[Y]=new Set);for(let N of Q.values)W[Y].add(N)}}return W});let U=C6,z=v.catchall,J;$._zod.parse=(G,W)=>{J??(J=D.value);let Y=G.value;if(!U(Y))return G.issues.push({expected:"object",code:"invalid_type",input:Y,inst:$}),G;G.value={};let Q=[],N=J.shape;for(let L of J.keys){let q=N[L],M=q._zod.optout==="optional",C=q._zod.run({value:Y[L],issues:[]},W);if(C instanceof Promise)Q.push(C.then((y)=>gU(y,G,L,Y,M)));else gU(C,G,L,Y,M)}if(!z)return Q.length?Promise.all(Q).then(()=>G):G;return x8(Q,Y,G,W,D.value,$)}}),BD=O("$ZodObjectJIT",($,v)=>{f8.init($,v);let w=$._zod.parse,D=$4(()=>Z8(v)),U=(L)=>{let q=new FU(["shape","payload","ctx"]),M=D.value,C=(t)=>{let u=WU(t);return`shape[${u}]._zod.run({ value: input[${u}], issues: [] }, ctx)`};q.write("const input = payload.value;");let y=Object.create(null),d=0;for(let t of M.keys)y[t]=`key_${d++}`;q.write("const newResult = {};");for(let t of M.keys){let u=y[t],j=WU(t),F=L[t]?._zod?.optout==="optional";if(q.write(`const ${u} = ${C(t)};`),F)q.write(` + if (${u}.issues.length) { + if (${j} in input) { + payload.issues = payload.issues.concat(${u}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${j}, ...iss.path] : [${j}] + }))); + } + } + + if (${u}.value === undefined) { + if (${j} in input) { + newResult[${j}] = undefined; + } + } else { + newResult[${j}] = ${u}.value; + } + + `);else q.write(` + if (${u}.issues.length) { + payload.issues = payload.issues.concat(${u}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${j}, ...iss.path] : [${j}] + }))); + } + + if (${u}.value === undefined) { + if (${j} in input) { + newResult[${j}] = undefined; + } + } else { + newResult[${j}] = ${u}.value; + } + + `)}q.write("payload.value = newResult;"),q.write("return payload;");let g=q.compile();return(t,u)=>g(L,t,u)},z,J=C6,G=!r4.jitless,Y=G&&Cw.value,Q=v.catchall,N;$._zod.parse=(L,q)=>{N??(N=D.value);let M=L.value;if(!J(M))return L.issues.push({expected:"object",code:"invalid_type",input:M,inst:$}),L;if(G&&Y&&q?.async===!1&&q.jitless!==!0){if(!z)z=U(v.shape);if(L=z(L,q),!Q)return L;return x8([],M,L,q,N,$)}return w(L,q)}});function E8($,v,w,D){for(let z of $)if(z.issues.length===0)return v.value=z.value,v;let U=$.filter((z)=>!A6(z));if(U.length===1)return v.value=U[0].value,U[0];return v.issues.push({code:"invalid_union",input:v.value,inst:w,errors:$.map((z)=>z.issues.map((J)=>g$(J,D,O$())))}),v}var Jv=O("$ZodUnion",($,v)=>{c.init($,v),p($._zod,"optin",()=>v.options.some((U)=>U._zod.optin==="optional")?"optional":void 0),p($._zod,"optout",()=>v.options.some((U)=>U._zod.optout==="optional")?"optional":void 0),p($._zod,"values",()=>{if(v.options.every((U)=>U._zod.values))return new Set(v.options.flatMap((U)=>Array.from(U._zod.values)));return}),p($._zod,"pattern",()=>{if(v.options.every((U)=>U._zod.pattern)){let U=v.options.map((z)=>z._zod.pattern);return new RegExp(`^(${U.map((z)=>o4(z.source)).join("|")})$`)}return});let w=v.options.length===1,D=v.options[0]._zod.run;$._zod.parse=(U,z)=>{if(w)return D(U,z);let J=!1,G=[];for(let W of v.options){let Y=W._zod.run({value:U.value,issues:[]},z);if(Y instanceof Promise)G.push(Y),J=!0;else{if(Y.issues.length===0)return Y;G.push(Y)}}if(!J)return E8(G,U,$,z);return Promise.all(G).then((W)=>{return E8(W,U,$,z)})}});function b8($,v,w,D){let U=$.filter((z)=>z.issues.length===0);if(U.length===1)return v.value=U[0].value,v;if(U.length===0)v.issues.push({code:"invalid_union",input:v.value,inst:w,errors:$.map((z)=>z.issues.map((J)=>g$(J,D,O$())))});else v.issues.push({code:"invalid_union",input:v.value,inst:w,errors:[],inclusive:!1});return v}var AD=O("$ZodXor",($,v)=>{Jv.init($,v),v.inclusive=!1;let w=v.options.length===1,D=v.options[0]._zod.run;$._zod.parse=(U,z)=>{if(w)return D(U,z);let J=!1,G=[];for(let W of v.options){let Y=W._zod.run({value:U.value,issues:[]},z);if(Y instanceof Promise)G.push(Y),J=!0;else G.push(Y)}if(!J)return b8(G,U,$,z);return Promise.all(G).then((W)=>{return b8(W,U,$,z)})}}),ED=O("$ZodDiscriminatedUnion",($,v)=>{v.inclusive=!1,Jv.init($,v);let w=$._zod.parse;p($._zod,"propValues",()=>{let U={};for(let z of v.options){let J=z._zod.propValues;if(!J||Object.keys(J).length===0)throw Error(`Invalid discriminated union option at index "${v.options.indexOf(z)}"`);for(let[G,W]of Object.entries(J)){if(!U[G])U[G]=new Set;for(let Y of W)U[G].add(Y)}}return U});let D=$4(()=>{let U=v.options,z=new Map;for(let J of U){let G=J._zod.propValues?.[v.discriminator];if(!G||G.size===0)throw Error(`Invalid discriminated union option at index "${v.options.indexOf(J)}"`);for(let W of G){if(z.has(W))throw Error(`Duplicate discriminator value "${String(W)}"`);z.set(W,J)}}return z});$._zod.parse=(U,z)=>{let J=U.value;if(!C6(J))return U.issues.push({code:"invalid_type",expected:"object",input:J,inst:$}),U;let G=D.value.get(J?.[v.discriminator]);if(G)return G._zod.run(U,z);if(v.unionFallback)return w(U,z);return U.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:v.discriminator,input:J,path:[v.discriminator],inst:$}),U}}),bD=O("$ZodIntersection",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{let U=w.value,z=v.left._zod.run({value:U,issues:[]},D),J=v.right._zod.run({value:U,issues:[]},D);if(z instanceof Promise||J instanceof Promise)return Promise.all([z,J]).then(([W,Y])=>{return F8(w,W,Y)});return F8(w,z,J)}});function f0($,v){if($===v)return{valid:!0,data:$};if($ instanceof Date&&v instanceof Date&&+$===+v)return{valid:!0,data:$};if(B6($)&&B6(v)){let w=Object.keys(v),D=Object.keys($).filter((z)=>w.indexOf(z)!==-1),U={...$,...v};for(let z of D){let J=f0($[z],v[z]);if(!J.valid)return{valid:!1,mergeErrorPath:[z,...J.mergeErrorPath]};U[z]=J.data}return{valid:!0,data:U}}if(Array.isArray($)&&Array.isArray(v)){if($.length!==v.length)return{valid:!1,mergeErrorPath:[]};let w=[];for(let D=0;D<$.length;D++){let U=$[D],z=v[D],J=f0(U,z);if(!J.valid)return{valid:!1,mergeErrorPath:[D,...J.mergeErrorPath]};w.push(J.data)}return{valid:!0,data:w}}return{valid:!1,mergeErrorPath:[]}}function F8($,v,w){let D=new Map,U;for(let G of v.issues)if(G.code==="unrecognized_keys"){U??(U=G);for(let W of G.keys){if(!D.has(W))D.set(W,{});D.get(W).l=!0}}else $.issues.push(G);for(let G of w.issues)if(G.code==="unrecognized_keys")for(let W of G.keys){if(!D.has(W))D.set(W,{});D.get(W).r=!0}else $.issues.push(G);let z=[...D].filter(([,G])=>G.l&&G.r).map(([G])=>G);if(z.length&&U)$.issues.push({...U,keys:z});if(A6($))return $;let J=f0(v.value,w.value);if(!J.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(J.mergeErrorPath)}`);return $.value=J.data,$}var kU=O("$ZodTuple",($,v)=>{c.init($,v);let w=v.items;$._zod.parse=(D,U)=>{let z=D.value;if(!Array.isArray(z))return D.issues.push({input:z,inst:$,expected:"tuple",code:"invalid_type"}),D;D.value=[];let J=[],G=[...w].reverse().findIndex((Q)=>Q._zod.optin!=="optional"),W=G===-1?0:w.length-G;if(!v.rest){let Q=z.length>w.length,N=z.length=z.length){if(Y>=W)continue}let N=Q._zod.run({value:z[Y],issues:[]},U);if(N instanceof Promise)J.push(N.then((L)=>RU(L,D,Y)));else RU(N,D,Y)}if(v.rest){let Q=z.slice(w.length);for(let N of Q){Y++;let L=v.rest._zod.run({value:N,issues:[]},U);if(L instanceof Promise)J.push(L.then((q)=>RU(q,D,Y)));else RU(L,D,Y)}}if(J.length)return Promise.all(J).then(()=>D);return D}});function RU($,v,w){if($.issues.length)v.issues.push(...x$(w,$.issues));v.value[w]=$.value}var FD=O("$ZodRecord",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{let U=w.value;if(!B6(U))return w.issues.push({expected:"record",code:"invalid_type",input:U,inst:$}),w;let z=[],J=v.keyType._zod.values;if(J){w.value={};let G=new Set;for(let Y of J)if(typeof Y==="string"||typeof Y==="number"||typeof Y==="symbol"){G.add(typeof Y==="number"?Y.toString():Y);let Q=v.valueType._zod.run({value:U[Y],issues:[]},D);if(Q instanceof Promise)z.push(Q.then((N)=>{if(N.issues.length)w.issues.push(...x$(Y,N.issues));w.value[Y]=N.value}));else{if(Q.issues.length)w.issues.push(...x$(Y,Q.issues));w.value[Y]=Q.value}}let W;for(let Y in U)if(!G.has(Y))W=W??[],W.push(Y);if(W&&W.length>0)w.issues.push({code:"unrecognized_keys",input:U,inst:$,keys:W})}else{w.value={};for(let G of Reflect.ownKeys(U)){if(G==="__proto__")continue;let W=v.keyType._zod.run({value:G,issues:[]},D);if(W instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof G==="string"&&Uv.test(G)&&W.issues.length){let N=v.keyType._zod.run({value:Number(G),issues:[]},D);if(N instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(N.issues.length===0)W=N}if(W.issues.length){if(v.mode==="loose")w.value[G]=U[G];else w.issues.push({code:"invalid_key",origin:"record",issues:W.issues.map((N)=>g$(N,D,O$())),input:G,path:[G],inst:$});continue}let Q=v.valueType._zod.run({value:U[G],issues:[]},D);if(Q instanceof Promise)z.push(Q.then((N)=>{if(N.issues.length)w.issues.push(...x$(G,N.issues));w.value[W.value]=N.value}));else{if(Q.issues.length)w.issues.push(...x$(G,Q.issues));w.value[W.value]=Q.value}}}if(z.length)return Promise.all(z).then(()=>w);return w}}),RD=O("$ZodMap",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{let U=w.value;if(!(U instanceof Map))return w.issues.push({expected:"map",code:"invalid_type",input:U,inst:$}),w;let z=[];w.value=new Map;for(let[J,G]of U){let W=v.keyType._zod.run({value:J,issues:[]},D),Y=v.valueType._zod.run({value:G,issues:[]},D);if(W instanceof Promise||Y instanceof Promise)z.push(Promise.all([W,Y]).then(([Q,N])=>{R8(Q,N,w,J,U,$,D)}));else R8(W,Y,w,J,U,$,D)}if(z.length)return Promise.all(z).then(()=>w);return w}});function R8($,v,w,D,U,z,J){if($.issues.length)if(t4.has(typeof D))w.issues.push(...x$(D,$.issues));else w.issues.push({code:"invalid_key",origin:"map",input:U,inst:z,issues:$.issues.map((G)=>g$(G,J,O$()))});if(v.issues.length)if(t4.has(typeof D))w.issues.push(...x$(D,v.issues));else w.issues.push({origin:"map",code:"invalid_element",input:U,inst:z,key:D,issues:v.issues.map((G)=>g$(G,J,O$()))});w.value.set($.value,v.value)}var MD=O("$ZodSet",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{let U=w.value;if(!(U instanceof Set))return w.issues.push({input:U,inst:$,expected:"set",code:"invalid_type"}),w;let z=[];w.value=new Set;for(let J of U){let G=v.valueType._zod.run({value:J,issues:[]},D);if(G instanceof Promise)z.push(G.then((W)=>M8(W,w)));else M8(G,w)}if(z.length)return Promise.all(z).then(()=>w);return w}});function M8($,v){if($.issues.length)v.issues.push(...$.issues);v.value.add($.value)}var SD=O("$ZodEnum",($,v)=>{c.init($,v);let w=p4(v.entries),D=new Set(w);$._zod.values=D,$._zod.pattern=new RegExp(`^(${w.filter((U)=>t4.has(typeof U)).map((U)=>typeof U==="string"?c$(U):U.toString()).join("|")})$`),$._zod.parse=(U,z)=>{let J=U.value;if(D.has(J))return U;return U.issues.push({code:"invalid_value",values:w,input:J,inst:$}),U}}),PD=O("$ZodLiteral",($,v)=>{if(c.init($,v),v.values.length===0)throw Error("Cannot create literal schema with no valid values");let w=new Set(v.values);$._zod.values=w,$._zod.pattern=new RegExp(`^(${v.values.map((D)=>typeof D==="string"?c$(D):D?c$(D.toString()):String(D)).join("|")})$`),$._zod.parse=(D,U)=>{let z=D.value;if(w.has(z))return D;return D.issues.push({code:"invalid_value",values:v.values,input:z,inst:$}),D}}),gD=O("$ZodFile",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{let U=w.value;if(U instanceof File)return w;return w.issues.push({expected:"file",code:"invalid_type",input:U,inst:$}),w}}),_D=O("$ZodTransform",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{if(D.direction==="backward")throw new k6($.constructor.name);let U=v.transform(w.value,w);if(D.async)return(U instanceof Promise?U:Promise.resolve(U)).then((J)=>{return w.value=J,w});if(U instanceof Promise)throw new s$;return w.value=U,w}});function S8($,v){if($.issues.length&&v===void 0)return{issues:[],value:void 0};return $}var CU=O("$ZodOptional",($,v)=>{c.init($,v),$._zod.optin="optional",$._zod.optout="optional",p($._zod,"values",()=>{return v.innerType._zod.values?new Set([...v.innerType._zod.values,void 0]):void 0}),p($._zod,"pattern",()=>{let w=v.innerType._zod.pattern;return w?new RegExp(`^(${o4(w.source)})?$`):void 0}),$._zod.parse=(w,D)=>{if(v.innerType._zod.optin==="optional"){let U=v.innerType._zod.run(w,D);if(U instanceof Promise)return U.then((z)=>S8(z,w.value));return S8(U,w.value)}if(w.value===void 0)return w;return v.innerType._zod.run(w,D)}}),TD=O("$ZodExactOptional",($,v)=>{CU.init($,v),p($._zod,"values",()=>v.innerType._zod.values),p($._zod,"pattern",()=>v.innerType._zod.pattern),$._zod.parse=(w,D)=>{return v.innerType._zod.run(w,D)}}),kD=O("$ZodNullable",($,v)=>{c.init($,v),p($._zod,"optin",()=>v.innerType._zod.optin),p($._zod,"optout",()=>v.innerType._zod.optout),p($._zod,"pattern",()=>{let w=v.innerType._zod.pattern;return w?new RegExp(`^(${o4(w.source)}|null)$`):void 0}),p($._zod,"values",()=>{return v.innerType._zod.values?new Set([...v.innerType._zod.values,null]):void 0}),$._zod.parse=(w,D)=>{if(w.value===null)return w;return v.innerType._zod.run(w,D)}}),CD=O("$ZodDefault",($,v)=>{c.init($,v),$._zod.optin="optional",p($._zod,"values",()=>v.innerType._zod.values),$._zod.parse=(w,D)=>{if(D.direction==="backward")return v.innerType._zod.run(w,D);if(w.value===void 0)return w.value=v.defaultValue,w;let U=v.innerType._zod.run(w,D);if(U instanceof Promise)return U.then((z)=>P8(z,v));return P8(U,v)}});function P8($,v){if($.value===void 0)$.value=v.defaultValue;return $}var ZD=O("$ZodPrefault",($,v)=>{c.init($,v),$._zod.optin="optional",p($._zod,"values",()=>v.innerType._zod.values),$._zod.parse=(w,D)=>{if(D.direction==="backward")return v.innerType._zod.run(w,D);if(w.value===void 0)w.value=v.defaultValue;return v.innerType._zod.run(w,D)}}),xD=O("$ZodNonOptional",($,v)=>{c.init($,v),p($._zod,"values",()=>{let w=v.innerType._zod.values;return w?new Set([...w].filter((D)=>D!==void 0)):void 0}),$._zod.parse=(w,D)=>{let U=v.innerType._zod.run(w,D);if(U instanceof Promise)return U.then((z)=>g8(z,$));return g8(U,$)}});function g8($,v){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:v});return $}var fD=O("$ZodSuccess",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{if(D.direction==="backward")throw new k6("ZodSuccess");let U=v.innerType._zod.run(w,D);if(U instanceof Promise)return U.then((z)=>{return w.value=z.issues.length===0,w});return w.value=U.issues.length===0,w}}),uD=O("$ZodCatch",($,v)=>{c.init($,v),p($._zod,"optin",()=>v.innerType._zod.optin),p($._zod,"optout",()=>v.innerType._zod.optout),p($._zod,"values",()=>v.innerType._zod.values),$._zod.parse=(w,D)=>{if(D.direction==="backward")return v.innerType._zod.run(w,D);let U=v.innerType._zod.run(w,D);if(U instanceof Promise)return U.then((z)=>{if(w.value=z.value,z.issues.length)w.value=v.catchValue({...w,error:{issues:z.issues.map((J)=>g$(J,D,O$()))},input:w.value}),w.issues=[];return w});if(w.value=U.value,U.issues.length)w.value=v.catchValue({...w,error:{issues:U.issues.map((z)=>g$(z,D,O$()))},input:w.value}),w.issues=[];return w}}),yD=O("$ZodNaN",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{if(typeof w.value!=="number"||!Number.isNaN(w.value))return w.issues.push({input:w.value,inst:$,expected:"nan",code:"invalid_type"}),w;return w}}),iD=O("$ZodPipe",($,v)=>{c.init($,v),p($._zod,"values",()=>v.in._zod.values),p($._zod,"optin",()=>v.in._zod.optin),p($._zod,"optout",()=>v.out._zod.optout),p($._zod,"propValues",()=>v.in._zod.propValues),$._zod.parse=(w,D)=>{if(D.direction==="backward"){let z=v.out._zod.run(w,D);if(z instanceof Promise)return z.then((J)=>MU(J,v.in,D));return MU(z,v.in,D)}let U=v.in._zod.run(w,D);if(U instanceof Promise)return U.then((z)=>MU(z,v.out,D));return MU(U,v.out,D)}});function MU($,v,w){if($.issues.length)return $.aborted=!0,$;return v._zod.run({value:$.value,issues:$.issues},w)}var Xv=O("$ZodCodec",($,v)=>{c.init($,v),p($._zod,"values",()=>v.in._zod.values),p($._zod,"optin",()=>v.in._zod.optin),p($._zod,"optout",()=>v.out._zod.optout),p($._zod,"propValues",()=>v.in._zod.propValues),$._zod.parse=(w,D)=>{if((D.direction||"forward")==="forward"){let z=v.in._zod.run(w,D);if(z instanceof Promise)return z.then((J)=>SU(J,v,D));return SU(z,v,D)}else{let z=v.out._zod.run(w,D);if(z instanceof Promise)return z.then((J)=>SU(J,v,D));return SU(z,v,D)}}});function SU($,v,w){if($.issues.length)return $.aborted=!0,$;if((w.direction||"forward")==="forward"){let U=v.transform($.value,$);if(U instanceof Promise)return U.then((z)=>PU($,z,v.out,w));return PU($,U,v.out,w)}else{let U=v.reverseTransform($.value,$);if(U instanceof Promise)return U.then((z)=>PU($,z,v.in,w));return PU($,U,v.in,w)}}function PU($,v,w,D){if($.issues.length)return $.aborted=!0,$;return w._zod.run({value:v,issues:$.issues},D)}var hD=O("$ZodReadonly",($,v)=>{c.init($,v),p($._zod,"propValues",()=>v.innerType._zod.propValues),p($._zod,"values",()=>v.innerType._zod.values),p($._zod,"optin",()=>v.innerType?._zod?.optin),p($._zod,"optout",()=>v.innerType?._zod?.optout),$._zod.parse=(w,D)=>{if(D.direction==="backward")return v.innerType._zod.run(w,D);let U=v.innerType._zod.run(w,D);if(U instanceof Promise)return U.then(_8);return _8(U)}});function _8($){return $.value=Object.freeze($.value),$}var cD=O("$ZodTemplateLiteral",($,v)=>{c.init($,v);let w=[];for(let D of v.parts)if(typeof D==="object"&&D!==null){if(!D._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...D._zod.traits].shift()}`);let U=D._zod.pattern instanceof RegExp?D._zod.pattern.source:D._zod.pattern;if(!U)throw Error(`Invalid template literal part: ${D._zod.traits}`);let z=U.startsWith("^")?1:0,J=U.endsWith("$")?U.length-1:U.length;w.push(U.slice(z,J))}else if(D===null||xw.has(typeof D))w.push(c$(`${D}`));else throw Error(`Invalid template literal part: ${D}`);$._zod.pattern=new RegExp(`^${w.join("")}$`),$._zod.parse=(D,U)=>{if(typeof D.value!=="string")return D.issues.push({input:D.value,inst:$,expected:"string",code:"invalid_type"}),D;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(D.value))return D.issues.push({input:D.value,inst:$,code:"invalid_format",format:v.format??"template_literal",pattern:$._zod.pattern.source}),D;return D}}),mD=O("$ZodFunction",($,v)=>{return c.init($,v),$._def=v,$._zod.def=v,$.implement=(w)=>{if(typeof w!=="function")throw Error("implement() must be called with a function");return function(...D){let U=$._def.input?NU($._def.input,D):D,z=Reflect.apply(w,this,U);if($._def.output)return NU($._def.output,z);return z}},$.implementAsync=(w)=>{if(typeof w!=="function")throw Error("implementAsync() must be called with a function");return async function(...D){let U=$._def.input?await LU($._def.input,D):D,z=await Reflect.apply(w,this,U);if($._def.output)return await LU($._def.output,z);return z}},$._zod.parse=(w,D)=>{if(typeof w.value!=="function")return w.issues.push({code:"invalid_type",expected:"function",input:w.value,inst:$}),w;if($._def.output&&$._def.output._zod.def.type==="promise")w.value=$.implementAsync(w.value);else w.value=$.implement(w.value);return w},$.input=(...w)=>{let D=$.constructor;if(Array.isArray(w[0]))return new D({type:"function",input:new kU({type:"tuple",items:w[0],rest:w[1]}),output:$._def.output});return new D({type:"function",input:w[0],output:$._def.output})},$.output=(w)=>{return new $.constructor({type:"function",input:$._def.input,output:w})},$}),nD=O("$ZodPromise",($,v)=>{c.init($,v),$._zod.parse=(w,D)=>{return Promise.resolve(w.value).then((U)=>v.innerType._zod.run({value:U,issues:[]},D))}}),lD=O("$ZodLazy",($,v)=>{c.init($,v),p($._zod,"innerType",()=>v.getter()),p($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),p($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),p($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),p($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(w,D)=>{return $._zod.innerType._zod.run(w,D)}}),rD=O("$ZodCustom",($,v)=>{G$.init($,v),c.init($,v),$._zod.parse=(w,D)=>{return w},$._zod.check=(w)=>{let D=w.value,U=v.fn(D);if(U instanceof Promise)return U.then((z)=>T8(z,w,D,$));T8(U,w,D,$);return}});function T8($,v,w,D){if(!$){let U={code:"custom",input:w,inst:D,path:[...D._zod.def.path??[]],continue:!D._zod.def.abort};if(D._zod.def.params)U.params=D._zod.def.params;v.issues.push(v4(U))}}var Nv={};Y6(Nv,{zhTW:()=>fz,zhCN:()=>xz,yo:()=>uz,vi:()=>Zz,uz:()=>Cz,ur:()=>kz,uk:()=>Qv,ua:()=>Tz,tr:()=>_z,th:()=>gz,ta:()=>Pz,sv:()=>Sz,sl:()=>Mz,ru:()=>Rz,pt:()=>Fz,ps:()=>Ez,pl:()=>bz,ota:()=>Az,no:()=>Bz,nl:()=>Kz,ms:()=>jz,mk:()=>Vz,lt:()=>Hz,ko:()=>Iz,km:()=>Yv,kh:()=>qz,ka:()=>Oz,ja:()=>Lz,it:()=>Nz,is:()=>Qz,id:()=>Wz,hy:()=>Yz,hu:()=>Gz,he:()=>Xz,frCA:()=>Jz,fr:()=>zz,fi:()=>Dz,fa:()=>wz,es:()=>Uz,eo:()=>vz,en:()=>Gv,de:()=>$z,da:()=>sD,cs:()=>eD,ca:()=>aD,bg:()=>tD,be:()=>oD,az:()=>pD,ar:()=>dD});var AO=()=>{let $={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function v(U){return $[U]??null}let w={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${U.expected}، ولكن تم إدخال ${G}`;return`مدخلات غير مقبولة: يفترض إدخال ${z}، ولكن تم إدخال ${G}`}case"invalid_value":if(U.values.length===1)return`مدخلات غير مقبولة: يفترض إدخال ${V(U.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return` أكبر من اللازم: يفترض أن تكون ${U.origin??"القيمة"} ${z} ${U.maximum.toString()} ${J.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${U.origin??"القيمة"} ${z} ${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`أصغر من اللازم: يفترض لـ ${U.origin} أن يكون ${z} ${U.minimum.toString()} ${J.unit}`;return`أصغر من اللازم: يفترض لـ ${U.origin} أن يكون ${z} ${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`نَص غير مقبول: يجب أن يبدأ بـ "${U.prefix}"`;if(z.format==="ends_with")return`نَص غير مقبول: يجب أن ينتهي بـ "${z.suffix}"`;if(z.format==="includes")return`نَص غير مقبول: يجب أن يتضمَّن "${z.includes}"`;if(z.format==="regex")return`نَص غير مقبول: يجب أن يطابق النمط ${z.pattern}`;return`${w[z.format]??U.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${U.divisor}`;case"unrecognized_keys":return`معرف${U.keys.length>1?"ات":""} غريب${U.keys.length>1?"ة":""}: ${I(U.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${U.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${U.origin}`;default:return"مدخل غير مقبول"}}};function dD(){return{localeError:AO()}}var EO=()=>{let $={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function v(U){return $[U]??null}let w={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Yanlış dəyər: gözlənilən instanceof ${U.expected}, daxil olan ${G}`;return`Yanlış dəyər: gözlənilən ${z}, daxil olan ${G}`}case"invalid_value":if(U.values.length===1)return`Yanlış dəyər: gözlənilən ${V(U.values[0])}`;return`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Çox böyük: gözlənilən ${U.origin??"dəyər"} ${z}${U.maximum.toString()} ${J.unit??"element"}`;return`Çox böyük: gözlənilən ${U.origin??"dəyər"} ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Çox kiçik: gözlənilən ${U.origin} ${z}${U.minimum.toString()} ${J.unit}`;return`Çox kiçik: gözlənilən ${U.origin} ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Yanlış mətn: "${z.prefix}" ilə başlamalıdır`;if(z.format==="ends_with")return`Yanlış mətn: "${z.suffix}" ilə bitməlidir`;if(z.format==="includes")return`Yanlış mətn: "${z.includes}" daxil olmalıdır`;if(z.format==="regex")return`Yanlış mətn: ${z.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${w[z.format]??U.format}`}case"not_multiple_of":return`Yanlış ədəd: ${U.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${U.keys.length>1?"lar":""}: ${I(U.keys,", ")}`;case"invalid_key":return`${U.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${U.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};function pD(){return{localeError:EO()}}function u8($,v,w,D){let U=Math.abs($),z=U%10,J=U%100;if(J>=11&&J<=19)return D;if(z===1)return v;if(z>=2&&z<=4)return w;return D}var bO=()=>{let $={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function v(U){return $[U]??null}let w={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},D={nan:"NaN",number:"лік",array:"масіў"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Няправільны ўвод: чакаўся instanceof ${U.expected}, атрымана ${G}`;return`Няправільны ўвод: чакаўся ${z}, атрымана ${G}`}case"invalid_value":if(U.values.length===1)return`Няправільны ўвод: чакалася ${V(U.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J){let G=Number(U.maximum),W=u8(G,J.unit.one,J.unit.few,J.unit.many);return`Занадта вялікі: чакалася, што ${U.origin??"значэнне"} павінна ${J.verb} ${z}${U.maximum.toString()} ${W}`}return`Занадта вялікі: чакалася, што ${U.origin??"значэнне"} павінна быць ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J){let G=Number(U.minimum),W=u8(G,J.unit.one,J.unit.few,J.unit.many);return`Занадта малы: чакалася, што ${U.origin} павінна ${J.verb} ${z}${U.minimum.toString()} ${W}`}return`Занадта малы: чакалася, што ${U.origin} павінна быць ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Няправільны радок: павінен пачынацца з "${z.prefix}"`;if(z.format==="ends_with")return`Няправільны радок: павінен заканчвацца на "${z.suffix}"`;if(z.format==="includes")return`Няправільны радок: павінен змяшчаць "${z.includes}"`;if(z.format==="regex")return`Няправільны радок: павінен адпавядаць шаблону ${z.pattern}`;return`Няправільны ${w[z.format]??U.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${U.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${U.keys.length>1?"ключы":"ключ"}: ${I(U.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${U.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${U.origin}`;default:return"Няправільны ўвод"}}};function oD(){return{localeError:bO()}}var FO=()=>{let $={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function v(U){return $[U]??null}let w={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},D={nan:"NaN",number:"число",array:"масив"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Невалиден вход: очакван instanceof ${U.expected}, получен ${G}`;return`Невалиден вход: очакван ${z}, получен ${G}`}case"invalid_value":if(U.values.length===1)return`Невалиден вход: очакван ${V(U.values[0])}`;return`Невалидна опция: очаквано едно от ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Твърде голямо: очаква се ${U.origin??"стойност"} да съдържа ${z}${U.maximum.toString()} ${J.unit??"елемента"}`;return`Твърде голямо: очаква се ${U.origin??"стойност"} да бъде ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Твърде малко: очаква се ${U.origin} да съдържа ${z}${U.minimum.toString()} ${J.unit}`;return`Твърде малко: очаква се ${U.origin} да бъде ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Невалиден низ: трябва да започва с "${z.prefix}"`;if(z.format==="ends_with")return`Невалиден низ: трябва да завършва с "${z.suffix}"`;if(z.format==="includes")return`Невалиден низ: трябва да включва "${z.includes}"`;if(z.format==="regex")return`Невалиден низ: трябва да съвпада с ${z.pattern}`;let J="Невалиден";if(z.format==="emoji")J="Невалидно";if(z.format==="datetime")J="Невалидно";if(z.format==="date")J="Невалидна";if(z.format==="time")J="Невалидно";if(z.format==="duration")J="Невалидна";return`${J} ${w[z.format]??U.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${U.divisor}`;case"unrecognized_keys":return`Неразпознат${U.keys.length>1?"и":""} ключ${U.keys.length>1?"ове":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${U.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${U.origin}`;default:return"Невалиден вход"}}};function tD(){return{localeError:FO()}}var RO=()=>{let $={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function v(U){return $[U]??null}let w={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Tipus invàlid: s'esperava instanceof ${U.expected}, s'ha rebut ${G}`;return`Tipus invàlid: s'esperava ${z}, s'ha rebut ${G}`}case"invalid_value":if(U.values.length===1)return`Valor invàlid: s'esperava ${V(U.values[0])}`;return`Opció invàlida: s'esperava una de ${I(U.values," o ")}`;case"too_big":{let z=U.inclusive?"com a màxim":"menys de",J=v(U.origin);if(J)return`Massa gran: s'esperava que ${U.origin??"el valor"} contingués ${z} ${U.maximum.toString()} ${J.unit??"elements"}`;return`Massa gran: s'esperava que ${U.origin??"el valor"} fos ${z} ${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?"com a mínim":"més de",J=v(U.origin);if(J)return`Massa petit: s'esperava que ${U.origin} contingués ${z} ${U.minimum.toString()} ${J.unit}`;return`Massa petit: s'esperava que ${U.origin} fos ${z} ${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Format invàlid: ha de començar amb "${z.prefix}"`;if(z.format==="ends_with")return`Format invàlid: ha d'acabar amb "${z.suffix}"`;if(z.format==="includes")return`Format invàlid: ha d'incloure "${z.includes}"`;if(z.format==="regex")return`Format invàlid: ha de coincidir amb el patró ${z.pattern}`;return`Format invàlid per a ${w[z.format]??U.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${U.divisor}`;case"unrecognized_keys":return`Clau${U.keys.length>1?"s":""} no reconeguda${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${U.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${U.origin}`;default:return"Entrada invàlida"}}};function aD(){return{localeError:RO()}}var MO=()=>{let $={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function v(U){return $[U]??null}let w={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},D={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Neplatný vstup: očekáváno instanceof ${U.expected}, obdrženo ${G}`;return`Neplatný vstup: očekáváno ${z}, obdrženo ${G}`}case"invalid_value":if(U.values.length===1)return`Neplatný vstup: očekáváno ${V(U.values[0])}`;return`Neplatná možnost: očekávána jedna z hodnot ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Hodnota je příliš velká: ${U.origin??"hodnota"} musí mít ${z}${U.maximum.toString()} ${J.unit??"prvků"}`;return`Hodnota je příliš velká: ${U.origin??"hodnota"} musí být ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Hodnota je příliš malá: ${U.origin??"hodnota"} musí mít ${z}${U.minimum.toString()} ${J.unit??"prvků"}`;return`Hodnota je příliš malá: ${U.origin??"hodnota"} musí být ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Neplatný řetězec: musí začínat na "${z.prefix}"`;if(z.format==="ends_with")return`Neplatný řetězec: musí končit na "${z.suffix}"`;if(z.format==="includes")return`Neplatný řetězec: musí obsahovat "${z.includes}"`;if(z.format==="regex")return`Neplatný řetězec: musí odpovídat vzoru ${z.pattern}`;return`Neplatný formát ${w[z.format]??U.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${U.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${I(U.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${U.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${U.origin}`;default:return"Neplatný vstup"}}};function eD(){return{localeError:MO()}}var SO=()=>{let $={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function v(U){return $[U]??null}let w={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},D={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Ugyldigt input: forventede instanceof ${U.expected}, fik ${G}`;return`Ugyldigt input: forventede ${z}, fik ${G}`}case"invalid_value":if(U.values.length===1)return`Ugyldig værdi: forventede ${V(U.values[0])}`;return`Ugyldigt valg: forventede en af følgende ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin),G=D[U.origin]??U.origin;if(J)return`For stor: forventede ${G??"value"} ${J.verb} ${z} ${U.maximum.toString()} ${J.unit??"elementer"}`;return`For stor: forventede ${G??"value"} havde ${z} ${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin),G=D[U.origin]??U.origin;if(J)return`For lille: forventede ${G} ${J.verb} ${z} ${U.minimum.toString()} ${J.unit}`;return`For lille: forventede ${G} havde ${z} ${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Ugyldig streng: skal starte med "${z.prefix}"`;if(z.format==="ends_with")return`Ugyldig streng: skal ende med "${z.suffix}"`;if(z.format==="includes")return`Ugyldig streng: skal indeholde "${z.includes}"`;if(z.format==="regex")return`Ugyldig streng: skal matche mønsteret ${z.pattern}`;return`Ugyldig ${w[z.format]??U.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${U.divisor}`;case"unrecognized_keys":return`${U.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${I(U.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${U.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${U.origin}`;default:return"Ugyldigt input"}}};function sD(){return{localeError:SO()}}var PO=()=>{let $={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function v(U){return $[U]??null}let w={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},D={nan:"NaN",number:"Zahl",array:"Array"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Ungültige Eingabe: erwartet instanceof ${U.expected}, erhalten ${G}`;return`Ungültige Eingabe: erwartet ${z}, erhalten ${G}`}case"invalid_value":if(U.values.length===1)return`Ungültige Eingabe: erwartet ${V(U.values[0])}`;return`Ungültige Option: erwartet eine von ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Zu groß: erwartet, dass ${U.origin??"Wert"} ${z}${U.maximum.toString()} ${J.unit??"Elemente"} hat`;return`Zu groß: erwartet, dass ${U.origin??"Wert"} ${z}${U.maximum.toString()} ist`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Zu klein: erwartet, dass ${U.origin} ${z}${U.minimum.toString()} ${J.unit} hat`;return`Zu klein: erwartet, dass ${U.origin} ${z}${U.minimum.toString()} ist`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Ungültiger String: muss mit "${z.prefix}" beginnen`;if(z.format==="ends_with")return`Ungültiger String: muss mit "${z.suffix}" enden`;if(z.format==="includes")return`Ungültiger String: muss "${z.includes}" enthalten`;if(z.format==="regex")return`Ungültiger String: muss dem Muster ${z.pattern} entsprechen`;return`Ungültig: ${w[z.format]??U.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${U.divisor} sein`;case"unrecognized_keys":return`${U.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${I(U.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${U.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${U.origin}`;default:return"Ungültige Eingabe"}}};function $z(){return{localeError:PO()}}var gO=()=>{let $={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function v(U){return $[U]??null}let w={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;return`Invalid input: expected ${z}, received ${G}`}case"invalid_value":if(U.values.length===1)return`Invalid input: expected ${V(U.values[0])}`;return`Invalid option: expected one of ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Too big: expected ${U.origin??"value"} to have ${z}${U.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${U.origin??"value"} to be ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Too small: expected ${U.origin} to have ${z}${U.minimum.toString()} ${J.unit}`;return`Too small: expected ${U.origin} to be ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Invalid string: must start with "${z.prefix}"`;if(z.format==="ends_with")return`Invalid string: must end with "${z.suffix}"`;if(z.format==="includes")return`Invalid string: must include "${z.includes}"`;if(z.format==="regex")return`Invalid string: must match pattern ${z.pattern}`;return`Invalid ${w[z.format]??U.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${U.divisor}`;case"unrecognized_keys":return`Unrecognized key${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Invalid key in ${U.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${U.origin}`;default:return"Invalid input"}}};function Gv(){return{localeError:gO()}}var _O=()=>{let $={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function v(U){return $[U]??null}let w={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},D={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Nevalida enigo: atendiĝis instanceof ${U.expected}, riceviĝis ${G}`;return`Nevalida enigo: atendiĝis ${z}, riceviĝis ${G}`}case"invalid_value":if(U.values.length===1)return`Nevalida enigo: atendiĝis ${V(U.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Tro granda: atendiĝis ke ${U.origin??"valoro"} havu ${z}${U.maximum.toString()} ${J.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${U.origin??"valoro"} havu ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Tro malgranda: atendiĝis ke ${U.origin} havu ${z}${U.minimum.toString()} ${J.unit}`;return`Tro malgranda: atendiĝis ke ${U.origin} estu ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Nevalida karaktraro: devas komenciĝi per "${z.prefix}"`;if(z.format==="ends_with")return`Nevalida karaktraro: devas finiĝi per "${z.suffix}"`;if(z.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${z.includes}"`;if(z.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${z.pattern}`;return`Nevalida ${w[z.format]??U.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${U.divisor}`;case"unrecognized_keys":return`Nekonata${U.keys.length>1?"j":""} ŝlosilo${U.keys.length>1?"j":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${U.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${U.origin}`;default:return"Nevalida enigo"}}};function vz(){return{localeError:_O()}}var TO=()=>{let $={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function v(U){return $[U]??null}let w={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},D={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Entrada inválida: se esperaba instanceof ${U.expected}, recibido ${G}`;return`Entrada inválida: se esperaba ${z}, recibido ${G}`}case"invalid_value":if(U.values.length===1)return`Entrada inválida: se esperaba ${V(U.values[0])}`;return`Opción inválida: se esperaba una de ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin),G=D[U.origin]??U.origin;if(J)return`Demasiado grande: se esperaba que ${G??"valor"} tuviera ${z}${U.maximum.toString()} ${J.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${G??"valor"} fuera ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin),G=D[U.origin]??U.origin;if(J)return`Demasiado pequeño: se esperaba que ${G} tuviera ${z}${U.minimum.toString()} ${J.unit}`;return`Demasiado pequeño: se esperaba que ${G} fuera ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Cadena inválida: debe comenzar con "${z.prefix}"`;if(z.format==="ends_with")return`Cadena inválida: debe terminar en "${z.suffix}"`;if(z.format==="includes")return`Cadena inválida: debe incluir "${z.includes}"`;if(z.format==="regex")return`Cadena inválida: debe coincidir con el patrón ${z.pattern}`;return`Inválido ${w[z.format]??U.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${U.divisor}`;case"unrecognized_keys":return`Llave${U.keys.length>1?"s":""} desconocida${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Llave inválida en ${D[U.origin]??U.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${D[U.origin]??U.origin}`;default:return"Entrada inválida"}}};function Uz(){return{localeError:TO()}}var kO=()=>{let $={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function v(U){return $[U]??null}let w={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},D={nan:"NaN",number:"عدد",array:"آرایه"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`ورودی نامعتبر: می‌بایست instanceof ${U.expected} می‌بود، ${G} دریافت شد`;return`ورودی نامعتبر: می‌بایست ${z} می‌بود، ${G} دریافت شد`}case"invalid_value":if(U.values.length===1)return`ورودی نامعتبر: می‌بایست ${V(U.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${I(U.values,"|")} می‌بود`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`خیلی بزرگ: ${U.origin??"مقدار"} باید ${z}${U.maximum.toString()} ${J.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${U.origin??"مقدار"} باید ${z}${U.maximum.toString()} باشد`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`خیلی کوچک: ${U.origin} باید ${z}${U.minimum.toString()} ${J.unit} باشد`;return`خیلی کوچک: ${U.origin} باید ${z}${U.minimum.toString()} باشد`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`رشته نامعتبر: باید با "${z.prefix}" شروع شود`;if(z.format==="ends_with")return`رشته نامعتبر: باید با "${z.suffix}" تمام شود`;if(z.format==="includes")return`رشته نامعتبر: باید شامل "${z.includes}" باشد`;if(z.format==="regex")return`رشته نامعتبر: باید با الگوی ${z.pattern} مطابقت داشته باشد`;return`${w[z.format]??U.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${U.divisor} باشد`;case"unrecognized_keys":return`کلید${U.keys.length>1?"های":""} ناشناس: ${I(U.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${U.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${U.origin}`;default:return"ورودی نامعتبر"}}};function wz(){return{localeError:kO()}}var CO=()=>{let $={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function v(U){return $[U]??null}let w={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Virheellinen tyyppi: odotettiin instanceof ${U.expected}, oli ${G}`;return`Virheellinen tyyppi: odotettiin ${z}, oli ${G}`}case"invalid_value":if(U.values.length===1)return`Virheellinen syöte: täytyy olla ${V(U.values[0])}`;return`Virheellinen valinta: täytyy olla yksi seuraavista: ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Liian suuri: ${J.subject} täytyy olla ${z}${U.maximum.toString()} ${J.unit}`.trim();return`Liian suuri: arvon täytyy olla ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Liian pieni: ${J.subject} täytyy olla ${z}${U.minimum.toString()} ${J.unit}`.trim();return`Liian pieni: arvon täytyy olla ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Virheellinen syöte: täytyy alkaa "${z.prefix}"`;if(z.format==="ends_with")return`Virheellinen syöte: täytyy loppua "${z.suffix}"`;if(z.format==="includes")return`Virheellinen syöte: täytyy sisältää "${z.includes}"`;if(z.format==="regex")return`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${z.pattern}`;return`Virheellinen ${w[z.format]??U.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${U.divisor} monikerta`;case"unrecognized_keys":return`${U.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${I(U.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};function Dz(){return{localeError:CO()}}var ZO=()=>{let $={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function v(U){return $[U]??null}let w={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},D={nan:"NaN",number:"nombre",array:"tableau"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Entrée invalide : instanceof ${U.expected} attendu, ${G} reçu`;return`Entrée invalide : ${z} attendu, ${G} reçu`}case"invalid_value":if(U.values.length===1)return`Entrée invalide : ${V(U.values[0])} attendu`;return`Option invalide : une valeur parmi ${I(U.values,"|")} attendue`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Trop grand : ${U.origin??"valeur"} doit ${J.verb} ${z}${U.maximum.toString()} ${J.unit??"élément(s)"}`;return`Trop grand : ${U.origin??"valeur"} doit être ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Trop petit : ${U.origin} doit ${J.verb} ${z}${U.minimum.toString()} ${J.unit}`;return`Trop petit : ${U.origin} doit être ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Chaîne invalide : doit commencer par "${z.prefix}"`;if(z.format==="ends_with")return`Chaîne invalide : doit se terminer par "${z.suffix}"`;if(z.format==="includes")return`Chaîne invalide : doit inclure "${z.includes}"`;if(z.format==="regex")return`Chaîne invalide : doit correspondre au modèle ${z.pattern}`;return`${w[z.format]??U.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${U.divisor}`;case"unrecognized_keys":return`Clé${U.keys.length>1?"s":""} non reconnue${U.keys.length>1?"s":""} : ${I(U.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${U.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${U.origin}`;default:return"Entrée invalide"}}};function zz(){return{localeError:ZO()}}var xO=()=>{let $={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function v(U){return $[U]??null}let w={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Entrée invalide : attendu instanceof ${U.expected}, reçu ${G}`;return`Entrée invalide : attendu ${z}, reçu ${G}`}case"invalid_value":if(U.values.length===1)return`Entrée invalide : attendu ${V(U.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"≤":"<",J=v(U.origin);if(J)return`Trop grand : attendu que ${U.origin??"la valeur"} ait ${z}${U.maximum.toString()} ${J.unit}`;return`Trop grand : attendu que ${U.origin??"la valeur"} soit ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?"≥":">",J=v(U.origin);if(J)return`Trop petit : attendu que ${U.origin} ait ${z}${U.minimum.toString()} ${J.unit}`;return`Trop petit : attendu que ${U.origin} soit ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Chaîne invalide : doit commencer par "${z.prefix}"`;if(z.format==="ends_with")return`Chaîne invalide : doit se terminer par "${z.suffix}"`;if(z.format==="includes")return`Chaîne invalide : doit inclure "${z.includes}"`;if(z.format==="regex")return`Chaîne invalide : doit correspondre au motif ${z.pattern}`;return`${w[z.format]??U.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${U.divisor}`;case"unrecognized_keys":return`Clé${U.keys.length>1?"s":""} non reconnue${U.keys.length>1?"s":""} : ${I(U.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${U.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${U.origin}`;default:return"Entrée invalide"}}};function Jz(){return{localeError:xO()}}var fO=()=>{let $={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},v={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},w=(Y)=>Y?$[Y]:void 0,D=(Y)=>{let Q=w(Y);if(Q)return Q.label;return Y??$.unknown.label},U=(Y)=>`ה${D(Y)}`,z=(Y)=>{return(w(Y)?.gender??"m")==="f"?"צריכה להיות":"צריך להיות"},J=(Y)=>{if(!Y)return null;return v[Y]??null},G={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},W={nan:"NaN"};return(Y)=>{switch(Y.code){case"invalid_type":{let Q=Y.expected,N=W[Q??""]??D(Q),L=B(Y.input),q=W[L]??$[L]?.label??L;if(/^[A-Z]/.test(Y.expected))return`קלט לא תקין: צריך להיות instanceof ${Y.expected}, התקבל ${q}`;return`קלט לא תקין: צריך להיות ${N}, התקבל ${q}`}case"invalid_value":{if(Y.values.length===1)return`ערך לא תקין: הערך חייב להיות ${V(Y.values[0])}`;let Q=Y.values.map((q)=>V(q));if(Y.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${Q[0]} או ${Q[1]}`;let N=Q[Q.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${Q.slice(0,-1).join(", ")} או ${N}`}case"too_big":{let Q=J(Y.origin),N=U(Y.origin??"value");if(Y.origin==="string")return`${Q?.longLabel??"ארוך"} מדי: ${N} צריכה להכיל ${Y.maximum.toString()} ${Q?.unit??""} ${Y.inclusive?"או פחות":"לכל היותר"}`.trim();if(Y.origin==="number"){let M=Y.inclusive?`קטן או שווה ל-${Y.maximum}`:`קטן מ-${Y.maximum}`;return`גדול מדי: ${N} צריך להיות ${M}`}if(Y.origin==="array"||Y.origin==="set"){let M=Y.origin==="set"?"צריכה":"צריך",C=Y.inclusive?`${Y.maximum} ${Q?.unit??""} או פחות`:`פחות מ-${Y.maximum} ${Q?.unit??""}`;return`גדול מדי: ${N} ${M} להכיל ${C}`.trim()}let L=Y.inclusive?"<=":"<",q=z(Y.origin??"value");if(Q?.unit)return`${Q.longLabel} מדי: ${N} ${q} ${L}${Y.maximum.toString()} ${Q.unit}`;return`${Q?.longLabel??"גדול"} מדי: ${N} ${q} ${L}${Y.maximum.toString()}`}case"too_small":{let Q=J(Y.origin),N=U(Y.origin??"value");if(Y.origin==="string")return`${Q?.shortLabel??"קצר"} מדי: ${N} צריכה להכיל ${Y.minimum.toString()} ${Q?.unit??""} ${Y.inclusive?"או יותר":"לפחות"}`.trim();if(Y.origin==="number"){let M=Y.inclusive?`גדול או שווה ל-${Y.minimum}`:`גדול מ-${Y.minimum}`;return`קטן מדי: ${N} צריך להיות ${M}`}if(Y.origin==="array"||Y.origin==="set"){let M=Y.origin==="set"?"צריכה":"צריך";if(Y.minimum===1&&Y.inclusive){let y=Y.origin==="set"?"לפחות פריט אחד":"לפחות פריט אחד";return`קטן מדי: ${N} ${M} להכיל ${y}`}let C=Y.inclusive?`${Y.minimum} ${Q?.unit??""} או יותר`:`יותר מ-${Y.minimum} ${Q?.unit??""}`;return`קטן מדי: ${N} ${M} להכיל ${C}`.trim()}let L=Y.inclusive?">=":">",q=z(Y.origin??"value");if(Q?.unit)return`${Q.shortLabel} מדי: ${N} ${q} ${L}${Y.minimum.toString()} ${Q.unit}`;return`${Q?.shortLabel??"קטן"} מדי: ${N} ${q} ${L}${Y.minimum.toString()}`}case"invalid_format":{let Q=Y;if(Q.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${Q.prefix}"`;if(Q.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${Q.suffix}"`;if(Q.format==="includes")return`המחרוזת חייבת לכלול "${Q.includes}"`;if(Q.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${Q.pattern}`;let N=G[Q.format],L=N?.label??Q.format,M=(N?.gender??"m")==="f"?"תקינה":"תקין";return`${L} לא ${M}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${Y.divisor}`;case"unrecognized_keys":return`מפתח${Y.keys.length>1?"ות":""} לא מזוה${Y.keys.length>1?"ים":"ה"}: ${I(Y.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${U(Y.origin??"array")}`;default:return"קלט לא תקין"}}};function Xz(){return{localeError:fO()}}var uO=()=>{let $={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function v(U){return $[U]??null}let w={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},D={nan:"NaN",number:"szám",array:"tömb"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Érvénytelen bemenet: a várt érték instanceof ${U.expected}, a kapott érték ${G}`;return`Érvénytelen bemenet: a várt érték ${z}, a kapott érték ${G}`}case"invalid_value":if(U.values.length===1)return`Érvénytelen bemenet: a várt érték ${V(U.values[0])}`;return`Érvénytelen opció: valamelyik érték várt ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Túl nagy: ${U.origin??"érték"} mérete túl nagy ${z}${U.maximum.toString()} ${J.unit??"elem"}`;return`Túl nagy: a bemeneti érték ${U.origin??"érték"} túl nagy: ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Túl kicsi: a bemeneti érték ${U.origin} mérete túl kicsi ${z}${U.minimum.toString()} ${J.unit}`;return`Túl kicsi: a bemeneti érték ${U.origin} túl kicsi ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Érvénytelen string: "${z.prefix}" értékkel kell kezdődnie`;if(z.format==="ends_with")return`Érvénytelen string: "${z.suffix}" értékkel kell végződnie`;if(z.format==="includes")return`Érvénytelen string: "${z.includes}" értéket kell tartalmaznia`;if(z.format==="regex")return`Érvénytelen string: ${z.pattern} mintának kell megfelelnie`;return`Érvénytelen ${w[z.format]??U.format}`}case"not_multiple_of":return`Érvénytelen szám: ${U.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${U.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${U.origin}`;default:return"Érvénytelen bemenet"}}};function Gz(){return{localeError:uO()}}function y8($,v,w){return Math.abs($)===1?v:w}function X4($){if(!$)return"";let v=["ա","ե","ը","ի","ո","ու","օ"],w=$[$.length-1];return $+(v.includes(w)?"ն":"ը")}var yO=()=>{let $={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}};function v(U){return $[U]??null}let w={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},D={nan:"NaN",number:"թիվ",array:"զանգված"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${U.expected}, ստացվել է ${G}`;return`Սխալ մուտքագրում․ սպասվում էր ${z}, ստացվել է ${G}`}case"invalid_value":if(U.values.length===1)return`Սխալ մուտքագրում․ սպասվում էր ${V(U.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J){let G=Number(U.maximum),W=y8(G,J.unit.one,J.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${X4(U.origin??"արժեք")} կունենա ${z}${U.maximum.toString()} ${W}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${X4(U.origin??"արժեք")} լինի ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J){let G=Number(U.minimum),W=y8(G,J.unit.one,J.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${X4(U.origin)} կունենա ${z}${U.minimum.toString()} ${W}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${X4(U.origin)} լինի ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Սխալ տող․ պետք է սկսվի "${z.prefix}"-ով`;if(z.format==="ends_with")return`Սխալ տող․ պետք է ավարտվի "${z.suffix}"-ով`;if(z.format==="includes")return`Սխալ տող․ պետք է պարունակի "${z.includes}"`;if(z.format==="regex")return`Սխալ տող․ պետք է համապատասխանի ${z.pattern} ձևաչափին`;return`Սխալ ${w[z.format]??U.format}`}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${U.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${U.keys.length>1?"ներ":""}. ${I(U.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${X4(U.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${X4(U.origin)}-ում`;default:return"Սխալ մուտքագրում"}}};function Yz(){return{localeError:yO()}}var iO=()=>{let $={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function v(U){return $[U]??null}let w={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Input tidak valid: diharapkan instanceof ${U.expected}, diterima ${G}`;return`Input tidak valid: diharapkan ${z}, diterima ${G}`}case"invalid_value":if(U.values.length===1)return`Input tidak valid: diharapkan ${V(U.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Terlalu besar: diharapkan ${U.origin??"value"} memiliki ${z}${U.maximum.toString()} ${J.unit??"elemen"}`;return`Terlalu besar: diharapkan ${U.origin??"value"} menjadi ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Terlalu kecil: diharapkan ${U.origin} memiliki ${z}${U.minimum.toString()} ${J.unit}`;return`Terlalu kecil: diharapkan ${U.origin} menjadi ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`String tidak valid: harus dimulai dengan "${z.prefix}"`;if(z.format==="ends_with")return`String tidak valid: harus berakhir dengan "${z.suffix}"`;if(z.format==="includes")return`String tidak valid: harus menyertakan "${z.includes}"`;if(z.format==="regex")return`String tidak valid: harus sesuai pola ${z.pattern}`;return`${w[z.format]??U.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${U.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${U.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${U.origin}`;default:return"Input tidak valid"}}};function Wz(){return{localeError:iO()}}var hO=()=>{let $={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function v(U){return $[U]??null}let w={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},D={nan:"NaN",number:"númer",array:"fylki"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Rangt gildi: Þú slóst inn ${G} þar sem á að vera instanceof ${U.expected}`;return`Rangt gildi: Þú slóst inn ${G} þar sem á að vera ${z}`}case"invalid_value":if(U.values.length===1)return`Rangt gildi: gert ráð fyrir ${V(U.values[0])}`;return`Ógilt val: má vera eitt af eftirfarandi ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Of stórt: gert er ráð fyrir að ${U.origin??"gildi"} hafi ${z}${U.maximum.toString()} ${J.unit??"hluti"}`;return`Of stórt: gert er ráð fyrir að ${U.origin??"gildi"} sé ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Of lítið: gert er ráð fyrir að ${U.origin} hafi ${z}${U.minimum.toString()} ${J.unit}`;return`Of lítið: gert er ráð fyrir að ${U.origin} sé ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Ógildur strengur: verður að byrja á "${z.prefix}"`;if(z.format==="ends_with")return`Ógildur strengur: verður að enda á "${z.suffix}"`;if(z.format==="includes")return`Ógildur strengur: verður að innihalda "${z.includes}"`;if(z.format==="regex")return`Ógildur strengur: verður að fylgja mynstri ${z.pattern}`;return`Rangt ${w[z.format]??U.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${U.divisor}`;case"unrecognized_keys":return`Óþekkt ${U.keys.length>1?"ir lyklar":"ur lykill"}: ${I(U.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${U.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${U.origin}`;default:return"Rangt gildi"}}};function Qz(){return{localeError:hO()}}var cO=()=>{let $={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function v(U){return $[U]??null}let w={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},D={nan:"NaN",number:"numero",array:"vettore"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Input non valido: atteso instanceof ${U.expected}, ricevuto ${G}`;return`Input non valido: atteso ${z}, ricevuto ${G}`}case"invalid_value":if(U.values.length===1)return`Input non valido: atteso ${V(U.values[0])}`;return`Opzione non valida: atteso uno tra ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Troppo grande: ${U.origin??"valore"} deve avere ${z}${U.maximum.toString()} ${J.unit??"elementi"}`;return`Troppo grande: ${U.origin??"valore"} deve essere ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Troppo piccolo: ${U.origin} deve avere ${z}${U.minimum.toString()} ${J.unit}`;return`Troppo piccolo: ${U.origin} deve essere ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Stringa non valida: deve iniziare con "${z.prefix}"`;if(z.format==="ends_with")return`Stringa non valida: deve terminare con "${z.suffix}"`;if(z.format==="includes")return`Stringa non valida: deve includere "${z.includes}"`;if(z.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${z.pattern}`;return`Invalid ${w[z.format]??U.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${U.divisor}`;case"unrecognized_keys":return`Chiav${U.keys.length>1?"i":"e"} non riconosciut${U.keys.length>1?"e":"a"}: ${I(U.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${U.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${U.origin}`;default:return"Input non valido"}}};function Nz(){return{localeError:cO()}}var mO=()=>{let $={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function v(U){return $[U]??null}let w={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},D={nan:"NaN",number:"数値",array:"配列"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`無効な入力: instanceof ${U.expected}が期待されましたが、${G}が入力されました`;return`無効な入力: ${z}が期待されましたが、${G}が入力されました`}case"invalid_value":if(U.values.length===1)return`無効な入力: ${V(U.values[0])}が期待されました`;return`無効な選択: ${I(U.values,"、")}のいずれかである必要があります`;case"too_big":{let z=U.inclusive?"以下である":"より小さい",J=v(U.origin);if(J)return`大きすぎる値: ${U.origin??"値"}は${U.maximum.toString()}${J.unit??"要素"}${z}必要があります`;return`大きすぎる値: ${U.origin??"値"}は${U.maximum.toString()}${z}必要があります`}case"too_small":{let z=U.inclusive?"以上である":"より大きい",J=v(U.origin);if(J)return`小さすぎる値: ${U.origin}は${U.minimum.toString()}${J.unit}${z}必要があります`;return`小さすぎる値: ${U.origin}は${U.minimum.toString()}${z}必要があります`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`無効な文字列: "${z.prefix}"で始まる必要があります`;if(z.format==="ends_with")return`無効な文字列: "${z.suffix}"で終わる必要があります`;if(z.format==="includes")return`無効な文字列: "${z.includes}"を含む必要があります`;if(z.format==="regex")return`無効な文字列: パターン${z.pattern}に一致する必要があります`;return`無効な${w[z.format]??U.format}`}case"not_multiple_of":return`無効な数値: ${U.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${U.keys.length>1?"群":""}: ${I(U.keys,"、")}`;case"invalid_key":return`${U.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${U.origin}内の無効な値`;default:return"無効な入力"}}};function Lz(){return{localeError:mO()}}var nO=()=>{let $={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function v(U){return $[U]??null}let w={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი",base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},D={nan:"NaN",number:"რიცხვი",string:"სტრინგი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${U.expected}, მიღებული ${G}`;return`არასწორი შეყვანა: მოსალოდნელი ${z}, მიღებული ${G}`}case"invalid_value":if(U.values.length===1)return`არასწორი შეყვანა: მოსალოდნელი ${V(U.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${I(U.values,"|")}-დან`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`ზედმეტად დიდი: მოსალოდნელი ${U.origin??"მნიშვნელობა"} ${J.verb} ${z}${U.maximum.toString()} ${J.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${U.origin??"მნიშვნელობა"} იყოს ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`ზედმეტად პატარა: მოსალოდნელი ${U.origin} ${J.verb} ${z}${U.minimum.toString()} ${J.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${U.origin} იყოს ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`არასწორი სტრინგი: უნდა იწყებოდეს "${z.prefix}"-ით`;if(z.format==="ends_with")return`არასწორი სტრინგი: უნდა მთავრდებოდეს "${z.suffix}"-ით`;if(z.format==="includes")return`არასწორი სტრინგი: უნდა შეიცავდეს "${z.includes}"-ს`;if(z.format==="regex")return`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${z.pattern}`;return`არასწორი ${w[z.format]??U.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${U.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${U.keys.length>1?"ები":"ი"}: ${I(U.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${U.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${U.origin}-ში`;default:return"არასწორი შეყვანა"}}};function Oz(){return{localeError:nO()}}var lO=()=>{let $={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function v(U){return $[U]??null}let w={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},D={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${U.expected} ប៉ុន្តែទទួលបាន ${G}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${z} ប៉ុន្តែទទួលបាន ${G}`}case"invalid_value":if(U.values.length===1)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${V(U.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`ធំពេក៖ ត្រូវការ ${U.origin??"តម្លៃ"} ${z} ${U.maximum.toString()} ${J.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${U.origin??"តម្លៃ"} ${z} ${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`តូចពេក៖ ត្រូវការ ${U.origin} ${z} ${U.minimum.toString()} ${J.unit}`;return`តូចពេក៖ ត្រូវការ ${U.origin} ${z} ${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${z.prefix}"`;if(z.format==="ends_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${z.suffix}"`;if(z.format==="includes")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${z.includes}"`;if(z.format==="regex")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${z.pattern}`;return`មិនត្រឹមត្រូវ៖ ${w[z.format]??U.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${U.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${I(U.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${U.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${U.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};function Yv(){return{localeError:lO()}}function qz(){return Yv()}var rO=()=>{let $={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function v(U){return $[U]??null}let w={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`잘못된 입력: 예상 타입은 instanceof ${U.expected}, 받은 타입은 ${G}입니다`;return`잘못된 입력: 예상 타입은 ${z}, 받은 타입은 ${G}입니다`}case"invalid_value":if(U.values.length===1)return`잘못된 입력: 값은 ${V(U.values[0])} 이어야 합니다`;return`잘못된 옵션: ${I(U.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let z=U.inclusive?"이하":"미만",J=z==="미만"?"이어야 합니다":"여야 합니다",G=v(U.origin),W=G?.unit??"요소";if(G)return`${U.origin??"값"}이 너무 큽니다: ${U.maximum.toString()}${W} ${z}${J}`;return`${U.origin??"값"}이 너무 큽니다: ${U.maximum.toString()} ${z}${J}`}case"too_small":{let z=U.inclusive?"이상":"초과",J=z==="이상"?"이어야 합니다":"여야 합니다",G=v(U.origin),W=G?.unit??"요소";if(G)return`${U.origin??"값"}이 너무 작습니다: ${U.minimum.toString()}${W} ${z}${J}`;return`${U.origin??"값"}이 너무 작습니다: ${U.minimum.toString()} ${z}${J}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`잘못된 문자열: "${z.prefix}"(으)로 시작해야 합니다`;if(z.format==="ends_with")return`잘못된 문자열: "${z.suffix}"(으)로 끝나야 합니다`;if(z.format==="includes")return`잘못된 문자열: "${z.includes}"을(를) 포함해야 합니다`;if(z.format==="regex")return`잘못된 문자열: 정규식 ${z.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${w[z.format]??U.format}`}case"not_multiple_of":return`잘못된 숫자: ${U.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${I(U.keys,", ")}`;case"invalid_key":return`잘못된 키: ${U.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${U.origin}`;default:return"잘못된 입력"}}};function Iz(){return{localeError:rO()}}var Wv=($)=>{return $.charAt(0).toUpperCase()+$.slice(1)};function i8($){let v=Math.abs($),w=v%10,D=v%100;if(D>=11&&D<=19||w===0)return"many";if(w===1)return"one";return"few"}var dO=()=>{let $={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function v(U,z,J,G){let W=$[U]??null;if(W===null)return W;return{unit:W.unit[z],verb:W.verb[G][J?"inclusive":"notInclusive"]}}let w={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},D={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Gautas tipas ${G}, o tikėtasi - instanceof ${U.expected}`;return`Gautas tipas ${G}, o tikėtasi - ${z}`}case"invalid_value":if(U.values.length===1)return`Privalo būti ${V(U.values[0])}`;return`Privalo būti vienas iš ${I(U.values,"|")} pasirinkimų`;case"too_big":{let z=D[U.origin]??U.origin,J=v(U.origin,i8(Number(U.maximum)),U.inclusive??!1,"smaller");if(J?.verb)return`${Wv(z??U.origin??"reikšmė")} ${J.verb} ${U.maximum.toString()} ${J.unit??"elementų"}`;let G=U.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${Wv(z??U.origin??"reikšmė")} turi būti ${G} ${U.maximum.toString()} ${J?.unit}`}case"too_small":{let z=D[U.origin]??U.origin,J=v(U.origin,i8(Number(U.minimum)),U.inclusive??!1,"bigger");if(J?.verb)return`${Wv(z??U.origin??"reikšmė")} ${J.verb} ${U.minimum.toString()} ${J.unit??"elementų"}`;let G=U.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${Wv(z??U.origin??"reikšmė")} turi būti ${G} ${U.minimum.toString()} ${J?.unit}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Eilutė privalo prasidėti "${z.prefix}"`;if(z.format==="ends_with")return`Eilutė privalo pasibaigti "${z.suffix}"`;if(z.format==="includes")return`Eilutė privalo įtraukti "${z.includes}"`;if(z.format==="regex")return`Eilutė privalo atitikti ${z.pattern}`;return`Neteisingas ${w[z.format]??U.format}`}case"not_multiple_of":return`Skaičius privalo būti ${U.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${U.keys.length>1?"i":"as"} rakt${U.keys.length>1?"ai":"as"}: ${I(U.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{let z=D[U.origin]??U.origin;return`${Wv(z??U.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};function Hz(){return{localeError:dO()}}var pO=()=>{let $={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function v(U){return $[U]??null}let w={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},D={nan:"NaN",number:"број",array:"низа"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Грешен внес: се очекува instanceof ${U.expected}, примено ${G}`;return`Грешен внес: се очекува ${z}, примено ${G}`}case"invalid_value":if(U.values.length===1)return`Invalid input: expected ${V(U.values[0])}`;return`Грешана опција: се очекува една ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Премногу голем: се очекува ${U.origin??"вредноста"} да има ${z}${U.maximum.toString()} ${J.unit??"елементи"}`;return`Премногу голем: се очекува ${U.origin??"вредноста"} да биде ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Премногу мал: се очекува ${U.origin} да има ${z}${U.minimum.toString()} ${J.unit}`;return`Премногу мал: се очекува ${U.origin} да биде ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Неважечка низа: мора да започнува со "${z.prefix}"`;if(z.format==="ends_with")return`Неважечка низа: мора да завршува со "${z.suffix}"`;if(z.format==="includes")return`Неважечка низа: мора да вклучува "${z.includes}"`;if(z.format==="regex")return`Неважечка низа: мора да одгоара на патернот ${z.pattern}`;return`Invalid ${w[z.format]??U.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${U.divisor}`;case"unrecognized_keys":return`${U.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${I(U.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${U.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${U.origin}`;default:return"Грешен внес"}}};function Vz(){return{localeError:pO()}}var oO=()=>{let $={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function v(U){return $[U]??null}let w={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},D={nan:"NaN",number:"nombor"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Input tidak sah: dijangka instanceof ${U.expected}, diterima ${G}`;return`Input tidak sah: dijangka ${z}, diterima ${G}`}case"invalid_value":if(U.values.length===1)return`Input tidak sah: dijangka ${V(U.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Terlalu besar: dijangka ${U.origin??"nilai"} ${J.verb} ${z}${U.maximum.toString()} ${J.unit??"elemen"}`;return`Terlalu besar: dijangka ${U.origin??"nilai"} adalah ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Terlalu kecil: dijangka ${U.origin} ${J.verb} ${z}${U.minimum.toString()} ${J.unit}`;return`Terlalu kecil: dijangka ${U.origin} adalah ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`String tidak sah: mesti bermula dengan "${z.prefix}"`;if(z.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${z.suffix}"`;if(z.format==="includes")return`String tidak sah: mesti mengandungi "${z.includes}"`;if(z.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${z.pattern}`;return`${w[z.format]??U.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${U.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${I(U.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${U.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${U.origin}`;default:return"Input tidak sah"}}};function jz(){return{localeError:oO()}}var tO=()=>{let $={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function v(U){return $[U]??null}let w={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},D={nan:"NaN",number:"getal"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Ongeldige invoer: verwacht instanceof ${U.expected}, ontving ${G}`;return`Ongeldige invoer: verwacht ${z}, ontving ${G}`}case"invalid_value":if(U.values.length===1)return`Ongeldige invoer: verwacht ${V(U.values[0])}`;return`Ongeldige optie: verwacht één van ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin),G=U.origin==="date"?"laat":U.origin==="string"?"lang":"groot";if(J)return`Te ${G}: verwacht dat ${U.origin??"waarde"} ${z}${U.maximum.toString()} ${J.unit??"elementen"} ${J.verb}`;return`Te ${G}: verwacht dat ${U.origin??"waarde"} ${z}${U.maximum.toString()} is`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin),G=U.origin==="date"?"vroeg":U.origin==="string"?"kort":"klein";if(J)return`Te ${G}: verwacht dat ${U.origin} ${z}${U.minimum.toString()} ${J.unit} ${J.verb}`;return`Te ${G}: verwacht dat ${U.origin} ${z}${U.minimum.toString()} is`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Ongeldige tekst: moet met "${z.prefix}" beginnen`;if(z.format==="ends_with")return`Ongeldige tekst: moet op "${z.suffix}" eindigen`;if(z.format==="includes")return`Ongeldige tekst: moet "${z.includes}" bevatten`;if(z.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${z.pattern}`;return`Ongeldig: ${w[z.format]??U.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${U.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${U.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${U.origin}`;default:return"Ongeldige invoer"}}};function Kz(){return{localeError:tO()}}var aO=()=>{let $={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function v(U){return $[U]??null}let w={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},D={nan:"NaN",number:"tall",array:"liste"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Ugyldig input: forventet instanceof ${U.expected}, fikk ${G}`;return`Ugyldig input: forventet ${z}, fikk ${G}`}case"invalid_value":if(U.values.length===1)return`Ugyldig verdi: forventet ${V(U.values[0])}`;return`Ugyldig valg: forventet en av ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`For stor(t): forventet ${U.origin??"value"} til å ha ${z}${U.maximum.toString()} ${J.unit??"elementer"}`;return`For stor(t): forventet ${U.origin??"value"} til å ha ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`For lite(n): forventet ${U.origin} til å ha ${z}${U.minimum.toString()} ${J.unit}`;return`For lite(n): forventet ${U.origin} til å ha ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Ugyldig streng: må starte med "${z.prefix}"`;if(z.format==="ends_with")return`Ugyldig streng: må ende med "${z.suffix}"`;if(z.format==="includes")return`Ugyldig streng: må inneholde "${z.includes}"`;if(z.format==="regex")return`Ugyldig streng: må matche mønsteret ${z.pattern}`;return`Ugyldig ${w[z.format]??U.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${U.divisor}`;case"unrecognized_keys":return`${U.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${I(U.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${U.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${U.origin}`;default:return"Ugyldig input"}}};function Bz(){return{localeError:aO()}}var eO=()=>{let $={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function v(U){return $[U]??null}let w={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},D={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Fâsit giren: umulan instanceof ${U.expected}, alınan ${G}`;return`Fâsit giren: umulan ${z}, alınan ${G}`}case"invalid_value":if(U.values.length===1)return`Fâsit giren: umulan ${V(U.values[0])}`;return`Fâsit tercih: mûteberler ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Fazla büyük: ${U.origin??"value"}, ${z}${U.maximum.toString()} ${J.unit??"elements"} sahip olmalıydı.`;return`Fazla büyük: ${U.origin??"value"}, ${z}${U.maximum.toString()} olmalıydı.`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Fazla küçük: ${U.origin}, ${z}${U.minimum.toString()} ${J.unit} sahip olmalıydı.`;return`Fazla küçük: ${U.origin}, ${z}${U.minimum.toString()} olmalıydı.`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Fâsit metin: "${z.prefix}" ile başlamalı.`;if(z.format==="ends_with")return`Fâsit metin: "${z.suffix}" ile bitmeli.`;if(z.format==="includes")return`Fâsit metin: "${z.includes}" ihtivâ etmeli.`;if(z.format==="regex")return`Fâsit metin: ${z.pattern} nakşına uymalı.`;return`Fâsit ${w[z.format]??U.format}`}case"not_multiple_of":return`Fâsit sayı: ${U.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`${U.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${U.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};function Az(){return{localeError:eO()}}var sO=()=>{let $={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function v(U){return $[U]??null}let w={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},D={nan:"NaN",number:"عدد",array:"ارې"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`ناسم ورودي: باید instanceof ${U.expected} وای, مګر ${G} ترلاسه شو`;return`ناسم ورودي: باید ${z} وای, مګر ${G} ترلاسه شو`}case"invalid_value":if(U.values.length===1)return`ناسم ورودي: باید ${V(U.values[0])} وای`;return`ناسم انتخاب: باید یو له ${I(U.values,"|")} څخه وای`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`ډیر لوی: ${U.origin??"ارزښت"} باید ${z}${U.maximum.toString()} ${J.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${U.origin??"ارزښت"} باید ${z}${U.maximum.toString()} وي`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`ډیر کوچنی: ${U.origin} باید ${z}${U.minimum.toString()} ${J.unit} ولري`;return`ډیر کوچنی: ${U.origin} باید ${z}${U.minimum.toString()} وي`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`ناسم متن: باید د "${z.prefix}" سره پیل شي`;if(z.format==="ends_with")return`ناسم متن: باید د "${z.suffix}" سره پای ته ورسيږي`;if(z.format==="includes")return`ناسم متن: باید "${z.includes}" ولري`;if(z.format==="regex")return`ناسم متن: باید د ${z.pattern} سره مطابقت ولري`;return`${w[z.format]??U.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${U.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${U.keys.length>1?"کلیډونه":"کلیډ"}: ${I(U.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${U.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${U.origin} کې`;default:return"ناسمه ورودي"}}};function Ez(){return{localeError:sO()}}var $q=()=>{let $={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function v(U){return $[U]??null}let w={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},D={nan:"NaN",number:"liczba",array:"tablica"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${U.expected}, otrzymano ${G}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${z}, otrzymano ${G}`}case"invalid_value":if(U.values.length===1)return`Nieprawidłowe dane wejściowe: oczekiwano ${V(U.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Za duża wartość: oczekiwano, że ${U.origin??"wartość"} będzie mieć ${z}${U.maximum.toString()} ${J.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${U.origin??"wartość"} będzie wynosić ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Za mała wartość: oczekiwano, że ${U.origin??"wartość"} będzie mieć ${z}${U.minimum.toString()} ${J.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${U.origin??"wartość"} będzie wynosić ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Nieprawidłowy ciąg znaków: musi zaczynać się od "${z.prefix}"`;if(z.format==="ends_with")return`Nieprawidłowy ciąg znaków: musi kończyć się na "${z.suffix}"`;if(z.format==="includes")return`Nieprawidłowy ciąg znaków: musi zawierać "${z.includes}"`;if(z.format==="regex")return`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${z.pattern}`;return`Nieprawidłow(y/a/e) ${w[z.format]??U.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${U.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${U.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${U.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};function bz(){return{localeError:$q()}}var vq=()=>{let $={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function v(U){return $[U]??null}let w={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},D={nan:"NaN",number:"número",null:"nulo"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Tipo inválido: esperado instanceof ${U.expected}, recebido ${G}`;return`Tipo inválido: esperado ${z}, recebido ${G}`}case"invalid_value":if(U.values.length===1)return`Entrada inválida: esperado ${V(U.values[0])}`;return`Opção inválida: esperada uma das ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Muito grande: esperado que ${U.origin??"valor"} tivesse ${z}${U.maximum.toString()} ${J.unit??"elementos"}`;return`Muito grande: esperado que ${U.origin??"valor"} fosse ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Muito pequeno: esperado que ${U.origin} tivesse ${z}${U.minimum.toString()} ${J.unit}`;return`Muito pequeno: esperado que ${U.origin} fosse ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Texto inválido: deve começar com "${z.prefix}"`;if(z.format==="ends_with")return`Texto inválido: deve terminar com "${z.suffix}"`;if(z.format==="includes")return`Texto inválido: deve incluir "${z.includes}"`;if(z.format==="regex")return`Texto inválido: deve corresponder ao padrão ${z.pattern}`;return`${w[z.format]??U.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${U.divisor}`;case"unrecognized_keys":return`Chave${U.keys.length>1?"s":""} desconhecida${U.keys.length>1?"s":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Chave inválida em ${U.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${U.origin}`;default:return"Campo inválido"}}};function Fz(){return{localeError:vq()}}function h8($,v,w,D){let U=Math.abs($),z=U%10,J=U%100;if(J>=11&&J<=19)return D;if(z===1)return v;if(z>=2&&z<=4)return w;return D}var Uq=()=>{let $={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function v(U){return $[U]??null}let w={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},D={nan:"NaN",number:"число",array:"массив"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Неверный ввод: ожидалось instanceof ${U.expected}, получено ${G}`;return`Неверный ввод: ожидалось ${z}, получено ${G}`}case"invalid_value":if(U.values.length===1)return`Неверный ввод: ожидалось ${V(U.values[0])}`;return`Неверный вариант: ожидалось одно из ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J){let G=Number(U.maximum),W=h8(G,J.unit.one,J.unit.few,J.unit.many);return`Слишком большое значение: ожидалось, что ${U.origin??"значение"} будет иметь ${z}${U.maximum.toString()} ${W}`}return`Слишком большое значение: ожидалось, что ${U.origin??"значение"} будет ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J){let G=Number(U.minimum),W=h8(G,J.unit.one,J.unit.few,J.unit.many);return`Слишком маленькое значение: ожидалось, что ${U.origin} будет иметь ${z}${U.minimum.toString()} ${W}`}return`Слишком маленькое значение: ожидалось, что ${U.origin} будет ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Неверная строка: должна начинаться с "${z.prefix}"`;if(z.format==="ends_with")return`Неверная строка: должна заканчиваться на "${z.suffix}"`;if(z.format==="includes")return`Неверная строка: должна содержать "${z.includes}"`;if(z.format==="regex")return`Неверная строка: должна соответствовать шаблону ${z.pattern}`;return`Неверный ${w[z.format]??U.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${U.divisor}`;case"unrecognized_keys":return`Нераспознанн${U.keys.length>1?"ые":"ый"} ключ${U.keys.length>1?"и":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${U.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${U.origin}`;default:return"Неверные входные данные"}}};function Rz(){return{localeError:Uq()}}var wq=()=>{let $={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function v(U){return $[U]??null}let w={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},D={nan:"NaN",number:"število",array:"tabela"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Neveljaven vnos: pričakovano instanceof ${U.expected}, prejeto ${G}`;return`Neveljaven vnos: pričakovano ${z}, prejeto ${G}`}case"invalid_value":if(U.values.length===1)return`Neveljaven vnos: pričakovano ${V(U.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Preveliko: pričakovano, da bo ${U.origin??"vrednost"} imelo ${z}${U.maximum.toString()} ${J.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${U.origin??"vrednost"} ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Premajhno: pričakovano, da bo ${U.origin} imelo ${z}${U.minimum.toString()} ${J.unit}`;return`Premajhno: pričakovano, da bo ${U.origin} ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Neveljaven niz: mora se začeti z "${z.prefix}"`;if(z.format==="ends_with")return`Neveljaven niz: mora se končati z "${z.suffix}"`;if(z.format==="includes")return`Neveljaven niz: mora vsebovati "${z.includes}"`;if(z.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${z.pattern}`;return`Neveljaven ${w[z.format]??U.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${U.divisor}`;case"unrecognized_keys":return`Neprepoznan${U.keys.length>1?"i ključi":" ključ"}: ${I(U.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${U.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${U.origin}`;default:return"Neveljaven vnos"}}};function Mz(){return{localeError:wq()}}var Dq=()=>{let $={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function v(U){return $[U]??null}let w={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},D={nan:"NaN",number:"antal",array:"lista"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Ogiltig inmatning: förväntat instanceof ${U.expected}, fick ${G}`;return`Ogiltig inmatning: förväntat ${z}, fick ${G}`}case"invalid_value":if(U.values.length===1)return`Ogiltig inmatning: förväntat ${V(U.values[0])}`;return`Ogiltigt val: förväntade en av ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`För stor(t): förväntade ${U.origin??"värdet"} att ha ${z}${U.maximum.toString()} ${J.unit??"element"}`;return`För stor(t): förväntat ${U.origin??"värdet"} att ha ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`För lite(t): förväntade ${U.origin??"värdet"} att ha ${z}${U.minimum.toString()} ${J.unit}`;return`För lite(t): förväntade ${U.origin??"värdet"} att ha ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Ogiltig sträng: måste börja med "${z.prefix}"`;if(z.format==="ends_with")return`Ogiltig sträng: måste sluta med "${z.suffix}"`;if(z.format==="includes")return`Ogiltig sträng: måste innehålla "${z.includes}"`;if(z.format==="regex")return`Ogiltig sträng: måste matcha mönstret "${z.pattern}"`;return`Ogiltig(t) ${w[z.format]??U.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${U.divisor}`;case"unrecognized_keys":return`${U.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${I(U.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${U.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${U.origin??"värdet"}`;default:return"Ogiltig input"}}};function Sz(){return{localeError:Dq()}}var zq=()=>{let $={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function v(U){return $[U]??null}let w={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},D={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${U.expected}, பெறப்பட்டது ${G}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${z}, பெறப்பட்டது ${G}`}case"invalid_value":if(U.values.length===1)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${V(U.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${I(U.values,"|")} இல் ஒன்று`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${U.origin??"மதிப்பு"} ${z}${U.maximum.toString()} ${J.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${U.origin??"மதிப்பு"} ${z}${U.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${U.origin} ${z}${U.minimum.toString()} ${J.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${U.origin} ${z}${U.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`தவறான சரம்: "${z.prefix}" இல் தொடங்க வேண்டும்`;if(z.format==="ends_with")return`தவறான சரம்: "${z.suffix}" இல் முடிவடைய வேண்டும்`;if(z.format==="includes")return`தவறான சரம்: "${z.includes}" ஐ உள்ளடக்க வேண்டும்`;if(z.format==="regex")return`தவறான சரம்: ${z.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${w[z.format]??U.format}`}case"not_multiple_of":return`தவறான எண்: ${U.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${U.keys.length>1?"கள்":""}: ${I(U.keys,", ")}`;case"invalid_key":return`${U.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${U.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};function Pz(){return{localeError:zq()}}var Jq=()=>{let $={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function v(U){return $[U]??null}let w={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},D={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${U.expected} แต่ได้รับ ${G}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${z} แต่ได้รับ ${G}`}case"invalid_value":if(U.values.length===1)return`ค่าไม่ถูกต้อง: ควรเป็น ${V(U.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"ไม่เกิน":"น้อยกว่า",J=v(U.origin);if(J)return`เกินกำหนด: ${U.origin??"ค่า"} ควรมี${z} ${U.maximum.toString()} ${J.unit??"รายการ"}`;return`เกินกำหนด: ${U.origin??"ค่า"} ควรมี${z} ${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?"อย่างน้อย":"มากกว่า",J=v(U.origin);if(J)return`น้อยกว่ากำหนด: ${U.origin} ควรมี${z} ${U.minimum.toString()} ${J.unit}`;return`น้อยกว่ากำหนด: ${U.origin} ควรมี${z} ${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${z.prefix}"`;if(z.format==="ends_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${z.suffix}"`;if(z.format==="includes")return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${z.includes}" อยู่ในข้อความ`;if(z.format==="regex")return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${z.pattern}`;return`รูปแบบไม่ถูกต้อง: ${w[z.format]??U.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${U.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${I(U.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${U.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${U.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};function gz(){return{localeError:Jq()}}var Xq=()=>{let $={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function v(U){return $[U]??null}let w={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Geçersiz değer: beklenen instanceof ${U.expected}, alınan ${G}`;return`Geçersiz değer: beklenen ${z}, alınan ${G}`}case"invalid_value":if(U.values.length===1)return`Geçersiz değer: beklenen ${V(U.values[0])}`;return`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Çok büyük: beklenen ${U.origin??"değer"} ${z}${U.maximum.toString()} ${J.unit??"öğe"}`;return`Çok büyük: beklenen ${U.origin??"değer"} ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Çok küçük: beklenen ${U.origin} ${z}${U.minimum.toString()} ${J.unit}`;return`Çok küçük: beklenen ${U.origin} ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Geçersiz metin: "${z.prefix}" ile başlamalı`;if(z.format==="ends_with")return`Geçersiz metin: "${z.suffix}" ile bitmeli`;if(z.format==="includes")return`Geçersiz metin: "${z.includes}" içermeli`;if(z.format==="regex")return`Geçersiz metin: ${z.pattern} desenine uymalı`;return`Geçersiz ${w[z.format]??U.format}`}case"not_multiple_of":return`Geçersiz sayı: ${U.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${U.keys.length>1?"lar":""}: ${I(U.keys,", ")}`;case"invalid_key":return`${U.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${U.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};function _z(){return{localeError:Xq()}}var Gq=()=>{let $={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function v(U){return $[U]??null}let w={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},D={nan:"NaN",number:"число",array:"масив"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Неправильні вхідні дані: очікується instanceof ${U.expected}, отримано ${G}`;return`Неправильні вхідні дані: очікується ${z}, отримано ${G}`}case"invalid_value":if(U.values.length===1)return`Неправильні вхідні дані: очікується ${V(U.values[0])}`;return`Неправильна опція: очікується одне з ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Занадто велике: очікується, що ${U.origin??"значення"} ${J.verb} ${z}${U.maximum.toString()} ${J.unit??"елементів"}`;return`Занадто велике: очікується, що ${U.origin??"значення"} буде ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Занадто мале: очікується, що ${U.origin} ${J.verb} ${z}${U.minimum.toString()} ${J.unit}`;return`Занадто мале: очікується, що ${U.origin} буде ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Неправильний рядок: повинен починатися з "${z.prefix}"`;if(z.format==="ends_with")return`Неправильний рядок: повинен закінчуватися на "${z.suffix}"`;if(z.format==="includes")return`Неправильний рядок: повинен містити "${z.includes}"`;if(z.format==="regex")return`Неправильний рядок: повинен відповідати шаблону ${z.pattern}`;return`Неправильний ${w[z.format]??U.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${U.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${U.keys.length>1?"і":""}: ${I(U.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${U.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${U.origin}`;default:return"Неправильні вхідні дані"}}};function Qv(){return{localeError:Gq()}}function Tz(){return Qv()}var Yq=()=>{let $={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function v(U){return $[U]??null}let w={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},D={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`غلط ان پٹ: instanceof ${U.expected} متوقع تھا، ${G} موصول ہوا`;return`غلط ان پٹ: ${z} متوقع تھا، ${G} موصول ہوا`}case"invalid_value":if(U.values.length===1)return`غلط ان پٹ: ${V(U.values[0])} متوقع تھا`;return`غلط آپشن: ${I(U.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`بہت بڑا: ${U.origin??"ویلیو"} کے ${z}${U.maximum.toString()} ${J.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${U.origin??"ویلیو"} کا ${z}${U.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`بہت چھوٹا: ${U.origin} کے ${z}${U.minimum.toString()} ${J.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${U.origin} کا ${z}${U.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`غلط سٹرنگ: "${z.prefix}" سے شروع ہونا چاہیے`;if(z.format==="ends_with")return`غلط سٹرنگ: "${z.suffix}" پر ختم ہونا چاہیے`;if(z.format==="includes")return`غلط سٹرنگ: "${z.includes}" شامل ہونا چاہیے`;if(z.format==="regex")return`غلط سٹرنگ: پیٹرن ${z.pattern} سے میچ ہونا چاہیے`;return`غلط ${w[z.format]??U.format}`}case"not_multiple_of":return`غلط نمبر: ${U.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${U.keys.length>1?"ز":""}: ${I(U.keys,"، ")}`;case"invalid_key":return`${U.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${U.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};function kz(){return{localeError:Yq()}}var Wq=()=>{let $={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"}};function v(U){return $[U]??null}let w={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},D={nan:"NaN",number:"raqam",array:"massiv"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${U.expected}, qabul qilingan ${G}`;return`Noto‘g‘ri kirish: kutilgan ${z}, qabul qilingan ${G}`}case"invalid_value":if(U.values.length===1)return`Noto‘g‘ri kirish: kutilgan ${V(U.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Juda katta: kutilgan ${U.origin??"qiymat"} ${z}${U.maximum.toString()} ${J.unit} ${J.verb}`;return`Juda katta: kutilgan ${U.origin??"qiymat"} ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Juda kichik: kutilgan ${U.origin} ${z}${U.minimum.toString()} ${J.unit} ${J.verb}`;return`Juda kichik: kutilgan ${U.origin} ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Noto‘g‘ri satr: "${z.prefix}" bilan boshlanishi kerak`;if(z.format==="ends_with")return`Noto‘g‘ri satr: "${z.suffix}" bilan tugashi kerak`;if(z.format==="includes")return`Noto‘g‘ri satr: "${z.includes}" ni o‘z ichiga olishi kerak`;if(z.format==="regex")return`Noto‘g‘ri satr: ${z.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${w[z.format]??U.format}`}case"not_multiple_of":return`Noto‘g‘ri raqam: ${U.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${U.keys.length>1?"lar":""}: ${I(U.keys,", ")}`;case"invalid_key":return`${U.origin} dagi kalit noto‘g‘ri`;case"invalid_union":return"Noto‘g‘ri kirish";case"invalid_element":return`${U.origin} da noto‘g‘ri qiymat`;default:return"Noto‘g‘ri kirish"}}};function Cz(){return{localeError:Wq()}}var Qq=()=>{let $={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function v(U){return $[U]??null}let w={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},D={nan:"NaN",number:"số",array:"mảng"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Đầu vào không hợp lệ: mong đợi instanceof ${U.expected}, nhận được ${G}`;return`Đầu vào không hợp lệ: mong đợi ${z}, nhận được ${G}`}case"invalid_value":if(U.values.length===1)return`Đầu vào không hợp lệ: mong đợi ${V(U.values[0])}`;return`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Quá lớn: mong đợi ${U.origin??"giá trị"} ${J.verb} ${z}${U.maximum.toString()} ${J.unit??"phần tử"}`;return`Quá lớn: mong đợi ${U.origin??"giá trị"} ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Quá nhỏ: mong đợi ${U.origin} ${J.verb} ${z}${U.minimum.toString()} ${J.unit}`;return`Quá nhỏ: mong đợi ${U.origin} ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Chuỗi không hợp lệ: phải bắt đầu bằng "${z.prefix}"`;if(z.format==="ends_with")return`Chuỗi không hợp lệ: phải kết thúc bằng "${z.suffix}"`;if(z.format==="includes")return`Chuỗi không hợp lệ: phải bao gồm "${z.includes}"`;if(z.format==="regex")return`Chuỗi không hợp lệ: phải khớp với mẫu ${z.pattern}`;return`${w[z.format]??U.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${U.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${I(U.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${U.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${U.origin}`;default:return"Đầu vào không hợp lệ"}}};function Zz(){return{localeError:Qq()}}var Nq=()=>{let $={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function v(U){return $[U]??null}let w={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},D={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`无效输入:期望 instanceof ${U.expected},实际接收 ${G}`;return`无效输入:期望 ${z},实际接收 ${G}`}case"invalid_value":if(U.values.length===1)return`无效输入:期望 ${V(U.values[0])}`;return`无效选项:期望以下之一 ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`数值过大:期望 ${U.origin??"值"} ${z}${U.maximum.toString()} ${J.unit??"个元素"}`;return`数值过大:期望 ${U.origin??"值"} ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`数值过小:期望 ${U.origin} ${z}${U.minimum.toString()} ${J.unit}`;return`数值过小:期望 ${U.origin} ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`无效字符串:必须以 "${z.prefix}" 开头`;if(z.format==="ends_with")return`无效字符串:必须以 "${z.suffix}" 结尾`;if(z.format==="includes")return`无效字符串:必须包含 "${z.includes}"`;if(z.format==="regex")return`无效字符串:必须满足正则表达式 ${z.pattern}`;return`无效${w[z.format]??U.format}`}case"not_multiple_of":return`无效数字:必须是 ${U.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${I(U.keys,", ")}`;case"invalid_key":return`${U.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${U.origin} 中包含无效值(value)`;default:return"无效输入"}}};function xz(){return{localeError:Nq()}}var Lq=()=>{let $={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function v(U){return $[U]??null}let w={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},D={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`無效的輸入值:預期為 instanceof ${U.expected},但收到 ${G}`;return`無效的輸入值:預期為 ${z},但收到 ${G}`}case"invalid_value":if(U.values.length===1)return`無效的輸入值:預期為 ${V(U.values[0])}`;return`無效的選項:預期為以下其中之一 ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`數值過大:預期 ${U.origin??"值"} 應為 ${z}${U.maximum.toString()} ${J.unit??"個元素"}`;return`數值過大:預期 ${U.origin??"值"} 應為 ${z}${U.maximum.toString()}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`數值過小:預期 ${U.origin} 應為 ${z}${U.minimum.toString()} ${J.unit}`;return`數值過小:預期 ${U.origin} 應為 ${z}${U.minimum.toString()}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`無效的字串:必須以 "${z.prefix}" 開頭`;if(z.format==="ends_with")return`無效的字串:必須以 "${z.suffix}" 結尾`;if(z.format==="includes")return`無效的字串:必須包含 "${z.includes}"`;if(z.format==="regex")return`無效的字串:必須符合格式 ${z.pattern}`;return`無效的 ${w[z.format]??U.format}`}case"not_multiple_of":return`無效的數字:必須為 ${U.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${U.keys.length>1?"們":""}:${I(U.keys,"、")}`;case"invalid_key":return`${U.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${U.origin} 中有無效的值`;default:return"無效的輸入值"}}};function fz(){return{localeError:Lq()}}var Oq=()=>{let $={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function v(U){return $[U]??null}let w={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},D={nan:"NaN",number:"nọ́mbà",array:"akopọ"};return(U)=>{switch(U.code){case"invalid_type":{let z=D[U.expected]??U.expected,J=B(U.input),G=D[J]??J;if(/^[A-Z]/.test(U.expected))return`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${U.expected}, àmọ̀ a rí ${G}`;return`Ìbáwọlé aṣìṣe: a ní láti fi ${z}, àmọ̀ a rí ${G}`}case"invalid_value":if(U.values.length===1)return`Ìbáwọlé aṣìṣe: a ní láti fi ${V(U.values[0])}`;return`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${I(U.values,"|")}`;case"too_big":{let z=U.inclusive?"<=":"<",J=v(U.origin);if(J)return`Tó pọ̀ jù: a ní láti jẹ́ pé ${U.origin??"iye"} ${J.verb} ${z}${U.maximum} ${J.unit}`;return`Tó pọ̀ jù: a ní láti jẹ́ ${z}${U.maximum}`}case"too_small":{let z=U.inclusive?">=":">",J=v(U.origin);if(J)return`Kéré ju: a ní láti jẹ́ pé ${U.origin} ${J.verb} ${z}${U.minimum} ${J.unit}`;return`Kéré ju: a ní láti jẹ́ ${z}${U.minimum}`}case"invalid_format":{let z=U;if(z.format==="starts_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${z.prefix}"`;if(z.format==="ends_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${z.suffix}"`;if(z.format==="includes")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${z.includes}"`;if(z.format==="regex")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${z.pattern}`;return`Aṣìṣe: ${w[z.format]??U.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${U.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${I(U.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${U.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${U.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};function uz(){return{localeError:Oq()}}var c8,yz=Symbol("ZodOutput"),iz=Symbol("ZodInput");class hz{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,...v){let w=v[0];if(this._map.set($,w),w&&typeof w==="object"&&"id"in w)this._idmap.set(w.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let v=this._map.get($);if(v&&typeof v==="object"&&"id"in v)this._idmap.delete(v.id);return this._map.delete($),this}get($){let v=$._zod.parent;if(v){let w={...this.get(v)??{}};delete w.id;let D={...w,...this._map.get($)};return Object.keys(D).length?D:void 0}return this._map.get($)}has($){return this._map.has($)}}function ZU(){return new hz}(c8=globalThis).__zod_globalRegistry??(c8.__zod_globalRegistry=ZU());var H$=globalThis.__zod_globalRegistry;function cz($,v){return new $({type:"string",...b(v)})}function mz($,v){return new $({type:"string",coerce:!0,...b(v)})}function xU($,v){return new $({type:"string",format:"email",check:"string_format",abort:!1,...b(v)})}function Lv($,v){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...b(v)})}function fU($,v){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...b(v)})}function uU($,v){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...b(v)})}function yU($,v){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...b(v)})}function iU($,v){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...b(v)})}function Ov($,v){return new $({type:"string",format:"url",check:"string_format",abort:!1,...b(v)})}function hU($,v){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...b(v)})}function cU($,v){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...b(v)})}function mU($,v){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...b(v)})}function nU($,v){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...b(v)})}function lU($,v){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...b(v)})}function rU($,v){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...b(v)})}function dU($,v){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...b(v)})}function pU($,v){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...b(v)})}function oU($,v){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...b(v)})}function nz($,v){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...b(v)})}function tU($,v){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...b(v)})}function aU($,v){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...b(v)})}function eU($,v){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...b(v)})}function sU($,v){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...b(v)})}function $1($,v){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...b(v)})}function v1($,v){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...b(v)})}var lz={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function rz($,v){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...b(v)})}function dz($,v){return new $({type:"string",format:"date",check:"string_format",...b(v)})}function pz($,v){return new $({type:"string",format:"time",check:"string_format",precision:null,...b(v)})}function oz($,v){return new $({type:"string",format:"duration",check:"string_format",...b(v)})}function tz($,v){return new $({type:"number",checks:[],...b(v)})}function az($,v){return new $({type:"number",coerce:!0,checks:[],...b(v)})}function ez($,v){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...b(v)})}function sz($,v){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...b(v)})}function $J($,v){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...b(v)})}function vJ($,v){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...b(v)})}function UJ($,v){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...b(v)})}function wJ($,v){return new $({type:"boolean",...b(v)})}function DJ($,v){return new $({type:"boolean",coerce:!0,...b(v)})}function zJ($,v){return new $({type:"bigint",...b(v)})}function JJ($,v){return new $({type:"bigint",coerce:!0,...b(v)})}function XJ($,v){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...b(v)})}function GJ($,v){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...b(v)})}function YJ($,v){return new $({type:"symbol",...b(v)})}function WJ($,v){return new $({type:"undefined",...b(v)})}function QJ($,v){return new $({type:"null",...b(v)})}function NJ($){return new $({type:"any"})}function LJ($){return new $({type:"unknown"})}function OJ($,v){return new $({type:"never",...b(v)})}function qJ($,v){return new $({type:"void",...b(v)})}function IJ($,v){return new $({type:"date",...b(v)})}function HJ($,v){return new $({type:"date",coerce:!0,...b(v)})}function VJ($,v){return new $({type:"nan",...b(v)})}function $6($,v){return new EU({check:"less_than",...b(v),value:$,inclusive:!1})}function f$($,v){return new EU({check:"less_than",...b(v),value:$,inclusive:!0})}function v6($,v){return new bU({check:"greater_than",...b(v),value:$,inclusive:!1})}function b$($,v){return new bU({check:"greater_than",...b(v),value:$,inclusive:!0})}function U1($){return v6(0,$)}function w1($){return $6(0,$)}function D1($){return f$(0,$)}function z1($){return b$(0,$)}function E6($,v){return new V0({check:"multiple_of",...b(v),value:$})}function b6($,v){return new B0({check:"max_size",...b(v),maximum:$})}function U6($,v){return new A0({check:"min_size",...b(v),minimum:$})}function f6($,v){return new E0({check:"size_equals",...b(v),size:$})}function u6($,v){return new b0({check:"max_length",...b(v),maximum:$})}function Q6($,v){return new F0({check:"min_length",...b(v),minimum:$})}function y6($,v){return new R0({check:"length_equals",...b(v),length:$})}function G4($,v){return new M0({check:"string_format",format:"regex",...b(v),pattern:$})}function Y4($){return new S0({check:"string_format",format:"lowercase",...b($)})}function W4($){return new P0({check:"string_format",format:"uppercase",...b($)})}function Q4($,v){return new g0({check:"string_format",format:"includes",...b(v),includes:$})}function N4($,v){return new _0({check:"string_format",format:"starts_with",...b(v),prefix:$})}function L4($,v){return new T0({check:"string_format",format:"ends_with",...b(v),suffix:$})}function J1($,v,w){return new k0({check:"property",property:$,schema:v,...b(w)})}function O4($,v){return new C0({check:"mime_type",mime:$,...b(v)})}function r$($){return new Z0({check:"overwrite",tx:$})}function q4($){return r$((v)=>v.normalize($))}function I4(){return r$(($)=>$.trim())}function H4(){return r$(($)=>$.toLowerCase())}function V4(){return r$(($)=>$.toUpperCase())}function j4(){return r$(($)=>kw($))}function jJ($,v,w){return new $({type:"array",element:v,...b(w)})}function Iq($,v,w){return new $({type:"union",options:v,...b(w)})}function Hq($,v,w){return new $({type:"union",options:v,inclusive:!1,...b(w)})}function Vq($,v,w,D){return new $({type:"union",options:w,discriminator:v,...b(D)})}function jq($,v,w){return new $({type:"intersection",left:v,right:w})}function Kq($,v,w,D){let U=w instanceof c;return new $({type:"tuple",items:v,rest:U?w:null,...b(U?D:w)})}function Bq($,v,w,D){return new $({type:"record",keyType:v,valueType:w,...b(D)})}function Aq($,v,w,D){return new $({type:"map",keyType:v,valueType:w,...b(D)})}function Eq($,v,w){return new $({type:"set",valueType:v,...b(w)})}function bq($,v,w){let D=Array.isArray(v)?Object.fromEntries(v.map((U)=>[U,U])):v;return new $({type:"enum",entries:D,...b(w)})}function Fq($,v,w){return new $({type:"enum",entries:v,...b(w)})}function Rq($,v,w){return new $({type:"literal",values:Array.isArray(v)?v:[v],...b(w)})}function KJ($,v){return new $({type:"file",...b(v)})}function Mq($,v){return new $({type:"transform",transform:v})}function Sq($,v){return new $({type:"optional",innerType:v})}function Pq($,v){return new $({type:"nullable",innerType:v})}function gq($,v,w){return new $({type:"default",innerType:v,get defaultValue(){return typeof w==="function"?w():Zw(w)}})}function _q($,v,w){return new $({type:"nonoptional",innerType:v,...b(w)})}function Tq($,v){return new $({type:"success",innerType:v})}function kq($,v,w){return new $({type:"catch",innerType:v,catchValue:typeof w==="function"?w:()=>w})}function Cq($,v,w){return new $({type:"pipe",in:v,out:w})}function Zq($,v){return new $({type:"readonly",innerType:v})}function xq($,v,w){return new $({type:"template_literal",parts:v,...b(w)})}function fq($,v){return new $({type:"lazy",getter:v})}function uq($,v){return new $({type:"promise",innerType:v})}function BJ($,v,w){let D=b(w);return D.abort??(D.abort=!0),new $({type:"custom",check:"custom",fn:v,...D})}function AJ($,v,w){return new $({type:"custom",check:"custom",fn:v,...b(w)})}function EJ($){let v=m8((w)=>{return w.addIssue=(D)=>{if(typeof D==="string")w.issues.push(v4(D,w.value,v._zod.def));else{let U=D;if(U.fatal)U.continue=!1;U.code??(U.code="custom"),U.input??(U.input=w.value),U.inst??(U.inst=v),U.continue??(U.continue=!v._zod.def.abort),w.issues.push(v4(U))}},$(w.value,w)});return v}function m8($,v){let w=new G$({check:"custom",...b(v)});return w._zod.check=$,w}function bJ($){let v=new G$({check:"describe"});return v._zod.onattach=[(w)=>{let D=H$.get(w)??{};H$.add(w,{...D,description:$})}],v._zod.check=()=>{},v}function FJ($){let v=new G$({check:"meta"});return v._zod.onattach=[(w)=>{let D=H$.get(w)??{};H$.add(w,{...D,...$})}],v._zod.check=()=>{},v}function RJ($,v){let w=b(v),D=w.truthy??["true","1","yes","on","y","enabled"],U=w.falsy??["false","0","no","off","n","disabled"];if(w.case!=="sensitive")D=D.map((q)=>typeof q==="string"?q.toLowerCase():q),U=U.map((q)=>typeof q==="string"?q.toLowerCase():q);let z=new Set(D),J=new Set(U),G=$.Codec??Xv,W=$.Boolean??zv,Q=new($.String??x6)({type:"string",error:w.error}),N=new W({type:"boolean",error:w.error}),L=new G({type:"pipe",in:Q,out:N,transform:(q,M)=>{let C=q;if(w.case!=="sensitive")C=C.toLowerCase();if(z.has(C))return!0;else if(J.has(C))return!1;else return M.issues.push({code:"invalid_value",expected:"stringbool",values:[...z,...J],input:M.value,inst:L,continue:!1}),{}},reverseTransform:(q,M)=>{if(q===!0)return D[0]||"true";else return U[0]||"false"},error:w.error});return L}function K4($,v,w,D={}){let U=b(D),z={...b(D),check:"string_format",type:"string",format:v,fn:typeof w==="function"?w:(G)=>w.test(G),...U};if(w instanceof RegExp)z.pattern=w;return new $(z)}function F6($){let v=$?.target??"draft-2020-12";if(v==="draft-4")v="draft-04";if(v==="draft-7")v="draft-07";return{processors:$.processors??{},metadataRegistry:$?.metadata??H$,target:v,unrepresentable:$?.unrepresentable??"throw",override:$?.override??(()=>{}),io:$?.io??"output",counter:0,seen:new Map,cycles:$?.cycles??"ref",reused:$?.reused??"inline",external:$?.external??void 0}}function U$($,v,w={path:[],schemaPath:[]}){var D;let U=$._zod.def,z=v.seen.get($);if(z){if(z.count++,w.schemaPath.includes($))z.cycle=w.path;return z.schema}let J={schema:{},count:1,cycle:void 0,path:w.path};v.seen.set($,J);let G=$._zod.toJSONSchema?.();if(G)J.schema=G;else{let Q={...w,schemaPath:[...w.schemaPath,$],path:w.path};if($._zod.processJSONSchema)$._zod.processJSONSchema(v,J.schema,Q);else{let L=J.schema,q=v.processors[U.type];if(!q)throw Error(`[toJSONSchema]: Non-representable type encountered: ${U.type}`);q($,v,L,Q)}let N=$._zod.parent;if(N){if(!J.ref)J.ref=N;U$(N,v,Q),v.seen.get(N).isParent=!0}}let W=v.metadataRegistry.get($);if(W)Object.assign(J.schema,W);if(v.io==="input"&&F$($))delete J.schema.examples,delete J.schema.default;if(v.io==="input"&&J.schema._prefault)(D=J.schema).default??(D.default=J.schema._prefault);return delete J.schema._prefault,v.seen.get($).schema}function R6($,v){let w=$.seen.get(v);if(!w)throw Error("Unprocessed schema. This is a bug in Zod.");let D=new Map;for(let J of $.seen.entries()){let G=$.metadataRegistry.get(J[0])?.id;if(G){let W=D.get(G);if(W&&W!==J[0])throw Error(`Duplicate schema id "${G}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);D.set(G,J[0])}}let U=(J)=>{let G=$.target==="draft-2020-12"?"$defs":"definitions";if($.external){let N=$.external.registry.get(J[0])?.id,L=$.external.uri??((M)=>M);if(N)return{ref:L(N)};let q=J[1].defId??J[1].schema.id??`schema${$.counter++}`;return J[1].defId=q,{defId:q,ref:`${L("__shared")}#/${G}/${q}`}}if(J[1]===w)return{ref:"#"};let Y=`${"#"}/${G}/`,Q=J[1].schema.id??`__schema${$.counter++}`;return{defId:Q,ref:Y+Q}},z=(J)=>{if(J[1].schema.$ref)return;let G=J[1],{ref:W,defId:Y}=U(J);if(G.def={...G.schema},Y)G.defId=Y;let Q=G.schema;for(let N in Q)delete Q[N];Q.$ref=W};if($.cycles==="throw")for(let J of $.seen.entries()){let G=J[1];if(G.cycle)throw Error(`Cycle detected: #/${G.cycle?.join("/")}/ + +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let J of $.seen.entries()){let G=J[1];if(v===J[0]){z(J);continue}if($.external){let Y=$.external.registry.get(J[0])?.id;if(v!==J[0]&&Y){z(J);continue}}if($.metadataRegistry.get(J[0])?.id){z(J);continue}if(G.cycle){z(J);continue}if(G.count>1){if($.reused==="ref"){z(J);continue}}}}function M6($,v){let w=$.seen.get(v);if(!w)throw Error("Unprocessed schema. This is a bug in Zod.");let D=(J)=>{let G=$.seen.get(J);if(G.ref===null)return;let W=G.def??G.schema,Y={...W},Q=G.ref;if(G.ref=null,Q){D(Q);let L=$.seen.get(Q),q=L.schema;if(q.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))W.allOf=W.allOf??[],W.allOf.push(q);else Object.assign(W,q);if(Object.assign(W,Y),J._zod.parent===Q)for(let C in W){if(C==="$ref"||C==="allOf")continue;if(!(C in Y))delete W[C]}if(q.$ref&&L.def)for(let C in W){if(C==="$ref"||C==="allOf")continue;if(C in L.def&&JSON.stringify(W[C])===JSON.stringify(L.def[C]))delete W[C]}}let N=J._zod.parent;if(N&&N!==Q){D(N);let L=$.seen.get(N);if(L?.schema.$ref){if(W.$ref=L.schema.$ref,L.def)for(let q in W){if(q==="$ref"||q==="allOf")continue;if(q in L.def&&JSON.stringify(W[q])===JSON.stringify(L.def[q]))delete W[q]}}}$.override({zodSchema:J,jsonSchema:W,path:G.path??[]})};for(let J of[...$.seen.entries()].reverse())D(J[0]);let U={};if($.target==="draft-2020-12")U.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")U.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")U.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let J=$.external.registry.get(v)?.id;if(!J)throw Error("Schema is missing an `id` property");U.$id=$.external.uri(J)}Object.assign(U,w.def??w.schema);let z=$.external?.defs??{};for(let J of $.seen.entries()){let G=J[1];if(G.def&&G.defId)z[G.defId]=G.def}if($.external);else if(Object.keys(z).length>0)if($.target==="draft-2020-12")U.$defs=z;else U.definitions=z;try{let J=JSON.parse(JSON.stringify(U));return Object.defineProperty(J,"~standard",{value:{...v["~standard"],jsonSchema:{input:B4(v,"input",$.processors),output:B4(v,"output",$.processors)}},enumerable:!1,writable:!1}),J}catch(J){throw Error("Error converting schema to JSON.")}}function F$($,v){let w=v??{seen:new Set};if(w.seen.has($))return!1;w.seen.add($);let D=$._zod.def;if(D.type==="transform")return!0;if(D.type==="array")return F$(D.element,w);if(D.type==="set")return F$(D.valueType,w);if(D.type==="lazy")return F$(D.getter(),w);if(D.type==="promise"||D.type==="optional"||D.type==="nonoptional"||D.type==="nullable"||D.type==="readonly"||D.type==="default"||D.type==="prefault")return F$(D.innerType,w);if(D.type==="intersection")return F$(D.left,w)||F$(D.right,w);if(D.type==="record"||D.type==="map")return F$(D.keyType,w)||F$(D.valueType,w);if(D.type==="pipe")return F$(D.in,w)||F$(D.out,w);if(D.type==="object"){for(let U in D.shape)if(F$(D.shape[U],w))return!0;return!1}if(D.type==="union"){for(let U of D.options)if(F$(U,w))return!0;return!1}if(D.type==="tuple"){for(let U of D.items)if(F$(U,w))return!0;if(D.rest&&F$(D.rest,w))return!0;return!1}return!1}var MJ=($,v={})=>(w)=>{let D=F6({...w,processors:v});return U$($,D),R6(D,$),M6(D,$)},B4=($,v,w={})=>(D)=>{let{libraryOptions:U,target:z}=D??{},J=F6({...U??{},target:z,io:v,processors:w});return U$($,J),R6(J,$),M6(J,$)};var yq={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},SJ=($,v,w,D)=>{let U=w;U.type="string";let{minimum:z,maximum:J,format:G,patterns:W,contentEncoding:Y}=$._zod.bag;if(typeof z==="number")U.minLength=z;if(typeof J==="number")U.maxLength=J;if(G){if(U.format=yq[G]??G,U.format==="")delete U.format;if(G==="time")delete U.format}if(Y)U.contentEncoding=Y;if(W&&W.size>0){let Q=[...W];if(Q.length===1)U.pattern=Q[0].source;else if(Q.length>1)U.allOf=[...Q.map((N)=>({...v.target==="draft-07"||v.target==="draft-04"||v.target==="openapi-3.0"?{type:"string"}:{},pattern:N.source}))]}},PJ=($,v,w,D)=>{let U=w,{minimum:z,maximum:J,format:G,multipleOf:W,exclusiveMaximum:Y,exclusiveMinimum:Q}=$._zod.bag;if(typeof G==="string"&&G.includes("int"))U.type="integer";else U.type="number";if(typeof Q==="number")if(v.target==="draft-04"||v.target==="openapi-3.0")U.minimum=Q,U.exclusiveMinimum=!0;else U.exclusiveMinimum=Q;if(typeof z==="number"){if(U.minimum=z,typeof Q==="number"&&v.target!=="draft-04")if(Q>=z)delete U.minimum;else delete U.exclusiveMinimum}if(typeof Y==="number")if(v.target==="draft-04"||v.target==="openapi-3.0")U.maximum=Y,U.exclusiveMaximum=!0;else U.exclusiveMaximum=Y;if(typeof J==="number"){if(U.maximum=J,typeof Y==="number"&&v.target!=="draft-04")if(Y<=J)delete U.maximum;else delete U.exclusiveMaximum}if(typeof W==="number")U.multipleOf=W},gJ=($,v,w,D)=>{w.type="boolean"},_J=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},TJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},kJ=($,v,w,D)=>{if(v.target==="openapi-3.0")w.type="string",w.nullable=!0,w.enum=[null];else w.type="null"},CJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},ZJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},xJ=($,v,w,D)=>{w.not={}},fJ=($,v,w,D)=>{},uJ=($,v,w,D)=>{},yJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},iJ=($,v,w,D)=>{let U=$._zod.def,z=p4(U.entries);if(z.every((J)=>typeof J==="number"))w.type="number";if(z.every((J)=>typeof J==="string"))w.type="string";w.enum=z},hJ=($,v,w,D)=>{let U=$._zod.def,z=[];for(let J of U.values)if(J===void 0){if(v.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof J==="bigint")if(v.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else z.push(Number(J));else z.push(J);if(z.length===0);else if(z.length===1){let J=z[0];if(w.type=J===null?"null":typeof J,v.target==="draft-04"||v.target==="openapi-3.0")w.enum=[J];else w.const=J}else{if(z.every((J)=>typeof J==="number"))w.type="number";if(z.every((J)=>typeof J==="string"))w.type="string";if(z.every((J)=>typeof J==="boolean"))w.type="boolean";if(z.every((J)=>J===null))w.type="null";w.enum=z}},cJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},mJ=($,v,w,D)=>{let U=w,z=$._zod.pattern;if(!z)throw Error("Pattern not found in template literal");U.type="string",U.pattern=z.source},nJ=($,v,w,D)=>{let U=w,z={type:"string",format:"binary",contentEncoding:"binary"},{minimum:J,maximum:G,mime:W}=$._zod.bag;if(J!==void 0)z.minLength=J;if(G!==void 0)z.maxLength=G;if(W)if(W.length===1)z.contentMediaType=W[0],Object.assign(U,z);else Object.assign(U,z),U.anyOf=W.map((Y)=>({contentMediaType:Y}));else Object.assign(U,z)},lJ=($,v,w,D)=>{w.type="boolean"},rJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},dJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},pJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},oJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},tJ=($,v,w,D)=>{if(v.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},aJ=($,v,w,D)=>{let U=w,z=$._zod.def,{minimum:J,maximum:G}=$._zod.bag;if(typeof J==="number")U.minItems=J;if(typeof G==="number")U.maxItems=G;U.type="array",U.items=U$(z.element,v,{...D,path:[...D.path,"items"]})},eJ=($,v,w,D)=>{let U=w,z=$._zod.def;U.type="object",U.properties={};let J=z.shape;for(let Y in J)U.properties[Y]=U$(J[Y],v,{...D,path:[...D.path,"properties",Y]});let G=new Set(Object.keys(J)),W=new Set([...G].filter((Y)=>{let Q=z.shape[Y]._zod;if(v.io==="input")return Q.optin===void 0;else return Q.optout===void 0}));if(W.size>0)U.required=Array.from(W);if(z.catchall?._zod.def.type==="never")U.additionalProperties=!1;else if(!z.catchall){if(v.io==="output")U.additionalProperties=!1}else if(z.catchall)U.additionalProperties=U$(z.catchall,v,{...D,path:[...D.path,"additionalProperties"]})},G1=($,v,w,D)=>{let U=$._zod.def,z=U.inclusive===!1,J=U.options.map((G,W)=>U$(G,v,{...D,path:[...D.path,z?"oneOf":"anyOf",W]}));if(z)w.oneOf=J;else w.anyOf=J},sJ=($,v,w,D)=>{let U=$._zod.def,z=U$(U.left,v,{...D,path:[...D.path,"allOf",0]}),J=U$(U.right,v,{...D,path:[...D.path,"allOf",1]}),G=(Y)=>("allOf"in Y)&&Object.keys(Y).length===1,W=[...G(z)?z.allOf:[z],...G(J)?J.allOf:[J]];w.allOf=W},$X=($,v,w,D)=>{let U=w,z=$._zod.def;U.type="array";let J=v.target==="draft-2020-12"?"prefixItems":"items",G=v.target==="draft-2020-12"?"items":v.target==="openapi-3.0"?"items":"additionalItems",W=z.items.map((L,q)=>U$(L,v,{...D,path:[...D.path,J,q]})),Y=z.rest?U$(z.rest,v,{...D,path:[...D.path,G,...v.target==="openapi-3.0"?[z.items.length]:[]]}):null;if(v.target==="draft-2020-12"){if(U.prefixItems=W,Y)U.items=Y}else if(v.target==="openapi-3.0"){if(U.items={anyOf:W},Y)U.items.anyOf.push(Y);if(U.minItems=W.length,!Y)U.maxItems=W.length}else if(U.items=W,Y)U.additionalItems=Y;let{minimum:Q,maximum:N}=$._zod.bag;if(typeof Q==="number")U.minItems=Q;if(typeof N==="number")U.maxItems=N},vX=($,v,w,D)=>{let U=w,z=$._zod.def;U.type="object";let J=z.keyType,W=J._zod.bag?.patterns;if(z.mode==="loose"&&W&&W.size>0){let Q=U$(z.valueType,v,{...D,path:[...D.path,"patternProperties","*"]});U.patternProperties={};for(let N of W)U.patternProperties[N.source]=Q}else{if(v.target==="draft-07"||v.target==="draft-2020-12")U.propertyNames=U$(z.keyType,v,{...D,path:[...D.path,"propertyNames"]});U.additionalProperties=U$(z.valueType,v,{...D,path:[...D.path,"additionalProperties"]})}let Y=J._zod.values;if(Y){let Q=[...Y].filter((N)=>typeof N==="string"||typeof N==="number");if(Q.length>0)U.required=Q}},UX=($,v,w,D)=>{let U=$._zod.def,z=U$(U.innerType,v,D),J=v.seen.get($);if(v.target==="openapi-3.0")J.ref=U.innerType,w.nullable=!0;else w.anyOf=[z,{type:"null"}]},wX=($,v,w,D)=>{let U=$._zod.def;U$(U.innerType,v,D);let z=v.seen.get($);z.ref=U.innerType},DX=($,v,w,D)=>{let U=$._zod.def;U$(U.innerType,v,D);let z=v.seen.get($);z.ref=U.innerType,w.default=JSON.parse(JSON.stringify(U.defaultValue))},zX=($,v,w,D)=>{let U=$._zod.def;U$(U.innerType,v,D);let z=v.seen.get($);if(z.ref=U.innerType,v.io==="input")w._prefault=JSON.parse(JSON.stringify(U.defaultValue))},JX=($,v,w,D)=>{let U=$._zod.def;U$(U.innerType,v,D);let z=v.seen.get($);z.ref=U.innerType;let J;try{J=U.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}w.default=J},XX=($,v,w,D)=>{let U=$._zod.def,z=v.io==="input"?U.in._zod.def.type==="transform"?U.out:U.in:U.out;U$(z,v,D);let J=v.seen.get($);J.ref=z},GX=($,v,w,D)=>{let U=$._zod.def;U$(U.innerType,v,D);let z=v.seen.get($);z.ref=U.innerType,w.readOnly=!0},YX=($,v,w,D)=>{let U=$._zod.def;U$(U.innerType,v,D);let z=v.seen.get($);z.ref=U.innerType},Y1=($,v,w,D)=>{let U=$._zod.def;U$(U.innerType,v,D);let z=v.seen.get($);z.ref=U.innerType},WX=($,v,w,D)=>{let U=$._zod.innerType;U$(U,v,D);let z=v.seen.get($);z.ref=U},X1={string:SJ,number:PJ,boolean:gJ,bigint:_J,symbol:TJ,null:kJ,undefined:CJ,void:ZJ,never:xJ,any:fJ,unknown:uJ,date:yJ,enum:iJ,literal:hJ,nan:cJ,template_literal:mJ,file:nJ,success:lJ,custom:rJ,function:dJ,transform:pJ,map:oJ,set:tJ,array:aJ,object:eJ,union:G1,intersection:sJ,tuple:$X,record:vX,nullable:UX,nonoptional:wX,default:DX,prefault:zX,catch:JX,pipe:XX,readonly:GX,promise:YX,optional:Y1,lazy:WX};function A4($,v){if("_idmap"in $){let D=$,U=F6({...v,processors:X1}),z={};for(let W of D._idmap.entries()){let[Y,Q]=W;U$(Q,U)}let J={},G={registry:D,uri:v?.uri,defs:z};U.external=G;for(let W of D._idmap.entries()){let[Y,Q]=W;R6(U,Q),J[Y]=M6(U,Q)}if(Object.keys(z).length>0){let W=U.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[W]:z}}return{schemas:J}}let w=F6({...v,processors:X1});return U$($,w),R6(w,$),M6(w,$)}class QX{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let v=$?.target??"draft-2020-12";if(v==="draft-4")v="draft-04";if(v==="draft-7")v="draft-07";this.ctx=F6({processors:X1,target:v,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,v={path:[],schemaPath:[]}){return U$($,this.ctx,v)}emit($,v){if(v){if(v.cycles)this.ctx.cycles=v.cycles;if(v.reused)this.ctx.reused=v.reused;if(v.external)this.ctx.external=v.external}R6(this.ctx,$);let w=M6(this.ctx,$),{"~standard":D,...U}=w;return U}}var n8={};var qv={};Y6(qv,{xor:()=>xY,xid:()=>zY,void:()=>gY,uuidv7:()=>a8,uuidv6:()=>t8,uuidv4:()=>o8,uuid:()=>p8,url:()=>e8,unknown:()=>i6,union:()=>x1,undefined:()=>SY,ulid:()=>DY,uint64:()=>RY,uint32:()=>EY,tuple:()=>lX,transform:()=>u1,templateLiteral:()=>oY,symbol:()=>MY,superRefine:()=>VG,success:()=>rY,stringbool:()=>wW,stringFormat:()=>IY,string:()=>q1,strictObject:()=>CY,set:()=>hY,refine:()=>HG,record:()=>rX,readonly:()=>QG,promise:()=>tY,preprocess:()=>zW,prefault:()=>DG,pipe:()=>Kv,partialRecord:()=>uY,optional:()=>Vv,object:()=>kY,number:()=>PX,nullish:()=>lY,nullable:()=>jv,null:()=>CX,nonoptional:()=>zG,never:()=>Z1,nativeEnum:()=>cY,nanoid:()=>vY,nan:()=>dY,meta:()=>vW,map:()=>iY,mac:()=>GY,looseRecord:()=>yY,looseObject:()=>ZY,literal:()=>mY,lazy:()=>OG,ksuid:()=>JY,keyof:()=>TY,jwt:()=>qY,json:()=>DW,ipv6:()=>YY,ipv4:()=>XY,intersection:()=>mX,int64:()=>FY,int32:()=>AY,int:()=>I1,instanceof:()=>UW,httpUrl:()=>s8,hostname:()=>HY,hex:()=>VY,hash:()=>jY,guid:()=>d8,function:()=>aY,float64:()=>BY,float32:()=>KY,file:()=>nY,exactOptional:()=>sX,enum:()=>f1,emoji:()=>$Y,email:()=>r8,e164:()=>OY,discriminatedUnion:()=>fY,describe:()=>$W,date:()=>_Y,custom:()=>sY,cuid2:()=>wY,cuid:()=>UY,codec:()=>pY,cidrv6:()=>QY,cidrv4:()=>WY,check:()=>eY,catch:()=>GG,boolean:()=>gX,bigint:()=>bY,base64url:()=>LY,base64:()=>NY,array:()=>Ev,any:()=>PY,_function:()=>aY,_default:()=>UG,_ZodString:()=>H1,ZodXor:()=>iX,ZodXID:()=>b1,ZodVoid:()=>uX,ZodUnknown:()=>xX,ZodUnion:()=>Fv,ZodUndefined:()=>TX,ZodUUID:()=>w6,ZodURL:()=>Bv,ZodULID:()=>E1,ZodType:()=>l,ZodTuple:()=>nX,ZodTransform:()=>aX,ZodTemplateLiteral:()=>NG,ZodSymbol:()=>_X,ZodSuccess:()=>JG,ZodStringFormat:()=>X$,ZodString:()=>F4,ZodSet:()=>pX,ZodRecord:()=>Rv,ZodReadonly:()=>WG,ZodPromise:()=>qG,ZodPrefault:()=>wG,ZodPipe:()=>h1,ZodOptional:()=>y1,ZodObject:()=>bv,ZodNumberFormat:()=>h6,ZodNumber:()=>M4,ZodNullable:()=>$G,ZodNull:()=>kX,ZodNonOptional:()=>i1,ZodNever:()=>fX,ZodNanoID:()=>K1,ZodNaN:()=>YG,ZodMap:()=>dX,ZodMAC:()=>SX,ZodLiteral:()=>oX,ZodLazy:()=>LG,ZodKSUID:()=>F1,ZodJWT:()=>k1,ZodIntersection:()=>cX,ZodIPv6:()=>M1,ZodIPv4:()=>R1,ZodGUID:()=>Hv,ZodFunction:()=>IG,ZodFile:()=>tX,ZodExactOptional:()=>eX,ZodEnum:()=>b4,ZodEmoji:()=>j1,ZodEmail:()=>V1,ZodE164:()=>T1,ZodDiscriminatedUnion:()=>hX,ZodDefault:()=>vG,ZodDate:()=>Av,ZodCustomStringFormat:()=>R4,ZodCustom:()=>Mv,ZodCodec:()=>c1,ZodCatch:()=>XG,ZodCUID2:()=>A1,ZodCUID:()=>B1,ZodCIDRv6:()=>P1,ZodCIDRv4:()=>S1,ZodBoolean:()=>S4,ZodBigIntFormat:()=>C1,ZodBigInt:()=>P4,ZodBase64URL:()=>_1,ZodBase64:()=>g1,ZodArray:()=>yX,ZodAny:()=>ZX});var W1={};Y6(W1,{uppercase:()=>W4,trim:()=>I4,toUpperCase:()=>V4,toLowerCase:()=>H4,startsWith:()=>N4,slugify:()=>j4,size:()=>f6,regex:()=>G4,property:()=>J1,positive:()=>U1,overwrite:()=>r$,normalize:()=>q4,nonpositive:()=>D1,nonnegative:()=>z1,negative:()=>w1,multipleOf:()=>E6,minSize:()=>U6,minLength:()=>Q6,mime:()=>O4,maxSize:()=>b6,maxLength:()=>u6,lte:()=>f$,lt:()=>$6,lowercase:()=>Y4,length:()=>y6,includes:()=>Q4,gte:()=>b$,gt:()=>v6,endsWith:()=>L4});var E4={};Y6(E4,{time:()=>OX,duration:()=>qX,datetime:()=>NX,date:()=>LX,ZodISOTime:()=>L1,ZodISODuration:()=>O1,ZodISODateTime:()=>Q1,ZodISODate:()=>N1});var Q1=O("ZodISODateTime",($,v)=>{o0.init($,v),X$.init($,v)});function NX($){return rz(Q1,$)}var N1=O("ZodISODate",($,v)=>{t0.init($,v),X$.init($,v)});function LX($){return dz(N1,$)}var L1=O("ZodISOTime",($,v)=>{a0.init($,v),X$.init($,v)});function OX($){return pz(L1,$)}var O1=O("ZodISODuration",($,v)=>{e0.init($,v),X$.init($,v)});function qX($){return oz(O1,$)}var l8=($,v)=>{s4.init($,v),$.name="ZodError",Object.defineProperties($,{format:{value:(w)=>vv($,w)},flatten:{value:(w)=>$v($,w)},addIssue:{value:(w)=>{$.issues.push(w),$.message=JSON.stringify($.issues,s6,2)}},addIssues:{value:(w)=>{$.issues.push(...w),$.message=JSON.stringify($.issues,s6,2)}},isEmpty:{get(){return $.issues.length===0}}})},IX=O("ZodError",l8),T$=O("ZodError",l8,{Parent:Error});var HX=U4(T$),VX=w4(T$),jX=D4(T$),Iv=z4(T$),KX=OU(T$),BX=qU(T$),AX=IU(T$),EX=HU(T$),bX=VU(T$),FX=jU(T$),RX=KU(T$),MX=BU(T$);var l=O("ZodType",($,v)=>{return c.init($,v),Object.assign($["~standard"],{jsonSchema:{input:B4($,"input"),output:B4($,"output")}}),$.toJSONSchema=MJ($,{}),$.def=v,$.type=v.type,Object.defineProperty($,"_def",{value:v}),$.check=(...w)=>{return $.clone(A.mergeDefs(v,{checks:[...v.checks??[],...w.map((D)=>typeof D==="function"?{_zod:{check:D,def:{check:"custom"},onattach:[]}}:D)]}),{parent:!0})},$.with=$.check,$.clone=(w,D)=>E$($,w,D),$.brand=()=>$,$.register=(w,D)=>{return w.add($,D),$},$.parse=(w,D)=>HX($,w,D,{callee:$.parse}),$.safeParse=(w,D)=>jX($,w,D),$.parseAsync=async(w,D)=>VX($,w,D,{callee:$.parseAsync}),$.safeParseAsync=async(w,D)=>Iv($,w,D),$.spa=$.safeParseAsync,$.encode=(w,D)=>KX($,w,D),$.decode=(w,D)=>BX($,w,D),$.encodeAsync=async(w,D)=>AX($,w,D),$.decodeAsync=async(w,D)=>EX($,w,D),$.safeEncode=(w,D)=>bX($,w,D),$.safeDecode=(w,D)=>FX($,w,D),$.safeEncodeAsync=async(w,D)=>RX($,w,D),$.safeDecodeAsync=async(w,D)=>MX($,w,D),$.refine=(w,D)=>$.check(HG(w,D)),$.superRefine=(w)=>$.check(VG(w)),$.overwrite=(w)=>$.check(r$(w)),$.optional=()=>Vv($),$.exactOptional=()=>sX($),$.nullable=()=>jv($),$.nullish=()=>Vv(jv($)),$.nonoptional=(w)=>zG($,w),$.array=()=>Ev($),$.or=(w)=>x1([$,w]),$.and=(w)=>mX($,w),$.transform=(w)=>Kv($,u1(w)),$.default=(w)=>UG($,w),$.prefault=(w)=>DG($,w),$.catch=(w)=>GG($,w),$.pipe=(w)=>Kv($,w),$.readonly=()=>QG($),$.describe=(w)=>{let D=$.clone();return H$.add(D,{description:w}),D},Object.defineProperty($,"description",{get(){return H$.get($)?.description},configurable:!0}),$.meta=(...w)=>{if(w.length===0)return H$.get($);let D=$.clone();return H$.add(D,w[0]),D},$.isOptional=()=>$.safeParse(void 0).success,$.isNullable=()=>$.safeParse(null).success,$.apply=(w)=>w($),$}),H1=O("_ZodString",($,v)=>{x6.init($,v),l.init($,v),$._zod.processJSONSchema=(D,U,z)=>SJ($,D,U,z);let w=$._zod.bag;$.format=w.format??null,$.minLength=w.minimum??null,$.maxLength=w.maximum??null,$.regex=(...D)=>$.check(G4(...D)),$.includes=(...D)=>$.check(Q4(...D)),$.startsWith=(...D)=>$.check(N4(...D)),$.endsWith=(...D)=>$.check(L4(...D)),$.min=(...D)=>$.check(Q6(...D)),$.max=(...D)=>$.check(u6(...D)),$.length=(...D)=>$.check(y6(...D)),$.nonempty=(...D)=>$.check(Q6(1,...D)),$.lowercase=(D)=>$.check(Y4(D)),$.uppercase=(D)=>$.check(W4(D)),$.trim=()=>$.check(I4()),$.normalize=(...D)=>$.check(q4(...D)),$.toLowerCase=()=>$.check(H4()),$.toUpperCase=()=>$.check(V4()),$.slugify=()=>$.check(j4())}),F4=O("ZodString",($,v)=>{x6.init($,v),H1.init($,v),$.email=(w)=>$.check(xU(V1,w)),$.url=(w)=>$.check(Ov(Bv,w)),$.jwt=(w)=>$.check(v1(k1,w)),$.emoji=(w)=>$.check(hU(j1,w)),$.guid=(w)=>$.check(Lv(Hv,w)),$.uuid=(w)=>$.check(fU(w6,w)),$.uuidv4=(w)=>$.check(uU(w6,w)),$.uuidv6=(w)=>$.check(yU(w6,w)),$.uuidv7=(w)=>$.check(iU(w6,w)),$.nanoid=(w)=>$.check(cU(K1,w)),$.guid=(w)=>$.check(Lv(Hv,w)),$.cuid=(w)=>$.check(mU(B1,w)),$.cuid2=(w)=>$.check(nU(A1,w)),$.ulid=(w)=>$.check(lU(E1,w)),$.base64=(w)=>$.check(eU(g1,w)),$.base64url=(w)=>$.check(sU(_1,w)),$.xid=(w)=>$.check(rU(b1,w)),$.ksuid=(w)=>$.check(dU(F1,w)),$.ipv4=(w)=>$.check(pU(R1,w)),$.ipv6=(w)=>$.check(oU(M1,w)),$.cidrv4=(w)=>$.check(tU(S1,w)),$.cidrv6=(w)=>$.check(aU(P1,w)),$.e164=(w)=>$.check($1(T1,w)),$.datetime=(w)=>$.check(NX(w)),$.date=(w)=>$.check(LX(w)),$.time=(w)=>$.check(OX(w)),$.duration=(w)=>$.check(qX(w))});function q1($){return cz(F4,$)}var X$=O("ZodStringFormat",($,v)=>{J$.init($,v),H1.init($,v)}),V1=O("ZodEmail",($,v)=>{i0.init($,v),X$.init($,v)});function r8($){return xU(V1,$)}var Hv=O("ZodGUID",($,v)=>{u0.init($,v),X$.init($,v)});function d8($){return Lv(Hv,$)}var w6=O("ZodUUID",($,v)=>{y0.init($,v),X$.init($,v)});function p8($){return fU(w6,$)}function o8($){return uU(w6,$)}function t8($){return yU(w6,$)}function a8($){return iU(w6,$)}var Bv=O("ZodURL",($,v)=>{h0.init($,v),X$.init($,v)});function e8($){return Ov(Bv,$)}function s8($){return Ov(Bv,{protocol:/^https?$/,hostname:m$.domain,...A.normalizeParams($)})}var j1=O("ZodEmoji",($,v)=>{c0.init($,v),X$.init($,v)});function $Y($){return hU(j1,$)}var K1=O("ZodNanoID",($,v)=>{m0.init($,v),X$.init($,v)});function vY($){return cU(K1,$)}var B1=O("ZodCUID",($,v)=>{n0.init($,v),X$.init($,v)});function UY($){return mU(B1,$)}var A1=O("ZodCUID2",($,v)=>{l0.init($,v),X$.init($,v)});function wY($){return nU(A1,$)}var E1=O("ZodULID",($,v)=>{r0.init($,v),X$.init($,v)});function DY($){return lU(E1,$)}var b1=O("ZodXID",($,v)=>{d0.init($,v),X$.init($,v)});function zY($){return rU(b1,$)}var F1=O("ZodKSUID",($,v)=>{p0.init($,v),X$.init($,v)});function JY($){return dU(F1,$)}var R1=O("ZodIPv4",($,v)=>{s0.init($,v),X$.init($,v)});function XY($){return pU(R1,$)}var SX=O("ZodMAC",($,v)=>{vD.init($,v),X$.init($,v)});function GY($){return nz(SX,$)}var M1=O("ZodIPv6",($,v)=>{$D.init($,v),X$.init($,v)});function YY($){return oU(M1,$)}var S1=O("ZodCIDRv4",($,v)=>{UD.init($,v),X$.init($,v)});function WY($){return tU(S1,$)}var P1=O("ZodCIDRv6",($,v)=>{wD.init($,v),X$.init($,v)});function QY($){return aU(P1,$)}var g1=O("ZodBase64",($,v)=>{zD.init($,v),X$.init($,v)});function NY($){return eU(g1,$)}var _1=O("ZodBase64URL",($,v)=>{JD.init($,v),X$.init($,v)});function LY($){return sU(_1,$)}var T1=O("ZodE164",($,v)=>{XD.init($,v),X$.init($,v)});function OY($){return $1(T1,$)}var k1=O("ZodJWT",($,v)=>{GD.init($,v),X$.init($,v)});function qY($){return v1(k1,$)}var R4=O("ZodCustomStringFormat",($,v)=>{YD.init($,v),X$.init($,v)});function IY($,v,w={}){return K4(R4,$,v,w)}function HY($){return K4(R4,"hostname",m$.hostname,$)}function VY($){return K4(R4,"hex",m$.hex,$)}function jY($,v){let w=v?.enc??"hex",D=`${$}_${w}`,U=m$[D];if(!U)throw Error(`Unrecognized hash format: ${D}`);return K4(R4,D,U,v)}var M4=O("ZodNumber",($,v)=>{_U.init($,v),l.init($,v),$._zod.processJSONSchema=(D,U,z)=>PJ($,D,U,z),$.gt=(D,U)=>$.check(v6(D,U)),$.gte=(D,U)=>$.check(b$(D,U)),$.min=(D,U)=>$.check(b$(D,U)),$.lt=(D,U)=>$.check($6(D,U)),$.lte=(D,U)=>$.check(f$(D,U)),$.max=(D,U)=>$.check(f$(D,U)),$.int=(D)=>$.check(I1(D)),$.safe=(D)=>$.check(I1(D)),$.positive=(D)=>$.check(v6(0,D)),$.nonnegative=(D)=>$.check(b$(0,D)),$.negative=(D)=>$.check($6(0,D)),$.nonpositive=(D)=>$.check(f$(0,D)),$.multipleOf=(D,U)=>$.check(E6(D,U)),$.step=(D,U)=>$.check(E6(D,U)),$.finite=()=>$;let w=$._zod.bag;$.minValue=Math.max(w.minimum??Number.NEGATIVE_INFINITY,w.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(w.maximum??Number.POSITIVE_INFINITY,w.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(w.format??"").includes("int")||Number.isSafeInteger(w.multipleOf??0.5),$.isFinite=!0,$.format=w.format??null});function PX($){return tz(M4,$)}var h6=O("ZodNumberFormat",($,v)=>{WD.init($,v),M4.init($,v)});function I1($){return ez(h6,$)}function KY($){return sz(h6,$)}function BY($){return $J(h6,$)}function AY($){return vJ(h6,$)}function EY($){return UJ(h6,$)}var S4=O("ZodBoolean",($,v)=>{zv.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>gJ($,w,D,U)});function gX($){return wJ(S4,$)}var P4=O("ZodBigInt",($,v)=>{TU.init($,v),l.init($,v),$._zod.processJSONSchema=(D,U,z)=>_J($,D,U,z),$.gte=(D,U)=>$.check(b$(D,U)),$.min=(D,U)=>$.check(b$(D,U)),$.gt=(D,U)=>$.check(v6(D,U)),$.gte=(D,U)=>$.check(b$(D,U)),$.min=(D,U)=>$.check(b$(D,U)),$.lt=(D,U)=>$.check($6(D,U)),$.lte=(D,U)=>$.check(f$(D,U)),$.max=(D,U)=>$.check(f$(D,U)),$.positive=(D)=>$.check(v6(BigInt(0),D)),$.negative=(D)=>$.check($6(BigInt(0),D)),$.nonpositive=(D)=>$.check(f$(BigInt(0),D)),$.nonnegative=(D)=>$.check(b$(BigInt(0),D)),$.multipleOf=(D,U)=>$.check(E6(D,U));let w=$._zod.bag;$.minValue=w.minimum??null,$.maxValue=w.maximum??null,$.format=w.format??null});function bY($){return zJ(P4,$)}var C1=O("ZodBigIntFormat",($,v)=>{QD.init($,v),P4.init($,v)});function FY($){return XJ(C1,$)}function RY($){return GJ(C1,$)}var _X=O("ZodSymbol",($,v)=>{ND.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>TJ($,w,D,U)});function MY($){return YJ(_X,$)}var TX=O("ZodUndefined",($,v)=>{LD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>CJ($,w,D,U)});function SY($){return WJ(TX,$)}var kX=O("ZodNull",($,v)=>{OD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>kJ($,w,D,U)});function CX($){return QJ(kX,$)}var ZX=O("ZodAny",($,v)=>{qD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>fJ($,w,D,U)});function PY(){return NJ(ZX)}var xX=O("ZodUnknown",($,v)=>{ID.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>uJ($,w,D,U)});function i6(){return LJ(xX)}var fX=O("ZodNever",($,v)=>{HD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>xJ($,w,D,U)});function Z1($){return OJ(fX,$)}var uX=O("ZodVoid",($,v)=>{VD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>ZJ($,w,D,U)});function gY($){return qJ(uX,$)}var Av=O("ZodDate",($,v)=>{jD.init($,v),l.init($,v),$._zod.processJSONSchema=(D,U,z)=>yJ($,D,U,z),$.min=(D,U)=>$.check(b$(D,U)),$.max=(D,U)=>$.check(f$(D,U));let w=$._zod.bag;$.minDate=w.minimum?new Date(w.minimum):null,$.maxDate=w.maximum?new Date(w.maximum):null});function _Y($){return IJ(Av,$)}var yX=O("ZodArray",($,v)=>{KD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>aJ($,w,D,U),$.element=v.element,$.min=(w,D)=>$.check(Q6(w,D)),$.nonempty=(w)=>$.check(Q6(1,w)),$.max=(w,D)=>$.check(u6(w,D)),$.length=(w,D)=>$.check(y6(w,D)),$.unwrap=()=>$.element});function Ev($,v){return jJ(yX,$,v)}function TY($){let v=$._zod.def.shape;return f1(Object.keys(v))}var bv=O("ZodObject",($,v)=>{BD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>eJ($,w,D,U),A.defineLazy($,"shape",()=>{return v.shape}),$.keyof=()=>f1(Object.keys($._zod.def.shape)),$.catchall=(w)=>$.clone({...$._zod.def,catchall:w}),$.passthrough=()=>$.clone({...$._zod.def,catchall:i6()}),$.loose=()=>$.clone({...$._zod.def,catchall:i6()}),$.strict=()=>$.clone({...$._zod.def,catchall:Z1()}),$.strip=()=>$.clone({...$._zod.def,catchall:void 0}),$.extend=(w)=>{return A.extend($,w)},$.safeExtend=(w)=>{return A.safeExtend($,w)},$.merge=(w)=>A.merge($,w),$.pick=(w)=>A.pick($,w),$.omit=(w)=>A.omit($,w),$.partial=(...w)=>A.partial(y1,$,w[0]),$.required=(...w)=>A.required(i1,$,w[0])});function kY($,v){let w={type:"object",shape:$??{},...A.normalizeParams(v)};return new bv(w)}function CY($,v){return new bv({type:"object",shape:$,catchall:Z1(),...A.normalizeParams(v)})}function ZY($,v){return new bv({type:"object",shape:$,catchall:i6(),...A.normalizeParams(v)})}var Fv=O("ZodUnion",($,v)=>{Jv.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>G1($,w,D,U),$.options=v.options});function x1($,v){return new Fv({type:"union",options:$,...A.normalizeParams(v)})}var iX=O("ZodXor",($,v)=>{Fv.init($,v),AD.init($,v),$._zod.processJSONSchema=(w,D,U)=>G1($,w,D,U),$.options=v.options});function xY($,v){return new iX({type:"union",options:$,inclusive:!1,...A.normalizeParams(v)})}var hX=O("ZodDiscriminatedUnion",($,v)=>{Fv.init($,v),ED.init($,v)});function fY($,v,w){return new hX({type:"union",options:v,discriminator:$,...A.normalizeParams(w)})}var cX=O("ZodIntersection",($,v)=>{bD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>sJ($,w,D,U)});function mX($,v){return new cX({type:"intersection",left:$,right:v})}var nX=O("ZodTuple",($,v)=>{kU.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>$X($,w,D,U),$.rest=(w)=>$.clone({...$._zod.def,rest:w})});function lX($,v,w){let D=v instanceof c,U=D?w:v;return new nX({type:"tuple",items:$,rest:D?v:null,...A.normalizeParams(U)})}var Rv=O("ZodRecord",($,v)=>{FD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>vX($,w,D,U),$.keyType=v.keyType,$.valueType=v.valueType});function rX($,v,w){return new Rv({type:"record",keyType:$,valueType:v,...A.normalizeParams(w)})}function uY($,v,w){let D=E$($);return D._zod.values=void 0,new Rv({type:"record",keyType:D,valueType:v,...A.normalizeParams(w)})}function yY($,v,w){return new Rv({type:"record",keyType:$,valueType:v,mode:"loose",...A.normalizeParams(w)})}var dX=O("ZodMap",($,v)=>{RD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>oJ($,w,D,U),$.keyType=v.keyType,$.valueType=v.valueType,$.min=(...w)=>$.check(U6(...w)),$.nonempty=(w)=>$.check(U6(1,w)),$.max=(...w)=>$.check(b6(...w)),$.size=(...w)=>$.check(f6(...w))});function iY($,v,w){return new dX({type:"map",keyType:$,valueType:v,...A.normalizeParams(w)})}var pX=O("ZodSet",($,v)=>{MD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>tJ($,w,D,U),$.min=(...w)=>$.check(U6(...w)),$.nonempty=(w)=>$.check(U6(1,w)),$.max=(...w)=>$.check(b6(...w)),$.size=(...w)=>$.check(f6(...w))});function hY($,v){return new pX({type:"set",valueType:$,...A.normalizeParams(v)})}var b4=O("ZodEnum",($,v)=>{SD.init($,v),l.init($,v),$._zod.processJSONSchema=(D,U,z)=>iJ($,D,U,z),$.enum=v.entries,$.options=Object.values(v.entries);let w=new Set(Object.keys(v.entries));$.extract=(D,U)=>{let z={};for(let J of D)if(w.has(J))z[J]=v.entries[J];else throw Error(`Key ${J} not found in enum`);return new b4({...v,checks:[],...A.normalizeParams(U),entries:z})},$.exclude=(D,U)=>{let z={...v.entries};for(let J of D)if(w.has(J))delete z[J];else throw Error(`Key ${J} not found in enum`);return new b4({...v,checks:[],...A.normalizeParams(U),entries:z})}});function f1($,v){let w=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new b4({type:"enum",entries:w,...A.normalizeParams(v)})}function cY($,v){return new b4({type:"enum",entries:$,...A.normalizeParams(v)})}var oX=O("ZodLiteral",($,v)=>{PD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>hJ($,w,D,U),$.values=new Set(v.values),Object.defineProperty($,"value",{get(){if(v.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return v.values[0]}})});function mY($,v){return new oX({type:"literal",values:Array.isArray($)?$:[$],...A.normalizeParams(v)})}var tX=O("ZodFile",($,v)=>{gD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>nJ($,w,D,U),$.min=(w,D)=>$.check(U6(w,D)),$.max=(w,D)=>$.check(b6(w,D)),$.mime=(w,D)=>$.check(O4(Array.isArray(w)?w:[w],D))});function nY($){return KJ(tX,$)}var aX=O("ZodTransform",($,v)=>{_D.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>pJ($,w,D,U),$._zod.parse=(w,D)=>{if(D.direction==="backward")throw new k6($.constructor.name);w.addIssue=(z)=>{if(typeof z==="string")w.issues.push(A.issue(z,w.value,v));else{let J=z;if(J.fatal)J.continue=!1;J.code??(J.code="custom"),J.input??(J.input=w.value),J.inst??(J.inst=$),w.issues.push(A.issue(J))}};let U=v.transform(w.value,w);if(U instanceof Promise)return U.then((z)=>{return w.value=z,w});return w.value=U,w}});function u1($){return new aX({type:"transform",transform:$})}var y1=O("ZodOptional",($,v)=>{CU.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>Y1($,w,D,U),$.unwrap=()=>$._zod.def.innerType});function Vv($){return new y1({type:"optional",innerType:$})}var eX=O("ZodExactOptional",($,v)=>{TD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>Y1($,w,D,U),$.unwrap=()=>$._zod.def.innerType});function sX($){return new eX({type:"optional",innerType:$})}var $G=O("ZodNullable",($,v)=>{kD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>UX($,w,D,U),$.unwrap=()=>$._zod.def.innerType});function jv($){return new $G({type:"nullable",innerType:$})}function lY($){return Vv(jv($))}var vG=O("ZodDefault",($,v)=>{CD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>DX($,w,D,U),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});function UG($,v){return new vG({type:"default",innerType:$,get defaultValue(){return typeof v==="function"?v():A.shallowClone(v)}})}var wG=O("ZodPrefault",($,v)=>{ZD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>zX($,w,D,U),$.unwrap=()=>$._zod.def.innerType});function DG($,v){return new wG({type:"prefault",innerType:$,get defaultValue(){return typeof v==="function"?v():A.shallowClone(v)}})}var i1=O("ZodNonOptional",($,v)=>{xD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>wX($,w,D,U),$.unwrap=()=>$._zod.def.innerType});function zG($,v){return new i1({type:"nonoptional",innerType:$,...A.normalizeParams(v)})}var JG=O("ZodSuccess",($,v)=>{fD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>lJ($,w,D,U),$.unwrap=()=>$._zod.def.innerType});function rY($){return new JG({type:"success",innerType:$})}var XG=O("ZodCatch",($,v)=>{uD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>JX($,w,D,U),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});function GG($,v){return new XG({type:"catch",innerType:$,catchValue:typeof v==="function"?v:()=>v})}var YG=O("ZodNaN",($,v)=>{yD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>cJ($,w,D,U)});function dY($){return VJ(YG,$)}var h1=O("ZodPipe",($,v)=>{iD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>XX($,w,D,U),$.in=v.in,$.out=v.out});function Kv($,v){return new h1({type:"pipe",in:$,out:v})}var c1=O("ZodCodec",($,v)=>{h1.init($,v),Xv.init($,v)});function pY($,v,w){return new c1({type:"pipe",in:$,out:v,transform:w.decode,reverseTransform:w.encode})}var WG=O("ZodReadonly",($,v)=>{hD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>GX($,w,D,U),$.unwrap=()=>$._zod.def.innerType});function QG($){return new WG({type:"readonly",innerType:$})}var NG=O("ZodTemplateLiteral",($,v)=>{cD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>mJ($,w,D,U)});function oY($,v){return new NG({type:"template_literal",parts:$,...A.normalizeParams(v)})}var LG=O("ZodLazy",($,v)=>{lD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>WX($,w,D,U),$.unwrap=()=>$._zod.def.getter()});function OG($){return new LG({type:"lazy",getter:$})}var qG=O("ZodPromise",($,v)=>{nD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>YX($,w,D,U),$.unwrap=()=>$._zod.def.innerType});function tY($){return new qG({type:"promise",innerType:$})}var IG=O("ZodFunction",($,v)=>{mD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>dJ($,w,D,U)});function aY($){return new IG({type:"function",input:Array.isArray($?.input)?lX($?.input):$?.input??Ev(i6()),output:$?.output??i6()})}var Mv=O("ZodCustom",($,v)=>{rD.init($,v),l.init($,v),$._zod.processJSONSchema=(w,D,U)=>rJ($,w,D,U)});function eY($){let v=new G$({check:"custom"});return v._zod.check=$,v}function sY($,v){return BJ(Mv,$??(()=>!0),v)}function HG($,v={}){return AJ(Mv,$,v)}function VG($){return EJ($)}var $W=bJ,vW=FJ;function UW($,v={}){let w=new Mv({type:"custom",check:"custom",fn:(D)=>D instanceof $,abort:!0,...A.normalizeParams(v)});return w._zod.bag.Class=$,w._zod.check=(D)=>{if(!(D.value instanceof $))D.issues.push({code:"invalid_type",expected:$.name,input:D.value,inst:w,path:[...w._zod.def.path??[]]})},w}var wW=(...$)=>RJ({Codec:c1,Boolean:S4,String:F4},...$);function DW($){let v=OG(()=>{return x1([q1($),PX(),gX(),CX(),Ev(v),rX(q1(),v)])});return v}function zW($,v){return Kv(u1($),v)}var cq={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function mq($){O$({customError:$})}function nq(){return O$().customError}var jG;(function($){})(jG||(jG={}));var _={...qv,...W1,iso:E4},lq=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function rq($,v){let w=$.$schema;if(w==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(w==="http://json-schema.org/draft-07/schema#")return"draft-7";if(w==="http://json-schema.org/draft-04/schema#")return"draft-4";return v??"draft-2020-12"}function dq($,v){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let w=$.slice(1).split("/").filter(Boolean);if(w.length===0)return v.rootSchema;let D=v.version==="draft-2020-12"?"$defs":"definitions";if(w[0]===D){let U=w[1];if(!U||!v.defs[U])throw Error(`Reference not found: ${$}`);return v.defs[U]}throw Error(`Reference not found: ${$}`)}function JW($,v){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return _.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let U=$.$ref;if(v.refs.has(U))return v.refs.get(U);if(v.processing.has(U))return _.lazy(()=>{if(!v.refs.has(U))throw Error(`Circular reference not resolved: ${U}`);return v.refs.get(U)});v.processing.add(U);let z=dq(U,v),J=K$(z,v);return v.refs.set(U,J),v.processing.delete(U),J}if($.enum!==void 0){let U=$.enum;if(v.version==="openapi-3.0"&&$.nullable===!0&&U.length===1&&U[0]===null)return _.null();if(U.length===0)return _.never();if(U.length===1)return _.literal(U[0]);if(U.every((J)=>typeof J==="string"))return _.enum(U);let z=U.map((J)=>_.literal(J));if(z.length<2)return z[0];return _.union([z[0],z[1],...z.slice(2)])}if($.const!==void 0)return _.literal($.const);let w=$.type;if(Array.isArray(w)){let U=w.map((z)=>{let J={...$,type:z};return JW(J,v)});if(U.length===0)return _.never();if(U.length===1)return U[0];return _.union(U)}if(!w)return _.any();let D;switch(w){case"string":{let U=_.string();if($.format){let z=$.format;if(z==="email")U=U.check(_.email());else if(z==="uri"||z==="uri-reference")U=U.check(_.url());else if(z==="uuid"||z==="guid")U=U.check(_.uuid());else if(z==="date-time")U=U.check(_.iso.datetime());else if(z==="date")U=U.check(_.iso.date());else if(z==="time")U=U.check(_.iso.time());else if(z==="duration")U=U.check(_.iso.duration());else if(z==="ipv4")U=U.check(_.ipv4());else if(z==="ipv6")U=U.check(_.ipv6());else if(z==="mac")U=U.check(_.mac());else if(z==="cidr")U=U.check(_.cidrv4());else if(z==="cidr-v6")U=U.check(_.cidrv6());else if(z==="base64")U=U.check(_.base64());else if(z==="base64url")U=U.check(_.base64url());else if(z==="e164")U=U.check(_.e164());else if(z==="jwt")U=U.check(_.jwt());else if(z==="emoji")U=U.check(_.emoji());else if(z==="nanoid")U=U.check(_.nanoid());else if(z==="cuid")U=U.check(_.cuid());else if(z==="cuid2")U=U.check(_.cuid2());else if(z==="ulid")U=U.check(_.ulid());else if(z==="xid")U=U.check(_.xid());else if(z==="ksuid")U=U.check(_.ksuid())}if(typeof $.minLength==="number")U=U.min($.minLength);if(typeof $.maxLength==="number")U=U.max($.maxLength);if($.pattern)U=U.regex(new RegExp($.pattern));D=U;break}case"number":case"integer":{let U=w==="integer"?_.number().int():_.number();if(typeof $.minimum==="number")U=U.min($.minimum);if(typeof $.maximum==="number")U=U.max($.maximum);if(typeof $.exclusiveMinimum==="number")U=U.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")U=U.gt($.minimum);if(typeof $.exclusiveMaximum==="number")U=U.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")U=U.lt($.maximum);if(typeof $.multipleOf==="number")U=U.multipleOf($.multipleOf);D=U;break}case"boolean":{D=_.boolean();break}case"null":{D=_.null();break}case"object":{let U={},z=$.properties||{},J=new Set($.required||[]);for(let[W,Y]of Object.entries(z)){let Q=K$(Y,v);U[W]=J.has(W)?Q:Q.optional()}if($.propertyNames){let W=K$($.propertyNames,v),Y=$.additionalProperties&&typeof $.additionalProperties==="object"?K$($.additionalProperties,v):_.any();if(Object.keys(U).length===0){D=_.record(W,Y);break}let Q=_.object(U).passthrough(),N=_.looseRecord(W,Y);D=_.intersection(Q,N);break}if($.patternProperties){let W=$.patternProperties,Y=Object.keys(W),Q=[];for(let L of Y){let q=K$(W[L],v),M=_.string().regex(new RegExp(L));Q.push(_.looseRecord(M,q))}let N=[];if(Object.keys(U).length>0)N.push(_.object(U).passthrough());if(N.push(...Q),N.length===0)D=_.object({}).passthrough();else if(N.length===1)D=N[0];else{let L=_.intersection(N[0],N[1]);for(let q=2;qK$(W,v)),G=z&&typeof z==="object"&&!Array.isArray(z)?K$(z,v):void 0;if(G)D=_.tuple(J).rest(G);else D=_.tuple(J);if(typeof $.minItems==="number")D=D.check(_.minLength($.minItems));if(typeof $.maxItems==="number")D=D.check(_.maxLength($.maxItems))}else if(Array.isArray(z)){let J=z.map((W)=>K$(W,v)),G=$.additionalItems&&typeof $.additionalItems==="object"?K$($.additionalItems,v):void 0;if(G)D=_.tuple(J).rest(G);else D=_.tuple(J);if(typeof $.minItems==="number")D=D.check(_.minLength($.minItems));if(typeof $.maxItems==="number")D=D.check(_.maxLength($.maxItems))}else if(z!==void 0){let J=K$(z,v),G=_.array(J);if(typeof $.minItems==="number")G=G.min($.minItems);if(typeof $.maxItems==="number")G=G.max($.maxItems);D=G}else D=_.array(_.any());break}default:throw Error(`Unsupported type: ${w}`)}if($.description)D=D.describe($.description);if($.default!==void 0)D=D.default($.default);return D}function K$($,v){if(typeof $==="boolean")return $?_.any():_.never();let w=JW($,v),D=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let G=$.anyOf.map((Y)=>K$(Y,v)),W=_.union(G);w=D?_.intersection(w,W):W}if($.oneOf&&Array.isArray($.oneOf)){let G=$.oneOf.map((Y)=>K$(Y,v)),W=_.xor(G);w=D?_.intersection(w,W):W}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)w=D?w:_.any();else{let G=D?w:K$($.allOf[0],v),W=D?0:1;for(let Y=W;Y<$.allOf.length;Y++)G=_.intersection(G,K$($.allOf[Y],v));w=G}if($.nullable===!0&&v.version==="openapi-3.0")w=_.nullable(w);if($.readOnly===!0)w=_.readonly(w);let U={},z=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let G of z)if(G in $)U[G]=$[G];let J=["contentEncoding","contentMediaType","contentSchema"];for(let G of J)if(G in $)U[G]=$[G];for(let G of Object.keys($))if(!lq.has(G))U[G]=$[G];if(Object.keys(U).length>0)v.registry.add(w,U);return w}function XW($,v){if(typeof $==="boolean")return $?_.any():_.never();let w=rq($,v?.defaultTarget),D=$.$defs||$.definitions||{},U={version:w,defs:D,refs:new Map,processing:new Set,rootSchema:$,registry:v?.registry??H$};return K$($,U)}var KG={};Y6(KG,{string:()=>pq,number:()=>oq,date:()=>eq,boolean:()=>tq,bigint:()=>aq});function pq($){return mz(F4,$)}function oq($){return az(M4,$)}function tq($){return DJ(S4,$)}function aq($){return JJ(P4,$)}function eq($){return HJ(Av,$)}O$(Gv());class Z extends Error{code;name="CustomMediaError";constructor($,v){super(`[${$}] ${v}`);this.code=$}}function m1($,v,w){let D=$.safeParse(v);if(D.success)return D.data;let U=D.error.issues.slice(0,6).map((z)=>`${z.path.join(".")||"input"}: ${z.message}`).join("; ");throw new Z("INVALID_INPUT",`${w} is invalid: ${U}`)}function d$($,v=[]){let w=$ instanceof Error?$.message:String($);w=w.replace(/Bearer\s+[A-Za-z0-9._~+/=-]+/giu,"Bearer [REDACTED]").replace(/\bsk-[A-Za-z0-9._-]{8,}\b/gu,"[REDACTED]");for(let D of v)if(D.length>=4)w=w.split(D).join("[REDACTED]");return w.replace(/[\r\n\t]+/gu," ").slice(0,500)}function n1($,v,w,D=[]){if($ instanceof Z)return $;if($ instanceof IX)return new Z("INVALID_INPUT",`${w}: invalid structured data`);return new Z(v,`${w}: ${d$($,D)}`)}var l1="OPENAI_COMPATIBLE_BASE_URL",r1="OPENAI_COMPATIBLE_API_KEY";function sq($){let v;try{v=new URL($)}catch{throw new Z("INVALID_CONFIG","The configured base URL is not a valid URL.")}if(!new Set(["http:","https:"]).has(v.protocol))throw new Z("INVALID_CONFIG","The configured base URL must use HTTP or HTTPS.");if(v.username||v.password||v.search||v.hash)throw new Z("INVALID_CONFIG","The configured base URL must not contain credentials, query parameters, or a fragment.");let w=v.pathname.replace(/\/+$/u,"");if(!w.endsWith("/v1"))w=`${w}/v1`;return v.pathname=w.replace(/^$/u,"/v1"),v.toString().replace(/\/$/u,"")}function g4(){let $=process.env[l1]?.trim(),v=process.env[r1]?.trim();if(!$)throw new Z("MISSING_ENV",`Required base URL environment variable '${l1}' is not set.`);if(!v)throw new Z("MISSING_ENV",`Required API key environment variable '${r1}' is not set.`);try{return{baseURL:sq($),apiKey:v}}catch(w){if(w instanceof Z)throw w;throw new Z("INVALID_CONFIG",`Could not resolve provider configuration: ${d$(w,[v])}`)}}var $5=65536;function _4($){return{Authorization:`Bearer ${$}`}}function T4($,v){return`${$.replace(/\/$/u,"")}/${v.replace(/^\//u,"")}`}async function GW($,v=$5){if(!$.body)return"";let w=$.body.getReader(),D=[],U=0;try{while(!0){let z=await w.read();if(z.done)break;if(U+z.value.byteLength>v){let J=Math.max(0,v-U);if(J)D.push(z.value.subarray(0,J));U=v,await w.cancel();break}D.push(z.value),U+=z.value.byteLength}}finally{w.releaseLock()}return Buffer.concat(D.map((z)=>Buffer.from(z)),U).toString("utf8")}function v5($){try{let v=JSON.parse($);if(typeof v.error==="string")return v.error;if(typeof v.error?.message==="string")return v.error.message;if(typeof v.message==="string")return v.message}catch{}return $||"no response body"}async function BG($,v,w){if($.ok)return;let D=await GW($);throw new Z("PROVIDER_ERROR",`${v} failed with HTTP ${$.status}: ${d$(v5(D),[w])}`)}async function d1($,v,w){await BG($,v,w);let D=await GW($,1048576);try{return JSON.parse(D)}catch{throw new Z("PROVIDER_ERROR",`${v} returned malformed JSON: ${d$(D,[w])}`)}}import $A from"node:path";var yW="vercel.ai.error",U5=Symbol.for(yW),YW,WW,h=class $ extends(WW=Error,YW=U5,WW){constructor({name:v,message:w,cause:D}){super(w);this[YW]=!0,this.name=v,this.cause=D}static isInstance(v){return $.hasMarker(v,yW)}static hasMarker(v,w){let D=Symbol.for(w);return v!=null&&typeof v==="object"&&D in v&&typeof v[D]==="boolean"&&v[D]===!0}},iW="AI_APICallError",hW=`vercel.ai.error.${iW}`,w5=Symbol.for(hW),QW,NW,D$=class extends(NW=h,QW=w5,NW){constructor({message:$,url:v,requestBodyValues:w,statusCode:D,responseHeaders:U,responseBody:z,cause:J,isRetryable:G=D!=null&&(D===408||D===409||D===429||D>=500),data:W}){super({name:iW,message:$,cause:J});this[QW]=!0,this.url=v,this.requestBodyValues=w,this.statusCode=D,this.responseHeaders=U,this.responseBody=z,this.isRetryable=G,this.data=W}static isInstance($){return h.hasMarker($,hW)}},cW="AI_EmptyResponseBodyError",mW=`vercel.ai.error.${cW}`,D5=Symbol.for(mW),LW,OW,nW=class extends(OW=h,LW=D5,OW){constructor({message:$="Empty response body"}={}){super({name:cW,message:$});this[LW]=!0}static isInstance($){return h.hasMarker($,mW)}};function Sv($){if($==null)return"unknown error";if(typeof $==="string")return $;if($ instanceof Error)return $.toString();return JSON.stringify($)}var lW="AI_InvalidArgumentError",rW=`vercel.ai.error.${lW}`,z5=Symbol.for(rW),qW,IW,p1=class extends(IW=h,qW=z5,IW){constructor({message:$,cause:v,argument:w}){super({name:lW,message:$,cause:v});this[qW]=!0,this.argument=w}static isInstance($){return h.hasMarker($,rW)}},dW="AI_InvalidPromptError",pW=`vercel.ai.error.${dW}`,J5=Symbol.for(pW),HW,VW,oW=class extends(VW=h,HW=J5,VW){constructor({prompt:$,message:v,cause:w}){super({name:dW,message:`Invalid prompt: ${v}`,cause:w});this[HW]=!0,this.prompt=$}static isInstance($){return h.hasMarker($,pW)}},tW="AI_InvalidResponseDataError",aW=`vercel.ai.error.${tW}`,X5=Symbol.for(aW),jW,KW,Pv=class extends(KW=h,jW=X5,KW){constructor({data:$,message:v=`Invalid response data: ${JSON.stringify($)}.`}){super({name:tW,message:v});this[jW]=!0,this.data=$}static isInstance($){return h.hasMarker($,aW)}},eW="AI_JSONParseError",sW=`vercel.ai.error.${eW}`,G5=Symbol.for(sW),BW,AW,gv=class extends(AW=h,BW=G5,AW){constructor({text:$,cause:v}){super({name:eW,message:`JSON parsing failed: Text: ${$}. +Error message: ${Sv(v)}`,cause:v});this[BW]=!0,this.text=$}static isInstance($){return h.hasMarker($,sW)}},$9="AI_LoadAPIKeyError",v9=`vercel.ai.error.${$9}`,Y5=Symbol.for(v9),EW,bW,IF=class extends(bW=h,EW=Y5,bW){constructor({message:$}){super({name:$9,message:$});this[EW]=!0}static isInstance($){return h.hasMarker($,v9)}},U9="AI_LoadSettingError",w9=`vercel.ai.error.${U9}`,W5=Symbol.for(w9),FW,RW,HF=class extends(RW=h,FW=W5,RW){constructor({message:$}){super({name:U9,message:$});this[FW]=!0}static isInstance($){return h.hasMarker($,w9)}},D9="AI_NoContentGeneratedError",z9=`vercel.ai.error.${D9}`,Q5=Symbol.for(z9),MW,SW,VF=class extends(SW=h,MW=Q5,SW){constructor({message:$="No content generated."}={}){super({name:D9,message:$});this[MW]=!0}static isInstance($){return h.hasMarker($,z9)}},J9="AI_NoSuchModelError",X9=`vercel.ai.error.${J9}`,N5=Symbol.for(X9),PW,gW,jF=class extends(gW=h,PW=N5,gW){constructor({errorName:$=J9,modelId:v,modelType:w,message:D=`No such ${w}: ${v}`}){super({name:$,message:D});this[PW]=!0,this.modelId=v,this.modelType=w}static isInstance($){return h.hasMarker($,X9)}},G9="AI_NoSuchProviderReferenceError",Y9=`vercel.ai.error.${G9}`,L5=Symbol.for(Y9),_W,TW,KF=class extends(TW=h,_W=L5,TW){constructor({provider:$,reference:v,message:w=`No provider reference found for provider '${$}'. Available providers: ${Object.keys(v).join(", ")}`}){super({name:G9,message:w});this[_W]=!0,this.provider=$,this.reference=v}static isInstance($){return h.hasMarker($,Y9)}},W9="AI_TooManyEmbeddingValuesForCallError",Q9=`vercel.ai.error.${W9}`,O5=Symbol.for(Q9),kW,CW,N9=class extends(CW=h,kW=O5,CW){constructor($){super({name:W9,message:`Too many values for a single embedding call. The ${$.provider} model "${$.modelId}" can only embed up to ${$.maxEmbeddingsPerCall} values per call, but ${$.values.length} values were provided.`});this[kW]=!0,this.provider=$.provider,this.modelId=$.modelId,this.maxEmbeddingsPerCall=$.maxEmbeddingsPerCall,this.values=$.values}static isInstance($){return h.hasMarker($,Q9)}},L9="AI_TypeValidationError",O9=`vercel.ai.error.${L9}`,q5=Symbol.for(O9),ZW,xW,p$=class $ extends(xW=h,ZW=q5,xW){constructor({value:v,cause:w,context:D}){let U="Type validation failed";if(D==null?void 0:D.field)U+=` for ${D.field}`;if((D==null?void 0:D.entityName)||(D==null?void 0:D.entityId)){U+=" (";let z=[];if(D.entityName)z.push(D.entityName);if(D.entityId)z.push(`id: "${D.entityId}"`);U+=z.join(", "),U+=")"}super({name:L9,message:`${U}: Value: ${JSON.stringify(v)}. +Error message: ${Sv(w)}`,cause:w});this[ZW]=!0,this.value=v,this.context=D}static isInstance(v){return h.hasMarker(v,O9)}static wrap({value:v,cause:w,context:D}){var U,z,J;if($.isInstance(w)&&w.value===v&&((U=w.context)==null?void 0:U.field)===(D==null?void 0:D.field)&&((z=w.context)==null?void 0:z.entityName)===(D==null?void 0:D.entityName)&&((J=w.context)==null?void 0:J.entityId)===(D==null?void 0:D.entityId))return w;return new $({value:v,cause:w,context:D})}},q9="AI_UnsupportedFunctionalityError",I9=`vercel.ai.error.${q9}`,I5=Symbol.for(I9),fW,uW,B$=class extends(uW=h,fW=I5,uW){constructor({functionality:$,message:v=`'${$}' functionality not supported.`}){super({name:q9,message:v});this[fW]=!0,this.functionality=$}static isInstance($){return h.hasMarker($,I9)}};var a;(function($){$.assertEqual=(U)=>{};function v(U){}$.assertIs=v;function w(U){throw Error()}$.assertNever=w,$.arrayToEnum=(U)=>{let z={};for(let J of U)z[J]=J;return z},$.getValidEnumValues=(U)=>{let z=$.objectKeys(U).filter((G)=>typeof U[U[G]]!=="number"),J={};for(let G of z)J[G]=U[G];return $.objectValues(J)},$.objectValues=(U)=>{return $.objectKeys(U).map(function(z){return U[z]})},$.objectKeys=typeof Object.keys==="function"?(U)=>Object.keys(U):(U)=>{let z=[];for(let J in U)if(Object.prototype.hasOwnProperty.call(U,J))z.push(J);return z},$.find=(U,z)=>{for(let J of U)if(z(J))return J;return},$.isInteger=typeof Number.isInteger==="function"?(U)=>Number.isInteger(U):(U)=>typeof U==="number"&&Number.isFinite(U)&&Math.floor(U)===U;function D(U,z=" | "){return U.map((J)=>typeof J==="string"?`'${J}'`:J).join(z)}$.joinValues=D,$.jsonStringifyReplacer=(U,z)=>{if(typeof z==="bigint")return z.toString();return z}})(a||(a={}));var H9;(function($){$.mergeShapes=(v,w)=>{return{...v,...w}}})(H9||(H9={}));var S=a.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),L6=($)=>{switch(typeof $){case"undefined":return S.undefined;case"string":return S.string;case"number":return Number.isNaN($)?S.nan:S.number;case"boolean":return S.boolean;case"function":return S.function;case"bigint":return S.bigint;case"symbol":return S.symbol;case"object":if(Array.isArray($))return S.array;if($===null)return S.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return S.promise;if(typeof Map<"u"&&$ instanceof Map)return S.map;if(typeof Set<"u"&&$ instanceof Set)return S.set;if(typeof Date<"u"&&$ instanceof Date)return S.date;return S.object;default:return S.unknown}};var K=a.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"]);class u$ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(w)=>{this.issues=[...this.issues,w]},this.addIssues=(w=[])=>{this.issues=[...this.issues,...w]};let v=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,v);else this.__proto__=v;this.name="ZodError",this.issues=$}format($){let v=$||function(U){return U.message},w={_errors:[]},D=(U)=>{for(let z of U.issues)if(z.code==="invalid_union")z.unionErrors.map(D);else if(z.code==="invalid_return_type")D(z.returnTypeError);else if(z.code==="invalid_arguments")D(z.argumentsError);else if(z.path.length===0)w._errors.push(v(z));else{let J=w,G=0;while(Gv.message){let v=Object.create(null),w=[];for(let D of this.issues)if(D.path.length>0){let U=D.path[0];v[U]=v[U]||[],v[U].push($(D))}else w.push($(D));return{formErrors:w,fieldErrors:v}}get formErrors(){return this.flatten()}}u$.create=($)=>{return new u$($)};var H5=($,v)=>{let w;switch($.code){case K.invalid_type:if($.received===S.undefined)w="Required";else w=`Expected ${$.expected}, received ${$.received}`;break;case K.invalid_literal:w=`Invalid literal value, expected ${JSON.stringify($.expected,a.jsonStringifyReplacer)}`;break;case K.unrecognized_keys:w=`Unrecognized key(s) in object: ${a.joinValues($.keys,", ")}`;break;case K.invalid_union:w="Invalid input";break;case K.invalid_union_discriminator:w=`Invalid discriminator value. Expected ${a.joinValues($.options)}`;break;case K.invalid_enum_value:w=`Invalid enum value. Expected ${a.joinValues($.options)}, received '${$.received}'`;break;case K.invalid_arguments:w="Invalid function arguments";break;case K.invalid_return_type:w="Invalid function return type";break;case K.invalid_date:w="Invalid date";break;case K.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(w=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")w=`${w} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)w=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)w=`Invalid input: must end with "${$.validation.endsWith}"`;else a.assertNever($.validation);else if($.validation!=="regex")w=`Invalid ${$.validation}`;else w="Invalid";break;case K.too_small:if($.type==="array")w=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")w=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")w=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")w=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")w=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else w="Invalid input";break;case K.too_big:if($.type==="array")w=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")w=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")w=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")w=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")w=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else w="Invalid input";break;case K.custom:w="Invalid input";break;case K.invalid_intersection_types:w="Intersection results could not be merged";break;case K.not_multiple_of:w=`Number must be a multiple of ${$.multipleOf}`;break;case K.not_finite:w="Number must be finite";break;default:w=v.defaultError,a.assertNever($)}return{message:w}},S6=H5;var V5=S6;function _v(){return V5}var o1=($)=>{let{data:v,path:w,errorMaps:D,issueData:U}=$,z=[...w,...U.path||[]],J={...U,path:z};if(U.message!==void 0)return{...U,path:z,message:U.message};let G="",W=D.filter((Y)=>!!Y).slice().reverse();for(let Y of W)G=Y(J,{data:v,defaultError:G}).message;return{...U,path:z,message:G}};function T($,v){let w=_v(),D=o1({issueData:v,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,w,w===S6?void 0:S6].filter((U)=>!!U)});$.common.issues.push(D)}class A${constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,v){let w=[];for(let D of v){if(D.status==="aborted")return i;if(D.status==="dirty")$.dirty();w.push(D.value)}return{status:$.value,value:w}}static async mergeObjectAsync($,v){let w=[];for(let D of v){let U=await D.key,z=await D.value;w.push({key:U,value:z})}return A$.mergeObjectSync($,w)}static mergeObjectSync($,v){let w={};for(let D of v){let{key:U,value:z}=D;if(U.status==="aborted")return i;if(z.status==="aborted")return i;if(U.status==="dirty")$.dirty();if(z.status==="dirty")$.dirty();if(U.value!=="__proto__"&&(typeof z.value<"u"||D.alwaysSet))w[U.value]=z.value}return{status:$.value,value:w}}}var i=Object.freeze({status:"aborted"}),k4=($)=>({status:"dirty",value:$}),R$=($)=>({status:"valid",value:$}),AG=($)=>$.status==="aborted",EG=($)=>$.status==="dirty",c6=($)=>$.status==="valid",Tv=($)=>typeof Promise<"u"&&$ instanceof Promise;var x;(function($){$.errToObj=(v)=>typeof v==="string"?{message:v}:v||{},$.toString=(v)=>typeof v==="string"?v:v?.message})(x||(x={}));class o${constructor($,v,w,D){this._cachedPath=[],this.parent=$,this.data=v,this._path=w,this._key=D}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var V9=($,v)=>{if(c6(v))return{success:!0,data:v.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let w=new u$($.common.issues);return this._error=w,this._error}}}};function r($){if(!$)return{};let{errorMap:v,invalid_type_error:w,required_error:D,description:U}=$;if(v&&(w||D))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(v)return{errorMap:v,description:U};return{errorMap:(J,G)=>{let{message:W}=$;if(J.code==="invalid_enum_value")return{message:W??G.defaultError};if(typeof G.data>"u")return{message:W??D??G.defaultError};if(J.code!=="invalid_type")return{message:G.defaultError};return{message:W??w??G.defaultError}},description:U}}class o{get description(){return this._def.description}_getType($){return L6($.data)}_getOrReturnCtx($,v){return v||{common:$.parent.common,data:$.data,parsedType:L6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new A$,ctx:{common:$.parent.common,data:$.data,parsedType:L6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let v=this._parse($);if(Tv(v))throw Error("Synchronous parse encountered promise.");return v}_parseAsync($){let v=this._parse($);return Promise.resolve(v)}parse($,v){let w=this.safeParse($,v);if(w.success)return w.data;throw w.error}safeParse($,v){let w={common:{issues:[],async:v?.async??!1,contextualErrorMap:v?.errorMap},path:v?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:L6($)},D=this._parseSync({data:$,path:w.path,parent:w});return V9(w,D)}"~validate"($){let v={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:L6($)};if(!this["~standard"].async)try{let w=this._parseSync({data:$,path:[],parent:v});return c6(w)?{value:w.value}:{issues:v.common.issues}}catch(w){if(w?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;v.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:v}).then((w)=>c6(w)?{value:w.value}:{issues:v.common.issues})}async parseAsync($,v){let w=await this.safeParseAsync($,v);if(w.success)return w.data;throw w.error}async safeParseAsync($,v){let w={common:{issues:[],contextualErrorMap:v?.errorMap,async:!0},path:v?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:L6($)},D=this._parse({data:$,path:w.path,parent:w}),U=await(Tv(D)?D:Promise.resolve(D));return V9(w,U)}refine($,v){let w=(D)=>{if(typeof v==="string"||typeof v>"u")return{message:v};else if(typeof v==="function")return v(D);else return v};return this._refinement((D,U)=>{let z=$(D),J=()=>U.addIssue({code:K.custom,...w(D)});if(typeof Promise<"u"&&z instanceof Promise)return z.then((G)=>{if(!G)return J(),!1;else return!0});if(!z)return J(),!1;else return!0})}refinement($,v){return this._refinement((w,D)=>{if(!$(w))return D.addIssue(typeof v==="function"?v(w,D):v),!1;else return!0})}_refinement($){return new J6({schema:this,typeName:E.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,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:(v)=>this["~validate"](v)}}optional(){return z6.create(this,this._def)}nullable(){return P6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return D6.create(this)}promise(){return u4.create(this,this._def)}or($){return fv.create([this,$],this._def)}and($){return uv.create(this,$,this._def)}transform($){return new J6({...r(this._def),schema:this,typeName:E.ZodEffects,effect:{type:"transform",transform:$}})}default($){let v=typeof $==="function"?$:()=>$;return new cv({...r(this._def),innerType:this,defaultValue:v,typeName:E.ZodDefault})}brand(){return new MG({typeName:E.ZodBranded,type:this,...r(this._def)})}catch($){let v=typeof $==="function"?$:()=>$;return new mv({...r(this._def),innerType:this,catchValue:v,typeName:E.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return ww.create(this,$)}readonly(){return nv.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var j5=/^c[^\s-]{8,}$/i,K5=/^[0-9a-z]+$/,B5=/^[0-9A-HJKMNP-TV-Z]{26}$/i,A5=/^[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,E5=/^[a-z0-9_-]{21}$/i,b5=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,F5=/^[-+]?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)?)??$/,R5=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,M5="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",bG,S5=/^(?:(?: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])$/,P5=/^(?:(?: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])$/,g5=/^(([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]))$/,_5=/^(([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])$/,T5=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,k5=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,j9="((\\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])))",C5=new RegExp(`^${j9}$`);function K9($){let v="[0-5]\\d";if($.precision)v=`${v}\\.\\d{${$.precision}}`;else if($.precision==null)v=`${v}(\\.\\d+)?`;let w=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${v})${w}`}function Z5($){return new RegExp(`^${K9($)}$`)}function x5($){let v=`${j9}T${K9($)}`,w=[];if(w.push($.local?"Z?":"Z"),$.offset)w.push("([+-]\\d{2}:?\\d{2})");return v=`${v}(${w.join("|")})`,new RegExp(`^${v}$`)}function f5($,v){if((v==="v4"||!v)&&S5.test($))return!0;if((v==="v6"||!v)&&g5.test($))return!0;return!1}function u5($,v){if(!b5.test($))return!1;try{let[w]=$.split(".");if(!w)return!1;let D=w.replace(/-/g,"+").replace(/_/g,"/").padEnd(w.length+(4-w.length%4)%4,"="),U=JSON.parse(atob(D));if(typeof U!=="object"||U===null)return!1;if("typ"in U&&U?.typ!=="JWT")return!1;if(!U.alg)return!1;if(v&&U.alg!==v)return!1;return!0}catch{return!1}}function y5($,v){if((v==="v4"||!v)&&P5.test($))return!0;if((v==="v6"||!v)&&_5.test($))return!0;return!1}class q6 extends o{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==S.string){let U=this._getOrReturnCtx($);return T(U,{code:K.invalid_type,expected:S.string,received:U.parsedType}),i}let w=new A$,D=void 0;for(let U of this._def.checks)if(U.kind==="min"){if($.data.lengthU.value)D=this._getOrReturnCtx($,D),T(D,{code:K.too_big,maximum:U.value,type:"string",inclusive:!0,exact:!1,message:U.message}),w.dirty()}else if(U.kind==="length"){let z=$.data.length>U.value,J=$.data.length$.test(D),{validation:v,code:K.invalid_string,...x.errToObj(w)})}_addCheck($){return new q6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...x.errToObj($)})}url($){return this._addCheck({kind:"url",...x.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...x.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...x.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...x.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...x.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...x.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...x.errToObj($)})}base64($){return this._addCheck({kind:"base64",...x.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...x.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...x.errToObj($)})}ip($){return this._addCheck({kind:"ip",...x.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...x.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...x.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...x.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...x.errToObj($)})}regex($,v){return this._addCheck({kind:"regex",regex:$,...x.errToObj(v)})}includes($,v){return this._addCheck({kind:"includes",value:$,position:v?.position,...x.errToObj(v?.message)})}startsWith($,v){return this._addCheck({kind:"startsWith",value:$,...x.errToObj(v)})}endsWith($,v){return this._addCheck({kind:"endsWith",value:$,...x.errToObj(v)})}min($,v){return this._addCheck({kind:"min",value:$,...x.errToObj(v)})}max($,v){return this._addCheck({kind:"max",value:$,...x.errToObj(v)})}length($,v){return this._addCheck({kind:"length",value:$,...x.errToObj(v)})}nonempty($){return this.min(1,x.errToObj($))}trim(){return new q6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new q6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new q6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let v of this._def.checks)if(v.kind==="min"){if($===null||v.value>$)$=v.value}return $}get maxLength(){let $=null;for(let v of this._def.checks)if(v.kind==="max"){if($===null||v.value<$)$=v.value}return $}}q6.create=($)=>{return new q6({checks:[],typeName:E.ZodString,coerce:$?.coerce??!1,...r($)})};function i5($,v){let w=($.toString().split(".")[1]||"").length,D=(v.toString().split(".")[1]||"").length,U=w>D?w:D,z=Number.parseInt($.toFixed(U).replace(".","")),J=Number.parseInt(v.toFixed(U).replace(".",""));return z%J/10**U}class Z4 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==S.number){let U=this._getOrReturnCtx($);return T(U,{code:K.invalid_type,expected:S.number,received:U.parsedType}),i}let w=void 0,D=new A$;for(let U of this._def.checks)if(U.kind==="int"){if(!a.isInteger($.data))w=this._getOrReturnCtx($,w),T(w,{code:K.invalid_type,expected:"integer",received:"float",message:U.message}),D.dirty()}else if(U.kind==="min"){if(U.inclusive?$.dataU.value:$.data>=U.value)w=this._getOrReturnCtx($,w),T(w,{code:K.too_big,maximum:U.value,type:"number",inclusive:U.inclusive,exact:!1,message:U.message}),D.dirty()}else if(U.kind==="multipleOf"){if(i5($.data,U.value)!==0)w=this._getOrReturnCtx($,w),T(w,{code:K.not_multiple_of,multipleOf:U.value,message:U.message}),D.dirty()}else if(U.kind==="finite"){if(!Number.isFinite($.data))w=this._getOrReturnCtx($,w),T(w,{code:K.not_finite,message:U.message}),D.dirty()}else a.assertNever(U);return{status:D.value,value:$.data}}gte($,v){return this.setLimit("min",$,!0,x.toString(v))}gt($,v){return this.setLimit("min",$,!1,x.toString(v))}lte($,v){return this.setLimit("max",$,!0,x.toString(v))}lt($,v){return this.setLimit("max",$,!1,x.toString(v))}setLimit($,v,w,D){return new Z4({...this._def,checks:[...this._def.checks,{kind:$,value:v,inclusive:w,message:x.toString(D)}]})}_addCheck($){return new Z4({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:x.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:x.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:x.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:x.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:x.toString($)})}multipleOf($,v){return this._addCheck({kind:"multipleOf",value:$,message:x.toString(v)})}finite($){return this._addCheck({kind:"finite",message:x.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:x.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:x.toString($)})}get minValue(){let $=null;for(let v of this._def.checks)if(v.kind==="min"){if($===null||v.value>$)$=v.value}return $}get maxValue(){let $=null;for(let v of this._def.checks)if(v.kind==="max"){if($===null||v.value<$)$=v.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&a.isInteger($.value))}get isFinite(){let $=null,v=null;for(let w of this._def.checks)if(w.kind==="finite"||w.kind==="int"||w.kind==="multipleOf")return!0;else if(w.kind==="min"){if(v===null||w.value>v)v=w.value}else if(w.kind==="max"){if($===null||w.value<$)$=w.value}return Number.isFinite(v)&&Number.isFinite($)}}Z4.create=($)=>{return new Z4({checks:[],typeName:E.ZodNumber,coerce:$?.coerce||!1,...r($)})};class x4 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==S.bigint)return this._getInvalidInput($);let w=void 0,D=new A$;for(let U of this._def.checks)if(U.kind==="min"){if(U.inclusive?$.dataU.value:$.data>=U.value)w=this._getOrReturnCtx($,w),T(w,{code:K.too_big,type:"bigint",maximum:U.value,inclusive:U.inclusive,message:U.message}),D.dirty()}else if(U.kind==="multipleOf"){if($.data%U.value!==BigInt(0))w=this._getOrReturnCtx($,w),T(w,{code:K.not_multiple_of,multipleOf:U.value,message:U.message}),D.dirty()}else a.assertNever(U);return{status:D.value,value:$.data}}_getInvalidInput($){let v=this._getOrReturnCtx($);return T(v,{code:K.invalid_type,expected:S.bigint,received:v.parsedType}),i}gte($,v){return this.setLimit("min",$,!0,x.toString(v))}gt($,v){return this.setLimit("min",$,!1,x.toString(v))}lte($,v){return this.setLimit("max",$,!0,x.toString(v))}lt($,v){return this.setLimit("max",$,!1,x.toString(v))}setLimit($,v,w,D){return new x4({...this._def,checks:[...this._def.checks,{kind:$,value:v,inclusive:w,message:x.toString(D)}]})}_addCheck($){return new x4({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:x.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:x.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:x.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:x.toString($)})}multipleOf($,v){return this._addCheck({kind:"multipleOf",value:$,message:x.toString(v)})}get minValue(){let $=null;for(let v of this._def.checks)if(v.kind==="min"){if($===null||v.value>$)$=v.value}return $}get maxValue(){let $=null;for(let v of this._def.checks)if(v.kind==="max"){if($===null||v.value<$)$=v.value}return $}}x4.create=($)=>{return new x4({checks:[],typeName:E.ZodBigInt,coerce:$?.coerce??!1,...r($)})};class t1 extends o{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==S.boolean){let w=this._getOrReturnCtx($);return T(w,{code:K.invalid_type,expected:S.boolean,received:w.parsedType}),i}return R$($.data)}}t1.create=($)=>{return new t1({typeName:E.ZodBoolean,coerce:$?.coerce||!1,...r($)})};class Cv extends o{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==S.date){let U=this._getOrReturnCtx($);return T(U,{code:K.invalid_type,expected:S.date,received:U.parsedType}),i}if(Number.isNaN($.data.getTime())){let U=this._getOrReturnCtx($);return T(U,{code:K.invalid_date}),i}let w=new A$,D=void 0;for(let U of this._def.checks)if(U.kind==="min"){if($.data.getTime()U.value)D=this._getOrReturnCtx($,D),T(D,{code:K.too_big,message:U.message,inclusive:!0,exact:!1,maximum:U.value,type:"date"}),w.dirty()}else a.assertNever(U);return{status:w.value,value:new Date($.data.getTime())}}_addCheck($){return new Cv({...this._def,checks:[...this._def.checks,$]})}min($,v){return this._addCheck({kind:"min",value:$.getTime(),message:x.toString(v)})}max($,v){return this._addCheck({kind:"max",value:$.getTime(),message:x.toString(v)})}get minDate(){let $=null;for(let v of this._def.checks)if(v.kind==="min"){if($===null||v.value>$)$=v.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let v of this._def.checks)if(v.kind==="max"){if($===null||v.value<$)$=v.value}return $!=null?new Date($):null}}Cv.create=($)=>{return new Cv({checks:[],coerce:$?.coerce||!1,typeName:E.ZodDate,...r($)})};class a1 extends o{_parse($){if(this._getType($)!==S.symbol){let w=this._getOrReturnCtx($);return T(w,{code:K.invalid_type,expected:S.symbol,received:w.parsedType}),i}return R$($.data)}}a1.create=($)=>{return new a1({typeName:E.ZodSymbol,...r($)})};class Zv extends o{_parse($){if(this._getType($)!==S.undefined){let w=this._getOrReturnCtx($);return T(w,{code:K.invalid_type,expected:S.undefined,received:w.parsedType}),i}return R$($.data)}}Zv.create=($)=>{return new Zv({typeName:E.ZodUndefined,...r($)})};class xv extends o{_parse($){if(this._getType($)!==S.null){let w=this._getOrReturnCtx($);return T(w,{code:K.invalid_type,expected:S.null,received:w.parsedType}),i}return R$($.data)}}xv.create=($)=>{return new xv({typeName:E.ZodNull,...r($)})};class e1 extends o{constructor(){super(...arguments);this._any=!0}_parse($){return R$($.data)}}e1.create=($)=>{return new e1({typeName:E.ZodAny,...r($)})};class m6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse($){return R$($.data)}}m6.create=($)=>{return new m6({typeName:E.ZodUnknown,...r($)})};class I6 extends o{_parse($){let v=this._getOrReturnCtx($);return T(v,{code:K.invalid_type,expected:S.never,received:v.parsedType}),i}}I6.create=($)=>{return new I6({typeName:E.ZodNever,...r($)})};class s1 extends o{_parse($){if(this._getType($)!==S.undefined){let w=this._getOrReturnCtx($);return T(w,{code:K.invalid_type,expected:S.void,received:w.parsedType}),i}return R$($.data)}}s1.create=($)=>{return new s1({typeName:E.ZodVoid,...r($)})};class D6 extends o{_parse($){let{ctx:v,status:w}=this._processInputParams($),D=this._def;if(v.parsedType!==S.array)return T(v,{code:K.invalid_type,expected:S.array,received:v.parsedType}),i;if(D.exactLength!==null){let z=v.data.length>D.exactLength.value,J=v.data.lengthD.maxLength.value)T(v,{code:K.too_big,maximum:D.maxLength.value,type:"array",inclusive:!0,exact:!1,message:D.maxLength.message}),w.dirty()}if(v.common.async)return Promise.all([...v.data].map((z,J)=>{return D.type._parseAsync(new o$(v,z,v.path,J))})).then((z)=>{return A$.mergeArray(w,z)});let U=[...v.data].map((z,J)=>{return D.type._parseSync(new o$(v,z,v.path,J))});return A$.mergeArray(w,U)}get element(){return this._def.type}min($,v){return new D6({...this._def,minLength:{value:$,message:x.toString(v)}})}max($,v){return new D6({...this._def,maxLength:{value:$,message:x.toString(v)}})}length($,v){return new D6({...this._def,exactLength:{value:$,message:x.toString(v)}})}nonempty($){return this.min(1,$)}}D6.create=($,v)=>{return new D6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:E.ZodArray,...r(v)})};function C4($){if($ instanceof L$){let v={};for(let w in $.shape){let D=$.shape[w];v[w]=z6.create(C4(D))}return new L$({...$._def,shape:()=>v})}else if($ instanceof D6)return new D6({...$._def,type:C4($.element)});else if($ instanceof z6)return z6.create(C4($.unwrap()));else if($ instanceof P6)return P6.create(C4($.unwrap()));else if($ instanceof H6)return H6.create($.items.map((v)=>C4(v)));else return $}class L$ extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),v=a.objectKeys($);return this._cached={shape:$,keys:v},this._cached}_parse($){if(this._getType($)!==S.object){let W=this._getOrReturnCtx($);return T(W,{code:K.invalid_type,expected:S.object,received:W.parsedType}),i}let{status:w,ctx:D}=this._processInputParams($),{shape:U,keys:z}=this._getCached(),J=[];if(!(this._def.catchall instanceof I6&&this._def.unknownKeys==="strip")){for(let W in D.data)if(!z.includes(W))J.push(W)}let G=[];for(let W of z){let Y=U[W],Q=D.data[W];G.push({key:{status:"valid",value:W},value:Y._parse(new o$(D,Q,D.path,W)),alwaysSet:W in D.data})}if(this._def.catchall instanceof I6){let W=this._def.unknownKeys;if(W==="passthrough")for(let Y of J)G.push({key:{status:"valid",value:Y},value:{status:"valid",value:D.data[Y]}});else if(W==="strict"){if(J.length>0)T(D,{code:K.unrecognized_keys,keys:J}),w.dirty()}else if(W==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let W=this._def.catchall;for(let Y of J){let Q=D.data[Y];G.push({key:{status:"valid",value:Y},value:W._parse(new o$(D,Q,D.path,Y)),alwaysSet:Y in D.data})}}if(D.common.async)return Promise.resolve().then(async()=>{let W=[];for(let Y of G){let Q=await Y.key,N=await Y.value;W.push({key:Q,value:N,alwaysSet:Y.alwaysSet})}return W}).then((W)=>{return A$.mergeObjectSync(w,W)});else return A$.mergeObjectSync(w,G)}get shape(){return this._def.shape()}strict($){return x.errToObj,new L$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(v,w)=>{let D=this._def.errorMap?.(v,w).message??w.defaultError;if(v.code==="unrecognized_keys")return{message:x.errToObj($).message??D};return{message:D}}}:{}})}strip(){return new L$({...this._def,unknownKeys:"strip"})}passthrough(){return new L$({...this._def,unknownKeys:"passthrough"})}extend($){return new L$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new L$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:E.ZodObject})}setKey($,v){return this.augment({[$]:v})}catchall($){return new L$({...this._def,catchall:$})}pick($){let v={};for(let w of a.objectKeys($))if($[w]&&this.shape[w])v[w]=this.shape[w];return new L$({...this._def,shape:()=>v})}omit($){let v={};for(let w of a.objectKeys(this.shape))if(!$[w])v[w]=this.shape[w];return new L$({...this._def,shape:()=>v})}deepPartial(){return C4(this)}partial($){let v={};for(let w of a.objectKeys(this.shape)){let D=this.shape[w];if($&&!$[w])v[w]=D;else v[w]=D.optional()}return new L$({...this._def,shape:()=>v})}required($){let v={};for(let w of a.objectKeys(this.shape))if($&&!$[w])v[w]=this.shape[w];else{let U=this.shape[w];while(U instanceof z6)U=U._def.innerType;v[w]=U}return new L$({...this._def,shape:()=>v})}keyof(){return B9(a.objectKeys(this.shape))}}L$.create=($,v)=>{return new L$({shape:()=>$,unknownKeys:"strip",catchall:I6.create(),typeName:E.ZodObject,...r(v)})};L$.strictCreate=($,v)=>{return new L$({shape:()=>$,unknownKeys:"strict",catchall:I6.create(),typeName:E.ZodObject,...r(v)})};L$.lazycreate=($,v)=>{return new L$({shape:$,unknownKeys:"strip",catchall:I6.create(),typeName:E.ZodObject,...r(v)})};class fv extends o{_parse($){let{ctx:v}=this._processInputParams($),w=this._def.options;function D(U){for(let J of U)if(J.result.status==="valid")return J.result;for(let J of U)if(J.result.status==="dirty")return v.common.issues.push(...J.ctx.common.issues),J.result;let z=U.map((J)=>new u$(J.ctx.common.issues));return T(v,{code:K.invalid_union,unionErrors:z}),i}if(v.common.async)return Promise.all(w.map(async(U)=>{let z={...v,common:{...v.common,issues:[]},parent:null};return{result:await U._parseAsync({data:v.data,path:v.path,parent:z}),ctx:z}})).then(D);else{let U=void 0,z=[];for(let G of w){let W={...v,common:{...v.common,issues:[]},parent:null},Y=G._parseSync({data:v.data,path:v.path,parent:W});if(Y.status==="valid")return Y;else if(Y.status==="dirty"&&!U)U={result:Y,ctx:W};if(W.common.issues.length)z.push(W.common.issues)}if(U)return v.common.issues.push(...U.ctx.common.issues),U.result;let J=z.map((G)=>new u$(G));return T(v,{code:K.invalid_union,unionErrors:J}),i}}get options(){return this._def.options}}fv.create=($,v)=>{return new fv({options:$,typeName:E.ZodUnion,...r(v)})};var O6=($)=>{if($ instanceof yv)return O6($.schema);else if($ instanceof J6)return O6($.innerType());else if($ instanceof iv)return[$.value];else if($ instanceof n6)return $.options;else if($ instanceof hv)return a.objectValues($.enum);else if($ instanceof cv)return O6($._def.innerType);else if($ instanceof Zv)return[void 0];else if($ instanceof xv)return[null];else if($ instanceof z6)return[void 0,...O6($.unwrap())];else if($ instanceof P6)return[null,...O6($.unwrap())];else if($ instanceof MG)return O6($.unwrap());else if($ instanceof nv)return O6($.unwrap());else if($ instanceof mv)return O6($._def.innerType);else return[]};class RG extends o{_parse($){let{ctx:v}=this._processInputParams($);if(v.parsedType!==S.object)return T(v,{code:K.invalid_type,expected:S.object,received:v.parsedType}),i;let w=this.discriminator,D=v.data[w],U=this.optionsMap.get(D);if(!U)return T(v,{code:K.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[w]}),i;if(v.common.async)return U._parseAsync({data:v.data,path:v.path,parent:v});else return U._parseSync({data:v.data,path:v.path,parent:v})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,v,w){let D=new Map;for(let U of v){let z=O6(U.shape[$]);if(!z.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let J of z){if(D.has(J))throw Error(`Discriminator property ${String($)} has duplicate value ${String(J)}`);D.set(J,U)}}return new RG({typeName:E.ZodDiscriminatedUnion,discriminator:$,options:v,optionsMap:D,...r(w)})}}function FG($,v){let w=L6($),D=L6(v);if($===v)return{valid:!0,data:$};else if(w===S.object&&D===S.object){let U=a.objectKeys(v),z=a.objectKeys($).filter((G)=>U.indexOf(G)!==-1),J={...$,...v};for(let G of z){let W=FG($[G],v[G]);if(!W.valid)return{valid:!1};J[G]=W.data}return{valid:!0,data:J}}else if(w===S.array&&D===S.array){if($.length!==v.length)return{valid:!1};let U=[];for(let z=0;z<$.length;z++){let J=$[z],G=v[z],W=FG(J,G);if(!W.valid)return{valid:!1};U.push(W.data)}return{valid:!0,data:U}}else if(w===S.date&&D===S.date&&+$===+v)return{valid:!0,data:$};else return{valid:!1}}class uv extends o{_parse($){let{status:v,ctx:w}=this._processInputParams($),D=(U,z)=>{if(AG(U)||AG(z))return i;let J=FG(U.value,z.value);if(!J.valid)return T(w,{code:K.invalid_intersection_types}),i;if(EG(U)||EG(z))v.dirty();return{status:v.value,value:J.data}};if(w.common.async)return Promise.all([this._def.left._parseAsync({data:w.data,path:w.path,parent:w}),this._def.right._parseAsync({data:w.data,path:w.path,parent:w})]).then(([U,z])=>D(U,z));else return D(this._def.left._parseSync({data:w.data,path:w.path,parent:w}),this._def.right._parseSync({data:w.data,path:w.path,parent:w}))}}uv.create=($,v,w)=>{return new uv({left:$,right:v,typeName:E.ZodIntersection,...r(w)})};class H6 extends o{_parse($){let{status:v,ctx:w}=this._processInputParams($);if(w.parsedType!==S.array)return T(w,{code:K.invalid_type,expected:S.array,received:w.parsedType}),i;if(w.data.lengththis._def.items.length)T(w,{code:K.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),v.dirty();let U=[...w.data].map((z,J)=>{let G=this._def.items[J]||this._def.rest;if(!G)return null;return G._parse(new o$(w,z,w.path,J))}).filter((z)=>!!z);if(w.common.async)return Promise.all(U).then((z)=>{return A$.mergeArray(v,z)});else return A$.mergeArray(v,U)}get items(){return this._def.items}rest($){return new H6({...this._def,rest:$})}}H6.create=($,v)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new H6({items:$,typeName:E.ZodTuple,rest:null,...r(v)})};class $w extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:v,ctx:w}=this._processInputParams($);if(w.parsedType!==S.object)return T(w,{code:K.invalid_type,expected:S.object,received:w.parsedType}),i;let D=[],U=this._def.keyType,z=this._def.valueType;for(let J in w.data)D.push({key:U._parse(new o$(w,J,w.path,J)),value:z._parse(new o$(w,w.data[J],w.path,J)),alwaysSet:J in w.data});if(w.common.async)return A$.mergeObjectAsync(v,D);else return A$.mergeObjectSync(v,D)}get element(){return this._def.valueType}static create($,v,w){if(v instanceof o)return new $w({keyType:$,valueType:v,typeName:E.ZodRecord,...r(w)});return new $w({keyType:q6.create(),valueType:$,typeName:E.ZodRecord,...r(v)})}}class vw extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:v,ctx:w}=this._processInputParams($);if(w.parsedType!==S.map)return T(w,{code:K.invalid_type,expected:S.map,received:w.parsedType}),i;let D=this._def.keyType,U=this._def.valueType,z=[...w.data.entries()].map(([J,G],W)=>{return{key:D._parse(new o$(w,J,w.path,[W,"key"])),value:U._parse(new o$(w,G,w.path,[W,"value"]))}});if(w.common.async){let J=new Map;return Promise.resolve().then(async()=>{for(let G of z){let W=await G.key,Y=await G.value;if(W.status==="aborted"||Y.status==="aborted")return i;if(W.status==="dirty"||Y.status==="dirty")v.dirty();J.set(W.value,Y.value)}return{status:v.value,value:J}})}else{let J=new Map;for(let G of z){let{key:W,value:Y}=G;if(W.status==="aborted"||Y.status==="aborted")return i;if(W.status==="dirty"||Y.status==="dirty")v.dirty();J.set(W.value,Y.value)}return{status:v.value,value:J}}}}vw.create=($,v,w)=>{return new vw({valueType:v,keyType:$,typeName:E.ZodMap,...r(w)})};class f4 extends o{_parse($){let{status:v,ctx:w}=this._processInputParams($);if(w.parsedType!==S.set)return T(w,{code:K.invalid_type,expected:S.set,received:w.parsedType}),i;let D=this._def;if(D.minSize!==null){if(w.data.sizeD.maxSize.value)T(w,{code:K.too_big,maximum:D.maxSize.value,type:"set",inclusive:!0,exact:!1,message:D.maxSize.message}),v.dirty()}let U=this._def.valueType;function z(G){let W=new Set;for(let Y of G){if(Y.status==="aborted")return i;if(Y.status==="dirty")v.dirty();W.add(Y.value)}return{status:v.value,value:W}}let J=[...w.data.values()].map((G,W)=>U._parse(new o$(w,G,w.path,W)));if(w.common.async)return Promise.all(J).then((G)=>z(G));else return z(J)}min($,v){return new f4({...this._def,minSize:{value:$,message:x.toString(v)}})}max($,v){return new f4({...this._def,maxSize:{value:$,message:x.toString(v)}})}size($,v){return this.min($,v).max($,v)}nonempty($){return this.min(1,$)}}f4.create=($,v)=>{return new f4({valueType:$,minSize:null,maxSize:null,typeName:E.ZodSet,...r(v)})};class kv extends o{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:v}=this._processInputParams($);if(v.parsedType!==S.function)return T(v,{code:K.invalid_type,expected:S.function,received:v.parsedType}),i;function w(J,G){return o1({data:J,path:v.path,errorMaps:[v.common.contextualErrorMap,v.schemaErrorMap,_v(),S6].filter((W)=>!!W),issueData:{code:K.invalid_arguments,argumentsError:G}})}function D(J,G){return o1({data:J,path:v.path,errorMaps:[v.common.contextualErrorMap,v.schemaErrorMap,_v(),S6].filter((W)=>!!W),issueData:{code:K.invalid_return_type,returnTypeError:G}})}let U={errorMap:v.common.contextualErrorMap},z=v.data;if(this._def.returns instanceof u4){let J=this;return R$(async function(...G){let W=new u$([]),Y=await J._def.args.parseAsync(G,U).catch((L)=>{throw W.addIssue(w(G,L)),W}),Q=await Reflect.apply(z,this,Y);return await J._def.returns._def.type.parseAsync(Q,U).catch((L)=>{throw W.addIssue(D(Q,L)),W})})}else{let J=this;return R$(function(...G){let W=J._def.args.safeParse(G,U);if(!W.success)throw new u$([w(G,W.error)]);let Y=Reflect.apply(z,this,W.data),Q=J._def.returns.safeParse(Y,U);if(!Q.success)throw new u$([D(Y,Q.error)]);return Q.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new kv({...this._def,args:H6.create($).rest(m6.create())})}returns($){return new kv({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,v,w){return new kv({args:$?$:H6.create([]).rest(m6.create()),returns:v||m6.create(),typeName:E.ZodFunction,...r(w)})}}class yv extends o{get schema(){return this._def.getter()}_parse($){let{ctx:v}=this._processInputParams($);return this._def.getter()._parse({data:v.data,path:v.path,parent:v})}}yv.create=($,v)=>{return new yv({getter:$,typeName:E.ZodLazy,...r(v)})};class iv extends o{_parse($){if($.data!==this._def.value){let v=this._getOrReturnCtx($);return T(v,{received:v.data,code:K.invalid_literal,expected:this._def.value}),i}return{status:"valid",value:$.data}}get value(){return this._def.value}}iv.create=($,v)=>{return new iv({value:$,typeName:E.ZodLiteral,...r(v)})};function B9($,v){return new n6({values:$,typeName:E.ZodEnum,...r(v)})}class n6 extends o{_parse($){if(typeof $.data!=="string"){let v=this._getOrReturnCtx($),w=this._def.values;return T(v,{expected:a.joinValues(w),received:v.parsedType,code:K.invalid_type}),i}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let v=this._getOrReturnCtx($),w=this._def.values;return T(v,{received:v.data,code:K.invalid_enum_value,options:w}),i}return R$($.data)}get options(){return this._def.values}get enum(){let $={};for(let v of this._def.values)$[v]=v;return $}get Values(){let $={};for(let v of this._def.values)$[v]=v;return $}get Enum(){let $={};for(let v of this._def.values)$[v]=v;return $}extract($,v=this._def){return n6.create($,{...this._def,...v})}exclude($,v=this._def){return n6.create(this.options.filter((w)=>!$.includes(w)),{...this._def,...v})}}n6.create=B9;class hv extends o{_parse($){let v=a.getValidEnumValues(this._def.values),w=this._getOrReturnCtx($);if(w.parsedType!==S.string&&w.parsedType!==S.number){let D=a.objectValues(v);return T(w,{expected:a.joinValues(D),received:w.parsedType,code:K.invalid_type}),i}if(!this._cache)this._cache=new Set(a.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let D=a.objectValues(v);return T(w,{received:w.data,code:K.invalid_enum_value,options:D}),i}return R$($.data)}get enum(){return this._def.values}}hv.create=($,v)=>{return new hv({values:$,typeName:E.ZodNativeEnum,...r(v)})};class u4 extends o{unwrap(){return this._def.type}_parse($){let{ctx:v}=this._processInputParams($);if(v.parsedType!==S.promise&&v.common.async===!1)return T(v,{code:K.invalid_type,expected:S.promise,received:v.parsedType}),i;let w=v.parsedType===S.promise?v.data:Promise.resolve(v.data);return R$(w.then((D)=>{return this._def.type.parseAsync(D,{path:v.path,errorMap:v.common.contextualErrorMap})}))}}u4.create=($,v)=>{return new u4({type:$,typeName:E.ZodPromise,...r(v)})};class J6 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===E.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:v,ctx:w}=this._processInputParams($),D=this._def.effect||null,U={addIssue:(z)=>{if(T(w,z),z.fatal)v.abort();else v.dirty()},get path(){return w.path}};if(U.addIssue=U.addIssue.bind(U),D.type==="preprocess"){let z=D.transform(w.data,U);if(w.common.async)return Promise.resolve(z).then(async(J)=>{if(v.value==="aborted")return i;let G=await this._def.schema._parseAsync({data:J,path:w.path,parent:w});if(G.status==="aborted")return i;if(G.status==="dirty")return k4(G.value);if(v.value==="dirty")return k4(G.value);return G});else{if(v.value==="aborted")return i;let J=this._def.schema._parseSync({data:z,path:w.path,parent:w});if(J.status==="aborted")return i;if(J.status==="dirty")return k4(J.value);if(v.value==="dirty")return k4(J.value);return J}}if(D.type==="refinement"){let z=(J)=>{let G=D.refinement(J,U);if(w.common.async)return Promise.resolve(G);if(G instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return J};if(w.common.async===!1){let J=this._def.schema._parseSync({data:w.data,path:w.path,parent:w});if(J.status==="aborted")return i;if(J.status==="dirty")v.dirty();return z(J.value),{status:v.value,value:J.value}}else return this._def.schema._parseAsync({data:w.data,path:w.path,parent:w}).then((J)=>{if(J.status==="aborted")return i;if(J.status==="dirty")v.dirty();return z(J.value).then(()=>{return{status:v.value,value:J.value}})})}if(D.type==="transform")if(w.common.async===!1){let z=this._def.schema._parseSync({data:w.data,path:w.path,parent:w});if(!c6(z))return i;let J=D.transform(z.value,U);if(J instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:v.value,value:J}}else return this._def.schema._parseAsync({data:w.data,path:w.path,parent:w}).then((z)=>{if(!c6(z))return i;return Promise.resolve(D.transform(z.value,U)).then((J)=>({status:v.value,value:J}))});a.assertNever(D)}}J6.create=($,v,w)=>{return new J6({schema:$,typeName:E.ZodEffects,effect:v,...r(w)})};J6.createWithPreprocess=($,v,w)=>{return new J6({schema:v,effect:{type:"preprocess",transform:$},typeName:E.ZodEffects,...r(w)})};class z6 extends o{_parse($){if(this._getType($)===S.undefined)return R$(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}z6.create=($,v)=>{return new z6({innerType:$,typeName:E.ZodOptional,...r(v)})};class P6 extends o{_parse($){if(this._getType($)===S.null)return R$(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}P6.create=($,v)=>{return new P6({innerType:$,typeName:E.ZodNullable,...r(v)})};class cv extends o{_parse($){let{ctx:v}=this._processInputParams($),w=v.data;if(v.parsedType===S.undefined)w=this._def.defaultValue();return this._def.innerType._parse({data:w,path:v.path,parent:v})}removeDefault(){return this._def.innerType}}cv.create=($,v)=>{return new cv({innerType:$,typeName:E.ZodDefault,defaultValue:typeof v.default==="function"?v.default:()=>v.default,...r(v)})};class mv extends o{_parse($){let{ctx:v}=this._processInputParams($),w={...v,common:{...v.common,issues:[]}},D=this._def.innerType._parse({data:w.data,path:w.path,parent:{...w}});if(Tv(D))return D.then((U)=>{return{status:"valid",value:U.status==="valid"?U.value:this._def.catchValue({get error(){return new u$(w.common.issues)},input:w.data})}});else return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new u$(w.common.issues)},input:w.data})}}removeCatch(){return this._def.innerType}}mv.create=($,v)=>{return new mv({innerType:$,typeName:E.ZodCatch,catchValue:typeof v.catch==="function"?v.catch:()=>v.catch,...r(v)})};class Uw extends o{_parse($){if(this._getType($)!==S.nan){let w=this._getOrReturnCtx($);return T(w,{code:K.invalid_type,expected:S.nan,received:w.parsedType}),i}return{status:"valid",value:$.data}}}Uw.create=($)=>{return new Uw({typeName:E.ZodNaN,...r($)})};var $R=Symbol("zod_brand");class MG extends o{_parse($){let{ctx:v}=this._processInputParams($),w=v.data;return this._def.type._parse({data:w,path:v.path,parent:v})}unwrap(){return this._def.type}}class ww extends o{_parse($){let{status:v,ctx:w}=this._processInputParams($);if(w.common.async)return(async()=>{let U=await this._def.in._parseAsync({data:w.data,path:w.path,parent:w});if(U.status==="aborted")return i;if(U.status==="dirty")return v.dirty(),k4(U.value);else return this._def.out._parseAsync({data:U.value,path:w.path,parent:w})})();else{let D=this._def.in._parseSync({data:w.data,path:w.path,parent:w});if(D.status==="aborted")return i;if(D.status==="dirty")return v.dirty(),{status:"dirty",value:D.value};else return this._def.out._parseSync({data:D.value,path:w.path,parent:w})}}static create($,v){return new ww({in:$,out:v,typeName:E.ZodPipeline})}}class nv extends o{_parse($){let v=this._def.innerType._parse($),w=(D)=>{if(c6(D))D.value=Object.freeze(D.value);return D};return Tv(v)?v.then((D)=>w(D)):w(v)}unwrap(){return this._def.innerType}}nv.create=($,v)=>{return new nv({innerType:$,typeName:E.ZodReadonly,...r(v)})};var vR={object:L$.lazycreate},E;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(E||(E={}));var UR=q6.create,wR=Z4.create,DR=Uw.create,zR=x4.create,JR=t1.create,XR=Cv.create,GR=a1.create,YR=Zv.create,WR=xv.create,QR=e1.create,NR=m6.create,LR=I6.create,OR=s1.create,qR=D6.create,IR=L$.create,HR=L$.strictCreate,VR=fv.create,jR=RG.create,KR=uv.create,BR=H6.create,AR=$w.create,ER=vw.create,bR=f4.create,FR=kv.create,RR=yv.create,MR=iv.create,SR=n6.create,PR=hv.create,gR=u4.create,_R=J6.create,TR=z6.create,kR=P6.create,CR=J6.createWithPreprocess,ZR=ww.create;class Dw extends Error{constructor($,v){super($),this.name="ParseError",this.type=v.type,this.field=v.field,this.value=v.value,this.line=v.line}}var A9=10,h5=13,l6=32;function SG($){}function F9($){if(typeof $=="function")throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:v=SG,onError:w=SG,onRetry:D=SG,onComment:U,maxBufferSize:z}=$,J=[],G=0,W=!0,Y,Q="",N=0,L,q=!1;function M(j){if(q)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(W&&(W=!1,j.charCodeAt(0)===239&&j.charCodeAt(1)===187&&j.charCodeAt(2)===191&&(j=j.slice(3))),J.length===0){let H=y(j);H!==""&&(J.push(H),G=H.length),C();return}if(j.indexOf(` +`)===-1&&j.indexOf("\r")===-1){J.push(j),G+=j.length,C();return}J.push(j);let R=J.join("");J.length=0,G=0;let F=y(R);F!==""&&(J.push(F),G=F.length),C()}function C(){z!==void 0&&(G+Q.length<=z||(q=!0,J.length=0,G=0,Y=void 0,Q="",N=0,L=void 0,w(new Dw(`Buffered data exceeded max buffer size of ${z} characters`,{type:"max-buffer-size-exceeded"}))))}function y(j){let R=0;if(j.indexOf("\r")===-1){let F=j.indexOf(` +`,R);for(;F!==-1;){if(R===F){N>0&&v({id:Y,event:L,data:Q}),Y=void 0,Q="",N=0,L=void 0,R=F+1,F=j.indexOf(` +`,R);continue}let H=j.charCodeAt(R);if(E9(j,R,H)){let P=j.charCodeAt(R+5)===l6?R+6:R+5,f=j.slice(P,F);if(N===0&&j.charCodeAt(F+1)===A9){v({id:Y,event:L,data:f}),Y=void 0,Q="",L=void 0,R=F+2,F=j.indexOf(` +`,R);continue}Q=N===0?f:`${Q} +${f}`,N++}else b9(j,R,H)?L=j.slice(j.charCodeAt(R+6)===l6?R+7:R+6,F)||void 0:d(j,R,F);R=F+1,F=j.indexOf(` +`,R)}return j.slice(R)}for(;R20?`${j.slice(0,20)}…`:j}"`,{type:"unknown-field",field:j,value:R,line:F}));break}}function t(){N>0&&v({id:Y,event:L,data:Q}),Y=void 0,Q="",N=0,L=void 0}function u(j={}){if(j.consume&&J.length>0){let R=J.join("");d(R,0,R.length)}W=!0,Y=void 0,Q="",N=0,L=void 0,J.length=0,G=0,q=!1}return{feed:M,reset:u}}function E9($,v,w){return w===100&&$.charCodeAt(v+1)===97&&$.charCodeAt(v+2)===116&&$.charCodeAt(v+3)===97&&$.charCodeAt(v+4)===58}function b9($,v,w){return w===101&&$.charCodeAt(v+1)===118&&$.charCodeAt(v+2)===101&&$.charCodeAt(v+3)===110&&$.charCodeAt(v+4)===116&&$.charCodeAt(v+5)===58}class PG extends TransformStream{constructor({onError:$,onRetry:v,onComment:w,maxBufferSize:D}={}){let U;super({start(z){U=F9({onEvent:(J)=>{z.enqueue(J)},onError(J){typeof $=="function"&&$(J),($==="terminate"||J.type==="max-buffer-size-exceeded")&&z.error(J)},onRetry:v,onComment:w,maxBufferSize:D})},transform(z){U.feed(z)}})}}var M$=Symbol.for("workflow-serialize"),S$=Symbol.for("workflow-deserialize");function W$(...$){return $.reduce((v,w)=>({...v,...w!=null?w:{}}),{})}var{btoa:c5,atob:m5}=globalThis;function n$($){let v=$.replace(/-/g,"+").replace(/_/g,"/"),w=m5(v);return Uint8Array.from(w,(D)=>D.codePointAt(0))}function X6($){let v="";for(let w=0;w<$.length;w++)v+=String.fromCodePoint($[w]);return c5(v)}function Jw($){return $ instanceof Uint8Array?X6($):$}function k9($,v={}){let{useArrayBrackets:w=!0}=v,D=new FormData;for(let[U,z]of Object.entries($)){if(z==null)continue;if(Array.isArray(z)){if(z.length===1){D.append(U,z[0]);continue}let J=w?`${U}[]`:U;for(let G of z)D.append(J,G);continue}D.append(U,z)}return D}async function n5($,v){if($==null)return Promise.resolve();let w=v==null?void 0:v.abortSignal;return new Promise((D,U)=>{if(w==null?void 0:w.aborted){U(R9());return}let z=setTimeout(()=>{J(),D()},$),J=()=>{clearTimeout(z),w==null||w.removeEventListener("abort",G)},G=()=>{J(),U(R9())};w==null||w.addEventListener("abort",G)})}function R9(){return new DOMException("Delay was aborted","AbortError")}var C9=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],Z9=[{mediaType:"application/pdf",bytesPrefix:[37,80,68,70]}],x9=[{mediaType:"audio/mpeg",bytesPrefix:[255,251]},{mediaType:"audio/mpeg",bytesPrefix:[255,250]},{mediaType:"audio/mpeg",bytesPrefix:[255,243]},{mediaType:"audio/mpeg",bytesPrefix:[255,242]},{mediaType:"audio/mpeg",bytesPrefix:[255,227]},{mediaType:"audio/mpeg",bytesPrefix:[255,226]},{mediaType:"audio/wav",bytesPrefix:[82,73,70,70,null,null,null,null,87,65,86,69]},{mediaType:"audio/ogg",bytesPrefix:[79,103,103,83]},{mediaType:"audio/flac",bytesPrefix:[102,76,97,67]},{mediaType:"audio/aac",bytesPrefix:[64,21,0,0]},{mediaType:"audio/mp4",bytesPrefix:[102,116,121,112]},{mediaType:"audio/webm",bytesPrefix:[26,69,223,163]}],f9=[{mediaType:"video/mp4",bytesPrefix:[0,0,0,null,102,116,121,112]},{mediaType:"video/webm",bytesPrefix:[26,69,223,163]},{mediaType:"video/quicktime",bytesPrefix:[0,0,0,20,102,116,121,112,113,116]},{mediaType:"video/x-msvideo",bytesPrefix:[82,73,70,70]}],l5=($)=>{let v=typeof $==="string"?n$($):$,w=(v[6]&127)<<21|(v[7]&127)<<14|(v[8]&127)<<7|v[9]&127;return v.slice(w+10)};function r5($){return typeof $==="string"&&$.startsWith("SUQz")||typeof $!=="string"&&$.length>10&&$[0]===73&&$[1]===68&&$[2]===51?l5($):$}function M9({data:$,signatures:v}){let w=r5($),D=typeof w==="string"?n$(w.substring(0,Math.min(w.length,24))):w;for(let U of v)if(D.length>=U.bytesPrefix.length&&U.bytesPrefix.every((z,J)=>z===null||D[J]===z))return U.mediaType;return}var d5={image:C9,audio:x9,video:f9,application:Z9};function lv({data:$,topLevelType:v}){if(v===void 0)return M9({data:$,signatures:[...C9,...Z9,...x9,...f9]});let w=d5[v];if(w===void 0)return;return M9({data:$,signatures:w})}function CG($){let v=$.indexOf("/");return v===-1?$:$.substring(0,v)}function p5($){let v=$.indexOf("/");if(v===-1)return!1;let w=$.substring(v+1);return w.length>0&&w!=="*"}async function rv($){var v;try{await((v=$.body)==null?void 0:v.cancel())}catch(w){}}var u9="AI_DownloadError",y9=`vercel.ai.error.${u9}`,o5=Symbol.for(y9),S9,P9,V$=class extends(P9=h,S9=o5,P9){constructor({url:$,statusCode:v,statusText:w,cause:D,message:U=D==null?`Failed to download ${$}: ${v} ${w}`:`Failed to download ${$}: ${D}`}){super({name:u9,message:U,cause:D});this[S9]=!0,this.url=$,this.statusCode=v,this.statusText=w}static isInstance($){return h.hasMarker($,y9)}};function t5($=globalThis){return $.window!=null}function a5($){let v;try{v=new URL($)}catch(D){throw new V$({url:$,message:`Invalid URL: ${$}`})}if(v.protocol==="data:")return;if(v.protocol!=="http:"&&v.protocol!=="https:")throw new V$({url:$,message:`URL scheme must be http, https, or data, got ${v.protocol}`});let w=v.hostname.toLowerCase().replace(/\.+$/,"");if(!w)throw new V$({url:$,message:"URL must have a hostname"});if(w==="localhost"||w.endsWith(".local")||w.endsWith(".localhost"))throw new V$({url:$,message:`URL with hostname ${w} is not allowed`});if(w.startsWith("[")&&w.endsWith("]")){let D=w.slice(1,-1);if(s5(D))throw new V$({url:$,message:`URL with IPv6 address ${w} is not allowed`});return}if(i9(w)){if(h9(w))throw new V$({url:$,message:`URL with IP address ${w} is not allowed`});return}}function i9($){let v=$.split(".");if(v.length!==4)return!1;return v.every((w)=>{let D=Number(w);return Number.isInteger(D)&&D>=0&&D<=255&&String(D)===w})}function h9($){let v=$.split(".").map(Number),[w,D,U]=v;if(w===0)return!0;if(w===10)return!0;if(w===100&&D>=64&&D<=127)return!0;if(w===127)return!0;if(w===169&&D===254)return!0;if(w===172&&D>=16&&D<=31)return!0;if(w===192&&D===0&&U===0)return!0;if(w===192&&D===168)return!0;if(w===198&&(D===18||D===19))return!0;if(w>=240)return!0;return!1}function e5($){let v=$.toLowerCase(),w=v.indexOf("%");if(w!==-1)v=v.slice(0,w);let D=v.split("::");if(D.length>2)return null;let U=(J)=>{if(J==="")return[];let G=[],W=J.split(":");for(let Y=0;Yv.slice(0,U).every((z)=>z===0);if(w(7)&&(v[7]===0||v[7]===1))return!0;if((v[0]&65024)===64512)return!0;if((v[0]&65472)===65152)return!0;if((v[0]&65472)===65216)return!0;if((v[0]&65280)===65280)return!0;if(w(6)||w(5)&&v[5]===65535||w(4)&&v[4]===65535&&v[5]===0||v[0]===100&&v[1]===65435&&v[2]===0&&v[3]===0&&v[4]===0&&v[5]===0||v[0]===100&&v[1]===65435&&v[2]===1){let U=v[6]>>8&255,z=v[6]&255,J=v[7]>>8&255,G=v[7]&255;return h9(`${U}.${z}.${J}.${G}`)}return!1}var $7=10;async function ZG({url:$,headers:v,abortSignal:w,maxRedirects:D=$7}){let U={signal:w};if(v!==void 0)U.headers=v;let z=$;for(let J=0;J<=D;J++){a5(z);let G=await fetch(z,{...U,redirect:"manual"});if(G.type==="opaqueredirect"){if(!t5())throw new V$({url:$,message:`Redirect from ${z} could not be validated and was blocked`});return await fetch(z,{...U,redirect:"follow"})}let W=G.headers.get("location");if(G.status>=300&&G.status<400&&W){await rv(G),z=new URL(W,z).toString();continue}return G}throw new V$({url:$,message:`Too many redirects (max ${D})`})}var Xw=2147483648;async function Gw({response:$,url:v,maxBytes:w=Xw}){let D=$.headers.get("content-length");if(D!=null){let Q=parseInt(D,10);if(!isNaN(Q)&&Q>w)throw await rv($),new V$({url:v,message:`Download of ${v} exceeded maximum size of ${w} bytes (Content-Length: ${Q}).`})}let U=$.body;if(U==null)return new Uint8Array(0);let z=U.getReader(),J=[],G=0;try{while(!0){let{done:Q,value:N}=await z.read();if(Q)break;if(G+=N.length,G>w)throw new V$({url:v,message:`Download of ${v} exceeded maximum size of ${w} bytes.`});J.push(N)}}finally{try{await z.cancel()}finally{z.releaseLock()}}let W=new Uint8Array(G),Y=0;for(let Q of J)W.set(Q,Y),Y+=Q.length;return W}async function c9($,v){var w,D;try{let U=await ZG({url:$,abortSignal:v==null?void 0:v.abortSignal});if(!U.ok)throw await rv(U),new V$({url:$,statusCode:U.status,statusText:U.statusText});let z=await Gw({response:U,url:$,maxBytes:(w=v==null?void 0:v.maxBytes)!=null?w:Xw}),J=(D=U.headers.get("content-type"))!=null?D:void 0;return new Blob([z],J?{type:J}:void 0)}catch(U){if(V$.isInstance(U))throw U;throw new V$({url:$,cause:U})}}function dv($){return Object.fromEntries([...$.headers])}var I$=({prefix:$,size:v=16,alphabet:w="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:D="-"}={})=>{let U=()=>{let z=w.length,J=Array(v);for(let G=0;G`${$}${D}${U()}`},Yw=I$();function d6($){return($ instanceof Error||$ instanceof DOMException)&&($.name==="AbortError"||$.name==="ResponseAborted"||$.name==="TimeoutError")}var v7=["fetch failed","failed to fetch"],U7=["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE"];function w7($){if(!($ instanceof Error))return!1;let v=$.code;if(typeof v==="string"&&U7.includes(v))return!0;return!1}function m9({error:$,url:v,requestBodyValues:w}){if(d6($))return $;if($ instanceof TypeError&&v7.includes($.message.toLowerCase())){let D=$.cause;if(D!=null)return new D$({message:`Cannot connect to API: ${D.message}`,cause:D,url:v,requestBodyValues:w,isRetryable:!0})}if(w7($))return new D$({message:`Cannot connect to API: ${$.message}`,cause:$,url:v,requestBodyValues:w,isRetryable:!0});return $}function Ww($=globalThis){var v,w,D;if($.window)return"runtime/browser";if((v=$.navigator)==null?void 0:v.userAgent)return`runtime/${$.navigator.userAgent.toLowerCase()}`;if((D=(w=$.process)==null?void 0:w.versions)==null?void 0:D.node)return`runtime/node.js/${$.process.version.substring(0)}`;if($.EdgeRuntime)return"runtime/vercel-edge";return"runtime/unknown"}function D7($){if($==null)return{};let v={};if($ instanceof Headers)$.forEach((w,D)=>{v[D.toLowerCase()]=w});else{if(!Array.isArray($))$=Object.entries($);for(let[w,D]of $)if(D!=null)v[w.toLowerCase()]=D}return v}function k$($,...v){let w=new Headers(D7($)),D=w.get("user-agent")||"";return w.set("user-agent",[D,...v].filter(Boolean).join(" ")),Object.fromEntries(w.entries())}var n9="5.0.7",z7=()=>globalThis.fetch,p6=async({url:$,headers:v={},successfulResponseHandler:w,failedResponseHandler:D,abortSignal:U,fetch:z=z7()})=>{try{let J=await z($,{method:"GET",headers:k$(v,`ai-sdk/provider-utils/${n9}`,Ww()),signal:U}),G=dv(J);if(!J.ok){let W;try{W=await D({response:J,url:$,requestBodyValues:{}})}catch(Y){if(d6(Y)||D$.isInstance(Y))throw Y;throw new D$({message:"Failed to process error response",cause:Y,statusCode:J.status,url:$,responseHeaders:G,requestBodyValues:{}})}throw W.value}try{return await w({response:J,url:$,requestBodyValues:{}})}catch(W){if(W instanceof Error){if(d6(W)||D$.isInstance(W))throw W}throw new D$({message:"Failed to process successful response",cause:W,statusCode:J.status,url:$,responseHeaders:G,requestBodyValues:{}})}}catch(J){throw m9({error:J,url:$,requestBodyValues:{}})}};function l9($){var v,w;return(w=(v=globalThis.Buffer)==null?void 0:v.isBuffer($))!=null?w:!1}function y4({settingValue:$,environmentVariableName:v}){if(typeof $==="string")return $;if($!=null||typeof process>"u")return;if($=process.env[v],$==null||typeof $!=="string")return;return $}function r9($){return $!==void 0&&$!=="provider-default"}var J7=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,X7=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function g9($){let v=JSON.parse($);if(v===null||typeof v!=="object")return v;if(J7.test($)===!1&&X7.test($)===!1)return v;return G7(v)}function G7($){let v=[$];while(v.length){let w=v;v=[];for(let D of w){if(Object.prototype.hasOwnProperty.call(D,"__proto__"))throw SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(D,"constructor")&&D.constructor!==null&&typeof D.constructor==="object"&&Object.prototype.hasOwnProperty.call(D.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let U in D){let z=D[U];if(z&&typeof z==="object")v.push(z)}}}return $}function Qw($){let{stackTraceLimit:v}=Error;try{Error.stackTraceLimit=0}catch(w){return g9($)}try{return g9($)}finally{Error.stackTraceLimit=v}}function xG($){if($.type==="object"||Array.isArray($.type)&&$.type.includes("object")){$.additionalProperties=!1;let{properties:w}=$;if(w!=null)for(let D of Object.keys(w))w[D]=r6(w[D])}if($.items!=null)$.items=Array.isArray($.items)?$.items.map(r6):r6($.items);if($.anyOf!=null)$.anyOf=$.anyOf.map(r6);if($.allOf!=null)$.allOf=$.allOf.map(r6);if($.oneOf!=null)$.oneOf=$.oneOf.map(r6);let{definitions:v}=$;if(v!=null)for(let w of Object.keys(v))v[w]=r6(v[w]);return $}function r6($){if(typeof $==="boolean")return $;return xG($)}var Y7=Symbol("Let zodToJsonSchema decide on which parser to use"),_9={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},W7=($)=>typeof $==="string"?{..._9,name:$}:{..._9,...$};function y$(){return{}}function Q7($,v){var w,D,U;let z={type:"array"};if(((w=$.type)==null?void 0:w._def)&&((U=(D=$.type)==null?void 0:D._def)==null?void 0:U.typeName)!==E.ZodAny)z.items=z$($.type._def,{...v,currentPath:[...v.currentPath,"items"]});if($.minLength)z.minItems=$.minLength.value;if($.maxLength)z.maxItems=$.maxLength.value;if($.exactLength)z.minItems=$.exactLength.value,z.maxItems=$.exactLength.value;return z}function N7($){let v={type:"integer",format:"int64"};if(!$.checks)return v;for(let w of $.checks)switch(w.kind){case"min":if(w.inclusive)v.minimum=w.value;else v.exclusiveMinimum=w.value;break;case"max":if(w.inclusive)v.maximum=w.value;else v.exclusiveMaximum=w.value;break;case"multipleOf":v.multipleOf=w.value;break}return v}function L7(){return{type:"boolean"}}function d9($,v){return z$($.type._def,v)}var O7=($,v)=>{return z$($.innerType._def,v)};function p9($,v,w){let D=w!=null?w:v.dateStrategy;if(Array.isArray(D))return{anyOf:D.map((U)=>p9($,v,U))};switch(D){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return q7($)}}var q7=($)=>{let v={type:"integer",format:"unix-time"};for(let w of $.checks)switch(w.kind){case"min":v.minimum=w.value;break;case"max":v.maximum=w.value;break}return v};function I7($,v){return{...z$($.innerType._def,v),default:$.defaultValue()}}function H7($,v){return v.effectStrategy==="input"?z$($.schema._def,v):y$()}function V7($){return{type:"string",enum:Array.from($.values)}}var j7=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function K7($,v){let w=[z$($.left._def,{...v,currentPath:[...v.currentPath,"allOf","0"]}),z$($.right._def,{...v,currentPath:[...v.currentPath,"allOf","1"]})].filter((U)=>!!U),D=[];return w.forEach((U)=>{if(j7(U))D.push(...U.allOf);else{let z=U;if("additionalProperties"in U&&U.additionalProperties===!1){let{additionalProperties:J,...G}=U;z=G}D.push(z)}}),D.length?{allOf:D}:void 0}function B7($){let v=typeof $.value;if(v!=="bigint"&&v!=="number"&&v!=="boolean"&&v!=="string")return{type:Array.isArray($.value)?"array":"object"};return{type:v==="bigint"?"integer":v,const:$.value}}var gG=void 0,t$={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(gG===void 0)gG=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return gG},uuid:/^[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}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([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])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function o9($,v){let w={type:"string"};if($.checks)for(let D of $.checks)switch(D.kind){case"min":w.minLength=typeof w.minLength==="number"?Math.max(w.minLength,D.value):D.value;break;case"max":w.maxLength=typeof w.maxLength==="number"?Math.min(w.maxLength,D.value):D.value;break;case"email":switch(v.emailStrategy){case"format:email":a$(w,"email",D.message,v);break;case"format:idn-email":a$(w,"idn-email",D.message,v);break;case"pattern:zod":P$(w,t$.email,D.message,v);break}break;case"url":a$(w,"uri",D.message,v);break;case"uuid":a$(w,"uuid",D.message,v);break;case"regex":P$(w,D.regex,D.message,v);break;case"cuid":P$(w,t$.cuid,D.message,v);break;case"cuid2":P$(w,t$.cuid2,D.message,v);break;case"startsWith":P$(w,RegExp(`^${_G(D.value,v)}`),D.message,v);break;case"endsWith":P$(w,RegExp(`${_G(D.value,v)}$`),D.message,v);break;case"datetime":a$(w,"date-time",D.message,v);break;case"date":a$(w,"date",D.message,v);break;case"time":a$(w,"time",D.message,v);break;case"duration":a$(w,"duration",D.message,v);break;case"length":w.minLength=typeof w.minLength==="number"?Math.max(w.minLength,D.value):D.value,w.maxLength=typeof w.maxLength==="number"?Math.min(w.maxLength,D.value):D.value;break;case"includes":{P$(w,RegExp(_G(D.value,v)),D.message,v);break}case"ip":{if(D.version!=="v6")a$(w,"ipv4",D.message,v);if(D.version!=="v4")a$(w,"ipv6",D.message,v);break}case"base64url":P$(w,t$.base64url,D.message,v);break;case"jwt":P$(w,t$.jwt,D.message,v);break;case"cidr":{if(D.version!=="v6")P$(w,t$.ipv4Cidr,D.message,v);if(D.version!=="v4")P$(w,t$.ipv6Cidr,D.message,v);break}case"emoji":P$(w,t$.emoji(),D.message,v);break;case"ulid":{P$(w,t$.ulid,D.message,v);break}case"base64":{switch(v.base64Strategy){case"format:binary":{a$(w,"binary",D.message,v);break}case"contentEncoding:base64":{w.contentEncoding="base64";break}case"pattern:zod":{P$(w,t$.base64,D.message,v);break}}break}case"nanoid":P$(w,t$.nanoid,D.message,v);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return w}function _G($,v){return v.patternStrategy==="escape"?E7($):$}var A7=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function E7($){let v="";for(let w=0;w<$.length;w++){if(!A7.has($[w]))v+="\\";v+=$[w]}return v}function a$($,v,w,D){var U;if($.format||((U=$.anyOf)==null?void 0:U.some((z)=>z.format))){if(!$.anyOf)$.anyOf=[];if($.format)$.anyOf.push({format:$.format}),delete $.format;$.anyOf.push({format:v,...w&&D.errorMessages&&{errorMessage:{format:w}}})}else $.format=v}function P$($,v,w,D){var U;if($.pattern||((U=$.allOf)==null?void 0:U.some((z)=>z.pattern))){if(!$.allOf)$.allOf=[];if($.pattern)$.allOf.push({pattern:$.pattern}),delete $.pattern;$.allOf.push({pattern:T9(v,D),...w&&D.errorMessages&&{errorMessage:{pattern:w}}})}else $.pattern=T9(v,D)}function T9($,v){var w;if(!v.applyRegexFlags||!$.flags)return $.source;let D={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},U=D.i?$.source.toLowerCase():$.source,z="",J=!1,G=!1,W=!1;for(let Y=0;Y{return typeof v[v[z]]!=="number"}).map((z)=>v[z]),U=Array.from(new Set(D.map((z)=>typeof z)));return{type:U.length===1?U[0]==="string"?"string":"number":["string","number"],enum:D}}function R7(){return{not:y$()}}function M7(){return{type:"null"}}var TG={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function S7($,v){let w=$.options instanceof Map?Array.from($.options.values()):$.options;if(w.every((D)=>(D._def.typeName in TG)&&(!D._def.checks||!D._def.checks.length))){let D=w.reduce((U,z)=>{let J=TG[z._def.typeName];return J&&!U.includes(J)?[...U,J]:U},[]);return{type:D.length>1?D:D[0]}}else if(w.every((D)=>D._def.typeName==="ZodLiteral"&&!D.description)){let D=w.reduce((U,z)=>{let J=typeof z._def.value;switch(J){case"string":case"number":case"boolean":return[...U,J];case"bigint":return[...U,"integer"];case"object":if(z._def.value===null)return[...U,"null"];case"symbol":case"undefined":case"function":default:return U}},[]);if(D.length===w.length){let U=D.filter((z,J,G)=>G.indexOf(z)===J);return{type:U.length>1?U:U[0],enum:w.reduce((z,J)=>{return z.includes(J._def.value)?z:[...z,J._def.value]},[])}}}else if(w.every((D)=>D._def.typeName==="ZodEnum"))return{type:"string",enum:w.reduce((D,U)=>[...D,...U._def.values.filter((z)=>!D.includes(z))],[])};return P7($,v)}var P7=($,v)=>{let w=($.options instanceof Map?Array.from($.options.values()):$.options).map((D,U)=>z$(D._def,{...v,currentPath:[...v.currentPath,"anyOf",`${U}`]})).filter((D)=>!!D&&(!v.strictUnions||typeof D==="object"&&Object.keys(D).length>0));return w.length?{anyOf:w}:void 0};function g7($,v){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length))return{type:[TG[$.innerType._def.typeName],"null"]};let w=z$($.innerType._def,{...v,currentPath:[...v.currentPath,"anyOf","0"]});return w&&{anyOf:[w,{type:"null"}]}}function _7($){let v={type:"number"};if(!$.checks)return v;for(let w of $.checks)switch(w.kind){case"int":v.type="integer";break;case"min":if(w.inclusive)v.minimum=w.value;else v.exclusiveMinimum=w.value;break;case"max":if(w.inclusive)v.maximum=w.value;else v.exclusiveMaximum=w.value;break;case"multipleOf":v.multipleOf=w.value;break}return v}function T7($,v){let w={type:"object",properties:{}},D=[],U=$.shape();for(let J in U){let G=U[J];if(G===void 0||G._def===void 0)continue;let W=C7(G),Y=z$(G._def,{...v,currentPath:[...v.currentPath,"properties",J],propertyPath:[...v.currentPath,"properties",J]});if(Y===void 0)continue;if(w.properties[J]=Y,!W)D.push(J)}if(D.length)w.required=D;let z=k7($,v);if(z!==void 0)w.additionalProperties=z;return w}function k7($,v){if($.catchall._def.typeName!=="ZodNever")return z$($.catchall._def,{...v,currentPath:[...v.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return v.allowedAdditionalProperties;case"strict":return v.rejectedAdditionalProperties;case"strip":return v.removeAdditionalStrategy==="strict"?v.allowedAdditionalProperties:v.rejectedAdditionalProperties}}function C7($){try{return $.isOptional()}catch(v){return!0}}var Z7=($,v)=>{var w;if(v.currentPath.toString()===((w=v.propertyPath)==null?void 0:w.toString()))return z$($.innerType._def,v);let D=z$($.innerType._def,{...v,currentPath:[...v.currentPath,"anyOf","1"]});return D?{anyOf:[{not:y$()},D]}:y$()},x7=($,v)=>{if(v.pipeStrategy==="input")return z$($.in._def,v);else if(v.pipeStrategy==="output")return z$($.out._def,v);let w=z$($.in._def,{...v,currentPath:[...v.currentPath,"allOf","0"]}),D=z$($.out._def,{...v,currentPath:[...v.currentPath,"allOf",w?"1":"0"]});return{allOf:[w,D].filter((U)=>U!==void 0)}};function f7($,v){return z$($.type._def,v)}function u7($,v){let D={type:"array",uniqueItems:!0,items:z$($.valueType._def,{...v,currentPath:[...v.currentPath,"items"]})};if($.minSize)D.minItems=$.minSize.value;if($.maxSize)D.maxItems=$.maxSize.value;return D}function y7($,v){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((w,D)=>z$(w._def,{...v,currentPath:[...v.currentPath,"items",`${D}`]})).reduce((w,D)=>D===void 0?w:[...w,D],[]),additionalItems:z$($.rest._def,{...v,currentPath:[...v.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((w,D)=>z$(w._def,{...v,currentPath:[...v.currentPath,"items",`${D}`]})).reduce((w,D)=>D===void 0?w:[...w,D],[])}}function i7(){return{not:y$()}}function h7(){return y$()}var c7=($,v)=>{return z$($.innerType._def,v)},m7=($,v,w)=>{switch(v){case E.ZodString:return o9($,w);case E.ZodNumber:return _7($);case E.ZodObject:return T7($,w);case E.ZodBigInt:return N7($);case E.ZodBoolean:return L7();case E.ZodDate:return p9($,w);case E.ZodUndefined:return i7();case E.ZodNull:return M7();case E.ZodArray:return Q7($,w);case E.ZodUnion:case E.ZodDiscriminatedUnion:return S7($,w);case E.ZodIntersection:return K7($,w);case E.ZodTuple:return y7($,w);case E.ZodRecord:return t9($,w);case E.ZodLiteral:return B7($);case E.ZodEnum:return V7($);case E.ZodNativeEnum:return F7($);case E.ZodNullable:return g7($,w);case E.ZodOptional:return Z7($,w);case E.ZodMap:return b7($,w);case E.ZodSet:return u7($,w);case E.ZodLazy:return()=>$.getter()._def;case E.ZodPromise:return f7($,w);case E.ZodNaN:case E.ZodNever:return R7();case E.ZodEffects:return H7($,w);case E.ZodAny:return y$();case E.ZodUnknown:return h7();case E.ZodDefault:return I7($,w);case E.ZodBranded:return d9($,w);case E.ZodReadonly:return c7($,w);case E.ZodCatch:return O7($,w);case E.ZodPipeline:return x7($,w);case E.ZodFunction:case E.ZodVoid:case E.ZodSymbol:return;default:return((D)=>{return})(v)}},n7=($,v)=>{let w=0;for(;w<$.length&&w{switch(v.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:n7(v.currentPath,$.path)};case"none":case"seen":{if($.path.lengthv.currentPath[D]===w))return console.warn(`Recursive reference detected at ${v.currentPath.join("/")}! Defaulting to any`),y$();return v.$refStrategy==="seen"?y$():void 0}}},r7=($,v,w)=>{if($.description)w.description=$.description;return w},d7=($)=>{let v=W7($),w=v.name!==void 0?[...v.basePath,v.definitionPath,v.name]:v.basePath;return{...v,currentPath:w,propertyPath:void 0,seen:new Map(Object.entries(v.definitions).map(([D,U])=>[U._def,{def:U._def,path:[...v.basePath,v.definitionPath,D],jsonSchema:void 0}]))}},p7=($,v)=>{var w;let D=d7(v),U=typeof v==="object"&&v.definitions?Object.entries(v.definitions).reduce((Y,[Q,N])=>{var L;return{...Y,[Q]:(L=z$(N._def,{...D,currentPath:[...D.basePath,D.definitionPath,Q]},!0))!=null?L:y$()}},{}):void 0,z=typeof v==="string"?v:(v==null?void 0:v.nameStrategy)==="title"?void 0:v==null?void 0:v.name,J=(w=z$($._def,z===void 0?D:{...D,currentPath:[...D.basePath,D.definitionPath,z]},!1))!=null?w:y$(),G=typeof v==="object"&&v.name!==void 0&&v.nameStrategy==="title"?v.name:void 0;if(G!==void 0)J.title=G;let W=z===void 0?U?{...J,[D.definitionPath]:U}:J:{$ref:[...D.$refStrategy==="relative"?[]:D.basePath,D.definitionPath,z].join("/"),[D.definitionPath]:{...U,[z]:J}};return W.$schema="http://json-schema.org/draft-07/schema#",W},kG=Symbol.for("vercel.ai.schema");function v$($){let v;return()=>{if(v==null)v=$();return v}}function Nw($,{validate:v}={}){return{[kG]:!0,_type:void 0,get jsonSchema(){if(typeof $==="function")$=$();return $},validate:v}}function o7($){return typeof $==="object"&&$!==null&&kG in $&&$[kG]===!0&&"jsonSchema"in $&&"validate"in $}function Lw($){return $==null?Nw({type:"object",properties:{},additionalProperties:!1}):o7($)?$:("~standard"in $)?$["~standard"].vendor==="zod"?e($):t7($):$()}function t7($){return Nw(()=>xG($["~standard"].jsonSchema.input({target:"draft-07"})),{validate:async(v)=>{let w=await $["~standard"].validate(v);return"value"in w?{success:!0,value:w.value}:{success:!1,error:new p$({value:v,cause:w.issues})}}})}function a7($,v){var w;let D=(w=v==null?void 0:v.useReferences)!=null?w:!1;return Nw(()=>p7($,{$refStrategy:D?"root":"none"}),{validate:async(U)=>{let z=await $.safeParseAsync(U);return z.success?{success:!0,value:z.data}:{success:!1,error:z.error}}})}function e7($,v){var w;let D=(w=v==null?void 0:v.useReferences)!=null?w:!1;return Nw(()=>xG(A4($,{target:"draft-7",io:"input",reused:D?"ref":"inline"})),{validate:async(U)=>{let z=await Iv($,U);return z.success?{success:!0,value:z.data}:{success:!1,error:z.error}}})}function s7($){return"_zod"in $}function e($,v){if(s7($))return e7($,v);else return a7($,v)}async function a9({value:$,schema:v,context:w}){let D=await i$({value:$,schema:v,context:w});if(!D.success)throw p$.wrap({value:$,cause:D.error,context:w});return D.value}async function i$({value:$,schema:v,context:w}){let D=Lw(v);try{if(D.validate==null)return{success:!0,value:$,rawValue:$};let U=await D.validate($);if(U.success)return{success:!0,value:U.value,rawValue:$};return{success:!1,error:p$.wrap({value:$,cause:U.error,context:w}),rawValue:$}}catch(U){return{success:!1,error:p$.wrap({value:$,cause:U,context:w}),rawValue:$}}}async function $I({text:$,schema:v}){try{let w=Qw($);if(v==null)return w;return await a9({value:w,schema:v})}catch(w){if(gv.isInstance(w)||p$.isInstance(w))throw w;throw new gv({text:$,cause:w})}}async function G6({text:$,schema:v}){try{let w=Qw($);if(v==null)return{success:!0,value:w,rawValue:w};return await i$({value:w,schema:v})}catch(w){return{success:!1,error:gv.isInstance(w)?w:new gv({text:$,cause:w}),rawValue:void 0}}}function fG({stream:$,schema:v}){return $.pipeThrough(new TextDecoderStream).pipeThrough(new PG).pipeThrough(new TransformStream({async transform({data:w},D){if(w==="[DONE]")return;D.enqueue(await G6({text:w,schema:v}))}}))}async function l$({provider:$,providerOptions:v,schema:w}){if((v==null?void 0:v[$])==null)return;let D=await i$({value:v[$],schema:w});if(!D.success)throw new p1({argument:"providerOptions",message:`invalid ${$} provider options`,cause:D.error});return D.value}var vI=()=>globalThis.fetch,Y$=async({url:$,headers:v,body:w,failedResponseHandler:D,successfulResponseHandler:U,abortSignal:z,fetch:J})=>await s9({url:$,headers:{"Content-Type":"application/json",...v},body:{content:JSON.stringify(w),values:w},failedResponseHandler:D,successfulResponseHandler:U,abortSignal:z,fetch:J}),e9=async({url:$,headers:v,formData:w,failedResponseHandler:D,successfulResponseHandler:U,abortSignal:z,fetch:J})=>await s9({url:$,headers:v,body:{content:w,values:Object.fromEntries(w.entries())},failedResponseHandler:D,successfulResponseHandler:U,abortSignal:z,fetch:J}),s9=async({url:$,headers:v={},body:w,successfulResponseHandler:D,failedResponseHandler:U,abortSignal:z,fetch:J=vI()})=>{try{let G=await J($,{method:"POST",headers:k$(v,`ai-sdk/provider-utils/${n9}`,Ww()),body:w.content,signal:z}),W=dv(G);if(!G.ok){let Y;try{Y=await U({response:G,url:$,requestBodyValues:w.values})}catch(Q){if(d6(Q)||D$.isInstance(Q))throw Q;throw new D$({message:"Failed to process error response",cause:Q,statusCode:G.status,url:$,responseHeaders:W,requestBodyValues:w.values})}throw Y.value}try{return await D({response:G,url:$,requestBodyValues:w.values})}catch(Y){if(Y instanceof Error){if(d6(Y)||D$.isInstance(Y))throw Y}throw new D$({message:"Failed to process successful response",cause:Y,statusCode:G.status,url:$,responseHeaders:W,requestBodyValues:w.values})}}catch(G){throw m9({error:G,url:$,requestBodyValues:w.values})}};function UI($){return $}function i4({id:$,inputSchema:v,outputSchema:w,supportsDeferredResults:D}){return({onInputStart:U,onInputDelta:z,onInputAvailable:J,...G})=>UI({type:"provider",isProviderExecuted:!0,id:$,args:G,inputSchema:v,outputSchema:w,onInputStart:U,onInputDelta:z,onInputAvailable:J,supportsDeferredResults:D})}async function s($){if(typeof $==="function")$=$();return Promise.resolve($)}function Ow({part:$}){if(p5($.mediaType))return $.mediaType;if($.data.type==="data"){let v=lv({data:$.data.data,topLevelType:CG($.mediaType)});if(v)return v;throw new B$({functionality:`file of media type "${$.mediaType}" must specify subtype since it could not be auto-detected`})}throw new B$({functionality:`file of media type "${$.mediaType}" must specify subtype since it is not passed as inline bytes`})}var $Q=({maxRetries:$=2,initialDelayInMs:v=2000,backoffFactor:w=2,abortSignal:D,shouldRetry:U,getDelayInMs:z=({exponentialBackoffDelay:G})=>G,createRetryError:J=({message:G})=>Error(G)})=>async(G)=>vQ(G,{maxRetries:$,delayInMs:v,backoffFactor:w,abortSignal:D,shouldRetry:U,getDelayInMs:z,createRetryError:J});async function vQ($,{maxRetries:v,delayInMs:w,backoffFactor:D,abortSignal:U,shouldRetry:z,getDelayInMs:J,createRetryError:G},W=[]){try{return await $()}catch(Y){if(d6(Y))throw Y;if(v===0)throw Y;let Q=Sv(Y),N=[...W,Y],L=N.length;if(L>v)throw G({message:`Failed after ${L} attempts. Last error: ${Q}`,reason:"maxRetriesExceeded",errors:N});if(await z(Y)&&L<=v)return await n5(J({error:Y,exponentialBackoffDelay:w}),{abortSignal:U}),vQ($,{maxRetries:v,delayInMs:D*w,backoffFactor:D,abortSignal:U,shouldRetry:z,getDelayInMs:J,createRetryError:G},N);if(L===1)throw Y;throw G({message:`Failed after ${L} attempts with non-retryable error: '${Q}'`,reason:"errorNotRetryable",errors:N})}}var wI=new TextDecoder;async function UQ({response:$,url:v}){return wI.decode(await Gw({response:$,url:v}))}var $$=({errorSchema:$,errorToMessage:v,isRetryable:w})=>async({response:D,url:U,requestBodyValues:z})=>{let J=await UQ({response:D,url:U}),G=dv(D);if(J.trim()==="")return{responseHeaders:G,value:new D$({message:D.statusText,url:U,requestBodyValues:z,statusCode:D.status,responseHeaders:G,responseBody:J,isRetryable:w==null?void 0:w(D)})};try{let W=await $I({text:J,schema:$});return{responseHeaders:G,value:new D$({message:v(W),url:U,requestBodyValues:z,statusCode:D.status,responseHeaders:G,responseBody:J,data:W,isRetryable:w==null?void 0:w(D,W)})}}catch(W){return{responseHeaders:G,value:new D$({message:D.statusText,url:U,requestBodyValues:z,statusCode:D.status,responseHeaders:G,responseBody:J,isRetryable:w==null?void 0:w(D)})}}},h4=($)=>async({response:v})=>{let w=dv(v);if(v.body==null)throw new nW({});return{responseHeaders:w,value:fG({stream:v.body,schema:$})}},w$=($)=>async({response:v,url:w,requestBodyValues:D})=>{let U=await UQ({response:v,url:w}),z=await G6({text:U,schema:$}),J=dv(v);if(!z.success)throw new D$({message:"Invalid JSON response",cause:z.error,statusCode:v.status,responseHeaders:J,responseBody:U,url:w,requestBodyValues:D});return{responseHeaders:J,value:z.value,rawValue:z.rawValue}};function zw($){if($===null||$===void 0)return!0;let v=typeof $;if(v==="string"||v==="number"||v==="boolean")return!0;if(v==="function"||v==="symbol"||v==="bigint")return!1;if(Array.isArray($))return $.every(zw);if(Object.getPrototypeOf($)===Object.prototype)return Object.values($).every(zw);return!1}function C$($){let v={};for(let[w,D]of Object.entries($.config))if(w==="headers"){let U=DI(D);if(zw(U))v[w]=U}else if(zw(D))v[w]=D;return{modelId:$.modelId,config:v}}function DI($){let v=$;if(typeof $==="function")v=$();if(v instanceof Promise)throw Error("Promise returned from resolveSync");return v}var wQ=class{constructor($,v={}){this.toolCalls=[];var w,D;this.controller=$,this._generateId=(w=v.generateId)!=null?w:Yw,this.typeValidation=(D=v.typeValidation)!=null?D:"none",this.extractMetadata=v.extractMetadata,this.buildToolCallProviderMetadata=v.buildToolCallProviderMetadata}processDelta($){var v;let w=(v=$.index)!=null?v:this.toolCalls.length;if(this.toolCalls[w]==null)this.processNewToolCall(w,$);else this.processExistingToolCall(w,$)}flush(){for(let $ of this.toolCalls)if(!$.hasFinished)this.finishToolCall($)}processNewToolCall($,v){var w,D,U;if(this.typeValidation==="required"){if(v.type!=="function")throw new Pv({data:v,message:"Expected 'function' type."})}else if(this.typeValidation==="if-present"){if(v.type!=null&&v.type!=="function")throw new Pv({data:v,message:"Expected 'function' type."})}if(v.id==null)throw new Pv({data:v,message:"Expected 'id' to be a string."});if(((w=v.function)==null?void 0:w.name)==null)throw new Pv({data:v,message:"Expected 'function.name' to be a string."});this.controller.enqueue({type:"tool-input-start",id:v.id,toolName:v.function.name});let z=(D=this.extractMetadata)==null?void 0:D.call(this,v);this.toolCalls[$]={id:v.id,type:"function",function:{name:v.function.name,arguments:(U=v.function.arguments)!=null?U:""},hasFinished:!1,metadata:z};let J=this.toolCalls[$];if(J.function.arguments.length>0)this.controller.enqueue({type:"tool-input-delta",id:J.id,delta:J.function.arguments})}processExistingToolCall($,v){var w;let D=this.toolCalls[$];if(D.hasFinished)return;if(((w=v.function)==null?void 0:w.arguments)!=null)D.function.arguments+=v.function.arguments,this.controller.enqueue({type:"tool-input-delta",id:D.id,delta:v.function.arguments})}finishToolCall($){var v,w;this.controller.enqueue({type:"tool-input-end",id:$.id});let D=(v=this.buildToolCallProviderMetadata)==null?void 0:v.call(this,$.metadata);this.controller.enqueue({type:"tool-call",toolCallId:(w=$.id)!=null?w:this._generateId(),toolName:$.function.name,input:$.function.arguments,...D?{providerMetadata:D}:{}}),$.hasFinished=!0}};function qw($){return $==null?void 0:$.replace(/\/$/,"")}function o6($){return $.replace(/[_-]([a-z])/g,(v)=>v[1].toUpperCase())}function zI($,v){let w=o6($);if(w!==$&&(v==null?void 0:v[w])!=null)return w;return $}function Iw({rawName:$,providerOptions:v,warnings:w}){let D=o6($);if(D!==$&&(v==null?void 0:v[$])!=null)w.push({type:"deprecated",setting:`providerOptions key '${$}'`,message:`Use '${D}' instead.`})}var JI=X.object({error:X.object({message:X.string(),type:X.string().nullish(),param:X.any().nullish(),code:X.union([X.string(),X.number()]).nullish()})}),tv={errorSchema:JI,errorToMessage:($)=>$.error.message};function XI($){var v,w,D,U,z,J;if($==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let G=(v=$.prompt_tokens)!=null?v:0,W=(w=$.completion_tokens)!=null?w:0,Y=(U=(D=$.prompt_tokens_details)==null?void 0:D.cached_tokens)!=null?U:0,Q=(J=(z=$.completion_tokens_details)==null?void 0:z.reasoning_tokens)!=null?J:0;return{inputTokens:{total:G,noCache:G-Y,cacheRead:Y,cacheWrite:void 0},outputTokens:{total:W,text:W-Q,reasoning:Q},raw:$}}function pv($){var v,w;return(w=(v=$==null?void 0:$.providerOptions)==null?void 0:v.openaiCompatible)!=null?w:{}}function GI($){switch($){case"audio/wav":return"wav";case"audio/mp3":case"audio/mpeg":return"mp3";default:return null}}function YI($){var v,w,D;let U=[];for(let{role:z,content:J,...G}of $){let W=pv({...G});switch(z){case"system":{U.push({role:"system",content:J,...W});break}case"user":{if(J.length===1&&J[0].type==="text"){U.push({role:"user",content:J[0].text,...pv(J[0])});break}U.push({role:"user",content:J.map((Y)=>{var Q;let N=pv(Y);switch(Y.type){case"text":return{type:"text",text:Y.text,...N};case"file":switch(Y.data.type){case"reference":throw new B$({functionality:"file parts with provider references"});case"text":throw new B$({functionality:"text file parts"});case"url":case"data":{let L=CG(Y.mediaType);if(L==="image")return{type:"image_url",image_url:{url:Y.data.type==="url"?Y.data.url.toString():`data:${Ow({part:Y})};base64,${Jw(Y.data.data)}`},...N};if(L==="audio"){if(Y.data.type==="url")throw new B$({functionality:"audio file parts with URLs"});let q=Ow({part:Y}),M=GI(q);if(M===null)throw new B$({functionality:`audio media type ${q}`});return{type:"input_audio",input_audio:{data:Jw(Y.data.data),format:M},...N}}if(L==="application"){if(Y.data.type==="url")throw new B$({functionality:"PDF file parts with URLs"});let q=Ow({part:Y});if(q!=="application/pdf")throw new B$({functionality:`file part media type ${q}`});return{type:"file",file:{filename:(Q=Y.filename)!=null?Q:"document.pdf",file_data:`data:application/pdf;base64,${Jw(Y.data.data)}`},...N}}if(L==="text")return{type:"text",text:Y.data.type==="url"?Y.data.url.toString():typeof Y.data.data==="string"?new TextDecoder().decode(n$(Y.data.data)):new TextDecoder().decode(Y.data.data),...N};throw new B$({functionality:`file part media type ${Y.mediaType}`})}}}}),...W});break}case"assistant":{let Y="",Q="",N=[];for(let L of J){let q=pv(L);switch(L.type){case"text":{Y+=L.text;break}case"reasoning":{Q+=L.text;break}case"tool-call":{let M=(w=(v=L.providerOptions)==null?void 0:v.google)==null?void 0:w.thoughtSignature;N.push({id:L.toolCallId,type:"function",function:{name:L.toolName,arguments:JSON.stringify(L.input)},...q,...M?{extra_content:{google:{thought_signature:String(M)}}}:{}});break}}}U.push({role:"assistant",content:N.length>0?Y||null:Y,...Q.length>0?{reasoning_content:Q}:{},tool_calls:N.length>0?N:void 0,...W});break}case"tool":{for(let Y of J){if(Y.type==="tool-approval-response")continue;let Q=Y.output,N;switch(Q.type){case"text":case"error-text":N=Q.value;break;case"execution-denied":N=(D=Q.reason)!=null?D:"Tool call execution denied.";break;case"content":case"json":case"error-json":N=JSON.stringify(Q.value);break}let L=pv(Y);U.push({role:"tool",tool_call_id:Y.toolCallId,content:N,...L})}break}default:throw Error(`Unsupported role: ${z}`)}}return U}function DQ({id:$,model:v,created:w}){return{id:$!=null?$:void 0,modelId:v!=null?v:void 0,timestamp:w!=null?new Date(w*1000):void 0}}function zQ($){switch($){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var ov=X.object({user:X.string().optional(),reasoningEffort:X.string().optional(),textVerbosity:X.string().optional(),strictJsonSchema:X.boolean().optional()});function WI({tools:$,toolChoice:v}){$=($==null?void 0:$.length)?$:void 0;let w=[];if($==null)return{tools:void 0,toolChoice:void 0,toolWarnings:w};let D=[];for(let z of $)if(z.type==="provider")w.push({type:"unsupported",feature:`provider-defined tool ${z.id}`});else D.push({type:"function",function:{name:z.name,description:z.description,parameters:z.inputSchema,...z.strict!=null?{strict:z.strict}:{}}});if(v==null)return{tools:D,toolChoice:void 0,toolWarnings:w};let U=v.type;switch(U){case"auto":case"none":case"required":return{tools:D,toolChoice:U,toolWarnings:w};case"tool":return{tools:D,toolChoice:{type:"function",function:{name:v.toolName}},toolWarnings:w};default:throw new B$({functionality:`tool choice type: ${U}`})}}var QI=class ${constructor(v,w){this.specificationVersion="v4";var D,U;this.modelId=v,this.config=w;let z=(D=w.errorStructure)!=null?D:tv;this.chunkSchema=OI(z.errorSchema),this.failedResponseHandler=$$(z),this.supportsStructuredOutputs=(U=w.supportsStructuredOutputs)!=null?U:!1}static[M$](v){return C$({modelId:v.modelId,config:v.config})}static[S$](v){return new $(v.modelId,v.config)}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){var v,w,D;return(D=(w=(v=this.config).supportedUrls)==null?void 0:w.call(v))!=null?D:{}}transformRequestBody(v){var w,D,U;return(U=(D=(w=this.config).transformRequestBody)==null?void 0:D.call(w,v))!=null?U:v}convertUsage(v){var w,D,U;return(U=(D=(w=this.config).convertUsage)==null?void 0:D.call(w,v))!=null?U:XI(v)}async getArgs({prompt:v,maxOutputTokens:w,temperature:D,topP:U,topK:z,frequencyPenalty:J,presencePenalty:G,reasoning:W,providerOptions:Y,stopSequences:Q,responseFormat:N,seed:L,toolChoice:q,tools:M}){var C,y,d,g,t,u;let j=[],R=await l$({provider:"openai-compatible",providerOptions:Y,schema:ov});if(R!=null)j.push({type:"deprecated",setting:"providerOptions key 'openai-compatible'",message:"Use 'openaiCompatible' instead."});Iw({rawName:this.providerOptionsName,providerOptions:Y,warnings:j});let F=Object.assign(R!=null?R:{},(C=await l$({provider:"openaiCompatible",providerOptions:Y,schema:ov}))!=null?C:{},(y=await l$({provider:this.providerOptionsName,providerOptions:Y,schema:ov}))!=null?y:{},(d=await l$({provider:o6(this.providerOptionsName),providerOptions:Y,schema:ov}))!=null?d:{}),H=(g=F==null?void 0:F.strictJsonSchema)!=null?g:!0;if(z!=null)j.push({type:"unsupported",feature:"topK"});if((N==null?void 0:N.type)==="json"&&N.schema!=null&&!this.supportsStructuredOutputs)j.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:P,toolChoice:f,toolWarnings:m}=WI({tools:M,toolChoice:q});return{metadataKey:zI(this.providerOptionsName,Y),args:{model:this.modelId,user:F.user,max_tokens:w,temperature:D,top_p:U,frequency_penalty:J,presence_penalty:G,response_format:(N==null?void 0:N.type)==="json"?this.supportsStructuredOutputs===!0&&N.schema!=null?{type:"json_schema",json_schema:{schema:N.schema,strict:H,name:(t=N.name)!=null?t:"response",description:N.description}}:{type:"json_object"}:void 0,stop:Q,seed:L,...Object.fromEntries(Object.entries({...Y==null?void 0:Y[this.providerOptionsName],...Y==null?void 0:Y[o6(this.providerOptionsName)]}).filter(([Q$])=>!Object.keys(ov.shape).includes(Q$))),reasoning_effort:(u=F.reasoningEffort)!=null?u:r9(W)&&W!=="none"?W:void 0,verbosity:F.textVerbosity,messages:YI(v),tools:P,tool_choice:f},warnings:[...j,...m]}}async doGenerate(v){var w,D,U,z,J,G,W,Y,Q,N;let{args:L,warnings:q,metadataKey:M}=await this.getArgs({...v}),C=this.transformRequestBody(L),y=JSON.stringify(C),{responseHeaders:d,value:g,rawValue:t}=await Y$({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:W$((D=(w=this.config).headers)==null?void 0:D.call(w),v.headers),body:C,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:w$(NI),abortSignal:v.abortSignal,fetch:this.config.fetch}),u=g.choices[0],j=[],R=u.message.content;if(R!=null&&R.length>0)j.push({type:"text",text:R});let F=(U=u.message.reasoning_content)!=null?U:u.message.reasoning;if(F!=null&&F.length>0)j.push({type:"reasoning",text:F});if(u.message.tool_calls!=null)for(let f of u.message.tool_calls){let m=(J=(z=f.extra_content)==null?void 0:z.google)==null?void 0:J.thought_signature;j.push({type:"tool-call",toolCallId:(G=f.id)!=null?G:Yw(),toolName:f.function.name,input:f.function.arguments,...m?{providerMetadata:{[M]:{thoughtSignature:m}}}:{}})}let H={[M]:{},...await((Y=(W=this.config.metadataExtractor)==null?void 0:W.extractMetadata)==null?void 0:Y.call(W,{parsedBody:t}))},P=(Q=g.usage)==null?void 0:Q.completion_tokens_details;if((P==null?void 0:P.accepted_prediction_tokens)!=null)H[M].acceptedPredictionTokens=P==null?void 0:P.accepted_prediction_tokens;if((P==null?void 0:P.rejected_prediction_tokens)!=null)H[M].rejectedPredictionTokens=P==null?void 0:P.rejected_prediction_tokens;return{content:j,finishReason:{unified:zQ(u.finish_reason),raw:(N=u.finish_reason)!=null?N:void 0},usage:this.convertUsage(g.usage),providerMetadata:H,request:{body:y},response:{...DQ(g),headers:d,body:t},warnings:q}}async doStream(v){var w,D,U;let{args:z,warnings:J,metadataKey:G}=await this.getArgs({...v}),W=this.transformRequestBody({...z,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0}),Y=(w=this.config.metadataExtractor)==null?void 0:w.createStreamExtractor(),{responseHeaders:Q,value:N}=await Y$({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:W$((U=(D=this.config).headers)==null?void 0:U.call(D),v.headers),body:W,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:h4(this.chunkSchema),abortSignal:v.abortSignal,fetch:this.config.fetch}),L=G,q,M=new Map,C=new Set,y=(F)=>{var H,P,f,m,n;let Q$=F.index;if(Q$==null||C.has(Q$)){q.processDelta(F);return}let N$=M.get(Q$);if(N$==null)N$={id:(H=F.id)!=null?H:null,bufferedArguments:"",extraContent:(P=F.extra_content)!=null?P:null},M.set(Q$,N$);else{if(N$.id==null&&F.id!=null)N$.id=F.id;if(N$.extraContent==null&&F.extra_content!=null)N$.extraContent=F.extra_content}let T6=(f=F.function)==null?void 0:f.arguments;if(T6!=null)N$.bufferedArguments+=T6;let Y8=(m=F.function)==null?void 0:m.name;if(Y8!=null){let wL={index:Q$,id:N$.id,function:{name:Y8,arguments:N$.bufferedArguments},extra_content:(n=N$.extraContent)!=null?n:void 0};q.processDelta(wL),M.delete(Q$),C.add(Q$)}},d={unified:"other",raw:void 0},g=void 0,t=!0,u=!1,j=!1,R=(F)=>this.convertUsage(F);return{stream:N.pipeThrough(new TransformStream({start(F){q=new wQ(F,{generateId:Yw,extractMetadata:(H)=>{var P,f;let m=(f=(P=H.extra_content)==null?void 0:P.google)==null?void 0:f.thought_signature;return m?{[L]:{thoughtSignature:m}}:void 0},buildToolCallProviderMetadata:(H)=>H}),F.enqueue({type:"stream-start",warnings:J})},transform(F,H){var P,f;if(v.includeRawChunks)H.enqueue({type:"raw",rawValue:F.rawValue});if(!F.success){d={unified:"error",raw:void 0},H.enqueue({type:"error",error:F.error});return}if(Y==null||Y.processChunk(F.rawValue),"error"in F.value){d={unified:"error",raw:void 0},H.enqueue({type:"error",error:F.value.error.message});return}let m=F.value;if(t)t=!1,H.enqueue({type:"response-metadata",...DQ(m)});if(m.usage!=null)g=m.usage;let n=m.choices[0];if((n==null?void 0:n.finish_reason)!=null)d={unified:zQ(n.finish_reason),raw:(P=n.finish_reason)!=null?P:void 0};if((n==null?void 0:n.delta)==null)return;let Q$=n.delta,N$=(f=Q$.reasoning_content)!=null?f:Q$.reasoning;if(N$){if(!u)H.enqueue({type:"reasoning-start",id:"reasoning-0"}),u=!0;H.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:N$})}if(Q$.content){if(u)H.enqueue({type:"reasoning-end",id:"reasoning-0"}),u=!1;if(!j)H.enqueue({type:"text-start",id:"txt-0"}),j=!0;H.enqueue({type:"text-delta",id:"txt-0",delta:Q$.content})}if(Q$.tool_calls!=null){if(u)H.enqueue({type:"reasoning-end",id:"reasoning-0"}),u=!1;for(let T6 of Q$.tool_calls)y(T6)}},flush(F){var H,P,f,m;if(u)F.enqueue({type:"reasoning-end",id:"reasoning-0"});if(j)F.enqueue({type:"text-end",id:"txt-0"});for(let[Q$,N$]of M)q.processDelta({index:Q$,id:N$.id,function:{arguments:N$.bufferedArguments}});M.clear(),q.flush();let n={[L]:{},...Y==null?void 0:Y.buildMetadata()};if(((H=g==null?void 0:g.completion_tokens_details)==null?void 0:H.accepted_prediction_tokens)!=null)n[L].acceptedPredictionTokens=(P=g==null?void 0:g.completion_tokens_details)==null?void 0:P.accepted_prediction_tokens;if(((f=g==null?void 0:g.completion_tokens_details)==null?void 0:f.rejected_prediction_tokens)!=null)n[L].rejectedPredictionTokens=(m=g==null?void 0:g.completion_tokens_details)==null?void 0:m.rejected_prediction_tokens;F.enqueue({type:"finish",finishReason:d,usage:R(g),providerMetadata:n})}})),request:{body:W},response:{headers:Q}}}},NQ=X.looseObject({prompt_tokens:X.number().nullish(),completion_tokens:X.number().nullish(),total_tokens:X.number().nullish(),prompt_tokens_details:X.object({cached_tokens:X.number().nullish()}).nullish(),completion_tokens_details:X.object({reasoning_tokens:X.number().nullish(),accepted_prediction_tokens:X.number().nullish(),rejected_prediction_tokens:X.number().nullish()}).nullish()}).nullish(),NI=X.looseObject({id:X.string().nullish(),created:X.number().nullish(),model:X.string().nullish(),choices:X.array(X.object({message:X.object({role:X.literal("assistant").nullish(),content:X.string().nullish(),reasoning_content:X.string().nullish(),reasoning:X.string().nullish(),tool_calls:X.array(X.object({id:X.string().nullish(),function:X.object({name:X.string(),arguments:X.string()}),extra_content:X.object({google:X.object({thought_signature:X.string().nullish()}).nullish()}).nullish()})).nullish()}),finish_reason:X.string().nullish()})),usage:NQ}),LI=X.looseObject({id:X.string().nullish(),created:X.number().nullish(),model:X.string().nullish(),choices:X.array(X.object({delta:X.object({role:X.enum(["assistant",""]).nullish(),content:X.string().nullish(),reasoning_content:X.string().nullish(),reasoning:X.string().nullish(),tool_calls:X.array(X.object({index:X.number().nullish(),id:X.string().nullish(),function:X.object({name:X.string().nullish(),arguments:X.string().nullish()}),extra_content:X.object({google:X.object({thought_signature:X.string().nullish()}).nullish()}).nullish()})).nullish()}).nullish(),finish_reason:X.string().nullish()})),usage:NQ}),OI=($)=>X.union([LI,$]);function JQ($){var v,w;if($==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let D=(v=$.prompt_tokens)!=null?v:0,U=(w=$.completion_tokens)!=null?w:0;return{inputTokens:{total:D,noCache:D,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:U,text:U,reasoning:void 0},raw:$}}function qI({prompt:$,user:v="user",assistant:w="assistant"}){let D="";if($[0].role==="system")D+=`${$[0].content} + +`,$=$.slice(1);for(let{role:U,content:z}of $)switch(U){case"system":throw new oW({message:"Unexpected system message in prompt: ${content}",prompt:$});case"user":{let J=z.map((G)=>{switch(G.type){case"text":return G.text}}).filter(Boolean).join("");D+=`${v}: +${J} + +`;break}case"assistant":{let J=z.map((G)=>{switch(G.type){case"text":return G.text;case"tool-call":throw new B$({functionality:"tool-call messages"})}}).join("");D+=`${w}: +${J} + +`;break}case"tool":throw new B$({functionality:"tool messages"});default:throw Error(`Unsupported role: ${U}`)}return D+=`${w}: +`,{prompt:D,stopSequences:[` +${v}:`]}}function XQ({id:$,model:v,created:w}){return{id:$!=null?$:void 0,modelId:v!=null?v:void 0,timestamp:w!=null?new Date(w*1000):void 0}}function GQ($){switch($){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var YQ=X.object({echo:X.boolean().optional(),logitBias:X.record(X.string(),X.number()).optional(),suffix:X.string().optional(),user:X.string().optional()}),II=class ${constructor(v,w){this.specificationVersion="v4";var D;this.modelId=v,this.config=w;let U=(D=w.errorStructure)!=null?D:tv;this.chunkSchema=VI(U.errorSchema),this.failedResponseHandler=$$(U)}static[M$](v){return C$({modelId:v.modelId,config:v.config})}static[S$](v){return new $(v.modelId,v.config)}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){var v,w,D;return(D=(w=(v=this.config).supportedUrls)==null?void 0:w.call(v))!=null?D:{}}async getArgs({prompt:v,maxOutputTokens:w,temperature:D,topP:U,topK:z,frequencyPenalty:J,presencePenalty:G,stopSequences:W,responseFormat:Y,seed:Q,providerOptions:N,tools:L,toolChoice:q}){var M,C;let y=[];Iw({rawName:this.providerOptionsName,providerOptions:N,warnings:y});let d=Object.assign((M=await l$({provider:this.providerOptionsName,providerOptions:N,schema:YQ}))!=null?M:{},(C=await l$({provider:o6(this.providerOptionsName),providerOptions:N,schema:YQ}))!=null?C:{});if(z!=null)y.push({type:"unsupported",feature:"topK"});if(L==null?void 0:L.length)y.push({type:"unsupported",feature:"tools"});if(q!=null)y.push({type:"unsupported",feature:"toolChoice"});if(Y!=null&&Y.type!=="text")y.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:g,stopSequences:t}=qI({prompt:v}),u=[...t!=null?t:[],...W!=null?W:[]];return{args:{model:this.modelId,echo:d.echo,logit_bias:d.logitBias,suffix:d.suffix,user:d.user,max_tokens:w,temperature:D,top_p:U,frequency_penalty:J,presence_penalty:G,seed:Q,...N==null?void 0:N[this.providerOptionsName],...N==null?void 0:N[o6(this.providerOptionsName)],prompt:g,stop:u.length>0?u:void 0},warnings:y}}async doGenerate(v){var w,D;let{args:U,warnings:z}=await this.getArgs(v),{responseHeaders:J,value:G,rawValue:W}=await Y$({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:W$((D=(w=this.config).headers)==null?void 0:D.call(w),v.headers),body:U,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:w$(HI),abortSignal:v.abortSignal,fetch:this.config.fetch}),Y=G.choices[0],Q=[];if(Y.text!=null&&Y.text.length>0)Q.push({type:"text",text:Y.text});return{content:Q,usage:JQ(G.usage),finishReason:{unified:GQ(Y.finish_reason),raw:Y.finish_reason},request:{body:U},response:{...XQ(G),headers:J,body:W},warnings:z}}async doStream(v){var w,D;let{args:U,warnings:z}=await this.getArgs(v),J={...U,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},{responseHeaders:G,value:W}=await Y$({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:W$((D=(w=this.config).headers)==null?void 0:D.call(w),v.headers),body:J,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:h4(this.chunkSchema),abortSignal:v.abortSignal,fetch:this.config.fetch}),Y={unified:"other",raw:void 0},Q=void 0,N=!0;return{stream:W.pipeThrough(new TransformStream({start(L){L.enqueue({type:"stream-start",warnings:z})},transform(L,q){var M;if(v.includeRawChunks)q.enqueue({type:"raw",rawValue:L.rawValue});if(!L.success){Y={unified:"error",raw:void 0},q.enqueue({type:"error",error:L.error});return}let C=L.value;if("error"in C){Y={unified:"error",raw:void 0},q.enqueue({type:"error",error:C.error});return}if(N)N=!1,q.enqueue({type:"response-metadata",...XQ(C)}),q.enqueue({type:"text-start",id:"0"});if(C.usage!=null)Q=C.usage;let y=C.choices[0];if((y==null?void 0:y.finish_reason)!=null)Y={unified:GQ(y.finish_reason),raw:(M=y.finish_reason)!=null?M:void 0};if((y==null?void 0:y.text)!=null)q.enqueue({type:"text-delta",id:"0",delta:y.text})},flush(L){if(!N)L.enqueue({type:"text-end",id:"0"});L.enqueue({type:"finish",finishReason:Y,usage:JQ(Q)})}})),request:{body:J},response:{headers:G}}}},LQ=X.object({prompt_tokens:X.number(),completion_tokens:X.number(),total_tokens:X.number()}),HI=X.object({id:X.string().nullish(),created:X.number().nullish(),model:X.string().nullish(),choices:X.array(X.object({text:X.string(),finish_reason:X.string()})),usage:LQ.nullish()}),VI=($)=>X.union([X.object({id:X.string().nullish(),created:X.number().nullish(),model:X.string().nullish(),choices:X.array(X.object({text:X.string(),finish_reason:X.string().nullish(),index:X.number()})),usage:LQ.nullish()}),$]),uG=X.object({dimensions:X.number().optional(),user:X.string().optional()}),jI=class ${constructor(v,w){this.specificationVersion="v4",this.modelId=v,this.config=w}get provider(){return this.config.provider}get maxEmbeddingsPerCall(){var v;return(v=this.config.maxEmbeddingsPerCall)!=null?v:2048}get supportsParallelCalls(){var v;return(v=this.config.supportsParallelCalls)!=null?v:!0}static[M$](v){return C$({modelId:v.modelId,config:v.config})}static[S$](v){return new $(v.modelId,v.config)}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}async doEmbed({values:v,headers:w,abortSignal:D,providerOptions:U}){var z,J,G,W,Y;let Q=[],N=await l$({provider:"openai-compatible",providerOptions:U,schema:uG});if(N!=null)Q.push({type:"deprecated",setting:"providerOptions key 'openai-compatible'",message:"Use 'openaiCompatible' instead."});Iw({rawName:this.providerOptionsName,providerOptions:U,warnings:Q});let L=Object.assign(N!=null?N:{},(z=await l$({provider:"openaiCompatible",providerOptions:U,schema:uG}))!=null?z:{},(J=await l$({provider:this.providerOptionsName,providerOptions:U,schema:uG}))!=null?J:{});if(v.length>this.maxEmbeddingsPerCall)throw new N9({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:v});let{responseHeaders:q,value:M,rawValue:C}=await Y$({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:W$((W=(G=this.config).headers)==null?void 0:W.call(G),w),body:{model:this.modelId,input:v,encoding_format:"float",dimensions:L.dimensions,user:L.user},failedResponseHandler:$$((Y=this.config.errorStructure)!=null?Y:tv),successfulResponseHandler:w$(KI),abortSignal:D,fetch:this.config.fetch});return{warnings:Q,embeddings:M.data.map((y)=>y.embedding),usage:M.usage?{tokens:M.usage.prompt_tokens}:void 0,providerMetadata:M.providerMetadata,response:{headers:q,body:C}}}},KI=X.object({data:X.array(X.object({embedding:X.array(X.number())})),usage:X.object({prompt_tokens:X.number()}).nullish(),providerMetadata:X.record(X.string(),X.record(X.string(),X.any())).optional()}),BI=class ${constructor(v,w){this.modelId=v,this.config=w,this.specificationVersion="v4",this.maxImagesPerCall=10}get provider(){return this.config.provider}get providerOptionsKey(){return this.config.provider.split(".")[0].trim()}static[M$](v){return C$({modelId:v.modelId,config:v.config})}static[S$](v){return new $(v.modelId,v.config)}getArgs(v,w){return Iw({rawName:this.providerOptionsKey,providerOptions:v,warnings:w}),{...v[this.providerOptionsKey],...v[o6(this.providerOptionsKey)]}}async doGenerate({prompt:v,n:w,size:D,aspectRatio:U,seed:z,providerOptions:J,headers:G,abortSignal:W,files:Y,mask:Q}){var N,L,q,M,C,y,d,g,t;let u=[];if(U!=null)u.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(z!=null)u.push({type:"unsupported",feature:"seed"});let j=(q=(L=(N=this.config._internal)==null?void 0:N.currentDate)==null?void 0:L.call(N))!=null?q:new Date,R=this.getArgs(J,u);if(Y!=null&&Y.length>0){let{value:P,responseHeaders:f}=await e9({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:W$((C=(M=this.config).headers)==null?void 0:C.call(M),G),formData:k9({model:this.modelId,prompt:v,image:await Promise.all(Y.map((m)=>QQ(m))),mask:Q!=null?await QQ(Q):void 0,n:w,size:D,...R}),failedResponseHandler:$$((y=this.config.errorStructure)!=null?y:tv),successfulResponseHandler:w$(WQ),abortSignal:W,fetch:this.config.fetch});return{images:P.data.map((m)=>m.b64_json),warnings:u,response:{timestamp:j,modelId:this.modelId,headers:f}}}let{value:F,responseHeaders:H}=await Y$({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:W$((g=(d=this.config).headers)==null?void 0:g.call(d),G),body:{model:this.modelId,prompt:v,n:w,size:D,...R,response_format:"b64_json"},failedResponseHandler:$$((t=this.config.errorStructure)!=null?t:tv),successfulResponseHandler:w$(WQ),abortSignal:W,fetch:this.config.fetch});return{images:F.data.map((P)=>P.b64_json),warnings:u,response:{timestamp:j,modelId:this.modelId,headers:H}}}},WQ=X.object({data:X.array(X.object({b64_json:X.string()}))});async function QQ($){if($.type==="url")return c9($.url);let v=$.data instanceof Uint8Array?$.data:n$($.data);return new Blob([v],{type:$.mediaType})}var AI="3.0.7";function OQ($){let v=qw($.baseURL),w=$.name,D={...$.apiKey&&{Authorization:`Bearer ${$.apiKey}`},...$.headers},U=()=>k$(D,`ai-sdk/openai-compatible/${AI}`),z=(L)=>({provider:`${w}.${L}`,url:({path:q})=>{let M=new URL(`${v}${q}`);if($.queryParams)M.search=new URLSearchParams($.queryParams).toString();return M.toString()},headers:U,fetch:$.fetch}),J=(L)=>G(L),G=(L)=>new QI(L,{...z("chat"),includeUsage:$.includeUsage,supportsStructuredOutputs:$.supportsStructuredOutputs,supportedUrls:$.supportedUrls,transformRequestBody:$.transformRequestBody,metadataExtractor:$.metadataExtractor,convertUsage:$.convertUsage}),W=(L)=>new II(L,{...z("completion"),includeUsage:$.includeUsage}),Y=(L)=>new jI(L,{...z("embedding")}),Q=(L)=>new BI(L,z("image")),N=(L)=>J(L);return N.specificationVersion="v4",N.languageModel=J,N.chatModel=G,N.completionModel=W,N.embeddingModel=Y,N.textEmbeddingModel=Y,N.imageModel=Q,N}var oN=YU($8(),1),tN=YU($8(),1),JV="ai-gateway-realtime.v1",XV="ai-gateway-auth.",GV="ai-gateway-team.";function YV($,v){let w=[JV,`${XV}${$}`];if(v==null?void 0:v.teamIdOrSlug)w.push(`${GV}${WV(v.teamIdOrSlug)}`);return w}function WV($){let v=new TextEncoder().encode($),w="";for(let D of v)w+=String.fromCharCode(D);return btoa(w).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}var QV="vercel.ai.gateway.error",v8=Symbol.for(QV),UN,wN,q$=class $ extends(wN=Error,UN=v8,wN){constructor({message:v,statusCode:w=500,cause:D,generationId:U,isRetryable:z=w!=null&&(w===408||w===409||w===429||w>=500)}){super(U?`${v} [${U}]`:v);this[UN]=!0,this.statusCode=w,this.cause=D,this.generationId=U,this.isRetryable=z}static isInstance(v){return $.hasMarker(v)}static hasMarker(v){return typeof v==="object"&&v!==null&&v8 in v&&v[v8]===!0}},yN="GatewayAuthenticationError",NV=`vercel.ai.gateway.error.${yN}`,DN=Symbol.for(NV),zN,JN,w8=class $ extends(JN=q$,zN=DN,JN){constructor({message:v="Authentication failed",statusCode:w=401,cause:D,generationId:U}={}){super({message:v,statusCode:w,cause:D,generationId:U});this[zN]=!0,this.name=yN,this.type="authentication_error"}static isInstance(v){return q$.hasMarker(v)&&DN in v}static createContextualError({apiKeyProvided:v,oidcTokenProvided:w,statusCode:D=401,cause:U,generationId:z}){let J;if(v)J=`AI Gateway authentication failed: Invalid API key or token. + +Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys + +Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`;else if(w)J=`AI Gateway authentication failed: Invalid OIDC token. + +Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token. + +Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys +or pass a Vercel access token via the 'apiKey' option.`;else J=`AI Gateway authentication failed: No authentication provided. + +Option 1 - API key: +Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys +Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable. + +Option 2 - Vercel access token: +Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option. + +Option 3 - OIDC token: +Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new $({message:J,statusCode:D,cause:U,generationId:z})}},iN="GatewayInvalidRequestError",LV=`vercel.ai.gateway.error.${iN}`,XN=Symbol.for(LV),GN,YN,OV=class extends(YN=q$,GN=XN,YN){constructor({message:$="Invalid request",statusCode:v=400,cause:w,generationId:D}={}){super({message:$,statusCode:v,cause:w,generationId:D});this[GN]=!0,this.name=iN,this.type="invalid_request_error"}static isInstance($){return q$.hasMarker($)&&XN in $}},hN="GatewayRateLimitError",qV=`vercel.ai.gateway.error.${hN}`,WN=Symbol.for(qV),QN,NN,IV=class extends(NN=q$,QN=WN,NN){constructor({message:$="Rate limit exceeded",statusCode:v=429,cause:w,generationId:D}={}){super({message:$,statusCode:v,cause:w,generationId:D});this[QN]=!0,this.name=hN,this.type="rate_limit_exceeded"}static isInstance($){return q$.hasMarker($)&&WN in $}},cN="GatewayModelNotFoundError",HV=`vercel.ai.gateway.error.${cN}`,LN=Symbol.for(HV),VV=v$(()=>e(X.object({modelId:X.string()}))),ON,qN,jV=class extends(qN=q$,ON=LN,qN){constructor({message:$="Model not found",statusCode:v=404,modelId:w,cause:D,generationId:U}={}){super({message:$,statusCode:v,cause:D,generationId:U});this[ON]=!0,this.name=cN,this.type="model_not_found",this.modelId=w}static isInstance($){return q$.hasMarker($)&&LN in $}},mN="GatewayInternalServerError",KV=`vercel.ai.gateway.error.${mN}`,IN=Symbol.for(KV),HN,VN,jN=class extends(VN=q$,HN=IN,VN){constructor({message:$="Internal server error",statusCode:v=500,cause:w,generationId:D}={}){super({message:$,statusCode:v,cause:w,generationId:D});this[HN]=!0,this.name=mN,this.type="internal_server_error"}static isInstance($){return q$.hasMarker($)&&IN in $}},nN="GatewayFailedDependencyError",BV=`vercel.ai.gateway.error.${nN}`,KN=Symbol.for(BV),BN,AN,AV=class extends(AN=q$,BN=KN,AN){constructor({message:$="Failed dependency",statusCode:v=424,cause:w,generationId:D}={}){super({message:$,statusCode:v,cause:w,generationId:D});this[BN]=!0,this.name=nN,this.type="failed_dependency"}static isInstance($){return q$.hasMarker($)&&KN in $}},lN="GatewayForbiddenError",EV=`vercel.ai.gateway.error.${lN}`,EN=Symbol.for(EV),bV=v$(()=>e(X.object({ruleId:X.string()}))),bN,FN,FV=class extends(FN=q$,bN=EN,FN){constructor({message:$="Forbidden",statusCode:v=403,cause:w,generationId:D,ruleId:U}={}){super({message:$,statusCode:v,cause:w,generationId:D});this[bN]=!0,this.name=lN,this.type="forbidden",this.ruleId=U}static isInstance($){return q$.hasMarker($)&&EN in $}},rN="GatewayResponseError",RV=`vercel.ai.gateway.error.${rN}`,RN=Symbol.for(RV),MN,SN,MV=class extends(SN=q$,MN=RN,SN){constructor({message:$="Invalid response from Gateway",statusCode:v=502,response:w,validationError:D,cause:U,generationId:z}={}){super({message:$,statusCode:v,cause:U,generationId:z});this[MN]=!0,this.name=rN,this.type="response_error",this.response=w,this.validationError=D}static isInstance($){return q$.hasMarker($)&&RN in $}};async function PN({response:$,statusCode:v,defaultMessage:w="Gateway request failed",cause:D,authMethod:U}){var z;let J=await i$({value:$,schema:SV});if(!J.success){let N=typeof $==="object"&&$!==null&&"generationId"in $?$.generationId:void 0;return new MV({message:`Invalid error response format: ${w}`,statusCode:v,response:$,validationError:J.error,cause:D,generationId:N})}let G=J.value,W=G.error.type,Y=G.error.message,Q=(z=G.generationId)!=null?z:void 0;switch(W){case"authentication_error":return w8.createContextualError({apiKeyProvided:U==="api-key",oidcTokenProvided:U==="oidc",statusCode:v,cause:D,generationId:Q});case"invalid_request_error":return new OV({message:Y,statusCode:v,cause:D,generationId:Q});case"rate_limit_exceeded":return new IV({message:Y,statusCode:v,cause:D,generationId:Q});case"model_not_found":{let N=await i$({value:G.error.param,schema:VV});return new jV({message:Y,statusCode:v,modelId:N.success?N.value.modelId:void 0,cause:D,generationId:Q})}case"internal_server_error":return new jN({message:Y,statusCode:v,cause:D,generationId:Q});case"failed_dependency":return new AV({message:Y,statusCode:v,cause:D,generationId:Q});case"forbidden":{let N=await i$({value:G.error.param,schema:bV});return new FV({message:Y,statusCode:v,cause:D,generationId:Q,ruleId:N.success?N.value.ruleId:void 0})}default:return new jN({message:Y,statusCode:v,cause:D,generationId:Q})}}var SV=v$(()=>e(X.object({error:X.object({message:X.string(),type:X.string().nullish(),param:X.unknown().nullish(),code:X.union([X.string(),X.number()]).nullish()}),generationId:X.string().nullish()})));function PV($){if($.data!==void 0)return $.data;if($.responseBody!=null)try{return Qw($.responseBody)}catch(v){return $.responseBody}return{}}var dN="GatewayTimeoutError",gV=`vercel.ai.gateway.error.${dN}`,gN=Symbol.for(gV),_N,TN,kN=class $ extends(TN=q$,_N=gN,TN){constructor({message:v="Request timed out",statusCode:w=408,cause:D,generationId:U}={}){super({message:v,statusCode:w,cause:D,generationId:U});this[_N]=!0,this.name=dN,this.type="timeout_error"}static isInstance(v){return q$.hasMarker(v)&&gN in v}static createTimeoutError({originalMessage:v,statusCode:w=408,cause:D,generationId:U}){let z=`Gateway request timed out: ${v} + + This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;return new $({message:z,statusCode:w,cause:D,generationId:U})}};function CN($){if(!($ instanceof Error))return!1;let v=$.code;if(typeof v==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(v);return!1}async function j$($,v){var w;if(q$.isInstance($))return $;if(CN($))return kN.createTimeoutError({originalMessage:$ instanceof Error?$.message:"Unknown error",cause:$});if(D$.isInstance($)){if($.cause&&CN($.cause))return kN.createTimeoutError({originalMessage:$.message,cause:$});return await PN({response:PV($),statusCode:(w=$.statusCode)!=null?w:500,defaultMessage:"Gateway request failed",cause:$,authMethod:v})}return await PN({response:{},statusCode:500,defaultMessage:$ instanceof Error?`Gateway request failed: ${$.message}`:"Unknown Gateway error",cause:$,authMethod:v})}var pN="ai-gateway-auth-method",_V="x-vercel-ai-gateway-team";async function h$($){let v=await i$({value:$[pN],schema:TV});return v.success?v.value:void 0}var TV=v$(()=>e(X.union([X.literal("api-key"),X.literal("oidc")]))),kV=["embedding","image","language","realtime","reranking","speech","transcription","video"],ZN=class{constructor($){this.config=$}async getAvailableModels(){try{let{value:$}=await p6({url:`${this.config.baseURL}/config`,headers:this.config.headers?await s(this.config.headers):void 0,successfulResponseHandler:w$(CV),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(v)=>v}),fetch:this.config.fetch});return $}catch($){throw await j$($)}}async getCredits(){try{let $=new URL(this.config.baseURL),{value:v}=await p6({url:`${$.origin}/v1/credits`,headers:this.config.headers?await s(this.config.headers):void 0,successfulResponseHandler:w$(ZV),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(w)=>w}),fetch:this.config.fetch});return v}catch($){throw await j$($)}}},CV=v$(()=>e(X.object({models:X.array(X.object({id:X.string(),name:X.string(),description:X.string().nullish(),pricing:X.object({input:X.string(),output:X.string(),input_cache_read:X.string().nullish(),input_cache_write:X.string().nullish()}).transform(({input:$,output:v,input_cache_read:w,input_cache_write:D})=>({input:$,output:v,...w?{cachedInputTokens:w}:{},...D?{cacheCreationInputTokens:D}:{}})).nullish(),specification:X.object({specificationVersion:X.literal("v4"),provider:X.string(),modelId:X.string()}),modelType:X.string().nullish()})).transform(($)=>$.filter((v)=>v.modelType==null||kV.includes(v.modelType)))}))),ZV=v$(()=>e(X.object({balance:X.string(),total_used:X.string()}).transform(({balance:$,total_used:v})=>({balance:$,totalUsed:v})))),xV=class{constructor($){this.config=$}async getSpendReport($){try{let v=new URL(this.config.baseURL),w=new URLSearchParams;if(w.set("start_date",$.startDate),w.set("end_date",$.endDate),$.groupBy)w.set("group_by",$.groupBy);if($.datePart)w.set("date_part",$.datePart);if($.userId)w.set("user_id",$.userId);if($.model)w.set("model",$.model);if($.provider)w.set("provider",$.provider);if($.credentialType)w.set("credential_type",$.credentialType);if($.tags&&$.tags.length>0)w.set("tags",$.tags.join(","));let{value:D}=await p6({url:`${v.origin}/v1/report?${w.toString()}`,headers:this.config.headers?await s(this.config.headers):void 0,successfulResponseHandler:w$(fV),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(U)=>U}),fetch:this.config.fetch});return D}catch(v){throw await j$(v)}}},fV=v$(()=>e(X.object({results:X.array(X.object({day:X.string().optional(),hour:X.string().optional(),user:X.string().optional(),model:X.string().optional(),tag:X.string().optional(),provider:X.string().optional(),credential_type:X.enum(["byok","system"]).optional(),total_cost:X.number(),market_cost:X.number().optional(),input_tokens:X.number().optional(),output_tokens:X.number().optional(),cached_input_tokens:X.number().optional(),cache_creation_input_tokens:X.number().optional(),reasoning_tokens:X.number().optional(),request_count:X.number().optional()}).transform(({credential_type:$,total_cost:v,market_cost:w,input_tokens:D,output_tokens:U,cached_input_tokens:z,cache_creation_input_tokens:J,reasoning_tokens:G,request_count:W,...Y})=>({...Y,...$!==void 0?{credentialType:$}:{},totalCost:v,...w!==void 0?{marketCost:w}:{},...D!==void 0?{inputTokens:D}:{},...U!==void 0?{outputTokens:U}:{},...z!==void 0?{cachedInputTokens:z}:{},...J!==void 0?{cacheCreationInputTokens:J}:{},...G!==void 0?{reasoningTokens:G}:{},...W!==void 0?{requestCount:W}:{}})))}))),uV=class{constructor($){this.config=$}async getGenerationInfo($){try{let v=new URL(this.config.baseURL),{value:w}=await p6({url:`${v.origin}/v1/generation?id=${encodeURIComponent($.id)}`,headers:this.config.headers?await s(this.config.headers):void 0,successfulResponseHandler:w$(yV),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(D)=>D}),fetch:this.config.fetch});return w}catch(v){throw await j$(v)}}},yV=v$(()=>e(X.object({data:X.object({id:X.string(),total_cost:X.number(),upstream_inference_cost:X.number(),usage:X.number(),created_at:X.string(),model:X.string(),is_byok:X.boolean(),provider_name:X.string(),streamed:X.boolean(),finish_reason:X.string(),latency:X.number(),generation_time:X.number(),native_tokens_prompt:X.number(),native_tokens_completion:X.number(),native_tokens_reasoning:X.number(),native_tokens_cached:X.number(),native_tokens_cache_creation:X.number(),billable_web_search_calls:X.number()}).transform(({total_cost:$,upstream_inference_cost:v,created_at:w,is_byok:D,provider_name:U,finish_reason:z,generation_time:J,native_tokens_prompt:G,native_tokens_completion:W,native_tokens_reasoning:Y,native_tokens_cached:Q,native_tokens_cache_creation:N,billable_web_search_calls:L,...q})=>({...q,totalCost:$,upstreamInferenceCost:v,createdAt:w,isByok:D,providerName:U,finishReason:z,generationTime:J,promptTokens:G,completionTokens:W,reasoningTokens:Y,cachedTokens:Q,cacheCreationTokens:N,billableWebSearchCalls:L}))}).transform(({data:$})=>$))),iV=class ${constructor(v,w){this.modelId=v,this.config=w,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[M$](v){return C$({modelId:v.modelId,config:v.config})}static[S$](v){return new $(v.modelId,v.config)}get provider(){return this.config.provider}async getArgs(v){let{abortSignal:w,...D}=v;return{args:this.maybeEncodeFileParts(D),warnings:[]}}async doGenerate(v){let{args:w,warnings:D}=await this.getArgs(v),{abortSignal:U}=v,z=this.config.headers?await s(this.config.headers):void 0;try{let{responseHeaders:J,value:G,rawValue:W}=await Y$({url:this.getUrl(),headers:W$(z,v.headers,this.getModelConfigHeaders(this.modelId,!1),await s(this.config.o11yHeaders)),body:w,successfulResponseHandler:w$(X.any()),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(Y)=>Y}),...U&&{abortSignal:U},fetch:this.config.fetch});return{...G,request:{body:w},response:{headers:J,body:W},warnings:D}}catch(J){throw await j$(J,await h$(z!=null?z:{}))}}async doStream(v){let{args:w,warnings:D}=await this.getArgs(v),{abortSignal:U}=v,z=this.config.headers?await s(this.config.headers):void 0;try{let{value:J,responseHeaders:G}=await Y$({url:this.getUrl(),headers:W$(z,v.headers,this.getModelConfigHeaders(this.modelId,!0),await s(this.config.o11yHeaders)),body:w,successfulResponseHandler:h4(X.any()),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(W)=>W}),...U&&{abortSignal:U},fetch:this.config.fetch});return{stream:J.pipeThrough(new TransformStream({start(W){if(D.length>0)W.enqueue({type:"stream-start",warnings:D})},transform(W,Y){if(W.success){let Q=W.value;if(Q.type==="raw"&&!v.includeRawChunks)return;if(Q.type==="response-metadata"&&Q.timestamp&&typeof Q.timestamp==="string")Q.timestamp=new Date(Q.timestamp);Y.enqueue(Q)}else Y.error(W.error)}})),request:{body:w},response:{headers:G}}}catch(J){throw await j$(J,await h$(z!=null?z:{}))}}maybeEncodeFileParts(v){for(let w of v.prompt){if(!Array.isArray(w.content))continue;for(let D of w.content)if(D.type==="file"||D.type==="reasoning-file")D.data=xN(D.data);else if(D.type==="tool-result"&&D.output.type==="content"){for(let U of D.output.value)if(U.type==="file")U.data=xN(U.data)}}return v}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(v,w){return{"ai-language-model-specification-version":"4","ai-language-model-id":v,"ai-language-model-streaming":String(w)}}};function xN($){if($.type==="data"){let v=$.data;if(v instanceof Uint8Array)return{...$,data:Buffer.from(v).toString("base64")}}return $}var hV=class ${constructor(v,w){this.modelId=v,this.config=w,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[M$](v){return C$({modelId:v.modelId,config:v.config})}static[S$](v){return new $(v.modelId,v.config)}get provider(){return this.config.provider}async doEmbed({values:v,headers:w,abortSignal:D,providerOptions:U}){var z,J;let G=this.config.headers?await s(this.config.headers):void 0;try{let{responseHeaders:W,value:Y,rawValue:Q}=await Y$({url:this.getUrl(),headers:W$(G,w!=null?w:{},this.getModelConfigHeaders(),await s(this.config.o11yHeaders)),body:{values:v,...U?{providerOptions:U}:{}},successfulResponseHandler:w$(mV),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(N)=>N}),...D&&{abortSignal:D},fetch:this.config.fetch});return{embeddings:Y.embeddings,usage:(z=Y.usage)!=null?z:void 0,providerMetadata:Y.providerMetadata,response:{headers:W,body:Q},warnings:(J=Y.warnings)!=null?J:[]}}catch(W){throw await j$(W,await h$(G!=null?G:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},cV=X.discriminatedUnion("type",[X.object({type:X.literal("unsupported"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("compatibility"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("deprecated"),setting:X.string(),message:X.string()}),X.object({type:X.literal("other"),message:X.string()})]),mV=v$(()=>e(X.object({embeddings:X.array(X.array(X.number())),usage:X.object({tokens:X.number()}).nullish(),warnings:X.array(cV).optional(),providerMetadata:X.record(X.string(),X.record(X.string(),X.unknown())).optional()}))),nV=class ${constructor(v,w){this.modelId=v,this.config=w,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[M$](v){return C$({modelId:v.modelId,config:v.config})}static[S$](v){return new $(v.modelId,v.config)}get provider(){return this.config.provider}async doGenerate({prompt:v,n:w,size:D,aspectRatio:U,seed:z,files:J,mask:G,providerOptions:W,headers:Y,abortSignal:Q}){var N,L,q,M;let C=this.config.headers?await s(this.config.headers):void 0;try{let{responseHeaders:y,value:d}=await Y$({url:this.getUrl(),headers:W$(C,Y!=null?Y:{},this.getModelConfigHeaders(),await s(this.config.o11yHeaders)),body:{prompt:v,n:w,...D&&{size:D},...U&&{aspectRatio:U},...z&&{seed:z},...W&&{providerOptions:W},...J&&{files:J.map((g)=>fN(g))},...G&&{mask:fN(G)}},successfulResponseHandler:w$(pV),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(g)=>g}),...Q&&{abortSignal:Q},fetch:this.config.fetch});return{images:d.images,warnings:(N=d.warnings)!=null?N:[],providerMetadata:d.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:y},...d.usage!=null&&{usage:{inputTokens:(L=d.usage.inputTokens)!=null?L:void 0,outputTokens:(q=d.usage.outputTokens)!=null?q:void 0,totalTokens:(M=d.usage.totalTokens)!=null?M:void 0}}}}catch(y){throw await j$(y,await h$(C!=null?C:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function fN($){if($.type==="file"&&$.data instanceof Uint8Array)return{...$,data:X6($.data)};return $}var lV=X.object({images:X.array(X.unknown()).optional()}).catchall(X.unknown()),rV=X.discriminatedUnion("type",[X.object({type:X.literal("unsupported"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("compatibility"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("deprecated"),setting:X.string(),message:X.string()}),X.object({type:X.literal("other"),message:X.string()})]),dV=X.object({inputTokens:X.number().nullish(),outputTokens:X.number().nullish(),totalTokens:X.number().nullish()}),pV=X.object({images:X.array(X.string()),warnings:X.array(rV).optional(),providerMetadata:X.record(X.string(),lV).optional(),usage:dV.optional()}),oV=class{constructor($,v){this.modelId=$,this.config=v,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:$,n:v,aspectRatio:w,resolution:D,duration:U,fps:z,seed:J,generateAudio:G,image:W,frameImages:Y,inputReferences:Q,providerOptions:N,headers:L,abortSignal:q}){var M;let C=this.config.headers?await s(this.config.headers):void 0;try{let{responseHeaders:y,value:d}=await Y$({url:this.getUrl(),headers:W$(C,L!=null?L:{},this.getModelConfigHeaders(),await s(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:$,n:v,...w&&{aspectRatio:w},...D&&{resolution:D},...U&&{duration:U},...z&&{fps:z},...J&&{seed:J},...G!==void 0&&{generateAudio:G},...N&&{providerOptions:N},...W&&{image:U8(W)},...Y&&{frameImages:Y.map((g)=>({...g,image:U8(g.image)}))},...Q&&{inputReferences:Q.map((g)=>U8(g))}},successfulResponseHandler:async({response:g,url:t,requestBodyValues:u})=>{if(g.body==null)throw new D$({message:"SSE response body is empty",url:t,requestBodyValues:u,statusCode:g.status});let R=fG({stream:g.body,schema:sV}).getReader(),{done:F,value:H}=await R.read();if(R.releaseLock(),F||!H)throw new D$({message:"SSE stream ended without a data event",url:t,requestBodyValues:u,statusCode:g.status});if(!H.success)throw new D$({message:"Failed to parse video SSE event",cause:H.error,url:t,requestBodyValues:u,statusCode:g.status});let P=H.value;if(P.type==="error")throw new D$({message:P.message,statusCode:P.statusCode,url:t,requestBodyValues:u,responseHeaders:Object.fromEntries([...g.headers]),responseBody:JSON.stringify(P),data:{error:{message:P.message,type:P.errorType,param:P.param}}});return{value:{videos:P.videos,warnings:P.warnings,providerMetadata:P.providerMetadata},responseHeaders:Object.fromEntries([...g.headers])}},failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(g)=>g}),...q&&{abortSignal:q},fetch:this.config.fetch});return{videos:d.videos,warnings:(M=d.warnings)!=null?M:[],providerMetadata:d.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:y}}}catch(y){throw await j$(y,await h$(C!=null?C:{}))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function U8($){if($.type==="file"&&$.data instanceof Uint8Array)return{...$,data:X6($.data)};return $}var tV=X.object({videos:X.array(X.unknown()).optional()}).catchall(X.unknown()),aV=X.union([X.object({type:X.literal("url"),url:X.string(),mediaType:X.string()}),X.object({type:X.literal("base64"),data:X.string(),mediaType:X.string()})]),eV=X.discriminatedUnion("type",[X.object({type:X.literal("unsupported"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("compatibility"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("deprecated"),setting:X.string(),message:X.string()}),X.object({type:X.literal("other"),message:X.string()})]),sV=X.discriminatedUnion("type",[X.object({type:X.literal("result"),videos:X.array(aV),warnings:X.array(eV).optional(),providerMetadata:X.record(X.string(),tV).optional()}),X.object({type:X.literal("error"),message:X.string(),errorType:X.string(),statusCode:X.number(),param:X.unknown().nullable()})]),$j=class{constructor($,v){this.modelId=$,this.config=v,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:$,query:v,topN:w,headers:D,abortSignal:U,providerOptions:z}){var J;let G=this.config.headers?await s(this.config.headers):void 0;try{let{responseHeaders:W,value:Y,rawValue:Q}=await Y$({url:this.getUrl(),headers:W$(G,D!=null?D:{},this.getModelConfigHeaders(),await s(this.config.o11yHeaders)),body:{documents:$,query:v,...w!=null?{topN:w}:{},...z?{providerOptions:z}:{}},successfulResponseHandler:w$(Uj),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(N)=>N}),...U&&{abortSignal:U},fetch:this.config.fetch});return{ranking:Y.ranking,providerMetadata:Y.providerMetadata,response:{headers:W,body:Q},warnings:(J=Y.warnings)!=null?J:[]}}catch(W){throw await j$(W,await h$(G!=null?G:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},vj=X.discriminatedUnion("type",[X.object({type:X.literal("unsupported"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("compatibility"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("deprecated"),setting:X.string(),message:X.string()}),X.object({type:X.literal("other"),message:X.string()})]),Uj=v$(()=>e(X.object({ranking:X.array(X.object({index:X.number(),relevanceScore:X.number()})),warnings:X.array(vj).optional(),providerMetadata:X.record(X.string(),X.record(X.string(),X.unknown())).optional()}))),wj=class{constructor($,v){this.modelId=$,this.config=v,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:$,voice:v,outputFormat:w,instructions:D,speed:U,language:z,providerOptions:J,headers:G,abortSignal:W}){var Y;let Q=this.config.headers?await s(this.config.headers):void 0;try{let{responseHeaders:N,value:L,rawValue:q}=await Y$({url:this.getUrl(),headers:W$(Q,G!=null?G:{},this.getModelConfigHeaders(),await s(this.config.o11yHeaders)),body:{text:$,...v&&{voice:v},...w&&{outputFormat:w},...D&&{instructions:D},...U!=null&&{speed:U},...z&&{language:z},...J&&{providerOptions:J}},successfulResponseHandler:w$(Jj),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(M)=>M}),...W&&{abortSignal:W},fetch:this.config.fetch});return{audio:L.audio,warnings:(Y=L.warnings)!=null?Y:[],providerMetadata:L.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:N,body:q}}}catch(N){throw await j$(N,await h$(Q!=null?Q:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},Dj=X.object({}).catchall(X.unknown()),zj=X.discriminatedUnion("type",[X.object({type:X.literal("unsupported"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("compatibility"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("deprecated"),setting:X.string(),message:X.string()}),X.object({type:X.literal("other"),message:X.string()})]),Jj=X.object({audio:X.string(),warnings:X.array(zj).optional(),providerMetadata:X.record(X.string(),Dj).optional()}),Xj=class{constructor($,v){this.modelId=$,this.config=v,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:$,mediaType:v,providerOptions:w,headers:D,abortSignal:U}){var z,J,G,W;let Y=this.config.headers?await s(this.config.headers):void 0;try{let{responseHeaders:Q,value:N,rawValue:L}=await Y$({url:this.getUrl(),headers:W$(Y,D!=null?D:{},this.getModelConfigHeaders(),await s(this.config.o11yHeaders)),body:{audio:$ instanceof Uint8Array?X6($):$,mediaType:v,...w&&{providerOptions:w}},successfulResponseHandler:w$(Wj),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(q)=>q}),...U&&{abortSignal:U},fetch:this.config.fetch});return{text:N.text,segments:(z=N.segments)!=null?z:[],language:(J=N.language)!=null?J:void 0,durationInSeconds:(G=N.durationInSeconds)!=null?G:void 0,warnings:(W=N.warnings)!=null?W:[],providerMetadata:N.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:Q,body:L}}}catch(Q){throw await j$(Q,await h$(Y!=null?Y:{}))}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}},Gj=X.object({}).catchall(X.unknown()),Yj=X.discriminatedUnion("type",[X.object({type:X.literal("unsupported"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("compatibility"),feature:X.string(),details:X.string().optional()}),X.object({type:X.literal("deprecated"),setting:X.string(),message:X.string()}),X.object({type:X.literal("other"),message:X.string()})]),Wj=X.object({text:X.string(),segments:X.array(X.object({text:X.string(),startSecond:X.number(),endSecond:X.number()})).optional(),language:X.string().nullish(),durationInSeconds:X.number().nullish(),warnings:X.array(Yj).optional(),providerMetadata:X.record(X.string(),Gj).optional()}),Qj=class{constructor($,v){this.specificationVersion="v4",this.modelId=$,this.provider=v.provider,this.config=v}async doCreateClientSecret($){let v=await this.config.createClientSecret({modelId:this.modelId,...($==null?void 0:$.expiresAfterSeconds)!=null&&{expiresAfterSeconds:$.expiresAfterSeconds}});return{token:v.token,url:Nj(this.config.baseURL,this.modelId),...v.expiresAt!=null&&{expiresAt:v.expiresAt}}}getWebSocketConfig($){return{url:$.url,protocols:YV($.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent($){return $}serializeClientEvent($){return $}buildSessionConfig($){return $}};function Nj($,v){let w=new URL(`${$.replace(/^http/,"ws")}/realtime-model`);return w.searchParams.set("ai-model-id",v),w.toString()}var Lj=v$(()=>e(X.object({query:X.string().describe("Natural-language web search query. This is required."),type:X.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:X.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:X.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:X.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:X.array(X.string()).optional().describe("Only return results from these domains."),exclude_domains:X.array(X.string()).optional().describe("Exclude results from these domains."),start_published_date:X.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:X.string().optional().describe("Only return links published before this ISO 8601 date."),contents:X.object({text:X.union([X.boolean(),X.object({max_characters:X.number().optional(),include_html_tags:X.boolean().optional(),verbosity:X.enum(["compact","standard","full"]).optional(),include_sections:X.array(X.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:X.array(X.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:X.union([X.boolean(),X.object({query:X.string().optional(),max_characters:X.number().optional()})]).optional(),max_age_hours:X.number().optional(),livecrawl_timeout:X.number().optional(),subpages:X.number().optional(),subpage_target:X.union([X.string(),X.array(X.string())]).optional(),extras:X.object({links:X.number().optional(),image_links:X.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),Oj=v$(()=>e(X.union([X.object({requestId:X.string(),searchType:X.string().optional(),resolvedSearchType:X.string().optional(),results:X.array(X.object({title:X.string(),url:X.string(),id:X.string(),publishedDate:X.string().nullable().optional(),author:X.string().nullable().optional(),image:X.string().nullable().optional(),favicon:X.string().nullable().optional(),text:X.string().optional(),highlights:X.array(X.string()).optional(),highlightScores:X.array(X.number()).optional(),summary:X.string().optional(),subpages:X.array(X.any()).optional(),extras:X.object({links:X.array(X.string()).optional(),imageLinks:X.array(X.string()).optional()}).optional()})),costDollars:X.object({total:X.number().optional(),search:X.record(X.string(),X.number()).optional()}).optional()}),X.object({error:X.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:X.number().optional(),message:X.string()})]))),qj=i4({id:"gateway.exa_search",inputSchema:Lj,outputSchema:Oj}),Ij=($={})=>qj($),Hj=v$(()=>e(X.object({objective:X.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:X.array(X.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:X.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:X.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:X.object({include_domains:X.array(X.string()).optional().describe("Limit results to these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:X.array(X.string()).optional().describe("Exclude results from these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:X.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:X.object({max_chars_per_result:X.number().optional().describe("Maximum characters per result."),max_chars_total:X.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:X.object({max_age_seconds:X.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),Vj=v$(()=>e(X.union([X.object({searchId:X.string(),results:X.array(X.object({url:X.string(),title:X.string(),excerpt:X.string(),publishDate:X.string().nullable().optional(),relevanceScore:X.number().optional()}))}),X.object({error:X.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:X.number().optional(),message:X.string()})]))),jj=i4({id:"gateway.parallel_search",inputSchema:Hj,outputSchema:Vj}),Kj=($={})=>jj($),Bj=v$(()=>e(X.object({query:X.union([X.string(),X.array(X.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:X.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:X.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:X.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:X.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:X.array(X.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:X.array(X.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:X.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:X.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:X.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:X.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:X.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),Aj=v$(()=>e(X.union([X.object({results:X.array(X.object({title:X.string(),url:X.string(),snippet:X.string(),date:X.string().optional(),lastUpdated:X.string().optional()})),id:X.string()}),X.object({error:X.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:X.number().optional(),message:X.string()})]))),Ej=i4({id:"gateway.perplexity_search",inputSchema:Bj,outputSchema:Aj}),bj=($={})=>Ej($),Fj={exaSearch:Ij,parallelSearch:Kj,perplexitySearch:bj};async function Rj(){var $;return($=oN.getContext().headers)==null?void 0:$["x-vercel-id"]}var Mj="4.0.16",Sj="0.0.1",Pj=X.object({token:X.string(),expiresAt:X.number().nullish()});function gj($={}){var v,w;let D=null,U=null,z=(v=$.metadataCacheRefreshMillis)!=null?v:300000,J=0,G=(w=qw($.baseURL))!=null?w:"https://ai-gateway.vercel.sh/v4/ai",W=(H)=>k$({Authorization:`Bearer ${H.token}`,"ai-gateway-protocol-version":Sj,[pN]:H.authMethod,...$.teamIdOrSlug!=null?{[_V]:$.teamIdOrSlug}:{},...$.headers},`ai-sdk/gateway/${Mj}`),Y=async()=>{try{return W(await uN($))}catch(H){throw w8.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:H})}},Q=async()=>{try{return await uN($)}catch(H){throw w8.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:H})}},N=async(H)=>{_j();let P=await Q(),f=W(P),m=new URL("/v1/realtime/client-secrets",G).toString();try{let{value:n}=await Y$({url:m,headers:f,body:{model:H.modelId,...H.expiresAfterSeconds!=null&&{expiresIn:H.expiresAfterSeconds}},successfulResponseHandler:w$(Pj),failedResponseHandler:$$({errorSchema:X.any(),errorToMessage:(Q$)=>Q$}),fetch:$.fetch});return{token:n.token,...n.expiresAt!=null&&{expiresAt:n.expiresAt}}}catch(n){throw await j$(n,await h$(f))}},L=()=>{let H=y4({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),P=y4({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),f=y4({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),m=y4({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let n=await Rj();return{...H&&{"ai-o11y-deployment-id":H},...P&&{"ai-o11y-environment":P},...f&&{"ai-o11y-region":f},...n&&{"ai-o11y-request-id":n},...m&&{"ai-o11y-project-id":m}}}},q=(H)=>{return new iV(H,{provider:"gateway",baseURL:G,headers:Y,fetch:$.fetch,o11yHeaders:L()})},M=async()=>{var H,P,f;let m=(f=(P=(H=$._internal)==null?void 0:H.currentDate)==null?void 0:P.call(H).getTime())!=null?f:Date.now();if(!D||m-J>z)J=m,D=new ZN({baseURL:G,headers:Y,fetch:$.fetch}).getAvailableModels().then((n)=>{return U=n,n}).catch(async(n)=>{throw await j$(n,await h$(await Y()))});return U?Promise.resolve(U):D},C=async()=>{return new ZN({baseURL:G,headers:Y,fetch:$.fetch}).getCredits().catch(async(H)=>{throw await j$(H,await h$(await Y()))})},y=async(H)=>{return new xV({baseURL:G,headers:Y,fetch:$.fetch}).getSpendReport(H).catch(async(P)=>{throw await j$(P,await h$(await Y()))})},d=async(H)=>{return new uV({baseURL:G,headers:Y,fetch:$.fetch}).getGenerationInfo(H).catch(async(P)=>{throw await j$(P,await h$(await Y()))})},g=function(H){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return q(H)};g.specificationVersion="v4",g.getAvailableModels=M,g.getCredits=C,g.getSpendReport=y,g.getGenerationInfo=d,g.imageModel=(H)=>{return new nV(H,{provider:"gateway",baseURL:G,headers:Y,fetch:$.fetch,o11yHeaders:L()})},g.languageModel=q;let t=(H)=>{return new hV(H,{provider:"gateway",baseURL:G,headers:Y,fetch:$.fetch,o11yHeaders:L()})};g.embeddingModel=t,g.textEmbeddingModel=t,g.videoModel=(H)=>{return new oV(H,{provider:"gateway",baseURL:G,headers:Y,fetch:$.fetch,o11yHeaders:L()})};let u=(H)=>{return new $j(H,{provider:"gateway",baseURL:G,headers:Y,fetch:$.fetch,o11yHeaders:L()})};g.rerankingModel=u,g.reranking=u;let j=(H)=>{return new wj(H,{provider:"gateway",baseURL:G,headers:Y,fetch:$.fetch,o11yHeaders:L()})};g.speechModel=j,g.speech=j;let R=(H)=>{return new Xj(H,{provider:"gateway",baseURL:G,headers:Y,fetch:$.fetch,o11yHeaders:L()})};g.transcriptionModel=R,g.transcription=R;let F=(H)=>new Qj(H,{provider:"gateway.realtime",baseURL:G,teamIdOrSlug:$.teamIdOrSlug,createClientSecret:N});return g.experimental_realtime=Object.assign((H)=>F(H),{getToken:async(H)=>{let{model:P,...f}=H,n=await F(P).doCreateClientSecret(f);return{token:n.token,url:n.url,...n.expiresAt!=null&&{expiresAt:n.expiresAt}}}}),g.chat=g.languageModel,g.embedding=g.embeddingModel,g.image=g.imageModel,g.video=g.videoModel,g.tools=Fj,g}var aN=gj();async function uN($){let v=y4({settingValue:$.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(v)return{token:v,authMethod:"api-key"};return{token:await tN.getVercelOidcToken(),authMethod:"oidc"}}function _j(){if(typeof globalThis.window<"u")throw Error("AI Gateway realtime client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() from your server and pass the returned token to the client.")}var Cj=Object.defineProperty,Zj=($,v)=>{for(var w in v)Cj($,w,{get:v[w],enumerable:!0})},U2="AI_InvalidArgumentError",w2=`vercel.ai.error.${U2}`,xj=Symbol.for(w2),D2,eN=class extends h{constructor({parameter:$,value:v,message:w}){super({name:U2,message:`Invalid argument for parameter ${$}: ${w}`});this[D2]=!0,this.parameter=$,this.value=v}static isInstance($){return h.hasMarker($,w2)}};D2=xj;var fj="AI_InvalidStreamPartError",uj=`vercel.ai.error.${fj}`,yj=Symbol.for(uj),ij;ij=yj;var hj="AI_InvalidToolApprovalError",cj=`vercel.ai.error.${hj}`,mj=Symbol.for(cj),nj;nj=mj;var lj="AI_InvalidToolApprovalSignatureError",rj=`vercel.ai.error.${lj}`,dj=Symbol.for(rj),pj;pj=dj;var oj="AI_InvalidToolInputError",tj=`vercel.ai.error.${oj}`,aj=Symbol.for(tj),ej;ej=aj;var sj="AI_ToolCallNotFoundForApprovalError",$K=`vercel.ai.error.${sj}`,vK=Symbol.for($K),UK;UK=vK;var wK="AI_MissingToolResultsError",DK=`vercel.ai.error.${wK}`,zK=Symbol.for(DK),JK;JK=zK;var z2="AI_NoImageGeneratedError",J2=`vercel.ai.error.${z2}`,XK=Symbol.for(J2),X2,GK=class extends h{constructor({message:$="No image generated.",cause:v,responses:w}){super({name:z2,message:$,cause:v});this[X2]=!0,this.responses=w}static isInstance($){return h.hasMarker($,J2)}};X2=XK;var G2="AI_NoObjectGeneratedError",Y2=`vercel.ai.error.${G2}`,YK=Symbol.for(Y2),W2,_6=class extends h{constructor({message:$="No object generated.",cause:v,text:w,response:D,usage:U,finishReason:z}){super({name:G2,message:$,cause:v});this[W2]=!0,this.text=w,this.response=D,this.usage=U,this.finishReason=z}static isInstance($){return h.hasMarker($,Y2)}};W2=YK;var WK="AI_NoOutputGeneratedError",QK=`vercel.ai.error.${WK}`,NK=Symbol.for(QK),LK;LK=NK;var OK="AI_NoSpeechGeneratedError",qK=`vercel.ai.error.${OK}`,IK=Symbol.for(qK),HK;HK=IK;var VK="AI_NoTranscriptGeneratedError",jK=`vercel.ai.error.${VK}`,KK=Symbol.for(jK),BK;BK=KK;var AK="AI_NoVideoGeneratedError",EK=`vercel.ai.error.${AK}`,bK=Symbol.for(EK),FK;FK=bK;var RK="AI_NoSuchToolError",MK=`vercel.ai.error.${RK}`,SK=Symbol.for(MK),PK;PK=SK;var gK="AI_ToolCallRepairError",_K=`vercel.ai.error.${gK}`,TK=Symbol.for(_K),kK;kK=TK;var CK=class extends h{constructor($){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${$.version} for provider "${$.provider}" and model "${$.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=$.version,this.provider=$.provider,this.modelId=$.modelId}},ZK="AI_UIMessageStreamError",xK=`vercel.ai.error.${ZK}`,fK=Symbol.for(xK),uK;uK=fK;var Q2="AI_InvalidDataContentError",N2=`vercel.ai.error.${Q2}`,yK=Symbol.for(N2),L2,sN=class extends h{constructor({content:$,cause:v,message:w=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof $}.`}){super({name:Q2,message:w,cause:v});this[L2]=!0,this.content=$}static isInstance($){return h.hasMarker($,N2)}};L2=yK;var iK="AI_InvalidMessageRoleError",hK=`vercel.ai.error.${iK}`,cK=Symbol.for(hK),mK;mK=cK;var nK="AI_MessageConversionError",lK=`vercel.ai.error.${nK}`,rK=Symbol.for(lK),dK;dK=rK;var O2="AI_RetryError",q2=`vercel.ai.error.${O2}`,pK=Symbol.for(q2),I2,oK=class extends h{constructor({message:$,reason:v,errors:w}){super({name:O2,message:$});this[I2]=!0,this.reason=v,this.errors=w,this.lastError=w[w.length-1]}static isInstance($){return h.hasMarker($,q2)}};I2=pK;function tK({warning:$,provider:v,model:w}){let U=`AI SDK Warning${v!=null&&w!=null?` (${v} / ${w})`:""}:`;switch($.type){case"unsupported":{let z=`${U} The feature "${$.feature}" is not supported.`;if($.details)z+=` ${$.details}`;return z}case"compatibility":{let z=`${U} The feature "${$.feature}" is used in a compatibility mode.`;if($.details)z+=` ${$.details}`;return z}case"deprecated":return`${U} Deprecated: "${$.setting}". ${$.message}`;case"other":return`${U} ${$.message}`;default:return`${U} ${JSON.stringify($,null,2)}`}}var aK="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",$2=!1,H2=($)=>{if($.warnings.length===0)return;let v=globalThis.AI_SDK_LOG_WARNINGS;if(v===!1)return;if(typeof v==="function"){v($);return}if(!$2)$2=!0,console.info(aK);for(let w of $.warnings){let D=tK({warning:w,provider:$.provider,model:$.model});if(typeof process<"u"&&typeof process.emitWarning==="function")process.emitWarning(D,{type:w.type==="deprecated"?"DeprecationWarning":"Warning"});else console.warn(D)}};function wU({provider:$,modelId:v}){H2({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:$,model:v})}function V2($){if($.specificationVersion==="v3")return $;return wU({provider:$.provider,modelId:$.modelId}),new Proxy($,{get(v,w){if(w==="specificationVersion")return"v3";return v[w]}})}function eK($){if($.specificationVersion==="v4")return $;let v=$.specificationVersion==="v2"?V2($):$;return new Proxy(v,{get(w,D){if(D==="specificationVersion")return"v4";return w[D]}})}function j2($){if($.specificationVersion==="v3")return $;return wU({provider:$.provider,modelId:$.modelId}),new Proxy($,{get(v,w){if(w==="specificationVersion")return"v3";return v[w]}})}function K2($){if($.specificationVersion==="v4")return $;let v=$.specificationVersion==="v2"?j2($):$;return new Proxy(v,{get(w,D){if(D==="specificationVersion")return"v4";return w[D]}})}function B2($){if($.specificationVersion==="v3")return $;return wU({provider:$.provider,modelId:$.modelId}),new Proxy($,{get(v,w){switch(w){case"specificationVersion":return"v3";case"doGenerate":return async(...D)=>{let U=await v.doGenerate(...D);return{...U,finishReason:A2(U.finishReason),usage:E2(U.usage)}};case"doStream":return async(...D)=>{let U=await v.doStream(...D);return{...U,stream:sK(U.stream)}};default:return v[w]}}})}function sK($){return $.pipeThrough(new TransformStream({transform(v,w){switch(v.type){case"finish":w.enqueue({...v,finishReason:A2(v.finishReason),usage:E2(v.usage)});break;default:w.enqueue(v);break}}}))}function A2($){return{unified:$==="unknown"?"other":$,raw:void 0}}function E2($){return{inputTokens:{total:$.inputTokens,noCache:void 0,cacheRead:$.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:$.outputTokens,text:void 0,reasoning:$.reasoningTokens}}}function $B($){if($.specificationVersion==="v4")return $;let v=$.specificationVersion==="v2"?B2($):$;return new Proxy(v,{get(w,D){if(D==="specificationVersion")return"v4";return w[D]}})}function vB($){if($.specificationVersion==="v4")return $;return new Proxy($,{get(v,w){if(w==="specificationVersion")return"v4";return v[w]}})}function b2($){if($.specificationVersion==="v3")return $;return wU({provider:$.provider,modelId:$.modelId}),new Proxy($,{get(v,w){if(w==="specificationVersion")return"v3";return v[w]}})}function UB($){if($.specificationVersion==="v4")return $;let v=$.specificationVersion==="v2"?b2($):$;return new Proxy(v,{get(w,D){if(D==="specificationVersion")return"v4";return w[D]}})}function F2($){if($.specificationVersion==="v3")return $;return wU({provider:$.provider,modelId:$.modelId}),new Proxy($,{get(v,w){if(w==="specificationVersion")return"v3";return v[w]}})}function wB($){if($.specificationVersion==="v4")return $;let v=$.specificationVersion==="v2"?F2($):$;return new Proxy(v,{get(w,D){if(D==="specificationVersion")return"v4";return w[D]}})}function DB($){if("specificationVersion"in $&&$.specificationVersion==="v3")return $;let v=$;return{specificationVersion:"v3",languageModel:(w)=>B2(v.languageModel(w)),embeddingModel:(w)=>V2(v.textEmbeddingModel(w)),imageModel:(w)=>j2(v.imageModel(w)),transcriptionModel:v.transcriptionModel?(w)=>F2(v.transcriptionModel(w)):void 0,speechModel:v.speechModel?(w)=>b2(v.speechModel(w)):void 0,rerankingModel:void 0}}function zB($){if("specificationVersion"in $&&$.specificationVersion==="v4")return $;let v=!("specificationVersion"in $)||$.specificationVersion!=="v3"?DB($):$;return{specificationVersion:"v4",languageModel:(w)=>$B(v.languageModel(w)),embeddingModel:(w)=>eK(v.embeddingModel(w)),imageModel:(w)=>K2(v.imageModel(w)),transcriptionModel:v.transcriptionModel?(w)=>wB(v.transcriptionModel(w)):void 0,speechModel:v.speechModel?(w)=>UB(v.speechModel(w)):void 0,rerankingModel:v.rerankingModel?(w)=>vB(v.rerankingModel(w)):void 0}}function JB($){if(typeof $==="string")return XB().imageModel($);if(!["v4","v3","v2"].includes($.specificationVersion)){let v=$;throw new CK({version:v.specificationVersion,provider:v.provider,modelId:v.modelId})}return K2($)}function XB(){var $;let v=($=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?$:aN;return zB(v)}var R2="7.0.22",GB=async({url:$,maxBytes:v,abortSignal:w})=>{var D;let U=$.toString();try{let z=k$({},`ai-sdk/${R2}`,Ww()),J=await ZG({url:U,headers:z,abortSignal:w});if(!J.ok)throw await rv(J),new V$({url:U,statusCode:J.status,statusText:J.statusText});return{data:await Gw({response:J,url:U,maxBytes:v!=null?v:Xw}),mediaType:(D=J.headers.get("content-type"))!=null?D:void 0}}catch(z){if(V$.isInstance(z))throw z;throw new V$({url:U,cause:z})}};function YB($){try{let[v,w]=$.split(",");return{mediaType:v.split(";")[0].split(":")[1],base64Content:w}}catch(v){return{mediaType:void 0,base64Content:void 0}}}var a6=X.lazy(()=>X.union([X.null(),X.string(),X.number(),X.boolean(),X.record(X.string(),a6.optional()),X.array(a6)])),k=X.record(X.string(),X.record(X.string(),a6.optional())),DU=X.union([X.string(),X.instanceof(Uint8Array),X.instanceof(ArrayBuffer),X.custom(l9,{message:"Must be a Buffer"})]),z8=X.record(X.string(),X.string()),M2=X.object({type:X.literal("text"),text:X.string(),providerOptions:k.optional()}),WB=X.object({type:X.literal("image"),image:X.union([DU,X.instanceof(URL),z8]),mediaType:X.string().optional(),providerOptions:k.optional()}),S2=X.discriminatedUnion("type",[X.object({type:X.literal("data"),data:DU}),X.object({type:X.literal("url"),url:X.instanceof(URL)}),X.object({type:X.literal("reference"),reference:z8}),X.object({type:X.literal("text"),text:X.string()})]),QB=X.discriminatedUnion("type",[X.object({type:X.literal("data"),data:DU}),X.object({type:X.literal("url"),url:X.instanceof(URL)})]),P2=X.object({type:X.literal("file"),data:X.union([S2,DU,X.instanceof(URL),z8]),filename:X.string().optional(),mediaType:X.string(),providerOptions:k.optional()}),NB=X.object({type:X.literal("reasoning"),text:X.string(),providerOptions:k.optional()}),LB=X.object({type:X.literal("custom"),kind:X.string().transform(($)=>$),providerOptions:k.optional()}),OB=X.object({type:X.literal("reasoning-file"),data:X.union([QB,DU,X.instanceof(URL)]),mediaType:X.string(),providerOptions:k.optional()}),qB=X.object({type:X.literal("tool-call"),toolCallId:X.string(),toolName:X.string(),input:X.unknown(),providerOptions:k.optional(),providerExecuted:X.boolean().optional()}),IB=X.discriminatedUnion("type",[X.object({type:X.literal("text"),value:X.string(),providerOptions:k.optional()}),X.object({type:X.literal("json"),value:a6,providerOptions:k.optional()}),X.object({type:X.literal("execution-denied"),reason:X.string().optional(),providerOptions:k.optional()}),X.object({type:X.literal("error-text"),value:X.string(),providerOptions:k.optional()}),X.object({type:X.literal("error-json"),value:a6,providerOptions:k.optional()}),X.object({type:X.literal("content"),value:X.array(X.union([X.object({type:X.literal("text"),text:X.string(),providerOptions:k.optional()}),X.object({type:X.literal("file"),data:S2,mediaType:X.string(),filename:X.string().optional(),providerOptions:k.optional()}),X.object({type:X.literal("file-data"),data:X.string(),mediaType:X.string(),filename:X.string().optional(),providerOptions:k.optional()}),X.object({type:X.literal("file-url"),url:X.string(),mediaType:X.string().optional(),providerOptions:k.optional()}),X.object({type:X.literal("file-id"),fileId:X.union([X.string(),X.record(X.string(),X.string())]),providerOptions:k.optional()}),X.object({type:X.literal("file-reference"),providerReference:X.record(X.string(),X.string()),providerOptions:k.optional()}),X.object({type:X.literal("image-data"),data:X.string(),mediaType:X.string(),providerOptions:k.optional()}),X.object({type:X.literal("image-url"),url:X.string(),providerOptions:k.optional()}),X.object({type:X.literal("image-file-id"),fileId:X.union([X.string(),X.record(X.string(),X.string())]),providerOptions:k.optional()}),X.object({type:X.literal("image-file-reference"),providerReference:X.record(X.string(),X.string()),providerOptions:k.optional()}),X.object({type:X.literal("custom"),providerOptions:k.optional()})]))})]),g2=X.object({type:X.literal("tool-result"),toolCallId:X.string(),toolName:X.string(),output:IB,providerOptions:k.optional()}),HB=X.object({type:X.literal("tool-approval-request"),approvalId:X.string(),toolCallId:X.string()}),VB=X.object({type:X.literal("tool-approval-response"),approvalId:X.string(),approved:X.boolean(),reason:X.string().optional()}),jB=X.object({role:X.literal("system"),content:X.string(),providerOptions:k.optional()}),KB=X.object({role:X.literal("user"),content:X.union([X.string(),X.array(X.union([M2,WB,P2]))]),providerOptions:k.optional()}),BB=X.object({role:X.literal("assistant"),content:X.union([X.string(),X.array(X.union([M2,LB,P2,NB,OB,qB,g2,HB]))]),providerOptions:k.optional()}),AB=X.object({role:X.literal("tool"),content:X.array(X.union([g2,VB])),providerOptions:k.optional()}),$P=X.union([jB,KB,BB,AB]);function D8($,v){return $==null&&v==null?void 0:($!=null?$:0)+(v!=null?v:0)}function EB($,v){return{inputTokens:D8($.inputTokens,v.inputTokens),outputTokens:D8($.outputTokens,v.outputTokens),totalTokens:D8($.totalTokens,v.totalTokens)}}function bB({error:$,exponentialBackoffDelay:v}){let w=D$.isInstance($)?$.responseHeaders:D$.isInstance($.cause)?$.cause.responseHeaders:void 0;if(!w)return v;let D,U=w["retry-after-ms"];if(U){let J=parseFloat(U);if(!Number.isNaN(J))D=J}let z=w["retry-after"];if(z&&D===void 0){let J=parseFloat(z);if(!Number.isNaN(J))D=J*1000;else D=Date.parse(z)-Date.now()}if(D!=null&&!Number.isNaN(D)&&0<=D&&(D<60000||D$Q({maxRetries:$,initialDelayInMs:v,backoffFactor:w,abortSignal:D,shouldRetry:(U)=>U instanceof Error&&(D$.isInstance(U)&&U.isRetryable===!0||q$.isInstance(U)&&U.isRetryable===!0),getDelayInMs:({error:U,exponentialBackoffDelay:z})=>bB({error:U,exponentialBackoffDelay:z}),createRetryError:({message:U,reason:z,errors:J})=>new oK({message:U,reason:z,errors:J})});function RB({maxRetries:$,abortSignal:v}){if($!=null){if(!Number.isInteger($))throw new eN({parameter:"maxRetries",value:$,message:"maxRetries must be an integer"});if($<0)throw new eN({parameter:"maxRetries",value:$,message:"maxRetries must be >= 0"})}let w=$!=null?$:2;return{maxRetries:w,retry:FB({maxRetries:w,abortSignal:v})}}var MB=class{constructor({data:$,mediaType:v}){let w=$ instanceof Uint8Array;this.base64Data=w?void 0:$,this.uint8ArrayData=w?$:void 0,this.mediaType=v}get base64(){if(this.base64Data==null)this.base64Data=X6(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=n$(this.base64Data);return this.uint8ArrayData}};var SB={};Zj(SB,{array:()=>TB,choice:()=>kB,json:()=>CB,object:()=>_B,text:()=>gB});function PB($){let v=["ROOT"],w=-1,D=null,U=0;function z(Q){return Q>="0"&&Q<="9"||Q>="A"&&Q<="F"||Q>="a"&&Q<="f"}function J(Q,N,L){switch(Q){case'"':{w=N,v.pop(),v.push(L),v.push("INSIDE_STRING");break}case"f":case"t":case"n":{w=N,D=N,v.pop(),v.push(L),v.push("INSIDE_LITERAL");break}case"-":{v.pop(),v.push(L),v.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{w=N,v.pop(),v.push(L),v.push("INSIDE_NUMBER");break}case"{":{w=N,v.pop(),v.push(L),v.push("INSIDE_OBJECT_START");break}case"[":{w=N,v.pop(),v.push(L),v.push("INSIDE_ARRAY_START");break}}}function G(Q,N){switch(Q){case",":{v.pop(),v.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{w=N,v.pop();break}}}function W(Q,N){switch(Q){case",":{v.pop(),v.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{w=N,v.pop();break}}}for(let Q=0;Q<$.length;Q++){let N=$[Q];switch(v[v.length-1]){case"ROOT":J(N,Q,"FINISH");break;case"INSIDE_OBJECT_START":{switch(N){case'"':{v.pop(),v.push("INSIDE_OBJECT_KEY");break}case"}":{w=Q,v.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(N){case'"':{v.pop(),v.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(N){case'"':{v.pop(),v.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(N){case":":{v.pop(),v.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{J(N,Q,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{G(N,Q);break}case"INSIDE_STRING":{switch(N){case'"':{v.pop(),w=Q;break}case"\\":{v.push("INSIDE_STRING_ESCAPE");break}default:w=Q}break}case"INSIDE_ARRAY_START":{switch(N){case"]":{w=Q,v.pop();break}default:{w=Q,J(N,Q,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(N){case",":{v.pop(),v.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{w=Q,v.pop();break}default:{w=Q;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{J(N,Q,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{if(v.pop(),N==="u")U=0,v.push("INSIDE_STRING_UNICODE_ESCAPE");else w=Q;break}case"INSIDE_STRING_UNICODE_ESCAPE":{if(z(N)){if(U++,U===4)v.pop(),w=Q}break}case"INSIDE_NUMBER":{switch(N){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{w=Q;break}case"e":case"E":case"-":case".":break;case",":{if(v.pop(),v[v.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(N,Q);if(v[v.length-1]==="INSIDE_OBJECT_AFTER_VALUE")G(N,Q);break}case"}":{if(v.pop(),v[v.length-1]==="INSIDE_OBJECT_AFTER_VALUE")G(N,Q);break}case"]":{if(v.pop(),v[v.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(N,Q);break}default:{v.pop();break}}break}case"INSIDE_LITERAL":{let q=$.substring(D,Q+1);if(!"false".startsWith(q)&&!"true".startsWith(q)&&!"null".startsWith(q)){if(v.pop(),v[v.length-1]==="INSIDE_OBJECT_AFTER_VALUE")G(N,Q);else if(v[v.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(N,Q)}else w=Q;break}}}let Y=$.slice(0,w+1);for(let Q=v.length-1;Q>=0;Q--)switch(v[Q]){case"INSIDE_STRING":{Y+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{Y+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{Y+="]";break}case"INSIDE_LITERAL":{let L=$.substring(D,$.length);if("true".startsWith(L))Y+="true".slice(L.length);else if("false".startsWith(L))Y+="false".slice(L.length);else if("null".startsWith(L))Y+="null".slice(L.length)}}return Y}async function Bw($){if($===void 0)return{value:void 0,state:"undefined-input"};let v=await G6({text:$});if(v.success)return{value:v.value,state:"successful-parse"};if(v=await G6({text:PB($)}),v.success)return{value:v.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}var gB=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:$}){return $},async parsePartialOutput({text:$}){return{partial:$}},createElementStreamTransform(){return}}),_B=({schema:$,name:v,description:w})=>{let D=Lw($);return{name:"object",responseFormat:s(D.jsonSchema).then((U)=>({type:"json",schema:U,...v!=null&&{name:v},...w!=null&&{description:w}})),async parseCompleteOutput({text:U},z){let J=await G6({text:U});if(!J.success)throw new _6({message:"No object generated: could not parse the response.",cause:J.error,text:U,response:z.response,usage:z.usage,finishReason:z.finishReason});let G=await i$({value:J.value,schema:D});if(!G.success)throw new _6({message:"No object generated: response did not match schema.",cause:G.error,text:U,response:z.response,usage:z.usage,finishReason:z.finishReason});return G.value},async parsePartialOutput({text:U}){let z=await Bw(U);switch(z.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:z.value}}},createElementStreamTransform(){return}}},TB=({element:$,name:v,description:w})=>{let D=Lw($);return{name:"array",responseFormat:s(D.jsonSchema).then((U)=>{let{$schema:z,...J}=U;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:J}},required:["elements"],additionalProperties:!1},...v!=null&&{name:v},...w!=null&&{description:w}}}),async parseCompleteOutput({text:U},z){let J=await G6({text:U});if(!J.success)throw new _6({message:"No object generated: could not parse the response.",cause:J.error,text:U,response:z.response,usage:z.usage,finishReason:z.finishReason});let G=J.value;if(G==null||typeof G!=="object"||!("elements"in G)||!Array.isArray(G.elements))throw new _6({message:"No object generated: response did not match schema.",cause:new p$({value:G,cause:"response must be an object with an elements array"}),text:U,response:z.response,usage:z.usage,finishReason:z.finishReason});let W=[];for(let Y of G.elements){let Q=await i$({value:Y,schema:D});if(!Q.success)throw new _6({message:"No object generated: response did not match schema.",cause:Q.error,text:U,response:z.response,usage:z.usage,finishReason:z.finishReason});W.push(Q.value)}return W},async parsePartialOutput({text:U}){let z=await Bw(U);switch(z.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let J=z.value;if(J==null||typeof J!=="object"||!("elements"in J)||!Array.isArray(J.elements))return;let G=z.state==="repaired-parse"&&J.elements.length>0?J.elements.slice(0,-1):J.elements,W=[];for(let Y of G){let Q=await i$({value:Y,schema:D});if(Q.success)W.push(Q.value)}return{partial:W}}}},createElementStreamTransform(){let U=0;return new TransformStream({transform({partialOutput:z},J){if(z!=null)for(;U{return{name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:$}},required:["result"],additionalProperties:!1},...v!=null&&{name:v},...w!=null&&{description:w}}),async parseCompleteOutput({text:D},U){let z=await G6({text:D});if(!z.success)throw new _6({message:"No object generated: could not parse the response.",cause:z.error,text:D,response:U.response,usage:U.usage,finishReason:U.finishReason});let J=z.value;if(J==null||typeof J!=="object"||!("result"in J)||typeof J.result!=="string"||!$.includes(J.result))throw new _6({message:"No object generated: response did not match schema.",cause:new p$({value:J,cause:"response must be an object that contains a choice value."}),text:D,response:U.response,usage:U.usage,finishReason:U.finishReason});return J.result},async parsePartialOutput({text:D}){let U=await Bw(D);switch(U.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let z=U.value;if(z==null||typeof z!=="object"||!("result"in z)||typeof z.result!=="string")return;let J=$.filter((G)=>G.startsWith(z.result));if(U.state==="successful-parse")return J.includes(z.result)?{partial:z.result}:void 0;else return J.length===1?{partial:J[0]}:void 0}}},createElementStreamTransform(){return}}},CB=({name:$,description:v}={})=>{return{name:"json",responseFormat:Promise.resolve({type:"json",...$!=null&&{name:$},...v!=null&&{description:v}}),async parseCompleteOutput({text:w},D){let U=await G6({text:w});if(!U.success)throw new _6({message:"No object generated: could not parse the response.",cause:U.error,text:w,response:D.response,usage:D.usage,finishReason:D.finishReason});return U.value},async parsePartialOutput({text:w}){let D=await Bw(w);switch(D.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return D.value===void 0?void 0:{partial:D.value}}},createElementStreamTransform(){return}}};var GP=I$({prefix:"aitxt",size:24}),YP=I$({prefix:"call",size:24});var QP=class extends TransformStream{constructor(){super({transform($,v){v.enqueue(`data: ${JSON.stringify($)} + +`)},flush($){$.enqueue(`data: [DONE] + +`)}})}};var UU=X.record(X.string(),a6.optional()),OP=v$(()=>e(X.union([X.strictObject({type:X.literal("text-start"),id:X.string(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("text-delta"),id:X.string(),delta:X.string(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("text-end"),id:X.string(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("error"),errorText:X.string()}),X.strictObject({type:X.literal("tool-input-start"),toolCallId:X.string(),toolName:X.string(),providerExecuted:X.boolean().optional(),providerMetadata:k.optional(),toolMetadata:UU.optional(),dynamic:X.boolean().optional(),title:X.string().optional()}),X.strictObject({type:X.literal("tool-input-delta"),toolCallId:X.string(),inputTextDelta:X.string()}),X.strictObject({type:X.literal("tool-input-available"),toolCallId:X.string(),toolName:X.string(),input:X.unknown(),providerExecuted:X.boolean().optional(),providerMetadata:k.optional(),toolMetadata:UU.optional(),dynamic:X.boolean().optional(),title:X.string().optional()}),X.strictObject({type:X.literal("tool-input-error"),toolCallId:X.string(),toolName:X.string(),input:X.unknown(),providerExecuted:X.boolean().optional(),providerMetadata:k.optional(),toolMetadata:UU.optional(),dynamic:X.boolean().optional(),errorText:X.string(),title:X.string().optional()}),X.strictObject({type:X.literal("tool-approval-request"),approvalId:X.string(),toolCallId:X.string(),isAutomatic:X.boolean().optional(),signature:X.string().optional()}),X.strictObject({type:X.literal("tool-approval-response"),approvalId:X.string(),approved:X.boolean(),reason:X.string().optional(),providerExecuted:X.boolean().optional(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("tool-output-available"),toolCallId:X.string(),output:X.unknown(),providerExecuted:X.boolean().optional(),providerMetadata:k.optional(),toolMetadata:UU.optional(),dynamic:X.boolean().optional(),preliminary:X.boolean().optional()}),X.strictObject({type:X.literal("tool-output-error"),toolCallId:X.string(),errorText:X.string(),providerExecuted:X.boolean().optional(),providerMetadata:k.optional(),toolMetadata:UU.optional(),dynamic:X.boolean().optional()}),X.strictObject({type:X.literal("tool-output-denied"),toolCallId:X.string()}),X.strictObject({type:X.literal("reasoning-start"),id:X.string(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("reasoning-delta"),id:X.string(),delta:X.string(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("reasoning-end"),id:X.string(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("custom"),kind:X.string().transform(($)=>$),providerMetadata:k.optional()}),X.strictObject({type:X.literal("source-url"),sourceId:X.string(),url:X.string(),title:X.string().optional(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("source-document"),sourceId:X.string(),mediaType:X.string(),title:X.string(),filename:X.string().optional(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("file"),url:X.string(),mediaType:X.string(),providerMetadata:k.optional()}),X.strictObject({type:X.literal("reasoning-file"),url:X.string(),mediaType:X.string(),providerMetadata:k.optional()}),X.strictObject({type:X.custom(($)=>typeof $==="string"&&$.startsWith("data-"),{message:'Type must start with "data-"'}),id:X.string().optional(),data:X.unknown(),transient:X.boolean().optional()}),X.strictObject({type:X.literal("start-step")}),X.strictObject({type:X.literal("finish-step")}),X.strictObject({type:X.literal("start"),messageId:X.string().optional(),messageMetadata:X.unknown().optional()}),X.strictObject({type:X.literal("finish"),finishReason:X.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:X.unknown().optional()}),X.strictObject({type:X.literal("abort"),reason:X.string().optional()}),X.strictObject({type:X.literal("message-metadata"),messageMetadata:X.unknown()})])));var IP=I$({prefix:"aitxt",size:24}),HP=I$({prefix:"call",size:24});var VP=I$({prefix:"aitxt",size:24}),jP=I$({prefix:"call",size:24});var Z$=X.record(X.string(),a6.optional()),ZB=X.record(X.string(),X.string()),AP=v$(()=>e(X.array(X.object({id:X.string(),role:X.enum(["system","user","assistant"]),metadata:X.unknown().optional(),parts:X.array(X.union([X.object({type:X.literal("text"),text:X.string(),state:X.enum(["streaming","done"]).optional(),providerMetadata:k.optional()}),X.object({type:X.literal("reasoning"),text:X.string(),state:X.enum(["streaming","done"]).optional(),providerMetadata:k.optional()}),X.object({type:X.literal("custom"),kind:X.string(),providerMetadata:k.optional()}),X.object({type:X.literal("source-url"),sourceId:X.string(),url:X.string(),title:X.string().optional(),providerMetadata:k.optional()}),X.object({type:X.literal("source-document"),sourceId:X.string(),mediaType:X.string(),title:X.string(),filename:X.string().optional(),providerMetadata:k.optional()}),X.object({type:X.literal("file"),mediaType:X.string(),filename:X.string().optional(),url:X.string(),providerReference:ZB.optional(),providerMetadata:k.optional()}),X.object({type:X.literal("reasoning-file"),mediaType:X.string(),url:X.string(),providerMetadata:k.optional()}),X.object({type:X.literal("step-start")}),X.object({type:X.string().startsWith("data-"),id:X.string().optional(),data:X.unknown()}),X.object({type:X.literal("dynamic-tool"),toolName:X.string(),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("input-streaming"),input:X.unknown().optional(),providerExecuted:X.boolean().optional(),callProviderMetadata:k.optional(),output:X.never().optional(),errorText:X.never().optional(),approval:X.never().optional()}),X.object({type:X.literal("dynamic-tool"),toolName:X.string(),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("input-available"),input:X.unknown(),providerExecuted:X.boolean().optional(),output:X.never().optional(),errorText:X.never().optional(),callProviderMetadata:k.optional(),approval:X.never().optional()}),X.object({type:X.literal("dynamic-tool"),toolName:X.string(),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("approval-requested"),input:X.unknown(),providerExecuted:X.boolean().optional(),output:X.never().optional(),errorText:X.never().optional(),callProviderMetadata:k.optional(),approval:X.object({id:X.string(),approved:X.never().optional(),reason:X.never().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()})}),X.object({type:X.literal("dynamic-tool"),toolName:X.string(),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("approval-responded"),input:X.unknown(),providerExecuted:X.boolean().optional(),output:X.never().optional(),errorText:X.never().optional(),callProviderMetadata:k.optional(),approval:X.object({id:X.string(),approved:X.boolean(),reason:X.string().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()})}),X.object({type:X.literal("dynamic-tool"),toolName:X.string(),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("output-available"),input:X.unknown(),providerExecuted:X.boolean().optional(),output:X.unknown(),errorText:X.never().optional(),callProviderMetadata:k.optional(),resultProviderMetadata:k.optional(),preliminary:X.boolean().optional(),approval:X.object({id:X.string(),approved:X.literal(!0),reason:X.string().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()}).optional()}),X.object({type:X.literal("dynamic-tool"),toolName:X.string(),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("output-error"),input:X.unknown().optional(),rawInput:X.unknown().optional(),providerExecuted:X.boolean().optional(),output:X.never().optional(),errorText:X.string(),callProviderMetadata:k.optional(),resultProviderMetadata:k.optional(),approval:X.object({id:X.string(),approved:X.literal(!0),reason:X.string().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()}).optional()}),X.object({type:X.literal("dynamic-tool"),toolName:X.string(),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("output-denied"),input:X.unknown(),providerExecuted:X.boolean().optional(),output:X.never().optional(),errorText:X.never().optional(),callProviderMetadata:k.optional(),approval:X.object({id:X.string(),approved:X.literal(!1),reason:X.string().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()})}),X.object({type:X.string().startsWith("tool-"),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("input-streaming"),providerExecuted:X.boolean().optional(),callProviderMetadata:k.optional(),input:X.unknown().optional(),output:X.never().optional(),errorText:X.never().optional(),approval:X.never().optional()}),X.object({type:X.string().startsWith("tool-"),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("input-available"),providerExecuted:X.boolean().optional(),input:X.unknown(),output:X.never().optional(),errorText:X.never().optional(),callProviderMetadata:k.optional(),approval:X.never().optional()}),X.object({type:X.string().startsWith("tool-"),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("approval-requested"),input:X.unknown(),providerExecuted:X.boolean().optional(),output:X.never().optional(),errorText:X.never().optional(),callProviderMetadata:k.optional(),approval:X.object({id:X.string(),approved:X.never().optional(),reason:X.never().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()})}),X.object({type:X.string().startsWith("tool-"),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("approval-responded"),input:X.unknown(),providerExecuted:X.boolean().optional(),output:X.never().optional(),errorText:X.never().optional(),callProviderMetadata:k.optional(),approval:X.object({id:X.string(),approved:X.boolean(),reason:X.string().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()})}),X.object({type:X.string().startsWith("tool-"),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("output-available"),providerExecuted:X.boolean().optional(),input:X.unknown(),output:X.unknown(),errorText:X.never().optional(),callProviderMetadata:k.optional(),resultProviderMetadata:k.optional(),preliminary:X.boolean().optional(),approval:X.object({id:X.string(),approved:X.literal(!0),reason:X.string().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()}).optional()}),X.object({type:X.string().startsWith("tool-"),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("output-error"),providerExecuted:X.boolean().optional(),input:X.unknown().optional(),rawInput:X.unknown().optional(),output:X.never().optional(),errorText:X.string(),callProviderMetadata:k.optional(),resultProviderMetadata:k.optional(),approval:X.object({id:X.string(),approved:X.literal(!0),reason:X.string().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()}).optional()}),X.object({type:X.string().startsWith("tool-"),toolCallId:X.string(),toolMetadata:Z$.optional(),state:X.literal("output-denied"),providerExecuted:X.boolean().optional(),input:X.unknown(),output:X.never().optional(),errorText:X.never().optional(),callProviderMetadata:k.optional(),approval:X.object({id:X.string(),approved:X.literal(!1),reason:X.string().optional(),isAutomatic:X.boolean().optional(),signature:X.string().optional()})})])).nonempty("Message must contain at least one part")})).nonempty("Messages array must not be empty")));var bP=I$({prefix:"call",size:24});var RP=I$({prefix:"call",size:24});function xB($){if($ instanceof Uint8Array)return $;if(typeof $==="string")try{return n$($)}catch(v){throw new sN({message:"Invalid data content. Content string is not a base64-encoded media.",content:$,cause:v})}if($ instanceof ArrayBuffer)return new Uint8Array($);throw new sN({content:$})}async function _2({model:$,prompt:v,n:w=1,maxImagesPerCall:D,size:U,aspectRatio:z,seed:J,providerOptions:G,maxRetries:W,abortSignal:Y,headers:Q}){var N,L;let q=JB($),M=k$(Q!=null?Q:{},`ai/${R2}`),{retry:C}=RB({maxRetries:W,abortSignal:Y}),y=(N=D!=null?D:await uB(q))!=null?N:1,d=Math.ceil(w/y),g=Array.from({length:d},(P,f)=>{if(fawait C(()=>{let{prompt:f,files:m,mask:n}=yB(v);return q.doGenerate({prompt:f,files:m,mask:n,n:P,abortSignal:Y,headers:M,size:U,aspectRatio:z,seed:J,providerOptions:G!=null?G:{}})}))),u=[],j=[],R=[],F={},H={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};for(let P of t){if(u.push(...P.images.map((f)=>{var m;return new MB({data:f,mediaType:(m=lv({data:f,topLevelType:"image"}))!=null?m:"image/png"})})),j.push(...P.warnings),P.usage!=null)H=EB(H,P.usage);if(P.providerMetadata)for(let[f,m]of Object.entries(P.providerMetadata))if(f==="gateway"){let n=F[f];if(n!=null&&typeof n==="object")F[f]={...n,...m};else F[f]=m;let Q$=F[f].images;if(Array.isArray(Q$)&&Q$.length===0)delete F[f].images}else(L=F[f])!=null||(F[f]={images:[]}),F[f].images.push(...P.providerMetadata[f].images);R.push(P.response)}if(H2({warnings:j,provider:q.provider,model:q.modelId}),!u.length)throw new GK({responses:R});return new fB({images:u,warnings:j,responses:R,providerMetadata:F,usage:H})}var fB=class{constructor($){this.images=$.images,this.warnings=$.warnings,this.responses=$.responses,this.providerMetadata=$.providerMetadata,this.usage=$.usage}get image(){return this.images[0]}};async function uB($){if(!($.maxImagesPerCall instanceof Function))return $.maxImagesPerCall;return $.maxImagesPerCall({modelId:$.modelId})}function yB($){if(typeof $==="string")return{prompt:$,files:void 0,mask:void 0};return{prompt:$.text,files:$.images.map(v2),mask:$.mask?v2($.mask):void 0}}function v2($){if(typeof $==="string"&&$.startsWith("http"))return{type:"url",url:$};if(typeof $==="string"&&$.startsWith("data:")){let{mediaType:w,base64Content:D}=YB($);if(D!=null){let U=n$(D);return{type:"file",data:U,mediaType:w||lv({data:U,topLevelType:"image"})||"image/png"}}}let v=xB($);return{type:"file",data:v,mediaType:lv({data:v,topLevelType:"image"})||"image/png"}}var gP=I$({prefix:"aiobj",size:24});function T2($){return({url:v,abortSignal:w})=>GB({url:v,maxBytes:$==null?void 0:$.maxBytes,abortSignal:w})}var TP=I$({prefix:"aiobj",size:24});var kP=T2();var iB="AI_NoSuchProviderError",hB=`vercel.ai.error.${iB}`,cB=Symbol.for(hB),mB;mB=cB;var ZP=I$({prefix:"call",size:24});var xP=T2();import lB from"node:fs/promises";import x2 from"node:path";import l4 from"node:fs/promises";import{homedir as k2}from"node:os";import zU from"node:path";function nB($){if($==="~")return k2();if($.startsWith("~/"))return zU.join(k2(),$.slice(2));return $}function e6($,v){if(v.includes("\x00"))throw new Z("UNSAFE_PATH","File paths must not contain NUL bytes.");let w=nB(v);return zU.resolve(zU.isAbsolute(w)?w:zU.join($,w))}async function C2($){let v,w;try{v=await l4.realpath($),w=await l4.stat(v)}catch{throw new Z("UNSAFE_PATH",`Input file '${$}' is not readable.`)}if(!w.isFile())throw new Z("UNSAFE_PATH",`Input path '${$}' is not a file.`);return{realPath:v,size:w.size}}async function Aw($){try{return await l4.mkdir($,{recursive:!0,mode:448}),await l4.realpath($)}catch{throw new Z("IO_ERROR",`Could not prepare output directory '${$}'.`)}}async function J8($){let v=zU.extname($),w=v?$.slice(0,-v.length):$;for(let D=0;D<1e4;D++){let U=D===0?$:`${w} (${D})${v}`;try{let z=await l4.open(U,"wx",384);return{path:U,handle:z}}catch(z){if(z.code==="EEXIST")continue;throw new Z("IO_ERROR","Could not create an exclusive output file.")}}throw new Z("IO_ERROR","Could not find an unused output filename.")}async function Z2($,v){let w=await J8($);try{return await w.handle.writeFile(v),await w.handle.close(),w.path}catch{throw await w.handle.close().catch(()=>{return}),await l4.unlink(w.path).catch(()=>{return}),new Z("IO_ERROR","Could not write the output file.")}}var rB=20971520;function f2($,v){return v.every((w,D)=>$[D]===w)}function u2($){if(f2($,[137,80,78,71,13,10,26,10]))return{mimeType:"image/png",extension:".png"};if(f2($,[255,216,255]))return{mimeType:"image/jpeg",extension:".jpg"};let v=Buffer.from($.subarray(0,12)).toString("ascii");if(v.startsWith("GIF87a")||v.startsWith("GIF89a"))return{mimeType:"image/gif",extension:".gif"};if(v.startsWith("RIFF")&&v.slice(8,12)==="WEBP")return{mimeType:"image/webp",extension:".webp"};return null}async function JU($){let v=await C2($.filePath),w=$.maxBytes??rB;if(v.size>w)throw new Z("MEDIA_TOO_LARGE",`Input image '${$.filePath}' exceeds ${w} bytes.`);let D=await lB.readFile(v.realPath),U=u2(D);if(!U)throw new Z("INVALID_MEDIA",`Input file '${$.filePath}' is not a supported PNG, JPEG, GIF, or WebP image.`);return{bytes:D,...U,filename:`${x2.basename(v.realPath,x2.extname(v.realPath))}${U.extension}`}}function y2($){let v=u2($);if(!v)throw new Z("INVALID_MEDIA","Provider returned data that is not a supported image.");return v.extension}function i2($){switch($.toLowerCase().split(";")[0]?.trim()){case"video/mp4":return".mp4";case"video/webm":return".webm";case"video/quicktime":return".mov";case"application/octet-stream":return".mp4";default:throw new Z("INVALID_MEDIA",`Provider returned unsupported video content type '${$.slice(0,100)}'.`)}}var X8=["gpt-image-2","gpt-5-image","nanobanana","nanobanana-2","nanobanana-2-lite","nanobanana-pro","grok-imagine-image","grok-imagine-image-pro"],G8=["grok-imagine-video"],dB=["1:1","3:2","2:3"],pB=["1024x1024","1536x1024","1024x1536"],m2=["21:9","16:9","3:2","4:3","5:4","1:1","4:5","3:4","2:3","9:16"],oB=[...m2,"1:4","4:1","1:8","8:1"],tB=["1:1","16:9","9:16","4:3","3:4","3:2","2:3","2:1","1:2","19.5:9","9:19.5","20:9","9:20"],aB=["1280x720","720x1280","854x480","480x854","640x480","480x640","640x640","960x640","640x960"];function XU($,v,w){if(v&&!w.includes(v))throw new Z("UNSUPPORTED_CAPABILITY",`Unsupported ${$} '${v}'. Allowed: ${w.join(", ")}.`)}function eB($,v){if(XU("aspectRatio",$.aspectRatio,dB),!$.size)return;if(!v||$.inputImages?.length){XU("size",$.size,pB);return}let[w,D]=$.size.split("x").map(Number),U=w*D;if(w%16!==0||D%16!==0||w>3840||D>3840||Math.max(w,D)/Math.min(w,D)>3||U<655360||U>8294400)throw new Z("UNSUPPORTED_CAPABILITY","gpt-image-2 generation sizes require edges divisible by 16 and <=3840, ratio <=3:1, and 655360-8294400 total pixels.")}function h2($){return{supportsEdit:!0,supportsMask:!0,maxInputImages:16,validate:(v)=>eB(v,$)}}function Ew($={}){return{supportsEdit:!0,supportsMask:!$.lite,maxInputImages:4,validate(v){if(XU("aspectRatio",v.aspectRatio,$.wide?oB:m2),$.lite&&v.size)throw new Z("UNSUPPORTED_CAPABILITY","nanobanana-2-lite produces 1K output; use aspectRatio instead of size.")}}}function c2(){return{supportsEdit:!0,supportsMask:!1,maxInputImages:1,validate($){if($.size)throw new Z("UNSUPPORTED_CAPABILITY","Grok image models do not support size; use aspectRatio.");XU("aspectRatio",$.aspectRatio,tB)}}}var bw={"gpt-image-2":{alias:"gpt-image-2",route:"gpt-image-2",profile:h2(!0)},"gpt-5-image":{alias:"gpt-5-image",route:"gpt-image-1.5",profile:h2(!1)},nanobanana:{alias:"nanobanana",route:"google/gemini-2.5-flash-image",profile:Ew()},"nanobanana-2":{alias:"nanobanana-2",route:"google/gemini-3.1-flash-image-preview",profile:Ew({wide:!0})},"nanobanana-2-lite":{alias:"nanobanana-2-lite",route:"google/gemini-3.1-flash-lite-image",profile:Ew({wide:!0,lite:!0})},"nanobanana-pro":{alias:"nanobanana-pro",route:"google/gemini-3-pro-image-preview",profile:Ew()},"grok-imagine-image":{alias:"grok-imagine-image",route:"grok-imagine-image",profile:c2()},"grok-imagine-image-pro":{alias:"grok-imagine-image-pro",route:"grok-imagine-image-pro",profile:c2()}},Fw={"grok-imagine-video":{alias:"grok-imagine-video",route:"grok-imagine-video",profile:{supportsInputImage:!0,validate($){XU("size",$.size,aB)}}}};function n2($){let v=bw[$.model],w=$.inputImages?.length??0;if(w>0&&!v.profile.supportsEdit)throw new Z("UNSUPPORTED_CAPABILITY",`${$.model} does not support image editing.`);if(w>v.profile.maxInputImages)throw new Z("UNSUPPORTED_CAPABILITY",`${$.model} accepts at most ${v.profile.maxInputImages} input image(s).`);if($.maskImage&&!v.profile.supportsMask)throw new Z("UNSUPPORTED_CAPABILITY",`${$.model} does not support maskImage.`);return v.profile.validate($),v}function l2($){let v=Fw[$.model];if($.inputImage&&!v.profile.supportsInputImage)throw new Z("UNSUPPORTED_CAPABILITY",`${$.model} does not support image-to-video.`);return v.profile.validate($),v}function r2($){if($.size)return{size:$.size};if(!$.aspectRatio)return{};if($.model==="gpt-image-2"||$.model==="gpt-5-image")return{size:{"1:1":"1024x1024","3:2":"1536x1024","2:3":"1024x1536"}[$.aspectRatio]};return{aspectRatio:$.aspectRatio}}var sB=X.union([X.string().min(1),X.array(X.string().min(1)).min(1).max(16)]).optional().transform(($)=>typeof $==="string"?[$]:$),d2=X.coerce.number().int().min(100).max(1800000).default(600000),p2=X.object({prompt:X.string().trim().min(1).max(32000),model:X.enum(X8).default("gpt-image-2"),outputDir:X.string().min(1).optional(),inputImages:sB,maskImage:X.string().min(1).optional(),size:X.string().regex(/^\d+x\d+$/u).optional(),aspectRatio:X.string().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/u).optional(),timeoutMs:d2}).strict().superRefine(($,v)=>{if($.size&&$.aspectRatio)v.addIssue({code:"custom",message:"Provide only one of size or aspectRatio."});if($.maskImage&&!$.inputImages?.length)v.addIssue({code:"custom",path:["maskImage"],message:"maskImage requires at least one inputImages entry."})}),o2=X.object({prompt:X.string().trim().min(1).max(32000),model:X.enum(G8).default("grok-imagine-video"),path:X.string().min(1),inputImage:X.string().min(1).optional(),seconds:X.coerce.number().int().min(1).max(15).optional(),size:X.string().regex(/^\d+x\d+$/u).optional(),pollIntervalMs:X.coerce.number().int().min(10).max(30000).default(2000),timeoutMs:d2,maxDownloadBytes:X.coerce.number().int().min(1).max(536870912).default(268435456)}).strict(),t2=X.object({ok:X.literal(!0),path:X.string(),bytes:X.number().int().nonnegative(),mimeType:X.string(),model:X.enum(X8),route:X.string()}).strict(),a2=X.object({ok:X.literal(!0),path:X.string(),bytes:X.number().int().nonnegative(),mimeType:X.string(),model:X.enum(G8),route:X.string(),videoId:X.string()}).strict();function Rw($,v){let w=new AbortController,D=!1,U=setTimeout(()=>{D=!0,w.abort(Error("custom-media timeout"))},v),z=()=>w.abort($?.reason);if($?.aborted)z();else $?.addEventListener("abort",z,{once:!0});return{signal:w.signal,cleanup(){clearTimeout(U),$?.removeEventListener("abort",z)},mapAbort(J){if(D)throw new Z("TIMEOUT",`Operation exceeded its ${v}ms timeout.`);if($?.aborted||w.signal.aborted)throw new Z("ABORTED","Operation was aborted.");throw J}}}async function e2($,v){if(v.aborted)throw v.reason;await new Promise((w,D)=>{let U=setTimeout(()=>{v.removeEventListener("abort",z),w()},$),z=()=>{clearTimeout(U),D(v.reason)};v.addEventListener("abort",z,{once:!0})})}async function vA($,v){if(!$.inputImages?.length)return $.prompt;let w=[];for(let U of $.inputImages){let z=e6(v,U);w.push((await JU({filePath:z})).bytes)}let D;if($.maskImage){let U=e6(v,$.maskImage);D=(await JU({filePath:U})).bytes}return{text:$.prompt,images:w,mask:D}}async function s2($,v={}){let w=m1(p2,$,"image input"),D=n2(w),U=g4(),z=v.cwd??process.cwd(),J=Rw(v.signal,w.timeoutMs);try{let G=await vA(w,z),W=r2(w),Y=OQ({name:"customMedia",baseURL:U.baseURL,apiKey:U.apiKey}),Q=await _2({model:Y.imageModel(D.route),prompt:G,size:W.size,providerOptions:W.aspectRatio?{customMedia:{aspect_ratio:W.aspectRatio}}:void 0,maxRetries:0,abortSignal:J.signal}),N=Q.image.uint8Array,L=y2(N),q=e6(z,w.outputDir??"."),M=await Aw(q),C=await Z2($A.join(M,`generated-image${L}`),N);return t2.parse({ok:!0,path:C,bytes:N.byteLength,mimeType:Q.image.mediaType,model:w.model,route:D.route})}catch(G){if(J.signal.aborted)J.mapAbort(G);if(G instanceof Z)throw G;throw n1(G,"PROVIDER_ERROR","Image generation failed",[U.apiKey])}finally{J.cleanup()}}import UA from"node:fs/promises";import Mw from"node:path";var wA=X.object({id:X.string().min(1),status:X.string().min(1),progress:X.number().optional(),error:X.union([X.string(),X.object({message:X.string().optional()}).passthrough(),X.null()]).optional()}).passthrough(),DA=new Set(["succeeded","completed"]),zA=new Set(["failed","cancelled","canceled","expired"]);function JA($,v){let w=typeof $.error==="string"?$.error:$.error&&typeof $.error.message==="string"?$.error.message:`Video task ended with status '${$.status}'.`;return d$(w,[v])}async function $L($,v,w){let D=await d1($,v,w),U=wA.safeParse(D);if(!U.success)throw new Z("PROVIDER_ERROR",`${v} returned malformed task JSON.`);return U.data}async function XA($){let v=new FormData;if(v.set("prompt",$.input.prompt),v.set("model",$.route),$.input.seconds!==void 0)v.set("seconds",String($.input.seconds));if($.input.size)v.set("size",$.input.size);if($.inputImage)v.set("input_reference",new Blob([$.inputImage.bytes],{type:$.inputImage.mimeType}),$.inputImage.filename);let w=await fetch(T4($.baseURL,"videos"),{method:"POST",headers:_4($.apiKey),body:v,signal:$.signal});return await $L(w,"Create video",$.apiKey)}async function GA($){let v=$.initialTask;while(!0){let w=v.status.toLowerCase();if(DA.has(w))return v;if(zA.has(w))throw new Z("VIDEO_FAILED",JA(v,$.apiKey));await e2($.pollIntervalMs,$.signal);let D=await fetch(T4($.baseURL,`videos/${encodeURIComponent(v.id)}`),{headers:_4($.apiKey),signal:$.signal});v=await $L(D,"Poll video",$.apiKey)}}async function YA($,v){let w=0;while(w$.maxBytes)throw new Z("DOWNLOAD_TOO_LARGE",`Video Content-Length ${Y} exceeds the ${$.maxBytes}-byte limit.`)}let w=$.response.headers.get("content-type")??"application/octet-stream",D=i2(w),U=Mw.extname($.targetPath).toLowerCase();if(U&&!new Set([".mp4",".webm",".mov"]).has(U))throw new Z("INVALID_INPUT","Video output path must use .mp4, .webm, or .mov, or omit the extension.");let z=U?$.targetPath:`${$.targetPath}${D}`,J=await Aw(Mw.dirname(z)),G=await J8(Mw.join(J,Mw.basename(z))),W=0;try{if(!$.response.body)throw new Z("PROVIDER_ERROR","Video response did not include a body.");let Y=$.response.body.getReader();try{while(!0){let Q=await Y.read();if(Q.done)break;if(W+=Q.value.byteLength,W>$.maxBytes)throw await Y.cancel(),new Z("DOWNLOAD_TOO_LARGE",`Video stream exceeded the ${$.maxBytes}-byte limit.`);await YA(G.handle,Q.value)}}finally{Y.releaseLock()}return await G.handle.close(),{path:G.path,bytes:W,mimeType:w.split(";")[0].trim()}}catch(Y){throw await G.handle.close().catch(()=>{return}),await UA.unlink(G.path).catch(()=>{return}),Y}}async function vL($,v={}){let w=m1(o2,$,"video input"),D=l2(w),U=g4(),z=v.cwd??process.cwd(),J=e6(z,w.path),G=Rw(v.signal,w.timeoutMs);try{let W;if(w.inputImage)W=await JU({filePath:e6(z,w.inputImage)});let Y=await XA({baseURL:U.baseURL,apiKey:U.apiKey,route:D.route,input:w,inputImage:W,signal:G.signal}),Q=await GA({baseURL:U.baseURL,apiKey:U.apiKey,initialTask:Y,pollIntervalMs:w.pollIntervalMs,signal:G.signal}),N=await fetch(T4(U.baseURL,`videos/${encodeURIComponent(Q.id)}/content`),{headers:_4(U.apiKey),signal:G.signal});await BG(N,"Download video",U.apiKey);let L=await WA({response:N,targetPath:J,maxBytes:w.maxDownloadBytes});return a2.parse({ok:!0,path:L.path,bytes:L.bytes,mimeType:L.mimeType,model:w.model,route:D.route,videoId:Q.id})}catch(W){if(G.signal.aborted)G.mapAbort(W);if(W instanceof Z)throw W;throw n1(W,"PROVIDER_ERROR","Video generation failed",[U.apiKey])}finally{G.cleanup()}}var QA=X.object({data:X.array(X.object({id:X.string()}).passthrough())}),NA=new Set(["prompt","model","outputDir","inputImages","maskImage","size","aspectRatio","timeoutMs"]),LA=new Set(["prompt","model","path","inputImage","seconds","size","pollIntervalMs","timeoutMs","maxDownloadBytes"]);function GU($){let v={ok:!0,data:$};process.stdout.write(`${JSON.stringify(v)} +`)}function OA($){let v=$ instanceof Z?$:new Z("PROVIDER_ERROR",d$($)),w={ok:!1,error:{code:v.code,message:v.message}};process.stderr.write(`${JSON.stringify(w)} +`),process.exit(1)}function qA(){return{usage:"media-generation [--field value]",commands:["doctor","models","image","video"],environment:["OPENAI_COMPATIBLE_BASE_URL","OPENAI_COMPATIBLE_API_KEY"]}}function IA($){return{"output-dir":"outputDir","input-images":"inputImages","mask-image":"maskImage","aspect-ratio":"aspectRatio","timeout-ms":"timeoutMs","input-image":"inputImage","poll-interval-ms":"pollIntervalMs","max-download-bytes":"maxDownloadBytes"}[$]??$}function UL($,v){let w=$==="image"?NA:LA,D={},U=[];for(let z=0;z=0)Q=J.slice(G+1);else{let N=v[z+1];if(N===void 0||N.startsWith("--"))throw new Z("INVALID_INPUT",`Option '--${W}' requires a value.`);Q=N,z+=1}if(!Q.length)throw new Z("INVALID_INPUT",`Option '--${W}' must not be empty.`);if(Y==="inputImages"){U.push(...Q.split(",").map((N)=>N.trim()).filter(Boolean));continue}if(Object.hasOwn(D,Y))throw new Z("INVALID_INPUT",`Option '--${W}' was provided twice.`);D[Y]=Q}if(U.length)D.inputImages=U;return D}async function HA(){let $=g4(),v;try{let z=await fetch(T4($.baseURL,"models"),{headers:_4($.apiKey),signal:AbortSignal.timeout(1e4)});v=await d1(z,"List models",$.apiKey)}catch(z){if(z instanceof Z)throw z;throw new Z("PROVIDER_ERROR",`List models failed: ${d$(z,[$.apiKey])}`)}let w=QA.safeParse(v);if(!w.success)throw new Z("PROVIDER_ERROR","List models returned malformed JSON.");let D=new Set(w.data.data.map((z)=>z.id)),U=[...Object.values(bw),...Object.values(Fw)].map((z)=>z.route);return{checks:[{check:l1,status:"ok",value:$.baseURL},{check:r1,status:"ok",value:""},{check:"GET /models",status:"ok",value:`${w.data.data.length} models`}],availableModels:[...new Set(U)].map((z)=>({id:z,available:D.has(z)}))}}function VA(){return{imageModels:Object.values(bw).map(($)=>({alias:$.alias,route:$.route,capabilities:{supportsEdit:$.profile.supportsEdit,supportsMask:$.profile.supportsMask,maxInputImages:$.profile.maxInputImages}})),videoModels:Object.values(Fw).map(($)=>({alias:$.alias,route:$.route,capabilities:{supportsInputImage:$.profile.supportsInputImage}}))}}async function jA(){let $=process.argv.slice(2);if($.length===0||$[0]==="--help"||$[0]==="-h"){GU(qA());return}let v=$[0];if(!new Set(["doctor","models","image","video"]).has(v))throw new Z("INVALID_INPUT",`Unknown command '${$[0]}'.`);if((v==="doctor"||v==="models")&&$.length>1)throw new Z("INVALID_INPUT",`${v} does not accept arguments.`);switch(v){case"doctor":GU(await HA());return;case"models":GU(VA());return;case"image":GU(await s2(UL("image",$.slice(1))));return;case"video":GU(await vL(UL("video",$.slice(1))));return}}jA().catch(OA);export{UL as parseCommandArguments}; diff --git a/SKILLS/media-generation/media-generation b/SKILLS/media-generation/media-generation new file mode 100755 index 0000000..d3bafe6 --- /dev/null +++ b/SKILLS/media-generation/media-generation @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +SCRIPT_DIR="$(cd -- "$(dirname -- "$0")" && pwd)" +exec node "$SCRIPT_DIR/dist/media-generation.js" "$@" diff --git a/SKILLS/media-generation/package.json b/SKILLS/media-generation/package.json new file mode 100644 index 0000000..4e58696 --- /dev/null +++ b/SKILLS/media-generation/package.json @@ -0,0 +1,25 @@ +{ + "name": "media-generation", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "bun build src/cli.ts --outfile dist/media-generation.js --target node --packages=bundle --minify && bun -e 'const p=\"dist/media-generation.js\"; await Bun.write(p, (await Bun.file(p).text()).replace(/[ \\t]+$/gm, \"\"))' && chmod +x dist/media-generation.js", + "typecheck": "tsc --noEmit", + "test": "bun test", + "test:bundle": "MEDIA_GENERATION_CLI=dist bun test", + "fmt": "bunx prettier --write \"src/**/*.ts\" \"tests/**/*.ts\" \"*.json\"", + "fmt:check": "bunx prettier --check \"src/**/*.ts\" \"tests/**/*.ts\" \"*.json\"" + }, + "dependencies": { + "@ai-sdk/openai-compatible": "3.0.7", + "ai": "7.0.22", + "zod": "4.3.6" + }, + "devDependencies": { + "@types/bun": "1.3.14", + "@types/node": "22.10.5", + "prettier": "3.6.2", + "typescript": "5.7.2" + } +} diff --git a/SKILLS/media-generation/references/CLI_REFERENCE.md b/SKILLS/media-generation/references/CLI_REFERENCE.md new file mode 100644 index 0000000..0372b67 --- /dev/null +++ b/SKILLS/media-generation/references/CLI_REFERENCE.md @@ -0,0 +1,83 @@ +# CLI Reference + +## Invocation + +The wrapper resolves its own directory and runs the bundled Node-target JavaScript: + +```bash +./media-generation [--field value] +``` + +Both `--field value` and `--field=value` are accepted. Kebab-case forms such as +`--output-dir`, `--input-images`, `--aspect-ratio`, and `--timeout-ms` are aliases for the +documented camelCase fields. Unknown fields, duplicate scalar fields, missing values, and +positional arguments fail with `INVALID_INPUT`. + +## Commands + +### doctor + +Takes no arguments. Requires both environment variables and performs authenticated model +discovery. The API key check is represented only as ``. + +### models + +Takes no arguments and performs no network access. Returns image and video aliases, routes, and +capabilities from the static registry. + +### image + +| Field | Required | Default | Meaning | +| --- | --- | --- | --- | +| `prompt` | yes | - | Generation or edit instruction | +| `model` | no | `gpt-image-2` | Registry alias | +| `outputDir` | no | current directory | Destination directory | +| `inputImages` | no | - | Repeat or comma-separate local image paths | +| `maskImage` | no | - | Local mask; requires `inputImages` | +| `size` | no | model default | `widthxheight`; mutually exclusive with `aspectRatio` | +| `aspectRatio` | no | model default | `width:height` | +| `timeoutMs` | no | `600000` | Whole operation timeout, 100-1800000 | + +Image output uses `generated-image.`. Existing files are not overwritten; the next file is +`generated-image (1).`. + +### video + +| Field | Required | Default | Meaning | +| --- | --- | --- | --- | +| `prompt` | yes | - | Video instruction | +| `model` | no | `grok-imagine-video` | Registry alias | +| `path` | yes | - | Output path; `.mp4`, `.webm`, `.mov`, or no extension | +| `inputImage` | no | - | Local image for image-to-video | +| `seconds` | no | provider default | Duration, 1-15 | +| `size` | no | provider default | Supported `widthxheight` | +| `pollIntervalMs` | no | `2000` | Status poll delay, 10-30000 | +| `timeoutMs` | no | `600000` | Whole operation timeout, 100-1800000 | +| `maxDownloadBytes` | no | `268435456` | Stream bound, maximum 536870912 | + +Partial video files are removed after aborts, provider errors, I/O errors, and download-limit +failures. Existing output names receive a numbered suffix. + +## JSON And Exit Codes + +Success is written only to stdout with exit code 0: + +```json +{"ok":true,"data":{"path":"/absolute/output.png","bytes":123,"mimeType":"image/png","model":"gpt-image-2","route":"gpt-image-2"}} +``` + +Failures are written only to stderr with exit code 1: + +```json +{"ok":false,"error":{"code":"UNSUPPORTED_CAPABILITY","message":"[UNSUPPORTED_CAPABILITY] ..."}} +``` + +Prompts and credentials are omitted from success payloads. Diagnostics redact Bearer tokens, +`sk-*` tokens, and the exact configured API key. + +## Local File Safety + +Relative paths resolve from the caller's current directory; `~/` is expanded. NUL-containing +paths are rejected. Inputs must resolve to regular files and are validated by byte signature. +Supported inputs are PNG, JPEG, GIF, and WebP, bounded to 20 MiB each. Output directories are +created with private permissions and files use exclusive creation with mode `0600`. \ No newline at end of file diff --git a/SKILLS/media-generation/references/MODEL_REGISTRY.md b/SKILLS/media-generation/references/MODEL_REGISTRY.md new file mode 100644 index 0000000..a810473 --- /dev/null +++ b/SKILLS/media-generation/references/MODEL_REGISTRY.md @@ -0,0 +1,93 @@ +# Model Registry Reference + +This document describes the model registry implementation in `src/models.ts`. + +## Image Models + +### gpt-image-2 + +- **Route:** `gpt-image-2` +- **Capabilities:** Generation, Editing, Masking +- **Max Input Images:** 16 +- **Size Constraints:** + - Generation (no input): Custom sizes with edges divisible by 16, ≤3840, ratio ≤3:1, 655360-8294400 pixels + - Editing (with input): Standard sizes only (1024x1024, 1536x1024, 1024x1536) +- **Aspect Ratios:** 1:1, 3:2, 2:3 (auto-mapped to standard sizes) + +### gpt-5-image + +- **Route:** `gpt-image-1.5` +- **Capabilities:** Generation, Editing, Masking +- **Max Input Images:** 16 +- **Standard Sizes:** 1024x1024, 1536x1024, 1024x1536 +- **Aspect Ratios:** 1:1, 3:2, 2:3 + +### nanobanana (Gemini 2.5 Flash Image) + +- **Route:** `google/gemini-2.5-flash-image` +- **Capabilities:** Generation, Editing, Masking +- **Max Input Images:** 4 +- **Aspect Ratios:** 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 +- **Size:** Optional custom size support + +### nanobanana-2 (Gemini 3.1 Flash Image Preview) + +- **Route:** `google/gemini-3.1-flash-image-preview` +- **Capabilities:** Generation, Editing, Masking +- **Max Input Images:** 4 +- **Aspect Ratios:** Extended set (includes 1:4, 4:1, 1:8, 8:1) + +### nanobanana-2-lite (Gemini 3.1 Flash Lite Image) + +- **Route:** `google/gemini-3.1-flash-lite-image` +- **Capabilities:** Generation, Editing (no masking) +- **Max Input Images:** 4 +- **Aspect Ratios:** Extended set +- **Size:** Not supported (produces 1K output, use aspectRatio only) + +### nanobanana-pro (Gemini 3 Pro Image Preview) + +- **Route:** `google/gemini-3-pro-image-preview` +- **Capabilities:** Generation, Editing, Masking +- **Max Input Images:** 4 +- **Aspect Ratios:** Standard set + +### grok-imagine-image + +- **Route:** `grok-imagine-image` +- **Capabilities:** Generation, Editing (no masking) +- **Max Input Images:** 1 +- **Aspect Ratios:** 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2, 19.5:9, 9:19.5, 20:9, 9:20 +- **Size:** Not supported + +### grok-imagine-image-pro + +- **Route:** `grok-imagine-image-pro` +- **Capabilities:** Generation, Editing (no masking) +- **Max Input Images:** 1 +- **Aspect Ratios:** Same as grok-imagine-image +- **Size:** Not supported + +## Video Models + +### grok-imagine-video + +- **Route:** `grok-imagine-video` +- **Capabilities:** Generation with optional input image reference +- **Supported Sizes:** 1280x720, 720x1280, 854x480, 480x854, 640x480, 480x640, 640x640, 960x640, 640x960 + +## Validation Rules + +All models are validated before HTTP requests: + +1. **Model existence** – Unknown aliases are rejected by the input schema with `INVALID_INPUT` +2. **Capability check** – Operations not supported by the model fail with `UNSUPPORTED_CAPABILITY` +3. **Size/aspect ratio** – Invalid dimensions are rejected per model's allowed list +4. **Input image count** – Exceeding `maxInputImages` fails validation +5. **Mask support** – Using `maskImage` with non-supporting models is rejected + +## No Fallbacks + +- Validation failures result in immediate errors +- No automatic downgrading or retry logic +- No hidden model substitution diff --git a/SKILLS/media-generation/references/PROTOCOLS.md b/SKILLS/media-generation/references/PROTOCOLS.md new file mode 100644 index 0000000..5873184 --- /dev/null +++ b/SKILLS/media-generation/references/PROTOCOLS.md @@ -0,0 +1,50 @@ +# Provider Protocols + +## Environment And Base URL + +Only these environment variables are read: + +```text +OPENAI_COMPATIBLE_BASE_URL +OPENAI_COMPATIBLE_API_KEY +``` + +The base URL accepts HTTP or HTTPS, rejects URL credentials/query/fragment, and receives a `/v1` +suffix when absent. + +## Doctor + +`doctor` sends: + +```http +GET /v1/models +Authorization: Bearer +``` + +It requires JSON shaped as `{ "data": [{ "id": "..." }] }`, reports route availability, and +fails on non-2xx or malformed responses. Error bodies are bounded and credentials are redacted. + +## Image + +Image generation uses AI SDK `createOpenAICompatible` plus `generateImage` with `maxRetries: 0`. +The selected alias maps to exactly one route; no model or provider fallback exists. + +Generation sends JSON to `/v1/images/generations`. Editing sends multipart form data to +`/v1/images/edits`, with repeated `image` parts and optional `mask`. Model capability validation +and local image validation complete before HTTP. + +For non-GPT aliases, `aspectRatio` is passed as provider field `aspect_ratio`. GPT aliases map +their supported ratios to standard image sizes. + +## Video + +The implementation follows QuantumNous/new-api's OpenAI-compatible video API: + +1. `POST /v1/videos` as multipart form data with `prompt`, `model`, optional `seconds`, optional + `size`, and optional file field `input_reference`. +2. Poll `GET /v1/videos/:id` until `succeeded`/`completed` or a terminal failure. +3. Stream `GET /v1/videos/:id/content` to an exclusive local file. + +All requests use the same Bearer credential and operation AbortSignal. The timeout covers upload, +polling, and download. Both `Content-Length` and actual streamed bytes are checked against the +download bound; partial output is unlinked on failure. \ No newline at end of file diff --git a/SKILLS/media-generation/src/cli.ts b/SKILLS/media-generation/src/cli.ts new file mode 100644 index 0000000..38c45a5 --- /dev/null +++ b/SKILLS/media-generation/src/cli.ts @@ -0,0 +1,256 @@ +#!/usr/bin/env node +import { z } from "zod"; +import { API_KEY_ENV, BASE_URL_ENV, resolveCredentials } from "./config"; +import { CustomMediaError, redactDiagnostic } from "./errors"; +import { authorizationHeaders, providerURL, readProviderJson } from "./http"; +import { generateImageCommand } from "./image"; +import { IMAGE_MODEL_REGISTRY, VIDEO_MODEL_REGISTRY } from "./models"; +import { generateVideoCommand } from "./video"; + +type Command = "doctor" | "models" | "image" | "video"; +type JsonSuccess = { ok: true; data: unknown }; +type JsonFailure = { ok: false; error: { code: string; message: string } }; + +const modelListSchema = z.object({ + data: z.array(z.object({ id: z.string() }).passthrough()), +}); + +const IMAGE_FIELDS = new Set([ + "prompt", + "model", + "outputDir", + "inputImages", + "maskImage", + "size", + "aspectRatio", + "timeoutMs", +]); +const VIDEO_FIELDS = new Set([ + "prompt", + "model", + "path", + "inputImage", + "seconds", + "size", + "pollIntervalMs", + "timeoutMs", + "maxDownloadBytes", +]); + +function writeSuccess(data: unknown): void { + const output: JsonSuccess = { ok: true, data }; + process.stdout.write(`${JSON.stringify(output)}\n`); +} + +function writeFailure(error: unknown): never { + const known = + error instanceof CustomMediaError + ? error + : new CustomMediaError("PROVIDER_ERROR", redactDiagnostic(error)); + const output: JsonFailure = { + ok: false, + error: { code: known.code, message: known.message }, + }; + process.stderr.write(`${JSON.stringify(output)}\n`); + process.exit(1); +} + +function usageData() { + return { + usage: "media-generation [--field value]", + commands: ["doctor", "models", "image", "video"], + environment: ["OPENAI_COMPATIBLE_BASE_URL", "OPENAI_COMPATIBLE_API_KEY"], + }; +} + +function canonicalField(raw: string): string { + const aliases: Record = { + "output-dir": "outputDir", + "input-images": "inputImages", + "mask-image": "maskImage", + "aspect-ratio": "aspectRatio", + "timeout-ms": "timeoutMs", + "input-image": "inputImage", + "poll-interval-ms": "pollIntervalMs", + "max-download-bytes": "maxDownloadBytes", + }; + return aliases[raw] ?? raw; +} + +export function parseCommandArguments( + command: "image" | "video", + args: readonly string[], +): Record { + const allowed = command === "image" ? IMAGE_FIELDS : VIDEO_FIELDS; + const result: Record = {}; + const inputImages: string[] = []; + + for (let index = 0; index < args.length; index++) { + const token = args[index]!; + if (!token.startsWith("--") || token === "--") { + throw new CustomMediaError( + "INVALID_INPUT", + `Unexpected positional argument '${token}'.`, + ); + } + const equalIndex = token.indexOf("="); + const rawField = token.slice(2, equalIndex < 0 ? undefined : equalIndex); + const field = canonicalField(rawField); + if (!allowed.has(field)) { + throw new CustomMediaError( + "INVALID_INPUT", + `Unknown ${command} option '--${rawField}'.`, + ); + } + let value: string; + if (equalIndex >= 0) { + value = token.slice(equalIndex + 1); + } else { + const next = args[index + 1]; + if (next === undefined || next.startsWith("--")) { + throw new CustomMediaError( + "INVALID_INPUT", + `Option '--${rawField}' requires a value.`, + ); + } + value = next; + index += 1; + } + if (!value.length) { + throw new CustomMediaError( + "INVALID_INPUT", + `Option '--${rawField}' must not be empty.`, + ); + } + if (field === "inputImages") { + inputImages.push( + ...value + .split(",") + .map((entry) => entry.trim()) + .filter(Boolean), + ); + continue; + } + if (Object.hasOwn(result, field)) { + throw new CustomMediaError( + "INVALID_INPUT", + `Option '--${rawField}' was provided twice.`, + ); + } + result[field] = value; + } + if (inputImages.length) result.inputImages = inputImages; + return result; +} + +async function doctorCommand(): Promise { + const credentials = resolveCredentials(); + let raw: unknown; + try { + const response = await fetch(providerURL(credentials.baseURL, "models"), { + headers: authorizationHeaders(credentials.apiKey), + signal: AbortSignal.timeout(10_000), + }); + raw = await readProviderJson(response, "List models", credentials.apiKey); + } catch (error) { + if (error instanceof CustomMediaError) throw error; + throw new CustomMediaError( + "PROVIDER_ERROR", + `List models failed: ${redactDiagnostic(error, [credentials.apiKey])}`, + ); + } + const parsed = modelListSchema.safeParse(raw); + if (!parsed.success) { + throw new CustomMediaError( + "PROVIDER_ERROR", + "List models returned malformed JSON.", + ); + } + const availableIds = new Set(parsed.data.data.map((model) => model.id)); + const routes = [ + ...Object.values(IMAGE_MODEL_REGISTRY), + ...Object.values(VIDEO_MODEL_REGISTRY), + ].map((registration) => registration.route); + return { + checks: [ + { check: BASE_URL_ENV, status: "ok", value: credentials.baseURL }, + { check: API_KEY_ENV, status: "ok", value: "" }, + { + check: "GET /models", + status: "ok", + value: `${parsed.data.data.length} models`, + }, + ], + availableModels: [...new Set(routes)].map((id) => ({ + id, + available: availableIds.has(id), + })), + }; +} + +function modelsCommand(): unknown { + return { + imageModels: Object.values(IMAGE_MODEL_REGISTRY).map((registration) => ({ + alias: registration.alias, + route: registration.route, + capabilities: { + supportsEdit: registration.profile.supportsEdit, + supportsMask: registration.profile.supportsMask, + maxInputImages: registration.profile.maxInputImages, + }, + })), + videoModels: Object.values(VIDEO_MODEL_REGISTRY).map((registration) => ({ + alias: registration.alias, + route: registration.route, + capabilities: { + supportsInputImage: registration.profile.supportsInputImage, + }, + })), + }; +} + +async function main(): Promise { + const args = process.argv.slice(2); + if (args.length === 0 || args[0] === "--help" || args[0] === "-h") { + writeSuccess(usageData()); + return; + } + const command = args[0] as Command; + if (!new Set(["doctor", "models", "image", "video"]).has(command)) { + throw new CustomMediaError( + "INVALID_INPUT", + `Unknown command '${args[0]}'.`, + ); + } + if ((command === "doctor" || command === "models") && args.length > 1) { + throw new CustomMediaError( + "INVALID_INPUT", + `${command} does not accept arguments.`, + ); + } + + switch (command) { + case "doctor": + writeSuccess(await doctorCommand()); + return; + case "models": + writeSuccess(modelsCommand()); + return; + case "image": + writeSuccess( + await generateImageCommand( + parseCommandArguments("image", args.slice(1)), + ), + ); + return; + case "video": + writeSuccess( + await generateVideoCommand( + parseCommandArguments("video", args.slice(1)), + ), + ); + return; + } +} + +main().catch(writeFailure); diff --git a/SKILLS/media-generation/src/config.ts b/SKILLS/media-generation/src/config.ts new file mode 100644 index 0000000..59cdaca --- /dev/null +++ b/SKILLS/media-generation/src/config.ts @@ -0,0 +1,63 @@ +import { CustomMediaError, redactDiagnostic } from "./errors"; + +export const BASE_URL_ENV = "OPENAI_COMPATIBLE_BASE_URL"; +export const API_KEY_ENV = "OPENAI_COMPATIBLE_API_KEY"; + +export type ResolvedCredentials = { + baseURL: string; + apiKey: string; +}; + +export function normalizeOpenAICompatibleBaseURL(raw: string): string { + let url: URL; + try { + url = new URL(raw); + } catch { + throw new CustomMediaError( + "INVALID_CONFIG", + "The configured base URL is not a valid URL.", + ); + } + if (!new Set(["http:", "https:"]).has(url.protocol)) { + throw new CustomMediaError( + "INVALID_CONFIG", + "The configured base URL must use HTTP or HTTPS.", + ); + } + if (url.username || url.password || url.search || url.hash) { + throw new CustomMediaError( + "INVALID_CONFIG", + "The configured base URL must not contain credentials, query parameters, or a fragment.", + ); + } + let pathname = url.pathname.replace(/\/+$/u, ""); + if (!pathname.endsWith("/v1")) pathname = `${pathname}/v1`; + url.pathname = pathname.replace(/^$/u, "/v1"); + return url.toString().replace(/\/$/u, ""); +} + +export function resolveCredentials(): ResolvedCredentials { + const rawBaseURL = process.env[BASE_URL_ENV]?.trim(); + const apiKey = process.env[API_KEY_ENV]?.trim(); + if (!rawBaseURL) { + throw new CustomMediaError( + "MISSING_ENV", + `Required base URL environment variable '${BASE_URL_ENV}' is not set.`, + ); + } + if (!apiKey) { + throw new CustomMediaError( + "MISSING_ENV", + `Required API key environment variable '${API_KEY_ENV}' is not set.`, + ); + } + try { + return { baseURL: normalizeOpenAICompatibleBaseURL(rawBaseURL), apiKey }; + } catch (error) { + if (error instanceof CustomMediaError) throw error; + throw new CustomMediaError( + "INVALID_CONFIG", + `Could not resolve provider configuration: ${redactDiagnostic(error, [apiKey])}`, + ); + } +} diff --git a/SKILLS/media-generation/src/errors.ts b/SKILLS/media-generation/src/errors.ts new file mode 100644 index 0000000..4ae380b --- /dev/null +++ b/SKILLS/media-generation/src/errors.ts @@ -0,0 +1,79 @@ +import { ZodError, type ZodType } from "zod"; + +export const CUSTOM_MEDIA_ERROR_CODES = [ + "INVALID_CONFIG", + "MISSING_ENV", + "INVALID_INPUT", + "UNSUPPORTED_MODEL", + "UNSUPPORTED_CAPABILITY", + "UNSAFE_PATH", + "INVALID_MEDIA", + "MEDIA_TOO_LARGE", + "PROVIDER_ERROR", + "VIDEO_FAILED", + "DOWNLOAD_TOO_LARGE", + "TIMEOUT", + "ABORTED", + "IO_ERROR", +] as const; + +export type CustomMediaErrorCode = (typeof CUSTOM_MEDIA_ERROR_CODES)[number]; + +export class CustomMediaError extends Error { + override readonly name = "CustomMediaError"; + + constructor( + readonly code: CustomMediaErrorCode, + message: string, + ) { + super(`[${code}] ${message}`); + } +} + +export function parseWithSchema( + schema: ZodType, + input: unknown, + label: string, +): T { + const parsed = schema.safeParse(input); + if (parsed.success) return parsed.data; + + const issues = parsed.error.issues + .slice(0, 6) + .map((issue) => `${issue.path.join(".") || "input"}: ${issue.message}`) + .join("; "); + throw new CustomMediaError("INVALID_INPUT", `${label} is invalid: ${issues}`); +} + +export function redactDiagnostic( + value: unknown, + secrets: readonly string[] = [], +): string { + let message = value instanceof Error ? value.message : String(value); + message = message + .replace(/Bearer\s+[A-Za-z0-9._~+/=-]+/giu, "Bearer [REDACTED]") + .replace(/\bsk-[A-Za-z0-9._-]{8,}\b/gu, "[REDACTED]"); + for (const secret of secrets) { + if (secret.length >= 4) message = message.split(secret).join("[REDACTED]"); + } + return message.replace(/[\r\n\t]+/gu, " ").slice(0, 500); +} + +export function asCustomMediaError( + error: unknown, + fallbackCode: CustomMediaErrorCode, + fallbackMessage: string, + secrets: readonly string[] = [], +): CustomMediaError { + if (error instanceof CustomMediaError) return error; + if (error instanceof ZodError) { + return new CustomMediaError( + "INVALID_INPUT", + `${fallbackMessage}: invalid structured data`, + ); + } + return new CustomMediaError( + fallbackCode, + `${fallbackMessage}: ${redactDiagnostic(error, secrets)}`, + ); +} diff --git a/SKILLS/media-generation/src/http.ts b/SKILLS/media-generation/src/http.ts new file mode 100644 index 0000000..9ae11e5 --- /dev/null +++ b/SKILLS/media-generation/src/http.ts @@ -0,0 +1,87 @@ +import { CustomMediaError, redactDiagnostic } from "./errors"; + +const MAX_ERROR_BODY_BYTES = 64 * 1024; + +export function authorizationHeaders(apiKey: string): Record { + return { Authorization: `Bearer ${apiKey}` }; +} + +export function providerURL(baseURL: string, suffix: string): string { + return `${baseURL.replace(/\/$/u, "")}/${suffix.replace(/^\//u, "")}`; +} + +export async function readBoundedText( + response: Response, + limit = MAX_ERROR_BODY_BYTES, +) { + if (!response.body) return ""; + const reader = response.body.getReader(); + const chunks: Uint8Array[] = []; + let total = 0; + try { + while (true) { + const item = await reader.read(); + if (item.done) break; + if (total + item.value.byteLength > limit) { + const remaining = Math.max(0, limit - total); + if (remaining) chunks.push(item.value.subarray(0, remaining)); + total = limit; + await reader.cancel(); + break; + } + chunks.push(item.value); + total += item.value.byteLength; + } + } finally { + reader.releaseLock(); + } + return Buffer.concat( + chunks.map((chunk) => Buffer.from(chunk)), + total, + ).toString("utf8"); +} + +function errorMessageFromBody(body: string): string { + try { + const parsed = JSON.parse(body) as { + error?: { message?: unknown } | string; + message?: unknown; + }; + if (typeof parsed.error === "string") return parsed.error; + if (typeof parsed.error?.message === "string") return parsed.error.message; + if (typeof parsed.message === "string") return parsed.message; + } catch { + // Fall through to the bounded plain-text body. + } + return body || "no response body"; +} + +export async function assertSuccessfulResponse( + response: Response, + operation: string, + apiKey: string, +): Promise { + if (response.ok) return; + const body = await readBoundedText(response); + throw new CustomMediaError( + "PROVIDER_ERROR", + `${operation} failed with HTTP ${response.status}: ${redactDiagnostic(errorMessageFromBody(body), [apiKey])}`, + ); +} + +export async function readProviderJson( + response: Response, + operation: string, + apiKey: string, +) { + await assertSuccessfulResponse(response, operation, apiKey); + const body = await readBoundedText(response, 1024 * 1024); + try { + return JSON.parse(body) as unknown; + } catch { + throw new CustomMediaError( + "PROVIDER_ERROR", + `${operation} returned malformed JSON: ${redactDiagnostic(body, [apiKey])}`, + ); + } +} diff --git a/SKILLS/media-generation/src/image.ts b/SKILLS/media-generation/src/image.ts new file mode 100644 index 0000000..2e1a944 --- /dev/null +++ b/SKILLS/media-generation/src/image.ts @@ -0,0 +1,101 @@ +import path from "node:path"; +import { createOpenAICompatible } from "@ai-sdk/openai-compatible"; +import { generateImage } from "ai"; +import { resolveCredentials } from "./config"; +import { + asCustomMediaError, + CustomMediaError, + parseWithSchema, +} from "./errors"; +import { imageExtensionFromBytes, readValidatedImage } from "./media"; +import { resolveImageDimensions, validateImageModelInput } from "./models"; +import { + prepareOutputDirectory, + resolveLocalPath, + writeUniqueFile, +} from "./paths"; +import { + imageInputSchema, + imageOutputSchema, + type ImageOutput, +} from "./schemas"; +import { createCallSignal } from "./signal"; + +type GenerateImagePrompt = Parameters[0]["prompt"]; + +async function buildPrompt( + input: ReturnType, + cwd: string, +): Promise { + if (!input.inputImages?.length) return input.prompt; + const images: Uint8Array[] = []; + for (const imagePath of input.inputImages) { + const resolved = resolveLocalPath(cwd, imagePath); + images.push((await readValidatedImage({ filePath: resolved })).bytes); + } + let mask: Uint8Array | undefined; + if (input.maskImage) { + const resolved = resolveLocalPath(cwd, input.maskImage); + mask = (await readValidatedImage({ filePath: resolved })).bytes; + } + return { text: input.prompt, images, mask }; +} + +export async function generateImageCommand( + rawInput: Record, + options: { cwd?: string; signal?: AbortSignal } = {}, +): Promise { + const input = parseWithSchema(imageInputSchema, rawInput, "image input"); + const registration = validateImageModelInput(input); + const credentials = resolveCredentials(); + const cwd = options.cwd ?? process.cwd(); + const callSignal = createCallSignal(options.signal, input.timeoutMs); + + try { + const prompt = await buildPrompt(input, cwd); + const dimensions = resolveImageDimensions(input); + const provider = createOpenAICompatible({ + name: "customMedia", + baseURL: credentials.baseURL, + apiKey: credentials.apiKey, + }); + const result = await generateImage({ + model: provider.imageModel(registration.route), + prompt, + size: dimensions.size, + providerOptions: dimensions.aspectRatio + ? { customMedia: { aspect_ratio: dimensions.aspectRatio } } + : undefined, + maxRetries: 0, + abortSignal: callSignal.signal, + }); + + const bytes = result.image.uint8Array; + const extension = imageExtensionFromBytes(bytes); + const outputDir = resolveLocalPath(cwd, input.outputDir ?? "."); + const realOutputDir = await prepareOutputDirectory(outputDir); + const outputPath = await writeUniqueFile( + path.join(realOutputDir, `generated-image${extension}`), + bytes, + ); + return imageOutputSchema.parse({ + ok: true, + path: outputPath, + bytes: bytes.byteLength, + mimeType: result.image.mediaType, + model: input.model, + route: registration.route, + }); + } catch (error) { + if (callSignal.signal.aborted) callSignal.mapAbort(error); + if (error instanceof CustomMediaError) throw error; + throw asCustomMediaError( + error, + "PROVIDER_ERROR", + "Image generation failed", + [credentials.apiKey], + ); + } finally { + callSignal.cleanup(); + } +} diff --git a/SKILLS/media-generation/src/media.ts b/SKILLS/media-generation/src/media.ts new file mode 100644 index 0000000..c5a2f5b --- /dev/null +++ b/SKILLS/media-generation/src/media.ts @@ -0,0 +1,92 @@ +import fs from "node:fs/promises"; +import path from "node:path"; +import { CustomMediaError } from "./errors"; +import { assertSafeInputFile } from "./paths"; + +export const MAX_INPUT_IMAGE_BYTES = 20 * 1024 * 1024; + +export type ValidatedImage = { + bytes: Uint8Array; + mimeType: "image/png" | "image/jpeg" | "image/gif" | "image/webp"; + extension: ".png" | ".jpg" | ".gif" | ".webp"; + filename: string; +}; + +function startsWith(bytes: Uint8Array, signature: readonly number[]): boolean { + return signature.every((value, index) => bytes[index] === value); +} + +export function detectImageType( + bytes: Uint8Array, +): Pick | null { + if (startsWith(bytes, [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a])) { + return { mimeType: "image/png", extension: ".png" }; + } + if (startsWith(bytes, [0xff, 0xd8, 0xff])) { + return { mimeType: "image/jpeg", extension: ".jpg" }; + } + const ascii = Buffer.from(bytes.subarray(0, 12)).toString("ascii"); + if (ascii.startsWith("GIF87a") || ascii.startsWith("GIF89a")) { + return { mimeType: "image/gif", extension: ".gif" }; + } + if (ascii.startsWith("RIFF") && ascii.slice(8, 12) === "WEBP") { + return { mimeType: "image/webp", extension: ".webp" }; + } + return null; +} + +export async function readValidatedImage(params: { + filePath: string; + maxBytes?: number; +}): Promise { + const safe = await assertSafeInputFile(params.filePath); + const maxBytes = params.maxBytes ?? MAX_INPUT_IMAGE_BYTES; + if (safe.size > maxBytes) { + throw new CustomMediaError( + "MEDIA_TOO_LARGE", + `Input image '${params.filePath}' exceeds ${maxBytes} bytes.`, + ); + } + const bytes = await fs.readFile(safe.realPath); + const type = detectImageType(bytes); + if (!type) { + throw new CustomMediaError( + "INVALID_MEDIA", + `Input file '${params.filePath}' is not a supported PNG, JPEG, GIF, or WebP image.`, + ); + } + return { + bytes, + ...type, + filename: `${path.basename(safe.realPath, path.extname(safe.realPath))}${type.extension}`, + }; +} + +export function imageExtensionFromBytes(bytes: Uint8Array): string { + const detected = detectImageType(bytes); + if (!detected) { + throw new CustomMediaError( + "INVALID_MEDIA", + "Provider returned data that is not a supported image.", + ); + } + return detected.extension; +} + +export function videoExtensionForMime(mimeType: string): string { + switch (mimeType.toLowerCase().split(";")[0]?.trim()) { + case "video/mp4": + return ".mp4"; + case "video/webm": + return ".webm"; + case "video/quicktime": + return ".mov"; + case "application/octet-stream": + return ".mp4"; + default: + throw new CustomMediaError( + "INVALID_MEDIA", + `Provider returned unsupported video content type '${mimeType.slice(0, 100)}'.`, + ); + } +} diff --git a/SKILLS/media-generation/src/models.ts b/SKILLS/media-generation/src/models.ts new file mode 100644 index 0000000..f1ae3ec --- /dev/null +++ b/SKILLS/media-generation/src/models.ts @@ -0,0 +1,287 @@ +import type { ImageInput, VideoInput } from "./schemas"; +import { CustomMediaError } from "./errors"; + +export const IMAGE_MODEL_ALIASES = [ + "gpt-image-2", + "gpt-5-image", + "nanobanana", + "nanobanana-2", + "nanobanana-2-lite", + "nanobanana-pro", + "grok-imagine-image", + "grok-imagine-image-pro", +] as const; + +export const VIDEO_MODEL_ALIASES = ["grok-imagine-video"] as const; + +export type ImageModelAlias = (typeof IMAGE_MODEL_ALIASES)[number]; +export type VideoModelAlias = (typeof VIDEO_MODEL_ALIASES)[number]; + +type ImageProfile = { + supportsEdit: boolean; + supportsMask: boolean; + maxInputImages: number; + validate(input: ImageInput): void; +}; + +type VideoProfile = { + supportsInputImage: boolean; + validate(input: VideoInput): void; +}; + +type ModelRegistration = { + alias: TAlias; + route: string; + profile: TProfile; +}; + +const GPT_ASPECT_RATIOS = ["1:1", "3:2", "2:3"] as const; +const GPT_STANDARD_SIZES = ["1024x1024", "1536x1024", "1024x1536"] as const; +const NANO_ASPECT_RATIOS = [ + "21:9", + "16:9", + "3:2", + "4:3", + "5:4", + "1:1", + "4:5", + "3:4", + "2:3", + "9:16", +] as const; +const NANO_WIDE_ASPECT_RATIOS = [ + ...NANO_ASPECT_RATIOS, + "1:4", + "4:1", + "1:8", + "8:1", +] as const; +const GROK_IMAGE_ASPECT_RATIOS = [ + "1:1", + "16:9", + "9:16", + "4:3", + "3:4", + "3:2", + "2:3", + "2:1", + "1:2", + "19.5:9", + "9:19.5", + "20:9", + "9:20", +] as const; +const GROK_VIDEO_SIZES = [ + "1280x720", + "720x1280", + "854x480", + "480x854", + "640x480", + "480x640", + "640x640", + "960x640", + "640x960", +] as const; + +function assertAllowed( + label: string, + value: string | undefined, + allowed: readonly string[], +): void { + if (value && !allowed.includes(value)) { + throw new CustomMediaError( + "UNSUPPORTED_CAPABILITY", + `Unsupported ${label} '${value}'. Allowed: ${allowed.join(", ")}.`, + ); + } +} + +function validateGptImage(input: ImageInput, isGptImage2: boolean): void { + assertAllowed("aspectRatio", input.aspectRatio, GPT_ASPECT_RATIOS); + if (!input.size) return; + + if (!isGptImage2 || input.inputImages?.length) { + assertAllowed("size", input.size, GPT_STANDARD_SIZES); + return; + } + + const [width, height] = input.size.split("x").map(Number); + const pixels = width! * height!; + if ( + width! % 16 !== 0 || + height! % 16 !== 0 || + width! > 3840 || + height! > 3840 || + Math.max(width!, height!) / Math.min(width!, height!) > 3 || + pixels < 655_360 || + pixels > 8_294_400 + ) { + throw new CustomMediaError( + "UNSUPPORTED_CAPABILITY", + "gpt-image-2 generation sizes require edges divisible by 16 and <=3840, ratio <=3:1, and 655360-8294400 total pixels.", + ); + } +} + +function gptProfile(isGptImage2: boolean): ImageProfile { + return { + supportsEdit: true, + supportsMask: true, + maxInputImages: 16, + validate: (input) => validateGptImage(input, isGptImage2), + }; +} + +function nanoProfile( + params: { wide?: boolean; lite?: boolean } = {}, +): ImageProfile { + return { + supportsEdit: true, + supportsMask: !params.lite, + maxInputImages: 4, + validate(input) { + assertAllowed( + "aspectRatio", + input.aspectRatio, + params.wide ? NANO_WIDE_ASPECT_RATIOS : NANO_ASPECT_RATIOS, + ); + if (params.lite && input.size) { + throw new CustomMediaError( + "UNSUPPORTED_CAPABILITY", + "nanobanana-2-lite produces 1K output; use aspectRatio instead of size.", + ); + } + }, + }; +} + +function grokImageProfile(): ImageProfile { + return { + supportsEdit: true, + supportsMask: false, + maxInputImages: 1, + validate(input) { + if (input.size) { + throw new CustomMediaError( + "UNSUPPORTED_CAPABILITY", + "Grok image models do not support size; use aspectRatio.", + ); + } + assertAllowed("aspectRatio", input.aspectRatio, GROK_IMAGE_ASPECT_RATIOS); + }, + }; +} + +export const IMAGE_MODEL_REGISTRY: Readonly< + Record> +> = { + "gpt-image-2": { + alias: "gpt-image-2", + route: "gpt-image-2", + profile: gptProfile(true), + }, + "gpt-5-image": { + alias: "gpt-5-image", + route: "gpt-image-1.5", + profile: gptProfile(false), + }, + nanobanana: { + alias: "nanobanana", + route: "google/gemini-2.5-flash-image", + profile: nanoProfile(), + }, + "nanobanana-2": { + alias: "nanobanana-2", + route: "google/gemini-3.1-flash-image-preview", + profile: nanoProfile({ wide: true }), + }, + "nanobanana-2-lite": { + alias: "nanobanana-2-lite", + route: "google/gemini-3.1-flash-lite-image", + profile: nanoProfile({ wide: true, lite: true }), + }, + "nanobanana-pro": { + alias: "nanobanana-pro", + route: "google/gemini-3-pro-image-preview", + profile: nanoProfile(), + }, + "grok-imagine-image": { + alias: "grok-imagine-image", + route: "grok-imagine-image", + profile: grokImageProfile(), + }, + "grok-imagine-image-pro": { + alias: "grok-imagine-image-pro", + route: "grok-imagine-image-pro", + profile: grokImageProfile(), + }, +}; + +export const VIDEO_MODEL_REGISTRY: Readonly< + Record> +> = { + "grok-imagine-video": { + alias: "grok-imagine-video", + route: "grok-imagine-video", + profile: { + supportsInputImage: true, + validate(input) { + assertAllowed("size", input.size, GROK_VIDEO_SIZES); + }, + }, + }, +}; + +export function validateImageModelInput(input: ImageInput) { + const registration = IMAGE_MODEL_REGISTRY[input.model]; + const imageCount = input.inputImages?.length ?? 0; + if (imageCount > 0 && !registration.profile.supportsEdit) { + throw new CustomMediaError( + "UNSUPPORTED_CAPABILITY", + `${input.model} does not support image editing.`, + ); + } + if (imageCount > registration.profile.maxInputImages) { + throw new CustomMediaError( + "UNSUPPORTED_CAPABILITY", + `${input.model} accepts at most ${registration.profile.maxInputImages} input image(s).`, + ); + } + if (input.maskImage && !registration.profile.supportsMask) { + throw new CustomMediaError( + "UNSUPPORTED_CAPABILITY", + `${input.model} does not support maskImage.`, + ); + } + registration.profile.validate(input); + return registration; +} + +export function validateVideoModelInput(input: VideoInput) { + const registration = VIDEO_MODEL_REGISTRY[input.model]; + if (input.inputImage && !registration.profile.supportsInputImage) { + throw new CustomMediaError( + "UNSUPPORTED_CAPABILITY", + `${input.model} does not support image-to-video.`, + ); + } + registration.profile.validate(input); + return registration; +} + +export function resolveImageDimensions(input: ImageInput): { + size?: `${number}x${number}`; + aspectRatio?: string; +} { + if (input.size) return { size: input.size as `${number}x${number}` }; + if (!input.aspectRatio) return {}; + if (input.model === "gpt-image-2" || input.model === "gpt-5-image") { + const sizes: Record = { + "1:1": "1024x1024", + "3:2": "1536x1024", + "2:3": "1024x1536", + }; + return { size: sizes[input.aspectRatio] }; + } + return { aspectRatio: input.aspectRatio }; +} diff --git a/SKILLS/media-generation/src/paths.ts b/SKILLS/media-generation/src/paths.ts new file mode 100644 index 0000000..71f7c61 --- /dev/null +++ b/SKILLS/media-generation/src/paths.ts @@ -0,0 +1,102 @@ +import fs, { type FileHandle } from "node:fs/promises"; +import { homedir } from "node:os"; +import path from "node:path"; +import { CustomMediaError } from "./errors"; + +function expandTilde(input: string): string { + if (input === "~") return homedir(); + if (input.startsWith("~/")) return path.join(homedir(), input.slice(2)); + return input; +} + +export function resolveLocalPath(cwd: string, inputPath: string): string { + if (inputPath.includes("\0")) { + throw new CustomMediaError( + "UNSAFE_PATH", + "File paths must not contain NUL bytes.", + ); + } + const expanded = expandTilde(inputPath); + return path.resolve( + path.isAbsolute(expanded) ? expanded : path.join(cwd, expanded), + ); +} + +export async function assertSafeInputFile( + filePath: string, +): Promise<{ realPath: string; size: number }> { + let realPath: string; + let stat: Awaited>; + try { + realPath = await fs.realpath(filePath); + stat = await fs.stat(realPath); + } catch { + throw new CustomMediaError( + "UNSAFE_PATH", + `Input file '${filePath}' is not readable.`, + ); + } + if (!stat.isFile()) { + throw new CustomMediaError( + "UNSAFE_PATH", + `Input path '${filePath}' is not a file.`, + ); + } + return { realPath, size: stat.size }; +} + +export async function prepareOutputDirectory( + directory: string, +): Promise { + try { + await fs.mkdir(directory, { recursive: true, mode: 0o700 }); + return await fs.realpath(directory); + } catch { + throw new CustomMediaError( + "IO_ERROR", + `Could not prepare output directory '${directory}'.`, + ); + } +} + +export async function reserveUniqueFile(targetPath: string): Promise<{ + path: string; + handle: FileHandle; +}> { + const extension = path.extname(targetPath); + const base = extension ? targetPath.slice(0, -extension.length) : targetPath; + for (let index = 0; index < 10_000; index++) { + const candidate = + index === 0 ? targetPath : `${base} (${index})${extension}`; + try { + const handle = await fs.open(candidate, "wx", 0o600); + return { path: candidate, handle }; + } catch (error) { + if ((error as NodeJS.ErrnoException).code === "EEXIST") continue; + throw new CustomMediaError( + "IO_ERROR", + "Could not create an exclusive output file.", + ); + } + } + throw new CustomMediaError( + "IO_ERROR", + "Could not find an unused output filename.", + ); +} + +export async function writeUniqueFile( + targetPath: string, + bytes: Uint8Array, +): Promise { + const reserved = await reserveUniqueFile(targetPath); + try { + await reserved.handle.writeFile(bytes); + await reserved.handle.close(); + return reserved.path; + } catch { + await reserved.handle.close().catch(() => undefined); + await fs.unlink(reserved.path).catch(() => undefined); + throw new CustomMediaError("IO_ERROR", "Could not write the output file."); + } +} diff --git a/SKILLS/media-generation/src/schemas.ts b/SKILLS/media-generation/src/schemas.ts new file mode 100644 index 0000000..f8cd1b9 --- /dev/null +++ b/SKILLS/media-generation/src/schemas.ts @@ -0,0 +1,98 @@ +import { z } from "zod"; +import { IMAGE_MODEL_ALIASES, VIDEO_MODEL_ALIASES } from "./models"; + +const optionalPathListSchema = z + .union([z.string().min(1), z.array(z.string().min(1)).min(1).max(16)]) + .optional() + .transform((value) => (typeof value === "string" ? [value] : value)); + +const timeoutSchema = z.coerce + .number() + .int() + .min(100) + .max(30 * 60_000) + .default(10 * 60_000); + +export const imageInputSchema = z + .object({ + prompt: z.string().trim().min(1).max(32_000), + model: z.enum(IMAGE_MODEL_ALIASES).default("gpt-image-2"), + outputDir: z.string().min(1).optional(), + inputImages: optionalPathListSchema, + maskImage: z.string().min(1).optional(), + size: z + .string() + .regex(/^\d+x\d+$/u) + .optional(), + aspectRatio: z + .string() + .regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/u) + .optional(), + timeoutMs: timeoutSchema, + }) + .strict() + .superRefine((input, context) => { + if (input.size && input.aspectRatio) { + context.addIssue({ + code: "custom", + message: "Provide only one of size or aspectRatio.", + }); + } + if (input.maskImage && !input.inputImages?.length) { + context.addIssue({ + code: "custom", + path: ["maskImage"], + message: "maskImage requires at least one inputImages entry.", + }); + } + }); + +export const videoInputSchema = z + .object({ + prompt: z.string().trim().min(1).max(32_000), + model: z.enum(VIDEO_MODEL_ALIASES).default("grok-imagine-video"), + path: z.string().min(1), + inputImage: z.string().min(1).optional(), + seconds: z.coerce.number().int().min(1).max(15).optional(), + size: z + .string() + .regex(/^\d+x\d+$/u) + .optional(), + pollIntervalMs: z.coerce.number().int().min(10).max(30_000).default(2_000), + timeoutMs: timeoutSchema, + maxDownloadBytes: z.coerce + .number() + .int() + .min(1) + .max(512 * 1024 * 1024) + .default(256 * 1024 * 1024), + }) + .strict(); + +export const imageOutputSchema = z + .object({ + ok: z.literal(true), + path: z.string(), + bytes: z.number().int().nonnegative(), + mimeType: z.string(), + model: z.enum(IMAGE_MODEL_ALIASES), + route: z.string(), + }) + .strict(); + +export const videoOutputSchema = z + .object({ + ok: z.literal(true), + path: z.string(), + bytes: z.number().int().nonnegative(), + mimeType: z.string(), + model: z.enum(VIDEO_MODEL_ALIASES), + route: z.string(), + videoId: z.string(), + }) + .strict(); + +export type ImageInput = z.infer; +export type VideoInput = z.infer; +export type ImageOutput = z.infer; +export type VideoOutput = z.infer; diff --git a/SKILLS/media-generation/src/signal.ts b/SKILLS/media-generation/src/signal.ts new file mode 100644 index 0000000..f9c3a6a --- /dev/null +++ b/SKILLS/media-generation/src/signal.ts @@ -0,0 +1,59 @@ +import { CustomMediaError } from "./errors"; + +export function createCallSignal( + parent: AbortSignal | undefined, + timeoutMs: number, +): { + signal: AbortSignal; + cleanup(): void; + mapAbort(error: unknown): never; +} { + const controller = new AbortController(); + let timedOut = false; + const timeout = setTimeout(() => { + timedOut = true; + controller.abort(new Error("custom-media timeout")); + }, timeoutMs); + + const onParentAbort = () => controller.abort(parent?.reason); + if (parent?.aborted) onParentAbort(); + else parent?.addEventListener("abort", onParentAbort, { once: true }); + + return { + signal: controller.signal, + cleanup() { + clearTimeout(timeout); + parent?.removeEventListener("abort", onParentAbort); + }, + mapAbort(error: unknown): never { + if (timedOut) { + throw new CustomMediaError( + "TIMEOUT", + `Operation exceeded its ${timeoutMs}ms timeout.`, + ); + } + if (parent?.aborted || controller.signal.aborted) { + throw new CustomMediaError("ABORTED", "Operation was aborted."); + } + throw error; + }, + }; +} + +export async function abortableSleep( + ms: number, + signal: AbortSignal, +): Promise { + if (signal.aborted) throw signal.reason; + await new Promise((resolve, reject) => { + const timeout = setTimeout(() => { + signal.removeEventListener("abort", onAbort); + resolve(); + }, ms); + const onAbort = () => { + clearTimeout(timeout); + reject(signal.reason); + }; + signal.addEventListener("abort", onAbort, { once: true }); + }); +} diff --git a/SKILLS/media-generation/src/video.ts b/SKILLS/media-generation/src/video.ts new file mode 100644 index 0000000..d917af0 --- /dev/null +++ b/SKILLS/media-generation/src/video.ts @@ -0,0 +1,307 @@ +import fs, { type FileHandle } from "node:fs/promises"; +import path from "node:path"; +import { z } from "zod"; +import { resolveCredentials } from "./config"; +import { + asCustomMediaError, + CustomMediaError, + parseWithSchema, + redactDiagnostic, +} from "./errors"; +import { + assertSuccessfulResponse, + authorizationHeaders, + providerURL, + readProviderJson, +} from "./http"; +import { readValidatedImage, videoExtensionForMime } from "./media"; +import { validateVideoModelInput } from "./models"; +import { + prepareOutputDirectory, + reserveUniqueFile, + resolveLocalPath, +} from "./paths"; +import { + videoInputSchema, + videoOutputSchema, + type VideoOutput, +} from "./schemas"; +import { abortableSleep, createCallSignal } from "./signal"; + +const videoTaskSchema = z + .object({ + id: z.string().min(1), + status: z.string().min(1), + progress: z.number().optional(), + error: z + .union([ + z.string(), + z.object({ message: z.string().optional() }).passthrough(), + z.null(), + ]) + .optional(), + }) + .passthrough(); + +const SUCCEEDED_STATUSES = new Set(["succeeded", "completed"]); +const FAILED_STATUSES = new Set(["failed", "cancelled", "canceled", "expired"]); + +function taskErrorMessage( + task: z.infer, + apiKey: string, +): string { + const message = + typeof task.error === "string" + ? task.error + : task.error && typeof task.error.message === "string" + ? task.error.message + : `Video task ended with status '${task.status}'.`; + return redactDiagnostic(message, [apiKey]); +} + +async function parseVideoTask( + response: Response, + operation: string, + apiKey: string, +) { + const raw = await readProviderJson(response, operation, apiKey); + const parsed = videoTaskSchema.safeParse(raw); + if (!parsed.success) { + throw new CustomMediaError( + "PROVIDER_ERROR", + `${operation} returned malformed task JSON.`, + ); + } + return parsed.data; +} + +async function createVideoTask(params: { + baseURL: string; + apiKey: string; + route: string; + input: z.infer; + inputImage?: Awaited>; + signal: AbortSignal; +}) { + const form = new FormData(); + form.set("prompt", params.input.prompt); + form.set("model", params.route); + if (params.input.seconds !== undefined) + form.set("seconds", String(params.input.seconds)); + if (params.input.size) form.set("size", params.input.size); + if (params.inputImage) { + form.set( + "input_reference", + new Blob([params.inputImage.bytes], { type: params.inputImage.mimeType }), + params.inputImage.filename, + ); + } + const response = await fetch(providerURL(params.baseURL, "videos"), { + method: "POST", + headers: authorizationHeaders(params.apiKey), + body: form, + signal: params.signal, + }); + return await parseVideoTask(response, "Create video", params.apiKey); +} + +async function waitForVideoTask(params: { + baseURL: string; + apiKey: string; + initialTask: z.infer; + pollIntervalMs: number; + signal: AbortSignal; +}) { + let task = params.initialTask; + while (true) { + const status = task.status.toLowerCase(); + if (SUCCEEDED_STATUSES.has(status)) return task; + if (FAILED_STATUSES.has(status)) { + throw new CustomMediaError( + "VIDEO_FAILED", + taskErrorMessage(task, params.apiKey), + ); + } + await abortableSleep(params.pollIntervalMs, params.signal); + const response = await fetch( + providerURL(params.baseURL, `videos/${encodeURIComponent(task.id)}`), + { headers: authorizationHeaders(params.apiKey), signal: params.signal }, + ); + task = await parseVideoTask(response, "Poll video", params.apiKey); + } +} + +async function writeChunk( + handle: FileHandle, + chunk: Uint8Array, +): Promise { + let offset = 0; + while (offset < chunk.byteLength) { + const result = await handle.write( + chunk, + offset, + chunk.byteLength - offset, + null, + ); + if (result.bytesWritten === 0) + throw new CustomMediaError("IO_ERROR", "Video write stalled."); + offset += result.bytesWritten; + } +} + +async function downloadVideo(params: { + response: Response; + targetPath: string; + maxBytes: number; +}): Promise<{ path: string; bytes: number; mimeType: string }> { + const lengthHeader = params.response.headers.get("content-length"); + if (lengthHeader) { + const length = Number(lengthHeader); + if (!Number.isSafeInteger(length) || length < 0) { + throw new CustomMediaError( + "PROVIDER_ERROR", + "Video response has an invalid Content-Length.", + ); + } + if (length > params.maxBytes) { + throw new CustomMediaError( + "DOWNLOAD_TOO_LARGE", + `Video Content-Length ${length} exceeds the ${params.maxBytes}-byte limit.`, + ); + } + } + const mimeType = + params.response.headers.get("content-type") ?? "application/octet-stream"; + const inferredExtension = videoExtensionForMime(mimeType); + const requestedExtension = path.extname(params.targetPath).toLowerCase(); + if ( + requestedExtension && + !new Set([".mp4", ".webm", ".mov"]).has(requestedExtension) + ) { + throw new CustomMediaError( + "INVALID_INPUT", + "Video output path must use .mp4, .webm, or .mov, or omit the extension.", + ); + } + const targetPath = requestedExtension + ? params.targetPath + : `${params.targetPath}${inferredExtension}`; + const realDirectory = await prepareOutputDirectory(path.dirname(targetPath)); + const reserved = await reserveUniqueFile( + path.join(realDirectory, path.basename(targetPath)), + ); + let bytes = 0; + + try { + if (!params.response.body) { + throw new CustomMediaError( + "PROVIDER_ERROR", + "Video response did not include a body.", + ); + } + const reader = params.response.body.getReader(); + try { + while (true) { + const item = await reader.read(); + if (item.done) break; + bytes += item.value.byteLength; + if (bytes > params.maxBytes) { + await reader.cancel(); + throw new CustomMediaError( + "DOWNLOAD_TOO_LARGE", + `Video stream exceeded the ${params.maxBytes}-byte limit.`, + ); + } + await writeChunk(reserved.handle, item.value); + } + } finally { + reader.releaseLock(); + } + await reserved.handle.close(); + return { + path: reserved.path, + bytes, + mimeType: mimeType.split(";")[0]!.trim(), + }; + } catch (error) { + await reserved.handle.close().catch(() => undefined); + await fs.unlink(reserved.path).catch(() => undefined); + throw error; + } +} + +export async function generateVideoCommand( + rawInput: Record, + options: { cwd?: string; signal?: AbortSignal } = {}, +): Promise { + const input = parseWithSchema(videoInputSchema, rawInput, "video input"); + const registration = validateVideoModelInput(input); + const credentials = resolveCredentials(); + const cwd = options.cwd ?? process.cwd(); + const targetPath = resolveLocalPath(cwd, input.path); + const callSignal = createCallSignal(options.signal, input.timeoutMs); + + try { + let inputImage: Awaited> | undefined; + if (input.inputImage) { + inputImage = await readValidatedImage({ + filePath: resolveLocalPath(cwd, input.inputImage), + }); + } + const created = await createVideoTask({ + baseURL: credentials.baseURL, + apiKey: credentials.apiKey, + route: registration.route, + input, + inputImage, + signal: callSignal.signal, + }); + const completed = await waitForVideoTask({ + baseURL: credentials.baseURL, + apiKey: credentials.apiKey, + initialTask: created, + pollIntervalMs: input.pollIntervalMs, + signal: callSignal.signal, + }); + const contentResponse = await fetch( + providerURL( + credentials.baseURL, + `videos/${encodeURIComponent(completed.id)}/content`, + ), + { + headers: authorizationHeaders(credentials.apiKey), + signal: callSignal.signal, + }, + ); + await assertSuccessfulResponse( + contentResponse, + "Download video", + credentials.apiKey, + ); + const downloaded = await downloadVideo({ + response: contentResponse, + targetPath, + maxBytes: input.maxDownloadBytes, + }); + return videoOutputSchema.parse({ + ok: true, + path: downloaded.path, + bytes: downloaded.bytes, + mimeType: downloaded.mimeType, + model: input.model, + route: registration.route, + videoId: completed.id, + }); + } catch (error) { + if (callSignal.signal.aborted) callSignal.mapAbort(error); + if (error instanceof CustomMediaError) throw error; + throw asCustomMediaError( + error, + "PROVIDER_ERROR", + "Video generation failed", + [credentials.apiKey], + ); + } finally { + callSignal.cleanup(); + } +} diff --git a/SKILLS/media-generation/tests/cli.test.ts b/SKILLS/media-generation/tests/cli.test.ts new file mode 100644 index 0000000..9ec2b6f --- /dev/null +++ b/SKILLS/media-generation/tests/cli.test.ts @@ -0,0 +1,424 @@ +import { afterEach, describe, expect, test } from "bun:test"; +import fs from "node:fs/promises"; +import { tmpdir } from "node:os"; +import path from "node:path"; + +const ROOT = path.resolve(import.meta.dir, ".."); +const USE_DIST = process.env.MEDIA_GENERATION_CLI === "dist"; +const API_KEY = "sk-media-test-secret"; +const PROMPT = "a private test prompt"; +const PNG = Buffer.from( + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=", + "base64", +); + +let servers: Array> = []; +let cleanupPaths: string[] = []; + +afterEach(async () => { + for (const server of servers) await server.stop(true); + servers = []; + for (const cleanupPath of cleanupPaths) { + await fs.rm(cleanupPath, { recursive: true, force: true }); + } + cleanupPaths = []; +}); + +async function tempDirectory(prefix: string): Promise { + const directory = await fs.mkdtemp(path.join(tmpdir(), prefix)); + cleanupPaths.push(directory); + return directory; +} + +function startServer( + fetch: (request: Request) => Response | Promise, +) { + const server = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch }); + servers.push(server); + return server; +} + +async function runCLI( + args: readonly string[], + options: { + server?: ReturnType; + cwd?: string; + env?: Record; + } = {}, +): Promise<{ stdout: string; stderr: string; exitCode: number }> { + const command = USE_DIST + ? [path.join(ROOT, "media-generation"), ...args] + : [process.execPath, path.join(ROOT, "src/cli.ts"), ...args]; + const processHandle = Bun.spawn(command, { + cwd: options.cwd ?? ROOT, + env: { + ...process.env, + OPENAI_COMPATIBLE_BASE_URL: options.server + ? `http://127.0.0.1:${options.server.port}` + : "", + OPENAI_COMPATIBLE_API_KEY: options.server ? API_KEY : "", + ...options.env, + }, + stdin: "ignore", + stdout: "pipe", + stderr: "pipe", + }); + const [stdout, stderr, exitCode] = await Promise.all([ + new Response(processHandle.stdout).text(), + new Response(processHandle.stderr).text(), + processHandle.exited, + ]); + return { stdout, stderr, exitCode }; +} + +function parseSuccess(result: Awaited>) { + expect(result.exitCode).toBe(0); + expect(result.stderr).toBe(""); + const parsed = JSON.parse(result.stdout) as { + ok: boolean; + data: Record; + }; + expect(parsed.ok).toBe(true); + return parsed.data; +} + +function parseFailure(result: Awaited>) { + expect(result.exitCode).toBe(1); + expect(result.stdout).toBe(""); + const parsed = JSON.parse(result.stderr) as { + ok: boolean; + error: { code: string; message: string }; + }; + expect(parsed.ok).toBe(false); + return parsed.error; +} + +describe("media-generation CLI", () => { + test.serial( + "doctor authenticates GET /models and redacts its key", + async () => { + const server = startServer((request) => { + expect(new URL(request.url).pathname).toBe("/v1/models"); + expect(request.method).toBe("GET"); + expect(request.headers.get("authorization")).toBe(`Bearer ${API_KEY}`); + return Response.json({ + data: [{ id: "gpt-image-2" }, { id: "grok-imagine-video" }], + }); + }); + const result = await runCLI(["doctor"], { server }); + const data = parseSuccess(result); + expect(result.stdout).not.toContain(API_KEY); + expect(data.checks).toContainEqual({ + check: "OPENAI_COMPATIBLE_API_KEY", + status: "ok", + value: "", + }); + }, + ); + + test.serial( + "models returns the route registry without credentials", + async () => { + const result = await runCLI(["models"]); + const data = parseSuccess(result); + expect(data.imageModels).toBeArray(); + expect(data.videoModels).toBeArray(); + expect(result.stdout).not.toContain("OPENAI_COMPATIBLE_API_KEY"); + }, + ); + + test.serial("image generation sends exact auth and JSON body", async () => { + const outputDir = await tempDirectory("media-image-generation-"); + let requestCount = 0; + const server = startServer(async (request) => { + requestCount += 1; + expect(new URL(request.url).pathname).toBe("/v1/images/generations"); + expect(request.headers.get("authorization")).toBe(`Bearer ${API_KEY}`); + const body = (await request.json()) as Record; + expect(body).toMatchObject({ + model: "gpt-image-1.5", + prompt: PROMPT, + n: 1, + size: "1536x1024", + response_format: "b64_json", + }); + return Response.json({ data: [{ b64_json: PNG.toString("base64") }] }); + }); + const result = await runCLI( + [ + "image", + "--prompt", + PROMPT, + "--model=gpt-5-image", + "--aspectRatio", + "3:2", + "--outputDir", + outputDir, + ], + { server }, + ); + const data = parseSuccess(result); + expect(requestCount).toBe(1); + expect(result.stdout).not.toContain(PROMPT); + expect(result.stdout).not.toContain(API_KEY); + expect(data).toMatchObject({ + model: "gpt-5-image", + route: "gpt-image-1.5", + mimeType: "image/png", + }); + expect(await fs.readFile(data.path as string)).toEqual(PNG); + }); + + test.serial( + "image edit accepts repeated and comma-separated inputImages", + async () => { + const outputDir = await tempDirectory("media-image-edit-"); + for (const name of ["one.png", "two.png", "three.png", "mask.png"]) { + await fs.writeFile(path.join(outputDir, name), PNG); + } + const server = startServer(async (request) => { + expect(new URL(request.url).pathname).toBe("/v1/images/edits"); + expect(request.headers.get("authorization")).toBe(`Bearer ${API_KEY}`); + const form = await request.formData(); + expect(form.get("model")).toBe("gpt-image-2"); + expect(form.get("prompt")).toBe(PROMPT); + expect(form.getAll("image[]")).toHaveLength(3); + expect(form.get("mask")).toBeInstanceOf(File); + return Response.json({ data: [{ b64_json: PNG.toString("base64") }] }); + }); + const result = await runCLI( + [ + "image", + "--prompt", + PROMPT, + "--inputImages", + "one.png,two.png", + "--inputImages=three.png", + "--maskImage", + "mask.png", + "--outputDir", + outputDir, + ], + { server, cwd: outputDir }, + ); + parseSuccess(result); + }, + ); + + test.serial("capability validation fails before HTTP", async () => { + let requestCount = 0; + const server = startServer(() => { + requestCount += 1; + return Response.json({ data: [] }); + }); + const result = await runCLI( + [ + "image", + "--prompt", + PROMPT, + "--model", + "grok-imagine-image", + "--size", + "1024x1024", + ], + { server }, + ); + expect(parseFailure(result).code).toBe("UNSUPPORTED_CAPABILITY"); + expect(requestCount).toBe(0); + }); + + test.serial( + "video sends multipart input_reference, polls, and downloads content", + async () => { + const outputDir = await tempDirectory("media-video-"); + await fs.writeFile(path.join(outputDir, "frame.png"), PNG); + await fs.writeFile(path.join(outputDir, "clip.mp4"), "existing"); + let polls = 0; + const server = startServer(async (request) => { + const url = new URL(request.url); + expect(request.headers.get("authorization")).toBe(`Bearer ${API_KEY}`); + if (request.method === "POST" && url.pathname === "/v1/videos") { + const form = await request.formData(); + expect(form.get("prompt")).toBe(PROMPT); + expect(form.get("model")).toBe("grok-imagine-video"); + expect(form.get("seconds")).toBe("5"); + expect(form.get("size")).toBe("1280x720"); + expect(form.get("input_reference")).toBeInstanceOf(File); + return Response.json( + { id: "video_1", status: "processing" }, + { status: 201 }, + ); + } + if (url.pathname === "/v1/videos/video_1") { + polls += 1; + return Response.json({ id: "video_1", status: "succeeded" }); + } + if (url.pathname === "/v1/videos/video_1/content") { + return new Response( + new ReadableStream({ + start(controller) { + controller.enqueue(new TextEncoder().encode("video-")); + controller.enqueue(new TextEncoder().encode("bytes")); + controller.close(); + }, + }), + { headers: { "content-type": "video/mp4" } }, + ); + } + return new Response("not found", { status: 404 }); + }); + const result = await runCLI( + [ + "video", + "--prompt", + PROMPT, + "--path", + "clip.mp4", + "--inputImage", + "frame.png", + "--seconds", + "5", + "--size", + "1280x720", + "--pollIntervalMs", + "10", + ], + { server, cwd: outputDir }, + ); + const data = parseSuccess(result); + expect(polls).toBe(1); + expect(result.stdout).not.toContain(PROMPT); + expect(data.path).toBe(path.join(outputDir, "clip (1).mp4")); + expect(await fs.readFile(path.join(outputDir, "clip.mp4"), "utf8")).toBe( + "existing", + ); + expect(await fs.readFile(data.path as string, "utf8")).toBe( + "video-bytes", + ); + }, + ); + + test.serial("bounded video streams remove partial output", async () => { + const outputDir = await tempDirectory("media-video-bounded-"); + const server = startServer((request) => { + const url = new URL(request.url); + if (request.method === "POST") { + return Response.json( + { id: "video_limit", status: "succeeded" }, + { status: 201 }, + ); + } + if (url.pathname.endsWith("/content")) { + return new Response( + new ReadableStream({ + start(controller) { + controller.enqueue(new Uint8Array(8)); + controller.close(); + }, + }), + { headers: { "content-type": "video/mp4" } }, + ); + } + return new Response("not found", { status: 404 }); + }); + const result = await runCLI( + [ + "video", + "--prompt", + PROMPT, + "--path", + "bounded.mp4", + "--maxDownloadBytes", + "4", + ], + { server, cwd: outputDir }, + ); + expect(parseFailure(result).code).toBe("DOWNLOAD_TOO_LARGE"); + expect(await fs.readdir(outputDir)).toEqual([]); + }); + + test.serial("terminal video task errors redact credentials", async () => { + const outputDir = await tempDirectory("media-video-error-"); + const server = startServer(() => + Response.json({ + id: "video_failed", + status: "failed", + error: { message: `bad Authorization: Bearer ${API_KEY}` }, + }), + ); + const result = await runCLI( + ["video", "--prompt", PROMPT, "--path", "failed.mp4"], + { server, cwd: outputDir }, + ); + const error = parseFailure(result); + expect(error.code).toBe("VIDEO_FAILED"); + expect(result.stderr).not.toContain(API_KEY); + expect(result.stderr).toContain("REDACTED"); + expect(await fs.readdir(outputDir)).toEqual([]); + }); + + test.serial( + "timeout aborts the provider request and leaves no output", + async () => { + const outputDir = await tempDirectory("media-video-timeout-"); + const server = startServer(async () => { + await Bun.sleep(500); + return Response.json( + { id: "too_late", status: "succeeded" }, + { status: 201 }, + ); + }); + const result = await runCLI( + [ + "video", + "--prompt", + PROMPT, + "--path", + "timeout.mp4", + "--timeoutMs", + "100", + ], + { server, cwd: outputDir }, + ); + expect(parseFailure(result).code).toBe("TIMEOUT"); + expect(await fs.readdir(outputDir)).toEqual([]); + }, + ); + + test.serial( + "malformed provider errors are JSON and redact credentials", + async () => { + const server = startServer( + () => + new Response(`malformed Bearer ${API_KEY}`, { + status: 200, + headers: { "content-type": "application/json" }, + }), + ); + const result = await runCLI(["doctor"], { server }); + const error = parseFailure(result); + expect(error.code).toBe("PROVIDER_ERROR"); + expect(result.stderr).not.toContain(API_KEY); + expect(result.stderr).toContain("REDACTED"); + }, + ); + + const bundleOnlyTest = USE_DIST ? test.serial : test.skip; + bundleOnlyTest( + "committed wrapper and bundle run while node_modules is unavailable", + async () => { + const nodeModules = path.join(ROOT, "node_modules"); + const hidden = path.join( + ROOT, + `.node_modules-offline-${crypto.randomUUID()}`, + ); + await fs.rename(nodeModules, hidden); + try { + const result = await runCLI(["models"]); + parseSuccess(result); + } finally { + await fs.rename(hidden, nodeModules); + } + }, + ); +}); diff --git a/SKILLS/media-generation/tsconfig.json b/SKILLS/media-generation/tsconfig.json new file mode 100644 index 0000000..7aff64f --- /dev/null +++ b/SKILLS/media-generation/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "lib": ["ES2022"], + "moduleResolution": "bundler", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "types": ["bun", "node"], + "resolveJsonModule": true + }, + "include": ["src/**/*", "tests/**/*"] +}