schemantic 0.3.0 → 0.4.0

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 (124) hide show
  1. package/CHANGELOG.md +196 -174
  2. package/LICENSE +21 -21
  3. package/README.md +88 -830
  4. package/dist/cli/index.d.ts +4 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +185 -61
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/core/configuration.d.ts +6 -0
  9. package/dist/core/configuration.d.ts.map +1 -0
  10. package/dist/core/configuration.js +64 -0
  11. package/dist/core/configuration.js.map +1 -0
  12. package/dist/core/index.d.ts +1 -0
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +1 -0
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/output-writer.d.ts +7 -0
  17. package/dist/core/output-writer.d.ts.map +1 -0
  18. package/dist/core/output-writer.js +255 -0
  19. package/dist/core/output-writer.js.map +1 -0
  20. package/dist/core/schemantic.d.ts +8 -2
  21. package/dist/core/schemantic.d.ts.map +1 -1
  22. package/dist/core/schemantic.js +196 -71
  23. package/dist/core/schemantic.js.map +1 -1
  24. package/dist/generators/api-client-generator.d.ts +9 -20
  25. package/dist/generators/api-client-generator.d.ts.map +1 -1
  26. package/dist/generators/api-client-generator.js +364 -424
  27. package/dist/generators/api-client-generator.js.map +1 -1
  28. package/dist/generators/base.d.ts.map +1 -1
  29. package/dist/generators/base.js +7 -25
  30. package/dist/generators/base.js.map +1 -1
  31. package/dist/generators/enum-generator.d.ts.map +1 -1
  32. package/dist/generators/enum-generator.js +30 -3
  33. package/dist/generators/enum-generator.js.map +1 -1
  34. package/dist/generators/hook-generator.d.ts +3 -17
  35. package/dist/generators/hook-generator.d.ts.map +1 -1
  36. package/dist/generators/hook-generator.js +51 -445
  37. package/dist/generators/hook-generator.js.map +1 -1
  38. package/dist/generators/naming.d.ts +10 -0
  39. package/dist/generators/naming.d.ts.map +1 -0
  40. package/dist/generators/naming.js +331 -0
  41. package/dist/generators/naming.js.map +1 -0
  42. package/dist/generators/object-generator.d.ts +0 -4
  43. package/dist/generators/object-generator.d.ts.map +1 -1
  44. package/dist/generators/object-generator.js +13 -101
  45. package/dist/generators/object-generator.js.map +1 -1
  46. package/dist/generators/primitive-generator.d.ts +1 -13
  47. package/dist/generators/primitive-generator.d.ts.map +1 -1
  48. package/dist/generators/primitive-generator.js +11 -76
  49. package/dist/generators/primitive-generator.js.map +1 -1
  50. package/dist/generators/projections.d.ts +10 -0
  51. package/dist/generators/projections.d.ts.map +1 -0
  52. package/dist/generators/projections.js +65 -0
  53. package/dist/generators/projections.js.map +1 -0
  54. package/dist/generators/schema-type.d.ts +23 -0
  55. package/dist/generators/schema-type.d.ts.map +1 -0
  56. package/dist/generators/schema-type.js +233 -0
  57. package/dist/generators/schema-type.js.map +1 -0
  58. package/dist/parsers/base.d.ts +2 -0
  59. package/dist/parsers/base.d.ts.map +1 -1
  60. package/dist/parsers/base.js +12 -2
  61. package/dist/parsers/base.js.map +1 -1
  62. package/dist/parsers/factory.d.ts.map +1 -1
  63. package/dist/parsers/factory.js +2 -1
  64. package/dist/parsers/factory.js.map +1 -1
  65. package/dist/parsers/openapi.d.ts +4 -0
  66. package/dist/parsers/openapi.d.ts.map +1 -1
  67. package/dist/parsers/openapi.js +107 -20
  68. package/dist/parsers/openapi.js.map +1 -1
  69. package/dist/plugins/branded-types.d.ts.map +1 -1
  70. package/dist/plugins/branded-types.js +231 -365
  71. package/dist/plugins/branded-types.js.map +1 -1
  72. package/dist/plugins/builtin.d.ts.map +1 -1
  73. package/dist/plugins/builtin.js +6 -141
  74. package/dist/plugins/builtin.js.map +1 -1
  75. package/dist/plugins/index.d.ts +4 -0
  76. package/dist/plugins/index.d.ts.map +1 -1
  77. package/dist/plugins/index.js +17 -0
  78. package/dist/plugins/index.js.map +1 -1
  79. package/dist/plugins/loader.d.ts +5 -1
  80. package/dist/plugins/loader.d.ts.map +1 -1
  81. package/dist/plugins/loader.js +42 -5
  82. package/dist/plugins/loader.js.map +1 -1
  83. package/dist/plugins/manager.d.ts.map +1 -1
  84. package/dist/plugins/manager.js +7 -7
  85. package/dist/plugins/manager.js.map +1 -1
  86. package/dist/plugins/performance-monitoring.d.ts +31 -1
  87. package/dist/plugins/performance-monitoring.d.ts.map +1 -1
  88. package/dist/plugins/performance-monitoring.js +146 -207
  89. package/dist/plugins/performance-monitoring.js.map +1 -1
  90. package/dist/plugins/request-deduplication.d.ts.map +1 -1
  91. package/dist/plugins/request-deduplication.js +151 -586
  92. package/dist/plugins/request-deduplication.js.map +1 -1
  93. package/dist/plugins/zod-validation.d.ts +23 -15
  94. package/dist/plugins/zod-validation.d.ts.map +1 -1
  95. package/dist/plugins/zod-validation.js +390 -268
  96. package/dist/plugins/zod-validation.js.map +1 -1
  97. package/dist/types/core.d.ts +20 -3
  98. package/dist/types/core.d.ts.map +1 -1
  99. package/dist/types/core.js +2 -0
  100. package/dist/types/core.js.map +1 -1
  101. package/dist/types/openapi.d.ts +14 -1
  102. package/dist/types/openapi.d.ts.map +1 -1
  103. package/docs/ADVANCED_PLUGINS_IMPLEMENTATION.md +24 -355
  104. package/docs/ADVANCED_PLUGIN_DEVELOPMENT.md +33 -309
  105. package/docs/API.md +80 -601
  106. package/docs/AUDIT.md +49 -0
  107. package/docs/CONFIGURATION.md +81 -715
  108. package/docs/FASTAPI_TUTORIAL.md +109 -1497
  109. package/docs/NAMING_MIGRATION.md +59 -0
  110. package/docs/PLUGINS.md +49 -687
  111. package/docs/PLUGIN_DEVELOPMENT.md +53 -720
  112. package/docs/REAUDIT.md +399 -0
  113. package/docs/RELEASING.md +88 -0
  114. package/docs/REMEDIATION.md +58 -0
  115. package/docs/superpowers/plans/2026-10-10-audit-remediation.md +113 -0
  116. package/package.json +114 -95
  117. package/dist/__tests__/setup.d.ts +0 -6
  118. package/dist/__tests__/setup.d.ts.map +0 -1
  119. package/dist/__tests__/setup.js +0 -30
  120. package/dist/__tests__/setup.js.map +0 -1
  121. package/dist/__tests__/test-config.d.ts +0 -36
  122. package/dist/__tests__/test-config.d.ts.map +0 -1
  123. package/dist/__tests__/test-config.js +0 -562
  124. package/dist/__tests__/test-config.js.map +0 -1
@@ -38,7 +38,6 @@ var __importStar = (this && this.__importStar) || (function () {
38
38
  })();
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.Schemantic = exports.DEFAULT_CONFIG = void 0;
41
- const fs = __importStar(require("fs/promises"));
42
41
  const path = __importStar(require("path"));
43
42
  // Re-export commonly used types and constants
44
43
  var core_1 = require("../types/core");
@@ -48,14 +47,23 @@ const generators_1 = require("../generators");
48
47
  const api_client_generator_1 = require("../generators/api-client-generator");
49
48
  const hook_generator_1 = require("../generators/hook-generator");
50
49
  const plugins_1 = require("../plugins");
50
+ const schema_type_1 = require("../generators/schema-type");
51
+ const configuration_1 = require("./configuration");
52
+ const output_writer_1 = require("./output-writer");
53
+ const projections_1 = require("../generators/projections");
54
+ const naming_1 = require("../generators/naming");
51
55
  /**
52
56
  * Main Schemantic class
53
57
  */
54
58
  class Schemantic {
55
59
  constructor(config) {
56
60
  this.resolvedSchemas = new Map();
57
- this.config = config;
61
+ this.clientFileNames = new Map();
62
+ this.projections = {};
63
+ this.config = (0, configuration_1.resolveConfiguration)(config);
58
64
  this.pluginManager = new plugins_1.PluginManager();
65
+ for (const plugin of (0, plugins_1.getBuiltinPlugins)())
66
+ this.pluginManager.registerPlugin(plugin);
59
67
  this.typeRegistry = this.createTypeRegistry();
60
68
  }
61
69
  /**
@@ -67,8 +75,36 @@ class Schemantic {
67
75
  const warnings = [];
68
76
  const generatedFiles = [];
69
77
  try {
78
+ this.config = (0, configuration_1.resolveConfiguration)(this.config);
79
+ if (this.config.generateHooks && !this.config.generateApiClient)
80
+ throw new Error('React hooks require API client generation');
81
+ for (const plugin of this.config.plugins || []) {
82
+ if (plugin.enabled) {
83
+ if (!this.pluginManager.getPlugin(plugin.name))
84
+ throw new Error(`Unknown plugin: ${plugin.name}`);
85
+ this.pluginManager.enablePlugin(plugin.name);
86
+ }
87
+ else
88
+ this.pluginManager.disablePlugin(plugin.name);
89
+ }
90
+ this.resolvedSchemas.clear();
91
+ this.selectedSchemaNames = undefined;
92
+ this.clientFileNames.clear();
93
+ this.typeRegistry = this.createTypeRegistry();
70
94
  // Load and parse schema
71
- const schema = await this.loadSchema();
95
+ let schema = JSON.parse(JSON.stringify(await this.loadSchema()));
96
+ const validation = await parsers_1.ParserFactory.autoCreateParser({ data: schema }, this.config).validate(schema);
97
+ warnings.push(...validation.warnings);
98
+ if (!validation.isValid) {
99
+ errors.push(...validation.errors);
100
+ throw new Error('OpenAPI schema validation failed');
101
+ }
102
+ this.schema = schema;
103
+ this.filterSchema(schema);
104
+ this.validateReferences(schema);
105
+ this.projections = (0, projections_1.addSchemaProjections)(schema, parsers_1.ParserFactory.autoCreateParser({ data: schema }, this.config).createResolver(schema), this.selectedSchemaNames);
106
+ this.wireSchema = structuredClone(schema);
107
+ schema = (0, naming_1.renameSchemaProperties)(schema, this.config.propertyNaming ?? 'camelCase');
72
108
  this.schema = schema;
73
109
  // Create generation context
74
110
  const context = this.createGenerationContext();
@@ -78,7 +114,7 @@ class Schemantic {
78
114
  await this.resolveSchemaReferences(schema);
79
115
  // Generate types
80
116
  let generatedTypes = [];
81
- if (this.config.generateTypes) {
117
+ if (this.config.generateTypes || this.config.generateApiClient) {
82
118
  generatedTypes = await this.generateTypes(context);
83
119
  }
84
120
  // Generate API client
@@ -87,7 +123,7 @@ class Schemantic {
87
123
  generatedClients = await this.generateApiClients(context);
88
124
  }
89
125
  // Generate files
90
- const files = await this.generateFiles(generatedTypes, generatedClients);
126
+ const files = await this.generateFiles(generatedTypes, generatedClients, context);
91
127
  generatedFiles.push(...files);
92
128
  // Execute after generation hooks
93
129
  const result = {
@@ -98,6 +134,10 @@ class Schemantic {
98
134
  statistics: this.calculateStatistics(generatedTypes, generatedClients, generatedFiles, Date.now() - startTime),
99
135
  };
100
136
  await this.pluginManager.executeAfterGeneration(context, result);
137
+ if (!result.success || result.errors.some(error => error.severity === 'error'))
138
+ throw new Error('A plugin rejected generated output');
139
+ await (0, output_writer_1.writeOutput)(this.config.outputDir, result.generatedFiles);
140
+ result.statistics = this.calculateStatistics(generatedTypes, generatedClients, result.generatedFiles, Date.now() - startTime);
101
141
  return result;
102
142
  }
103
143
  catch (error) {
@@ -108,7 +148,7 @@ class Schemantic {
108
148
  });
109
149
  return {
110
150
  success: false,
111
- generatedFiles,
151
+ generatedFiles: [],
112
152
  errors,
113
153
  warnings,
114
154
  statistics: this.calculateStatistics([], [], generatedFiles, Date.now() - startTime),
@@ -161,6 +201,55 @@ class Schemantic {
161
201
  /**
162
202
  * Create generation context
163
203
  */
204
+ filterSchema(schema) {
205
+ const matches = (value, patterns = []) => patterns.some(pattern => new RegExp(`^${pattern.split('*').map(part => part.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('.*')}$`).test(value));
206
+ schema.paths = Object.fromEntries(Object.entries(schema.paths).filter(([name]) => (!this.config.includePaths?.length || matches(name, this.config.includePaths)) && !matches(name, this.config.excludePaths)));
207
+ const schemas = schema.components?.schemas;
208
+ if (!schemas)
209
+ return;
210
+ const selected = new Set(Object.keys(schemas).filter(name => (!this.config.includeSchemas?.length || matches(name, this.config.includeSchemas)) && !matches(name, this.config.excludeSchemas)));
211
+ const collect = (value, visited = new Set()) => {
212
+ if (!value || typeof value !== 'object')
213
+ return;
214
+ if ('$ref' in value && typeof value.$ref === 'string') {
215
+ const ref = value.$ref;
216
+ if (visited.has(ref))
217
+ return;
218
+ visited.add(ref);
219
+ if (ref.startsWith('#/components/schemas/')) {
220
+ const name = (0, schema_type_1.referenceName)(ref.split('/').slice(0, 4).join('/'));
221
+ if (matches(name, this.config.excludeSchemas))
222
+ throw new Error(`Referenced schema ${name} is explicitly excluded`);
223
+ selected.add(name);
224
+ collect(schemas[name], visited);
225
+ }
226
+ else {
227
+ const resolver = parsers_1.ParserFactory.autoCreateParser({ data: schema }, this.config).createResolver(schema);
228
+ collect(resolver(ref), visited);
229
+ }
230
+ }
231
+ for (const child of Object.values(value))
232
+ collect(child, visited);
233
+ };
234
+ if (this.config.generateApiClient || this.config.generateHooks)
235
+ collect(schema.paths);
236
+ for (const name of [...selected])
237
+ collect(schemas[name]);
238
+ this.selectedSchemaNames = selected;
239
+ }
240
+ validateReferences(schema) {
241
+ const resolver = parsers_1.ParserFactory.autoCreateParser({ data: schema }, this.config).createResolver(schema);
242
+ const walk = (value) => {
243
+ if (!value || typeof value !== 'object')
244
+ return;
245
+ if ('$ref' in value && typeof value.$ref === 'string' && !resolver(value.$ref)) {
246
+ throw new Error(`Unresolved or unsupported reference: ${value.$ref}`);
247
+ }
248
+ for (const child of Object.values(value))
249
+ walk(child);
250
+ };
251
+ walk(schema);
252
+ }
164
253
  createGenerationContext() {
165
254
  return {
166
255
  config: this.config,
@@ -169,7 +258,9 @@ class Schemantic {
169
258
  generatedTypes: new Map(),
170
259
  generatedClients: new Map(),
171
260
  typeRegistry: this.typeRegistry,
172
- schemaResolver: (ref) => this.resolvedSchemas.get(ref),
261
+ schemaResolver: parsers_1.ParserFactory.autoCreateParser({ data: this.schema }, this.config).createResolver(this.schema),
262
+ projections: this.projections,
263
+ wireSchema: this.wireSchema,
173
264
  };
174
265
  }
175
266
  /**
@@ -181,6 +272,8 @@ class Schemantic {
181
272
  }
182
273
  // Resolve all schemas
183
274
  for (const [name, schemaRef] of Object.entries(schema.components.schemas)) {
275
+ if (this.selectedSchemaNames && !this.selectedSchemaNames.has(name))
276
+ continue;
184
277
  if (typeof schemaRef === "object" && schemaRef !== null) {
185
278
  // Stamp a stable generated type name to match $ref terminal name
186
279
  schemaRef._generatedTypeName = name;
@@ -204,12 +297,23 @@ class Schemantic {
204
297
  const generatedType = generators_1.TypeGeneratorFactory.generateType(transformedSchema, context, generators);
205
298
  if (generatedType) {
206
299
  // Register type
300
+ if (this.typeRegistry.getType(generatedType.name)) {
301
+ throw new Error(`Multiple schemas generate the type name ${generatedType.name}`);
302
+ }
207
303
  this.typeRegistry.registerType(generatedType.name, generatedType);
208
304
  context.generatedTypes.set(generatedType.name, generatedType);
209
305
  // Execute after type generation hooks
210
306
  await this.pluginManager.executeAfterTypeGeneration(generatedType.name, generatedType, context);
211
307
  generatedTypes.push(generatedType);
212
308
  }
309
+ for (const [name, generator] of this.pluginManager.getCustomTypeGenerators()) {
310
+ const customType = generator(transformedSchema, context);
311
+ if (this.typeRegistry.getType(customType.name))
312
+ throw new Error(`Custom generator ${name} produced duplicate type ${customType.name}`);
313
+ this.typeRegistry.registerType(customType.name, customType);
314
+ context.generatedTypes.set(customType.name, customType);
315
+ generatedTypes.push(customType);
316
+ }
213
317
  }
214
318
  return generatedTypes;
215
319
  }
@@ -231,29 +335,62 @@ class Schemantic {
231
335
  // Generate custom clients from plugins
232
336
  const customGenerators = this.pluginManager.getCustomClientGenerators();
233
337
  for (const [name, generator] of customGenerators) {
234
- try {
235
- const customClient = generator(context);
236
- context.generatedClients.set(customClient.name, customClient);
237
- generatedClients.push(customClient);
238
- }
239
- catch (error) {
240
- console.warn(`Custom client generator ${name} failed:`, error);
241
- }
338
+ const customClient = generator(context);
339
+ if (context.generatedClients.has(customClient.name))
340
+ throw new Error(`Custom generator ${name} produced duplicate client ${customClient.name}`);
341
+ context.generatedClients.set(customClient.name, customClient);
342
+ generatedClients.push(customClient);
242
343
  }
243
344
  return generatedClients;
244
345
  }
245
346
  /**
246
347
  * Generate files from generated types and clients
247
348
  */
248
- async generateFiles(generatedTypes, generatedClients) {
349
+ async generateFiles(generatedTypes, generatedClients, context) {
249
350
  const files = [];
250
- // Ensure output directory exists
251
- await fs.mkdir(this.config.outputDir, { recursive: true });
351
+ const exportedTypes = new Set();
352
+ for (const type of generatedTypes) {
353
+ for (const name of new Set(type.exports)) {
354
+ if (exportedTypes.has(name))
355
+ throw new Error(`Generated type export collision: ${name}`);
356
+ exportedTypes.add(name);
357
+ }
358
+ }
359
+ const publicNames = new Set(exportedTypes);
360
+ const reserveExport = (name) => {
361
+ if (publicNames.has(name))
362
+ throw new Error(`Generated public export collision: ${name}; rename the schema or configure a type prefix/suffix`);
363
+ publicNames.add(name);
364
+ };
365
+ for (const client of generatedClients)
366
+ for (const name of new Set(client.exports))
367
+ reserveExport(name);
368
+ if (this.config.generateHooks)
369
+ reserveExport('createApiHooks');
370
+ if (this.config.propertyNaming === 'camelCase') {
371
+ reserveExport('serializeValue');
372
+ reserveExport('deserializeValue');
373
+ for (const name of Object.keys(this.wireSchema?.components?.schemas || {}).map(name => this.typeRegistry.getType((0, schema_type_1.typeName)(name, this.config.typePrefix, this.config.typeSuffix))?.name).filter((name) => !!name)) {
374
+ reserveExport('serialize' + name);
375
+ reserveExport('deserialize' + name);
376
+ }
377
+ }
378
+ const names = ['types.ts', 'index.ts', 'hooks.ts', 'conversion.ts'];
379
+ for (const [index, client] of generatedClients.entries()) {
380
+ const fileName = index === 0 ? this.config.outputFileName || 'api-client.ts' : client.name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase() + '.ts';
381
+ if (path.isAbsolute(fileName) || fileName.split(/[\\/]/).includes('..') || !fileName.endsWith('.ts'))
382
+ throw new Error(`Invalid output filename: ${fileName}`);
383
+ (0, output_writer_1.validateOutputNames)([...names, fileName]);
384
+ names.push(fileName);
385
+ this.clientFileNames.set(client.name, fileName);
386
+ }
252
387
  // Generate types file
253
388
  if (generatedTypes.length > 0) {
254
389
  const typesFile = await this.generateTypesFile(generatedTypes);
255
390
  files.push(typesFile);
256
391
  }
392
+ if (this.config.propertyNaming === 'camelCase')
393
+ files.push((0, naming_1.generateConversionFile)(context, this.wireSchema));
257
394
  // Generate client files
258
395
  for (const client of generatedClients) {
259
396
  const clientFile = await this.generateClientFile(client);
@@ -261,7 +398,7 @@ class Schemantic {
261
398
  }
262
399
  // Generate hooks file (first-party) when enabled
263
400
  if (this.config.generateHooks) {
264
- const hooksFile = await this.generateHooksFile();
401
+ const hooksFile = await this.generateHooksFile(context, generatedClients[0]);
265
402
  if (hooksFile)
266
403
  files.push(hooksFile);
267
404
  }
@@ -282,14 +419,19 @@ class Schemantic {
282
419
  ...new Set(generatedTypes.flatMap((t) => t.dependencies)),
283
420
  ];
284
421
  // Generate imports from dependencies
285
- const imports = this.generateImportsFromDependencies(allDependencies);
422
+ const imports = new Map();
423
+ const collectImport = (statement) => {
424
+ const key = statement.replace(/\s+/g, '').replace(/"/g, "'").replace(/;$/, '');
425
+ imports.set(key, statement.trim());
426
+ };
427
+ this.generateImportsFromDependencies(allDependencies).split('\n').filter(line => line.trim()).forEach(collectImport);
286
428
  // Generate types content ordered by dependencies.
287
429
  // Preserve each GeneratedType.content as a whole (except stripping any import lines),
288
430
  // then emit in an order where dependencies appear before dependents using the typeRegistry.
289
431
  const typeContentMap = {};
290
432
  for (const t of generatedTypes) {
291
433
  const cleaned = t.content
292
- .replace(/^import\s+.*?from\s+['"][^'"]*['"];?\s*$/gm, "")
434
+ .replace(/^[ \t]*import\s+(?:[\s\S]*?\s+from\s+)?['"][^'"]+['"];?[ \t]*(?:\r?\n|$)/gm, statement => { collectImport(statement); return ''; })
293
435
  .trim();
294
436
  if (cleaned.length > 0)
295
437
  typeContentMap[t.name] = cleaned;
@@ -306,9 +448,8 @@ class Schemantic {
306
448
  for (const rem of Object.values(typeContentMap)) {
307
449
  emittedBlocks.push(rem);
308
450
  }
309
- const content = imports + emittedBlocks.join("\n\n");
451
+ const content = [...imports.values()].join('\n') + (imports.size ? '\n\n' : '') + emittedBlocks.join("\n\n");
310
452
  const filePath = path.join(this.config.outputDir, "types.ts");
311
- await fs.writeFile(filePath, content, "utf-8");
312
453
  return {
313
454
  path: filePath,
314
455
  content,
@@ -322,15 +463,22 @@ class Schemantic {
322
463
  */
323
464
  async generateClientFile(client) {
324
465
  // Default to a clean, predictable filename when not provided
325
- const fileName = this.config.outputFileName || `api-client.ts`;
466
+ const fileName = this.clientFileNames.get(client.name);
326
467
  const filePath = path.join(this.config.outputDir, fileName);
327
- await fs.writeFile(filePath, client.content, "utf-8");
468
+ let typeImport = path.relative(path.dirname(filePath), path.join(this.config.outputDir, 'types.js')).replace(/\\/g, '/');
469
+ if (!typeImport.startsWith('.'))
470
+ typeImport = './' + typeImport;
471
+ let conversionImport = path.relative(path.dirname(filePath), path.join(this.config.outputDir, 'conversion.js')).replace(/\\/g, '/');
472
+ if (!conversionImport.startsWith('.'))
473
+ conversionImport = './' + conversionImport;
474
+ const content = client.content.replace(/from (['"])\.\/types(?:\.js)?\1/g, `from '${typeImport}'`)
475
+ .replace(/from (['"])\.\/conversion\.js\1/g, `from '${conversionImport}'`);
328
476
  return {
329
477
  path: filePath,
330
- content: client.content,
478
+ content,
331
479
  type: "client",
332
480
  dependencies: client.dependencies,
333
- size: Buffer.byteLength(client.content, "utf-8"),
481
+ size: Buffer.byteLength(content, "utf-8"),
334
482
  };
335
483
  }
336
484
  /**
@@ -338,46 +486,30 @@ class Schemantic {
338
486
  */
339
487
  async generateIndexFile(generatedTypes, generatedClients) {
340
488
  const exports = [];
341
- // Export types - filter out generic instances
342
- const allTypeExports = generatedTypes.flatMap((type) => type.exports);
343
- if (allTypeExports.length > 0) {
344
- // Filter out generic instances and keep only base types
345
- const baseTypes = new Set();
346
- for (const exportName of allTypeExports) {
347
- if (exportName.includes("<") && exportName.includes(">")) {
348
- // Extract base type name from generic type
349
- const baseName = exportName.split("<")[0];
350
- if (baseName && baseName.trim()) {
351
- baseTypes.add(baseName);
352
- }
353
- }
354
- else {
355
- baseTypes.add(exportName);
356
- }
357
- }
358
- if (baseTypes.size > 0) {
359
- exports.push(`export type { ${Array.from(baseTypes).join(", ")} } from './types';`);
360
- }
361
- }
489
+ if (generatedTypes.length)
490
+ exports.push("export * from './types.js';");
491
+ if (this.config.propertyNaming === 'camelCase')
492
+ exports.push("export * from './conversion.js';");
362
493
  // Export clients
363
494
  for (const client of generatedClients) {
364
495
  // Re-export only values, not types
365
- const valueExports = client.exports.filter((e) => e.endsWith("ApiClient"));
496
+ const valueExports = client.exports;
366
497
  if (valueExports.length > 0) {
367
498
  // Use configured output file name or default 'api-client.ts'
368
- const clientFileBase = (this.config.outputFileName || `api-client.ts`).replace(/\.ts$/, "");
369
- exports.push(`export { ${valueExports.join(", ")} } from './${clientFileBase}';`);
499
+ const clientFileBase = this.clientFileNames.get(client.name).replace(/\.ts$/, "").replace(/\\/g, '/');
500
+ exports.push(`export { ${valueExports.join(", ")} } from './${clientFileBase}.js';`);
501
+ if (client === generatedClients[0])
502
+ exports.push(`export type { ApiClientConfig } from './${clientFileBase}.js';`);
370
503
  }
371
504
  }
372
505
  // Export hooks if generated
373
506
  if (this.config.generateHooks) {
374
- exports.push(`export { createApiHooks } from './hooks';`);
507
+ exports.push(`export { createApiHooks } from './hooks.js';`);
375
508
  }
376
509
  const content = exports
377
510
  .map((line) => line.startsWith("export type") || line.includes(" from ") ? line : line)
378
511
  .join("\n");
379
512
  const filePath = path.join(this.config.outputDir, "index.ts");
380
- await fs.writeFile(filePath, content, "utf-8");
381
513
  return {
382
514
  path: filePath,
383
515
  content,
@@ -389,24 +521,17 @@ class Schemantic {
389
521
  /**
390
522
  * Generate hooks file when enabled
391
523
  */
392
- async generateHooksFile() {
393
- try {
394
- const hookGen = new hook_generator_1.HookGenerator(this.createGenerationContext());
395
- const hooks = hookGen.generate();
396
- const filePath = path.join(this.config.outputDir, "hooks.ts");
397
- await fs.writeFile(filePath, hooks.content, "utf-8");
398
- return {
399
- path: filePath,
400
- content: hooks.content,
401
- type: "hook",
402
- dependencies: [],
403
- size: Buffer.byteLength(hooks.content, "utf-8"),
404
- };
405
- }
406
- catch {
407
- // Non-fatal: skip hooks on error
408
- return undefined;
409
- }
524
+ async generateHooksFile(context, client) {
525
+ const hookGen = new hook_generator_1.HookGenerator(context);
526
+ const hooks = hookGen.generate(client);
527
+ const filePath = path.join(this.config.outputDir, "hooks.ts");
528
+ return {
529
+ path: filePath,
530
+ content: hooks.content,
531
+ type: "hook",
532
+ dependencies: [],
533
+ size: Buffer.byteLength(hooks.content, "utf-8"),
534
+ };
410
535
  }
411
536
  /**
412
537
  * Calculate generation statistics
@@ -1 +1 @@
1
- {"version":3,"file":"schemantic.js","sourceRoot":"","sources":["../../src/core/schemantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemantic.js","sourceRoot":"","sources":["../../src/core/schemantic.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAiB7B,8CAA8C;AAC9C,sCAAiE;AAAtC,sGAAA,cAAc,OAAA;AACzC,wCAA2C;AAC3C,8CAAqD;AACrD,6EAAwE;AACxE,iEAA6D;AAC7D,wCAA8D;AAC9D,2DAAoE;AACpE,mDAAuD;AACvD,mDAAmE;AACnE,2DAAkF;AAClF,iDAAsF;AAEtF;;GAEG;AACH,MAAa,UAAU;IAWrB,YAAY,MAAyB;QAN7B,oBAAe,GAAgC,IAAI,GAAG,EAAE,CAAC;QAGzD,oBAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,gBAAW,GAAoB,EAAE,CAAC;QAGxC,IAAI,CAAC,MAAM,GAAG,IAAA,oCAAoB,EAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,IAAA,2BAAiB,GAAE;YAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,MAAM,cAAc,GAAoB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAA,oCAAoB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC9H,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/C,CAAC;;oBAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9C,wBAAwB;YACxB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAkB,CAAC;YAClF,MAAM,UAAU,GAAG,MAAM,uBAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxG,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,IAAA,kCAAoB,EAAC,MAAM,EAAE,uBAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChK,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,GAAG,IAAA,+BAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,WAAW,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,4BAA4B;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE/C,kCAAkC;YAClC,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAE1D,gCAAgC;YAChC,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAE3C,iBAAiB;YACjB,IAAI,cAAc,GAAoB,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC/D,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACrD,CAAC;YAED,sBAAsB;YACtB,IAAI,gBAAgB,GAAyB,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAClC,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5D,CAAC;YAED,iBAAiB;YACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAClF,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAE9B,iCAAiC;YACjC,MAAM,MAAM,GAAqB;gBAC/B,OAAO,EAAE,IAAI;gBACb,cAAc;gBACd,MAAM;gBACN,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAClC,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CACvB;aACF,CAAC;YAEF,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEjE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACtI,MAAM,IAAA,2BAAW,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;YAE9H,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,cAAc,EAAE,EAAE;gBAClB,MAAM;gBACN,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAClC,EAAE,EACF,EAAE,EACF,cAAc,EACd,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CACvB;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QAKZ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,uBAAa,CAAC,gBAAgB,CAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,IAAI,CAAC,MAAM,CACZ,CAAC;YACF,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC/D,QAAQ,EAAE,OAAO;qBAClB;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACtB,IAAI,KAAK,GAAwD,EAAE,CAAC;QAEpE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,uBAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAqB;QACxC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,WAAqB,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAClF,IAAI,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzH,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAC/E,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/H,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC1D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACrI,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,UAAU,IAAI,GAAG,EAAU,EAAE,EAAE;YAC9D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO;YAChD,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;gBACvB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO;gBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,GAAG,IAAA,2BAAa,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjE,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,yBAAyB,CAAC,CAAC;oBACnH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,uBAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBACtG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtF,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,QAAQ,CAAC;YAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;IACtC,CAAC;IAEO,kBAAkB,CAAC,MAAqB;QAC9C,MAAM,QAAQ,GAAG,uBAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtG,MAAM,IAAI,GAAG,CAAC,KAAc,EAAQ,EAAE;YACpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO;YAChD,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEO,uBAAuB;QAC7B,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAO;YACpB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,uBAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAO,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAO,CAAC;YAChH,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAW;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,MAAqB;QACzD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1E,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9E,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACxD,iEAAiE;gBAChE,SAAiC,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC7D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,OAA0B;QAE1B,MAAM,UAAU,GAAG,iCAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,cAAc,GAAoB,EAAE,CAAC;QAE3C,iCAAiC;QACjC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,+BAA+B;YAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAC1D,MAAM,EACN,OAAO,CACR,CAAC;YAEF,uCAAuC;YACvC,MAAM,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAClD,GAAG,EACH,iBAAiB,EACjB,OAAO,CACR,CAAC;YAEF,gBAAgB;YAChB,MAAM,aAAa,GAAG,iCAAoB,CAAC,YAAY,CACrD,iBAAiB,EACjB,OAAO,EACP,UAAU,CACX,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,gBAAgB;gBAChB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,2CAA2C,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAClE,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBAE9D,sCAAsC;gBACtC,MAAM,IAAI,CAAC,aAAa,CAAC,0BAA0B,CACjD,aAAa,CAAC,IAAI,EAClB,aAAa,EACb,OAAO,CACR,CAAC;gBAEF,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACrC,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBAC7E,MAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBACzD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,4BAA4B,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC5D,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACxD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,OAA0B;QAE1B,MAAM,gBAAgB,GAAyB,EAAE,CAAC;QAElD,yCAAyC;QACzC,MAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEhE,2BAA2B;QAC3B,MAAM,kBAAkB,GAAG,IAAI,yCAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE7D,kBAAkB;QAClB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEpE,wCAAwC;QACxC,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,CACnD,eAAe,EACf,OAAO,CACR,CAAC;QAEF,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEvC,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,8BAA8B,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAChJ,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC9D,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,cAA+B,EAC/B,gBAAsC,EACtC,OAA0B;QAE1B,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;gBACzF,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;YACrC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,uDAAuD,CAAC,CAAC;YAC9I,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,gBAAgB;YAAE,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACvG,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;YAC/C,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACnE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAA,sBAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjO,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;gBAAC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;YACxJ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC9J,IAAA,mCAAmB,EAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,sBAAsB;QACtB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,IAAA,+BAAsB,EAAC,OAAO,EAAE,IAAI,CAAC,UAAW,CAAC,CAAC,CAAC;QAE9G,wBAAwB;QACxB,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,iDAAiD;QACjD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC5C,cAAc,EACd,gBAAgB,CACjB,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAED,+DAA+D;QAE/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,cAA+B;QAE/B,2BAA2B;QAC3B,MAAM,eAAe,GAAG;YACtB,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAC1D,CAAC;QAEF,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE;YAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,IAAI,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAErH,kDAAkD;QAClD,sFAAsF;QACtF,4FAA4F;QAC5F,MAAM,cAAc,GAA2B,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;iBACtB,OAAO,CAAC,4EAA4E,EAAE,SAAS,CAAC,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;iBAC5I,IAAI,EAAE,CAAC;YACV,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QAE7D,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7G,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE9D,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,MAA0B;QAE1B,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE5D,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzH,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,UAAU,GAAG,IAAI,GAAG,UAAU,CAAC;QAChE,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,gBAAgB,GAAG,IAAI,GAAG,gBAAgB,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,kCAAkC,EAAE,SAAS,UAAU,GAAG,CAAC;aAC/F,OAAO,CAAC,kCAAkC,EAAE,SAAS,gBAAgB,GAAG,CAAC,CAAC;QAE7E,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,cAA+B,EAC/B,gBAAsC;QAEtC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,cAAc,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAEjG,iBAAiB;QACjB,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,mCAAmC;YACnC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;YACpC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,6DAA6D;gBAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACvG,OAAO,CAAC,IAAI,CACV,YAAY,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,cAAc,OAAO,CACvE,CAAC;gBACF,IAAI,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,2CAA2C,cAAc,OAAO,CAAC,CAAC;YACrH,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,OAAO,GAAG,OAAO;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACxE;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE9D,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAA0B,EAAE,MAA2B;QACnF,MAAM,OAAO,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE9D,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;SAChD,CAAC;IACN,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,cAA+B,EAC/B,gBAAsC,EACtC,cAA+B,EAC/B,cAAsB;QAEtB,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAC5C,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAC9C,CAAC,CACF,CAAC;QACF,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE3E,OAAO;YACL,UAAU,EAAE,cAAc,CAAC,MAAM;YACjC,cAAc;YACd,UAAU,EAAE,cAAc,CAAC,MAAM;YACjC,SAAS;YACT,cAAc;YACd,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;QAE/C,OAAO;YACL,YAAY,EAAE,CAAC,IAAY,EAAE,IAAmB,EAAE,EAAE;gBAClD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1C,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7C,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,CAAC;YACD,mBAAmB,EAAE,GAAG,EAAE;gBACxB,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;gBAElC,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,EAAE;oBACnC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;wBAAE,OAAO;oBAClC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAEtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjC,IAAI,IAAI,EAAE,CAAC;wBACT,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;4BACpC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACf,CAAC;wBACD,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC,CAAC;gBAEF,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,+BAA+B,CAAC,YAAsB;QAC5D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,mEAAmE;QACnE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;YACtC,KAAK;YACL,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,mBAAmB;YACnB,OAAO;YACP,OAAO;SACR,CAAC,CAAC;QAEH,kEAAkE;QAClE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,oDAAoD;YACpD,oDAAoD;YACpD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,SAAS,CAAC,gCAAgC;YAC5C,CAAC;YAED,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,KAAK;oBACR,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,iBAAiB;oBACpB,OAAO,CAAC,IAAI,CACV,mIAAmI,CACpI,CAAC;oBACF,MAAM;gBACR,KAAK,aAAa;oBAChB,OAAO,CAAC,IAAI,CACV,sEAAsE,CACvE,CAAC;oBACF,MAAM;gBACR,KAAK,WAAW;oBACd,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBAClD,MAAM;gBACR,KAAK,mBAAmB;oBACtB,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;oBAC1D,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,OAAO;oBACV,6DAA6D;oBAC7D,MAAM;gBACR,2CAA2C;gBAC3C;oBACE,gDAAgD;oBAChD,OAAO,CAAC,IAAI,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;oBACpD,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;CACF;AA7sBD,gCA6sBC"}
@@ -8,6 +8,11 @@ import { GenerationContext, GeneratedApiClient } from "../types/core";
8
8
  */
9
9
  export declare class ApiClientGenerator {
10
10
  private context;
11
+ private referencedTypes;
12
+ private typeAliases;
13
+ private clientName;
14
+ private usesSerialization;
15
+ private usesDeserialization;
11
16
  constructor(context: GenerationContext);
12
17
  /**
13
18
  * Generate API client from OpenAPI schema
@@ -16,6 +21,8 @@ export declare class ApiClientGenerator {
16
21
  /**
17
22
  * Extract endpoints from OpenAPI paths
18
23
  */
24
+ private resolveComponent;
25
+ private mergeParameters;
19
26
  private extractEndpoints;
20
27
  /**
21
28
  * Extract endpoint information from operation
@@ -45,6 +52,7 @@ export declare class ApiClientGenerator {
45
52
  * Extract schema type
46
53
  */
47
54
  private extractSchemaType;
55
+ private mediaMode;
48
56
  /**
49
57
  * Generate client class
50
58
  */
@@ -97,26 +105,15 @@ export declare class ApiClientGenerator {
97
105
  * Generate imports
98
106
  */
99
107
  private generateImports;
108
+ private serializeExpression;
100
109
  /**
101
110
  * Get type names from endpoints
102
111
  */
103
112
  private getTypeNamesFromEndpoints;
104
- /**
105
- * Extract type names from type string
106
- */
107
- private extractTypeNamesFromType;
108
113
  /**
109
114
  * Get dependencies from endpoints
110
115
  */
111
116
  private getDependencies;
112
- /**
113
- * Apply configured prefix/suffix to a type name
114
- */
115
- /**
116
- * Normalize a type name using the same rules as BaseTypeGenerator and apply prefix/suffix
117
- */
118
- private formatTypeName;
119
- private toPascalCase;
120
117
  /**
121
118
  * Get client name
122
119
  */
@@ -133,13 +130,5 @@ export declare class ApiClientGenerator {
133
130
  * Capitalize string
134
131
  */
135
132
  private capitalize;
136
- /**
137
- * Extract type name from reference
138
- */
139
- private extractTypeNameFromRef;
140
- /**
141
- * Map schema type to TypeScript
142
- */
143
- private mapSchemaTypeToTypeScript;
144
133
  }
145
134
  //# sourceMappingURL=api-client-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client-generator.d.ts","sourceRoot":"","sources":["../../src/generators/api-client-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAKnB,MAAM,eAAe,CAAC;AAGvB;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAoB;gBACvB,OAAO,EAAE,iBAAiB;IAKtC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,kBAAkB;IAyBxD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0CxB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2CvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgD1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoExB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6EzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyChC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4C/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0C9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA+E9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA4BjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0C7B;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAuDlC"}
1
+ {"version":3,"file":"api-client-generator.d.ts","sourceRoot":"","sources":["../../src/generators/api-client-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAKnB,MAAM,eAAe,CAAC;AAKvB;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAS;gBACxB,OAAO,EAAE,iBAAiB;IAKtC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,kBAAkB;IA+BxD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IAgDxB;;OAEG;IACH,OAAO,CAAC,eAAe;IA+EvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoDzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8C1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoDxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiH9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2C7B;;OAEG;IACH,OAAO,CAAC,UAAU;CAInB"}