diff --git a/.github/matchers/openapi-ts.json b/.github/matchers/openapi-ts.json new file mode 100644 index 0000000..5c675fe --- /dev/null +++ b/.github/matchers/openapi-ts.json @@ -0,0 +1,15 @@ +{ + "problemMatcher": [ + { + "owner": "openapi-ts", + "severity": "warning", + "pattern": [ + { + "regexp": "^❗\\S*\\s(\\w+) warning: (.+)$", + "code": 1, + "message": 2 + } + ] + } + ] +} diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ae69985..c169f40 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,64 +1,132 @@ on: + push: + branches: + - '**' + pull_request: repository_dispatch: types: [release] workflow_dispatch: inputs: - url: + tag: + description: Release to build, such as v1.22.1 or nightly. Defaults to the latest release. + required: false type: string - description: URL (openapi.json) - push: - branches: - - main + default: '' + workflow_call: + inputs: + ref: + description: Ref of this repository to build. + required: false + type: string + default: main + +permissions: + id-token: write + contents: read -name: Build & release +name: CI jobs: - build_and_release: + generate: runs-on: ubuntu-latest + outputs: + version: ${{ steps.version.outputs.version }} + tag: ${{ steps.version.outputs.tag }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 + with: + repository: vrchatapi/vrchatapi-javascript + ref: ${{ inputs.ref || github.ref }} - - uses: actions/cache@v4 + - uses: vrchatapi/specification/.github/actions/download@main with: - key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: pnpm- - path: | - ~/.pnpm-store - ~/.cache/pnpm - **/node_modules - - - uses: pnpm/action-setup@v4 + tag: ${{ inputs.tag }} + + - uses: pnpm/setup@v2 with: - version: 10 - run_install: false + runtime: node@24 + cache: true - - run: pnpm install + - run: | + echo "::add-matcher::$GITHUB_WORKSPACE/.github/matchers/openapi-ts.json" + pnpm generate + echo "::remove-matcher owner=openapi-ts::" - - if: github.event_name == 'repository_dispatch' + - id: version run: | - curl -fo openapi.json ${{ github.event.client_payload.artifacts['openapi.json'] }} - echo "from=repository_dispatch" >> $GITHUB_ENV + version=$(jq -r '.info.version' ./openapi.json) + version=$(node -p " + const semver = require('semver'); - - if: github.event_name == 'workflow_dispatch' && github.event.inputs.url != '' - run: | - curl -fo openapi.json ${{ github.event.inputs.url }} - echo "from=workflow_dispatch" >> $GITHUB_ENV - - - if: env.from == '' - run: curl -fo openapi.json https://github.com/vrchatapi/specification/releases/latest/download/openapi.json + const version = semver.parse('$version'); + version.major += 1; + version.minor += 3; - - run: | - version=$(jq -r '.info.version' ./openapi.json) - version_tag=$(node -p "require('semver').parse('$version')?.prerelease[0] || 'latest'") + version.format(); + ") + + echo "version=$version" >> $GITHUB_OUTPUT + echo "tag=$(node -p "require('semver').parse('$version')?.prerelease[0] || 'latest'")" >> $GITHUB_OUTPUT + + - uses: actions/upload-artifact@v7 + with: + name: javascript-generated + path: src/generated - echo "version=$version" >> $GITHUB_ENV - echo "version_tag=$version_tag" >> $GITHUB_ENV + build: + needs: generate + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + with: + repository: vrchatapi/vrchatapi-javascript + ref: ${{ inputs.ref || github.ref }} - pnpm version $version --no-git-tag-version + - uses: actions/download-artifact@v8 + with: + name: javascript-generated + path: src/generated + + - uses: pnpm/setup@v2 + with: + runtime: node@24 + cache: true + + - run: pnpm version ${{ needs.generate.outputs.version }} --no-git-tag-version - run: pnpm build - - if: github.ref == 'refs/heads/main' + - if: github.event_name == 'pull_request' || github.repository == 'vrchatapi/vrchatapi-javascript' run: | - echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc - pnpm publish --no-git-checks --tag ${{ env.version_tag }} \ No newline at end of file + pnpm exec pkg-pr-new publish \ + --packageManager=pnpm \ + --no-template \ + --no-compact \ + --commentWithSha + + - run: pnpm pack --out package.tgz + + - uses: actions/upload-artifact@v7 + with: + name: javascript-package + path: package.tgz + + publish: + needs: + - generate + - build + if: github.repository == 'vrchatapi/vrchatapi-javascript' + && github.ref == 'refs/heads/main' + && !contains(github.event.head_commit.message, 'no_release') + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v8 + with: + name: javascript-package + + - uses: actions/setup-node@v7 + with: + node-version: 24 + registry-url: https://registry.npmjs.org + + - run: npm publish package.tgz --tag ${{ needs.generate.outputs.tag }} diff --git a/README.md b/README.md new file mode 100644 index 0000000..10270e0 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# VRChat.js + +VRChat.js is a JavaScript SDK for interacting with the VRChat API, allowing developers to create applications that can access and manipulate VRChat data. + +* https://vrchat.community/javascript +* https://npm.im/vrchat + +Join the [Discord Server](https://discord.gg/Ge2APMhPfD) for support & to start a discussion. diff --git a/package.json b/package.json index 1f7b456..ab64ca9 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,15 @@ "name": "vrchat", "displayName": "VRChat.js", "version": "0.0.0", + "packageManager": "pnpm@11.20.0", "description": "", "type": "commonjs", "types": "dist/index.d.ts", "homepage": "https://vrchat.community/javascript", - "repository": "vrchatapi/vrchatapi-javascript", + "repository": { + "type": "git", + "url": "git+https://github.com/vrchatapi/vrchatapi-javascript.git" + }, "bugs": { "url": "https://github.com/vrchatapi/vrchatapi-javascript/issues" }, @@ -18,10 +22,15 @@ "types": "./dist/index.d.ts", "import": "./dist/index.mjs", "require": "./dist/index.js" + }, + "./websocket": { + "types": "./dist/websocket.d.ts", + "import": "./dist/websocket.mjs", + "require": "./dist/websocket.js" } }, "scripts": { - "prebuild": "rm src/generated -rf && openapi-ts", + "generate": "rm -rf src/generated && openapi-ts", "build": "tsup" }, "keywords": [ @@ -49,9 +58,10 @@ "@types/node": "^24.10.1", "bun-plugin-dts": "^0.3.0", "eslint": "^9.39.1", + "pkg-pr-new": "^0.0.87", "semver": "^7.7.3", "tsup": "^8.5.1", "typed-emitter": "^2.1.0", "typescript": "^5.9.3" } -} +} \ No newline at end of file diff --git a/patches/@hey-api__openapi-ts@0.88.0.patch b/patches/@hey-api__openapi-ts@0.88.0.patch new file mode 100644 index 0000000..2edc2fb --- /dev/null +++ b/patches/@hey-api__openapi-ts@0.88.0.patch @@ -0,0 +1,26 @@ +diff --git a/dist/openApi-4Fl0M8gJ.js b/dist/openApi-4Fl0M8gJ.js +index 4307454779d424c6a10ad2cffbca1e83a85238a7..48ce00b9b4c3811988243de7c900565fb7ee8cb7 100644 +--- a/dist/openApi-4Fl0M8gJ.js ++++ b/dist/openApi-4Fl0M8gJ.js +@@ -2,7 +2,7 @@ import{createRequire as e}from"node:module";import{Project as t,createBinding as + `))}};function k(e,...t){let n=e.prototype;for(let r of t){let t=r;if(typeof r==`function`)try{let n=r(e);n?.prototype&&(t=n)}catch{}let i=t.prototype;if(i)for(let[e,t]of Object.entries(Object.getOwnPropertyDescriptors(i)))e!==`constructor`&&(e===`$render`&&!t.value.mixin||Object.defineProperty(n,e,t))}}var _t=class extends D{_args;arg(e){return(this._args??=[]).push(e),this}args(...e){return(this._args??=[]).push(...e),this}$args(){return this._args?this.$node(this._args).map(e=>this.$maybeId(e)):[]}$render(){throw Error(`noop`)}},vt=class extends D{name;constructor(e,...t){super(),this.name=e,this.args(...t)}$render(){let e=this.$args();return l.factory.createDecorator(e.length?l.factory.createCallExpression(this.$maybeId(this.name),void 0,e):this.$maybeId(this.name))}};k(vt,_t);var yt=class extends D{decorators;decorator(e,...t){return(this.decorators??=[]).push(new vt(e,...t)),this}$decorators(){return this.decorators?this.$node(this.decorators):[]}$render(){throw Error(`noop`)}},bt=class extends D{_lines=[];constructor(e,t){super(),e&&(typeof e==`string`?this.add(e):this.add(...e)),t?.(this)}add(...e){return this._lines.push(...e),this}apply(e){let t=this._lines.filter(e=>!!e||e===``);if(!t.length)return e;let n=t.map(e=>l.factory.createJSDocText(`${e}\n`)),r=l.factory.createJSDocComment(l.factory.createNodeArray(n),void 0),i=l.createPrinter().printNode(l.EmitHint.Unspecified,r,e.getSourceFile?.()??l.createSourceFile(``,``,l.ScriptTarget.Latest)).replace(`/*`,``).replace(`* */`,``);return l.addSyntheticLeadingComment(e,l.SyntaxKind.MultiLineCommentTrivia,i,!0),e}$render(){return this.$node(new ht(``))}};function A(e){let t=e.prototype.$render;class n extends e{_doc;doc(e,t){return this._doc=new bt(e,t),this}$render(...e){let n=t.apply(this,e);return this._doc?this._doc.apply(n):n}}return n.prototype.$render.mixin=!0,n}function j(e){let t=[];function n(n,r=!0){return r&&t.push(l.factory.createModifier(n)),e}Object.assign(e,{_m:n});function r(){return t}return{list:r}}var xt=class{abstract(e=!0){return this._m(l.SyntaxKind.AbstractKeyword,e)}},St=class{async(e=!0){return this._m(l.SyntaxKind.AsyncKeyword,e)}},Ct=class{const(e=!0){return this._m(l.SyntaxKind.ConstKeyword,e)}},wt=class{default(e=!0){return this._m(l.SyntaxKind.DefaultKeyword,e)}},Tt=class{export(e=!0){return this._m(l.SyntaxKind.ExportKeyword,e)}},Et=class{private(e=!0){return this._m(l.SyntaxKind.PrivateKeyword,e)}},Dt=class{protected(e=!0){return this._m(l.SyntaxKind.ProtectedKeyword,e)}},Ot=class{public(e=!0){return this._m(l.SyntaxKind.PublicKeyword,e)}},kt=class{readonly(e=!0){return this._m(l.SyntaxKind.ReadonlyKeyword,e)}},At=class{static(e=!0){return this._m(l.SyntaxKind.StaticKeyword,e)}},jt=class extends O{name;constraint;defaultValue;constructor(e,t){super(),this.name=e,t?.(this)}default(e){return this.defaultValue=e,this}extends(e){return this.constraint=e,this}$render(){if(!this.name)throw Error(`Missing type name`);return l.factory.createTypeParameterDeclaration(void 0,this.$maybeId(this.name),this.$type(this.constraint),this.$type(this.defaultValue))}},Mt=class extends D{_generics;generic(...e){let t=new jt(...e);return(this._generics??=[]).push(t),this}generics(...e){return(this._generics??=[]).push(...e),this}$generics(){return this._generics?.map(e=>{let t=typeof e==`string`?new jt(e):e;return this.$node(t)})}$render(){throw Error(`noop`)}},Nt=class extends D{value;assign(e){return this.value=e,this}$value(){return this.$node(this.value)}$render(){throw Error(`noop`)}},Pt=class extends D{_generics;generic(e){return(this._generics??=[]).push(e),this}generics(...e){return(this._generics??=[]).push(...e),this}$generics(){return this.$type(this._generics)}$render(){throw Error(`noop`)}};let Ft;function It(e){Ft=e}let Lt;function Rt(e){Lt=e}let zt;function Bt(e){zt=e}let Vt;function Ht(e){Vt=e}let Ut;function Wt(e){Ut=e}var Gt=class{idx(e){return Lt(this,e)}keyof(){return Vt().keyof(this)}readonly(){return Vt().readonly(this)}returnType(){return Ft(`ReturnType`).generic(Ut(this))}typeofExpr(){return zt(this)}typeofType(){return Ut(this)}typeof(){if(this instanceof D){let e=this.$render();return l.isExpression(e)?zt(this):Ut(this)}return l.isExpression(this)?zt(this):Ut(this)}unique(){return Vt().unique(this)}},Kt=class extends O{_base;right;constructor(e,t){super(),t?(this.base(e),this.right=t):(this.base(void 0),this.right=e)}base(e){return this._base=e,this}$render(){if(!this._base)throw Error(`TypeAttrTsDsl: missing base for qualified name`);let e=this.$node(this._base);if(!l.isEntityName(e))throw Error(`TypeAttrTsDsl: base must be an EntityName`);let t=this.$maybeId(this.right);return l.factory.createQualifiedName(e,t)}};k(Kt,Gt);var M=class extends O{_exprInput;constructor(e,t){super(),typeof e==`string`?(this._exprInput=e,t?.(this)):e?.(this)}attr(e){return this._exprInput=e instanceof Kt?e.base(this._exprInput):new Kt(this._exprInput,e),this}$render(){if(!this._exprInput)throw Error(`TypeExpr must have either an expression or an object`);return l.factory.createTypeReferenceNode(this.$type(this._exprInput),this.$generics())}};k(M,Pt,Gt),It((...e)=>new M(...e));var qt=class extends D{modifiers=j(this);name;_type;constructor(e,t){super(),this.name=e,t?.(this)}type(e){return this._type=e instanceof O?e:new M(e),this}$render(){return l.factory.createPropertyDeclaration([...this.$decorators(),...this.modifiers.list()],this.name,void 0,this.$type(this._type),this.$value())}};k(qt,yt,A,Et,Dt,Ot,kt,At,Nt);var Jt=class extends D{_inner;constructor(e){super(),this._inner=e}$render(){let e=this.$node(this._inner);return l.isStatement(e)?e:l.factory.createExpressionStatement(e)}},Yt=class extends D{_do;do(...e){return(this._do??=[]).push(...e),this}$do(){return this._do?this.$node(this._do.map(e=>new Jt(e))):[]}$render(){throw Error(`noop`)}},Xt=class{_optional;optional(e){return this._optional=arguments.length===0?!0:!!e,this}required(e){return this._optional=arguments.length===0?!1:!e,this}},N=class extends D{_kind;kind(e){return this._kind=e,this}minus(){return this.kind(l.SyntaxKind.MinusToken)}optional(){return this.kind(l.SyntaxKind.QuestionToken)}plus(){return this.kind(l.SyntaxKind.PlusToken)}questionDot(){return this.kind(l.SyntaxKind.QuestionDotToken)}readonly(){return this.kind(l.SyntaxKind.ReadonlyKeyword)}spread(){return this.kind(l.SyntaxKind.DotDotDotToken)}$render(){if(!this._kind)throw Error("Token missing `.kind(kind)`");return l.factory.createToken(this._kind)}},Zt=class extends D{pattern;_spread;array(...e){return this.pattern={kind:`array`,values:e[0]instanceof Array?[...e[0]]:e},this}object(...e){let t={};for(let n of e)if(typeof n==`string`)t[n]=n;else if(n instanceof Array)for(let e of n)t[e]=e;else Object.assign(t,n);return this.pattern={kind:`object`,values:t},this}spread(e){return this._spread=e,this}$render(){if(!this.pattern)throw Error(`PatternTsDsl requires object() or array() pattern`);if(this.pattern.kind===`object`){let e=Object.entries(this.pattern.values).map(([e,t])=>e===t?l.factory.createBindingElement(void 0,void 0,e,void 0):l.factory.createBindingElement(void 0,e,t,void 0)),t=this.createSpread();return t&&e.push(t),l.factory.createObjectBindingPattern(e)}if(this.pattern.kind===`array`){let e=this.pattern.values.map(e=>l.factory.createBindingElement(void 0,void 0,e,void 0)),t=this.createSpread();return t&&e.push(t),l.factory.createArrayBindingPattern(e)}throw Error(`PatternTsDsl requires object() or array() pattern`)}createSpread(){return this._spread?l.factory.createBindingElement(this.$node(new N().spread()),void 0,this.$node(new ht(this._spread))):void 0}},Qt=class extends D{pattern;array(...e){return(this.pattern??=new Zt).array(...e),this}object(...e){return(this.pattern??=new Zt).object(...e),this}spread(e){return(this.pattern??=new Zt).spread(e),this}$pattern(){return this.$node(this.pattern)}$render(){throw Error(`noop`)}},$t=class extends D{name;_type;constructor(e,t){super(),typeof e==`string`?(this.name=e,t?.(this)):e(this)}type(e){return this._type=e instanceof O?e:new M(e),this}$render(){let e=this.$pattern()??this.name;if(!e)throw Error(`Param must have either a name or a destructuring pattern`);return l.factory.createParameterDeclaration(this.$decorators(),void 0,e,this._optional?this.$node(new N().optional()):void 0,this.$type(this._type),this.$value())}};k($t,yt,Xt,Qt,Nt);var en=class extends D{_params;param(e,t){let n=new $t(e,t);return(this._params??=[]).push(n),this}params(...e){return(this._params??=[]).push(...e),this}$params(){return this._params?this.$node(this._params):[]}$render(){throw Error(`noop`)}},tn=class extends D{modifiers=j(this);constructor(e){super(),e?.(this)}$render(){return l.factory.createConstructorDeclaration([...this.$decorators(),...this.modifiers.list()],this.$params(),l.factory.createBlock(this.$do(),!0))}};k(tn,yt,Yt,A,en,Et,Dt,Ot);var nn=class extends D{modifiers=j(this);name;_returns;constructor(e,t){super(),this.name=e,t?.(this)}returns(e){return this._returns=e instanceof O?e:new M(e),this}$render(){return l.factory.createMethodDeclaration([...this.$decorators(),...this.modifiers.list()],void 0,this.name,this._optional?this.$node(new N().optional()):void 0,this.$generics(),this.$params(),this.$type(this._returns),l.factory.createBlock(this.$do(),!0))}};k(nn,xt,St,yt,Yt,A,Xt,en,Et,Dt,Ot,At,Mt);var rn=class extends D{heritageClauses=[];body=[];modifiers=j(this);name;constructor(e){super(),this.name=e}do(...e){return this.body.push(...e),this}extends(e){return e&&this.heritageClauses.push(l.factory.createHeritageClause(l.SyntaxKind.ExtendsKeyword,[l.factory.createExpressionWithTypeArguments(this.$maybeId(e),void 0)])),this}field(e,t){let n=new qt(e,t);return this.body.push(n),this}init(e){let t=new tn(e);return this.body.push(t),this}method(e,t){let n=new nn(e,t);return this.body.push(n),this}newline(){return this.body.push(new gt),this}$render(){let e=this.$node(this.body);return l.factory.createClassDeclaration([...this.$decorators(),...this.modifiers.list()],this.name,this.$generics(),this.heritageClauses,e)}};k(rn,xt,yt,wt,A,Tt,Mt);const an=/^[^$_\p{ID_Start}]+/u,on=/^-?\d+(\.\d+)?$/,sn=/^(document|history|location|navigator|window)$/g,cn=/^(console|Array|Date|Error|Function|JSON|Map|Math|Object|Promise|RegExp|Set|WeakMap|WeakSet)$/g,ln=/^(arguments|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|from|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g,un=/^(global|process|Buffer)$/g,dn=/^(any|as|bigint|boolean|namespace|never|null|number|string|symbol|type|undefined|unknown|void)$/g,fn=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;var pn=class extends D{_expr;_op;constructor(e,t){super(),this._expr=e,this._op=t}expr(e){return this._expr=e,this}neg(){return this._op=l.SyntaxKind.MinusToken,this}not(){return this._op=l.SyntaxKind.ExclamationToken,this}op(e){return this._op=e,this}$render(){if(!this._expr)throw Error(`Missing expression for prefix unary expression`);if(!this._op)throw Error(`Missing operator for prefix unary expression`);return l.factory.createPrefixUnaryExpression(this._op,this.$node(this._expr))}};let mn;function hn(e){mn=e}var gn=class{as(e){return mn(this,e)}},P=class extends D{value;constructor(e){super(),this.value=e}$render(){if(typeof this.value==`boolean`)return this.value?l.factory.createTrue():l.factory.createFalse();if(typeof this.value==`number`){let e=l.factory.createNumericLiteral(Math.abs(this.value));return this.value<0?this.$node(new pn(e).neg()):e}if(typeof this.value==`string`)return l.factory.createStringLiteral(this.value,!0);if(this.value===null)return l.factory.createNull();throw Error(`Unsupported literal: ${String(this.value)}`)}};k(P,gn);const _n=e=>(fn.lastIndex=0,fn.test(e)?new ht(e).$render():new P(e).$render()),vn=e=>(on.lastIndex=0,on.test(e)?e.startsWith(`-`)?new P(e).$render():l.factory.createNumericLiteral(e):(fn.lastIndex=0,fn.test(e)?new ht(e).$render():new P(e).$render()));var yn=class extends D{_name;_value;constructor(e,t){super(),this._name=e,typeof t==`function`?t(this):this.value(t)}value(e){return this._value=e,this}$render(){return l.factory.createEnumMember(_n(this._name),this.$node(this._value))}};k(yn,A);var bn=class extends D{_members=[];_name;modifiers=j(this);constructor(e,t){super(),this._name=e,t?.(this)}member(e,t){let n=new yn(e,t);return this._members.push(n),this}members(...e){return this._members.push(...e),this}$render(){return l.factory.createEnumDeclaration(this.modifiers.list(),this._name,this.$node(this._members))}};k(bn,Ct,A,Tt);var xn=class extends D{mode;modifiers=j(this);name;_returns;constructor(e,t){super(),typeof e==`string`?(this.name=e,this.mode=`decl`,t?.(this)):(this.mode=`arrow`,e?.(this))}arrow(){return this.mode=`arrow`,this}decl(){return this.mode=`decl`,this}expr(){return this.mode=`expr`,this}returns(e){return this._returns=e instanceof O?e:new M(e),this}$render(){if(this.mode===`decl`){if(!this.name)throw Error(`Function declaration requires a name`);return l.factory.createFunctionDeclaration([...this.$decorators(),...this.modifiers.list()],void 0,this.name,this.$generics(),this.$params(),this.$type(this._returns),l.factory.createBlock(this.$do(),!0))}if(this.mode===`expr`)return l.factory.createFunctionExpression(this.modifiers.list(),void 0,this.name,this.$generics(),this.$params(),this.$type(this._returns),l.factory.createBlock(this.$do(),!0));let e=this.$do(),t=e.length===1&&l.isReturnStatement(e[0])?e[0].expression??l.factory.createBlock(e,!0):l.factory.createBlock(e,!0);return l.factory.createArrowFunction(this.modifiers.list(),this.$generics(),this.$params(),this.$type(this._returns),void 0,t)}};k(xn,xt,gn,St,yt,Yt,A,en,Et,Dt,Ot,At,Mt);const Sn=xn;var Cn=class extends D{modifiers=j(this);name;constructor(e,t){super(),this.name=e,t?.(this)}$render(){return l.factory.createGetAccessorDeclaration([...this.$decorators(),...this.modifiers.list()],this.name,this.$params(),void 0,l.factory.createBlock(this.$do(),!0))}};k(Cn,xt,yt,Yt,A,en,Et,Dt,Ot,At);var wn=class extends D{modifiers=j(this);name;constructor(e,t){super(),this.name=e,t?.(this)}$render(){return l.factory.createSetAccessorDeclaration([...this.$decorators(),...this.modifiers.list()],this.name,this.$params(),l.factory.createBlock(this.$do(),!0))}};k(wn,xt,yt,Yt,A,en,Et,Dt,Ot,At);var Tn=class e{static DEFAULT_THRESHOLD=3;layout;auto(t=e.DEFAULT_THRESHOLD){return this.layout=t,this}inline(){return this.layout=!1,this}pretty(){return this.layout=!0,this}$multiline(t){return this.layout===void 0&&(this.layout=e.DEFAULT_THRESHOLD),typeof this.layout==`number`?t>=this.layout:this.layout}},En=class extends D{_elements=[];constructor(...e){super(),this.elements(...e)}element(e){let t=typeof e==`string`||typeof e==`number`||typeof e==`boolean`?new P(e):e;return this._elements.push({expr:t,kind:`element`}),this}elements(...e){for(let t of e)this.element(t);return this}spread(e){return this._elements.push({expr:e,kind:`spread`}),this}$render(){let e=this._elements.map(e=>{let t=this.$node(e.expr);return e.kind===`spread`?l.factory.createSpreadElement(t):t});return l.factory.createArrayLiteralExpression(e,this.$multiline(this._elements.length))}};k(En,gn,Tn);let Dn;function On(e){Dn=e}let kn;function An(e){kn=e}let jn;function Mn(e){jn=e}let Nn;function Pn(e){Nn=e}var Fn=class{attr(e){return Dn(this,e)}await(){return kn(this)}call(...e){return jn(this,e)}return(){return Nn(this)}},In=class extends D{expr;type;constructor(e,t){super(),this.expr=e,this.type=t}$render(){return l.factory.createAsExpression(this.$node(this.expr),this.$type(this.type))}};k(In,gn,Fn),hn((...e)=>new In(...e));var F=class extends D{_base;_expr;_op;constructor(e,t,n){super(),this._base=e,this._op=t,this._expr=n}and(e){return this.opAndExpr(`&&`,e)}assign(e){return this.opAndExpr(`=`,e)}coalesce(e){return this.opAndExpr(`??`,e)}div(e){return this.opAndExpr(`/`,e)}eq(e){return this.opAndExpr(`===`,e)}gt(e){return this.opAndExpr(`>`,e)}gte(e){return this.opAndExpr(`>=`,e)}looseEq(e){return this.opAndExpr(`==`,e)}looseNeq(e){return this.opAndExpr(`!=`,e)}lt(e){return this.opAndExpr(`<`,e)}lte(e){return this.opAndExpr(`<=`,e)}minus(e){return this.opAndExpr(`-`,e)}neq(e){return this.opAndExpr(`!==`,e)}or(e){return this.opAndExpr(`||`,e)}plus(e){return this.opAndExpr(`+`,e)}times(e){return this.opAndExpr(`*`,e)}$render(){if(!this._op)throw Error(`BinaryTsDsl: missing operator`);if(this._expr===void 0)throw Error(`BinaryTsDsl: missing right-hand expression`);let e=this.$node(this._base),t=this.$node(this._expr),n=typeof this._op==`string`?this.opToToken(this._op):this._op;return l.factory.createBinaryExpression(e,n,t)}opAndExpr(e,t){return this._expr=t,this._op=e,this}opToToken(e){let t={"!=":l.SyntaxKind.ExclamationEqualsToken,"!==":l.SyntaxKind.ExclamationEqualsEqualsToken,"&&":l.SyntaxKind.AmpersandAmpersandToken,"*":l.SyntaxKind.AsteriskToken,"+":l.SyntaxKind.PlusToken,"-":l.SyntaxKind.MinusToken,"/":l.SyntaxKind.SlashToken,"<":l.SyntaxKind.LessThanToken,"<=":l.SyntaxKind.LessThanEqualsToken,"=":l.SyntaxKind.EqualsToken,"==":l.SyntaxKind.EqualsEqualsToken,"===":l.SyntaxKind.EqualsEqualsEqualsToken,">":l.SyntaxKind.GreaterThanToken,">=":l.SyntaxKind.GreaterThanEqualsToken,"??":l.SyntaxKind.QuestionQuestionToken,"||":l.SyntaxKind.BarBarToken}[e];if(!t)throw Error(`Unsupported operator: ${e}`);return t}};k(F,gn,Fn);var Ln=class{and(e){return new F(this).and(e)}assign(e){return new F(this,`=`,e)}coalesce(e){return new F(this).coalesce(e)}div(e){return new F(this).div(e)}eq(e){return new F(this).eq(e)}gt(e){return new F(this).gt(e)}gte(e){return new F(this).gte(e)}looseEq(e){return new F(this).looseEq(e)}looseNeq(e){return new F(this).looseNeq(e)}lt(e){return new F(this).lt(e)}lte(e){return new F(this).lte(e)}minus(e){return new F(this).minus(e)}neq(e){return new F(this).neq(e)}or(e){return new F(this).or(e)}plus(e){return new F(this).plus(e)}times(e){return new F(this).times(e)}},Rn=class extends D{left;right;constructor(e,t){super(),this.left=e,this.right=t}$render(){let e=this.$node(this.left);return fn.lastIndex=0,typeof this.right==`number`||typeof this.right==`string`&&!fn.test(this.right)?this._optional?l.factory.createElementAccessChain(e,this.$node(new N().questionDot()),this.$node(new P(this.right))):l.factory.createElementAccessExpression(e,this.$node(new P(this.right))):this._optional?l.factory.createPropertyAccessChain(e,this.$node(new N().questionDot()),this.$maybeId(this.right)):l.factory.createPropertyAccessExpression(e,this.$maybeId(this.right))}};k(Rn,gn,Fn,Ln,Xt),On((...e)=>new Rn(...e));var zn=class extends D{_awaitExpr;constructor(e){super(),this._awaitExpr=e}$render(){return l.factory.createAwaitExpression(this.$node(this._awaitExpr))}};k(zn,Fn),An((...e)=>new zn(...e));var Bn=class extends D{_callee;constructor(e,...t){super(),this._callee=e,this.args(...t.filter(e=>e!==void 0))}$render(){return l.factory.createCallExpression(this.$node(this._callee),this.$generics(),this.$args())}};k(Bn,_t,gn,Fn,Pt),Mn((e,t)=>new Bn(e,...t));var Vn=class extends D{_exprInput;constructor(e){super(),this._exprInput=e}$render(){return this.$node(this._exprInput)}};k(Vn,gn,Fn,Ln,Gt);var Hn=class extends D{_lines=[];constructor(e,t){super(),e&&(typeof e==`string`?this.add(e):this.add(...e)),t?.(this)}add(...e){return this._lines.push(...e),this}apply(e){let t=this._lines.filter(e=>!!e||e===``);if(!t.length)return e;for(let n of t)l.addSyntheticLeadingComment(e,l.SyntaxKind.SingleLineCommentTrivia,` ${n}`,!1);return e}$render(){return this.$node(new ht(``))}};function Un(e){let t=e.prototype.$render;class n extends e{_hint;hint(e,t){return this._hint=new Hn(e,t),this}$render(...e){let n=t.apply(this,e);return this._hint?this._hint.apply(n):n}}return n.prototype.$render.mixin=!0,n}var Wn=class extends D{_value;meta;constructor(e){super(),this.meta=e}get isValid(){return this.missingRequiredCalls().length===0}value(e){return typeof e==`function`?e(this):this._value=e,this}$render(){this.$validate();let e=this.$node(this._value);if(this.meta.kind===`spread`){if(l.isStatement(e))throw Error(`Invalid spread: object spread must be an expression, not a statement.`);return l.factory.createSpreadAssignment(e)}if(this.meta.kind===`getter`){let t=new Cn(vn(this.meta.name)).do(e);return this.$node(t)}if(this.meta.kind===`setter`){let t=new wn(vn(this.meta.name)).do(e);return this.$node(t)}if(l.isIdentifier(e)&&e.text===this.meta.name)return l.factory.createShorthandPropertyAssignment(this.meta.name);if(l.isStatement(e))throw Error(`Invalid property: object property value must be an expression, not a statement.`);return l.factory.createPropertyAssignment(this.meta.kind===`computed`?l.factory.createComputedPropertyName(this.$node(new ht(this.meta.name))):vn(this.meta.name),e)}$validate(){let e=this.missingRequiredCalls();if(e.length!==0)throw Error(`Object property${this.meta.name?` "${this.meta.name}"`:``} missing ${e.join(` and `)}`)}missingRequiredCalls(){let e=[];return this._value||e.push(`.value()`),e}};k(Wn,A);var Gn=class extends D{_props=[];constructor(...e){super(),this.props(...e)}computed(e,t){return this._props.push(new Wn({kind:`computed`,name:e}).value(t)),this}getter(e,t){return this._props.push(new Wn({kind:`getter`,name:e}).value(t)),this}hasProps(){return this._props.length>0}get isEmpty(){return this._props.length===0}prop(e,t){return this._props.push(new Wn({kind:`prop`,name:e}).value(t)),this}props(...e){return this._props.push(...e),this}setter(e,t){return this._props.push(new Wn({kind:`setter`,name:e}).value(t)),this}spread(e){return this._props.push(new Wn({kind:`spread`}).value(e)),this}$render(){return l.factory.createObjectLiteralExpression(this.$node(this._props),this.$multiline(this._props.length))}};k(Gn,gn,Fn,Un,Tn);const Kn=(e,t)=>{if(e instanceof D)return e;if(e===null||typeof e==`number`||typeof e==`boolean`||typeof e==`string`)return new P(e);if(e instanceof Array){let n=new En(...e.map(e=>Kn(e,t)));return t?.layout===`pretty`&&n.pretty(),n}if(typeof e==`object`){let n=new Gn;for(let[r,i]of Object.entries(e)){let e=Kn(i,t);n.prop(r,e)}return t?.layout===`pretty`&&n.pretty(),n}throw Error(`$.fromValue(): Unsupported input type ${String(e)}`)};var qn=class extends D{classExpr;constructor(e,...t){super(),this.classExpr=e,this.args(...t)}$render(){return l.factory.createNewExpression(this.$node(this.classExpr),this.$generics(),this.$args())}};k(qn,_t,Fn,Pt);var Jn=class extends D{pattern;flags;constructor(e,t){super(),this.pattern=e,this.flags=t}$render(){let e=`/${(this.pattern.startsWith(`/`)&&this.pattern.endsWith(`/`)?this.pattern.slice(1,-1):this.pattern).replace(/(?new Zn(...e));var Qn=class extends D{_lines=[];constructor(e,t){super(),e&&(typeof e==`string`?this.add(e):this.add(...e)),t?.(this)}add(...e){return this._lines.push(...e),this}apply(e){let t=this._lines.filter(e=>!!e||e===``);return t.length&&l.addSyntheticLeadingComment(e,l.SyntaxKind.MultiLineCommentTrivia,`\n${t.join(` + `)}\n`,!0),e}$render(){return this.$node(new ht(``))}},$n=class extends D{_condition;_else;constructor(e){super(),e&&this.condition(e)}condition(e){return this._condition=e,this}otherwise(...e){return this._else=e,this}$render(){if(!this._condition)throw Error(`Missing condition in if`);let e=this.$do();if(!e.length)throw Error(`Missing then block in if`);let t=this.$node(this._condition),n=e.length===1?e[0]:l.factory.createBlock(e,!0),r=l.isBlock(n)?n:l.factory.createBlock([n],!0),i;if(this._else){let e=this.$node(this._else),t=e.length===1?e[0]:l.factory.createBlock(e,!0);i=l.isBlock(t)?t:l.factory.createBlock([t],!0)}return l.factory.createIfStatement(t,r,i)}};k($n,Yt);var er=class extends D{_returnExpr;constructor(e){super(),this._returnExpr=e}$render(){return l.factory.createReturnStatement(this.$node(this._returnExpr))}};k(er,Fn),Pn((...e)=>new er(...e));var tr=class extends D{error;msg;useNew;constructor(e,t=!0){super(),this.error=e,this.useNew=t}message(e){return this.msg=e,this}$render(){let e=this.$node(this.error),t=this.$node(this.msg?[this.msg]:[]).map(e=>typeof e==`string`?new P(e).$render():e);if(this.useNew)return l.factory.createThrowStatement(l.factory.createNewExpression(e,void 0,t));let n=t.length?[l.factory.createCallExpression(e,void 0,t)]:[e];return l.factory.createThrowStatement(n[0])}},nr=class extends D{kind=l.NodeFlags.None;modifiers=j(this);name;_type;constructor(e){super(),this.name=e}const(){return this.kind=l.NodeFlags.Const,this}let(){return this.kind=l.NodeFlags.Let,this}type(e){return this._type=e instanceof O?e:new M(e),this}var(){return this.kind=l.NodeFlags.None,this}$render(){let e=this.$pattern()??this.name;if(!e)throw Error(`Var must have either a name or a destructuring pattern`);return l.factory.createVariableStatement(this.modifiers.list(),l.factory.createVariableDeclarationList([l.factory.createVariableDeclaration(e,void 0,this.$type(this._type),this.$value())],this.kind))}};k(nr,wt,A,Tt,Un,Qt,Nt);var rr=class extends D{value;modifiers=j(this);name;constructor(e,t){super(),this.name=e,t?.(this)}type(e){return this.value=e,this}$render(){if(!this.value)throw Error(`Type alias '${this.name}' is missing a type definition`);return l.factory.createTypeAliasDeclaration(this.modifiers.list(),this.name,this.$generics(),this.$type(this.value))}};k(rr,A,Tt,Mt);var ir=class extends O{_types=[];constructor(...e){super(),this.types(...e)}types(...e){return this._types.push(...e),this}$render(){let e=[];for(let t of this._types){let n=this.$type(t);l.isIntersectionTypeNode(n)?e.push(...n.types):e.push(n)}return l.factory.createIntersectionTypeNode(e)}},ar=class extends O{value;constructor(e){super(),this.value=e}$render(){return l.factory.createLiteralTypeNode(this.$node(new P(this.value)))}},or=class extends O{modifiers=j(this);_key;_name;_type;constructor(e,t){super(),this._name=e,t?.(this)}get isValid(){return this.missingRequiredCalls().length===0}key(e){return this._key=e,this}type(e){return this._type=e,this}$render(){return this.$validate(),l.factory.createIndexSignature(this.modifiers.list(),[l.factory.createParameterDeclaration(void 0,void 0,this._name,void 0,this.$type(this._key))],this.$type(this._type))}$validate(){let e=this.missingRequiredCalls();if(e.length!==0)throw Error(`Index signature${this._name?` "${this._name}"`:``} missing ${e.join(` and `)}`)}missingRequiredCalls(){let e=[];return this._key||e.push(`.key()`),this._name||e.push(`.name()`),this._type||e.push(`.​type()`),e}};k(or,A,kt);var sr=class extends O{modifiers=j(this);name;_type;constructor(e,t){super(),this.name=e,t(this)}type(e){return this._type=e,this}$render(){if(!this._type)throw Error(`Type not specified for property '${this.name}'`);return l.factory.createPropertySignature(this.modifiers.list(),vn(this.name),this._optional?this.$node(new N().optional()):void 0,this.$type(this._type))}};k(sr,A,Xt,kt);var cr=class extends O{props=[];hasProps(){return this.props.length>0}idxSig(e,t){let n=new or(e,t);return this.props.push(n),this}get isEmpty(){return!this.props.length}prop(e,t){let n=new sr(e,t);return this.props.push(n),this}$render(){return l.factory.createTypeLiteralNode(this.$node(this.props))}},lr=class extends O{_elements=[];constructor(...e){super(),this.elements(...e)}elements(...e){return this._elements.push(...e),this}$render(){return l.factory.createTupleTypeNode(this._elements.map(e=>this.$type(e)))}};const ur=e=>{if(e instanceof D)return e;if(e===null||typeof e==`number`||typeof e==`boolean`||typeof e==`string`)return new ar(e);if(e instanceof Array)return new lr(...e.map(e=>ur(e)));if(typeof e==`object`){let t=new cr;for(let[n,r]of Object.entries(e)){let e=ur(r);t.prop(n,t=>t.type(e))}return t}throw Error(`$.type.fromValue(): Unsupported input type ${String(e)}`)};var dr=class extends O{_returns;returns(e){return this._returns=e instanceof O?e:new M(e),this}$render(){if(this._returns===void 0)throw Error(`Missing return type in function type DSL`);return l.factory.createFunctionTypeNode(this.$generics(),this.$params(),this.$type(this._returns))}};k(dr,A,en,Mt);var fr=class extends O{_base;_index;constructor(e,t){super(),this._base=e,this._index=t}base(e){return this._base=e,this}index(e){return this._index=e,this}$render(){return l.factory.createIndexedAccessTypeNode(this.$type(this._base),this.$type(this._index))}};k(fr,Gt),Rt((...e)=>new fr(...e));var pr=class extends O{questionToken;readonlyToken;_key;_name;_type;constructor(e){super(),this.name(e)}get isValid(){return this.missingRequiredCalls().length===0}key(e){return this._key=e,this}mutable(){return this.readonlyToken=new N().minus(),this}name(e){return this._name=e,this}optional(){return this.questionToken=new N().optional(),this}readonly(){return this.readonlyToken=new N().readonly(),this}required(){return this.questionToken=new N().minus(),this}type(e){return this._type=e,this}$render(){return this.$validate(),l.factory.createMappedTypeNode(this.$node(this.readonlyToken),l.factory.createTypeParameterDeclaration(void 0,this._name,this.$type(this._key),void 0),void 0,this.$node(this.questionToken),this.$type(this._type),void 0)}$validate(){let e=this.missingRequiredCalls();if(e.length!==0)throw Error(`Mapped type${this._name?` "${this._name}"`:``} missing ${e.join(` and `)}`)}missingRequiredCalls(){let e=[];return this._key||e.push(`.key()`),this._name||e.push(`.name()`),this._type||e.push(`.​type()`),e}},mr=class extends O{_op;_type;keyof(e){return this.operator(l.SyntaxKind.KeyOfKeyword),this.type(e),this}operator(e){return this._op=e,this}readonly(e){return this.operator(l.SyntaxKind.ReadonlyKeyword),this.type(e),this}type(e){return this._type=e,this}unique(e){return this.operator(l.SyntaxKind.UniqueKeyword),this.type(e),this}$render(){return this.$validate(),l.factory.createTypeOperatorNode(this._op,this.$type(this._type))}$validate(){let e=this.missingRequiredCalls();if(e.length!==0)throw Error(`Type operator missing ${e.join(` and `)}`)}missingRequiredCalls(){let e=[];return this._op||e.push(`.operator()`),this._type||e.push(`.​type()`),e}};Ht((...e)=>new mr(...e));var hr=class extends O{_types=[];constructor(...e){super(),this.types(...e)}types(...e){return this._types.push(...e),this}$render(){let e=[];for(let t of this._types){let n=this.$type(t);l.isUnionTypeNode(n)?e.push(...n.types):e.push(n)}return l.factory.createUnionTypeNode(e)}},gr=class extends O{_expr;constructor(e){super(),this._expr=e}$render(){let e=this.$node(this._expr);return l.factory.createTypeQueryNode(e)}};k(gr,Gt),Wt((...e)=>new gr(...e));var _r=class extends O{parts=[];constructor(e){super(),e!==void 0&&this.add(e)}add(e){return this.parts.push(e),this}$render(){let e=this.$node(this.parts),t=[];for(let n=0;nnew En(...e),as:(...e)=>new In(...e),attr:(...e)=>new Rn(...e),await:(...e)=>new zn(...e),binary:(...e)=>new F(...e),call:(...e)=>new Bn(...e),class:(...e)=>new rn(...e),const:(...e)=>new nr(...e).const(),decorator:(...e)=>new vt(...e),doc:(...e)=>new bt(...e),enum:(...e)=>new bn(...e),expr:(...e)=>new Vn(...e),field:(...e)=>new qt(...e),fromValue:(...e)=>Kn(...e),func:((e,t)=>e===void 0?new Sn:typeof e!=`string`||t===void 0?new Sn(e):new Sn(e,t)),getter:(...e)=>new Cn(...e),hint:(...e)=>new Hn(...e),id:(...e)=>new ht(...e),if:(...e)=>new $n(...e),init:(...e)=>new tn(...e),let:(...e)=>new nr(...e).let(),literal:(...e)=>new P(...e),member:(...e)=>new yn(...e),method:(...e)=>new nn(...e),neg:(...e)=>new pn(...e).neg(),new:(...e)=>new qn(...e),newline:(...e)=>new gt(...e),not:(...e)=>new pn(...e).not(),note:(...e)=>new Qn(...e),object:(...e)=>new Gn(...e),param:(...e)=>new $t(...e),pattern:(...e)=>new Zt(...e),prefix:(...e)=>new pn(...e),prop:(...e)=>new Wn(...e),regexp:(...e)=>new Jn(...e),return:(...e)=>new er(...e),setter:(...e)=>new wn(...e),stmt:(...e)=>new Jt(...e),template:(...e)=>new Yn(...e),ternary:(...e)=>new Xn(...e),throw:(...e)=>new tr(...e),token:(...e)=>new N(...e),type:Object.assign((...e)=>new M(...e),{alias:(...e)=>new rr(...e),and:(...e)=>new ir(...e),attr:(...e)=>new Kt(...e),expr:(...e)=>new M(...e),fromValue:(...e)=>ur(...e),func:(...e)=>new dr(...e),idx:(...e)=>new fr(...e),literal:(...e)=>new ar(...e),mapped:(...e)=>new pr(...e),object:(...e)=>new cr(...e),operator:(...e)=>new mr(...e),or:(...e)=>new hr(...e),param:(...e)=>new jt(...e),query:(...e)=>new gr(...e),template:(...e)=>new _r(...e),tuple:(...e)=>new lr(...e)}),typeofExpr:(...e)=>new Zn(...e),var:(...e)=>new nr(...e)},I=Object.assign((...e)=>new Vn(...e),vr),yr=({config:e,name:t})=>{let n=e.plugins[`@hey-api/sdk`];if(n?.config.classNameBuilder){let e=``;return e=typeof n.config.classNameBuilder==`function`?n.config.classNameBuilder(t):n.config.classNameBuilder.replace(`{{name}}`,t),e}return t},br=({securitySchemeObject:e})=>{if(e.type===`openIdConnect`)return{scheme:`bearer`,type:`http`};if(e.type===`oauth2`)return e.flows.password||e.flows.authorizationCode||e.flows.clientCredentials||e.flows.implicit?{scheme:`bearer`,type:`http`}:void 0;if(e.type===`apiKey`)return e.in===`header`?{name:e.name,type:`apiKey`}:e.in===`query`||e.in==`cookie`?{in:e.in,name:e.name,type:`apiKey`}:void 0;if(e.type===`http`){let t=e.scheme.toLowerCase();return t===`bearer`||t===`basic`?{scheme:t,type:`http`}:void 0}},xr=({operation:e,plugin:t})=>{if(!e.security||!t.config.auth)return[];let n=[];for(let t of e.security){let e=br({securitySchemeObject:t});e?n.push(e):console.warn(`❗️ SDK warning: unsupported security scheme. Please open an issue if you'd like it added https://github.com/hey-api/openapi-ts/issues\n${JSON.stringify(t,null,2)}`)}return n},Sr=`TComposable`,Cr=`DefaultT`,wr=`ResT`,Tr=/~1/g,Er=/~0/g,L=e=>{let t=Or(e),n=t[t.length-1];return decodeURI(n)},Dr=e=>String(e).replace(/~/g,`~0`).replace(/\//g,`~1`),Or=e=>{let t=e.trim();return t.startsWith(`#`)&&(t=t.slice(1)),t.startsWith(`/`)&&(t=t.slice(1)),t?t.split(`/`).map(e=>e.replace(Tr,`/`).replace(Er,`~`)):[]},kr=e=>{let t=e.trim();return t.startsWith(`#`)||(t=`#${t}`),t.length>1&&t.endsWith(`/`)&&(t=t.slice(0,-1)),t=t.replace(/\/+/g,`/`),t},Ar=e=>{let t=e.map(Dr).join(`/`);return`#`+(t?`/${t}`:``)},jr=({$ref:e,spec:t})=>{let n=Or(decodeURI(e)),r=t;for(let t of n){let n=t;if(r[n]===void 0)throw Error(`Reference not found: ${e}`);r=r[n]}return r},Mr=({operation:e})=>{let t=[`header`,`path`,`query`],n={},r=(e,t)=>{n[e]||(n[e]=new Set),n[e].add(t)};for(let n of t){let t=e.parameters?.[n];if(t)for(let e in t){let i=t[e];r(i.name,n)}}if(e.body)if(!e.body.schema.logicalOperator&&e.body.schema.type===`object`&&e.body.schema.properties){let t=e.body.schema.properties;for(let e in t)r(e,`body`)}else e.body.schema.$ref?r(y({case:`camelCase`,value:L(e.body.schema.$ref)}),`body`):r(`body`,`body`);let i=new Set;for(let e in n)n[e].size>1&&i.add(e);let a={},o=[];for(let n of t){let t=e.parameters?.[n];if(t)for(let e in t){let r=t[e],s=r.name,c=i.has(s)?`${n}_${s}`:s,l={isRequired:r.required??!1,name:c,schema:r.schema};c!==s&&(l.originalName=s),a[c]=l,o.push({in:n===`header`?`headers`:n,key:c,...c===s?{}:{map:s}})}}if(e.body){let t=`body`;if(!e.body.schema.logicalOperator&&e.body.schema.type===`object`&&e.body.schema.properties){let n=e.body.schema.properties;for(let e in n){let r=n[e],s=i.has(e)?`${t}_${e}`:e,c={isRequired:r.required?.includes(e)??!1,name:s,schema:r};s!==e&&(c.originalName=e),a[s]=c,o.push({in:t,key:s,...s===e?{}:{map:e}})}}else if(e.body.schema.$ref){let n=y({case:`camelCase`,value:L(e.body.schema.$ref)}),r=i.has(n)?`${t}_${n}`:n,s={isRequired:e.body.required??!1,name:r,schema:e.body.schema};r!==n&&(s.originalName=n),a[r]=s,o.push({key:r,map:`body`})}else a.body={isRequired:e.body.required??!1,name:`body`,schema:e.body.schema},o.push({in:`body`})}if(Object.keys(a).length)return{fields:o,parameters:a}},Nr=({operation:e,plugin:t})=>{if(!t.config.validator.request)return;let n=t.getPluginOrThrow(t.config.validator.request);if(n.api.createRequestValidator)return n.api.createRequestValidator({operation:e,plugin:n})},Pr=({operation:e,plugin:t})=>{if(!t.config.validator.response)return;let n=t.getPluginOrThrow(t.config.validator.response);if(n.api.createResponseValidator)return n.api.createResponseValidator({operation:e,plugin:n})},Fr=({context:e,value:t})=>{let n=y({case:`PascalCase`,value:pt(t)});return yr({config:e.config,name:n})},Ir=({operation:e,plugin:t})=>t.config.methodNameBuilder?t.config.methodNameBuilder(e):!t.config.asClass&&e.id.match(ln)?`${e.id}_`:e.id,Lr=({context:e,operation:t,plugin:n})=>{let r=new Map,i,a,o=[];n.config.classStructure===`auto`&&t.operationId&&(o=t.operationId.split(/[./]/).filter(Boolean),o.length>1&&(a=y({case:`camelCase`,value:pt(o.pop())}),i=o.pop()));let s=n.config.instance?[n.config.instance]:t.tags??[`default`];for(let c of s){let s=Fr({context:e,value:i||c}),l=[c];i&&(l=o.includes(c)||c===i?[...o,i]:[c,...o,i]),r.set(c,{className:s,methodName:a||Ir({operation:t,plugin:n}),path:l.map(t=>Fr({context:e,value:t}))})}return r},Rr=({isDataAllowed:e=!0,operation:t,plugin:n,throwOnError:r})=>{let i=w(n.context.config).name===`@hey-api/client-nuxt`,a=e?n.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`data`,tool:`typescript`}):void 0,o=n.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`});if(i){let r=n.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`response`}),i=e?a?.placeholder||`unknown`:`never`,s=r?.placeholder||`unknown`;return`${o.placeholder}<${Sr}, ${i}, ${s}, ${Cr}>`}if(r){let t=e?a?.placeholder||`unknown`:`never`;return`${o.placeholder}<${t}, ${r}>`}let s=e?a?.placeholder:`never`;return s?`${o.placeholder}<${s}>`:o.placeholder},zr=({isRequiredOptions:e,operation:t,plugin:n})=>{let r={argNames:[],fields:[],parameters:[]},i=n.getPluginOrThrow(`@hey-api/typescript`),a=w(n.context.config).name===`@hey-api/client-nuxt`;if(n.config.paramsStructure===`flat`){let e=Mr({operation:t,plugin:n}),a=I.type.object();if(e){let t=!1;for(let n in e.parameters){let r=e.parameters[n];r.isRequired&&(t=!0),a.prop(r.name,e=>e.required(r.isRequired).type(i.api.schemaToType({plugin:i,schema:r.schema,state:E({path:[]})})))}r.argNames.push(`parameters`);for(let t of e.fields)r.fields.push(t);r.parameters.push(I.param(`parameters`,e=>e.required(t).type(a)))}}return r.parameters.push(I.param(`options`,r=>r.required(e).type(Rr({isDataAllowed:n.config.paramsStructure===`grouped`,operation:t,plugin:n,throwOnError:a?void 0:`ThrowOnError`})))),r},Br=e=>{if(!e)return;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},Vr=({isRequiredOptions:e,opParameters:t,operation:n,plugin:r})=>{let i=w(r.context.config),a=i.name===`@hey-api/client-nuxt`,o=r.querySymbol({category:`type`,resource:`operation`,resourceId:n.id,role:a?`response`:`responses`})?.placeholder||`unknown`,s=r.querySymbol({category:`type`,resource:`operation`,resourceId:n.id,role:a?`error`:`errors`})?.placeholder||`unknown`,c=I.object();if(n.body)switch(n.body.type){case`form-data`:{let e=r.referenceSymbol({category:`external`,resource:`client.formDataBodySerializer`});c.spread(e.placeholder);break}case`json`:break;case`text`:case`octet-stream`:c.prop(`bodySerializer`,I.literal(null));break;case`url-search-params`:{let e=r.referenceSymbol({category:`external`,resource:`client.urlSearchParamsBodySerializer`});c.spread(e.placeholder);break}}let l=I.object();for(let e in n.parameters?.query){let t=n.parameters.query[e];t.schema.type===`array`||t.schema.type===`tuple`?(t.style!==`form`||!t.explode)&&l.prop(t.name,I.object().prop(`array`,I.object().$if(t.explode===!1,e=>e.prop(`explode`,I.literal(t.explode))).$if(t.style!==`form`,e=>e.prop(`style`,I.literal(t.style))))):t.schema.type===`object`&&(t.style!==`deepObject`||!t.explode)&&l.prop(t.name,I.object().prop(`object`,I.object().$if(t.explode===!1,e=>e.prop(`explode`,I.literal(t.explode))).$if(t.style!==`deepObject`,e=>e.prop(`style`,I.literal(t.style)))))}l.hasProps()&&c.prop(`querySerializer`,I.object().prop(`parameters`,l));let u=Nr({operation:n,plugin:r}),d=Pr({operation:n,plugin:r});if(u&&c.prop(`requestValidator`,u.arrow()),r.config.transformer){let e={category:`transform`,resource:`operation`,resourceId:n.id,role:`response`};if(r.isSymbolRegistered(e)){let t=r.referenceSymbol(e);c.prop(`responseTransformer`,I(t.placeholder))}}let f=!1,p;for(let e in n.responses){let t=n.responses[e];!p&&i.name===`@hey-api/client-axios`&&dt({statusCode:e})===`2XX`&&(p=Br(t.mediaType),p&&c.prop(`responseType`,I.literal(p))),t.mediaType===`text/event-stream`&&(f=!0)}d&&c.prop(`responseValidator`,d.arrow()),r.config.responseStyle===`data`&&c.prop(`responseStyle`,I.literal(r.config.responseStyle));let m=xr({context:r.context,operation:n,plugin:r});m.length&&c.prop(`security`,I.fromValue(m)),c.prop(`url`,I.literal(n.path)),c.spread(`options`);let h=[],g=t.argNames.length;if(g){let e=[],n=[];for(let n of t.argNames)e.push(I(n));for(let e of t.fields){let t=I.object();`in`in e&&(t.prop(`in`,I.literal(e.in)),e.key&&t.prop(`key`,I.literal(e.key)),e.map&&t.prop(`map`,I.literal(e.map))),n.push(t)}let i=r.referenceSymbol({category:`external`,resource:`client.buildClientParams`});h.push(I.const(`params`).assign(I(i.placeholder).call(I.array(...e),I.array(...n)))),c.spread(`params`)}if(n.body){let t=n.parameters?.header?.[`content-type`];if(!t?.required){let r=I.object().pretty().prop(t?.name??`Content-Type`,I.literal(n.body.type===`form-data`?null:n.body.mediaType)).spread(I(`options`).attr(`headers`).required(e));g&&r.spread(I(`params`).attr(`headers`)),c.prop(`headers`,r)}}let ee=r.config.client?r.getSymbol({category:`client`}):void 0,te,ne=I(`options`).attr(`client`).required(e);te=r.config.instance?ne.coalesce(I(`this`).attr(`client`)):ee?ne.coalesce(ee.placeholder):ne;let re=f?te.attr(`sse`):te;return re=re.attr(n.method),h.push(I.return(re.call(c).$if(a,e=>e.generic(Sr).generic(`${o} | ${Cr}`).generic(s).generic(Cr),e=>e.generic(o).generic(s).generic(`ThrowOnError`)).$if(r.config.responseStyle===`data`,e=>e.generic(I.type.literal(r.config.responseStyle))))),h},Hr=e=>e.replace(/\*\//g,`*`).replace(/\/\*/g,`*`).replace(/\r?\n(.*)/g,(e,t)=>u+t.trim()),R=e=>{let t=[];return e.summary&&t.push(Hr(e.summary)),e.description&&(t.length&&t.push(``),t.push(Hr(e.description))),e.deprecated&&(t.length&&t.push(``),t.push(`@deprecated`)),t.length?t:void 0},Ur=({context:e,operation:t})=>{let n=w(e.config).name===`@hey-api/client-nuxt`,r=e.config.plugins[`@hey-api/sdk`];if(r){if(!r.config.client&&!r.config.instance)return!0;if(r.config.paramsStructure===`flat`)return!1}return n||lt(t)},Wr=({operation:e})=>{for(let t in e.responses)if(e.responses[t].mediaType===`text/event-stream`)return!0;return!1},Gr=({plugin:e})=>{let t=new Map,n=new Set,r=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let i=Ur({context:e.context,operation:n}),a=Lr({context:e.context,operation:n,plugin:r});for(let r of a.values())r.path.forEach((a,o)=>{t.has(a)||t.set(a,{className:a,classes:new Set,methods:new Set,nodes:[],root:!o});let s=r.path[o-1];if(s&&s!==a){let e=t.get(s);e.classes.add(a),t.set(s,e)}if(r.path.length!==o+1)return;let c=t.get(a),l=e.config.httpRequests.methodNameBuilder(n);if(c.methods.has(l))return;let u=Jr({isRequiredOptions:i,methodName:l,operation:n,plugin:e});c.nodes.length?c.nodes.push(I.newline(),u):c.nodes.push(u),c.methods.add(l),t.set(a,c)})},{order:`declarations`});let i=r=>{if(n.has(r.className))return;if(r.classes.size)for(let n of r.classes){let a=t.get(n);i(a),r.nodes.push(I.field(y({case:`camelCase`,value:a.className})).assign(I.new(b({config:{case:`preserve`,name:e.config.httpRequests.classNameBuilder},name:a.className}))))}let a=e.referenceSymbol({category:`external`,resource:`@angular/core.Injectable`}),o=e.registerSymbol({exported:!0,meta:{category:`utility`,resource:`class`,resourceId:r.className,tool:`angular`},name:b({config:{case:`preserve`,name:e.config.httpRequests.classNameBuilder},name:r.className})}),s=I.class(o.placeholder).export(o.exported).$if(r.root,e=>e.decorator(a.placeholder,I.object().prop(`providedIn`,I.literal(`root`)))).do(...r.nodes);e.setSymbolValue(o,s),n.add(r.className)};for(let e of t.values())i(e)},Kr=({plugin:e})=>{e.forEach(`operation`,({operation:t})=>{let n=Ur({context:e.context,operation:t}),r=e.registerSymbol({exported:!0,meta:{category:`utility`,resource:`operation`,resourceId:t.id,role:`data`,tool:`angular`},name:e.config.httpRequests.methodNameBuilder(t)}),i=Yr({isRequiredOptions:n,operation:t,plugin:e,symbol:r});e.setSymbolValue(r,i)},{order:`declarations`})},qr=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`client`});return I(`options`).attr(`client`).optional().$if(n,(e,t)=>e.coalesce(t.placeholder)).attr(`requestOptions`).call(I.object().prop(`responseStyle`,I.literal(`data`)).prop(`method`,I.literal(e.method.toUpperCase())).prop(`url`,I.literal(e.path)).spread(`options`))},Jr=({isRequiredOptions:e,methodName:t,operation:n,plugin:r})=>{let i=r.referenceSymbol({category:`external`,resource:`@angular/common/http.HttpRequest`}),a=r.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),o=r.querySymbol({category:`type`,resource:`operation`,resourceId:n.id,role:`data`,tool:`typescript`})?.placeholder||`unknown`;return I.method(t).public().$if(R(n),(e,t)=>e.doc(t)).param(`options`,t=>t.required(e).type(`${a.placeholder}<${o}, ThrowOnError>`)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(!1)).returns(`${i.placeholder}`).do(I.return(qr({operation:n,plugin:r})))},Yr=({isRequiredOptions:e,operation:t,plugin:n,symbol:r})=>{let i=n.referenceSymbol({category:`external`,resource:`@angular/common/http.HttpRequest`}),a=n.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),o=n.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`data`,tool:`typescript`})?.placeholder||`unknown`;return I.const(r.placeholder).export(r.exported).$if(R(t),(e,t)=>e.doc(t)).assign(I.func().param(`options`,t=>t.required(e).type(`${a.placeholder}<${o}, ThrowOnError>`)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(!1)).returns(`${i.placeholder}`).do(I.return(qr({operation:t,plugin:n}))))},Xr=({plugin:e})=>{e.config.httpRequests.asClass?Gr({plugin:e}):Kr({plugin:e})},Zr=({plugin:e})=>{let t=new Map,n=new Set,r=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let i=Ur({context:e.context,operation:n}),a=Lr({context:e.context,operation:n,plugin:r});for(let r of a.values())r.path.forEach((a,o)=>{t.has(a)||t.set(a,{className:a,classes:new Set,methods:new Set,nodes:[],root:!o});let s=r.path[o-1];if(s&&s!==a){let e=t.get(s);e.classes.add(a),t.set(s,e)}if(r.path.length!==o+1)return;let c=t.get(a),l=e.config.httpResources.methodNameBuilder(n);if(c.methods.has(l))return;let u=ei({isRequiredOptions:i,methodName:l,operation:n,plugin:e});c.nodes.length?c.nodes.push(I.newline(),u):c.nodes.push(u),c.methods.add(l),t.set(a,c)})},{order:`declarations`});let i=r=>{if(n.has(r.className))return;if(r.classes.size)for(let n of r.classes){let a=t.get(n);i(a),r.nodes.push(I.field(y({case:`camelCase`,value:a.className})).assign(I.new(b({config:{case:`preserve`,name:e.config.httpResources.classNameBuilder},name:a.className}))))}let a=e.referenceSymbol({category:`external`,resource:`@angular/core.Injectable`}),o=e.registerSymbol({exported:!0,name:b({config:{case:`preserve`,name:e.config.httpResources.classNameBuilder},name:r.className})}),s=I.class(o.placeholder).export(o.exported).$if(r.root,e=>e.decorator(a.placeholder,I.object().prop(`providedIn`,I.literal(`root`)))).do(...r.nodes);e.setSymbolValue(o,s),n.add(r.className)};for(let e of t.values())i(e)},Qr=({plugin:e})=>{e.forEach(`operation`,({operation:t})=>{let n=Ur({context:e.context,operation:t}),r=e.registerSymbol({exported:!0,name:e.config.httpResources.methodNameBuilder(t)}),i=ti({isRequiredOptions:n,operation:t,plugin:e,symbol:r});e.setSymbolValue(r,i)},{order:`declarations`})},$r=({operation:e,plugin:t})=>{let n=t.getPluginOrThrow(`@hey-api/sdk`),r=t.referenceSymbol({category:`external`,resource:`@angular/common/http.httpResource`}),i=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`;if(t.config.httpRequests.asClass){let a=Lr({context:t.context,operation:e,plugin:n}),o=Array.from(a.values())[0];if(o){let n=o.path[0],a=t.referenceSymbol({category:`utility`,resource:`class`,resourceId:n,tool:`angular`}),s=I(t.referenceSymbol({category:`external`,resource:`@angular/core.inject`}).placeholder).call(a.placeholder);for(let e=1;e{let i=r.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),a=r.querySymbol({category:`type`,resource:`operation`,resourceId:n.id,role:`data`,tool:`typescript`})?.placeholder||`unknown`;return I.method(t).public().$if(R(n),(e,t)=>e.doc(t)).param(`options`,t=>t.required(e).type(`() => ${i.placeholder}<${a}, ThrowOnError> | undefined`)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(!1)).do(I.return($r({operation:n,plugin:r})))},ti=({isRequiredOptions:e,operation:t,plugin:n,symbol:r})=>{let i=n.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),a=n.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`data`,tool:`typescript`})?.placeholder||`unknown`;return I.const(r.placeholder).export(r.exported).$if(R(t),(e,t)=>e.doc(t)).assign(I.func().param(`options`,t=>t.required(e).type(`() => ${i.placeholder}<${a}, ThrowOnError> | undefined`)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(!1)).do(I.return($r({operation:t,plugin:n}))))},ni=({plugin:e})=>{e.config.httpResources.asClass?Zr({plugin:e}):Qr({plugin:e})},ri={config:{exportFromIndex:!1},dependencies:[`@hey-api/client-angular`,`@hey-api/sdk`],handler:({plugin:e})=>{e.registerSymbol({external:`@angular/common/http`,kind:`type`,meta:{category:`external`,resource:`@angular/common/http.HttpRequest`},name:`HttpRequest`}),e.registerSymbol({external:`@angular/core`,meta:{category:`external`,resource:`@angular/core.inject`},name:`inject`}),e.registerSymbol({external:`@angular/core`,meta:{category:`external`,resource:`@angular/core.Injectable`},name:`Injectable`}),e.registerSymbol({external:`@angular/common/http`,meta:{category:`external`,resource:`@angular/common/http.httpResource`},name:`httpResource`}),e.config.httpRequests.enabled&&Xr({plugin:e}),e.config.httpResources.enabled&&ni({plugin:e})},name:`@angular/common`,resolveConfig:(e,t)=>{if(e.config.httpRequests=t.valueToObject({defaultValue:{asClass:!1,classNameBuilder:`{{name}}Requests`,enabled:!0},mappers:{boolean:e=>({enabled:e})},value:e.config.httpRequests}),!e.config.httpRequests.methodNameBuilder){let{asClass:t}=e.config.httpRequests;e.config.httpRequests.methodNameBuilder=e=>t?String(e.id):`${String(e.id)}Request`}if(e.config.httpResources=t.valueToObject({defaultValue:{asClass:!1,classNameBuilder:`{{name}}Resources`,enabled:!0},mappers:{boolean:e=>({enabled:e})},value:e.config.httpResources}),!e.config.httpResources.methodNameBuilder){let{asClass:t}=e.config.httpResources;e.config.httpResources.methodNameBuilder=e=>t?String(e.id):`${String(e.id)}Resource`}}},ii={baseUrl:!0,bundle:!0,exportFromIndex:!1},ai={dependencies:[`@hey-api/typescript`],tags:[`client`]},oi=c(import.meta.url),si=s.dirname(oi),ci=e=>{let t=w(e);if(`bundle`in t.config&&t.config.bundle){let t=e._FRAGILE_CLIENT_BUNDLE_RENAMED;return s.resolve(e.output.path,`client`,`${t?.get(`index`)??`index`}.ts`)}return t.name},li=(e,t)=>{if(o.statSync(e).isDirectory()){o.existsSync(t)||o.mkdirSync(t,{recursive:!0});let n=o.readdirSync(e);for(let r of n)li(s.join(e,r),s.join(t,r))}else{let n=o.readFileSync(e);o.writeFileSync(t,n)}},ui=({filePath:e,project:t,renamed:n})=>{let r=s.extname(e),i=s.basename(e,r),a=t.fileName?.(i)||i;if(a!==i){let t=s.dirname(e);o.renameSync(e,s.resolve(t,`${a}${r}`)),n.set(i,a)}},di=({filePath:e,meta:t,renamed:n})=>{let r=o.readFileSync(e,`utf8`);r=r.replace(/from\s+['"](\.\.?\/[^'"]*?)['"]/g,(e,r)=>{let i=e.indexOf(r),a=s.extname(r),o=s.basename(r,a),c=s.dirname(r),l=(n.get(o)??o)+(t.importFileExtension?t.importFileExtension:a);return e.slice(0,i)+[c,l].filter(Boolean).join(`/`)+e.slice(i+r.length)}),r=`// This file is auto-generated by @hey-api/openapi-ts + +-${r}`,o.writeFileSync(e,r,`utf8`)},fi=({meta:e,outputPath:t,plugin:n,project:r})=>{let i=new Map;if(n.name.startsWith(`@hey-api/client-`)){let a=s.resolve(t,`core`);pe(a),li(s.resolve(si,`clients`,`core`),a);let c=s.resolve(t,`client`);pe(c);let l=n.name.slice(16);if(li(s.resolve(si,`clients`,l),c),r){let e=o.readdirSync(a);for(let t of e)ui({filePath:s.resolve(a,t),project:r,renamed:i});let t=o.readdirSync(c);for(let e of t)ui({filePath:s.resolve(c,e),project:r,renamed:i})}let u=o.readdirSync(a);for(let t of u)di({filePath:s.resolve(a,t),meta:e,renamed:i});let d=o.readdirSync(c);for(let t of d)di({filePath:s.resolve(c,t),meta:e,renamed:i});return i}let a=s.isAbsolute(n.name)?s.dirname(n.name):void 0;if(a){let e=s.resolve(t,`client`);pe(e),li(a,e);return}let c=s.normalize(oe.resolve(n.name)).split(s.sep),l=c.slice(0,c.indexOf(`dist`)+1).join(s.sep),u=[c[c.length-1],`index.d.ts`,`index.d.cts`],d=s.resolve(t,`client`);pe(d);for(let e of u)o.copyFileSync(s.resolve(l,e),s.resolve(d,e))},pi=/^(([^:/?#]+):)?((\/\/)?([^:/?#]*)(:?([^/?#]*)))?([^?#]*)(\?([^#]*))?(#(.*))?/,mi=e=>{let t={host:``,path:``,port:``,protocol:``};pi.lastIndex=0;let n=e.match(pi);if(!n)return t;let r=n[5]||``;if(r===`.`||r===`..`)return t;let i=n[8]||``,a=n[2]||``;return a.length===1?t:{host:r,path:i===`/`?``:i,port:n[7]||``,protocol:a}},hi=({plugin:e})=>{let{baseUrl:t}=e.config;if(t===!1)return;if(typeof t==`string`)return t;let{servers:n}=e.context.ir;if(n)return n[typeof t==`number`?t:0]?.url},gi=({plugin:e})=>{let t=ci(e.context.config),n=e.registerSymbol({external:t,name:`createClient`}),r=e.registerSymbol({external:t,name:`createConfig`}),i=e.referenceSymbol({category:`type`,resource:`client`,role:`options`}),{runtimeConfigPath:a}=e.config,o=a?e.registerSymbol({external:a,name:`createClientConfig`}):void 0,s=I.object(),c=hi({plugin:e});if(c){let t=mi(c);if(t.protocol&&t.host&&!c.includes(`{`))s.prop(mt(e.context.config),I.literal(c));else if(c!==`/`&&c.startsWith(`/`)){let t=c.endsWith(`/`)?c.slice(0,-1):c;s.prop(mt(e.context.config),I.literal(t))}}`throwOnError`in e.config&&e.config.throwOnError&&s.prop(`throwOnError`,I.literal(!0));let l=[I(r.placeholder).call(s.hasProps()?s:void 0).generic(i.placeholder)],u=e.registerSymbol({exported:!0,meta:{category:`client`},name:`client`}),d=I.const(u.placeholder).export(u.exported).assign(I(n.placeholder).$if(o,(e,t)=>e.call(I(t.placeholder).call(...l)),e=>e.call(...l)));e.setSymbolValue(u,d)},_i=({plugin:e})=>{let t=ci(e.context.config),n=e.referenceSymbol({category:`type`,resource:`client`,role:`options`}),r=e.registerSymbol({external:t,kind:`type`,name:`Config`}),i=e.registerSymbol({external:t,kind:`type`,name:`ClientOptions`}),a=e.registerSymbol({exported:!0,kind:`type`,name:`CreateClientConfig`}),o=I.type.alias(a.placeholder).export(a.exported).doc(["The `createClientConfig()` function will be called on client initialization",`and the returned object will become the client's initial configuration.`,``,`You may want to initialize your client this way instead of calling`,"`setConfig()`. This is useful for example if you're using Next.js",`to ensure your client always has the correct values.`]).generic(`T`,e=>e.extends(i.placeholder).default(n.placeholder)).type(I.type.func().param(`override`,e=>e.optional().type(I.type(r.placeholder).generic(I.type.and(i.placeholder,`T`)))).returns(I.type(r.placeholder).generic(I.type.and(I.type(`Required`).generic(i.placeholder),`T`))));e.setSymbolValue(a,o)},vi=({plugin:e})=>{_i({plugin:e}),gi({plugin:e})},yi={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-angular`},bi={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-axios`},xi={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-fetch`},Si={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-ky`},Ci={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-next`},wi={...ai,config:ii,handler:vi,name:`@hey-api/client-nuxt`},Ti={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-ofetch`},Ei=(...e)=>d.satisfies(...e),Di=e=>({getVersion:t=>{let n=e[t];if(n)try{let e=d.parse(n);if(e)return e;let t=d.minVersion(n);if(t)return t;if(e=d.coerce(n),e)return e}catch{}},isInstalled:t=>!!e[t],satisfies:(t,n,r)=>{let i=typeof t==`string`?e[t]:t;return i?Ei(i,n,r):!1}}),Oi=[ln,dn,cn,un,sn],ki=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,`_`);if(an.lastIndex=0,an.test(t))return`_${t}`;for(let e of Oi){if(t.startsWith(`_`))return t;t=t.replace(e,`_$1`)}return t},Ai=({plugin:e,schema:t})=>{e.config.type===`form`&&(t.description&&delete t.description,t[`x-enum-descriptions`]&&delete t[`x-enum-descriptions`],t[`x-enum-varnames`]&&delete t[`x-enum-varnames`],t[`x-enumNames`]&&delete t[`x-enumNames`],t.title&&delete t.title)},ji=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>ji({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(r.$ref)return r.$ref=decodeURI(r.$ref),r;if(Ai({plugin:t,schema:r}),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=ji({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>ji({context:e,plugin:t,schema:n})),r.items&&=ji({context:e,plugin:t,schema:r.items}),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=ji({context:e,plugin:t,schema:i}))}return r},Mi=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Mi({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(`$ref`in r)return r.$ref=decodeURI(r.$ref),r;if(Ai({plugin:t,schema:r}),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Mi({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Mi({context:e,plugin:t,schema:n})),r.anyOf&&=r.anyOf.map(n=>Mi({context:e,plugin:t,schema:n})),r.items&&=Mi({context:e,plugin:t,schema:r.items}),r.oneOf&&=r.oneOf.map(n=>Mi({context:e,plugin:t,schema:n})),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Mi({context:e,plugin:t,schema:i}))}return r},Ni=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Ni({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(Ai({plugin:t,schema:r}),r.$ref&&=decodeURI(r.$ref),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Ni({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.anyOf&&=r.anyOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.items&&=Ni({context:e,plugin:t,schema:r.items}),r.oneOf&&=r.oneOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.prefixItems&&=r.prefixItems.map(n=>Ni({context:e,plugin:t,schema:n})),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Ni({context:e,plugin:t,schema:i}))}return r},Pi=({name:e,plugin:t,schema:n})=>{let r=``;return t.config.nameBuilder&&(r=typeof t.config.nameBuilder==`function`?t.config.nameBuilder(e,n):t.config.nameBuilder.replace(`{{name}}`,e)),r||=`${e}Schema`,ki(r)},Fi=({context:e,plugin:t})=>{if(e.spec.definitions)for(let n in e.spec.definitions){let r=e.spec.definitions[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Pi({name:n,plugin:t,schema:r})}),a=ji({context:e,plugin:t,schema:r}),o=I.const(i.placeholder).export(i.exported).assign(I(I.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Ii=({context:e,plugin:t})=>{if(e.spec.components)for(let n in e.spec.components.schemas){let r=e.spec.components.schemas[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Pi({name:n,plugin:t,schema:r})}),a=Mi({context:e,plugin:t,schema:r}),o=I.const(i.placeholder).export(i.exported).assign(I(I.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Li=({context:e,plugin:t})=>{if(e.spec.components)for(let n in e.spec.components.schemas){let r=e.spec.components.schemas[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Pi({name:n,plugin:t,schema:r})}),a=Ni({context:e,plugin:t,schema:r}),o=I.const(i.placeholder).export(i.exported).assign(I(I.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Ri={config:{exportFromIndex:!1,nameBuilder:e=>`${e}Schema`,type:`json`},handler:({plugin:e})=>{if(`swagger`in e.context.spec){Fi({context:e.context,plugin:e});return}if(Ei(e.context.spec.openapi,`>=3.0.0 <3.1.0`)){Ii({context:e.context,plugin:e});return}if(Ei(e.context.spec.openapi,`>=3.1.0`)){Li({context:e.context,plugin:e});return}throw Error(`Unsupported OpenAPI specification`)},name:`@hey-api/schemas`},zi=`__registry`,Bi=({sdkName:e,symbol:t})=>{let n=`defaultKey`,r=`instances`;return I.class(t.placeholder).export(t.exported).generic(`T`).field(n,e=>e.private().readonly().assign(I.literal(`default`))).newline().field(r,e=>e.private().readonly().type(I.type(`Map`).generics(`string`,`T`)).assign(I.new(`Map`))).newline().method(`get`,t=>t.returns(`T`).param(`key`,e=>e.type(`string`).optional()).do(I.const(`instance`).assign(I(`this`).attr(`instances`).attr(`get`).call(I(`key`).coalesce(I(`this`).attr(n)))),I.if(I.not(`instance`)).do(I.throw(`Error`).message(I.template(`No SDK client found. Create one with "new `).add(e).add(`()" to fix this error.`))),I.return(`instance`))).newline().method(`set`,e=>e.returns(`void`).param(`value`,e=>e.type(`T`)).param(`key`,e=>e.type(`string`).optional()).do(I(`this`).attr(r).attr(`set`).call(I(`key`).coalesce(I(`this`).attr(n)),`value`)))},Vi=({plugin:e,symbol:t})=>{let n=e.getSymbol({category:`client`}),r=!!(e.config.client&&n),i=e.referenceSymbol({category:`external`,resource:`client.Client`});return I.class(t.placeholder).export(t.exported).field(`client`,e=>e.protected().type(i.placeholder)).newline().init(e=>e.param(`args`,e=>e.optional(r).type(I.type.object().prop(`client`,e=>e.optional(r).type(i.placeholder)))).do(I(`this`).attr(`client`).assign(I(`args`).attr(`client`).optional(r).$if(r,e=>e.coalesce(n.placeholder)))))},Hi=({plugin:e})=>{let t=w(e.context.config),n=t.name===`@hey-api/client-angular`,r=t.name===`@hey-api/client-nuxt`,i=new Map,a=new Set;e.forEach(`operation`,({operation:a})=>{let o=Ur({context:e.context,operation:a}),s=r?e.querySymbol({category:`type`,resource:`operation`,resourceId:a.id,role:`response`}):void 0,c=Lr({context:e.context,operation:a,plugin:e});for(let l of c.values())l.path.forEach((c,u)=>{let d=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:c,tool:`sdk`});i.has(d.meta.resourceId)||i.set(d.meta.resourceId,{className:d.meta.resourceId,classes:new Set,id:d.id,methods:new Set,nodes:[],root:!u});let f=l.path[u-1];if(f){let t=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:f,tool:`sdk`});if(t.meta?.resourceId!==d.meta?.resourceId){let e=i.get(t.meta.resourceId);e.classes.add(d.meta.resourceId),i.set(t.meta.resourceId,e)}}if(l.path.length!==u+1)return;let p=i.get(d.meta.resourceId);if(p.methods.has(l.methodName))return;let m=zr({isRequiredOptions:o,operation:a,plugin:e}),h=Vr({isRequiredOptions:o,opParameters:m,operation:a,plugin:e}),g=I.method(l.methodName,i=>i.$if(R(a),(e,t)=>e.doc(t)).public().static(!n&&!e.config.instance).$if(r,t=>t.generic(Sr,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(I.type.literal(`$fetch`))).generic(Cr,e=>e.$if(s,(e,t)=>e.extends(t.placeholder).default(t.placeholder))),e=>e.generic(`ThrowOnError`,e=>e.extends(`boolean`).default((`throwOnError`in t.config?t.config.throwOnError:!1)??!1))).params(...m.parameters).do(...h));p.nodes.length?p.nodes.push(I.newline(),g):p.nodes.push(g),p.methods.add(l.methodName),i.set(d.meta.resourceId,p)})},{order:`declarations`});let o=e.config.instance?e.registerSymbol({exported:!1,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:`HeyApiClient`,tool:`sdk`},name:`HeyApiClient`}):void 0,s=e.config.instance?e.registerSymbol({exported:!1,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:`HeyApiRegistry`,tool:`sdk`},name:`HeyApiRegistry`}):void 0,c=t=>{if(a.has(t.className))return;let r=t.className;if(a.add(r),t.classes.size)for(let n of t.classes){let r=i.get(n);c(r);let a=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:r.className,tool:`sdk`}),o=y({case:`camelCase`,value:a.meta.resourceId});if(t.methods.has(o)){let e=2,n=`${o}${e}`;for(;t.methods.has(n);)n=`${o}${e++}`;o=n}t.methods.add(o);let s=e.isSymbolRegistered(a.id)?I.field(o,t=>t.static(!e.config.instance).assign(e.config.instance?I.new(a.placeholder).args(I.object().prop(`client`,I(`this`).attr(`client`))):I(a.placeholder))):I.getter(o,t=>t.$if(!e.config.instance,e=>e.public().static()).do(I.return(e.config.instance?I.new(a.placeholder).args(I.object().prop(`client`,I(`this`).attr(`client`))):a.placeholder)));t.nodes.length?t.nodes.push(I.newline(),s):t.nodes.push(s)}if(o&&!e.gen.symbols.hasValue(o.id)){let t=Vi({plugin:e,symbol:o});e.setSymbolValue(o,t)}let l=e.registerSymbol({exported:!0,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:r,tool:`sdk`},name:r});if(t.root&&s){let n=e.getSymbol({category:`client`}),r=!e.config.client||!n,i=e.referenceSymbol({category:`external`,resource:`client.Client`}),a=I.init(e=>e.param(`args`,e=>e.required(r).type(I.type.object().prop(`client`,e=>e.required(r).type(i.placeholder)).prop(`key`,e=>e.optional().type(`string`)))).do(I(`super`).call(`args`),I(l.placeholder).attr(zi).attr(`set`).call(`this`,I(`args`).attr(`key`).required(r))));t.nodes.length?t.nodes.unshift(a,I.newline()):t.nodes.unshift(a);let o=Bi({plugin:e,sdkName:l.placeholder,symbol:s});e.setSymbolValue(s,o);let c=I.field(zi,e=>e.public().static().readonly().assign(I.new(s.placeholder).generic(l.placeholder)));t.nodes.unshift(c,I.newline())}let u=I.class(l.placeholder).export(l.exported).extends(o?.placeholder).$if(t.root&&n,t=>t.decorator(e.referenceSymbol({category:`external`,resource:`@angular/core.Injectable`}).placeholder,I.object().prop(`providedIn`,I.literal(`root`)))).do(...t.nodes);e.setSymbolValue(l,u)};for(let e of i.values())c(e)},Ui=({id:e,operation:t,plugin:n})=>n.config.methodNameBuilder?n.config.methodNameBuilder(t):e.match(ln)?`${e}_`:e,Wi=({plugin:e})=>{let t=w(e.context.config),n=t.name===`@hey-api/client-nuxt`;e.forEach(`operation`,r=>{let{operation:i}=r,a=Ur({context:e.context,operation:i}),o=n?e.querySymbol({category:`type`,resource:`operation`,resourceId:i.id,role:`response`}):void 0,s=zr({isRequiredOptions:a,operation:i,plugin:e}),c=Vr({isRequiredOptions:a,opParameters:s,operation:i,plugin:e}),l=e.registerSymbol({exported:!0,meta:{category:`sdk`,path:r._path,resource:`operation`,resourceId:i.id,tags:r.tags,tool:`sdk`},name:Ui({id:i.id,operation:i,plugin:e})}),u=I.const(l.placeholder).export(l.exported).$if(R(i),(e,t)=>e.doc(t)).assign(I.func().params(...s.parameters).$if(n,t=>t.generic(Sr,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(I.type.literal(`$fetch`))).generic(Cr,e=>e.$if(o,(e,t)=>e.extends(t.placeholder).default(t.placeholder),e=>e.default(`undefined`))),e=>e.generic(`ThrowOnError`,e=>e.extends(`boolean`).default((`throwOnError`in t.config?t.config.throwOnError:!1)??!1))).do(...c));e.setSymbolValue(l,u)},{order:`declarations`})},Gi=({plugin:e})=>{let t=ci(e.context.config),n=w(e.context.config),r=n.name===`@hey-api/client-nuxt`,i=e.registerSymbol({external:t,kind:`type`,name:`TDataShape`}),a=e.registerSymbol({external:t,kind:`type`,meta:{category:`external`,resource:`client.Client`,tool:n.name},name:`Client`}),o=e.registerSymbol({external:t,kind:`type`,name:`Options`}),s=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`client-options`,tool:`sdk`},name:`Options`}),c=I.type.alias(s.placeholder).export(s.exported).$if(r,t=>t.generic(`TComposable`,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(I.type.literal(`$fetch`))).generic(`TData`,e=>e.extends(i.placeholder).default(i.placeholder)).generic(wr,e=>e.default(`unknown`)).generic(Cr,e=>e.default(`undefined`)),e=>e.generic(`TData`,e=>e.extends(i.placeholder).default(i.placeholder)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(`boolean`))).type(I.type.and(I.type(o.placeholder).$if(r,e=>e.generic(`TComposable`).generic(`TData`).generic(wr).generic(Cr),e=>e.generic(`TData`).generic(`ThrowOnError`)),I.type.object().prop(`client`,t=>t.doc(["You can provide a client instance returned by `createClient()` instead of",`individual options. This might be also useful if you want to implement a`,`custom client.`]).required(!e.config.client&&!e.config.instance).type(a.placeholder)).prop(`meta`,e=>e.doc(["You can pass arbitrary values through the `meta` object. This can be",`used to access values that aren't defined as part of the SDK function.`]).optional().type(I.type(`Record`).generics(`string`,`unknown`)))));e.setSymbolValue(s,c)},Ki=({plugin:e})=>{let t=ci(e.context.config),n=w(e.context.config),r=n.name===`@hey-api/client-angular`,i=n.name===`@hey-api/client-nuxt`;e.registerSymbol({external:t,meta:{category:`external`,resource:`client.formDataBodySerializer`,tool:n.name},name:`formDataBodySerializer`}),e.registerSymbol({external:t,meta:{category:`external`,resource:`client.urlSearchParamsBodySerializer`,tool:n.name},name:`urlSearchParamsBodySerializer`}),e.registerSymbol({external:t,meta:{category:`external`,resource:`client.buildClientParams`,tool:n.name},name:`buildClientParams`}),i&&e.registerSymbol({external:t,kind:`type`,meta:{category:`external`,resource:`client.Composable`,tool:n.name},name:`Composable`}),r&&e.config.asClass&&e.registerSymbol({external:`@angular/core`,meta:{category:`external`,resource:`@angular/core.Injectable`},name:`Injectable`}),Gi({plugin:e}),e.config.asClass?Hi({plugin:e}):Wi({plugin:e})},qi={config:{asClass:!1,auth:!0,classNameBuilder:`{{name}}`,classStructure:`auto`,client:!0,exportFromIndex:!0,instance:!1,operationId:!0,paramsStructure:`grouped`,response:`body`,responseStyle:`fields`,transformer:!1,validator:!1},dependencies:[`@hey-api/typescript`],handler:e=>Ki(e),name:`@hey-api/sdk`,resolveConfig:(e,t)=>{e.config.client?(typeof e.config.client==`boolean`&&(e.config.client=t.pluginByTag(`client`,{defaultPlugin:`@hey-api/client-fetch`})),e.dependencies.add(e.config.client)):e.config.client=!1,e.config.transformer?(typeof e.config.transformer==`boolean`&&(e.config.transformer=t.pluginByTag(`transformer`)),e.dependencies.add(e.config.transformer)):e.config.transformer=!1,typeof e.config.validator!=`object`&&(e.config.validator={request:e.config.validator,response:e.config.validator}),e.config.validator.request?(typeof e.config.validator.request==`boolean`&&(e.config.validator.request=t.pluginByTag(`validator`)),e.dependencies.add(e.config.validator.request)):e.config.validator.request=!1,e.config.validator.response?(typeof e.config.validator.response==`boolean`&&(e.config.validator.response=t.pluginByTag(`validator`)),e.dependencies.add(e.config.validator.response)):e.config.validator.response=!1,e.config.instance?(typeof e.config.instance!=`string`&&(e.config.instance=`Sdk`),e.config.asClass=!0):e.config.instance=!1,e.config.classNameBuilder===`{{name}}`&&e.config.client===`@hey-api/client-angular`&&(e.config.classNameBuilder=`{{name}}Service`)}},Ji=({dataExpression:e,schema:t})=>{if(t.type!==`integer`||t.format!==`int64`)return;let n=e===void 0?void 0:I(`BigInt`).call(I.expr(e).attr(`toString`).call());if(n){if(typeof e==`string`)return[n];if(e)return[I.expr(e).assign(n)]}},Yi=({dataExpression:e,schema:t})=>{if(!(t.type!==`string`||!(t.format===`date`||t.format===`date-time`))){if(typeof e==`string`)return[I.new(`Date`).arg(e)];if(e)return[I.expr(e).assign(I.new(`Date`).arg(e))]}},Xi=`data`,Zi=new Set,Qi=e=>e.map(e=>I.stmt(e).$render()),$i=({node:e})=>(e instanceof D&&(e=e.$render()),e.kind===l.SyntaxKind.ReturnStatement),ea=({plugin:e,schema:t})=>{let n=ta({dataExpression:I(Xi),plugin:e,schema:t});if(n.length){let e=n[n.length-1];$i({node:e})||n.push(I.return(Xi))}return n},ta=({dataExpression:e,plugin:t,schema:n})=>{if(n.$ref){let r={category:`transform`,resource:`definition`,resourceId:n.$ref},i=t.getSymbol(r);if(i||(i=t.registerSymbol({meta:r,name:b({config:{case:`camelCase`,name:`{{name}}SchemaResponseTransformer`},name:L(n.$ref)})}),t.setSymbolValue(i,null)),!t.gen.symbols.getValue(i.id)&&!Zi.has(i.id)){Zi.add(i.id);try{let e=ea({plugin:t,schema:t.context.resolveIrRef(n.$ref)});if(e.length){let n=I.const(i.placeholder).assign(I.func().param(Xi,e=>e.type(`any`)).do(...Qi(e)));t.setSymbolValue(i,n)}}finally{Zi.delete(i.id)}}if(t.gen.symbols.getValue(i.id)||Zi.has(i.id)){let n=I(t.referenceSymbol(r).placeholder).call(e);if(e)return typeof e==`string`&&e===`item`?[I.return(n)]:[typeof e==`string`?n:I(e).assign(n)]}return[]}if(n.type===`array`){if(!e||typeof e==`string`)return[];let r=n.items?ta({dataExpression:`item`,plugin:t,schema:n.items?.[0]?n.items[0]:{...n,type:void 0}}):[];if(!r.length)return[];let i=Qi(r);return i.some(e=>$i({node:e}))||i.push(I.return(`item`)),[I(e).assign(I(e).attr(`map`).call(I.func().param(`item`,e=>e.type(`any`)).do(...i)))]}if(n.type===`object`){let r=[],i=n.required??[];for(let a in n.properties){let o=n.properties[a],s=I(e||Xi).attr(a),c=ta({dataExpression:s,plugin:t,schema:o});if(!c.length)continue;let l=!o.items?.find(e=>e.type===`null`);i.includes(a)&&l?r=r.concat(c):r.push(I.if(s).do(...Qi(c)))}return r}if(n.items){if(n.items.length===1)return ta({dataExpression:`item`,plugin:t,schema:n.items[0]});let r=[];if(n.logicalOperator===`and`||n.items.length===2&&n.items.find(e=>e.type===`null`||e.type===`void`)){for(let i of n.items){let n=ta({dataExpression:e||`item`,plugin:t,schema:i});n.length&&(e?r=r.concat(n):r.push(I.if(`item`).do(...Qi(n)),I.return(`item`)))}return r}n.type!==`enum`&&((n.items??[]).every(e=>[`boolean`,`integer`,`null`,`number`,`string`].includes(e.type))||console.warn(`❗️ Transformers warning: schema ${JSON.stringify(n)} is too complex and won't be currently processed. This will likely produce an incomplete transformer which is not what you want. Please open an issue if you'd like this improved https://github.com/hey-api/openapi-ts/issues`))}for(let r of t.config.transformers){let i=r({config:t.config,dataExpression:e,schema:n});if(i)return i}return[]},na={config:{bigInt:!0,dates:!0,exportFromIndex:!1,transformers:[],typeTransformers:[]},dependencies:[`@hey-api/typescript`],handler:({plugin:e})=>{e.forEach(`operation`,({operation:t})=>{let{response:n}=ft(t);if(!n)return;if(n.items&&n.items.length>1){e.context.config.logs.level===`debug`&&console.warn(`❗️ Transformers warning: route ${C(t)} has ${n.items.length} non-void success responses. This is currently not handled and we will not generate a response transformer. Please open an issue if you'd like this feature https://github.com/hey-api/openapi-ts/issues`);return}let r=e.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`response`});if(!r)return;let i=ea({plugin:e,schema:n});if(!i.length)return;let a=e.registerSymbol({exported:!0,meta:{category:`transform`,resource:`operation`,resourceId:t.id,role:`response`},name:b({config:{case:`camelCase`,name:`{{name}}ResponseTransformer`},name:t.id})}),o=I.const(a.placeholder).export(a.exported).assign(I.func().async().param(Xi,e=>e.type(`any`)).returns(I.type(`Promise`).generic(r.placeholder)).do(...Qi(i)));e.setSymbolValue(a,o)},{order:`declarations`})},name:`@hey-api/transformers`,resolveConfig:e=>{e.config.transformers||(e.config.transformers=[]),e.config.dates&&(e.config.transformers=[...e.config.transformers,Yi]),e.config.bigInt&&(e.config.transformers=[...e.config.transformers,Ji])},tags:[`transformer`]},ra=({server:e})=>{let t=mi(e.url);return t.protocol&&t.host?I.type.literal(e.url):I.type.template().add(t.protocol||I.type(`string`)).add(`://`).add(t.host||I.type(`string`)).add(t.port?`:${t.port}`:``).add(t.path||``)},ia=({plugin:e,servers:t,symbolClientOptions:n})=>{let r=w(e.context.config),i=t.map(e=>ra({server:e}));t.length?`strictBaseUrl`in r.config&&r.config.strictBaseUrl||i.push(I.type.and(I.type(`string`),I.type.object())):i.push(I.type(`string`));let a=I.type.alias(n.placeholder).export(n.exported).type(I.type.object().prop(mt(e.context.config),e=>e.type(I.type.or(...i))));e.setSymbolValue(n,a)},z=e=>{let t=[];return e.title&&t.push(Hr(e.title)),e.description&&(t.length&&t.push(``),t.push(Hr(e.description))),e.deprecated&&(t.length&&t.push(``),t.push(`@deprecated`)),t.length?t:void 0},aa=({plugin:e,schema:t})=>{let n=[];return{obj:(t.items??[]).map((t,r)=>{let i=typeof t.const;n.includes(i)||n.push(i);let a;return a=t.title?t.title:i===`number`||i===`string`?`${t.const}`:i===`boolean`?t.const?`true`:`false`:t.const===null?`null`:`${r}`,a&&(a=y({case:e.config.enums.case,stripLeadingSeparators:!1,value:a}),on.lastIndex=0,on.test(a)&&e.config.enums.enabled&&(e.config.enums.mode===`typescript`||e.config.enums.mode===`typescript-const`)&&(a=`_${a}`)),{key:a,schema:t}}),typeofItems:n}},oa=({plugin:e,schema:t,symbol:n,type:r})=>{if(t.type===`enum`&&e.config.enums.enabled){let r=aa({plugin:e,schema:t});if(e.config.enums.mode===`javascript`){e.config.enums.constantsIgnoreNull&&r.typeofItems.includes(`object`)&&(r.obj=r.obj.filter(e=>e.schema.const!==null));let i=I.const(n.placeholder).export().$if(z(t),(e,t)=>e.doc(t)).assign(I.object(...r.obj.map(e=>I.prop({kind:`prop`,name:e.key}).$if(z(e.schema),(e,t)=>e.doc(t)).value(I.fromValue(e.schema.const)))).as(`const`)),a=I.type.alias(n.placeholder).export().$if(z(t),(e,t)=>e.doc(t)).type(I.type(n.placeholder).idx(I.type(n.placeholder).typeof().keyof()).typeof());e.setSymbolValue(n,[i,a]);return}else if((e.config.enums.mode===`typescript`||e.config.enums.mode===`typescript-const`)&&!r.typeofItems.some(e=>e!==`number`&&e!==`string`)){let i=I.enum(n.placeholder).export().$if(z(t),(e,t)=>e.doc(t)).const(e.config.enums.mode===`typescript-const`).members(...r.obj.map(e=>I.member(e.key).$if(z(e.schema),(e,t)=>e.doc(t)).value(I.fromValue(e.schema.const))));e.setSymbolValue(n,i);return}}let i=I.type.alias(n.placeholder).export(n.exported).$if(z(t),(e,t)=>e.doc(t)).type(r);e.setSymbolValue(n,i)},sa=({parameters:e})=>{let t={type:`object`};if(e){let n={},r=[];for(let t in e){let i=e[t];n[i.name]=x({detectFormat:!1,schema:i.schema}),i.required&&r.push(i.name)}t.properties=n,r.length&&(t.required=r)}return t},ca=({operation:e,plugin:t,state:n})=>{let r={type:`object`},i=[];r.properties||={},e.body?(r.properties.body=e.body.schema,e.body.required&&i.push(`body`)):r.properties.body={type:`never`},e.parameters?.header&&(r.properties.headers=sa({parameters:e.parameters.header}),r.properties.headers.required&&i.push(`headers`)),e.parameters?.path?(r.properties.path=sa({parameters:e.parameters.path}),r.properties.path.required&&i.push(`path`)):r.properties.path={type:`never`},e.parameters?.query?(r.properties.query=sa({parameters:e.parameters.query}),r.properties.query.required&&i.push(`query`)):r.properties.query={type:`never`},r.properties.url={const:e.path,type:`string`},i.push(`url`),r.required=i;let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:b({config:t.config.requests,name:e.id})}),o=I.type.alias(a.placeholder).export(a.exported).type(B({plugin:t,schema:r,state:n}));t.setSymbolValue(a,o)},la=({operation:e,plugin:t,state:n})=>{ca({operation:e,plugin:t,state:n});let{error:r,errors:i,response:a,responses:o}=ft(e);if(i){let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`errors`,tags:n.tags?.value,tool:`typescript`},name:b({config:t.config.errors,name:e.id})}),o=I.type.alias(a.placeholder).export(a.exported).type(B({plugin:t,schema:i,state:n}));if(t.setSymbolValue(a,o),r){let r=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`error`,tags:n.tags?.value,tool:`typescript`},name:b({config:{case:t.config.errors.case,name:t.config.errors.error},name:e.id})}),i=I.type.alias(r.placeholder).export(r.exported).type(I.type(a.placeholder).idx(I.type(a.placeholder).keyof()));t.setSymbolValue(r,i)}}if(o){let r=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`responses`,tags:n.tags?.value,tool:`typescript`},name:b({config:t.config.responses,name:e.id})}),i=I.type.alias(r.placeholder).export(r.exported).type(B({plugin:t,schema:o,state:n}));if(t.setSymbolValue(r,i),a){let i=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`response`,tags:n.tags?.value,tool:`typescript`},name:b({config:{case:t.config.responses.case,name:t.config.responses.response},name:e.id})}),a=I.type.alias(i.placeholder).export(i.exported).type(I.type(r.placeholder).idx(I.type(r.placeholder).keyof()));t.setSymbolValue(i,a)}}},ua=({operation:e,plugin:t,state:n})=>{let r={type:`object`},i=[];if(r.properties||={},e.body){let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`webhook`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:b({config:{case:t.config.webhooks.case,name:t.config.webhooks.payload},name:e.id})}),o=I.type.alias(a.placeholder).export(a.exported).$if(z(e.body.schema),(e,t)=>e.doc(t)).type(B({plugin:t,schema:e.body.schema,state:n}));t.setSymbolValue(a,o),t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:a.placeholder,tags:n.tags?.value,tool:`typescript`},name:a.name,placeholder:a.placeholder}),r.properties.body={$ref:a.placeholder},i.push(`body`)}else r.properties.body={type:`never`};r.properties.key={const:e.path,type:`string`},i.push(`key`),r.properties.path={type:`never`},r.properties.query={type:`never`},r.required=i;let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`webhook`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:b({config:t.config.webhooks,name:e.id})}),o=I.type.alias(a.placeholder).export(a.exported).type(B({plugin:t,schema:r,state:n}));return t.setSymbolValue(a,o),a.placeholder},da=({operation:e,plugin:t,state:n})=>ua({operation:e,plugin:t,state:n}),fa=({plugin:e,symbolWebhooks:t,webhookNames:n})=>{if(!n.length)return;let r=I.type.alias(t.placeholder).export(t.exported).type(I.type.or(...n));e.setSymbolValue(t,r)},pa=({plugin:e,schema:t,state:n})=>{if(!t.items)return I.type(`Array`).generic(I.type(e.config.topType));t=x({detectFormat:!0,schema:t});let r=[];return t.items&&t.items.forEach((t,i)=>{let a=B({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});r.push(a)}),r.length===1?I.type(`Array`).generic(r[0]):t.logicalOperator===`and`?I.type(`Array`).generic(I.type.and(...r)):I.type(`Array`).generic(I.type.or(...r))},ma=({schema:e})=>e.const===void 0?I.type(`boolean`):I.type.literal(e.const),ha=({plugin:e,schema:t,state:n})=>B({plugin:e,schema:{...t,type:void 0},state:n}),ga=e=>I.type(`never`),_a=e=>I.type.literal(null),va=({plugin:e,schema:t})=>t.const===void 0?t.type===`integer`&&t.format===`int64`&&e.getPlugin(`@hey-api/transformers`)?.config.bigInt?I.type(`bigint`):I.type(`number`):I.type.literal(t.const),ya=({plugin:e,schema:t,state:n})=>{let r=I.type.object(),i=t.required??[],a=[],o=!1;for(let s in t.properties){let c=t.properties[s],l=B({plugin:e,schema:c,state:{...n,path:T([...n.path.value,`properties`,s])}}),u=i.includes(s);r.prop(s,e=>e.$if(z(c),(e,t)=>e.doc(t)).readonly(c.accessScope===`read`).required(u).type(l)),a.push(c),u||(o=!0)}if(t.patternProperties)for(let e in t.patternProperties){let n=t.patternProperties[e];a.unshift(n)}let s=!!t.patternProperties&&Object.keys(t.patternProperties).length>0,c=t.additionalProperties,l=c!==!1&&c?c:void 0;if(s||l&&(l.type!==`never`||!a.length)){let i=l;i&&i.type!==`never`?a.unshift(i):!s&&!a.length&&i&&i.type===`never`&&(a=[i]),o&&a.push({type:`undefined`});let c=a.length===1?B({plugin:e,schema:a[0],state:n}):B({plugin:e,schema:{items:a,logicalOperator:`or`},state:n});if(t.propertyNames?.$ref)return I.type.mapped(`key`).key(B({plugin:e,schema:{$ref:t.propertyNames.$ref},state:n})).optional().type(c);r.idxSig(`key`,e=>e.key(`string`).type(c))}return r},ba=({plugin:e,schema:t})=>{if(t.const!==void 0)return I.type.literal(t.const);if(t.format){if(t.format===`binary`)return I.type.or(I.type(`Blob`),I.type(`File`));if((t.format===`date-time`||t.format===`date`)&&e.getPlugin(`@hey-api/transformers`)?.config.dates)return I.type(`Date`);if(t.format===`typeid`&&typeof t.example==`string`){let n=String(t.example).split(`_`);n.pop();let r=n.join(`_`),i={category:`type`,resource:`type-id`,resourceId:r,tool:`typescript`};if(!e.getSymbol(i)){let t={category:`type`,resource:`type-id`,tool:`typescript`,variant:`container`};if(!e.getSymbol(t)){let n=e.registerSymbol({exported:!0,kind:`type`,meta:t,name:`TypeID`}),r=I.type.alias(n.placeholder).export(n.exported).generic(`T`,e=>e.extends(`string`)).type(I.type.template().add(I.type(`T`)).add(`_`).add(I.type(`string`)));e.setSymbolValue(n,r)}let n=e.referenceSymbol(t),a=e.registerSymbol({exported:!0,kind:`type`,meta:i,name:y({case:e.config.case,value:`${r}_id`})}),o=I.type.alias(a.placeholder).export(a.exported).type(I.type(n.placeholder).generic(I.type.literal(r)));e.setSymbolValue(a,o)}let a=e.referenceSymbol(i);return I.type(a.placeholder)}}return I.type(`string`)},xa=({plugin:e,schema:t,state:n})=>{let r=[];return t.const&&Array.isArray(t.const)?r=t.const.map(e=>I.type.fromValue(e)):t.items&&t.items.forEach((t,i)=>{let a=B({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});r.push(a)}),I.type.tuple(...r)},Sa=e=>I.type(`undefined`),Ca=({plugin:e})=>I.type(e.config.topType),wa=e=>I.type(`void`),Ta=({schema:e,...t})=>{let n=t.plugin.getPlugin(`@hey-api/transformers`);if(n?.config.typeTransformers)for(let t of n.config.typeTransformers){let n=t({schema:e});if(n)return n}switch(e.type){case`array`:return pa({...t,schema:e});case`boolean`:return ma({...t,schema:e});case`enum`:return ha({...t,schema:e});case`integer`:case`number`:return va({...t,schema:e});case`never`:return ga({...t,schema:e});case`null`:return _a({...t,schema:e});case`object`:return ya({...t,schema:e});case`string`:return ba({...t,schema:e});case`tuple`:return xa({...t,schema:e});case`undefined`:return Sa({...t,schema:e});case`unknown`:return Ca({...t,schema:e});case`void`:return wa({...t,schema:e})}},B=({plugin:e,schema:t,state:n})=>{if(t.$ref){let n=e.referenceSymbol({category:`type`,resource:`definition`,resourceId:t.$ref});return I.type(n.placeholder)}if(t.type)return Ta({plugin:e,schema:t,state:n});if(t.items){if(t=x({detectFormat:!1,schema:t}),t.items){let r=t.items.map(t=>B({plugin:e,schema:t,state:n}));return t.logicalOperator===`and`?I.type.and(...r):I.type.or(...r)}return B({plugin:e,schema:t,state:n})}return Ta({plugin:e,schema:{type:`unknown`},state:n})},Ea=({plugin:e,schema:t,state:n})=>{let r=B({plugin:e,schema:t,state:n}),i=t.type===`enum`&&e.config.enums.enabled,a=Ar(n.path.value);oa({plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,kind:i?void 0:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:a,tags:n.tags?.value,tool:`typescript`},name:b({config:e.config.definitions,name:L(a)})}),type:r})},Da=({plugin:e})=>{let t=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`client`,role:`options`,tool:`typescript`},name:b({config:{case:e.config.case},name:`ClientOptions`})}),n=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`webhook`,tool:`typescript`,variant:`container`},name:b({config:{case:e.config.case},name:`Webhooks`})}),r=[],i=[];e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`server`,`webhook`,t=>{let n=E({path:t._path,tags:t.tags});switch(t.type){case`operation`:la({operation:t.operation,plugin:e,state:n});break;case`parameter`:Ea({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Ea({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Ea({plugin:e,schema:t.schema,state:n});break;case`server`:r.push(t.server);break;case`webhook`:i.push(da({operation:t.operation,plugin:e,state:n}));break}},{order:`declarations`}),ia({plugin:e,servers:r,symbolClientOptions:t}),fa({plugin:e,symbolWebhooks:n,webhookNames:i})},Oa={api:new class{schemaToType(e){return B(e)}},config:{case:`PascalCase`,exportFromIndex:!0,topType:`unknown`},handler:e=>Da(e),name:`@hey-api/typescript`,resolveConfig:(e,t)=>{e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.definitions}),e.config.enums=t.valueToObject({defaultValue:{case:`SCREAMING_SNAKE_CASE`,constantsIgnoreNull:!1,enabled:!!e.config.enums,mode:`javascript`},mappers:{boolean:e=>({enabled:e}),string:e=>({mode:e})},value:e.config.enums}),e.config.errors=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,error:`{{name}}Error`,name:`{{name}}Errors`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.errors}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}Data`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}Responses`,response:`{{name}}Response`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}WebhookRequest`,payload:`{{name}}WebhookPayload`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.webhooks})}},ka=(e,t,n)=>{let r=e.config[n].meta;if(!r)return;let i=r(t);if(Object.keys(i).length)return I.fromValue(i)},Aa=({operation:e,plugin:t})=>Rr({operation:e,plugin:t.getPluginOrThrow(`@hey-api/sdk`)}),ja=({operation:e,plugin:t})=>{let n=w(t.context.config),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`error`})?.placeholder;return r||=`Error`,n.name===`@hey-api/client-axios`&&(r=`${t.referenceSymbol({category:`external`,resource:`axios.AxiosError`}).placeholder}<${r}>`),r},Ma=({operation:e,plugin:t})=>t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`,Na=({plugin:e,typeData:t})=>{let n=w(e.context.config).name===`@hey-api/client-nuxt`;return{isNuxtClient:n,strippedTypeData:n?`Omit<${t}, 'composable'>`:t}},Pa=({operation:e,plugin:t,queryFn:n})=>{let r=t.referenceSymbol({category:`external`,resource:`${t.name}.UseMutationOptions`}),i=Aa({operation:e,plugin:t}),a=ja({operation:e,plugin:t}),o=Ma({operation:e,plugin:t}),{isNuxtClient:s,strippedTypeData:c}=Na({plugin:t,typeData:i}),l=s?`${r.placeholder}<${o}, ${c}, ${a}>`:`${r.placeholder}<${o}, ${i}, ${a}>`,u=`fnOptions`,d=I(n).call(I.object().pretty().spread(`options`).spread(u).prop(`throwOnError`,I.literal(!0))).await(),f=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?f.push(I.return(d)):f.push(I.const().object(`data`).assign(d),I.return(`data`));let p=I.object().pretty().prop(`mutation`,I.func().async().param(u,e=>e.$if(s,e=>e.type(`Partial<${c}>`))).do(...f)).$if(ka(t,e,`mutationOptions`),(e,t)=>e.prop(`meta`,t)),m=t.registerSymbol({exported:!0,name:b({config:t.config.mutationOptions,name:e.id})}),h=I.const(m.placeholder).export(m.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(`options`,e=>e.optional().type(`Partial<${c}>`)).returns(l).do(I.return(p)));t.setSymbolValue(m,h)},Fa=`TOptions`,Ia=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createQueryKey`,tool:e.name},name:b({config:{case:e.config.case},name:`createQueryKey`})}),n=e.referenceSymbol({category:`type`,resource:`QueryKey`,tool:e.name}),r=e.referenceSymbol({category:`external`,resource:`${e.name}._JSONValue`}),i=I.type(n.placeholder).generic(Fa).idx(0),a=mt(e.context.config),o=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),s=e.getSymbol({category:`client`}),c=ci(e.context.config),l=e.registerSymbol({external:c,meta:{category:`external`,resource:`${c}.serializeQueryKeyValue`},name:`serializeQueryKeyValue`}),u=I.const(t.placeholder).assign(I.func().param(`id`,e=>e.type(`string`)).param(`options`,e=>e.optional().type(Fa)).param(`tags`,e=>e.optional().type(`ReadonlyArray`)).returns(I.type.tuple(i)).generic(Fa,e=>e.extends(o.placeholder)).do(I.const(`params`).type(i).assign(I.object().prop(`_id`,`id`).prop(a,`options?.${a} || (options?.client ?? ${s?.placeholder}).getConfig().${a}`).as(i)),I.if(`tags`).do(I(`params`).attr(`tags`).assign(I(`tags`).as(`unknown`).as(r.placeholder))),I.if(I(`options`).attr(`body`).optional().neq(I.id(`undefined`))).do(I.const(`normalizedBody`).assign(I(l.placeholder).call(I(`options`).attr(`body`))),I.if(I(`normalizedBody`).neq(I.id(`undefined`))).do(I(`params`).attr(`body`).assign(`normalizedBody`))),I.if(I(`options`).attr(`path`).optional()).do(I(`params`).attr(`path`).assign(I(`options`).attr(`path`))),I.if(I(`options`).attr(`query`).optional().neq(I.id(`undefined`))).do(I.const(`normalizedQuery`).assign(I(l.placeholder).call(I(`options`).attr(`query`))),I.if(I(`normalizedQuery`).neq(I.id(`undefined`))).do(I(`params`).attr(`query`).assign(`normalizedQuery`))),I.return(I.array(I(`params`)))));e.setSymbolValue(t,u)},La=({id:e,operation:t,plugin:n})=>{let r=n.config.queryKeys,i;return r.tags&&t.tags&&t.tags.length>0&&(i=I.array(...t.tags.map(e=>I.literal(e)))),I(n.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:n.name}).placeholder).call(I.literal(e),`options`,i)},Ra=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`${e.name}._JSONValue`}),n=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),r=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`QueryKey`,tool:e.name},name:`QueryKey`}),i=I.type.alias(r.placeholder).export(r.exported).generic(Fa,e=>e.extends(I.type(n.placeholder))).type(I.type.tuple(I.type.and(I.type(`Pick<${Fa}, 'path'>`),I.type.object().prop(`_id`,e=>e.type(`string`)).prop(mt(e.context.config),e=>e.optional().type(t.placeholder)).prop(`body`,e=>e.optional().type(t.placeholder)).prop(`query`,e=>e.optional().type(t.placeholder)).prop(`tags`,e=>e.optional().type(t.placeholder)))));e.setSymbolValue(r,i)},za=({operation:e,plugin:t,symbol:n})=>{let{strippedTypeData:r}=Na({plugin:t,typeData:Aa({operation:e,plugin:t})});return I.const(n.placeholder).export(n.exported).assign(I.func().param(`options`,t=>t.required(lt(e)).type(r)).do(La({id:e.id,operation:e,plugin:t}).return()))},Ba=`options`,Va=`context`,Ha=({operation:e,plugin:t,queryFn:n})=>{if(Wr({operation:e}))return;let r=Ur({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(Ra({plugin:t}),Ia({plugin:t}));let i;if(t.config.queryKeys.enabled){let n=t.registerSymbol({exported:!0,name:b({config:t.config.queryKeys,name:e.id})}),r=za({operation:e,plugin:t,symbol:n});t.setSymbolValue(n,r),i=I(n.placeholder).call(Ba)}else{let n=t.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name}),r;t.config.queryKeys.tags&&e.tags&&e.tags.length>0&&(r=I.array(...e.tags.map(e=>I.literal(e)))),i=I(n.placeholder).call(I.literal(e.id),Ba,r)}let{strippedTypeData:a}=Na({plugin:t,typeData:Aa({operation:e,plugin:t})}),o=I(n).call(I.object().spread(Ba).spread(Va).prop(`throwOnError`,I.literal(!0))).await(),s=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?s.push(I.return(o)):s.push(I.const().object(`data`).assign(o),I.return(`data`));let c=I.object().pretty().prop(`key`,i).prop(`query`,I.func().async().param(Va).do(...s)).$if(ka(t,e,`queryOptions`),(e,t)=>e.prop(`meta`,t)),l=t.registerSymbol({exported:!0,meta:{category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name},name:b({config:t.config.queryOptions,name:e.id})}),u=t.referenceSymbol({category:`external`,resource:`${t.name}.defineQueryOptions`}),d=I.const(l.placeholder).export(l.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I(u.placeholder).call(I.func().param(Ba,e=>e.required(r).type(a)).do(I.return(c))));t.setSymbolValue(l,d)},Ua=({plugin:e})=>{e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.defineQueryOptions`},name:`defineQueryOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.UseMutationOptions`},name:`UseMutationOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.UseQueryOptions`},name:`UseQueryOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}._JSONValue`},name:`_JSONValue`}),e.registerSymbol({external:`axios`,kind:`type`,meta:{category:`external`,resource:`axios.AxiosError`},name:`AxiosError`});let t=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let r=t.config.asClass?Lr({context:e.context,operation:n,plugin:t}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...t.config.instance?[zi,`get()`]:[],...i.path.slice(1).map(e=>y({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:n.id}).placeholder,e.hooks.operation.isQuery(n)&&e.config.queryOptions.enabled&&Ha({operation:n,plugin:e,queryFn:a}),e.hooks.operation.isMutation(n)&&e.config.mutationOptions.enabled&&Pa({operation:n,plugin:e,queryFn:a})},{order:`declarations`})},Wa={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/typescript`,`@hey-api/sdk`],handler:e=>Ua(e),name:`@pinia/colada`,resolveConfig:(e,t)=>{e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Query`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},Ga=({operation:e,plugin:t})=>Rr({operation:e,plugin:t.getPluginOrThrow(`@hey-api/sdk`)}),Ka=({operation:e,plugin:t})=>{let n=w(t.context.config),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`error`})?.placeholder;return r||=t.referenceSymbol({category:`external`,resource:`${t.name}.DefaultError`}).placeholder,n.name===`@hey-api/client-axios`&&(r=`${t.referenceSymbol({category:`external`,resource:`axios.AxiosError`}).placeholder}<${r}>`),r},qa=({operation:e,plugin:t})=>t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`,Ja=`TOptions`,Ya=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createQueryKey`,tool:e.name},name:b({config:{case:e.config.case},name:`createQueryKey`})}),n=e.referenceSymbol({category:`type`,resource:`QueryKey`,tool:e.name}),r=mt(e.context.config),i=e.getSymbol({category:`client`}),a=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),o=I.type(n.placeholder).generic(Ja).idx(0),s=I.const(t.placeholder).assign(I.func().param(`id`,e=>e.type(`string`)).param(`options`,e=>e.optional().type(Ja)).param(`infinite`,e=>e.optional().type(`boolean`)).param(`tags`,e=>e.optional().type(`ReadonlyArray`)).generic(Ja,e=>e.extends(a.placeholder)).returns(I.type.tuple(o)).do(I.const(`params`).type(o).assign(I.object().prop(`_id`,`id`).prop(r,`options?.${r} || (options?.client ?? ${i?.placeholder}).getConfig().${r}`).as(o)),I.if(`infinite`).do(I(`params`).attr(`_infinite`).assign(`infinite`)),I.if(`tags`).do(I(`params`).attr(`tags`).assign(`tags`)),I.if(I(`options`).attr(`body`).optional()).do(I(`params`).attr(`body`).assign(I(`options`).attr(`body`))),I.if(I(`options`).attr(`headers`).optional()).do(I(`params`).attr(`headers`).assign(I(`options`).attr(`headers`))),I.if(I(`options`).attr(`path`).optional()).do(I(`params`).attr(`path`).assign(I(`options`).attr(`path`))),I.if(I(`options`).attr(`query`).optional()).do(I(`params`).attr(`query`).assign(I(`options`).attr(`query`))),I.return(I.array().element(I(`params`)))));e.setSymbolValue(t,s)},Xa=({id:e,isInfinite:t,operation:n,plugin:r})=>{let i=t?r.config.infiniteQueryKeys:r.config.queryKeys,a;return i.tags&&n.tags&&n.tags.length>0&&(a=I.array().elements(...n.tags)),I(r.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:r.name}).placeholder).call(I.literal(e),`options`,t||a?I.literal(!!t):void 0,a)},Za=({plugin:e})=>{let t=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),n=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`QueryKey`,tool:e.name},name:`QueryKey`}),r=I.type.alias(n.placeholder).export(n.exported).generic(Ja,e=>e.extends(t.placeholder)).type(I.type.tuple(I.type.and(I.type(`Pick<${Ja}, '${mt(e.context.config)}' | 'body' | 'headers' | 'path' | 'query'>`),I.type.object().prop(`_id`,e=>e.type(`string`)).prop(`_infinite`,e=>e.optional().type(`boolean`)).prop(`tags`,e=>e.optional().type(`ReadonlyArray`)))));e.setSymbolValue(n,r)},Qa=({isInfinite:e,operation:t,plugin:n,symbol:r,typeQueryKey:i})=>{let a=Ga({operation:t,plugin:n});return I.const(r.placeholder).export(r.exported).assign(I.func().param(`options`,e=>e.required(lt(t)).type(a)).$if(e&&i,(e,t)=>e.returns(t)).do(Xa({id:t.id,isInfinite:e,operation:t,plugin:n}).return()))},$a=(e,t,n)=>{let r=e.config[n].meta;if(!r)return;let i=r(t);if(Object.keys(i).length)return I.fromValue(i)},eo=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createInfiniteParams`,tool:e.name},name:b({config:{case:e.config.case},name:`createInfiniteParams`})}),n=I.const(t.placeholder).assign(I.func().generic(`K`,e=>e.extends(`Pick[0], 'body' | 'headers' | 'path' | 'query'>`)).param(`queryKey`,e=>e.type(`QueryKey`)).param(`page`,e=>e.type(`K`)).do(I.const(`params`).assign(I.object().spread(I(`queryKey`).attr(0))),I.if(I(`page`).attr(`body`)).do(I(`params`).attr(`body`).assign(I.object().pretty().spread(I(`queryKey`).attr(0).attr(`body`).as(`any`)).spread(I(`page`).attr(`body`).as(`any`)))),I.if(I(`page`).attr(`headers`)).do(I(`params`).attr(`headers`).assign(I.object().pretty().spread(I(`queryKey`).attr(0).attr(`headers`)).spread(I(`page`).attr(`headers`)))),I.if(I(`page`).attr(`path`)).do(I(`params`).attr(`path`).assign(I.object().pretty().spread(I(`queryKey`).attr(0).attr(`path`).as(`any`)).spread(I(`page`).attr(`path`).as(`any`)))),I.if(I(`page`).attr(`query`)).do(I(`params`).attr(`query`).assign(I.object().pretty().spread(I(`queryKey`).attr(0).attr(`query`).as(`any`)).spread(I(`page`).attr(`query`).as(`any`)))),I.return(I(`params`).as(`unknown`).as(I(`page`).typeofType()))));e.setSymbolValue(t,n)},to=({operation:e,plugin:t,queryFn:n})=>{let r=ut({context:t.context,operation:e});if(!r)return;let i=Ur({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(Za({plugin:t}),Ya({plugin:t})),t.getSymbol({category:`utility`,resource:`createInfiniteParams`,tool:t.name})||eo({plugin:t});let a=t.referenceSymbol({category:`external`,resource:`${t.name}.infiniteQueryOptions`}),o=t.referenceSymbol({category:`external`,resource:`${t.name}.InfiniteData`}),s=Ga({operation:e,plugin:t}),c=Ka({operation:e,plugin:t}),l=qa({operation:e,plugin:t}),u=`${t.referenceSymbol({category:`type`,resource:`QueryKey`,tool:t.name}).placeholder}<${s}>`,d=`Pick<${u}[0], 'body' | 'headers' | 'path' | 'query'>`,f=t.getPluginOrThrow(`@hey-api/typescript`),p=f.api.schemaToType({plugin:f,schema:r.schema,state:{path:{value:[]}}}),m=t.registerSymbol({exported:!0,name:b({config:t.config.infiniteQueryKeys,name:e.id})}),h=Qa({isInfinite:!0,operation:e,plugin:t,symbol:m,typeQueryKey:u});t.setSymbolValue(m,h);let g=I(n).call(I.object().spread(`options`).spread(`params`).prop(`signal`,I(`signal`)).prop(`throwOnError`,I.literal(!0))).await(),ee=t.referenceSymbol({category:`utility`,resource:`createInfiniteParams`,tool:t.name}),te=[I.const(`page`).type(d).hint(`@ts-ignore`).assign(I.ternary(I(`pageParam`).typeof().eq(I.literal(`object`))).do(`pageParam`).otherwise(I.object().pretty().prop(r.in,I.object().pretty().prop(r.name,I(`pageParam`))))),I.const(`params`).assign(I(ee.placeholder).call(`queryKey`,`page`))];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?te.push(I.return(g)):te.push(I.const().object(`data`).assign(g),I.return(`data`));let ne=t.registerSymbol({exported:!0,name:b({config:t.config.infiniteQueryOptions,name:e.id})}),re=I.const(ne.placeholder).export(ne.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(`options`,e=>e.required(i).type(s)).do(I.return(I(a.placeholder).call(I.object().pretty().hint(`@ts-ignore`).prop(`queryFn`,I.func().async().param(e=>e.object(`pageParam`,`queryKey`,`signal`)).do(...te)).prop(`queryKey`,I(m.placeholder).call(`options`)).$if($a(t,e,`infiniteQueryOptions`),(e,t)=>e.prop(`meta`,t))).generics(l,c||`unknown`,`${o.placeholder}<${l}>`,u,I.type.or(p,d)))));t.setSymbolValue(ne,re)},no=({operation:e,plugin:t,queryFn:n})=>{let r=t.referenceSymbol({category:`external`,resource:`${t.name}.MutationOptions`}),i=Ga({operation:e,plugin:t}),a=Ka({operation:e,plugin:t}),o=qa({operation:e,plugin:t}),s=`${r.placeholder}<${o}, ${a}, ${i}>`,c=`fnOptions`,l=I(n).call(I.object().spread(`options`).spread(c).prop(`throwOnError`,I.literal(!0))).await(),u=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?u.push(I.return(l)):u.push(I.const().object(`data`).assign(l),I.return(`data`));let d=`mutationOptions`,f=t.registerSymbol({exported:!0,name:b({config:t.config.mutationOptions,name:e.id})}),p=I.const(f.placeholder).export(f.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(`options`,e=>e.optional().type(`Partial<${i}>`)).returns(s).do(I.const(d).type(s).assign(I.object().pretty().prop(`mutationFn`,I.func().async().param(c).do(...u)).$if($a(t,e,`mutationOptions`),(e,t)=>e.prop(`meta`,t))),I(d).return()));t.setSymbolValue(f,p)},ro=`options`,io=({operation:e,plugin:t,queryFn:n})=>{if(Wr({operation:e}))return;let r=Ur({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(Za({plugin:t}),Ya({plugin:t}));let i=t.referenceSymbol({category:`external`,resource:`${t.name}.queryOptions`}),a=t.registerSymbol({exported:!0,name:b({config:t.config.queryKeys,name:e.id})}),o=Qa({isInfinite:!1,operation:e,plugin:t,symbol:a});t.setSymbolValue(a,o);let s=Ga({operation:e,plugin:t}),c=Ka({operation:e,plugin:t}),l=qa({operation:e,plugin:t}),u=I(n).call(I.object().spread(ro).spread(I(`queryKey`).attr(0)).prop(`signal`,I(`signal`)).prop(`throwOnError`,I.literal(!0))).await(),d=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?d.push(I.return(u)):d.push(I.const().object(`data`).assign(u),I.return(`data`));let f=I.object().pretty().prop(`queryFn`,I.func().async().param(e=>e.object(`queryKey`,`signal`)).do(...d)).prop(`queryKey`,I(a.placeholder).call(ro)).$if($a(t,e,`queryOptions`),(e,t)=>e.prop(`meta`,t)),p=t.registerSymbol({exported:t.config.queryOptions.exported,meta:{category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name},name:b({config:t.config.queryOptions,name:e.id})}),m=I.const(p.placeholder).export(p.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(ro,e=>e.required(r).type(s)).do(I(i.placeholder).call(f).generics(l,c,l,I(a.placeholder).returnType()).return()));t.setSymbolValue(p,m)},ao=`options`,oo=({operation:e,plugin:t})=>{if(Wr({operation:e})||!(`useQuery`in t.config))return;let n=t.registerSymbol({exported:!0,name:b({config:t.config.useQuery,name:e.id})}),r=t.referenceSymbol({category:`external`,resource:`${t.name}.useQuery`}),i=Ur({context:t.context,operation:e}),a=Ga({operation:e,plugin:t}),o=t.referenceSymbol({category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name}),s=I.const(n.placeholder).export(n.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(ao,e=>e.required(i).type(a)).do(I(r.placeholder).call(I(o.placeholder).call(ao)).return()));t.setSymbolValue(n,s)},so=({plugin:e})=>{e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.DefaultError`},name:`DefaultError`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.InfiniteData`},name:`InfiniteData`});let t=e.name===`@tanstack/angular-query-experimental`||e.name===`@tanstack/svelte-query`||e.name===`@tanstack/solid-query`?`MutationOptions`:`UseMutationOptions`;e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.MutationOptions`},name:t}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.infiniteQueryOptions`},name:`infiniteQueryOptions`}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.queryOptions`},name:`queryOptions`}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.useQuery`},name:`useQuery`}),e.registerSymbol({external:`axios`,kind:`type`,meta:{category:`external`,resource:`axios.AxiosError`},name:`AxiosError`});let n=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:t})=>{let r=n.config.asClass?Lr({context:e.context,operation:t,plugin:n}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...n.config.instance?[zi,`get()`]:[],...i.path.slice(1).map(e=>y({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:t.id}).placeholder,e.hooks.operation.isQuery(t)&&(e.config.queryOptions.enabled&&io({operation:t,plugin:e,queryFn:a}),e.config.infiniteQueryOptions.enabled&&to({operation:t,plugin:e,queryFn:a}),`useQuery`in e.config&&e.config.useQuery.enabled&&oo({operation:t,plugin:e})),e.hooks.operation.isMutation(t)&&e.config.mutationOptions.enabled&&no({operation:t,plugin:e,queryFn:a})},{order:`declarations`})},co=e=>so(e),lo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/angular-query-experimental`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},uo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/react-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions}),e.config.useQuery=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!1,name:`use{{name}}Query`},mappers:{boolean:e=>({enabled:e}),function:e=>({enabled:!0,name:e}),object:e=>({enabled:!0,...e}),string:e=>({enabled:!0,name:e})},value:e.config.useQuery}),e.config.useQuery.enabled&&(e.config.queryOptions.enabled||(e.config.queryOptions.enabled=!0,e.config.queryOptions.exported=!1))}},fo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/solid-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},po={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/svelte-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},mo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/vue-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},ho=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`arktype`});if(!n)return;let r=`data`;return I.func().async().param(r).do(I(n.placeholder).attr(`parseAsync`).call(r).await().return())},go=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`arktype`});if(!n)return;let r=`data`;return I.func().async().param(r).do(I(n.placeholder).attr(`parseAsync`).call(r).await().return())};var _o=class{createRequestValidator(e){return ho(e)}createResponseValidator(e){return go(e)}};const V={keywords:{false:`false`,true:`true`},number:{Infinity:`Infinity`,NaN:`NaN`,NegativeInfinity:`NegativeInfinity`,epoch:`epoch`,integer:`integer`,safe:`safe`},primitives:{bigint:`bigint`,boolean:`boolean`,keywords:`keywords`,null:`null`,number:`number`,string:`string`,symbol:`symbol`,undefined:`undefined`,unit:`unit`},string:{NFC:`NFC`,NFD:`NFD`,NFKC:`NFKC`,NFKD:`NFKD`,alpha:`alpha`,alphanumeric:`alphanumeric`,base64:`base64`,capitalize:`capitalize`,creditCard:`creditCard`,date:`date`,digits:`digits`,email:`email`,epoch:`epoch`,hex:`hex`,integer:`integer`,ip:`ip`,iso:`iso`,json:`json`,lower:`lower`,normalize:`normalize`,numeric:`numeric`,parse:`parse`,preformatted:`preformatted`,regex:`regex`,semver:`semver`,trim:`trim`,upper:`upper`,url:`url`,uuid:`uuid`,v1:`v1`,v2:`v2`,v3:`v3`,v4:`v4`,v5:`v5`,v6:`v6`,v7:`v7`,v8:`v8`},type:{$:`$`,allows:`allows`,and:`and`,array:`array`,as:`as`,assert:`assert`,brand:`brand`,configure:`configure`,default:`default`,describe:`describe`,description:`description`,equals:`equals`,exclude:`exclude`,expression:`expression`,extends:`extends`,extract:`extract`,filter:`filter`,from:`from`,ifEquals:`ifEquals`,ifExtends:`ifExtends`,infer:`infer`,inferIn:`inferIn`,intersect:`intersect`,json:`json`,meta:`meta`,narrow:`narrow`,onDeepUndeclaredKey:`onDeepUndeclaredKey`,onUndeclaredKey:`onUndeclaredKey`,optional:`optional`,or:`or`,overlaps:`overlaps`,pipe:`pipe`,select:`select`,to:`to`,toJsonSchema:`toJsonSchema`}},vo=({ast:e,plugin:t,schema:n,symbol:r,typeInferSymbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`arktype.type`}),o=I.const(r.placeholder).export(r.exported).$if(t.config.comments&&z(n),(e,t)=>e.doc(t)).assign(I(a.placeholder).call(e.def?I.literal(e.def):e.expression));if(t.setSymbolValue(r,o),i){let e=I.type.alias(i.placeholder).export(i.exported).type(I.type(r.placeholder).attr(V.type.infer).typeofType());t.setSymbolValue(i,e)}},yo=e=>{let t={};return t.def=V.primitives.null,t},bo=({plugin:e,schema:t,state:n})=>{let r={},i=I.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=a.includes(o),l=Co({optional:!c,plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,o])}});l.hasLazyExpression&&(r.hasLazyExpression=!0),i.prop(c?o:`${o}?`,l.expression)}if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Co({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});return r.expression=I(`TODO`).attr(`record`).call(I(`TODO`).attr(`string`).call(),i.expression),i.hasLazyExpression&&(r.hasLazyExpression=!0),r.hasLazyExpression?{...r,typeName:`TODO`}:r}return r.expression=i,r.hasLazyExpression?{...r,typeName:`TODO`}:r},xo=({schema:e})=>{let t={};if(typeof e.const==`string`)return t.def=e.const,t;let n=V.primitives.string;if(e.format)switch(e.format){case`date`:case`date-time`:case`time`:n=`${n}.${V.string.date}.${V.string.iso}`;break;case`email`:n=`${n}.${V.string.email}`;break;case`ipv4`:n=`${n}.${V.string.ip}.${V.string.v4}`;break;case`ipv6`:n=`${n}.${V.string.ip}.${V.string.v6}`;break;case`uri`:n=`${n}.${V.string.url}`;break;case`uuid`:n=`${n}.${V.string.uuid}`;break}return e.minLength===e.maxLength&&e.minLength!==void 0?n=`${e.minLength} <= ${n} <= ${e.maxLength}`:e.maxLength===void 0?e.minLength!==void 0&&(n=`${n} >= ${e.minLength}`):(n=`${n} <= ${e.maxLength}`,e.minLength!==void 0&&(n=`${e.minLength} <= ${n}`)),e.pattern&&(n=`/${e.pattern}/`),t.def=n,t},So=({schema:e,...t})=>{switch(e.type){case`null`:return yo({...t,schema:e});case`object`:return bo({...t,schema:e});case`string`:return xo({...t,schema:e})}return{def:``,expression:I(t.plugin.referenceSymbol({category:`external`,resource:`arktype.type`}).placeholder).call(I.object().prop(`name`,I.literal(`string`)).prop(`platform`,I.literal(`'android' | 'ios'`)).prop(`versions?`,I.literal(`(number | string)[]`))),hasLazyExpression:!1}},Co=({plugin:e,schema:t,state:n})=>{let r={};if(t.$ref){let i={category:`schema`,resource:`definition`,resourceId:t.$ref,tool:`arktype`},a=e.referenceSymbol(i);e.isSymbolRegistered(i)?r.expression=I(a.placeholder):(r.expression=I(`TODO`).attr(`TODO`).call(I.func().returns(`any`).do(I.return(a.placeholder))),r.hasLazyExpression=!0,n.hasLazyExpression.value=!0)}else if(t.type){let i=So({plugin:e,schema:t,state:n});r.def=i.def,r.expression=i.expression,r.hasLazyExpression=i.hasLazyExpression,e.config.metadata&&t.description}else if(t.items)t=x({schema:t}),t.items||(r=Co({plugin:e,schema:t,state:n}));else{let t=So({plugin:e,schema:{type:`unknown`},state:n});r.def=t.def,r.expression=t.expression}return r.expression||=So({plugin:e,schema:{type:`unknown`},state:n}).expression,r},wo=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=Co({plugin:e,schema:t,state:n}),a=L(r);vo({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`arktype`},name:b({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tool:`arktype`,variant:`infer`},name:b({config:e.config.definitions.types.infer,name:a})}):void 0})},To=({plugin:e})=>{e.registerSymbol({external:`arktype`,meta:{category:`external`,resource:`arktype.type`},name:`type`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`parameter`:wo({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:wo({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:wo({plugin:e,schema:t.schema,state:n});break}})},Eo={api:new _o,config:{case:`PascalCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:e=>To(e),name:`arktype`,resolveConfig:(e,t)=>{e.config.types=t.valueToObject({defaultValue:{infer:{case:`PascalCase`,enabled:!1}},mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.config.types}),e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}Data`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}Data`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}Response`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}Response`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}WebhookRequest`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}WebhookRequest`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.webhooks})},tags:[`validator`]},Do=({operation:e,plugin:t})=>{let n=I.type.object(),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`data`,tool:`typescript`});r&&(e.body&&n.prop(`Body`,t=>t.required(e.body.required).type(I.type(r.placeholder).idx(I.type.literal(`body`)))),e.parameters&&(e.parameters.header&&n.prop(`Headers`,t=>t.required(ot(e.parameters.header)).type(I.type(r.placeholder).idx(I.type.literal(`headers`)))),e.parameters.path&&n.prop(`Params`,t=>t.required(ot(e.parameters.path)).type(I.type(r.placeholder).idx(I.type.literal(`path`)))),e.parameters.query&&n.prop(`Querystring`,t=>t.required(ot(e.parameters.query)).type(I.type(r.placeholder).idx(I.type.literal(`query`))))));let{errors:i,responses:a}=ft(e),o,s=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`errors`});if(s&&i&&i.properties){let e=Object.keys(i.properties);e.length&&(e.includes(`default`)?e.length>1&&(o=I.type(`Omit`,e=>e.generics(I.type(s.placeholder),I.type.literal(`default`)))):o=I.type(s.placeholder))}let c,l=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`responses`});if(l&&a&&a.properties){let e=Object.keys(a.properties);e.length&&(e.includes(`default`)?e.length>1&&(c=I.type(`Omit`,e=>e.generics(I.type(l.placeholder),I.type.literal(`default`)))):c=I.type(l.placeholder))}let u=[o,c].filter(e=>e!==void 0);if(u.length&&n.prop(`Reply`,e=>e.type(I.type.and(...u))),n.isEmpty)return;let d=t.referenceSymbol({category:`type`,resource:`route-handler`,tool:`fastify`});return{name:e.id,type:I.type(d.placeholder,e=>e.generic(n))}},Oo={config:{exportFromIndex:!1},dependencies:[`@hey-api/typescript`],handler:({plugin:e})=>{e.registerSymbol({external:`fastify`,kind:`type`,meta:{category:`type`,resource:`route-handler`,tool:`fastify`},name:`RouteHandler`});let t=e.registerSymbol({exported:!0,kind:`type`,name:`RouteHandlers`}),n=I.type.object();e.forEach(`operation`,({operation:t})=>{let r=Do({operation:t,plugin:e});r&&n.prop(r.name,e=>e.type(r.type))},{order:`declarations`});let r=I.type.alias(t.placeholder).export(t.exported).type(n);e.setSymbolValue(t,r)},name:`fastify`},ko=({operation:e,plugin:t,queryFn:n})=>{if(Wr({operation:e}))return;let r=t.referenceSymbol({category:`external`,resource:`swr`}),i=t.registerSymbol({exported:!0,name:b({config:t.config.useSwr,name:e.id})}),a=I(n).call(I.object().prop(`throwOnError`,I.literal(!0))).await(),o=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?o.push(I.return(a)):o.push(I.const().object(`data`).assign(a),I.return(`data`));let s=I.const(i.placeholder).export(i.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().do(I(r.placeholder).call(I.literal(e.path),I.func().async().do(...o)).return()));t.setSymbolValue(i,s)},Ao=({plugin:e})=>{e.registerSymbol({external:`swr`,importKind:`default`,kind:`function`,meta:{category:`external`,resource:`swr`},name:`useSWR`});let t=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let r=t.config.asClass?Lr({context:e.context,operation:n,plugin:t}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...t.config.instance?[zi,`get()`]:[],...i.path.slice(1).map(e=>y({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:n.id}).placeholder,e.hooks.operation.isQuery(n)&&e.config.useSwr.enabled&&ko({operation:n,plugin:e,queryFn:a})},{order:`declarations`})},jo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:e=>Ao(e),name:`swr`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions}),e.config.useSwr=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`use{{name}}`},mappers:{boolean:e=>({enabled:e}),function:e=>({enabled:!0,name:e}),object:e=>({enabled:!0,...e}),string:e=>({enabled:!0,name:e})},value:e.config.useSwr}),e.config.useSwr.enabled&&(e.config.queryOptions.enabled||(e.config.queryOptions.enabled=!0,e.config.queryOptions.exported=!1))}},H={actions:{args:`args`,base64:`base64`,bic:`bic`,brand:`brand`,bytes:`bytes`,check:`check`,checkItems:`checkItems`,creditCard:`creditCard`,cuid2:`cuid2`,decimal:`decimal`,description:`description`,digits:`digits`,email:`email`,emoji:`emoji`,empty:`empty`,endsWith:`endsWith`,entries:`entries`,everyItem:`everyItem`,excludes:`excludes`,filterItems:`filterItems`,findItem:`findItem`,finite:`finite`,flavor:`flavor`,graphemes:`graphemes`,gtValue:`gtValue`,hash:`hash`,hexColor:`hexColor`,hexadecimal:`hexadecimal`,imei:`imei`,includes:`includes`,integer:`integer`,ip:`ip`,ipv4:`ipv4`,ipv6:`ipv6`,isoDate:`isoDate`,isoDateTime:`isoDateTime`,isoTime:`isoTime`,isoTimeSecond:`isoTimeSecond`,isoTimestamp:`isoTimestamp`,isoWeek:`isoWeek`,length:`length`,ltValue:`ltValue`,mac:`mac`,mac48:`mac48`,mac64:`mac64`,mapItems:`mapItems`,maxBytes:`maxBytes`,maxEntries:`maxEntries`,maxGraphemes:`maxGraphemes`,maxLength:`maxLength`,maxSize:`maxSize`,maxValue:`maxValue`,maxWords:`maxWords`,metadata:`metadata`,mimeType:`mimeType`,minBytes:`minBytes`,minEntries:`minEntries`,minGraphemes:`minGraphemes`,minLength:`minLength`,minSize:`minSize`,minValue:`minValue`,minWords:`minWords`,multipleOf:`multipleOf`,nanoid:`nanoid`,nonEmpty:`nonEmpty`,normalize:`normalize`,notBytes:`notBytes`,notEntries:`notEntries`,notGraphemes:`notGraphemes`,notLength:`notLength`,notSize:`notSize`,notValue:`notValue`,notValues:`notValues`,notWords:`notWords`,octal:`octal`,parseJson:`parseJson`,partialCheck:`partialCheck`,rawCheck:`rawCheck`,rawTransform:`rawTransform`,readonly:`readonly`,reduceItems:`reduceItems`,regex:`regex`,returns:`returns`,rfcEmail:`rfcEmail`,safeInteger:`safeInteger`,size:`size`,slug:`slug`,someItem:`someItem`,sortItems:`sortItems`,startsWith:`startsWith`,stringifyJson:`stringifyJson`,title:`title`,toLowerCase:`toLowerCase`,toMaxValue:`toMaxValue`,toMinValue:`toMinValue`,toUpperCase:`toUpperCase`,transform:`transform`,trim:`trim`,trimEnd:`trimEnd`,trimStart:`trimStart`,ulid:`ulid`,url:`url`,uuid:`uuid`,value:`value`,values:`values`,words:`words`},async:{argsAsync:`argsAsync`,arrayAsync:`arrayAsync`,awaitAsync:`awaitAsync`,checkAsync:`checkAsync`,checkItemsAsync:`checkItemsAsync`,customAsync:`customAsync`,exactOptionalAsync:`exactOptionalAsync`,fallbackAsync:`fallbackAsync`,forwardAsync:`forwardAsync`,getDefaultsAsync:`getDefaultsAsync`,getFallbacksAsync:`getFallbacksAsync`,intersectAsync:`intersectAsync`,lazyAsync:`lazyAsync`,looseObjectAsync:`looseObjectAsync`,looseTupleAsync:`looseTupleAsync`,mapAsync:`mapAsync`,nonNullableAsync:`nonNullableAsync`,nonNullishAsync:`nonNullishAsync`,nonOptionalAsync:`nonOptionalAsync`,nullableAsync:`nullableAsync`,nullishAsync:`nullishAsync`,objectAsync:`objectAsync`,objectWithRestAsync:`objectWithRestAsync`,optionalAsync:`optionalAsync`,parseAsync:`parseAsync`,parserAsync:`parserAsync`,partialAsync:`partialAsync`,partialCheckAsync:`partialCheckAsync`,pipeAsync:`pipeAsync`,rawCheckAsync:`rawCheckAsync`,rawTransformAsync:`rawTransformAsync`,recordAsync:`recordAsync`,requiredAsync:`requiredAsync`,returnsAsync:`returnsAsync`,safeParseAsync:`safeParseAsync`,safeParserAsync:`safeParserAsync`,setAsync:`setAsync`,strictObjectAsync:`strictObjectAsync`,strictTupleAsync:`strictTupleAsync`,transformAsync:`transformAsync`,tupleAsync:`tupleAsync`,tupleWithRestAsync:`tupleWithRestAsync`,undefinedableAsync:`undefinedableAsync`,unionAsync:`unionAsync`,variantAsync:`variantAsync`},methods:{assert:`assert`,config:`config`,fallback:`fallback`,flatten:`flatten`,forward:`forward`,getDefault:`getDefault`,getDefaults:`getDefaults`,getDescription:`getDescription`,getFallback:`getFallback`,getFallbacks:`getFallbacks`,getMetadata:`getMetadata`,getTitle:`getTitle`,is:`is`,keyof:`keyof`,message:`message`,omit:`omit`,parse:`parse`,parser:`parser`,partial:`partial`,pick:`pick`,pipe:`pipe`,required:`required`,safeParse:`safeParse`,safeParser:`safeParser`,summarize:`summarize`,unwrap:`unwrap`},schemas:{any:`any`,array:`array`,bigInt:`bigint`,blob:`blob`,boolean:`boolean`,custom:`custom`,date:`date`,enum:`enum`,exactOptional:`exactOptional`,file:`file`,function:`function`,instance:`instance`,intersect:`intersect`,lazy:`lazy`,literal:`literal`,looseObject:`looseObject`,looseTuple:`looseTuple`,map:`map`,nan:`nan`,never:`never`,nonNullable:`nonNullable`,nonNullish:`nonNullish`,nonOptional:`nonOptional`,null:`null`,nullable:`nullable`,nullish:`nullish`,number:`number`,object:`object`,objectWithRest:`objectWithRest`,optional:`optional`,picklist:`picklist`,promise:`promise`,record:`record`,set:`set`,strictObject:`strictObject`,strictTuple:`strictTuple`,string:`string`,symbol:`symbol`,tuple:`tuple`,tupleWithRest:`tupleWithRest`,undefined:`undefined`,undefinedable:`undefinedable`,union:`union`,unknown:`unknown`,variant:`variant`,void:`void`},storages:{},types:{GenericSchema:`GenericSchema`},utils:{}},Mo=({schema:e,v:t})=>I(t.placeholder).attr(H.async.parseAsync).call(e.placeholder,`data`).await().return(),No=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`valibot`});if(!n)return;let r={$:I,operation:e,pipes:[],plugin:t,schema:n,v:t.referenceSymbol({category:`external`,resource:`valibot.v`})},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,Mo];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Po=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`valibot`});if(!n)return;let r={$:I,operation:e,pipes:[],plugin:t,schema:n,v:t.referenceSymbol({category:`external`,resource:`valibot.v`})},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,Mo];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}};var Fo=class{createRequestValidator(e){return No(e)}createResponseValidator(e){return Po(e)}};const U=({pipes:e,plugin:t})=>e.length===1?e[0]:I(t.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.methods.pipe).call(...e),Io=({ast:e,plugin:t,schema:n,state:r,symbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`valibot.v`}),o=I.const(i.placeholder).export(i.exported).$if(t.config.comments&&z(n),(e,t)=>e.doc(t)).$if(r.hasLazyExpression.value,t=>t.type(I.type(a.placeholder).attr(e.typeName||H.types.GenericSchema))).assign(U({pipes:e.pipes,plugin:t}));t.setSymbolValue(i,o)},Lo={int16:{max:32767,maxError:`Invalid value: Expected int16 to be <= 2^15-1`,min:-32768,minError:`Invalid value: Expected int16 to be >= -2^15`,needsBigInt:!1},int32:{max:2147483647,maxError:`Invalid value: Expected int32 to be <= 2^31-1`,min:-2147483648,minError:`Invalid value: Expected int32 to be >= -2^31`,needsBigInt:!1},int64:{max:`9223372036854775807`,maxError:`Invalid value: Expected int64 to be <= 2^63-1`,min:`-9223372036854775808`,minError:`Invalid value: Expected int64 to be >= -2^63`,needsBigInt:!0},int8:{max:127,maxError:`Invalid value: Expected int8 to be <= 2^7-1`,min:-128,minError:`Invalid value: Expected int8 to be >= -2^7`,needsBigInt:!1},uint16:{max:65535,maxError:`Invalid value: Expected uint16 to be <= 2^16-1`,min:0,minError:`Invalid value: Expected uint16 to be >= 0`,needsBigInt:!1},uint32:{max:4294967295,maxError:`Invalid value: Expected uint32 to be <= 2^32-1`,min:0,minError:`Invalid value: Expected uint32 to be >= 0`,needsBigInt:!1},uint64:{max:`18446744073709551615`,maxError:`Invalid value: Expected uint64 to be <= 2^64-1`,min:`0`,minError:`Invalid value: Expected uint64 to be >= 0`,needsBigInt:!0},uint8:{max:255,maxError:`Invalid value: Expected uint8 to be <= 2^8-1`,min:0,minError:`Invalid value: Expected uint8 to be >= 0`,needsBigInt:!1}},Ro=e=>e!==void 0&&e in Lo,zo=e=>Ro(e)&&Lo[e].needsBigInt,Bo=({isBigInt:e,value:t})=>{let n=I.fromValue(t);return e&&(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)?I(`BigInt`).call(n):n},Vo=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.requests.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],Io({ast:e(a,r.path.value),plugin:n,schema:a,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`valibot`},name:b({config:n.config.requests,name:t.id})})})}if(n.config.responses.enabled&&t.responses){let{response:i}=ft(t);if(i){let a=[...r.path.value,`responses`];Io({ast:e(i,a),plugin:n,schema:i,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`valibot`},name:b({config:n.config.responses,name:t.id})})})}}},Ho=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.webhooks.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],Io({ast:e(a,r.path.value),plugin:n,schema:a,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`valibot`},name:b({config:n.config.webhooks,name:t.id})})})}},Uo=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.unknown).call(),Wo=({plugin:e,schema:t,state:n})=>{let r={pipes:[]},i=e.referenceSymbol({category:`external`,resource:`valibot.v`}),a=I(i.placeholder).attr(H.schemas.array);if(t.items){t=x({schema:t});let i=t.items.map((t,i)=>{let a=is({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),U({pipes:a.pipes,plugin:e})});if(i.length===1){let e=a.call(...i);r.pipes.push(e)}else{t.logicalOperator;let i=a.call(Uo({plugin:e,schema:{type:`unknown`},state:n}));r.pipes.push(i)}}else{let t=a.call(Uo({plugin:e,schema:{type:`unknown`},state:n}));r.pipes.push(t)}if(t.minItems===t.maxItems&&t.minItems!==void 0){let e=I(i.placeholder).attr(H.actions.length).call(I.fromValue(t.minItems));r.pipes.push(e)}else{if(t.minItems!==void 0){let e=I(i.placeholder).attr(H.actions.minLength).call(I.fromValue(t.minItems));r.pipes.push(e)}if(t.maxItems!==void 0){let e=I(i.placeholder).attr(H.actions.maxLength).call(I.fromValue(t.maxItems));r.pipes.push(e)}}return r},Go=({plugin:e,schema:t})=>{let n=[],r=e.referenceSymbol({category:`external`,resource:`valibot.v`});return typeof t.const==`boolean`?(n.push(I(r.placeholder).attr(H.schemas.literal).call(I.literal(t.const))),U({pipes:n,plugin:e})):(n.push(I(r.placeholder).attr(H.schemas.boolean).call()),U({pipes:n,plugin:e}))},Ko=({plugin:e,schema:t,state:n})=>{let r=[],i=!1;for(let e of t.items??[])e.type===`string`&&typeof e.const==`string`?r.push(I.literal(e.const)):(e.type===`null`||e.const===null)&&(i=!0);if(!r.length)return Uo({plugin:e,schema:{type:`unknown`},state:n});let a=e.referenceSymbol({category:`external`,resource:`valibot.v`}),o=I(a.placeholder).attr(H.schemas.picklist).call(I.array(...r));return i&&(o=I(a.placeholder).attr(H.schemas.nullable).call(o)),o},qo=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.never).call(),Jo=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.null).call(),Yo=({plugin:e,schema:t})=>{let n=t.format,r=t.type===`integer`,i=zo(n),a=Ro(n)?Lo[n]:null,o=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(t.const!==void 0&&t.const!==null){let e=t.const,r;if(typeof e==`number`&&!n)r=I.literal(e);else if(typeof e==`number`&&n)r=i?I(`BigInt`).call(I.literal(e)):I.literal(e);else if(typeof e==`string`&&i){let t=e.endsWith(`n`)?e.slice(0,-1):e;r=I(`BigInt`).call(I.literal(t))}else if(typeof e==`bigint`){let t=e.toString(),n=t.endsWith(`n`)?t.slice(0,-1):t;r=I(`BigInt`).call(I.literal(n))}else r=I.fromValue(e);return I(o.placeholder).attr(H.schemas.literal).call(r)}let s=[];if(i){let e=I(o.placeholder).attr(H.schemas.union).call(I.array(I(o.placeholder).attr(H.schemas.number).call(),I(o.placeholder).attr(H.schemas.string).call(),I(o.placeholder).attr(H.schemas.bigInt).call()));s.push(e);let t=I(o.placeholder).attr(H.actions.transform).call(I.func().param(`x`).do(I(`BigInt`).call(`x`).return()));s.push(t)}else{let e=I(o.placeholder).attr(H.schemas.number).call();s.push(e)}if(!i&&r){let e=I(o.placeholder).attr(H.actions.integer).call();s.push(e)}if(a){let e=a.min,t=a.max,n=a.minError,r=a.maxError,c=I(o.placeholder).attr(H.actions.minValue).call(i?I(`BigInt`).call(I.literal(e)):I.literal(e),I.literal(n));s.push(c);let l=I(o.placeholder).attr(H.actions.maxValue).call(i?I(`BigInt`).call(I.literal(t)):I.literal(t),I.literal(r));s.push(l)}if(t.exclusiveMinimum!==void 0){let e=I(o.placeholder).attr(H.actions.gtValue).call(Bo({isBigInt:i,value:t.exclusiveMinimum}));s.push(e)}else if(t.minimum!==void 0){let e=I(o.placeholder).attr(H.actions.minValue).call(Bo({isBigInt:i,value:t.minimum}));s.push(e)}if(t.exclusiveMaximum!==void 0){let e=I(o.placeholder).attr(H.actions.ltValue).call(Bo({isBigInt:i,value:t.exclusiveMaximum}));s.push(e)}else if(t.maximum!==void 0){let e=I(o.placeholder).attr(H.actions.maxValue).call(Bo({isBigInt:i,value:t.maximum}));s.push(e)}return U({pipes:s,plugin:e})};function Xo({additional:e,pipes:t,plugin:n,shape:r}){let i=n.referenceSymbol({category:`external`,resource:`valibot.v`});return e===null?t.push(I(i.placeholder).attr(H.schemas.strictObject).call(r)):e?r.isEmpty?t.push(I(i.placeholder).attr(H.schemas.record).call(I(i.placeholder).attr(H.schemas.string).call(),e)):t.push(I(i.placeholder).attr(H.schemas.objectWithRest).call(r,e)):t.push(I(i.placeholder).attr(H.schemas.object).call(r))}const Zo=({plugin:e,schema:t,state:n})=>{let r={},i=[],a=I.object().pretty(),o=t.required??[];for(let i in t.properties){let s=t.properties[i],c=is({optional:!o.includes(i),plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,i])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),a.prop(i,U({pipes:c.pipes,plugin:e}))}let s;if(t.additionalProperties&&t.additionalProperties.type)if(t.additionalProperties.type===`never`)s=null;else{let i=is({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),s=U({pipes:i.pipes,plugin:e})}let c={$:I,additional:s,pipes:i,plugin:e,schema:t,shape:a},l=e.config[`~resolvers`]?.object?.base;return l?.(c)||Xo(c),r.pipes=[U({pipes:i,plugin:e})],r},Qo=({pipes:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`valibot.v`});switch(n.format){case`date`:return e.push(I(r.placeholder).attr(H.actions.isoDate).call());case`date-time`:return e.push(I(r.placeholder).attr(H.actions.isoTimestamp).call());case`email`:return e.push(I(r.placeholder).attr(H.actions.email).call());case`ipv4`:case`ipv6`:return e.push(I(r.placeholder).attr(H.actions.ip).call());case`time`:return e.push(I(r.placeholder).attr(H.actions.isoTimeSecond).call());case`uri`:return e.push(I(r.placeholder).attr(H.actions.url).call());case`uuid`:return e.push(I(r.placeholder).attr(H.actions.uuid).call())}return!0},$o=({plugin:e,schema:t})=>{let n=[],r=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(typeof t.const==`string`)return n.push(I(r.placeholder).attr(H.schemas.literal).call(I.literal(t.const))),U({pipes:n,plugin:e});if(n.push(I(r.placeholder).attr(H.schemas.string).call()),t.format){let r={$:I,pipes:n,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];i?.(r)||Qo(r)}return t.minLength===t.maxLength&&t.minLength!==void 0?n.push(I(r.placeholder).attr(H.actions.length).call(I.literal(t.minLength))):(t.minLength!==void 0&&n.push(I(r.placeholder).attr(H.actions.minLength).call(I.literal(t.minLength))),t.maxLength!==void 0&&n.push(I(r.placeholder).attr(H.actions.maxLength).call(I.literal(t.maxLength)))),t.pattern&&n.push(I(r.placeholder).attr(H.actions.regex).call(I.regexp(t.pattern))),U({pipes:n,plugin:e})},es=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>I(i.placeholder).attr(H.schemas.literal).call(I.fromValue(e)));return r.pipes=[I(i.placeholder).attr(H.schemas.tuple).call(I.array(...e))],r}if(t.items){let a=t.items.map((t,i)=>{let a=is({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),U({pipes:a.pipes,plugin:e})});return r.pipes=[I(i.placeholder).attr(H.schemas.tuple).call(I.array(...a))],r}return{pipes:[Uo({plugin:e,schema:{type:`unknown`},state:n})]}},ts=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.undefined).call(),ns=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.void).call(),rs=({schema:e,...t})=>{switch(e.type){case`array`:return{expression:U({pipes:Wo({...t,schema:e}).pipes,plugin:t.plugin})};case`boolean`:return{expression:Go({...t,schema:e})};case`enum`:return{expression:Ko({...t,schema:e})};case`integer`:case`number`:return{expression:Yo({...t,schema:e})};case`never`:return{expression:qo({...t,schema:e})};case`null`:return{expression:Jo({...t,schema:e})};case`object`:return{expression:U({pipes:Zo({...t,schema:e}).pipes,plugin:t.plugin})};case`string`:return e.format===`int64`||e.format===`uint64`?{expression:Yo({...t,schema:e})}:{expression:$o({...t,schema:e})};case`tuple`:return{expression:U({pipes:es({...t,schema:e}).pipes,plugin:t.plugin})};case`undefined`:return{expression:ts({...t,schema:e})};case`unknown`:return{expression:Uo({...t,schema:e})};case`void`:return{expression:ns({...t,schema:e})}}},is=({optional:e,plugin:t,schema:n,state:r})=>{let i={pipes:[]},a=t.referenceSymbol({category:`external`,resource:`valibot.v`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`valibot`},o=t.referenceSymbol(e);if(t.isSymbolRegistered(e)){let e=I(o.placeholder);i.pipes.push(e)}else{let e=I(a.placeholder).attr(H.schemas.lazy).call(I.func().do(I(o.placeholder).return()));i.pipes.push(e),r.hasLazyExpression.value=!0}}else if(n.type){let e=rs({plugin:t,schema:n,state:r});if(i.typeName=e.anyType,i.pipes.push(e.expression),t.config.metadata&&n.description){let e=I(a.placeholder).attr(H.actions.metadata).call(I.object().prop(`description`,I.literal(n.description)));i.pipes.push(e)}}else if(n.items)if(n=x({schema:n}),n.items){let e=n.items.map((e,n)=>U({pipes:is({plugin:t,schema:e,state:{...r,path:T([...r.path.value,`items`,n])}}).pipes,plugin:t}));if(n.logicalOperator===`and`){let t=I(a.placeholder).attr(H.schemas.intersect).call(I.array(...e));i.pipes.push(t)}else{let t=I(a.placeholder).attr(H.schemas.union).call(I.array(...e));i.pipes.push(t)}}else{let e=is({plugin:t,schema:n,state:r});i.pipes.push(...e.pipes)}else{let e=rs({plugin:t,schema:{type:`unknown`},state:r});i.typeName=e.anyType,i.pipes.push(e.expression)}if(i.pipes.length){if(n.accessScope===`read`){let e=I(a.placeholder).attr(H.actions.readonly).call();i.pipes.push(e)}let r;n.default!==void 0&&(r=Bo({isBigInt:n.type===`integer`&&n.format===`int64`,value:n.default}),i.pipes=[I(a.placeholder).attr(H.schemas.optional).call(U({pipes:i.pipes,plugin:t}),r)]),e&&!r&&(i.pipes=[I(a.placeholder).attr(H.schemas.optional).call(U({pipes:i.pipes,plugin:t}))])}return i},as=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=is({plugin:e,schema:t,state:n}),a=L(r);Io({ast:i,plugin:e,schema:t,state:n,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`valibot`},name:b({config:e.config.definitions,name:a})})})},os=({plugin:e})=>{e.registerSymbol({external:`valibot`,importKind:`namespace`,meta:{category:`external`,resource:`valibot.v`},name:`v`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:Vo({getAst:(n,r)=>is({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:as({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:as({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:as({plugin:e,schema:t.schema,state:n});break;case`webhook`:Ho({getAst:(n,r)=>is({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},ss={api:new Fo,config:{case:`camelCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:e=>os(e),name:`valibot`,resolveConfig:(e,t)=>{e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}Data`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}Response`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}WebhookRequest`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.webhooks})},tags:[`validator`]},W={ZodMiniOptional:`ZodMiniOptional`,ZodOptional:`ZodOptional`,_default:`_default`,and:`and`,array:`array`,bigint:`bigint`,boolean:`boolean`,check:`check`,coerce:`coerce`,date:`date`,datetime:`datetime`,default:`default`,describe:`describe`,email:`email`,enum:`enum`,globalRegistry:`globalRegistry`,gt:`gt`,gte:`gte`,infer:`infer`,int:`int`,intersection:`intersection`,ip:`ip`,ipv4:`ipv4`,ipv6:`ipv6`,iso:`iso`,lazy:`lazy`,length:`length`,literal:`literal`,lt:`lt`,lte:`lte`,max:`max`,maxLength:`maxLength`,min:`min`,minLength:`minLength`,never:`never`,null:`null`,nullable:`nullable`,number:`number`,object:`object`,optional:`optional`,parseAsync:`parseAsync`,readonly:`readonly`,record:`record`,regex:`regex`,register:`register`,string:`string`,time:`time`,tuple:`tuple`,undefined:`undefined`,union:`union`,unknown:`unknown`,url:`url`,uuid:`uuid`,void:`void`},cs=({schema:e})=>I(e.placeholder).attr(W.parseAsync).call(`data`).await().return(),ls=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,cs];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},us=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,cs];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},ds=({schema:e})=>I(e.placeholder).attr(W.parseAsync).call(`data`).await().return(),fs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,ds];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},ps=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,ds];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},ms=({schema:e})=>I(e.placeholder).attr(W.parseAsync).call(`data`).await().return(),hs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,ms];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},gs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,ms];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}};var _s=class{createRequestValidator(e){let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return fs(e);case`mini`:return ls(e);case 4:default:return hs(e)}}createResponseValidator(e){let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return ps(e);case`mini`:return us(e);case 4:default:return gs(e)}}};const vs=({ast:e,plugin:t,schema:n,symbol:r,typeInferSymbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`zod.z`}),o=I.const(r.placeholder).export(r.exported).$if(t.config.comments&&z(n),(e,t)=>e.doc(t)).$if(e.typeName,(e,t)=>e.type(I.type(a.placeholder).attr(t))).assign(e.expression);if(t.setSymbolValue(r,o),i){let e=I.type.alias(i.placeholder).export(i.exported).type(I.type(a.placeholder).attr(W.infer).generic(I(r.placeholder).typeofType()));t.setSymbolValue(i,e)}},ys=({plugin:e})=>{let t=e.package.getVersion(`zod`);if(t&&e.package.satisfies(t,`<4.0.0`))switch(e.config.compatibilityVersion){case 3:default:return`zod`;case 4:return`zod/v4`;case`mini`:return`zod/v4-mini`}switch(e.config.compatibilityVersion){case 3:return`zod/v3`;case 4:default:return`zod`;case`mini`:return`zod/mini`}},G=({isBigInt:e,value:t})=>{let n=I.fromValue(t);return e&&(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)?I(`BigInt`).call(n):n},bs=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.requests.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],vs({ast:e(a,r.path.value),plugin:n,schema:a,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`},name:b({config:n.config.requests,name:t.id})}),typeInferSymbol:n.config.requests.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:b({config:n.config.requests.types.infer,name:t.id})}):void 0})}if(n.config.responses.enabled&&t.responses){let{response:i}=ft(t);if(i){let a=[...r.path.value,`responses`];vs({ast:e(i,a),plugin:n,schema:i,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`zod`},name:b({config:n.config.responses,name:t.id})}),typeInferSymbol:n.config.responses.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:b({config:n.config.responses.types.infer,name:t.id})}):void 0})}}},xs=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.webhooks.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],vs({ast:e(a,r.path.value),plugin:n,schema:a,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`},name:b({config:n.config.webhooks,name:t.id})}),typeInferSymbol:n.config.webhooks.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:b({config:n.config.webhooks.types.infer,name:t.id})}):void 0})}},Ss=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.unknown).call(),n},Cs=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={},a=I(r.placeholder).attr(W.array);if(!t.items)i.expression=a.call(Ss({plugin:e,schema:{type:`unknown`},state:n}).expression);else{t=x({schema:t});let o=t.items.map((t,r)=>{let a=Ls({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,r])}});return a.hasLazyExpression&&(i.hasLazyExpression=!0),a.expression});if(o.length===1)i.expression=a.call(...o);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=I(r.placeholder).attr(W.intersection).call(...o);else{n=o[0];for(let e=1;e{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(r=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n.expression=r,n):(r=I(i.placeholder).attr(W.boolean).call(),n.expression=r,n)},Ts=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={},a=[],o=[],s=!1,c=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=I.literal(e.const);a.push(t),o.push(I(r.placeholder).attr(W.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){c=!1;let t=I.literal(e.const);o.push(I(r.placeholder).attr(W.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){c=!1;let t=I.literal(e.const);o.push(I(r.placeholder).attr(W.literal).call(t))}else (e.type===`null`||e.const===null)&&(s=!0);return o.length?(c&&a.length>0?i.expression=I(r.placeholder).attr(W.enum).call(I.array(...a)):o.length===1?i.expression=o[0]:i.expression=I(r.placeholder).attr(W.union).call(I.array(...o)),s&&(i.expression=I(r.placeholder).attr(W.nullable).call(i.expression)),i):Ss({plugin:e,schema:{type:`unknown`},state:n})},Es=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.never).call(),n},Ds=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.null).call(),n},Os=({plugin:e,schema:t})=>{let n=e.referenceSymbol({category:`external`,resource:`zod.z`}),r={},i=t.type===`integer`&&t.format===`int64`;if(typeof t.const==`number`)return r.expression=I(n.placeholder).attr(W.literal).call(I.literal(t.const)),r;r.expression=i?I(n.placeholder).attr(W.coerce).attr(W.bigint).call():I(n.placeholder).attr(W.number).call(),!i&&t.type===`integer`&&(r.expression=I(n.placeholder).attr(W.int).call());let a=[];return t.exclusiveMinimum===void 0?t.minimum!==void 0&&a.push(I(n.placeholder).attr(W.gte).call(G({isBigInt:i,value:t.minimum}))):a.push(I(n.placeholder).attr(W.gt).call(G({isBigInt:i,value:t.exclusiveMinimum}))),t.exclusiveMaximum===void 0?t.maximum!==void 0&&a.push(I(n.placeholder).attr(W.lte).call(G({isBigInt:i,value:t.maximum}))):a.push(I(n.placeholder).attr(W.lt).call(G({isBigInt:i,value:t.exclusiveMaximum}))),a.length&&(r.expression=r.expression.attr(W.check).call(...a)),r};function ks({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?I(r.placeholder).attr(W.record).call(I(r.placeholder).attr(W.string).call(),e):I(r.placeholder).attr(W.object).call(n)}const As=({plugin:e,schema:t,state:n})=>{let r={},i=I.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=Ls({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),c.hasLazyExpression?i.getter(o,c.expression.return()):i.prop(o,c.expression)}let o;if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Ls({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),o=i.expression}let s={$:I,additional:o,chain:void 0,plugin:e,schema:t,shape:i},c=e.config[`~resolvers`]?.object?.base;return r.expression=c?.(s)??ks(s),r},js=({chain:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`zod.z`});switch(n.format){case`date`:return I(r.placeholder).attr(W.iso).attr(W.date).call();case`date-time`:{let e=I.object().$if(t.config.dates.offset,e=>e.prop(`offset`,I.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,I.literal(!0)));return I(r.placeholder).attr(W.iso).attr(W.datetime).call(e.hasProps()?e:void 0)}case`email`:return I(r.placeholder).attr(W.email).call();case`ipv4`:return I(r.placeholder).attr(W.ipv4).call();case`ipv6`:return I(r.placeholder).attr(W.ipv6).call();case`time`:return I(r.placeholder).attr(W.iso).attr(W.time).call();case`uri`:return I(r.placeholder).attr(W.url).call();case`uuid`:return I(r.placeholder).attr(W.uuid).call();default:return e}},Ms=({plugin:e,schema:t})=>{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return r=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n.expression=r,n;if(r=I(i.placeholder).attr(W.string).call(),t.format){let n={$:I,chain:r,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];r=i?.(n)??js(n)}let a=[];return t.minLength===t.maxLength&&t.minLength!==void 0?a.push(I(i.placeholder).attr(W.length).call(I.literal(t.minLength))):(t.minLength!==void 0&&a.push(I(i.placeholder).attr(W.minLength).call(I.literal(t.minLength))),t.maxLength!==void 0&&a.push(I(i.placeholder).attr(W.maxLength).call(I.literal(t.maxLength)))),t.pattern&&a.push(I(i.placeholder).attr(W.regex).call(I.regexp(t.pattern))),a.length&&(r=r.attr(W.check).call(...a)),n.expression=r,n},Ns=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={};if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>I(r.placeholder).attr(W.literal).call(I.fromValue(e)));return i.expression=I(r.placeholder).attr(W.tuple).call(I.array(...e)),i}let a=[];return t.items&&t.items.forEach((t,r)=>{let o=Ls({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,r])}});a.push(o.expression),o.hasLazyExpression&&(i.hasLazyExpression=!0)}),i.expression=I(r.placeholder).attr(W.tuple).call(I.array(...a)),i},Ps=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.undefined).call(),n},Fs=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.void).call(),n},Is=({schema:e,...t})=>{switch(e.type){case`array`:return Cs({...t,schema:e});case`boolean`:return ws({...t,schema:e});case`enum`:return Ts({...t,schema:e});case`integer`:case`number`:return Os({...t,schema:e});case`never`:return Es({...t,schema:e});case`null`:return Ds({...t,schema:e});case`object`:return As({...t,schema:e});case`string`:return Ms({...t,schema:e});case`tuple`:return Ns({...t,schema:e});case`undefined`:return Ps({...t,schema:e});case`unknown`:return Ss({...t,schema:e});case`void`:return Fs({...t,schema:e})}},Ls=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=I(o.placeholder):(i.expression=I(a.placeholder).attr(W.lazy).call(I.func().returns(`any`).do(I(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=Is({plugin:t,schema:n,state:r});i.expression=e.expression,i.hasLazyExpression=e.hasLazyExpression,t.config.metadata&&n.description&&(i.expression=i.expression.attr(W.register).call(I(a.placeholder).attr(W.globalRegistry),I.object().pretty().prop(`description`,I.literal(n.description))))}else if(n.items)if(n=x({schema:n}),n.items){let e=n.items.map((e,n)=>Ls({plugin:t,schema:e,state:{...r,path:T([...r.path.value,`items`,n])}}));if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=I(a.placeholder).attr(W.intersection).call(...e.map(e=>e.expression)):(i.expression=e[0].expression,e.slice(1).forEach(e=>{i.expression=I(a.placeholder).attr(W.intersection).call(i.expression,e.hasLazyExpression?I(a.placeholder).attr(W.lazy).call(I.func().do(e.expression.return())):e.expression)}))}else i.expression=I(a.placeholder).attr(W.union).call(I.array().pretty().elements(...e.map(e=>e.expression)))}else i=Ls({plugin:t,schema:n,state:r});else i.expression=Is({plugin:t,schema:{type:`unknown`},state:r}).expression;if(i.expression&&(n.accessScope===`read`&&(i.expression=I(a.placeholder).attr(W.readonly).call(i.expression)),e&&(i.expression=I(a.placeholder).attr(W.optional).call(i.expression),i.typeName=W.ZodMiniOptional),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=I(a.placeholder).attr(W._default).call(i.expression,G({isBigInt:e,value:n.default}))}return i},Rs=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=Ls({plugin:e,schema:t,state:n}),a=L(r);vs({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:b({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:b({config:e.config.definitions.types.infer,name:a})}):void 0})},zs=({plugin:e})=>{e.registerSymbol({external:ys({plugin:e}),importKind:`namespace`,meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:bs({getAst:(n,r)=>Ls({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:Rs({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Rs({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Rs({plugin:e,schema:t.schema,state:n});break;case`webhook`:xs({getAst:(n,r)=>Ls({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},Bs=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.unknown).call(),Vs=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=I(r.placeholder).attr(W.array),a,o=!1;if(!t.items)a=i.call(Bs({plugin:e,schema:{type:`unknown`},state:n}));else{t=x({schema:t});let s=t.items.map((t,r)=>{let i=tc({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,r])}});return i.hasLazyExpression&&(o=!0),i.expression});if(s.length===1)a=i.call(...s);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=I(r.placeholder).attr(W.intersection).call(...s);else{n=s[0];for(let e=1;e{let n,r=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(n=I(r.placeholder).attr(W.literal).call(I.literal(t.const)),n):(n=I(r.placeholder).attr(W.boolean).call(),n)},Us=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=[],a=[],o=!1,s=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=I.literal(e.const);i.push(t),a.push(I(r.placeholder).attr(W.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){s=!1;let t=I.literal(e.const);a.push(I(r.placeholder).attr(W.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){s=!1;let t=I.literal(e.const);a.push(I(r.placeholder).attr(W.literal).call(t))}else (e.type===`null`||e.const===null)&&(o=!0);if(!a.length)return Bs({plugin:e,schema:{type:`unknown`},state:n});let c;return c=s&&i.length>0?I(r.placeholder).attr(W.enum).call(I.array(...i)):a.length===1?a[0]:I(r.placeholder).attr(W.union).call(I.array(...a)),o&&(c=c.attr(W.nullable).call()),c},Ws=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.never).call(),Gs=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.null).call(),Ks=({plugin:e,schema:t})=>{let n=e.referenceSymbol({category:`external`,resource:`zod.z`}),r=t.type===`integer`&&t.format===`int64`;if(typeof t.const==`number`)return I(n.placeholder).attr(W.literal).call(I.literal(t.const));let i=r?I(n.placeholder).attr(W.coerce).attr(W.bigint).call():I(n.placeholder).attr(W.number).call();return!r&&t.type===`integer`&&(i=i.attr(W.int).call()),t.exclusiveMinimum===void 0?t.minimum!==void 0&&(i=i.attr(W.gte).call(G({isBigInt:r,value:t.minimum}))):i=i.attr(W.gt).call(G({isBigInt:r,value:t.exclusiveMinimum})),t.exclusiveMaximum===void 0?t.maximum!==void 0&&(i=i.attr(W.lte).call(G({isBigInt:r,value:t.maximum}))):i=i.attr(W.lt).call(G({isBigInt:r,value:t.exclusiveMaximum})),i};function qs({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?I(r.placeholder).attr(W.record).call(e):I(r.placeholder).attr(W.object).call(n)}const Js=({plugin:e,schema:t,state:n})=>{let r=!1,i=I.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=tc({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r=!0),i.prop(o,c.expression)}let o,s={};if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=tc({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});r=i.hasLazyExpression||r,o=i.expression}let c={$:I,additional:o,chain:void 0,plugin:e,schema:t,shape:i},l=e.config[`~resolvers`]?.object?.base;return s.expression=l?.(c)??qs(c),{anyType:`AnyZodObject`,expression:s.expression,hasLazyExpression:r}},Ys=({chain:e,plugin:t,schema:n})=>{switch(n.format){case`date`:return e.attr(W.date).call();case`date-time`:{let n=I.object().$if(t.config.dates.offset,e=>e.prop(`offset`,I.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,I.literal(!0)));return e.attr(W.datetime).call(n.hasProps()?n:void 0)}case`email`:return e.attr(W.email).call();case`ipv4`:case`ipv6`:return e.attr(W.ip).call();case`time`:return e.attr(W.time).call();case`uri`:return e.attr(W.url).call();case`uuid`:return e.attr(W.uuid).call();default:return e}},Xs=({plugin:e,schema:t})=>{let n,r=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return n=I(r.placeholder).attr(W.literal).call(I.literal(t.const)),n;if(n=I(r.placeholder).attr(W.string).call(),t.format){let r={$:I,chain:n,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];n=i?.(r)??Ys(r)}return t.minLength===t.maxLength&&t.minLength!==void 0?n=n.attr(W.length).call(I.literal(t.minLength)):(t.minLength!==void 0&&(n=n.attr(W.min).call(I.literal(t.minLength))),t.maxLength!==void 0&&(n=n.attr(W.max).call(I.literal(t.maxLength)))),t.pattern&&(n=n.attr(W.regex).call(I.regexp(t.pattern))),n},Zs=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=!1;if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>I(r.placeholder).attr(W.literal).call(I.fromValue(e)));return{expression:I(r.placeholder).attr(W.tuple).call(I.array(...e)),hasLazyExpression:i}}let a=[];return t.items&&t.items.forEach((t,r)=>{let o=tc({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,r])}});a.push(o.expression),o.hasLazyExpression&&(i=!0)}),{expression:I(r.placeholder).attr(W.tuple).call(I.array(...a)),hasLazyExpression:i}},Qs=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.undefined).call(),$s=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.void).call(),ec=({schema:e,...t})=>{switch(e.type){case`array`:return Vs({...t,schema:e});case`boolean`:return{expression:Hs({...t,schema:e})};case`enum`:return{expression:Us({...t,schema:e})};case`integer`:case`number`:return{expression:Ks({...t,schema:e})};case`never`:return{expression:Ws({...t,schema:e})};case`null`:return{expression:Gs({...t,schema:e})};case`object`:return Js({...t,schema:e});case`string`:return{expression:Xs({...t,schema:e})};case`tuple`:return Zs({...t,schema:e});case`undefined`:return{expression:Qs({...t,schema:e})};case`unknown`:return{expression:Bs({...t,schema:e})};case`void`:return{expression:$s({...t,schema:e})}}},tc=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=I(o.placeholder):(i.expression=I(a.placeholder).attr(W.lazy).call(I.func().do(I(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=ec({plugin:t,schema:n,state:r});i.expression=e.expression,i.typeName=e.anyType,t.config.metadata&&n.description&&(i.expression=i.expression.attr(W.describe).call(I.literal(n.description)))}else if(n.items)if(n=x({schema:n}),n.items){let e=n.items.map((e,n)=>tc({plugin:t,schema:e,state:{...r,path:T([...r.path.value,`items`,n])}}).expression);if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=I(a.placeholder).attr(W.intersection).call(...e):(i.expression=e[0],e.slice(1).forEach(e=>{i.expression=i.expression.attr(W.and).call(e)}))}else i.expression=I(a.placeholder).attr(W.union).call(I.array().pretty().elements(...e))}else i=tc({plugin:t,schema:n,state:r});else{let e=ec({plugin:t,schema:{type:`unknown`},state:r});i.expression=e.expression,i.typeName=e.anyType}if(i.expression&&(n.accessScope===`read`&&(i.expression=i.expression.attr(W.readonly).call()),e&&(i.expression=i.expression.attr(W.optional).call()),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=i.expression.attr(W.default).call(G({isBigInt:e,value:n.default}))}return r.hasLazyExpression.value?i.typeName||=`ZodTypeAny`:i.typeName&&=void 0,i},nc=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=tc({plugin:e,schema:t,state:n}),a=L(r);vs({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:b({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:b({config:e.config.definitions.types.infer,name:a})}):void 0})},rc=({plugin:e})=>{e.registerSymbol({external:ys({plugin:e}),meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:bs({getAst:(n,r)=>tc({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:nc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:nc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:nc({plugin:e,schema:t.schema,state:n});break;case`webhook`:xs({getAst:(n,r)=>tc({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},ic=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.unknown).call(),t},ac=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`}),a=I(i.placeholder).attr(W.array);if(!t.items)r.expression=a.call(ic({plugin:e,schema:{type:`unknown`},state:n}).expression);else{t=x({schema:t});let o=t.items.map((t,i)=>{let a=yc({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),a.expression});if(o.length===1)r.expression=a.call(...o);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=I(i.placeholder).attr(W.intersection).call(...o);else{n=o[0];for(let e=1;e{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(r=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n.expression=r,n):(r=I(i.placeholder).attr(W.boolean).call(),n.expression=r,n)},sc=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`}),a=[],o=[],s=!1,c=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=I.literal(e.const);a.push(t),o.push(I(i.placeholder).attr(W.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){c=!1;let t=I.literal(e.const);o.push(I(i.placeholder).attr(W.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){c=!1;let t=I.literal(e.const);o.push(I(i.placeholder).attr(W.literal).call(t))}else (e.type===`null`||e.const===null)&&(s=!0);return o.length?(c&&a.length>0?r.expression=I(i.placeholder).attr(W.enum).call(I.array(...a)):o.length===1?r.expression=o[0]:r.expression=I(i.placeholder).attr(W.union).call(I.array(...o)),s&&(r.expression=I(i.placeholder).attr(W.nullable).call(r.expression)),r):ic({plugin:e,schema:{type:`unknown`},state:n})},cc=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.never).call(),t},lc=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.null).call(),t},uc=({plugin:e,schema:t})=>{let n={},r=t.type===`integer`&&t.format===`int64`,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`number`?(n.expression=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n):(n.expression=r?I(i.placeholder).attr(W.coerce).attr(W.bigint).call():I(i.placeholder).attr(W.number).call(),!r&&t.type===`integer`&&(n.expression=I(i.placeholder).attr(W.int).call()),t.exclusiveMinimum===void 0?t.minimum!==void 0&&(n.expression=n.expression.attr(W.gte).call(G({isBigInt:r,value:t.minimum}))):n.expression=n.expression.attr(W.gt).call(G({isBigInt:r,value:t.exclusiveMinimum})),t.exclusiveMaximum===void 0?t.maximum!==void 0&&(n.expression=n.expression.attr(W.lte).call(G({isBigInt:r,value:t.maximum}))):n.expression=n.expression.attr(W.lt).call(G({isBigInt:r,value:t.exclusiveMaximum})),n)};function dc({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?I(r.placeholder).attr(W.record).call(I(r.placeholder).attr(W.string).call(),e):I(r.placeholder).attr(W.object).call(n)}const fc=({plugin:e,schema:t,state:n})=>{let r={},i=I.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=yc({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),c.hasLazyExpression?i.getter(o,c.expression.return()):i.prop(o,c.expression)}let o;if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=yc({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),o=i.expression}let s={$:I,additional:o,chain:void 0,plugin:e,schema:t,shape:i},c=e.config[`~resolvers`]?.object?.base;return r.expression=c?.(s)??dc(s),r.hasLazyExpression?{...r,typeName:`ZodType`}:r},pc=({chain:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`zod.z`});switch(n.format){case`date`:return I(r.placeholder).attr(W.iso).attr(W.date).call();case`date-time`:{let e=I.object().$if(t.config.dates.offset,e=>e.prop(`offset`,I.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,I.literal(!0)));return I(r.placeholder).attr(W.iso).attr(W.datetime).call(e.hasProps()?e:void 0)}case`email`:return I(r.placeholder).attr(W.email).call();case`ipv4`:return I(r.placeholder).attr(W.ipv4).call();case`ipv6`:return I(r.placeholder).attr(W.ipv6).call();case`time`:return I(r.placeholder).attr(W.iso).attr(W.time).call();case`uri`:return I(r.placeholder).attr(W.url).call();case`uuid`:return I(r.placeholder).attr(W.uuid).call();default:return e}},mc=({plugin:e,schema:t})=>{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return r=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n.expression=r,n;if(r=I(i.placeholder).attr(W.string).call(),t.format){let n={$:I,chain:r,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];r=i?.(n)??pc(n)}return t.minLength===t.maxLength&&t.minLength!==void 0?r=r.attr(W.length).call(I.literal(t.minLength)):(t.minLength!==void 0&&(r=r.attr(W.min).call(I.literal(t.minLength))),t.maxLength!==void 0&&(r=r.attr(W.max).call(I.literal(t.maxLength)))),t.pattern&&(r=r.attr(W.regex).call(I.regexp(t.pattern))),n.expression=r,n},hc=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>I(i.placeholder).attr(W.literal).call(I.fromValue(e)));return r.expression=I(i.placeholder).attr(W.tuple).call(I.array(...e)),r}let a=[];return t.items&&t.items.forEach((t,i)=>{let o=yc({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});a.push(o.expression),o.hasLazyExpression&&(r.hasLazyExpression=!0)}),r.expression=I(i.placeholder).attr(W.tuple).call(I.array(...a)),r},gc=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.undefined).call(),t},_c=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.void).call(),t},vc=({schema:e,...t})=>{switch(e.type){case`array`:return ac({...t,schema:e});case`boolean`:return oc({...t,schema:e});case`enum`:return sc({...t,schema:e});case`integer`:case`number`:return uc({...t,schema:e});case`never`:return cc({...t,schema:e});case`null`:return lc({...t,schema:e});case`object`:return fc({...t,schema:e});case`string`:return mc({...t,schema:e});case`tuple`:return hc({...t,schema:e});case`undefined`:return gc({...t,schema:e});case`unknown`:return ic({...t,schema:e});case`void`:return _c({...t,schema:e})}},yc=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=I(o.placeholder):(i.expression=I(a.placeholder).attr(W.lazy).call(I.func().returns(`any`).do(I(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=vc({plugin:t,schema:n,state:r});i.expression=e.expression,i.hasLazyExpression=e.hasLazyExpression,t.config.metadata&&n.description&&(i.expression=i.expression.attr(W.register).call(I(a.placeholder).attr(W.globalRegistry),I.object().pretty().prop(`description`,I.literal(n.description))))}else if(n.items)if(n=x({schema:n}),n.items){let e=n.items.map((e,n)=>yc({plugin:t,schema:e,state:{...r,path:T([...r.path.value,`items`,n])}}));if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=I(a.placeholder).attr(W.intersection).call(...e.map(e=>e.expression)):(i.expression=e[0].expression,e.slice(1).forEach(e=>{i.expression=i.expression.attr(W.and).call(e.hasLazyExpression?I(a.placeholder).attr(W.lazy).call(I.func().do(e.expression.return())):e.expression)}))}else i.expression=I(a.placeholder).attr(W.union).call(I.array().pretty().elements(...e.map(e=>e.expression)))}else i=yc({plugin:t,schema:n,state:r});else i.expression=vc({plugin:t,schema:{type:`unknown`},state:r}).expression;if(i.expression&&(n.accessScope===`read`&&(i.expression=i.expression.attr(W.readonly).call()),e&&(i.expression=I(a.placeholder).attr(W.optional).call(i.expression),i.typeName=W.ZodOptional),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=i.expression.attr(W.default).call(G({isBigInt:e,value:n.default}))}return i},bc=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=yc({plugin:e,schema:t,state:n}),a=L(r);vs({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:b({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:b({config:e.config.definitions.types.infer,name:a})}):void 0})},xc=({plugin:e})=>{e.registerSymbol({external:ys({plugin:e}),meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:bs({getAst:(n,r)=>yc({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:bc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:bc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:bc({plugin:e,schema:t.schema,state:n});break;case`webhook`:xs({getAst:(n,r)=>yc({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},Sc={api:new _s,config:{case:`camelCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:e=>{let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return rc(e);case`mini`:return zs(e);case 4:default:return xc(e)}},name:`zod`,resolveConfig:(e,t)=>{let n=t.package.getVersion(`zod`),r=()=>n&&(n.major===4||n.major===3)?n.major:4,i=e=>{if(!e)return r();if(!n)return e;if((e===4||e===3||e===`mini`)&&!t.package.satisfies(n,`>=3.25.0 <5.0.0`)){let t=r();return console.warn(`🔌 ${a.yellow(`Warning:`)} Installed ${a.cyan(`zod`)} ${a.cyan(`v${n.version}`)} does not support compatibility version ${a.yellow(String(e))}, using ${a.yellow(String(t))}.`),t}return e};e.config.compatibilityVersion=i(e.config.compatibilityVersion),e.config.dates=t.valueToObject({defaultValue:{local:!1,offset:!1},value:e.config.dates}),e.config.types=t.valueToObject({defaultValue:{infer:{case:`PascalCase`,enabled:!1}},mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.config.types}),e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}ZodType`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}Data`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}DataZodType`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}Response`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}ResponseZodType`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}WebhookRequest`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}WebhookRequestZodType`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.webhooks})},tags:[`validator`]},Cc={"@angular/common":ri,"@hey-api/client-angular":yi,"@hey-api/client-axios":bi,"@hey-api/client-fetch":xi,"@hey-api/client-ky":Si,"@hey-api/client-next":Ci,"@hey-api/client-nuxt":wi,"@hey-api/client-ofetch":Ti,"@hey-api/schemas":Ri,"@hey-api/sdk":qi,"@hey-api/transformers":na,"@hey-api/typescript":Oa,"@pinia/colada":Wa,"@tanstack/angular-query-experimental":lo,"@tanstack/react-query":uo,"@tanstack/solid-query":fo,"@tanstack/svelte-query":po,"@tanstack/vue-query":mo,arktype:Eo,fastify:Oo,swr:jo,valibot:ss,zod:Sc},wc=[`@hey-api/typescript`,`@hey-api/sdk`],Tc=({dependencies:e,userPlugins:t,userPluginsConfig:n})=>{let r=new Set,i=new Set,a={},o=s=>{if(r.has(s))throw Error(`Circular reference detected at '${s}'`);if(i.has(s))return;r.add(s);let c=Cc[s],l=n[s];if(!c&&!l)throw Error(`unknown plugin dependency "${s}" - do you need to register a custom plugin with this name?`);let u={...c,...l,config:{...c?.config,...l?.config},dependencies:new Set([...c?.dependencies||[],...l?.dependencies||[]])};if(u.resolveConfig){let r={package:Di(e),pluginByTag:(e,r={})=>{let{defaultPlugin:i,errorMessage:a}=r;for(let r of t){let t=Cc[r]||n[r];if(t&&t.tags?.includes(e)&&r!==s)return r}if(i){let t=Cc[i]||n[i];if(t&&t.tags?.includes(e)&&i!==s)return i}throw Error(a||`missing plugin - no plugin with tag "${e}" found`)},valueToObject:_};u.resolveConfig(u,r)}for(let e of u.dependencies)o(e);r.delete(s),i.add(s),a[s]=u};for(let e of t)o(e);return{pluginOrder:Array.from(i),plugins:a}},Ec=e=>typeof e==`string`?e.startsWith(`@hey-api/client`):e.name.startsWith(`@hey-api/client`)||e.tags&&e.tags.includes(`client`),Dc=({dependencies:e,userConfig:t})=>{let n={},r=wc;return t.plugins&&(t.plugins=t.plugins.filter(e=>typeof e==`string`&&e||typeof e!=`string`&&e.name),r=t.plugins.length===1&&Ec(t.plugins[0])?[...wc,...t.plugins]:t.plugins),Tc({dependencies:e,userPlugins:r.map(e=>{if(typeof e==`string`)return e;let t=e.name;return t&&(e.handler?n[t]=e:(n[t]={config:{...e}},delete n[t].config.name)),t}).filter(Boolean),userPluginsConfig:n})},Oc=()=>!!(process.stdin.isTTY&&process.stdout.isTTY&&!process.env.CI&&!process.env.NO_INTERACTIVE&&!process.env.NO_INTERACTION),kc=async({logger:e,userConfigs:t})=>{let n=[],r={},i=e.timeEvent(`load`);for(let i of t){let t;if(i?.configFile){let e=i.configFile.split(`.`);t=e.slice(0,e.length-1).join(`.`)}let o=e.timeEvent(`c12`),{loadConfig:s}=await import(`c12`),{config:c,configFile:l}=await s({configFile:t,name:`openapi-ts`});o.timeEnd(),Object.keys(r).length||(r=qe(Object.keys(c).length?l:void 0));let u=c instanceof Array?c.map(e=>Ue(e,i)):[Ue(c,i)];for(let e of u){let t=Be(e);if(e.output instanceof Array){let r=t.length,i=e.output.length;if(i>1)if(r!==i){console.warn(`⚙️ ${a.yellow(`Warning:`)} You provided ${a.cyan(String(r))} ${a.cyan(r===1?`input`:`inputs`)} and ${a.yellow(String(i))} ${a.yellow(`outputs`)}. This is probably not what you want as it will produce identical output in multiple locations. You most likely want to provide a single output or the same number of outputs as inputs.`);for(let r of e.output)n.push({...e,input:t,output:r})}else e.output.forEach((r,i)=>{n.push({...e,input:t[i],output:r})});else n.push({...e,input:t,output:e.output[0]??``})}else n.push({...e,input:t})}}i.timeEnd();let o=[],c=e.timeEvent(`build`);for(let e of n){let t=Ve(e),n=Be(e),i=Ke(e),c=Ye(e),l=[];n.length||l.push(new me(`missing input - which OpenAPI specification should we use to generate your output?`)),i.path||l.push(new me(`missing output - where should we generate your output?`)),i.path=s.resolve(process.cwd(),i.path);let u;try{u=Dc({dependencies:r,userConfig:e})}catch(e){l.push(e),u={pluginOrder:[],plugins:{}}}let d={configFile:e.configFile??``,dryRun:e.dryRun??!1,input:n,interactive:e.interactive??Oc(),logs:t,output:i,parser:c,pluginOrder:u.pluginOrder,plugins:u.plugins},f=o.length;if(t.level===`debug`){let e=a.gray(`[Job ${f+1}] `);console.warn(`${e}${a.cyan(`config:`)}`,d)}o.push({config:d,errors:l,jobIndex:f})}return c.timeEnd(),{dependencies:r,results:o}};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});const Ac=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},jc=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},Mc=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},Nc=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(jc(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=Ac(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):Pc({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},Pc=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},Fc=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=Mc(r),s=Object.entries(i).map(([t,i])=>Pc({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},Ic=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=Nc({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=Fc({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=Pc({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},Lc=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},Rc=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?Lc(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t};Ic({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}});const zc=async({fetchOptions:e,inputPath:t,timeout:n,watch:r})=>{let i=f({pathOrUrlOrSchema:t}),a,o,s;if(i.type===`url`){if(r.lastValue&&r.isHeadMethodSupported!==!1){try{let t=await p({fetchOptions:{method:`HEAD`,...e,headers:Rc(e?.headers,r.headers)},timeout:n,url:i.path});if(t.response.status>=300)return{error:`not-ok`,response:t.response};s=t.response}catch(e){return{error:`not-ok`,response:new Response(e.message)}}if(!s.ok&&r.isHeadMethodSupported)return{error:`not-ok`,response:s};if(r.isHeadMethodSupported===void 0&&(r.isHeadMethodSupported=s.ok),s.status===304)return{error:`not-modified`,response:s};if(o===void 0){let e=s.headers.get(`ETag`);e&&(o=e!==r.headers.get(`If-None-Match`),o&&r.headers.set(`If-None-Match`,e))}if(o===void 0){let e=s.headers.get(`Last-Modified`);e&&(o=e!==r.headers.get(`If-Modified-Since`),o&&r.headers.set(`If-Modified-Since`,e))}if(o===!1)return{error:`not-modified`,response:s}}try{let t=await p({fetchOptions:{method:`GET`,...e},timeout:n,url:i.path});if(t.response.status>=300)return{error:`not-ok`,response:t.response};s=t.response}catch(e){return{error:`not-ok`,response:new Response(e.message)}}if(!s.ok)return{error:`not-ok`,response:s};if(a=s.body?await s.arrayBuffer():new ArrayBuffer(0),o===void 0){let e=new TextDecoder().decode(a);o=e!==r.lastValue,r.lastValue=e}}else r.lastValue?o=!1:r.lastValue=i.type;return o===!1?{error:`not-modified`,response:s}:{arrayBuffer:a,resolvedInput:i}},Bc=l.createPrinter({newLine:l.NewLineKind.LineFeed,removeComments:!1}),Vc=(e=>l.createSourceFile(``,e,l.ScriptTarget.ESNext,!1,l.ScriptKind.TS))(``),Hc=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)));function Uc(e){let t=Bc.printNode(l.EmitHint.Unspecified,e,Vc);try{return Hc(t)}catch{return t}}const Wc=new Set(`buffer.child_process.cluster.console.constants.crypto.dgram.dns.domain.events.freelist.fs.http.https.module.net.os.path.process.punycode.querystring.readline.repl.stream.string_decoder.timers.tls.tty.url.util.v8.vm.worker_threads.zlib`.split(`.`));var Gc=class{renderFile(e,t,n,r){let a=new Map;if(e=i(e,e=>{let i=n.symbols.get(e),o=this.replacerFn({file:t,project:n,symbol:i});return i&&this.addBinding({bindings:a,file:t,meta:r,project:n,symbol:i}),o}),!e.length)return``;let o=``,s=this.getHeaderLines();o+=`${s.join(` ++${r}`,o.writeFileSync(e,r,`utf8`)},fi=({meta:e,outputPath:t,plugin:n,project:r})=>{let i=new Map;if(n.name.startsWith(`@hey-api/client-`)){let a=s.resolve(t,`core`);pe(a),li(s.resolve(si,`clients`,`core`),a);let c=s.resolve(t,`client`);pe(c);let l=n.name.slice(16);if(li(s.resolve(si,`clients`,l),c),r){let e=o.readdirSync(a);for(let t of e)ui({filePath:s.resolve(a,t),project:r,renamed:i});let t=o.readdirSync(c);for(let e of t)ui({filePath:s.resolve(c,e),project:r,renamed:i})}let u=o.readdirSync(a);for(let t of u)di({filePath:s.resolve(a,t),meta:e,renamed:i});let d=o.readdirSync(c);for(let t of d)di({filePath:s.resolve(c,t),meta:e,renamed:i});return i}let a=s.isAbsolute(n.name)?s.dirname(n.name):void 0;if(a){let e=s.resolve(t,`client`);pe(e),li(a,e);return}let c=s.normalize(oe.resolve(n.name)).split(s.sep),l=c.slice(0,c.indexOf(`dist`)+1).join(s.sep),u=[c[c.length-1],`index.d.ts`,`index.d.cts`],d=s.resolve(t,`client`);pe(d);for(let e of u)o.copyFileSync(s.resolve(l,e),s.resolve(d,e))},pi=/^(([^:/?#]+):)?((\/\/)?([^:/?#]*)(:?([^/?#]*)))?([^?#]*)(\?([^#]*))?(#(.*))?/,mi=e=>{let t={host:``,path:``,port:``,protocol:``};pi.lastIndex=0;let n=e.match(pi);if(!n)return t;let r=n[5]||``;if(r===`.`||r===`..`)return t;let i=n[8]||``,a=n[2]||``;return a.length===1?t:{host:r,path:i===`/`?``:i,port:n[7]||``,protocol:a}},hi=({plugin:e})=>{let{baseUrl:t}=e.config;if(t===!1)return;if(typeof t==`string`)return t;let{servers:n}=e.context.ir;if(n)return n[typeof t==`number`?t:0]?.url},gi=({plugin:e})=>{let t=ci(e.context.config),n=e.registerSymbol({external:t,name:`createClient`}),r=e.registerSymbol({external:t,name:`createConfig`}),i=e.referenceSymbol({category:`type`,resource:`client`,role:`options`}),{runtimeConfigPath:a}=e.config,o=a?e.registerSymbol({external:a,name:`createClientConfig`}):void 0,s=I.object(),c=hi({plugin:e});if(c){let t=mi(c);if(t.protocol&&t.host&&!c.includes(`{`))s.prop(mt(e.context.config),I.literal(c));else if(c!==`/`&&c.startsWith(`/`)){let t=c.endsWith(`/`)?c.slice(0,-1):c;s.prop(mt(e.context.config),I.literal(t))}}`throwOnError`in e.config&&e.config.throwOnError&&s.prop(`throwOnError`,I.literal(!0));let l=[I(r.placeholder).call(s.hasProps()?s:void 0).generic(i.placeholder)],u=e.registerSymbol({exported:!0,meta:{category:`client`},name:`client`}),d=I.const(u.placeholder).export(u.exported).assign(I(n.placeholder).$if(o,(e,t)=>e.call(I(t.placeholder).call(...l)),e=>e.call(...l)));e.setSymbolValue(u,d)},_i=({plugin:e})=>{let t=ci(e.context.config),n=e.referenceSymbol({category:`type`,resource:`client`,role:`options`}),r=e.registerSymbol({external:t,kind:`type`,name:`Config`}),i=e.registerSymbol({external:t,kind:`type`,name:`ClientOptions`}),a=e.registerSymbol({exported:!0,kind:`type`,name:`CreateClientConfig`}),o=I.type.alias(a.placeholder).export(a.exported).doc(["The `createClientConfig()` function will be called on client initialization",`and the returned object will become the client's initial configuration.`,``,`You may want to initialize your client this way instead of calling`,"`setConfig()`. This is useful for example if you're using Next.js",`to ensure your client always has the correct values.`]).generic(`T`,e=>e.extends(i.placeholder).default(n.placeholder)).type(I.type.func().param(`override`,e=>e.optional().type(I.type(r.placeholder).generic(I.type.and(i.placeholder,`T`)))).returns(I.type(r.placeholder).generic(I.type.and(I.type(`Required`).generic(i.placeholder),`T`))));e.setSymbolValue(a,o)},vi=({plugin:e})=>{_i({plugin:e}),gi({plugin:e})},yi={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-angular`},bi={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-axios`},xi={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-fetch`},Si={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-ky`},Ci={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-next`},wi={...ai,config:ii,handler:vi,name:`@hey-api/client-nuxt`},Ti={...ai,config:{...ii,throwOnError:!1},handler:vi,name:`@hey-api/client-ofetch`},Ei=(...e)=>d.satisfies(...e),Di=e=>({getVersion:t=>{let n=e[t];if(n)try{let e=d.parse(n);if(e)return e;let t=d.minVersion(n);if(t)return t;if(e=d.coerce(n),e)return e}catch{}},isInstalled:t=>!!e[t],satisfies:(t,n,r)=>{let i=typeof t==`string`?e[t]:t;return i?Ei(i,n,r):!1}}),Oi=[ln,dn,cn,un,sn],ki=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,`_`);if(an.lastIndex=0,an.test(t))return`_${t}`;for(let e of Oi){if(t.startsWith(`_`))return t;t=t.replace(e,`_$1`)}return t},Ai=({plugin:e,schema:t})=>{e.config.type===`form`&&(t.description&&delete t.description,t[`x-enum-descriptions`]&&delete t[`x-enum-descriptions`],t[`x-enum-varnames`]&&delete t[`x-enum-varnames`],t[`x-enumNames`]&&delete t[`x-enumNames`],t.title&&delete t.title)},ji=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>ji({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(r.$ref)return r.$ref=decodeURI(r.$ref),r;if(Ai({plugin:t,schema:r}),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=ji({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>ji({context:e,plugin:t,schema:n})),r.items&&=ji({context:e,plugin:t,schema:r.items}),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=ji({context:e,plugin:t,schema:i}))}return r},Mi=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Mi({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(`$ref`in r)return r.$ref=decodeURI(r.$ref),r;if(Ai({plugin:t,schema:r}),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Mi({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Mi({context:e,plugin:t,schema:n})),r.anyOf&&=r.anyOf.map(n=>Mi({context:e,plugin:t,schema:n})),r.items&&=Mi({context:e,plugin:t,schema:r.items}),r.oneOf&&=r.oneOf.map(n=>Mi({context:e,plugin:t,schema:n})),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Mi({context:e,plugin:t,schema:i}))}return r},Ni=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Ni({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(Ai({plugin:t,schema:r}),r.$ref&&=decodeURI(r.$ref),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Ni({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.anyOf&&=r.anyOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.items&&=Ni({context:e,plugin:t,schema:r.items}),r.oneOf&&=r.oneOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.prefixItems&&=r.prefixItems.map(n=>Ni({context:e,plugin:t,schema:n})),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Ni({context:e,plugin:t,schema:i}))}return r},Pi=({name:e,plugin:t,schema:n})=>{let r=``;return t.config.nameBuilder&&(r=typeof t.config.nameBuilder==`function`?t.config.nameBuilder(e,n):t.config.nameBuilder.replace(`{{name}}`,e)),r||=`${e}Schema`,ki(r)},Fi=({context:e,plugin:t})=>{if(e.spec.definitions)for(let n in e.spec.definitions){let r=e.spec.definitions[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Pi({name:n,plugin:t,schema:r})}),a=ji({context:e,plugin:t,schema:r}),o=I.const(i.placeholder).export(i.exported).assign(I(I.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Ii=({context:e,plugin:t})=>{if(e.spec.components)for(let n in e.spec.components.schemas){let r=e.spec.components.schemas[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Pi({name:n,plugin:t,schema:r})}),a=Mi({context:e,plugin:t,schema:r}),o=I.const(i.placeholder).export(i.exported).assign(I(I.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Li=({context:e,plugin:t})=>{if(e.spec.components)for(let n in e.spec.components.schemas){let r=e.spec.components.schemas[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Pi({name:n,plugin:t,schema:r})}),a=Ni({context:e,plugin:t,schema:r}),o=I.const(i.placeholder).export(i.exported).assign(I(I.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Ri={config:{exportFromIndex:!1,nameBuilder:e=>`${e}Schema`,type:`json`},handler:({plugin:e})=>{if(`swagger`in e.context.spec){Fi({context:e.context,plugin:e});return}if(Ei(e.context.spec.openapi,`>=3.0.0 <3.1.0`)){Ii({context:e.context,plugin:e});return}if(Ei(e.context.spec.openapi,`>=3.1.0`)){Li({context:e.context,plugin:e});return}throw Error(`Unsupported OpenAPI specification`)},name:`@hey-api/schemas`},zi=`__registry`,Bi=({sdkName:e,symbol:t})=>{let n=`defaultKey`,r=`instances`;return I.class(t.placeholder).export(t.exported).generic(`T`).field(n,e=>e.private().readonly().assign(I.literal(`default`))).newline().field(r,e=>e.private().readonly().type(I.type(`Map`).generics(`string`,`T`)).assign(I.new(`Map`))).newline().method(`get`,t=>t.returns(`T`).param(`key`,e=>e.type(`string`).optional()).do(I.const(`instance`).assign(I(`this`).attr(`instances`).attr(`get`).call(I(`key`).coalesce(I(`this`).attr(n)))),I.if(I.not(`instance`)).do(I.throw(`Error`).message(I.template(`No SDK client found. Create one with "new `).add(e).add(`()" to fix this error.`))),I.return(`instance`))).newline().method(`set`,e=>e.returns(`void`).param(`value`,e=>e.type(`T`)).param(`key`,e=>e.type(`string`).optional()).do(I(`this`).attr(r).attr(`set`).call(I(`key`).coalesce(I(`this`).attr(n)),`value`)))},Vi=({plugin:e,symbol:t})=>{let n=e.getSymbol({category:`client`}),r=!!(e.config.client&&n),i=e.referenceSymbol({category:`external`,resource:`client.Client`});return I.class(t.placeholder).export(t.exported).field(`client`,e=>e.protected().type(i.placeholder)).newline().init(e=>e.param(`args`,e=>e.optional(r).type(I.type.object().prop(`client`,e=>e.optional(r).type(i.placeholder)))).do(I(`this`).attr(`client`).assign(I(`args`).attr(`client`).optional(r).$if(r,e=>e.coalesce(n.placeholder)))))},Hi=({plugin:e})=>{let t=w(e.context.config),n=t.name===`@hey-api/client-angular`,r=t.name===`@hey-api/client-nuxt`,i=new Map,a=new Set;e.forEach(`operation`,({operation:a})=>{let o=Ur({context:e.context,operation:a}),s=r?e.querySymbol({category:`type`,resource:`operation`,resourceId:a.id,role:`response`}):void 0,c=Lr({context:e.context,operation:a,plugin:e});for(let l of c.values())l.path.forEach((c,u)=>{let d=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:c,tool:`sdk`});i.has(d.meta.resourceId)||i.set(d.meta.resourceId,{className:d.meta.resourceId,classes:new Set,id:d.id,methods:new Set,nodes:[],root:!u});let f=l.path[u-1];if(f){let t=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:f,tool:`sdk`});if(t.meta?.resourceId!==d.meta?.resourceId){let e=i.get(t.meta.resourceId);e.classes.add(d.meta.resourceId),i.set(t.meta.resourceId,e)}}if(l.path.length!==u+1)return;let p=i.get(d.meta.resourceId);if(p.methods.has(l.methodName))return;let m=zr({isRequiredOptions:o,operation:a,plugin:e}),h=Vr({isRequiredOptions:o,opParameters:m,operation:a,plugin:e}),g=I.method(l.methodName,i=>i.$if(R(a),(e,t)=>e.doc(t)).public().static(!n&&!e.config.instance).$if(r,t=>t.generic(Sr,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(I.type.literal(`$fetch`))).generic(Cr,e=>e.$if(s,(e,t)=>e.extends(t.placeholder).default(t.placeholder))),e=>e.generic(`ThrowOnError`,e=>e.extends(`boolean`).default((`throwOnError`in t.config?t.config.throwOnError:!1)??!1))).params(...m.parameters).do(...h));p.nodes.length?p.nodes.push(I.newline(),g):p.nodes.push(g),p.methods.add(l.methodName),i.set(d.meta.resourceId,p)})},{order:`declarations`});let o=e.config.instance?e.registerSymbol({exported:!1,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:`HeyApiClient`,tool:`sdk`},name:`HeyApiClient`}):void 0,s=e.config.instance?e.registerSymbol({exported:!1,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:`HeyApiRegistry`,tool:`sdk`},name:`HeyApiRegistry`}):void 0,c=t=>{if(a.has(t.className))return;let r=t.className;if(a.add(r),t.classes.size)for(let n of t.classes){let r=i.get(n);c(r);let a=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:r.className,tool:`sdk`}),o=y({case:`camelCase`,value:a.meta.resourceId});if(t.methods.has(o)){let e=2,n=`${o}${e}`;for(;t.methods.has(n);)n=`${o}${e++}`;o=n}t.methods.add(o);let s=e.isSymbolRegistered(a.id)?I.field(o,t=>t.static(!e.config.instance).assign(e.config.instance?I.new(a.placeholder).args(I.object().prop(`client`,I(`this`).attr(`client`))):I(a.placeholder))):I.getter(o,t=>t.$if(!e.config.instance,e=>e.public().static()).do(I.return(e.config.instance?I.new(a.placeholder).args(I.object().prop(`client`,I(`this`).attr(`client`))):a.placeholder)));t.nodes.length?t.nodes.push(I.newline(),s):t.nodes.push(s)}if(o&&!e.gen.symbols.hasValue(o.id)){let t=Vi({plugin:e,symbol:o});e.setSymbolValue(o,t)}let l=e.registerSymbol({exported:!0,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:r,tool:`sdk`},name:r});if(t.root&&s){let n=e.getSymbol({category:`client`}),r=!e.config.client||!n,i=e.referenceSymbol({category:`external`,resource:`client.Client`}),a=I.init(e=>e.param(`args`,e=>e.required(r).type(I.type.object().prop(`client`,e=>e.required(r).type(i.placeholder)).prop(`key`,e=>e.optional().type(`string`)))).do(I(`super`).call(`args`),I(l.placeholder).attr(zi).attr(`set`).call(`this`,I(`args`).attr(`key`).required(r))));t.nodes.length?t.nodes.unshift(a,I.newline()):t.nodes.unshift(a);let o=Bi({plugin:e,sdkName:l.placeholder,symbol:s});e.setSymbolValue(s,o);let c=I.field(zi,e=>e.public().static().readonly().assign(I.new(s.placeholder).generic(l.placeholder)));t.nodes.unshift(c,I.newline())}let u=I.class(l.placeholder).export(l.exported).extends(o?.placeholder).$if(t.root&&n,t=>t.decorator(e.referenceSymbol({category:`external`,resource:`@angular/core.Injectable`}).placeholder,I.object().prop(`providedIn`,I.literal(`root`)))).do(...t.nodes);e.setSymbolValue(l,u)};for(let e of i.values())c(e)},Ui=({id:e,operation:t,plugin:n})=>n.config.methodNameBuilder?n.config.methodNameBuilder(t):e.match(ln)?`${e}_`:e,Wi=({plugin:e})=>{let t=w(e.context.config),n=t.name===`@hey-api/client-nuxt`;e.forEach(`operation`,r=>{let{operation:i}=r,a=Ur({context:e.context,operation:i}),o=n?e.querySymbol({category:`type`,resource:`operation`,resourceId:i.id,role:`response`}):void 0,s=zr({isRequiredOptions:a,operation:i,plugin:e}),c=Vr({isRequiredOptions:a,opParameters:s,operation:i,plugin:e}),l=e.registerSymbol({exported:!0,meta:{category:`sdk`,path:r._path,resource:`operation`,resourceId:i.id,tags:r.tags,tool:`sdk`},name:Ui({id:i.id,operation:i,plugin:e})}),u=I.const(l.placeholder).export(l.exported).$if(R(i),(e,t)=>e.doc(t)).assign(I.func().params(...s.parameters).$if(n,t=>t.generic(Sr,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(I.type.literal(`$fetch`))).generic(Cr,e=>e.$if(o,(e,t)=>e.extends(t.placeholder).default(t.placeholder),e=>e.default(`undefined`))),e=>e.generic(`ThrowOnError`,e=>e.extends(`boolean`).default((`throwOnError`in t.config?t.config.throwOnError:!1)??!1))).do(...c));e.setSymbolValue(l,u)},{order:`declarations`})},Gi=({plugin:e})=>{let t=ci(e.context.config),n=w(e.context.config),r=n.name===`@hey-api/client-nuxt`,i=e.registerSymbol({external:t,kind:`type`,name:`TDataShape`}),a=e.registerSymbol({external:t,kind:`type`,meta:{category:`external`,resource:`client.Client`,tool:n.name},name:`Client`}),o=e.registerSymbol({external:t,kind:`type`,name:`Options`}),s=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`client-options`,tool:`sdk`},name:`Options`}),c=I.type.alias(s.placeholder).export(s.exported).$if(r,t=>t.generic(`TComposable`,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(I.type.literal(`$fetch`))).generic(`TData`,e=>e.extends(i.placeholder).default(i.placeholder)).generic(wr,e=>e.default(`unknown`)).generic(Cr,e=>e.default(`undefined`)),e=>e.generic(`TData`,e=>e.extends(i.placeholder).default(i.placeholder)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(`boolean`))).type(I.type.and(I.type(o.placeholder).$if(r,e=>e.generic(`TComposable`).generic(`TData`).generic(wr).generic(Cr),e=>e.generic(`TData`).generic(`ThrowOnError`)),I.type.object().prop(`client`,t=>t.doc(["You can provide a client instance returned by `createClient()` instead of",`individual options. This might be also useful if you want to implement a`,`custom client.`]).required(!e.config.client&&!e.config.instance).type(a.placeholder)).prop(`meta`,e=>e.doc(["You can pass arbitrary values through the `meta` object. This can be",`used to access values that aren't defined as part of the SDK function.`]).optional().type(I.type(`Record`).generics(`string`,`unknown`)))));e.setSymbolValue(s,c)},Ki=({plugin:e})=>{let t=ci(e.context.config),n=w(e.context.config),r=n.name===`@hey-api/client-angular`,i=n.name===`@hey-api/client-nuxt`;e.registerSymbol({external:t,meta:{category:`external`,resource:`client.formDataBodySerializer`,tool:n.name},name:`formDataBodySerializer`}),e.registerSymbol({external:t,meta:{category:`external`,resource:`client.urlSearchParamsBodySerializer`,tool:n.name},name:`urlSearchParamsBodySerializer`}),e.registerSymbol({external:t,meta:{category:`external`,resource:`client.buildClientParams`,tool:n.name},name:`buildClientParams`}),i&&e.registerSymbol({external:t,kind:`type`,meta:{category:`external`,resource:`client.Composable`,tool:n.name},name:`Composable`}),r&&e.config.asClass&&e.registerSymbol({external:`@angular/core`,meta:{category:`external`,resource:`@angular/core.Injectable`},name:`Injectable`}),Gi({plugin:e}),e.config.asClass?Hi({plugin:e}):Wi({plugin:e})},qi={config:{asClass:!1,auth:!0,classNameBuilder:`{{name}}`,classStructure:`auto`,client:!0,exportFromIndex:!0,instance:!1,operationId:!0,paramsStructure:`grouped`,response:`body`,responseStyle:`fields`,transformer:!1,validator:!1},dependencies:[`@hey-api/typescript`],handler:e=>Ki(e),name:`@hey-api/sdk`,resolveConfig:(e,t)=>{e.config.client?(typeof e.config.client==`boolean`&&(e.config.client=t.pluginByTag(`client`,{defaultPlugin:`@hey-api/client-fetch`})),e.dependencies.add(e.config.client)):e.config.client=!1,e.config.transformer?(typeof e.config.transformer==`boolean`&&(e.config.transformer=t.pluginByTag(`transformer`)),e.dependencies.add(e.config.transformer)):e.config.transformer=!1,typeof e.config.validator!=`object`&&(e.config.validator={request:e.config.validator,response:e.config.validator}),e.config.validator.request?(typeof e.config.validator.request==`boolean`&&(e.config.validator.request=t.pluginByTag(`validator`)),e.dependencies.add(e.config.validator.request)):e.config.validator.request=!1,e.config.validator.response?(typeof e.config.validator.response==`boolean`&&(e.config.validator.response=t.pluginByTag(`validator`)),e.dependencies.add(e.config.validator.response)):e.config.validator.response=!1,e.config.instance?(typeof e.config.instance!=`string`&&(e.config.instance=`Sdk`),e.config.asClass=!0):e.config.instance=!1,e.config.classNameBuilder===`{{name}}`&&e.config.client===`@hey-api/client-angular`&&(e.config.classNameBuilder=`{{name}}Service`)}},Ji=({dataExpression:e,schema:t})=>{if(t.type!==`integer`||t.format!==`int64`)return;let n=e===void 0?void 0:I(`BigInt`).call(I.expr(e).attr(`toString`).call());if(n){if(typeof e==`string`)return[n];if(e)return[I.expr(e).assign(n)]}},Yi=({dataExpression:e,schema:t})=>{if(!(t.type!==`string`||!(t.format===`date`||t.format===`date-time`))){if(typeof e==`string`)return[I.new(`Date`).arg(e)];if(e)return[I.expr(e).assign(I.new(`Date`).arg(e))]}},Xi=`data`,Zi=new Set,Qi=e=>e.map(e=>I.stmt(e).$render()),$i=({node:e})=>(e instanceof D&&(e=e.$render()),e.kind===l.SyntaxKind.ReturnStatement),ea=({plugin:e,schema:t})=>{let n=ta({dataExpression:I(Xi),plugin:e,schema:t});if(n.length&&t.logicalOperator!==`and`&&(t.items??[]).some(e=>e.type===`null`||e.type===`void`))n=[I.if(Xi).do(...Qi(n))];if(n.length){let e=n[n.length-1];$i({node:e})||n.push(I.return(Xi))}return n},ta=({dataExpression:e,plugin:t,schema:n})=>{if(n.$ref){let r={category:`transform`,resource:`definition`,resourceId:n.$ref},i=t.getSymbol(r);if(i||(i=t.registerSymbol({meta:r,name:b({config:{case:`camelCase`,name:`{{name}}SchemaResponseTransformer`},name:L(n.$ref)})}),t.setSymbolValue(i,null)),!t.gen.symbols.getValue(i.id)&&!Zi.has(i.id)){Zi.add(i.id);try{let e=ea({plugin:t,schema:t.context.resolveIrRef(n.$ref)});if(e.length){let n=I.const(i.placeholder).assign(I.func().param(Xi,e=>e.type(`any`)).do(...Qi(e)));t.setSymbolValue(i,n)}}finally{Zi.delete(i.id)}}if(t.gen.symbols.getValue(i.id)||Zi.has(i.id)){let n=I(t.referenceSymbol(r).placeholder).call(e);if(e)return typeof e==`string`&&e===`item`?[I.return(n)]:[typeof e==`string`?n:I(e).assign(n)]}return[]}if(n.type===`array`){if(!e||typeof e==`string`)return[];let r=n.items?ta({dataExpression:`item`,plugin:t,schema:n.items?.[0]?n.items[0]:{...n,type:void 0}}):[];if(!r.length)return[];let i=Qi(r);return i.some(e=>$i({node:e}))||i.push(I.return(`item`)),[I(e).assign(I(e).attr(`map`).call(I.func().param(`item`,e=>e.type(`any`)).do(...i)))]}if(n.type===`object`){let r=[],i=n.required??[];for(let a in n.properties){let o=n.properties[a],s=I(e||Xi).attr(a),c=ta({dataExpression:s,plugin:t,schema:o});if(!c.length)continue;let l=!o.items?.find(e=>e.type===`null`);i.includes(a)&&l?r=r.concat(c):r.push(I.if(s).do(...Qi(c)))}return r}if(n.items){if(n.items.length===1)return ta({dataExpression:`item`,plugin:t,schema:n.items[0]});let r=[];if(n.logicalOperator===`and`||n.items.length===2&&n.items.find(e=>e.type===`null`||e.type===`void`)){for(let i of n.items){let n=ta({dataExpression:e||`item`,plugin:t,schema:i});n.length&&(e?r=r.concat(n):r.push(I.if(`item`).do(...Qi(n)),I.return(`item`)))}return r}n.type!==`enum`&&((n.items??[]).every(e=>[`boolean`,`integer`,`null`,`number`,`string`].includes(e.type))||console.warn(`❗️ Transformers warning: schema ${JSON.stringify(n)} is too complex and won't be currently processed. This will likely produce an incomplete transformer which is not what you want. Please open an issue if you'd like this improved https://github.com/hey-api/openapi-ts/issues`))}for(let r of t.config.transformers){let i=r({config:t.config,dataExpression:e,schema:n});if(i)return i}return[]},na={config:{bigInt:!0,dates:!0,exportFromIndex:!1,transformers:[],typeTransformers:[]},dependencies:[`@hey-api/typescript`],handler:({plugin:e})=>{e.forEach(`operation`,({operation:t})=>{let{response:n}=ft(t);if(!n)return;if(n.items&&n.items.length>1){e.context.config.logs.level===`debug`&&console.warn(`❗️ Transformers warning: route ${C(t)} has ${n.items.length} non-void success responses. This is currently not handled and we will not generate a response transformer. Please open an issue if you'd like this feature https://github.com/hey-api/openapi-ts/issues`);return}let r=e.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`response`});if(!r)return;let i=ea({plugin:e,schema:n});if(!i.length)return;let a=e.registerSymbol({exported:!0,meta:{category:`transform`,resource:`operation`,resourceId:t.id,role:`response`},name:b({config:{case:`camelCase`,name:`{{name}}ResponseTransformer`},name:t.id})}),o=I.const(a.placeholder).export(a.exported).assign(I.func().async().param(Xi,e=>e.type(`any`)).returns(I.type(`Promise`).generic(r.placeholder)).do(...Qi(i)));e.setSymbolValue(a,o)},{order:`declarations`})},name:`@hey-api/transformers`,resolveConfig:e=>{e.config.transformers||(e.config.transformers=[]),e.config.dates&&(e.config.transformers=[...e.config.transformers,Yi]),e.config.bigInt&&(e.config.transformers=[...e.config.transformers,Ji])},tags:[`transformer`]},ra=({server:e})=>{let t=mi(e.url);return t.protocol&&t.host?I.type.literal(e.url):I.type.template().add(t.protocol||I.type(`string`)).add(`://`).add(t.host||I.type(`string`)).add(t.port?`:${t.port}`:``).add(t.path||``)},ia=({plugin:e,servers:t,symbolClientOptions:n})=>{let r=w(e.context.config),i=t.map(e=>ra({server:e}));t.length?`strictBaseUrl`in r.config&&r.config.strictBaseUrl||i.push(I.type.and(I.type(`string`),I.type.object())):i.push(I.type(`string`));let a=I.type.alias(n.placeholder).export(n.exported).type(I.type.object().prop(mt(e.context.config),e=>e.type(I.type.or(...i))));e.setSymbolValue(n,a)},z=e=>{let t=[];return e.title&&t.push(Hr(e.title)),e.description&&(t.length&&t.push(``),t.push(Hr(e.description))),e.deprecated&&(t.length&&t.push(``),t.push(`@deprecated`)),t.length?t:void 0},aa=({plugin:e,schema:t})=>{let n=[];return{obj:(t.items??[]).map((t,r)=>{let i=typeof t.const;n.includes(i)||n.push(i);let a;return a=t.title?t.title:i===`number`||i===`string`?`${t.const}`:i===`boolean`?t.const?`true`:`false`:t.const===null?`null`:`${r}`,a&&(a=y({case:e.config.enums.case,stripLeadingSeparators:!1,value:a}),on.lastIndex=0,on.test(a)&&e.config.enums.enabled&&(e.config.enums.mode===`typescript`||e.config.enums.mode===`typescript-const`)&&(a=`_${a}`)),{key:a,schema:t}}),typeofItems:n}},oa=({plugin:e,schema:t,symbol:n,type:r})=>{if(t.type===`enum`&&e.config.enums.enabled){let r=aa({plugin:e,schema:t});if(e.config.enums.mode===`javascript`){e.config.enums.constantsIgnoreNull&&r.typeofItems.includes(`object`)&&(r.obj=r.obj.filter(e=>e.schema.const!==null));let i=I.const(n.placeholder).export().$if(z(t),(e,t)=>e.doc(t)).assign(I.object(...r.obj.map(e=>I.prop({kind:`prop`,name:e.key}).$if(z(e.schema),(e,t)=>e.doc(t)).value(I.fromValue(e.schema.const)))).as(`const`)),a=I.type.alias(n.placeholder).export().$if(z(t),(e,t)=>e.doc(t)).type(I.type(n.placeholder).idx(I.type(n.placeholder).typeof().keyof()).typeof());e.setSymbolValue(n,[i,a]);return}else if((e.config.enums.mode===`typescript`||e.config.enums.mode===`typescript-const`)&&!r.typeofItems.some(e=>e!==`number`&&e!==`string`)){let i=I.enum(n.placeholder).export().$if(z(t),(e,t)=>e.doc(t)).const(e.config.enums.mode===`typescript-const`).members(...r.obj.map(e=>I.member(e.key).$if(z(e.schema),(e,t)=>e.doc(t)).value(I.fromValue(e.schema.const))));e.setSymbolValue(n,i);return}}let i=I.type.alias(n.placeholder).export(n.exported).$if(z(t),(e,t)=>e.doc(t)).type(r);e.setSymbolValue(n,i)},sa=({parameters:e})=>{let t={type:`object`};if(e){let n={},r=[];for(let t in e){let i=e[t];n[i.name]=x({detectFormat:!1,schema:i.schema}),i.required&&r.push(i.name)}t.properties=n,r.length&&(t.required=r)}return t},ca=({operation:e,plugin:t,state:n})=>{let r={type:`object`},i=[];r.properties||={},e.body?(r.properties.body=e.body.schema,e.body.required&&i.push(`body`)):r.properties.body={type:`never`},e.parameters?.header&&(r.properties.headers=sa({parameters:e.parameters.header}),r.properties.headers.required&&i.push(`headers`)),e.parameters?.path?(r.properties.path=sa({parameters:e.parameters.path}),r.properties.path.required&&i.push(`path`)):r.properties.path={type:`never`},e.parameters?.query?(r.properties.query=sa({parameters:e.parameters.query}),r.properties.query.required&&i.push(`query`)):r.properties.query={type:`never`},r.properties.url={const:e.path,type:`string`},i.push(`url`),r.required=i;let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:b({config:t.config.requests,name:e.id})}),o=I.type.alias(a.placeholder).export(a.exported).type(B({plugin:t,schema:r,state:n}));t.setSymbolValue(a,o)},la=({operation:e,plugin:t,state:n})=>{ca({operation:e,plugin:t,state:n});let{error:r,errors:i,response:a,responses:o}=ft(e);if(i){let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`errors`,tags:n.tags?.value,tool:`typescript`},name:b({config:t.config.errors,name:e.id})}),o=I.type.alias(a.placeholder).export(a.exported).type(B({plugin:t,schema:i,state:n}));if(t.setSymbolValue(a,o),r){let r=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`error`,tags:n.tags?.value,tool:`typescript`},name:b({config:{case:t.config.errors.case,name:t.config.errors.error},name:e.id})}),i=I.type.alias(r.placeholder).export(r.exported).type(I.type(a.placeholder).idx(I.type(a.placeholder).keyof()));t.setSymbolValue(r,i)}}if(o){let r=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`responses`,tags:n.tags?.value,tool:`typescript`},name:b({config:t.config.responses,name:e.id})}),i=I.type.alias(r.placeholder).export(r.exported).type(B({plugin:t,schema:o,state:n}));if(t.setSymbolValue(r,i),a){let i=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`response`,tags:n.tags?.value,tool:`typescript`},name:b({config:{case:t.config.responses.case,name:t.config.responses.response},name:e.id})}),a=I.type.alias(i.placeholder).export(i.exported).type(I.type(r.placeholder).idx(I.type(r.placeholder).keyof()));t.setSymbolValue(i,a)}}},ua=({operation:e,plugin:t,state:n})=>{let r={type:`object`},i=[];if(r.properties||={},e.body){let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`webhook`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:b({config:{case:t.config.webhooks.case,name:t.config.webhooks.payload},name:e.id})}),o=I.type.alias(a.placeholder).export(a.exported).$if(z(e.body.schema),(e,t)=>e.doc(t)).type(B({plugin:t,schema:e.body.schema,state:n}));t.setSymbolValue(a,o),t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:a.placeholder,tags:n.tags?.value,tool:`typescript`},name:a.name,placeholder:a.placeholder}),r.properties.body={$ref:a.placeholder},i.push(`body`)}else r.properties.body={type:`never`};r.properties.key={const:e.path,type:`string`},i.push(`key`),r.properties.path={type:`never`},r.properties.query={type:`never`},r.required=i;let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`webhook`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:b({config:t.config.webhooks,name:e.id})}),o=I.type.alias(a.placeholder).export(a.exported).type(B({plugin:t,schema:r,state:n}));return t.setSymbolValue(a,o),a.placeholder},da=({operation:e,plugin:t,state:n})=>ua({operation:e,plugin:t,state:n}),fa=({plugin:e,symbolWebhooks:t,webhookNames:n})=>{if(!n.length)return;let r=I.type.alias(t.placeholder).export(t.exported).type(I.type.or(...n));e.setSymbolValue(t,r)},pa=({plugin:e,schema:t,state:n})=>{if(!t.items)return I.type(`Array`).generic(I.type(e.config.topType));t=x({detectFormat:!0,schema:t});let r=[];return t.items&&t.items.forEach((t,i)=>{let a=B({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});r.push(a)}),r.length===1?I.type(`Array`).generic(r[0]):t.logicalOperator===`and`?I.type(`Array`).generic(I.type.and(...r)):I.type(`Array`).generic(I.type.or(...r))},ma=({schema:e})=>e.const===void 0?I.type(`boolean`):I.type.literal(e.const),ha=({plugin:e,schema:t,state:n})=>B({plugin:e,schema:{...t,type:void 0},state:n}),ga=e=>I.type(`never`),_a=e=>I.type.literal(null),va=({plugin:e,schema:t})=>t.const===void 0?t.type===`integer`&&t.format===`int64`&&e.getPlugin(`@hey-api/transformers`)?.config.bigInt?I.type(`bigint`):I.type(`number`):I.type.literal(t.const),ya=({plugin:e,schema:t,state:n})=>{let r=I.type.object(),i=t.required??[],a=[],o=!1;for(let s in t.properties){let c=t.properties[s],l=B({plugin:e,schema:c,state:{...n,path:T([...n.path.value,`properties`,s])}}),u=i.includes(s);r.prop(s,e=>e.$if(z(c),(e,t)=>e.doc(t)).readonly(c.accessScope===`read`).required(u).type(l)),a.push(c),u||(o=!0)}if(t.patternProperties)for(let e in t.patternProperties){let n=t.patternProperties[e];a.unshift(n)}let s=!!t.patternProperties&&Object.keys(t.patternProperties).length>0,c=t.additionalProperties,l=c!==!1&&c?c:void 0;if(s||l&&(l.type!==`never`||!a.length)){let i=l;i&&i.type!==`never`?a.unshift(i):!s&&!a.length&&i&&i.type===`never`&&(a=[i]),o&&a.push({type:`undefined`});let c=a.length===1?B({plugin:e,schema:a[0],state:n}):B({plugin:e,schema:{items:a,logicalOperator:`or`},state:n});if(t.propertyNames?.$ref)return I.type.mapped(`key`).key(B({plugin:e,schema:{$ref:t.propertyNames.$ref},state:n})).optional().type(c);r.idxSig(`key`,e=>e.key(`string`).type(c))}return r},ba=({plugin:e,schema:t})=>{if(t.const!==void 0)return I.type.literal(t.const);if(t.format){if(t.format===`binary`)return I.type.or(I.type(`Blob`),I.type(`File`));if((t.format===`date-time`||t.format===`date`)&&e.getPlugin(`@hey-api/transformers`)?.config.dates)return I.type(`Date`);if(t.format===`typeid`&&typeof t.example==`string`){let n=String(t.example).split(`_`);n.pop();let r=n.join(`_`),i={category:`type`,resource:`type-id`,resourceId:r,tool:`typescript`};if(!e.getSymbol(i)){let t={category:`type`,resource:`type-id`,tool:`typescript`,variant:`container`};if(!e.getSymbol(t)){let n=e.registerSymbol({exported:!0,kind:`type`,meta:t,name:`TypeID`}),r=I.type.alias(n.placeholder).export(n.exported).generic(`T`,e=>e.extends(`string`)).type(I.type.template().add(I.type(`T`)).add(`_`).add(I.type(`string`)));e.setSymbolValue(n,r)}let n=e.referenceSymbol(t),a=e.registerSymbol({exported:!0,kind:`type`,meta:i,name:y({case:e.config.case,value:`${r}_id`})}),o=I.type.alias(a.placeholder).export(a.exported).type(I.type(n.placeholder).generic(I.type.literal(r)));e.setSymbolValue(a,o)}let a=e.referenceSymbol(i);return I.type(a.placeholder)}}return I.type(`string`)},xa=({plugin:e,schema:t,state:n})=>{let r=[];return t.const&&Array.isArray(t.const)?r=t.const.map(e=>I.type.fromValue(e)):t.items&&t.items.forEach((t,i)=>{let a=B({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});r.push(a)}),I.type.tuple(...r)},Sa=e=>I.type(`undefined`),Ca=({plugin:e})=>I.type(e.config.topType),wa=e=>I.type(`void`),Ta=({schema:e,...t})=>{let n=t.plugin.getPlugin(`@hey-api/transformers`);if(n?.config.typeTransformers)for(let t of n.config.typeTransformers){let n=t({schema:e});if(n)return n}switch(e.type){case`array`:return pa({...t,schema:e});case`boolean`:return ma({...t,schema:e});case`enum`:return ha({...t,schema:e});case`integer`:case`number`:return va({...t,schema:e});case`never`:return ga({...t,schema:e});case`null`:return _a({...t,schema:e});case`object`:return ya({...t,schema:e});case`string`:return ba({...t,schema:e});case`tuple`:return xa({...t,schema:e});case`undefined`:return Sa({...t,schema:e});case`unknown`:return Ca({...t,schema:e});case`void`:return wa({...t,schema:e})}},B=({plugin:e,schema:t,state:n})=>{if(t.$ref){let n=e.referenceSymbol({category:`type`,resource:`definition`,resourceId:t.$ref});return I.type(n.placeholder)}if(t.type)return Ta({plugin:e,schema:t,state:n});if(t.items){if(t=x({detectFormat:!1,schema:t}),t.items){let r=t.items.map(t=>B({plugin:e,schema:t,state:n}));return t.logicalOperator===`and`?I.type.and(...r):I.type.or(...r)}return B({plugin:e,schema:t,state:n})}return Ta({plugin:e,schema:{type:`unknown`},state:n})},Ea=({plugin:e,schema:t,state:n})=>{let r=B({plugin:e,schema:t,state:n}),i=t.type===`enum`&&e.config.enums.enabled,a=Ar(n.path.value);oa({plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,kind:i?void 0:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:a,tags:n.tags?.value,tool:`typescript`},name:b({config:e.config.definitions,name:L(a)})}),type:r})},Da=({plugin:e})=>{let t=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`client`,role:`options`,tool:`typescript`},name:b({config:{case:e.config.case},name:`ClientOptions`})}),n=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`webhook`,tool:`typescript`,variant:`container`},name:b({config:{case:e.config.case},name:`Webhooks`})}),r=[],i=[];e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`server`,`webhook`,t=>{let n=E({path:t._path,tags:t.tags});switch(t.type){case`operation`:la({operation:t.operation,plugin:e,state:n});break;case`parameter`:Ea({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Ea({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Ea({plugin:e,schema:t.schema,state:n});break;case`server`:r.push(t.server);break;case`webhook`:i.push(da({operation:t.operation,plugin:e,state:n}));break}},{order:`declarations`}),ia({plugin:e,servers:r,symbolClientOptions:t}),fa({plugin:e,symbolWebhooks:n,webhookNames:i})},Oa={api:new class{schemaToType(e){return B(e)}},config:{case:`PascalCase`,exportFromIndex:!0,topType:`unknown`},handler:e=>Da(e),name:`@hey-api/typescript`,resolveConfig:(e,t)=>{e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.definitions}),e.config.enums=t.valueToObject({defaultValue:{case:`SCREAMING_SNAKE_CASE`,constantsIgnoreNull:!1,enabled:!!e.config.enums,mode:`javascript`},mappers:{boolean:e=>({enabled:e}),string:e=>({mode:e})},value:e.config.enums}),e.config.errors=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,error:`{{name}}Error`,name:`{{name}}Errors`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.errors}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}Data`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}Responses`,response:`{{name}}Response`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}WebhookRequest`,payload:`{{name}}WebhookPayload`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.webhooks})}},ka=(e,t,n)=>{let r=e.config[n].meta;if(!r)return;let i=r(t);if(Object.keys(i).length)return I.fromValue(i)},Aa=({operation:e,plugin:t})=>Rr({operation:e,plugin:t.getPluginOrThrow(`@hey-api/sdk`)}),ja=({operation:e,plugin:t})=>{let n=w(t.context.config),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`error`})?.placeholder;return r||=`Error`,n.name===`@hey-api/client-axios`&&(r=`${t.referenceSymbol({category:`external`,resource:`axios.AxiosError`}).placeholder}<${r}>`),r},Ma=({operation:e,plugin:t})=>t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`,Na=({plugin:e,typeData:t})=>{let n=w(e.context.config).name===`@hey-api/client-nuxt`;return{isNuxtClient:n,strippedTypeData:n?`Omit<${t}, 'composable'>`:t}},Pa=({operation:e,plugin:t,queryFn:n})=>{let r=t.referenceSymbol({category:`external`,resource:`${t.name}.UseMutationOptions`}),i=Aa({operation:e,plugin:t}),a=ja({operation:e,plugin:t}),o=Ma({operation:e,plugin:t}),{isNuxtClient:s,strippedTypeData:c}=Na({plugin:t,typeData:i}),l=s?`${r.placeholder}<${o}, ${c}, ${a}>`:`${r.placeholder}<${o}, ${i}, ${a}>`,u=`fnOptions`,d=I(n).call(I.object().pretty().spread(`options`).spread(u).prop(`throwOnError`,I.literal(!0))).await(),f=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?f.push(I.return(d)):f.push(I.const().object(`data`).assign(d),I.return(`data`));let p=I.object().pretty().prop(`mutation`,I.func().async().param(u,e=>e.$if(s,e=>e.type(`Partial<${c}>`))).do(...f)).$if(ka(t,e,`mutationOptions`),(e,t)=>e.prop(`meta`,t)),m=t.registerSymbol({exported:!0,name:b({config:t.config.mutationOptions,name:e.id})}),h=I.const(m.placeholder).export(m.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(`options`,e=>e.optional().type(`Partial<${c}>`)).returns(l).do(I.return(p)));t.setSymbolValue(m,h)},Fa=`TOptions`,Ia=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createQueryKey`,tool:e.name},name:b({config:{case:e.config.case},name:`createQueryKey`})}),n=e.referenceSymbol({category:`type`,resource:`QueryKey`,tool:e.name}),r=e.referenceSymbol({category:`external`,resource:`${e.name}._JSONValue`}),i=I.type(n.placeholder).generic(Fa).idx(0),a=mt(e.context.config),o=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),s=e.getSymbol({category:`client`}),c=ci(e.context.config),l=e.registerSymbol({external:c,meta:{category:`external`,resource:`${c}.serializeQueryKeyValue`},name:`serializeQueryKeyValue`}),u=I.const(t.placeholder).assign(I.func().param(`id`,e=>e.type(`string`)).param(`options`,e=>e.optional().type(Fa)).param(`tags`,e=>e.optional().type(`ReadonlyArray`)).returns(I.type.tuple(i)).generic(Fa,e=>e.extends(o.placeholder)).do(I.const(`params`).type(i).assign(I.object().prop(`_id`,`id`).prop(a,`options?.${a} || (options?.client ?? ${s?.placeholder}).getConfig().${a}`).as(i)),I.if(`tags`).do(I(`params`).attr(`tags`).assign(I(`tags`).as(`unknown`).as(r.placeholder))),I.if(I(`options`).attr(`body`).optional().neq(I.id(`undefined`))).do(I.const(`normalizedBody`).assign(I(l.placeholder).call(I(`options`).attr(`body`))),I.if(I(`normalizedBody`).neq(I.id(`undefined`))).do(I(`params`).attr(`body`).assign(`normalizedBody`))),I.if(I(`options`).attr(`path`).optional()).do(I(`params`).attr(`path`).assign(I(`options`).attr(`path`))),I.if(I(`options`).attr(`query`).optional().neq(I.id(`undefined`))).do(I.const(`normalizedQuery`).assign(I(l.placeholder).call(I(`options`).attr(`query`))),I.if(I(`normalizedQuery`).neq(I.id(`undefined`))).do(I(`params`).attr(`query`).assign(`normalizedQuery`))),I.return(I.array(I(`params`)))));e.setSymbolValue(t,u)},La=({id:e,operation:t,plugin:n})=>{let r=n.config.queryKeys,i;return r.tags&&t.tags&&t.tags.length>0&&(i=I.array(...t.tags.map(e=>I.literal(e)))),I(n.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:n.name}).placeholder).call(I.literal(e),`options`,i)},Ra=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`${e.name}._JSONValue`}),n=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),r=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`QueryKey`,tool:e.name},name:`QueryKey`}),i=I.type.alias(r.placeholder).export(r.exported).generic(Fa,e=>e.extends(I.type(n.placeholder))).type(I.type.tuple(I.type.and(I.type(`Pick<${Fa}, 'path'>`),I.type.object().prop(`_id`,e=>e.type(`string`)).prop(mt(e.context.config),e=>e.optional().type(t.placeholder)).prop(`body`,e=>e.optional().type(t.placeholder)).prop(`query`,e=>e.optional().type(t.placeholder)).prop(`tags`,e=>e.optional().type(t.placeholder)))));e.setSymbolValue(r,i)},za=({operation:e,plugin:t,symbol:n})=>{let{strippedTypeData:r}=Na({plugin:t,typeData:Aa({operation:e,plugin:t})});return I.const(n.placeholder).export(n.exported).assign(I.func().param(`options`,t=>t.required(lt(e)).type(r)).do(La({id:e.id,operation:e,plugin:t}).return()))},Ba=`options`,Va=`context`,Ha=({operation:e,plugin:t,queryFn:n})=>{if(Wr({operation:e}))return;let r=Ur({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(Ra({plugin:t}),Ia({plugin:t}));let i;if(t.config.queryKeys.enabled){let n=t.registerSymbol({exported:!0,name:b({config:t.config.queryKeys,name:e.id})}),r=za({operation:e,plugin:t,symbol:n});t.setSymbolValue(n,r),i=I(n.placeholder).call(Ba)}else{let n=t.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name}),r;t.config.queryKeys.tags&&e.tags&&e.tags.length>0&&(r=I.array(...e.tags.map(e=>I.literal(e)))),i=I(n.placeholder).call(I.literal(e.id),Ba,r)}let{strippedTypeData:a}=Na({plugin:t,typeData:Aa({operation:e,plugin:t})}),o=I(n).call(I.object().spread(Ba).spread(Va).prop(`throwOnError`,I.literal(!0))).await(),s=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?s.push(I.return(o)):s.push(I.const().object(`data`).assign(o),I.return(`data`));let c=I.object().pretty().prop(`key`,i).prop(`query`,I.func().async().param(Va).do(...s)).$if(ka(t,e,`queryOptions`),(e,t)=>e.prop(`meta`,t)),l=t.registerSymbol({exported:!0,meta:{category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name},name:b({config:t.config.queryOptions,name:e.id})}),u=t.referenceSymbol({category:`external`,resource:`${t.name}.defineQueryOptions`}),d=I.const(l.placeholder).export(l.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I(u.placeholder).call(I.func().param(Ba,e=>e.required(r).type(a)).do(I.return(c))));t.setSymbolValue(l,d)},Ua=({plugin:e})=>{e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.defineQueryOptions`},name:`defineQueryOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.UseMutationOptions`},name:`UseMutationOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.UseQueryOptions`},name:`UseQueryOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}._JSONValue`},name:`_JSONValue`}),e.registerSymbol({external:`axios`,kind:`type`,meta:{category:`external`,resource:`axios.AxiosError`},name:`AxiosError`});let t=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let r=t.config.asClass?Lr({context:e.context,operation:n,plugin:t}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...t.config.instance?[zi,`get()`]:[],...i.path.slice(1).map(e=>y({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:n.id}).placeholder,e.hooks.operation.isQuery(n)&&e.config.queryOptions.enabled&&Ha({operation:n,plugin:e,queryFn:a}),e.hooks.operation.isMutation(n)&&e.config.mutationOptions.enabled&&Pa({operation:n,plugin:e,queryFn:a})},{order:`declarations`})},Wa={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/typescript`,`@hey-api/sdk`],handler:e=>Ua(e),name:`@pinia/colada`,resolveConfig:(e,t)=>{e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Query`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},Ga=({operation:e,plugin:t})=>Rr({operation:e,plugin:t.getPluginOrThrow(`@hey-api/sdk`)}),Ka=({operation:e,plugin:t})=>{let n=w(t.context.config),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`error`})?.placeholder;return r||=t.referenceSymbol({category:`external`,resource:`${t.name}.DefaultError`}).placeholder,n.name===`@hey-api/client-axios`&&(r=`${t.referenceSymbol({category:`external`,resource:`axios.AxiosError`}).placeholder}<${r}>`),r},qa=({operation:e,plugin:t})=>t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`,Ja=`TOptions`,Ya=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createQueryKey`,tool:e.name},name:b({config:{case:e.config.case},name:`createQueryKey`})}),n=e.referenceSymbol({category:`type`,resource:`QueryKey`,tool:e.name}),r=mt(e.context.config),i=e.getSymbol({category:`client`}),a=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),o=I.type(n.placeholder).generic(Ja).idx(0),s=I.const(t.placeholder).assign(I.func().param(`id`,e=>e.type(`string`)).param(`options`,e=>e.optional().type(Ja)).param(`infinite`,e=>e.optional().type(`boolean`)).param(`tags`,e=>e.optional().type(`ReadonlyArray`)).generic(Ja,e=>e.extends(a.placeholder)).returns(I.type.tuple(o)).do(I.const(`params`).type(o).assign(I.object().prop(`_id`,`id`).prop(r,`options?.${r} || (options?.client ?? ${i?.placeholder}).getConfig().${r}`).as(o)),I.if(`infinite`).do(I(`params`).attr(`_infinite`).assign(`infinite`)),I.if(`tags`).do(I(`params`).attr(`tags`).assign(`tags`)),I.if(I(`options`).attr(`body`).optional()).do(I(`params`).attr(`body`).assign(I(`options`).attr(`body`))),I.if(I(`options`).attr(`headers`).optional()).do(I(`params`).attr(`headers`).assign(I(`options`).attr(`headers`))),I.if(I(`options`).attr(`path`).optional()).do(I(`params`).attr(`path`).assign(I(`options`).attr(`path`))),I.if(I(`options`).attr(`query`).optional()).do(I(`params`).attr(`query`).assign(I(`options`).attr(`query`))),I.return(I.array().element(I(`params`)))));e.setSymbolValue(t,s)},Xa=({id:e,isInfinite:t,operation:n,plugin:r})=>{let i=t?r.config.infiniteQueryKeys:r.config.queryKeys,a;return i.tags&&n.tags&&n.tags.length>0&&(a=I.array().elements(...n.tags)),I(r.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:r.name}).placeholder).call(I.literal(e),`options`,t||a?I.literal(!!t):void 0,a)},Za=({plugin:e})=>{let t=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),n=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`QueryKey`,tool:e.name},name:`QueryKey`}),r=I.type.alias(n.placeholder).export(n.exported).generic(Ja,e=>e.extends(t.placeholder)).type(I.type.tuple(I.type.and(I.type(`Pick<${Ja}, '${mt(e.context.config)}' | 'body' | 'headers' | 'path' | 'query'>`),I.type.object().prop(`_id`,e=>e.type(`string`)).prop(`_infinite`,e=>e.optional().type(`boolean`)).prop(`tags`,e=>e.optional().type(`ReadonlyArray`)))));e.setSymbolValue(n,r)},Qa=({isInfinite:e,operation:t,plugin:n,symbol:r,typeQueryKey:i})=>{let a=Ga({operation:t,plugin:n});return I.const(r.placeholder).export(r.exported).assign(I.func().param(`options`,e=>e.required(lt(t)).type(a)).$if(e&&i,(e,t)=>e.returns(t)).do(Xa({id:t.id,isInfinite:e,operation:t,plugin:n}).return()))},$a=(e,t,n)=>{let r=e.config[n].meta;if(!r)return;let i=r(t);if(Object.keys(i).length)return I.fromValue(i)},eo=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createInfiniteParams`,tool:e.name},name:b({config:{case:e.config.case},name:`createInfiniteParams`})}),n=I.const(t.placeholder).assign(I.func().generic(`K`,e=>e.extends(`Pick[0], 'body' | 'headers' | 'path' | 'query'>`)).param(`queryKey`,e=>e.type(`QueryKey`)).param(`page`,e=>e.type(`K`)).do(I.const(`params`).assign(I.object().spread(I(`queryKey`).attr(0))),I.if(I(`page`).attr(`body`)).do(I(`params`).attr(`body`).assign(I.object().pretty().spread(I(`queryKey`).attr(0).attr(`body`).as(`any`)).spread(I(`page`).attr(`body`).as(`any`)))),I.if(I(`page`).attr(`headers`)).do(I(`params`).attr(`headers`).assign(I.object().pretty().spread(I(`queryKey`).attr(0).attr(`headers`)).spread(I(`page`).attr(`headers`)))),I.if(I(`page`).attr(`path`)).do(I(`params`).attr(`path`).assign(I.object().pretty().spread(I(`queryKey`).attr(0).attr(`path`).as(`any`)).spread(I(`page`).attr(`path`).as(`any`)))),I.if(I(`page`).attr(`query`)).do(I(`params`).attr(`query`).assign(I.object().pretty().spread(I(`queryKey`).attr(0).attr(`query`).as(`any`)).spread(I(`page`).attr(`query`).as(`any`)))),I.return(I(`params`).as(`unknown`).as(I(`page`).typeofType()))));e.setSymbolValue(t,n)},to=({operation:e,plugin:t,queryFn:n})=>{let r=ut({context:t.context,operation:e});if(!r)return;let i=Ur({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(Za({plugin:t}),Ya({plugin:t})),t.getSymbol({category:`utility`,resource:`createInfiniteParams`,tool:t.name})||eo({plugin:t});let a=t.referenceSymbol({category:`external`,resource:`${t.name}.infiniteQueryOptions`}),o=t.referenceSymbol({category:`external`,resource:`${t.name}.InfiniteData`}),s=Ga({operation:e,plugin:t}),c=Ka({operation:e,plugin:t}),l=qa({operation:e,plugin:t}),u=`${t.referenceSymbol({category:`type`,resource:`QueryKey`,tool:t.name}).placeholder}<${s}>`,d=`Pick<${u}[0], 'body' | 'headers' | 'path' | 'query'>`,f=t.getPluginOrThrow(`@hey-api/typescript`),p=f.api.schemaToType({plugin:f,schema:r.schema,state:{path:{value:[]}}}),m=t.registerSymbol({exported:!0,name:b({config:t.config.infiniteQueryKeys,name:e.id})}),h=Qa({isInfinite:!0,operation:e,plugin:t,symbol:m,typeQueryKey:u});t.setSymbolValue(m,h);let g=I(n).call(I.object().spread(`options`).spread(`params`).prop(`signal`,I(`signal`)).prop(`throwOnError`,I.literal(!0))).await(),ee=t.referenceSymbol({category:`utility`,resource:`createInfiniteParams`,tool:t.name}),te=[I.const(`page`).type(d).hint(`@ts-ignore`).assign(I.ternary(I(`pageParam`).typeof().eq(I.literal(`object`))).do(`pageParam`).otherwise(I.object().pretty().prop(r.in,I.object().pretty().prop(r.name,I(`pageParam`))))),I.const(`params`).assign(I(ee.placeholder).call(`queryKey`,`page`))];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?te.push(I.return(g)):te.push(I.const().object(`data`).assign(g),I.return(`data`));let ne=t.registerSymbol({exported:!0,name:b({config:t.config.infiniteQueryOptions,name:e.id})}),re=I.const(ne.placeholder).export(ne.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(`options`,e=>e.required(i).type(s)).do(I.return(I(a.placeholder).call(I.object().pretty().hint(`@ts-ignore`).prop(`queryFn`,I.func().async().param(e=>e.object(`pageParam`,`queryKey`,`signal`)).do(...te)).prop(`queryKey`,I(m.placeholder).call(`options`)).$if($a(t,e,`infiniteQueryOptions`),(e,t)=>e.prop(`meta`,t))).generics(l,c||`unknown`,`${o.placeholder}<${l}>`,u,I.type.or(p,d)))));t.setSymbolValue(ne,re)},no=({operation:e,plugin:t,queryFn:n})=>{let r=t.referenceSymbol({category:`external`,resource:`${t.name}.MutationOptions`}),i=Ga({operation:e,plugin:t}),a=Ka({operation:e,plugin:t}),o=qa({operation:e,plugin:t}),s=`${r.placeholder}<${o}, ${a}, ${i}>`,c=`fnOptions`,l=I(n).call(I.object().spread(`options`).spread(c).prop(`throwOnError`,I.literal(!0))).await(),u=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?u.push(I.return(l)):u.push(I.const().object(`data`).assign(l),I.return(`data`));let d=`mutationOptions`,f=t.registerSymbol({exported:!0,name:b({config:t.config.mutationOptions,name:e.id})}),p=I.const(f.placeholder).export(f.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(`options`,e=>e.optional().type(`Partial<${i}>`)).returns(s).do(I.const(d).type(s).assign(I.object().pretty().prop(`mutationFn`,I.func().async().param(c).do(...u)).$if($a(t,e,`mutationOptions`),(e,t)=>e.prop(`meta`,t))),I(d).return()));t.setSymbolValue(f,p)},ro=`options`,io=({operation:e,plugin:t,queryFn:n})=>{if(Wr({operation:e}))return;let r=Ur({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(Za({plugin:t}),Ya({plugin:t}));let i=t.referenceSymbol({category:`external`,resource:`${t.name}.queryOptions`}),a=t.registerSymbol({exported:!0,name:b({config:t.config.queryKeys,name:e.id})}),o=Qa({isInfinite:!1,operation:e,plugin:t,symbol:a});t.setSymbolValue(a,o);let s=Ga({operation:e,plugin:t}),c=Ka({operation:e,plugin:t}),l=qa({operation:e,plugin:t}),u=I(n).call(I.object().spread(ro).spread(I(`queryKey`).attr(0)).prop(`signal`,I(`signal`)).prop(`throwOnError`,I.literal(!0))).await(),d=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?d.push(I.return(u)):d.push(I.const().object(`data`).assign(u),I.return(`data`));let f=I.object().pretty().prop(`queryFn`,I.func().async().param(e=>e.object(`queryKey`,`signal`)).do(...d)).prop(`queryKey`,I(a.placeholder).call(ro)).$if($a(t,e,`queryOptions`),(e,t)=>e.prop(`meta`,t)),p=t.registerSymbol({exported:t.config.queryOptions.exported,meta:{category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name},name:b({config:t.config.queryOptions,name:e.id})}),m=I.const(p.placeholder).export(p.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(ro,e=>e.required(r).type(s)).do(I(i.placeholder).call(f).generics(l,c,l,I(a.placeholder).returnType()).return()));t.setSymbolValue(p,m)},ao=`options`,oo=({operation:e,plugin:t})=>{if(Wr({operation:e})||!(`useQuery`in t.config))return;let n=t.registerSymbol({exported:!0,name:b({config:t.config.useQuery,name:e.id})}),r=t.referenceSymbol({category:`external`,resource:`${t.name}.useQuery`}),i=Ur({context:t.context,operation:e}),a=Ga({operation:e,plugin:t}),o=t.referenceSymbol({category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name}),s=I.const(n.placeholder).export(n.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().param(ao,e=>e.required(i).type(a)).do(I(r.placeholder).call(I(o.placeholder).call(ao)).return()));t.setSymbolValue(n,s)},so=({plugin:e})=>{e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.DefaultError`},name:`DefaultError`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.InfiniteData`},name:`InfiniteData`});let t=e.name===`@tanstack/angular-query-experimental`||e.name===`@tanstack/svelte-query`||e.name===`@tanstack/solid-query`?`MutationOptions`:`UseMutationOptions`;e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.MutationOptions`},name:t}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.infiniteQueryOptions`},name:`infiniteQueryOptions`}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.queryOptions`},name:`queryOptions`}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.useQuery`},name:`useQuery`}),e.registerSymbol({external:`axios`,kind:`type`,meta:{category:`external`,resource:`axios.AxiosError`},name:`AxiosError`});let n=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:t})=>{let r=n.config.asClass?Lr({context:e.context,operation:t,plugin:n}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...n.config.instance?[zi,`get()`]:[],...i.path.slice(1).map(e=>y({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:t.id}).placeholder,e.hooks.operation.isQuery(t)&&(e.config.queryOptions.enabled&&io({operation:t,plugin:e,queryFn:a}),e.config.infiniteQueryOptions.enabled&&to({operation:t,plugin:e,queryFn:a}),`useQuery`in e.config&&e.config.useQuery.enabled&&oo({operation:t,plugin:e})),e.hooks.operation.isMutation(t)&&e.config.mutationOptions.enabled&&no({operation:t,plugin:e,queryFn:a})},{order:`declarations`})},co=e=>so(e),lo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/angular-query-experimental`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},uo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/react-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions}),e.config.useQuery=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!1,name:`use{{name}}Query`},mappers:{boolean:e=>({enabled:e}),function:e=>({enabled:!0,name:e}),object:e=>({enabled:!0,...e}),string:e=>({enabled:!0,name:e})},value:e.config.useQuery}),e.config.useQuery.enabled&&(e.config.queryOptions.enabled||(e.config.queryOptions.enabled=!0,e.config.queryOptions.exported=!1))}},fo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/solid-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},po={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/svelte-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},mo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:co,name:`@tanstack/vue-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},ho=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`arktype`});if(!n)return;let r=`data`;return I.func().async().param(r).do(I(n.placeholder).attr(`parseAsync`).call(r).await().return())},go=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`arktype`});if(!n)return;let r=`data`;return I.func().async().param(r).do(I(n.placeholder).attr(`parseAsync`).call(r).await().return())};var _o=class{createRequestValidator(e){return ho(e)}createResponseValidator(e){return go(e)}};const V={keywords:{false:`false`,true:`true`},number:{Infinity:`Infinity`,NaN:`NaN`,NegativeInfinity:`NegativeInfinity`,epoch:`epoch`,integer:`integer`,safe:`safe`},primitives:{bigint:`bigint`,boolean:`boolean`,keywords:`keywords`,null:`null`,number:`number`,string:`string`,symbol:`symbol`,undefined:`undefined`,unit:`unit`},string:{NFC:`NFC`,NFD:`NFD`,NFKC:`NFKC`,NFKD:`NFKD`,alpha:`alpha`,alphanumeric:`alphanumeric`,base64:`base64`,capitalize:`capitalize`,creditCard:`creditCard`,date:`date`,digits:`digits`,email:`email`,epoch:`epoch`,hex:`hex`,integer:`integer`,ip:`ip`,iso:`iso`,json:`json`,lower:`lower`,normalize:`normalize`,numeric:`numeric`,parse:`parse`,preformatted:`preformatted`,regex:`regex`,semver:`semver`,trim:`trim`,upper:`upper`,url:`url`,uuid:`uuid`,v1:`v1`,v2:`v2`,v3:`v3`,v4:`v4`,v5:`v5`,v6:`v6`,v7:`v7`,v8:`v8`},type:{$:`$`,allows:`allows`,and:`and`,array:`array`,as:`as`,assert:`assert`,brand:`brand`,configure:`configure`,default:`default`,describe:`describe`,description:`description`,equals:`equals`,exclude:`exclude`,expression:`expression`,extends:`extends`,extract:`extract`,filter:`filter`,from:`from`,ifEquals:`ifEquals`,ifExtends:`ifExtends`,infer:`infer`,inferIn:`inferIn`,intersect:`intersect`,json:`json`,meta:`meta`,narrow:`narrow`,onDeepUndeclaredKey:`onDeepUndeclaredKey`,onUndeclaredKey:`onUndeclaredKey`,optional:`optional`,or:`or`,overlaps:`overlaps`,pipe:`pipe`,select:`select`,to:`to`,toJsonSchema:`toJsonSchema`}},vo=({ast:e,plugin:t,schema:n,symbol:r,typeInferSymbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`arktype.type`}),o=I.const(r.placeholder).export(r.exported).$if(t.config.comments&&z(n),(e,t)=>e.doc(t)).assign(I(a.placeholder).call(e.def?I.literal(e.def):e.expression));if(t.setSymbolValue(r,o),i){let e=I.type.alias(i.placeholder).export(i.exported).type(I.type(r.placeholder).attr(V.type.infer).typeofType());t.setSymbolValue(i,e)}},yo=e=>{let t={};return t.def=V.primitives.null,t},bo=({plugin:e,schema:t,state:n})=>{let r={},i=I.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=a.includes(o),l=Co({optional:!c,plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,o])}});l.hasLazyExpression&&(r.hasLazyExpression=!0),i.prop(c?o:`${o}?`,l.expression)}if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Co({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});return r.expression=I(`TODO`).attr(`record`).call(I(`TODO`).attr(`string`).call(),i.expression),i.hasLazyExpression&&(r.hasLazyExpression=!0),r.hasLazyExpression?{...r,typeName:`TODO`}:r}return r.expression=i,r.hasLazyExpression?{...r,typeName:`TODO`}:r},xo=({schema:e})=>{let t={};if(typeof e.const==`string`)return t.def=e.const,t;let n=V.primitives.string;if(e.format)switch(e.format){case`date`:case`date-time`:case`time`:n=`${n}.${V.string.date}.${V.string.iso}`;break;case`email`:n=`${n}.${V.string.email}`;break;case`ipv4`:n=`${n}.${V.string.ip}.${V.string.v4}`;break;case`ipv6`:n=`${n}.${V.string.ip}.${V.string.v6}`;break;case`uri`:n=`${n}.${V.string.url}`;break;case`uuid`:n=`${n}.${V.string.uuid}`;break}return e.minLength===e.maxLength&&e.minLength!==void 0?n=`${e.minLength} <= ${n} <= ${e.maxLength}`:e.maxLength===void 0?e.minLength!==void 0&&(n=`${n} >= ${e.minLength}`):(n=`${n} <= ${e.maxLength}`,e.minLength!==void 0&&(n=`${e.minLength} <= ${n}`)),e.pattern&&(n=`/${e.pattern}/`),t.def=n,t},So=({schema:e,...t})=>{switch(e.type){case`null`:return yo({...t,schema:e});case`object`:return bo({...t,schema:e});case`string`:return xo({...t,schema:e})}return{def:``,expression:I(t.plugin.referenceSymbol({category:`external`,resource:`arktype.type`}).placeholder).call(I.object().prop(`name`,I.literal(`string`)).prop(`platform`,I.literal(`'android' | 'ios'`)).prop(`versions?`,I.literal(`(number | string)[]`))),hasLazyExpression:!1}},Co=({plugin:e,schema:t,state:n})=>{let r={};if(t.$ref){let i={category:`schema`,resource:`definition`,resourceId:t.$ref,tool:`arktype`},a=e.referenceSymbol(i);e.isSymbolRegistered(i)?r.expression=I(a.placeholder):(r.expression=I(`TODO`).attr(`TODO`).call(I.func().returns(`any`).do(I.return(a.placeholder))),r.hasLazyExpression=!0,n.hasLazyExpression.value=!0)}else if(t.type){let i=So({plugin:e,schema:t,state:n});r.def=i.def,r.expression=i.expression,r.hasLazyExpression=i.hasLazyExpression,e.config.metadata&&t.description}else if(t.items)t=x({schema:t}),t.items||(r=Co({plugin:e,schema:t,state:n}));else{let t=So({plugin:e,schema:{type:`unknown`},state:n});r.def=t.def,r.expression=t.expression}return r.expression||=So({plugin:e,schema:{type:`unknown`},state:n}).expression,r},wo=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=Co({plugin:e,schema:t,state:n}),a=L(r);vo({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`arktype`},name:b({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tool:`arktype`,variant:`infer`},name:b({config:e.config.definitions.types.infer,name:a})}):void 0})},To=({plugin:e})=>{e.registerSymbol({external:`arktype`,meta:{category:`external`,resource:`arktype.type`},name:`type`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`parameter`:wo({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:wo({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:wo({plugin:e,schema:t.schema,state:n});break}})},Eo={api:new _o,config:{case:`PascalCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:e=>To(e),name:`arktype`,resolveConfig:(e,t)=>{e.config.types=t.valueToObject({defaultValue:{infer:{case:`PascalCase`,enabled:!1}},mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.config.types}),e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}Data`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}Data`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}Response`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}Response`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}WebhookRequest`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}WebhookRequest`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.webhooks})},tags:[`validator`]},Do=({operation:e,plugin:t})=>{let n=I.type.object(),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`data`,tool:`typescript`});r&&(e.body&&n.prop(`Body`,t=>t.required(e.body.required).type(I.type(r.placeholder).idx(I.type.literal(`body`)))),e.parameters&&(e.parameters.header&&n.prop(`Headers`,t=>t.required(ot(e.parameters.header)).type(I.type(r.placeholder).idx(I.type.literal(`headers`)))),e.parameters.path&&n.prop(`Params`,t=>t.required(ot(e.parameters.path)).type(I.type(r.placeholder).idx(I.type.literal(`path`)))),e.parameters.query&&n.prop(`Querystring`,t=>t.required(ot(e.parameters.query)).type(I.type(r.placeholder).idx(I.type.literal(`query`))))));let{errors:i,responses:a}=ft(e),o,s=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`errors`});if(s&&i&&i.properties){let e=Object.keys(i.properties);e.length&&(e.includes(`default`)?e.length>1&&(o=I.type(`Omit`,e=>e.generics(I.type(s.placeholder),I.type.literal(`default`)))):o=I.type(s.placeholder))}let c,l=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`responses`});if(l&&a&&a.properties){let e=Object.keys(a.properties);e.length&&(e.includes(`default`)?e.length>1&&(c=I.type(`Omit`,e=>e.generics(I.type(l.placeholder),I.type.literal(`default`)))):c=I.type(l.placeholder))}let u=[o,c].filter(e=>e!==void 0);if(u.length&&n.prop(`Reply`,e=>e.type(I.type.and(...u))),n.isEmpty)return;let d=t.referenceSymbol({category:`type`,resource:`route-handler`,tool:`fastify`});return{name:e.id,type:I.type(d.placeholder,e=>e.generic(n))}},Oo={config:{exportFromIndex:!1},dependencies:[`@hey-api/typescript`],handler:({plugin:e})=>{e.registerSymbol({external:`fastify`,kind:`type`,meta:{category:`type`,resource:`route-handler`,tool:`fastify`},name:`RouteHandler`});let t=e.registerSymbol({exported:!0,kind:`type`,name:`RouteHandlers`}),n=I.type.object();e.forEach(`operation`,({operation:t})=>{let r=Do({operation:t,plugin:e});r&&n.prop(r.name,e=>e.type(r.type))},{order:`declarations`});let r=I.type.alias(t.placeholder).export(t.exported).type(n);e.setSymbolValue(t,r)},name:`fastify`},ko=({operation:e,plugin:t,queryFn:n})=>{if(Wr({operation:e}))return;let r=t.referenceSymbol({category:`external`,resource:`swr`}),i=t.registerSymbol({exported:!0,name:b({config:t.config.useSwr,name:e.id})}),a=I(n).call(I.object().prop(`throwOnError`,I.literal(!0))).await(),o=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?o.push(I.return(a)):o.push(I.const().object(`data`).assign(a),I.return(`data`));let s=I.const(i.placeholder).export(i.exported).$if(t.config.comments&&R(e),(e,t)=>e.doc(t)).assign(I.func().do(I(r.placeholder).call(I.literal(e.path),I.func().async().do(...o)).return()));t.setSymbolValue(i,s)},Ao=({plugin:e})=>{e.registerSymbol({external:`swr`,importKind:`default`,kind:`function`,meta:{category:`external`,resource:`swr`},name:`useSWR`});let t=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let r=t.config.asClass?Lr({context:e.context,operation:n,plugin:t}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...t.config.instance?[zi,`get()`]:[],...i.path.slice(1).map(e=>y({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:n.id}).placeholder,e.hooks.operation.isQuery(n)&&e.config.useSwr.enabled&&ko({operation:n,plugin:e,queryFn:a})},{order:`declarations`})},jo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:e=>Ao(e),name:`swr`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions}),e.config.useSwr=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`use{{name}}`},mappers:{boolean:e=>({enabled:e}),function:e=>({enabled:!0,name:e}),object:e=>({enabled:!0,...e}),string:e=>({enabled:!0,name:e})},value:e.config.useSwr}),e.config.useSwr.enabled&&(e.config.queryOptions.enabled||(e.config.queryOptions.enabled=!0,e.config.queryOptions.exported=!1))}},H={actions:{args:`args`,base64:`base64`,bic:`bic`,brand:`brand`,bytes:`bytes`,check:`check`,checkItems:`checkItems`,creditCard:`creditCard`,cuid2:`cuid2`,decimal:`decimal`,description:`description`,digits:`digits`,email:`email`,emoji:`emoji`,empty:`empty`,endsWith:`endsWith`,entries:`entries`,everyItem:`everyItem`,excludes:`excludes`,filterItems:`filterItems`,findItem:`findItem`,finite:`finite`,flavor:`flavor`,graphemes:`graphemes`,gtValue:`gtValue`,hash:`hash`,hexColor:`hexColor`,hexadecimal:`hexadecimal`,imei:`imei`,includes:`includes`,integer:`integer`,ip:`ip`,ipv4:`ipv4`,ipv6:`ipv6`,isoDate:`isoDate`,isoDateTime:`isoDateTime`,isoTime:`isoTime`,isoTimeSecond:`isoTimeSecond`,isoTimestamp:`isoTimestamp`,isoWeek:`isoWeek`,length:`length`,ltValue:`ltValue`,mac:`mac`,mac48:`mac48`,mac64:`mac64`,mapItems:`mapItems`,maxBytes:`maxBytes`,maxEntries:`maxEntries`,maxGraphemes:`maxGraphemes`,maxLength:`maxLength`,maxSize:`maxSize`,maxValue:`maxValue`,maxWords:`maxWords`,metadata:`metadata`,mimeType:`mimeType`,minBytes:`minBytes`,minEntries:`minEntries`,minGraphemes:`minGraphemes`,minLength:`minLength`,minSize:`minSize`,minValue:`minValue`,minWords:`minWords`,multipleOf:`multipleOf`,nanoid:`nanoid`,nonEmpty:`nonEmpty`,normalize:`normalize`,notBytes:`notBytes`,notEntries:`notEntries`,notGraphemes:`notGraphemes`,notLength:`notLength`,notSize:`notSize`,notValue:`notValue`,notValues:`notValues`,notWords:`notWords`,octal:`octal`,parseJson:`parseJson`,partialCheck:`partialCheck`,rawCheck:`rawCheck`,rawTransform:`rawTransform`,readonly:`readonly`,reduceItems:`reduceItems`,regex:`regex`,returns:`returns`,rfcEmail:`rfcEmail`,safeInteger:`safeInteger`,size:`size`,slug:`slug`,someItem:`someItem`,sortItems:`sortItems`,startsWith:`startsWith`,stringifyJson:`stringifyJson`,title:`title`,toLowerCase:`toLowerCase`,toMaxValue:`toMaxValue`,toMinValue:`toMinValue`,toUpperCase:`toUpperCase`,transform:`transform`,trim:`trim`,trimEnd:`trimEnd`,trimStart:`trimStart`,ulid:`ulid`,url:`url`,uuid:`uuid`,value:`value`,values:`values`,words:`words`},async:{argsAsync:`argsAsync`,arrayAsync:`arrayAsync`,awaitAsync:`awaitAsync`,checkAsync:`checkAsync`,checkItemsAsync:`checkItemsAsync`,customAsync:`customAsync`,exactOptionalAsync:`exactOptionalAsync`,fallbackAsync:`fallbackAsync`,forwardAsync:`forwardAsync`,getDefaultsAsync:`getDefaultsAsync`,getFallbacksAsync:`getFallbacksAsync`,intersectAsync:`intersectAsync`,lazyAsync:`lazyAsync`,looseObjectAsync:`looseObjectAsync`,looseTupleAsync:`looseTupleAsync`,mapAsync:`mapAsync`,nonNullableAsync:`nonNullableAsync`,nonNullishAsync:`nonNullishAsync`,nonOptionalAsync:`nonOptionalAsync`,nullableAsync:`nullableAsync`,nullishAsync:`nullishAsync`,objectAsync:`objectAsync`,objectWithRestAsync:`objectWithRestAsync`,optionalAsync:`optionalAsync`,parseAsync:`parseAsync`,parserAsync:`parserAsync`,partialAsync:`partialAsync`,partialCheckAsync:`partialCheckAsync`,pipeAsync:`pipeAsync`,rawCheckAsync:`rawCheckAsync`,rawTransformAsync:`rawTransformAsync`,recordAsync:`recordAsync`,requiredAsync:`requiredAsync`,returnsAsync:`returnsAsync`,safeParseAsync:`safeParseAsync`,safeParserAsync:`safeParserAsync`,setAsync:`setAsync`,strictObjectAsync:`strictObjectAsync`,strictTupleAsync:`strictTupleAsync`,transformAsync:`transformAsync`,tupleAsync:`tupleAsync`,tupleWithRestAsync:`tupleWithRestAsync`,undefinedableAsync:`undefinedableAsync`,unionAsync:`unionAsync`,variantAsync:`variantAsync`},methods:{assert:`assert`,config:`config`,fallback:`fallback`,flatten:`flatten`,forward:`forward`,getDefault:`getDefault`,getDefaults:`getDefaults`,getDescription:`getDescription`,getFallback:`getFallback`,getFallbacks:`getFallbacks`,getMetadata:`getMetadata`,getTitle:`getTitle`,is:`is`,keyof:`keyof`,message:`message`,omit:`omit`,parse:`parse`,parser:`parser`,partial:`partial`,pick:`pick`,pipe:`pipe`,required:`required`,safeParse:`safeParse`,safeParser:`safeParser`,summarize:`summarize`,unwrap:`unwrap`},schemas:{any:`any`,array:`array`,bigInt:`bigint`,blob:`blob`,boolean:`boolean`,custom:`custom`,date:`date`,enum:`enum`,exactOptional:`exactOptional`,file:`file`,function:`function`,instance:`instance`,intersect:`intersect`,lazy:`lazy`,literal:`literal`,looseObject:`looseObject`,looseTuple:`looseTuple`,map:`map`,nan:`nan`,never:`never`,nonNullable:`nonNullable`,nonNullish:`nonNullish`,nonOptional:`nonOptional`,null:`null`,nullable:`nullable`,nullish:`nullish`,number:`number`,object:`object`,objectWithRest:`objectWithRest`,optional:`optional`,picklist:`picklist`,promise:`promise`,record:`record`,set:`set`,strictObject:`strictObject`,strictTuple:`strictTuple`,string:`string`,symbol:`symbol`,tuple:`tuple`,tupleWithRest:`tupleWithRest`,undefined:`undefined`,undefinedable:`undefinedable`,union:`union`,unknown:`unknown`,variant:`variant`,void:`void`},storages:{},types:{GenericSchema:`GenericSchema`},utils:{}},Mo=({schema:e,v:t})=>I(t.placeholder).attr(H.async.parseAsync).call(e.placeholder,`data`).await().return(),No=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`valibot`});if(!n)return;let r={$:I,operation:e,pipes:[],plugin:t,schema:n,v:t.referenceSymbol({category:`external`,resource:`valibot.v`})},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,Mo];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Po=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`valibot`});if(!n)return;let r={$:I,operation:e,pipes:[],plugin:t,schema:n,v:t.referenceSymbol({category:`external`,resource:`valibot.v`})},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,Mo];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}};var Fo=class{createRequestValidator(e){return No(e)}createResponseValidator(e){return Po(e)}};const U=({pipes:e,plugin:t})=>e.length===1?e[0]:I(t.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.methods.pipe).call(...e),Io=({ast:e,plugin:t,schema:n,state:r,symbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`valibot.v`}),o=I.const(i.placeholder).export(i.exported).$if(t.config.comments&&z(n),(e,t)=>e.doc(t)).$if(r.hasLazyExpression.value,t=>t.type(I.type(a.placeholder).attr(e.typeName||H.types.GenericSchema))).assign(U({pipes:e.pipes,plugin:t}));t.setSymbolValue(i,o)},Lo={int16:{max:32767,maxError:`Invalid value: Expected int16 to be <= 2^15-1`,min:-32768,minError:`Invalid value: Expected int16 to be >= -2^15`,needsBigInt:!1},int32:{max:2147483647,maxError:`Invalid value: Expected int32 to be <= 2^31-1`,min:-2147483648,minError:`Invalid value: Expected int32 to be >= -2^31`,needsBigInt:!1},int64:{max:`9223372036854775807`,maxError:`Invalid value: Expected int64 to be <= 2^63-1`,min:`-9223372036854775808`,minError:`Invalid value: Expected int64 to be >= -2^63`,needsBigInt:!0},int8:{max:127,maxError:`Invalid value: Expected int8 to be <= 2^7-1`,min:-128,minError:`Invalid value: Expected int8 to be >= -2^7`,needsBigInt:!1},uint16:{max:65535,maxError:`Invalid value: Expected uint16 to be <= 2^16-1`,min:0,minError:`Invalid value: Expected uint16 to be >= 0`,needsBigInt:!1},uint32:{max:4294967295,maxError:`Invalid value: Expected uint32 to be <= 2^32-1`,min:0,minError:`Invalid value: Expected uint32 to be >= 0`,needsBigInt:!1},uint64:{max:`18446744073709551615`,maxError:`Invalid value: Expected uint64 to be <= 2^64-1`,min:`0`,minError:`Invalid value: Expected uint64 to be >= 0`,needsBigInt:!0},uint8:{max:255,maxError:`Invalid value: Expected uint8 to be <= 2^8-1`,min:0,minError:`Invalid value: Expected uint8 to be >= 0`,needsBigInt:!1}},Ro=e=>e!==void 0&&e in Lo,zo=e=>Ro(e)&&Lo[e].needsBigInt,Bo=({isBigInt:e,value:t})=>{let n=I.fromValue(t);return e&&(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)?I(`BigInt`).call(n):n},Vo=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.requests.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],Io({ast:e(a,r.path.value),plugin:n,schema:a,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`valibot`},name:b({config:n.config.requests,name:t.id})})})}if(n.config.responses.enabled&&t.responses){let{response:i}=ft(t);if(i){let a=[...r.path.value,`responses`];Io({ast:e(i,a),plugin:n,schema:i,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`valibot`},name:b({config:n.config.responses,name:t.id})})})}}},Ho=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.webhooks.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],Io({ast:e(a,r.path.value),plugin:n,schema:a,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`valibot`},name:b({config:n.config.webhooks,name:t.id})})})}},Uo=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.unknown).call(),Wo=({plugin:e,schema:t,state:n})=>{let r={pipes:[]},i=e.referenceSymbol({category:`external`,resource:`valibot.v`}),a=I(i.placeholder).attr(H.schemas.array);if(t.items){t=x({schema:t});let i=t.items.map((t,i)=>{let a=is({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),U({pipes:a.pipes,plugin:e})});if(i.length===1){let e=a.call(...i);r.pipes.push(e)}else{t.logicalOperator;let i=a.call(Uo({plugin:e,schema:{type:`unknown`},state:n}));r.pipes.push(i)}}else{let t=a.call(Uo({plugin:e,schema:{type:`unknown`},state:n}));r.pipes.push(t)}if(t.minItems===t.maxItems&&t.minItems!==void 0){let e=I(i.placeholder).attr(H.actions.length).call(I.fromValue(t.minItems));r.pipes.push(e)}else{if(t.minItems!==void 0){let e=I(i.placeholder).attr(H.actions.minLength).call(I.fromValue(t.minItems));r.pipes.push(e)}if(t.maxItems!==void 0){let e=I(i.placeholder).attr(H.actions.maxLength).call(I.fromValue(t.maxItems));r.pipes.push(e)}}return r},Go=({plugin:e,schema:t})=>{let n=[],r=e.referenceSymbol({category:`external`,resource:`valibot.v`});return typeof t.const==`boolean`?(n.push(I(r.placeholder).attr(H.schemas.literal).call(I.literal(t.const))),U({pipes:n,plugin:e})):(n.push(I(r.placeholder).attr(H.schemas.boolean).call()),U({pipes:n,plugin:e}))},Ko=({plugin:e,schema:t,state:n})=>{let r=[],i=!1;for(let e of t.items??[])e.type===`string`&&typeof e.const==`string`?r.push(I.literal(e.const)):(e.type===`null`||e.const===null)&&(i=!0);if(!r.length)return Uo({plugin:e,schema:{type:`unknown`},state:n});let a=e.referenceSymbol({category:`external`,resource:`valibot.v`}),o=I(a.placeholder).attr(H.schemas.picklist).call(I.array(...r));return i&&(o=I(a.placeholder).attr(H.schemas.nullable).call(o)),o},qo=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.never).call(),Jo=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.null).call(),Yo=({plugin:e,schema:t})=>{let n=t.format,r=t.type===`integer`,i=zo(n),a=Ro(n)?Lo[n]:null,o=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(t.const!==void 0&&t.const!==null){let e=t.const,r;if(typeof e==`number`&&!n)r=I.literal(e);else if(typeof e==`number`&&n)r=i?I(`BigInt`).call(I.literal(e)):I.literal(e);else if(typeof e==`string`&&i){let t=e.endsWith(`n`)?e.slice(0,-1):e;r=I(`BigInt`).call(I.literal(t))}else if(typeof e==`bigint`){let t=e.toString(),n=t.endsWith(`n`)?t.slice(0,-1):t;r=I(`BigInt`).call(I.literal(n))}else r=I.fromValue(e);return I(o.placeholder).attr(H.schemas.literal).call(r)}let s=[];if(i){let e=I(o.placeholder).attr(H.schemas.union).call(I.array(I(o.placeholder).attr(H.schemas.number).call(),I(o.placeholder).attr(H.schemas.string).call(),I(o.placeholder).attr(H.schemas.bigInt).call()));s.push(e);let t=I(o.placeholder).attr(H.actions.transform).call(I.func().param(`x`).do(I(`BigInt`).call(`x`).return()));s.push(t)}else{let e=I(o.placeholder).attr(H.schemas.number).call();s.push(e)}if(!i&&r){let e=I(o.placeholder).attr(H.actions.integer).call();s.push(e)}if(a){let e=a.min,t=a.max,n=a.minError,r=a.maxError,c=I(o.placeholder).attr(H.actions.minValue).call(i?I(`BigInt`).call(I.literal(e)):I.literal(e),I.literal(n));s.push(c);let l=I(o.placeholder).attr(H.actions.maxValue).call(i?I(`BigInt`).call(I.literal(t)):I.literal(t),I.literal(r));s.push(l)}if(t.exclusiveMinimum!==void 0){let e=I(o.placeholder).attr(H.actions.gtValue).call(Bo({isBigInt:i,value:t.exclusiveMinimum}));s.push(e)}else if(t.minimum!==void 0){let e=I(o.placeholder).attr(H.actions.minValue).call(Bo({isBigInt:i,value:t.minimum}));s.push(e)}if(t.exclusiveMaximum!==void 0){let e=I(o.placeholder).attr(H.actions.ltValue).call(Bo({isBigInt:i,value:t.exclusiveMaximum}));s.push(e)}else if(t.maximum!==void 0){let e=I(o.placeholder).attr(H.actions.maxValue).call(Bo({isBigInt:i,value:t.maximum}));s.push(e)}return U({pipes:s,plugin:e})};function Xo({additional:e,pipes:t,plugin:n,shape:r}){let i=n.referenceSymbol({category:`external`,resource:`valibot.v`});return e===null?t.push(I(i.placeholder).attr(H.schemas.strictObject).call(r)):e?r.isEmpty?t.push(I(i.placeholder).attr(H.schemas.record).call(I(i.placeholder).attr(H.schemas.string).call(),e)):t.push(I(i.placeholder).attr(H.schemas.objectWithRest).call(r,e)):t.push(I(i.placeholder).attr(H.schemas.object).call(r))}const Zo=({plugin:e,schema:t,state:n})=>{let r={},i=[],a=I.object().pretty(),o=t.required??[];for(let i in t.properties){let s=t.properties[i],c=is({optional:!o.includes(i),plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,i])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),a.prop(i,U({pipes:c.pipes,plugin:e}))}let s;if(t.additionalProperties&&t.additionalProperties.type)if(t.additionalProperties.type===`never`)s=null;else{let i=is({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),s=U({pipes:i.pipes,plugin:e})}let c={$:I,additional:s,pipes:i,plugin:e,schema:t,shape:a},l=e.config[`~resolvers`]?.object?.base;return l?.(c)||Xo(c),r.pipes=[U({pipes:i,plugin:e})],r},Qo=({pipes:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`valibot.v`});switch(n.format){case`date`:return e.push(I(r.placeholder).attr(H.actions.isoDate).call());case`date-time`:return e.push(I(r.placeholder).attr(H.actions.isoTimestamp).call());case`email`:return e.push(I(r.placeholder).attr(H.actions.email).call());case`ipv4`:case`ipv6`:return e.push(I(r.placeholder).attr(H.actions.ip).call());case`time`:return e.push(I(r.placeholder).attr(H.actions.isoTimeSecond).call());case`uri`:return e.push(I(r.placeholder).attr(H.actions.url).call());case`uuid`:return e.push(I(r.placeholder).attr(H.actions.uuid).call())}return!0},$o=({plugin:e,schema:t})=>{let n=[],r=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(typeof t.const==`string`)return n.push(I(r.placeholder).attr(H.schemas.literal).call(I.literal(t.const))),U({pipes:n,plugin:e});if(n.push(I(r.placeholder).attr(H.schemas.string).call()),t.format){let r={$:I,pipes:n,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];i?.(r)||Qo(r)}return t.minLength===t.maxLength&&t.minLength!==void 0?n.push(I(r.placeholder).attr(H.actions.length).call(I.literal(t.minLength))):(t.minLength!==void 0&&n.push(I(r.placeholder).attr(H.actions.minLength).call(I.literal(t.minLength))),t.maxLength!==void 0&&n.push(I(r.placeholder).attr(H.actions.maxLength).call(I.literal(t.maxLength)))),t.pattern&&n.push(I(r.placeholder).attr(H.actions.regex).call(I.regexp(t.pattern))),U({pipes:n,plugin:e})},es=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>I(i.placeholder).attr(H.schemas.literal).call(I.fromValue(e)));return r.pipes=[I(i.placeholder).attr(H.schemas.tuple).call(I.array(...e))],r}if(t.items){let a=t.items.map((t,i)=>{let a=is({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),U({pipes:a.pipes,plugin:e})});return r.pipes=[I(i.placeholder).attr(H.schemas.tuple).call(I.array(...a))],r}return{pipes:[Uo({plugin:e,schema:{type:`unknown`},state:n})]}},ts=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.undefined).call(),ns=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(H.schemas.void).call(),rs=({schema:e,...t})=>{switch(e.type){case`array`:return{expression:U({pipes:Wo({...t,schema:e}).pipes,plugin:t.plugin})};case`boolean`:return{expression:Go({...t,schema:e})};case`enum`:return{expression:Ko({...t,schema:e})};case`integer`:case`number`:return{expression:Yo({...t,schema:e})};case`never`:return{expression:qo({...t,schema:e})};case`null`:return{expression:Jo({...t,schema:e})};case`object`:return{expression:U({pipes:Zo({...t,schema:e}).pipes,plugin:t.plugin})};case`string`:return e.format===`int64`||e.format===`uint64`?{expression:Yo({...t,schema:e})}:{expression:$o({...t,schema:e})};case`tuple`:return{expression:U({pipes:es({...t,schema:e}).pipes,plugin:t.plugin})};case`undefined`:return{expression:ts({...t,schema:e})};case`unknown`:return{expression:Uo({...t,schema:e})};case`void`:return{expression:ns({...t,schema:e})}}},is=({optional:e,plugin:t,schema:n,state:r})=>{let i={pipes:[]},a=t.referenceSymbol({category:`external`,resource:`valibot.v`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`valibot`},o=t.referenceSymbol(e);if(t.isSymbolRegistered(e)){let e=I(o.placeholder);i.pipes.push(e)}else{let e=I(a.placeholder).attr(H.schemas.lazy).call(I.func().do(I(o.placeholder).return()));i.pipes.push(e),r.hasLazyExpression.value=!0}}else if(n.type){let e=rs({plugin:t,schema:n,state:r});if(i.typeName=e.anyType,i.pipes.push(e.expression),t.config.metadata&&n.description){let e=I(a.placeholder).attr(H.actions.metadata).call(I.object().prop(`description`,I.literal(n.description)));i.pipes.push(e)}}else if(n.items)if(n=x({schema:n}),n.items){let e=n.items.map((e,n)=>U({pipes:is({plugin:t,schema:e,state:{...r,path:T([...r.path.value,`items`,n])}}).pipes,plugin:t}));if(n.logicalOperator===`and`){let t=I(a.placeholder).attr(H.schemas.intersect).call(I.array(...e));i.pipes.push(t)}else{let t=I(a.placeholder).attr(H.schemas.union).call(I.array(...e));i.pipes.push(t)}}else{let e=is({plugin:t,schema:n,state:r});i.pipes.push(...e.pipes)}else{let e=rs({plugin:t,schema:{type:`unknown`},state:r});i.typeName=e.anyType,i.pipes.push(e.expression)}if(i.pipes.length){if(n.accessScope===`read`){let e=I(a.placeholder).attr(H.actions.readonly).call();i.pipes.push(e)}let r;n.default!==void 0&&(r=Bo({isBigInt:n.type===`integer`&&n.format===`int64`,value:n.default}),i.pipes=[I(a.placeholder).attr(H.schemas.optional).call(U({pipes:i.pipes,plugin:t}),r)]),e&&!r&&(i.pipes=[I(a.placeholder).attr(H.schemas.optional).call(U({pipes:i.pipes,plugin:t}))])}return i},as=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=is({plugin:e,schema:t,state:n}),a=L(r);Io({ast:i,plugin:e,schema:t,state:n,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`valibot`},name:b({config:e.config.definitions,name:a})})})},os=({plugin:e})=>{e.registerSymbol({external:`valibot`,importKind:`namespace`,meta:{category:`external`,resource:`valibot.v`},name:`v`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:Vo({getAst:(n,r)=>is({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:as({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:as({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:as({plugin:e,schema:t.schema,state:n});break;case`webhook`:Ho({getAst:(n,r)=>is({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},ss={api:new Fo,config:{case:`camelCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:e=>os(e),name:`valibot`,resolveConfig:(e,t)=>{e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}Data`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}Response`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}WebhookRequest`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.webhooks})},tags:[`validator`]},W={ZodMiniOptional:`ZodMiniOptional`,ZodOptional:`ZodOptional`,_default:`_default`,and:`and`,array:`array`,bigint:`bigint`,boolean:`boolean`,check:`check`,coerce:`coerce`,date:`date`,datetime:`datetime`,default:`default`,describe:`describe`,email:`email`,enum:`enum`,globalRegistry:`globalRegistry`,gt:`gt`,gte:`gte`,infer:`infer`,int:`int`,intersection:`intersection`,ip:`ip`,ipv4:`ipv4`,ipv6:`ipv6`,iso:`iso`,lazy:`lazy`,length:`length`,literal:`literal`,lt:`lt`,lte:`lte`,max:`max`,maxLength:`maxLength`,min:`min`,minLength:`minLength`,never:`never`,null:`null`,nullable:`nullable`,number:`number`,object:`object`,optional:`optional`,parseAsync:`parseAsync`,readonly:`readonly`,record:`record`,regex:`regex`,register:`register`,string:`string`,time:`time`,tuple:`tuple`,undefined:`undefined`,union:`union`,unknown:`unknown`,url:`url`,uuid:`uuid`,void:`void`},cs=({schema:e})=>I(e.placeholder).attr(W.parseAsync).call(`data`).await().return(),ls=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,cs];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},us=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,cs];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},ds=({schema:e})=>I(e.placeholder).attr(W.parseAsync).call(`data`).await().return(),fs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,ds];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},ps=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,ds];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},ms=({schema:e})=>I(e.placeholder).attr(W.parseAsync).call(`data`).await().return(),hs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,ms];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}},gs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:I,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,ms];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return I.func().async().param(`data`).do(...t instanceof Array?t:[t])}};var _s=class{createRequestValidator(e){let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return fs(e);case`mini`:return ls(e);case 4:default:return hs(e)}}createResponseValidator(e){let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return ps(e);case`mini`:return us(e);case 4:default:return gs(e)}}};const vs=({ast:e,plugin:t,schema:n,symbol:r,typeInferSymbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`zod.z`}),o=I.const(r.placeholder).export(r.exported).$if(t.config.comments&&z(n),(e,t)=>e.doc(t)).$if(e.typeName,(e,t)=>e.type(I.type(a.placeholder).attr(t))).assign(e.expression);if(t.setSymbolValue(r,o),i){let e=I.type.alias(i.placeholder).export(i.exported).type(I.type(a.placeholder).attr(W.infer).generic(I(r.placeholder).typeofType()));t.setSymbolValue(i,e)}},ys=({plugin:e})=>{let t=e.package.getVersion(`zod`);if(t&&e.package.satisfies(t,`<4.0.0`))switch(e.config.compatibilityVersion){case 3:default:return`zod`;case 4:return`zod/v4`;case`mini`:return`zod/v4-mini`}switch(e.config.compatibilityVersion){case 3:return`zod/v3`;case 4:default:return`zod`;case`mini`:return`zod/mini`}},G=({isBigInt:e,value:t})=>{let n=I.fromValue(t);return e&&(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)?I(`BigInt`).call(n):n},bs=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.requests.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],vs({ast:e(a,r.path.value),plugin:n,schema:a,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`},name:b({config:n.config.requests,name:t.id})}),typeInferSymbol:n.config.requests.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:b({config:n.config.requests.types.infer,name:t.id})}):void 0})}if(n.config.responses.enabled&&t.responses){let{response:i}=ft(t);if(i){let a=[...r.path.value,`responses`];vs({ast:e(i,a),plugin:n,schema:i,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`zod`},name:b({config:n.config.responses,name:t.id})}),typeInferSymbol:n.config.responses.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:b({config:n.config.responses.types.infer,name:t.id})}):void 0})}}},xs=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.webhooks.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],vs({ast:e(a,r.path.value),plugin:n,schema:a,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`},name:b({config:n.config.webhooks,name:t.id})}),typeInferSymbol:n.config.webhooks.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:b({config:n.config.webhooks.types.infer,name:t.id})}):void 0})}},Ss=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.unknown).call(),n},Cs=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={},a=I(r.placeholder).attr(W.array);if(!t.items)i.expression=a.call(Ss({plugin:e,schema:{type:`unknown`},state:n}).expression);else{t=x({schema:t});let o=t.items.map((t,r)=>{let a=Ls({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,r])}});return a.hasLazyExpression&&(i.hasLazyExpression=!0),a.expression});if(o.length===1)i.expression=a.call(...o);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=I(r.placeholder).attr(W.intersection).call(...o);else{n=o[0];for(let e=1;e{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(r=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n.expression=r,n):(r=I(i.placeholder).attr(W.boolean).call(),n.expression=r,n)},Ts=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={},a=[],o=[],s=!1,c=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=I.literal(e.const);a.push(t),o.push(I(r.placeholder).attr(W.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){c=!1;let t=I.literal(e.const);o.push(I(r.placeholder).attr(W.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){c=!1;let t=I.literal(e.const);o.push(I(r.placeholder).attr(W.literal).call(t))}else (e.type===`null`||e.const===null)&&(s=!0);return o.length?(c&&a.length>0?i.expression=I(r.placeholder).attr(W.enum).call(I.array(...a)):o.length===1?i.expression=o[0]:i.expression=I(r.placeholder).attr(W.union).call(I.array(...o)),s&&(i.expression=I(r.placeholder).attr(W.nullable).call(i.expression)),i):Ss({plugin:e,schema:{type:`unknown`},state:n})},Es=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.never).call(),n},Ds=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.null).call(),n},Os=({plugin:e,schema:t})=>{let n=e.referenceSymbol({category:`external`,resource:`zod.z`}),r={},i=t.type===`integer`&&t.format===`int64`;if(typeof t.const==`number`)return r.expression=I(n.placeholder).attr(W.literal).call(I.literal(t.const)),r;r.expression=i?I(n.placeholder).attr(W.coerce).attr(W.bigint).call():I(n.placeholder).attr(W.number).call(),!i&&t.type===`integer`&&(r.expression=I(n.placeholder).attr(W.int).call());let a=[];return t.exclusiveMinimum===void 0?t.minimum!==void 0&&a.push(I(n.placeholder).attr(W.gte).call(G({isBigInt:i,value:t.minimum}))):a.push(I(n.placeholder).attr(W.gt).call(G({isBigInt:i,value:t.exclusiveMinimum}))),t.exclusiveMaximum===void 0?t.maximum!==void 0&&a.push(I(n.placeholder).attr(W.lte).call(G({isBigInt:i,value:t.maximum}))):a.push(I(n.placeholder).attr(W.lt).call(G({isBigInt:i,value:t.exclusiveMaximum}))),a.length&&(r.expression=r.expression.attr(W.check).call(...a)),r};function ks({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?I(r.placeholder).attr(W.record).call(I(r.placeholder).attr(W.string).call(),e):I(r.placeholder).attr(W.object).call(n)}const As=({plugin:e,schema:t,state:n})=>{let r={},i=I.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=Ls({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),c.hasLazyExpression?i.getter(o,c.expression.return()):i.prop(o,c.expression)}let o;if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Ls({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),o=i.expression}let s={$:I,additional:o,chain:void 0,plugin:e,schema:t,shape:i},c=e.config[`~resolvers`]?.object?.base;return r.expression=c?.(s)??ks(s),r},js=({chain:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`zod.z`});switch(n.format){case`date`:return I(r.placeholder).attr(W.iso).attr(W.date).call();case`date-time`:{let e=I.object().$if(t.config.dates.offset,e=>e.prop(`offset`,I.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,I.literal(!0)));return I(r.placeholder).attr(W.iso).attr(W.datetime).call(e.hasProps()?e:void 0)}case`email`:return I(r.placeholder).attr(W.email).call();case`ipv4`:return I(r.placeholder).attr(W.ipv4).call();case`ipv6`:return I(r.placeholder).attr(W.ipv6).call();case`time`:return I(r.placeholder).attr(W.iso).attr(W.time).call();case`uri`:return I(r.placeholder).attr(W.url).call();case`uuid`:return I(r.placeholder).attr(W.uuid).call();default:return e}},Ms=({plugin:e,schema:t})=>{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return r=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n.expression=r,n;if(r=I(i.placeholder).attr(W.string).call(),t.format){let n={$:I,chain:r,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];r=i?.(n)??js(n)}let a=[];return t.minLength===t.maxLength&&t.minLength!==void 0?a.push(I(i.placeholder).attr(W.length).call(I.literal(t.minLength))):(t.minLength!==void 0&&a.push(I(i.placeholder).attr(W.minLength).call(I.literal(t.minLength))),t.maxLength!==void 0&&a.push(I(i.placeholder).attr(W.maxLength).call(I.literal(t.maxLength)))),t.pattern&&a.push(I(i.placeholder).attr(W.regex).call(I.regexp(t.pattern))),a.length&&(r=r.attr(W.check).call(...a)),n.expression=r,n},Ns=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={};if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>I(r.placeholder).attr(W.literal).call(I.fromValue(e)));return i.expression=I(r.placeholder).attr(W.tuple).call(I.array(...e)),i}let a=[];return t.items&&t.items.forEach((t,r)=>{let o=Ls({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,r])}});a.push(o.expression),o.hasLazyExpression&&(i.hasLazyExpression=!0)}),i.expression=I(r.placeholder).attr(W.tuple).call(I.array(...a)),i},Ps=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.undefined).call(),n},Fs=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=I(t.placeholder).attr(W.void).call(),n},Is=({schema:e,...t})=>{switch(e.type){case`array`:return Cs({...t,schema:e});case`boolean`:return ws({...t,schema:e});case`enum`:return Ts({...t,schema:e});case`integer`:case`number`:return Os({...t,schema:e});case`never`:return Es({...t,schema:e});case`null`:return Ds({...t,schema:e});case`object`:return As({...t,schema:e});case`string`:return Ms({...t,schema:e});case`tuple`:return Ns({...t,schema:e});case`undefined`:return Ps({...t,schema:e});case`unknown`:return Ss({...t,schema:e});case`void`:return Fs({...t,schema:e})}},Ls=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=I(o.placeholder):(i.expression=I(a.placeholder).attr(W.lazy).call(I.func().returns(`any`).do(I(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=Is({plugin:t,schema:n,state:r});i.expression=e.expression,i.hasLazyExpression=e.hasLazyExpression,t.config.metadata&&n.description&&(i.expression=i.expression.attr(W.register).call(I(a.placeholder).attr(W.globalRegistry),I.object().pretty().prop(`description`,I.literal(n.description))))}else if(n.items)if(n=x({schema:n}),n.items){let e=n.items.map((e,n)=>Ls({plugin:t,schema:e,state:{...r,path:T([...r.path.value,`items`,n])}}));if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=I(a.placeholder).attr(W.intersection).call(...e.map(e=>e.expression)):(i.expression=e[0].expression,e.slice(1).forEach(e=>{i.expression=I(a.placeholder).attr(W.intersection).call(i.expression,e.hasLazyExpression?I(a.placeholder).attr(W.lazy).call(I.func().do(e.expression.return())):e.expression)}))}else i.expression=I(a.placeholder).attr(W.union).call(I.array().pretty().elements(...e.map(e=>e.expression)))}else i=Ls({plugin:t,schema:n,state:r});else i.expression=Is({plugin:t,schema:{type:`unknown`},state:r}).expression;if(i.expression&&(n.accessScope===`read`&&(i.expression=I(a.placeholder).attr(W.readonly).call(i.expression)),e&&(i.expression=I(a.placeholder).attr(W.optional).call(i.expression),i.typeName=W.ZodMiniOptional),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=I(a.placeholder).attr(W._default).call(i.expression,G({isBigInt:e,value:n.default}))}return i},Rs=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=Ls({plugin:e,schema:t,state:n}),a=L(r);vs({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:b({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:b({config:e.config.definitions.types.infer,name:a})}):void 0})},zs=({plugin:e})=>{e.registerSymbol({external:ys({plugin:e}),importKind:`namespace`,meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:bs({getAst:(n,r)=>Ls({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:Rs({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Rs({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Rs({plugin:e,schema:t.schema,state:n});break;case`webhook`:xs({getAst:(n,r)=>Ls({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},Bs=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.unknown).call(),Vs=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=I(r.placeholder).attr(W.array),a,o=!1;if(!t.items)a=i.call(Bs({plugin:e,schema:{type:`unknown`},state:n}));else{t=x({schema:t});let s=t.items.map((t,r)=>{let i=tc({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,r])}});return i.hasLazyExpression&&(o=!0),i.expression});if(s.length===1)a=i.call(...s);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=I(r.placeholder).attr(W.intersection).call(...s);else{n=s[0];for(let e=1;e{let n,r=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(n=I(r.placeholder).attr(W.literal).call(I.literal(t.const)),n):(n=I(r.placeholder).attr(W.boolean).call(),n)},Us=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=[],a=[],o=!1,s=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=I.literal(e.const);i.push(t),a.push(I(r.placeholder).attr(W.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){s=!1;let t=I.literal(e.const);a.push(I(r.placeholder).attr(W.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){s=!1;let t=I.literal(e.const);a.push(I(r.placeholder).attr(W.literal).call(t))}else (e.type===`null`||e.const===null)&&(o=!0);if(!a.length)return Bs({plugin:e,schema:{type:`unknown`},state:n});let c;return c=s&&i.length>0?I(r.placeholder).attr(W.enum).call(I.array(...i)):a.length===1?a[0]:I(r.placeholder).attr(W.union).call(I.array(...a)),o&&(c=c.attr(W.nullable).call()),c},Ws=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.never).call(),Gs=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.null).call(),Ks=({plugin:e,schema:t})=>{let n=e.referenceSymbol({category:`external`,resource:`zod.z`}),r=t.type===`integer`&&t.format===`int64`;if(typeof t.const==`number`)return I(n.placeholder).attr(W.literal).call(I.literal(t.const));let i=r?I(n.placeholder).attr(W.coerce).attr(W.bigint).call():I(n.placeholder).attr(W.number).call();return!r&&t.type===`integer`&&(i=i.attr(W.int).call()),t.exclusiveMinimum===void 0?t.minimum!==void 0&&(i=i.attr(W.gte).call(G({isBigInt:r,value:t.minimum}))):i=i.attr(W.gt).call(G({isBigInt:r,value:t.exclusiveMinimum})),t.exclusiveMaximum===void 0?t.maximum!==void 0&&(i=i.attr(W.lte).call(G({isBigInt:r,value:t.maximum}))):i=i.attr(W.lt).call(G({isBigInt:r,value:t.exclusiveMaximum})),i};function qs({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?I(r.placeholder).attr(W.record).call(e):I(r.placeholder).attr(W.object).call(n)}const Js=({plugin:e,schema:t,state:n})=>{let r=!1,i=I.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=tc({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r=!0),i.prop(o,c.expression)}let o,s={};if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=tc({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});r=i.hasLazyExpression||r,o=i.expression}let c={$:I,additional:o,chain:void 0,plugin:e,schema:t,shape:i},l=e.config[`~resolvers`]?.object?.base;return s.expression=l?.(c)??qs(c),{anyType:`AnyZodObject`,expression:s.expression,hasLazyExpression:r}},Ys=({chain:e,plugin:t,schema:n})=>{switch(n.format){case`date`:return e.attr(W.date).call();case`date-time`:{let n=I.object().$if(t.config.dates.offset,e=>e.prop(`offset`,I.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,I.literal(!0)));return e.attr(W.datetime).call(n.hasProps()?n:void 0)}case`email`:return e.attr(W.email).call();case`ipv4`:case`ipv6`:return e.attr(W.ip).call();case`time`:return e.attr(W.time).call();case`uri`:return e.attr(W.url).call();case`uuid`:return e.attr(W.uuid).call();default:return e}},Xs=({plugin:e,schema:t})=>{let n,r=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return n=I(r.placeholder).attr(W.literal).call(I.literal(t.const)),n;if(n=I(r.placeholder).attr(W.string).call(),t.format){let r={$:I,chain:n,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];n=i?.(r)??Ys(r)}return t.minLength===t.maxLength&&t.minLength!==void 0?n=n.attr(W.length).call(I.literal(t.minLength)):(t.minLength!==void 0&&(n=n.attr(W.min).call(I.literal(t.minLength))),t.maxLength!==void 0&&(n=n.attr(W.max).call(I.literal(t.maxLength)))),t.pattern&&(n=n.attr(W.regex).call(I.regexp(t.pattern))),n},Zs=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=!1;if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>I(r.placeholder).attr(W.literal).call(I.fromValue(e)));return{expression:I(r.placeholder).attr(W.tuple).call(I.array(...e)),hasLazyExpression:i}}let a=[];return t.items&&t.items.forEach((t,r)=>{let o=tc({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,r])}});a.push(o.expression),o.hasLazyExpression&&(i=!0)}),{expression:I(r.placeholder).attr(W.tuple).call(I.array(...a)),hasLazyExpression:i}},Qs=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.undefined).call(),$s=({plugin:e})=>I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.void).call(),ec=({schema:e,...t})=>{switch(e.type){case`array`:return Vs({...t,schema:e});case`boolean`:return{expression:Hs({...t,schema:e})};case`enum`:return{expression:Us({...t,schema:e})};case`integer`:case`number`:return{expression:Ks({...t,schema:e})};case`never`:return{expression:Ws({...t,schema:e})};case`null`:return{expression:Gs({...t,schema:e})};case`object`:return Js({...t,schema:e});case`string`:return{expression:Xs({...t,schema:e})};case`tuple`:return Zs({...t,schema:e});case`undefined`:return{expression:Qs({...t,schema:e})};case`unknown`:return{expression:Bs({...t,schema:e})};case`void`:return{expression:$s({...t,schema:e})}}},tc=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=I(o.placeholder):(i.expression=I(a.placeholder).attr(W.lazy).call(I.func().do(I(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=ec({plugin:t,schema:n,state:r});i.expression=e.expression,i.typeName=e.anyType,t.config.metadata&&n.description&&(i.expression=i.expression.attr(W.describe).call(I.literal(n.description)))}else if(n.items)if(n=x({schema:n}),n.items){let e=n.items.map((e,n)=>tc({plugin:t,schema:e,state:{...r,path:T([...r.path.value,`items`,n])}}).expression);if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=I(a.placeholder).attr(W.intersection).call(...e):(i.expression=e[0],e.slice(1).forEach(e=>{i.expression=i.expression.attr(W.and).call(e)}))}else i.expression=I(a.placeholder).attr(W.union).call(I.array().pretty().elements(...e))}else i=tc({plugin:t,schema:n,state:r});else{let e=ec({plugin:t,schema:{type:`unknown`},state:r});i.expression=e.expression,i.typeName=e.anyType}if(i.expression&&(n.accessScope===`read`&&(i.expression=i.expression.attr(W.readonly).call()),e&&(i.expression=i.expression.attr(W.optional).call()),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=i.expression.attr(W.default).call(G({isBigInt:e,value:n.default}))}return r.hasLazyExpression.value?i.typeName||=`ZodTypeAny`:i.typeName&&=void 0,i},nc=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=tc({plugin:e,schema:t,state:n}),a=L(r);vs({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:b({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:b({config:e.config.definitions.types.infer,name:a})}):void 0})},rc=({plugin:e})=>{e.registerSymbol({external:ys({plugin:e}),meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:bs({getAst:(n,r)=>tc({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:nc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:nc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:nc({plugin:e,schema:t.schema,state:n});break;case`webhook`:xs({getAst:(n,r)=>tc({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},ic=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.unknown).call(),t},ac=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`}),a=I(i.placeholder).attr(W.array);if(!t.items)r.expression=a.call(ic({plugin:e,schema:{type:`unknown`},state:n}).expression);else{t=x({schema:t});let o=t.items.map((t,i)=>{let a=yc({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),a.expression});if(o.length===1)r.expression=a.call(...o);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=I(i.placeholder).attr(W.intersection).call(...o);else{n=o[0];for(let e=1;e{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(r=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n.expression=r,n):(r=I(i.placeholder).attr(W.boolean).call(),n.expression=r,n)},sc=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`}),a=[],o=[],s=!1,c=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=I.literal(e.const);a.push(t),o.push(I(i.placeholder).attr(W.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){c=!1;let t=I.literal(e.const);o.push(I(i.placeholder).attr(W.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){c=!1;let t=I.literal(e.const);o.push(I(i.placeholder).attr(W.literal).call(t))}else (e.type===`null`||e.const===null)&&(s=!0);return o.length?(c&&a.length>0?r.expression=I(i.placeholder).attr(W.enum).call(I.array(...a)):o.length===1?r.expression=o[0]:r.expression=I(i.placeholder).attr(W.union).call(I.array(...o)),s&&(r.expression=I(i.placeholder).attr(W.nullable).call(r.expression)),r):ic({plugin:e,schema:{type:`unknown`},state:n})},cc=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.never).call(),t},lc=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.null).call(),t},uc=({plugin:e,schema:t})=>{let n={},r=t.type===`integer`&&t.format===`int64`,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`number`?(n.expression=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n):(n.expression=r?I(i.placeholder).attr(W.coerce).attr(W.bigint).call():I(i.placeholder).attr(W.number).call(),!r&&t.type===`integer`&&(n.expression=I(i.placeholder).attr(W.int).call()),t.exclusiveMinimum===void 0?t.minimum!==void 0&&(n.expression=n.expression.attr(W.gte).call(G({isBigInt:r,value:t.minimum}))):n.expression=n.expression.attr(W.gt).call(G({isBigInt:r,value:t.exclusiveMinimum})),t.exclusiveMaximum===void 0?t.maximum!==void 0&&(n.expression=n.expression.attr(W.lte).call(G({isBigInt:r,value:t.maximum}))):n.expression=n.expression.attr(W.lt).call(G({isBigInt:r,value:t.exclusiveMaximum})),n)};function dc({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?I(r.placeholder).attr(W.record).call(I(r.placeholder).attr(W.string).call(),e):I(r.placeholder).attr(W.object).call(n)}const fc=({plugin:e,schema:t,state:n})=>{let r={},i=I.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=yc({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:T([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),c.hasLazyExpression?i.getter(o,c.expression.return()):i.prop(o,c.expression)}let o;if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=yc({plugin:e,schema:t.additionalProperties,state:{...n,path:T([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),o=i.expression}let s={$:I,additional:o,chain:void 0,plugin:e,schema:t,shape:i},c=e.config[`~resolvers`]?.object?.base;return r.expression=c?.(s)??dc(s),r.hasLazyExpression?{...r,typeName:`ZodType`}:r},pc=({chain:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`zod.z`});switch(n.format){case`date`:return I(r.placeholder).attr(W.iso).attr(W.date).call();case`date-time`:{let e=I.object().$if(t.config.dates.offset,e=>e.prop(`offset`,I.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,I.literal(!0)));return I(r.placeholder).attr(W.iso).attr(W.datetime).call(e.hasProps()?e:void 0)}case`email`:return I(r.placeholder).attr(W.email).call();case`ipv4`:return I(r.placeholder).attr(W.ipv4).call();case`ipv6`:return I(r.placeholder).attr(W.ipv6).call();case`time`:return I(r.placeholder).attr(W.iso).attr(W.time).call();case`uri`:return I(r.placeholder).attr(W.url).call();case`uuid`:return I(r.placeholder).attr(W.uuid).call();default:return e}},mc=({plugin:e,schema:t})=>{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return r=I(i.placeholder).attr(W.literal).call(I.literal(t.const)),n.expression=r,n;if(r=I(i.placeholder).attr(W.string).call(),t.format){let n={$:I,chain:r,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];r=i?.(n)??pc(n)}return t.minLength===t.maxLength&&t.minLength!==void 0?r=r.attr(W.length).call(I.literal(t.minLength)):(t.minLength!==void 0&&(r=r.attr(W.min).call(I.literal(t.minLength))),t.maxLength!==void 0&&(r=r.attr(W.max).call(I.literal(t.maxLength)))),t.pattern&&(r=r.attr(W.regex).call(I.regexp(t.pattern))),n.expression=r,n},hc=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>I(i.placeholder).attr(W.literal).call(I.fromValue(e)));return r.expression=I(i.placeholder).attr(W.tuple).call(I.array(...e)),r}let a=[];return t.items&&t.items.forEach((t,i)=>{let o=yc({plugin:e,schema:t,state:{...n,path:T([...n.path.value,`items`,i])}});a.push(o.expression),o.hasLazyExpression&&(r.hasLazyExpression=!0)}),r.expression=I(i.placeholder).attr(W.tuple).call(I.array(...a)),r},gc=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.undefined).call(),t},_c=({plugin:e})=>{let t={};return t.expression=I(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(W.void).call(),t},vc=({schema:e,...t})=>{switch(e.type){case`array`:return ac({...t,schema:e});case`boolean`:return oc({...t,schema:e});case`enum`:return sc({...t,schema:e});case`integer`:case`number`:return uc({...t,schema:e});case`never`:return cc({...t,schema:e});case`null`:return lc({...t,schema:e});case`object`:return fc({...t,schema:e});case`string`:return mc({...t,schema:e});case`tuple`:return hc({...t,schema:e});case`undefined`:return gc({...t,schema:e});case`unknown`:return ic({...t,schema:e});case`void`:return _c({...t,schema:e})}},yc=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=I(o.placeholder):(i.expression=I(a.placeholder).attr(W.lazy).call(I.func().returns(`any`).do(I(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=vc({plugin:t,schema:n,state:r});i.expression=e.expression,i.hasLazyExpression=e.hasLazyExpression,t.config.metadata&&n.description&&(i.expression=i.expression.attr(W.register).call(I(a.placeholder).attr(W.globalRegistry),I.object().pretty().prop(`description`,I.literal(n.description))))}else if(n.items)if(n=x({schema:n}),n.items){let e=n.items.map((e,n)=>yc({plugin:t,schema:e,state:{...r,path:T([...r.path.value,`items`,n])}}));if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=I(a.placeholder).attr(W.intersection).call(...e.map(e=>e.expression)):(i.expression=e[0].expression,e.slice(1).forEach(e=>{i.expression=i.expression.attr(W.and).call(e.hasLazyExpression?I(a.placeholder).attr(W.lazy).call(I.func().do(e.expression.return())):e.expression)}))}else i.expression=I(a.placeholder).attr(W.union).call(I.array().pretty().elements(...e.map(e=>e.expression)))}else i=yc({plugin:t,schema:n,state:r});else i.expression=vc({plugin:t,schema:{type:`unknown`},state:r}).expression;if(i.expression&&(n.accessScope===`read`&&(i.expression=i.expression.attr(W.readonly).call()),e&&(i.expression=I(a.placeholder).attr(W.optional).call(i.expression),i.typeName=W.ZodOptional),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=i.expression.attr(W.default).call(G({isBigInt:e,value:n.default}))}return i},bc=({plugin:e,schema:t,state:n})=>{let r=Ar(n.path.value),i=yc({plugin:e,schema:t,state:n}),a=L(r);vs({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:b({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:b({config:e.config.definitions.types.infer,name:a})}):void 0})},xc=({plugin:e})=>{e.registerSymbol({external:ys({plugin:e}),meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=E({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:bs({getAst:(n,r)=>yc({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:bc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:bc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:bc({plugin:e,schema:t.schema,state:n});break;case`webhook`:xs({getAst:(n,r)=>yc({plugin:e,schema:n,state:E({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},Sc={api:new _s,config:{case:`camelCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:e=>{let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return rc(e);case`mini`:return zs(e);case 4:default:return xc(e)}},name:`zod`,resolveConfig:(e,t)=>{let n=t.package.getVersion(`zod`),r=()=>n&&(n.major===4||n.major===3)?n.major:4,i=e=>{if(!e)return r();if(!n)return e;if((e===4||e===3||e===`mini`)&&!t.package.satisfies(n,`>=3.25.0 <5.0.0`)){let t=r();return console.warn(`🔌 ${a.yellow(`Warning:`)} Installed ${a.cyan(`zod`)} ${a.cyan(`v${n.version}`)} does not support compatibility version ${a.yellow(String(e))}, using ${a.yellow(String(t))}.`),t}return e};e.config.compatibilityVersion=i(e.config.compatibilityVersion),e.config.dates=t.valueToObject({defaultValue:{local:!1,offset:!1},value:e.config.dates}),e.config.types=t.valueToObject({defaultValue:{infer:{case:`PascalCase`,enabled:!1}},mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.config.types}),e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}ZodType`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}Data`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}DataZodType`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}Response`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}ResponseZodType`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}WebhookRequest`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}WebhookRequestZodType`}}},mappers:{...v,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:v,value:e.infer})})},value:e.types})})},value:e.config.webhooks})},tags:[`validator`]},Cc={"@angular/common":ri,"@hey-api/client-angular":yi,"@hey-api/client-axios":bi,"@hey-api/client-fetch":xi,"@hey-api/client-ky":Si,"@hey-api/client-next":Ci,"@hey-api/client-nuxt":wi,"@hey-api/client-ofetch":Ti,"@hey-api/schemas":Ri,"@hey-api/sdk":qi,"@hey-api/transformers":na,"@hey-api/typescript":Oa,"@pinia/colada":Wa,"@tanstack/angular-query-experimental":lo,"@tanstack/react-query":uo,"@tanstack/solid-query":fo,"@tanstack/svelte-query":po,"@tanstack/vue-query":mo,arktype:Eo,fastify:Oo,swr:jo,valibot:ss,zod:Sc},wc=[`@hey-api/typescript`,`@hey-api/sdk`],Tc=({dependencies:e,userPlugins:t,userPluginsConfig:n})=>{let r=new Set,i=new Set,a={},o=s=>{if(r.has(s))throw Error(`Circular reference detected at '${s}'`);if(i.has(s))return;r.add(s);let c=Cc[s],l=n[s];if(!c&&!l)throw Error(`unknown plugin dependency "${s}" - do you need to register a custom plugin with this name?`);let u={...c,...l,config:{...c?.config,...l?.config},dependencies:new Set([...c?.dependencies||[],...l?.dependencies||[]])};if(u.resolveConfig){let r={package:Di(e),pluginByTag:(e,r={})=>{let{defaultPlugin:i,errorMessage:a}=r;for(let r of t){let t=Cc[r]||n[r];if(t&&t.tags?.includes(e)&&r!==s)return r}if(i){let t=Cc[i]||n[i];if(t&&t.tags?.includes(e)&&i!==s)return i}throw Error(a||`missing plugin - no plugin with tag "${e}" found`)},valueToObject:_};u.resolveConfig(u,r)}for(let e of u.dependencies)o(e);r.delete(s),i.add(s),a[s]=u};for(let e of t)o(e);return{pluginOrder:Array.from(i),plugins:a}},Ec=e=>typeof e==`string`?e.startsWith(`@hey-api/client`):e.name.startsWith(`@hey-api/client`)||e.tags&&e.tags.includes(`client`),Dc=({dependencies:e,userConfig:t})=>{let n={},r=wc;return t.plugins&&(t.plugins=t.plugins.filter(e=>typeof e==`string`&&e||typeof e!=`string`&&e.name),r=t.plugins.length===1&&Ec(t.plugins[0])?[...wc,...t.plugins]:t.plugins),Tc({dependencies:e,userPlugins:r.map(e=>{if(typeof e==`string`)return e;let t=e.name;return t&&(e.handler?n[t]=e:(n[t]={config:{...e}},delete n[t].config.name)),t}).filter(Boolean),userPluginsConfig:n})},Oc=()=>!!(process.stdin.isTTY&&process.stdout.isTTY&&!process.env.CI&&!process.env.NO_INTERACTIVE&&!process.env.NO_INTERACTION),kc=async({logger:e,userConfigs:t})=>{let n=[],r={},i=e.timeEvent(`load`);for(let i of t){let t;if(i?.configFile){let e=i.configFile.split(`.`);t=e.slice(0,e.length-1).join(`.`)}let o=e.timeEvent(`c12`),{loadConfig:s}=await import(`c12`),{config:c,configFile:l}=await s({configFile:t,name:`openapi-ts`});o.timeEnd(),Object.keys(r).length||(r=qe(Object.keys(c).length?l:void 0));let u=c instanceof Array?c.map(e=>Ue(e,i)):[Ue(c,i)];for(let e of u){let t=Be(e);if(e.output instanceof Array){let r=t.length,i=e.output.length;if(i>1)if(r!==i){console.warn(`⚙️ ${a.yellow(`Warning:`)} You provided ${a.cyan(String(r))} ${a.cyan(r===1?`input`:`inputs`)} and ${a.yellow(String(i))} ${a.yellow(`outputs`)}. This is probably not what you want as it will produce identical output in multiple locations. You most likely want to provide a single output or the same number of outputs as inputs.`);for(let r of e.output)n.push({...e,input:t,output:r})}else e.output.forEach((r,i)=>{n.push({...e,input:t[i],output:r})});else n.push({...e,input:t,output:e.output[0]??``})}else n.push({...e,input:t})}}i.timeEnd();let o=[],c=e.timeEvent(`build`);for(let e of n){let t=Ve(e),n=Be(e),i=Ke(e),c=Ye(e),l=[];n.length||l.push(new me(`missing input - which OpenAPI specification should we use to generate your output?`)),i.path||l.push(new me(`missing output - where should we generate your output?`)),i.path=s.resolve(process.cwd(),i.path);let u;try{u=Dc({dependencies:r,userConfig:e})}catch(e){l.push(e),u={pluginOrder:[],plugins:{}}}let d={configFile:e.configFile??``,dryRun:e.dryRun??!1,input:n,interactive:e.interactive??Oc(),logs:t,output:i,parser:c,pluginOrder:u.pluginOrder,plugins:u.plugins},f=o.length;if(t.level===`debug`){let e=a.gray(`[Job ${f+1}] `);console.warn(`${e}${a.cyan(`config:`)}`,d)}o.push({config:d,errors:l,jobIndex:f})}return c.timeEnd(),{dependencies:r,results:o}};Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});const Ac=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},jc=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},Mc=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},Nc=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(jc(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=Ac(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):Pc({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},Pc=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},Fc=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=Mc(r),s=Object.entries(i).map(([t,i])=>Pc({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},Ic=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=Nc({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=Fc({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=Pc({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},Lc=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},Rc=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?Lc(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t};Ic({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}});const zc=async({fetchOptions:e,inputPath:t,timeout:n,watch:r})=>{let i=f({pathOrUrlOrSchema:t}),a,o,s;if(i.type===`url`){if(r.lastValue&&r.isHeadMethodSupported!==!1){try{let t=await p({fetchOptions:{method:`HEAD`,...e,headers:Rc(e?.headers,r.headers)},timeout:n,url:i.path});if(t.response.status>=300)return{error:`not-ok`,response:t.response};s=t.response}catch(e){return{error:`not-ok`,response:new Response(e.message)}}if(!s.ok&&r.isHeadMethodSupported)return{error:`not-ok`,response:s};if(r.isHeadMethodSupported===void 0&&(r.isHeadMethodSupported=s.ok),s.status===304)return{error:`not-modified`,response:s};if(o===void 0){let e=s.headers.get(`ETag`);e&&(o=e!==r.headers.get(`If-None-Match`),o&&r.headers.set(`If-None-Match`,e))}if(o===void 0){let e=s.headers.get(`Last-Modified`);e&&(o=e!==r.headers.get(`If-Modified-Since`),o&&r.headers.set(`If-Modified-Since`,e))}if(o===!1)return{error:`not-modified`,response:s}}try{let t=await p({fetchOptions:{method:`GET`,...e},timeout:n,url:i.path});if(t.response.status>=300)return{error:`not-ok`,response:t.response};s=t.response}catch(e){return{error:`not-ok`,response:new Response(e.message)}}if(!s.ok)return{error:`not-ok`,response:s};if(a=s.body?await s.arrayBuffer():new ArrayBuffer(0),o===void 0){let e=new TextDecoder().decode(a);o=e!==r.lastValue,r.lastValue=e}}else r.lastValue?o=!1:r.lastValue=i.type;return o===!1?{error:`not-modified`,response:s}:{arrayBuffer:a,resolvedInput:i}},Bc=l.createPrinter({newLine:l.NewLineKind.LineFeed,removeComments:!1}),Vc=(e=>l.createSourceFile(``,e,l.ScriptTarget.ESNext,!1,l.ScriptKind.TS))(``),Hc=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)));function Uc(e){let t=Bc.printNode(l.EmitHint.Unspecified,e,Vc);try{return Hc(t)}catch{return t}}const Wc=new Set(`buffer.child_process.cluster.console.constants.crypto.dgram.dns.domain.events.freelist.fs.http.https.module.net.os.path.process.punycode.querystring.readline.repl.stream.string_decoder.timers.tls.tty.url.util.v8.vm.worker_threads.zlib`.split(`.`));var Gc=class{renderFile(e,t,n,r){let a=new Map;if(e=i(e,e=>{let i=n.symbols.get(e),o=this.replacerFn({file:t,project:n,symbol:i});return i&&this.addBinding({bindings:a,file:t,meta:r,project:n,symbol:i}),o}),!e.length)return``;let o=``,s=this.getHeaderLines();o+=`${s.join(` + `)}${s.length?` + + `:``}`;let c=this.getImportLines(a,t,n);return o+=`${c.join(` +diff --git a/dist/openApi-DGc8EfFq.cjs b/dist/openApi-DGc8EfFq.cjs +index 1942652a7947dbf35f15d4b323bfa4eddd09655d..684119c0a77e2ebc20c0072c5d89c65925f4b707 100644 +--- a/dist/openApi-DGc8EfFq.cjs ++++ b/dist/openApi-DGc8EfFq.cjs +@@ -2,7 +2,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r= + `))}};function A(e,...t){let n=e.prototype;for(let r of t){let t=r;if(typeof r==`function`)try{let n=r(e);n?.prototype&&(t=n)}catch{}let i=t.prototype;if(i)for(let[e,t]of Object.entries(Object.getOwnPropertyDescriptors(i)))e!==`constructor`&&(e===`$render`&&!t.value.mixin||Object.defineProperty(n,e,t))}}var ut=class extends O{_args;arg(e){return(this._args??=[]).push(e),this}args(...e){return(this._args??=[]).push(...e),this}$args(){return this._args?this.$node(this._args).map(e=>this.$maybeId(e)):[]}$render(){throw Error(`noop`)}},dt=class extends O{name;constructor(e,...t){super(),this.name=e,this.args(...t)}$render(){let e=this.$args();return m.default.factory.createDecorator(e.length?m.default.factory.createCallExpression(this.$maybeId(this.name),void 0,e):this.$maybeId(this.name))}};A(dt,ut);var ft=class extends O{decorators;decorator(e,...t){return(this.decorators??=[]).push(new dt(e,...t)),this}$decorators(){return this.decorators?this.$node(this.decorators):[]}$render(){throw Error(`noop`)}},pt=class extends O{_lines=[];constructor(e,t){super(),e&&(typeof e==`string`?this.add(e):this.add(...e)),t?.(this)}add(...e){return this._lines.push(...e),this}apply(e){let t=this._lines.filter(e=>!!e||e===``);if(!t.length)return e;let n=t.map(e=>m.default.factory.createJSDocText(`${e}\n`)),r=m.default.factory.createJSDocComment(m.default.factory.createNodeArray(n),void 0),i=m.default.createPrinter().printNode(m.default.EmitHint.Unspecified,r,e.getSourceFile?.()??m.default.createSourceFile(``,``,m.default.ScriptTarget.Latest)).replace(`/*`,``).replace(`* */`,``);return m.default.addSyntheticLeadingComment(e,m.default.SyntaxKind.MultiLineCommentTrivia,i,!0),e}$render(){return this.$node(new ct(``))}};function j(e){let t=e.prototype.$render;class n extends e{_doc;doc(e,t){return this._doc=new pt(e,t),this}$render(...e){let n=t.apply(this,e);return this._doc?this._doc.apply(n):n}}return n.prototype.$render.mixin=!0,n}function M(e){let t=[];function n(n,r=!0){return r&&t.push(m.default.factory.createModifier(n)),e}Object.assign(e,{_m:n});function r(){return t}return{list:r}}var mt=class{abstract(e=!0){return this._m(m.default.SyntaxKind.AbstractKeyword,e)}},ht=class{async(e=!0){return this._m(m.default.SyntaxKind.AsyncKeyword,e)}},gt=class{const(e=!0){return this._m(m.default.SyntaxKind.ConstKeyword,e)}},_t=class{default(e=!0){return this._m(m.default.SyntaxKind.DefaultKeyword,e)}},vt=class{export(e=!0){return this._m(m.default.SyntaxKind.ExportKeyword,e)}},yt=class{private(e=!0){return this._m(m.default.SyntaxKind.PrivateKeyword,e)}},bt=class{protected(e=!0){return this._m(m.default.SyntaxKind.ProtectedKeyword,e)}},xt=class{public(e=!0){return this._m(m.default.SyntaxKind.PublicKeyword,e)}},St=class{readonly(e=!0){return this._m(m.default.SyntaxKind.ReadonlyKeyword,e)}},Ct=class{static(e=!0){return this._m(m.default.SyntaxKind.StaticKeyword,e)}},wt=class extends k{name;constraint;defaultValue;constructor(e,t){super(),this.name=e,t?.(this)}default(e){return this.defaultValue=e,this}extends(e){return this.constraint=e,this}$render(){if(!this.name)throw Error(`Missing type name`);return m.default.factory.createTypeParameterDeclaration(void 0,this.$maybeId(this.name),this.$type(this.constraint),this.$type(this.defaultValue))}},Tt=class extends O{_generics;generic(...e){let t=new wt(...e);return(this._generics??=[]).push(t),this}generics(...e){return(this._generics??=[]).push(...e),this}$generics(){return this._generics?.map(e=>{let t=typeof e==`string`?new wt(e):e;return this.$node(t)})}$render(){throw Error(`noop`)}},Et=class extends O{value;assign(e){return this.value=e,this}$value(){return this.$node(this.value)}$render(){throw Error(`noop`)}},Dt=class extends O{_generics;generic(e){return(this._generics??=[]).push(e),this}generics(...e){return(this._generics??=[]).push(...e),this}$generics(){return this.$type(this._generics)}$render(){throw Error(`noop`)}};let Ot;function kt(e){Ot=e}let At;function jt(e){At=e}let Mt;function Nt(e){Mt=e}let Pt;function Ft(e){Pt=e}let It;function Lt(e){It=e}var Rt=class{idx(e){return At(this,e)}keyof(){return Pt().keyof(this)}readonly(){return Pt().readonly(this)}returnType(){return Ot(`ReturnType`).generic(It(this))}typeofExpr(){return Mt(this)}typeofType(){return It(this)}typeof(){if(this instanceof O){let e=this.$render();return m.default.isExpression(e)?Mt(this):It(this)}return m.default.isExpression(this)?Mt(this):It(this)}unique(){return Pt().unique(this)}},zt=class extends k{_base;right;constructor(e,t){super(),t?(this.base(e),this.right=t):(this.base(void 0),this.right=e)}base(e){return this._base=e,this}$render(){if(!this._base)throw Error(`TypeAttrTsDsl: missing base for qualified name`);let e=this.$node(this._base);if(!m.default.isEntityName(e))throw Error(`TypeAttrTsDsl: base must be an EntityName`);let t=this.$maybeId(this.right);return m.default.factory.createQualifiedName(e,t)}};A(zt,Rt);var N=class extends k{_exprInput;constructor(e,t){super(),typeof e==`string`?(this._exprInput=e,t?.(this)):e?.(this)}attr(e){return this._exprInput=e instanceof zt?e.base(this._exprInput):new zt(this._exprInput,e),this}$render(){if(!this._exprInput)throw Error(`TypeExpr must have either an expression or an object`);return m.default.factory.createTypeReferenceNode(this.$type(this._exprInput),this.$generics())}};A(N,Dt,Rt),kt((...e)=>new N(...e));var Bt=class extends O{modifiers=M(this);name;_type;constructor(e,t){super(),this.name=e,t?.(this)}type(e){return this._type=e instanceof k?e:new N(e),this}$render(){return m.default.factory.createPropertyDeclaration([...this.$decorators(),...this.modifiers.list()],this.name,void 0,this.$type(this._type),this.$value())}};A(Bt,ft,j,yt,bt,xt,St,Ct,Et);var Vt=class extends O{_inner;constructor(e){super(),this._inner=e}$render(){let e=this.$node(this._inner);return m.default.isStatement(e)?e:m.default.factory.createExpressionStatement(e)}},Ht=class extends O{_do;do(...e){return(this._do??=[]).push(...e),this}$do(){return this._do?this.$node(this._do.map(e=>new Vt(e))):[]}$render(){throw Error(`noop`)}},Ut=class{_optional;optional(e){return this._optional=arguments.length===0?!0:!!e,this}required(e){return this._optional=arguments.length===0?!1:!e,this}},P=class extends O{_kind;kind(e){return this._kind=e,this}minus(){return this.kind(m.default.SyntaxKind.MinusToken)}optional(){return this.kind(m.default.SyntaxKind.QuestionToken)}plus(){return this.kind(m.default.SyntaxKind.PlusToken)}questionDot(){return this.kind(m.default.SyntaxKind.QuestionDotToken)}readonly(){return this.kind(m.default.SyntaxKind.ReadonlyKeyword)}spread(){return this.kind(m.default.SyntaxKind.DotDotDotToken)}$render(){if(!this._kind)throw Error("Token missing `.kind(kind)`");return m.default.factory.createToken(this._kind)}},Wt=class extends O{pattern;_spread;array(...e){return this.pattern={kind:`array`,values:e[0]instanceof Array?[...e[0]]:e},this}object(...e){let t={};for(let n of e)if(typeof n==`string`)t[n]=n;else if(n instanceof Array)for(let e of n)t[e]=e;else Object.assign(t,n);return this.pattern={kind:`object`,values:t},this}spread(e){return this._spread=e,this}$render(){if(!this.pattern)throw Error(`PatternTsDsl requires object() or array() pattern`);if(this.pattern.kind===`object`){let e=Object.entries(this.pattern.values).map(([e,t])=>e===t?m.default.factory.createBindingElement(void 0,void 0,e,void 0):m.default.factory.createBindingElement(void 0,e,t,void 0)),t=this.createSpread();return t&&e.push(t),m.default.factory.createObjectBindingPattern(e)}if(this.pattern.kind===`array`){let e=this.pattern.values.map(e=>m.default.factory.createBindingElement(void 0,void 0,e,void 0)),t=this.createSpread();return t&&e.push(t),m.default.factory.createArrayBindingPattern(e)}throw Error(`PatternTsDsl requires object() or array() pattern`)}createSpread(){return this._spread?m.default.factory.createBindingElement(this.$node(new P().spread()),void 0,this.$node(new ct(this._spread))):void 0}},Gt=class extends O{pattern;array(...e){return(this.pattern??=new Wt).array(...e),this}object(...e){return(this.pattern??=new Wt).object(...e),this}spread(e){return(this.pattern??=new Wt).spread(e),this}$pattern(){return this.$node(this.pattern)}$render(){throw Error(`noop`)}},Kt=class extends O{name;_type;constructor(e,t){super(),typeof e==`string`?(this.name=e,t?.(this)):e(this)}type(e){return this._type=e instanceof k?e:new N(e),this}$render(){let e=this.$pattern()??this.name;if(!e)throw Error(`Param must have either a name or a destructuring pattern`);return m.default.factory.createParameterDeclaration(this.$decorators(),void 0,e,this._optional?this.$node(new P().optional()):void 0,this.$type(this._type),this.$value())}};A(Kt,ft,Ut,Gt,Et);var qt=class extends O{_params;param(e,t){let n=new Kt(e,t);return(this._params??=[]).push(n),this}params(...e){return(this._params??=[]).push(...e),this}$params(){return this._params?this.$node(this._params):[]}$render(){throw Error(`noop`)}},Jt=class extends O{modifiers=M(this);constructor(e){super(),e?.(this)}$render(){return m.default.factory.createConstructorDeclaration([...this.$decorators(),...this.modifiers.list()],this.$params(),m.default.factory.createBlock(this.$do(),!0))}};A(Jt,ft,Ht,j,qt,yt,bt,xt);var Yt=class extends O{modifiers=M(this);name;_returns;constructor(e,t){super(),this.name=e,t?.(this)}returns(e){return this._returns=e instanceof k?e:new N(e),this}$render(){return m.default.factory.createMethodDeclaration([...this.$decorators(),...this.modifiers.list()],void 0,this.name,this._optional?this.$node(new P().optional()):void 0,this.$generics(),this.$params(),this.$type(this._returns),m.default.factory.createBlock(this.$do(),!0))}};A(Yt,mt,ht,ft,Ht,j,Ut,qt,yt,bt,xt,Ct,Tt);var Xt=class extends O{heritageClauses=[];body=[];modifiers=M(this);name;constructor(e){super(),this.name=e}do(...e){return this.body.push(...e),this}extends(e){return e&&this.heritageClauses.push(m.default.factory.createHeritageClause(m.default.SyntaxKind.ExtendsKeyword,[m.default.factory.createExpressionWithTypeArguments(this.$maybeId(e),void 0)])),this}field(e,t){let n=new Bt(e,t);return this.body.push(n),this}init(e){let t=new Jt(e);return this.body.push(t),this}method(e,t){let n=new Yt(e,t);return this.body.push(n),this}newline(){return this.body.push(new lt),this}$render(){let e=this.$node(this.body);return m.default.factory.createClassDeclaration([...this.$decorators(),...this.modifiers.list()],this.name,this.$generics(),this.heritageClauses,e)}};A(Xt,mt,ft,_t,j,vt,Tt);const Zt=/^[^$_\p{ID_Start}]+/u,Qt=/^-?\d+(\.\d+)?$/,$t=/^(document|history|location|navigator|window)$/g,en=/^(console|Array|Date|Error|Function|JSON|Map|Math|Object|Promise|RegExp|Set|WeakMap|WeakSet)$/g,tn=/^(arguments|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|eval|export|extends|false|finally|for|from|function|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)$/g,nn=/^(global|process|Buffer)$/g,rn=/^(any|as|bigint|boolean|namespace|never|null|number|string|symbol|type|undefined|unknown|void)$/g,an=/^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;var on=class extends O{_expr;_op;constructor(e,t){super(),this._expr=e,this._op=t}expr(e){return this._expr=e,this}neg(){return this._op=m.default.SyntaxKind.MinusToken,this}not(){return this._op=m.default.SyntaxKind.ExclamationToken,this}op(e){return this._op=e,this}$render(){if(!this._expr)throw Error(`Missing expression for prefix unary expression`);if(!this._op)throw Error(`Missing operator for prefix unary expression`);return m.default.factory.createPrefixUnaryExpression(this._op,this.$node(this._expr))}};let sn;function cn(e){sn=e}var ln=class{as(e){return sn(this,e)}},F=class extends O{value;constructor(e){super(),this.value=e}$render(){if(typeof this.value==`boolean`)return this.value?m.default.factory.createTrue():m.default.factory.createFalse();if(typeof this.value==`number`){let e=m.default.factory.createNumericLiteral(Math.abs(this.value));return this.value<0?this.$node(new on(e).neg()):e}if(typeof this.value==`string`)return m.default.factory.createStringLiteral(this.value,!0);if(this.value===null)return m.default.factory.createNull();throw Error(`Unsupported literal: ${String(this.value)}`)}};A(F,ln);const un=e=>(an.lastIndex=0,an.test(e)?new ct(e).$render():new F(e).$render()),dn=e=>(Qt.lastIndex=0,Qt.test(e)?e.startsWith(`-`)?new F(e).$render():m.default.factory.createNumericLiteral(e):(an.lastIndex=0,an.test(e)?new ct(e).$render():new F(e).$render()));var fn=class extends O{_name;_value;constructor(e,t){super(),this._name=e,typeof t==`function`?t(this):this.value(t)}value(e){return this._value=e,this}$render(){return m.default.factory.createEnumMember(un(this._name),this.$node(this._value))}};A(fn,j);var pn=class extends O{_members=[];_name;modifiers=M(this);constructor(e,t){super(),this._name=e,t?.(this)}member(e,t){let n=new fn(e,t);return this._members.push(n),this}members(...e){return this._members.push(...e),this}$render(){return m.default.factory.createEnumDeclaration(this.modifiers.list(),this._name,this.$node(this._members))}};A(pn,gt,j,vt);var mn=class extends O{mode;modifiers=M(this);name;_returns;constructor(e,t){super(),typeof e==`string`?(this.name=e,this.mode=`decl`,t?.(this)):(this.mode=`arrow`,e?.(this))}arrow(){return this.mode=`arrow`,this}decl(){return this.mode=`decl`,this}expr(){return this.mode=`expr`,this}returns(e){return this._returns=e instanceof k?e:new N(e),this}$render(){if(this.mode===`decl`){if(!this.name)throw Error(`Function declaration requires a name`);return m.default.factory.createFunctionDeclaration([...this.$decorators(),...this.modifiers.list()],void 0,this.name,this.$generics(),this.$params(),this.$type(this._returns),m.default.factory.createBlock(this.$do(),!0))}if(this.mode===`expr`)return m.default.factory.createFunctionExpression(this.modifiers.list(),void 0,this.name,this.$generics(),this.$params(),this.$type(this._returns),m.default.factory.createBlock(this.$do(),!0));let e=this.$do(),t=e.length===1&&m.default.isReturnStatement(e[0])?e[0].expression??m.default.factory.createBlock(e,!0):m.default.factory.createBlock(e,!0);return m.default.factory.createArrowFunction(this.modifiers.list(),this.$generics(),this.$params(),this.$type(this._returns),void 0,t)}};A(mn,mt,ln,ht,ft,Ht,j,qt,yt,bt,xt,Ct,Tt);const hn=mn;var gn=class extends O{modifiers=M(this);name;constructor(e,t){super(),this.name=e,t?.(this)}$render(){return m.default.factory.createGetAccessorDeclaration([...this.$decorators(),...this.modifiers.list()],this.name,this.$params(),void 0,m.default.factory.createBlock(this.$do(),!0))}};A(gn,mt,ft,Ht,j,qt,yt,bt,xt,Ct);var _n=class extends O{modifiers=M(this);name;constructor(e,t){super(),this.name=e,t?.(this)}$render(){return m.default.factory.createSetAccessorDeclaration([...this.$decorators(),...this.modifiers.list()],this.name,this.$params(),m.default.factory.createBlock(this.$do(),!0))}};A(_n,mt,ft,Ht,j,qt,yt,bt,xt,Ct);var vn=class e{static DEFAULT_THRESHOLD=3;layout;auto(t=e.DEFAULT_THRESHOLD){return this.layout=t,this}inline(){return this.layout=!1,this}pretty(){return this.layout=!0,this}$multiline(t){return this.layout===void 0&&(this.layout=e.DEFAULT_THRESHOLD),typeof this.layout==`number`?t>=this.layout:this.layout}},yn=class extends O{_elements=[];constructor(...e){super(),this.elements(...e)}element(e){let t=typeof e==`string`||typeof e==`number`||typeof e==`boolean`?new F(e):e;return this._elements.push({expr:t,kind:`element`}),this}elements(...e){for(let t of e)this.element(t);return this}spread(e){return this._elements.push({expr:e,kind:`spread`}),this}$render(){let e=this._elements.map(e=>{let t=this.$node(e.expr);return e.kind===`spread`?m.default.factory.createSpreadElement(t):t});return m.default.factory.createArrayLiteralExpression(e,this.$multiline(this._elements.length))}};A(yn,ln,vn);let bn;function xn(e){bn=e}let Sn;function Cn(e){Sn=e}let wn;function Tn(e){wn=e}let En;function Dn(e){En=e}var On=class{attr(e){return bn(this,e)}await(){return Sn(this)}call(...e){return wn(this,e)}return(){return En(this)}},kn=class extends O{expr;type;constructor(e,t){super(),this.expr=e,this.type=t}$render(){return m.default.factory.createAsExpression(this.$node(this.expr),this.$type(this.type))}};A(kn,ln,On),cn((...e)=>new kn(...e));var I=class extends O{_base;_expr;_op;constructor(e,t,n){super(),this._base=e,this._op=t,this._expr=n}and(e){return this.opAndExpr(`&&`,e)}assign(e){return this.opAndExpr(`=`,e)}coalesce(e){return this.opAndExpr(`??`,e)}div(e){return this.opAndExpr(`/`,e)}eq(e){return this.opAndExpr(`===`,e)}gt(e){return this.opAndExpr(`>`,e)}gte(e){return this.opAndExpr(`>=`,e)}looseEq(e){return this.opAndExpr(`==`,e)}looseNeq(e){return this.opAndExpr(`!=`,e)}lt(e){return this.opAndExpr(`<`,e)}lte(e){return this.opAndExpr(`<=`,e)}minus(e){return this.opAndExpr(`-`,e)}neq(e){return this.opAndExpr(`!==`,e)}or(e){return this.opAndExpr(`||`,e)}plus(e){return this.opAndExpr(`+`,e)}times(e){return this.opAndExpr(`*`,e)}$render(){if(!this._op)throw Error(`BinaryTsDsl: missing operator`);if(this._expr===void 0)throw Error(`BinaryTsDsl: missing right-hand expression`);let e=this.$node(this._base),t=this.$node(this._expr),n=typeof this._op==`string`?this.opToToken(this._op):this._op;return m.default.factory.createBinaryExpression(e,n,t)}opAndExpr(e,t){return this._expr=t,this._op=e,this}opToToken(e){let t={"!=":m.default.SyntaxKind.ExclamationEqualsToken,"!==":m.default.SyntaxKind.ExclamationEqualsEqualsToken,"&&":m.default.SyntaxKind.AmpersandAmpersandToken,"*":m.default.SyntaxKind.AsteriskToken,"+":m.default.SyntaxKind.PlusToken,"-":m.default.SyntaxKind.MinusToken,"/":m.default.SyntaxKind.SlashToken,"<":m.default.SyntaxKind.LessThanToken,"<=":m.default.SyntaxKind.LessThanEqualsToken,"=":m.default.SyntaxKind.EqualsToken,"==":m.default.SyntaxKind.EqualsEqualsToken,"===":m.default.SyntaxKind.EqualsEqualsEqualsToken,">":m.default.SyntaxKind.GreaterThanToken,">=":m.default.SyntaxKind.GreaterThanEqualsToken,"??":m.default.SyntaxKind.QuestionQuestionToken,"||":m.default.SyntaxKind.BarBarToken}[e];if(!t)throw Error(`Unsupported operator: ${e}`);return t}};A(I,ln,On);var An=class{and(e){return new I(this).and(e)}assign(e){return new I(this,`=`,e)}coalesce(e){return new I(this).coalesce(e)}div(e){return new I(this).div(e)}eq(e){return new I(this).eq(e)}gt(e){return new I(this).gt(e)}gte(e){return new I(this).gte(e)}looseEq(e){return new I(this).looseEq(e)}looseNeq(e){return new I(this).looseNeq(e)}lt(e){return new I(this).lt(e)}lte(e){return new I(this).lte(e)}minus(e){return new I(this).minus(e)}neq(e){return new I(this).neq(e)}or(e){return new I(this).or(e)}plus(e){return new I(this).plus(e)}times(e){return new I(this).times(e)}},jn=class extends O{left;right;constructor(e,t){super(),this.left=e,this.right=t}$render(){let e=this.$node(this.left);return an.lastIndex=0,typeof this.right==`number`||typeof this.right==`string`&&!an.test(this.right)?this._optional?m.default.factory.createElementAccessChain(e,this.$node(new P().questionDot()),this.$node(new F(this.right))):m.default.factory.createElementAccessExpression(e,this.$node(new F(this.right))):this._optional?m.default.factory.createPropertyAccessChain(e,this.$node(new P().questionDot()),this.$maybeId(this.right)):m.default.factory.createPropertyAccessExpression(e,this.$maybeId(this.right))}};A(jn,ln,On,An,Ut),xn((...e)=>new jn(...e));var Mn=class extends O{_awaitExpr;constructor(e){super(),this._awaitExpr=e}$render(){return m.default.factory.createAwaitExpression(this.$node(this._awaitExpr))}};A(Mn,On),Cn((...e)=>new Mn(...e));var Nn=class extends O{_callee;constructor(e,...t){super(),this._callee=e,this.args(...t.filter(e=>e!==void 0))}$render(){return m.default.factory.createCallExpression(this.$node(this._callee),this.$generics(),this.$args())}};A(Nn,ut,ln,On,Dt),Tn((e,t)=>new Nn(e,...t));var Pn=class extends O{_exprInput;constructor(e){super(),this._exprInput=e}$render(){return this.$node(this._exprInput)}};A(Pn,ln,On,An,Rt);var Fn=class extends O{_lines=[];constructor(e,t){super(),e&&(typeof e==`string`?this.add(e):this.add(...e)),t?.(this)}add(...e){return this._lines.push(...e),this}apply(e){let t=this._lines.filter(e=>!!e||e===``);if(!t.length)return e;for(let n of t)m.default.addSyntheticLeadingComment(e,m.default.SyntaxKind.SingleLineCommentTrivia,` ${n}`,!1);return e}$render(){return this.$node(new ct(``))}};function In(e){let t=e.prototype.$render;class n extends e{_hint;hint(e,t){return this._hint=new Fn(e,t),this}$render(...e){let n=t.apply(this,e);return this._hint?this._hint.apply(n):n}}return n.prototype.$render.mixin=!0,n}var Ln=class extends O{_value;meta;constructor(e){super(),this.meta=e}get isValid(){return this.missingRequiredCalls().length===0}value(e){return typeof e==`function`?e(this):this._value=e,this}$render(){this.$validate();let e=this.$node(this._value);if(this.meta.kind===`spread`){if(m.default.isStatement(e))throw Error(`Invalid spread: object spread must be an expression, not a statement.`);return m.default.factory.createSpreadAssignment(e)}if(this.meta.kind===`getter`){let t=new gn(dn(this.meta.name)).do(e);return this.$node(t)}if(this.meta.kind===`setter`){let t=new _n(dn(this.meta.name)).do(e);return this.$node(t)}if(m.default.isIdentifier(e)&&e.text===this.meta.name)return m.default.factory.createShorthandPropertyAssignment(this.meta.name);if(m.default.isStatement(e))throw Error(`Invalid property: object property value must be an expression, not a statement.`);return m.default.factory.createPropertyAssignment(this.meta.kind===`computed`?m.default.factory.createComputedPropertyName(this.$node(new ct(this.meta.name))):dn(this.meta.name),e)}$validate(){let e=this.missingRequiredCalls();if(e.length!==0)throw Error(`Object property${this.meta.name?` "${this.meta.name}"`:``} missing ${e.join(` and `)}`)}missingRequiredCalls(){let e=[];return this._value||e.push(`.value()`),e}};A(Ln,j);var Rn=class extends O{_props=[];constructor(...e){super(),this.props(...e)}computed(e,t){return this._props.push(new Ln({kind:`computed`,name:e}).value(t)),this}getter(e,t){return this._props.push(new Ln({kind:`getter`,name:e}).value(t)),this}hasProps(){return this._props.length>0}get isEmpty(){return this._props.length===0}prop(e,t){return this._props.push(new Ln({kind:`prop`,name:e}).value(t)),this}props(...e){return this._props.push(...e),this}setter(e,t){return this._props.push(new Ln({kind:`setter`,name:e}).value(t)),this}spread(e){return this._props.push(new Ln({kind:`spread`}).value(e)),this}$render(){return m.default.factory.createObjectLiteralExpression(this.$node(this._props),this.$multiline(this._props.length))}};A(Rn,ln,On,In,vn);const zn=(e,t)=>{if(e instanceof O)return e;if(e===null||typeof e==`number`||typeof e==`boolean`||typeof e==`string`)return new F(e);if(e instanceof Array){let n=new yn(...e.map(e=>zn(e,t)));return t?.layout===`pretty`&&n.pretty(),n}if(typeof e==`object`){let n=new Rn;for(let[r,i]of Object.entries(e)){let e=zn(i,t);n.prop(r,e)}return t?.layout===`pretty`&&n.pretty(),n}throw Error(`$.fromValue(): Unsupported input type ${String(e)}`)};var Bn=class extends O{classExpr;constructor(e,...t){super(),this.classExpr=e,this.args(...t)}$render(){return m.default.factory.createNewExpression(this.$node(this.classExpr),this.$generics(),this.$args())}};A(Bn,ut,On,Dt);var Vn=class extends O{pattern;flags;constructor(e,t){super(),this.pattern=e,this.flags=t}$render(){let e=`/${(this.pattern.startsWith(`/`)&&this.pattern.endsWith(`/`)?this.pattern.slice(1,-1):this.pattern).replace(/(?new Wn(...e));var Gn=class extends O{_lines=[];constructor(e,t){super(),e&&(typeof e==`string`?this.add(e):this.add(...e)),t?.(this)}add(...e){return this._lines.push(...e),this}apply(e){let t=this._lines.filter(e=>!!e||e===``);return t.length&&m.default.addSyntheticLeadingComment(e,m.default.SyntaxKind.MultiLineCommentTrivia,`\n${t.join(` + `)}\n`,!0),e}$render(){return this.$node(new ct(``))}},Kn=class extends O{_condition;_else;constructor(e){super(),e&&this.condition(e)}condition(e){return this._condition=e,this}otherwise(...e){return this._else=e,this}$render(){if(!this._condition)throw Error(`Missing condition in if`);let e=this.$do();if(!e.length)throw Error(`Missing then block in if`);let t=this.$node(this._condition),n=e.length===1?e[0]:m.default.factory.createBlock(e,!0),r=m.default.isBlock(n)?n:m.default.factory.createBlock([n],!0),i;if(this._else){let e=this.$node(this._else),t=e.length===1?e[0]:m.default.factory.createBlock(e,!0);i=m.default.isBlock(t)?t:m.default.factory.createBlock([t],!0)}return m.default.factory.createIfStatement(t,r,i)}};A(Kn,Ht);var qn=class extends O{_returnExpr;constructor(e){super(),this._returnExpr=e}$render(){return m.default.factory.createReturnStatement(this.$node(this._returnExpr))}};A(qn,On),Dn((...e)=>new qn(...e));var Jn=class extends O{error;msg;useNew;constructor(e,t=!0){super(),this.error=e,this.useNew=t}message(e){return this.msg=e,this}$render(){let e=this.$node(this.error),t=this.$node(this.msg?[this.msg]:[]).map(e=>typeof e==`string`?new F(e).$render():e);if(this.useNew)return m.default.factory.createThrowStatement(m.default.factory.createNewExpression(e,void 0,t));let n=t.length?[m.default.factory.createCallExpression(e,void 0,t)]:[e];return m.default.factory.createThrowStatement(n[0])}},Yn=class extends O{kind=m.default.NodeFlags.None;modifiers=M(this);name;_type;constructor(e){super(),this.name=e}const(){return this.kind=m.default.NodeFlags.Const,this}let(){return this.kind=m.default.NodeFlags.Let,this}type(e){return this._type=e instanceof k?e:new N(e),this}var(){return this.kind=m.default.NodeFlags.None,this}$render(){let e=this.$pattern()??this.name;if(!e)throw Error(`Var must have either a name or a destructuring pattern`);return m.default.factory.createVariableStatement(this.modifiers.list(),m.default.factory.createVariableDeclarationList([m.default.factory.createVariableDeclaration(e,void 0,this.$type(this._type),this.$value())],this.kind))}};A(Yn,_t,j,vt,In,Gt,Et);var Xn=class extends O{value;modifiers=M(this);name;constructor(e,t){super(),this.name=e,t?.(this)}type(e){return this.value=e,this}$render(){if(!this.value)throw Error(`Type alias '${this.name}' is missing a type definition`);return m.default.factory.createTypeAliasDeclaration(this.modifiers.list(),this.name,this.$generics(),this.$type(this.value))}};A(Xn,j,vt,Tt);var Zn=class extends k{_types=[];constructor(...e){super(),this.types(...e)}types(...e){return this._types.push(...e),this}$render(){let e=[];for(let t of this._types){let n=this.$type(t);m.default.isIntersectionTypeNode(n)?e.push(...n.types):e.push(n)}return m.default.factory.createIntersectionTypeNode(e)}},Qn=class extends k{value;constructor(e){super(),this.value=e}$render(){return m.default.factory.createLiteralTypeNode(this.$node(new F(this.value)))}},$n=class extends k{modifiers=M(this);_key;_name;_type;constructor(e,t){super(),this._name=e,t?.(this)}get isValid(){return this.missingRequiredCalls().length===0}key(e){return this._key=e,this}type(e){return this._type=e,this}$render(){return this.$validate(),m.default.factory.createIndexSignature(this.modifiers.list(),[m.default.factory.createParameterDeclaration(void 0,void 0,this._name,void 0,this.$type(this._key))],this.$type(this._type))}$validate(){let e=this.missingRequiredCalls();if(e.length!==0)throw Error(`Index signature${this._name?` "${this._name}"`:``} missing ${e.join(` and `)}`)}missingRequiredCalls(){let e=[];return this._key||e.push(`.key()`),this._name||e.push(`.name()`),this._type||e.push(`.​type()`),e}};A($n,j,St);var er=class extends k{modifiers=M(this);name;_type;constructor(e,t){super(),this.name=e,t(this)}type(e){return this._type=e,this}$render(){if(!this._type)throw Error(`Type not specified for property '${this.name}'`);return m.default.factory.createPropertySignature(this.modifiers.list(),dn(this.name),this._optional?this.$node(new P().optional()):void 0,this.$type(this._type))}};A(er,j,Ut,St);var tr=class extends k{props=[];hasProps(){return this.props.length>0}idxSig(e,t){let n=new $n(e,t);return this.props.push(n),this}get isEmpty(){return!this.props.length}prop(e,t){let n=new er(e,t);return this.props.push(n),this}$render(){return m.default.factory.createTypeLiteralNode(this.$node(this.props))}},nr=class extends k{_elements=[];constructor(...e){super(),this.elements(...e)}elements(...e){return this._elements.push(...e),this}$render(){return m.default.factory.createTupleTypeNode(this._elements.map(e=>this.$type(e)))}};const rr=e=>{if(e instanceof O)return e;if(e===null||typeof e==`number`||typeof e==`boolean`||typeof e==`string`)return new Qn(e);if(e instanceof Array)return new nr(...e.map(e=>rr(e)));if(typeof e==`object`){let t=new tr;for(let[n,r]of Object.entries(e)){let e=rr(r);t.prop(n,t=>t.type(e))}return t}throw Error(`$.type.fromValue(): Unsupported input type ${String(e)}`)};var ir=class extends k{_returns;returns(e){return this._returns=e instanceof k?e:new N(e),this}$render(){if(this._returns===void 0)throw Error(`Missing return type in function type DSL`);return m.default.factory.createFunctionTypeNode(this.$generics(),this.$params(),this.$type(this._returns))}};A(ir,j,qt,Tt);var ar=class extends k{_base;_index;constructor(e,t){super(),this._base=e,this._index=t}base(e){return this._base=e,this}index(e){return this._index=e,this}$render(){return m.default.factory.createIndexedAccessTypeNode(this.$type(this._base),this.$type(this._index))}};A(ar,Rt),jt((...e)=>new ar(...e));var or=class extends k{questionToken;readonlyToken;_key;_name;_type;constructor(e){super(),this.name(e)}get isValid(){return this.missingRequiredCalls().length===0}key(e){return this._key=e,this}mutable(){return this.readonlyToken=new P().minus(),this}name(e){return this._name=e,this}optional(){return this.questionToken=new P().optional(),this}readonly(){return this.readonlyToken=new P().readonly(),this}required(){return this.questionToken=new P().minus(),this}type(e){return this._type=e,this}$render(){return this.$validate(),m.default.factory.createMappedTypeNode(this.$node(this.readonlyToken),m.default.factory.createTypeParameterDeclaration(void 0,this._name,this.$type(this._key),void 0),void 0,this.$node(this.questionToken),this.$type(this._type),void 0)}$validate(){let e=this.missingRequiredCalls();if(e.length!==0)throw Error(`Mapped type${this._name?` "${this._name}"`:``} missing ${e.join(` and `)}`)}missingRequiredCalls(){let e=[];return this._key||e.push(`.key()`),this._name||e.push(`.name()`),this._type||e.push(`.​type()`),e}},sr=class extends k{_op;_type;keyof(e){return this.operator(m.default.SyntaxKind.KeyOfKeyword),this.type(e),this}operator(e){return this._op=e,this}readonly(e){return this.operator(m.default.SyntaxKind.ReadonlyKeyword),this.type(e),this}type(e){return this._type=e,this}unique(e){return this.operator(m.default.SyntaxKind.UniqueKeyword),this.type(e),this}$render(){return this.$validate(),m.default.factory.createTypeOperatorNode(this._op,this.$type(this._type))}$validate(){let e=this.missingRequiredCalls();if(e.length!==0)throw Error(`Type operator missing ${e.join(` and `)}`)}missingRequiredCalls(){let e=[];return this._op||e.push(`.operator()`),this._type||e.push(`.​type()`),e}};Ft((...e)=>new sr(...e));var cr=class extends k{_types=[];constructor(...e){super(),this.types(...e)}types(...e){return this._types.push(...e),this}$render(){let e=[];for(let t of this._types){let n=this.$type(t);m.default.isUnionTypeNode(n)?e.push(...n.types):e.push(n)}return m.default.factory.createUnionTypeNode(e)}},lr=class extends k{_expr;constructor(e){super(),this._expr=e}$render(){let e=this.$node(this._expr);return m.default.factory.createTypeQueryNode(e)}};A(lr,Rt),Lt((...e)=>new lr(...e));var ur=class extends k{parts=[];constructor(e){super(),e!==void 0&&this.add(e)}add(e){return this.parts.push(e),this}$render(){let e=this.$node(this.parts),t=[];for(let n=0;nnew yn(...e),as:(...e)=>new kn(...e),attr:(...e)=>new jn(...e),await:(...e)=>new Mn(...e),binary:(...e)=>new I(...e),call:(...e)=>new Nn(...e),class:(...e)=>new Xt(...e),const:(...e)=>new Yn(...e).const(),decorator:(...e)=>new dt(...e),doc:(...e)=>new pt(...e),enum:(...e)=>new pn(...e),expr:(...e)=>new Pn(...e),field:(...e)=>new Bt(...e),fromValue:(...e)=>zn(...e),func:((e,t)=>e===void 0?new hn:typeof e!=`string`||t===void 0?new hn(e):new hn(e,t)),getter:(...e)=>new gn(...e),hint:(...e)=>new Fn(...e),id:(...e)=>new ct(...e),if:(...e)=>new Kn(...e),init:(...e)=>new Jt(...e),let:(...e)=>new Yn(...e).let(),literal:(...e)=>new F(...e),member:(...e)=>new fn(...e),method:(...e)=>new Yt(...e),neg:(...e)=>new on(...e).neg(),new:(...e)=>new Bn(...e),newline:(...e)=>new lt(...e),not:(...e)=>new on(...e).not(),note:(...e)=>new Gn(...e),object:(...e)=>new Rn(...e),param:(...e)=>new Kt(...e),pattern:(...e)=>new Wt(...e),prefix:(...e)=>new on(...e),prop:(...e)=>new Ln(...e),regexp:(...e)=>new Vn(...e),return:(...e)=>new qn(...e),setter:(...e)=>new _n(...e),stmt:(...e)=>new Vt(...e),template:(...e)=>new Hn(...e),ternary:(...e)=>new Un(...e),throw:(...e)=>new Jn(...e),token:(...e)=>new P(...e),type:Object.assign((...e)=>new N(...e),{alias:(...e)=>new Xn(...e),and:(...e)=>new Zn(...e),attr:(...e)=>new zt(...e),expr:(...e)=>new N(...e),fromValue:(...e)=>rr(...e),func:(...e)=>new ir(...e),idx:(...e)=>new ar(...e),literal:(...e)=>new Qn(...e),mapped:(...e)=>new or(...e),object:(...e)=>new tr(...e),operator:(...e)=>new sr(...e),or:(...e)=>new cr(...e),param:(...e)=>new wt(...e),query:(...e)=>new lr(...e),template:(...e)=>new ur(...e),tuple:(...e)=>new nr(...e)}),typeofExpr:(...e)=>new Wn(...e),var:(...e)=>new Yn(...e)},L=Object.assign((...e)=>new Pn(...e),dr),fr=({config:e,name:t})=>{let n=e.plugins[`@hey-api/sdk`];if(n?.config.classNameBuilder){let e=``;return e=typeof n.config.classNameBuilder==`function`?n.config.classNameBuilder(t):n.config.classNameBuilder.replace(`{{name}}`,t),e}return t},pr=({securitySchemeObject:e})=>{if(e.type===`openIdConnect`)return{scheme:`bearer`,type:`http`};if(e.type===`oauth2`)return e.flows.password||e.flows.authorizationCode||e.flows.clientCredentials||e.flows.implicit?{scheme:`bearer`,type:`http`}:void 0;if(e.type===`apiKey`)return e.in===`header`?{name:e.name,type:`apiKey`}:e.in===`query`||e.in==`cookie`?{in:e.in,name:e.name,type:`apiKey`}:void 0;if(e.type===`http`){let t=e.scheme.toLowerCase();return t===`bearer`||t===`basic`?{scheme:t,type:`http`}:void 0}},mr=({operation:e,plugin:t})=>{if(!e.security||!t.config.auth)return[];let n=[];for(let t of e.security){let e=pr({securitySchemeObject:t});e?n.push(e):console.warn(`❗️ SDK warning: unsupported security scheme. Please open an issue if you'd like it added https://github.com/hey-api/openapi-ts/issues\n${JSON.stringify(t,null,2)}`)}return n},hr=`TComposable`,gr=`DefaultT`,_r=`ResT`,vr=/~1/g,yr=/~0/g,R=e=>{let t=xr(e),n=t[t.length-1];return decodeURI(n)},br=e=>String(e).replace(/~/g,`~0`).replace(/\//g,`~1`),xr=e=>{let t=e.trim();return t.startsWith(`#`)&&(t=t.slice(1)),t.startsWith(`/`)&&(t=t.slice(1)),t?t.split(`/`).map(e=>e.replace(vr,`/`).replace(yr,`~`)):[]},Sr=e=>{let t=e.trim();return t.startsWith(`#`)||(t=`#${t}`),t.length>1&&t.endsWith(`/`)&&(t=t.slice(0,-1)),t=t.replace(/\/+/g,`/`),t},Cr=e=>{let t=e.map(br).join(`/`);return`#`+(t?`/${t}`:``)},wr=({$ref:e,spec:t})=>{let n=xr(decodeURI(e)),r=t;for(let t of n){let n=t;if(r[n]===void 0)throw Error(`Reference not found: ${e}`);r=r[n]}return r},Tr=({operation:e})=>{let t=[`header`,`path`,`query`],n={},r=(e,t)=>{n[e]||(n[e]=new Set),n[e].add(t)};for(let n of t){let t=e.parameters?.[n];if(t)for(let e in t){let i=t[e];r(i.name,n)}}if(e.body)if(!e.body.schema.logicalOperator&&e.body.schema.type===`object`&&e.body.schema.properties){let t=e.body.schema.properties;for(let e in t)r(e,`body`)}else e.body.schema.$ref?r(b({case:`camelCase`,value:R(e.body.schema.$ref)}),`body`):r(`body`,`body`);let i=new Set;for(let e in n)n[e].size>1&&i.add(e);let a={},o=[];for(let n of t){let t=e.parameters?.[n];if(t)for(let e in t){let r=t[e],s=r.name,c=i.has(s)?`${n}_${s}`:s,l={isRequired:r.required??!1,name:c,schema:r.schema};c!==s&&(l.originalName=s),a[c]=l,o.push({in:n===`header`?`headers`:n,key:c,...c===s?{}:{map:s}})}}if(e.body){let t=`body`;if(!e.body.schema.logicalOperator&&e.body.schema.type===`object`&&e.body.schema.properties){let n=e.body.schema.properties;for(let e in n){let r=n[e],s=i.has(e)?`${t}_${e}`:e,c={isRequired:r.required?.includes(e)??!1,name:s,schema:r};s!==e&&(c.originalName=e),a[s]=c,o.push({in:t,key:s,...s===e?{}:{map:e}})}}else if(e.body.schema.$ref){let n=b({case:`camelCase`,value:R(e.body.schema.$ref)}),r=i.has(n)?`${t}_${n}`:n,s={isRequired:e.body.required??!1,name:r,schema:e.body.schema};r!==n&&(s.originalName=n),a[r]=s,o.push({key:r,map:`body`})}else a.body={isRequired:e.body.required??!1,name:`body`,schema:e.body.schema},o.push({in:`body`})}if(Object.keys(a).length)return{fields:o,parameters:a}},Er=({operation:e,plugin:t})=>{if(!t.config.validator.request)return;let n=t.getPluginOrThrow(t.config.validator.request);if(n.api.createRequestValidator)return n.api.createRequestValidator({operation:e,plugin:n})},Dr=({operation:e,plugin:t})=>{if(!t.config.validator.response)return;let n=t.getPluginOrThrow(t.config.validator.response);if(n.api.createResponseValidator)return n.api.createResponseValidator({operation:e,plugin:n})},Or=({context:e,value:t})=>{let n=b({case:`PascalCase`,value:ot(t)});return fr({config:e.config,name:n})},kr=({operation:e,plugin:t})=>t.config.methodNameBuilder?t.config.methodNameBuilder(e):!t.config.asClass&&e.id.match(tn)?`${e.id}_`:e.id,Ar=({context:e,operation:t,plugin:n})=>{let r=new Map,i,a,o=[];n.config.classStructure===`auto`&&t.operationId&&(o=t.operationId.split(/[./]/).filter(Boolean),o.length>1&&(a=b({case:`camelCase`,value:ot(o.pop())}),i=o.pop()));let s=n.config.instance?[n.config.instance]:t.tags??[`default`];for(let c of s){let s=Or({context:e,value:i||c}),l=[c];i&&(l=o.includes(c)||c===i?[...o,i]:[c,...o,i]),r.set(c,{className:s,methodName:a||kr({operation:t,plugin:n}),path:l.map(t=>Or({context:e,value:t}))})}return r},jr=({isDataAllowed:e=!0,operation:t,plugin:n,throwOnError:r})=>{let i=T(n.context.config).name===`@hey-api/client-nuxt`,a=e?n.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`data`,tool:`typescript`}):void 0,o=n.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`});if(i){let r=n.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`response`}),i=e?a?.placeholder||`unknown`:`never`,s=r?.placeholder||`unknown`;return`${o.placeholder}<${hr}, ${i}, ${s}, ${gr}>`}if(r){let t=e?a?.placeholder||`unknown`:`never`;return`${o.placeholder}<${t}, ${r}>`}let s=e?a?.placeholder:`never`;return s?`${o.placeholder}<${s}>`:o.placeholder},Mr=({isRequiredOptions:e,operation:t,plugin:n})=>{let r={argNames:[],fields:[],parameters:[]},i=n.getPluginOrThrow(`@hey-api/typescript`),a=T(n.context.config).name===`@hey-api/client-nuxt`;if(n.config.paramsStructure===`flat`){let e=Tr({operation:t,plugin:n}),a=L.type.object();if(e){let t=!1;for(let n in e.parameters){let r=e.parameters[n];r.isRequired&&(t=!0),a.prop(r.name,e=>e.required(r.isRequired).type(i.api.schemaToType({plugin:i,schema:r.schema,state:D({path:[]})})))}r.argNames.push(`parameters`);for(let t of e.fields)r.fields.push(t);r.parameters.push(L.param(`parameters`,e=>e.required(t).type(a)))}}return r.parameters.push(L.param(`options`,r=>r.required(e).type(jr({isDataAllowed:n.config.paramsStructure===`grouped`,operation:t,plugin:n,throwOnError:a?void 0:`ThrowOnError`})))),r},Nr=e=>{if(!e)return;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},Pr=({isRequiredOptions:e,opParameters:t,operation:n,plugin:r})=>{let i=T(r.context.config),a=i.name===`@hey-api/client-nuxt`,o=r.querySymbol({category:`type`,resource:`operation`,resourceId:n.id,role:a?`response`:`responses`})?.placeholder||`unknown`,s=r.querySymbol({category:`type`,resource:`operation`,resourceId:n.id,role:a?`error`:`errors`})?.placeholder||`unknown`,c=L.object();if(n.body)switch(n.body.type){case`form-data`:{let e=r.referenceSymbol({category:`external`,resource:`client.formDataBodySerializer`});c.spread(e.placeholder);break}case`json`:break;case`text`:case`octet-stream`:c.prop(`bodySerializer`,L.literal(null));break;case`url-search-params`:{let e=r.referenceSymbol({category:`external`,resource:`client.urlSearchParamsBodySerializer`});c.spread(e.placeholder);break}}let l=L.object();for(let e in n.parameters?.query){let t=n.parameters.query[e];t.schema.type===`array`||t.schema.type===`tuple`?(t.style!==`form`||!t.explode)&&l.prop(t.name,L.object().prop(`array`,L.object().$if(t.explode===!1,e=>e.prop(`explode`,L.literal(t.explode))).$if(t.style!==`form`,e=>e.prop(`style`,L.literal(t.style))))):t.schema.type===`object`&&(t.style!==`deepObject`||!t.explode)&&l.prop(t.name,L.object().prop(`object`,L.object().$if(t.explode===!1,e=>e.prop(`explode`,L.literal(t.explode))).$if(t.style!==`deepObject`,e=>e.prop(`style`,L.literal(t.style)))))}l.hasProps()&&c.prop(`querySerializer`,L.object().prop(`parameters`,l));let u=Er({operation:n,plugin:r}),d=Dr({operation:n,plugin:r});if(u&&c.prop(`requestValidator`,u.arrow()),r.config.transformer){let e={category:`transform`,resource:`operation`,resourceId:n.id,role:`response`};if(r.isSymbolRegistered(e)){let t=r.referenceSymbol(e);c.prop(`responseTransformer`,L(t.placeholder))}}let f=!1,p;for(let e in n.responses){let t=n.responses[e];!p&&i.name===`@hey-api/client-axios`&&it({statusCode:e})===`2XX`&&(p=Nr(t.mediaType),p&&c.prop(`responseType`,L.literal(p))),t.mediaType===`text/event-stream`&&(f=!0)}d&&c.prop(`responseValidator`,d.arrow()),r.config.responseStyle===`data`&&c.prop(`responseStyle`,L.literal(r.config.responseStyle));let m=mr({context:r.context,operation:n,plugin:r});m.length&&c.prop(`security`,L.fromValue(m)),c.prop(`url`,L.literal(n.path)),c.spread(`options`);let h=[],g=t.argNames.length;if(g){let e=[],n=[];for(let n of t.argNames)e.push(L(n));for(let e of t.fields){let t=L.object();`in`in e&&(t.prop(`in`,L.literal(e.in)),e.key&&t.prop(`key`,L.literal(e.key)),e.map&&t.prop(`map`,L.literal(e.map))),n.push(t)}let i=r.referenceSymbol({category:`external`,resource:`client.buildClientParams`});h.push(L.const(`params`).assign(L(i.placeholder).call(L.array(...e),L.array(...n)))),c.spread(`params`)}if(n.body){let t=n.parameters?.header?.[`content-type`];if(!t?.required){let r=L.object().pretty().prop(t?.name??`Content-Type`,L.literal(n.body.type===`form-data`?null:n.body.mediaType)).spread(L(`options`).attr(`headers`).required(e));g&&r.spread(L(`params`).attr(`headers`)),c.prop(`headers`,r)}}let ee=r.config.client?r.getSymbol({category:`client`}):void 0,te,ne=L(`options`).attr(`client`).required(e);te=r.config.instance?ne.coalesce(L(`this`).attr(`client`)):ee?ne.coalesce(ee.placeholder):ne;let re=f?te.attr(`sse`):te;return re=re.attr(n.method),h.push(L.return(re.call(c).$if(a,e=>e.generic(hr).generic(`${o} | ${gr}`).generic(s).generic(gr),e=>e.generic(o).generic(s).generic(`ThrowOnError`)).$if(r.config.responseStyle===`data`,e=>e.generic(L.type.literal(r.config.responseStyle))))),h},Fr=e=>e.replace(/\*\//g,`*`).replace(/\/\*/g,`*`).replace(/\r?\n(.*)/g,(e,t)=>h.EOL+t.trim()),z=e=>{let t=[];return e.summary&&t.push(Fr(e.summary)),e.description&&(t.length&&t.push(``),t.push(Fr(e.description))),e.deprecated&&(t.length&&t.push(``),t.push(`@deprecated`)),t.length?t:void 0},B=({context:e,operation:t})=>{let n=T(e.config).name===`@hey-api/client-nuxt`,r=e.config.plugins[`@hey-api/sdk`];if(r){if(!r.config.client&&!r.config.instance)return!0;if(r.config.paramsStructure===`flat`)return!1}return n||nt(t)},Ir=({operation:e})=>{for(let t in e.responses)if(e.responses[t].mediaType===`text/event-stream`)return!0;return!1},Lr=({plugin:e})=>{let t=new Map,n=new Set,r=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let i=B({context:e.context,operation:n}),a=Ar({context:e.context,operation:n,plugin:r});for(let r of a.values())r.path.forEach((a,o)=>{t.has(a)||t.set(a,{className:a,classes:new Set,methods:new Set,nodes:[],root:!o});let s=r.path[o-1];if(s&&s!==a){let e=t.get(s);e.classes.add(a),t.set(s,e)}if(r.path.length!==o+1)return;let c=t.get(a),l=e.config.httpRequests.methodNameBuilder(n);if(c.methods.has(l))return;let u=Br({isRequiredOptions:i,methodName:l,operation:n,plugin:e});c.nodes.length?c.nodes.push(L.newline(),u):c.nodes.push(u),c.methods.add(l),t.set(a,c)})},{order:`declarations`});let i=r=>{if(n.has(r.className))return;if(r.classes.size)for(let n of r.classes){let a=t.get(n);i(a),r.nodes.push(L.field(b({case:`camelCase`,value:a.className})).assign(L.new(x({config:{case:`preserve`,name:e.config.httpRequests.classNameBuilder},name:a.className}))))}let a=e.referenceSymbol({category:`external`,resource:`@angular/core.Injectable`}),o=e.registerSymbol({exported:!0,meta:{category:`utility`,resource:`class`,resourceId:r.className,tool:`angular`},name:x({config:{case:`preserve`,name:e.config.httpRequests.classNameBuilder},name:r.className})}),s=L.class(o.placeholder).export(o.exported).$if(r.root,e=>e.decorator(a.placeholder,L.object().prop(`providedIn`,L.literal(`root`)))).do(...r.nodes);e.setSymbolValue(o,s),n.add(r.className)};for(let e of t.values())i(e)},Rr=({plugin:e})=>{e.forEach(`operation`,({operation:t})=>{let n=B({context:e.context,operation:t}),r=e.registerSymbol({exported:!0,meta:{category:`utility`,resource:`operation`,resourceId:t.id,role:`data`,tool:`angular`},name:e.config.httpRequests.methodNameBuilder(t)}),i=Vr({isRequiredOptions:n,operation:t,plugin:e,symbol:r});e.setSymbolValue(r,i)},{order:`declarations`})},zr=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`client`});return L(`options`).attr(`client`).optional().$if(n,(e,t)=>e.coalesce(t.placeholder)).attr(`requestOptions`).call(L.object().prop(`responseStyle`,L.literal(`data`)).prop(`method`,L.literal(e.method.toUpperCase())).prop(`url`,L.literal(e.path)).spread(`options`))},Br=({isRequiredOptions:e,methodName:t,operation:n,plugin:r})=>{let i=r.referenceSymbol({category:`external`,resource:`@angular/common/http.HttpRequest`}),a=r.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),o=r.querySymbol({category:`type`,resource:`operation`,resourceId:n.id,role:`data`,tool:`typescript`})?.placeholder||`unknown`;return L.method(t).public().$if(z(n),(e,t)=>e.doc(t)).param(`options`,t=>t.required(e).type(`${a.placeholder}<${o}, ThrowOnError>`)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(!1)).returns(`${i.placeholder}`).do(L.return(zr({operation:n,plugin:r})))},Vr=({isRequiredOptions:e,operation:t,plugin:n,symbol:r})=>{let i=n.referenceSymbol({category:`external`,resource:`@angular/common/http.HttpRequest`}),a=n.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),o=n.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`data`,tool:`typescript`})?.placeholder||`unknown`;return L.const(r.placeholder).export(r.exported).$if(z(t),(e,t)=>e.doc(t)).assign(L.func().param(`options`,t=>t.required(e).type(`${a.placeholder}<${o}, ThrowOnError>`)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(!1)).returns(`${i.placeholder}`).do(L.return(zr({operation:t,plugin:n}))))},Hr=({plugin:e})=>{e.config.httpRequests.asClass?Lr({plugin:e}):Rr({plugin:e})},Ur=({plugin:e})=>{let t=new Map,n=new Set,r=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let i=B({context:e.context,operation:n}),a=Ar({context:e.context,operation:n,plugin:r});for(let r of a.values())r.path.forEach((a,o)=>{t.has(a)||t.set(a,{className:a,classes:new Set,methods:new Set,nodes:[],root:!o});let s=r.path[o-1];if(s&&s!==a){let e=t.get(s);e.classes.add(a),t.set(s,e)}if(r.path.length!==o+1)return;let c=t.get(a),l=e.config.httpResources.methodNameBuilder(n);if(c.methods.has(l))return;let u=Kr({isRequiredOptions:i,methodName:l,operation:n,plugin:e});c.nodes.length?c.nodes.push(L.newline(),u):c.nodes.push(u),c.methods.add(l),t.set(a,c)})},{order:`declarations`});let i=r=>{if(n.has(r.className))return;if(r.classes.size)for(let n of r.classes){let a=t.get(n);i(a),r.nodes.push(L.field(b({case:`camelCase`,value:a.className})).assign(L.new(x({config:{case:`preserve`,name:e.config.httpResources.classNameBuilder},name:a.className}))))}let a=e.referenceSymbol({category:`external`,resource:`@angular/core.Injectable`}),o=e.registerSymbol({exported:!0,name:x({config:{case:`preserve`,name:e.config.httpResources.classNameBuilder},name:r.className})}),s=L.class(o.placeholder).export(o.exported).$if(r.root,e=>e.decorator(a.placeholder,L.object().prop(`providedIn`,L.literal(`root`)))).do(...r.nodes);e.setSymbolValue(o,s),n.add(r.className)};for(let e of t.values())i(e)},Wr=({plugin:e})=>{e.forEach(`operation`,({operation:t})=>{let n=B({context:e.context,operation:t}),r=e.registerSymbol({exported:!0,name:e.config.httpResources.methodNameBuilder(t)}),i=qr({isRequiredOptions:n,operation:t,plugin:e,symbol:r});e.setSymbolValue(r,i)},{order:`declarations`})},Gr=({operation:e,plugin:t})=>{let n=t.getPluginOrThrow(`@hey-api/sdk`),r=t.referenceSymbol({category:`external`,resource:`@angular/common/http.httpResource`}),i=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`;if(t.config.httpRequests.asClass){let a=Ar({context:t.context,operation:e,plugin:n}),o=Array.from(a.values())[0];if(o){let n=o.path[0],a=t.referenceSymbol({category:`utility`,resource:`class`,resourceId:n,tool:`angular`}),s=L(t.referenceSymbol({category:`external`,resource:`@angular/core.inject`}).placeholder).call(a.placeholder);for(let e=1;e{let i=r.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),a=r.querySymbol({category:`type`,resource:`operation`,resourceId:n.id,role:`data`,tool:`typescript`})?.placeholder||`unknown`;return L.method(t).public().$if(z(n),(e,t)=>e.doc(t)).param(`options`,t=>t.required(e).type(`() => ${i.placeholder}<${a}, ThrowOnError> | undefined`)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(!1)).do(L.return(Gr({operation:n,plugin:r})))},qr=({isRequiredOptions:e,operation:t,plugin:n,symbol:r})=>{let i=n.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),a=n.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`data`,tool:`typescript`})?.placeholder||`unknown`;return L.const(r.placeholder).export(r.exported).$if(z(t),(e,t)=>e.doc(t)).assign(L.func().param(`options`,t=>t.required(e).type(`() => ${i.placeholder}<${a}, ThrowOnError> | undefined`)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(!1)).do(L.return(Gr({operation:t,plugin:n}))))},Jr=({plugin:e})=>{e.config.httpResources.asClass?Ur({plugin:e}):Wr({plugin:e})},Yr=({plugin:e})=>{e.registerSymbol({external:`@angular/common/http`,kind:`type`,meta:{category:`external`,resource:`@angular/common/http.HttpRequest`},name:`HttpRequest`}),e.registerSymbol({external:`@angular/core`,meta:{category:`external`,resource:`@angular/core.inject`},name:`inject`}),e.registerSymbol({external:`@angular/core`,meta:{category:`external`,resource:`@angular/core.Injectable`},name:`Injectable`}),e.registerSymbol({external:`@angular/common/http`,meta:{category:`external`,resource:`@angular/common/http.httpResource`},name:`httpResource`}),e.config.httpRequests.enabled&&Hr({plugin:e}),e.config.httpResources.enabled&&Jr({plugin:e})},Xr={config:{exportFromIndex:!1},dependencies:[`@hey-api/client-angular`,`@hey-api/sdk`],handler:Yr,name:`@angular/common`,resolveConfig:(e,t)=>{if(e.config.httpRequests=t.valueToObject({defaultValue:{asClass:!1,classNameBuilder:`{{name}}Requests`,enabled:!0},mappers:{boolean:e=>({enabled:e})},value:e.config.httpRequests}),!e.config.httpRequests.methodNameBuilder){let{asClass:t}=e.config.httpRequests;e.config.httpRequests.methodNameBuilder=e=>t?String(e.id):`${String(e.id)}Request`}if(e.config.httpResources=t.valueToObject({defaultValue:{asClass:!1,classNameBuilder:`{{name}}Resources`,enabled:!0},mappers:{boolean:e=>({enabled:e})},value:e.config.httpResources}),!e.config.httpResources.methodNameBuilder){let{asClass:t}=e.config.httpResources;e.config.httpResources.methodNameBuilder=e=>t?String(e.id):`${String(e.id)}Resource`}}},Zr=v(Xr),Qr={baseUrl:!0,bundle:!0,exportFromIndex:!1},$r={dependencies:[`@hey-api/typescript`],tags:[`client`]},ei=(0,p.fileURLToPath)(require(`url`).pathToFileURL(__filename).href),ti=f.default.dirname(ei),ni=e=>{let t=T(e);if(`bundle`in t.config&&t.config.bundle){let t=e._FRAGILE_CLIENT_BUNDLE_RENAMED;return f.default.resolve(e.output.path,`client`,`${t?.get(`index`)??`index`}.ts`)}return t.name},ri=(e,t)=>{if(d.default.statSync(e).isDirectory()){d.default.existsSync(t)||d.default.mkdirSync(t,{recursive:!0});let n=d.default.readdirSync(e);for(let r of n)ri(f.default.join(e,r),f.default.join(t,r))}else{let n=d.default.readFileSync(e);d.default.writeFileSync(t,n)}},ii=({filePath:e,project:t,renamed:n})=>{let r=f.default.extname(e),i=f.default.basename(e,r),a=t.fileName?.(i)||i;if(a!==i){let t=f.default.dirname(e);d.default.renameSync(e,f.default.resolve(t,`${a}${r}`)),n.set(i,a)}},ai=({filePath:e,meta:t,renamed:n})=>{let r=d.default.readFileSync(e,`utf8`);r=r.replace(/from\s+['"](\.\.?\/[^'"]*?)['"]/g,(e,r)=>{let i=e.indexOf(r),a=f.default.extname(r),o=f.default.basename(r,a),s=f.default.dirname(r),c=(n.get(o)??o)+(t.importFileExtension?t.importFileExtension:a);return e.slice(0,i)+[s,c].filter(Boolean).join(`/`)+e.slice(i+r.length)}),r=`// This file is auto-generated by @hey-api/openapi-ts + +-${r}`,d.default.writeFileSync(e,r,`utf8`)},oi=({meta:e,outputPath:t,plugin:n,project:r})=>{let i=new Map;if(n.name.startsWith(`@hey-api/client-`)){let a=f.default.resolve(t,`core`);se(a),ri(f.default.resolve(ti,`clients`,`core`),a);let o=f.default.resolve(t,`client`);se(o);let s=n.name.slice(16);if(ri(f.default.resolve(ti,`clients`,s),o),r){let e=d.default.readdirSync(a);for(let t of e)ii({filePath:f.default.resolve(a,t),project:r,renamed:i});let t=d.default.readdirSync(o);for(let e of t)ii({filePath:f.default.resolve(o,e),project:r,renamed:i})}let c=d.default.readdirSync(a);for(let t of c)ai({filePath:f.default.resolve(a,t),meta:e,renamed:i});let l=d.default.readdirSync(o);for(let t of l)ai({filePath:f.default.resolve(o,t),meta:e,renamed:i});return i}let a=f.default.isAbsolute(n.name)?f.default.dirname(n.name):void 0;if(a){let e=f.default.resolve(t,`client`);se(e),ri(a,e);return}let o=f.default.normalize(require.resolve(n.name)).split(f.default.sep),s=o.slice(0,o.indexOf(`dist`)+1).join(f.default.sep),c=[o[o.length-1],`index.d.ts`,`index.d.cts`],l=f.default.resolve(t,`client`);se(l);for(let e of c)d.default.copyFileSync(f.default.resolve(s,e),f.default.resolve(l,e))},si=/^(([^:/?#]+):)?((\/\/)?([^:/?#]*)(:?([^/?#]*)))?([^?#]*)(\?([^#]*))?(#(.*))?/,ci=e=>{let t={host:``,path:``,port:``,protocol:``};si.lastIndex=0;let n=e.match(si);if(!n)return t;let r=n[5]||``;if(r===`.`||r===`..`)return t;let i=n[8]||``,a=n[2]||``;return a.length===1?t:{host:r,path:i===`/`?``:i,port:n[7]||``,protocol:a}},li=({plugin:e})=>{let{baseUrl:t}=e.config;if(t===!1)return;if(typeof t==`string`)return t;let{servers:n}=e.context.ir;if(n)return n[typeof t==`number`?t:0]?.url},ui=({plugin:e})=>{let t=ni(e.context.config),n=e.registerSymbol({external:t,name:`createClient`}),r=e.registerSymbol({external:t,name:`createConfig`}),i=e.referenceSymbol({category:`type`,resource:`client`,role:`options`}),{runtimeConfigPath:a}=e.config,o=a?e.registerSymbol({external:a,name:`createClientConfig`}):void 0,s=L.object(),c=li({plugin:e});if(c){let t=ci(c);if(t.protocol&&t.host&&!c.includes(`{`))s.prop(st(e.context.config),L.literal(c));else if(c!==`/`&&c.startsWith(`/`)){let t=c.endsWith(`/`)?c.slice(0,-1):c;s.prop(st(e.context.config),L.literal(t))}}`throwOnError`in e.config&&e.config.throwOnError&&s.prop(`throwOnError`,L.literal(!0));let l=[L(r.placeholder).call(s.hasProps()?s:void 0).generic(i.placeholder)],u=e.registerSymbol({exported:!0,meta:{category:`client`},name:`client`}),d=L.const(u.placeholder).export(u.exported).assign(L(n.placeholder).$if(o,(e,t)=>e.call(L(t.placeholder).call(...l)),e=>e.call(...l)));e.setSymbolValue(u,d)},di=({plugin:e})=>{let t=ni(e.context.config),n=e.referenceSymbol({category:`type`,resource:`client`,role:`options`}),r=e.registerSymbol({external:t,kind:`type`,name:`Config`}),i=e.registerSymbol({external:t,kind:`type`,name:`ClientOptions`}),a=e.registerSymbol({exported:!0,kind:`type`,name:`CreateClientConfig`}),o=L.type.alias(a.placeholder).export(a.exported).doc(["The `createClientConfig()` function will be called on client initialization",`and the returned object will become the client's initial configuration.`,``,`You may want to initialize your client this way instead of calling`,"`setConfig()`. This is useful for example if you're using Next.js",`to ensure your client always has the correct values.`]).generic(`T`,e=>e.extends(i.placeholder).default(n.placeholder)).type(L.type.func().param(`override`,e=>e.optional().type(L.type(r.placeholder).generic(L.type.and(i.placeholder,`T`)))).returns(L.type(r.placeholder).generic(L.type.and(L.type(`Required`).generic(i.placeholder),`T`))));e.setSymbolValue(a,o)},fi=({plugin:e})=>{di({plugin:e}),ui({plugin:e})},pi={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-angular`},mi=v(pi),hi={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-axios`},gi=v(hi),_i={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-fetch`},vi=v(_i),yi={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-ky`},bi=v(yi),xi={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-next`},Si=v(xi),Ci={...$r,config:Qr,handler:fi,name:`@hey-api/client-nuxt`},wi=v(Ci),Ti={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-ofetch`},Ei=v(Ti),Di=(...e)=>g.satisfies(...e),Oi=e=>({getVersion:t=>{let n=e[t];if(n)try{let e=g.parse(n);if(e)return e;let t=g.minVersion(n);if(t)return t;if(e=g.coerce(n),e)return e}catch{}},isInstalled:t=>!!e[t],satisfies:(t,n,r)=>{let i=typeof t==`string`?e[t]:t;return i?Di(i,n,r):!1}}),ki=[tn,rn,en,nn,$t],Ai=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,`_`);if(Zt.lastIndex=0,Zt.test(t))return`_${t}`;for(let e of ki){if(t.startsWith(`_`))return t;t=t.replace(e,`_$1`)}return t},ji=({plugin:e,schema:t})=>{e.config.type===`form`&&(t.description&&delete t.description,t[`x-enum-descriptions`]&&delete t[`x-enum-descriptions`],t[`x-enum-varnames`]&&delete t[`x-enum-varnames`],t[`x-enumNames`]&&delete t[`x-enumNames`],t.title&&delete t.title)},Mi=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Mi({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(r.$ref)return r.$ref=decodeURI(r.$ref),r;if(ji({plugin:t,schema:r}),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Mi({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Mi({context:e,plugin:t,schema:n})),r.items&&=Mi({context:e,plugin:t,schema:r.items}),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Mi({context:e,plugin:t,schema:i}))}return r},Ni=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Ni({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(`$ref`in r)return r.$ref=decodeURI(r.$ref),r;if(ji({plugin:t,schema:r}),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Ni({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.anyOf&&=r.anyOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.items&&=Ni({context:e,plugin:t,schema:r.items}),r.oneOf&&=r.oneOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Ni({context:e,plugin:t,schema:i}))}return r},Pi=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Pi({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(ji({plugin:t,schema:r}),r.$ref&&=decodeURI(r.$ref),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Pi({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Pi({context:e,plugin:t,schema:n})),r.anyOf&&=r.anyOf.map(n=>Pi({context:e,plugin:t,schema:n})),r.items&&=Pi({context:e,plugin:t,schema:r.items}),r.oneOf&&=r.oneOf.map(n=>Pi({context:e,plugin:t,schema:n})),r.prefixItems&&=r.prefixItems.map(n=>Pi({context:e,plugin:t,schema:n})),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Pi({context:e,plugin:t,schema:i}))}return r},Fi=({name:e,plugin:t,schema:n})=>{let r=``;return t.config.nameBuilder&&(r=typeof t.config.nameBuilder==`function`?t.config.nameBuilder(e,n):t.config.nameBuilder.replace(`{{name}}`,e)),r||=`${e}Schema`,Ai(r)},Ii=({context:e,plugin:t})=>{if(e.spec.definitions)for(let n in e.spec.definitions){let r=e.spec.definitions[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Fi({name:n,plugin:t,schema:r})}),a=Mi({context:e,plugin:t,schema:r}),o=L.const(i.placeholder).export(i.exported).assign(L(L.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Li=({context:e,plugin:t})=>{if(e.spec.components)for(let n in e.spec.components.schemas){let r=e.spec.components.schemas[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Fi({name:n,plugin:t,schema:r})}),a=Ni({context:e,plugin:t,schema:r}),o=L.const(i.placeholder).export(i.exported).assign(L(L.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Ri=({context:e,plugin:t})=>{if(e.spec.components)for(let n in e.spec.components.schemas){let r=e.spec.components.schemas[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Fi({name:n,plugin:t,schema:r})}),a=Pi({context:e,plugin:t,schema:r}),o=L.const(i.placeholder).export(i.exported).assign(L(L.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},zi=({plugin:e})=>{if(`swagger`in e.context.spec){Ii({context:e.context,plugin:e});return}if(Di(e.context.spec.openapi,`>=3.0.0 <3.1.0`)){Li({context:e.context,plugin:e});return}if(Di(e.context.spec.openapi,`>=3.1.0`)){Ri({context:e.context,plugin:e});return}throw Error(`Unsupported OpenAPI specification`)},Bi={config:{exportFromIndex:!1,nameBuilder:e=>`${e}Schema`,type:`json`},handler:zi,name:`@hey-api/schemas`},Vi=v(Bi),Hi=`__registry`,Ui=({sdkName:e,symbol:t})=>{let n=`defaultKey`,r=`instances`;return L.class(t.placeholder).export(t.exported).generic(`T`).field(n,e=>e.private().readonly().assign(L.literal(`default`))).newline().field(r,e=>e.private().readonly().type(L.type(`Map`).generics(`string`,`T`)).assign(L.new(`Map`))).newline().method(`get`,t=>t.returns(`T`).param(`key`,e=>e.type(`string`).optional()).do(L.const(`instance`).assign(L(`this`).attr(`instances`).attr(`get`).call(L(`key`).coalesce(L(`this`).attr(n)))),L.if(L.not(`instance`)).do(L.throw(`Error`).message(L.template(`No SDK client found. Create one with "new `).add(e).add(`()" to fix this error.`))),L.return(`instance`))).newline().method(`set`,e=>e.returns(`void`).param(`value`,e=>e.type(`T`)).param(`key`,e=>e.type(`string`).optional()).do(L(`this`).attr(r).attr(`set`).call(L(`key`).coalesce(L(`this`).attr(n)),`value`)))},Wi=({plugin:e,symbol:t})=>{let n=e.getSymbol({category:`client`}),r=!!(e.config.client&&n),i=e.referenceSymbol({category:`external`,resource:`client.Client`});return L.class(t.placeholder).export(t.exported).field(`client`,e=>e.protected().type(i.placeholder)).newline().init(e=>e.param(`args`,e=>e.optional(r).type(L.type.object().prop(`client`,e=>e.optional(r).type(i.placeholder)))).do(L(`this`).attr(`client`).assign(L(`args`).attr(`client`).optional(r).$if(r,e=>e.coalesce(n.placeholder)))))},Gi=({plugin:e})=>{let t=T(e.context.config),n=t.name===`@hey-api/client-angular`,r=t.name===`@hey-api/client-nuxt`,i=new Map,a=new Set;e.forEach(`operation`,({operation:a})=>{let o=B({context:e.context,operation:a}),s=r?e.querySymbol({category:`type`,resource:`operation`,resourceId:a.id,role:`response`}):void 0,c=Ar({context:e.context,operation:a,plugin:e});for(let l of c.values())l.path.forEach((c,u)=>{let d=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:c,tool:`sdk`});i.has(d.meta.resourceId)||i.set(d.meta.resourceId,{className:d.meta.resourceId,classes:new Set,id:d.id,methods:new Set,nodes:[],root:!u});let f=l.path[u-1];if(f){let t=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:f,tool:`sdk`});if(t.meta?.resourceId!==d.meta?.resourceId){let e=i.get(t.meta.resourceId);e.classes.add(d.meta.resourceId),i.set(t.meta.resourceId,e)}}if(l.path.length!==u+1)return;let p=i.get(d.meta.resourceId);if(p.methods.has(l.methodName))return;let m=Mr({isRequiredOptions:o,operation:a,plugin:e}),h=Pr({isRequiredOptions:o,opParameters:m,operation:a,plugin:e}),g=L.method(l.methodName,i=>i.$if(z(a),(e,t)=>e.doc(t)).public().static(!n&&!e.config.instance).$if(r,t=>t.generic(hr,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(L.type.literal(`$fetch`))).generic(gr,e=>e.$if(s,(e,t)=>e.extends(t.placeholder).default(t.placeholder))),e=>e.generic(`ThrowOnError`,e=>e.extends(`boolean`).default((`throwOnError`in t.config?t.config.throwOnError:!1)??!1))).params(...m.parameters).do(...h));p.nodes.length?p.nodes.push(L.newline(),g):p.nodes.push(g),p.methods.add(l.methodName),i.set(d.meta.resourceId,p)})},{order:`declarations`});let o=e.config.instance?e.registerSymbol({exported:!1,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:`HeyApiClient`,tool:`sdk`},name:`HeyApiClient`}):void 0,s=e.config.instance?e.registerSymbol({exported:!1,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:`HeyApiRegistry`,tool:`sdk`},name:`HeyApiRegistry`}):void 0,c=t=>{if(a.has(t.className))return;let r=t.className;if(a.add(r),t.classes.size)for(let n of t.classes){let r=i.get(n);c(r);let a=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:r.className,tool:`sdk`}),o=b({case:`camelCase`,value:a.meta.resourceId});if(t.methods.has(o)){let e=2,n=`${o}${e}`;for(;t.methods.has(n);)n=`${o}${e++}`;o=n}t.methods.add(o);let s=e.isSymbolRegistered(a.id)?L.field(o,t=>t.static(!e.config.instance).assign(e.config.instance?L.new(a.placeholder).args(L.object().prop(`client`,L(`this`).attr(`client`))):L(a.placeholder))):L.getter(o,t=>t.$if(!e.config.instance,e=>e.public().static()).do(L.return(e.config.instance?L.new(a.placeholder).args(L.object().prop(`client`,L(`this`).attr(`client`))):a.placeholder)));t.nodes.length?t.nodes.push(L.newline(),s):t.nodes.push(s)}if(o&&!e.gen.symbols.hasValue(o.id)){let t=Wi({plugin:e,symbol:o});e.setSymbolValue(o,t)}let l=e.registerSymbol({exported:!0,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:r,tool:`sdk`},name:r});if(t.root&&s){let n=e.getSymbol({category:`client`}),r=!e.config.client||!n,i=e.referenceSymbol({category:`external`,resource:`client.Client`}),a=L.init(e=>e.param(`args`,e=>e.required(r).type(L.type.object().prop(`client`,e=>e.required(r).type(i.placeholder)).prop(`key`,e=>e.optional().type(`string`)))).do(L(`super`).call(`args`),L(l.placeholder).attr(Hi).attr(`set`).call(`this`,L(`args`).attr(`key`).required(r))));t.nodes.length?t.nodes.unshift(a,L.newline()):t.nodes.unshift(a);let o=Ui({plugin:e,sdkName:l.placeholder,symbol:s});e.setSymbolValue(s,o);let c=L.field(Hi,e=>e.public().static().readonly().assign(L.new(s.placeholder).generic(l.placeholder)));t.nodes.unshift(c,L.newline())}let u=L.class(l.placeholder).export(l.exported).extends(o?.placeholder).$if(t.root&&n,t=>t.decorator(e.referenceSymbol({category:`external`,resource:`@angular/core.Injectable`}).placeholder,L.object().prop(`providedIn`,L.literal(`root`)))).do(...t.nodes);e.setSymbolValue(l,u)};for(let e of i.values())c(e)},Ki=({id:e,operation:t,plugin:n})=>n.config.methodNameBuilder?n.config.methodNameBuilder(t):e.match(tn)?`${e}_`:e,qi=({plugin:e})=>{let t=T(e.context.config),n=t.name===`@hey-api/client-nuxt`;e.forEach(`operation`,r=>{let{operation:i}=r,a=B({context:e.context,operation:i}),o=n?e.querySymbol({category:`type`,resource:`operation`,resourceId:i.id,role:`response`}):void 0,s=Mr({isRequiredOptions:a,operation:i,plugin:e}),c=Pr({isRequiredOptions:a,opParameters:s,operation:i,plugin:e}),l=e.registerSymbol({exported:!0,meta:{category:`sdk`,path:r._path,resource:`operation`,resourceId:i.id,tags:r.tags,tool:`sdk`},name:Ki({id:i.id,operation:i,plugin:e})}),u=L.const(l.placeholder).export(l.exported).$if(z(i),(e,t)=>e.doc(t)).assign(L.func().params(...s.parameters).$if(n,t=>t.generic(hr,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(L.type.literal(`$fetch`))).generic(gr,e=>e.$if(o,(e,t)=>e.extends(t.placeholder).default(t.placeholder),e=>e.default(`undefined`))),e=>e.generic(`ThrowOnError`,e=>e.extends(`boolean`).default((`throwOnError`in t.config?t.config.throwOnError:!1)??!1))).do(...c));e.setSymbolValue(l,u)},{order:`declarations`})},Ji=({plugin:e})=>{let t=ni(e.context.config),n=T(e.context.config),r=n.name===`@hey-api/client-nuxt`,i=e.registerSymbol({external:t,kind:`type`,name:`TDataShape`}),a=e.registerSymbol({external:t,kind:`type`,meta:{category:`external`,resource:`client.Client`,tool:n.name},name:`Client`}),o=e.registerSymbol({external:t,kind:`type`,name:`Options`}),s=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`client-options`,tool:`sdk`},name:`Options`}),c=L.type.alias(s.placeholder).export(s.exported).$if(r,t=>t.generic(`TComposable`,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(L.type.literal(`$fetch`))).generic(`TData`,e=>e.extends(i.placeholder).default(i.placeholder)).generic(_r,e=>e.default(`unknown`)).generic(gr,e=>e.default(`undefined`)),e=>e.generic(`TData`,e=>e.extends(i.placeholder).default(i.placeholder)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(`boolean`))).type(L.type.and(L.type(o.placeholder).$if(r,e=>e.generic(`TComposable`).generic(`TData`).generic(_r).generic(gr),e=>e.generic(`TData`).generic(`ThrowOnError`)),L.type.object().prop(`client`,t=>t.doc(["You can provide a client instance returned by `createClient()` instead of",`individual options. This might be also useful if you want to implement a`,`custom client.`]).required(!e.config.client&&!e.config.instance).type(a.placeholder)).prop(`meta`,e=>e.doc(["You can pass arbitrary values through the `meta` object. This can be",`used to access values that aren't defined as part of the SDK function.`]).optional().type(L.type(`Record`).generics(`string`,`unknown`)))));e.setSymbolValue(s,c)},Yi=({plugin:e})=>{let t=ni(e.context.config),n=T(e.context.config),r=n.name===`@hey-api/client-angular`,i=n.name===`@hey-api/client-nuxt`;e.registerSymbol({external:t,meta:{category:`external`,resource:`client.formDataBodySerializer`,tool:n.name},name:`formDataBodySerializer`}),e.registerSymbol({external:t,meta:{category:`external`,resource:`client.urlSearchParamsBodySerializer`,tool:n.name},name:`urlSearchParamsBodySerializer`}),e.registerSymbol({external:t,meta:{category:`external`,resource:`client.buildClientParams`,tool:n.name},name:`buildClientParams`}),i&&e.registerSymbol({external:t,kind:`type`,meta:{category:`external`,resource:`client.Composable`,tool:n.name},name:`Composable`}),r&&e.config.asClass&&e.registerSymbol({external:`@angular/core`,meta:{category:`external`,resource:`@angular/core.Injectable`},name:`Injectable`}),Ji({plugin:e}),e.config.asClass?Gi({plugin:e}):qi({plugin:e})},Xi=e=>Yi(e),Zi={config:{asClass:!1,auth:!0,classNameBuilder:`{{name}}`,classStructure:`auto`,client:!0,exportFromIndex:!0,instance:!1,operationId:!0,paramsStructure:`grouped`,response:`body`,responseStyle:`fields`,transformer:!1,validator:!1},dependencies:[`@hey-api/typescript`],handler:Xi,name:`@hey-api/sdk`,resolveConfig:(e,t)=>{e.config.client?(typeof e.config.client==`boolean`&&(e.config.client=t.pluginByTag(`client`,{defaultPlugin:`@hey-api/client-fetch`})),e.dependencies.add(e.config.client)):e.config.client=!1,e.config.transformer?(typeof e.config.transformer==`boolean`&&(e.config.transformer=t.pluginByTag(`transformer`)),e.dependencies.add(e.config.transformer)):e.config.transformer=!1,typeof e.config.validator!=`object`&&(e.config.validator={request:e.config.validator,response:e.config.validator}),e.config.validator.request?(typeof e.config.validator.request==`boolean`&&(e.config.validator.request=t.pluginByTag(`validator`)),e.dependencies.add(e.config.validator.request)):e.config.validator.request=!1,e.config.validator.response?(typeof e.config.validator.response==`boolean`&&(e.config.validator.response=t.pluginByTag(`validator`)),e.dependencies.add(e.config.validator.response)):e.config.validator.response=!1,e.config.instance?(typeof e.config.instance!=`string`&&(e.config.instance=`Sdk`),e.config.asClass=!0):e.config.instance=!1,e.config.classNameBuilder===`{{name}}`&&e.config.client===`@hey-api/client-angular`&&(e.config.classNameBuilder=`{{name}}Service`)}},Qi=v(Zi),$i=({dataExpression:e,schema:t})=>{if(t.type!==`integer`||t.format!==`int64`)return;let n=e===void 0?void 0:L(`BigInt`).call(L.expr(e).attr(`toString`).call());if(n){if(typeof e==`string`)return[n];if(e)return[L.expr(e).assign(n)]}},ea=({dataExpression:e,schema:t})=>{if(!(t.type!==`string`||!(t.format===`date`||t.format===`date-time`))){if(typeof e==`string`)return[L.new(`Date`).arg(e)];if(e)return[L.expr(e).assign(L.new(`Date`).arg(e))]}},ta=`data`,na=new Set,ra=e=>e.map(e=>L.stmt(e).$render()),ia=({node:e})=>(e instanceof O&&(e=e.$render()),e.kind===m.default.SyntaxKind.ReturnStatement),aa=({plugin:e,schema:t})=>{let n=oa({dataExpression:L(ta),plugin:e,schema:t});if(n.length){let e=n[n.length-1];ia({node:e})||n.push(L.return(ta))}return n},oa=({dataExpression:e,plugin:t,schema:n})=>{if(n.$ref){let r={category:`transform`,resource:`definition`,resourceId:n.$ref},i=t.getSymbol(r);if(i||(i=t.registerSymbol({meta:r,name:x({config:{case:`camelCase`,name:`{{name}}SchemaResponseTransformer`},name:R(n.$ref)})}),t.setSymbolValue(i,null)),!t.gen.symbols.getValue(i.id)&&!na.has(i.id)){na.add(i.id);try{let e=aa({plugin:t,schema:t.context.resolveIrRef(n.$ref)});if(e.length){let n=L.const(i.placeholder).assign(L.func().param(ta,e=>e.type(`any`)).do(...ra(e)));t.setSymbolValue(i,n)}}finally{na.delete(i.id)}}if(t.gen.symbols.getValue(i.id)||na.has(i.id)){let n=L(t.referenceSymbol(r).placeholder).call(e);if(e)return typeof e==`string`&&e===`item`?[L.return(n)]:[typeof e==`string`?n:L(e).assign(n)]}return[]}if(n.type===`array`){if(!e||typeof e==`string`)return[];let r=n.items?oa({dataExpression:`item`,plugin:t,schema:n.items?.[0]?n.items[0]:{...n,type:void 0}}):[];if(!r.length)return[];let i=ra(r);return i.some(e=>ia({node:e}))||i.push(L.return(`item`)),[L(e).assign(L(e).attr(`map`).call(L.func().param(`item`,e=>e.type(`any`)).do(...i)))]}if(n.type===`object`){let r=[],i=n.required??[];for(let a in n.properties){let o=n.properties[a],s=L(e||ta).attr(a),c=oa({dataExpression:s,plugin:t,schema:o});if(!c.length)continue;let l=!o.items?.find(e=>e.type===`null`);i.includes(a)&&l?r=r.concat(c):r.push(L.if(s).do(...ra(c)))}return r}if(n.items){if(n.items.length===1)return oa({dataExpression:`item`,plugin:t,schema:n.items[0]});let r=[];if(n.logicalOperator===`and`||n.items.length===2&&n.items.find(e=>e.type===`null`||e.type===`void`)){for(let i of n.items){let n=oa({dataExpression:e||`item`,plugin:t,schema:i});n.length&&(e?r=r.concat(n):r.push(L.if(`item`).do(...ra(n)),L.return(`item`)))}return r}n.type!==`enum`&&((n.items??[]).every(e=>[`boolean`,`integer`,`null`,`number`,`string`].includes(e.type))||console.warn(`❗️ Transformers warning: schema ${JSON.stringify(n)} is too complex and won't be currently processed. This will likely produce an incomplete transformer which is not what you want. Please open an issue if you'd like this improved https://github.com/hey-api/openapi-ts/issues`))}for(let r of t.config.transformers){let i=r({config:t.config,dataExpression:e,schema:n});if(i)return i}return[]},sa=({plugin:e})=>{e.forEach(`operation`,({operation:t})=>{let{response:n}=at(t);if(!n)return;if(n.items&&n.items.length>1){e.context.config.logs.level===`debug`&&console.warn(`❗️ Transformers warning: route ${w(t)} has ${n.items.length} non-void success responses. This is currently not handled and we will not generate a response transformer. Please open an issue if you'd like this feature https://github.com/hey-api/openapi-ts/issues`);return}let r=e.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`response`});if(!r)return;let i=aa({plugin:e,schema:n});if(!i.length)return;let a=e.registerSymbol({exported:!0,meta:{category:`transform`,resource:`operation`,resourceId:t.id,role:`response`},name:x({config:{case:`camelCase`,name:`{{name}}ResponseTransformer`},name:t.id})}),o=L.const(a.placeholder).export(a.exported).assign(L.func().async().param(ta,e=>e.type(`any`)).returns(L.type(`Promise`).generic(r.placeholder)).do(...ra(i)));e.setSymbolValue(a,o)},{order:`declarations`})},ca={config:{bigInt:!0,dates:!0,exportFromIndex:!1,transformers:[],typeTransformers:[]},dependencies:[`@hey-api/typescript`],handler:sa,name:`@hey-api/transformers`,resolveConfig:e=>{e.config.transformers||(e.config.transformers=[]),e.config.dates&&(e.config.transformers=[...e.config.transformers,ea]),e.config.bigInt&&(e.config.transformers=[...e.config.transformers,$i])},tags:[`transformer`]},la=v(ca),ua=({server:e})=>{let t=ci(e.url);return t.protocol&&t.host?L.type.literal(e.url):L.type.template().add(t.protocol||L.type(`string`)).add(`://`).add(t.host||L.type(`string`)).add(t.port?`:${t.port}`:``).add(t.path||``)},da=({plugin:e,servers:t,symbolClientOptions:n})=>{let r=T(e.context.config),i=t.map(e=>ua({server:e}));t.length?`strictBaseUrl`in r.config&&r.config.strictBaseUrl||i.push(L.type.and(L.type(`string`),L.type.object())):i.push(L.type(`string`));let a=L.type.alias(n.placeholder).export(n.exported).type(L.type.object().prop(st(e.context.config),e=>e.type(L.type.or(...i))));e.setSymbolValue(n,a)},V=e=>{let t=[];return e.title&&t.push(Fr(e.title)),e.description&&(t.length&&t.push(``),t.push(Fr(e.description))),e.deprecated&&(t.length&&t.push(``),t.push(`@deprecated`)),t.length?t:void 0},fa=({plugin:e,schema:t})=>{let n=[];return{obj:(t.items??[]).map((t,r)=>{let i=typeof t.const;n.includes(i)||n.push(i);let a;return a=t.title?t.title:i===`number`||i===`string`?`${t.const}`:i===`boolean`?t.const?`true`:`false`:t.const===null?`null`:`${r}`,a&&(a=b({case:e.config.enums.case,stripLeadingSeparators:!1,value:a}),Qt.lastIndex=0,Qt.test(a)&&e.config.enums.enabled&&(e.config.enums.mode===`typescript`||e.config.enums.mode===`typescript-const`)&&(a=`_${a}`)),{key:a,schema:t}}),typeofItems:n}},pa=({plugin:e,schema:t,symbol:n,type:r})=>{if(t.type===`enum`&&e.config.enums.enabled){let r=fa({plugin:e,schema:t});if(e.config.enums.mode===`javascript`){e.config.enums.constantsIgnoreNull&&r.typeofItems.includes(`object`)&&(r.obj=r.obj.filter(e=>e.schema.const!==null));let i=L.const(n.placeholder).export().$if(V(t),(e,t)=>e.doc(t)).assign(L.object(...r.obj.map(e=>L.prop({kind:`prop`,name:e.key}).$if(V(e.schema),(e,t)=>e.doc(t)).value(L.fromValue(e.schema.const)))).as(`const`)),a=L.type.alias(n.placeholder).export().$if(V(t),(e,t)=>e.doc(t)).type(L.type(n.placeholder).idx(L.type(n.placeholder).typeof().keyof()).typeof());e.setSymbolValue(n,[i,a]);return}else if((e.config.enums.mode===`typescript`||e.config.enums.mode===`typescript-const`)&&!r.typeofItems.some(e=>e!==`number`&&e!==`string`)){let i=L.enum(n.placeholder).export().$if(V(t),(e,t)=>e.doc(t)).const(e.config.enums.mode===`typescript-const`).members(...r.obj.map(e=>L.member(e.key).$if(V(e.schema),(e,t)=>e.doc(t)).value(L.fromValue(e.schema.const))));e.setSymbolValue(n,i);return}}let i=L.type.alias(n.placeholder).export(n.exported).$if(V(t),(e,t)=>e.doc(t)).type(r);e.setSymbolValue(n,i)},ma=({parameters:e})=>{let t={type:`object`};if(e){let n={},r=[];for(let t in e){let i=e[t];n[i.name]=S({detectFormat:!1,schema:i.schema}),i.required&&r.push(i.name)}t.properties=n,r.length&&(t.required=r)}return t},ha=({operation:e,plugin:t,state:n})=>{let r={type:`object`},i=[];r.properties||={},e.body?(r.properties.body=e.body.schema,e.body.required&&i.push(`body`)):r.properties.body={type:`never`},e.parameters?.header&&(r.properties.headers=ma({parameters:e.parameters.header}),r.properties.headers.required&&i.push(`headers`)),e.parameters?.path?(r.properties.path=ma({parameters:e.parameters.path}),r.properties.path.required&&i.push(`path`)):r.properties.path={type:`never`},e.parameters?.query?(r.properties.query=ma({parameters:e.parameters.query}),r.properties.query.required&&i.push(`query`)):r.properties.query={type:`never`},r.properties.url={const:e.path,type:`string`},i.push(`url`),r.required=i;let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:x({config:t.config.requests,name:e.id})}),o=L.type.alias(a.placeholder).export(a.exported).type(H({plugin:t,schema:r,state:n}));t.setSymbolValue(a,o)},ga=({operation:e,plugin:t,state:n})=>{ha({operation:e,plugin:t,state:n});let{error:r,errors:i,response:a,responses:o}=at(e);if(i){let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`errors`,tags:n.tags?.value,tool:`typescript`},name:x({config:t.config.errors,name:e.id})}),o=L.type.alias(a.placeholder).export(a.exported).type(H({plugin:t,schema:i,state:n}));if(t.setSymbolValue(a,o),r){let r=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`error`,tags:n.tags?.value,tool:`typescript`},name:x({config:{case:t.config.errors.case,name:t.config.errors.error},name:e.id})}),i=L.type.alias(r.placeholder).export(r.exported).type(L.type(a.placeholder).idx(L.type(a.placeholder).keyof()));t.setSymbolValue(r,i)}}if(o){let r=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`responses`,tags:n.tags?.value,tool:`typescript`},name:x({config:t.config.responses,name:e.id})}),i=L.type.alias(r.placeholder).export(r.exported).type(H({plugin:t,schema:o,state:n}));if(t.setSymbolValue(r,i),a){let i=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`response`,tags:n.tags?.value,tool:`typescript`},name:x({config:{case:t.config.responses.case,name:t.config.responses.response},name:e.id})}),a=L.type.alias(i.placeholder).export(i.exported).type(L.type(r.placeholder).idx(L.type(r.placeholder).keyof()));t.setSymbolValue(i,a)}}},_a=({operation:e,plugin:t,state:n})=>{let r={type:`object`},i=[];if(r.properties||={},e.body){let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`webhook`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:x({config:{case:t.config.webhooks.case,name:t.config.webhooks.payload},name:e.id})}),o=L.type.alias(a.placeholder).export(a.exported).$if(V(e.body.schema),(e,t)=>e.doc(t)).type(H({plugin:t,schema:e.body.schema,state:n}));t.setSymbolValue(a,o),t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:a.placeholder,tags:n.tags?.value,tool:`typescript`},name:a.name,placeholder:a.placeholder}),r.properties.body={$ref:a.placeholder},i.push(`body`)}else r.properties.body={type:`never`};r.properties.key={const:e.path,type:`string`},i.push(`key`),r.properties.path={type:`never`},r.properties.query={type:`never`},r.required=i;let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`webhook`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:x({config:t.config.webhooks,name:e.id})}),o=L.type.alias(a.placeholder).export(a.exported).type(H({plugin:t,schema:r,state:n}));return t.setSymbolValue(a,o),a.placeholder},va=({operation:e,plugin:t,state:n})=>_a({operation:e,plugin:t,state:n}),ya=({plugin:e,symbolWebhooks:t,webhookNames:n})=>{if(!n.length)return;let r=L.type.alias(t.placeholder).export(t.exported).type(L.type.or(...n));e.setSymbolValue(t,r)},ba=({plugin:e,schema:t,state:n})=>{if(!t.items)return L.type(`Array`).generic(L.type(e.config.topType));t=S({detectFormat:!0,schema:t});let r=[];return t.items&&t.items.forEach((t,i)=>{let a=H({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});r.push(a)}),r.length===1?L.type(`Array`).generic(r[0]):t.logicalOperator===`and`?L.type(`Array`).generic(L.type.and(...r)):L.type(`Array`).generic(L.type.or(...r))},xa=({schema:e})=>e.const===void 0?L.type(`boolean`):L.type.literal(e.const),Sa=({plugin:e,schema:t,state:n})=>H({plugin:e,schema:{...t,type:void 0},state:n}),Ca=e=>L.type(`never`),wa=e=>L.type.literal(null),Ta=({plugin:e,schema:t})=>t.const===void 0?t.type===`integer`&&t.format===`int64`&&e.getPlugin(`@hey-api/transformers`)?.config.bigInt?L.type(`bigint`):L.type(`number`):L.type.literal(t.const),Ea=({plugin:e,schema:t,state:n})=>{let r=L.type.object(),i=t.required??[],a=[],o=!1;for(let s in t.properties){let c=t.properties[s],l=H({plugin:e,schema:c,state:{...n,path:E([...n.path.value,`properties`,s])}}),u=i.includes(s);r.prop(s,e=>e.$if(V(c),(e,t)=>e.doc(t)).readonly(c.accessScope===`read`).required(u).type(l)),a.push(c),u||(o=!0)}if(t.patternProperties)for(let e in t.patternProperties){let n=t.patternProperties[e];a.unshift(n)}let s=!!t.patternProperties&&Object.keys(t.patternProperties).length>0,c=t.additionalProperties,l=c!==!1&&c?c:void 0;if(s||l&&(l.type!==`never`||!a.length)){let i=l;i&&i.type!==`never`?a.unshift(i):!s&&!a.length&&i&&i.type===`never`&&(a=[i]),o&&a.push({type:`undefined`});let c=a.length===1?H({plugin:e,schema:a[0],state:n}):H({plugin:e,schema:{items:a,logicalOperator:`or`},state:n});if(t.propertyNames?.$ref)return L.type.mapped(`key`).key(H({plugin:e,schema:{$ref:t.propertyNames.$ref},state:n})).optional().type(c);r.idxSig(`key`,e=>e.key(`string`).type(c))}return r},Da=({plugin:e,schema:t})=>{if(t.const!==void 0)return L.type.literal(t.const);if(t.format){if(t.format===`binary`)return L.type.or(L.type(`Blob`),L.type(`File`));if((t.format===`date-time`||t.format===`date`)&&e.getPlugin(`@hey-api/transformers`)?.config.dates)return L.type(`Date`);if(t.format===`typeid`&&typeof t.example==`string`){let n=String(t.example).split(`_`);n.pop();let r=n.join(`_`),i={category:`type`,resource:`type-id`,resourceId:r,tool:`typescript`};if(!e.getSymbol(i)){let t={category:`type`,resource:`type-id`,tool:`typescript`,variant:`container`};if(!e.getSymbol(t)){let n=e.registerSymbol({exported:!0,kind:`type`,meta:t,name:`TypeID`}),r=L.type.alias(n.placeholder).export(n.exported).generic(`T`,e=>e.extends(`string`)).type(L.type.template().add(L.type(`T`)).add(`_`).add(L.type(`string`)));e.setSymbolValue(n,r)}let n=e.referenceSymbol(t),a=e.registerSymbol({exported:!0,kind:`type`,meta:i,name:b({case:e.config.case,value:`${r}_id`})}),o=L.type.alias(a.placeholder).export(a.exported).type(L.type(n.placeholder).generic(L.type.literal(r)));e.setSymbolValue(a,o)}let a=e.referenceSymbol(i);return L.type(a.placeholder)}}return L.type(`string`)},Oa=({plugin:e,schema:t,state:n})=>{let r=[];return t.const&&Array.isArray(t.const)?r=t.const.map(e=>L.type.fromValue(e)):t.items&&t.items.forEach((t,i)=>{let a=H({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});r.push(a)}),L.type.tuple(...r)},ka=e=>L.type(`undefined`),Aa=({plugin:e})=>L.type(e.config.topType),ja=e=>L.type(`void`),Ma=({schema:e,...t})=>{let n=t.plugin.getPlugin(`@hey-api/transformers`);if(n?.config.typeTransformers)for(let t of n.config.typeTransformers){let n=t({schema:e});if(n)return n}switch(e.type){case`array`:return ba({...t,schema:e});case`boolean`:return xa({...t,schema:e});case`enum`:return Sa({...t,schema:e});case`integer`:case`number`:return Ta({...t,schema:e});case`never`:return Ca({...t,schema:e});case`null`:return wa({...t,schema:e});case`object`:return Ea({...t,schema:e});case`string`:return Da({...t,schema:e});case`tuple`:return Oa({...t,schema:e});case`undefined`:return ka({...t,schema:e});case`unknown`:return Aa({...t,schema:e});case`void`:return ja({...t,schema:e})}},H=({plugin:e,schema:t,state:n})=>{if(t.$ref){let n=e.referenceSymbol({category:`type`,resource:`definition`,resourceId:t.$ref});return L.type(n.placeholder)}if(t.type)return Ma({plugin:e,schema:t,state:n});if(t.items){if(t=S({detectFormat:!1,schema:t}),t.items){let r=t.items.map(t=>H({plugin:e,schema:t,state:n}));return t.logicalOperator===`and`?L.type.and(...r):L.type.or(...r)}return H({plugin:e,schema:t,state:n})}return Ma({plugin:e,schema:{type:`unknown`},state:n})},Na=({plugin:e,schema:t,state:n})=>{let r=H({plugin:e,schema:t,state:n}),i=t.type===`enum`&&e.config.enums.enabled,a=Cr(n.path.value);pa({plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,kind:i?void 0:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:a,tags:n.tags?.value,tool:`typescript`},name:x({config:e.config.definitions,name:R(a)})}),type:r})},Pa=({plugin:e})=>{let t=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`client`,role:`options`,tool:`typescript`},name:x({config:{case:e.config.case},name:`ClientOptions`})}),n=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`webhook`,tool:`typescript`,variant:`container`},name:x({config:{case:e.config.case},name:`Webhooks`})}),r=[],i=[];e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`server`,`webhook`,t=>{let n=D({path:t._path,tags:t.tags});switch(t.type){case`operation`:ga({operation:t.operation,plugin:e,state:n});break;case`parameter`:Na({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Na({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Na({plugin:e,schema:t.schema,state:n});break;case`server`:r.push(t.server);break;case`webhook`:i.push(va({operation:t.operation,plugin:e,state:n}));break}},{order:`declarations`}),da({plugin:e,servers:r,symbolClientOptions:t}),ya({plugin:e,symbolWebhooks:n,webhookNames:i})};var Fa=class{schemaToType(e){return H(e)}};const Ia=e=>Pa(e),La={api:new Fa,config:{case:`PascalCase`,exportFromIndex:!0,topType:`unknown`},handler:Ia,name:`@hey-api/typescript`,resolveConfig:(e,t)=>{e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.definitions}),e.config.enums=t.valueToObject({defaultValue:{case:`SCREAMING_SNAKE_CASE`,constantsIgnoreNull:!1,enabled:!!e.config.enums,mode:`javascript`},mappers:{boolean:e=>({enabled:e}),string:e=>({mode:e})},value:e.config.enums}),e.config.errors=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,error:`{{name}}Error`,name:`{{name}}Errors`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.errors}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}Data`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}Responses`,response:`{{name}}Response`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}WebhookRequest`,payload:`{{name}}WebhookPayload`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.webhooks})}},Ra=v(La),za=(e,t,n)=>{let r=e.config[n].meta;if(!r)return;let i=r(t);if(Object.keys(i).length)return L.fromValue(i)},Ba=({operation:e,plugin:t})=>jr({operation:e,plugin:t.getPluginOrThrow(`@hey-api/sdk`)}),Va=({operation:e,plugin:t})=>{let n=T(t.context.config),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`error`})?.placeholder;return r||=`Error`,n.name===`@hey-api/client-axios`&&(r=`${t.referenceSymbol({category:`external`,resource:`axios.AxiosError`}).placeholder}<${r}>`),r},Ha=({operation:e,plugin:t})=>t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`,Ua=({plugin:e,typeData:t})=>{let n=T(e.context.config).name===`@hey-api/client-nuxt`;return{isNuxtClient:n,strippedTypeData:n?`Omit<${t}, 'composable'>`:t}},Wa=({operation:e,plugin:t,queryFn:n})=>{let r=t.referenceSymbol({category:`external`,resource:`${t.name}.UseMutationOptions`}),i=Ba({operation:e,plugin:t}),a=Va({operation:e,plugin:t}),o=Ha({operation:e,plugin:t}),{isNuxtClient:s,strippedTypeData:c}=Ua({plugin:t,typeData:i}),l=s?`${r.placeholder}<${o}, ${c}, ${a}>`:`${r.placeholder}<${o}, ${i}, ${a}>`,u=`fnOptions`,d=L(n).call(L.object().pretty().spread(`options`).spread(u).prop(`throwOnError`,L.literal(!0))).await(),f=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?f.push(L.return(d)):f.push(L.const().object(`data`).assign(d),L.return(`data`));let p=L.object().pretty().prop(`mutation`,L.func().async().param(u,e=>e.$if(s,e=>e.type(`Partial<${c}>`))).do(...f)).$if(za(t,e,`mutationOptions`),(e,t)=>e.prop(`meta`,t)),m=t.registerSymbol({exported:!0,name:x({config:t.config.mutationOptions,name:e.id})}),h=L.const(m.placeholder).export(m.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(`options`,e=>e.optional().type(`Partial<${c}>`)).returns(l).do(L.return(p)));t.setSymbolValue(m,h)},Ga=`TOptions`,Ka=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createQueryKey`,tool:e.name},name:x({config:{case:e.config.case},name:`createQueryKey`})}),n=e.referenceSymbol({category:`type`,resource:`QueryKey`,tool:e.name}),r=e.referenceSymbol({category:`external`,resource:`${e.name}._JSONValue`}),i=L.type(n.placeholder).generic(Ga).idx(0),a=st(e.context.config),o=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),s=e.getSymbol({category:`client`}),c=ni(e.context.config),l=e.registerSymbol({external:c,meta:{category:`external`,resource:`${c}.serializeQueryKeyValue`},name:`serializeQueryKeyValue`}),u=L.const(t.placeholder).assign(L.func().param(`id`,e=>e.type(`string`)).param(`options`,e=>e.optional().type(Ga)).param(`tags`,e=>e.optional().type(`ReadonlyArray`)).returns(L.type.tuple(i)).generic(Ga,e=>e.extends(o.placeholder)).do(L.const(`params`).type(i).assign(L.object().prop(`_id`,`id`).prop(a,`options?.${a} || (options?.client ?? ${s?.placeholder}).getConfig().${a}`).as(i)),L.if(`tags`).do(L(`params`).attr(`tags`).assign(L(`tags`).as(`unknown`).as(r.placeholder))),L.if(L(`options`).attr(`body`).optional().neq(L.id(`undefined`))).do(L.const(`normalizedBody`).assign(L(l.placeholder).call(L(`options`).attr(`body`))),L.if(L(`normalizedBody`).neq(L.id(`undefined`))).do(L(`params`).attr(`body`).assign(`normalizedBody`))),L.if(L(`options`).attr(`path`).optional()).do(L(`params`).attr(`path`).assign(L(`options`).attr(`path`))),L.if(L(`options`).attr(`query`).optional().neq(L.id(`undefined`))).do(L.const(`normalizedQuery`).assign(L(l.placeholder).call(L(`options`).attr(`query`))),L.if(L(`normalizedQuery`).neq(L.id(`undefined`))).do(L(`params`).attr(`query`).assign(`normalizedQuery`))),L.return(L.array(L(`params`)))));e.setSymbolValue(t,u)},qa=({id:e,operation:t,plugin:n})=>{let r=n.config.queryKeys,i;return r.tags&&t.tags&&t.tags.length>0&&(i=L.array(...t.tags.map(e=>L.literal(e)))),L(n.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:n.name}).placeholder).call(L.literal(e),`options`,i)},Ja=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`${e.name}._JSONValue`}),n=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),r=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`QueryKey`,tool:e.name},name:`QueryKey`}),i=L.type.alias(r.placeholder).export(r.exported).generic(Ga,e=>e.extends(L.type(n.placeholder))).type(L.type.tuple(L.type.and(L.type(`Pick<${Ga}, 'path'>`),L.type.object().prop(`_id`,e=>e.type(`string`)).prop(st(e.context.config),e=>e.optional().type(t.placeholder)).prop(`body`,e=>e.optional().type(t.placeholder)).prop(`query`,e=>e.optional().type(t.placeholder)).prop(`tags`,e=>e.optional().type(t.placeholder)))));e.setSymbolValue(r,i)},Ya=({operation:e,plugin:t,symbol:n})=>{let{strippedTypeData:r}=Ua({plugin:t,typeData:Ba({operation:e,plugin:t})});return L.const(n.placeholder).export(n.exported).assign(L.func().param(`options`,t=>t.required(nt(e)).type(r)).do(qa({id:e.id,operation:e,plugin:t}).return()))},Xa=`options`,Za=`context`,Qa=({operation:e,plugin:t,queryFn:n})=>{if(Ir({operation:e}))return;let r=B({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(Ja({plugin:t}),Ka({plugin:t}));let i;if(t.config.queryKeys.enabled){let n=t.registerSymbol({exported:!0,name:x({config:t.config.queryKeys,name:e.id})}),r=Ya({operation:e,plugin:t,symbol:n});t.setSymbolValue(n,r),i=L(n.placeholder).call(Xa)}else{let n=t.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name}),r;t.config.queryKeys.tags&&e.tags&&e.tags.length>0&&(r=L.array(...e.tags.map(e=>L.literal(e)))),i=L(n.placeholder).call(L.literal(e.id),Xa,r)}let{strippedTypeData:a}=Ua({plugin:t,typeData:Ba({operation:e,plugin:t})}),o=L(n).call(L.object().spread(Xa).spread(Za).prop(`throwOnError`,L.literal(!0))).await(),s=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?s.push(L.return(o)):s.push(L.const().object(`data`).assign(o),L.return(`data`));let c=L.object().pretty().prop(`key`,i).prop(`query`,L.func().async().param(Za).do(...s)).$if(za(t,e,`queryOptions`),(e,t)=>e.prop(`meta`,t)),l=t.registerSymbol({exported:!0,meta:{category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name},name:x({config:t.config.queryOptions,name:e.id})}),u=t.referenceSymbol({category:`external`,resource:`${t.name}.defineQueryOptions`}),d=L.const(l.placeholder).export(l.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L(u.placeholder).call(L.func().param(Xa,e=>e.required(r).type(a)).do(L.return(c))));t.setSymbolValue(l,d)},$a=({plugin:e})=>{e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.defineQueryOptions`},name:`defineQueryOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.UseMutationOptions`},name:`UseMutationOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.UseQueryOptions`},name:`UseQueryOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}._JSONValue`},name:`_JSONValue`}),e.registerSymbol({external:`axios`,kind:`type`,meta:{category:`external`,resource:`axios.AxiosError`},name:`AxiosError`});let t=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let r=t.config.asClass?Ar({context:e.context,operation:n,plugin:t}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...t.config.instance?[Hi,`get()`]:[],...i.path.slice(1).map(e=>b({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:n.id}).placeholder,e.hooks.operation.isQuery(n)&&e.config.queryOptions.enabled&&Qa({operation:n,plugin:e,queryFn:a}),e.hooks.operation.isMutation(n)&&e.config.mutationOptions.enabled&&Wa({operation:n,plugin:e,queryFn:a})},{order:`declarations`})},eo=e=>$a(e),to={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/typescript`,`@hey-api/sdk`],handler:eo,name:`@pinia/colada`,resolveConfig:(e,t)=>{e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Query`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},no=v(to),ro=({operation:e,plugin:t})=>jr({operation:e,plugin:t.getPluginOrThrow(`@hey-api/sdk`)}),io=({operation:e,plugin:t})=>{let n=T(t.context.config),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`error`})?.placeholder;return r||=t.referenceSymbol({category:`external`,resource:`${t.name}.DefaultError`}).placeholder,n.name===`@hey-api/client-axios`&&(r=`${t.referenceSymbol({category:`external`,resource:`axios.AxiosError`}).placeholder}<${r}>`),r},ao=({operation:e,plugin:t})=>t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`,oo=`TOptions`,so=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createQueryKey`,tool:e.name},name:x({config:{case:e.config.case},name:`createQueryKey`})}),n=e.referenceSymbol({category:`type`,resource:`QueryKey`,tool:e.name}),r=st(e.context.config),i=e.getSymbol({category:`client`}),a=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),o=L.type(n.placeholder).generic(oo).idx(0),s=L.const(t.placeholder).assign(L.func().param(`id`,e=>e.type(`string`)).param(`options`,e=>e.optional().type(oo)).param(`infinite`,e=>e.optional().type(`boolean`)).param(`tags`,e=>e.optional().type(`ReadonlyArray`)).generic(oo,e=>e.extends(a.placeholder)).returns(L.type.tuple(o)).do(L.const(`params`).type(o).assign(L.object().prop(`_id`,`id`).prop(r,`options?.${r} || (options?.client ?? ${i?.placeholder}).getConfig().${r}`).as(o)),L.if(`infinite`).do(L(`params`).attr(`_infinite`).assign(`infinite`)),L.if(`tags`).do(L(`params`).attr(`tags`).assign(`tags`)),L.if(L(`options`).attr(`body`).optional()).do(L(`params`).attr(`body`).assign(L(`options`).attr(`body`))),L.if(L(`options`).attr(`headers`).optional()).do(L(`params`).attr(`headers`).assign(L(`options`).attr(`headers`))),L.if(L(`options`).attr(`path`).optional()).do(L(`params`).attr(`path`).assign(L(`options`).attr(`path`))),L.if(L(`options`).attr(`query`).optional()).do(L(`params`).attr(`query`).assign(L(`options`).attr(`query`))),L.return(L.array().element(L(`params`)))));e.setSymbolValue(t,s)},co=({id:e,isInfinite:t,operation:n,plugin:r})=>{let i=t?r.config.infiniteQueryKeys:r.config.queryKeys,a;return i.tags&&n.tags&&n.tags.length>0&&(a=L.array().elements(...n.tags)),L(r.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:r.name}).placeholder).call(L.literal(e),`options`,t||a?L.literal(!!t):void 0,a)},lo=({plugin:e})=>{let t=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),n=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`QueryKey`,tool:e.name},name:`QueryKey`}),r=L.type.alias(n.placeholder).export(n.exported).generic(oo,e=>e.extends(t.placeholder)).type(L.type.tuple(L.type.and(L.type(`Pick<${oo}, '${st(e.context.config)}' | 'body' | 'headers' | 'path' | 'query'>`),L.type.object().prop(`_id`,e=>e.type(`string`)).prop(`_infinite`,e=>e.optional().type(`boolean`)).prop(`tags`,e=>e.optional().type(`ReadonlyArray`)))));e.setSymbolValue(n,r)},uo=({isInfinite:e,operation:t,plugin:n,symbol:r,typeQueryKey:i})=>{let a=ro({operation:t,plugin:n});return L.const(r.placeholder).export(r.exported).assign(L.func().param(`options`,e=>e.required(nt(t)).type(a)).$if(e&&i,(e,t)=>e.returns(t)).do(co({id:t.id,isInfinite:e,operation:t,plugin:n}).return()))},fo=(e,t,n)=>{let r=e.config[n].meta;if(!r)return;let i=r(t);if(Object.keys(i).length)return L.fromValue(i)},po=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createInfiniteParams`,tool:e.name},name:x({config:{case:e.config.case},name:`createInfiniteParams`})}),n=L.const(t.placeholder).assign(L.func().generic(`K`,e=>e.extends(`Pick[0], 'body' | 'headers' | 'path' | 'query'>`)).param(`queryKey`,e=>e.type(`QueryKey`)).param(`page`,e=>e.type(`K`)).do(L.const(`params`).assign(L.object().spread(L(`queryKey`).attr(0))),L.if(L(`page`).attr(`body`)).do(L(`params`).attr(`body`).assign(L.object().pretty().spread(L(`queryKey`).attr(0).attr(`body`).as(`any`)).spread(L(`page`).attr(`body`).as(`any`)))),L.if(L(`page`).attr(`headers`)).do(L(`params`).attr(`headers`).assign(L.object().pretty().spread(L(`queryKey`).attr(0).attr(`headers`)).spread(L(`page`).attr(`headers`)))),L.if(L(`page`).attr(`path`)).do(L(`params`).attr(`path`).assign(L.object().pretty().spread(L(`queryKey`).attr(0).attr(`path`).as(`any`)).spread(L(`page`).attr(`path`).as(`any`)))),L.if(L(`page`).attr(`query`)).do(L(`params`).attr(`query`).assign(L.object().pretty().spread(L(`queryKey`).attr(0).attr(`query`).as(`any`)).spread(L(`page`).attr(`query`).as(`any`)))),L.return(L(`params`).as(`unknown`).as(L(`page`).typeofType()))));e.setSymbolValue(t,n)},mo=({operation:e,plugin:t,queryFn:n})=>{let r=rt({context:t.context,operation:e});if(!r)return;let i=B({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(lo({plugin:t}),so({plugin:t})),t.getSymbol({category:`utility`,resource:`createInfiniteParams`,tool:t.name})||po({plugin:t});let a=t.referenceSymbol({category:`external`,resource:`${t.name}.infiniteQueryOptions`}),o=t.referenceSymbol({category:`external`,resource:`${t.name}.InfiniteData`}),s=ro({operation:e,plugin:t}),c=io({operation:e,plugin:t}),l=ao({operation:e,plugin:t}),u=`${t.referenceSymbol({category:`type`,resource:`QueryKey`,tool:t.name}).placeholder}<${s}>`,d=`Pick<${u}[0], 'body' | 'headers' | 'path' | 'query'>`,f=t.getPluginOrThrow(`@hey-api/typescript`),p=f.api.schemaToType({plugin:f,schema:r.schema,state:{path:{value:[]}}}),m=t.registerSymbol({exported:!0,name:x({config:t.config.infiniteQueryKeys,name:e.id})}),h=uo({isInfinite:!0,operation:e,plugin:t,symbol:m,typeQueryKey:u});t.setSymbolValue(m,h);let g=L(n).call(L.object().spread(`options`).spread(`params`).prop(`signal`,L(`signal`)).prop(`throwOnError`,L.literal(!0))).await(),ee=t.referenceSymbol({category:`utility`,resource:`createInfiniteParams`,tool:t.name}),te=[L.const(`page`).type(d).hint(`@ts-ignore`).assign(L.ternary(L(`pageParam`).typeof().eq(L.literal(`object`))).do(`pageParam`).otherwise(L.object().pretty().prop(r.in,L.object().pretty().prop(r.name,L(`pageParam`))))),L.const(`params`).assign(L(ee.placeholder).call(`queryKey`,`page`))];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?te.push(L.return(g)):te.push(L.const().object(`data`).assign(g),L.return(`data`));let ne=t.registerSymbol({exported:!0,name:x({config:t.config.infiniteQueryOptions,name:e.id})}),re=L.const(ne.placeholder).export(ne.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(`options`,e=>e.required(i).type(s)).do(L.return(L(a.placeholder).call(L.object().pretty().hint(`@ts-ignore`).prop(`queryFn`,L.func().async().param(e=>e.object(`pageParam`,`queryKey`,`signal`)).do(...te)).prop(`queryKey`,L(m.placeholder).call(`options`)).$if(fo(t,e,`infiniteQueryOptions`),(e,t)=>e.prop(`meta`,t))).generics(l,c||`unknown`,`${o.placeholder}<${l}>`,u,L.type.or(p,d)))));t.setSymbolValue(ne,re)},ho=({operation:e,plugin:t,queryFn:n})=>{let r=t.referenceSymbol({category:`external`,resource:`${t.name}.MutationOptions`}),i=ro({operation:e,plugin:t}),a=io({operation:e,plugin:t}),o=ao({operation:e,plugin:t}),s=`${r.placeholder}<${o}, ${a}, ${i}>`,c=`fnOptions`,l=L(n).call(L.object().spread(`options`).spread(c).prop(`throwOnError`,L.literal(!0))).await(),u=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?u.push(L.return(l)):u.push(L.const().object(`data`).assign(l),L.return(`data`));let d=`mutationOptions`,f=t.registerSymbol({exported:!0,name:x({config:t.config.mutationOptions,name:e.id})}),p=L.const(f.placeholder).export(f.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(`options`,e=>e.optional().type(`Partial<${i}>`)).returns(s).do(L.const(d).type(s).assign(L.object().pretty().prop(`mutationFn`,L.func().async().param(c).do(...u)).$if(fo(t,e,`mutationOptions`),(e,t)=>e.prop(`meta`,t))),L(d).return()));t.setSymbolValue(f,p)},go=`options`,_o=({operation:e,plugin:t,queryFn:n})=>{if(Ir({operation:e}))return;let r=B({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(lo({plugin:t}),so({plugin:t}));let i=t.referenceSymbol({category:`external`,resource:`${t.name}.queryOptions`}),a=t.registerSymbol({exported:!0,name:x({config:t.config.queryKeys,name:e.id})}),o=uo({isInfinite:!1,operation:e,plugin:t,symbol:a});t.setSymbolValue(a,o);let s=ro({operation:e,plugin:t}),c=io({operation:e,plugin:t}),l=ao({operation:e,plugin:t}),u=L(n).call(L.object().spread(go).spread(L(`queryKey`).attr(0)).prop(`signal`,L(`signal`)).prop(`throwOnError`,L.literal(!0))).await(),d=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?d.push(L.return(u)):d.push(L.const().object(`data`).assign(u),L.return(`data`));let f=L.object().pretty().prop(`queryFn`,L.func().async().param(e=>e.object(`queryKey`,`signal`)).do(...d)).prop(`queryKey`,L(a.placeholder).call(go)).$if(fo(t,e,`queryOptions`),(e,t)=>e.prop(`meta`,t)),p=t.registerSymbol({exported:t.config.queryOptions.exported,meta:{category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name},name:x({config:t.config.queryOptions,name:e.id})}),m=L.const(p.placeholder).export(p.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(go,e=>e.required(r).type(s)).do(L(i.placeholder).call(f).generics(l,c,l,L(a.placeholder).returnType()).return()));t.setSymbolValue(p,m)},vo=`options`,yo=({operation:e,plugin:t})=>{if(Ir({operation:e})||!(`useQuery`in t.config))return;let n=t.registerSymbol({exported:!0,name:x({config:t.config.useQuery,name:e.id})}),r=t.referenceSymbol({category:`external`,resource:`${t.name}.useQuery`}),i=B({context:t.context,operation:e}),a=ro({operation:e,plugin:t}),o=t.referenceSymbol({category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name}),s=L.const(n.placeholder).export(n.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(vo,e=>e.required(i).type(a)).do(L(r.placeholder).call(L(o.placeholder).call(vo)).return()));t.setSymbolValue(n,s)},bo=({plugin:e})=>{e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.DefaultError`},name:`DefaultError`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.InfiniteData`},name:`InfiniteData`});let t=e.name===`@tanstack/angular-query-experimental`||e.name===`@tanstack/svelte-query`||e.name===`@tanstack/solid-query`?`MutationOptions`:`UseMutationOptions`;e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.MutationOptions`},name:t}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.infiniteQueryOptions`},name:`infiniteQueryOptions`}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.queryOptions`},name:`queryOptions`}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.useQuery`},name:`useQuery`}),e.registerSymbol({external:`axios`,kind:`type`,meta:{category:`external`,resource:`axios.AxiosError`},name:`AxiosError`});let n=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:t})=>{let r=n.config.asClass?Ar({context:e.context,operation:t,plugin:n}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...n.config.instance?[Hi,`get()`]:[],...i.path.slice(1).map(e=>b({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:t.id}).placeholder,e.hooks.operation.isQuery(t)&&(e.config.queryOptions.enabled&&_o({operation:t,plugin:e,queryFn:a}),e.config.infiniteQueryOptions.enabled&&mo({operation:t,plugin:e,queryFn:a}),`useQuery`in e.config&&e.config.useQuery.enabled&&yo({operation:t,plugin:e})),e.hooks.operation.isMutation(t)&&e.config.mutationOptions.enabled&&ho({operation:t,plugin:e,queryFn:a})},{order:`declarations`})},xo=e=>bo(e),So={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/angular-query-experimental`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},Co=v(So),wo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/react-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions}),e.config.useQuery=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!1,name:`use{{name}}Query`},mappers:{boolean:e=>({enabled:e}),function:e=>({enabled:!0,name:e}),object:e=>({enabled:!0,...e}),string:e=>({enabled:!0,name:e})},value:e.config.useQuery}),e.config.useQuery.enabled&&(e.config.queryOptions.enabled||(e.config.queryOptions.enabled=!0,e.config.queryOptions.exported=!1))}},To=v(wo),Eo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/solid-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},Do=v(Eo),Oo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/svelte-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},ko=v(Oo),Ao={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/vue-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},jo=v(Ao),Mo=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`arktype`});if(!n)return;let r=`data`;return L.func().async().param(r).do(L(n.placeholder).attr(`parseAsync`).call(r).await().return())},No=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`arktype`});if(!n)return;let r=`data`;return L.func().async().param(r).do(L(n.placeholder).attr(`parseAsync`).call(r).await().return())};var Po=class{createRequestValidator(e){return Mo(e)}createResponseValidator(e){return No(e)}};const U={keywords:{false:`false`,true:`true`},number:{Infinity:`Infinity`,NaN:`NaN`,NegativeInfinity:`NegativeInfinity`,epoch:`epoch`,integer:`integer`,safe:`safe`},primitives:{bigint:`bigint`,boolean:`boolean`,keywords:`keywords`,null:`null`,number:`number`,string:`string`,symbol:`symbol`,undefined:`undefined`,unit:`unit`},string:{NFC:`NFC`,NFD:`NFD`,NFKC:`NFKC`,NFKD:`NFKD`,alpha:`alpha`,alphanumeric:`alphanumeric`,base64:`base64`,capitalize:`capitalize`,creditCard:`creditCard`,date:`date`,digits:`digits`,email:`email`,epoch:`epoch`,hex:`hex`,integer:`integer`,ip:`ip`,iso:`iso`,json:`json`,lower:`lower`,normalize:`normalize`,numeric:`numeric`,parse:`parse`,preformatted:`preformatted`,regex:`regex`,semver:`semver`,trim:`trim`,upper:`upper`,url:`url`,uuid:`uuid`,v1:`v1`,v2:`v2`,v3:`v3`,v4:`v4`,v5:`v5`,v6:`v6`,v7:`v7`,v8:`v8`},type:{$:`$`,allows:`allows`,and:`and`,array:`array`,as:`as`,assert:`assert`,brand:`brand`,configure:`configure`,default:`default`,describe:`describe`,description:`description`,equals:`equals`,exclude:`exclude`,expression:`expression`,extends:`extends`,extract:`extract`,filter:`filter`,from:`from`,ifEquals:`ifEquals`,ifExtends:`ifExtends`,infer:`infer`,inferIn:`inferIn`,intersect:`intersect`,json:`json`,meta:`meta`,narrow:`narrow`,onDeepUndeclaredKey:`onDeepUndeclaredKey`,onUndeclaredKey:`onUndeclaredKey`,optional:`optional`,or:`or`,overlaps:`overlaps`,pipe:`pipe`,select:`select`,to:`to`,toJsonSchema:`toJsonSchema`}},Fo=({ast:e,plugin:t,schema:n,symbol:r,typeInferSymbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`arktype.type`}),o=L.const(r.placeholder).export(r.exported).$if(t.config.comments&&V(n),(e,t)=>e.doc(t)).assign(L(a.placeholder).call(e.def?L.literal(e.def):e.expression));if(t.setSymbolValue(r,o),i){let e=L.type.alias(i.placeholder).export(i.exported).type(L.type(r.placeholder).attr(U.type.infer).typeofType());t.setSymbolValue(i,e)}},Io=e=>{let t={};return t.def=U.primitives.null,t},Lo=({plugin:e,schema:t,state:n})=>{let r={},i=L.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=a.includes(o),l=Bo({optional:!c,plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,o])}});l.hasLazyExpression&&(r.hasLazyExpression=!0),i.prop(c?o:`${o}?`,l.expression)}if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Bo({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});return r.expression=L(`TODO`).attr(`record`).call(L(`TODO`).attr(`string`).call(),i.expression),i.hasLazyExpression&&(r.hasLazyExpression=!0),r.hasLazyExpression?{...r,typeName:`TODO`}:r}return r.expression=i,r.hasLazyExpression?{...r,typeName:`TODO`}:r},Ro=({schema:e})=>{let t={};if(typeof e.const==`string`)return t.def=e.const,t;let n=U.primitives.string;if(e.format)switch(e.format){case`date`:case`date-time`:case`time`:n=`${n}.${U.string.date}.${U.string.iso}`;break;case`email`:n=`${n}.${U.string.email}`;break;case`ipv4`:n=`${n}.${U.string.ip}.${U.string.v4}`;break;case`ipv6`:n=`${n}.${U.string.ip}.${U.string.v6}`;break;case`uri`:n=`${n}.${U.string.url}`;break;case`uuid`:n=`${n}.${U.string.uuid}`;break}return e.minLength===e.maxLength&&e.minLength!==void 0?n=`${e.minLength} <= ${n} <= ${e.maxLength}`:e.maxLength===void 0?e.minLength!==void 0&&(n=`${n} >= ${e.minLength}`):(n=`${n} <= ${e.maxLength}`,e.minLength!==void 0&&(n=`${e.minLength} <= ${n}`)),e.pattern&&(n=`/${e.pattern}/`),t.def=n,t},zo=({schema:e,...t})=>{switch(e.type){case`null`:return Io({...t,schema:e});case`object`:return Lo({...t,schema:e});case`string`:return Ro({...t,schema:e})}return{def:``,expression:L(t.plugin.referenceSymbol({category:`external`,resource:`arktype.type`}).placeholder).call(L.object().prop(`name`,L.literal(`string`)).prop(`platform`,L.literal(`'android' | 'ios'`)).prop(`versions?`,L.literal(`(number | string)[]`))),hasLazyExpression:!1}},Bo=({plugin:e,schema:t,state:n})=>{let r={};if(t.$ref){let i={category:`schema`,resource:`definition`,resourceId:t.$ref,tool:`arktype`},a=e.referenceSymbol(i);e.isSymbolRegistered(i)?r.expression=L(a.placeholder):(r.expression=L(`TODO`).attr(`TODO`).call(L.func().returns(`any`).do(L.return(a.placeholder))),r.hasLazyExpression=!0,n.hasLazyExpression.value=!0)}else if(t.type){let i=zo({plugin:e,schema:t,state:n});r.def=i.def,r.expression=i.expression,r.hasLazyExpression=i.hasLazyExpression,e.config.metadata&&t.description}else if(t.items)t=S({schema:t}),t.items||(r=Bo({plugin:e,schema:t,state:n}));else{let t=zo({plugin:e,schema:{type:`unknown`},state:n});r.def=t.def,r.expression=t.expression}return r.expression||=zo({plugin:e,schema:{type:`unknown`},state:n}).expression,r},Vo=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=Bo({plugin:e,schema:t,state:n}),a=R(r);Fo({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`arktype`},name:x({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tool:`arktype`,variant:`infer`},name:x({config:e.config.definitions.types.infer,name:a})}):void 0})},Ho=({plugin:e})=>{e.registerSymbol({external:`arktype`,meta:{category:`external`,resource:`arktype.type`},name:`type`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`parameter`:Vo({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Vo({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Vo({plugin:e,schema:t.schema,state:n});break}})},Uo=e=>Ho(e),Wo={api:new Po,config:{case:`PascalCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:Uo,name:`arktype`,resolveConfig:(e,t)=>{e.config.types=t.valueToObject({defaultValue:{infer:{case:`PascalCase`,enabled:!1}},mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.config.types}),e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}Data`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}Data`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}Response`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}Response`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}WebhookRequest`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}WebhookRequest`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.webhooks})},tags:[`validator`]},Go=v(Wo),Ko=({operation:e,plugin:t})=>{let n=L.type.object(),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`data`,tool:`typescript`});r&&(e.body&&n.prop(`Body`,t=>t.required(e.body.required).type(L.type(r.placeholder).idx(L.type.literal(`body`)))),e.parameters&&(e.parameters.header&&n.prop(`Headers`,t=>t.required($e(e.parameters.header)).type(L.type(r.placeholder).idx(L.type.literal(`headers`)))),e.parameters.path&&n.prop(`Params`,t=>t.required($e(e.parameters.path)).type(L.type(r.placeholder).idx(L.type.literal(`path`)))),e.parameters.query&&n.prop(`Querystring`,t=>t.required($e(e.parameters.query)).type(L.type(r.placeholder).idx(L.type.literal(`query`))))));let{errors:i,responses:a}=at(e),o,s=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`errors`});if(s&&i&&i.properties){let e=Object.keys(i.properties);e.length&&(e.includes(`default`)?e.length>1&&(o=L.type(`Omit`,e=>e.generics(L.type(s.placeholder),L.type.literal(`default`)))):o=L.type(s.placeholder))}let c,l=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`responses`});if(l&&a&&a.properties){let e=Object.keys(a.properties);e.length&&(e.includes(`default`)?e.length>1&&(c=L.type(`Omit`,e=>e.generics(L.type(l.placeholder),L.type.literal(`default`)))):c=L.type(l.placeholder))}let u=[o,c].filter(e=>e!==void 0);if(u.length&&n.prop(`Reply`,e=>e.type(L.type.and(...u))),n.isEmpty)return;let d=t.referenceSymbol({category:`type`,resource:`route-handler`,tool:`fastify`});return{name:e.id,type:L.type(d.placeholder,e=>e.generic(n))}},qo=({plugin:e})=>{e.registerSymbol({external:`fastify`,kind:`type`,meta:{category:`type`,resource:`route-handler`,tool:`fastify`},name:`RouteHandler`});let t=e.registerSymbol({exported:!0,kind:`type`,name:`RouteHandlers`}),n=L.type.object();e.forEach(`operation`,({operation:t})=>{let r=Ko({operation:t,plugin:e});r&&n.prop(r.name,e=>e.type(r.type))},{order:`declarations`});let r=L.type.alias(t.placeholder).export(t.exported).type(n);e.setSymbolValue(t,r)},Jo={config:{exportFromIndex:!1},dependencies:[`@hey-api/typescript`],handler:qo,name:`fastify`},Yo=v(Jo),Xo=({operation:e,plugin:t,queryFn:n})=>{if(Ir({operation:e}))return;let r=t.referenceSymbol({category:`external`,resource:`swr`}),i=t.registerSymbol({exported:!0,name:x({config:t.config.useSwr,name:e.id})}),a=L(n).call(L.object().prop(`throwOnError`,L.literal(!0))).await(),o=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?o.push(L.return(a)):o.push(L.const().object(`data`).assign(a),L.return(`data`));let s=L.const(i.placeholder).export(i.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().do(L(r.placeholder).call(L.literal(e.path),L.func().async().do(...o)).return()));t.setSymbolValue(i,s)},Zo=({plugin:e})=>{e.registerSymbol({external:`swr`,importKind:`default`,kind:`function`,meta:{category:`external`,resource:`swr`},name:`useSWR`});let t=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let r=t.config.asClass?Ar({context:e.context,operation:n,plugin:t}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...t.config.instance?[Hi,`get()`]:[],...i.path.slice(1).map(e=>b({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:n.id}).placeholder,e.hooks.operation.isQuery(n)&&e.config.useSwr.enabled&&Xo({operation:n,plugin:e,queryFn:a})},{order:`declarations`})},Qo=e=>Zo(e),$o={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:Qo,name:`swr`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions}),e.config.useSwr=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`use{{name}}`},mappers:{boolean:e=>({enabled:e}),function:e=>({enabled:!0,name:e}),object:e=>({enabled:!0,...e}),string:e=>({enabled:!0,name:e})},value:e.config.useSwr}),e.config.useSwr.enabled&&(e.config.queryOptions.enabled||(e.config.queryOptions.enabled=!0,e.config.queryOptions.exported=!1))}},es=v($o),W={actions:{args:`args`,base64:`base64`,bic:`bic`,brand:`brand`,bytes:`bytes`,check:`check`,checkItems:`checkItems`,creditCard:`creditCard`,cuid2:`cuid2`,decimal:`decimal`,description:`description`,digits:`digits`,email:`email`,emoji:`emoji`,empty:`empty`,endsWith:`endsWith`,entries:`entries`,everyItem:`everyItem`,excludes:`excludes`,filterItems:`filterItems`,findItem:`findItem`,finite:`finite`,flavor:`flavor`,graphemes:`graphemes`,gtValue:`gtValue`,hash:`hash`,hexColor:`hexColor`,hexadecimal:`hexadecimal`,imei:`imei`,includes:`includes`,integer:`integer`,ip:`ip`,ipv4:`ipv4`,ipv6:`ipv6`,isoDate:`isoDate`,isoDateTime:`isoDateTime`,isoTime:`isoTime`,isoTimeSecond:`isoTimeSecond`,isoTimestamp:`isoTimestamp`,isoWeek:`isoWeek`,length:`length`,ltValue:`ltValue`,mac:`mac`,mac48:`mac48`,mac64:`mac64`,mapItems:`mapItems`,maxBytes:`maxBytes`,maxEntries:`maxEntries`,maxGraphemes:`maxGraphemes`,maxLength:`maxLength`,maxSize:`maxSize`,maxValue:`maxValue`,maxWords:`maxWords`,metadata:`metadata`,mimeType:`mimeType`,minBytes:`minBytes`,minEntries:`minEntries`,minGraphemes:`minGraphemes`,minLength:`minLength`,minSize:`minSize`,minValue:`minValue`,minWords:`minWords`,multipleOf:`multipleOf`,nanoid:`nanoid`,nonEmpty:`nonEmpty`,normalize:`normalize`,notBytes:`notBytes`,notEntries:`notEntries`,notGraphemes:`notGraphemes`,notLength:`notLength`,notSize:`notSize`,notValue:`notValue`,notValues:`notValues`,notWords:`notWords`,octal:`octal`,parseJson:`parseJson`,partialCheck:`partialCheck`,rawCheck:`rawCheck`,rawTransform:`rawTransform`,readonly:`readonly`,reduceItems:`reduceItems`,regex:`regex`,returns:`returns`,rfcEmail:`rfcEmail`,safeInteger:`safeInteger`,size:`size`,slug:`slug`,someItem:`someItem`,sortItems:`sortItems`,startsWith:`startsWith`,stringifyJson:`stringifyJson`,title:`title`,toLowerCase:`toLowerCase`,toMaxValue:`toMaxValue`,toMinValue:`toMinValue`,toUpperCase:`toUpperCase`,transform:`transform`,trim:`trim`,trimEnd:`trimEnd`,trimStart:`trimStart`,ulid:`ulid`,url:`url`,uuid:`uuid`,value:`value`,values:`values`,words:`words`},async:{argsAsync:`argsAsync`,arrayAsync:`arrayAsync`,awaitAsync:`awaitAsync`,checkAsync:`checkAsync`,checkItemsAsync:`checkItemsAsync`,customAsync:`customAsync`,exactOptionalAsync:`exactOptionalAsync`,fallbackAsync:`fallbackAsync`,forwardAsync:`forwardAsync`,getDefaultsAsync:`getDefaultsAsync`,getFallbacksAsync:`getFallbacksAsync`,intersectAsync:`intersectAsync`,lazyAsync:`lazyAsync`,looseObjectAsync:`looseObjectAsync`,looseTupleAsync:`looseTupleAsync`,mapAsync:`mapAsync`,nonNullableAsync:`nonNullableAsync`,nonNullishAsync:`nonNullishAsync`,nonOptionalAsync:`nonOptionalAsync`,nullableAsync:`nullableAsync`,nullishAsync:`nullishAsync`,objectAsync:`objectAsync`,objectWithRestAsync:`objectWithRestAsync`,optionalAsync:`optionalAsync`,parseAsync:`parseAsync`,parserAsync:`parserAsync`,partialAsync:`partialAsync`,partialCheckAsync:`partialCheckAsync`,pipeAsync:`pipeAsync`,rawCheckAsync:`rawCheckAsync`,rawTransformAsync:`rawTransformAsync`,recordAsync:`recordAsync`,requiredAsync:`requiredAsync`,returnsAsync:`returnsAsync`,safeParseAsync:`safeParseAsync`,safeParserAsync:`safeParserAsync`,setAsync:`setAsync`,strictObjectAsync:`strictObjectAsync`,strictTupleAsync:`strictTupleAsync`,transformAsync:`transformAsync`,tupleAsync:`tupleAsync`,tupleWithRestAsync:`tupleWithRestAsync`,undefinedableAsync:`undefinedableAsync`,unionAsync:`unionAsync`,variantAsync:`variantAsync`},methods:{assert:`assert`,config:`config`,fallback:`fallback`,flatten:`flatten`,forward:`forward`,getDefault:`getDefault`,getDefaults:`getDefaults`,getDescription:`getDescription`,getFallback:`getFallback`,getFallbacks:`getFallbacks`,getMetadata:`getMetadata`,getTitle:`getTitle`,is:`is`,keyof:`keyof`,message:`message`,omit:`omit`,parse:`parse`,parser:`parser`,partial:`partial`,pick:`pick`,pipe:`pipe`,required:`required`,safeParse:`safeParse`,safeParser:`safeParser`,summarize:`summarize`,unwrap:`unwrap`},schemas:{any:`any`,array:`array`,bigInt:`bigint`,blob:`blob`,boolean:`boolean`,custom:`custom`,date:`date`,enum:`enum`,exactOptional:`exactOptional`,file:`file`,function:`function`,instance:`instance`,intersect:`intersect`,lazy:`lazy`,literal:`literal`,looseObject:`looseObject`,looseTuple:`looseTuple`,map:`map`,nan:`nan`,never:`never`,nonNullable:`nonNullable`,nonNullish:`nonNullish`,nonOptional:`nonOptional`,null:`null`,nullable:`nullable`,nullish:`nullish`,number:`number`,object:`object`,objectWithRest:`objectWithRest`,optional:`optional`,picklist:`picklist`,promise:`promise`,record:`record`,set:`set`,strictObject:`strictObject`,strictTuple:`strictTuple`,string:`string`,symbol:`symbol`,tuple:`tuple`,tupleWithRest:`tupleWithRest`,undefined:`undefined`,undefinedable:`undefinedable`,union:`union`,unknown:`unknown`,variant:`variant`,void:`void`},storages:{},types:{GenericSchema:`GenericSchema`},utils:{}},ts=({schema:e,v:t})=>L(t.placeholder).attr(W.async.parseAsync).call(e.placeholder,`data`).await().return(),ns=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`valibot`});if(!n)return;let r={$:L,operation:e,pipes:[],plugin:t,schema:n,v:t.referenceSymbol({category:`external`,resource:`valibot.v`})},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,ts];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},rs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`valibot`});if(!n)return;let r={$:L,operation:e,pipes:[],plugin:t,schema:n,v:t.referenceSymbol({category:`external`,resource:`valibot.v`})},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,ts];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}};var is=class{createRequestValidator(e){return ns(e)}createResponseValidator(e){return rs(e)}};const G=({pipes:e,plugin:t})=>e.length===1?e[0]:L(t.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.methods.pipe).call(...e),as=({ast:e,plugin:t,schema:n,state:r,symbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`valibot.v`}),o=L.const(i.placeholder).export(i.exported).$if(t.config.comments&&V(n),(e,t)=>e.doc(t)).$if(r.hasLazyExpression.value,t=>t.type(L.type(a.placeholder).attr(e.typeName||W.types.GenericSchema))).assign(G({pipes:e.pipes,plugin:t}));t.setSymbolValue(i,o)},os={int16:{max:32767,maxError:`Invalid value: Expected int16 to be <= 2^15-1`,min:-32768,minError:`Invalid value: Expected int16 to be >= -2^15`,needsBigInt:!1},int32:{max:2147483647,maxError:`Invalid value: Expected int32 to be <= 2^31-1`,min:-2147483648,minError:`Invalid value: Expected int32 to be >= -2^31`,needsBigInt:!1},int64:{max:`9223372036854775807`,maxError:`Invalid value: Expected int64 to be <= 2^63-1`,min:`-9223372036854775808`,minError:`Invalid value: Expected int64 to be >= -2^63`,needsBigInt:!0},int8:{max:127,maxError:`Invalid value: Expected int8 to be <= 2^7-1`,min:-128,minError:`Invalid value: Expected int8 to be >= -2^7`,needsBigInt:!1},uint16:{max:65535,maxError:`Invalid value: Expected uint16 to be <= 2^16-1`,min:0,minError:`Invalid value: Expected uint16 to be >= 0`,needsBigInt:!1},uint32:{max:4294967295,maxError:`Invalid value: Expected uint32 to be <= 2^32-1`,min:0,minError:`Invalid value: Expected uint32 to be >= 0`,needsBigInt:!1},uint64:{max:`18446744073709551615`,maxError:`Invalid value: Expected uint64 to be <= 2^64-1`,min:`0`,minError:`Invalid value: Expected uint64 to be >= 0`,needsBigInt:!0},uint8:{max:255,maxError:`Invalid value: Expected uint8 to be <= 2^8-1`,min:0,minError:`Invalid value: Expected uint8 to be >= 0`,needsBigInt:!1}},ss=e=>e!==void 0&&e in os,cs=e=>ss(e)&&os[e].needsBigInt,ls=({isBigInt:e,value:t})=>{let n=L.fromValue(t);return e&&(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)?L(`BigInt`).call(n):n},us=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.requests.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],as({ast:e(a,r.path.value),plugin:n,schema:a,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`valibot`},name:x({config:n.config.requests,name:t.id})})})}if(n.config.responses.enabled&&t.responses){let{response:i}=at(t);if(i){let a=[...r.path.value,`responses`];as({ast:e(i,a),plugin:n,schema:i,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`valibot`},name:x({config:n.config.responses,name:t.id})})})}}},ds=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.webhooks.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],as({ast:e(a,r.path.value),plugin:n,schema:a,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`valibot`},name:x({config:n.config.webhooks,name:t.id})})})}},fs=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.unknown).call(),ps=({plugin:e,schema:t,state:n})=>{let r={pipes:[]},i=e.referenceSymbol({category:`external`,resource:`valibot.v`}),a=L(i.placeholder).attr(W.schemas.array);if(t.items){t=S({schema:t});let i=t.items.map((t,i)=>{let a=Ds({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),G({pipes:a.pipes,plugin:e})});if(i.length===1){let e=a.call(...i);r.pipes.push(e)}else{t.logicalOperator;let i=a.call(fs({plugin:e,schema:{type:`unknown`},state:n}));r.pipes.push(i)}}else{let t=a.call(fs({plugin:e,schema:{type:`unknown`},state:n}));r.pipes.push(t)}if(t.minItems===t.maxItems&&t.minItems!==void 0){let e=L(i.placeholder).attr(W.actions.length).call(L.fromValue(t.minItems));r.pipes.push(e)}else{if(t.minItems!==void 0){let e=L(i.placeholder).attr(W.actions.minLength).call(L.fromValue(t.minItems));r.pipes.push(e)}if(t.maxItems!==void 0){let e=L(i.placeholder).attr(W.actions.maxLength).call(L.fromValue(t.maxItems));r.pipes.push(e)}}return r},ms=({plugin:e,schema:t})=>{let n=[],r=e.referenceSymbol({category:`external`,resource:`valibot.v`});return typeof t.const==`boolean`?(n.push(L(r.placeholder).attr(W.schemas.literal).call(L.literal(t.const))),G({pipes:n,plugin:e})):(n.push(L(r.placeholder).attr(W.schemas.boolean).call()),G({pipes:n,plugin:e}))},hs=({plugin:e,schema:t,state:n})=>{let r=[],i=!1;for(let e of t.items??[])e.type===`string`&&typeof e.const==`string`?r.push(L.literal(e.const)):(e.type===`null`||e.const===null)&&(i=!0);if(!r.length)return fs({plugin:e,schema:{type:`unknown`},state:n});let a=e.referenceSymbol({category:`external`,resource:`valibot.v`}),o=L(a.placeholder).attr(W.schemas.picklist).call(L.array(...r));return i&&(o=L(a.placeholder).attr(W.schemas.nullable).call(o)),o},gs=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.never).call(),_s=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.null).call(),vs=({plugin:e,schema:t})=>{let n=t.format,r=t.type===`integer`,i=cs(n),a=ss(n)?os[n]:null,o=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(t.const!==void 0&&t.const!==null){let e=t.const,r;if(typeof e==`number`&&!n)r=L.literal(e);else if(typeof e==`number`&&n)r=i?L(`BigInt`).call(L.literal(e)):L.literal(e);else if(typeof e==`string`&&i){let t=e.endsWith(`n`)?e.slice(0,-1):e;r=L(`BigInt`).call(L.literal(t))}else if(typeof e==`bigint`){let t=e.toString(),n=t.endsWith(`n`)?t.slice(0,-1):t;r=L(`BigInt`).call(L.literal(n))}else r=L.fromValue(e);return L(o.placeholder).attr(W.schemas.literal).call(r)}let s=[];if(i){let e=L(o.placeholder).attr(W.schemas.union).call(L.array(L(o.placeholder).attr(W.schemas.number).call(),L(o.placeholder).attr(W.schemas.string).call(),L(o.placeholder).attr(W.schemas.bigInt).call()));s.push(e);let t=L(o.placeholder).attr(W.actions.transform).call(L.func().param(`x`).do(L(`BigInt`).call(`x`).return()));s.push(t)}else{let e=L(o.placeholder).attr(W.schemas.number).call();s.push(e)}if(!i&&r){let e=L(o.placeholder).attr(W.actions.integer).call();s.push(e)}if(a){let e=a.min,t=a.max,n=a.minError,r=a.maxError,c=L(o.placeholder).attr(W.actions.minValue).call(i?L(`BigInt`).call(L.literal(e)):L.literal(e),L.literal(n));s.push(c);let l=L(o.placeholder).attr(W.actions.maxValue).call(i?L(`BigInt`).call(L.literal(t)):L.literal(t),L.literal(r));s.push(l)}if(t.exclusiveMinimum!==void 0){let e=L(o.placeholder).attr(W.actions.gtValue).call(ls({isBigInt:i,value:t.exclusiveMinimum}));s.push(e)}else if(t.minimum!==void 0){let e=L(o.placeholder).attr(W.actions.minValue).call(ls({isBigInt:i,value:t.minimum}));s.push(e)}if(t.exclusiveMaximum!==void 0){let e=L(o.placeholder).attr(W.actions.ltValue).call(ls({isBigInt:i,value:t.exclusiveMaximum}));s.push(e)}else if(t.maximum!==void 0){let e=L(o.placeholder).attr(W.actions.maxValue).call(ls({isBigInt:i,value:t.maximum}));s.push(e)}return G({pipes:s,plugin:e})};function ys({additional:e,pipes:t,plugin:n,shape:r}){let i=n.referenceSymbol({category:`external`,resource:`valibot.v`});return e===null?t.push(L(i.placeholder).attr(W.schemas.strictObject).call(r)):e?r.isEmpty?t.push(L(i.placeholder).attr(W.schemas.record).call(L(i.placeholder).attr(W.schemas.string).call(),e)):t.push(L(i.placeholder).attr(W.schemas.objectWithRest).call(r,e)):t.push(L(i.placeholder).attr(W.schemas.object).call(r))}const bs=({plugin:e,schema:t,state:n})=>{let r={},i=[],a=L.object().pretty(),o=t.required??[];for(let i in t.properties){let s=t.properties[i],c=Ds({optional:!o.includes(i),plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,i])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),a.prop(i,G({pipes:c.pipes,plugin:e}))}let s;if(t.additionalProperties&&t.additionalProperties.type)if(t.additionalProperties.type===`never`)s=null;else{let i=Ds({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),s=G({pipes:i.pipes,plugin:e})}let c={$:L,additional:s,pipes:i,plugin:e,schema:t,shape:a},l=e.config[`~resolvers`]?.object?.base;return l?.(c)||ys(c),r.pipes=[G({pipes:i,plugin:e})],r},xs=({pipes:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`valibot.v`});switch(n.format){case`date`:return e.push(L(r.placeholder).attr(W.actions.isoDate).call());case`date-time`:return e.push(L(r.placeholder).attr(W.actions.isoTimestamp).call());case`email`:return e.push(L(r.placeholder).attr(W.actions.email).call());case`ipv4`:case`ipv6`:return e.push(L(r.placeholder).attr(W.actions.ip).call());case`time`:return e.push(L(r.placeholder).attr(W.actions.isoTimeSecond).call());case`uri`:return e.push(L(r.placeholder).attr(W.actions.url).call());case`uuid`:return e.push(L(r.placeholder).attr(W.actions.uuid).call())}return!0},Ss=({plugin:e,schema:t})=>{let n=[],r=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(typeof t.const==`string`)return n.push(L(r.placeholder).attr(W.schemas.literal).call(L.literal(t.const))),G({pipes:n,plugin:e});if(n.push(L(r.placeholder).attr(W.schemas.string).call()),t.format){let r={$:L,pipes:n,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];i?.(r)||xs(r)}return t.minLength===t.maxLength&&t.minLength!==void 0?n.push(L(r.placeholder).attr(W.actions.length).call(L.literal(t.minLength))):(t.minLength!==void 0&&n.push(L(r.placeholder).attr(W.actions.minLength).call(L.literal(t.minLength))),t.maxLength!==void 0&&n.push(L(r.placeholder).attr(W.actions.maxLength).call(L.literal(t.maxLength)))),t.pattern&&n.push(L(r.placeholder).attr(W.actions.regex).call(L.regexp(t.pattern))),G({pipes:n,plugin:e})},Cs=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>L(i.placeholder).attr(W.schemas.literal).call(L.fromValue(e)));return r.pipes=[L(i.placeholder).attr(W.schemas.tuple).call(L.array(...e))],r}if(t.items){let a=t.items.map((t,i)=>{let a=Ds({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),G({pipes:a.pipes,plugin:e})});return r.pipes=[L(i.placeholder).attr(W.schemas.tuple).call(L.array(...a))],r}return{pipes:[fs({plugin:e,schema:{type:`unknown`},state:n})]}},ws=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.undefined).call(),Ts=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.void).call(),Es=({schema:e,...t})=>{switch(e.type){case`array`:return{expression:G({pipes:ps({...t,schema:e}).pipes,plugin:t.plugin})};case`boolean`:return{expression:ms({...t,schema:e})};case`enum`:return{expression:hs({...t,schema:e})};case`integer`:case`number`:return{expression:vs({...t,schema:e})};case`never`:return{expression:gs({...t,schema:e})};case`null`:return{expression:_s({...t,schema:e})};case`object`:return{expression:G({pipes:bs({...t,schema:e}).pipes,plugin:t.plugin})};case`string`:return e.format===`int64`||e.format===`uint64`?{expression:vs({...t,schema:e})}:{expression:Ss({...t,schema:e})};case`tuple`:return{expression:G({pipes:Cs({...t,schema:e}).pipes,plugin:t.plugin})};case`undefined`:return{expression:ws({...t,schema:e})};case`unknown`:return{expression:fs({...t,schema:e})};case`void`:return{expression:Ts({...t,schema:e})}}},Ds=({optional:e,plugin:t,schema:n,state:r})=>{let i={pipes:[]},a=t.referenceSymbol({category:`external`,resource:`valibot.v`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`valibot`},o=t.referenceSymbol(e);if(t.isSymbolRegistered(e)){let e=L(o.placeholder);i.pipes.push(e)}else{let e=L(a.placeholder).attr(W.schemas.lazy).call(L.func().do(L(o.placeholder).return()));i.pipes.push(e),r.hasLazyExpression.value=!0}}else if(n.type){let e=Es({plugin:t,schema:n,state:r});if(i.typeName=e.anyType,i.pipes.push(e.expression),t.config.metadata&&n.description){let e=L(a.placeholder).attr(W.actions.metadata).call(L.object().prop(`description`,L.literal(n.description)));i.pipes.push(e)}}else if(n.items)if(n=S({schema:n}),n.items){let e=n.items.map((e,n)=>G({pipes:Ds({plugin:t,schema:e,state:{...r,path:E([...r.path.value,`items`,n])}}).pipes,plugin:t}));if(n.logicalOperator===`and`){let t=L(a.placeholder).attr(W.schemas.intersect).call(L.array(...e));i.pipes.push(t)}else{let t=L(a.placeholder).attr(W.schemas.union).call(L.array(...e));i.pipes.push(t)}}else{let e=Ds({plugin:t,schema:n,state:r});i.pipes.push(...e.pipes)}else{let e=Es({plugin:t,schema:{type:`unknown`},state:r});i.typeName=e.anyType,i.pipes.push(e.expression)}if(i.pipes.length){if(n.accessScope===`read`){let e=L(a.placeholder).attr(W.actions.readonly).call();i.pipes.push(e)}let r;n.default!==void 0&&(r=ls({isBigInt:n.type===`integer`&&n.format===`int64`,value:n.default}),i.pipes=[L(a.placeholder).attr(W.schemas.optional).call(G({pipes:i.pipes,plugin:t}),r)]),e&&!r&&(i.pipes=[L(a.placeholder).attr(W.schemas.optional).call(G({pipes:i.pipes,plugin:t}))])}return i},Os=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=Ds({plugin:e,schema:t,state:n}),a=R(r);as({ast:i,plugin:e,schema:t,state:n,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`valibot`},name:x({config:e.config.definitions,name:a})})})},ks=({plugin:e})=>{e.registerSymbol({external:`valibot`,importKind:`namespace`,meta:{category:`external`,resource:`valibot.v`},name:`v`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:us({getAst:(n,r)=>Ds({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:Os({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Os({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Os({plugin:e,schema:t.schema,state:n});break;case`webhook`:ds({getAst:(n,r)=>Ds({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},As=e=>ks(e),js={api:new is,config:{case:`camelCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:As,name:`valibot`,resolveConfig:(e,t)=>{e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}Data`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}Response`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}WebhookRequest`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.webhooks})},tags:[`validator`]},Ms=v(js),K={ZodMiniOptional:`ZodMiniOptional`,ZodOptional:`ZodOptional`,_default:`_default`,and:`and`,array:`array`,bigint:`bigint`,boolean:`boolean`,check:`check`,coerce:`coerce`,date:`date`,datetime:`datetime`,default:`default`,describe:`describe`,email:`email`,enum:`enum`,globalRegistry:`globalRegistry`,gt:`gt`,gte:`gte`,infer:`infer`,int:`int`,intersection:`intersection`,ip:`ip`,ipv4:`ipv4`,ipv6:`ipv6`,iso:`iso`,lazy:`lazy`,length:`length`,literal:`literal`,lt:`lt`,lte:`lte`,max:`max`,maxLength:`maxLength`,min:`min`,minLength:`minLength`,never:`never`,null:`null`,nullable:`nullable`,number:`number`,object:`object`,optional:`optional`,parseAsync:`parseAsync`,readonly:`readonly`,record:`record`,regex:`regex`,register:`register`,string:`string`,time:`time`,tuple:`tuple`,undefined:`undefined`,union:`union`,unknown:`unknown`,url:`url`,uuid:`uuid`,void:`void`},Ns=({schema:e})=>L(e.placeholder).attr(K.parseAsync).call(`data`).await().return(),Ps=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,Ns];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Fs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,Ns];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Is=({schema:e})=>L(e.placeholder).attr(K.parseAsync).call(`data`).await().return(),Ls=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,Is];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Rs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,Is];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},zs=({schema:e})=>L(e.placeholder).attr(K.parseAsync).call(`data`).await().return(),Bs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,zs];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Vs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,zs];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}};var Hs=class{createRequestValidator(e){let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return Ls(e);case`mini`:return Ps(e);case 4:default:return Bs(e)}}createResponseValidator(e){let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return Rs(e);case`mini`:return Fs(e);case 4:default:return Vs(e)}}};const Us=({ast:e,plugin:t,schema:n,symbol:r,typeInferSymbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`zod.z`}),o=L.const(r.placeholder).export(r.exported).$if(t.config.comments&&V(n),(e,t)=>e.doc(t)).$if(e.typeName,(e,t)=>e.type(L.type(a.placeholder).attr(t))).assign(e.expression);if(t.setSymbolValue(r,o),i){let e=L.type.alias(i.placeholder).export(i.exported).type(L.type(a.placeholder).attr(K.infer).generic(L(r.placeholder).typeofType()));t.setSymbolValue(i,e)}},Ws=({plugin:e})=>{let t=e.package.getVersion(`zod`);if(t&&e.package.satisfies(t,`<4.0.0`))switch(e.config.compatibilityVersion){case 3:default:return`zod`;case 4:return`zod/v4`;case`mini`:return`zod/v4-mini`}switch(e.config.compatibilityVersion){case 3:return`zod/v3`;case 4:default:return`zod`;case`mini`:return`zod/mini`}},q=({isBigInt:e,value:t})=>{let n=L.fromValue(t);return e&&(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)?L(`BigInt`).call(n):n},Gs=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.requests.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],Us({ast:e(a,r.path.value),plugin:n,schema:a,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`},name:x({config:n.config.requests,name:t.id})}),typeInferSymbol:n.config.requests.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:x({config:n.config.requests.types.infer,name:t.id})}):void 0})}if(n.config.responses.enabled&&t.responses){let{response:i}=at(t);if(i){let a=[...r.path.value,`responses`];Us({ast:e(i,a),plugin:n,schema:i,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`zod`},name:x({config:n.config.responses,name:t.id})}),typeInferSymbol:n.config.responses.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:x({config:n.config.responses.types.infer,name:t.id})}):void 0})}}},Ks=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.webhooks.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],Us({ast:e(a,r.path.value),plugin:n,schema:a,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`},name:x({config:n.config.webhooks,name:t.id})}),typeInferSymbol:n.config.webhooks.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:x({config:n.config.webhooks.types.infer,name:t.id})}):void 0})}},qs=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.unknown).call(),n},Js=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={},a=L(r.placeholder).attr(K.array);if(!t.items)i.expression=a.call(qs({plugin:e,schema:{type:`unknown`},state:n}).expression);else{t=S({schema:t});let o=t.items.map((t,r)=>{let a=cc({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,r])}});return a.hasLazyExpression&&(i.hasLazyExpression=!0),a.expression});if(o.length===1)i.expression=a.call(...o);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=L(r.placeholder).attr(K.intersection).call(...o);else{n=o[0];for(let e=1;e{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(r=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n.expression=r,n):(r=L(i.placeholder).attr(K.boolean).call(),n.expression=r,n)},Xs=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={},a=[],o=[],s=!1,c=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=L.literal(e.const);a.push(t),o.push(L(r.placeholder).attr(K.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){c=!1;let t=L.literal(e.const);o.push(L(r.placeholder).attr(K.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){c=!1;let t=L.literal(e.const);o.push(L(r.placeholder).attr(K.literal).call(t))}else (e.type===`null`||e.const===null)&&(s=!0);return o.length?(c&&a.length>0?i.expression=L(r.placeholder).attr(K.enum).call(L.array(...a)):o.length===1?i.expression=o[0]:i.expression=L(r.placeholder).attr(K.union).call(L.array(...o)),s&&(i.expression=L(r.placeholder).attr(K.nullable).call(i.expression)),i):qs({plugin:e,schema:{type:`unknown`},state:n})},Zs=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.never).call(),n},Qs=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.null).call(),n},$s=({plugin:e,schema:t})=>{let n=e.referenceSymbol({category:`external`,resource:`zod.z`}),r={},i=t.type===`integer`&&t.format===`int64`;if(typeof t.const==`number`)return r.expression=L(n.placeholder).attr(K.literal).call(L.literal(t.const)),r;r.expression=i?L(n.placeholder).attr(K.coerce).attr(K.bigint).call():L(n.placeholder).attr(K.number).call(),!i&&t.type===`integer`&&(r.expression=L(n.placeholder).attr(K.int).call());let a=[];return t.exclusiveMinimum===void 0?t.minimum!==void 0&&a.push(L(n.placeholder).attr(K.gte).call(q({isBigInt:i,value:t.minimum}))):a.push(L(n.placeholder).attr(K.gt).call(q({isBigInt:i,value:t.exclusiveMinimum}))),t.exclusiveMaximum===void 0?t.maximum!==void 0&&a.push(L(n.placeholder).attr(K.lte).call(q({isBigInt:i,value:t.maximum}))):a.push(L(n.placeholder).attr(K.lt).call(q({isBigInt:i,value:t.exclusiveMaximum}))),a.length&&(r.expression=r.expression.attr(K.check).call(...a)),r};function ec({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?L(r.placeholder).attr(K.record).call(L(r.placeholder).attr(K.string).call(),e):L(r.placeholder).attr(K.object).call(n)}const tc=({plugin:e,schema:t,state:n})=>{let r={},i=L.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=cc({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),c.hasLazyExpression?i.getter(o,c.expression.return()):i.prop(o,c.expression)}let o;if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=cc({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),o=i.expression}let s={$:L,additional:o,chain:void 0,plugin:e,schema:t,shape:i},c=e.config[`~resolvers`]?.object?.base;return r.expression=c?.(s)??ec(s),r},nc=({chain:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`zod.z`});switch(n.format){case`date`:return L(r.placeholder).attr(K.iso).attr(K.date).call();case`date-time`:{let e=L.object().$if(t.config.dates.offset,e=>e.prop(`offset`,L.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,L.literal(!0)));return L(r.placeholder).attr(K.iso).attr(K.datetime).call(e.hasProps()?e:void 0)}case`email`:return L(r.placeholder).attr(K.email).call();case`ipv4`:return L(r.placeholder).attr(K.ipv4).call();case`ipv6`:return L(r.placeholder).attr(K.ipv6).call();case`time`:return L(r.placeholder).attr(K.iso).attr(K.time).call();case`uri`:return L(r.placeholder).attr(K.url).call();case`uuid`:return L(r.placeholder).attr(K.uuid).call();default:return e}},rc=({plugin:e,schema:t})=>{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return r=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n.expression=r,n;if(r=L(i.placeholder).attr(K.string).call(),t.format){let n={$:L,chain:r,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];r=i?.(n)??nc(n)}let a=[];return t.minLength===t.maxLength&&t.minLength!==void 0?a.push(L(i.placeholder).attr(K.length).call(L.literal(t.minLength))):(t.minLength!==void 0&&a.push(L(i.placeholder).attr(K.minLength).call(L.literal(t.minLength))),t.maxLength!==void 0&&a.push(L(i.placeholder).attr(K.maxLength).call(L.literal(t.maxLength)))),t.pattern&&a.push(L(i.placeholder).attr(K.regex).call(L.regexp(t.pattern))),a.length&&(r=r.attr(K.check).call(...a)),n.expression=r,n},ic=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={};if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>L(r.placeholder).attr(K.literal).call(L.fromValue(e)));return i.expression=L(r.placeholder).attr(K.tuple).call(L.array(...e)),i}let a=[];return t.items&&t.items.forEach((t,r)=>{let o=cc({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,r])}});a.push(o.expression),o.hasLazyExpression&&(i.hasLazyExpression=!0)}),i.expression=L(r.placeholder).attr(K.tuple).call(L.array(...a)),i},ac=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.undefined).call(),n},oc=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.void).call(),n},sc=({schema:e,...t})=>{switch(e.type){case`array`:return Js({...t,schema:e});case`boolean`:return Ys({...t,schema:e});case`enum`:return Xs({...t,schema:e});case`integer`:case`number`:return $s({...t,schema:e});case`never`:return Zs({...t,schema:e});case`null`:return Qs({...t,schema:e});case`object`:return tc({...t,schema:e});case`string`:return rc({...t,schema:e});case`tuple`:return ic({...t,schema:e});case`undefined`:return ac({...t,schema:e});case`unknown`:return qs({...t,schema:e});case`void`:return oc({...t,schema:e})}},cc=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=L(o.placeholder):(i.expression=L(a.placeholder).attr(K.lazy).call(L.func().returns(`any`).do(L(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=sc({plugin:t,schema:n,state:r});i.expression=e.expression,i.hasLazyExpression=e.hasLazyExpression,t.config.metadata&&n.description&&(i.expression=i.expression.attr(K.register).call(L(a.placeholder).attr(K.globalRegistry),L.object().pretty().prop(`description`,L.literal(n.description))))}else if(n.items)if(n=S({schema:n}),n.items){let e=n.items.map((e,n)=>cc({plugin:t,schema:e,state:{...r,path:E([...r.path.value,`items`,n])}}));if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=L(a.placeholder).attr(K.intersection).call(...e.map(e=>e.expression)):(i.expression=e[0].expression,e.slice(1).forEach(e=>{i.expression=L(a.placeholder).attr(K.intersection).call(i.expression,e.hasLazyExpression?L(a.placeholder).attr(K.lazy).call(L.func().do(e.expression.return())):e.expression)}))}else i.expression=L(a.placeholder).attr(K.union).call(L.array().pretty().elements(...e.map(e=>e.expression)))}else i=cc({plugin:t,schema:n,state:r});else i.expression=sc({plugin:t,schema:{type:`unknown`},state:r}).expression;if(i.expression&&(n.accessScope===`read`&&(i.expression=L(a.placeholder).attr(K.readonly).call(i.expression)),e&&(i.expression=L(a.placeholder).attr(K.optional).call(i.expression),i.typeName=K.ZodMiniOptional),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=L(a.placeholder).attr(K._default).call(i.expression,q({isBigInt:e,value:n.default}))}return i},lc=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=cc({plugin:e,schema:t,state:n}),a=R(r);Us({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:x({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:x({config:e.config.definitions.types.infer,name:a})}):void 0})},uc=({plugin:e})=>{e.registerSymbol({external:Ws({plugin:e}),importKind:`namespace`,meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:Gs({getAst:(n,r)=>cc({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:lc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:lc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:lc({plugin:e,schema:t.schema,state:n});break;case`webhook`:Ks({getAst:(n,r)=>cc({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},dc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.unknown).call(),fc=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=L(r.placeholder).attr(K.array),a,o=!1;if(!t.items)a=i.call(dc({plugin:e,schema:{type:`unknown`},state:n}));else{t=S({schema:t});let s=t.items.map((t,r)=>{let i=Ec({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,r])}});return i.hasLazyExpression&&(o=!0),i.expression});if(s.length===1)a=i.call(...s);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=L(r.placeholder).attr(K.intersection).call(...s);else{n=s[0];for(let e=1;e{let n,r=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(n=L(r.placeholder).attr(K.literal).call(L.literal(t.const)),n):(n=L(r.placeholder).attr(K.boolean).call(),n)},mc=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=[],a=[],o=!1,s=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=L.literal(e.const);i.push(t),a.push(L(r.placeholder).attr(K.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){s=!1;let t=L.literal(e.const);a.push(L(r.placeholder).attr(K.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){s=!1;let t=L.literal(e.const);a.push(L(r.placeholder).attr(K.literal).call(t))}else (e.type===`null`||e.const===null)&&(o=!0);if(!a.length)return dc({plugin:e,schema:{type:`unknown`},state:n});let c;return c=s&&i.length>0?L(r.placeholder).attr(K.enum).call(L.array(...i)):a.length===1?a[0]:L(r.placeholder).attr(K.union).call(L.array(...a)),o&&(c=c.attr(K.nullable).call()),c},hc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.never).call(),gc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.null).call(),_c=({plugin:e,schema:t})=>{let n=e.referenceSymbol({category:`external`,resource:`zod.z`}),r=t.type===`integer`&&t.format===`int64`;if(typeof t.const==`number`)return L(n.placeholder).attr(K.literal).call(L.literal(t.const));let i=r?L(n.placeholder).attr(K.coerce).attr(K.bigint).call():L(n.placeholder).attr(K.number).call();return!r&&t.type===`integer`&&(i=i.attr(K.int).call()),t.exclusiveMinimum===void 0?t.minimum!==void 0&&(i=i.attr(K.gte).call(q({isBigInt:r,value:t.minimum}))):i=i.attr(K.gt).call(q({isBigInt:r,value:t.exclusiveMinimum})),t.exclusiveMaximum===void 0?t.maximum!==void 0&&(i=i.attr(K.lte).call(q({isBigInt:r,value:t.maximum}))):i=i.attr(K.lt).call(q({isBigInt:r,value:t.exclusiveMaximum})),i};function vc({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?L(r.placeholder).attr(K.record).call(e):L(r.placeholder).attr(K.object).call(n)}const yc=({plugin:e,schema:t,state:n})=>{let r=!1,i=L.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=Ec({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r=!0),i.prop(o,c.expression)}let o,s={};if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Ec({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});r=i.hasLazyExpression||r,o=i.expression}let c={$:L,additional:o,chain:void 0,plugin:e,schema:t,shape:i},l=e.config[`~resolvers`]?.object?.base;return s.expression=l?.(c)??vc(c),{anyType:`AnyZodObject`,expression:s.expression,hasLazyExpression:r}},bc=({chain:e,plugin:t,schema:n})=>{switch(n.format){case`date`:return e.attr(K.date).call();case`date-time`:{let n=L.object().$if(t.config.dates.offset,e=>e.prop(`offset`,L.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,L.literal(!0)));return e.attr(K.datetime).call(n.hasProps()?n:void 0)}case`email`:return e.attr(K.email).call();case`ipv4`:case`ipv6`:return e.attr(K.ip).call();case`time`:return e.attr(K.time).call();case`uri`:return e.attr(K.url).call();case`uuid`:return e.attr(K.uuid).call();default:return e}},xc=({plugin:e,schema:t})=>{let n,r=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return n=L(r.placeholder).attr(K.literal).call(L.literal(t.const)),n;if(n=L(r.placeholder).attr(K.string).call(),t.format){let r={$:L,chain:n,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];n=i?.(r)??bc(r)}return t.minLength===t.maxLength&&t.minLength!==void 0?n=n.attr(K.length).call(L.literal(t.minLength)):(t.minLength!==void 0&&(n=n.attr(K.min).call(L.literal(t.minLength))),t.maxLength!==void 0&&(n=n.attr(K.max).call(L.literal(t.maxLength)))),t.pattern&&(n=n.attr(K.regex).call(L.regexp(t.pattern))),n},Sc=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=!1;if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>L(r.placeholder).attr(K.literal).call(L.fromValue(e)));return{expression:L(r.placeholder).attr(K.tuple).call(L.array(...e)),hasLazyExpression:i}}let a=[];return t.items&&t.items.forEach((t,r)=>{let o=Ec({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,r])}});a.push(o.expression),o.hasLazyExpression&&(i=!0)}),{expression:L(r.placeholder).attr(K.tuple).call(L.array(...a)),hasLazyExpression:i}},Cc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.undefined).call(),wc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.void).call(),Tc=({schema:e,...t})=>{switch(e.type){case`array`:return fc({...t,schema:e});case`boolean`:return{expression:pc({...t,schema:e})};case`enum`:return{expression:mc({...t,schema:e})};case`integer`:case`number`:return{expression:_c({...t,schema:e})};case`never`:return{expression:hc({...t,schema:e})};case`null`:return{expression:gc({...t,schema:e})};case`object`:return yc({...t,schema:e});case`string`:return{expression:xc({...t,schema:e})};case`tuple`:return Sc({...t,schema:e});case`undefined`:return{expression:Cc({...t,schema:e})};case`unknown`:return{expression:dc({...t,schema:e})};case`void`:return{expression:wc({...t,schema:e})}}},Ec=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=L(o.placeholder):(i.expression=L(a.placeholder).attr(K.lazy).call(L.func().do(L(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=Tc({plugin:t,schema:n,state:r});i.expression=e.expression,i.typeName=e.anyType,t.config.metadata&&n.description&&(i.expression=i.expression.attr(K.describe).call(L.literal(n.description)))}else if(n.items)if(n=S({schema:n}),n.items){let e=n.items.map((e,n)=>Ec({plugin:t,schema:e,state:{...r,path:E([...r.path.value,`items`,n])}}).expression);if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=L(a.placeholder).attr(K.intersection).call(...e):(i.expression=e[0],e.slice(1).forEach(e=>{i.expression=i.expression.attr(K.and).call(e)}))}else i.expression=L(a.placeholder).attr(K.union).call(L.array().pretty().elements(...e))}else i=Ec({plugin:t,schema:n,state:r});else{let e=Tc({plugin:t,schema:{type:`unknown`},state:r});i.expression=e.expression,i.typeName=e.anyType}if(i.expression&&(n.accessScope===`read`&&(i.expression=i.expression.attr(K.readonly).call()),e&&(i.expression=i.expression.attr(K.optional).call()),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=i.expression.attr(K.default).call(q({isBigInt:e,value:n.default}))}return r.hasLazyExpression.value?i.typeName||=`ZodTypeAny`:i.typeName&&=void 0,i},Dc=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=Ec({plugin:e,schema:t,state:n}),a=R(r);Us({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:x({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:x({config:e.config.definitions.types.infer,name:a})}):void 0})},Oc=({plugin:e})=>{e.registerSymbol({external:Ws({plugin:e}),meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:Gs({getAst:(n,r)=>Ec({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:Dc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Dc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Dc({plugin:e,schema:t.schema,state:n});break;case`webhook`:Ks({getAst:(n,r)=>Ec({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},kc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.unknown).call(),t},Ac=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`}),a=L(i.placeholder).attr(K.array);if(!t.items)r.expression=a.call(kc({plugin:e,schema:{type:`unknown`},state:n}).expression);else{t=S({schema:t});let o=t.items.map((t,i)=>{let a=Wc({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),a.expression});if(o.length===1)r.expression=a.call(...o);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=L(i.placeholder).attr(K.intersection).call(...o);else{n=o[0];for(let e=1;e{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(r=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n.expression=r,n):(r=L(i.placeholder).attr(K.boolean).call(),n.expression=r,n)},Mc=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`}),a=[],o=[],s=!1,c=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=L.literal(e.const);a.push(t),o.push(L(i.placeholder).attr(K.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){c=!1;let t=L.literal(e.const);o.push(L(i.placeholder).attr(K.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){c=!1;let t=L.literal(e.const);o.push(L(i.placeholder).attr(K.literal).call(t))}else (e.type===`null`||e.const===null)&&(s=!0);return o.length?(c&&a.length>0?r.expression=L(i.placeholder).attr(K.enum).call(L.array(...a)):o.length===1?r.expression=o[0]:r.expression=L(i.placeholder).attr(K.union).call(L.array(...o)),s&&(r.expression=L(i.placeholder).attr(K.nullable).call(r.expression)),r):kc({plugin:e,schema:{type:`unknown`},state:n})},Nc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.never).call(),t},Pc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.null).call(),t},Fc=({plugin:e,schema:t})=>{let n={},r=t.type===`integer`&&t.format===`int64`,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`number`?(n.expression=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n):(n.expression=r?L(i.placeholder).attr(K.coerce).attr(K.bigint).call():L(i.placeholder).attr(K.number).call(),!r&&t.type===`integer`&&(n.expression=L(i.placeholder).attr(K.int).call()),t.exclusiveMinimum===void 0?t.minimum!==void 0&&(n.expression=n.expression.attr(K.gte).call(q({isBigInt:r,value:t.minimum}))):n.expression=n.expression.attr(K.gt).call(q({isBigInt:r,value:t.exclusiveMinimum})),t.exclusiveMaximum===void 0?t.maximum!==void 0&&(n.expression=n.expression.attr(K.lte).call(q({isBigInt:r,value:t.maximum}))):n.expression=n.expression.attr(K.lt).call(q({isBigInt:r,value:t.exclusiveMaximum})),n)};function Ic({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?L(r.placeholder).attr(K.record).call(L(r.placeholder).attr(K.string).call(),e):L(r.placeholder).attr(K.object).call(n)}const Lc=({plugin:e,schema:t,state:n})=>{let r={},i=L.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=Wc({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),c.hasLazyExpression?i.getter(o,c.expression.return()):i.prop(o,c.expression)}let o;if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Wc({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),o=i.expression}let s={$:L,additional:o,chain:void 0,plugin:e,schema:t,shape:i},c=e.config[`~resolvers`]?.object?.base;return r.expression=c?.(s)??Ic(s),r.hasLazyExpression?{...r,typeName:`ZodType`}:r},Rc=({chain:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`zod.z`});switch(n.format){case`date`:return L(r.placeholder).attr(K.iso).attr(K.date).call();case`date-time`:{let e=L.object().$if(t.config.dates.offset,e=>e.prop(`offset`,L.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,L.literal(!0)));return L(r.placeholder).attr(K.iso).attr(K.datetime).call(e.hasProps()?e:void 0)}case`email`:return L(r.placeholder).attr(K.email).call();case`ipv4`:return L(r.placeholder).attr(K.ipv4).call();case`ipv6`:return L(r.placeholder).attr(K.ipv6).call();case`time`:return L(r.placeholder).attr(K.iso).attr(K.time).call();case`uri`:return L(r.placeholder).attr(K.url).call();case`uuid`:return L(r.placeholder).attr(K.uuid).call();default:return e}},zc=({plugin:e,schema:t})=>{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return r=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n.expression=r,n;if(r=L(i.placeholder).attr(K.string).call(),t.format){let n={$:L,chain:r,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];r=i?.(n)??Rc(n)}return t.minLength===t.maxLength&&t.minLength!==void 0?r=r.attr(K.length).call(L.literal(t.minLength)):(t.minLength!==void 0&&(r=r.attr(K.min).call(L.literal(t.minLength))),t.maxLength!==void 0&&(r=r.attr(K.max).call(L.literal(t.maxLength)))),t.pattern&&(r=r.attr(K.regex).call(L.regexp(t.pattern))),n.expression=r,n},Bc=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>L(i.placeholder).attr(K.literal).call(L.fromValue(e)));return r.expression=L(i.placeholder).attr(K.tuple).call(L.array(...e)),r}let a=[];return t.items&&t.items.forEach((t,i)=>{let o=Wc({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});a.push(o.expression),o.hasLazyExpression&&(r.hasLazyExpression=!0)}),r.expression=L(i.placeholder).attr(K.tuple).call(L.array(...a)),r},Vc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.undefined).call(),t},Hc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.void).call(),t},Uc=({schema:e,...t})=>{switch(e.type){case`array`:return Ac({...t,schema:e});case`boolean`:return jc({...t,schema:e});case`enum`:return Mc({...t,schema:e});case`integer`:case`number`:return Fc({...t,schema:e});case`never`:return Nc({...t,schema:e});case`null`:return Pc({...t,schema:e});case`object`:return Lc({...t,schema:e});case`string`:return zc({...t,schema:e});case`tuple`:return Bc({...t,schema:e});case`undefined`:return Vc({...t,schema:e});case`unknown`:return kc({...t,schema:e});case`void`:return Hc({...t,schema:e})}},Wc=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=L(o.placeholder):(i.expression=L(a.placeholder).attr(K.lazy).call(L.func().returns(`any`).do(L(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=Uc({plugin:t,schema:n,state:r});i.expression=e.expression,i.hasLazyExpression=e.hasLazyExpression,t.config.metadata&&n.description&&(i.expression=i.expression.attr(K.register).call(L(a.placeholder).attr(K.globalRegistry),L.object().pretty().prop(`description`,L.literal(n.description))))}else if(n.items)if(n=S({schema:n}),n.items){let e=n.items.map((e,n)=>Wc({plugin:t,schema:e,state:{...r,path:E([...r.path.value,`items`,n])}}));if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=L(a.placeholder).attr(K.intersection).call(...e.map(e=>e.expression)):(i.expression=e[0].expression,e.slice(1).forEach(e=>{i.expression=i.expression.attr(K.and).call(e.hasLazyExpression?L(a.placeholder).attr(K.lazy).call(L.func().do(e.expression.return())):e.expression)}))}else i.expression=L(a.placeholder).attr(K.union).call(L.array().pretty().elements(...e.map(e=>e.expression)))}else i=Wc({plugin:t,schema:n,state:r});else i.expression=Uc({plugin:t,schema:{type:`unknown`},state:r}).expression;if(i.expression&&(n.accessScope===`read`&&(i.expression=i.expression.attr(K.readonly).call()),e&&(i.expression=L(a.placeholder).attr(K.optional).call(i.expression),i.typeName=K.ZodOptional),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=i.expression.attr(K.default).call(q({isBigInt:e,value:n.default}))}return i},Gc=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=Wc({plugin:e,schema:t,state:n}),a=R(r);Us({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:x({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:x({config:e.config.definitions.types.infer,name:a})}):void 0})},Kc=({plugin:e})=>{e.registerSymbol({external:Ws({plugin:e}),meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:Gs({getAst:(n,r)=>Wc({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:Gc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Gc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Gc({plugin:e,schema:t.schema,state:n});break;case`webhook`:Ks({getAst:(n,r)=>Wc({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},qc=e=>{let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return Oc(e);case`mini`:return uc(e);case 4:default:return Kc(e)}},Jc={api:new Hs,config:{case:`camelCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:qc,name:`zod`,resolveConfig:(e,t)=>{let n=t.package.getVersion(`zod`),r=()=>n&&(n.major===4||n.major===3)?n.major:4,i=e=>{if(!e)return r();if(!n)return e;if((e===4||e===3||e===`mini`)&&!t.package.satisfies(n,`>=3.25.0 <5.0.0`)){let t=r();return console.warn(`🔌 ${u.default.yellow(`Warning:`)} Installed ${u.default.cyan(`zod`)} ${u.default.cyan(`v${n.version}`)} does not support compatibility version ${u.default.yellow(String(e))}, using ${u.default.yellow(String(t))}.`),t}return e};e.config.compatibilityVersion=i(e.config.compatibilityVersion),e.config.dates=t.valueToObject({defaultValue:{local:!1,offset:!1},value:e.config.dates}),e.config.types=t.valueToObject({defaultValue:{infer:{case:`PascalCase`,enabled:!1}},mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.config.types}),e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}ZodType`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}Data`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}DataZodType`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}Response`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}ResponseZodType`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}WebhookRequest`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}WebhookRequestZodType`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.webhooks})},tags:[`validator`]},Yc=v(Jc),Xc={"@angular/common":Xr,"@hey-api/client-angular":pi,"@hey-api/client-axios":hi,"@hey-api/client-fetch":_i,"@hey-api/client-ky":yi,"@hey-api/client-next":xi,"@hey-api/client-nuxt":Ci,"@hey-api/client-ofetch":Ti,"@hey-api/schemas":Bi,"@hey-api/sdk":Zi,"@hey-api/transformers":ca,"@hey-api/typescript":La,"@pinia/colada":to,"@tanstack/angular-query-experimental":So,"@tanstack/react-query":wo,"@tanstack/solid-query":Eo,"@tanstack/svelte-query":Oo,"@tanstack/vue-query":Ao,arktype:Wo,fastify:Jo,swr:$o,valibot:js,zod:Jc},Zc=[`@hey-api/typescript`,`@hey-api/sdk`],Qc=({dependencies:e,userPlugins:t,userPluginsConfig:n})=>{let r=new Set,i=new Set,a={},o=s=>{if(r.has(s))throw Error(`Circular reference detected at '${s}'`);if(i.has(s))return;r.add(s);let c=Xc[s],l=n[s];if(!c&&!l)throw Error(`unknown plugin dependency "${s}" - do you need to register a custom plugin with this name?`);let u={...c,...l,config:{...c?.config,...l?.config},dependencies:new Set([...c?.dependencies||[],...l?.dependencies||[]])};if(u.resolveConfig){let r={package:Oi(e),pluginByTag:(e,r={})=>{let{defaultPlugin:i,errorMessage:a}=r;for(let r of t){let t=Xc[r]||n[r];if(t&&t.tags?.includes(e)&&r!==s)return r}if(i){let t=Xc[i]||n[i];if(t&&t.tags?.includes(e)&&i!==s)return i}throw Error(a||`missing plugin - no plugin with tag "${e}" found`)},valueToObject:_};u.resolveConfig(u,r)}for(let e of u.dependencies)o(e);r.delete(s),i.add(s),a[s]=u};for(let e of t)o(e);return{pluginOrder:Array.from(i),plugins:a}},$c=e=>typeof e==`string`?e.startsWith(`@hey-api/client`):e.name.startsWith(`@hey-api/client`)||e.tags&&e.tags.includes(`client`),el=({dependencies:e,userConfig:t})=>{let n={},r=Zc;return t.plugins&&(t.plugins=t.plugins.filter(e=>typeof e==`string`&&e||typeof e!=`string`&&e.name),r=t.plugins.length===1&&$c(t.plugins[0])?[...Zc,...t.plugins]:t.plugins),Qc({dependencies:e,userPlugins:r.map(e=>{if(typeof e==`string`)return e;let t=e.name;return t&&(e.handler?n[t]=e:(n[t]={config:{...e}},delete n[t].config.name)),t}).filter(Boolean),userPluginsConfig:n})},tl=()=>!!(process.stdin.isTTY&&process.stdout.isTTY&&!process.env.CI&&!process.env.NO_INTERACTIVE&&!process.env.NO_INTERACTION),nl=async({logger:e,userConfigs:t})=>{let n=[],r={},i=e.timeEvent(`load`);for(let i of t){let t;if(i?.configFile){let e=i.configFile.split(`.`);t=e.slice(0,e.length-1).join(`.`)}let a=e.timeEvent(`c12`),{loadConfig:o}=await import(`c12`),{config:s,configFile:c}=await o({configFile:t,name:`openapi-ts`});a.timeEnd(),Object.keys(r).length||(r=Ve(Object.keys(s).length?c:void 0));let l=s instanceof Array?s.map(e=>Le(e,i)):[Le(s,i)];for(let e of l){let t=Pe(e);if(e.output instanceof Array){let r=t.length,i=e.output.length;if(i>1)if(r!==i){console.warn(`⚙️ ${u.default.yellow(`Warning:`)} You provided ${u.default.cyan(String(r))} ${u.default.cyan(r===1?`input`:`inputs`)} and ${u.default.yellow(String(i))} ${u.default.yellow(`outputs`)}. This is probably not what you want as it will produce identical output in multiple locations. You most likely want to provide a single output or the same number of outputs as inputs.`);for(let r of e.output)n.push({...e,input:t,output:r})}else e.output.forEach((r,i)=>{n.push({...e,input:t[i],output:r})});else n.push({...e,input:t,output:e.output[0]??``})}else n.push({...e,input:t})}}i.timeEnd();let a=[],o=e.timeEvent(`build`);for(let e of n){let t=Fe(e),n=Pe(e),i=Be(e),o=Ue(e),s=[];n.length||s.push(new ce(`missing input - which OpenAPI specification should we use to generate your output?`)),i.path||s.push(new ce(`missing output - where should we generate your output?`)),i.path=f.default.resolve(process.cwd(),i.path);let c;try{c=el({dependencies:r,userConfig:e})}catch(e){s.push(e),c={pluginOrder:[],plugins:{}}}let l={configFile:e.configFile??``,dryRun:e.dryRun??!1,input:n,interactive:e.interactive??tl(),logs:t,output:i,parser:o,pluginOrder:c.pluginOrder,plugins:c.plugins},d=a.length;if(t.level===`debug`){let e=u.default.gray(`[Job ${d+1}] `);console.warn(`${e}${u.default.cyan(`config:`)}`,l)}a.push({config:l,errors:s,jobIndex:d})}return o.timeEnd(),{dependencies:r,results:a}},rl=Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`}),il=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},al=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},ol=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},sl=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(al(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=il(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):cl({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},cl=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},ll=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=ol(r),s=Object.entries(i).map(([t,i])=>cl({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},ul=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=sl({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=ll({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=cl({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},dl=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},fl=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?dl(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},pl=ul({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),ml=async({fetchOptions:e,inputPath:t,timeout:n,watch:r})=>{let i=(0,ee.getResolvedInput)({pathOrUrlOrSchema:t}),a,o,s;if(i.type===`url`){if(r.lastValue&&r.isHeadMethodSupported!==!1){try{let t=await(0,ee.sendRequest)({fetchOptions:{method:`HEAD`,...e,headers:fl(e?.headers,r.headers)},timeout:n,url:i.path});if(t.response.status>=300)return{error:`not-ok`,response:t.response};s=t.response}catch(e){return{error:`not-ok`,response:new Response(e.message)}}if(!s.ok&&r.isHeadMethodSupported)return{error:`not-ok`,response:s};if(r.isHeadMethodSupported===void 0&&(r.isHeadMethodSupported=s.ok),s.status===304)return{error:`not-modified`,response:s};if(o===void 0){let e=s.headers.get(`ETag`);e&&(o=e!==r.headers.get(`If-None-Match`),o&&r.headers.set(`If-None-Match`,e))}if(o===void 0){let e=s.headers.get(`Last-Modified`);e&&(o=e!==r.headers.get(`If-Modified-Since`),o&&r.headers.set(`If-Modified-Since`,e))}if(o===!1)return{error:`not-modified`,response:s}}try{let t=await(0,ee.sendRequest)({fetchOptions:{method:`GET`,...e},timeout:n,url:i.path});if(t.response.status>=300)return{error:`not-ok`,response:t.response};s=t.response}catch(e){return{error:`not-ok`,response:new Response(e.message)}}if(!s.ok)return{error:`not-ok`,response:s};if(a=s.body?await s.arrayBuffer():new ArrayBuffer(0),o===void 0){let e=new TextDecoder().decode(a);o=e!==r.lastValue,r.lastValue=e}}else r.lastValue?o=!1:r.lastValue=i.type;return o===!1?{error:`not-modified`,response:s}:{arrayBuffer:a,resolvedInput:i}},hl=m.default.createPrinter({newLine:m.default.NewLineKind.LineFeed,removeComments:!1}),gl=e=>m.default.createSourceFile(``,e,m.default.ScriptTarget.ESNext,!1,m.default.ScriptKind.TS),_l=gl(``),vl=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)));function yl(e){let t=hl.printNode(m.default.EmitHint.Unspecified,e,_l);try{return vl(t)}catch{return t}}const bl=new Set(`buffer.child_process.cluster.console.constants.crypto.dgram.dns.domain.events.freelist.fs.http.https.module.net.os.path.process.punycode.querystring.readline.repl.stream.string_decoder.timers.tls.tty.url.util.v8.vm.worker_threads.zlib`.split(`.`));var xl=class{renderFile(e,t,n,r){let i=new Map;if(e=(0,l.renderIds)(e,e=>{let a=n.symbols.get(e),o=this.replacerFn({file:t,project:n,symbol:a});return a&&this.addBinding({bindings:i,file:t,meta:r,project:n,symbol:a}),o}),!e.length)return``;let a=``,o=this.getHeaderLines();a+=`${o.join(` ++${r}`,d.default.writeFileSync(e,r,`utf8`)},oi=({meta:e,outputPath:t,plugin:n,project:r})=>{let i=new Map;if(n.name.startsWith(`@hey-api/client-`)){let a=f.default.resolve(t,`core`);se(a),ri(f.default.resolve(ti,`clients`,`core`),a);let o=f.default.resolve(t,`client`);se(o);let s=n.name.slice(16);if(ri(f.default.resolve(ti,`clients`,s),o),r){let e=d.default.readdirSync(a);for(let t of e)ii({filePath:f.default.resolve(a,t),project:r,renamed:i});let t=d.default.readdirSync(o);for(let e of t)ii({filePath:f.default.resolve(o,e),project:r,renamed:i})}let c=d.default.readdirSync(a);for(let t of c)ai({filePath:f.default.resolve(a,t),meta:e,renamed:i});let l=d.default.readdirSync(o);for(let t of l)ai({filePath:f.default.resolve(o,t),meta:e,renamed:i});return i}let a=f.default.isAbsolute(n.name)?f.default.dirname(n.name):void 0;if(a){let e=f.default.resolve(t,`client`);se(e),ri(a,e);return}let o=f.default.normalize(require.resolve(n.name)).split(f.default.sep),s=o.slice(0,o.indexOf(`dist`)+1).join(f.default.sep),c=[o[o.length-1],`index.d.ts`,`index.d.cts`],l=f.default.resolve(t,`client`);se(l);for(let e of c)d.default.copyFileSync(f.default.resolve(s,e),f.default.resolve(l,e))},si=/^(([^:/?#]+):)?((\/\/)?([^:/?#]*)(:?([^/?#]*)))?([^?#]*)(\?([^#]*))?(#(.*))?/,ci=e=>{let t={host:``,path:``,port:``,protocol:``};si.lastIndex=0;let n=e.match(si);if(!n)return t;let r=n[5]||``;if(r===`.`||r===`..`)return t;let i=n[8]||``,a=n[2]||``;return a.length===1?t:{host:r,path:i===`/`?``:i,port:n[7]||``,protocol:a}},li=({plugin:e})=>{let{baseUrl:t}=e.config;if(t===!1)return;if(typeof t==`string`)return t;let{servers:n}=e.context.ir;if(n)return n[typeof t==`number`?t:0]?.url},ui=({plugin:e})=>{let t=ni(e.context.config),n=e.registerSymbol({external:t,name:`createClient`}),r=e.registerSymbol({external:t,name:`createConfig`}),i=e.referenceSymbol({category:`type`,resource:`client`,role:`options`}),{runtimeConfigPath:a}=e.config,o=a?e.registerSymbol({external:a,name:`createClientConfig`}):void 0,s=L.object(),c=li({plugin:e});if(c){let t=ci(c);if(t.protocol&&t.host&&!c.includes(`{`))s.prop(st(e.context.config),L.literal(c));else if(c!==`/`&&c.startsWith(`/`)){let t=c.endsWith(`/`)?c.slice(0,-1):c;s.prop(st(e.context.config),L.literal(t))}}`throwOnError`in e.config&&e.config.throwOnError&&s.prop(`throwOnError`,L.literal(!0));let l=[L(r.placeholder).call(s.hasProps()?s:void 0).generic(i.placeholder)],u=e.registerSymbol({exported:!0,meta:{category:`client`},name:`client`}),d=L.const(u.placeholder).export(u.exported).assign(L(n.placeholder).$if(o,(e,t)=>e.call(L(t.placeholder).call(...l)),e=>e.call(...l)));e.setSymbolValue(u,d)},di=({plugin:e})=>{let t=ni(e.context.config),n=e.referenceSymbol({category:`type`,resource:`client`,role:`options`}),r=e.registerSymbol({external:t,kind:`type`,name:`Config`}),i=e.registerSymbol({external:t,kind:`type`,name:`ClientOptions`}),a=e.registerSymbol({exported:!0,kind:`type`,name:`CreateClientConfig`}),o=L.type.alias(a.placeholder).export(a.exported).doc(["The `createClientConfig()` function will be called on client initialization",`and the returned object will become the client's initial configuration.`,``,`You may want to initialize your client this way instead of calling`,"`setConfig()`. This is useful for example if you're using Next.js",`to ensure your client always has the correct values.`]).generic(`T`,e=>e.extends(i.placeholder).default(n.placeholder)).type(L.type.func().param(`override`,e=>e.optional().type(L.type(r.placeholder).generic(L.type.and(i.placeholder,`T`)))).returns(L.type(r.placeholder).generic(L.type.and(L.type(`Required`).generic(i.placeholder),`T`))));e.setSymbolValue(a,o)},fi=({plugin:e})=>{di({plugin:e}),ui({plugin:e})},pi={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-angular`},mi=v(pi),hi={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-axios`},gi=v(hi),_i={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-fetch`},vi=v(_i),yi={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-ky`},bi=v(yi),xi={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-next`},Si=v(xi),Ci={...$r,config:Qr,handler:fi,name:`@hey-api/client-nuxt`},wi=v(Ci),Ti={...$r,config:{...Qr,throwOnError:!1},handler:fi,name:`@hey-api/client-ofetch`},Ei=v(Ti),Di=(...e)=>g.satisfies(...e),Oi=e=>({getVersion:t=>{let n=e[t];if(n)try{let e=g.parse(n);if(e)return e;let t=g.minVersion(n);if(t)return t;if(e=g.coerce(n),e)return e}catch{}},isInstalled:t=>!!e[t],satisfies:(t,n,r)=>{let i=typeof t==`string`?e[t]:t;return i?Di(i,n,r):!1}}),ki=[tn,rn,en,nn,$t],Ai=e=>{let t=e.replace(/[^$\u200c\u200d\p{ID_Continue}]/gu,`_`);if(Zt.lastIndex=0,Zt.test(t))return`_${t}`;for(let e of ki){if(t.startsWith(`_`))return t;t=t.replace(e,`_$1`)}return t},ji=({plugin:e,schema:t})=>{e.config.type===`form`&&(t.description&&delete t.description,t[`x-enum-descriptions`]&&delete t[`x-enum-descriptions`],t[`x-enum-varnames`]&&delete t[`x-enum-varnames`],t[`x-enumNames`]&&delete t[`x-enumNames`],t.title&&delete t.title)},Mi=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Mi({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(r.$ref)return r.$ref=decodeURI(r.$ref),r;if(ji({plugin:t,schema:r}),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Mi({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Mi({context:e,plugin:t,schema:n})),r.items&&=Mi({context:e,plugin:t,schema:r.items}),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Mi({context:e,plugin:t,schema:i}))}return r},Ni=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Ni({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(`$ref`in r)return r.$ref=decodeURI(r.$ref),r;if(ji({plugin:t,schema:r}),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Ni({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.anyOf&&=r.anyOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.items&&=Ni({context:e,plugin:t,schema:r.items}),r.oneOf&&=r.oneOf.map(n=>Ni({context:e,plugin:t,schema:n})),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Ni({context:e,plugin:t,schema:i}))}return r},Pi=({context:e,plugin:t,schema:n})=>{if(Array.isArray(n))return n.map(n=>Pi({context:e,plugin:t,schema:n}));let r=structuredClone(n);if(ji({plugin:t,schema:r}),r.$ref&&=decodeURI(r.$ref),r.additionalProperties&&typeof r.additionalProperties!=`boolean`&&(r.additionalProperties=Pi({context:e,plugin:t,schema:r.additionalProperties})),r.allOf&&=r.allOf.map(n=>Pi({context:e,plugin:t,schema:n})),r.anyOf&&=r.anyOf.map(n=>Pi({context:e,plugin:t,schema:n})),r.items&&=Pi({context:e,plugin:t,schema:r.items}),r.oneOf&&=r.oneOf.map(n=>Pi({context:e,plugin:t,schema:n})),r.prefixItems&&=r.prefixItems.map(n=>Pi({context:e,plugin:t,schema:n})),r.properties)for(let n in r.properties){let i=r.properties[n];typeof i!=`boolean`&&(r.properties[n]=Pi({context:e,plugin:t,schema:i}))}return r},Fi=({name:e,plugin:t,schema:n})=>{let r=``;return t.config.nameBuilder&&(r=typeof t.config.nameBuilder==`function`?t.config.nameBuilder(e,n):t.config.nameBuilder.replace(`{{name}}`,e)),r||=`${e}Schema`,Ai(r)},Ii=({context:e,plugin:t})=>{if(e.spec.definitions)for(let n in e.spec.definitions){let r=e.spec.definitions[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Fi({name:n,plugin:t,schema:r})}),a=Mi({context:e,plugin:t,schema:r}),o=L.const(i.placeholder).export(i.exported).assign(L(L.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Li=({context:e,plugin:t})=>{if(e.spec.components)for(let n in e.spec.components.schemas){let r=e.spec.components.schemas[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Fi({name:n,plugin:t,schema:r})}),a=Ni({context:e,plugin:t,schema:r}),o=L.const(i.placeholder).export(i.exported).assign(L(L.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},Ri=({context:e,plugin:t})=>{if(e.spec.components)for(let n in e.spec.components.schemas){let r=e.spec.components.schemas[n],i=t.registerSymbol({exported:!0,meta:{category:`schema`,resource:`definition`,resourceId:n,tool:`json-schema`},name:Fi({name:n,plugin:t,schema:r})}),a=Pi({context:e,plugin:t,schema:r}),o=L.const(i.placeholder).export(i.exported).assign(L(L.fromValue(a,{layout:`pretty`})).as(`const`));t.setSymbolValue(i,o)}},zi=({plugin:e})=>{if(`swagger`in e.context.spec){Ii({context:e.context,plugin:e});return}if(Di(e.context.spec.openapi,`>=3.0.0 <3.1.0`)){Li({context:e.context,plugin:e});return}if(Di(e.context.spec.openapi,`>=3.1.0`)){Ri({context:e.context,plugin:e});return}throw Error(`Unsupported OpenAPI specification`)},Bi={config:{exportFromIndex:!1,nameBuilder:e=>`${e}Schema`,type:`json`},handler:zi,name:`@hey-api/schemas`},Vi=v(Bi),Hi=`__registry`,Ui=({sdkName:e,symbol:t})=>{let n=`defaultKey`,r=`instances`;return L.class(t.placeholder).export(t.exported).generic(`T`).field(n,e=>e.private().readonly().assign(L.literal(`default`))).newline().field(r,e=>e.private().readonly().type(L.type(`Map`).generics(`string`,`T`)).assign(L.new(`Map`))).newline().method(`get`,t=>t.returns(`T`).param(`key`,e=>e.type(`string`).optional()).do(L.const(`instance`).assign(L(`this`).attr(`instances`).attr(`get`).call(L(`key`).coalesce(L(`this`).attr(n)))),L.if(L.not(`instance`)).do(L.throw(`Error`).message(L.template(`No SDK client found. Create one with "new `).add(e).add(`()" to fix this error.`))),L.return(`instance`))).newline().method(`set`,e=>e.returns(`void`).param(`value`,e=>e.type(`T`)).param(`key`,e=>e.type(`string`).optional()).do(L(`this`).attr(r).attr(`set`).call(L(`key`).coalesce(L(`this`).attr(n)),`value`)))},Wi=({plugin:e,symbol:t})=>{let n=e.getSymbol({category:`client`}),r=!!(e.config.client&&n),i=e.referenceSymbol({category:`external`,resource:`client.Client`});return L.class(t.placeholder).export(t.exported).field(`client`,e=>e.protected().type(i.placeholder)).newline().init(e=>e.param(`args`,e=>e.optional(r).type(L.type.object().prop(`client`,e=>e.optional(r).type(i.placeholder)))).do(L(`this`).attr(`client`).assign(L(`args`).attr(`client`).optional(r).$if(r,e=>e.coalesce(n.placeholder)))))},Gi=({plugin:e})=>{let t=T(e.context.config),n=t.name===`@hey-api/client-angular`,r=t.name===`@hey-api/client-nuxt`,i=new Map,a=new Set;e.forEach(`operation`,({operation:a})=>{let o=B({context:e.context,operation:a}),s=r?e.querySymbol({category:`type`,resource:`operation`,resourceId:a.id,role:`response`}):void 0,c=Ar({context:e.context,operation:a,plugin:e});for(let l of c.values())l.path.forEach((c,u)=>{let d=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:c,tool:`sdk`});i.has(d.meta.resourceId)||i.set(d.meta.resourceId,{className:d.meta.resourceId,classes:new Set,id:d.id,methods:new Set,nodes:[],root:!u});let f=l.path[u-1];if(f){let t=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:f,tool:`sdk`});if(t.meta?.resourceId!==d.meta?.resourceId){let e=i.get(t.meta.resourceId);e.classes.add(d.meta.resourceId),i.set(t.meta.resourceId,e)}}if(l.path.length!==u+1)return;let p=i.get(d.meta.resourceId);if(p.methods.has(l.methodName))return;let m=Mr({isRequiredOptions:o,operation:a,plugin:e}),h=Pr({isRequiredOptions:o,opParameters:m,operation:a,plugin:e}),g=L.method(l.methodName,i=>i.$if(z(a),(e,t)=>e.doc(t)).public().static(!n&&!e.config.instance).$if(r,t=>t.generic(hr,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(L.type.literal(`$fetch`))).generic(gr,e=>e.$if(s,(e,t)=>e.extends(t.placeholder).default(t.placeholder))),e=>e.generic(`ThrowOnError`,e=>e.extends(`boolean`).default((`throwOnError`in t.config?t.config.throwOnError:!1)??!1))).params(...m.parameters).do(...h));p.nodes.length?p.nodes.push(L.newline(),g):p.nodes.push(g),p.methods.add(l.methodName),i.set(d.meta.resourceId,p)})},{order:`declarations`});let o=e.config.instance?e.registerSymbol({exported:!1,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:`HeyApiClient`,tool:`sdk`},name:`HeyApiClient`}):void 0,s=e.config.instance?e.registerSymbol({exported:!1,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:`HeyApiRegistry`,tool:`sdk`},name:`HeyApiRegistry`}):void 0,c=t=>{if(a.has(t.className))return;let r=t.className;if(a.add(r),t.classes.size)for(let n of t.classes){let r=i.get(n);c(r);let a=e.referenceSymbol({category:`utility`,resource:`class`,resourceId:r.className,tool:`sdk`}),o=b({case:`camelCase`,value:a.meta.resourceId});if(t.methods.has(o)){let e=2,n=`${o}${e}`;for(;t.methods.has(n);)n=`${o}${e++}`;o=n}t.methods.add(o);let s=e.isSymbolRegistered(a.id)?L.field(o,t=>t.static(!e.config.instance).assign(e.config.instance?L.new(a.placeholder).args(L.object().prop(`client`,L(`this`).attr(`client`))):L(a.placeholder))):L.getter(o,t=>t.$if(!e.config.instance,e=>e.public().static()).do(L.return(e.config.instance?L.new(a.placeholder).args(L.object().prop(`client`,L(`this`).attr(`client`))):a.placeholder)));t.nodes.length?t.nodes.push(L.newline(),s):t.nodes.push(s)}if(o&&!e.gen.symbols.hasValue(o.id)){let t=Wi({plugin:e,symbol:o});e.setSymbolValue(o,t)}let l=e.registerSymbol({exported:!0,kind:`class`,meta:{category:`utility`,resource:`class`,resourceId:r,tool:`sdk`},name:r});if(t.root&&s){let n=e.getSymbol({category:`client`}),r=!e.config.client||!n,i=e.referenceSymbol({category:`external`,resource:`client.Client`}),a=L.init(e=>e.param(`args`,e=>e.required(r).type(L.type.object().prop(`client`,e=>e.required(r).type(i.placeholder)).prop(`key`,e=>e.optional().type(`string`)))).do(L(`super`).call(`args`),L(l.placeholder).attr(Hi).attr(`set`).call(`this`,L(`args`).attr(`key`).required(r))));t.nodes.length?t.nodes.unshift(a,L.newline()):t.nodes.unshift(a);let o=Ui({plugin:e,sdkName:l.placeholder,symbol:s});e.setSymbolValue(s,o);let c=L.field(Hi,e=>e.public().static().readonly().assign(L.new(s.placeholder).generic(l.placeholder)));t.nodes.unshift(c,L.newline())}let u=L.class(l.placeholder).export(l.exported).extends(o?.placeholder).$if(t.root&&n,t=>t.decorator(e.referenceSymbol({category:`external`,resource:`@angular/core.Injectable`}).placeholder,L.object().prop(`providedIn`,L.literal(`root`)))).do(...t.nodes);e.setSymbolValue(l,u)};for(let e of i.values())c(e)},Ki=({id:e,operation:t,plugin:n})=>n.config.methodNameBuilder?n.config.methodNameBuilder(t):e.match(tn)?`${e}_`:e,qi=({plugin:e})=>{let t=T(e.context.config),n=t.name===`@hey-api/client-nuxt`;e.forEach(`operation`,r=>{let{operation:i}=r,a=B({context:e.context,operation:i}),o=n?e.querySymbol({category:`type`,resource:`operation`,resourceId:i.id,role:`response`}):void 0,s=Mr({isRequiredOptions:a,operation:i,plugin:e}),c=Pr({isRequiredOptions:a,opParameters:s,operation:i,plugin:e}),l=e.registerSymbol({exported:!0,meta:{category:`sdk`,path:r._path,resource:`operation`,resourceId:i.id,tags:r.tags,tool:`sdk`},name:Ki({id:i.id,operation:i,plugin:e})}),u=L.const(l.placeholder).export(l.exported).$if(z(i),(e,t)=>e.doc(t)).assign(L.func().params(...s.parameters).$if(n,t=>t.generic(hr,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(L.type.literal(`$fetch`))).generic(gr,e=>e.$if(o,(e,t)=>e.extends(t.placeholder).default(t.placeholder),e=>e.default(`undefined`))),e=>e.generic(`ThrowOnError`,e=>e.extends(`boolean`).default((`throwOnError`in t.config?t.config.throwOnError:!1)??!1))).do(...c));e.setSymbolValue(l,u)},{order:`declarations`})},Ji=({plugin:e})=>{let t=ni(e.context.config),n=T(e.context.config),r=n.name===`@hey-api/client-nuxt`,i=e.registerSymbol({external:t,kind:`type`,name:`TDataShape`}),a=e.registerSymbol({external:t,kind:`type`,meta:{category:`external`,resource:`client.Client`,tool:n.name},name:`Client`}),o=e.registerSymbol({external:t,kind:`type`,name:`Options`}),s=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`client-options`,tool:`sdk`},name:`Options`}),c=L.type.alias(s.placeholder).export(s.exported).$if(r,t=>t.generic(`TComposable`,t=>t.extends(e.referenceSymbol({category:`external`,resource:`client.Composable`}).placeholder).default(L.type.literal(`$fetch`))).generic(`TData`,e=>e.extends(i.placeholder).default(i.placeholder)).generic(_r,e=>e.default(`unknown`)).generic(gr,e=>e.default(`undefined`)),e=>e.generic(`TData`,e=>e.extends(i.placeholder).default(i.placeholder)).generic(`ThrowOnError`,e=>e.extends(`boolean`).default(`boolean`))).type(L.type.and(L.type(o.placeholder).$if(r,e=>e.generic(`TComposable`).generic(`TData`).generic(_r).generic(gr),e=>e.generic(`TData`).generic(`ThrowOnError`)),L.type.object().prop(`client`,t=>t.doc(["You can provide a client instance returned by `createClient()` instead of",`individual options. This might be also useful if you want to implement a`,`custom client.`]).required(!e.config.client&&!e.config.instance).type(a.placeholder)).prop(`meta`,e=>e.doc(["You can pass arbitrary values through the `meta` object. This can be",`used to access values that aren't defined as part of the SDK function.`]).optional().type(L.type(`Record`).generics(`string`,`unknown`)))));e.setSymbolValue(s,c)},Yi=({plugin:e})=>{let t=ni(e.context.config),n=T(e.context.config),r=n.name===`@hey-api/client-angular`,i=n.name===`@hey-api/client-nuxt`;e.registerSymbol({external:t,meta:{category:`external`,resource:`client.formDataBodySerializer`,tool:n.name},name:`formDataBodySerializer`}),e.registerSymbol({external:t,meta:{category:`external`,resource:`client.urlSearchParamsBodySerializer`,tool:n.name},name:`urlSearchParamsBodySerializer`}),e.registerSymbol({external:t,meta:{category:`external`,resource:`client.buildClientParams`,tool:n.name},name:`buildClientParams`}),i&&e.registerSymbol({external:t,kind:`type`,meta:{category:`external`,resource:`client.Composable`,tool:n.name},name:`Composable`}),r&&e.config.asClass&&e.registerSymbol({external:`@angular/core`,meta:{category:`external`,resource:`@angular/core.Injectable`},name:`Injectable`}),Ji({plugin:e}),e.config.asClass?Gi({plugin:e}):qi({plugin:e})},Xi=e=>Yi(e),Zi={config:{asClass:!1,auth:!0,classNameBuilder:`{{name}}`,classStructure:`auto`,client:!0,exportFromIndex:!0,instance:!1,operationId:!0,paramsStructure:`grouped`,response:`body`,responseStyle:`fields`,transformer:!1,validator:!1},dependencies:[`@hey-api/typescript`],handler:Xi,name:`@hey-api/sdk`,resolveConfig:(e,t)=>{e.config.client?(typeof e.config.client==`boolean`&&(e.config.client=t.pluginByTag(`client`,{defaultPlugin:`@hey-api/client-fetch`})),e.dependencies.add(e.config.client)):e.config.client=!1,e.config.transformer?(typeof e.config.transformer==`boolean`&&(e.config.transformer=t.pluginByTag(`transformer`)),e.dependencies.add(e.config.transformer)):e.config.transformer=!1,typeof e.config.validator!=`object`&&(e.config.validator={request:e.config.validator,response:e.config.validator}),e.config.validator.request?(typeof e.config.validator.request==`boolean`&&(e.config.validator.request=t.pluginByTag(`validator`)),e.dependencies.add(e.config.validator.request)):e.config.validator.request=!1,e.config.validator.response?(typeof e.config.validator.response==`boolean`&&(e.config.validator.response=t.pluginByTag(`validator`)),e.dependencies.add(e.config.validator.response)):e.config.validator.response=!1,e.config.instance?(typeof e.config.instance!=`string`&&(e.config.instance=`Sdk`),e.config.asClass=!0):e.config.instance=!1,e.config.classNameBuilder===`{{name}}`&&e.config.client===`@hey-api/client-angular`&&(e.config.classNameBuilder=`{{name}}Service`)}},Qi=v(Zi),$i=({dataExpression:e,schema:t})=>{if(t.type!==`integer`||t.format!==`int64`)return;let n=e===void 0?void 0:L(`BigInt`).call(L.expr(e).attr(`toString`).call());if(n){if(typeof e==`string`)return[n];if(e)return[L.expr(e).assign(n)]}},ea=({dataExpression:e,schema:t})=>{if(!(t.type!==`string`||!(t.format===`date`||t.format===`date-time`))){if(typeof e==`string`)return[L.new(`Date`).arg(e)];if(e)return[L.expr(e).assign(L.new(`Date`).arg(e))]}},ta=`data`,na=new Set,ra=e=>e.map(e=>L.stmt(e).$render()),ia=({node:e})=>(e instanceof O&&(e=e.$render()),e.kind===m.default.SyntaxKind.ReturnStatement),aa=({plugin:e,schema:t})=>{let n=oa({dataExpression:L(ta),plugin:e,schema:t});if(n.length&&t.logicalOperator!==`and`&&(t.items??[]).some(e=>e.type===`null`||e.type===`void`))n=[L.if(ta).do(...ra(n))];if(n.length){let e=n[n.length-1];ia({node:e})||n.push(L.return(ta))}return n},oa=({dataExpression:e,plugin:t,schema:n})=>{if(n.$ref){let r={category:`transform`,resource:`definition`,resourceId:n.$ref},i=t.getSymbol(r);if(i||(i=t.registerSymbol({meta:r,name:x({config:{case:`camelCase`,name:`{{name}}SchemaResponseTransformer`},name:R(n.$ref)})}),t.setSymbolValue(i,null)),!t.gen.symbols.getValue(i.id)&&!na.has(i.id)){na.add(i.id);try{let e=aa({plugin:t,schema:t.context.resolveIrRef(n.$ref)});if(e.length){let n=L.const(i.placeholder).assign(L.func().param(ta,e=>e.type(`any`)).do(...ra(e)));t.setSymbolValue(i,n)}}finally{na.delete(i.id)}}if(t.gen.symbols.getValue(i.id)||na.has(i.id)){let n=L(t.referenceSymbol(r).placeholder).call(e);if(e)return typeof e==`string`&&e===`item`?[L.return(n)]:[typeof e==`string`?n:L(e).assign(n)]}return[]}if(n.type===`array`){if(!e||typeof e==`string`)return[];let r=n.items?oa({dataExpression:`item`,plugin:t,schema:n.items?.[0]?n.items[0]:{...n,type:void 0}}):[];if(!r.length)return[];let i=ra(r);return i.some(e=>ia({node:e}))||i.push(L.return(`item`)),[L(e).assign(L(e).attr(`map`).call(L.func().param(`item`,e=>e.type(`any`)).do(...i)))]}if(n.type===`object`){let r=[],i=n.required??[];for(let a in n.properties){let o=n.properties[a],s=L(e||ta).attr(a),c=oa({dataExpression:s,plugin:t,schema:o});if(!c.length)continue;let l=!o.items?.find(e=>e.type===`null`);i.includes(a)&&l?r=r.concat(c):r.push(L.if(s).do(...ra(c)))}return r}if(n.items){if(n.items.length===1)return oa({dataExpression:`item`,plugin:t,schema:n.items[0]});let r=[];if(n.logicalOperator===`and`||n.items.length===2&&n.items.find(e=>e.type===`null`||e.type===`void`)){for(let i of n.items){let n=oa({dataExpression:e||`item`,plugin:t,schema:i});n.length&&(e?r=r.concat(n):r.push(L.if(`item`).do(...ra(n)),L.return(`item`)))}return r}n.type!==`enum`&&((n.items??[]).every(e=>[`boolean`,`integer`,`null`,`number`,`string`].includes(e.type))||console.warn(`❗️ Transformers warning: schema ${JSON.stringify(n)} is too complex and won't be currently processed. This will likely produce an incomplete transformer which is not what you want. Please open an issue if you'd like this improved https://github.com/hey-api/openapi-ts/issues`))}for(let r of t.config.transformers){let i=r({config:t.config,dataExpression:e,schema:n});if(i)return i}return[]},sa=({plugin:e})=>{e.forEach(`operation`,({operation:t})=>{let{response:n}=at(t);if(!n)return;if(n.items&&n.items.length>1){e.context.config.logs.level===`debug`&&console.warn(`❗️ Transformers warning: route ${w(t)} has ${n.items.length} non-void success responses. This is currently not handled and we will not generate a response transformer. Please open an issue if you'd like this feature https://github.com/hey-api/openapi-ts/issues`);return}let r=e.querySymbol({category:`type`,resource:`operation`,resourceId:t.id,role:`response`});if(!r)return;let i=aa({plugin:e,schema:n});if(!i.length)return;let a=e.registerSymbol({exported:!0,meta:{category:`transform`,resource:`operation`,resourceId:t.id,role:`response`},name:x({config:{case:`camelCase`,name:`{{name}}ResponseTransformer`},name:t.id})}),o=L.const(a.placeholder).export(a.exported).assign(L.func().async().param(ta,e=>e.type(`any`)).returns(L.type(`Promise`).generic(r.placeholder)).do(...ra(i)));e.setSymbolValue(a,o)},{order:`declarations`})},ca={config:{bigInt:!0,dates:!0,exportFromIndex:!1,transformers:[],typeTransformers:[]},dependencies:[`@hey-api/typescript`],handler:sa,name:`@hey-api/transformers`,resolveConfig:e=>{e.config.transformers||(e.config.transformers=[]),e.config.dates&&(e.config.transformers=[...e.config.transformers,ea]),e.config.bigInt&&(e.config.transformers=[...e.config.transformers,$i])},tags:[`transformer`]},la=v(ca),ua=({server:e})=>{let t=ci(e.url);return t.protocol&&t.host?L.type.literal(e.url):L.type.template().add(t.protocol||L.type(`string`)).add(`://`).add(t.host||L.type(`string`)).add(t.port?`:${t.port}`:``).add(t.path||``)},da=({plugin:e,servers:t,symbolClientOptions:n})=>{let r=T(e.context.config),i=t.map(e=>ua({server:e}));t.length?`strictBaseUrl`in r.config&&r.config.strictBaseUrl||i.push(L.type.and(L.type(`string`),L.type.object())):i.push(L.type(`string`));let a=L.type.alias(n.placeholder).export(n.exported).type(L.type.object().prop(st(e.context.config),e=>e.type(L.type.or(...i))));e.setSymbolValue(n,a)},V=e=>{let t=[];return e.title&&t.push(Fr(e.title)),e.description&&(t.length&&t.push(``),t.push(Fr(e.description))),e.deprecated&&(t.length&&t.push(``),t.push(`@deprecated`)),t.length?t:void 0},fa=({plugin:e,schema:t})=>{let n=[];return{obj:(t.items??[]).map((t,r)=>{let i=typeof t.const;n.includes(i)||n.push(i);let a;return a=t.title?t.title:i===`number`||i===`string`?`${t.const}`:i===`boolean`?t.const?`true`:`false`:t.const===null?`null`:`${r}`,a&&(a=b({case:e.config.enums.case,stripLeadingSeparators:!1,value:a}),Qt.lastIndex=0,Qt.test(a)&&e.config.enums.enabled&&(e.config.enums.mode===`typescript`||e.config.enums.mode===`typescript-const`)&&(a=`_${a}`)),{key:a,schema:t}}),typeofItems:n}},pa=({plugin:e,schema:t,symbol:n,type:r})=>{if(t.type===`enum`&&e.config.enums.enabled){let r=fa({plugin:e,schema:t});if(e.config.enums.mode===`javascript`){e.config.enums.constantsIgnoreNull&&r.typeofItems.includes(`object`)&&(r.obj=r.obj.filter(e=>e.schema.const!==null));let i=L.const(n.placeholder).export().$if(V(t),(e,t)=>e.doc(t)).assign(L.object(...r.obj.map(e=>L.prop({kind:`prop`,name:e.key}).$if(V(e.schema),(e,t)=>e.doc(t)).value(L.fromValue(e.schema.const)))).as(`const`)),a=L.type.alias(n.placeholder).export().$if(V(t),(e,t)=>e.doc(t)).type(L.type(n.placeholder).idx(L.type(n.placeholder).typeof().keyof()).typeof());e.setSymbolValue(n,[i,a]);return}else if((e.config.enums.mode===`typescript`||e.config.enums.mode===`typescript-const`)&&!r.typeofItems.some(e=>e!==`number`&&e!==`string`)){let i=L.enum(n.placeholder).export().$if(V(t),(e,t)=>e.doc(t)).const(e.config.enums.mode===`typescript-const`).members(...r.obj.map(e=>L.member(e.key).$if(V(e.schema),(e,t)=>e.doc(t)).value(L.fromValue(e.schema.const))));e.setSymbolValue(n,i);return}}let i=L.type.alias(n.placeholder).export(n.exported).$if(V(t),(e,t)=>e.doc(t)).type(r);e.setSymbolValue(n,i)},ma=({parameters:e})=>{let t={type:`object`};if(e){let n={},r=[];for(let t in e){let i=e[t];n[i.name]=S({detectFormat:!1,schema:i.schema}),i.required&&r.push(i.name)}t.properties=n,r.length&&(t.required=r)}return t},ha=({operation:e,plugin:t,state:n})=>{let r={type:`object`},i=[];r.properties||={},e.body?(r.properties.body=e.body.schema,e.body.required&&i.push(`body`)):r.properties.body={type:`never`},e.parameters?.header&&(r.properties.headers=ma({parameters:e.parameters.header}),r.properties.headers.required&&i.push(`headers`)),e.parameters?.path?(r.properties.path=ma({parameters:e.parameters.path}),r.properties.path.required&&i.push(`path`)):r.properties.path={type:`never`},e.parameters?.query?(r.properties.query=ma({parameters:e.parameters.query}),r.properties.query.required&&i.push(`query`)):r.properties.query={type:`never`},r.properties.url={const:e.path,type:`string`},i.push(`url`),r.required=i;let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:x({config:t.config.requests,name:e.id})}),o=L.type.alias(a.placeholder).export(a.exported).type(H({plugin:t,schema:r,state:n}));t.setSymbolValue(a,o)},ga=({operation:e,plugin:t,state:n})=>{ha({operation:e,plugin:t,state:n});let{error:r,errors:i,response:a,responses:o}=at(e);if(i){let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`errors`,tags:n.tags?.value,tool:`typescript`},name:x({config:t.config.errors,name:e.id})}),o=L.type.alias(a.placeholder).export(a.exported).type(H({plugin:t,schema:i,state:n}));if(t.setSymbolValue(a,o),r){let r=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`error`,tags:n.tags?.value,tool:`typescript`},name:x({config:{case:t.config.errors.case,name:t.config.errors.error},name:e.id})}),i=L.type.alias(r.placeholder).export(r.exported).type(L.type(a.placeholder).idx(L.type(a.placeholder).keyof()));t.setSymbolValue(r,i)}}if(o){let r=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`responses`,tags:n.tags?.value,tool:`typescript`},name:x({config:t.config.responses,name:e.id})}),i=L.type.alias(r.placeholder).export(r.exported).type(H({plugin:t,schema:o,state:n}));if(t.setSymbolValue(r,i),a){let i=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`operation`,resourceId:e.id,role:`response`,tags:n.tags?.value,tool:`typescript`},name:x({config:{case:t.config.responses.case,name:t.config.responses.response},name:e.id})}),a=L.type.alias(i.placeholder).export(i.exported).type(L.type(r.placeholder).idx(L.type(r.placeholder).keyof()));t.setSymbolValue(i,a)}}},_a=({operation:e,plugin:t,state:n})=>{let r={type:`object`},i=[];if(r.properties||={},e.body){let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`webhook`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:x({config:{case:t.config.webhooks.case,name:t.config.webhooks.payload},name:e.id})}),o=L.type.alias(a.placeholder).export(a.exported).$if(V(e.body.schema),(e,t)=>e.doc(t)).type(H({plugin:t,schema:e.body.schema,state:n}));t.setSymbolValue(a,o),t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:a.placeholder,tags:n.tags?.value,tool:`typescript`},name:a.name,placeholder:a.placeholder}),r.properties.body={$ref:a.placeholder},i.push(`body`)}else r.properties.body={type:`never`};r.properties.key={const:e.path,type:`string`},i.push(`key`),r.properties.path={type:`never`},r.properties.query={type:`never`},r.required=i;let a=t.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`webhook`,resourceId:e.id,role:`data`,tags:n.tags?.value,tool:`typescript`},name:x({config:t.config.webhooks,name:e.id})}),o=L.type.alias(a.placeholder).export(a.exported).type(H({plugin:t,schema:r,state:n}));return t.setSymbolValue(a,o),a.placeholder},va=({operation:e,plugin:t,state:n})=>_a({operation:e,plugin:t,state:n}),ya=({plugin:e,symbolWebhooks:t,webhookNames:n})=>{if(!n.length)return;let r=L.type.alias(t.placeholder).export(t.exported).type(L.type.or(...n));e.setSymbolValue(t,r)},ba=({plugin:e,schema:t,state:n})=>{if(!t.items)return L.type(`Array`).generic(L.type(e.config.topType));t=S({detectFormat:!0,schema:t});let r=[];return t.items&&t.items.forEach((t,i)=>{let a=H({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});r.push(a)}),r.length===1?L.type(`Array`).generic(r[0]):t.logicalOperator===`and`?L.type(`Array`).generic(L.type.and(...r)):L.type(`Array`).generic(L.type.or(...r))},xa=({schema:e})=>e.const===void 0?L.type(`boolean`):L.type.literal(e.const),Sa=({plugin:e,schema:t,state:n})=>H({plugin:e,schema:{...t,type:void 0},state:n}),Ca=e=>L.type(`never`),wa=e=>L.type.literal(null),Ta=({plugin:e,schema:t})=>t.const===void 0?t.type===`integer`&&t.format===`int64`&&e.getPlugin(`@hey-api/transformers`)?.config.bigInt?L.type(`bigint`):L.type(`number`):L.type.literal(t.const),Ea=({plugin:e,schema:t,state:n})=>{let r=L.type.object(),i=t.required??[],a=[],o=!1;for(let s in t.properties){let c=t.properties[s],l=H({plugin:e,schema:c,state:{...n,path:E([...n.path.value,`properties`,s])}}),u=i.includes(s);r.prop(s,e=>e.$if(V(c),(e,t)=>e.doc(t)).readonly(c.accessScope===`read`).required(u).type(l)),a.push(c),u||(o=!0)}if(t.patternProperties)for(let e in t.patternProperties){let n=t.patternProperties[e];a.unshift(n)}let s=!!t.patternProperties&&Object.keys(t.patternProperties).length>0,c=t.additionalProperties,l=c!==!1&&c?c:void 0;if(s||l&&(l.type!==`never`||!a.length)){let i=l;i&&i.type!==`never`?a.unshift(i):!s&&!a.length&&i&&i.type===`never`&&(a=[i]),o&&a.push({type:`undefined`});let c=a.length===1?H({plugin:e,schema:a[0],state:n}):H({plugin:e,schema:{items:a,logicalOperator:`or`},state:n});if(t.propertyNames?.$ref)return L.type.mapped(`key`).key(H({plugin:e,schema:{$ref:t.propertyNames.$ref},state:n})).optional().type(c);r.idxSig(`key`,e=>e.key(`string`).type(c))}return r},Da=({plugin:e,schema:t})=>{if(t.const!==void 0)return L.type.literal(t.const);if(t.format){if(t.format===`binary`)return L.type.or(L.type(`Blob`),L.type(`File`));if((t.format===`date-time`||t.format===`date`)&&e.getPlugin(`@hey-api/transformers`)?.config.dates)return L.type(`Date`);if(t.format===`typeid`&&typeof t.example==`string`){let n=String(t.example).split(`_`);n.pop();let r=n.join(`_`),i={category:`type`,resource:`type-id`,resourceId:r,tool:`typescript`};if(!e.getSymbol(i)){let t={category:`type`,resource:`type-id`,tool:`typescript`,variant:`container`};if(!e.getSymbol(t)){let n=e.registerSymbol({exported:!0,kind:`type`,meta:t,name:`TypeID`}),r=L.type.alias(n.placeholder).export(n.exported).generic(`T`,e=>e.extends(`string`)).type(L.type.template().add(L.type(`T`)).add(`_`).add(L.type(`string`)));e.setSymbolValue(n,r)}let n=e.referenceSymbol(t),a=e.registerSymbol({exported:!0,kind:`type`,meta:i,name:b({case:e.config.case,value:`${r}_id`})}),o=L.type.alias(a.placeholder).export(a.exported).type(L.type(n.placeholder).generic(L.type.literal(r)));e.setSymbolValue(a,o)}let a=e.referenceSymbol(i);return L.type(a.placeholder)}}return L.type(`string`)},Oa=({plugin:e,schema:t,state:n})=>{let r=[];return t.const&&Array.isArray(t.const)?r=t.const.map(e=>L.type.fromValue(e)):t.items&&t.items.forEach((t,i)=>{let a=H({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});r.push(a)}),L.type.tuple(...r)},ka=e=>L.type(`undefined`),Aa=({plugin:e})=>L.type(e.config.topType),ja=e=>L.type(`void`),Ma=({schema:e,...t})=>{let n=t.plugin.getPlugin(`@hey-api/transformers`);if(n?.config.typeTransformers)for(let t of n.config.typeTransformers){let n=t({schema:e});if(n)return n}switch(e.type){case`array`:return ba({...t,schema:e});case`boolean`:return xa({...t,schema:e});case`enum`:return Sa({...t,schema:e});case`integer`:case`number`:return Ta({...t,schema:e});case`never`:return Ca({...t,schema:e});case`null`:return wa({...t,schema:e});case`object`:return Ea({...t,schema:e});case`string`:return Da({...t,schema:e});case`tuple`:return Oa({...t,schema:e});case`undefined`:return ka({...t,schema:e});case`unknown`:return Aa({...t,schema:e});case`void`:return ja({...t,schema:e})}},H=({plugin:e,schema:t,state:n})=>{if(t.$ref){let n=e.referenceSymbol({category:`type`,resource:`definition`,resourceId:t.$ref});return L.type(n.placeholder)}if(t.type)return Ma({plugin:e,schema:t,state:n});if(t.items){if(t=S({detectFormat:!1,schema:t}),t.items){let r=t.items.map(t=>H({plugin:e,schema:t,state:n}));return t.logicalOperator===`and`?L.type.and(...r):L.type.or(...r)}return H({plugin:e,schema:t,state:n})}return Ma({plugin:e,schema:{type:`unknown`},state:n})},Na=({plugin:e,schema:t,state:n})=>{let r=H({plugin:e,schema:t,state:n}),i=t.type===`enum`&&e.config.enums.enabled,a=Cr(n.path.value);pa({plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,kind:i?void 0:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:a,tags:n.tags?.value,tool:`typescript`},name:x({config:e.config.definitions,name:R(a)})}),type:r})},Pa=({plugin:e})=>{let t=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`client`,role:`options`,tool:`typescript`},name:x({config:{case:e.config.case},name:`ClientOptions`})}),n=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`webhook`,tool:`typescript`,variant:`container`},name:x({config:{case:e.config.case},name:`Webhooks`})}),r=[],i=[];e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`server`,`webhook`,t=>{let n=D({path:t._path,tags:t.tags});switch(t.type){case`operation`:ga({operation:t.operation,plugin:e,state:n});break;case`parameter`:Na({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Na({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Na({plugin:e,schema:t.schema,state:n});break;case`server`:r.push(t.server);break;case`webhook`:i.push(va({operation:t.operation,plugin:e,state:n}));break}},{order:`declarations`}),da({plugin:e,servers:r,symbolClientOptions:t}),ya({plugin:e,symbolWebhooks:n,webhookNames:i})};var Fa=class{schemaToType(e){return H(e)}};const Ia=e=>Pa(e),La={api:new Fa,config:{case:`PascalCase`,exportFromIndex:!0,topType:`unknown`},handler:Ia,name:`@hey-api/typescript`,resolveConfig:(e,t)=>{e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.definitions}),e.config.enums=t.valueToObject({defaultValue:{case:`SCREAMING_SNAKE_CASE`,constantsIgnoreNull:!1,enabled:!!e.config.enums,mode:`javascript`},mappers:{boolean:e=>({enabled:e}),string:e=>({mode:e})},value:e.config.enums}),e.config.errors=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,error:`{{name}}Error`,name:`{{name}}Errors`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.errors}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}Data`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}Responses`,response:`{{name}}Response`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,name:`{{name}}WebhookRequest`,payload:`{{name}}WebhookPayload`},mappers:{function:e=>({name:e}),string:e=>({name:e})},value:e.config.webhooks})}},Ra=v(La),za=(e,t,n)=>{let r=e.config[n].meta;if(!r)return;let i=r(t);if(Object.keys(i).length)return L.fromValue(i)},Ba=({operation:e,plugin:t})=>jr({operation:e,plugin:t.getPluginOrThrow(`@hey-api/sdk`)}),Va=({operation:e,plugin:t})=>{let n=T(t.context.config),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`error`})?.placeholder;return r||=`Error`,n.name===`@hey-api/client-axios`&&(r=`${t.referenceSymbol({category:`external`,resource:`axios.AxiosError`}).placeholder}<${r}>`),r},Ha=({operation:e,plugin:t})=>t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`,Ua=({plugin:e,typeData:t})=>{let n=T(e.context.config).name===`@hey-api/client-nuxt`;return{isNuxtClient:n,strippedTypeData:n?`Omit<${t}, 'composable'>`:t}},Wa=({operation:e,plugin:t,queryFn:n})=>{let r=t.referenceSymbol({category:`external`,resource:`${t.name}.UseMutationOptions`}),i=Ba({operation:e,plugin:t}),a=Va({operation:e,plugin:t}),o=Ha({operation:e,plugin:t}),{isNuxtClient:s,strippedTypeData:c}=Ua({plugin:t,typeData:i}),l=s?`${r.placeholder}<${o}, ${c}, ${a}>`:`${r.placeholder}<${o}, ${i}, ${a}>`,u=`fnOptions`,d=L(n).call(L.object().pretty().spread(`options`).spread(u).prop(`throwOnError`,L.literal(!0))).await(),f=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?f.push(L.return(d)):f.push(L.const().object(`data`).assign(d),L.return(`data`));let p=L.object().pretty().prop(`mutation`,L.func().async().param(u,e=>e.$if(s,e=>e.type(`Partial<${c}>`))).do(...f)).$if(za(t,e,`mutationOptions`),(e,t)=>e.prop(`meta`,t)),m=t.registerSymbol({exported:!0,name:x({config:t.config.mutationOptions,name:e.id})}),h=L.const(m.placeholder).export(m.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(`options`,e=>e.optional().type(`Partial<${c}>`)).returns(l).do(L.return(p)));t.setSymbolValue(m,h)},Ga=`TOptions`,Ka=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createQueryKey`,tool:e.name},name:x({config:{case:e.config.case},name:`createQueryKey`})}),n=e.referenceSymbol({category:`type`,resource:`QueryKey`,tool:e.name}),r=e.referenceSymbol({category:`external`,resource:`${e.name}._JSONValue`}),i=L.type(n.placeholder).generic(Ga).idx(0),a=st(e.context.config),o=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),s=e.getSymbol({category:`client`}),c=ni(e.context.config),l=e.registerSymbol({external:c,meta:{category:`external`,resource:`${c}.serializeQueryKeyValue`},name:`serializeQueryKeyValue`}),u=L.const(t.placeholder).assign(L.func().param(`id`,e=>e.type(`string`)).param(`options`,e=>e.optional().type(Ga)).param(`tags`,e=>e.optional().type(`ReadonlyArray`)).returns(L.type.tuple(i)).generic(Ga,e=>e.extends(o.placeholder)).do(L.const(`params`).type(i).assign(L.object().prop(`_id`,`id`).prop(a,`options?.${a} || (options?.client ?? ${s?.placeholder}).getConfig().${a}`).as(i)),L.if(`tags`).do(L(`params`).attr(`tags`).assign(L(`tags`).as(`unknown`).as(r.placeholder))),L.if(L(`options`).attr(`body`).optional().neq(L.id(`undefined`))).do(L.const(`normalizedBody`).assign(L(l.placeholder).call(L(`options`).attr(`body`))),L.if(L(`normalizedBody`).neq(L.id(`undefined`))).do(L(`params`).attr(`body`).assign(`normalizedBody`))),L.if(L(`options`).attr(`path`).optional()).do(L(`params`).attr(`path`).assign(L(`options`).attr(`path`))),L.if(L(`options`).attr(`query`).optional().neq(L.id(`undefined`))).do(L.const(`normalizedQuery`).assign(L(l.placeholder).call(L(`options`).attr(`query`))),L.if(L(`normalizedQuery`).neq(L.id(`undefined`))).do(L(`params`).attr(`query`).assign(`normalizedQuery`))),L.return(L.array(L(`params`)))));e.setSymbolValue(t,u)},qa=({id:e,operation:t,plugin:n})=>{let r=n.config.queryKeys,i;return r.tags&&t.tags&&t.tags.length>0&&(i=L.array(...t.tags.map(e=>L.literal(e)))),L(n.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:n.name}).placeholder).call(L.literal(e),`options`,i)},Ja=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`${e.name}._JSONValue`}),n=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),r=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`QueryKey`,tool:e.name},name:`QueryKey`}),i=L.type.alias(r.placeholder).export(r.exported).generic(Ga,e=>e.extends(L.type(n.placeholder))).type(L.type.tuple(L.type.and(L.type(`Pick<${Ga}, 'path'>`),L.type.object().prop(`_id`,e=>e.type(`string`)).prop(st(e.context.config),e=>e.optional().type(t.placeholder)).prop(`body`,e=>e.optional().type(t.placeholder)).prop(`query`,e=>e.optional().type(t.placeholder)).prop(`tags`,e=>e.optional().type(t.placeholder)))));e.setSymbolValue(r,i)},Ya=({operation:e,plugin:t,symbol:n})=>{let{strippedTypeData:r}=Ua({plugin:t,typeData:Ba({operation:e,plugin:t})});return L.const(n.placeholder).export(n.exported).assign(L.func().param(`options`,t=>t.required(nt(e)).type(r)).do(qa({id:e.id,operation:e,plugin:t}).return()))},Xa=`options`,Za=`context`,Qa=({operation:e,plugin:t,queryFn:n})=>{if(Ir({operation:e}))return;let r=B({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(Ja({plugin:t}),Ka({plugin:t}));let i;if(t.config.queryKeys.enabled){let n=t.registerSymbol({exported:!0,name:x({config:t.config.queryKeys,name:e.id})}),r=Ya({operation:e,plugin:t,symbol:n});t.setSymbolValue(n,r),i=L(n.placeholder).call(Xa)}else{let n=t.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name}),r;t.config.queryKeys.tags&&e.tags&&e.tags.length>0&&(r=L.array(...e.tags.map(e=>L.literal(e)))),i=L(n.placeholder).call(L.literal(e.id),Xa,r)}let{strippedTypeData:a}=Ua({plugin:t,typeData:Ba({operation:e,plugin:t})}),o=L(n).call(L.object().spread(Xa).spread(Za).prop(`throwOnError`,L.literal(!0))).await(),s=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?s.push(L.return(o)):s.push(L.const().object(`data`).assign(o),L.return(`data`));let c=L.object().pretty().prop(`key`,i).prop(`query`,L.func().async().param(Za).do(...s)).$if(za(t,e,`queryOptions`),(e,t)=>e.prop(`meta`,t)),l=t.registerSymbol({exported:!0,meta:{category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name},name:x({config:t.config.queryOptions,name:e.id})}),u=t.referenceSymbol({category:`external`,resource:`${t.name}.defineQueryOptions`}),d=L.const(l.placeholder).export(l.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L(u.placeholder).call(L.func().param(Xa,e=>e.required(r).type(a)).do(L.return(c))));t.setSymbolValue(l,d)},$a=({plugin:e})=>{e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.defineQueryOptions`},name:`defineQueryOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.UseMutationOptions`},name:`UseMutationOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.UseQueryOptions`},name:`UseQueryOptions`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}._JSONValue`},name:`_JSONValue`}),e.registerSymbol({external:`axios`,kind:`type`,meta:{category:`external`,resource:`axios.AxiosError`},name:`AxiosError`});let t=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let r=t.config.asClass?Ar({context:e.context,operation:n,plugin:t}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...t.config.instance?[Hi,`get()`]:[],...i.path.slice(1).map(e=>b({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:n.id}).placeholder,e.hooks.operation.isQuery(n)&&e.config.queryOptions.enabled&&Qa({operation:n,plugin:e,queryFn:a}),e.hooks.operation.isMutation(n)&&e.config.mutationOptions.enabled&&Wa({operation:n,plugin:e,queryFn:a})},{order:`declarations`})},eo=e=>$a(e),to={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/typescript`,`@hey-api/sdk`],handler:eo,name:`@pinia/colada`,resolveConfig:(e,t)=>{e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Query`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},no=v(to),ro=({operation:e,plugin:t})=>jr({operation:e,plugin:t.getPluginOrThrow(`@hey-api/sdk`)}),io=({operation:e,plugin:t})=>{let n=T(t.context.config),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`error`})?.placeholder;return r||=t.referenceSymbol({category:`external`,resource:`${t.name}.DefaultError`}).placeholder,n.name===`@hey-api/client-axios`&&(r=`${t.referenceSymbol({category:`external`,resource:`axios.AxiosError`}).placeholder}<${r}>`),r},ao=({operation:e,plugin:t})=>t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`response`})?.placeholder||`unknown`,oo=`TOptions`,so=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createQueryKey`,tool:e.name},name:x({config:{case:e.config.case},name:`createQueryKey`})}),n=e.referenceSymbol({category:`type`,resource:`QueryKey`,tool:e.name}),r=st(e.context.config),i=e.getSymbol({category:`client`}),a=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),o=L.type(n.placeholder).generic(oo).idx(0),s=L.const(t.placeholder).assign(L.func().param(`id`,e=>e.type(`string`)).param(`options`,e=>e.optional().type(oo)).param(`infinite`,e=>e.optional().type(`boolean`)).param(`tags`,e=>e.optional().type(`ReadonlyArray`)).generic(oo,e=>e.extends(a.placeholder)).returns(L.type.tuple(o)).do(L.const(`params`).type(o).assign(L.object().prop(`_id`,`id`).prop(r,`options?.${r} || (options?.client ?? ${i?.placeholder}).getConfig().${r}`).as(o)),L.if(`infinite`).do(L(`params`).attr(`_infinite`).assign(`infinite`)),L.if(`tags`).do(L(`params`).attr(`tags`).assign(`tags`)),L.if(L(`options`).attr(`body`).optional()).do(L(`params`).attr(`body`).assign(L(`options`).attr(`body`))),L.if(L(`options`).attr(`headers`).optional()).do(L(`params`).attr(`headers`).assign(L(`options`).attr(`headers`))),L.if(L(`options`).attr(`path`).optional()).do(L(`params`).attr(`path`).assign(L(`options`).attr(`path`))),L.if(L(`options`).attr(`query`).optional()).do(L(`params`).attr(`query`).assign(L(`options`).attr(`query`))),L.return(L.array().element(L(`params`)))));e.setSymbolValue(t,s)},co=({id:e,isInfinite:t,operation:n,plugin:r})=>{let i=t?r.config.infiniteQueryKeys:r.config.queryKeys,a;return i.tags&&n.tags&&n.tags.length>0&&(a=L.array().elements(...n.tags)),L(r.referenceSymbol({category:`utility`,resource:`createQueryKey`,tool:r.name}).placeholder).call(L.literal(e),`options`,t||a?L.literal(!!t):void 0,a)},lo=({plugin:e})=>{let t=e.referenceSymbol({category:`type`,resource:`client-options`,tool:`sdk`}),n=e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,resource:`QueryKey`,tool:e.name},name:`QueryKey`}),r=L.type.alias(n.placeholder).export(n.exported).generic(oo,e=>e.extends(t.placeholder)).type(L.type.tuple(L.type.and(L.type(`Pick<${oo}, '${st(e.context.config)}' | 'body' | 'headers' | 'path' | 'query'>`),L.type.object().prop(`_id`,e=>e.type(`string`)).prop(`_infinite`,e=>e.optional().type(`boolean`)).prop(`tags`,e=>e.optional().type(`ReadonlyArray`)))));e.setSymbolValue(n,r)},uo=({isInfinite:e,operation:t,plugin:n,symbol:r,typeQueryKey:i})=>{let a=ro({operation:t,plugin:n});return L.const(r.placeholder).export(r.exported).assign(L.func().param(`options`,e=>e.required(nt(t)).type(a)).$if(e&&i,(e,t)=>e.returns(t)).do(co({id:t.id,isInfinite:e,operation:t,plugin:n}).return()))},fo=(e,t,n)=>{let r=e.config[n].meta;if(!r)return;let i=r(t);if(Object.keys(i).length)return L.fromValue(i)},po=({plugin:e})=>{let t=e.registerSymbol({meta:{category:`utility`,resource:`createInfiniteParams`,tool:e.name},name:x({config:{case:e.config.case},name:`createInfiniteParams`})}),n=L.const(t.placeholder).assign(L.func().generic(`K`,e=>e.extends(`Pick[0], 'body' | 'headers' | 'path' | 'query'>`)).param(`queryKey`,e=>e.type(`QueryKey`)).param(`page`,e=>e.type(`K`)).do(L.const(`params`).assign(L.object().spread(L(`queryKey`).attr(0))),L.if(L(`page`).attr(`body`)).do(L(`params`).attr(`body`).assign(L.object().pretty().spread(L(`queryKey`).attr(0).attr(`body`).as(`any`)).spread(L(`page`).attr(`body`).as(`any`)))),L.if(L(`page`).attr(`headers`)).do(L(`params`).attr(`headers`).assign(L.object().pretty().spread(L(`queryKey`).attr(0).attr(`headers`)).spread(L(`page`).attr(`headers`)))),L.if(L(`page`).attr(`path`)).do(L(`params`).attr(`path`).assign(L.object().pretty().spread(L(`queryKey`).attr(0).attr(`path`).as(`any`)).spread(L(`page`).attr(`path`).as(`any`)))),L.if(L(`page`).attr(`query`)).do(L(`params`).attr(`query`).assign(L.object().pretty().spread(L(`queryKey`).attr(0).attr(`query`).as(`any`)).spread(L(`page`).attr(`query`).as(`any`)))),L.return(L(`params`).as(`unknown`).as(L(`page`).typeofType()))));e.setSymbolValue(t,n)},mo=({operation:e,plugin:t,queryFn:n})=>{let r=rt({context:t.context,operation:e});if(!r)return;let i=B({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(lo({plugin:t}),so({plugin:t})),t.getSymbol({category:`utility`,resource:`createInfiniteParams`,tool:t.name})||po({plugin:t});let a=t.referenceSymbol({category:`external`,resource:`${t.name}.infiniteQueryOptions`}),o=t.referenceSymbol({category:`external`,resource:`${t.name}.InfiniteData`}),s=ro({operation:e,plugin:t}),c=io({operation:e,plugin:t}),l=ao({operation:e,plugin:t}),u=`${t.referenceSymbol({category:`type`,resource:`QueryKey`,tool:t.name}).placeholder}<${s}>`,d=`Pick<${u}[0], 'body' | 'headers' | 'path' | 'query'>`,f=t.getPluginOrThrow(`@hey-api/typescript`),p=f.api.schemaToType({plugin:f,schema:r.schema,state:{path:{value:[]}}}),m=t.registerSymbol({exported:!0,name:x({config:t.config.infiniteQueryKeys,name:e.id})}),h=uo({isInfinite:!0,operation:e,plugin:t,symbol:m,typeQueryKey:u});t.setSymbolValue(m,h);let g=L(n).call(L.object().spread(`options`).spread(`params`).prop(`signal`,L(`signal`)).prop(`throwOnError`,L.literal(!0))).await(),ee=t.referenceSymbol({category:`utility`,resource:`createInfiniteParams`,tool:t.name}),te=[L.const(`page`).type(d).hint(`@ts-ignore`).assign(L.ternary(L(`pageParam`).typeof().eq(L.literal(`object`))).do(`pageParam`).otherwise(L.object().pretty().prop(r.in,L.object().pretty().prop(r.name,L(`pageParam`))))),L.const(`params`).assign(L(ee.placeholder).call(`queryKey`,`page`))];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?te.push(L.return(g)):te.push(L.const().object(`data`).assign(g),L.return(`data`));let ne=t.registerSymbol({exported:!0,name:x({config:t.config.infiniteQueryOptions,name:e.id})}),re=L.const(ne.placeholder).export(ne.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(`options`,e=>e.required(i).type(s)).do(L.return(L(a.placeholder).call(L.object().pretty().hint(`@ts-ignore`).prop(`queryFn`,L.func().async().param(e=>e.object(`pageParam`,`queryKey`,`signal`)).do(...te)).prop(`queryKey`,L(m.placeholder).call(`options`)).$if(fo(t,e,`infiniteQueryOptions`),(e,t)=>e.prop(`meta`,t))).generics(l,c||`unknown`,`${o.placeholder}<${l}>`,u,L.type.or(p,d)))));t.setSymbolValue(ne,re)},ho=({operation:e,plugin:t,queryFn:n})=>{let r=t.referenceSymbol({category:`external`,resource:`${t.name}.MutationOptions`}),i=ro({operation:e,plugin:t}),a=io({operation:e,plugin:t}),o=ao({operation:e,plugin:t}),s=`${r.placeholder}<${o}, ${a}, ${i}>`,c=`fnOptions`,l=L(n).call(L.object().spread(`options`).spread(c).prop(`throwOnError`,L.literal(!0))).await(),u=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?u.push(L.return(l)):u.push(L.const().object(`data`).assign(l),L.return(`data`));let d=`mutationOptions`,f=t.registerSymbol({exported:!0,name:x({config:t.config.mutationOptions,name:e.id})}),p=L.const(f.placeholder).export(f.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(`options`,e=>e.optional().type(`Partial<${i}>`)).returns(s).do(L.const(d).type(s).assign(L.object().pretty().prop(`mutationFn`,L.func().async().param(c).do(...u)).$if(fo(t,e,`mutationOptions`),(e,t)=>e.prop(`meta`,t))),L(d).return()));t.setSymbolValue(f,p)},go=`options`,_o=({operation:e,plugin:t,queryFn:n})=>{if(Ir({operation:e}))return;let r=B({context:t.context,operation:e});t.getSymbol({category:`utility`,resource:`createQueryKey`,tool:t.name})||(lo({plugin:t}),so({plugin:t}));let i=t.referenceSymbol({category:`external`,resource:`${t.name}.queryOptions`}),a=t.registerSymbol({exported:!0,name:x({config:t.config.queryKeys,name:e.id})}),o=uo({isInfinite:!1,operation:e,plugin:t,symbol:a});t.setSymbolValue(a,o);let s=ro({operation:e,plugin:t}),c=io({operation:e,plugin:t}),l=ao({operation:e,plugin:t}),u=L(n).call(L.object().spread(go).spread(L(`queryKey`).attr(0)).prop(`signal`,L(`signal`)).prop(`throwOnError`,L.literal(!0))).await(),d=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?d.push(L.return(u)):d.push(L.const().object(`data`).assign(u),L.return(`data`));let f=L.object().pretty().prop(`queryFn`,L.func().async().param(e=>e.object(`queryKey`,`signal`)).do(...d)).prop(`queryKey`,L(a.placeholder).call(go)).$if(fo(t,e,`queryOptions`),(e,t)=>e.prop(`meta`,t)),p=t.registerSymbol({exported:t.config.queryOptions.exported,meta:{category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name},name:x({config:t.config.queryOptions,name:e.id})}),m=L.const(p.placeholder).export(p.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(go,e=>e.required(r).type(s)).do(L(i.placeholder).call(f).generics(l,c,l,L(a.placeholder).returnType()).return()));t.setSymbolValue(p,m)},vo=`options`,yo=({operation:e,plugin:t})=>{if(Ir({operation:e})||!(`useQuery`in t.config))return;let n=t.registerSymbol({exported:!0,name:x({config:t.config.useQuery,name:e.id})}),r=t.referenceSymbol({category:`external`,resource:`${t.name}.useQuery`}),i=B({context:t.context,operation:e}),a=ro({operation:e,plugin:t}),o=t.referenceSymbol({category:`hook`,resource:`operation`,resourceId:e.id,role:`queryOptions`,tool:t.name}),s=L.const(n.placeholder).export(n.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().param(vo,e=>e.required(i).type(a)).do(L(r.placeholder).call(L(o.placeholder).call(vo)).return()));t.setSymbolValue(n,s)},bo=({plugin:e})=>{e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.DefaultError`},name:`DefaultError`}),e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.InfiniteData`},name:`InfiniteData`});let t=e.name===`@tanstack/angular-query-experimental`||e.name===`@tanstack/svelte-query`||e.name===`@tanstack/solid-query`?`MutationOptions`:`UseMutationOptions`;e.registerSymbol({external:e.name,kind:`type`,meta:{category:`external`,resource:`${e.name}.MutationOptions`},name:t}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.infiniteQueryOptions`},name:`infiniteQueryOptions`}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.queryOptions`},name:`queryOptions`}),e.registerSymbol({external:e.name,meta:{category:`external`,resource:`${e.name}.useQuery`},name:`useQuery`}),e.registerSymbol({external:`axios`,kind:`type`,meta:{category:`external`,resource:`axios.AxiosError`},name:`AxiosError`});let n=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:t})=>{let r=n.config.asClass?Ar({context:e.context,operation:t,plugin:n}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...n.config.instance?[Hi,`get()`]:[],...i.path.slice(1).map(e=>b({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:t.id}).placeholder,e.hooks.operation.isQuery(t)&&(e.config.queryOptions.enabled&&_o({operation:t,plugin:e,queryFn:a}),e.config.infiniteQueryOptions.enabled&&mo({operation:t,plugin:e,queryFn:a}),`useQuery`in e.config&&e.config.useQuery.enabled&&yo({operation:t,plugin:e})),e.hooks.operation.isMutation(t)&&e.config.mutationOptions.enabled&&ho({operation:t,plugin:e,queryFn:a})},{order:`declarations`})},xo=e=>bo(e),So={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/angular-query-experimental`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},Co=v(So),wo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/react-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions}),e.config.useQuery=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!1,name:`use{{name}}Query`},mappers:{boolean:e=>({enabled:e}),function:e=>({enabled:!0,name:e}),object:e=>({enabled:!0,...e}),string:e=>({enabled:!0,name:e})},value:e.config.useQuery}),e.config.useQuery.enabled&&(e.config.queryOptions.enabled||(e.config.queryOptions.enabled=!0,e.config.queryOptions.exported=!1))}},To=v(wo),Eo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/solid-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},Do=v(Eo),Oo={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/svelte-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},ko=v(Oo),Ao={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:xo,name:`@tanstack/vue-query`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions})}},jo=v(Ao),Mo=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`arktype`});if(!n)return;let r=`data`;return L.func().async().param(r).do(L(n.placeholder).attr(`parseAsync`).call(r).await().return())},No=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`arktype`});if(!n)return;let r=`data`;return L.func().async().param(r).do(L(n.placeholder).attr(`parseAsync`).call(r).await().return())};var Po=class{createRequestValidator(e){return Mo(e)}createResponseValidator(e){return No(e)}};const U={keywords:{false:`false`,true:`true`},number:{Infinity:`Infinity`,NaN:`NaN`,NegativeInfinity:`NegativeInfinity`,epoch:`epoch`,integer:`integer`,safe:`safe`},primitives:{bigint:`bigint`,boolean:`boolean`,keywords:`keywords`,null:`null`,number:`number`,string:`string`,symbol:`symbol`,undefined:`undefined`,unit:`unit`},string:{NFC:`NFC`,NFD:`NFD`,NFKC:`NFKC`,NFKD:`NFKD`,alpha:`alpha`,alphanumeric:`alphanumeric`,base64:`base64`,capitalize:`capitalize`,creditCard:`creditCard`,date:`date`,digits:`digits`,email:`email`,epoch:`epoch`,hex:`hex`,integer:`integer`,ip:`ip`,iso:`iso`,json:`json`,lower:`lower`,normalize:`normalize`,numeric:`numeric`,parse:`parse`,preformatted:`preformatted`,regex:`regex`,semver:`semver`,trim:`trim`,upper:`upper`,url:`url`,uuid:`uuid`,v1:`v1`,v2:`v2`,v3:`v3`,v4:`v4`,v5:`v5`,v6:`v6`,v7:`v7`,v8:`v8`},type:{$:`$`,allows:`allows`,and:`and`,array:`array`,as:`as`,assert:`assert`,brand:`brand`,configure:`configure`,default:`default`,describe:`describe`,description:`description`,equals:`equals`,exclude:`exclude`,expression:`expression`,extends:`extends`,extract:`extract`,filter:`filter`,from:`from`,ifEquals:`ifEquals`,ifExtends:`ifExtends`,infer:`infer`,inferIn:`inferIn`,intersect:`intersect`,json:`json`,meta:`meta`,narrow:`narrow`,onDeepUndeclaredKey:`onDeepUndeclaredKey`,onUndeclaredKey:`onUndeclaredKey`,optional:`optional`,or:`or`,overlaps:`overlaps`,pipe:`pipe`,select:`select`,to:`to`,toJsonSchema:`toJsonSchema`}},Fo=({ast:e,plugin:t,schema:n,symbol:r,typeInferSymbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`arktype.type`}),o=L.const(r.placeholder).export(r.exported).$if(t.config.comments&&V(n),(e,t)=>e.doc(t)).assign(L(a.placeholder).call(e.def?L.literal(e.def):e.expression));if(t.setSymbolValue(r,o),i){let e=L.type.alias(i.placeholder).export(i.exported).type(L.type(r.placeholder).attr(U.type.infer).typeofType());t.setSymbolValue(i,e)}},Io=e=>{let t={};return t.def=U.primitives.null,t},Lo=({plugin:e,schema:t,state:n})=>{let r={},i=L.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=a.includes(o),l=Bo({optional:!c,plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,o])}});l.hasLazyExpression&&(r.hasLazyExpression=!0),i.prop(c?o:`${o}?`,l.expression)}if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Bo({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});return r.expression=L(`TODO`).attr(`record`).call(L(`TODO`).attr(`string`).call(),i.expression),i.hasLazyExpression&&(r.hasLazyExpression=!0),r.hasLazyExpression?{...r,typeName:`TODO`}:r}return r.expression=i,r.hasLazyExpression?{...r,typeName:`TODO`}:r},Ro=({schema:e})=>{let t={};if(typeof e.const==`string`)return t.def=e.const,t;let n=U.primitives.string;if(e.format)switch(e.format){case`date`:case`date-time`:case`time`:n=`${n}.${U.string.date}.${U.string.iso}`;break;case`email`:n=`${n}.${U.string.email}`;break;case`ipv4`:n=`${n}.${U.string.ip}.${U.string.v4}`;break;case`ipv6`:n=`${n}.${U.string.ip}.${U.string.v6}`;break;case`uri`:n=`${n}.${U.string.url}`;break;case`uuid`:n=`${n}.${U.string.uuid}`;break}return e.minLength===e.maxLength&&e.minLength!==void 0?n=`${e.minLength} <= ${n} <= ${e.maxLength}`:e.maxLength===void 0?e.minLength!==void 0&&(n=`${n} >= ${e.minLength}`):(n=`${n} <= ${e.maxLength}`,e.minLength!==void 0&&(n=`${e.minLength} <= ${n}`)),e.pattern&&(n=`/${e.pattern}/`),t.def=n,t},zo=({schema:e,...t})=>{switch(e.type){case`null`:return Io({...t,schema:e});case`object`:return Lo({...t,schema:e});case`string`:return Ro({...t,schema:e})}return{def:``,expression:L(t.plugin.referenceSymbol({category:`external`,resource:`arktype.type`}).placeholder).call(L.object().prop(`name`,L.literal(`string`)).prop(`platform`,L.literal(`'android' | 'ios'`)).prop(`versions?`,L.literal(`(number | string)[]`))),hasLazyExpression:!1}},Bo=({plugin:e,schema:t,state:n})=>{let r={};if(t.$ref){let i={category:`schema`,resource:`definition`,resourceId:t.$ref,tool:`arktype`},a=e.referenceSymbol(i);e.isSymbolRegistered(i)?r.expression=L(a.placeholder):(r.expression=L(`TODO`).attr(`TODO`).call(L.func().returns(`any`).do(L.return(a.placeholder))),r.hasLazyExpression=!0,n.hasLazyExpression.value=!0)}else if(t.type){let i=zo({plugin:e,schema:t,state:n});r.def=i.def,r.expression=i.expression,r.hasLazyExpression=i.hasLazyExpression,e.config.metadata&&t.description}else if(t.items)t=S({schema:t}),t.items||(r=Bo({plugin:e,schema:t,state:n}));else{let t=zo({plugin:e,schema:{type:`unknown`},state:n});r.def=t.def,r.expression=t.expression}return r.expression||=zo({plugin:e,schema:{type:`unknown`},state:n}).expression,r},Vo=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=Bo({plugin:e,schema:t,state:n}),a=R(r);Fo({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`arktype`},name:x({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tool:`arktype`,variant:`infer`},name:x({config:e.config.definitions.types.infer,name:a})}):void 0})},Ho=({plugin:e})=>{e.registerSymbol({external:`arktype`,meta:{category:`external`,resource:`arktype.type`},name:`type`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`parameter`:Vo({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Vo({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Vo({plugin:e,schema:t.schema,state:n});break}})},Uo=e=>Ho(e),Wo={api:new Po,config:{case:`PascalCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:Uo,name:`arktype`,resolveConfig:(e,t)=>{e.config.types=t.valueToObject({defaultValue:{infer:{case:`PascalCase`,enabled:!1}},mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.config.types}),e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}Data`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}Data`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}Response`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}Response`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`PascalCase`,enabled:!0,name:`{{name}}WebhookRequest`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}WebhookRequest`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.webhooks})},tags:[`validator`]},Go=v(Wo),Ko=({operation:e,plugin:t})=>{let n=L.type.object(),r=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`data`,tool:`typescript`});r&&(e.body&&n.prop(`Body`,t=>t.required(e.body.required).type(L.type(r.placeholder).idx(L.type.literal(`body`)))),e.parameters&&(e.parameters.header&&n.prop(`Headers`,t=>t.required($e(e.parameters.header)).type(L.type(r.placeholder).idx(L.type.literal(`headers`)))),e.parameters.path&&n.prop(`Params`,t=>t.required($e(e.parameters.path)).type(L.type(r.placeholder).idx(L.type.literal(`path`)))),e.parameters.query&&n.prop(`Querystring`,t=>t.required($e(e.parameters.query)).type(L.type(r.placeholder).idx(L.type.literal(`query`))))));let{errors:i,responses:a}=at(e),o,s=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`errors`});if(s&&i&&i.properties){let e=Object.keys(i.properties);e.length&&(e.includes(`default`)?e.length>1&&(o=L.type(`Omit`,e=>e.generics(L.type(s.placeholder),L.type.literal(`default`)))):o=L.type(s.placeholder))}let c,l=t.querySymbol({category:`type`,resource:`operation`,resourceId:e.id,role:`responses`});if(l&&a&&a.properties){let e=Object.keys(a.properties);e.length&&(e.includes(`default`)?e.length>1&&(c=L.type(`Omit`,e=>e.generics(L.type(l.placeholder),L.type.literal(`default`)))):c=L.type(l.placeholder))}let u=[o,c].filter(e=>e!==void 0);if(u.length&&n.prop(`Reply`,e=>e.type(L.type.and(...u))),n.isEmpty)return;let d=t.referenceSymbol({category:`type`,resource:`route-handler`,tool:`fastify`});return{name:e.id,type:L.type(d.placeholder,e=>e.generic(n))}},qo=({plugin:e})=>{e.registerSymbol({external:`fastify`,kind:`type`,meta:{category:`type`,resource:`route-handler`,tool:`fastify`},name:`RouteHandler`});let t=e.registerSymbol({exported:!0,kind:`type`,name:`RouteHandlers`}),n=L.type.object();e.forEach(`operation`,({operation:t})=>{let r=Ko({operation:t,plugin:e});r&&n.prop(r.name,e=>e.type(r.type))},{order:`declarations`});let r=L.type.alias(t.placeholder).export(t.exported).type(n);e.setSymbolValue(t,r)},Jo={config:{exportFromIndex:!1},dependencies:[`@hey-api/typescript`],handler:qo,name:`fastify`},Yo=v(Jo),Xo=({operation:e,plugin:t,queryFn:n})=>{if(Ir({operation:e}))return;let r=t.referenceSymbol({category:`external`,resource:`swr`}),i=t.registerSymbol({exported:!0,name:x({config:t.config.useSwr,name:e.id})}),a=L(n).call(L.object().prop(`throwOnError`,L.literal(!0))).await(),o=[];t.getPluginOrThrow(`@hey-api/sdk`).config.responseStyle===`data`?o.push(L.return(a)):o.push(L.const().object(`data`).assign(a),L.return(`data`));let s=L.const(i.placeholder).export(i.exported).$if(t.config.comments&&z(e),(e,t)=>e.doc(t)).assign(L.func().do(L(r.placeholder).call(L.literal(e.path),L.func().async().do(...o)).return()));t.setSymbolValue(i,s)},Zo=({plugin:e})=>{e.registerSymbol({external:`swr`,importKind:`default`,kind:`function`,meta:{category:`external`,resource:`swr`},name:`useSWR`});let t=e.getPluginOrThrow(`@hey-api/sdk`);e.forEach(`operation`,({operation:n})=>{let r=t.config.asClass?Ar({context:e.context,operation:n,plugin:t}):void 0,i=r?r.values().next().value:void 0,a;a=i?[e.referenceSymbol({category:`utility`,resource:`class`,resourceId:i.path[0],tool:`sdk`}).placeholder,...t.config.instance?[Hi,`get()`]:[],...i.path.slice(1).map(e=>b({case:`camelCase`,value:e})),i.methodName].filter(Boolean).join(`.`):e.referenceSymbol({category:`sdk`,resource:`operation`,resourceId:n.id}).placeholder,e.hooks.operation.isQuery(n)&&e.config.useSwr.enabled&&Xo({operation:n,plugin:e,queryFn:a})},{order:`declarations`})},Qo=e=>Zo(e),$o={config:{case:`camelCase`,comments:!0,exportFromIndex:!1},dependencies:[`@hey-api/sdk`,`@hey-api/typescript`],handler:Qo,name:`swr`,resolveConfig:(e,t)=>{e.config.infiniteQueryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteQueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryKeys}),e.config.infiniteQueryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}InfiniteOptions`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.infiniteQueryOptions}),e.config.mutationOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}Mutation`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.mutationOptions}),e.config.queryKeys=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`{{name}}QueryKey`,tags:!1},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryKeys}),e.config.queryOptions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,exported:!0,name:`{{name}}Options`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.queryOptions}),e.config.useSwr=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`use{{name}}`},mappers:{boolean:e=>({enabled:e}),function:e=>({enabled:!0,name:e}),object:e=>({enabled:!0,...e}),string:e=>({enabled:!0,name:e})},value:e.config.useSwr}),e.config.useSwr.enabled&&(e.config.queryOptions.enabled||(e.config.queryOptions.enabled=!0,e.config.queryOptions.exported=!1))}},es=v($o),W={actions:{args:`args`,base64:`base64`,bic:`bic`,brand:`brand`,bytes:`bytes`,check:`check`,checkItems:`checkItems`,creditCard:`creditCard`,cuid2:`cuid2`,decimal:`decimal`,description:`description`,digits:`digits`,email:`email`,emoji:`emoji`,empty:`empty`,endsWith:`endsWith`,entries:`entries`,everyItem:`everyItem`,excludes:`excludes`,filterItems:`filterItems`,findItem:`findItem`,finite:`finite`,flavor:`flavor`,graphemes:`graphemes`,gtValue:`gtValue`,hash:`hash`,hexColor:`hexColor`,hexadecimal:`hexadecimal`,imei:`imei`,includes:`includes`,integer:`integer`,ip:`ip`,ipv4:`ipv4`,ipv6:`ipv6`,isoDate:`isoDate`,isoDateTime:`isoDateTime`,isoTime:`isoTime`,isoTimeSecond:`isoTimeSecond`,isoTimestamp:`isoTimestamp`,isoWeek:`isoWeek`,length:`length`,ltValue:`ltValue`,mac:`mac`,mac48:`mac48`,mac64:`mac64`,mapItems:`mapItems`,maxBytes:`maxBytes`,maxEntries:`maxEntries`,maxGraphemes:`maxGraphemes`,maxLength:`maxLength`,maxSize:`maxSize`,maxValue:`maxValue`,maxWords:`maxWords`,metadata:`metadata`,mimeType:`mimeType`,minBytes:`minBytes`,minEntries:`minEntries`,minGraphemes:`minGraphemes`,minLength:`minLength`,minSize:`minSize`,minValue:`minValue`,minWords:`minWords`,multipleOf:`multipleOf`,nanoid:`nanoid`,nonEmpty:`nonEmpty`,normalize:`normalize`,notBytes:`notBytes`,notEntries:`notEntries`,notGraphemes:`notGraphemes`,notLength:`notLength`,notSize:`notSize`,notValue:`notValue`,notValues:`notValues`,notWords:`notWords`,octal:`octal`,parseJson:`parseJson`,partialCheck:`partialCheck`,rawCheck:`rawCheck`,rawTransform:`rawTransform`,readonly:`readonly`,reduceItems:`reduceItems`,regex:`regex`,returns:`returns`,rfcEmail:`rfcEmail`,safeInteger:`safeInteger`,size:`size`,slug:`slug`,someItem:`someItem`,sortItems:`sortItems`,startsWith:`startsWith`,stringifyJson:`stringifyJson`,title:`title`,toLowerCase:`toLowerCase`,toMaxValue:`toMaxValue`,toMinValue:`toMinValue`,toUpperCase:`toUpperCase`,transform:`transform`,trim:`trim`,trimEnd:`trimEnd`,trimStart:`trimStart`,ulid:`ulid`,url:`url`,uuid:`uuid`,value:`value`,values:`values`,words:`words`},async:{argsAsync:`argsAsync`,arrayAsync:`arrayAsync`,awaitAsync:`awaitAsync`,checkAsync:`checkAsync`,checkItemsAsync:`checkItemsAsync`,customAsync:`customAsync`,exactOptionalAsync:`exactOptionalAsync`,fallbackAsync:`fallbackAsync`,forwardAsync:`forwardAsync`,getDefaultsAsync:`getDefaultsAsync`,getFallbacksAsync:`getFallbacksAsync`,intersectAsync:`intersectAsync`,lazyAsync:`lazyAsync`,looseObjectAsync:`looseObjectAsync`,looseTupleAsync:`looseTupleAsync`,mapAsync:`mapAsync`,nonNullableAsync:`nonNullableAsync`,nonNullishAsync:`nonNullishAsync`,nonOptionalAsync:`nonOptionalAsync`,nullableAsync:`nullableAsync`,nullishAsync:`nullishAsync`,objectAsync:`objectAsync`,objectWithRestAsync:`objectWithRestAsync`,optionalAsync:`optionalAsync`,parseAsync:`parseAsync`,parserAsync:`parserAsync`,partialAsync:`partialAsync`,partialCheckAsync:`partialCheckAsync`,pipeAsync:`pipeAsync`,rawCheckAsync:`rawCheckAsync`,rawTransformAsync:`rawTransformAsync`,recordAsync:`recordAsync`,requiredAsync:`requiredAsync`,returnsAsync:`returnsAsync`,safeParseAsync:`safeParseAsync`,safeParserAsync:`safeParserAsync`,setAsync:`setAsync`,strictObjectAsync:`strictObjectAsync`,strictTupleAsync:`strictTupleAsync`,transformAsync:`transformAsync`,tupleAsync:`tupleAsync`,tupleWithRestAsync:`tupleWithRestAsync`,undefinedableAsync:`undefinedableAsync`,unionAsync:`unionAsync`,variantAsync:`variantAsync`},methods:{assert:`assert`,config:`config`,fallback:`fallback`,flatten:`flatten`,forward:`forward`,getDefault:`getDefault`,getDefaults:`getDefaults`,getDescription:`getDescription`,getFallback:`getFallback`,getFallbacks:`getFallbacks`,getMetadata:`getMetadata`,getTitle:`getTitle`,is:`is`,keyof:`keyof`,message:`message`,omit:`omit`,parse:`parse`,parser:`parser`,partial:`partial`,pick:`pick`,pipe:`pipe`,required:`required`,safeParse:`safeParse`,safeParser:`safeParser`,summarize:`summarize`,unwrap:`unwrap`},schemas:{any:`any`,array:`array`,bigInt:`bigint`,blob:`blob`,boolean:`boolean`,custom:`custom`,date:`date`,enum:`enum`,exactOptional:`exactOptional`,file:`file`,function:`function`,instance:`instance`,intersect:`intersect`,lazy:`lazy`,literal:`literal`,looseObject:`looseObject`,looseTuple:`looseTuple`,map:`map`,nan:`nan`,never:`never`,nonNullable:`nonNullable`,nonNullish:`nonNullish`,nonOptional:`nonOptional`,null:`null`,nullable:`nullable`,nullish:`nullish`,number:`number`,object:`object`,objectWithRest:`objectWithRest`,optional:`optional`,picklist:`picklist`,promise:`promise`,record:`record`,set:`set`,strictObject:`strictObject`,strictTuple:`strictTuple`,string:`string`,symbol:`symbol`,tuple:`tuple`,tupleWithRest:`tupleWithRest`,undefined:`undefined`,undefinedable:`undefinedable`,union:`union`,unknown:`unknown`,variant:`variant`,void:`void`},storages:{},types:{GenericSchema:`GenericSchema`},utils:{}},ts=({schema:e,v:t})=>L(t.placeholder).attr(W.async.parseAsync).call(e.placeholder,`data`).await().return(),ns=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`valibot`});if(!n)return;let r={$:L,operation:e,pipes:[],plugin:t,schema:n,v:t.referenceSymbol({category:`external`,resource:`valibot.v`})},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,ts];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},rs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`valibot`});if(!n)return;let r={$:L,operation:e,pipes:[],plugin:t,schema:n,v:t.referenceSymbol({category:`external`,resource:`valibot.v`})},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,ts];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}};var is=class{createRequestValidator(e){return ns(e)}createResponseValidator(e){return rs(e)}};const G=({pipes:e,plugin:t})=>e.length===1?e[0]:L(t.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.methods.pipe).call(...e),as=({ast:e,plugin:t,schema:n,state:r,symbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`valibot.v`}),o=L.const(i.placeholder).export(i.exported).$if(t.config.comments&&V(n),(e,t)=>e.doc(t)).$if(r.hasLazyExpression.value,t=>t.type(L.type(a.placeholder).attr(e.typeName||W.types.GenericSchema))).assign(G({pipes:e.pipes,plugin:t}));t.setSymbolValue(i,o)},os={int16:{max:32767,maxError:`Invalid value: Expected int16 to be <= 2^15-1`,min:-32768,minError:`Invalid value: Expected int16 to be >= -2^15`,needsBigInt:!1},int32:{max:2147483647,maxError:`Invalid value: Expected int32 to be <= 2^31-1`,min:-2147483648,minError:`Invalid value: Expected int32 to be >= -2^31`,needsBigInt:!1},int64:{max:`9223372036854775807`,maxError:`Invalid value: Expected int64 to be <= 2^63-1`,min:`-9223372036854775808`,minError:`Invalid value: Expected int64 to be >= -2^63`,needsBigInt:!0},int8:{max:127,maxError:`Invalid value: Expected int8 to be <= 2^7-1`,min:-128,minError:`Invalid value: Expected int8 to be >= -2^7`,needsBigInt:!1},uint16:{max:65535,maxError:`Invalid value: Expected uint16 to be <= 2^16-1`,min:0,minError:`Invalid value: Expected uint16 to be >= 0`,needsBigInt:!1},uint32:{max:4294967295,maxError:`Invalid value: Expected uint32 to be <= 2^32-1`,min:0,minError:`Invalid value: Expected uint32 to be >= 0`,needsBigInt:!1},uint64:{max:`18446744073709551615`,maxError:`Invalid value: Expected uint64 to be <= 2^64-1`,min:`0`,minError:`Invalid value: Expected uint64 to be >= 0`,needsBigInt:!0},uint8:{max:255,maxError:`Invalid value: Expected uint8 to be <= 2^8-1`,min:0,minError:`Invalid value: Expected uint8 to be >= 0`,needsBigInt:!1}},ss=e=>e!==void 0&&e in os,cs=e=>ss(e)&&os[e].needsBigInt,ls=({isBigInt:e,value:t})=>{let n=L.fromValue(t);return e&&(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)?L(`BigInt`).call(n):n},us=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.requests.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],as({ast:e(a,r.path.value),plugin:n,schema:a,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`valibot`},name:x({config:n.config.requests,name:t.id})})})}if(n.config.responses.enabled&&t.responses){let{response:i}=at(t);if(i){let a=[...r.path.value,`responses`];as({ast:e(i,a),plugin:n,schema:i,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`valibot`},name:x({config:n.config.responses,name:t.id})})})}}},ds=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.webhooks.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],as({ast:e(a,r.path.value),plugin:n,schema:a,state:r,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`valibot`},name:x({config:n.config.webhooks,name:t.id})})})}},fs=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.unknown).call(),ps=({plugin:e,schema:t,state:n})=>{let r={pipes:[]},i=e.referenceSymbol({category:`external`,resource:`valibot.v`}),a=L(i.placeholder).attr(W.schemas.array);if(t.items){t=S({schema:t});let i=t.items.map((t,i)=>{let a=Ds({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),G({pipes:a.pipes,plugin:e})});if(i.length===1){let e=a.call(...i);r.pipes.push(e)}else{t.logicalOperator;let i=a.call(fs({plugin:e,schema:{type:`unknown`},state:n}));r.pipes.push(i)}}else{let t=a.call(fs({plugin:e,schema:{type:`unknown`},state:n}));r.pipes.push(t)}if(t.minItems===t.maxItems&&t.minItems!==void 0){let e=L(i.placeholder).attr(W.actions.length).call(L.fromValue(t.minItems));r.pipes.push(e)}else{if(t.minItems!==void 0){let e=L(i.placeholder).attr(W.actions.minLength).call(L.fromValue(t.minItems));r.pipes.push(e)}if(t.maxItems!==void 0){let e=L(i.placeholder).attr(W.actions.maxLength).call(L.fromValue(t.maxItems));r.pipes.push(e)}}return r},ms=({plugin:e,schema:t})=>{let n=[],r=e.referenceSymbol({category:`external`,resource:`valibot.v`});return typeof t.const==`boolean`?(n.push(L(r.placeholder).attr(W.schemas.literal).call(L.literal(t.const))),G({pipes:n,plugin:e})):(n.push(L(r.placeholder).attr(W.schemas.boolean).call()),G({pipes:n,plugin:e}))},hs=({plugin:e,schema:t,state:n})=>{let r=[],i=!1;for(let e of t.items??[])e.type===`string`&&typeof e.const==`string`?r.push(L.literal(e.const)):(e.type===`null`||e.const===null)&&(i=!0);if(!r.length)return fs({plugin:e,schema:{type:`unknown`},state:n});let a=e.referenceSymbol({category:`external`,resource:`valibot.v`}),o=L(a.placeholder).attr(W.schemas.picklist).call(L.array(...r));return i&&(o=L(a.placeholder).attr(W.schemas.nullable).call(o)),o},gs=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.never).call(),_s=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.null).call(),vs=({plugin:e,schema:t})=>{let n=t.format,r=t.type===`integer`,i=cs(n),a=ss(n)?os[n]:null,o=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(t.const!==void 0&&t.const!==null){let e=t.const,r;if(typeof e==`number`&&!n)r=L.literal(e);else if(typeof e==`number`&&n)r=i?L(`BigInt`).call(L.literal(e)):L.literal(e);else if(typeof e==`string`&&i){let t=e.endsWith(`n`)?e.slice(0,-1):e;r=L(`BigInt`).call(L.literal(t))}else if(typeof e==`bigint`){let t=e.toString(),n=t.endsWith(`n`)?t.slice(0,-1):t;r=L(`BigInt`).call(L.literal(n))}else r=L.fromValue(e);return L(o.placeholder).attr(W.schemas.literal).call(r)}let s=[];if(i){let e=L(o.placeholder).attr(W.schemas.union).call(L.array(L(o.placeholder).attr(W.schemas.number).call(),L(o.placeholder).attr(W.schemas.string).call(),L(o.placeholder).attr(W.schemas.bigInt).call()));s.push(e);let t=L(o.placeholder).attr(W.actions.transform).call(L.func().param(`x`).do(L(`BigInt`).call(`x`).return()));s.push(t)}else{let e=L(o.placeholder).attr(W.schemas.number).call();s.push(e)}if(!i&&r){let e=L(o.placeholder).attr(W.actions.integer).call();s.push(e)}if(a){let e=a.min,t=a.max,n=a.minError,r=a.maxError,c=L(o.placeholder).attr(W.actions.minValue).call(i?L(`BigInt`).call(L.literal(e)):L.literal(e),L.literal(n));s.push(c);let l=L(o.placeholder).attr(W.actions.maxValue).call(i?L(`BigInt`).call(L.literal(t)):L.literal(t),L.literal(r));s.push(l)}if(t.exclusiveMinimum!==void 0){let e=L(o.placeholder).attr(W.actions.gtValue).call(ls({isBigInt:i,value:t.exclusiveMinimum}));s.push(e)}else if(t.minimum!==void 0){let e=L(o.placeholder).attr(W.actions.minValue).call(ls({isBigInt:i,value:t.minimum}));s.push(e)}if(t.exclusiveMaximum!==void 0){let e=L(o.placeholder).attr(W.actions.ltValue).call(ls({isBigInt:i,value:t.exclusiveMaximum}));s.push(e)}else if(t.maximum!==void 0){let e=L(o.placeholder).attr(W.actions.maxValue).call(ls({isBigInt:i,value:t.maximum}));s.push(e)}return G({pipes:s,plugin:e})};function ys({additional:e,pipes:t,plugin:n,shape:r}){let i=n.referenceSymbol({category:`external`,resource:`valibot.v`});return e===null?t.push(L(i.placeholder).attr(W.schemas.strictObject).call(r)):e?r.isEmpty?t.push(L(i.placeholder).attr(W.schemas.record).call(L(i.placeholder).attr(W.schemas.string).call(),e)):t.push(L(i.placeholder).attr(W.schemas.objectWithRest).call(r,e)):t.push(L(i.placeholder).attr(W.schemas.object).call(r))}const bs=({plugin:e,schema:t,state:n})=>{let r={},i=[],a=L.object().pretty(),o=t.required??[];for(let i in t.properties){let s=t.properties[i],c=Ds({optional:!o.includes(i),plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,i])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),a.prop(i,G({pipes:c.pipes,plugin:e}))}let s;if(t.additionalProperties&&t.additionalProperties.type)if(t.additionalProperties.type===`never`)s=null;else{let i=Ds({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),s=G({pipes:i.pipes,plugin:e})}let c={$:L,additional:s,pipes:i,plugin:e,schema:t,shape:a},l=e.config[`~resolvers`]?.object?.base;return l?.(c)||ys(c),r.pipes=[G({pipes:i,plugin:e})],r},xs=({pipes:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`valibot.v`});switch(n.format){case`date`:return e.push(L(r.placeholder).attr(W.actions.isoDate).call());case`date-time`:return e.push(L(r.placeholder).attr(W.actions.isoTimestamp).call());case`email`:return e.push(L(r.placeholder).attr(W.actions.email).call());case`ipv4`:case`ipv6`:return e.push(L(r.placeholder).attr(W.actions.ip).call());case`time`:return e.push(L(r.placeholder).attr(W.actions.isoTimeSecond).call());case`uri`:return e.push(L(r.placeholder).attr(W.actions.url).call());case`uuid`:return e.push(L(r.placeholder).attr(W.actions.uuid).call())}return!0},Ss=({plugin:e,schema:t})=>{let n=[],r=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(typeof t.const==`string`)return n.push(L(r.placeholder).attr(W.schemas.literal).call(L.literal(t.const))),G({pipes:n,plugin:e});if(n.push(L(r.placeholder).attr(W.schemas.string).call()),t.format){let r={$:L,pipes:n,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];i?.(r)||xs(r)}return t.minLength===t.maxLength&&t.minLength!==void 0?n.push(L(r.placeholder).attr(W.actions.length).call(L.literal(t.minLength))):(t.minLength!==void 0&&n.push(L(r.placeholder).attr(W.actions.minLength).call(L.literal(t.minLength))),t.maxLength!==void 0&&n.push(L(r.placeholder).attr(W.actions.maxLength).call(L.literal(t.maxLength)))),t.pattern&&n.push(L(r.placeholder).attr(W.actions.regex).call(L.regexp(t.pattern))),G({pipes:n,plugin:e})},Cs=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`valibot.v`});if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>L(i.placeholder).attr(W.schemas.literal).call(L.fromValue(e)));return r.pipes=[L(i.placeholder).attr(W.schemas.tuple).call(L.array(...e))],r}if(t.items){let a=t.items.map((t,i)=>{let a=Ds({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),G({pipes:a.pipes,plugin:e})});return r.pipes=[L(i.placeholder).attr(W.schemas.tuple).call(L.array(...a))],r}return{pipes:[fs({plugin:e,schema:{type:`unknown`},state:n})]}},ws=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.undefined).call(),Ts=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`valibot.v`}).placeholder).attr(W.schemas.void).call(),Es=({schema:e,...t})=>{switch(e.type){case`array`:return{expression:G({pipes:ps({...t,schema:e}).pipes,plugin:t.plugin})};case`boolean`:return{expression:ms({...t,schema:e})};case`enum`:return{expression:hs({...t,schema:e})};case`integer`:case`number`:return{expression:vs({...t,schema:e})};case`never`:return{expression:gs({...t,schema:e})};case`null`:return{expression:_s({...t,schema:e})};case`object`:return{expression:G({pipes:bs({...t,schema:e}).pipes,plugin:t.plugin})};case`string`:return e.format===`int64`||e.format===`uint64`?{expression:vs({...t,schema:e})}:{expression:Ss({...t,schema:e})};case`tuple`:return{expression:G({pipes:Cs({...t,schema:e}).pipes,plugin:t.plugin})};case`undefined`:return{expression:ws({...t,schema:e})};case`unknown`:return{expression:fs({...t,schema:e})};case`void`:return{expression:Ts({...t,schema:e})}}},Ds=({optional:e,plugin:t,schema:n,state:r})=>{let i={pipes:[]},a=t.referenceSymbol({category:`external`,resource:`valibot.v`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`valibot`},o=t.referenceSymbol(e);if(t.isSymbolRegistered(e)){let e=L(o.placeholder);i.pipes.push(e)}else{let e=L(a.placeholder).attr(W.schemas.lazy).call(L.func().do(L(o.placeholder).return()));i.pipes.push(e),r.hasLazyExpression.value=!0}}else if(n.type){let e=Es({plugin:t,schema:n,state:r});if(i.typeName=e.anyType,i.pipes.push(e.expression),t.config.metadata&&n.description){let e=L(a.placeholder).attr(W.actions.metadata).call(L.object().prop(`description`,L.literal(n.description)));i.pipes.push(e)}}else if(n.items)if(n=S({schema:n}),n.items){let e=n.items.map((e,n)=>G({pipes:Ds({plugin:t,schema:e,state:{...r,path:E([...r.path.value,`items`,n])}}).pipes,plugin:t}));if(n.logicalOperator===`and`){let t=L(a.placeholder).attr(W.schemas.intersect).call(L.array(...e));i.pipes.push(t)}else{let t=L(a.placeholder).attr(W.schemas.union).call(L.array(...e));i.pipes.push(t)}}else{let e=Ds({plugin:t,schema:n,state:r});i.pipes.push(...e.pipes)}else{let e=Es({plugin:t,schema:{type:`unknown`},state:r});i.typeName=e.anyType,i.pipes.push(e.expression)}if(i.pipes.length){if(n.accessScope===`read`){let e=L(a.placeholder).attr(W.actions.readonly).call();i.pipes.push(e)}let r;n.default!==void 0&&(r=ls({isBigInt:n.type===`integer`&&n.format===`int64`,value:n.default}),i.pipes=[L(a.placeholder).attr(W.schemas.optional).call(G({pipes:i.pipes,plugin:t}),r)]),e&&!r&&(i.pipes=[L(a.placeholder).attr(W.schemas.optional).call(G({pipes:i.pipes,plugin:t}))])}return i},Os=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=Ds({plugin:e,schema:t,state:n}),a=R(r);as({ast:i,plugin:e,schema:t,state:n,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`valibot`},name:x({config:e.config.definitions,name:a})})})},ks=({plugin:e})=>{e.registerSymbol({external:`valibot`,importKind:`namespace`,meta:{category:`external`,resource:`valibot.v`},name:`v`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:us({getAst:(n,r)=>Ds({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:Os({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Os({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Os({plugin:e,schema:t.schema,state:n});break;case`webhook`:ds({getAst:(n,r)=>Ds({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},As=e=>ks(e),js={api:new is,config:{case:`camelCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:As,name:`valibot`,resolveConfig:(e,t)=>{e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}Data`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}Response`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`v{{name}}WebhookRequest`},mappers:{boolean:e=>({enabled:e}),function:e=>({name:e}),string:e=>({name:e})},value:e.config.webhooks})},tags:[`validator`]},Ms=v(js),K={ZodMiniOptional:`ZodMiniOptional`,ZodOptional:`ZodOptional`,_default:`_default`,and:`and`,array:`array`,bigint:`bigint`,boolean:`boolean`,check:`check`,coerce:`coerce`,date:`date`,datetime:`datetime`,default:`default`,describe:`describe`,email:`email`,enum:`enum`,globalRegistry:`globalRegistry`,gt:`gt`,gte:`gte`,infer:`infer`,int:`int`,intersection:`intersection`,ip:`ip`,ipv4:`ipv4`,ipv6:`ipv6`,iso:`iso`,lazy:`lazy`,length:`length`,literal:`literal`,lt:`lt`,lte:`lte`,max:`max`,maxLength:`maxLength`,min:`min`,minLength:`minLength`,never:`never`,null:`null`,nullable:`nullable`,number:`number`,object:`object`,optional:`optional`,parseAsync:`parseAsync`,readonly:`readonly`,record:`record`,regex:`regex`,register:`register`,string:`string`,time:`time`,tuple:`tuple`,undefined:`undefined`,union:`union`,unknown:`unknown`,url:`url`,uuid:`uuid`,void:`void`},Ns=({schema:e})=>L(e.placeholder).attr(K.parseAsync).call(`data`).await().return(),Ps=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,Ns];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Fs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,Ns];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Is=({schema:e})=>L(e.placeholder).attr(K.parseAsync).call(`data`).await().return(),Ls=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,Is];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Rs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,Is];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},zs=({schema:e})=>L(e.placeholder).attr(K.parseAsync).call(`data`).await().return(),Bs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`data`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.request,zs];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}},Vs=({operation:e,plugin:t})=>{let n=t.getSymbol({category:`schema`,resource:`operation`,resourceId:e.id,role:`responses`,tool:`zod`});if(!n)return;let r={$:L,chain:void 0,operation:e,plugin:t,schema:n},i=t.config[`~resolvers`]?.validator,a=[typeof i==`function`?i:i?.response,zs];for(let e of a){let t=e?.(r);if(t===null)return;if(t!==void 0)return L.func().async().param(`data`).do(...t instanceof Array?t:[t])}};var Hs=class{createRequestValidator(e){let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return Ls(e);case`mini`:return Ps(e);case 4:default:return Bs(e)}}createResponseValidator(e){let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return Rs(e);case`mini`:return Fs(e);case 4:default:return Vs(e)}}};const Us=({ast:e,plugin:t,schema:n,symbol:r,typeInferSymbol:i})=>{let a=t.referenceSymbol({category:`external`,resource:`zod.z`}),o=L.const(r.placeholder).export(r.exported).$if(t.config.comments&&V(n),(e,t)=>e.doc(t)).$if(e.typeName,(e,t)=>e.type(L.type(a.placeholder).attr(t))).assign(e.expression);if(t.setSymbolValue(r,o),i){let e=L.type.alias(i.placeholder).export(i.exported).type(L.type(a.placeholder).attr(K.infer).generic(L(r.placeholder).typeofType()));t.setSymbolValue(i,e)}},Ws=({plugin:e})=>{let t=e.package.getVersion(`zod`);if(t&&e.package.satisfies(t,`<4.0.0`))switch(e.config.compatibilityVersion){case 3:default:return`zod`;case 4:return`zod/v4`;case`mini`:return`zod/v4-mini`}switch(e.config.compatibilityVersion){case 3:return`zod/v3`;case 4:default:return`zod`;case`mini`:return`zod/mini`}},q=({isBigInt:e,value:t})=>{let n=L.fromValue(t);return e&&(typeof t==`bigint`||typeof t==`number`||typeof t==`string`||typeof t==`boolean`)?L(`BigInt`).call(n):n},Gs=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.requests.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],Us({ast:e(a,r.path.value),plugin:n,schema:a,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`},name:x({config:n.config.requests,name:t.id})}),typeInferSymbol:n.config.requests.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:r.path.value,resource:`operation`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:x({config:n.config.requests.types.infer,name:t.id})}):void 0})}if(n.config.responses.enabled&&t.responses){let{response:i}=at(t);if(i){let a=[...r.path.value,`responses`];Us({ast:e(i,a),plugin:n,schema:i,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`zod`},name:x({config:n.config.responses,name:t.id})}),typeInferSymbol:n.config.responses.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:a,resource:`operation`,resourceId:t.id,role:`responses`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:x({config:n.config.responses.types.infer,name:t.id})}):void 0})}}},Ks=({getAst:e,operation:t,plugin:n,state:r})=>{if(n.config.webhooks.enabled){let i=new Set,a={properties:{body:{type:`never`},path:{type:`never`},query:{type:`never`}},type:`object`};if(t.parameters){if(t.parameters.header){let e={},n=[];for(let r in t.parameters.header){let a=t.parameters.header[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`headers`))}Object.keys(e).length&&(a.properties.headers={properties:e,required:n,type:`object`})}if(t.parameters.path){let e={},n=[];for(let r in t.parameters.path){let a=t.parameters.path[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`path`))}Object.keys(e).length&&(a.properties.path={properties:e,required:n,type:`object`})}if(t.parameters.query){let e={},n=[];for(let r in t.parameters.query){let a=t.parameters.query[r];e[a.name]=a.schema,a.required&&(n.push(a.name),i.add(`query`))}Object.keys(e).length&&(a.properties.query={properties:e,required:n,type:`object`})}}t.body&&(a.properties.body=t.body.schema,t.body.required&&i.add(`body`)),a.required=[...i],Us({ast:e(a,r.path.value),plugin:n,schema:a,symbol:n.registerSymbol({exported:!0,meta:{category:`schema`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`},name:x({config:n.config.webhooks,name:t.id})}),typeInferSymbol:n.config.webhooks.types.infer.enabled?n.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:r.path.value,resource:`webhook`,resourceId:t.id,role:`data`,tags:r.tags?.value,tool:`zod`,variant:`infer`},name:x({config:n.config.webhooks.types.infer,name:t.id})}):void 0})}},qs=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.unknown).call(),n},Js=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={},a=L(r.placeholder).attr(K.array);if(!t.items)i.expression=a.call(qs({plugin:e,schema:{type:`unknown`},state:n}).expression);else{t=S({schema:t});let o=t.items.map((t,r)=>{let a=cc({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,r])}});return a.hasLazyExpression&&(i.hasLazyExpression=!0),a.expression});if(o.length===1)i.expression=a.call(...o);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=L(r.placeholder).attr(K.intersection).call(...o);else{n=o[0];for(let e=1;e{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(r=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n.expression=r,n):(r=L(i.placeholder).attr(K.boolean).call(),n.expression=r,n)},Xs=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={},a=[],o=[],s=!1,c=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=L.literal(e.const);a.push(t),o.push(L(r.placeholder).attr(K.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){c=!1;let t=L.literal(e.const);o.push(L(r.placeholder).attr(K.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){c=!1;let t=L.literal(e.const);o.push(L(r.placeholder).attr(K.literal).call(t))}else (e.type===`null`||e.const===null)&&(s=!0);return o.length?(c&&a.length>0?i.expression=L(r.placeholder).attr(K.enum).call(L.array(...a)):o.length===1?i.expression=o[0]:i.expression=L(r.placeholder).attr(K.union).call(L.array(...o)),s&&(i.expression=L(r.placeholder).attr(K.nullable).call(i.expression)),i):qs({plugin:e,schema:{type:`unknown`},state:n})},Zs=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.never).call(),n},Qs=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.null).call(),n},$s=({plugin:e,schema:t})=>{let n=e.referenceSymbol({category:`external`,resource:`zod.z`}),r={},i=t.type===`integer`&&t.format===`int64`;if(typeof t.const==`number`)return r.expression=L(n.placeholder).attr(K.literal).call(L.literal(t.const)),r;r.expression=i?L(n.placeholder).attr(K.coerce).attr(K.bigint).call():L(n.placeholder).attr(K.number).call(),!i&&t.type===`integer`&&(r.expression=L(n.placeholder).attr(K.int).call());let a=[];return t.exclusiveMinimum===void 0?t.minimum!==void 0&&a.push(L(n.placeholder).attr(K.gte).call(q({isBigInt:i,value:t.minimum}))):a.push(L(n.placeholder).attr(K.gt).call(q({isBigInt:i,value:t.exclusiveMinimum}))),t.exclusiveMaximum===void 0?t.maximum!==void 0&&a.push(L(n.placeholder).attr(K.lte).call(q({isBigInt:i,value:t.maximum}))):a.push(L(n.placeholder).attr(K.lt).call(q({isBigInt:i,value:t.exclusiveMaximum}))),a.length&&(r.expression=r.expression.attr(K.check).call(...a)),r};function ec({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?L(r.placeholder).attr(K.record).call(L(r.placeholder).attr(K.string).call(),e):L(r.placeholder).attr(K.object).call(n)}const tc=({plugin:e,schema:t,state:n})=>{let r={},i=L.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=cc({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),c.hasLazyExpression?i.getter(o,c.expression.return()):i.prop(o,c.expression)}let o;if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=cc({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),o=i.expression}let s={$:L,additional:o,chain:void 0,plugin:e,schema:t,shape:i},c=e.config[`~resolvers`]?.object?.base;return r.expression=c?.(s)??ec(s),r},nc=({chain:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`zod.z`});switch(n.format){case`date`:return L(r.placeholder).attr(K.iso).attr(K.date).call();case`date-time`:{let e=L.object().$if(t.config.dates.offset,e=>e.prop(`offset`,L.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,L.literal(!0)));return L(r.placeholder).attr(K.iso).attr(K.datetime).call(e.hasProps()?e:void 0)}case`email`:return L(r.placeholder).attr(K.email).call();case`ipv4`:return L(r.placeholder).attr(K.ipv4).call();case`ipv6`:return L(r.placeholder).attr(K.ipv6).call();case`time`:return L(r.placeholder).attr(K.iso).attr(K.time).call();case`uri`:return L(r.placeholder).attr(K.url).call();case`uuid`:return L(r.placeholder).attr(K.uuid).call();default:return e}},rc=({plugin:e,schema:t})=>{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return r=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n.expression=r,n;if(r=L(i.placeholder).attr(K.string).call(),t.format){let n={$:L,chain:r,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];r=i?.(n)??nc(n)}let a=[];return t.minLength===t.maxLength&&t.minLength!==void 0?a.push(L(i.placeholder).attr(K.length).call(L.literal(t.minLength))):(t.minLength!==void 0&&a.push(L(i.placeholder).attr(K.minLength).call(L.literal(t.minLength))),t.maxLength!==void 0&&a.push(L(i.placeholder).attr(K.maxLength).call(L.literal(t.maxLength)))),t.pattern&&a.push(L(i.placeholder).attr(K.regex).call(L.regexp(t.pattern))),a.length&&(r=r.attr(K.check).call(...a)),n.expression=r,n},ic=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i={};if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>L(r.placeholder).attr(K.literal).call(L.fromValue(e)));return i.expression=L(r.placeholder).attr(K.tuple).call(L.array(...e)),i}let a=[];return t.items&&t.items.forEach((t,r)=>{let o=cc({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,r])}});a.push(o.expression),o.hasLazyExpression&&(i.hasLazyExpression=!0)}),i.expression=L(r.placeholder).attr(K.tuple).call(L.array(...a)),i},ac=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.undefined).call(),n},oc=({plugin:e})=>{let t=e.referenceSymbol({category:`external`,resource:`zod.z`}),n={};return n.expression=L(t.placeholder).attr(K.void).call(),n},sc=({schema:e,...t})=>{switch(e.type){case`array`:return Js({...t,schema:e});case`boolean`:return Ys({...t,schema:e});case`enum`:return Xs({...t,schema:e});case`integer`:case`number`:return $s({...t,schema:e});case`never`:return Zs({...t,schema:e});case`null`:return Qs({...t,schema:e});case`object`:return tc({...t,schema:e});case`string`:return rc({...t,schema:e});case`tuple`:return ic({...t,schema:e});case`undefined`:return ac({...t,schema:e});case`unknown`:return qs({...t,schema:e});case`void`:return oc({...t,schema:e})}},cc=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=L(o.placeholder):(i.expression=L(a.placeholder).attr(K.lazy).call(L.func().returns(`any`).do(L(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=sc({plugin:t,schema:n,state:r});i.expression=e.expression,i.hasLazyExpression=e.hasLazyExpression,t.config.metadata&&n.description&&(i.expression=i.expression.attr(K.register).call(L(a.placeholder).attr(K.globalRegistry),L.object().pretty().prop(`description`,L.literal(n.description))))}else if(n.items)if(n=S({schema:n}),n.items){let e=n.items.map((e,n)=>cc({plugin:t,schema:e,state:{...r,path:E([...r.path.value,`items`,n])}}));if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=L(a.placeholder).attr(K.intersection).call(...e.map(e=>e.expression)):(i.expression=e[0].expression,e.slice(1).forEach(e=>{i.expression=L(a.placeholder).attr(K.intersection).call(i.expression,e.hasLazyExpression?L(a.placeholder).attr(K.lazy).call(L.func().do(e.expression.return())):e.expression)}))}else i.expression=L(a.placeholder).attr(K.union).call(L.array().pretty().elements(...e.map(e=>e.expression)))}else i=cc({plugin:t,schema:n,state:r});else i.expression=sc({plugin:t,schema:{type:`unknown`},state:r}).expression;if(i.expression&&(n.accessScope===`read`&&(i.expression=L(a.placeholder).attr(K.readonly).call(i.expression)),e&&(i.expression=L(a.placeholder).attr(K.optional).call(i.expression),i.typeName=K.ZodMiniOptional),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=L(a.placeholder).attr(K._default).call(i.expression,q({isBigInt:e,value:n.default}))}return i},lc=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=cc({plugin:e,schema:t,state:n}),a=R(r);Us({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:x({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:x({config:e.config.definitions.types.infer,name:a})}):void 0})},uc=({plugin:e})=>{e.registerSymbol({external:Ws({plugin:e}),importKind:`namespace`,meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:Gs({getAst:(n,r)=>cc({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:lc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:lc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:lc({plugin:e,schema:t.schema,state:n});break;case`webhook`:Ks({getAst:(n,r)=>cc({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},dc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.unknown).call(),fc=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=L(r.placeholder).attr(K.array),a,o=!1;if(!t.items)a=i.call(dc({plugin:e,schema:{type:`unknown`},state:n}));else{t=S({schema:t});let s=t.items.map((t,r)=>{let i=Ec({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,r])}});return i.hasLazyExpression&&(o=!0),i.expression});if(s.length===1)a=i.call(...s);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=L(r.placeholder).attr(K.intersection).call(...s);else{n=s[0];for(let e=1;e{let n,r=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(n=L(r.placeholder).attr(K.literal).call(L.literal(t.const)),n):(n=L(r.placeholder).attr(K.boolean).call(),n)},mc=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=[],a=[],o=!1,s=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=L.literal(e.const);i.push(t),a.push(L(r.placeholder).attr(K.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){s=!1;let t=L.literal(e.const);a.push(L(r.placeholder).attr(K.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){s=!1;let t=L.literal(e.const);a.push(L(r.placeholder).attr(K.literal).call(t))}else (e.type===`null`||e.const===null)&&(o=!0);if(!a.length)return dc({plugin:e,schema:{type:`unknown`},state:n});let c;return c=s&&i.length>0?L(r.placeholder).attr(K.enum).call(L.array(...i)):a.length===1?a[0]:L(r.placeholder).attr(K.union).call(L.array(...a)),o&&(c=c.attr(K.nullable).call()),c},hc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.never).call(),gc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.null).call(),_c=({plugin:e,schema:t})=>{let n=e.referenceSymbol({category:`external`,resource:`zod.z`}),r=t.type===`integer`&&t.format===`int64`;if(typeof t.const==`number`)return L(n.placeholder).attr(K.literal).call(L.literal(t.const));let i=r?L(n.placeholder).attr(K.coerce).attr(K.bigint).call():L(n.placeholder).attr(K.number).call();return!r&&t.type===`integer`&&(i=i.attr(K.int).call()),t.exclusiveMinimum===void 0?t.minimum!==void 0&&(i=i.attr(K.gte).call(q({isBigInt:r,value:t.minimum}))):i=i.attr(K.gt).call(q({isBigInt:r,value:t.exclusiveMinimum})),t.exclusiveMaximum===void 0?t.maximum!==void 0&&(i=i.attr(K.lte).call(q({isBigInt:r,value:t.maximum}))):i=i.attr(K.lt).call(q({isBigInt:r,value:t.exclusiveMaximum})),i};function vc({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?L(r.placeholder).attr(K.record).call(e):L(r.placeholder).attr(K.object).call(n)}const yc=({plugin:e,schema:t,state:n})=>{let r=!1,i=L.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=Ec({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r=!0),i.prop(o,c.expression)}let o,s={};if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Ec({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});r=i.hasLazyExpression||r,o=i.expression}let c={$:L,additional:o,chain:void 0,plugin:e,schema:t,shape:i},l=e.config[`~resolvers`]?.object?.base;return s.expression=l?.(c)??vc(c),{anyType:`AnyZodObject`,expression:s.expression,hasLazyExpression:r}},bc=({chain:e,plugin:t,schema:n})=>{switch(n.format){case`date`:return e.attr(K.date).call();case`date-time`:{let n=L.object().$if(t.config.dates.offset,e=>e.prop(`offset`,L.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,L.literal(!0)));return e.attr(K.datetime).call(n.hasProps()?n:void 0)}case`email`:return e.attr(K.email).call();case`ipv4`:case`ipv6`:return e.attr(K.ip).call();case`time`:return e.attr(K.time).call();case`uri`:return e.attr(K.url).call();case`uuid`:return e.attr(K.uuid).call();default:return e}},xc=({plugin:e,schema:t})=>{let n,r=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return n=L(r.placeholder).attr(K.literal).call(L.literal(t.const)),n;if(n=L(r.placeholder).attr(K.string).call(),t.format){let r={$:L,chain:n,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];n=i?.(r)??bc(r)}return t.minLength===t.maxLength&&t.minLength!==void 0?n=n.attr(K.length).call(L.literal(t.minLength)):(t.minLength!==void 0&&(n=n.attr(K.min).call(L.literal(t.minLength))),t.maxLength!==void 0&&(n=n.attr(K.max).call(L.literal(t.maxLength)))),t.pattern&&(n=n.attr(K.regex).call(L.regexp(t.pattern))),n},Sc=({plugin:e,schema:t,state:n})=>{let r=e.referenceSymbol({category:`external`,resource:`zod.z`}),i=!1;if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>L(r.placeholder).attr(K.literal).call(L.fromValue(e)));return{expression:L(r.placeholder).attr(K.tuple).call(L.array(...e)),hasLazyExpression:i}}let a=[];return t.items&&t.items.forEach((t,r)=>{let o=Ec({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,r])}});a.push(o.expression),o.hasLazyExpression&&(i=!0)}),{expression:L(r.placeholder).attr(K.tuple).call(L.array(...a)),hasLazyExpression:i}},Cc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.undefined).call(),wc=({plugin:e})=>L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.void).call(),Tc=({schema:e,...t})=>{switch(e.type){case`array`:return fc({...t,schema:e});case`boolean`:return{expression:pc({...t,schema:e})};case`enum`:return{expression:mc({...t,schema:e})};case`integer`:case`number`:return{expression:_c({...t,schema:e})};case`never`:return{expression:hc({...t,schema:e})};case`null`:return{expression:gc({...t,schema:e})};case`object`:return yc({...t,schema:e});case`string`:return{expression:xc({...t,schema:e})};case`tuple`:return Sc({...t,schema:e});case`undefined`:return{expression:Cc({...t,schema:e})};case`unknown`:return{expression:dc({...t,schema:e})};case`void`:return{expression:wc({...t,schema:e})}}},Ec=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=L(o.placeholder):(i.expression=L(a.placeholder).attr(K.lazy).call(L.func().do(L(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=Tc({plugin:t,schema:n,state:r});i.expression=e.expression,i.typeName=e.anyType,t.config.metadata&&n.description&&(i.expression=i.expression.attr(K.describe).call(L.literal(n.description)))}else if(n.items)if(n=S({schema:n}),n.items){let e=n.items.map((e,n)=>Ec({plugin:t,schema:e,state:{...r,path:E([...r.path.value,`items`,n])}}).expression);if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=L(a.placeholder).attr(K.intersection).call(...e):(i.expression=e[0],e.slice(1).forEach(e=>{i.expression=i.expression.attr(K.and).call(e)}))}else i.expression=L(a.placeholder).attr(K.union).call(L.array().pretty().elements(...e))}else i=Ec({plugin:t,schema:n,state:r});else{let e=Tc({plugin:t,schema:{type:`unknown`},state:r});i.expression=e.expression,i.typeName=e.anyType}if(i.expression&&(n.accessScope===`read`&&(i.expression=i.expression.attr(K.readonly).call()),e&&(i.expression=i.expression.attr(K.optional).call()),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=i.expression.attr(K.default).call(q({isBigInt:e,value:n.default}))}return r.hasLazyExpression.value?i.typeName||=`ZodTypeAny`:i.typeName&&=void 0,i},Dc=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=Ec({plugin:e,schema:t,state:n}),a=R(r);Us({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:x({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:x({config:e.config.definitions.types.infer,name:a})}):void 0})},Oc=({plugin:e})=>{e.registerSymbol({external:Ws({plugin:e}),meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:Gs({getAst:(n,r)=>Ec({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:Dc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Dc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Dc({plugin:e,schema:t.schema,state:n});break;case`webhook`:Ks({getAst:(n,r)=>Ec({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},kc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.unknown).call(),t},Ac=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`}),a=L(i.placeholder).attr(K.array);if(!t.items)r.expression=a.call(kc({plugin:e,schema:{type:`unknown`},state:n}).expression);else{t=S({schema:t});let o=t.items.map((t,i)=>{let a=Wc({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});return a.hasLazyExpression&&(r.hasLazyExpression=!0),a.expression});if(o.length===1)r.expression=a.call(...o);else if(t.logicalOperator===`and`){let e=t.items[0],n;if(e.logicalOperator===`or`||e.type&&e.type!==`object`)n=L(i.placeholder).attr(K.intersection).call(...o);else{n=o[0];for(let e=1;e{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`boolean`?(r=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n.expression=r,n):(r=L(i.placeholder).attr(K.boolean).call(),n.expression=r,n)},Mc=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`}),a=[],o=[],s=!1,c=!0;for(let e of t.items??[])if(e.type===`string`&&typeof e.const==`string`){let t=L.literal(e.const);a.push(t),o.push(L(i.placeholder).attr(K.literal).call(t))}else if((e.type===`number`||e.type===`integer`)&&typeof e.const==`number`){c=!1;let t=L.literal(e.const);o.push(L(i.placeholder).attr(K.literal).call(t))}else if(e.type===`boolean`&&typeof e.const==`boolean`){c=!1;let t=L.literal(e.const);o.push(L(i.placeholder).attr(K.literal).call(t))}else (e.type===`null`||e.const===null)&&(s=!0);return o.length?(c&&a.length>0?r.expression=L(i.placeholder).attr(K.enum).call(L.array(...a)):o.length===1?r.expression=o[0]:r.expression=L(i.placeholder).attr(K.union).call(L.array(...o)),s&&(r.expression=L(i.placeholder).attr(K.nullable).call(r.expression)),r):kc({plugin:e,schema:{type:`unknown`},state:n})},Nc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.never).call(),t},Pc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.null).call(),t},Fc=({plugin:e,schema:t})=>{let n={},r=t.type===`integer`&&t.format===`int64`,i=e.referenceSymbol({category:`external`,resource:`zod.z`});return typeof t.const==`number`?(n.expression=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n):(n.expression=r?L(i.placeholder).attr(K.coerce).attr(K.bigint).call():L(i.placeholder).attr(K.number).call(),!r&&t.type===`integer`&&(n.expression=L(i.placeholder).attr(K.int).call()),t.exclusiveMinimum===void 0?t.minimum!==void 0&&(n.expression=n.expression.attr(K.gte).call(q({isBigInt:r,value:t.minimum}))):n.expression=n.expression.attr(K.gt).call(q({isBigInt:r,value:t.exclusiveMinimum})),t.exclusiveMaximum===void 0?t.maximum!==void 0&&(n.expression=n.expression.attr(K.lte).call(q({isBigInt:r,value:t.maximum}))):n.expression=n.expression.attr(K.lt).call(q({isBigInt:r,value:t.exclusiveMaximum})),n)};function Ic({additional:e,plugin:t,shape:n}){let r=t.referenceSymbol({category:`external`,resource:`zod.z`});return e?L(r.placeholder).attr(K.record).call(L(r.placeholder).attr(K.string).call(),e):L(r.placeholder).attr(K.object).call(n)}const Lc=({plugin:e,schema:t,state:n})=>{let r={},i=L.object().pretty(),a=t.required??[];for(let o in t.properties){let s=t.properties[o],c=Wc({optional:!a.includes(o),plugin:e,schema:s,state:{...n,path:E([...n.path.value,`properties`,o])}});c.hasLazyExpression&&(r.hasLazyExpression=!0),c.hasLazyExpression?i.getter(o,c.expression.return()):i.prop(o,c.expression)}let o;if(t.additionalProperties&&(!t.properties||!Object.keys(t.properties).length)){let i=Wc({plugin:e,schema:t.additionalProperties,state:{...n,path:E([...n.path.value,`additionalProperties`])}});i.hasLazyExpression&&(r.hasLazyExpression=!0),o=i.expression}let s={$:L,additional:o,chain:void 0,plugin:e,schema:t,shape:i},c=e.config[`~resolvers`]?.object?.base;return r.expression=c?.(s)??Ic(s),r.hasLazyExpression?{...r,typeName:`ZodType`}:r},Rc=({chain:e,plugin:t,schema:n})=>{let r=t.referenceSymbol({category:`external`,resource:`zod.z`});switch(n.format){case`date`:return L(r.placeholder).attr(K.iso).attr(K.date).call();case`date-time`:{let e=L.object().$if(t.config.dates.offset,e=>e.prop(`offset`,L.literal(!0))).$if(t.config.dates.local,e=>e.prop(`local`,L.literal(!0)));return L(r.placeholder).attr(K.iso).attr(K.datetime).call(e.hasProps()?e:void 0)}case`email`:return L(r.placeholder).attr(K.email).call();case`ipv4`:return L(r.placeholder).attr(K.ipv4).call();case`ipv6`:return L(r.placeholder).attr(K.ipv6).call();case`time`:return L(r.placeholder).attr(K.iso).attr(K.time).call();case`uri`:return L(r.placeholder).attr(K.url).call();case`uuid`:return L(r.placeholder).attr(K.uuid).call();default:return e}},zc=({plugin:e,schema:t})=>{let n={},r,i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(typeof t.const==`string`)return r=L(i.placeholder).attr(K.literal).call(L.literal(t.const)),n.expression=r,n;if(r=L(i.placeholder).attr(K.string).call(),t.format){let n={$:L,chain:r,plugin:e,schema:t},i=e.config[`~resolvers`]?.string?.formats?.[t.format];r=i?.(n)??Rc(n)}return t.minLength===t.maxLength&&t.minLength!==void 0?r=r.attr(K.length).call(L.literal(t.minLength)):(t.minLength!==void 0&&(r=r.attr(K.min).call(L.literal(t.minLength))),t.maxLength!==void 0&&(r=r.attr(K.max).call(L.literal(t.maxLength)))),t.pattern&&(r=r.attr(K.regex).call(L.regexp(t.pattern))),n.expression=r,n},Bc=({plugin:e,schema:t,state:n})=>{let r={},i=e.referenceSymbol({category:`external`,resource:`zod.z`});if(t.const&&Array.isArray(t.const)){let e=t.const.map(e=>L(i.placeholder).attr(K.literal).call(L.fromValue(e)));return r.expression=L(i.placeholder).attr(K.tuple).call(L.array(...e)),r}let a=[];return t.items&&t.items.forEach((t,i)=>{let o=Wc({plugin:e,schema:t,state:{...n,path:E([...n.path.value,`items`,i])}});a.push(o.expression),o.hasLazyExpression&&(r.hasLazyExpression=!0)}),r.expression=L(i.placeholder).attr(K.tuple).call(L.array(...a)),r},Vc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.undefined).call(),t},Hc=({plugin:e})=>{let t={};return t.expression=L(e.referenceSymbol({category:`external`,resource:`zod.z`}).placeholder).attr(K.void).call(),t},Uc=({schema:e,...t})=>{switch(e.type){case`array`:return Ac({...t,schema:e});case`boolean`:return jc({...t,schema:e});case`enum`:return Mc({...t,schema:e});case`integer`:case`number`:return Fc({...t,schema:e});case`never`:return Nc({...t,schema:e});case`null`:return Pc({...t,schema:e});case`object`:return Lc({...t,schema:e});case`string`:return zc({...t,schema:e});case`tuple`:return Bc({...t,schema:e});case`undefined`:return Vc({...t,schema:e});case`unknown`:return kc({...t,schema:e});case`void`:return Hc({...t,schema:e})}},Wc=({optional:e,plugin:t,schema:n,state:r})=>{let i={},a=t.referenceSymbol({category:`external`,resource:`zod.z`});if(n.$ref){let e={category:`schema`,resource:`definition`,resourceId:n.$ref,tool:`zod`},o=t.referenceSymbol(e);t.isSymbolRegistered(e)?i.expression=L(o.placeholder):(i.expression=L(a.placeholder).attr(K.lazy).call(L.func().returns(`any`).do(L(o.placeholder).return())),i.hasLazyExpression=!0,r.hasLazyExpression.value=!0)}else if(n.type){let e=Uc({plugin:t,schema:n,state:r});i.expression=e.expression,i.hasLazyExpression=e.hasLazyExpression,t.config.metadata&&n.description&&(i.expression=i.expression.attr(K.register).call(L(a.placeholder).attr(K.globalRegistry),L.object().pretty().prop(`description`,L.literal(n.description))))}else if(n.items)if(n=S({schema:n}),n.items){let e=n.items.map((e,n)=>Wc({plugin:t,schema:e,state:{...r,path:E([...r.path.value,`items`,n])}}));if(n.logicalOperator===`and`){let t=n.items[0];t.logicalOperator===`or`||t.type&&t.type!==`object`?i.expression=L(a.placeholder).attr(K.intersection).call(...e.map(e=>e.expression)):(i.expression=e[0].expression,e.slice(1).forEach(e=>{i.expression=i.expression.attr(K.and).call(e.hasLazyExpression?L(a.placeholder).attr(K.lazy).call(L.func().do(e.expression.return())):e.expression)}))}else i.expression=L(a.placeholder).attr(K.union).call(L.array().pretty().elements(...e.map(e=>e.expression)))}else i=Wc({plugin:t,schema:n,state:r});else i.expression=Uc({plugin:t,schema:{type:`unknown`},state:r}).expression;if(i.expression&&(n.accessScope===`read`&&(i.expression=i.expression.attr(K.readonly).call()),e&&(i.expression=L(a.placeholder).attr(K.optional).call(i.expression),i.typeName=K.ZodOptional),n.default!==void 0)){let e=n.type===`integer`&&n.format===`int64`;i.expression=i.expression.attr(K.default).call(q({isBigInt:e,value:n.default}))}return i},Gc=({plugin:e,schema:t,state:n})=>{let r=Cr(n.path.value),i=Wc({plugin:e,schema:t,state:n}),a=R(r);Us({ast:i,plugin:e,schema:t,symbol:e.registerSymbol({exported:!0,meta:{category:`schema`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`},name:x({config:e.config.definitions,name:a})}),typeInferSymbol:e.config.definitions.types.infer.enabled?e.registerSymbol({exported:!0,kind:`type`,meta:{category:`type`,path:n.path.value,resource:`definition`,resourceId:r,tags:n.tags?.value,tool:`zod`,variant:`infer`},name:x({config:e.config.definitions.types.infer,name:a})}):void 0})},Kc=({plugin:e})=>{e.registerSymbol({external:Ws({plugin:e}),meta:{category:`external`,resource:`zod.z`},name:`z`}),e.forEach(`operation`,`parameter`,`requestBody`,`schema`,`webhook`,t=>{let n=D({hasLazyExpression:!1,path:t._path,tags:t.tags});switch(t.type){case`operation`:Gs({getAst:(n,r)=>Wc({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break;case`parameter`:Gc({plugin:e,schema:t.parameter.schema,state:n});break;case`requestBody`:Gc({plugin:e,schema:t.requestBody.schema,state:n});break;case`schema`:Gc({plugin:e,schema:t.schema,state:n});break;case`webhook`:Ks({getAst:(n,r)=>Wc({plugin:e,schema:n,state:D({hasLazyExpression:!1,path:r,tags:t.tags})}),operation:t.operation,plugin:e,state:n});break}})},qc=e=>{let{plugin:t}=e;switch(t.config.compatibilityVersion){case 3:return Oc(e);case`mini`:return uc(e);case 4:default:return Kc(e)}},Jc={api:new Hs,config:{case:`camelCase`,comments:!0,exportFromIndex:!1,metadata:!1},handler:qc,name:`zod`,resolveConfig:(e,t)=>{let n=t.package.getVersion(`zod`),r=()=>n&&(n.major===4||n.major===3)?n.major:4,i=e=>{if(!e)return r();if(!n)return e;if((e===4||e===3||e===`mini`)&&!t.package.satisfies(n,`>=3.25.0 <5.0.0`)){let t=r();return console.warn(`🔌 ${u.default.yellow(`Warning:`)} Installed ${u.default.cyan(`zod`)} ${u.default.cyan(`v${n.version}`)} does not support compatibility version ${u.default.yellow(String(e))}, using ${u.default.yellow(String(t))}.`),t}return e};e.config.compatibilityVersion=i(e.config.compatibilityVersion),e.config.dates=t.valueToObject({defaultValue:{local:!1,offset:!1},value:e.config.dates}),e.config.types=t.valueToObject({defaultValue:{infer:{case:`PascalCase`,enabled:!1}},mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.config.types}),e.config.definitions=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}ZodType`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.definitions}),e.config.requests=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}Data`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}DataZodType`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.requests}),e.config.responses=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}Response`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}ResponseZodType`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.responses}),e.config.webhooks=t.valueToObject({defaultValue:{case:e.config.case??`camelCase`,enabled:!0,name:`z{{name}}WebhookRequest`,types:{...e.config.types,infer:{...e.config.types.infer,name:`{{name}}WebhookRequestZodType`}}},mappers:{...y,object:(e,n)=>({...e,types:t.valueToObject({defaultValue:n.types,mappers:{object:(e,n)=>({...e,infer:t.valueToObject({defaultValue:{...n.infer,enabled:e.infer===void 0?n.infer.enabled:!!e.infer},mappers:y,value:e.infer})})},value:e.types})})},value:e.config.webhooks})},tags:[`validator`]},Yc=v(Jc),Xc={"@angular/common":Xr,"@hey-api/client-angular":pi,"@hey-api/client-axios":hi,"@hey-api/client-fetch":_i,"@hey-api/client-ky":yi,"@hey-api/client-next":xi,"@hey-api/client-nuxt":Ci,"@hey-api/client-ofetch":Ti,"@hey-api/schemas":Bi,"@hey-api/sdk":Zi,"@hey-api/transformers":ca,"@hey-api/typescript":La,"@pinia/colada":to,"@tanstack/angular-query-experimental":So,"@tanstack/react-query":wo,"@tanstack/solid-query":Eo,"@tanstack/svelte-query":Oo,"@tanstack/vue-query":Ao,arktype:Wo,fastify:Jo,swr:$o,valibot:js,zod:Jc},Zc=[`@hey-api/typescript`,`@hey-api/sdk`],Qc=({dependencies:e,userPlugins:t,userPluginsConfig:n})=>{let r=new Set,i=new Set,a={},o=s=>{if(r.has(s))throw Error(`Circular reference detected at '${s}'`);if(i.has(s))return;r.add(s);let c=Xc[s],l=n[s];if(!c&&!l)throw Error(`unknown plugin dependency "${s}" - do you need to register a custom plugin with this name?`);let u={...c,...l,config:{...c?.config,...l?.config},dependencies:new Set([...c?.dependencies||[],...l?.dependencies||[]])};if(u.resolveConfig){let r={package:Oi(e),pluginByTag:(e,r={})=>{let{defaultPlugin:i,errorMessage:a}=r;for(let r of t){let t=Xc[r]||n[r];if(t&&t.tags?.includes(e)&&r!==s)return r}if(i){let t=Xc[i]||n[i];if(t&&t.tags?.includes(e)&&i!==s)return i}throw Error(a||`missing plugin - no plugin with tag "${e}" found`)},valueToObject:_};u.resolveConfig(u,r)}for(let e of u.dependencies)o(e);r.delete(s),i.add(s),a[s]=u};for(let e of t)o(e);return{pluginOrder:Array.from(i),plugins:a}},$c=e=>typeof e==`string`?e.startsWith(`@hey-api/client`):e.name.startsWith(`@hey-api/client`)||e.tags&&e.tags.includes(`client`),el=({dependencies:e,userConfig:t})=>{let n={},r=Zc;return t.plugins&&(t.plugins=t.plugins.filter(e=>typeof e==`string`&&e||typeof e!=`string`&&e.name),r=t.plugins.length===1&&$c(t.plugins[0])?[...Zc,...t.plugins]:t.plugins),Qc({dependencies:e,userPlugins:r.map(e=>{if(typeof e==`string`)return e;let t=e.name;return t&&(e.handler?n[t]=e:(n[t]={config:{...e}},delete n[t].config.name)),t}).filter(Boolean),userPluginsConfig:n})},tl=()=>!!(process.stdin.isTTY&&process.stdout.isTTY&&!process.env.CI&&!process.env.NO_INTERACTIVE&&!process.env.NO_INTERACTION),nl=async({logger:e,userConfigs:t})=>{let n=[],r={},i=e.timeEvent(`load`);for(let i of t){let t;if(i?.configFile){let e=i.configFile.split(`.`);t=e.slice(0,e.length-1).join(`.`)}let a=e.timeEvent(`c12`),{loadConfig:o}=await import(`c12`),{config:s,configFile:c}=await o({configFile:t,name:`openapi-ts`});a.timeEnd(),Object.keys(r).length||(r=Ve(Object.keys(s).length?c:void 0));let l=s instanceof Array?s.map(e=>Le(e,i)):[Le(s,i)];for(let e of l){let t=Pe(e);if(e.output instanceof Array){let r=t.length,i=e.output.length;if(i>1)if(r!==i){console.warn(`⚙️ ${u.default.yellow(`Warning:`)} You provided ${u.default.cyan(String(r))} ${u.default.cyan(r===1?`input`:`inputs`)} and ${u.default.yellow(String(i))} ${u.default.yellow(`outputs`)}. This is probably not what you want as it will produce identical output in multiple locations. You most likely want to provide a single output or the same number of outputs as inputs.`);for(let r of e.output)n.push({...e,input:t,output:r})}else e.output.forEach((r,i)=>{n.push({...e,input:t[i],output:r})});else n.push({...e,input:t,output:e.output[0]??``})}else n.push({...e,input:t})}}i.timeEnd();let a=[],o=e.timeEvent(`build`);for(let e of n){let t=Fe(e),n=Pe(e),i=Be(e),o=Ue(e),s=[];n.length||s.push(new ce(`missing input - which OpenAPI specification should we use to generate your output?`)),i.path||s.push(new ce(`missing output - where should we generate your output?`)),i.path=f.default.resolve(process.cwd(),i.path);let c;try{c=el({dependencies:r,userConfig:e})}catch(e){s.push(e),c={pluginOrder:[],plugins:{}}}let l={configFile:e.configFile??``,dryRun:e.dryRun??!1,input:n,interactive:e.interactive??tl(),logs:t,output:i,parser:o,pluginOrder:c.pluginOrder,plugins:c.plugins},d=a.length;if(t.level===`debug`){let e=u.default.gray(`[Job ${d+1}] `);console.warn(`${e}${u.default.cyan(`config:`)}`,l)}a.push({config:l,errors:s,jobIndex:d})}return o.timeEnd(),{dependencies:r,results:a}},rl=Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`}),il=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},al=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},ol=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},sl=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(al(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=il(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):cl({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},cl=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},ll=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=ol(r),s=Object.entries(i).map(([t,i])=>cl({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},ul=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=sl({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=ll({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=cl({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},dl=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},fl=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?dl(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},pl=ul({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),ml=async({fetchOptions:e,inputPath:t,timeout:n,watch:r})=>{let i=(0,ee.getResolvedInput)({pathOrUrlOrSchema:t}),a,o,s;if(i.type===`url`){if(r.lastValue&&r.isHeadMethodSupported!==!1){try{let t=await(0,ee.sendRequest)({fetchOptions:{method:`HEAD`,...e,headers:fl(e?.headers,r.headers)},timeout:n,url:i.path});if(t.response.status>=300)return{error:`not-ok`,response:t.response};s=t.response}catch(e){return{error:`not-ok`,response:new Response(e.message)}}if(!s.ok&&r.isHeadMethodSupported)return{error:`not-ok`,response:s};if(r.isHeadMethodSupported===void 0&&(r.isHeadMethodSupported=s.ok),s.status===304)return{error:`not-modified`,response:s};if(o===void 0){let e=s.headers.get(`ETag`);e&&(o=e!==r.headers.get(`If-None-Match`),o&&r.headers.set(`If-None-Match`,e))}if(o===void 0){let e=s.headers.get(`Last-Modified`);e&&(o=e!==r.headers.get(`If-Modified-Since`),o&&r.headers.set(`If-Modified-Since`,e))}if(o===!1)return{error:`not-modified`,response:s}}try{let t=await(0,ee.sendRequest)({fetchOptions:{method:`GET`,...e},timeout:n,url:i.path});if(t.response.status>=300)return{error:`not-ok`,response:t.response};s=t.response}catch(e){return{error:`not-ok`,response:new Response(e.message)}}if(!s.ok)return{error:`not-ok`,response:s};if(a=s.body?await s.arrayBuffer():new ArrayBuffer(0),o===void 0){let e=new TextDecoder().decode(a);o=e!==r.lastValue,r.lastValue=e}}else r.lastValue?o=!1:r.lastValue=i.type;return o===!1?{error:`not-modified`,response:s}:{arrayBuffer:a,resolvedInput:i}},hl=m.default.createPrinter({newLine:m.default.NewLineKind.LineFeed,removeComments:!1}),gl=e=>m.default.createSourceFile(``,e,m.default.ScriptTarget.ESNext,!1,m.default.ScriptKind.TS),_l=gl(``),vl=e=>e.replace(/\\u([0-9a-fA-F]{4})/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)));function yl(e){let t=hl.printNode(m.default.EmitHint.Unspecified,e,_l);try{return vl(t)}catch{return t}}const bl=new Set(`buffer.child_process.cluster.console.constants.crypto.dgram.dns.domain.events.freelist.fs.http.https.module.net.os.path.process.punycode.querystring.readline.repl.stream.string_decoder.timers.tls.tty.url.util.v8.vm.worker_threads.zlib`.split(`.`));var xl=class{renderFile(e,t,n,r){let i=new Map;if(e=(0,l.renderIds)(e,e=>{let a=n.symbols.get(e),o=this.replacerFn({file:t,project:n,symbol:a});return a&&this.addBinding({bindings:i,file:t,meta:r,project:n,symbol:a}),o}),!e.length)return``;let a=``,o=this.getHeaderLines();a+=`${o.join(` + `)}${o.length?` + + `:``}`;let s=this.getImportLines(i,t,n);return a+=`${s.join(` diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 87200e1..251801c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,9 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + '@hey-api/openapi-ts@0.88.0': ccc3291d6803f6a71477d17ba8063e7c565b48a7bd90b3f33f7443c6f126b370 + importers: .: @@ -13,7 +16,7 @@ importers: version: 1.10.4 debug: specifier: ^4.4.3 - version: 4.4.3 + version: 4.4.3(supports-color@7.2.0) isomorphic-ws: specifier: ^5.0.0 version: 5.0.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) @@ -29,10 +32,10 @@ importers: devDependencies: '@ariesclark/eslint-config': specifier: ^3.1.1 - version: 3.1.1(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1))(jiti@2.6.1)(postcss@8.5.5)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0) + version: 3.1.1(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(jiti@2.6.1)(postcss@8.5.5)(supports-color@7.2.0)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0) '@hey-api/openapi-ts': specifier: ^0.88.0 - version: 0.88.0(typescript@5.9.3) + version: 0.88.0(patch_hash=ccc3291d6803f6a71477d17ba8063e7c565b48a7bd90b3f33f7443c6f126b370)(typescript@5.9.3) '@types/debug': specifier: ^4.1.12 version: 4.1.12 @@ -44,13 +47,16 @@ importers: version: 0.3.0 eslint: specifier: ^9.39.1 - version: 9.39.1(jiti@2.6.1) + version: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) + pkg-pr-new: + specifier: ^0.0.87 + version: 0.0.87 semver: specifier: ^7.7.3 version: 7.7.3 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.5)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.5)(supports-color@7.2.0)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0) typed-emitter: specifier: ^2.1.0 version: 2.1.0 @@ -703,56 +709,67 @@ packages: resolution: {integrity: sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.43.0': resolution: {integrity: sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.43.0': resolution: {integrity: sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.43.0': resolution: {integrity: sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.43.0': resolution: {integrity: sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': resolution: {integrity: sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.43.0': resolution: {integrity: sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.43.0': resolution: {integrity: sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.43.0': resolution: {integrity: sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.43.0': resolution: {integrity: sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.43.0': resolution: {integrity: sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.43.0': resolution: {integrity: sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==} @@ -906,41 +923,49 @@ packages: resolution: {integrity: sha512-vdqBh911wc5awE2bX2zx3eflbyv8U9xbE/jVKAm425eRoOVv/VseGZsqi3A3SykckSpF4wSROkbQPvbQFn8EsA==} cpu: [arm64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-arm64-musl@1.9.0': resolution: {integrity: sha512-/8JFZ/SnuDr1lLEVsxsuVwrsGquTvT51RZGvyDB/dOK3oYK2UqeXzgeyq6Otp8FZXQcEYqJwxb9v+gtdXn03eQ==} cpu: [arm64] os: [linux] + libc: [musl] '@unrs/resolver-binding-linux-ppc64-gnu@1.9.0': resolution: {integrity: sha512-FkJjybtrl+rajTw4loI3L6YqSOpeZfDls4SstL/5lsP2bka9TiHUjgMBjygeZEis1oC8LfJTS8FSgpKPaQx2tQ==} cpu: [ppc64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-riscv64-gnu@1.9.0': resolution: {integrity: sha512-w/NZfHNeDusbqSZ8r/hp8iL4S39h4+vQMc9/vvzuIKMWKppyUGKm3IST0Qv0aOZ1rzIbl9SrDeIqK86ZpUK37w==} cpu: [riscv64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-riscv64-musl@1.9.0': resolution: {integrity: sha512-bEPBosut8/8KQbUixPry8zg/fOzVOWyvwzOfz0C0Rw6dp+wIBseyiHKjkcSyZKv/98edrbMknBaMNJfA/UEdqw==} cpu: [riscv64] os: [linux] + libc: [musl] '@unrs/resolver-binding-linux-s390x-gnu@1.9.0': resolution: {integrity: sha512-LDtMT7moE3gK753gG4pc31AAqGUC86j3AplaFusc717EUGF9ZFJ356sdQzzZzkBk1XzMdxFyZ4f/i35NKM/lFA==} cpu: [s390x] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-x64-gnu@1.9.0': resolution: {integrity: sha512-WmFd5KINHIXj8o1mPaT8QRjA9HgSXhN1gl9Da4IZihARihEnOylu4co7i/yeaIpcfsI6sYs33cNZKyHYDh0lrA==} cpu: [x64] os: [linux] + libc: [glibc] '@unrs/resolver-binding-linux-x64-musl@1.9.0': resolution: {integrity: sha512-CYuXbANW+WgzVRIl8/QvZmDaZxrqvOldOwlbUjIM4pQ46FJ0W5cinJ/Ghwa/Ng1ZPMJMk1VFdsD/XwmCGIXBWg==} cpu: [x64] os: [linux] + libc: [musl] '@unrs/resolver-binding-wasm32-wasi@1.9.0': resolution: {integrity: sha512-6Rp2WH0OoitMYR57Z6VE8Y6corX8C6QEMWLgOV6qXiJIeZ1F9WGXY/yQ8yDC4iTraotyLOeJ2Asea0urWj2fKQ==} @@ -1451,6 +1476,7 @@ packages: eslint@9.39.1: resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true peerDependencies: jiti: '*' @@ -1585,6 +1611,7 @@ packages: glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true globals@13.24.0: @@ -2099,6 +2126,10 @@ packages: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} + pkg-pr-new@0.0.87: + resolution: {integrity: sha512-nm+30Py1csXWfyMH1ueQyTR11IZGHS5oW8Qok/MxMwjPx9g1jX3wMRrJf8TgEvNo0a0M4i14T0zQsEPWdZfAhg==} + hasBin: true + pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -2548,42 +2579,42 @@ packages: snapshots: - '@antfu/eslint-config@3.16.0(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@antfu/eslint-config@3.16.0(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@antfu/install-pkg': 1.1.0 '@clack/prompts': 0.9.1 - '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.39.1(jiti@2.6.1)) - '@eslint/markdown': 6.5.0 - '@stylistic/eslint-plugin': 2.13.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/eslint-plugin': 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@vitest/eslint-plugin': 1.2.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.39.1(jiti@2.6.1) - eslint-config-flat-gitignore: 1.0.1(eslint@9.39.1(jiti@2.6.1)) + '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + '@eslint/markdown': 6.5.0(supports-color@7.2.0) + '@stylistic/eslint-plugin': 2.13.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/parser': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + '@vitest/eslint-plugin': 1.2.5(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) + eslint-config-flat-gitignore: 1.0.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) eslint-flat-config-utils: 1.1.0 - eslint-merge-processors: 1.0.0(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-antfu: 2.7.0(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-command: 2.1.0(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-import-x: 4.15.2(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-jsdoc: 50.8.0(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-jsonc: 2.20.1(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-n: 17.20.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + eslint-merge-processors: 1.0.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint-plugin-antfu: 2.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint-plugin-command: 2.1.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint-plugin-import-x: 4.15.2(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0) + eslint-plugin-jsdoc: 50.8.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0) + eslint-plugin-jsonc: 2.20.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint-plugin-n: 17.20.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.14.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint-plugin-regexp: 2.9.0(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-toml: 0.12.0(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-unicorn: 56.0.1(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-vue: 9.33.0(eslint@9.39.1(jiti@2.6.1)) - eslint-plugin-yml: 1.18.0(eslint@9.39.1(jiti@2.6.1)) - eslint-processor-vue-blocks: 1.0.0(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1)) + eslint-plugin-perfectionist: 4.14.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint-plugin-regexp: 2.9.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint-plugin-toml: 0.12.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0) + eslint-plugin-unicorn: 56.0.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint-plugin-vue: 9.33.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0) + eslint-plugin-yml: 1.18.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0) + eslint-processor-vue-blocks: 1.0.0(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) globals: 15.15.0 jsonc-eslint-parser: 2.4.0 local-pkg: 1.1.1 parse-gitignore: 2.0.0 picocolors: 1.1.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.39.1(jiti@2.6.1)) + vue-eslint-parser: 9.4.3(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0) yaml-eslint-parser: 1.3.0 yargs: 17.7.2 transitivePeerDependencies: @@ -2602,14 +2633,14 @@ snapshots: '@antfu/utils@0.7.10': {} - '@ariesclark/eslint-config@3.1.1(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1))(jiti@2.6.1)(postcss@8.5.5)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0)': + '@ariesclark/eslint-config@3.1.1(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(jiti@2.6.1)(postcss@8.5.5)(supports-color@7.2.0)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0)': dependencies: - '@antfu/eslint-config': 3.16.0(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.39.1(jiti@2.6.1) + '@antfu/eslint-config': 3.16.0(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) eslint-flat-config-utils: 0.4.0 esno: 4.8.0 local-pkg: 0.5.1 - tsup: 8.5.1(jiti@2.6.1)(postcss@8.5.5)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0) + tsup: 8.5.1(jiti@2.6.1)(postcss@8.5.5)(supports-color@7.2.0)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0) transitivePeerDependencies: - '@eslint-react/eslint-plugin' - '@eslint/json' @@ -2845,32 +2876,32 @@ snapshots: '@esbuild/win32-x64@0.27.1': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.39.1(jiti@2.6.1))': + '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.7.0(eslint@9.39.1(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))': dependencies: - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))': dependencies: - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.3.0(eslint@9.39.1(jiti@2.6.1))': + '@eslint/compat@1.3.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))': optionalDependencies: - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) - '@eslint/config-array@0.21.1': + '@eslint/config-array@0.21.1(supports-color@7.2.0)': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -2891,10 +2922,10 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.1': + '@eslint/eslintrc@3.3.1(supports-color@7.2.0)': dependencies: ajv: 6.12.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -2907,13 +2938,13 @@ snapshots: '@eslint/js@9.39.1': {} - '@eslint/markdown@6.5.0': + '@eslint/markdown@6.5.0(supports-color@7.2.0)': dependencies: '@eslint/core': 0.14.0 '@eslint/plugin-kit': 0.3.2 - mdast-util-from-markdown: 2.0.2 - mdast-util-frontmatter: 2.0.1 - mdast-util-gfm: 3.1.0 + mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) + mdast-util-frontmatter: 2.0.1(supports-color@7.2.0) + mdast-util-gfm: 3.1.0(supports-color@7.2.0) micromark-extension-frontmatter: 2.0.0 micromark-extension-gfm: 3.0.0 transitivePeerDependencies: @@ -2942,7 +2973,7 @@ snapshots: js-yaml: 4.1.0 lodash: 4.17.21 - '@hey-api/openapi-ts@0.88.0(typescript@5.9.3)': + '@hey-api/openapi-ts@0.88.0(patch_hash=ccc3291d6803f6a71477d17ba8063e7c565b48a7bd90b3f33f7443c6f126b370)(typescript@5.9.3)': dependencies: '@hey-api/codegen-core': 0.3.3(typescript@5.9.3) '@hey-api/json-schema-ref-parser': 1.2.1 @@ -3089,10 +3120,10 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.43.0': optional: true - '@stylistic/eslint-plugin@2.13.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@stylistic/eslint-plugin@2.13.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.39.1(jiti@2.6.1) + '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -3135,15 +3166,15 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.34.0 - '@typescript-eslint/type-utils': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.34.0 - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -3152,23 +3183,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.34.0 '@typescript-eslint/types': 8.34.0 - '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.34.0(supports-color@7.2.0)(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.34.0 - debug: 4.4.3 - eslint: 9.39.1(jiti@2.6.1) + debug: 4.4.3(supports-color@7.2.0) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.34.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.34.0(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.9.3) '@typescript-eslint/types': 8.34.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -3182,12 +3213,12 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - debug: 4.4.3 - eslint: 9.39.1(jiti@2.6.1) + '@typescript-eslint/typescript-estree': 8.34.0(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + debug: 4.4.3(supports-color@7.2.0) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) ts-api-utils: 2.1.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -3195,13 +3226,13 @@ snapshots: '@typescript-eslint/types@8.34.0': {} - '@typescript-eslint/typescript-estree@8.34.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.34.0(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.34.0(typescript@5.9.3) + '@typescript-eslint/project-service': 8.34.0(supports-color@7.2.0)(typescript@5.9.3) '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.9.3) '@typescript-eslint/types': 8.34.0 '@typescript-eslint/visitor-keys': 8.34.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -3211,13 +3242,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) '@typescript-eslint/scope-manager': 8.34.0 '@typescript-eslint/types': 8.34.0 - '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.9.3) - eslint: 9.39.1(jiti@2.6.1) + '@typescript-eslint/typescript-estree': 8.34.0(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -3286,10 +3317,10 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.9.0': optional: true - '@vitest/eslint-plugin@1.2.5(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)': + '@vitest/eslint-plugin@1.2.5(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.39.1(jiti@2.6.1) + '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -3495,9 +3526,11 @@ snapshots: cssesc@3.0.0: {} - debug@4.4.3: + debug@4.4.3(supports-color@7.2.0): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 7.2.0 decode-named-character-reference@1.2.0: dependencies: @@ -3622,20 +3655,20 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.39.1(jiti@2.6.1)): + eslint-compat-utils@0.5.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) semver: 7.7.3 - eslint-compat-utils@0.6.5(eslint@9.39.1(jiti@2.6.1)): + eslint-compat-utils@0.6.5(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) semver: 7.7.3 - eslint-config-flat-gitignore@1.0.1(eslint@9.39.1(jiti@2.6.1)): + eslint-config-flat-gitignore@1.0.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: - '@eslint/compat': 1.3.0(eslint@9.39.1(jiti@2.6.1)) - eslint: 9.39.1(jiti@2.6.1) + '@eslint/compat': 1.3.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) eslint-flat-config-utils@0.4.0: dependencies: @@ -3652,39 +3685,39 @@ snapshots: optionalDependencies: unrs-resolver: 1.9.0 - eslint-json-compat-utils@0.2.1(eslint@9.39.1(jiti@2.6.1))(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) esquery: 1.6.0 jsonc-eslint-parser: 2.4.0 - eslint-merge-processors@1.0.0(eslint@9.39.1(jiti@2.6.1)): + eslint-merge-processors@1.0.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) - eslint-plugin-antfu@2.7.0(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-antfu@2.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) - eslint-plugin-command@2.1.0(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-command@2.1.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: '@es-joy/jsdoccomment': 0.50.2 - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) - eslint-plugin-es-x@7.8.0(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-es-x@7.8.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.39.1(jiti@2.6.1) - eslint-compat-utils: 0.5.1(eslint@9.39.1(jiti@2.6.1)) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) + eslint-compat-utils: 0.5.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) - eslint-plugin-import-x@4.15.2(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-import-x@4.15.2(@typescript-eslint/utils@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: '@typescript-eslint/types': 8.34.0 comment-parser: 1.4.1 - debug: 4.4.3 - eslint: 9.39.1(jiti@2.6.1) + debug: 4.4.3(supports-color@7.2.0) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) eslint-import-context: 0.1.8(unrs-resolver@1.9.0) is-glob: 4.0.3 minimatch: 10.0.3 @@ -3692,18 +3725,18 @@ snapshots: stable-hash-x: 0.1.1 unrs-resolver: 1.9.0 optionalDependencies: - '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) transitivePeerDependencies: - supports-color - eslint-plugin-jsdoc@50.8.0(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-jsdoc@50.8.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: '@es-joy/jsdoccomment': 0.50.2 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) escape-string-regexp: 4.0.0 - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) espree: 10.4.0 esquery: 1.6.0 parse-imports-exports: 0.2.4 @@ -3712,12 +3745,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.20.1(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-jsonc@2.20.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)) - eslint: 9.39.1(jiti@2.6.1) - eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@2.6.1)) - eslint-json-compat-utils: 0.2.1(eslint@9.39.1(jiti@2.6.1))(jsonc-eslint-parser@2.4.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) + eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint-json-compat-utils: 0.2.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(jsonc-eslint-parser@2.4.0) espree: 10.4.0 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 @@ -3726,13 +3759,13 @@ snapshots: transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.20.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-n@17.20.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)) - '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) enhanced-resolve: 5.18.1 - eslint: 9.39.1(jiti@2.6.1) - eslint-plugin-es-x: 7.8.0(eslint@9.39.1(jiti@2.6.1)) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) + eslint-plugin-es-x: 7.8.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) get-tsconfig: 4.10.1 globals: 15.15.0 ignore: 5.3.2 @@ -3745,45 +3778,45 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@4.14.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3): + eslint-plugin-perfectionist@4.14.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3): dependencies: '@typescript-eslint/types': 8.34.0 - '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.39.1(jiti@2.6.1) + '@typescript-eslint/utils': 8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.9.0(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-regexp@2.9.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.12.0(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-toml@0.12.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: - debug: 4.4.3 - eslint: 9.39.1(jiti@2.6.1) - eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@2.6.1)) + debug: 4.4.3(supports-color@7.2.0) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) + eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@56.0.1(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-unicorn@56.0.1(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: '@babel/helper-validator-identifier': 7.27.1 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) ci-info: 4.2.0 clean-regexp: 1.0.0 core-js-compat: 3.43.0 - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) esquery: 1.6.0 globals: 15.15.0 indent-string: 4.0.0 @@ -3796,41 +3829,41 @@ snapshots: semver: 7.7.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) - eslint-plugin-vue@9.33.0(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-vue@9.33.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)) - eslint: 9.39.1(jiti@2.6.1) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.7.3 - vue-eslint-parser: 9.4.3(eslint@9.39.1(jiti@2.6.1)) + vue-eslint-parser: 9.4.3(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.18.0(eslint@9.39.1(jiti@2.6.1)): + eslint-plugin-yml@1.18.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) escape-string-regexp: 4.0.0 - eslint: 9.39.1(jiti@2.6.1) - eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@2.6.1)) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) + eslint-compat-utils: 0.6.5(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) natural-compare: 1.4.0 yaml-eslint-parser: 1.3.0 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@1.0.0(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1)): + eslint-processor-vue-blocks@1.0.0(@vue/compiler-sfc@3.5.16)(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)): dependencies: '@vue/compiler-sfc': 3.5.16 - eslint: 9.39.1(jiti@2.6.1) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) eslint-scope@7.2.2: dependencies: @@ -3846,14 +3879,14 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.39.1(jiti@2.6.1): + eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.21.1 + '@eslint/config-array': 0.21.1(supports-color@7.2.0) '@eslint/config-helpers': 0.4.2 '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.1 + '@eslint/eslintrc': 3.3.1(supports-color@7.2.0) '@eslint/js': 9.39.1 '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.6 @@ -3863,7 +3896,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -4200,14 +4233,14 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - mdast-util-from-markdown@2.0.2: + mdast-util-from-markdown@2.0.2(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 decode-named-character-reference: 1.2.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 - micromark: 4.0.2 + micromark: 4.0.2(supports-color@7.2.0) micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-decode-string: 2.0.1 micromark-util-normalize-identifier: 2.0.1 @@ -4217,12 +4250,12 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-frontmatter@2.0.1: + mdast-util-frontmatter@2.0.1(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 micromark-extension-frontmatter: 2.0.0 transitivePeerDependencies: @@ -4236,51 +4269,51 @@ snapshots: mdast-util-find-and-replace: 3.0.2 micromark-util-character: 2.1.1 - mdast-util-gfm-footnote@2.1.0: + mdast-util-gfm-footnote@2.1.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color - mdast-util-gfm-strikethrough@2.0.0: + mdast-util-gfm-strikethrough@2.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm-table@2.0.0: + mdast-util-gfm-table@2.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm-task-list-item@2.0.0: + mdast-util-gfm-task-list-item@2.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm@3.1.0: + mdast-util-gfm@3.1.0(supports-color@7.2.0): dependencies: - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.2(supports-color@7.2.0) mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-gfm-footnote: 2.1.0(supports-color@7.2.0) + mdast-util-gfm-strikethrough: 2.0.0(supports-color@7.2.0) + mdast-util-gfm-table: 2.0.0(supports-color@7.2.0) + mdast-util-gfm-task-list-item: 2.0.0(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -4484,10 +4517,10 @@ snapshots: micromark-util-types@2.0.2: {} - micromark@4.0.2: + micromark@4.0.2(supports-color@7.2.0): dependencies: '@types/debug': 4.1.12 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -4664,6 +4697,8 @@ snapshots: pirates@4.0.7: {} + pkg-pr-new@0.0.87: {} + pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -4949,13 +4984,13 @@ snapshots: tslib@2.8.1: optional: true - tsup@8.5.1(jiti@2.6.1)(postcss@8.5.5)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0): + tsup@8.5.1(jiti@2.6.1)(postcss@8.5.5)(supports-color@7.2.0)(tsx@4.20.3)(typescript@5.9.3)(yaml@2.8.0): dependencies: bundle-require: 5.1.0(esbuild@0.27.1) cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) esbuild: 0.27.1 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 @@ -5069,10 +5104,10 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vue-eslint-parser@9.4.3(eslint@9.39.1(jiti@2.6.1)): + vue-eslint-parser@9.4.3(eslint@9.39.1(jiti@2.6.1)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: - debug: 4.4.3 - eslint: 9.39.1(jiti@2.6.1) + debug: 4.4.3(supports-color@7.2.0) + eslint: 9.39.1(jiti@2.6.1)(supports-color@7.2.0) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d0b4654..11a016d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,10 @@ packages: - ./example - - ./ \ No newline at end of file + - ./ +allowBuilds: + bufferutil: true + esbuild: true + unrs-resolver: true + utf-8-validate: true +patchedDependencies: + '@hey-api/openapi-ts@0.88.0': patches/@hey-api__openapi-ts@0.88.0.patch diff --git a/src/client.ts b/src/client.ts index 11197cd..199a108 100644 --- a/src/client.ts +++ b/src/client.ts @@ -52,6 +52,7 @@ export class VRChat extends VRChatInternal { headers.set("user-agent", getUserAgent(application)); const client = createClient(createConfig({ + baseUrl: "https://api.vrchat.cloud/api/1", ...clientOptions, headers })); @@ -122,7 +123,7 @@ export class VRChat extends VRChatInternal { } interceptors.request.use(async (request, options) => { - const { meta = {} } = options as Options as { meta: Record }; + const { meta = {} } = options as Options as { meta?: Record }; // If the session is being refreshed, wait for the authentication to complete. if (this.authenticatePromise && !meta[authenticateSymbol]) { @@ -141,7 +142,7 @@ export class VRChat extends VRChatInternal { }); interceptors.response.use(async (response, request, options) => { - const { meta } = options as Options as { meta: Record }; + const { meta = {} } = options as Options as { meta?: Record }; await this.saveCookies(response.headers); diff --git a/src/events.ts b/src/events.ts index a3875a5..00a8a49 100644 --- a/src/events.ts +++ b/src/events.ts @@ -1,10 +1,10 @@ import type { - GroupLimitedMember, + GroupMember, GroupRole } from "./types"; export interface EventData { - "group-member-updated": { member: GroupLimitedMember }; + "group-member-updated": { member: GroupMember }; "group-role-updated": { role: GroupRole }; }