···11+---
22+"@hey-api/openapi-ts": patch
33+---
44+55+**plugin(@tanstack/solid-query)**: index mutation options symbol
+5
.changeset/cold-ideas-eat-3.md
···11+---
22+"@hey-api/openapi-ts": patch
33+---
44+55+**plugin(@tanstack/svelte-query)**: index mutation options symbol
+5
.changeset/cold-ideas-eat-4.md
···11+---
22+"@hey-api/openapi-ts": patch
33+---
44+55+**plugin(@tanstack/vue-query)**: index mutation options symbol
+5
.changeset/cold-ideas-eat.md
···11+---
22+"@hey-api/openapi-ts": patch
33+---
44+55+**plugin(@tanstack/react-query)**: index mutation options symbol
-6
.changeset/cold-peas-speak.md
···11----
22-'@hey-api/codegen-core': patch
33-'@hey-api/openapi-ts': patch
44----
55-66-**deps**: move @hey-api/types to dependencies to fix broken types
+9
.changeset/rare-coins-heal.md
···11+---
22+"@hey-api/openapi-ts": patch
33+---
44+55+**plugin(@tanstack/angular-query-experimental)**: index mutation options symbol
66+**plugin(@tanstack/react-query)**: index mutation options symbol
77+**plugin(@tanstack/solid-query)**: index mutation options symbol
88+**plugin(@tanstack/svelte-query)**: index mutation options symbol
99+**plugin(@tanstack/vue-query)**: index mutation options symbol
···242242243243## API
244244245245-You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/types/config.d.ts) interface.
245245+You can view the complete list of options in the [UserConfig](https://github.com/hey-api/openapi-ts/blob/main/packages/openapi-ts/src/config/types.d.ts) interface.
246246247247<!--@include: ../partials/examples.md-->
248248<!--@include: ../partials/sponsors.md-->
+2-8
docs/openapi-ts/get-started.md
···70707171### Versioning
72727373-This package does NOT follow the [semantic versioning](https://semver.org/) strategy. Please pin an exact version so you can safely upgrade when you're ready.
7474-7575-Due to the nature of the package, we use the following versioning strategy.
7676-7777-- `1.x.x`: significant breaking changes, reserved for v1 release
7878-- `x.1.x`: breaking changes
7979-- `x.x.1`: new features, bug fixes, and non-breaking changes
7373+This package is in [initial development](https://semver.org/#spec-item-4). Please pin an exact version so you can safely upgrade when you're ready.
80748181-We publish [migration notes](/openapi-ts/migrating) for every breaking release. You might not be impacted by a breaking release if you don't use the affected plugin(s).
7575+We publish [migration notes](/openapi-ts/migrating) for every breaking release. You might not be impacted by a breaking change if you don't use the affected features.
82768377## Usage
8478
+22
packages/codegen-core/CHANGELOG.md
···11# @hey-api/codegen-core
2233+## 0.5.5
44+55+### Patch Changes
66+77+- **config**: export `loadConfigFile` function (moved from `@hey-api/openapi-ts`) ([#3244](https://github.com/hey-api/openapi-ts/pull/3244)) ([`4f52bce`](https://github.com/hey-api/openapi-ts/commit/4f52bce79d8ac6573472f32a05b7f70913b90605)) by [@mrlubos](https://github.com/mrlubos)
88+99+### Updated Dependencies:
1010+1111+- @hey-api/types@0.1.2
1212+1313+## 0.5.4
1414+1515+### Patch Changes
1616+1717+- **internal**: move logger to codegen-core ([#3235](https://github.com/hey-api/openapi-ts/pull/3235)) ([`88532f0`](https://github.com/hey-api/openapi-ts/commit/88532f01200e1111818e82a4af7bd5cf8cf26e3b)) by [@mrlubos](https://github.com/mrlubos)
1818+1919+## 0.5.3
2020+2121+### Patch Changes
2222+2323+- **deps**: move @hey-api/types to dependencies to fix broken types ([#3232](https://github.com/hey-api/openapi-ts/pull/3232)) ([`edfce48`](https://github.com/hey-api/openapi-ts/commit/edfce4875cb9279d3ab8bfd438ff177e8ba7845c)) by [@mrlubos](https://github.com/mrlubos)
2424+325## 0.5.2
426527### Patch Changes
···11+/**
22+ * Detect if the current session is interactive based on TTY status and environment variables.
33+ * This is used as a fallback when the user doesn't explicitly set the interactive option.
44+ * @internal
55+ */
66+export function detectInteractiveSession(): boolean {
77+ return Boolean(
88+ process.stdin.isTTY &&
99+ process.stdout.isTTY &&
1010+ !process.env.CI &&
1111+ !process.env.NO_INTERACTIVE &&
1212+ !process.env.NO_INTERACTION,
1313+ );
1414+}
···11# @hey-api/openapi-ts
2233+## 0.90.9
44+55+### Patch Changes
66+77+- **ts-dsl**: allow removing object properties by passing `null` ([#3247](https://github.com/hey-api/openapi-ts/pull/3247)) ([`7be1561`](https://github.com/hey-api/openapi-ts/commit/7be1561a862d2bb217703003d5e6cbc4a6a09586)) by [@mrlubos](https://github.com/mrlubos)
88+99+- **cli**: clean up interface ([#3244](https://github.com/hey-api/openapi-ts/pull/3244)) ([`4f52bce`](https://github.com/hey-api/openapi-ts/commit/4f52bce79d8ac6573472f32a05b7f70913b90605)) by [@mrlubos](https://github.com/mrlubos)
1010+1111+- **ts-dsl**: override object properties when called multiple times with the same name ([#3247](https://github.com/hey-api/openapi-ts/pull/3247)) ([`7be1561`](https://github.com/hey-api/openapi-ts/commit/7be1561a862d2bb217703003d5e6cbc4a6a09586)) by [@mrlubos](https://github.com/mrlubos)
1212+1313+- **config**: move `loadConfigFile` function to `@hey-api/codegen-core` ([#3244](https://github.com/hey-api/openapi-ts/pull/3244)) ([`4f52bce`](https://github.com/hey-api/openapi-ts/commit/4f52bce79d8ac6573472f32a05b7f70913b90605)) by [@mrlubos](https://github.com/mrlubos)
1414+1515+### Updated Dependencies:
1616+1717+- @hey-api/types@0.1.2
1818+- @hey-api/codegen-core@0.5.5
1919+2020+## 0.90.8
2121+2222+### Patch Changes
2323+2424+- **internal**: move logger to codegen-core ([#3235](https://github.com/hey-api/openapi-ts/pull/3235)) ([`88532f0`](https://github.com/hey-api/openapi-ts/commit/88532f01200e1111818e82a4af7bd5cf8cf26e3b)) by [@mrlubos](https://github.com/mrlubos)
2525+2626+- **cli**: do not show ascii logo on generate command ([#3238](https://github.com/hey-api/openapi-ts/pull/3238)) ([`72e17f3`](https://github.com/hey-api/openapi-ts/commit/72e17f39d6e2d00eff24671e7f2b88801443489a)) by [@mrlubos](https://github.com/mrlubos)
2727+2828+### Updated Dependencies:
2929+3030+- @hey-api/codegen-core@0.5.4
3131+3232+## 0.90.7
3333+3434+### Patch Changes
3535+3636+- **deps**: move @hey-api/types to dependencies to fix broken types ([#3232](https://github.com/hey-api/openapi-ts/pull/3232)) ([`edfce48`](https://github.com/hey-api/openapi-ts/commit/edfce4875cb9279d3ab8bfd438ff177e8ba7845c)) by [@mrlubos](https://github.com/mrlubos)
3737+3838+### Updated Dependencies:
3939+4040+- @hey-api/codegen-core@0.5.3
4141+342## 0.90.6
443544### Patch Changes
+2-8
packages/openapi-ts/README.md
···214214215215### Versioning
216216217217-This package does NOT follow the [semantic versioning](https://semver.org/) strategy. Please pin an exact version so you can safely upgrade when you're ready.
218218-219219-Due to the nature of the package, we use the following versioning strategy.
220220-221221-- `1.x.x`: significant breaking changes, reserved for v1 release
222222-- `x.1.x`: breaking changes
223223-- `x.x.1`: new features, bug fixes, and non-breaking changes
217217+This package is in [initial development](https://semver.org/#spec-item-4). Please pin an exact version so you can safely upgrade when you're ready.
224218225225-We publish [migration notes](https://heyapi.dev/openapi-ts/migrating) for every breaking release. You might not be impacted by a breaking release if you don't use the affected plugin(s).
219219+We publish [migration notes](https://heyapi.dev/openapi-ts/migrating) for every breaking release. You might not be impacted by a breaking change if you don't use the affected features.
226220227221## Usage
228222
···22import ts from 'typescript';
3344import { findTsConfigPath, loadTsConfig } from '~/generate/tsConfig';
55-import type { Config, UserConfig } from '~/types/config';
6566+import type { Config, UserConfig } from '../types';
77import { valueToObject } from '../utils/config';
88import type { PostProcessor, UserPostProcessor } from './postprocess';
99import { postProcessors } from './postprocess';
+1-2
packages/openapi-ts/src/config/parser.ts
···11-import type { Config, UserConfig } from '~/types/config';
22-11+import type { Config, UserConfig } from './types';
32import { valueToObject } from './utils/config';
4354export const defaultPaginationKeywords = [
+1-1
packages/openapi-ts/src/config/plugins.ts
···44 PluginContext,
55 PluginNames,
66} from '~/plugins/types';
77-import type { Config, UserConfig } from '~/types/config';
8788+import type { Config, UserConfig } from './types';
99import { valueToObject } from './utils/config';
1010import { packageFactory } from './utils/package';
1111
···11+import { ConfigError } from '~/error';
22+33+import type { Job } from './expand';
44+import { getInput } from './input';
55+import { getOutput } from './output';
66+77+export interface ValidationResult {
88+ errors: Array<ConfigError>;
99+ job: Job;
1010+}
1111+1212+export function validateJobs(
1313+ jobs: ReadonlyArray<Job>,
1414+): ReadonlyArray<ValidationResult> {
1515+ return jobs.map((job) => {
1616+ const errors: Array<ConfigError> = [];
1717+ const { config } = job;
1818+1919+ const inputs = getInput(config);
2020+ if (!inputs.length) {
2121+ errors.push(
2222+ new ConfigError(
2323+ 'missing input - which OpenAPI specification should we use to generate your output?',
2424+ ),
2525+ );
2626+ }
2727+2828+ const output = getOutput(config);
2929+ if (!output.path) {
3030+ errors.push(
3131+ new ConfigError(
3232+ 'missing output - where should we generate your output?',
3333+ ),
3434+ );
3535+ }
3636+3737+ return { errors, job };
3838+ });
3939+}
+2-2
packages/openapi-ts/src/createClient.ts
···11import path from 'node:path';
2233+import type { Logger } from '@hey-api/codegen-core';
34import { $RefParser } from '@hey-api/json-schema-ref-parser';
45import colors from 'ansi-colors';
5667import { postprocessOutput } from '~/config/output';
88+import type { Config } from '~/config/types';
79import { generateOutput } from '~/generate/output';
810import { getSpec } from '~/getSpec';
911import type { Context } from '~/ir/context';
1012import { parseOpenApiSpec } from '~/openApi';
1113import { buildGraph } from '~/openApi/shared/utils/graph';
1214import { patchOpenApiSpec } from '~/openApi/shared/utils/patch';
1313-import type { Config } from '~/types/config';
1415import type { Input } from '~/types/input';
1516import type { WatchValues } from '~/types/types';
1616-import type { Logger } from '~/utils/logger';
17171818export const compileInputPath = (input: Omit<Input, 'watch'>) => {
1919 const result: Pick<
···4455import type { IProject, ProjectRenderMeta } from '@hey-api/codegen-core';
6677+import type { Config } from '~/config/types';
78import type { DefinePlugin } from '~/plugins';
89import type { Client } from '~/plugins/@hey-api/client-core/types';
910import { getClientPlugin } from '~/plugins/@hey-api/client-core/utils';
1010-import type { Config } from '~/types/config';
11111212import { ensureDirSync } from './utils';
1313
+8-6
packages/openapi-ts/src/index.ts
···7272// @ts-expect-error
7373import colorSupport from 'color-support';
74747575-import type { UserConfig } from '~/types/config';
7575+import type { UserConfig } from '~/config/types';
76767777colors.enabled = colorSupport().hasBasic;
78787979export { createClient } from '~/generate';
80808181/**
8282- * Type helper for openapi-ts.config.ts, returns {@link MaybeArray<UserConfig>} object(s)
8282+ * Type helper for configuration object, returns {@link MaybeArray<UserConfig>} object(s)
8383 */
8484-export const defineConfig = async <T extends MaybeArray<UserConfig>>(
8484+export async function defineConfig<T extends MaybeArray<UserConfig>>(
8585 config: LazyOrAsync<T>,
8686-): Promise<T> => (typeof config === 'function' ? await config() : config);
8686+): Promise<T> {
8787+ return typeof config === 'function' ? await config() : config;
8888+}
87899090+export { Logger } from '@hey-api/codegen-core';
8891export { defaultPaginationKeywords } from '~/config/parser';
8992export { defaultPlugins } from '~/config/plugins';
9393+export type { UserConfig } from '~/config/types';
9094export type { IR } from '~/ir/types';
9195export { OperationPath, OperationStrategy } from '~/openApi/shared/locations';
9296export type {
···115119export type { TypeTransformer } from '~/plugins/@hey-api/transformers/types';
116120export { definePluginConfig } from '~/plugins/shared/utils/config';
117121export * from '~/ts-dsl';
118118-export type { UserConfig } from '~/types/config';
119122export { utils } from '~/utils/exports';
120120-export { Logger } from '~/utils/logger';
+1-1
packages/openapi-ts/src/internal.ts
···11-export { initConfigs } from './config/init';
11+export { resolveJobs as initConfigs } from './config/init';
22export { getSpec } from './getSpec';
33export { parseOpenApiSpec } from './openApi';
···11import { describe, expect, it, vi } from 'vitest';
2233import { defaultPaginationKeywords } from '~/config/parser';
44-import type { Config } from '~/types/config';
44+import type { Config } from '~/config/types';
5566import type { Context } from '../context';
77import { operationPagination } from '../operation';
+2-2
packages/openapi-ts/src/ir/context.ts
···11+import type { Logger } from '@hey-api/codegen-core';
12import { Project } from '@hey-api/codegen-core';
2344+import type { Config } from '~/config/types';
35import type { Package } from '~/config/utils/package';
46import { packageFactory } from '~/config/utils/package';
57import type { Graph } from '~/graph';
···79import { PluginInstance } from '~/plugins/shared/utils/instance';
810import type { PluginNames } from '~/plugins/types';
911import { TypeScriptRenderer } from '~/ts-dsl';
1010-import type { Config } from '~/types/config';
1111-import type { Logger } from '~/utils/logger';
1212import { applyNaming } from '~/utils/naming';
1313import { resolveRef } from '~/utils/ref';
1414
+1-1
packages/openapi-ts/src/ir/pagination.ts
···11-import type { Config } from '~/types/config';
11+import type { Config } from '~/config/types';
2233import type { IR } from './types';
44
···11+import type { Logger } from '@hey-api/codegen-core';
22+13import { createOperationKey } from '~/ir/operation';
24import { addNamespace, removeNamespace } from '~/openApi/shared/utils/filter';
35import { httpMethods } from '~/openApi/shared/utils/operation';
44-import type { Logger } from '~/utils/logger';
5667import type {
78 OpenApiV2_0_X,
···11+import type { Logger } from '@hey-api/codegen-core';
22+13import { createOperationKey } from '~/ir/operation';
24import { httpMethods } from '~/openApi/shared/utils/operation';
35import type {
46 ValidatorIssue,
57 ValidatorResult,
68} from '~/openApi/shared/utils/validator';
77-import type { Logger } from '~/utils/logger';
89910import type { OpenApiV2_0_X, PathItemObject, PathsObject } from '../types/spec';
1011
···11+import type { Logger } from '@hey-api/codegen-core';
22+13import { createOperationKey } from '~/ir/operation';
24import { addNamespace, removeNamespace } from '~/openApi/shared/utils/filter';
35import { httpMethods } from '~/openApi/shared/utils/operation';
44-import type { Logger } from '~/utils/logger';
5667import type { OpenApiV3_0_X, PathItemObject, PathsObject } from '../types/spec';
78
···11+import type { Logger } from '@hey-api/codegen-core';
22+13import { createOperationKey } from '~/ir/operation';
24import { httpMethods } from '~/openApi/shared/utils/operation';
35import type {
46 ValidatorIssue,
57 ValidatorResult,
68} from '~/openApi/shared/utils/validator';
77-import type { Logger } from '~/utils/logger';
89910import type { OpenApiV3_0_X, PathItemObject, PathsObject } from '../types/spec';
1011
···11+import type { Logger } from '@hey-api/codegen-core';
22+13import { createOperationKey } from '~/ir/operation';
24import { addNamespace, removeNamespace } from '~/openApi/shared/utils/filter';
35import { httpMethods } from '~/openApi/shared/utils/operation';
44-import type { Logger } from '~/utils/logger';
5667import type { OpenApiV3_1_X, PathItemObject, PathsObject } from '../types/spec';
78
···11+import type { Logger } from '@hey-api/codegen-core';
22+13import { createOperationKey } from '~/ir/operation';
24import { httpMethods } from '~/openApi/shared/utils/operation';
35import type {
46 ValidatorIssue,
57 ValidatorResult,
68} from '~/openApi/shared/utils/validator';
77-import type { Logger } from '~/utils/logger';
89910import type { OpenApiV3_1_X, PathItemObject, PathsObject } from '../types/spec';
1011
···11import { afterEach, describe, expect, it, vi } from 'vitest';
2233+import type { Config } from '~/config/types';
34import type { OpenApiV3_0_X } from '~/openApi/3.0.x';
45import { parseV3_0_X } from '~/openApi/3.0.x';
56import type { OpenApiV3_1_X } from '~/openApi/3.1.x';
67import { parseV3_1_X } from '~/openApi/3.1.x';
7888-import type { Config } from '../../types/config';
99import { parseOpenApiSpec } from '..';
10101111vi.mock('../3.0.x', () => ({
+3-2
packages/openapi-ts/src/openApi/index.ts
···11+import type { Logger } from '@hey-api/codegen-core';
22+33+import type { Config } from '~/config/types';
14import { satisfies } from '~/config/utils/package';
25import { Context } from '~/ir/context';
36import { parseV2_0_X } from '~/openApi/2.0.x';
47import { parseV3_0_X } from '~/openApi/3.0.x';
58import { parseV3_1_X } from '~/openApi/3.1.x';
69import type { OpenApi } from '~/openApi/types';
77-import type { Config } from '~/types/config';
88-import type { Logger } from '~/utils/logger';
9101011/**
1112 * @internal
···11+import type { Logger } from '@hey-api/codegen-core';
22+13import type { Graph } from '~/graph';
24import { createOperationKey } from '~/ir/operation';
33-import type { Logger } from '~/utils/logger';
45import { jsonPointerToPath } from '~/utils/ref';
5667import { addNamespace, stringToNamespace } from '../utils/filter';
···11+import type { Config } from '~/config/types';
12import { applyNaming } from '~/utils/naming';
23import { jsonPointerToPath } from '~/utils/ref';
3444-import type { Config } from '../../../types/config';
55import { deepClone } from '../utils/schema';
66import { childSchemaRelationships } from '../utils/schemaChildRelationships';
77import { getSchemasObject } from '../utils/transforms';
···11+import type { Logger } from '@hey-api/codegen-core';
22+33+import type { Config } from '~/config/types';
14import type { Graph } from '~/graph';
22-import type { Logger } from '~/utils/logger';
35import { applyNaming } from '~/utils/naming';
46import { jsonPointerToPath } from '~/utils/ref';
5766-import type { Config } from '../../../types/config';
78import deepEqual from '../utils/deepEqual';
89import { buildGraph, type Scope } from '../utils/graph';
910import { deepClone } from '../utils/schema';
···11+import type { Logger } from '@hey-api/codegen-core';
22+33+import type { Config } from '~/config/types';
14import { createOperationKey } from '~/ir/operation';
25import type { PathItemObject, PathsObject } from '~/openApi/3.1.x/types/spec';
36import type { OpenApi } from '~/openApi/types';
44-import type { Logger } from '~/utils/logger';
5766-import type { Config } from '../../../types/config';
78import type { ResourceMetadata } from '../graph/meta';
89import { httpMethods } from './operation';
910
···11+import type { Logger } from '@hey-api/codegen-core';
22+13import type { Graph, NodeInfo } from '~/graph';
22-import type { Logger } from '~/utils/logger';
34import { normalizeJsonPointer, pathToJsonPointer } from '~/utils/ref';
4556import { childSchemaRelationships } from './schemaChildRelationships';
···11import type { MaybeArray } from '@hey-api/types';
2233-import type { Output, UserOutput } from '~/config/output';
43import type { Plugin } from '~/plugins';
54import type { PluginConfigMap } from '~/plugins/config';
65import type { PluginNames } from '~/plugins/types';
66+import type { Input, UserInput, Watch } from '~/types/input';
77+import type { Logs } from '~/types/logs';
88+import type { Parser, UserParser } from '~/types/parser';
7988-import type { Input, UserInput, Watch } from './input';
99-import type { Logs } from './logs';
1010-import type { Parser, UserParser } from './parser';
1010+import type { Output, UserOutput } from './output';
11111212-export interface UserConfig {
1212+export type UserConfig = {
1313 /**
1414 * Path to the config file. Set this value if you don't use the default
1515 * config file name, or it's not located in the project root.
···8181 * @deprecated use `input.watch` instead
8282 */
8383 watch?: boolean | number | Watch;
8484-}
8484+};
85858686export type Config = Omit<
8787 Required<UserConfig>,