@kubb/core 5.0.0-beta.4 → 5.0.0-beta.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +15 -148
  2. package/dist/diagnostics-DhfW8YpT.d.ts +2963 -0
  3. package/dist/index.cjs +775 -1193
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.ts +165 -171
  6. package/dist/index.js +760 -1188
  7. package/dist/index.js.map +1 -1
  8. package/dist/memoryStorage-DTv1Kub1.js +2852 -0
  9. package/dist/memoryStorage-DTv1Kub1.js.map +1 -0
  10. package/dist/memoryStorage-Dkxnid2K.cjs +2985 -0
  11. package/dist/memoryStorage-Dkxnid2K.cjs.map +1 -0
  12. package/dist/mocks.cjs +80 -18
  13. package/dist/mocks.cjs.map +1 -1
  14. package/dist/mocks.d.ts +35 -8
  15. package/dist/mocks.js +81 -21
  16. package/dist/mocks.js.map +1 -1
  17. package/package.json +8 -19
  18. package/src/FileManager.ts +85 -63
  19. package/src/FileProcessor.ts +171 -43
  20. package/src/HookRegistry.ts +45 -0
  21. package/src/KubbDriver.ts +897 -0
  22. package/src/Telemetry.ts +278 -0
  23. package/src/Transform.ts +58 -0
  24. package/src/constants.ts +111 -19
  25. package/src/createAdapter.ts +113 -17
  26. package/src/createKubb.ts +921 -493
  27. package/src/createRenderer.ts +58 -27
  28. package/src/createReporter.ts +147 -0
  29. package/src/createStorage.ts +36 -23
  30. package/src/defineGenerator.ts +129 -17
  31. package/src/defineLogger.ts +78 -7
  32. package/src/defineMiddleware.ts +19 -17
  33. package/src/defineParser.ts +30 -13
  34. package/src/definePlugin.ts +320 -17
  35. package/src/defineResolver.ts +381 -179
  36. package/src/diagnostics.ts +660 -0
  37. package/src/index.ts +8 -6
  38. package/src/mocks.ts +92 -19
  39. package/src/reporters/cliReporter.ts +90 -0
  40. package/src/reporters/fileReporter.ts +103 -0
  41. package/src/reporters/jsonReporter.ts +20 -0
  42. package/src/reporters/report.ts +85 -0
  43. package/src/storages/fsStorage.ts +13 -37
  44. package/src/types.ts +59 -1297
  45. package/dist/PluginDriver-Ds-Us-e4.cjs +0 -1036
  46. package/dist/PluginDriver-Ds-Us-e4.cjs.map +0 -1
  47. package/dist/PluginDriver-Wi34Pegx.js +0 -945
  48. package/dist/PluginDriver-Wi34Pegx.js.map +0 -1
  49. package/dist/types-Cd0jhNmx.d.ts +0 -2153
  50. package/src/Kubb.ts +0 -300
  51. package/src/PluginDriver.ts +0 -424
  52. package/src/devtools.ts +0 -59
  53. package/src/renderNode.ts +0 -35
  54. package/src/utils/diagnostics.ts +0 -18
  55. package/src/utils/isInputPath.ts +0 -10
  56. package/src/utils/packageJSON.ts +0 -99
  57. /package/dist/{chunk--u3MIqq1.js → chunk-C0LytTxp.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import { t as __name } from "./chunk--u3MIqq1.js";
2
- import { $ as defineParser, A as KubbPluginStartContext, B as Override, C as KubbGenerationSummaryContext, D as KubbLifecycleStartContext, E as KubbInfoContext, F as Logger, G as ResolveOptionsContext, H as PossibleConfig, I as LoggerContext, J as ResolverFileParams, K as Resolver, L as LoggerOptions, M as KubbSuccessContext, N as KubbVersionNewContext, O as KubbPluginEndContext, P as KubbWarnContext, Q as Parser, R as NormalizedPlugin, S as KubbGenerationStartContext, T as KubbHookStartContext, U as ResolveBannerContext, V as PluginFactoryOptions, W as ResolveNameParams, X as UserConfig, Y as ResolverPathParams, Z as UserLogger, _ as KubbErrorContext, _t as logLevel, a as Config, at as createKubb, b as KubbFilesProcessingStartContext, c as GeneratorContext, ct as Plugin, d as InputData, dt as defineGenerator, et as Middleware, f as InputPath, ft as Storage, g as KubbDebugContext, gt as createRenderer, h as KubbConfigEndContext, ht as RendererFactory, i as CLIOptions, it as BuildOutput, j as KubbPluginsEndContext, k as KubbPluginSetupContext, l as Group, lt as definePlugin, m as KubbBuildStartContext, mt as Renderer, n as AdapterFactoryOptions, nt as Kubb, o as DevtoolsOptions, ot as PluginDriver, p as KubbBuildEndContext, pt as createStorage, q as ResolverContext, r as AdapterSource, rt as KubbHooks, s as Exclude, st as FileManager, t as Adapter, tt as defineMiddleware, u as Include, ut as Generator, v as KubbFileProcessingUpdateContext, vt as AsyncEventEmitter, w as KubbHookEndContext, x as KubbGenerationEndContext, y as KubbFilesProcessingEndContext, z as Output } from "./types-Cd0jhNmx.js";
1
+ import { t as __name } from "./chunk-C0LytTxp.js";
2
+ import { $ as Override, A as KubbHookEndContext, At as logLevel, B as createKubb, Bt as AsyncEventEmitter, C as KubbErrorContext, Ct as createReporter, D as KubbFilesProcessingUpdateContext, Dt as LoggerOptions, E as KubbFilesProcessingStartContext, Et as LoggerContext, F as KubbPluginsEndContext, Ft as createStorage, G as Exclude, H as GeneratorContext, I as KubbSuccessContext, It as Adapter, J as KubbPluginEndContext, K as Group, L as KubbWarnContext, Lt as AdapterFactoryOptions, M as KubbHooks, Mt as RendererFactory, N as KubbInfoContext, Nt as createRenderer, O as KubbGenerationEndContext, Ot as UserLogger, P as KubbLifecycleStartContext, Pt as Storage, Q as Output, R as PossibleConfig, Rt as AdapterSource, S as KubbDiagnosticContext, St as UserReporter, T as KubbFilesProcessingEndContext, Tt as Logger, U as defineGenerator, V as Generator, W as KubbDriver, X as KubbPluginStartContext, Y as KubbPluginSetupContext, Z as NormalizedPlugin, _ as InputPath, _t as defineParser, a as DiagnosticLocation, at as ResolveBannerFile, b as KubbBuildStartContext, bt as ReporterContext, c as PerformanceDiagnostic, ct as ResolverContext, d as SerializedDiagnostic, dt as defineResolver, et as Plugin, f as UpdateDiagnostic, ft as Middleware, g as InputData, gt as Parser, h as Config, ht as ParsedFile, i as DiagnosticKind, it as ResolveBannerContext, j as KubbHookStartContext, jt as Renderer, k as KubbGenerationStartContext, kt as defineLogger, l as ProblemCode, lt as ResolverFileParams, m as CLIOptions, mt as FileProcessorHooks, n as DiagnosticByCode, nt as definePlugin, o as DiagnosticSeverity, ot as ResolveOptionsContext, p as BuildOutput, pt as defineMiddleware, q as Include, r as DiagnosticDoc, rt as BannerMeta, s as Diagnostics, st as Resolver, t as Diagnostic, tt as PluginFactoryOptions, u as ProblemDiagnostic, ut as ResolverPathParams, v as Kubb, vt as GenerationResult, w as KubbFileProcessingUpdate, wt as selectReporters, x as KubbConfigEndContext, xt as ReporterName, y as KubbBuildEndContext, yt as Reporter, z as UserConfig, zt as createAdapter } from "./diagnostics-DhfW8YpT.js";
3
3
  import * as ast from "@kubb/ast";
4
- import { FileNode, InputNode, Node } from "@kubb/ast";
5
4
 
6
5
  //#region ../../internals/utils/src/urlPath.d.ts
7
6
  type URLObject = {
@@ -114,7 +113,7 @@ declare class URLPath {
114
113
  prefix,
115
114
  replacer
116
115
  }?: {
117
- prefix?: string;
116
+ prefix?: string | null;
118
117
  replacer?: (pathParam: string) => string;
119
118
  }): string;
120
119
  /**
@@ -139,179 +138,185 @@ declare class URLPath {
139
138
  toURLPath(): string;
140
139
  }
141
140
  //#endregion
142
- //#region src/createAdapter.d.ts
143
- type AdapterBuilder<T extends AdapterFactoryOptions> = (options: T['options']) => Adapter<T>;
141
+ //#region src/reporters/cliReporter.d.ts
144
142
  /**
145
- * Factory for implementing custom adapters that translate non-OpenAPI specs into Kubb's AST.
146
- *
147
- * Use this to support GraphQL schemas, gRPC definitions, AsyncAPI, or custom domain-specific languages.
148
- * Built-in adapters include `@kubb/adapter-oas` for OpenAPI and Swagger documents.
149
- *
150
- * @note Adapters must parse their input format to Kubb's `InputNode` structure.
151
- *
152
- * @example
153
- * ```ts
154
- * export const myAdapter = createAdapter<MyAdapter>((options) => {
155
- * return {
156
- * name: 'my-adapter',
157
- * options,
158
- * async parse(source) {
159
- * // Transform source format to InputNode
160
- * return { ... }
161
- * },
162
- * }
163
- * })
164
- *
165
- * // Instantiate:
166
- * const adapter = myAdapter({ validate: true })
167
- * ```
143
+ * The default `cli` reporter. Renders the {@link Report} for each config as it finishes, independent
144
+ * of the live logger view. Suppressed at `silent`; the `verbose` level adds the per-plugin timings.
168
145
  */
169
- declare function createAdapter<T extends AdapterFactoryOptions = AdapterFactoryOptions>(build: AdapterBuilder<T>): (options?: T['options']) => Adapter<T>;
146
+ declare const cliReporter: Reporter;
170
147
  //#endregion
171
- //#region src/defineLogger.d.ts
148
+ //#region src/reporters/fileReporter.d.ts
172
149
  /**
173
- * Wraps a logger definition into a typed {@link Logger}.
150
+ * The `file` reporter. Writes a config's {@link Report} to `.kubb/kubb-<name>-<timestamp>.log` as a
151
+ * plain-text document: a `# <name> — <timestamp>` header, a `## Summary` with the same counts the
152
+ * cli and json reporters expose, a `## Problems` section in the miette block format, and a
153
+ * `## Timings` section. Selected with `--reporter file` (or `reporters: ['file']`), replacing the
154
+ * old `--debug` flag.
174
155
  *
175
- * @example
176
- * ```ts
177
- * export const myLogger = defineLogger({
178
- * name: 'my-logger',
179
- * install(context, options) {
180
- * context.on('kubb:info', (message) => console.log('ℹ', message))
181
- * context.on('kubb:error', (error) => console.error('✗', error.message))
182
- * },
183
- * })
184
- * ```
156
+ * @note Unlike the streaming logger it replaced, it captures the collected diagnostics once a
157
+ * config finishes, not the live `kubb:info`/`kubb:plugin` event stream. Color is stripped so the
158
+ * file stays plain text even when the run is attached to a TTY.
185
159
  */
186
- declare function defineLogger<Options extends LoggerOptions = LoggerOptions>(logger: UserLogger<Options>): Logger<Options>;
160
+ declare const fileReporter: Reporter;
187
161
  //#endregion
188
- //#region src/defineResolver.d.ts
162
+ //#region src/reporters/jsonReporter.d.ts
189
163
  /**
190
- * Builder type for the plugin-specific resolver fields.
191
- *
192
- * `default`, `resolveOptions`, `resolvePath`, `resolveFile`, `resolveBanner`, and `resolveFooter`
193
- * are optional built-in fallbacks are injected when omitted.
194
- *
195
- * The builder receives `ctx` — a reference to the fully assembled resolver — so methods can
196
- * call sibling resolver methods without using `this`. Because `ctx` is captured by the closure
197
- * and the resolver is populated after the builder runs, `ctx` correctly reflects any overrides
198
- * that were applied by the builder itself.
164
+ * The `json` reporter. `report` returns one config's {@link Report}, which {@link createReporter}
165
+ * buffers, and `drain` writes them as a single pretty-printed JSON array on `kubb:lifecycle:end`.
166
+ * Buffering keeps a multi-config run one valid JSON document on stdout instead of concatenated
167
+ * objects that would break `jq .`. The terminal reporter is suppressed while `json` is active so
168
+ * stdout stays valid JSON.
199
169
  */
200
- type ResolverBuilder<T extends PluginFactoryOptions> = (ctx: T['resolver']) => Omit<T['resolver'], 'default' | 'resolveOptions' | 'resolvePath' | 'resolveFile' | 'resolveBanner' | 'resolveFooter' | 'name' | 'pluginName'> & Partial<Pick<T['resolver'], 'default' | 'resolveOptions' | 'resolvePath' | 'resolveFile' | 'resolveBanner' | 'resolveFooter'>> & {
170
+ declare const jsonReporter: Reporter;
171
+ //#endregion
172
+ //#region src/Telemetry.d.ts
173
+ type OtlpStringValue = {
174
+ stringValue: string;
175
+ };
176
+ type OtlpBoolValue = {
177
+ boolValue: boolean;
178
+ };
179
+ type OtlpIntValue = {
180
+ intValue: number;
181
+ };
182
+ type OtlpDoubleValue = {
183
+ doubleValue: number;
184
+ };
185
+ type OtlpBytesValue = {
186
+ bytesValue: string;
187
+ };
188
+ type OtlpArrayValue = {
189
+ arrayValue: {
190
+ values: Array<OtlpAnyValue>;
191
+ };
192
+ };
193
+ type OtlpKvListValue = {
194
+ kvlistValue: {
195
+ values: Array<OtlpKeyValue>;
196
+ };
197
+ };
198
+ type OtlpAnyValue = OtlpStringValue | OtlpBoolValue | OtlpIntValue | OtlpDoubleValue | OtlpBytesValue | OtlpArrayValue | OtlpKvListValue;
199
+ type OtlpKeyValue = {
200
+ key: string;
201
+ value: OtlpAnyValue;
202
+ };
203
+ type OtlpResource = {
204
+ attributes: Array<OtlpKeyValue>;
205
+ droppedAttributesCount?: number;
206
+ };
207
+ type OtlpInstrumentationScope = {
201
208
  name: string;
202
- pluginName: T['name'];
209
+ version?: string;
210
+ attributes?: Array<OtlpKeyValue>;
211
+ droppedAttributesCount?: number;
212
+ };
213
+ /** https://github.com/open-telemetry/opentelemetry-proto/blob/main/opentelemetry/proto/trace/v1/trace.proto#L103 */
214
+ type OtlpSpanKind = 0 | 1 | 2 | 3 | 4 | 5;
215
+ /** 0 = STATUS_CODE_UNSET, 1 = STATUS_CODE_OK, 2 = STATUS_CODE_ERROR */
216
+ type OtlpStatusCode = 0 | 1 | 2;
217
+ type OtlpStatus = {
218
+ code: OtlpStatusCode;
219
+ message?: string;
220
+ };
221
+ type OtlpSpan = {
222
+ traceId: string;
223
+ spanId: string;
224
+ traceState?: string;
225
+ parentSpanId?: string;
226
+ name: string;
227
+ kind: OtlpSpanKind;
228
+ startTimeUnixNano: string;
229
+ endTimeUnixNano: string;
230
+ attributes?: Array<OtlpKeyValue>;
231
+ droppedAttributesCount?: number;
232
+ events?: Array<OtlpSpanEvent>;
233
+ droppedEventsCount?: number;
234
+ links?: Array<OtlpSpanLink>;
235
+ droppedLinksCount?: number;
236
+ status?: OtlpStatus;
237
+ };
238
+ type OtlpSpanEvent = {
239
+ timeUnixNano: string;
240
+ name: string;
241
+ attributes?: Array<OtlpKeyValue>;
242
+ droppedAttributesCount?: number;
243
+ };
244
+ type OtlpSpanLink = {
245
+ traceId: string;
246
+ spanId: string;
247
+ traceState?: string;
248
+ attributes?: Array<OtlpKeyValue>;
249
+ droppedAttributesCount?: number;
250
+ };
251
+ type OtlpScopeSpans = {
252
+ scope: OtlpInstrumentationScope;
253
+ spans: Array<OtlpSpan>;
254
+ schemaUrl?: string;
255
+ };
256
+ type OtlpResourceSpans = {
257
+ resource: OtlpResource;
258
+ scopeSpans: Array<OtlpScopeSpans>;
259
+ schemaUrl?: string;
260
+ };
261
+ /** Root payload sent to POST /v1/traces */
262
+ type OtlpExportTraceServiceRequest = {
263
+ resourceSpans: Array<OtlpResourceSpans>;
203
264
  };
204
265
  /**
205
- * Default option resolver applies include/exclude filters and merges matching override options.
206
- *
207
- * Returns `null` when the node is filtered out by an `exclude` rule or not matched by any `include` rule.
208
- *
209
- * @example Include/exclude filtering
210
- * ```ts
211
- * const options = defaultResolveOptions(operationNode, {
212
- * options: { output: 'types' },
213
- * exclude: [{ type: 'tag', pattern: 'internal' }],
214
- * })
215
- * // → null when node has tag 'internal'
216
- * ```
217
- *
218
- * @example Override merging
219
- * ```ts
220
- * const options = defaultResolveOptions(operationNode, {
221
- * options: { enumType: 'asConst' },
222
- * override: [{ type: 'operationId', pattern: 'listPets', options: { enumType: 'enum' } }],
223
- * })
224
- * // → { enumType: 'enum' } when operationId matches
225
- * ```
226
- */
227
- /**
228
- * Defines a resolver for a plugin, injecting built-in defaults for name casing,
229
- * include/exclude/override filtering, path resolution, and file construction.
230
- *
231
- * All four defaults can be overridden by providing them in the builder function:
232
- * - `default` — name casing strategy (camelCase / PascalCase)
233
- * - `resolveOptions` — include/exclude/override filtering
234
- * - `resolvePath` — output path computation
235
- * - `resolveFile` — full `FileNode` construction
236
- *
237
- * The builder receives `ctx` — a reference to the assembled resolver — so methods can
238
- * call sibling resolver methods using `ctx` instead of `this`.
239
- *
240
- * @example Basic resolver with naming helpers
241
- * ```ts
242
- * export const resolver = defineResolver<PluginTs>((ctx) => ({
243
- * name: 'default',
244
- * resolveName(node) {
245
- * return ctx.default(node.name, 'function')
246
- * },
247
- * resolveTypedName(node) {
248
- * return ctx.default(node.name, 'type')
249
- * },
250
- * }))
251
- * ```
252
- *
253
- * @example Override resolvePath for a custom output structure
254
- * ```ts
255
- * export const resolver = defineResolver<PluginTs>((_ctx) => ({
256
- * name: 'custom',
257
- * resolvePath({ baseName }, { root, output }) {
258
- * return path.resolve(root, output.path, 'generated', baseName)
259
- * },
260
- * }))
261
- * ```
262
- *
263
- * @example Use ctx.default inside a helper
264
- * ```ts
265
- * export const resolver = defineResolver<PluginTs>((ctx) => ({
266
- * name: 'default',
267
- * resolveParamName(node, param) {
268
- * return ctx.default(`${node.operationId} ${param.in} ${param.name}`, 'type')
269
- * },
270
- * }))
271
- * ```
266
+ * Anonymous plugin name and options snapshot sent with each telemetry event.
272
267
  */
273
- declare function defineResolver<T extends PluginFactoryOptions>(build: ResolverBuilder<T>): T['resolver'];
274
- //#endregion
275
- //#region src/FileProcessor.d.ts
276
- type ParseOptions = {
277
- parsers?: Map<FileNode['extname'], Parser>;
278
- extension?: Record<FileNode['extname'], FileNode['extname'] | ''>;
279
- };
280
- type RunOptions = ParseOptions & {
268
+ type TelemetryPlugin = {
281
269
  /**
282
- * @default 'sequential'
270
+ * Plugin name as registered in the Kubb config, e.g. `'@kubb/plugin-ts'`.
283
271
  */
284
- mode?: 'sequential' | 'parallel';
285
- onStart?: (files: Array<FileNode>) => Promise<void> | void;
286
- onEnd?: (files: Array<FileNode>) => Promise<void> | void;
287
- onUpdate?: (params: {
288
- file: FileNode;
289
- source?: string;
290
- processed: number;
291
- total: number;
292
- percentage: number;
293
- }) => Promise<void> | void;
272
+ name: string;
273
+ /**
274
+ * anonymized plugin options snapshot, values are included but cannot be traced back to the user.
275
+ */
276
+ options: Record<string, unknown>;
277
+ };
278
+ type TelemetryEvent = {
279
+ command: string;
280
+ kubbVersion: string;
281
+ nodeVersion: string;
282
+ platform: string;
283
+ ci: boolean;
284
+ plugins: Array<TelemetryPlugin>;
285
+ duration: number;
286
+ filesCreated: number;
287
+ status: 'success' | 'failed';
294
288
  };
295
289
  /**
296
- * Converts a single file to a string using the registered parsers.
297
- * Falls back to joining source values when no matching parser is found.
298
- *
299
- * @internal
290
+ * Anonymous OTLP usage telemetry for the Kubb run. All methods are static, so call them as
291
+ * `Telemetry.build(...)`, `Telemetry.send(...)`, and `Telemetry.isDisabled()`. No file paths,
292
+ * OpenAPI specs, or secrets are ever included, and sending fails silently to never break a run.
300
293
  */
301
- declare class FileProcessor {
302
- #private;
303
- parse(file: FileNode, {
304
- parsers,
305
- extension
306
- }?: ParseOptions): Promise<string>;
307
- run(files: Array<FileNode>, {
308
- parsers,
309
- mode,
310
- extension,
311
- onStart,
312
- onEnd,
313
- onUpdate
314
- }?: RunOptions): Promise<Array<FileNode>>;
294
+ declare class Telemetry {
295
+ /**
296
+ * Returns `true` when telemetry is disabled via `DO_NOT_TRACK` or `KUBB_DISABLE_TELEMETRY`.
297
+ */
298
+ static isDisabled(): boolean;
299
+ /**
300
+ * Build an anonymous telemetry payload from a completed generation run.
301
+ */
302
+ static build(options: {
303
+ command: 'generate' | 'mcp' | 'validate' | 'agent';
304
+ kubbVersion: string;
305
+ plugins?: Array<TelemetryPlugin>;
306
+ hrStart: [number, number];
307
+ filesCreated?: number;
308
+ status: 'success' | 'failed';
309
+ }): TelemetryEvent;
310
+ /**
311
+ * Convert a {@link TelemetryEvent} into an OTLP-compatible JSON trace payload.
312
+ * See https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/
313
+ */
314
+ static buildOtlpPayload(event: TelemetryEvent): OtlpExportTraceServiceRequest;
315
+ /**
316
+ * Send an anonymous telemetry event to the Kubb OTLP endpoint. Respects `DO_NOT_TRACK` and
317
+ * `KUBB_DISABLE_TELEMETRY`, and fails silently so telemetry never interrupts a run.
318
+ */
319
+ static send(event: TelemetryEvent): Promise<void>;
315
320
  }
316
321
  //#endregion
317
322
  //#region src/storages/fsStorage.d.ts
@@ -364,16 +369,5 @@ declare const fsStorage: (options?: Record<string, never> | undefined) => Storag
364
369
  */
365
370
  declare const memoryStorage: (options?: Record<string, never> | undefined) => Storage;
366
371
  //#endregion
367
- //#region src/utils/isInputPath.d.ts
368
- /**
369
- * Type guard to check if a given config has an `input.path`.
370
- */
371
- declare function isInputPath(config: UserConfig | undefined): config is UserConfig<InputPath> & {
372
- input: InputPath;
373
- };
374
- declare function isInputPath(config: Config | undefined): config is Config<InputPath> & {
375
- input: InputPath;
376
- };
377
- //#endregion
378
- export { Adapter, AdapterFactoryOptions, AdapterSource, AsyncEventEmitter, BuildOutput, CLIOptions, Config, DevtoolsOptions, Exclude, FileManager, FileProcessor, Generator, GeneratorContext, Group, Include, InputData, InputPath, Kubb, KubbBuildEndContext, KubbBuildStartContext, KubbConfigEndContext, KubbDebugContext, KubbErrorContext, KubbFileProcessingUpdateContext, KubbFilesProcessingEndContext, KubbFilesProcessingStartContext, KubbGenerationEndContext, KubbGenerationStartContext, KubbGenerationSummaryContext, KubbHookEndContext, KubbHookStartContext, KubbHooks, KubbInfoContext, KubbLifecycleStartContext, KubbPluginEndContext, KubbPluginSetupContext, KubbPluginStartContext, KubbPluginsEndContext, KubbSuccessContext, KubbVersionNewContext, KubbWarnContext, Logger, LoggerContext, LoggerOptions, Middleware, NormalizedPlugin, Output, Override, Parser, Plugin, PluginDriver, PluginFactoryOptions, PossibleConfig, Renderer, RendererFactory, ResolveBannerContext, ResolveNameParams, ResolveOptionsContext, Resolver, ResolverContext, ResolverFileParams, ResolverPathParams, Storage, URLPath, UserConfig, UserLogger, ast, createAdapter, createKubb, createRenderer, createStorage, defineGenerator, defineLogger, defineMiddleware, defineParser, definePlugin, defineResolver, fsStorage, isInputPath, logLevel, memoryStorage };
372
+ export { type Adapter, type AdapterFactoryOptions, type AdapterSource, AsyncEventEmitter, type BannerMeta, type BuildOutput, type CLIOptions, type Config, type Diagnostic, type DiagnosticByCode, type DiagnosticDoc, type DiagnosticKind, type DiagnosticLocation, type DiagnosticSeverity, Diagnostics, type Exclude, type FileProcessorHooks, type GenerationResult, type Generator, type GeneratorContext, type Group, type Include, type InputData, type InputPath, type Kubb, type KubbBuildEndContext, type KubbBuildStartContext, type KubbConfigEndContext, type KubbDiagnosticContext, KubbDriver, type KubbErrorContext, type KubbFileProcessingUpdate, type KubbFilesProcessingEndContext, type KubbFilesProcessingStartContext, type KubbFilesProcessingUpdateContext, type KubbGenerationEndContext, type KubbGenerationStartContext, type KubbHookEndContext, type KubbHookStartContext, type KubbHooks, type KubbInfoContext, type KubbLifecycleStartContext, type KubbPluginEndContext, type KubbPluginSetupContext, type KubbPluginStartContext, type KubbPluginsEndContext, type KubbSuccessContext, type KubbWarnContext, type Logger, type LoggerContext, type LoggerOptions, type Middleware, type NormalizedPlugin, type Output, type Override, type ParsedFile, type Parser, type PerformanceDiagnostic, type Plugin, type PluginFactoryOptions, type PossibleConfig, type ProblemCode, type ProblemDiagnostic, type Renderer, type RendererFactory, type Reporter, type ReporterContext, type ReporterName, type ResolveBannerContext, type ResolveBannerFile, type ResolveOptionsContext, type Resolver, type ResolverContext, type ResolverFileParams, type ResolverPathParams, type SerializedDiagnostic, type Storage, Telemetry, URLPath, type UpdateDiagnostic, type UserConfig, type UserLogger, type UserReporter, ast, cliReporter, createAdapter, createKubb, createRenderer, createReporter, createStorage, defineGenerator, defineLogger, defineMiddleware, defineParser, definePlugin, defineResolver, fileReporter, fsStorage, jsonReporter, logLevel, memoryStorage, selectReporters };
379
373
  //# sourceMappingURL=index.d.ts.map