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.
- package/cli-contract.yaml +0 -32
- package/dist/micro-contracts.bundle.mjs +4682 -0
- package/dist/micro-contracts.bundle.mjs.map +7 -0
- package/docs/cli-reference.md +0 -28
- package/package.json +20 -23
- package/dist/agents/context-builder.d.ts +0 -5
- package/dist/agents/context-builder.d.ts.map +0 -1
- package/dist/agents/context-builder.js +0 -239
- package/dist/agents/context-builder.js.map +0 -1
- package/dist/agents/formatter.d.ts +0 -9
- package/dist/agents/formatter.d.ts.map +0 -1
- package/dist/agents/formatter.js +0 -124
- package/dist/agents/formatter.js.map +0 -1
- package/dist/agents/index.d.ts +0 -5
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/index.js +0 -3
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/orchestrator.d.ts +0 -5
- package/dist/agents/orchestrator.d.ts.map +0 -1
- package/dist/agents/orchestrator.js +0 -105
- package/dist/agents/orchestrator.js.map +0 -1
- package/dist/agents/types.d.ts +0 -21
- package/dist/agents/types.d.ts.map +0 -1
- package/dist/agents/types.js +0 -2
- package/dist/agents/types.js.map +0 -1
- package/dist/cli/templates.d.ts +0 -22
- package/dist/cli/templates.d.ts.map +0 -1
- package/dist/cli/templates.js +0 -445
- package/dist/cli/templates.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -1142
- package/dist/cli.js.map +0 -1
- package/dist/commands/audit-guardrails.d.ts +0 -13
- package/dist/commands/audit-guardrails.d.ts.map +0 -1
- package/dist/commands/audit-guardrails.js +0 -32
- package/dist/commands/audit-guardrails.js.map +0 -1
- package/dist/commands/audit-openapi.d.ts +0 -13
- package/dist/commands/audit-openapi.d.ts.map +0 -1
- package/dist/commands/audit-openapi.js +0 -32
- package/dist/commands/audit-openapi.js.map +0 -1
- package/dist/commands/propose-overlays.d.ts +0 -13
- package/dist/commands/propose-overlays.d.ts.map +0 -1
- package/dist/commands/propose-overlays.js +0 -32
- package/dist/commands/propose-overlays.js.map +0 -1
- package/dist/commands/review-published.d.ts +0 -13
- package/dist/commands/review-published.d.ts.map +0 -1
- package/dist/commands/review-published.js +0 -32
- package/dist/commands/review-published.js.map +0 -1
- package/dist/generated/commands.d.ts +0 -2
- package/dist/generated/commands.d.ts.map +0 -1
- package/dist/generated/commands.js +0 -2
- package/dist/generated/commands.js.map +0 -1
- package/dist/generated/dsl/agents.d.ts +0 -34
- package/dist/generated/dsl/agents.d.ts.map +0 -1
- package/dist/generated/dsl/agents.js +0 -98
- package/dist/generated/dsl/agents.js.map +0 -1
- package/dist/generated/dsl/handoffs.d.ts +0 -457
- package/dist/generated/dsl/handoffs.d.ts.map +0 -1
- package/dist/generated/dsl/handoffs.js +0 -205
- package/dist/generated/dsl/handoffs.js.map +0 -1
- package/dist/generated/dsl/index.d.ts +0 -13
- package/dist/generated/dsl/index.d.ts.map +0 -1
- package/dist/generated/dsl/index.js +0 -10
- package/dist/generated/dsl/index.js.map +0 -1
- package/dist/generated/dsl/tasks.d.ts +0 -26
- package/dist/generated/dsl/tasks.d.ts.map +0 -1
- package/dist/generated/dsl/tasks.js +0 -133
- package/dist/generated/dsl/tasks.js.map +0 -1
- package/dist/generated/dsl/workflows.d.ts +0 -34
- package/dist/generated/dsl/workflows.d.ts.map +0 -1
- package/dist/generated/dsl/workflows.js +0 -84
- package/dist/generated/dsl/workflows.js.map +0 -1
- package/dist/generated/index.d.ts +0 -7
- package/dist/generated/index.d.ts.map +0 -1
- package/dist/generated/index.js +0 -7
- package/dist/generated/index.js.map +0 -1
- package/dist/generated/policy-runtime.d.ts +0 -114
- package/dist/generated/policy-runtime.d.ts.map +0 -1
- package/dist/generated/policy-runtime.js +0 -195
- package/dist/generated/policy-runtime.js.map +0 -1
- package/dist/generated/policy.d.ts +0 -619
- package/dist/generated/policy.d.ts.map +0 -1
- package/dist/generated/policy.js +0 -802
- package/dist/generated/policy.js.map +0 -1
- package/dist/generated/program.d.ts +0 -112
- package/dist/generated/program.d.ts.map +0 -1
- package/dist/generated/program.js +0 -266
- package/dist/generated/program.js.map +0 -1
- package/dist/generated/schemas.d.ts +0 -778
- package/dist/generated/schemas.d.ts.map +0 -1
- package/dist/generated/schemas.js +0 -1005
- package/dist/generated/schemas.js.map +0 -1
- package/dist/generated/types.d.ts +0 -395
- package/dist/generated/types.d.ts.map +0 -1
- package/dist/generated/types.js +0 -3
- package/dist/generated/types.js.map +0 -1
- package/dist/generator/dependencyGenerator.d.ts +0 -43
- package/dist/generator/dependencyGenerator.d.ts.map +0 -1
- package/dist/generator/dependencyGenerator.js +0 -159
- package/dist/generator/dependencyGenerator.js.map +0 -1
- package/dist/generator/index.d.ts +0 -39
- package/dist/generator/index.d.ts.map +0 -1
- package/dist/generator/index.js +0 -720
- package/dist/generator/index.js.map +0 -1
- package/dist/generator/inputHash.d.ts +0 -23
- package/dist/generator/inputHash.d.ts.map +0 -1
- package/dist/generator/inputHash.js +0 -145
- package/dist/generator/inputHash.js.map +0 -1
- package/dist/generator/linter.d.ts +0 -26
- package/dist/generator/linter.d.ts.map +0 -1
- package/dist/generator/linter.js +0 -352
- package/dist/generator/linter.js.map +0 -1
- package/dist/generator/overlayProcessor.d.ts +0 -90
- package/dist/generator/overlayProcessor.d.ts.map +0 -1
- package/dist/generator/overlayProcessor.js +0 -541
- package/dist/generator/overlayProcessor.js.map +0 -1
- package/dist/generator/schemaGenerator.d.ts +0 -10
- package/dist/generator/schemaGenerator.d.ts.map +0 -1
- package/dist/generator/schemaGenerator.js +0 -299
- package/dist/generator/schemaGenerator.js.map +0 -1
- package/dist/generator/serviceGenerator.d.ts +0 -41
- package/dist/generator/serviceGenerator.d.ts.map +0 -1
- package/dist/generator/serviceGenerator.js +0 -296
- package/dist/generator/serviceGenerator.js.map +0 -1
- package/dist/generator/templateProcessor.d.ts +0 -245
- package/dist/generator/templateProcessor.d.ts.map +0 -1
- package/dist/generator/templateProcessor.js +0 -821
- package/dist/generator/templateProcessor.js.map +0 -1
- package/dist/generator/typeGenerator.d.ts +0 -9
- package/dist/generator/typeGenerator.d.ts.map +0 -1
- package/dist/generator/typeGenerator.js +0 -424
- package/dist/generator/typeGenerator.js.map +0 -1
- package/dist/generator/typeGenerator.test.d.ts +0 -2
- package/dist/generator/typeGenerator.test.d.ts.map +0 -1
- package/dist/generator/typeGenerator.test.js +0 -122
- package/dist/generator/typeGenerator.test.js.map +0 -1
- package/dist/guardrails/allowlist.d.ts +0 -45
- package/dist/guardrails/allowlist.d.ts.map +0 -1
- package/dist/guardrails/allowlist.js +0 -261
- package/dist/guardrails/allowlist.js.map +0 -1
- package/dist/guardrails/config.d.ts +0 -40
- package/dist/guardrails/config.d.ts.map +0 -1
- package/dist/guardrails/config.js +0 -174
- package/dist/guardrails/config.js.map +0 -1
- package/dist/guardrails/docs.d.ts +0 -24
- package/dist/guardrails/docs.d.ts.map +0 -1
- package/dist/guardrails/docs.js +0 -138
- package/dist/guardrails/docs.js.map +0 -1
- package/dist/guardrails/drift.d.ts +0 -23
- package/dist/guardrails/drift.d.ts.map +0 -1
- package/dist/guardrails/drift.js +0 -127
- package/dist/guardrails/drift.js.map +0 -1
- package/dist/guardrails/index.d.ts +0 -19
- package/dist/guardrails/index.d.ts.map +0 -1
- package/dist/guardrails/index.js +0 -23
- package/dist/guardrails/index.js.map +0 -1
- package/dist/guardrails/lint.d.ts +0 -20
- package/dist/guardrails/lint.d.ts.map +0 -1
- package/dist/guardrails/lint.js +0 -274
- package/dist/guardrails/lint.js.map +0 -1
- package/dist/guardrails/manifest.d.ts +0 -63
- package/dist/guardrails/manifest.d.ts.map +0 -1
- package/dist/guardrails/manifest.js +0 -299
- package/dist/guardrails/manifest.js.map +0 -1
- package/dist/guardrails/runner.d.ts +0 -43
- package/dist/guardrails/runner.d.ts.map +0 -1
- package/dist/guardrails/runner.js +0 -365
- package/dist/guardrails/runner.js.map +0 -1
- package/dist/guardrails/typecheck.d.ts +0 -15
- package/dist/guardrails/typecheck.d.ts.map +0 -1
- package/dist/guardrails/typecheck.js +0 -104
- package/dist/guardrails/typecheck.js.map +0 -1
- package/dist/guardrails/types.d.ts +0 -202
- package/dist/guardrails/types.d.ts.map +0 -1
- package/dist/guardrails/types.js +0 -8
- package/dist/guardrails/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/types.d.ts +0 -583
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -305
- 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
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|