micro-contracts 0.16.3 → 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 (183) hide show
  1. package/cli-contract.yaml +0 -32
  2. package/dist/micro-contracts.bundle.mjs +4682 -0
  3. package/dist/micro-contracts.bundle.mjs.map +7 -0
  4. package/docs/cli-reference.md +0 -28
  5. package/package.json +20 -23
  6. package/dist/agents/context-builder.d.ts +0 -5
  7. package/dist/agents/context-builder.d.ts.map +0 -1
  8. package/dist/agents/context-builder.js +0 -239
  9. package/dist/agents/context-builder.js.map +0 -1
  10. package/dist/agents/formatter.d.ts +0 -9
  11. package/dist/agents/formatter.d.ts.map +0 -1
  12. package/dist/agents/formatter.js +0 -124
  13. package/dist/agents/formatter.js.map +0 -1
  14. package/dist/agents/index.d.ts +0 -5
  15. package/dist/agents/index.d.ts.map +0 -1
  16. package/dist/agents/index.js +0 -3
  17. package/dist/agents/index.js.map +0 -1
  18. package/dist/agents/orchestrator.d.ts +0 -5
  19. package/dist/agents/orchestrator.d.ts.map +0 -1
  20. package/dist/agents/orchestrator.js +0 -105
  21. package/dist/agents/orchestrator.js.map +0 -1
  22. package/dist/agents/types.d.ts +0 -21
  23. package/dist/agents/types.d.ts.map +0 -1
  24. package/dist/agents/types.js +0 -2
  25. package/dist/agents/types.js.map +0 -1
  26. package/dist/cli/templates.d.ts +0 -22
  27. package/dist/cli/templates.d.ts.map +0 -1
  28. package/dist/cli/templates.js +0 -445
  29. package/dist/cli/templates.js.map +0 -1
  30. package/dist/cli.d.ts +0 -3
  31. package/dist/cli.d.ts.map +0 -1
  32. package/dist/cli.js +0 -1142
  33. package/dist/cli.js.map +0 -1
  34. package/dist/commands/audit-guardrails.d.ts +0 -13
  35. package/dist/commands/audit-guardrails.d.ts.map +0 -1
  36. package/dist/commands/audit-guardrails.js +0 -32
  37. package/dist/commands/audit-guardrails.js.map +0 -1
  38. package/dist/commands/audit-openapi.d.ts +0 -13
  39. package/dist/commands/audit-openapi.d.ts.map +0 -1
  40. package/dist/commands/audit-openapi.js +0 -32
  41. package/dist/commands/audit-openapi.js.map +0 -1
  42. package/dist/commands/propose-overlays.d.ts +0 -13
  43. package/dist/commands/propose-overlays.d.ts.map +0 -1
  44. package/dist/commands/propose-overlays.js +0 -32
  45. package/dist/commands/propose-overlays.js.map +0 -1
  46. package/dist/commands/review-published.d.ts +0 -13
  47. package/dist/commands/review-published.d.ts.map +0 -1
  48. package/dist/commands/review-published.js +0 -32
  49. package/dist/commands/review-published.js.map +0 -1
  50. package/dist/generated/commands.d.ts +0 -2
  51. package/dist/generated/commands.d.ts.map +0 -1
  52. package/dist/generated/commands.js +0 -2
  53. package/dist/generated/commands.js.map +0 -1
  54. package/dist/generated/dsl/agents.d.ts +0 -34
  55. package/dist/generated/dsl/agents.d.ts.map +0 -1
  56. package/dist/generated/dsl/agents.js +0 -98
  57. package/dist/generated/dsl/agents.js.map +0 -1
  58. package/dist/generated/dsl/handoffs.d.ts +0 -457
  59. package/dist/generated/dsl/handoffs.d.ts.map +0 -1
  60. package/dist/generated/dsl/handoffs.js +0 -205
  61. package/dist/generated/dsl/handoffs.js.map +0 -1
  62. package/dist/generated/dsl/index.d.ts +0 -13
  63. package/dist/generated/dsl/index.d.ts.map +0 -1
  64. package/dist/generated/dsl/index.js +0 -10
  65. package/dist/generated/dsl/index.js.map +0 -1
  66. package/dist/generated/dsl/tasks.d.ts +0 -26
  67. package/dist/generated/dsl/tasks.d.ts.map +0 -1
  68. package/dist/generated/dsl/tasks.js +0 -133
  69. package/dist/generated/dsl/tasks.js.map +0 -1
  70. package/dist/generated/dsl/workflows.d.ts +0 -34
  71. package/dist/generated/dsl/workflows.d.ts.map +0 -1
  72. package/dist/generated/dsl/workflows.js +0 -84
  73. package/dist/generated/dsl/workflows.js.map +0 -1
  74. package/dist/generated/index.d.ts +0 -7
  75. package/dist/generated/index.d.ts.map +0 -1
  76. package/dist/generated/index.js +0 -7
  77. package/dist/generated/index.js.map +0 -1
  78. package/dist/generated/policy-runtime.d.ts +0 -114
  79. package/dist/generated/policy-runtime.d.ts.map +0 -1
  80. package/dist/generated/policy-runtime.js +0 -195
  81. package/dist/generated/policy-runtime.js.map +0 -1
  82. package/dist/generated/policy.d.ts +0 -619
  83. package/dist/generated/policy.d.ts.map +0 -1
  84. package/dist/generated/policy.js +0 -802
  85. package/dist/generated/policy.js.map +0 -1
  86. package/dist/generated/program.d.ts +0 -112
  87. package/dist/generated/program.d.ts.map +0 -1
  88. package/dist/generated/program.js +0 -266
  89. package/dist/generated/program.js.map +0 -1
  90. package/dist/generated/schemas.d.ts +0 -778
  91. package/dist/generated/schemas.d.ts.map +0 -1
  92. package/dist/generated/schemas.js +0 -1005
  93. package/dist/generated/schemas.js.map +0 -1
  94. package/dist/generated/types.d.ts +0 -395
  95. package/dist/generated/types.d.ts.map +0 -1
  96. package/dist/generated/types.js +0 -3
  97. package/dist/generated/types.js.map +0 -1
  98. package/dist/generator/dependencyGenerator.d.ts +0 -43
  99. package/dist/generator/dependencyGenerator.d.ts.map +0 -1
  100. package/dist/generator/dependencyGenerator.js +0 -159
  101. package/dist/generator/dependencyGenerator.js.map +0 -1
  102. package/dist/generator/index.d.ts +0 -39
  103. package/dist/generator/index.d.ts.map +0 -1
  104. package/dist/generator/index.js +0 -720
  105. package/dist/generator/index.js.map +0 -1
  106. package/dist/generator/inputHash.d.ts +0 -23
  107. package/dist/generator/inputHash.d.ts.map +0 -1
  108. package/dist/generator/inputHash.js +0 -145
  109. package/dist/generator/inputHash.js.map +0 -1
  110. package/dist/generator/linter.d.ts +0 -26
  111. package/dist/generator/linter.d.ts.map +0 -1
  112. package/dist/generator/linter.js +0 -352
  113. package/dist/generator/linter.js.map +0 -1
  114. package/dist/generator/overlayProcessor.d.ts +0 -90
  115. package/dist/generator/overlayProcessor.d.ts.map +0 -1
  116. package/dist/generator/overlayProcessor.js +0 -541
  117. package/dist/generator/overlayProcessor.js.map +0 -1
  118. package/dist/generator/schemaGenerator.d.ts +0 -10
  119. package/dist/generator/schemaGenerator.d.ts.map +0 -1
  120. package/dist/generator/schemaGenerator.js +0 -299
  121. package/dist/generator/schemaGenerator.js.map +0 -1
  122. package/dist/generator/serviceGenerator.d.ts +0 -41
  123. package/dist/generator/serviceGenerator.d.ts.map +0 -1
  124. package/dist/generator/serviceGenerator.js +0 -296
  125. package/dist/generator/serviceGenerator.js.map +0 -1
  126. package/dist/generator/templateProcessor.d.ts +0 -245
  127. package/dist/generator/templateProcessor.d.ts.map +0 -1
  128. package/dist/generator/templateProcessor.js +0 -821
  129. package/dist/generator/templateProcessor.js.map +0 -1
  130. package/dist/generator/typeGenerator.d.ts +0 -9
  131. package/dist/generator/typeGenerator.d.ts.map +0 -1
  132. package/dist/generator/typeGenerator.js +0 -424
  133. package/dist/generator/typeGenerator.js.map +0 -1
  134. package/dist/generator/typeGenerator.test.d.ts +0 -2
  135. package/dist/generator/typeGenerator.test.d.ts.map +0 -1
  136. package/dist/generator/typeGenerator.test.js +0 -122
  137. package/dist/generator/typeGenerator.test.js.map +0 -1
  138. package/dist/guardrails/allowlist.d.ts +0 -45
  139. package/dist/guardrails/allowlist.d.ts.map +0 -1
  140. package/dist/guardrails/allowlist.js +0 -261
  141. package/dist/guardrails/allowlist.js.map +0 -1
  142. package/dist/guardrails/config.d.ts +0 -40
  143. package/dist/guardrails/config.d.ts.map +0 -1
  144. package/dist/guardrails/config.js +0 -174
  145. package/dist/guardrails/config.js.map +0 -1
  146. package/dist/guardrails/docs.d.ts +0 -24
  147. package/dist/guardrails/docs.d.ts.map +0 -1
  148. package/dist/guardrails/docs.js +0 -138
  149. package/dist/guardrails/docs.js.map +0 -1
  150. package/dist/guardrails/drift.d.ts +0 -23
  151. package/dist/guardrails/drift.d.ts.map +0 -1
  152. package/dist/guardrails/drift.js +0 -127
  153. package/dist/guardrails/drift.js.map +0 -1
  154. package/dist/guardrails/index.d.ts +0 -19
  155. package/dist/guardrails/index.d.ts.map +0 -1
  156. package/dist/guardrails/index.js +0 -23
  157. package/dist/guardrails/index.js.map +0 -1
  158. package/dist/guardrails/lint.d.ts +0 -20
  159. package/dist/guardrails/lint.d.ts.map +0 -1
  160. package/dist/guardrails/lint.js +0 -274
  161. package/dist/guardrails/lint.js.map +0 -1
  162. package/dist/guardrails/manifest.d.ts +0 -63
  163. package/dist/guardrails/manifest.d.ts.map +0 -1
  164. package/dist/guardrails/manifest.js +0 -299
  165. package/dist/guardrails/manifest.js.map +0 -1
  166. package/dist/guardrails/runner.d.ts +0 -43
  167. package/dist/guardrails/runner.d.ts.map +0 -1
  168. package/dist/guardrails/runner.js +0 -365
  169. package/dist/guardrails/runner.js.map +0 -1
  170. package/dist/guardrails/typecheck.d.ts +0 -15
  171. package/dist/guardrails/typecheck.d.ts.map +0 -1
  172. package/dist/guardrails/typecheck.js +0 -104
  173. package/dist/guardrails/typecheck.js.map +0 -1
  174. package/dist/guardrails/types.d.ts +0 -202
  175. package/dist/guardrails/types.d.ts.map +0 -1
  176. package/dist/guardrails/types.js +0 -8
  177. package/dist/guardrails/types.js.map +0 -1
  178. package/dist/index.d.ts.map +0 -1
  179. package/dist/index.js.map +0 -1
  180. package/dist/types.d.ts +0 -583
  181. package/dist/types.d.ts.map +0 -1
  182. package/dist/types.js +0 -305
  183. 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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"}