@specverse/types 3.5.3

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/ast.d.ts ADDED
@@ -0,0 +1,525 @@
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
+ export interface PrimitiveSpec {
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
+ /**
78
+ * CURVED Operations: Create, Update, Retrieve, Validate, Evolve, Delete.
79
+ * The YAML keyword remains `cured:` for backward compatibility with existing specs.
80
+ * Use `CurvedOperationsSpec` in new code; `CuredOperationsSpec` is a legacy alias.
81
+ */
82
+ export interface CurvedOperationsSpec {
83
+ create?: ExecutablePropertiesSpec;
84
+ update?: ExecutablePropertiesSpec;
85
+ retrieve?: ExecutablePropertiesSpec;
86
+ retrieve_many?: ExecutablePropertiesSpec;
87
+ validate?: ExecutablePropertiesSpec;
88
+ evolve?: ExecutablePropertiesSpec;
89
+ delete?: ExecutablePropertiesSpec;
90
+ }
91
+ /** @deprecated Use CurvedOperationsSpec. YAML keyword remains `cured:` for compatibility. */
92
+ export type CuredOperationsSpec = CurvedOperationsSpec;
93
+ export interface ModelSpec {
94
+ name: string;
95
+ description?: string;
96
+ extends?: string;
97
+ profiles?: string[];
98
+ metadata?: any;
99
+ attributes: AttributeSpec[];
100
+ relationships: RelationshipSpec[];
101
+ lifecycles: LifecycleSpec[];
102
+ behaviors: {
103
+ [name: string]: ExecutablePropertiesSpec;
104
+ };
105
+ profileAttachment?: ProfileAttachmentSpec;
106
+ }
107
+ export interface ProfileAttachmentSpec {
108
+ profiles: string[];
109
+ conditions?: {
110
+ [key: string]: string;
111
+ };
112
+ priority?: number;
113
+ }
114
+ export interface ControllerSpec {
115
+ name: string;
116
+ model: string;
117
+ path?: string;
118
+ description?: string;
119
+ subscriptions: SubscriptionSpec;
120
+ cured: CuredOperationsSpec;
121
+ actions: {
122
+ [name: string]: ExecutablePropertiesSpec;
123
+ };
124
+ }
125
+ export interface ServiceSpec {
126
+ name: string;
127
+ description?: string;
128
+ subscriptions: SubscriptionSpec;
129
+ operations: {
130
+ [name: string]: ExecutablePropertiesSpec;
131
+ };
132
+ }
133
+ export interface ViewSpec {
134
+ name: string;
135
+ description?: string;
136
+ type?: string;
137
+ model?: string;
138
+ tags?: string[];
139
+ export?: boolean;
140
+ layout?: any;
141
+ subscriptions: SubscriptionSpec;
142
+ uiComponents: {
143
+ [name: string]: any;
144
+ };
145
+ properties: {
146
+ [name: string]: any;
147
+ };
148
+ }
149
+ /**
150
+ * @deprecated This will be replaced by the `version` and `previousVersions` fields on `EventSpec`.
151
+ * Kept for backward compatibility parsing of older specs.
152
+ */
153
+ export interface EventPayloadSpec {
154
+ name: string;
155
+ description?: string;
156
+ payload: AttributeSpec[];
157
+ }
158
+ export interface PreviousVersionInfo {
159
+ version: number;
160
+ compatibility?: 'backward' | 'forward' | 'full' | 'none';
161
+ deprecated?: boolean;
162
+ deprecationMessage?: string;
163
+ }
164
+ export interface EventSpec {
165
+ name: string;
166
+ description?: string;
167
+ version?: number;
168
+ previousVersions?: PreviousVersionInfo[];
169
+ payload: AttributeSpec[];
170
+ }
171
+ export interface ComponentSpec {
172
+ name: string;
173
+ namespace: string;
174
+ version: string;
175
+ description?: string;
176
+ tags?: string[];
177
+ imports: any[];
178
+ exports: any;
179
+ primitives: PrimitiveSpec[];
180
+ models: ModelSpec[];
181
+ controllers: ControllerSpec[];
182
+ services: ServiceSpec[];
183
+ views: ViewSpec[];
184
+ events: EventSpec[];
185
+ commands?: any[];
186
+ constraints?: ExpandedConstraint[];
187
+ [key: string]: any;
188
+ }
189
+ /** A behavioural convention expanded into a Quint invariant/rule/temporal property. */
190
+ export interface ExpandedConstraint {
191
+ type: 'invariant' | 'rule' | 'temporal';
192
+ name: string;
193
+ body: string;
194
+ source: {
195
+ convention: string;
196
+ entity: string;
197
+ input: string;
198
+ };
199
+ }
200
+ export interface TransactionalPolicy {
201
+ enabled?: boolean;
202
+ isolation?: 'READ_UNCOMMITTED' | 'READ_COMMITTED' | 'REPEATABLE_READ' | 'SERIALIZABLE';
203
+ propagation?: 'REQUIRED' | 'REQUIRES_NEW' | 'SUPPORTS' | 'NOT_SUPPORTED' | 'MANDATORY' | 'NEVER';
204
+ timeout?: number;
205
+ readOnly?: boolean;
206
+ }
207
+ export interface RetryPolicy {
208
+ enabled?: boolean;
209
+ maxAttempts?: number;
210
+ backoffMs?: number;
211
+ backoffMultiplier?: number;
212
+ maxBackoffMs?: number;
213
+ retryableErrors?: string[];
214
+ }
215
+ export interface CircuitBreakerPolicy {
216
+ enabled?: boolean;
217
+ failureThreshold?: number;
218
+ successThreshold?: number;
219
+ timeoutMs?: number;
220
+ halfOpenAfterMs?: number;
221
+ }
222
+ export interface IdempotencyPolicy {
223
+ enabled?: boolean;
224
+ keyField?: string;
225
+ ttlSeconds?: number;
226
+ }
227
+ export interface CachePolicy {
228
+ enabled?: boolean;
229
+ ttlSeconds?: number;
230
+ keyFields?: string[];
231
+ }
232
+ export interface OperationPolicies {
233
+ transactional?: TransactionalPolicy;
234
+ retry?: RetryPolicy;
235
+ circuitBreaker?: CircuitBreakerPolicy;
236
+ idempotency?: IdempotencyPolicy;
237
+ cache?: CachePolicy;
238
+ }
239
+ export interface RateLimitPolicy {
240
+ enabled?: boolean;
241
+ requestsPerMinute?: number;
242
+ burstSize?: number;
243
+ byIP?: boolean;
244
+ byUser?: boolean;
245
+ byApiKey?: boolean;
246
+ }
247
+ export interface ResourceConfiguration {
248
+ requests?: {
249
+ cpu?: string;
250
+ memory?: string;
251
+ ephemeralStorage?: string;
252
+ };
253
+ limits?: {
254
+ cpu?: string;
255
+ memory?: string;
256
+ ephemeralStorage?: string;
257
+ };
258
+ }
259
+ export interface AutoscalingConfiguration {
260
+ enabled?: boolean;
261
+ minReplicas?: number;
262
+ maxReplicas?: number;
263
+ targetCPU?: number;
264
+ targetMemory?: number;
265
+ customMetrics?: Array<{
266
+ name: string;
267
+ type: 'pods' | 'object' | 'external';
268
+ target: {
269
+ type: 'Utilization' | 'Value' | 'AverageValue';
270
+ averageValue?: string;
271
+ value?: string;
272
+ };
273
+ }>;
274
+ scaleDown?: {
275
+ stabilizationWindowSeconds?: number;
276
+ selectPolicy?: 'Max' | 'Min' | 'Disabled';
277
+ };
278
+ scaleUp?: {
279
+ stabilizationWindowSeconds?: number;
280
+ selectPolicy?: 'Max' | 'Min' | 'Disabled';
281
+ };
282
+ }
283
+ export interface InstanceSpec {
284
+ component: string;
285
+ namespace?: string;
286
+ scale?: number;
287
+ config?: {
288
+ [key: string]: any;
289
+ };
290
+ }
291
+ export interface ControllerInstanceSpec extends InstanceSpec {
292
+ advertises?: string | string[];
293
+ uses?: string | string[];
294
+ rateLimit?: RateLimitPolicy;
295
+ timeout?: {
296
+ enabled?: boolean;
297
+ requestMs?: number;
298
+ keepAliveMs?: number;
299
+ };
300
+ operations?: {
301
+ [name: string]: OperationPolicies;
302
+ };
303
+ resources?: ResourceConfiguration;
304
+ autoscaling?: AutoscalingConfiguration;
305
+ }
306
+ export interface ServiceInstanceSpec extends InstanceSpec {
307
+ advertises?: string | string[];
308
+ uses?: string | string[];
309
+ operations?: {
310
+ [name: string]: OperationPolicies;
311
+ };
312
+ resources?: ResourceConfiguration;
313
+ autoscaling?: AutoscalingConfiguration;
314
+ security?: {
315
+ enabled?: boolean;
316
+ operations?: {
317
+ [name: string]: {
318
+ requires?: {
319
+ authenticated?: boolean;
320
+ roles?: string[];
321
+ permissions?: string[];
322
+ scopes?: string[];
323
+ };
324
+ };
325
+ };
326
+ };
327
+ caching?: {
328
+ enabled?: boolean;
329
+ defaultTtlSeconds?: number;
330
+ operations?: {
331
+ [name: string]: {
332
+ enabled?: boolean;
333
+ ttlSeconds?: number;
334
+ keyFields?: string[];
335
+ };
336
+ };
337
+ };
338
+ }
339
+ export interface ViewInstanceSpec extends InstanceSpec {
340
+ uses?: string | string[];
341
+ caching?: {
342
+ enabled?: boolean;
343
+ ttlSeconds?: number;
344
+ };
345
+ prefetch?: {
346
+ enabled?: boolean;
347
+ };
348
+ }
349
+ export interface CommunicationInstanceSpec {
350
+ namespace?: string;
351
+ capabilities?: string[];
352
+ type?: 'pubsub' | 'streaming' | 'rpc' | 'queue';
353
+ config?: {
354
+ [key: string]: any;
355
+ };
356
+ events?: {
357
+ [eventName: string]: {
358
+ ordering?: {
359
+ enabled?: boolean;
360
+ partitionKey?: string;
361
+ };
362
+ delivery?: {
363
+ persistent?: boolean;
364
+ retryOnFailure?: boolean;
365
+ maxRetries?: number;
366
+ retryDelayMs?: number;
367
+ };
368
+ deadLetterQueue?: {
369
+ enabled?: boolean;
370
+ maxReceiveCount?: number;
371
+ };
372
+ };
373
+ };
374
+ consumer?: {
375
+ concurrency?: number;
376
+ prefetch?: number;
377
+ autoAck?: boolean;
378
+ };
379
+ }
380
+ export interface StorageInstanceSpec extends InstanceSpec {
381
+ type: 'relational' | 'document' | 'keyvalue' | 'cache' | 'file' | 'blob' | 'queue' | 'search';
382
+ advertises?: string | string[];
383
+ uses?: string | string[];
384
+ persistence?: 'durable' | 'session' | 'cache' | 'temporary';
385
+ consistency?: 'strong' | 'eventual' | 'weak';
386
+ encryption?: boolean;
387
+ backup?: boolean;
388
+ replication?: number;
389
+ }
390
+ export interface SecurityInstanceSpec extends InstanceSpec {
391
+ type: 'authentication' | 'authorization' | 'encryption' | 'audit' | 'firewall' | 'scanning' | 'secrets' | 'identity';
392
+ advertises?: string | string[];
393
+ uses?: string | string[];
394
+ scope?: 'global' | 'regional' | 'local';
395
+ policies?: string[];
396
+ encryption?: 'none' | 'basic' | 'strong';
397
+ auditLevel?: 'none' | 'basic' | 'detailed' | 'comprehensive';
398
+ }
399
+ export interface InfrastructureInstanceSpec extends InstanceSpec {
400
+ type: 'gateway' | 'loadbalancer' | 'proxy' | 'cdn' | 'dns' | 'registry' | 'mesh' | 'ingress';
401
+ advertises?: string | string[];
402
+ uses?: string | string[];
403
+ redundancy?: 'none' | 'low' | 'medium' | 'high' | 'enterprise';
404
+ healthCheck?: boolean;
405
+ loadBalancing?: boolean;
406
+ }
407
+ export interface MonitoringInstanceSpec extends InstanceSpec {
408
+ type: 'metrics' | 'logging' | 'tracing' | 'alerting' | 'analytics' | 'profiling' | 'uptime' | 'synthetic';
409
+ advertises?: string | string[];
410
+ uses?: string | string[];
411
+ scope?: 'global' | 'regional' | 'local';
412
+ retention?: string;
413
+ alerting?: boolean;
414
+ sampling?: number;
415
+ }
416
+ export interface InstancesSpec {
417
+ controllers?: {
418
+ [name: string]: ControllerInstanceSpec;
419
+ };
420
+ services?: {
421
+ [name: string]: ServiceInstanceSpec;
422
+ };
423
+ views?: {
424
+ [name: string]: ViewInstanceSpec;
425
+ };
426
+ communications?: {
427
+ [name: string]: CommunicationInstanceSpec;
428
+ };
429
+ storage?: {
430
+ [name: string]: StorageInstanceSpec;
431
+ };
432
+ security?: {
433
+ [name: string]: SecurityInstanceSpec;
434
+ };
435
+ infrastructure?: {
436
+ [name: string]: InfrastructureInstanceSpec;
437
+ };
438
+ monitoring?: {
439
+ [name: string]: MonitoringInstanceSpec;
440
+ };
441
+ }
442
+ export interface DeploymentSpec {
443
+ name: string;
444
+ namespace: string;
445
+ version: string;
446
+ description?: string;
447
+ environment?: string;
448
+ instances?: InstancesSpec;
449
+ [key: string]: any;
450
+ }
451
+ export interface ConditionalMappingCondition {
452
+ environment?: string | string[];
453
+ region?: string | string[];
454
+ featureFlags?: string[];
455
+ scale?: {
456
+ min?: number;
457
+ max?: number;
458
+ };
459
+ }
460
+ export interface FallbackStrategy {
461
+ instanceFactory: string;
462
+ degradedMode?: boolean;
463
+ warnings?: string[];
464
+ errors?: string[];
465
+ requiredAcknowledgment?: boolean;
466
+ }
467
+ export interface ConditionalCapabilityMapping {
468
+ capability: string;
469
+ instanceFactory: string;
470
+ version?: string;
471
+ configuration?: {
472
+ [key: string]: any;
473
+ };
474
+ fallback?: FallbackStrategy[];
475
+ }
476
+ export interface ConditionalMapping {
477
+ condition: ConditionalMappingCondition;
478
+ capabilityMappings: ConditionalCapabilityMapping[];
479
+ }
480
+ export interface TechnologyConflict {
481
+ instanceFactories: string[];
482
+ reason: string;
483
+ severity?: 'error' | 'warning';
484
+ }
485
+ export interface InstanceFactoryRef {
486
+ name: string;
487
+ source: string;
488
+ version?: string;
489
+ peerDependencies?: Array<{
490
+ name: string;
491
+ version: string;
492
+ optional?: boolean;
493
+ }>;
494
+ }
495
+ export interface ManifestSpec {
496
+ name: string;
497
+ namespace: string;
498
+ specVersion?: string;
499
+ version?: string;
500
+ description?: string;
501
+ component?: any;
502
+ deployment?: any;
503
+ instanceFactories?: InstanceFactoryRef[];
504
+ conditionalMappings?: ConditionalMapping[];
505
+ capabilityMappings?: Array<{
506
+ capability: string;
507
+ instanceFactory: string;
508
+ version?: string;
509
+ configuration?: {
510
+ [key: string]: any;
511
+ };
512
+ }>;
513
+ conflicts?: TechnologyConflict[];
514
+ implementationTypes?: any;
515
+ logicalDeployment?: any;
516
+ communicationChannels?: any;
517
+ namespaceConfiguration?: any;
518
+ [key: string]: any;
519
+ }
520
+ export interface SpecVerseAST {
521
+ components: ComponentSpec[];
522
+ deployments: DeploymentSpec[];
523
+ manifests: ManifestSpec[];
524
+ }
525
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
package/dist/ast.js ADDED
@@ -0,0 +1,8 @@
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
+ export {};
8
+ //# sourceMappingURL=ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * SpecVerse Engine Interfaces
3
+ *
4
+ * Standard interfaces for discoverable, composable engines.
5
+ * Each engine registers with the EngineRegistry and is discovered at runtime.
6
+ */
7
+ export interface EngineInfo {
8
+ name: string;
9
+ version: string;
10
+ capabilities: string[];
11
+ config?: Record<string, any>;
12
+ }
13
+ /**
14
+ * Base interface for all SpecVerse engines.
15
+ * Engines are independent packages that can be discovered and loaded at runtime.
16
+ */
17
+ export interface SpecVerseEngine {
18
+ /** Engine identifier (e.g., "parser", "inference", "realize") */
19
+ name: string;
20
+ /** Semantic version */
21
+ version: string;
22
+ /** Capabilities this engine provides (e.g., ["parse", "validate", "import-resolution"]) */
23
+ capabilities: string[];
24
+ /** Initialize the engine (load rules, schemas, etc.) */
25
+ initialize(config?: any): Promise<void>;
26
+ /** Get engine metadata */
27
+ getInfo(): EngineInfo;
28
+ }
29
+ /**
30
+ * Parser engine — transforms .specly content into a SpecVerseAST.
31
+ */
32
+ export interface ParserEngine extends SpecVerseEngine {
33
+ /** Parse string content into AST */
34
+ parseContent(content: string, filename?: string): ParseResult;
35
+ /** Parse a file with import resolution */
36
+ parseFileWithImports(filePath: string, options?: ParseOptions): Promise<ParseResult>;
37
+ }
38
+ /**
39
+ * Inference engine — generates architecture from models.
40
+ */
41
+ export interface InferenceEngine extends SpecVerseEngine {
42
+ /** Load inference rules */
43
+ loadRules(): Promise<ValidationResult>;
44
+ /** Run inference on a parsed AST */
45
+ infer(ast: any, options?: InferenceOptions): Promise<InferenceResult>;
46
+ }
47
+ /**
48
+ * Realize engine — generates code from specifications.
49
+ */
50
+ export interface RealizeEngine extends SpecVerseEngine {
51
+ /** Resolve a capability to an instance factory */
52
+ resolve(capability: string): any;
53
+ /** Generate code from a resolved implementation */
54
+ generate(resolved: any, template: string, context: any): Promise<GeneratedOutput>;
55
+ }
56
+ export interface ParseResult {
57
+ ast?: any;
58
+ errors: string[];
59
+ warnings?: string[];
60
+ }
61
+ export interface ParseOptions {
62
+ enableImports?: boolean;
63
+ basePath?: string;
64
+ debug?: boolean;
65
+ }
66
+ export interface ValidationResult {
67
+ valid: boolean;
68
+ errors: Array<{
69
+ code: string;
70
+ message: string;
71
+ location?: string;
72
+ }>;
73
+ warnings: Array<{
74
+ code: string;
75
+ message: string;
76
+ location?: string;
77
+ }>;
78
+ }
79
+ export interface InferenceOptions {
80
+ generateControllers?: boolean;
81
+ generateServices?: boolean;
82
+ generateEvents?: boolean;
83
+ generateViews?: boolean;
84
+ generateDeployment?: boolean;
85
+ targetEnvironment?: 'development' | 'staging' | 'production';
86
+ verbose?: boolean;
87
+ }
88
+ export interface InferenceResult {
89
+ component: any;
90
+ deployments?: Record<string, any>;
91
+ yaml: string;
92
+ validation: ValidationResult;
93
+ statistics: {
94
+ modelsProcessed: number;
95
+ controllersGenerated: number;
96
+ servicesGenerated: number;
97
+ eventsGenerated: number;
98
+ viewsGenerated: number;
99
+ rulesApplied: number;
100
+ processingTimeMs: number;
101
+ };
102
+ }
103
+ export interface GeneratedOutput {
104
+ code: string;
105
+ filePath: string;
106
+ templateName: string;
107
+ instanceFactory: string;
108
+ }
109
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * SpecVerse Engine Interfaces
3
+ *
4
+ * Standard interfaces for discoverable, composable engines.
5
+ * Each engine registers with the EngineRegistry and is discovered at runtime.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Entity Module Framework — Core Types
3
+ *
4
+ * Defines interfaces for entity modules, convention processors, inference rules,
5
+ * generators, diagram plugins, and the entity registry.
6
+ *
7
+ * Moved from entities/_shared/types.ts to break the parser ↔ entities cycle.
8
+ * Both parser and entities now import these from @specverse/types.
9
+ */
10
+ import type { ProcessorContext } from './processor.js';
11
+ export interface EntityConventionProcessor<TInput = any, TOutput = any> {
12
+ process(input: TInput, context: ProcessorContext, ...args: any[]): TOutput;
13
+ }
14
+ export interface EntityInferenceRule {
15
+ id: string;
16
+ description: string;
17
+ triggeredBy: string;
18
+ generates?: string[];
19
+ priority?: number;
20
+ }
21
+ export interface EntityGenerator {
22
+ name: string;
23
+ capability?: string;
24
+ factoryPath?: string;
25
+ }
26
+ export interface EntityDiagramPlugin {
27
+ type: string;
28
+ variants?: string[];
29
+ }
30
+ export interface EntityDocReference {
31
+ title: string;
32
+ category: 'example' | 'guide' | 'reference' | 'architecture';
33
+ path: string;
34
+ description?: string;
35
+ }
36
+ export interface EntityTestReference {
37
+ title: string;
38
+ category: 'unit' | 'integration' | 'example-spec' | 'parity';
39
+ path: string;
40
+ description?: string;
41
+ }
42
+ export interface EntityBehaviourSpec {
43
+ invariantsPath: string;
44
+ rulesPath: string;
45
+ invariantsModule: string;
46
+ rulesModule: string;
47
+ invariantCount: number;
48
+ ruleCount: number;
49
+ }
50
+ export interface EntityModule {
51
+ name: string;
52
+ type: 'core' | 'extension';
53
+ version: string;
54
+ dependsOn: string[];
55
+ schema?: object;
56
+ conventionProcessor?: EntityConventionProcessor;
57
+ inferenceRules?: EntityInferenceRule[];
58
+ generators?: EntityGenerator[];
59
+ diagramPlugins?: EntityDiagramPlugin[];
60
+ behaviourSpec?: EntityBehaviourSpec;
61
+ docs?: EntityDocReference[];
62
+ tests?: EntityTestReference[];
63
+ }
64
+ export interface EntityRegistryInterface {
65
+ register(module: EntityModule): void;
66
+ getModule(name: string): EntityModule | undefined;
67
+ getAllModules(): EntityModule[];
68
+ getInDependencyOrder(): EntityModule[];
69
+ getConventionProcessors(): Map<string, EntityConventionProcessor>;
70
+ getAllInferenceRules(): EntityInferenceRule[];
71
+ getAllGenerators(): EntityGenerator[];
72
+ getAllDiagramPlugins(): EntityDiagramPlugin[];
73
+ hasModule(name: string): boolean;
74
+ }
75
+ //# sourceMappingURL=entity-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-module.d.ts","sourceRoot":"","sources":["../src/entity-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,MAAM,WAAW,yBAAyB,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IACpE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;CAC5E;AAGD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAGD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,cAAc,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAGD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAClD,aAAa,IAAI,YAAY,EAAE,CAAC;IAChC,oBAAoB,IAAI,YAAY,EAAE,CAAC;IACvC,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAClE,oBAAoB,IAAI,mBAAmB,EAAE,CAAC;IAC9C,gBAAgB,IAAI,eAAe,EAAE,CAAC;IACtC,oBAAoB,IAAI,mBAAmB,EAAE,CAAC;IAC9C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Entity Module Framework — Core Types
3
+ *
4
+ * Defines interfaces for entity modules, convention processors, inference rules,
5
+ * generators, diagram plugins, and the entity registry.
6
+ *
7
+ * Moved from entities/_shared/types.ts to break the parser ↔ entities cycle.
8
+ * Both parser and entities now import these from @specverse/types.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=entity-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-module.js","sourceRoot":"","sources":["../src/entity-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @specverse/types — Shared type definitions for all SpecVerse engines
3
+ *
4
+ * This package contains:
5
+ * - AST types (SpecVerseAST, ComponentSpec, ModelSpec, etc.)
6
+ * - Engine interfaces (SpecVerseEngine, ParserEngine, InferenceEngine, RealizeEngine)
7
+ * - Processor types (ProcessorContext, AbstractProcessor) — breaks parser ↔ entities cycle
8
+ * - Entity module types (EntityModule, EntityRegistryInterface, facet interfaces)
9
+ */
10
+ export * from './ast.js';
11
+ export * from './engine.js';
12
+ export * from './processor.js';
13
+ export * from './entity-module.js';
14
+ export * from './utils.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @specverse/types — Shared type definitions for all SpecVerse engines
3
+ *
4
+ * This package contains:
5
+ * - AST types (SpecVerseAST, ComponentSpec, ModelSpec, etc.)
6
+ * - Engine interfaces (SpecVerseEngine, ParserEngine, InferenceEngine, RealizeEngine)
7
+ * - Processor types (ProcessorContext, AbstractProcessor) — breaks parser ↔ entities cycle
8
+ * - Entity module types (EntityModule, EntityRegistryInterface, facet interfaces)
9
+ */
10
+ export * from './ast.js';
11
+ export * from './engine.js';
12
+ export * from './processor.js';
13
+ export * from './entity-module.js';
14
+ export * from './utils.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Processor interfaces — shared between parser and entity modules.
3
+ *
4
+ * These types break the circular dependency between parser and entities.
5
+ * Both packages import from @specverse/types instead of from each other.
6
+ */
7
+ export interface ProcessorContext {
8
+ warnings: string[];
9
+ addWarning(message: string): void;
10
+ }
11
+ export declare abstract class AbstractProcessor<TInput, TOutput> {
12
+ protected context: ProcessorContext;
13
+ constructor(context: ProcessorContext);
14
+ protected addWarning(message: string): void;
15
+ }
16
+ //# sourceMappingURL=processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,8BAAsB,iBAAiB,CAAC,MAAM,EAAE,OAAO;IACzC,SAAS,CAAC,OAAO,EAAE,gBAAgB;gBAAzB,OAAO,EAAE,gBAAgB;IAE/C,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG5C"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Processor interfaces — shared between parser and entity modules.
3
+ *
4
+ * These types break the circular dependency between parser and entities.
5
+ * Both packages import from @specverse/types instead of from each other.
6
+ */
7
+ export class AbstractProcessor {
8
+ context;
9
+ constructor(context) {
10
+ this.context = context;
11
+ }
12
+ addWarning(message) {
13
+ this.context.addWarning(message);
14
+ }
15
+ }
16
+ //# sourceMappingURL=processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,OAAgB,iBAAiB;IACf;IAAtB,YAAsB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAEzC,UAAU,CAAC,OAAe;QAClC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Shared utilities used across engine packages
3
+ */
4
+ /**
5
+ * Pluralize an English word (naive but handles common cases).
6
+ * Covers: -y → -ies, sibilants (-s/-x/-z/-ch/-sh) → -es, default → -s.
7
+ */
8
+ export declare function pluralize(word: string): string;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS9C"}
package/dist/utils.js ADDED
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared utilities used across engine packages
3
+ */
4
+ /**
5
+ * Pluralize an English word (naive but handles common cases).
6
+ * Covers: -y → -ies, sibilants (-s/-x/-z/-ch/-sh) → -es, default → -s.
7
+ */
8
+ export function pluralize(word) {
9
+ if (word.endsWith('y') && !word.endsWith('ay') && !word.endsWith('ey') && !word.endsWith('oy') && !word.endsWith('uy')) {
10
+ return word.slice(0, -1) + 'ies';
11
+ }
12
+ if (word.endsWith('s') || word.endsWith('x') || word.endsWith('z') ||
13
+ word.endsWith('ch') || word.endsWith('sh')) {
14
+ return word + 'es';
15
+ }
16
+ return word + 's';
17
+ }
18
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvH,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,GAAG,GAAG,CAAC;AACpB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@specverse/types",
3
+ "version": "3.5.3",
4
+ "description": "Shared type definitions for SpecVerse engines \u2014 AST, specs, engine interfaces",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ },
14
+ "./package.json": "./package.json"
15
+ },
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "clean": "rm -rf dist"
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "license": "MIT"
24
+ }