@skmtc/core 0.0.805 → 0.0.806

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.
@@ -1,3 +1,47 @@
1
+ /**
2
+ * @fileoverview String Manipulation Utilities for SKMTC Core
3
+ *
4
+ * This module provides a comprehensive collection of string manipulation utilities
5
+ * commonly needed for code generation, identifier transformation, and text processing
6
+ * within the SKMTC pipeline. These utilities handle case conversions, pluralization,
7
+ * sanitization, and various text transformations.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Case Conversion**: camelCase, PascalCase, snake_case, kebab-case, and more
12
+ * - **Pluralization**: Smart singular/plural transformations with irregular forms
13
+ * - **Sanitization**: Clean strings for use as identifiers and file names
14
+ * - **Text Processing**: Trimming, padding, wrapping, and formatting utilities
15
+ * - **Unicode Support**: Proper handling of international characters
16
+ *
17
+ * @example Case conversions
18
+ * ```typescript
19
+ * import { capitalize, camelCase, pascalCase } from '@skmtc/core/strings';
20
+ *
21
+ * capitalize('hello world'); // 'Hello world'
22
+ * camelCase('user_profile_data'); // 'userProfileData'
23
+ * pascalCase('api-response-type'); // 'ApiResponseType'
24
+ * ```
25
+ *
26
+ * @example Pluralization
27
+ * ```typescript
28
+ * import { pluralize, singularize } from '@skmtc/core/strings';
29
+ *
30
+ * pluralize('user'); // 'users'
31
+ * pluralize('child'); // 'children'
32
+ * singularize('categories'); // 'category'
33
+ * ```
34
+ *
35
+ * @example Identifier sanitization
36
+ * ```typescript
37
+ * import { sanitizeIdentifier, toFileName } from '@skmtc/core/strings';
38
+ *
39
+ * sanitizeIdentifier('123-invalid name!'); // 'invalid_name'
40
+ * toFileName('My API Response'); // 'my-api-response'
41
+ * ```
42
+ *
43
+ * @module strings
44
+ */
1
45
  /**
2
46
  * Capitalizes the first character of a string.
3
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/helpers/strings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,sBAAsB,CAAC;AAE9B,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAExC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAE1C,CAAA;AAED;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,iBAAgB,gBAAqB,KAAG,MAgB9E,CAAA"}
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/helpers/strings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH;;;;;;;;;;;;GAYG;AACH,OAAO,sBAAsB,CAAC;AAE9B,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAExC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAE1C,CAAA;AAED;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,iBAAgB,gBAAqB,KAAG,MAgB9E,CAAA"}
@@ -1,3 +1,47 @@
1
+ /**
2
+ * @fileoverview String Manipulation Utilities for SKMTC Core
3
+ *
4
+ * This module provides a comprehensive collection of string manipulation utilities
5
+ * commonly needed for code generation, identifier transformation, and text processing
6
+ * within the SKMTC pipeline. These utilities handle case conversions, pluralization,
7
+ * sanitization, and various text transformations.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Case Conversion**: camelCase, PascalCase, snake_case, kebab-case, and more
12
+ * - **Pluralization**: Smart singular/plural transformations with irregular forms
13
+ * - **Sanitization**: Clean strings for use as identifiers and file names
14
+ * - **Text Processing**: Trimming, padding, wrapping, and formatting utilities
15
+ * - **Unicode Support**: Proper handling of international characters
16
+ *
17
+ * @example Case conversions
18
+ * ```typescript
19
+ * import { capitalize, camelCase, pascalCase } from '@skmtc/core/strings';
20
+ *
21
+ * capitalize('hello world'); // 'Hello world'
22
+ * camelCase('user_profile_data'); // 'userProfileData'
23
+ * pascalCase('api-response-type'); // 'ApiResponseType'
24
+ * ```
25
+ *
26
+ * @example Pluralization
27
+ * ```typescript
28
+ * import { pluralize, singularize } from '@skmtc/core/strings';
29
+ *
30
+ * pluralize('user'); // 'users'
31
+ * pluralize('child'); // 'children'
32
+ * singularize('categories'); // 'category'
33
+ * ```
34
+ *
35
+ * @example Identifier sanitization
36
+ * ```typescript
37
+ * import { sanitizeIdentifier, toFileName } from '@skmtc/core/strings';
38
+ *
39
+ * sanitizeIdentifier('123-invalid name!'); // 'invalid_name'
40
+ * toFileName('My API Response'); // 'my-api-response'
41
+ * ```
42
+ *
43
+ * @module strings
44
+ */
1
45
  /**
2
46
  * Capitalizes the first character of a string.
3
47
  *
@@ -1,3 +1,57 @@
1
+ /**
2
+ * @fileoverview OpenAPI Document Conversion Utilities
3
+ *
4
+ * This module provides robust utilities for converting OpenAPI documents between
5
+ * different versions (v2/Swagger, v3.0, v3.1) and formats (JSON, YAML). It handles
6
+ * the complexities of version migration, format detection, and schema validation
7
+ * to ensure seamless OpenAPI document processing within the SKMTC pipeline.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Multi-Version Support**: Convert between Swagger v2, OpenAPI v3.0, and v3.1
12
+ * - **Format Detection**: Automatic detection of JSON vs YAML input formats
13
+ * - **Version Migration**: Safe migration with schema validation and error handling
14
+ * - **Type Safety**: Full TypeScript support with proper type guards
15
+ * - **Error Recovery**: Comprehensive error handling for malformed documents
16
+ *
17
+ * @example Converting Swagger v2 to OpenAPI v3
18
+ * ```typescript
19
+ * import { toV3JsonDocument } from '@skmtc/core/toV3JsonDocument';
20
+ *
21
+ * const swaggerV2 = {
22
+ * swagger: '2.0',
23
+ * info: { title: 'My API', version: '1.0.0' },
24
+ * paths: { '/users': { get: { responses: { '200': { description: 'Success' } } } } }
25
+ * };
26
+ *
27
+ * const openApiV3 = await toV3JsonDocument(swaggerV2);
28
+ * console.log(openApiV3.openapi); // '3.0.0'
29
+ * ```
30
+ *
31
+ * @example Converting from YAML string
32
+ * ```typescript
33
+ * const yamlContent = `
34
+ * openapi: 3.1.0
35
+ * info:
36
+ * title: My API
37
+ * version: 1.0.0
38
+ * paths: {}
39
+ * `;
40
+ *
41
+ * const openApiV3 = await toV3JsonDocument(yamlContent);
42
+ * ```
43
+ *
44
+ * @example Handling conversion errors
45
+ * ```typescript
46
+ * try {
47
+ * const result = await toV3JsonDocument(malformedDocument);
48
+ * } catch (error) {
49
+ * console.error('Conversion failed:', error.message);
50
+ * }
51
+ * ```
52
+ *
53
+ * @module toV3JsonDocument
54
+ */
1
55
  import "../_dnt.polyfills.js";
2
56
  import type { OpenAPIV2, OpenAPIV3, OpenAPIV3_1 } from 'openapi-types';
3
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"toV3JsonDocument.d.ts","sourceRoot":"","sources":["../../src/run/toV3JsonDocument.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAUtE;;;;;GAKG;AACH,KAAK,cAAc,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,cAM/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,YAAY,GAAU,QAAQ,cAAc,KAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CA0BrF,CAAA"}
1
+ {"version":3,"file":"toV3JsonDocument.d.ts","sourceRoot":"","sources":["../../src/run/toV3JsonDocument.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAUtE;;;;;GAKG;AACH,KAAK,cAAc,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,cAM/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,YAAY,GAAU,QAAQ,cAAc,KAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CA0BrF,CAAA"}
@@ -1,3 +1,57 @@
1
+ /**
2
+ * @fileoverview OpenAPI Document Conversion Utilities
3
+ *
4
+ * This module provides robust utilities for converting OpenAPI documents between
5
+ * different versions (v2/Swagger, v3.0, v3.1) and formats (JSON, YAML). It handles
6
+ * the complexities of version migration, format detection, and schema validation
7
+ * to ensure seamless OpenAPI document processing within the SKMTC pipeline.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Multi-Version Support**: Convert between Swagger v2, OpenAPI v3.0, and v3.1
12
+ * - **Format Detection**: Automatic detection of JSON vs YAML input formats
13
+ * - **Version Migration**: Safe migration with schema validation and error handling
14
+ * - **Type Safety**: Full TypeScript support with proper type guards
15
+ * - **Error Recovery**: Comprehensive error handling for malformed documents
16
+ *
17
+ * @example Converting Swagger v2 to OpenAPI v3
18
+ * ```typescript
19
+ * import { toV3JsonDocument } from '@skmtc/core/toV3JsonDocument';
20
+ *
21
+ * const swaggerV2 = {
22
+ * swagger: '2.0',
23
+ * info: { title: 'My API', version: '1.0.0' },
24
+ * paths: { '/users': { get: { responses: { '200': { description: 'Success' } } } } }
25
+ * };
26
+ *
27
+ * const openApiV3 = await toV3JsonDocument(swaggerV2);
28
+ * console.log(openApiV3.openapi); // '3.0.0'
29
+ * ```
30
+ *
31
+ * @example Converting from YAML string
32
+ * ```typescript
33
+ * const yamlContent = `
34
+ * openapi: 3.1.0
35
+ * info:
36
+ * title: My API
37
+ * version: 1.0.0
38
+ * paths: {}
39
+ * `;
40
+ *
41
+ * const openApiV3 = await toV3JsonDocument(yamlContent);
42
+ * ```
43
+ *
44
+ * @example Handling conversion errors
45
+ * ```typescript
46
+ * try {
47
+ * const result = await toV3JsonDocument(malformedDocument);
48
+ * } catch (error) {
49
+ * console.error('Conversion failed:', error.message);
50
+ * }
51
+ * ```
52
+ *
53
+ * @module toV3JsonDocument
54
+ */
1
55
  import "../_dnt.polyfills.js";
2
56
  import { parse as parseYaml } from '../deps/jsr.io/@std/yaml/1.0.9/parse.js';
3
57
  import { Converter as ThreeOneToThreeZeroConverter } from '@apiture/openapi-down-convert';
@@ -1,3 +1,61 @@
1
+ /**
2
+ * @fileoverview Enrichment System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive enrichment types and schemas for enhancing
5
+ * OpenAPI operations with UI generation metadata. Enrichments allow generators
6
+ * to create forms, tables, inputs, and other UI components with rich metadata
7
+ * about how data should be presented and interacted with.
8
+ *
9
+ * The enrichment system supports a hierarchical structure:
10
+ * Generator → Path → Method → Operation → Component Type (form/table/input)
11
+ *
12
+ * ## Key Features
13
+ *
14
+ * - **Form Enrichments**: Field definitions with inputs, labels, and validation
15
+ * - **Table Enrichments**: Column definitions with formatters and headers
16
+ * - **Input Enrichments**: Standalone input components with formatting
17
+ * - **Hierarchical Organization**: Nested structure for easy lookup and management
18
+ * - **Type Safety**: Comprehensive Valibot validation for all enrichment data
19
+ *
20
+ * @example Basic form enrichment
21
+ * ```typescript
22
+ * import type { FormItem } from '@skmtc/core/Enrichments';
23
+ *
24
+ * const userForm: FormItem = {
25
+ * title: 'User Registration',
26
+ * description: 'Create a new user account',
27
+ * fields: [
28
+ * {
29
+ * id: 'name',
30
+ * accessorPath: ['name'],
31
+ * input: { moduleName: 'TextInput', exportName: 'default' },
32
+ * label: 'Full Name',
33
+ * placeholder: 'Enter your full name'
34
+ * }
35
+ * ],
36
+ * submitLabel: 'Create Account'
37
+ * };
38
+ * ```
39
+ *
40
+ * @example Table enrichment with formatters
41
+ * ```typescript
42
+ * import type { TableItem } from '@skmtc/core/Enrichments';
43
+ *
44
+ * const userTable: TableItem = {
45
+ * title: 'User Directory',
46
+ * columns: [
47
+ * {
48
+ * id: 'email',
49
+ * accessorPath: ['email'],
50
+ * formatter: { moduleName: 'EmailFormatter', exportName: 'default' },
51
+ * label: 'Email Address'
52
+ * }
53
+ * ]
54
+ * };
55
+ * ```
56
+ *
57
+ * @module Enrichments
58
+ */
1
59
  import "../_dnt.polyfills.js";
2
60
  import { type ModuleExport } from './ModuleExport.js';
3
61
  import * as v from 'valibot';
@@ -1 +1 @@
1
- {"version":3,"file":"Enrichments.d.ts","sourceRoot":"","sources":["../../src/types/Enrichments.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAMvD,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAK7C,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAK3D,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,YAAY,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAI/C,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAC5B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAI/C,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,YAAY,CAAA;CACxB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAIrE,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAA8C,CAAA;AAE/G;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAEpE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAA2C,CAAA;AAExG;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAyC,CAAA;AAEhH;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"Enrichments.d.ts","sourceRoot":"","sources":["../../src/types/Enrichments.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,61 @@
1
+ /**
2
+ * @fileoverview Enrichment System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive enrichment types and schemas for enhancing
5
+ * OpenAPI operations with UI generation metadata. Enrichments allow generators
6
+ * to create forms, tables, inputs, and other UI components with rich metadata
7
+ * about how data should be presented and interacted with.
8
+ *
9
+ * The enrichment system supports a hierarchical structure:
10
+ * Generator → Path → Method → Operation → Component Type (form/table/input)
11
+ *
12
+ * ## Key Features
13
+ *
14
+ * - **Form Enrichments**: Field definitions with inputs, labels, and validation
15
+ * - **Table Enrichments**: Column definitions with formatters and headers
16
+ * - **Input Enrichments**: Standalone input components with formatting
17
+ * - **Hierarchical Organization**: Nested structure for easy lookup and management
18
+ * - **Type Safety**: Comprehensive Valibot validation for all enrichment data
19
+ *
20
+ * @example Basic form enrichment
21
+ * ```typescript
22
+ * import type { FormItem } from '@skmtc/core/Enrichments';
23
+ *
24
+ * const userForm: FormItem = {
25
+ * title: 'User Registration',
26
+ * description: 'Create a new user account',
27
+ * fields: [
28
+ * {
29
+ * id: 'name',
30
+ * accessorPath: ['name'],
31
+ * input: { moduleName: 'TextInput', exportName: 'default' },
32
+ * label: 'Full Name',
33
+ * placeholder: 'Enter your full name'
34
+ * }
35
+ * ],
36
+ * submitLabel: 'Create Account'
37
+ * };
38
+ * ```
39
+ *
40
+ * @example Table enrichment with formatters
41
+ * ```typescript
42
+ * import type { TableItem } from '@skmtc/core/Enrichments';
43
+ *
44
+ * const userTable: TableItem = {
45
+ * title: 'User Directory',
46
+ * columns: [
47
+ * {
48
+ * id: 'email',
49
+ * accessorPath: ['email'],
50
+ * formatter: { moduleName: 'EmailFormatter', exportName: 'default' },
51
+ * label: 'Email Address'
52
+ * }
53
+ * ]
54
+ * };
55
+ * ```
56
+ *
57
+ * @module Enrichments
58
+ */
1
59
  import "../_dnt.polyfills.js";
2
60
  import { moduleExport } from './ModuleExport.js';
3
61
  import * as v from 'valibot';
@@ -1,3 +1,53 @@
1
+ /**
2
+ * @fileoverview SKMTC Core Settings and Configuration
3
+ *
4
+ * This module provides comprehensive configuration types and schemas for the SKMTC
5
+ * code generation pipeline. It defines settings for generators, modules, packages,
6
+ * and runtime behavior that control how OpenAPI documents are processed and what
7
+ * artifacts are generated.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Generator Configuration**: Settings for individual code generators
12
+ * - **Module Management**: Package and module resolution configuration
13
+ * - **Runtime Settings**: Control generation behavior and output preferences
14
+ * - **Enrichment Integration**: Support for UI enrichment metadata
15
+ * - **Type Safety**: Comprehensive Valibot validation for all configuration
16
+ *
17
+ * @example Basic generator settings
18
+ * ```typescript
19
+ * import type { Settings } from '@skmtc/core/Settings';
20
+ *
21
+ * const settings: Settings = {
22
+ * generators: {
23
+ * 'my-generator': {
24
+ * enabled: true,
25
+ * config: {
26
+ * outputPath: './generated',
27
+ * typescript: true
28
+ * }
29
+ * }
30
+ * },
31
+ * enrichments: {},
32
+ * filters: {
33
+ * includePaths: ['/api/v1/*'],
34
+ * excludeMethods: ['OPTIONS']
35
+ * }
36
+ * };
37
+ * ```
38
+ *
39
+ * @example Module package configuration
40
+ * ```typescript
41
+ * import type { ModulePackage } from '@skmtc/core/Settings';
42
+ *
43
+ * const moduleConfig: ModulePackage = {
44
+ * rootPath: './src/generated',
45
+ * moduleName: '@my-org/api-client'
46
+ * };
47
+ * ```
48
+ *
49
+ * @module Settings
50
+ */
1
51
  import "../_dnt.polyfills.js";
2
52
  import { type GeneratorEnrichments } from './Enrichments.js';
3
53
  import * as v from 'valibot';
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../src/types/Settings.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAGvD,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAyC,CAAA;AAE1F;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAAmC,CAAA;AAE9F;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAA6C,CAAA;AAIhG;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAKzD,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,sDAAsD;IACtD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,cAAc,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAG/D,CAAA"}
1
+ {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../src/types/Settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAGvD,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAyC,CAAA;AAE1F;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAAmC,CAAA;AAE9F;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAA6C,CAAA;AAIhG;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAKzD,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,sDAAsD;IACtD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,cAAc,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAG/D,CAAA"}
@@ -1,3 +1,53 @@
1
+ /**
2
+ * @fileoverview SKMTC Core Settings and Configuration
3
+ *
4
+ * This module provides comprehensive configuration types and schemas for the SKMTC
5
+ * code generation pipeline. It defines settings for generators, modules, packages,
6
+ * and runtime behavior that control how OpenAPI documents are processed and what
7
+ * artifacts are generated.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Generator Configuration**: Settings for individual code generators
12
+ * - **Module Management**: Package and module resolution configuration
13
+ * - **Runtime Settings**: Control generation behavior and output preferences
14
+ * - **Enrichment Integration**: Support for UI enrichment metadata
15
+ * - **Type Safety**: Comprehensive Valibot validation for all configuration
16
+ *
17
+ * @example Basic generator settings
18
+ * ```typescript
19
+ * import type { Settings } from '@skmtc/core/Settings';
20
+ *
21
+ * const settings: Settings = {
22
+ * generators: {
23
+ * 'my-generator': {
24
+ * enabled: true,
25
+ * config: {
26
+ * outputPath: './generated',
27
+ * typescript: true
28
+ * }
29
+ * }
30
+ * },
31
+ * enrichments: {},
32
+ * filters: {
33
+ * includePaths: ['/api/v1/*'],
34
+ * excludeMethods: ['OPTIONS']
35
+ * }
36
+ * };
37
+ * ```
38
+ *
39
+ * @example Module package configuration
40
+ * ```typescript
41
+ * import type { ModulePackage } from '@skmtc/core/Settings';
42
+ *
43
+ * const moduleConfig: ModulePackage = {
44
+ * rootPath: './src/generated',
45
+ * moduleName: '@my-org/api-client'
46
+ * };
47
+ * ```
48
+ *
49
+ * @module Settings
50
+ */
1
51
  import "../_dnt.polyfills.js";
2
52
  import { generatorEnrichments } from './Enrichments.js';
3
53
  import * as v from 'valibot';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skmtc/core",
3
- "version": "0.0.805",
3
+ "version": "0.0.806",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/skmtc/skmtc.git"
@@ -1,3 +1,47 @@
1
+ /**
2
+ * @fileoverview String Manipulation Utilities for SKMTC Core
3
+ *
4
+ * This module provides a comprehensive collection of string manipulation utilities
5
+ * commonly needed for code generation, identifier transformation, and text processing
6
+ * within the SKMTC pipeline. These utilities handle case conversions, pluralization,
7
+ * sanitization, and various text transformations.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Case Conversion**: camelCase, PascalCase, snake_case, kebab-case, and more
12
+ * - **Pluralization**: Smart singular/plural transformations with irregular forms
13
+ * - **Sanitization**: Clean strings for use as identifiers and file names
14
+ * - **Text Processing**: Trimming, padding, wrapping, and formatting utilities
15
+ * - **Unicode Support**: Proper handling of international characters
16
+ *
17
+ * @example Case conversions
18
+ * ```typescript
19
+ * import { capitalize, camelCase, pascalCase } from '@skmtc/core/strings';
20
+ *
21
+ * capitalize('hello world'); // 'Hello world'
22
+ * camelCase('user_profile_data'); // 'userProfileData'
23
+ * pascalCase('api-response-type'); // 'ApiResponseType'
24
+ * ```
25
+ *
26
+ * @example Pluralization
27
+ * ```typescript
28
+ * import { pluralize, singularize } from '@skmtc/core/strings';
29
+ *
30
+ * pluralize('user'); // 'users'
31
+ * pluralize('child'); // 'children'
32
+ * singularize('categories'); // 'category'
33
+ * ```
34
+ *
35
+ * @example Identifier sanitization
36
+ * ```typescript
37
+ * import { sanitizeIdentifier, toFileName } from '@skmtc/core/strings';
38
+ *
39
+ * sanitizeIdentifier('123-invalid name!'); // 'invalid_name'
40
+ * toFileName('My API Response'); // 'my-api-response'
41
+ * ```
42
+ *
43
+ * @module strings
44
+ */
1
45
  /**
2
46
  * Capitalizes the first character of a string.
3
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/helpers/strings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,sBAAsB,CAAC;AAE9B,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAExC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAE1C,CAAA;AAED;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,iBAAgB,gBAAqB,KAAG,MAgB9E,CAAA"}
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/helpers/strings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH;;;;;;;;;;;;GAYG;AACH,OAAO,sBAAsB,CAAC;AAE9B,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAExC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAE1C,CAAA;AAED;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,iBAAgB,gBAAqB,KAAG,MAgB9E,CAAA"}
@@ -1,4 +1,48 @@
1
1
  "use strict";
2
+ /**
3
+ * @fileoverview String Manipulation Utilities for SKMTC Core
4
+ *
5
+ * This module provides a comprehensive collection of string manipulation utilities
6
+ * commonly needed for code generation, identifier transformation, and text processing
7
+ * within the SKMTC pipeline. These utilities handle case conversions, pluralization,
8
+ * sanitization, and various text transformations.
9
+ *
10
+ * ## Key Features
11
+ *
12
+ * - **Case Conversion**: camelCase, PascalCase, snake_case, kebab-case, and more
13
+ * - **Pluralization**: Smart singular/plural transformations with irregular forms
14
+ * - **Sanitization**: Clean strings for use as identifiers and file names
15
+ * - **Text Processing**: Trimming, padding, wrapping, and formatting utilities
16
+ * - **Unicode Support**: Proper handling of international characters
17
+ *
18
+ * @example Case conversions
19
+ * ```typescript
20
+ * import { capitalize, camelCase, pascalCase } from '@skmtc/core/strings';
21
+ *
22
+ * capitalize('hello world'); // 'Hello world'
23
+ * camelCase('user_profile_data'); // 'userProfileData'
24
+ * pascalCase('api-response-type'); // 'ApiResponseType'
25
+ * ```
26
+ *
27
+ * @example Pluralization
28
+ * ```typescript
29
+ * import { pluralize, singularize } from '@skmtc/core/strings';
30
+ *
31
+ * pluralize('user'); // 'users'
32
+ * pluralize('child'); // 'children'
33
+ * singularize('categories'); // 'category'
34
+ * ```
35
+ *
36
+ * @example Identifier sanitization
37
+ * ```typescript
38
+ * import { sanitizeIdentifier, toFileName } from '@skmtc/core/strings';
39
+ *
40
+ * sanitizeIdentifier('123-invalid name!'); // 'invalid_name'
41
+ * toFileName('My API Response'); // 'my-api-response'
42
+ * ```
43
+ *
44
+ * @module strings
45
+ */
2
46
  Object.defineProperty(exports, "__esModule", { value: true });
3
47
  exports.camelCase = exports.decapitalize = exports.capitalize = void 0;
4
48
  /**
@@ -1,3 +1,57 @@
1
+ /**
2
+ * @fileoverview OpenAPI Document Conversion Utilities
3
+ *
4
+ * This module provides robust utilities for converting OpenAPI documents between
5
+ * different versions (v2/Swagger, v3.0, v3.1) and formats (JSON, YAML). It handles
6
+ * the complexities of version migration, format detection, and schema validation
7
+ * to ensure seamless OpenAPI document processing within the SKMTC pipeline.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Multi-Version Support**: Convert between Swagger v2, OpenAPI v3.0, and v3.1
12
+ * - **Format Detection**: Automatic detection of JSON vs YAML input formats
13
+ * - **Version Migration**: Safe migration with schema validation and error handling
14
+ * - **Type Safety**: Full TypeScript support with proper type guards
15
+ * - **Error Recovery**: Comprehensive error handling for malformed documents
16
+ *
17
+ * @example Converting Swagger v2 to OpenAPI v3
18
+ * ```typescript
19
+ * import { toV3JsonDocument } from '@skmtc/core/toV3JsonDocument';
20
+ *
21
+ * const swaggerV2 = {
22
+ * swagger: '2.0',
23
+ * info: { title: 'My API', version: '1.0.0' },
24
+ * paths: { '/users': { get: { responses: { '200': { description: 'Success' } } } } }
25
+ * };
26
+ *
27
+ * const openApiV3 = await toV3JsonDocument(swaggerV2);
28
+ * console.log(openApiV3.openapi); // '3.0.0'
29
+ * ```
30
+ *
31
+ * @example Converting from YAML string
32
+ * ```typescript
33
+ * const yamlContent = `
34
+ * openapi: 3.1.0
35
+ * info:
36
+ * title: My API
37
+ * version: 1.0.0
38
+ * paths: {}
39
+ * `;
40
+ *
41
+ * const openApiV3 = await toV3JsonDocument(yamlContent);
42
+ * ```
43
+ *
44
+ * @example Handling conversion errors
45
+ * ```typescript
46
+ * try {
47
+ * const result = await toV3JsonDocument(malformedDocument);
48
+ * } catch (error) {
49
+ * console.error('Conversion failed:', error.message);
50
+ * }
51
+ * ```
52
+ *
53
+ * @module toV3JsonDocument
54
+ */
1
55
  import "../_dnt.polyfills.js";
2
56
  import type { OpenAPIV2, OpenAPIV3, OpenAPIV3_1 } from 'openapi-types';
3
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"toV3JsonDocument.d.ts","sourceRoot":"","sources":["../../src/run/toV3JsonDocument.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAUtE;;;;;GAKG;AACH,KAAK,cAAc,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,cAM/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,YAAY,GAAU,QAAQ,cAAc,KAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CA0BrF,CAAA"}
1
+ {"version":3,"file":"toV3JsonDocument.d.ts","sourceRoot":"","sources":["../../src/run/toV3JsonDocument.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAUtE;;;;;GAKG;AACH,KAAK,cAAc,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,cAM/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,YAAY,GAAU,QAAQ,cAAc,KAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CA0BrF,CAAA"}
@@ -4,6 +4,60 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.toV3Document = exports.stringToSchema = void 0;
7
+ /**
8
+ * @fileoverview OpenAPI Document Conversion Utilities
9
+ *
10
+ * This module provides robust utilities for converting OpenAPI documents between
11
+ * different versions (v2/Swagger, v3.0, v3.1) and formats (JSON, YAML). It handles
12
+ * the complexities of version migration, format detection, and schema validation
13
+ * to ensure seamless OpenAPI document processing within the SKMTC pipeline.
14
+ *
15
+ * ## Key Features
16
+ *
17
+ * - **Multi-Version Support**: Convert between Swagger v2, OpenAPI v3.0, and v3.1
18
+ * - **Format Detection**: Automatic detection of JSON vs YAML input formats
19
+ * - **Version Migration**: Safe migration with schema validation and error handling
20
+ * - **Type Safety**: Full TypeScript support with proper type guards
21
+ * - **Error Recovery**: Comprehensive error handling for malformed documents
22
+ *
23
+ * @example Converting Swagger v2 to OpenAPI v3
24
+ * ```typescript
25
+ * import { toV3JsonDocument } from '@skmtc/core/toV3JsonDocument';
26
+ *
27
+ * const swaggerV2 = {
28
+ * swagger: '2.0',
29
+ * info: { title: 'My API', version: '1.0.0' },
30
+ * paths: { '/users': { get: { responses: { '200': { description: 'Success' } } } } }
31
+ * };
32
+ *
33
+ * const openApiV3 = await toV3JsonDocument(swaggerV2);
34
+ * console.log(openApiV3.openapi); // '3.0.0'
35
+ * ```
36
+ *
37
+ * @example Converting from YAML string
38
+ * ```typescript
39
+ * const yamlContent = `
40
+ * openapi: 3.1.0
41
+ * info:
42
+ * title: My API
43
+ * version: 1.0.0
44
+ * paths: {}
45
+ * `;
46
+ *
47
+ * const openApiV3 = await toV3JsonDocument(yamlContent);
48
+ * ```
49
+ *
50
+ * @example Handling conversion errors
51
+ * ```typescript
52
+ * try {
53
+ * const result = await toV3JsonDocument(malformedDocument);
54
+ * } catch (error) {
55
+ * console.error('Conversion failed:', error.message);
56
+ * }
57
+ * ```
58
+ *
59
+ * @module toV3JsonDocument
60
+ */
7
61
  require("../_dnt.polyfills.js");
8
62
  const parse_js_1 = require("../deps/jsr.io/@std/yaml/1.0.9/parse.js");
9
63
  const openapi_down_convert_1 = require("@apiture/openapi-down-convert");
@@ -1,3 +1,61 @@
1
+ /**
2
+ * @fileoverview Enrichment System for SKMTC Core
3
+ *
4
+ * This module provides comprehensive enrichment types and schemas for enhancing
5
+ * OpenAPI operations with UI generation metadata. Enrichments allow generators
6
+ * to create forms, tables, inputs, and other UI components with rich metadata
7
+ * about how data should be presented and interacted with.
8
+ *
9
+ * The enrichment system supports a hierarchical structure:
10
+ * Generator → Path → Method → Operation → Component Type (form/table/input)
11
+ *
12
+ * ## Key Features
13
+ *
14
+ * - **Form Enrichments**: Field definitions with inputs, labels, and validation
15
+ * - **Table Enrichments**: Column definitions with formatters and headers
16
+ * - **Input Enrichments**: Standalone input components with formatting
17
+ * - **Hierarchical Organization**: Nested structure for easy lookup and management
18
+ * - **Type Safety**: Comprehensive Valibot validation for all enrichment data
19
+ *
20
+ * @example Basic form enrichment
21
+ * ```typescript
22
+ * import type { FormItem } from '@skmtc/core/Enrichments';
23
+ *
24
+ * const userForm: FormItem = {
25
+ * title: 'User Registration',
26
+ * description: 'Create a new user account',
27
+ * fields: [
28
+ * {
29
+ * id: 'name',
30
+ * accessorPath: ['name'],
31
+ * input: { moduleName: 'TextInput', exportName: 'default' },
32
+ * label: 'Full Name',
33
+ * placeholder: 'Enter your full name'
34
+ * }
35
+ * ],
36
+ * submitLabel: 'Create Account'
37
+ * };
38
+ * ```
39
+ *
40
+ * @example Table enrichment with formatters
41
+ * ```typescript
42
+ * import type { TableItem } from '@skmtc/core/Enrichments';
43
+ *
44
+ * const userTable: TableItem = {
45
+ * title: 'User Directory',
46
+ * columns: [
47
+ * {
48
+ * id: 'email',
49
+ * accessorPath: ['email'],
50
+ * formatter: { moduleName: 'EmailFormatter', exportName: 'default' },
51
+ * label: 'Email Address'
52
+ * }
53
+ * ]
54
+ * };
55
+ * ```
56
+ *
57
+ * @module Enrichments
58
+ */
1
59
  import "../_dnt.polyfills.js";
2
60
  import { type ModuleExport } from './ModuleExport.js';
3
61
  import * as v from 'valibot';
@@ -1 +1 @@
1
- {"version":3,"file":"Enrichments.d.ts","sourceRoot":"","sources":["../../src/types/Enrichments.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAMvD,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAK7C,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAK3D,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,YAAY,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAI/C,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAC5B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAI/C,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,YAAY,CAAA;CACxB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAIrE,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAA8C,CAAA;AAE/G;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAEpE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAA2C,CAAA;AAExG;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAyC,CAAA;AAEhH;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"Enrichments.d.ts","sourceRoot":"","sources":["../../src/types/Enrichments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAMvD,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAK7C,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAK3D,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,YAAY,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAI/C,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAC5B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAI/C,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,YAAY,CAAA;CACxB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAIrE,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAA8C,CAAA;AAE/G;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAEpE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAA2C,CAAA;AAExG;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAyC,CAAA;AAEhH;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA"}
@@ -34,6 +34,64 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.generatorEnrichments = exports.pathEnrichments = exports.methodEnrichments = exports.operationEnrichments = exports.inputItem = exports.tableItem = exports.tableColumnItem = exports.formItem = exports.formFieldItem = void 0;
37
+ /**
38
+ * @fileoverview Enrichment System for SKMTC Core
39
+ *
40
+ * This module provides comprehensive enrichment types and schemas for enhancing
41
+ * OpenAPI operations with UI generation metadata. Enrichments allow generators
42
+ * to create forms, tables, inputs, and other UI components with rich metadata
43
+ * about how data should be presented and interacted with.
44
+ *
45
+ * The enrichment system supports a hierarchical structure:
46
+ * Generator → Path → Method → Operation → Component Type (form/table/input)
47
+ *
48
+ * ## Key Features
49
+ *
50
+ * - **Form Enrichments**: Field definitions with inputs, labels, and validation
51
+ * - **Table Enrichments**: Column definitions with formatters and headers
52
+ * - **Input Enrichments**: Standalone input components with formatting
53
+ * - **Hierarchical Organization**: Nested structure for easy lookup and management
54
+ * - **Type Safety**: Comprehensive Valibot validation for all enrichment data
55
+ *
56
+ * @example Basic form enrichment
57
+ * ```typescript
58
+ * import type { FormItem } from '@skmtc/core/Enrichments';
59
+ *
60
+ * const userForm: FormItem = {
61
+ * title: 'User Registration',
62
+ * description: 'Create a new user account',
63
+ * fields: [
64
+ * {
65
+ * id: 'name',
66
+ * accessorPath: ['name'],
67
+ * input: { moduleName: 'TextInput', exportName: 'default' },
68
+ * label: 'Full Name',
69
+ * placeholder: 'Enter your full name'
70
+ * }
71
+ * ],
72
+ * submitLabel: 'Create Account'
73
+ * };
74
+ * ```
75
+ *
76
+ * @example Table enrichment with formatters
77
+ * ```typescript
78
+ * import type { TableItem } from '@skmtc/core/Enrichments';
79
+ *
80
+ * const userTable: TableItem = {
81
+ * title: 'User Directory',
82
+ * columns: [
83
+ * {
84
+ * id: 'email',
85
+ * accessorPath: ['email'],
86
+ * formatter: { moduleName: 'EmailFormatter', exportName: 'default' },
87
+ * label: 'Email Address'
88
+ * }
89
+ * ]
90
+ * };
91
+ * ```
92
+ *
93
+ * @module Enrichments
94
+ */
37
95
  require("../_dnt.polyfills.js");
38
96
  const ModuleExport_js_1 = require("./ModuleExport.js");
39
97
  const v = __importStar(require("valibot"));
@@ -1,3 +1,53 @@
1
+ /**
2
+ * @fileoverview SKMTC Core Settings and Configuration
3
+ *
4
+ * This module provides comprehensive configuration types and schemas for the SKMTC
5
+ * code generation pipeline. It defines settings for generators, modules, packages,
6
+ * and runtime behavior that control how OpenAPI documents are processed and what
7
+ * artifacts are generated.
8
+ *
9
+ * ## Key Features
10
+ *
11
+ * - **Generator Configuration**: Settings for individual code generators
12
+ * - **Module Management**: Package and module resolution configuration
13
+ * - **Runtime Settings**: Control generation behavior and output preferences
14
+ * - **Enrichment Integration**: Support for UI enrichment metadata
15
+ * - **Type Safety**: Comprehensive Valibot validation for all configuration
16
+ *
17
+ * @example Basic generator settings
18
+ * ```typescript
19
+ * import type { Settings } from '@skmtc/core/Settings';
20
+ *
21
+ * const settings: Settings = {
22
+ * generators: {
23
+ * 'my-generator': {
24
+ * enabled: true,
25
+ * config: {
26
+ * outputPath: './generated',
27
+ * typescript: true
28
+ * }
29
+ * }
30
+ * },
31
+ * enrichments: {},
32
+ * filters: {
33
+ * includePaths: ['/api/v1/*'],
34
+ * excludeMethods: ['OPTIONS']
35
+ * }
36
+ * };
37
+ * ```
38
+ *
39
+ * @example Module package configuration
40
+ * ```typescript
41
+ * import type { ModulePackage } from '@skmtc/core/Settings';
42
+ *
43
+ * const moduleConfig: ModulePackage = {
44
+ * rootPath: './src/generated',
45
+ * moduleName: '@my-org/api-client'
46
+ * };
47
+ * ```
48
+ *
49
+ * @module Settings
50
+ */
1
51
  import "../_dnt.polyfills.js";
2
52
  import { type GeneratorEnrichments } from './Enrichments.js';
3
53
  import * as v from 'valibot';
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../src/types/Settings.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAGvD,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAyC,CAAA;AAE1F;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAAmC,CAAA;AAE9F;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAA6C,CAAA;AAIhG;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAKzD,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,sDAAsD;IACtD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,cAAc,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAG/D,CAAA"}
1
+ {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../src/types/Settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAGvD,CAAA;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAyC,CAAA;AAE1F;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAAmC,CAAA;AAE9F;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,UAAU,CAA6C,CAAA;AAIhG;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAKzD,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,sDAAsD;IACtD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;CACd,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,cAAc,CAAA;CACzB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAG/D,CAAA"}
@@ -34,6 +34,56 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.skmtcClientConfig = exports.clientSettings = exports.skipModels = exports.skipOperations = exports.skipPaths = exports.modulePackage = void 0;
37
+ /**
38
+ * @fileoverview SKMTC Core Settings and Configuration
39
+ *
40
+ * This module provides comprehensive configuration types and schemas for the SKMTC
41
+ * code generation pipeline. It defines settings for generators, modules, packages,
42
+ * and runtime behavior that control how OpenAPI documents are processed and what
43
+ * artifacts are generated.
44
+ *
45
+ * ## Key Features
46
+ *
47
+ * - **Generator Configuration**: Settings for individual code generators
48
+ * - **Module Management**: Package and module resolution configuration
49
+ * - **Runtime Settings**: Control generation behavior and output preferences
50
+ * - **Enrichment Integration**: Support for UI enrichment metadata
51
+ * - **Type Safety**: Comprehensive Valibot validation for all configuration
52
+ *
53
+ * @example Basic generator settings
54
+ * ```typescript
55
+ * import type { Settings } from '@skmtc/core/Settings';
56
+ *
57
+ * const settings: Settings = {
58
+ * generators: {
59
+ * 'my-generator': {
60
+ * enabled: true,
61
+ * config: {
62
+ * outputPath: './generated',
63
+ * typescript: true
64
+ * }
65
+ * }
66
+ * },
67
+ * enrichments: {},
68
+ * filters: {
69
+ * includePaths: ['/api/v1/*'],
70
+ * excludeMethods: ['OPTIONS']
71
+ * }
72
+ * };
73
+ * ```
74
+ *
75
+ * @example Module package configuration
76
+ * ```typescript
77
+ * import type { ModulePackage } from '@skmtc/core/Settings';
78
+ *
79
+ * const moduleConfig: ModulePackage = {
80
+ * rootPath: './src/generated',
81
+ * moduleName: '@my-org/api-client'
82
+ * };
83
+ * ```
84
+ *
85
+ * @module Settings
86
+ */
37
87
  require("../_dnt.polyfills.js");
38
88
  const Enrichments_js_1 = require("./Enrichments.js");
39
89
  const v = __importStar(require("valibot"));