{"version":3,"file":"src-BXIUXBF6.mjs","names":["createClient","ms","pCreateClient","defineConfig"],"sources":["../src/generate/output.ts","../src/createClient.ts","../src/generate.ts","../src/index.ts"],"sourcesContent":["import fs from 'node:fs';\nimport fsPromises from 'node:fs/promises';\nimport path from 'node:path';\n\nimport type { Context } from '@hey-api/shared';\nimport { IntentContext } from '@hey-api/shared';\n\nimport { getTypedConfig } from '../config/utils';\nimport { getClientPlugin } from '../plugins/@hey-api/client-core/utils';\nimport { generateClientBundle } from './client';\n\nexport async function generateOutput(context: Context): Promise<{ fileCount: number }> {\n  const outputPath = path.resolve(context.config.output.path);\n\n  if (context.config.output.clean) {\n    if (fs.existsSync(outputPath)) {\n      fs.rmSync(outputPath, { force: true, recursive: true });\n    }\n  }\n\n  const config = getTypedConfig(context);\n\n  const client = getClientPlugin(config);\n  if ('bundle' in client.config && client.config.bundle && !config.dryRun) {\n    // not proud of this one\n    // @ts-expect-error\n    config._FRAGILE_CLIENT_BUNDLE_RENAMED = generateClientBundle({\n      header: config.output.header,\n      module: config.output.module,\n      outputPath,\n      // @ts-expect-error\n      plugin: client,\n      project: context.gen,\n    });\n  }\n\n  for (const plugin of context.registerPlugins()) {\n    await plugin.run();\n  }\n\n  context.gen.plan();\n\n  const ctx = new IntentContext(context.spec);\n  for (const intent of context.intents) {\n    await intent.run(ctx);\n  }\n\n  let fileCount = 0;\n  const writes: Promise<void>[] = [];\n  for (const file of context.gen.render()) {\n    const filePath = path.resolve(outputPath, file.path);\n    const dir = path.dirname(filePath);\n    if (!context.config.dryRun) {\n      writes.push(\n        fsPromises\n          .mkdir(dir, { recursive: true })\n          .then(() => fsPromises.writeFile(filePath, file.content, { encoding: 'utf8' })),\n      );\n    }\n    fileCount++;\n  }\n  await Promise.all(writes);\n\n  const { source } = context.config.output;\n  if (source.enabled) {\n    const sourcePath = source.path === null ? undefined : path.resolve(outputPath, source.path);\n    if (!context.config.dryRun && sourcePath && sourcePath !== outputPath) {\n      await fsPromises.mkdir(sourcePath, { recursive: true });\n    }\n    const serialized = await source.serialize(context.spec);\n    // TODO: handle yaml (convert before writing)\n    if (!context.config.dryRun && sourcePath) {\n      await fsPromises.writeFile(\n        path.resolve(sourcePath, `${source.fileName}.${source.extension}`),\n        serialized,\n        { encoding: 'utf8' },\n      );\n      fileCount++;\n    }\n    if (source.callback) {\n      await source.callback(serialized);\n    }\n  }\n\n  return { fileCount };\n}\n","import path from 'node:path';\n\nimport { type Logger, Project } from '@hey-api/codegen-core';\nimport { $RefParser, ResolverError } from '@hey-api/json-schema-ref-parser';\nimport type { Input, OpenApi, WatchValues } from '@hey-api/shared';\nimport {\n  applyNaming,\n  buildGraph,\n  compileInputPath,\n  Context,\n  getSpec,\n  InputError,\n  logInputPaths,\n  parseOpenApiSpec,\n  patchOpenApiSpec,\n  postprocessOutput,\n} from '@hey-api/shared';\nimport { format as ms } from '@lukeed/ms';\nimport colors from 'ansi-colors';\n\nimport { postProcessors } from './config/output/postprocess';\nimport type { Config } from './config/types';\nimport { generateOutput } from './generate/output';\nimport { TypeScriptRenderer } from './ts-dsl';\n\nexport async function createClient({\n  config,\n  dependencies,\n  jobIndex,\n  logger,\n  watches: _watches,\n}: {\n  config: Config;\n  dependencies: Record<string, string>;\n  jobIndex: number;\n  logger: Logger;\n  /**\n   * Always undefined on the first run, defined on subsequent runs.\n   */\n  watches?: ReadonlyArray<WatchValues>;\n}): Promise<Context | undefined> {\n  const watches: ReadonlyArray<WatchValues> =\n    _watches ||\n    Array.from({ length: config.input.length }, () => ({\n      headers: new Headers(),\n    }));\n\n  const jobStart = Date.now();\n  const inputPaths = config.input.map((input) => compileInputPath(input));\n\n  // on first run, print the message as soon as possible\n  if (config.logs.level !== 'silent' && !_watches) {\n    logInputPaths(inputPaths, jobIndex);\n  }\n\n  const getSpecData = async (input: Input, index: number) => {\n    const eventSpec = logger.timeEvent('spec');\n    const { arrayBuffer, error, resolvedInput, response } = await getSpec({\n      fetchOptions: input.fetch,\n      inputPath: inputPaths[index]!.path,\n      timeout: input.watch.timeout,\n      watch: watches[index]!,\n    });\n    eventSpec.timeEnd();\n\n    // throw on first run if there's an error to preserve user experience\n    // if in watch mode, subsequent errors won't throw to gracefully handle\n    // cases where server might be reloading\n    if (error && !_watches) {\n      const text = await response.text().catch(() => '');\n      const message = `Request failed with status ${response.status}: ${text || response.statusText}`;\n      // Handle 4xx client errors as input errors (bad URL, bad API key, etc.)\n      if (response.status >= 400 && response.status < 500) {\n        const statusText = response.statusText || 'Unknown';\n        const originalError = new Error(message) as Error & { source?: string };\n        originalError.source = String(inputPaths[index]!.path);\n        throw new InputError(\n          `Input request failed: ${response.status} ${statusText}`,\n          originalError,\n        );\n      }\n      // For 5xx server errors, keep the generic error (could be a bug)\n      throw new Error(message);\n    }\n\n    return { arrayBuffer, resolvedInput };\n  };\n  const specData = (\n    await Promise.all(config.input.map((input, index) => getSpecData(input, index)))\n  ).filter((data) => data.arrayBuffer || data.resolvedInput);\n\n  let context: Context | undefined;\n\n  if (specData.length) {\n    const refParser = new $RefParser();\n    let data: unknown;\n    try {\n      data =\n        specData.length > 1\n          ? await refParser.bundleMany({\n              arrayBuffer: specData.map((data) => data.arrayBuffer!),\n              pathOrUrlOrSchemas: [],\n              resolvedInputs: specData.map((data) => data.resolvedInput!),\n            })\n          : await refParser.bundle({\n              arrayBuffer: specData[0]!.arrayBuffer,\n              pathOrUrlOrSchema: undefined,\n              resolvedInput: specData[0]!.resolvedInput!,\n            });\n    } catch (err) {\n      if (err instanceof ResolverError && err.ioErrorCode === 'ENOENT') {\n        throw new InputError('Input file not found', err);\n      }\n      throw err;\n    }\n\n    // on subsequent runs in watch mode, print the message only if we know we're\n    // generating the output\n    if (config.logs.level !== 'silent' && _watches) {\n      console.clear();\n      logInputPaths(inputPaths, jobIndex);\n    }\n\n    const eventInputPatch = logger.timeEvent('input.patch');\n    await patchOpenApiSpec({ patchOptions: config.parser.patch, spec: data });\n    eventInputPatch.timeEnd();\n\n    const eventParser = logger.timeEvent('parser');\n    const header = config.output.header;\n    // TODO: allow overriding via config\n    const project = new Project({\n      defaultFileName: 'index',\n      fileName: (base) => {\n        const name = applyNaming(base, config.output.fileName);\n        const { suffix } = config.output.fileName;\n        if (!suffix) {\n          return name;\n        }\n        return name === 'index' || name.endsWith(suffix) ? name : `${name}${suffix}`;\n      },\n      nameConflictResolvers: config.output.nameConflictResolver\n        ? {\n            typescript: config.output.nameConflictResolver,\n          }\n        : undefined,\n      renderers: [\n        new TypeScriptRenderer({\n          header: (ctx) => {\n            const defaultValue = ['// This file is auto-generated by @hey-api/openapi-ts'];\n            const result = typeof header === 'function' ? header({ ...ctx, defaultValue }) : header;\n            return result === undefined ? defaultValue : result;\n          },\n          module: config.output.module,\n          preferExportAll: config.output.preferExportAll,\n        }),\n      ],\n      root: config.output.path,\n    });\n    context = new Context<OpenApi.V2_0_X | OpenApi.V3_0_X | OpenApi.V3_1_X, Config>({\n      config,\n      dependencies,\n      logger,\n      project,\n      spec: data as OpenApi.V2_0_X | OpenApi.V3_0_X | OpenApi.V3_1_X,\n    });\n    parseOpenApiSpec(context);\n    context.graph = buildGraph(context.ir, logger).graph;\n    eventParser.timeEnd();\n\n    const eventGenerator = logger.timeEvent('generator');\n    const { fileCount } = await generateOutput(context);\n    eventGenerator.timeEnd();\n\n    const totalMs = Date.now() - jobStart;\n\n    const eventPostprocess = logger.timeEvent('postprocess');\n    if (!config.dryRun) {\n      const jobPrefix = colors.gray(`[Job ${jobIndex + 1}] `);\n      postprocessOutput(config.output, postProcessors, jobPrefix);\n\n      if (config.logs.level !== 'silent') {\n        const outputPath = process.env.INIT_CWD\n          ? `./${path.relative(process.env.INIT_CWD, config.output.path)}`\n          : config.output.path;\n        console.log(\n          `${jobPrefix}${colors.green('✅ Done!')} Your output is in ${colors.cyanBright(outputPath)} ${colors.gray(`(${fileCount} ${fileCount === 1 ? 'file' : 'files'} in ${ms(totalMs)})`)}`,\n        );\n      }\n    }\n    eventPostprocess.timeEnd();\n  }\n\n  const watchedInput = config.input.find(\n    (input, index) => input.watch.enabled && typeof inputPaths[index]!.path === 'string',\n  );\n\n  if (watchedInput) {\n    setTimeout(() => {\n      createClient({\n        config,\n        dependencies,\n        jobIndex,\n        logger,\n        watches,\n      });\n    }, watchedInput.watch.interval);\n  }\n\n  return context;\n}\n","import path from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport { Logger } from '@hey-api/codegen-core';\nimport type { Context } from '@hey-api/shared';\nimport {\n  checkNodeVersion,\n  ConfigValidationError,\n  getInputError,\n  getLogs,\n  JobError,\n  logCrashReport,\n  openGitHubIssueWithCrashReport,\n  printCliIntro,\n  printCrashReport,\n  shouldReportCrash,\n} from '@hey-api/shared';\nimport type { LazyOrAsync, MaybeArray } from '@hey-api/types';\n\nimport type { Configs } from './config/init';\nimport { resolveJobs } from './config/init';\nimport type { UserConfig } from './config/types';\nimport { createClient as pCreateClient } from './createClient';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\n/**\n * Generate a client from the provided configuration.\n *\n * @param userConfig User provided {@link UserConfig} configuration(s).\n */\nexport async function createClient(\n  userConfig?: LazyOrAsync<MaybeArray<UserConfig>>,\n  logger = new Logger(),\n): Promise<ReadonlyArray<Context>> {\n  const resolvedConfig = typeof userConfig === 'function' ? await userConfig() : userConfig;\n  const userConfigs = resolvedConfig\n    ? resolvedConfig instanceof Array\n      ? resolvedConfig\n      : [resolvedConfig]\n    : [];\n\n  let rawLogs = userConfigs.find((config) => getLogs(config.logs).level !== 'silent')?.logs;\n  if (typeof rawLogs === 'string') {\n    rawLogs = getLogs(rawLogs);\n  }\n\n  let jobs: Configs['jobs'] = [];\n\n  try {\n    checkNodeVersion();\n\n    const eventCreateClient = logger.timeEvent('createClient');\n\n    const eventConfig = logger.timeEvent('config');\n    const resolved = await resolveJobs({ logger, userConfigs });\n    const dependencies = resolved.dependencies;\n    jobs = resolved.jobs;\n    const printIntro = jobs.some((job) => job.config.logs.level !== 'silent');\n    if (printIntro) printCliIntro(__dirname);\n    eventConfig.timeEnd();\n\n    const configErrors = jobs.flatMap((job) =>\n      job.errors.map((error) => ({ error, jobIndex: job.index })),\n    );\n    if (configErrors.length) {\n      throw new ConfigValidationError(configErrors);\n    }\n\n    const outputs = await Promise.all(\n      jobs.map(async (job) => {\n        try {\n          return await pCreateClient({\n            config: job.config,\n            dependencies,\n            jobIndex: job.index,\n            logger,\n          });\n        } catch (error) {\n          if (error instanceof Error) {\n            throw new JobError('', {\n              error,\n              jobIndex: job.index,\n            });\n          }\n        }\n      }),\n    );\n    const contexts = outputs.filter((ctx): ctx is Context => ctx !== undefined);\n\n    eventCreateClient.timeEnd();\n\n    logger.report(jobs.some((job) => job.config.logs.level === 'debug'));\n\n    return contexts;\n  } catch (error) {\n    const logs =\n      jobs.find((job) => job.config.logs.level !== 'silent')?.config.logs ??\n      jobs[0]?.config.logs ??\n      rawLogs;\n    const dryRun =\n      jobs.some((job) => job.config.dryRun) ?? userConfigs.some((config) => config.dryRun) ?? false;\n\n    const inputError = getInputError(error);\n    const normalizedError = inputError ?? error;\n\n    const logPath =\n      logs?.file && !dryRun ? logCrashReport(normalizedError, logs.path ?? '') : undefined;\n    if (!logs || logs.level !== 'silent') {\n      printCrashReport({ error, logPath });\n      const isInteractive =\n        jobs.some((job) => job.config.interactive) ??\n        userConfigs.some((config) => config.interactive) ??\n        false;\n      if (await shouldReportCrash({ error: normalizedError, isInteractive })) {\n        await openGitHubIssueWithCrashReport(error, __dirname);\n      }\n    }\n\n    if (inputError) return [];\n\n    throw error;\n  }\n}\n","/* eslint-disable @typescript-eslint/no-namespace */\n// OVERRIDES\n// hard-coded here because build process doesn't pick up overrides from separate files\nimport '@hey-api/codegen-core';\nimport '@hey-api/shared';\n\ndeclare module '@hey-api/codegen-core' {\n  interface ProjectRenderMeta {\n    /**\n     * If specified, this will be the file extension used when importing\n     * other modules. By default, we don't add a file extension and let the\n     * runtime resolve it.\n     *\n     * @default null\n     */\n    importFileExtension?: AnyString | null;\n  }\n\n  interface SymbolMeta {\n    category?:\n      | 'client'\n      | 'external'\n      | 'hook'\n      | 'schema'\n      | 'sdk'\n      | 'transform'\n      | 'type'\n      | 'utility'\n      | AnyString;\n    /**\n     * Path to the resource this symbol represents.\n     */\n    path?: ReadonlyArray<string | number>;\n    /**\n     * Name of the plugin that registered this symbol.\n     */\n    pluginName?: string;\n    resource?: 'client' | 'definition' | 'operation' | 'webhook' | AnyString;\n    resourceId?: string;\n    role?: 'data' | 'error' | 'errors' | 'options' | 'response' | 'responses' | AnyString;\n    /**\n     * Tags associated with this symbol.\n     */\n    tags?: ReadonlyArray<string>;\n    tool?:\n      | 'angular'\n      | 'arktype'\n      | 'fastify'\n      | 'json-schema'\n      | 'sdk'\n      | 'typescript'\n      | 'valibot'\n      | 'zod'\n      | AnyString;\n    variant?: 'container' | AnyString;\n  }\n}\n\ndeclare module '@hey-api/shared' {\n  interface PluginConfigMap {\n    '@angular/common': Plugins.AngularCommon.Types['Types'];\n    '@faker-js/faker': Plugins.FakerJsFaker.Types['Types'];\n    '@hey-api/client-angular': Plugins.HeyApiClientAngular.Types['Types'];\n    '@hey-api/client-axios': Plugins.HeyApiClientAxios.Types['Types'];\n    '@hey-api/client-fetch': Plugins.HeyApiClientFetch.Types['Types'];\n    '@hey-api/client-ky': Plugins.HeyApiClientKy.Types['Types'];\n    '@hey-api/client-next': Plugins.HeyApiClientNext.Types['Types'];\n    '@hey-api/client-nuxt': Plugins.HeyApiClientNuxt.Types['Types'];\n    '@hey-api/client-ofetch': Plugins.HeyApiClientOfetch.Types['Types'];\n    '@hey-api/schemas': Plugins.HeyApiSchemas.Types['Types'];\n    '@hey-api/sdk': Plugins.HeyApiSdk.Types['Types'];\n    '@hey-api/transformers': Plugins.HeyApiTransformers.Types['Types'];\n    '@hey-api/typescript': Plugins.HeyApiTypeScript.Types['Types'];\n    '@pinia/colada': Plugins.PiniaColada.Types['Types'];\n    '@tanstack/angular-query-experimental': Plugins.TanStackAngularQuery.Types['Types'];\n    '@tanstack/preact-query': Plugins.TanStackPreactQuery.Types['Types'];\n    '@tanstack/react-query': Plugins.TanStackReactQuery.Types['Types'];\n    '@tanstack/solid-query': Plugins.TanStackSolidQuery.Types['Types'];\n    '@tanstack/svelte-query': Plugins.TanStackSvelteQuery.Types['Types'];\n    '@tanstack/vue-query': Plugins.TanStackVueQuery.Types['Types'];\n    arktype: Plugins.Arktype.Types['Types'];\n    fastify: Plugins.Fastify.Types['Types'];\n    nestjs: Plugins.NestJs.Types['Types'];\n    orpc: Plugins.Orpc.Types['Types'];\n    swr: Plugins.Swr.Types['Types'];\n    valibot: Plugins.Valibot.Types['Types'];\n    zod: Plugins.Zod.Types['Types'];\n  }\n\n  interface PluginInstanceTypes {\n    Node: TsDsl;\n  }\n}\n// END OVERRIDES\n\nimport type { AnyString, LazyOrAsync, MaybeArray } from '@hey-api/types';\nimport colors from 'ansi-colors';\n// @ts-expect-error\nimport colorSupport from 'color-support';\n\nimport type { UserConfig } from './config/types';\nimport type { AngularCommonPlugin } from './plugins/@angular/common';\nimport type { FakerJsFakerPlugin, FakerJsFakerResolvers } from './plugins/@faker-js/faker';\nimport type {\n  AngularClient as AngularClientImp,\n  HeyApiClientAngularPlugin,\n} from './plugins/@hey-api/client-angular';\nimport type {\n  AxiosClient as AxiosClientImp,\n  HeyApiClientAxiosPlugin,\n} from './plugins/@hey-api/client-axios';\nimport type {\n  FetchClient as FetchClientImp,\n  HeyApiClientFetchPlugin,\n} from './plugins/@hey-api/client-fetch';\nimport type { HeyApiClientKyPlugin, KyClient as KyClientImp } from './plugins/@hey-api/client-ky';\nimport type {\n  HeyApiClientNextPlugin,\n  NextClient as NextClientImp,\n} from './plugins/@hey-api/client-next';\nimport type {\n  HeyApiClientNuxtPlugin,\n  NuxtClient as NuxtClientImp,\n} from './plugins/@hey-api/client-nuxt';\nimport type {\n  HeyApiClientOfetchPlugin,\n  OfetchClient as OfetchClientImp,\n} from './plugins/@hey-api/client-ofetch';\nimport type { HeyApiSchemasPlugin } from './plugins/@hey-api/schemas';\nimport type { HeyApiSdkPlugin } from './plugins/@hey-api/sdk';\nimport type { HeyApiTransformersPlugin } from './plugins/@hey-api/transformers';\nimport type {\n  HeyApiTypeScriptPlugin,\n  HeyApiTypeScriptResolvers,\n} from './plugins/@hey-api/typescript';\nimport type { PiniaColadaPlugin } from './plugins/@pinia/colada';\nimport type { TanStackAngularQueryPlugin } from './plugins/@tanstack/angular-query-experimental';\nimport type { TanStackPreactQueryPlugin } from './plugins/@tanstack/preact-query';\nimport type { TanStackReactQueryPlugin } from './plugins/@tanstack/react-query';\nimport type { TanStackSolidQueryPlugin } from './plugins/@tanstack/solid-query';\nimport type { TanStackSvelteQueryPlugin } from './plugins/@tanstack/svelte-query';\nimport type { TanStackVueQueryPlugin } from './plugins/@tanstack/vue-query';\nimport type { ArktypePlugin } from './plugins/arktype';\nimport type { FastifyPlugin } from './plugins/fastify';\nimport type { NestJsPlugin } from './plugins/nestjs';\nimport type { OrpcPlugin } from './plugins/orpc';\nimport type { SwrPlugin } from './plugins/swr';\nimport type { ValibotPlugin, ValibotResolvers } from './plugins/valibot';\nimport type { ZodPlugin, ZodResolvers } from './plugins/zod';\nimport type { TsDsl } from './ts-dsl';\n\ncolors.enabled = colorSupport().hasBasic;\n\nexport { createClient } from './generate';\n\n/**\n * Type helper for configuration object, returns {@link MaybeArray<UserConfig>} object(s)\n */\nexport function defineConfig(\n  config: LazyOrAsync<ReadonlyArray<UserConfig>>,\n): Promise<ReadonlyArray<UserConfig>>;\nexport function defineConfig(config: LazyOrAsync<UserConfig>): Promise<UserConfig>;\nexport async function defineConfig<T extends MaybeArray<UserConfig>>(\n  config: LazyOrAsync<T>,\n): Promise<T> {\n  return typeof config === 'function' ? await config() : config;\n}\n\nexport { defaultPlugins } from './config/plugins';\nexport type { UserConfig } from './config/types';\nexport { clientDefaultConfig, clientDefaultMeta } from './plugins/@hey-api/client-core/config';\nexport { clientPluginHandler } from './plugins/@hey-api/client-core/plugin';\nexport type { Client } from './plugins/@hey-api/client-core/types';\nexport type { ExpressionTransformer, TypeTransformer } from './plugins/@hey-api/transformers/types';\nexport * from './ts-dsl';\nexport { Logger } from '@hey-api/codegen-core';\nexport type {\n  AnyPluginName,\n  Coercer,\n  CoercerMap,\n  ConfigTable,\n  DefinePlugin,\n  IR,\n  OpenApi,\n  OpenApiMetaObject,\n  OpenApiOperationObject,\n  OpenApiParameterObject,\n  OpenApiRequestBodyObject,\n  OpenApiResponseObject,\n  OpenApiSchemaObject,\n  Plugin,\n  PluginContext,\n  PluginInstance,\n  TableDirectives,\n} from '@hey-api/shared';\nexport {\n  applyNaming,\n  coerce,\n  defaultPaginationKeywords,\n  defineConfig as defineConfigTable,\n  definePluginConfig,\n  OperationPath,\n  OperationStrategy,\n  toCase,\n  utils,\n} from '@hey-api/shared';\n\nexport namespace Plugins {\n  export namespace AngularCommon {\n    export type Types = AngularCommonPlugin;\n  }\n\n  export namespace Arktype {\n    export type Types = ArktypePlugin;\n  }\n\n  export namespace FakerJsFaker {\n    export type Types = FakerJsFakerPlugin;\n    export type Resolvers = Required<FakerJsFakerResolvers>['~resolvers'];\n  }\n\n  export namespace Fastify {\n    export type Types = FastifyPlugin;\n  }\n\n  export namespace HeyApiClientAngular {\n    export type Client = AngularClientImp;\n    export type Types = HeyApiClientAngularPlugin;\n  }\n\n  export namespace HeyApiClientAxios {\n    export type Client = AxiosClientImp;\n    export type Types = HeyApiClientAxiosPlugin;\n  }\n\n  export namespace HeyApiClientFetch {\n    export type Client = FetchClientImp;\n    export type Types = HeyApiClientFetchPlugin;\n  }\n\n  export namespace HeyApiClientKy {\n    export type Client = KyClientImp;\n    export type Types = HeyApiClientKyPlugin;\n  }\n\n  export namespace HeyApiClientNext {\n    export type Client = NextClientImp;\n    export type Types = HeyApiClientNextPlugin;\n  }\n\n  export namespace HeyApiClientNuxt {\n    export type Client = NuxtClientImp;\n    export type Types = HeyApiClientNuxtPlugin;\n  }\n\n  export namespace HeyApiClientOfetch {\n    export type Client = OfetchClientImp;\n    export type Types = HeyApiClientOfetchPlugin;\n  }\n\n  export namespace HeyApiSchemas {\n    export type Types = HeyApiSchemasPlugin;\n  }\n\n  export namespace HeyApiSdk {\n    export type Types = HeyApiSdkPlugin;\n  }\n\n  export namespace HeyApiTransformers {\n    export type Types = HeyApiTransformersPlugin;\n  }\n\n  export namespace HeyApiTypeScript {\n    export type Resolvers = Required<HeyApiTypeScriptResolvers>['~resolvers'];\n    export type Types = HeyApiTypeScriptPlugin;\n  }\n\n  export namespace NestJs {\n    export type Types = NestJsPlugin;\n  }\n\n  export namespace Orpc {\n    export type Types = OrpcPlugin;\n  }\n\n  export namespace PiniaColada {\n    export type Types = PiniaColadaPlugin;\n  }\n\n  export namespace Swr {\n    export type Types = SwrPlugin;\n  }\n\n  export namespace TanStackAngularQuery {\n    export type Types = TanStackAngularQueryPlugin;\n  }\n\n  export namespace TanStackPreactQuery {\n    export type Types = TanStackPreactQueryPlugin;\n  }\n\n  export namespace TanStackReactQuery {\n    export type Types = TanStackReactQueryPlugin;\n  }\n\n  export namespace TanStackSolidQuery {\n    export type Types = TanStackSolidQueryPlugin;\n  }\n\n  export namespace TanStackSvelteQuery {\n    export type Types = TanStackSvelteQueryPlugin;\n  }\n\n  export namespace TanStackVueQuery {\n    export type Types = TanStackVueQueryPlugin;\n  }\n\n  export namespace Valibot {\n    export type Resolvers = Required<ValibotResolvers>['~resolvers'];\n    export type Types = ValibotPlugin;\n  }\n\n  export namespace Zod {\n    export type Resolvers = Required<ZodResolvers>['~resolvers'];\n    export type Types = ZodPlugin;\n  }\n}\n\n// DEPRECATED\n/** @deprecated Use `Plugins.HeyApiClientAngular.Client` instead. */\nexport type AngularClient = AngularClientImp;\n/** @deprecated Use `Plugins.HeyApiClientAxios.Client` instead. */\nexport type AxiosClient = AxiosClientImp;\n/** @deprecated Use `Plugins.HeyApiClientFetch.Client` instead. */\nexport type FetchClient = FetchClientImp;\n/** @deprecated Use `Plugins.HeyApiClientKy.Client` instead. */\nexport type KyClient = KyClientImp;\n/** @deprecated Use `Plugins.HeyApiClientNext.Client` instead. */\nexport type NextClient = NextClientImp;\n/** @deprecated Use `Plugins.HeyApiClientNuxt.Client` instead. */\nexport type NuxtClient = NuxtClientImp;\n/** @deprecated Use `Plugins.HeyApiClientOfetch.Client` instead. */\nexport type OfetchClient = OfetchClientImp;\n"],"mappings":"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"}