micro-contracts 0.9.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.
- package/LICENSE +22 -0
- package/README.md +351 -0
- package/dist/cli/templates.d.ts +16 -0
- package/dist/cli/templates.d.ts.map +1 -0
- package/dist/cli/templates.js +377 -0
- package/dist/cli/templates.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +978 -0
- package/dist/cli.js.map +1 -0
- package/dist/generator/dependencyGenerator.d.ts +43 -0
- package/dist/generator/dependencyGenerator.d.ts.map +1 -0
- package/dist/generator/dependencyGenerator.js +159 -0
- package/dist/generator/dependencyGenerator.js.map +1 -0
- package/dist/generator/domainGenerator.d.ts +16 -0
- package/dist/generator/domainGenerator.d.ts.map +1 -0
- package/dist/generator/domainGenerator.js +212 -0
- package/dist/generator/domainGenerator.js.map +1 -0
- package/dist/generator/index.d.ts +37 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +747 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/linter.d.ts +24 -0
- package/dist/generator/linter.d.ts.map +1 -0
- package/dist/generator/linter.js +202 -0
- package/dist/generator/linter.js.map +1 -0
- package/dist/generator/overlayProcessor.d.ts +90 -0
- package/dist/generator/overlayProcessor.d.ts.map +1 -0
- package/dist/generator/overlayProcessor.js +532 -0
- package/dist/generator/overlayProcessor.js.map +1 -0
- package/dist/generator/schemaGenerator.d.ts +10 -0
- package/dist/generator/schemaGenerator.d.ts.map +1 -0
- package/dist/generator/schemaGenerator.js +299 -0
- package/dist/generator/schemaGenerator.js.map +1 -0
- package/dist/generator/templateProcessor.d.ts +178 -0
- package/dist/generator/templateProcessor.d.ts.map +1 -0
- package/dist/generator/templateProcessor.js +607 -0
- package/dist/generator/templateProcessor.js.map +1 -0
- package/dist/generator/typeGenerator.d.ts +9 -0
- package/dist/generator/typeGenerator.d.ts.map +1 -0
- package/dist/generator/typeGenerator.js +395 -0
- package/dist/generator/typeGenerator.js.map +1 -0
- package/dist/guardrails/allowlist.d.ts +45 -0
- package/dist/guardrails/allowlist.d.ts.map +1 -0
- package/dist/guardrails/allowlist.js +261 -0
- package/dist/guardrails/allowlist.js.map +1 -0
- package/dist/guardrails/config.d.ts +40 -0
- package/dist/guardrails/config.d.ts.map +1 -0
- package/dist/guardrails/config.js +174 -0
- package/dist/guardrails/config.js.map +1 -0
- package/dist/guardrails/docs.d.ts +24 -0
- package/dist/guardrails/docs.d.ts.map +1 -0
- package/dist/guardrails/docs.js +138 -0
- package/dist/guardrails/docs.js.map +1 -0
- package/dist/guardrails/drift.d.ts +23 -0
- package/dist/guardrails/drift.d.ts.map +1 -0
- package/dist/guardrails/drift.js +127 -0
- package/dist/guardrails/drift.js.map +1 -0
- package/dist/guardrails/index.d.ts +19 -0
- package/dist/guardrails/index.d.ts.map +1 -0
- package/dist/guardrails/index.js +25 -0
- package/dist/guardrails/index.js.map +1 -0
- package/dist/guardrails/lint.d.ts +20 -0
- package/dist/guardrails/lint.d.ts.map +1 -0
- package/dist/guardrails/lint.js +274 -0
- package/dist/guardrails/lint.js.map +1 -0
- package/dist/guardrails/manifest.d.ts +43 -0
- package/dist/guardrails/manifest.d.ts.map +1 -0
- package/dist/guardrails/manifest.js +231 -0
- package/dist/guardrails/manifest.js.map +1 -0
- package/dist/guardrails/runner.d.ts +31 -0
- package/dist/guardrails/runner.d.ts.map +1 -0
- package/dist/guardrails/runner.js +268 -0
- package/dist/guardrails/runner.js.map +1 -0
- package/dist/guardrails/security.d.ts +31 -0
- package/dist/guardrails/security.d.ts.map +1 -0
- package/dist/guardrails/security.js +181 -0
- package/dist/guardrails/security.js.map +1 -0
- package/dist/guardrails/typecheck.d.ts +15 -0
- package/dist/guardrails/typecheck.d.ts.map +1 -0
- package/dist/guardrails/typecheck.js +104 -0
- package/dist/guardrails/typecheck.js.map +1 -0
- package/dist/guardrails/types.d.ts +196 -0
- package/dist/guardrails/types.d.ts.map +1 -0
- package/dist/guardrails/types.js +8 -0
- package/dist/guardrails/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +489 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +297 -0
- package/dist/types.js.map +1 -0
- package/docs/architecture.svg +226 -0
- package/docs/development-guardrails.md +541 -0
- package/docs/guardrails-concept.svg +252 -0
- package/docs/overlays-deep-dive.md +298 -0
- package/package.json +66 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,489 @@
|
|
|
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
|
+
};
|
|
23
|
+
tags?: Array<{
|
|
24
|
+
name: string;
|
|
25
|
+
description?: string;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
export interface PathItem {
|
|
29
|
+
get?: OperationObject;
|
|
30
|
+
post?: OperationObject;
|
|
31
|
+
put?: OperationObject;
|
|
32
|
+
patch?: OperationObject;
|
|
33
|
+
delete?: OperationObject;
|
|
34
|
+
parameters?: ParameterObject[];
|
|
35
|
+
}
|
|
36
|
+
export interface OperationObject {
|
|
37
|
+
operationId?: string;
|
|
38
|
+
summary?: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
tags?: string[];
|
|
41
|
+
parameters?: ParameterObject[];
|
|
42
|
+
requestBody?: RequestBodyObject | ReferenceObject;
|
|
43
|
+
responses: Record<string, ResponseObject | ReferenceObject>;
|
|
44
|
+
'x-micro-contracts-domain'?: string;
|
|
45
|
+
'x-micro-contracts-method'?: string;
|
|
46
|
+
'x-micro-contracts-published'?: boolean;
|
|
47
|
+
'x-micro-contracts-depend-on'?: string[];
|
|
48
|
+
'x-auth'?: 'required' | 'optional' | 'none';
|
|
49
|
+
'x-authz'?: string[];
|
|
50
|
+
'x-middleware'?: string[];
|
|
51
|
+
}
|
|
52
|
+
export interface ParameterObject {
|
|
53
|
+
name: string;
|
|
54
|
+
in: 'query' | 'path' | 'header' | 'cookie';
|
|
55
|
+
description?: string;
|
|
56
|
+
required?: boolean;
|
|
57
|
+
schema?: SchemaObject | ReferenceObject;
|
|
58
|
+
}
|
|
59
|
+
export interface RequestBodyObject {
|
|
60
|
+
description?: string;
|
|
61
|
+
required?: boolean;
|
|
62
|
+
content: Record<string, MediaTypeObject>;
|
|
63
|
+
}
|
|
64
|
+
export interface ResponseObject {
|
|
65
|
+
description: string;
|
|
66
|
+
content?: Record<string, MediaTypeObject>;
|
|
67
|
+
}
|
|
68
|
+
export interface MediaTypeObject {
|
|
69
|
+
schema?: SchemaObject | ReferenceObject;
|
|
70
|
+
}
|
|
71
|
+
export interface ReferenceObject {
|
|
72
|
+
$ref: string;
|
|
73
|
+
}
|
|
74
|
+
export interface SchemaObject {
|
|
75
|
+
type?: 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'null';
|
|
76
|
+
format?: string;
|
|
77
|
+
description?: string;
|
|
78
|
+
enum?: Array<string | number | boolean>;
|
|
79
|
+
items?: SchemaObject | ReferenceObject;
|
|
80
|
+
properties?: Record<string, SchemaObject | ReferenceObject>;
|
|
81
|
+
additionalProperties?: boolean | SchemaObject | ReferenceObject;
|
|
82
|
+
required?: string[];
|
|
83
|
+
nullable?: boolean;
|
|
84
|
+
default?: unknown;
|
|
85
|
+
minimum?: number;
|
|
86
|
+
maximum?: number;
|
|
87
|
+
minLength?: number;
|
|
88
|
+
maxLength?: number;
|
|
89
|
+
pattern?: string;
|
|
90
|
+
minItems?: number;
|
|
91
|
+
maxItems?: number;
|
|
92
|
+
oneOf?: Array<SchemaObject | ReferenceObject>;
|
|
93
|
+
anyOf?: Array<SchemaObject | ReferenceObject>;
|
|
94
|
+
allOf?: Array<SchemaObject | ReferenceObject>;
|
|
95
|
+
'x-private'?: boolean;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Root configuration file structure
|
|
99
|
+
*/
|
|
100
|
+
export interface MultiModuleConfig {
|
|
101
|
+
/** Default settings for all modules */
|
|
102
|
+
defaults?: ModuleDefaults;
|
|
103
|
+
/** Module definitions */
|
|
104
|
+
modules: Record<string, ModuleConfig>;
|
|
105
|
+
/** Spec directory structure configuration */
|
|
106
|
+
spec?: SpecConfig;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Spec directory structure configuration
|
|
110
|
+
*/
|
|
111
|
+
export interface SpecConfig {
|
|
112
|
+
/** Root directory for spec files */
|
|
113
|
+
root?: string;
|
|
114
|
+
/** Shared resources configuration */
|
|
115
|
+
shared?: {
|
|
116
|
+
/** Path to shared OpenAPI schemas */
|
|
117
|
+
openapi?: string;
|
|
118
|
+
/** Path to shared templates */
|
|
119
|
+
templates?: string;
|
|
120
|
+
/** Path to shared overlays */
|
|
121
|
+
overlays?: string;
|
|
122
|
+
/** Path to shared spectral rules */
|
|
123
|
+
spectral?: string;
|
|
124
|
+
};
|
|
125
|
+
/** Overlays to apply (in order) */
|
|
126
|
+
overlays?: string[];
|
|
127
|
+
/** Path to spectral ruleset */
|
|
128
|
+
spectral?: string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Default settings applied to all modules (can be overridden per module)
|
|
132
|
+
*/
|
|
133
|
+
export interface ModuleDefaults {
|
|
134
|
+
/** Contract package output config */
|
|
135
|
+
contract?: {
|
|
136
|
+
/** Output directory (supports {module} placeholder) */
|
|
137
|
+
output: string;
|
|
138
|
+
};
|
|
139
|
+
/** Public contract extraction config */
|
|
140
|
+
contractPublic?: {
|
|
141
|
+
/** Output directory (supports {module} placeholder) */
|
|
142
|
+
output: string;
|
|
143
|
+
};
|
|
144
|
+
/** Server output config (legacy) */
|
|
145
|
+
server?: ServerConfig;
|
|
146
|
+
/** Frontend output config (legacy) */
|
|
147
|
+
frontend?: FrontendConfig;
|
|
148
|
+
/** Documentation config */
|
|
149
|
+
docs?: DocsConfig;
|
|
150
|
+
/** Overlay configuration */
|
|
151
|
+
overlays?: OverlayConfig;
|
|
152
|
+
/** Template configuration (legacy) */
|
|
153
|
+
templates?: TemplateConfig;
|
|
154
|
+
/** Flexible output configuration */
|
|
155
|
+
outputs?: Record<string, OutputConfig>;
|
|
156
|
+
/** Shared module name for overlays */
|
|
157
|
+
sharedModuleName?: string;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Overlay configuration
|
|
161
|
+
*/
|
|
162
|
+
export interface OverlayConfig {
|
|
163
|
+
/** Shared overlays applied to all modules */
|
|
164
|
+
shared?: string[];
|
|
165
|
+
/** Collision policy: error | warn | last-wins */
|
|
166
|
+
collision?: 'error' | 'warn' | 'last-wins';
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Template configuration (legacy)
|
|
170
|
+
*/
|
|
171
|
+
export interface TemplateConfig {
|
|
172
|
+
/** Path to server routes template */
|
|
173
|
+
server?: string;
|
|
174
|
+
/** Path to frontend client template */
|
|
175
|
+
frontend?: string;
|
|
176
|
+
/** Path to domain interface template */
|
|
177
|
+
domains?: string;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Output configuration for flexible template-based generation
|
|
181
|
+
*/
|
|
182
|
+
export interface OutputConfig {
|
|
183
|
+
/** Output file/directory path (supports {module} placeholder) */
|
|
184
|
+
output: string;
|
|
185
|
+
/** Template file path (relative to spec/) */
|
|
186
|
+
template: string;
|
|
187
|
+
/** Don't overwrite if file exists */
|
|
188
|
+
overwrite?: boolean;
|
|
189
|
+
/** Condition for generating this output */
|
|
190
|
+
condition?: 'hasPublicEndpoints' | 'hasOverlays' | 'always';
|
|
191
|
+
/** Enable/disable this output */
|
|
192
|
+
enabled?: boolean;
|
|
193
|
+
/** Template-specific configuration */
|
|
194
|
+
config?: Record<string, unknown>;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Dependency reference format: {module}.{domain}.{method}
|
|
198
|
+
*/
|
|
199
|
+
export interface DependencyRef {
|
|
200
|
+
module: string;
|
|
201
|
+
domain: string;
|
|
202
|
+
method: string;
|
|
203
|
+
raw: string;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Parse dependency reference string
|
|
207
|
+
*/
|
|
208
|
+
export declare function parseDependencyRef(ref: string): DependencyRef | null;
|
|
209
|
+
/**
|
|
210
|
+
* Collected dependencies from OpenAPI spec
|
|
211
|
+
*/
|
|
212
|
+
export interface ModuleDependencies {
|
|
213
|
+
/** Module-level dependencies (from info.x-micro-contracts-depend-on) */
|
|
214
|
+
moduleLevelDeps: DependencyRef[];
|
|
215
|
+
/** Operation-level dependencies */
|
|
216
|
+
operationLevelDeps: Map<string, DependencyRef[]>;
|
|
217
|
+
/** All unique dependencies */
|
|
218
|
+
allDeps: DependencyRef[];
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Per-module configuration
|
|
222
|
+
*/
|
|
223
|
+
export interface ModuleConfig {
|
|
224
|
+
/** Path to OpenAPI spec file (required) */
|
|
225
|
+
openapi: string;
|
|
226
|
+
/** Override contract output */
|
|
227
|
+
contract?: {
|
|
228
|
+
output?: string;
|
|
229
|
+
};
|
|
230
|
+
/** Override public contract output */
|
|
231
|
+
contractPublic?: {
|
|
232
|
+
output?: string;
|
|
233
|
+
};
|
|
234
|
+
/** Override server config (legacy) */
|
|
235
|
+
server?: ServerConfig & {
|
|
236
|
+
/** Disable server generation for this module */
|
|
237
|
+
enabled?: boolean;
|
|
238
|
+
};
|
|
239
|
+
/** Override frontend config (legacy) */
|
|
240
|
+
frontend?: FrontendConfig & {
|
|
241
|
+
/** Disable frontend generation for this module */
|
|
242
|
+
enabled?: boolean;
|
|
243
|
+
};
|
|
244
|
+
/** Override docs config */
|
|
245
|
+
docs?: DocsConfig;
|
|
246
|
+
/** Module-specific overlays */
|
|
247
|
+
overlays?: string[];
|
|
248
|
+
/** Module-specific templates (legacy) */
|
|
249
|
+
templates?: TemplateConfig;
|
|
250
|
+
/** Module-specific output overrides */
|
|
251
|
+
outputs?: Record<string, Partial<OutputConfig> & {
|
|
252
|
+
enabled?: boolean;
|
|
253
|
+
}>;
|
|
254
|
+
/** Module-specific Spectral config */
|
|
255
|
+
spectral?: string;
|
|
256
|
+
/** Explicit dependencies (must be subset of OpenAPI x-micro-contracts-depend-on) */
|
|
257
|
+
dependsOn?: string[];
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Server generation config
|
|
261
|
+
*/
|
|
262
|
+
export interface ServerConfig {
|
|
263
|
+
/** Output directory (supports {module} placeholder) */
|
|
264
|
+
output?: string;
|
|
265
|
+
/** Routes file name */
|
|
266
|
+
routes?: string;
|
|
267
|
+
/** Path to domains object in Fastify (supports {module} placeholder) */
|
|
268
|
+
domainsPath?: string;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Frontend generation config
|
|
272
|
+
*/
|
|
273
|
+
export interface FrontendConfig {
|
|
274
|
+
/** Output directory (supports {module} placeholder) */
|
|
275
|
+
output?: string;
|
|
276
|
+
/** Client file name */
|
|
277
|
+
client?: string;
|
|
278
|
+
/** Domain re-exports file name */
|
|
279
|
+
domain?: string;
|
|
280
|
+
/** Shared client config (for contract-published) */
|
|
281
|
+
shared?: {
|
|
282
|
+
/** Output directory */
|
|
283
|
+
output?: string;
|
|
284
|
+
/** Client file name (supports {module} placeholder) */
|
|
285
|
+
client?: string;
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Documentation config
|
|
290
|
+
*/
|
|
291
|
+
export interface DocsConfig {
|
|
292
|
+
/** Enable documentation generation */
|
|
293
|
+
enabled?: boolean;
|
|
294
|
+
/** Template for redoc */
|
|
295
|
+
template?: string;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Resolved output configuration
|
|
299
|
+
*/
|
|
300
|
+
export interface ResolvedOutputConfig {
|
|
301
|
+
/** Output ID */
|
|
302
|
+
id: string;
|
|
303
|
+
/** Output file/directory path (placeholders expanded) */
|
|
304
|
+
output: string;
|
|
305
|
+
/** Template file path (resolved) */
|
|
306
|
+
template: string;
|
|
307
|
+
/** Don't overwrite if file exists */
|
|
308
|
+
overwrite: boolean;
|
|
309
|
+
/** Condition for generation */
|
|
310
|
+
condition: 'hasPublicEndpoints' | 'hasOverlays' | 'always';
|
|
311
|
+
/** Enabled */
|
|
312
|
+
enabled: boolean;
|
|
313
|
+
/** Template-specific configuration */
|
|
314
|
+
config: Record<string, unknown>;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Resolved configuration for a single module (after applying defaults)
|
|
318
|
+
*/
|
|
319
|
+
export interface ResolvedModuleConfig {
|
|
320
|
+
/** Module name */
|
|
321
|
+
name: string;
|
|
322
|
+
/** Path to OpenAPI spec file */
|
|
323
|
+
openapi: string;
|
|
324
|
+
/** Contract output directory */
|
|
325
|
+
contractOutput: string;
|
|
326
|
+
/** Public contract output directory */
|
|
327
|
+
contractPublicOutput: string;
|
|
328
|
+
/** Server config (null if disabled) - legacy */
|
|
329
|
+
server: {
|
|
330
|
+
output: string;
|
|
331
|
+
routes: string;
|
|
332
|
+
domainsPath: string;
|
|
333
|
+
template?: string;
|
|
334
|
+
} | null;
|
|
335
|
+
/** Frontend config (null if disabled) - legacy */
|
|
336
|
+
frontend: {
|
|
337
|
+
output: string;
|
|
338
|
+
client: string;
|
|
339
|
+
domain: string;
|
|
340
|
+
template?: string;
|
|
341
|
+
shared: {
|
|
342
|
+
output: string;
|
|
343
|
+
client: string;
|
|
344
|
+
} | null;
|
|
345
|
+
} | null;
|
|
346
|
+
/** Docs config */
|
|
347
|
+
docs: {
|
|
348
|
+
enabled: boolean;
|
|
349
|
+
template: string;
|
|
350
|
+
};
|
|
351
|
+
/** Overlay files to apply (in order) */
|
|
352
|
+
overlays: string[];
|
|
353
|
+
/** Overlay collision policy */
|
|
354
|
+
overlayCollision: 'error' | 'warn' | 'last-wins';
|
|
355
|
+
/** Resolved outputs (new flexible system) */
|
|
356
|
+
outputs: ResolvedOutputConfig[];
|
|
357
|
+
/** Module-specific Spectral config path */
|
|
358
|
+
spectral?: string;
|
|
359
|
+
/** Config-level dependencies (for validation) */
|
|
360
|
+
dependsOn?: string[];
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Legacy single-module config
|
|
364
|
+
* @deprecated Use MultiModuleConfig instead
|
|
365
|
+
*/
|
|
366
|
+
export interface GeneratorConfig {
|
|
367
|
+
/** Module name for domain access */
|
|
368
|
+
moduleName?: string;
|
|
369
|
+
/** Contract package output config */
|
|
370
|
+
contract?: {
|
|
371
|
+
/** Output directory for contract package */
|
|
372
|
+
output: string;
|
|
373
|
+
/** Path to OpenAPI spec (relative to module directory) */
|
|
374
|
+
openapi?: string;
|
|
375
|
+
};
|
|
376
|
+
/** Public contract extraction config */
|
|
377
|
+
contractPublic?: {
|
|
378
|
+
/** Output directory for public contract */
|
|
379
|
+
output: string;
|
|
380
|
+
};
|
|
381
|
+
/** Server output config */
|
|
382
|
+
server?: {
|
|
383
|
+
/** Output directory */
|
|
384
|
+
output: string;
|
|
385
|
+
/** Routes file name */
|
|
386
|
+
routes?: string;
|
|
387
|
+
};
|
|
388
|
+
/** Frontend output config */
|
|
389
|
+
frontend?: {
|
|
390
|
+
/** Output directory */
|
|
391
|
+
output: string;
|
|
392
|
+
/** Client file name */
|
|
393
|
+
client?: string;
|
|
394
|
+
/** Shared client path (for contract-published) */
|
|
395
|
+
shared?: string;
|
|
396
|
+
};
|
|
397
|
+
/** Documentation config */
|
|
398
|
+
docs?: {
|
|
399
|
+
/** Enable documentation generation */
|
|
400
|
+
enabled?: boolean;
|
|
401
|
+
/** Template for redoc */
|
|
402
|
+
template?: string;
|
|
403
|
+
};
|
|
404
|
+
/** @deprecated Use contract.openapi instead */
|
|
405
|
+
input?: string;
|
|
406
|
+
/** @deprecated Use server.output instead */
|
|
407
|
+
output?: string;
|
|
408
|
+
/** @deprecated */
|
|
409
|
+
generateTypes?: boolean;
|
|
410
|
+
/** @deprecated */
|
|
411
|
+
generateSchemas?: boolean;
|
|
412
|
+
/** @deprecated */
|
|
413
|
+
generateRoutes?: boolean;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Check if config is multi-module format
|
|
417
|
+
*/
|
|
418
|
+
export declare function isMultiModuleConfig(config: unknown): config is MultiModuleConfig;
|
|
419
|
+
/**
|
|
420
|
+
* Expand placeholders in a string
|
|
421
|
+
*/
|
|
422
|
+
export declare function expandPlaceholders(template: string, moduleName: string): string;
|
|
423
|
+
/**
|
|
424
|
+
* Resolve module config by applying defaults and expanding placeholders
|
|
425
|
+
*/
|
|
426
|
+
export declare function resolveModuleConfig(moduleName: string, moduleConfig: ModuleConfig, defaults?: ModuleDefaults): ResolvedModuleConfig;
|
|
427
|
+
export interface RouteInfo {
|
|
428
|
+
path: string;
|
|
429
|
+
method: 'get' | 'post' | 'put' | 'patch' | 'delete';
|
|
430
|
+
operationId: string;
|
|
431
|
+
domain: string;
|
|
432
|
+
domainMethod: string;
|
|
433
|
+
isPublished: boolean;
|
|
434
|
+
summary?: string;
|
|
435
|
+
tags?: string[];
|
|
436
|
+
queryParams?: ParameterInfo[];
|
|
437
|
+
pathParams?: ParameterInfo[];
|
|
438
|
+
requestBody?: {
|
|
439
|
+
schemaName: string;
|
|
440
|
+
required: boolean;
|
|
441
|
+
};
|
|
442
|
+
responses: ResponseInfo[];
|
|
443
|
+
/** Middleware/overlay names from x-middleware extension */
|
|
444
|
+
overlays?: string[];
|
|
445
|
+
}
|
|
446
|
+
export interface ParameterInfo {
|
|
447
|
+
name: string;
|
|
448
|
+
required: boolean;
|
|
449
|
+
schemaName?: string;
|
|
450
|
+
}
|
|
451
|
+
export interface ResponseInfo {
|
|
452
|
+
statusCode: string;
|
|
453
|
+
schemaName?: string;
|
|
454
|
+
}
|
|
455
|
+
export interface DomainInfo {
|
|
456
|
+
name: string;
|
|
457
|
+
methods: DomainMethodInfo[];
|
|
458
|
+
}
|
|
459
|
+
export interface DomainMethodInfo {
|
|
460
|
+
name: string;
|
|
461
|
+
operationId: string;
|
|
462
|
+
httpMethod: string;
|
|
463
|
+
path: string;
|
|
464
|
+
isPublished: boolean;
|
|
465
|
+
requestType?: string;
|
|
466
|
+
responseType?: string;
|
|
467
|
+
/** Params type (path + query combined) */
|
|
468
|
+
paramsType?: string;
|
|
469
|
+
}
|
|
470
|
+
export interface LintError {
|
|
471
|
+
type: 'error' | 'warning';
|
|
472
|
+
code: string;
|
|
473
|
+
message: string;
|
|
474
|
+
path?: string;
|
|
475
|
+
location?: string;
|
|
476
|
+
}
|
|
477
|
+
export declare function isReference(obj: unknown): obj is ReferenceObject;
|
|
478
|
+
export declare function getRefName(ref: string): string;
|
|
479
|
+
/**
|
|
480
|
+
* Extract dependencies from OpenAPI spec
|
|
481
|
+
*/
|
|
482
|
+
export declare function extractDependencies(spec: OpenAPISpec): ModuleDependencies;
|
|
483
|
+
/**
|
|
484
|
+
* Get canonical extension value (supports both short and long forms)
|
|
485
|
+
*/
|
|
486
|
+
export declare function getExtensionValue<T>(obj: Record<string, unknown>, shortName: string, longName: string): T | undefined;
|
|
487
|
+
export declare function hasPrivateProperties(schema: SchemaObject | ReferenceObject, spec: OpenAPISpec, visited?: Set<string>): boolean;
|
|
488
|
+
export declare function collectReferencedSchemas(schema: SchemaObject | ReferenceObject, spec: OpenAPISpec, result?: Set<string>): Set<string>;
|
|
489
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|