@simway/spica 0.0.0-stage → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/LICENSE +190 -0
  2. package/dist/admValidator.d.ts +28 -0
  3. package/dist/admValidator.d.ts.map +1 -0
  4. package/dist/admValidator.js +233 -0
  5. package/dist/admValidator.js.map +1 -0
  6. package/dist/contractProjector.d.ts +23 -0
  7. package/dist/contractProjector.d.ts.map +1 -0
  8. package/dist/contractProjector.js +269 -0
  9. package/dist/contractProjector.js.map +1 -0
  10. package/dist/dddCrewParser.d.ts +11 -0
  11. package/dist/dddCrewParser.d.ts.map +1 -0
  12. package/dist/dddCrewParser.js +519 -0
  13. package/dist/dddCrewParser.js.map +1 -0
  14. package/dist/dddCrewProjector.d.ts +16 -0
  15. package/dist/dddCrewProjector.d.ts.map +1 -0
  16. package/dist/dddCrewProjector.js +227 -0
  17. package/dist/dddCrewProjector.js.map +1 -0
  18. package/dist/defaultTemplate.d.ts +3 -0
  19. package/dist/defaultTemplate.d.ts.map +1 -0
  20. package/dist/defaultTemplate.js +1442 -0
  21. package/dist/defaultTemplate.js.map +1 -0
  22. package/dist/excalidrawProjector.d.ts +56 -0
  23. package/dist/excalidrawProjector.d.ts.map +1 -0
  24. package/dist/excalidrawProjector.js +235 -0
  25. package/dist/excalidrawProjector.js.map +1 -0
  26. package/dist/index.d.ts +8 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +8 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/openApiProjector.d.ts +17 -0
  31. package/dist/openApiProjector.d.ts.map +1 -0
  32. package/dist/openApiProjector.js +298 -0
  33. package/dist/openApiProjector.js.map +1 -0
  34. package/dist/schema.d.ts +670 -0
  35. package/dist/schema.d.ts.map +1 -0
  36. package/dist/schema.js +296 -0
  37. package/dist/schema.js.map +1 -0
  38. package/dist/templates/aggregate-design-canvas-v1.1.excalidraw.json +1441 -0
  39. package/package.json +24 -3
  40. package/README.md +0 -3
@@ -0,0 +1,670 @@
1
+ import { z } from "zod";
2
+ /** Regex matching the canonical `YYYY.MM.DD-HHmm` CalVer timestamp (inlined from calver.ts). */
3
+ export declare const CALVER_TIMESTAMP_REGEX: RegExp;
4
+ export declare const FieldNodeSchema: z.ZodObject<{
5
+ name: z.ZodString;
6
+ type: z.ZodString;
7
+ required: z.ZodOptional<z.ZodBoolean>;
8
+ isList: z.ZodOptional<z.ZodBoolean>;
9
+ description: z.ZodOptional<z.ZodString>;
10
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ }, z.core.$strip>;
12
+ export type FieldNode = z.infer<typeof FieldNodeSchema>;
13
+ export declare const RelationshipNodeSchema: z.ZodObject<{
14
+ target: z.ZodString;
15
+ cardinality: z.ZodEnum<{
16
+ OneToOne: "OneToOne";
17
+ OneToMany: "OneToMany";
18
+ ManyToOne: "ManyToOne";
19
+ ManyToMany: "ManyToMany";
20
+ }>;
21
+ composition: z.ZodBoolean;
22
+ }, z.core.$strip>;
23
+ export type RelationshipNode = z.infer<typeof RelationshipNodeSchema>;
24
+ export declare const EntityNodeSchema: z.ZodObject<{
25
+ name: z.ZodString;
26
+ fields: z.ZodArray<z.ZodObject<{
27
+ name: z.ZodString;
28
+ type: z.ZodString;
29
+ required: z.ZodOptional<z.ZodBoolean>;
30
+ isList: z.ZodOptional<z.ZodBoolean>;
31
+ description: z.ZodOptional<z.ZodString>;
32
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
+ }, z.core.$strip>>;
34
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
35
+ target: z.ZodString;
36
+ cardinality: z.ZodEnum<{
37
+ OneToOne: "OneToOne";
38
+ OneToMany: "OneToMany";
39
+ ManyToOne: "ManyToOne";
40
+ ManyToMany: "ManyToMany";
41
+ }>;
42
+ composition: z.ZodBoolean;
43
+ }, z.core.$strip>>>;
44
+ }, z.core.$strip>;
45
+ export type EntityNode = z.infer<typeof EntityNodeSchema>;
46
+ export declare const ValueObjectNodeSchema: z.ZodObject<{
47
+ name: z.ZodString;
48
+ type: z.ZodString;
49
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
50
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
51
+ name: z.ZodString;
52
+ type: z.ZodString;
53
+ required: z.ZodOptional<z.ZodBoolean>;
54
+ isList: z.ZodOptional<z.ZodBoolean>;
55
+ description: z.ZodOptional<z.ZodString>;
56
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
+ }, z.core.$strip>>>;
58
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
59
+ target: z.ZodString;
60
+ cardinality: z.ZodEnum<{
61
+ OneToOne: "OneToOne";
62
+ OneToMany: "OneToMany";
63
+ ManyToOne: "ManyToOne";
64
+ ManyToMany: "ManyToMany";
65
+ }>;
66
+ composition: z.ZodBoolean;
67
+ }, z.core.$strip>>>;
68
+ }, z.core.$strip>;
69
+ export type ValueObjectNode = z.infer<typeof ValueObjectNodeSchema>;
70
+ export declare const Phase1AggregateNodeSchema: z.ZodObject<{
71
+ name: z.ZodString;
72
+ rootEntity: z.ZodString;
73
+ entities: z.ZodArray<z.ZodObject<{
74
+ name: z.ZodString;
75
+ fields: z.ZodArray<z.ZodObject<{
76
+ name: z.ZodString;
77
+ type: z.ZodString;
78
+ required: z.ZodOptional<z.ZodBoolean>;
79
+ isList: z.ZodOptional<z.ZodBoolean>;
80
+ description: z.ZodOptional<z.ZodString>;
81
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
82
+ }, z.core.$strip>>;
83
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
84
+ target: z.ZodString;
85
+ cardinality: z.ZodEnum<{
86
+ OneToOne: "OneToOne";
87
+ OneToMany: "OneToMany";
88
+ ManyToOne: "ManyToOne";
89
+ ManyToMany: "ManyToMany";
90
+ }>;
91
+ composition: z.ZodBoolean;
92
+ }, z.core.$strip>>>;
93
+ }, z.core.$strip>>;
94
+ valueObjects: z.ZodArray<z.ZodObject<{
95
+ name: z.ZodString;
96
+ type: z.ZodString;
97
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
98
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
99
+ name: z.ZodString;
100
+ type: z.ZodString;
101
+ required: z.ZodOptional<z.ZodBoolean>;
102
+ isList: z.ZodOptional<z.ZodBoolean>;
103
+ description: z.ZodOptional<z.ZodString>;
104
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
105
+ }, z.core.$strip>>>;
106
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
107
+ target: z.ZodString;
108
+ cardinality: z.ZodEnum<{
109
+ OneToOne: "OneToOne";
110
+ OneToMany: "OneToMany";
111
+ ManyToOne: "ManyToOne";
112
+ ManyToMany: "ManyToMany";
113
+ }>;
114
+ composition: z.ZodBoolean;
115
+ }, z.core.$strip>>>;
116
+ }, z.core.$strip>>;
117
+ }, z.core.$strip>;
118
+ export type Phase1AggregateNode = z.infer<typeof Phase1AggregateNodeSchema>;
119
+ /**
120
+ * C4 System Context — Macro System Boundary (Work Item #326).
121
+ *
122
+ * An `Actor` is a human persona (or external party) who interacts with the
123
+ * system from OUTSIDE its boundary — the "who" in C4 Level 1. Distinct from
124
+ * `roles` (RBAC permission groups scoped INSIDE the system): an Actor is the
125
+ * external invoker, a `role` is an internal permission mechanism on commands.
126
+ */
127
+ export declare const ActorNodeSchema: z.ZodObject<{
128
+ name: z.ZodString;
129
+ description: z.ZodOptional<z.ZodString>;
130
+ }, z.core.$strip>;
131
+ export type ActorNode = z.infer<typeof ActorNodeSchema>;
132
+ /**
133
+ * C4 System Context — Macro System Boundary (Work Item #326).
134
+ *
135
+ * An `ExternalSystem` is a third-party integration the system talks to —
136
+ * payment gateways, messaging buses, notification services, etc. It is the
137
+ * natural target of a reactor's `triggersPort`.
138
+ */
139
+ export declare const ExternalSystemNodeSchema: z.ZodObject<{
140
+ name: z.ZodString;
141
+ description: z.ZodOptional<z.ZodString>;
142
+ technology: z.ZodOptional<z.ZodString>;
143
+ relationship: z.ZodOptional<z.ZodString>;
144
+ }, z.core.$strip>;
145
+ export type ExternalSystemNode = z.infer<typeof ExternalSystemNodeSchema>;
146
+ export declare const Phase1AstRootSchema: z.ZodObject<{
147
+ domain: z.ZodString;
148
+ systemName: z.ZodOptional<z.ZodString>;
149
+ systemDescription: z.ZodOptional<z.ZodString>;
150
+ actors: z.ZodOptional<z.ZodArray<z.ZodObject<{
151
+ name: z.ZodString;
152
+ description: z.ZodOptional<z.ZodString>;
153
+ }, z.core.$strip>>>;
154
+ externalSystems: z.ZodOptional<z.ZodArray<z.ZodObject<{
155
+ name: z.ZodString;
156
+ description: z.ZodOptional<z.ZodString>;
157
+ technology: z.ZodOptional<z.ZodString>;
158
+ relationship: z.ZodOptional<z.ZodString>;
159
+ }, z.core.$strip>>>;
160
+ aggregates: z.ZodArray<z.ZodObject<{
161
+ name: z.ZodString;
162
+ rootEntity: z.ZodString;
163
+ entities: z.ZodArray<z.ZodObject<{
164
+ name: z.ZodString;
165
+ fields: z.ZodArray<z.ZodObject<{
166
+ name: z.ZodString;
167
+ type: z.ZodString;
168
+ required: z.ZodOptional<z.ZodBoolean>;
169
+ isList: z.ZodOptional<z.ZodBoolean>;
170
+ description: z.ZodOptional<z.ZodString>;
171
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
172
+ }, z.core.$strip>>;
173
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
174
+ target: z.ZodString;
175
+ cardinality: z.ZodEnum<{
176
+ OneToOne: "OneToOne";
177
+ OneToMany: "OneToMany";
178
+ ManyToOne: "ManyToOne";
179
+ ManyToMany: "ManyToMany";
180
+ }>;
181
+ composition: z.ZodBoolean;
182
+ }, z.core.$strip>>>;
183
+ }, z.core.$strip>>;
184
+ valueObjects: z.ZodArray<z.ZodObject<{
185
+ name: z.ZodString;
186
+ type: z.ZodString;
187
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
188
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
189
+ name: z.ZodString;
190
+ type: z.ZodString;
191
+ required: z.ZodOptional<z.ZodBoolean>;
192
+ isList: z.ZodOptional<z.ZodBoolean>;
193
+ description: z.ZodOptional<z.ZodString>;
194
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
195
+ }, z.core.$strip>>>;
196
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
197
+ target: z.ZodString;
198
+ cardinality: z.ZodEnum<{
199
+ OneToOne: "OneToOne";
200
+ OneToMany: "OneToMany";
201
+ ManyToOne: "ManyToOne";
202
+ ManyToMany: "ManyToMany";
203
+ }>;
204
+ composition: z.ZodBoolean;
205
+ }, z.core.$strip>>>;
206
+ }, z.core.$strip>>;
207
+ }, z.core.$strip>>;
208
+ }, z.core.$strip>;
209
+ export type Phase1AstRoot = z.infer<typeof Phase1AstRootSchema>;
210
+ export declare const RoleNodeSchema: z.ZodObject<{
211
+ name: z.ZodString;
212
+ description: z.ZodOptional<z.ZodString>;
213
+ }, z.core.$strip>;
214
+ export type RoleNode = z.infer<typeof RoleNodeSchema>;
215
+ export declare const PolicyNodeSchema: z.ZodObject<{
216
+ name: z.ZodString;
217
+ description: z.ZodString;
218
+ rule: z.ZodOptional<z.ZodString>;
219
+ scope: z.ZodOptional<z.ZodString>;
220
+ intentTrace: z.ZodOptional<z.ZodString>;
221
+ sourceAggregate: z.ZodOptional<z.ZodString>;
222
+ sourceEvent: z.ZodOptional<z.ZodString>;
223
+ onEvent: z.ZodOptional<z.ZodString>;
224
+ emitsCommand: z.ZodOptional<z.ZodString>;
225
+ }, z.core.$strip>;
226
+ export type PolicyNode = z.infer<typeof PolicyNodeSchema>;
227
+ export declare const CommandNodeSchema: z.ZodObject<{
228
+ name: z.ZodString;
229
+ actor: z.ZodOptional<z.ZodString>;
230
+ allowedRoles: z.ZodOptional<z.ZodArray<z.ZodString>>;
231
+ policies: z.ZodOptional<z.ZodArray<z.ZodString>>;
232
+ requiredState: z.ZodString;
233
+ targetState: z.ZodString;
234
+ parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
235
+ name: z.ZodString;
236
+ type: z.ZodString;
237
+ required: z.ZodOptional<z.ZodBoolean>;
238
+ isList: z.ZodOptional<z.ZodBoolean>;
239
+ description: z.ZodOptional<z.ZodString>;
240
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
241
+ }, z.core.$strip>>>;
242
+ payload: z.ZodOptional<z.ZodArray<z.ZodObject<{
243
+ name: z.ZodString;
244
+ type: z.ZodString;
245
+ required: z.ZodOptional<z.ZodBoolean>;
246
+ isList: z.ZodOptional<z.ZodBoolean>;
247
+ description: z.ZodOptional<z.ZodString>;
248
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
249
+ }, z.core.$strip>>>;
250
+ isCreation: z.ZodOptional<z.ZodBoolean>;
251
+ triggerEvent: z.ZodOptional<z.ZodString>;
252
+ emits: z.ZodOptional<z.ZodString>;
253
+ }, z.core.$strip>;
254
+ export type CommandNode = z.infer<typeof CommandNodeSchema>;
255
+ export declare const DomainEventNodeSchema: z.ZodObject<{
256
+ name: z.ZodString;
257
+ emittedBy: z.ZodOptional<z.ZodString>;
258
+ trigger: z.ZodOptional<z.ZodString>;
259
+ payload: z.ZodOptional<z.ZodArray<z.ZodObject<{
260
+ name: z.ZodString;
261
+ type: z.ZodString;
262
+ required: z.ZodOptional<z.ZodBoolean>;
263
+ isList: z.ZodOptional<z.ZodBoolean>;
264
+ description: z.ZodOptional<z.ZodString>;
265
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
266
+ }, z.core.$strip>>>;
267
+ }, z.core.$strip>;
268
+ export type DomainEventNode = z.infer<typeof DomainEventNodeSchema>;
269
+ export declare const DomainEventInstanceSchema: z.ZodObject<{
270
+ eventName: z.ZodString;
271
+ aggregateName: z.ZodString;
272
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
273
+ timestamp: z.ZodNumber;
274
+ sequenceNumber: z.ZodNumber;
275
+ }, z.core.$strip>;
276
+ export type DomainEventInstance = z.infer<typeof DomainEventInstanceSchema>;
277
+ export declare const ReducerDescriptorSchema: z.ZodObject<{
278
+ commandName: z.ZodString;
279
+ targetField: z.ZodString;
280
+ operation: z.ZodEnum<{
281
+ SET: "SET";
282
+ ADD: "ADD";
283
+ SUBTRACT: "SUBTRACT";
284
+ }>;
285
+ sourceParameter: z.ZodString;
286
+ }, z.core.$strip>;
287
+ export type ReducerDescriptor = z.infer<typeof ReducerDescriptorSchema>;
288
+ export declare const TransitionNodeSchema: z.ZodObject<{
289
+ trigger: z.ZodString;
290
+ fromState: z.ZodString;
291
+ toState: z.ZodString;
292
+ guardCondition: z.ZodOptional<z.ZodString>;
293
+ guardConditions: z.ZodOptional<z.ZodArray<z.ZodString>>;
294
+ }, z.core.$strip>;
295
+ export type TransitionNode = z.infer<typeof TransitionNodeSchema>;
296
+ export declare const InvariantNodeSchema: z.ZodObject<{
297
+ name: z.ZodOptional<z.ZodString>;
298
+ rule: z.ZodString;
299
+ scope: z.ZodString;
300
+ intentTrace: z.ZodOptional<z.ZodString>;
301
+ }, z.core.$strip>;
302
+ export type InvariantNode = z.infer<typeof InvariantNodeSchema>;
303
+ export declare const BddGivenSchema: z.ZodObject<{
304
+ initialState: z.ZodString;
305
+ priorEvents: z.ZodOptional<z.ZodArray<z.ZodString>>;
306
+ }, z.core.$strip>;
307
+ export type BddGiven = z.infer<typeof BddGivenSchema>;
308
+ export declare const BddWhenSchema: z.ZodObject<{
309
+ commandName: z.ZodString;
310
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
311
+ }, z.core.$strip>;
312
+ export type BddWhen = z.infer<typeof BddWhenSchema>;
313
+ export declare const BddThenSchema: z.ZodObject<{
314
+ expectedState: z.ZodString;
315
+ expectedEvents: z.ZodOptional<z.ZodArray<z.ZodString>>;
316
+ }, z.core.$strip>;
317
+ export type BddThen = z.infer<typeof BddThenSchema>;
318
+ export declare const BddScenarioNodeSchema: z.ZodObject<{
319
+ name: z.ZodString;
320
+ aggregateName: z.ZodString;
321
+ given: z.ZodObject<{
322
+ initialState: z.ZodString;
323
+ priorEvents: z.ZodOptional<z.ZodArray<z.ZodString>>;
324
+ }, z.core.$strip>;
325
+ when: z.ZodObject<{
326
+ commandName: z.ZodString;
327
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
328
+ }, z.core.$strip>;
329
+ then: z.ZodObject<{
330
+ expectedState: z.ZodString;
331
+ expectedEvents: z.ZodOptional<z.ZodArray<z.ZodString>>;
332
+ }, z.core.$strip>;
333
+ }, z.core.$strip>;
334
+ export type BddScenarioNode = z.infer<typeof BddScenarioNodeSchema>;
335
+ export declare const AggregateNodeSchema: z.ZodObject<{
336
+ name: z.ZodString;
337
+ rootEntity: z.ZodString;
338
+ entities: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
339
+ name: z.ZodString;
340
+ fields: z.ZodArray<z.ZodObject<{
341
+ name: z.ZodString;
342
+ type: z.ZodString;
343
+ required: z.ZodOptional<z.ZodBoolean>;
344
+ isList: z.ZodOptional<z.ZodBoolean>;
345
+ description: z.ZodOptional<z.ZodString>;
346
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
347
+ }, z.core.$strip>>;
348
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
349
+ target: z.ZodString;
350
+ cardinality: z.ZodEnum<{
351
+ OneToOne: "OneToOne";
352
+ OneToMany: "OneToMany";
353
+ ManyToOne: "ManyToOne";
354
+ ManyToMany: "ManyToMany";
355
+ }>;
356
+ composition: z.ZodBoolean;
357
+ }, z.core.$strip>>>;
358
+ }, z.core.$strip>>>>;
359
+ valueObjects: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
360
+ name: z.ZodString;
361
+ type: z.ZodString;
362
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
363
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
364
+ name: z.ZodString;
365
+ type: z.ZodString;
366
+ required: z.ZodOptional<z.ZodBoolean>;
367
+ isList: z.ZodOptional<z.ZodBoolean>;
368
+ description: z.ZodOptional<z.ZodString>;
369
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
370
+ }, z.core.$strip>>>;
371
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
372
+ target: z.ZodString;
373
+ cardinality: z.ZodEnum<{
374
+ OneToOne: "OneToOne";
375
+ OneToMany: "OneToMany";
376
+ ManyToOne: "ManyToOne";
377
+ ManyToMany: "ManyToMany";
378
+ }>;
379
+ composition: z.ZodBoolean;
380
+ }, z.core.$strip>>>;
381
+ }, z.core.$strip>>>>;
382
+ states: z.ZodArray<z.ZodString>;
383
+ commands: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
384
+ name: z.ZodString;
385
+ actor: z.ZodOptional<z.ZodString>;
386
+ allowedRoles: z.ZodOptional<z.ZodArray<z.ZodString>>;
387
+ policies: z.ZodOptional<z.ZodArray<z.ZodString>>;
388
+ requiredState: z.ZodString;
389
+ targetState: z.ZodString;
390
+ parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
391
+ name: z.ZodString;
392
+ type: z.ZodString;
393
+ required: z.ZodOptional<z.ZodBoolean>;
394
+ isList: z.ZodOptional<z.ZodBoolean>;
395
+ description: z.ZodOptional<z.ZodString>;
396
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
397
+ }, z.core.$strip>>>;
398
+ payload: z.ZodOptional<z.ZodArray<z.ZodObject<{
399
+ name: z.ZodString;
400
+ type: z.ZodString;
401
+ required: z.ZodOptional<z.ZodBoolean>;
402
+ isList: z.ZodOptional<z.ZodBoolean>;
403
+ description: z.ZodOptional<z.ZodString>;
404
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
405
+ }, z.core.$strip>>>;
406
+ isCreation: z.ZodOptional<z.ZodBoolean>;
407
+ triggerEvent: z.ZodOptional<z.ZodString>;
408
+ emits: z.ZodOptional<z.ZodString>;
409
+ }, z.core.$strip>>>>;
410
+ policies: z.ZodOptional<z.ZodArray<z.ZodObject<{
411
+ name: z.ZodString;
412
+ description: z.ZodString;
413
+ rule: z.ZodOptional<z.ZodString>;
414
+ scope: z.ZodOptional<z.ZodString>;
415
+ intentTrace: z.ZodOptional<z.ZodString>;
416
+ sourceAggregate: z.ZodOptional<z.ZodString>;
417
+ sourceEvent: z.ZodOptional<z.ZodString>;
418
+ onEvent: z.ZodOptional<z.ZodString>;
419
+ emitsCommand: z.ZodOptional<z.ZodString>;
420
+ }, z.core.$strip>>>;
421
+ transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
422
+ trigger: z.ZodString;
423
+ fromState: z.ZodString;
424
+ toState: z.ZodString;
425
+ guardCondition: z.ZodOptional<z.ZodString>;
426
+ guardConditions: z.ZodOptional<z.ZodArray<z.ZodString>>;
427
+ }, z.core.$strip>>>;
428
+ invariants: z.ZodOptional<z.ZodArray<z.ZodObject<{
429
+ name: z.ZodOptional<z.ZodString>;
430
+ rule: z.ZodString;
431
+ scope: z.ZodString;
432
+ intentTrace: z.ZodOptional<z.ZodString>;
433
+ }, z.core.$strip>>>;
434
+ reducers: z.ZodOptional<z.ZodArray<z.ZodObject<{
435
+ commandName: z.ZodString;
436
+ targetField: z.ZodString;
437
+ operation: z.ZodEnum<{
438
+ SET: "SET";
439
+ ADD: "ADD";
440
+ SUBTRACT: "SUBTRACT";
441
+ }>;
442
+ sourceParameter: z.ZodString;
443
+ }, z.core.$strip>>>;
444
+ bddScenarios: z.ZodOptional<z.ZodArray<z.ZodObject<{
445
+ name: z.ZodString;
446
+ aggregateName: z.ZodString;
447
+ given: z.ZodObject<{
448
+ initialState: z.ZodString;
449
+ priorEvents: z.ZodOptional<z.ZodArray<z.ZodString>>;
450
+ }, z.core.$strip>;
451
+ when: z.ZodObject<{
452
+ commandName: z.ZodString;
453
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
454
+ }, z.core.$strip>;
455
+ then: z.ZodObject<{
456
+ expectedState: z.ZodString;
457
+ expectedEvents: z.ZodOptional<z.ZodArray<z.ZodString>>;
458
+ }, z.core.$strip>;
459
+ }, z.core.$strip>>>;
460
+ }, z.core.$strip>;
461
+ export type AggregateNode = z.infer<typeof AggregateNodeSchema>;
462
+ export declare const ReactorNodeSchema: z.ZodObject<{
463
+ name: z.ZodString;
464
+ listensTo: z.ZodString;
465
+ triggersPort: z.ZodString;
466
+ description: z.ZodOptional<z.ZodString>;
467
+ }, z.core.$strip>;
468
+ export type ReactorNode = z.infer<typeof ReactorNodeSchema>;
469
+ export declare const AstRootSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
470
+ domainName: z.ZodString;
471
+ systemName: z.ZodOptional<z.ZodString>;
472
+ systemDescription: z.ZodOptional<z.ZodString>;
473
+ actors: z.ZodOptional<z.ZodArray<z.ZodObject<{
474
+ name: z.ZodString;
475
+ description: z.ZodOptional<z.ZodString>;
476
+ }, z.core.$strip>>>;
477
+ externalSystems: z.ZodOptional<z.ZodArray<z.ZodObject<{
478
+ name: z.ZodString;
479
+ description: z.ZodOptional<z.ZodString>;
480
+ technology: z.ZodOptional<z.ZodString>;
481
+ relationship: z.ZodOptional<z.ZodString>;
482
+ }, z.core.$strip>>>;
483
+ createdAt: z.ZodISODateTime;
484
+ virgoVersion: z.ZodString;
485
+ roles: z.ZodOptional<z.ZodArray<z.ZodObject<{
486
+ name: z.ZodString;
487
+ description: z.ZodOptional<z.ZodString>;
488
+ }, z.core.$strip>>>;
489
+ aggregates: z.ZodArray<z.ZodObject<{
490
+ name: z.ZodString;
491
+ rootEntity: z.ZodString;
492
+ entities: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
493
+ name: z.ZodString;
494
+ fields: z.ZodArray<z.ZodObject<{
495
+ name: z.ZodString;
496
+ type: z.ZodString;
497
+ required: z.ZodOptional<z.ZodBoolean>;
498
+ isList: z.ZodOptional<z.ZodBoolean>;
499
+ description: z.ZodOptional<z.ZodString>;
500
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
501
+ }, z.core.$strip>>;
502
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
503
+ target: z.ZodString;
504
+ cardinality: z.ZodEnum<{
505
+ OneToOne: "OneToOne";
506
+ OneToMany: "OneToMany";
507
+ ManyToOne: "ManyToOne";
508
+ ManyToMany: "ManyToMany";
509
+ }>;
510
+ composition: z.ZodBoolean;
511
+ }, z.core.$strip>>>;
512
+ }, z.core.$strip>>>>;
513
+ valueObjects: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
514
+ name: z.ZodString;
515
+ type: z.ZodString;
516
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
517
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
518
+ name: z.ZodString;
519
+ type: z.ZodString;
520
+ required: z.ZodOptional<z.ZodBoolean>;
521
+ isList: z.ZodOptional<z.ZodBoolean>;
522
+ description: z.ZodOptional<z.ZodString>;
523
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
524
+ }, z.core.$strip>>>;
525
+ relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
526
+ target: z.ZodString;
527
+ cardinality: z.ZodEnum<{
528
+ OneToOne: "OneToOne";
529
+ OneToMany: "OneToMany";
530
+ ManyToOne: "ManyToOne";
531
+ ManyToMany: "ManyToMany";
532
+ }>;
533
+ composition: z.ZodBoolean;
534
+ }, z.core.$strip>>>;
535
+ }, z.core.$strip>>>>;
536
+ states: z.ZodArray<z.ZodString>;
537
+ commands: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
538
+ name: z.ZodString;
539
+ actor: z.ZodOptional<z.ZodString>;
540
+ allowedRoles: z.ZodOptional<z.ZodArray<z.ZodString>>;
541
+ policies: z.ZodOptional<z.ZodArray<z.ZodString>>;
542
+ requiredState: z.ZodString;
543
+ targetState: z.ZodString;
544
+ parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
545
+ name: z.ZodString;
546
+ type: z.ZodString;
547
+ required: z.ZodOptional<z.ZodBoolean>;
548
+ isList: z.ZodOptional<z.ZodBoolean>;
549
+ description: z.ZodOptional<z.ZodString>;
550
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
551
+ }, z.core.$strip>>>;
552
+ payload: z.ZodOptional<z.ZodArray<z.ZodObject<{
553
+ name: z.ZodString;
554
+ type: z.ZodString;
555
+ required: z.ZodOptional<z.ZodBoolean>;
556
+ isList: z.ZodOptional<z.ZodBoolean>;
557
+ description: z.ZodOptional<z.ZodString>;
558
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
559
+ }, z.core.$strip>>>;
560
+ isCreation: z.ZodOptional<z.ZodBoolean>;
561
+ triggerEvent: z.ZodOptional<z.ZodString>;
562
+ emits: z.ZodOptional<z.ZodString>;
563
+ }, z.core.$strip>>>>;
564
+ policies: z.ZodOptional<z.ZodArray<z.ZodObject<{
565
+ name: z.ZodString;
566
+ description: z.ZodString;
567
+ rule: z.ZodOptional<z.ZodString>;
568
+ scope: z.ZodOptional<z.ZodString>;
569
+ intentTrace: z.ZodOptional<z.ZodString>;
570
+ sourceAggregate: z.ZodOptional<z.ZodString>;
571
+ sourceEvent: z.ZodOptional<z.ZodString>;
572
+ onEvent: z.ZodOptional<z.ZodString>;
573
+ emitsCommand: z.ZodOptional<z.ZodString>;
574
+ }, z.core.$strip>>>;
575
+ transitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
576
+ trigger: z.ZodString;
577
+ fromState: z.ZodString;
578
+ toState: z.ZodString;
579
+ guardCondition: z.ZodOptional<z.ZodString>;
580
+ guardConditions: z.ZodOptional<z.ZodArray<z.ZodString>>;
581
+ }, z.core.$strip>>>;
582
+ invariants: z.ZodOptional<z.ZodArray<z.ZodObject<{
583
+ name: z.ZodOptional<z.ZodString>;
584
+ rule: z.ZodString;
585
+ scope: z.ZodString;
586
+ intentTrace: z.ZodOptional<z.ZodString>;
587
+ }, z.core.$strip>>>;
588
+ reducers: z.ZodOptional<z.ZodArray<z.ZodObject<{
589
+ commandName: z.ZodString;
590
+ targetField: z.ZodString;
591
+ operation: z.ZodEnum<{
592
+ SET: "SET";
593
+ ADD: "ADD";
594
+ SUBTRACT: "SUBTRACT";
595
+ }>;
596
+ sourceParameter: z.ZodString;
597
+ }, z.core.$strip>>>;
598
+ bddScenarios: z.ZodOptional<z.ZodArray<z.ZodObject<{
599
+ name: z.ZodString;
600
+ aggregateName: z.ZodString;
601
+ given: z.ZodObject<{
602
+ initialState: z.ZodString;
603
+ priorEvents: z.ZodOptional<z.ZodArray<z.ZodString>>;
604
+ }, z.core.$strip>;
605
+ when: z.ZodObject<{
606
+ commandName: z.ZodString;
607
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
608
+ }, z.core.$strip>;
609
+ then: z.ZodObject<{
610
+ expectedState: z.ZodString;
611
+ expectedEvents: z.ZodOptional<z.ZodArray<z.ZodString>>;
612
+ }, z.core.$strip>;
613
+ }, z.core.$strip>>>;
614
+ }, z.core.$strip>>;
615
+ globalEvents: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
616
+ name: z.ZodString;
617
+ emittedBy: z.ZodOptional<z.ZodString>;
618
+ trigger: z.ZodOptional<z.ZodString>;
619
+ payload: z.ZodOptional<z.ZodArray<z.ZodObject<{
620
+ name: z.ZodString;
621
+ type: z.ZodString;
622
+ required: z.ZodOptional<z.ZodBoolean>;
623
+ isList: z.ZodOptional<z.ZodBoolean>;
624
+ description: z.ZodOptional<z.ZodString>;
625
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
626
+ }, z.core.$strip>>>;
627
+ }, z.core.$strip>>>>;
628
+ reactors: z.ZodOptional<z.ZodArray<z.ZodObject<{
629
+ name: z.ZodString;
630
+ listensTo: z.ZodString;
631
+ triggersPort: z.ZodString;
632
+ description: z.ZodOptional<z.ZodString>;
633
+ }, z.core.$strip>>>;
634
+ }, z.core.$strict>>;
635
+ export type AstRoot = z.infer<typeof AstRootSchema>;
636
+ export declare class DomainConflictException extends Error {
637
+ details: string;
638
+ constructor(details: string);
639
+ }
640
+ export declare class InvalidTransitionException extends Error {
641
+ details: string;
642
+ constructor(details: string);
643
+ }
644
+ export declare class DomainInvariantViolationException extends Error {
645
+ details: string;
646
+ constructor(details: string);
647
+ }
648
+ export declare class EventConsistencyException extends Error {
649
+ details: string;
650
+ constructor(details: string);
651
+ }
652
+ export declare const ContradictionPayloadSchema: z.ZodObject<{
653
+ type: z.ZodLiteral<"CONTRADICTION_HALT">;
654
+ data: z.ZodObject<{
655
+ proposedIntent: z.ZodString;
656
+ conflictingEntity: z.ZodString;
657
+ existingRule: z.ZodString;
658
+ resolutionPrompt: z.ZodString;
659
+ }, z.core.$strip>;
660
+ }, z.core.$strip>;
661
+ export type ContradictionPayload = z.infer<typeof ContradictionPayloadSchema>;
662
+ /**
663
+ * Escapes characters for Mermaid diagram label rendering.
664
+ */
665
+ export declare function escapeLabel(label: string): string;
666
+ /**
667
+ * Normalizes input domain model, ensuring aggregate deduplication and domain/domainName coherence.
668
+ */
669
+ export declare function toAdmStructure(adm: unknown): AstRoot;
670
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}