@specverse/engines 4.1.9 → 4.1.11
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/dist/libs/instance-factories/applications/templates/generic/main-generator.js +2 -2
- package/dist/libs/instance-factories/applications/templates/react/api-client-generator.js +8 -5
- package/dist/libs/instance-factories/controllers/templates/fastify/routes-generator.js +6 -44
- package/dist/libs/instance-factories/controllers/templates/fastify/server-generator.js +2 -52
- package/dist/libs/instance-factories/orms/templates/prisma/schema-generator.js +13 -2
- package/dist/libs/instance-factories/services/templates/prisma/controller-generator.js +3 -18
- package/dist/libs/instance-factories/views/templates/react/forms-generator.js +2 -12
- package/dist/libs/instance-factories/views/templates/react/shared-utils-generator.js +9 -1
- package/dist/parser/processors/AttributeProcessor.d.ts.map +1 -1
- package/dist/parser/processors/AttributeProcessor.js +10 -2
- package/dist/parser/processors/AttributeProcessor.js.map +1 -1
- package/dist/parser/processors/ModelProcessor.d.ts.map +1 -1
- package/dist/parser/processors/ModelProcessor.js +30 -16
- package/dist/parser/processors/ModelProcessor.js.map +1 -1
- package/dist/parser/types/ast.d.ts +3 -514
- package/dist/parser/types/ast.d.ts.map +1 -1
- package/dist/parser/types/ast.js +0 -6
- package/dist/parser/types/ast.js.map +1 -1
- package/libs/instance-factories/applications/templates/generic/main-generator.ts +2 -2
- package/libs/instance-factories/applications/templates/react/api-client-generator.ts +8 -5
- package/libs/instance-factories/controllers/templates/fastify/routes-generator.ts +11 -60
- package/libs/instance-factories/controllers/templates/fastify/server-generator.ts +2 -70
- package/libs/instance-factories/orms/templates/prisma/schema-generator.ts +18 -2
- package/libs/instance-factories/services/templates/prisma/controller-generator.ts +5 -24
- package/libs/instance-factories/views/templates/react/forms-generator.ts +4 -22
- package/libs/instance-factories/views/templates/react/shared-utils-generator.ts +9 -1
- package/package.json +1 -1
|
@@ -1,518 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SpecVerse
|
|
2
|
+
* SpecVerse AST Types — re-exported from @specverse/types
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Includes approved schema extensions as per VALIDATION_REPORT.md.
|
|
4
|
+
* Previously a duplicate copy. Now imports from the canonical source.
|
|
6
5
|
*/
|
|
7
|
-
export
|
|
8
|
-
name: string;
|
|
9
|
-
baseType: 'String' | 'Integer' | 'Number' | 'Boolean';
|
|
10
|
-
description: string;
|
|
11
|
-
typeAlias: boolean;
|
|
12
|
-
required?: boolean;
|
|
13
|
-
unique?: boolean;
|
|
14
|
-
validation?: {
|
|
15
|
-
pattern?: string;
|
|
16
|
-
values?: string[];
|
|
17
|
-
min?: number;
|
|
18
|
-
max?: number;
|
|
19
|
-
format?: string;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export interface AttributeSpec {
|
|
23
|
-
name: string;
|
|
24
|
-
type: string;
|
|
25
|
-
required: boolean;
|
|
26
|
-
unique: boolean;
|
|
27
|
-
isArray?: boolean;
|
|
28
|
-
auto?: string;
|
|
29
|
-
min?: number;
|
|
30
|
-
max?: number;
|
|
31
|
-
default?: string;
|
|
32
|
-
verified?: boolean;
|
|
33
|
-
searchable?: boolean;
|
|
34
|
-
values?: string[];
|
|
35
|
-
}
|
|
36
|
-
export interface RelationshipSpec {
|
|
37
|
-
name: string;
|
|
38
|
-
type: 'hasMany' | 'hasOne' | 'belongsTo' | 'manyToMany';
|
|
39
|
-
target: string;
|
|
40
|
-
cascade?: boolean;
|
|
41
|
-
dependent?: boolean;
|
|
42
|
-
eager?: boolean;
|
|
43
|
-
lazy?: boolean;
|
|
44
|
-
through?: string;
|
|
45
|
-
optional?: boolean;
|
|
46
|
-
}
|
|
47
|
-
export interface LifecycleSpec {
|
|
48
|
-
name: string;
|
|
49
|
-
type: 'shorthand' | 'structured';
|
|
50
|
-
states: string[];
|
|
51
|
-
transitions?: {
|
|
52
|
-
[action: string]: {
|
|
53
|
-
from: string;
|
|
54
|
-
to: string;
|
|
55
|
-
condition?: string;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
actions: string[];
|
|
59
|
-
}
|
|
60
|
-
export interface ExecutablePropertiesSpec {
|
|
61
|
-
description?: string;
|
|
62
|
-
parameters: {
|
|
63
|
-
[name: string]: AttributeSpec;
|
|
64
|
-
};
|
|
65
|
-
returns?: string;
|
|
66
|
-
requires?: string[];
|
|
67
|
-
ensures?: string[];
|
|
68
|
-
publishes?: string[];
|
|
69
|
-
steps?: string[];
|
|
70
|
-
}
|
|
71
|
-
export interface SubscriptionSpec {
|
|
72
|
-
events: string[];
|
|
73
|
-
handlers: {
|
|
74
|
-
[event: string]: string;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
export interface CuredOperationsSpec {
|
|
78
|
-
create?: ExecutablePropertiesSpec;
|
|
79
|
-
retrieve?: ExecutablePropertiesSpec;
|
|
80
|
-
retrieve_many?: ExecutablePropertiesSpec;
|
|
81
|
-
update?: ExecutablePropertiesSpec;
|
|
82
|
-
evolve?: ExecutablePropertiesSpec;
|
|
83
|
-
delete?: ExecutablePropertiesSpec;
|
|
84
|
-
validate?: ExecutablePropertiesSpec;
|
|
85
|
-
}
|
|
86
|
-
export interface ModelSpec {
|
|
87
|
-
name: string;
|
|
88
|
-
description?: string;
|
|
89
|
-
extends?: string;
|
|
90
|
-
profiles?: string[];
|
|
91
|
-
metadata?: any;
|
|
92
|
-
attributes: AttributeSpec[];
|
|
93
|
-
relationships: RelationshipSpec[];
|
|
94
|
-
lifecycles: LifecycleSpec[];
|
|
95
|
-
behaviors: {
|
|
96
|
-
[name: string]: ExecutablePropertiesSpec;
|
|
97
|
-
};
|
|
98
|
-
profileAttachment?: ProfileAttachmentSpec;
|
|
99
|
-
}
|
|
100
|
-
export interface ProfileAttachmentSpec {
|
|
101
|
-
profiles: string[];
|
|
102
|
-
conditions?: {
|
|
103
|
-
[key: string]: string;
|
|
104
|
-
};
|
|
105
|
-
priority?: number;
|
|
106
|
-
}
|
|
107
|
-
export interface ControllerSpec {
|
|
108
|
-
name: string;
|
|
109
|
-
model: string;
|
|
110
|
-
path?: string;
|
|
111
|
-
description?: string;
|
|
112
|
-
subscriptions: SubscriptionSpec;
|
|
113
|
-
cured: CuredOperationsSpec;
|
|
114
|
-
actions: {
|
|
115
|
-
[name: string]: ExecutablePropertiesSpec;
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
export interface ServiceSpec {
|
|
119
|
-
name: string;
|
|
120
|
-
description?: string;
|
|
121
|
-
subscriptions: SubscriptionSpec;
|
|
122
|
-
operations: {
|
|
123
|
-
[name: string]: ExecutablePropertiesSpec;
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
export interface ViewSpec {
|
|
127
|
-
name: string;
|
|
128
|
-
description?: string;
|
|
129
|
-
type?: string;
|
|
130
|
-
model?: string;
|
|
131
|
-
tags?: string[];
|
|
132
|
-
export?: boolean;
|
|
133
|
-
layout?: any;
|
|
134
|
-
subscriptions: SubscriptionSpec;
|
|
135
|
-
uiComponents: {
|
|
136
|
-
[name: string]: any;
|
|
137
|
-
};
|
|
138
|
-
properties: {
|
|
139
|
-
[name: string]: any;
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* @deprecated This will be replaced by the `version` and `previousVersions` fields on `EventSpec`.
|
|
144
|
-
* Kept for backward compatibility parsing of older specs.
|
|
145
|
-
*/
|
|
146
|
-
export interface EventPayloadSpec {
|
|
147
|
-
name: string;
|
|
148
|
-
description?: string;
|
|
149
|
-
payload: AttributeSpec[];
|
|
150
|
-
}
|
|
151
|
-
export interface PreviousVersionInfo {
|
|
152
|
-
version: number;
|
|
153
|
-
compatibility?: 'backward' | 'forward' | 'full' | 'none';
|
|
154
|
-
deprecated?: boolean;
|
|
155
|
-
deprecationMessage?: string;
|
|
156
|
-
}
|
|
157
|
-
export interface EventSpec {
|
|
158
|
-
name: string;
|
|
159
|
-
description?: string;
|
|
160
|
-
version?: number;
|
|
161
|
-
previousVersions?: PreviousVersionInfo[];
|
|
162
|
-
payload: AttributeSpec[];
|
|
163
|
-
}
|
|
164
|
-
export interface ComponentSpec {
|
|
165
|
-
name: string;
|
|
166
|
-
namespace: string;
|
|
167
|
-
version: string;
|
|
168
|
-
description?: string;
|
|
169
|
-
tags?: string[];
|
|
170
|
-
imports: any[];
|
|
171
|
-
exports: any;
|
|
172
|
-
primitives: PrimitiveSpec[];
|
|
173
|
-
models: ModelSpec[];
|
|
174
|
-
controllers: ControllerSpec[];
|
|
175
|
-
services: ServiceSpec[];
|
|
176
|
-
views: ViewSpec[];
|
|
177
|
-
events: EventSpec[];
|
|
178
|
-
commands?: any[];
|
|
179
|
-
constraints?: ExpandedConstraint[];
|
|
180
|
-
[key: string]: any;
|
|
181
|
-
}
|
|
182
|
-
/** A behavioural convention expanded into a Quint invariant/rule/temporal property. */
|
|
183
|
-
export interface ExpandedConstraint {
|
|
184
|
-
type: 'invariant' | 'rule' | 'temporal';
|
|
185
|
-
name: string;
|
|
186
|
-
body: string;
|
|
187
|
-
source: {
|
|
188
|
-
convention: string;
|
|
189
|
-
entity: string;
|
|
190
|
-
input: string;
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
export interface TransactionalPolicy {
|
|
194
|
-
enabled?: boolean;
|
|
195
|
-
isolation?: 'READ_UNCOMMITTED' | 'READ_COMMITTED' | 'REPEATABLE_READ' | 'SERIALIZABLE';
|
|
196
|
-
propagation?: 'REQUIRED' | 'REQUIRES_NEW' | 'SUPPORTS' | 'NOT_SUPPORTED' | 'MANDATORY' | 'NEVER';
|
|
197
|
-
timeout?: number;
|
|
198
|
-
readOnly?: boolean;
|
|
199
|
-
}
|
|
200
|
-
export interface RetryPolicy {
|
|
201
|
-
enabled?: boolean;
|
|
202
|
-
maxAttempts?: number;
|
|
203
|
-
backoffMs?: number;
|
|
204
|
-
backoffMultiplier?: number;
|
|
205
|
-
maxBackoffMs?: number;
|
|
206
|
-
retryableErrors?: string[];
|
|
207
|
-
}
|
|
208
|
-
export interface CircuitBreakerPolicy {
|
|
209
|
-
enabled?: boolean;
|
|
210
|
-
failureThreshold?: number;
|
|
211
|
-
successThreshold?: number;
|
|
212
|
-
timeoutMs?: number;
|
|
213
|
-
halfOpenAfterMs?: number;
|
|
214
|
-
}
|
|
215
|
-
export interface IdempotencyPolicy {
|
|
216
|
-
enabled?: boolean;
|
|
217
|
-
keyField?: string;
|
|
218
|
-
ttlSeconds?: number;
|
|
219
|
-
}
|
|
220
|
-
export interface CachePolicy {
|
|
221
|
-
enabled?: boolean;
|
|
222
|
-
ttlSeconds?: number;
|
|
223
|
-
keyFields?: string[];
|
|
224
|
-
}
|
|
225
|
-
export interface OperationPolicies {
|
|
226
|
-
transactional?: TransactionalPolicy;
|
|
227
|
-
retry?: RetryPolicy;
|
|
228
|
-
circuitBreaker?: CircuitBreakerPolicy;
|
|
229
|
-
idempotency?: IdempotencyPolicy;
|
|
230
|
-
cache?: CachePolicy;
|
|
231
|
-
}
|
|
232
|
-
export interface RateLimitPolicy {
|
|
233
|
-
enabled?: boolean;
|
|
234
|
-
requestsPerMinute?: number;
|
|
235
|
-
burstSize?: number;
|
|
236
|
-
byIP?: boolean;
|
|
237
|
-
byUser?: boolean;
|
|
238
|
-
byApiKey?: boolean;
|
|
239
|
-
}
|
|
240
|
-
export interface ResourceConfiguration {
|
|
241
|
-
requests?: {
|
|
242
|
-
cpu?: string;
|
|
243
|
-
memory?: string;
|
|
244
|
-
ephemeralStorage?: string;
|
|
245
|
-
};
|
|
246
|
-
limits?: {
|
|
247
|
-
cpu?: string;
|
|
248
|
-
memory?: string;
|
|
249
|
-
ephemeralStorage?: string;
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
export interface AutoscalingConfiguration {
|
|
253
|
-
enabled?: boolean;
|
|
254
|
-
minReplicas?: number;
|
|
255
|
-
maxReplicas?: number;
|
|
256
|
-
targetCPU?: number;
|
|
257
|
-
targetMemory?: number;
|
|
258
|
-
customMetrics?: Array<{
|
|
259
|
-
name: string;
|
|
260
|
-
type: 'pods' | 'object' | 'external';
|
|
261
|
-
target: {
|
|
262
|
-
type: 'Utilization' | 'Value' | 'AverageValue';
|
|
263
|
-
averageValue?: string;
|
|
264
|
-
value?: string;
|
|
265
|
-
};
|
|
266
|
-
}>;
|
|
267
|
-
scaleDown?: {
|
|
268
|
-
stabilizationWindowSeconds?: number;
|
|
269
|
-
selectPolicy?: 'Max' | 'Min' | 'Disabled';
|
|
270
|
-
};
|
|
271
|
-
scaleUp?: {
|
|
272
|
-
stabilizationWindowSeconds?: number;
|
|
273
|
-
selectPolicy?: 'Max' | 'Min' | 'Disabled';
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
export interface InstanceSpec {
|
|
277
|
-
component: string;
|
|
278
|
-
namespace?: string;
|
|
279
|
-
scale?: number;
|
|
280
|
-
config?: {
|
|
281
|
-
[key: string]: any;
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
export interface ControllerInstanceSpec extends InstanceSpec {
|
|
285
|
-
advertises?: string | string[];
|
|
286
|
-
uses?: string | string[];
|
|
287
|
-
rateLimit?: RateLimitPolicy;
|
|
288
|
-
timeout?: {
|
|
289
|
-
enabled?: boolean;
|
|
290
|
-
requestMs?: number;
|
|
291
|
-
keepAliveMs?: number;
|
|
292
|
-
};
|
|
293
|
-
operations?: {
|
|
294
|
-
[name: string]: OperationPolicies;
|
|
295
|
-
};
|
|
296
|
-
resources?: ResourceConfiguration;
|
|
297
|
-
autoscaling?: AutoscalingConfiguration;
|
|
298
|
-
}
|
|
299
|
-
export interface ServiceInstanceSpec extends InstanceSpec {
|
|
300
|
-
advertises?: string | string[];
|
|
301
|
-
uses?: string | string[];
|
|
302
|
-
operations?: {
|
|
303
|
-
[name: string]: OperationPolicies;
|
|
304
|
-
};
|
|
305
|
-
resources?: ResourceConfiguration;
|
|
306
|
-
autoscaling?: AutoscalingConfiguration;
|
|
307
|
-
security?: {
|
|
308
|
-
enabled?: boolean;
|
|
309
|
-
operations?: {
|
|
310
|
-
[name: string]: {
|
|
311
|
-
requires?: {
|
|
312
|
-
authenticated?: boolean;
|
|
313
|
-
roles?: string[];
|
|
314
|
-
permissions?: string[];
|
|
315
|
-
scopes?: string[];
|
|
316
|
-
};
|
|
317
|
-
};
|
|
318
|
-
};
|
|
319
|
-
};
|
|
320
|
-
caching?: {
|
|
321
|
-
enabled?: boolean;
|
|
322
|
-
defaultTtlSeconds?: number;
|
|
323
|
-
operations?: {
|
|
324
|
-
[name: string]: {
|
|
325
|
-
enabled?: boolean;
|
|
326
|
-
ttlSeconds?: number;
|
|
327
|
-
keyFields?: string[];
|
|
328
|
-
};
|
|
329
|
-
};
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
export interface ViewInstanceSpec extends InstanceSpec {
|
|
333
|
-
uses?: string | string[];
|
|
334
|
-
caching?: {
|
|
335
|
-
enabled?: boolean;
|
|
336
|
-
ttlSeconds?: number;
|
|
337
|
-
};
|
|
338
|
-
prefetch?: {
|
|
339
|
-
enabled?: boolean;
|
|
340
|
-
};
|
|
341
|
-
}
|
|
342
|
-
export interface CommunicationInstanceSpec {
|
|
343
|
-
namespace?: string;
|
|
344
|
-
capabilities?: string[];
|
|
345
|
-
type?: 'pubsub' | 'streaming' | 'rpc' | 'queue';
|
|
346
|
-
config?: {
|
|
347
|
-
[key: string]: any;
|
|
348
|
-
};
|
|
349
|
-
events?: {
|
|
350
|
-
[eventName: string]: {
|
|
351
|
-
ordering?: {
|
|
352
|
-
enabled?: boolean;
|
|
353
|
-
partitionKey?: string;
|
|
354
|
-
};
|
|
355
|
-
delivery?: {
|
|
356
|
-
persistent?: boolean;
|
|
357
|
-
retryOnFailure?: boolean;
|
|
358
|
-
maxRetries?: number;
|
|
359
|
-
retryDelayMs?: number;
|
|
360
|
-
};
|
|
361
|
-
deadLetterQueue?: {
|
|
362
|
-
enabled?: boolean;
|
|
363
|
-
maxReceiveCount?: number;
|
|
364
|
-
};
|
|
365
|
-
};
|
|
366
|
-
};
|
|
367
|
-
consumer?: {
|
|
368
|
-
concurrency?: number;
|
|
369
|
-
prefetch?: number;
|
|
370
|
-
autoAck?: boolean;
|
|
371
|
-
};
|
|
372
|
-
}
|
|
373
|
-
export interface StorageInstanceSpec extends InstanceSpec {
|
|
374
|
-
type: 'relational' | 'document' | 'keyvalue' | 'cache' | 'file' | 'blob' | 'queue' | 'search';
|
|
375
|
-
advertises?: string | string[];
|
|
376
|
-
uses?: string | string[];
|
|
377
|
-
persistence?: 'durable' | 'session' | 'cache' | 'temporary';
|
|
378
|
-
consistency?: 'strong' | 'eventual' | 'weak';
|
|
379
|
-
encryption?: boolean;
|
|
380
|
-
backup?: boolean;
|
|
381
|
-
replication?: number;
|
|
382
|
-
}
|
|
383
|
-
export interface SecurityInstanceSpec extends InstanceSpec {
|
|
384
|
-
type: 'authentication' | 'authorization' | 'encryption' | 'audit' | 'firewall' | 'scanning' | 'secrets' | 'identity';
|
|
385
|
-
advertises?: string | string[];
|
|
386
|
-
uses?: string | string[];
|
|
387
|
-
scope?: 'global' | 'regional' | 'local';
|
|
388
|
-
policies?: string[];
|
|
389
|
-
encryption?: 'none' | 'basic' | 'strong';
|
|
390
|
-
auditLevel?: 'none' | 'basic' | 'detailed' | 'comprehensive';
|
|
391
|
-
}
|
|
392
|
-
export interface InfrastructureInstanceSpec extends InstanceSpec {
|
|
393
|
-
type: 'gateway' | 'loadbalancer' | 'proxy' | 'cdn' | 'dns' | 'registry' | 'mesh' | 'ingress';
|
|
394
|
-
advertises?: string | string[];
|
|
395
|
-
uses?: string | string[];
|
|
396
|
-
redundancy?: 'none' | 'low' | 'medium' | 'high' | 'enterprise';
|
|
397
|
-
healthCheck?: boolean;
|
|
398
|
-
loadBalancing?: boolean;
|
|
399
|
-
}
|
|
400
|
-
export interface MonitoringInstanceSpec extends InstanceSpec {
|
|
401
|
-
type: 'metrics' | 'logging' | 'tracing' | 'alerting' | 'analytics' | 'profiling' | 'uptime' | 'synthetic';
|
|
402
|
-
advertises?: string | string[];
|
|
403
|
-
uses?: string | string[];
|
|
404
|
-
scope?: 'global' | 'regional' | 'local';
|
|
405
|
-
retention?: string;
|
|
406
|
-
alerting?: boolean;
|
|
407
|
-
sampling?: number;
|
|
408
|
-
}
|
|
409
|
-
export interface InstancesSpec {
|
|
410
|
-
controllers?: {
|
|
411
|
-
[name: string]: ControllerInstanceSpec;
|
|
412
|
-
};
|
|
413
|
-
services?: {
|
|
414
|
-
[name: string]: ServiceInstanceSpec;
|
|
415
|
-
};
|
|
416
|
-
views?: {
|
|
417
|
-
[name: string]: ViewInstanceSpec;
|
|
418
|
-
};
|
|
419
|
-
communications?: {
|
|
420
|
-
[name: string]: CommunicationInstanceSpec;
|
|
421
|
-
};
|
|
422
|
-
storage?: {
|
|
423
|
-
[name: string]: StorageInstanceSpec;
|
|
424
|
-
};
|
|
425
|
-
security?: {
|
|
426
|
-
[name: string]: SecurityInstanceSpec;
|
|
427
|
-
};
|
|
428
|
-
infrastructure?: {
|
|
429
|
-
[name: string]: InfrastructureInstanceSpec;
|
|
430
|
-
};
|
|
431
|
-
monitoring?: {
|
|
432
|
-
[name: string]: MonitoringInstanceSpec;
|
|
433
|
-
};
|
|
434
|
-
}
|
|
435
|
-
export interface DeploymentSpec {
|
|
436
|
-
name: string;
|
|
437
|
-
namespace: string;
|
|
438
|
-
version: string;
|
|
439
|
-
description?: string;
|
|
440
|
-
environment?: string;
|
|
441
|
-
instances?: InstancesSpec;
|
|
442
|
-
[key: string]: any;
|
|
443
|
-
}
|
|
444
|
-
export interface ConditionalMappingCondition {
|
|
445
|
-
environment?: string | string[];
|
|
446
|
-
region?: string | string[];
|
|
447
|
-
featureFlags?: string[];
|
|
448
|
-
scale?: {
|
|
449
|
-
min?: number;
|
|
450
|
-
max?: number;
|
|
451
|
-
};
|
|
452
|
-
}
|
|
453
|
-
export interface FallbackStrategy {
|
|
454
|
-
instanceFactory: string;
|
|
455
|
-
degradedMode?: boolean;
|
|
456
|
-
warnings?: string[];
|
|
457
|
-
errors?: string[];
|
|
458
|
-
requiredAcknowledgment?: boolean;
|
|
459
|
-
}
|
|
460
|
-
export interface ConditionalCapabilityMapping {
|
|
461
|
-
capability: string;
|
|
462
|
-
instanceFactory: string;
|
|
463
|
-
version?: string;
|
|
464
|
-
configuration?: {
|
|
465
|
-
[key: string]: any;
|
|
466
|
-
};
|
|
467
|
-
fallback?: FallbackStrategy[];
|
|
468
|
-
}
|
|
469
|
-
export interface ConditionalMapping {
|
|
470
|
-
condition: ConditionalMappingCondition;
|
|
471
|
-
capabilityMappings: ConditionalCapabilityMapping[];
|
|
472
|
-
}
|
|
473
|
-
export interface TechnologyConflict {
|
|
474
|
-
instanceFactories: string[];
|
|
475
|
-
reason: string;
|
|
476
|
-
severity?: 'error' | 'warning';
|
|
477
|
-
}
|
|
478
|
-
export interface InstanceFactoryRef {
|
|
479
|
-
name: string;
|
|
480
|
-
source: string;
|
|
481
|
-
version?: string;
|
|
482
|
-
peerDependencies?: Array<{
|
|
483
|
-
name: string;
|
|
484
|
-
version: string;
|
|
485
|
-
optional?: boolean;
|
|
486
|
-
}>;
|
|
487
|
-
}
|
|
488
|
-
export interface ManifestSpec {
|
|
489
|
-
name: string;
|
|
490
|
-
namespace: string;
|
|
491
|
-
specVersion?: string;
|
|
492
|
-
version?: string;
|
|
493
|
-
description?: string;
|
|
494
|
-
component?: any;
|
|
495
|
-
deployment?: any;
|
|
496
|
-
instanceFactories?: InstanceFactoryRef[];
|
|
497
|
-
conditionalMappings?: ConditionalMapping[];
|
|
498
|
-
capabilityMappings?: Array<{
|
|
499
|
-
capability: string;
|
|
500
|
-
instanceFactory: string;
|
|
501
|
-
version?: string;
|
|
502
|
-
configuration?: {
|
|
503
|
-
[key: string]: any;
|
|
504
|
-
};
|
|
505
|
-
}>;
|
|
506
|
-
conflicts?: TechnologyConflict[];
|
|
507
|
-
implementationTypes?: any;
|
|
508
|
-
logicalDeployment?: any;
|
|
509
|
-
communicationChannels?: any;
|
|
510
|
-
namespaceConfiguration?: any;
|
|
511
|
-
[key: string]: any;
|
|
512
|
-
}
|
|
513
|
-
export interface SpecVerseAST {
|
|
514
|
-
components: ComponentSpec[];
|
|
515
|
-
deployments: DeploymentSpec[];
|
|
516
|
-
manifests: ManifestSpec[];
|
|
517
|
-
}
|
|
6
|
+
export { type AttributeCategory, type AttributeSpec, type AutoscalingConfiguration, type CachePolicy, type CircuitBreakerPolicy, type CommunicationInstanceSpec, type ComponentSpec, type ConditionalCapabilityMapping, type ConditionalMapping, type ConditionalMappingCondition, type ControllerInstanceSpec, type ControllerSpec, type CuredOperationsSpec, type CurvedOperationsSpec, type DeploymentSpec, type EventPayloadSpec, type EventSpec, type ExecutablePropertiesSpec, type ExpandedConstraint, type FallbackStrategy, type IdempotencyPolicy, type InfrastructureInstanceSpec, type InstanceFactoryRef, type InstanceSpec, type InstancesSpec, type LifecycleSpec, type ManifestSpec, type ModelSpec, type MonitoringInstanceSpec, type OperationPolicies, type PreviousVersionInfo, type PrimitiveSpec, type ProfileAttachmentSpec, type RateLimitPolicy, type RelationshipSpec, type ResourceConfiguration, type RetryPolicy, type SecurityInstanceSpec, type ServiceInstanceSpec, type ServiceSpec, type SpecVerseAST, type StorageInstanceSpec, type SubscriptionSpec, type TechnologyConflict, type TransactionalPolicy, type ViewInstanceSpec, type ViewSpec, } from '@specverse/types';
|
|
518
7
|
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/parser/types/ast.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/parser/types/ast.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,QAAQ,GACd,MAAM,kBAAkB,CAAC"}
|
package/dist/parser/types/ast.js
CHANGED
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SpecVerse v3.5 Convention Processor - Abstract Syntax Tree (AST) Interfaces
|
|
3
|
-
*
|
|
4
|
-
* Defines the structured representation of SpecVerse specifications after convention processing.
|
|
5
|
-
* Includes approved schema extensions as per VALIDATION_REPORT.md.
|
|
6
|
-
*/
|
|
7
1
|
export {};
|
|
8
2
|
//# sourceMappingURL=ast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/parser/types/ast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/parser/types/ast.ts"],"names":[],"mappings":""}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type { TemplateContext } from '@specverse/types';
|
|
8
|
+
import { deriveBasePath, normalizeSpec } from '@specverse/types/spec-rules';
|
|
8
9
|
|
|
9
10
|
export default function generateMain(context: TemplateContext): string {
|
|
10
11
|
const { spec, manifest } = context;
|
|
@@ -82,8 +83,7 @@ function generateFastifyMain(spec: any): string {
|
|
|
82
83
|
let prefix = ctrl.basePath;
|
|
83
84
|
if (!prefix) {
|
|
84
85
|
const modelName = ctrl.model || ctrl.name.replace('Controller', '');
|
|
85
|
-
|
|
86
|
-
prefix = `/api/${pluralModel}`;
|
|
86
|
+
prefix = deriveBasePath(modelName);
|
|
87
87
|
}
|
|
88
88
|
return ` await app.register(${ctrl.name.replace('Controller', '')}Routes, {
|
|
89
89
|
prefix: '${prefix}',
|
|
@@ -83,12 +83,10 @@ async function apiRequest<T = any>(
|
|
|
83
83
|
path: string,
|
|
84
84
|
body: any = null
|
|
85
85
|
): Promise<T> {
|
|
86
|
-
const options: RequestInit = {
|
|
87
|
-
method,
|
|
88
|
-
headers: { 'Content-Type': 'application/json' }
|
|
89
|
-
};
|
|
86
|
+
const options: RequestInit = { method };
|
|
90
87
|
|
|
91
|
-
if (body) {
|
|
88
|
+
if (body && Object.keys(body).length > 0) {
|
|
89
|
+
options.headers = { 'Content-Type': 'application/json' };
|
|
92
90
|
options.body = JSON.stringify(body);
|
|
93
91
|
}
|
|
94
92
|
|
|
@@ -98,6 +96,11 @@ async function apiRequest<T = any>(
|
|
|
98
96
|
throw new Error(\`API request failed: \${response.statusText}\`);
|
|
99
97
|
}
|
|
100
98
|
|
|
99
|
+
// Handle 204 No Content (e.g., delete) — no body to parse
|
|
100
|
+
if (response.status === 204 || response.headers.get('content-length') === '0') {
|
|
101
|
+
return {} as T;
|
|
102
|
+
}
|
|
103
|
+
|
|
101
104
|
return await response.json();
|
|
102
105
|
}
|
|
103
106
|
|