micro-contracts 0.16.4 → 0.17.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 (181) hide show
  1. package/dist/micro-contracts.bundle.mjs +4682 -0
  2. package/dist/micro-contracts.bundle.mjs.map +7 -0
  3. package/package.json +20 -23
  4. package/dist/agents/context-builder.d.ts +0 -5
  5. package/dist/agents/context-builder.d.ts.map +0 -1
  6. package/dist/agents/context-builder.js +0 -239
  7. package/dist/agents/context-builder.js.map +0 -1
  8. package/dist/agents/formatter.d.ts +0 -9
  9. package/dist/agents/formatter.d.ts.map +0 -1
  10. package/dist/agents/formatter.js +0 -124
  11. package/dist/agents/formatter.js.map +0 -1
  12. package/dist/agents/index.d.ts +0 -5
  13. package/dist/agents/index.d.ts.map +0 -1
  14. package/dist/agents/index.js +0 -3
  15. package/dist/agents/index.js.map +0 -1
  16. package/dist/agents/orchestrator.d.ts +0 -5
  17. package/dist/agents/orchestrator.d.ts.map +0 -1
  18. package/dist/agents/orchestrator.js +0 -105
  19. package/dist/agents/orchestrator.js.map +0 -1
  20. package/dist/agents/types.d.ts +0 -21
  21. package/dist/agents/types.d.ts.map +0 -1
  22. package/dist/agents/types.js +0 -2
  23. package/dist/agents/types.js.map +0 -1
  24. package/dist/cli/templates.d.ts +0 -22
  25. package/dist/cli/templates.d.ts.map +0 -1
  26. package/dist/cli/templates.js +0 -445
  27. package/dist/cli/templates.js.map +0 -1
  28. package/dist/cli.d.ts +0 -3
  29. package/dist/cli.d.ts.map +0 -1
  30. package/dist/cli.js +0 -1142
  31. package/dist/cli.js.map +0 -1
  32. package/dist/commands/audit-guardrails.d.ts +0 -13
  33. package/dist/commands/audit-guardrails.d.ts.map +0 -1
  34. package/dist/commands/audit-guardrails.js +0 -32
  35. package/dist/commands/audit-guardrails.js.map +0 -1
  36. package/dist/commands/audit-openapi.d.ts +0 -13
  37. package/dist/commands/audit-openapi.d.ts.map +0 -1
  38. package/dist/commands/audit-openapi.js +0 -32
  39. package/dist/commands/audit-openapi.js.map +0 -1
  40. package/dist/commands/propose-overlays.d.ts +0 -13
  41. package/dist/commands/propose-overlays.d.ts.map +0 -1
  42. package/dist/commands/propose-overlays.js +0 -32
  43. package/dist/commands/propose-overlays.js.map +0 -1
  44. package/dist/commands/review-published.d.ts +0 -13
  45. package/dist/commands/review-published.d.ts.map +0 -1
  46. package/dist/commands/review-published.js +0 -32
  47. package/dist/commands/review-published.js.map +0 -1
  48. package/dist/generated/commands.d.ts +0 -2
  49. package/dist/generated/commands.d.ts.map +0 -1
  50. package/dist/generated/commands.js +0 -2
  51. package/dist/generated/commands.js.map +0 -1
  52. package/dist/generated/dsl/agents.d.ts +0 -34
  53. package/dist/generated/dsl/agents.d.ts.map +0 -1
  54. package/dist/generated/dsl/agents.js +0 -98
  55. package/dist/generated/dsl/agents.js.map +0 -1
  56. package/dist/generated/dsl/handoffs.d.ts +0 -457
  57. package/dist/generated/dsl/handoffs.d.ts.map +0 -1
  58. package/dist/generated/dsl/handoffs.js +0 -205
  59. package/dist/generated/dsl/handoffs.js.map +0 -1
  60. package/dist/generated/dsl/index.d.ts +0 -13
  61. package/dist/generated/dsl/index.d.ts.map +0 -1
  62. package/dist/generated/dsl/index.js +0 -10
  63. package/dist/generated/dsl/index.js.map +0 -1
  64. package/dist/generated/dsl/tasks.d.ts +0 -26
  65. package/dist/generated/dsl/tasks.d.ts.map +0 -1
  66. package/dist/generated/dsl/tasks.js +0 -133
  67. package/dist/generated/dsl/tasks.js.map +0 -1
  68. package/dist/generated/dsl/workflows.d.ts +0 -34
  69. package/dist/generated/dsl/workflows.d.ts.map +0 -1
  70. package/dist/generated/dsl/workflows.js +0 -84
  71. package/dist/generated/dsl/workflows.js.map +0 -1
  72. package/dist/generated/index.d.ts +0 -7
  73. package/dist/generated/index.d.ts.map +0 -1
  74. package/dist/generated/index.js +0 -7
  75. package/dist/generated/index.js.map +0 -1
  76. package/dist/generated/policy-runtime.d.ts +0 -114
  77. package/dist/generated/policy-runtime.d.ts.map +0 -1
  78. package/dist/generated/policy-runtime.js +0 -195
  79. package/dist/generated/policy-runtime.js.map +0 -1
  80. package/dist/generated/policy.d.ts +0 -619
  81. package/dist/generated/policy.d.ts.map +0 -1
  82. package/dist/generated/policy.js +0 -802
  83. package/dist/generated/policy.js.map +0 -1
  84. package/dist/generated/program.d.ts +0 -112
  85. package/dist/generated/program.d.ts.map +0 -1
  86. package/dist/generated/program.js +0 -266
  87. package/dist/generated/program.js.map +0 -1
  88. package/dist/generated/schemas.d.ts +0 -778
  89. package/dist/generated/schemas.d.ts.map +0 -1
  90. package/dist/generated/schemas.js +0 -1005
  91. package/dist/generated/schemas.js.map +0 -1
  92. package/dist/generated/types.d.ts +0 -395
  93. package/dist/generated/types.d.ts.map +0 -1
  94. package/dist/generated/types.js +0 -3
  95. package/dist/generated/types.js.map +0 -1
  96. package/dist/generator/dependencyGenerator.d.ts +0 -43
  97. package/dist/generator/dependencyGenerator.d.ts.map +0 -1
  98. package/dist/generator/dependencyGenerator.js +0 -159
  99. package/dist/generator/dependencyGenerator.js.map +0 -1
  100. package/dist/generator/index.d.ts +0 -39
  101. package/dist/generator/index.d.ts.map +0 -1
  102. package/dist/generator/index.js +0 -720
  103. package/dist/generator/index.js.map +0 -1
  104. package/dist/generator/inputHash.d.ts +0 -23
  105. package/dist/generator/inputHash.d.ts.map +0 -1
  106. package/dist/generator/inputHash.js +0 -145
  107. package/dist/generator/inputHash.js.map +0 -1
  108. package/dist/generator/linter.d.ts +0 -26
  109. package/dist/generator/linter.d.ts.map +0 -1
  110. package/dist/generator/linter.js +0 -352
  111. package/dist/generator/linter.js.map +0 -1
  112. package/dist/generator/overlayProcessor.d.ts +0 -90
  113. package/dist/generator/overlayProcessor.d.ts.map +0 -1
  114. package/dist/generator/overlayProcessor.js +0 -541
  115. package/dist/generator/overlayProcessor.js.map +0 -1
  116. package/dist/generator/schemaGenerator.d.ts +0 -10
  117. package/dist/generator/schemaGenerator.d.ts.map +0 -1
  118. package/dist/generator/schemaGenerator.js +0 -299
  119. package/dist/generator/schemaGenerator.js.map +0 -1
  120. package/dist/generator/serviceGenerator.d.ts +0 -41
  121. package/dist/generator/serviceGenerator.d.ts.map +0 -1
  122. package/dist/generator/serviceGenerator.js +0 -296
  123. package/dist/generator/serviceGenerator.js.map +0 -1
  124. package/dist/generator/templateProcessor.d.ts +0 -245
  125. package/dist/generator/templateProcessor.d.ts.map +0 -1
  126. package/dist/generator/templateProcessor.js +0 -821
  127. package/dist/generator/templateProcessor.js.map +0 -1
  128. package/dist/generator/typeGenerator.d.ts +0 -9
  129. package/dist/generator/typeGenerator.d.ts.map +0 -1
  130. package/dist/generator/typeGenerator.js +0 -424
  131. package/dist/generator/typeGenerator.js.map +0 -1
  132. package/dist/generator/typeGenerator.test.d.ts +0 -2
  133. package/dist/generator/typeGenerator.test.d.ts.map +0 -1
  134. package/dist/generator/typeGenerator.test.js +0 -122
  135. package/dist/generator/typeGenerator.test.js.map +0 -1
  136. package/dist/guardrails/allowlist.d.ts +0 -45
  137. package/dist/guardrails/allowlist.d.ts.map +0 -1
  138. package/dist/guardrails/allowlist.js +0 -261
  139. package/dist/guardrails/allowlist.js.map +0 -1
  140. package/dist/guardrails/config.d.ts +0 -40
  141. package/dist/guardrails/config.d.ts.map +0 -1
  142. package/dist/guardrails/config.js +0 -174
  143. package/dist/guardrails/config.js.map +0 -1
  144. package/dist/guardrails/docs.d.ts +0 -24
  145. package/dist/guardrails/docs.d.ts.map +0 -1
  146. package/dist/guardrails/docs.js +0 -138
  147. package/dist/guardrails/docs.js.map +0 -1
  148. package/dist/guardrails/drift.d.ts +0 -23
  149. package/dist/guardrails/drift.d.ts.map +0 -1
  150. package/dist/guardrails/drift.js +0 -127
  151. package/dist/guardrails/drift.js.map +0 -1
  152. package/dist/guardrails/index.d.ts +0 -19
  153. package/dist/guardrails/index.d.ts.map +0 -1
  154. package/dist/guardrails/index.js +0 -23
  155. package/dist/guardrails/index.js.map +0 -1
  156. package/dist/guardrails/lint.d.ts +0 -20
  157. package/dist/guardrails/lint.d.ts.map +0 -1
  158. package/dist/guardrails/lint.js +0 -274
  159. package/dist/guardrails/lint.js.map +0 -1
  160. package/dist/guardrails/manifest.d.ts +0 -63
  161. package/dist/guardrails/manifest.d.ts.map +0 -1
  162. package/dist/guardrails/manifest.js +0 -299
  163. package/dist/guardrails/manifest.js.map +0 -1
  164. package/dist/guardrails/runner.d.ts +0 -43
  165. package/dist/guardrails/runner.d.ts.map +0 -1
  166. package/dist/guardrails/runner.js +0 -365
  167. package/dist/guardrails/runner.js.map +0 -1
  168. package/dist/guardrails/typecheck.d.ts +0 -15
  169. package/dist/guardrails/typecheck.d.ts.map +0 -1
  170. package/dist/guardrails/typecheck.js +0 -104
  171. package/dist/guardrails/typecheck.js.map +0 -1
  172. package/dist/guardrails/types.d.ts +0 -202
  173. package/dist/guardrails/types.d.ts.map +0 -1
  174. package/dist/guardrails/types.js +0 -8
  175. package/dist/guardrails/types.js.map +0 -1
  176. package/dist/index.d.ts.map +0 -1
  177. package/dist/index.js.map +0 -1
  178. package/dist/types.d.ts +0 -583
  179. package/dist/types.d.ts.map +0 -1
  180. package/dist/types.js +0 -305
  181. package/dist/types.js.map +0 -1
package/dist/types.d.ts DELETED
@@ -1,583 +0,0 @@
1
- /**
2
- * OpenAPI specification types for code generation
3
- */
4
- export interface OpenAPISpec {
5
- openapi: string;
6
- info: {
7
- title: string;
8
- version: string;
9
- description?: string;
10
- 'x-micro-contracts-depend-on'?: string[];
11
- };
12
- servers?: Array<{
13
- url: string;
14
- description?: string;
15
- }>;
16
- paths: Record<string, PathItem>;
17
- components?: {
18
- schemas?: Record<string, SchemaObject>;
19
- responses?: Record<string, ResponseObject>;
20
- parameters?: Record<string, ParameterObject>;
21
- requestBodies?: Record<string, RequestBodyObject>;
22
- 'x-event-defs'?: Record<string, {
23
- name?: string;
24
- type?: string;
25
- params?: Record<string, string>;
26
- }>;
27
- };
28
- tags?: Array<{
29
- name: string;
30
- description?: string;
31
- }>;
32
- }
33
- export interface PathItem {
34
- get?: OperationObject;
35
- post?: OperationObject;
36
- put?: OperationObject;
37
- patch?: OperationObject;
38
- delete?: OperationObject;
39
- parameters?: ParameterObject[];
40
- }
41
- export interface OperationObject {
42
- operationId?: string;
43
- summary?: string;
44
- description?: string;
45
- tags?: string[];
46
- parameters?: ParameterObject[];
47
- requestBody?: RequestBodyObject | ReferenceObject;
48
- responses: Record<string, ResponseObject | ReferenceObject>;
49
- security?: Array<Record<string, string[]>>;
50
- 'x-micro-contracts-service'?: string;
51
- 'x-micro-contracts-method'?: string;
52
- 'x-micro-contracts-published'?: boolean;
53
- 'x-micro-contracts-depend-on'?: string[];
54
- 'x-auth'?: 'required' | 'optional' | 'none';
55
- 'x-authz'?: string[];
56
- 'x-middleware'?: string[];
57
- 'x-screen-const'?: string;
58
- 'x-screen-id'?: string;
59
- 'x-screen-name'?: string;
60
- 'x-back-navigation'?: boolean;
61
- /** @deprecated Use inline x-event instead. Will be removed in v0.15. */
62
- 'x-events'?: ScreenEventDefinition[];
63
- 'x-event'?: string | InlineEventRaw;
64
- 'x-interactions'?: InteractionDefinitionRaw[];
65
- 'x-view-model'?: string;
66
- 'x-view-props'?: string;
67
- }
68
- /**
69
- * Screen analytics event definition (used in x-events)
70
- * @deprecated Use InlineEventDefinition with inline x-event instead
71
- */
72
- export interface ScreenEventDefinition {
73
- /** Event name (e.g., 'home_view') */
74
- name: string;
75
- /** Event type (e.g., 'screen_view', 'user_action') */
76
- type: string;
77
- /**
78
- * Generated method name (e.g., 'trackView')
79
- * @deprecated Will be removed in v0.15
80
- */
81
- method?: string;
82
- /** Event parameters with their types */
83
- params?: Record<string, string>;
84
- }
85
- /**
86
- * Inline event declaration (placed on get, links, actions, interactions).
87
- * `type` is auto-inferred from placement if omitted in YAML.
88
- */
89
- export interface InlineEventDefinition {
90
- /** Event name (e.g., 'home_view') */
91
- name: string;
92
- /** Event type — resolved from placement or explicit override */
93
- type: string;
94
- /** Event parameters (auto-derived for get/links, or explicit) */
95
- params?: Record<string, string>;
96
- }
97
- /**
98
- * Raw x-event value as it appears in OpenAPI YAML ($ref not yet resolved).
99
- */
100
- export type InlineEventRaw = string | {
101
- name: string;
102
- type?: string;
103
- params?: Record<string, string>;
104
- } | {
105
- $ref: string;
106
- };
107
- /**
108
- * Raw x-interactions entry as it appears in OpenAPI YAML.
109
- * `name` is required. All other fields are optional.
110
- * Projects may add custom fields which are passed through to templates.
111
- */
112
- export interface InteractionDefinitionRaw {
113
- name: string;
114
- description?: string;
115
- 'x-event'?: string | InlineEventRaw;
116
- [key: string]: unknown;
117
- }
118
- export interface ParameterObject {
119
- name: string;
120
- in: 'query' | 'path' | 'header' | 'cookie';
121
- description?: string;
122
- required?: boolean;
123
- schema?: SchemaObject | ReferenceObject;
124
- }
125
- export interface RequestBodyObject {
126
- description?: string;
127
- required?: boolean;
128
- content: Record<string, MediaTypeObject>;
129
- }
130
- export interface ResponseObject {
131
- description: string;
132
- content?: Record<string, MediaTypeObject>;
133
- links?: Record<string, LinkObject>;
134
- }
135
- /**
136
- * OpenAPI Link Object (used for screen navigation targets)
137
- */
138
- export interface LinkObject {
139
- operationId?: string;
140
- description?: string;
141
- 'x-event'?: string | InlineEventRaw;
142
- }
143
- export interface MediaTypeObject {
144
- schema?: SchemaObject | ReferenceObject;
145
- }
146
- export interface ReferenceObject {
147
- $ref: string;
148
- }
149
- /** Primitive OpenAPI type names */
150
- export type OpenAPIType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'null';
151
- export interface SchemaObject {
152
- /** OpenAPI 3.0: single type string. OpenAPI 3.1: may be an array (e.g. ['string', 'null']) */
153
- type?: OpenAPIType | OpenAPIType[];
154
- format?: string;
155
- description?: string;
156
- enum?: Array<string | number | boolean>;
157
- items?: SchemaObject | ReferenceObject;
158
- properties?: Record<string, SchemaObject | ReferenceObject>;
159
- additionalProperties?: boolean | SchemaObject | ReferenceObject;
160
- required?: string[];
161
- nullable?: boolean;
162
- default?: unknown;
163
- minimum?: number;
164
- maximum?: number;
165
- minLength?: number;
166
- maxLength?: number;
167
- pattern?: string;
168
- minItems?: number;
169
- maxItems?: number;
170
- oneOf?: Array<SchemaObject | ReferenceObject>;
171
- anyOf?: Array<SchemaObject | ReferenceObject>;
172
- allOf?: Array<SchemaObject | ReferenceObject>;
173
- 'x-private'?: boolean;
174
- }
175
- /**
176
- * Root configuration file structure
177
- */
178
- export interface MultiModuleConfig {
179
- /** Default settings for all modules */
180
- defaults?: ModuleDefaults;
181
- /** Module definitions */
182
- modules: Record<string, ModuleConfig>;
183
- /** Spec directory structure configuration */
184
- spec?: SpecConfig;
185
- }
186
- /**
187
- * Spec directory structure configuration
188
- */
189
- export interface SpecConfig {
190
- /** Root directory for spec files */
191
- root?: string;
192
- /** Shared resources configuration */
193
- shared?: {
194
- /** Path to shared OpenAPI schemas */
195
- openapi?: string;
196
- /** Path to shared templates */
197
- templates?: string;
198
- /** Path to shared overlays */
199
- overlays?: string;
200
- /** Path to shared spectral rules */
201
- spectral?: string;
202
- };
203
- /** Overlays to apply (in order) */
204
- overlays?: string[];
205
- /** Path to spectral ruleset */
206
- spectral?: string;
207
- }
208
- /**
209
- * Default settings applied to all modules (can be overridden per module)
210
- */
211
- export interface ModuleDefaults {
212
- /** Contract package output config */
213
- contract?: {
214
- /** Output directory (supports {module} placeholder) */
215
- output: string;
216
- /** Path to custom Handlebars template for service interface generation */
217
- serviceTemplate?: string;
218
- };
219
- /** Public contract extraction config */
220
- contractPublic?: {
221
- /** Output directory (supports {module} placeholder) */
222
- output: string;
223
- };
224
- /** Server output config (legacy) */
225
- server?: ServerConfig;
226
- /** Frontend output config (legacy) */
227
- frontend?: FrontendConfig;
228
- /** Documentation config */
229
- docs?: DocsConfig;
230
- /** Overlay configuration */
231
- overlays?: OverlayConfig;
232
- /** Template configuration (legacy) */
233
- templates?: TemplateConfig;
234
- /** Flexible output configuration */
235
- outputs?: Record<string, OutputConfig>;
236
- /** Shared module name for overlays */
237
- sharedModuleName?: string;
238
- }
239
- /**
240
- * Overlay configuration
241
- */
242
- export interface OverlayConfig {
243
- /** Shared overlays applied to all modules */
244
- shared?: string[];
245
- /** Collision policy: error | warn | last-wins */
246
- collision?: 'error' | 'warn' | 'last-wins';
247
- }
248
- /**
249
- * Template configuration (legacy)
250
- */
251
- export interface TemplateConfig {
252
- /** Path to server routes template */
253
- server?: string;
254
- /** Path to frontend client template */
255
- frontend?: string;
256
- /** Path to service interface template */
257
- services?: string;
258
- }
259
- /**
260
- * Output configuration for flexible template-based generation
261
- */
262
- export interface OutputConfig {
263
- /** Output file/directory path (supports {module} placeholder) */
264
- output: string;
265
- /** Template file path (relative to spec/) */
266
- template: string;
267
- /** Don't overwrite if file exists */
268
- overwrite?: boolean;
269
- /** Condition for generating this output */
270
- condition?: 'hasPublicEndpoints' | 'hasOverlays' | 'always';
271
- /** Enable/disable this output */
272
- enabled?: boolean;
273
- /** Template-specific configuration */
274
- config?: Record<string, unknown>;
275
- }
276
- /**
277
- * Dependency reference format: {module}.{service}.{method}
278
- */
279
- export interface DependencyRef {
280
- module: string;
281
- service: string;
282
- method: string;
283
- raw: string;
284
- }
285
- /**
286
- * Parse dependency reference string
287
- */
288
- export declare function parseDependencyRef(ref: string): DependencyRef | null;
289
- /**
290
- * Collected dependencies from OpenAPI spec
291
- */
292
- export interface ModuleDependencies {
293
- /** Module-level dependencies (from info.x-micro-contracts-depend-on) */
294
- moduleLevelDeps: DependencyRef[];
295
- /** Operation-level dependencies */
296
- operationLevelDeps: Map<string, DependencyRef[]>;
297
- /** All unique dependencies */
298
- allDeps: DependencyRef[];
299
- }
300
- /**
301
- * Per-module configuration
302
- */
303
- export interface ModuleConfig {
304
- /** Path to OpenAPI spec file (required) */
305
- openapi: string;
306
- /** Enable screen spec mode (parses x-screen-* extensions into ScreenContext) */
307
- screen?: boolean;
308
- /** Override contract output */
309
- contract?: {
310
- output?: string;
311
- /** Path to custom Handlebars template for service interface generation */
312
- serviceTemplate?: string;
313
- };
314
- /** Override public contract output */
315
- contractPublic?: {
316
- output?: string;
317
- };
318
- /** Override server config (legacy) */
319
- server?: ServerConfig & {
320
- /** Disable server generation for this module */
321
- enabled?: boolean;
322
- };
323
- /** Override frontend config (legacy) */
324
- frontend?: FrontendConfig & {
325
- /** Disable frontend generation for this module */
326
- enabled?: boolean;
327
- };
328
- /** Override docs config */
329
- docs?: DocsConfig;
330
- /** Module-specific overlays */
331
- overlays?: string[];
332
- /** Module-specific templates (legacy) */
333
- templates?: TemplateConfig;
334
- /** Module-specific output overrides */
335
- outputs?: Record<string, Partial<OutputConfig> & {
336
- enabled?: boolean;
337
- }>;
338
- /** Module-specific Spectral config */
339
- spectral?: string;
340
- /** Explicit dependencies (must be subset of OpenAPI x-micro-contracts-depend-on) */
341
- dependsOn?: string[];
342
- }
343
- /**
344
- * Server generation config
345
- */
346
- export interface ServerConfig {
347
- /** Output directory (supports {module} placeholder) */
348
- output?: string;
349
- /** Routes file name */
350
- routes?: string;
351
- /** Path to services object in Fastify (supports {module} placeholder) */
352
- servicesPath?: string;
353
- }
354
- /**
355
- * Frontend generation config
356
- */
357
- export interface FrontendConfig {
358
- /** Output directory (supports {module} placeholder) */
359
- output?: string;
360
- /** Client file name */
361
- client?: string;
362
- /** Service re-exports file name */
363
- service?: string;
364
- /** Shared client config (for contract-published) */
365
- shared?: {
366
- /** Output directory */
367
- output?: string;
368
- /** Client file name (supports {module} placeholder) */
369
- client?: string;
370
- };
371
- }
372
- /**
373
- * Documentation config
374
- */
375
- export interface DocsConfig {
376
- /** Enable documentation generation */
377
- enabled?: boolean;
378
- /** Template for redoc */
379
- template?: string;
380
- }
381
- /**
382
- * Resolved output configuration
383
- */
384
- export interface ResolvedOutputConfig {
385
- /** Output ID */
386
- id: string;
387
- /** Output file/directory path (placeholders expanded) */
388
- output: string;
389
- /** Template file path (resolved) */
390
- template: string;
391
- /** Don't overwrite if file exists */
392
- overwrite: boolean;
393
- /** Condition for generation */
394
- condition: 'hasPublicEndpoints' | 'hasOverlays' | 'always';
395
- /** Enabled */
396
- enabled: boolean;
397
- /** Template-specific configuration */
398
- config: Record<string, unknown>;
399
- }
400
- /**
401
- * Resolved configuration for a single module (after applying defaults)
402
- */
403
- export interface ResolvedModuleConfig {
404
- /** Module name */
405
- name: string;
406
- /** Path to OpenAPI spec file */
407
- openapi: string;
408
- /** Screen spec mode enabled */
409
- screen: boolean;
410
- /** Contract output directory */
411
- contractOutput: string;
412
- /** Public contract output directory */
413
- contractPublicOutput: string;
414
- /** Custom Handlebars template for service interface generation */
415
- serviceTemplate?: string;
416
- /** Server config (null if disabled) - legacy */
417
- server: {
418
- output: string;
419
- routes: string;
420
- servicesPath: string;
421
- template?: string;
422
- } | null;
423
- /** Frontend config (null if disabled) - legacy */
424
- frontend: {
425
- output: string;
426
- client: string;
427
- service: string;
428
- template?: string;
429
- shared: {
430
- output: string;
431
- client: string;
432
- } | null;
433
- } | null;
434
- /** Docs config */
435
- docs: {
436
- enabled: boolean;
437
- template: string;
438
- };
439
- /** Overlay files to apply (in order) */
440
- overlays: string[];
441
- /** Overlay collision policy */
442
- overlayCollision: 'error' | 'warn' | 'last-wins';
443
- /** Resolved outputs (new flexible system) */
444
- outputs: ResolvedOutputConfig[];
445
- /** Module-specific Spectral config path */
446
- spectral?: string;
447
- /** Config-level dependencies (for validation) */
448
- dependsOn?: string[];
449
- }
450
- /**
451
- * Legacy single-module config
452
- * @deprecated Use MultiModuleConfig instead
453
- */
454
- export interface GeneratorConfig {
455
- /** Module name for service access */
456
- moduleName?: string;
457
- /** Contract package output config */
458
- contract?: {
459
- /** Output directory for contract package */
460
- output: string;
461
- /** Path to OpenAPI spec (relative to module directory) */
462
- openapi?: string;
463
- };
464
- /** Public contract extraction config */
465
- contractPublic?: {
466
- /** Output directory for public contract */
467
- output: string;
468
- };
469
- /** Server output config */
470
- server?: {
471
- /** Output directory */
472
- output: string;
473
- /** Routes file name */
474
- routes?: string;
475
- };
476
- /** Frontend output config */
477
- frontend?: {
478
- /** Output directory */
479
- output: string;
480
- /** Client file name */
481
- client?: string;
482
- /** Shared client path (for contract-published) */
483
- shared?: string;
484
- };
485
- /** Documentation config */
486
- docs?: {
487
- /** Enable documentation generation */
488
- enabled?: boolean;
489
- /** Template for redoc */
490
- template?: string;
491
- };
492
- /** @deprecated Use contract.openapi instead */
493
- input?: string;
494
- /** @deprecated Use server.output instead */
495
- output?: string;
496
- /** @deprecated */
497
- generateTypes?: boolean;
498
- /** @deprecated */
499
- generateSchemas?: boolean;
500
- /** @deprecated */
501
- generateRoutes?: boolean;
502
- }
503
- /**
504
- * Check if config is multi-module format
505
- */
506
- export declare function isMultiModuleConfig(config: unknown): config is MultiModuleConfig;
507
- /**
508
- * Expand placeholders in a string
509
- */
510
- export declare function expandPlaceholders(template: string, moduleName: string): string;
511
- /**
512
- * Resolve module config by applying defaults and expanding placeholders
513
- */
514
- export declare function resolveModuleConfig(moduleName: string, moduleConfig: ModuleConfig, defaults?: ModuleDefaults): ResolvedModuleConfig;
515
- export interface RouteInfo {
516
- path: string;
517
- method: 'get' | 'post' | 'put' | 'patch' | 'delete';
518
- operationId: string;
519
- service: string;
520
- serviceMethod: string;
521
- isPublished: boolean;
522
- summary?: string;
523
- tags?: string[];
524
- queryParams?: ParameterInfo[];
525
- pathParams?: ParameterInfo[];
526
- requestBody?: {
527
- schemaName: string;
528
- required: boolean;
529
- };
530
- responses: ResponseInfo[];
531
- /** Middleware/overlay names from x-middleware extension */
532
- overlays?: string[];
533
- }
534
- export interface ParameterInfo {
535
- name: string;
536
- required: boolean;
537
- schemaName?: string;
538
- }
539
- export interface ResponseInfo {
540
- statusCode: string;
541
- schemaName?: string;
542
- }
543
- export interface ServiceInfo {
544
- name: string;
545
- methods: ServiceMethodInfo[];
546
- }
547
- export interface ServiceMethodInfo {
548
- name: string;
549
- operationId: string;
550
- httpMethod: string;
551
- path: string;
552
- isPublished: boolean;
553
- requestType?: string;
554
- responseType?: string;
555
- /** Params type (path + query combined) */
556
- paramsType?: string;
557
- /** All parameters (path, query, header) from the operation */
558
- parameters: ParameterObject[];
559
- /** Request body schema name (if exists) */
560
- requestBodySchema?: string;
561
- /** All x-* extension properties from the operation */
562
- extensions: Record<string, unknown>;
563
- }
564
- export interface LintError {
565
- type: 'error' | 'warning';
566
- code: string;
567
- message: string;
568
- path?: string;
569
- location?: string;
570
- }
571
- export declare function isReference(obj: unknown): obj is ReferenceObject;
572
- export declare function getRefName(ref: string): string;
573
- /**
574
- * Extract dependencies from OpenAPI spec
575
- */
576
- export declare function extractDependencies(spec: OpenAPISpec): ModuleDependencies;
577
- /**
578
- * Get canonical extension value (supports both short and long forms)
579
- */
580
- export declare function getExtensionValue<T>(obj: Record<string, unknown>, shortName: string, longName: string): T | undefined;
581
- export declare function hasPrivateProperties(schema: SchemaObject | ReferenceObject, spec: OpenAPISpec, visited?: Set<string>): boolean;
582
- export declare function collectReferencedSchemas(schema: SchemaObject | ReferenceObject, spec: OpenAPISpec, result?: Set<string>): Set<string>;
583
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}