@domainlang/language 0.12.0 → 0.13.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.
Files changed (90) hide show
  1. package/out/ast-augmentation.d.ts +7 -2
  2. package/out/diagram/context-map-diagram-generator.d.ts +9 -2
  3. package/out/diagram/context-map-diagram-generator.js +112 -63
  4. package/out/diagram/context-map-diagram-generator.js.map +1 -1
  5. package/out/generated/ast.d.ts +323 -51
  6. package/out/generated/ast.js +194 -33
  7. package/out/generated/ast.js.map +1 -1
  8. package/out/generated/grammar.js +418 -172
  9. package/out/generated/grammar.js.map +1 -1
  10. package/out/lsp/domain-lang-completion.js +39 -15
  11. package/out/lsp/domain-lang-completion.js.map +1 -1
  12. package/out/lsp/domain-lang-formatter.js +32 -0
  13. package/out/lsp/domain-lang-formatter.js.map +1 -1
  14. package/out/lsp/domain-lang-index-manager.d.ts +2 -3
  15. package/out/lsp/domain-lang-index-manager.js +5 -8
  16. package/out/lsp/domain-lang-index-manager.js.map +1 -1
  17. package/out/lsp/domain-lang-workspace-manager.d.ts +1 -1
  18. package/out/lsp/domain-lang-workspace-manager.js +2 -26
  19. package/out/lsp/domain-lang-workspace-manager.js.map +1 -1
  20. package/out/lsp/explain.js +9 -3
  21. package/out/lsp/explain.js.map +1 -1
  22. package/out/lsp/hover/domain-lang-hover.js +13 -11
  23. package/out/lsp/hover/domain-lang-hover.js.map +1 -1
  24. package/out/lsp/hover/domain-lang-keywords.js +29 -26
  25. package/out/lsp/hover/domain-lang-keywords.js.map +1 -1
  26. package/out/sdk/ast-augmentation.d.ts +29 -21
  27. package/out/sdk/ast-augmentation.js +11 -7
  28. package/out/sdk/ast-augmentation.js.map +1 -1
  29. package/out/sdk/index.d.ts +2 -2
  30. package/out/sdk/index.js +1 -1
  31. package/out/sdk/index.js.map +1 -1
  32. package/out/sdk/loader-node.js +2 -2
  33. package/out/sdk/loader-node.js.map +1 -1
  34. package/out/sdk/patterns.d.ts +50 -61
  35. package/out/sdk/patterns.js +92 -62
  36. package/out/sdk/patterns.js.map +1 -1
  37. package/out/sdk/query.js +54 -43
  38. package/out/sdk/query.js.map +1 -1
  39. package/out/sdk/serializers.js +20 -7
  40. package/out/sdk/serializers.js.map +1 -1
  41. package/out/sdk/types.d.ts +87 -18
  42. package/out/sdk/types.js.map +1 -1
  43. package/out/sdk/validator.js +48 -64
  44. package/out/sdk/validator.js.map +1 -1
  45. package/out/services/performance-optimizer.d.ts +3 -3
  46. package/out/services/performance-optimizer.js +1 -3
  47. package/out/services/performance-optimizer.js.map +1 -1
  48. package/out/services/relationship-inference.d.ts +4 -4
  49. package/out/services/relationship-inference.js +34 -46
  50. package/out/services/relationship-inference.js.map +1 -1
  51. package/out/syntaxes/domain-lang.monarch.js +1 -1
  52. package/out/syntaxes/domain-lang.monarch.js.map +1 -1
  53. package/out/utils/import-utils.d.ts +6 -20
  54. package/out/utils/import-utils.js +3 -63
  55. package/out/utils/import-utils.js.map +1 -1
  56. package/out/validation/constants.d.ts +23 -6
  57. package/out/validation/constants.js +24 -7
  58. package/out/validation/constants.js.map +1 -1
  59. package/out/validation/maps.js +10 -4
  60. package/out/validation/maps.js.map +1 -1
  61. package/out/validation/relationships.d.ts +4 -8
  62. package/out/validation/relationships.js +96 -48
  63. package/out/validation/relationships.js.map +1 -1
  64. package/package.json +1 -1
  65. package/src/ast-augmentation.ts +7 -2
  66. package/src/diagram/context-map-diagram-generator.ts +132 -70
  67. package/src/domain-lang.langium +62 -26
  68. package/src/generated/ast.ts +413 -63
  69. package/src/generated/grammar.ts +418 -172
  70. package/src/lsp/domain-lang-completion.ts +42 -15
  71. package/src/lsp/domain-lang-formatter.ts +34 -0
  72. package/src/lsp/domain-lang-index-manager.ts +6 -9
  73. package/src/lsp/domain-lang-workspace-manager.ts +3 -29
  74. package/src/lsp/explain.ts +10 -2
  75. package/src/lsp/hover/domain-lang-hover.ts +10 -8
  76. package/src/lsp/hover/domain-lang-keywords.ts +27 -24
  77. package/src/sdk/ast-augmentation.ts +30 -21
  78. package/src/sdk/index.ts +11 -1
  79. package/src/sdk/loader-node.ts +2 -2
  80. package/src/sdk/patterns.ts +114 -76
  81. package/src/sdk/query.ts +57 -48
  82. package/src/sdk/serializers.ts +20 -7
  83. package/src/sdk/types.ts +92 -17
  84. package/src/sdk/validator.ts +52 -69
  85. package/src/services/performance-optimizer.ts +4 -6
  86. package/src/services/relationship-inference.ts +43 -54
  87. package/src/utils/import-utils.ts +9 -74
  88. package/src/validation/constants.ts +32 -9
  89. package/src/validation/maps.ts +12 -4
  90. package/src/validation/relationships.ts +150 -71
@@ -1,85 +1,80 @@
1
+ import { isOpenHostService, isPublishedLanguage, isConformist, isAntiCorruptionLayer, isSupplier, isCustomer, isBigBallOfMud, isSharedKernel, isPartnership, isSeparateWays, } from '../generated/ast.js';
1
2
  /**
2
- * Integration Patterns - Type-safe constants for DDD integration patterns.
3
- *
4
- * Use these constants instead of magic strings when checking relationship patterns.
5
- *
6
- * @example
7
- * ```typescript
8
- * import { Pattern } from '../sdk/patterns.js';
9
- *
10
- * // Instead of: hasPattern('SK') or hasPattern('SharedKernel')
11
- * // Use:
12
- * if (relationship.hasPattern(Pattern.SharedKernel)) {
13
- * // ...
14
- * }
15
- * ```
16
- */
17
- /**
18
- * Integration pattern abbreviations as used in the grammar.
19
- * These are the canonical abbreviations recognized by DomainLang.
3
+ * Pattern constants for programmatic use.
4
+ * Values match the AST $type names.
20
5
  */
21
6
  export const Pattern = {
22
- // Upstream patterns (provider side)
23
- /** Open Host Service - exposes a clean API for consumers */
24
- OHS: 'OHS',
25
- /** Published Language - shared data format/protocol */
26
- PL: 'PL',
27
- // Downstream patterns (consumer side)
28
- /** Conformist - accepts upstream model without translation */
29
- CF: 'CF',
30
- /** Anti-Corruption Layer - translates upstream model */
31
- ACL: 'ACL',
32
- // Mutual patterns (both sides)
33
- /** Shared Kernel - shared code/model ownership */
34
- SK: 'SK',
35
- /** Partnership - coordinated development */
36
- P: 'P',
37
- // Relationship types
38
- /** Customer/Supplier - negotiated contract */
39
- CustomerSupplier: 'Customer/Supplier',
40
- /** Separate Ways - no integration */
41
- SeparateWays: 'Separate Ways',
42
- /** Big Ball of Mud - legacy or unstructured */
43
- BigBallOfMud: 'Big Ball of Mud',
7
+ // Side patterns (directional)
8
+ OHS: 'OpenHostService',
9
+ PL: 'PublishedLanguage',
10
+ CF: 'Conformist',
11
+ ACL: 'AntiCorruptionLayer',
12
+ S: 'Supplier',
13
+ C: 'Customer',
14
+ BBoM: 'BigBallOfMud',
15
+ // Symmetric patterns
16
+ SK: 'SharedKernel',
17
+ P: 'Partnership',
18
+ SW: 'SeparateWays',
44
19
  };
45
20
  /**
46
- * Full names for integration patterns.
47
- * Used when patterns are spelled out in documentation blocks.
21
+ * Mapping from short abbreviation to full $type name.
48
22
  */
49
23
  export const PatternFullName = {
50
24
  OHS: 'OpenHostService',
51
25
  PL: 'PublishedLanguage',
52
26
  CF: 'Conformist',
53
27
  ACL: 'AntiCorruptionLayer',
28
+ S: 'Supplier',
29
+ C: 'Customer',
30
+ BBoM: 'BigBallOfMud',
54
31
  SK: 'SharedKernel',
55
32
  P: 'Partnership',
33
+ SW: 'SeparateWays',
34
+ };
35
+ /**
36
+ * Mapping from $type name to short abbreviation.
37
+ */
38
+ export const PatternAbbreviation = {
39
+ OpenHostService: 'OHS',
40
+ PublishedLanguage: 'PL',
41
+ Conformist: 'CF',
42
+ AntiCorruptionLayer: 'ACL',
43
+ Supplier: 'S',
44
+ Customer: 'C',
45
+ BigBallOfMud: 'BBoM',
46
+ SharedKernel: 'SK',
47
+ Partnership: 'P',
48
+ SeparateWays: 'SW',
56
49
  };
57
50
  /**
58
- * Mapping from abbreviations to full names and vice versa.
51
+ * All short+long forms that map to a given canonical $type name.
59
52
  */
60
53
  export const PatternAliases = {
61
- // Abbreviation -> [abbreviation, fullName]
62
54
  OHS: ['OHS', 'OpenHostService'],
63
55
  PL: ['PL', 'PublishedLanguage'],
64
56
  CF: ['CF', 'Conformist'],
65
57
  ACL: ['ACL', 'AntiCorruptionLayer'],
58
+ S: ['S', 'Supplier'],
59
+ C: ['C', 'Customer'],
60
+ BBoM: ['BBoM', 'BigBallOfMud'],
66
61
  SK: ['SK', 'SharedKernel'],
67
62
  P: ['P', 'Partnership'],
68
- // Full names map to same
63
+ SW: ['SW', 'SeparateWays'],
69
64
  OpenHostService: ['OHS', 'OpenHostService'],
70
65
  PublishedLanguage: ['PL', 'PublishedLanguage'],
71
66
  Conformist: ['CF', 'Conformist'],
72
67
  AntiCorruptionLayer: ['ACL', 'AntiCorruptionLayer'],
68
+ Supplier: ['S', 'Supplier'],
69
+ Customer: ['C', 'Customer'],
70
+ BigBallOfMud: ['BBoM', 'BigBallOfMud'],
73
71
  SharedKernel: ['SK', 'SharedKernel'],
74
72
  Partnership: ['P', 'Partnership'],
73
+ SeparateWays: ['SW', 'SeparateWays'],
75
74
  };
76
75
  /**
77
- * Checks if a pattern string matches any of the expected aliases.
78
- * Handles both abbreviations and full names case-insensitively.
79
- *
80
- * @param actual - Pattern string from the AST
81
- * @param expected - Pattern to match (abbreviation or full name)
82
- * @returns true if patterns match
76
+ * Checks if a pattern name matches an expected pattern.
77
+ * Works with both $type names and short abbreviations.
83
78
  */
84
79
  export function matchesPattern(actual, expected) {
85
80
  const normalizedActual = actual.trim();
@@ -87,37 +82,72 @@ export function matchesPattern(actual, expected) {
87
82
  if (aliases) {
88
83
  return aliases.some(alias => alias.toLowerCase() === normalizedActual.toLowerCase());
89
84
  }
90
- // Fallback: direct comparison
91
85
  return normalizedActual.toLowerCase() === expected.toLowerCase();
92
86
  }
87
+ /** Side patterns that belong on the upstream side */
88
+ export const UpstreamPatterns = ['OpenHostService', 'PublishedLanguage', 'Supplier'];
89
+ /** Side patterns that belong on the downstream side */
90
+ export const DownstreamPatterns = ['Conformist', 'AntiCorruptionLayer', 'Customer'];
91
+ /** Symmetric patterns (mutual) */
92
+ export const SymmetricPatterns = ['SharedKernel', 'Partnership', 'SeparateWays'];
93
93
  /**
94
- * Patterns that are typically on the upstream (provider) side.
94
+ * Checks if a side pattern AST node is an upstream pattern.
95
95
  */
96
- export const UpstreamPatterns = ['OHS', 'OpenHostService', 'PL', 'PublishedLanguage'];
96
+ export function isUpstreamSidePattern(pattern) {
97
+ return isOpenHostService(pattern) || isPublishedLanguage(pattern) || isSupplier(pattern);
98
+ }
97
99
  /**
98
- * Patterns that are typically on the downstream (consumer) side.
100
+ * Checks if a side pattern AST node is a downstream pattern.
99
101
  */
100
- export const DownstreamPatterns = ['CF', 'Conformist', 'ACL', 'AntiCorruptionLayer'];
102
+ export function isDownstreamSidePattern(pattern) {
103
+ return isConformist(pattern) || isAntiCorruptionLayer(pattern) || isCustomer(pattern);
104
+ }
101
105
  /**
102
- * Patterns that require mutual/bidirectional relationships.
106
+ * Checks if a side pattern AST node is a Big Ball of Mud.
103
107
  */
104
- export const MutualPatterns = ['SK', 'SharedKernel', 'P', 'Partnership'];
108
+ export function isBBoMSidePattern(pattern) {
109
+ return isBigBallOfMud(pattern);
110
+ }
105
111
  /**
106
- * Checks if a pattern is typically an upstream pattern.
112
+ * Checks if a pattern string name is an upstream pattern.
107
113
  */
108
114
  export function isUpstreamPattern(pattern) {
109
115
  return UpstreamPatterns.some(p => matchesPattern(pattern, p));
110
116
  }
111
117
  /**
112
- * Checks if a pattern is typically a downstream pattern.
118
+ * Checks if a pattern string name is a downstream pattern.
113
119
  */
114
120
  export function isDownstreamPattern(pattern) {
115
121
  return DownstreamPatterns.some(p => matchesPattern(pattern, p));
116
122
  }
117
123
  /**
118
- * Checks if a pattern requires bidirectional relationships.
124
+ * Checks if a pattern string name is a mutual/symmetric pattern.
119
125
  */
120
126
  export function isMutualPattern(pattern) {
121
- return MutualPatterns.some(p => matchesPattern(pattern, p));
127
+ return SymmetricPatterns.some(p => matchesPattern(pattern, p));
128
+ }
129
+ /**
130
+ * Gets the short abbreviation for a pattern $type name.
131
+ */
132
+ export function getPatternAbbreviation(typeName) {
133
+ return PatternAbbreviation[typeName] ?? typeName;
134
+ }
135
+ /**
136
+ * Checks if a symmetric pattern is a Shared Kernel.
137
+ */
138
+ export function isSharedKernelPattern(pattern) {
139
+ return isSharedKernel(pattern);
140
+ }
141
+ /**
142
+ * Checks if a symmetric pattern is a Partnership.
143
+ */
144
+ export function isPartnershipPattern(pattern) {
145
+ return isPartnership(pattern);
146
+ }
147
+ /**
148
+ * Checks if a symmetric pattern is Separate Ways.
149
+ */
150
+ export function isSeparateWaysPattern(pattern) {
151
+ return isSeparateWays(pattern);
122
152
  }
123
153
  //# sourceMappingURL=patterns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/sdk/patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/sdk/patterns.ts"],"names":[],"mappings":"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"}
package/out/sdk/query.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Provides fluent, lazy evaluation of model queries.
4
4
  */
5
5
  import { AstUtils } from 'langium';
6
- import { isBoundedContext, isClassification, isContextMap, isDomain, isDomainMap, isModel, isNamespaceDeclaration, isTeam, isThisRef, } from '../generated/ast.js';
6
+ import { isBoundedContext, isClassification, isContextMap, isDirectionalRelationship, isDomain, isDomainMap, isModel, isNamespaceDeclaration, isSymmetricRelationship, isTeam, isThisRef, isSupplier, isCustomer, } from '../generated/ast.js';
7
7
  import { QualifiedNameProvider } from '../lsp/domain-lang-naming.js';
8
8
  import { buildIndexes } from './indexes.js';
9
9
  import { metadataAsMap, effectiveClassification, effectiveTeam, } from './resolution.js';
@@ -256,14 +256,38 @@ class QueryImpl {
256
256
  if (!left || !right) {
257
257
  return undefined;
258
258
  }
259
+ if (isSymmetricRelationship(rel)) {
260
+ // Grammar invariant: either `arrow === '><'` (SeparateWays shorthand, pattern undefined)
261
+ // OR `pattern` is set (explicit [SK]/[P]/[SW] brackets). Never both; never neither
262
+ // (validation rejects a bare "A B" without pattern or arrow).
263
+ // The fallback to 'SeparateWays' correctly handles the `><` case.
264
+ return {
265
+ type: 'symmetric',
266
+ kind: (rel.pattern?.$type ?? 'SeparateWays'),
267
+ left: { context: left, patterns: [] },
268
+ right: { context: right, patterns: [] },
269
+ source,
270
+ astNode: rel,
271
+ };
272
+ }
273
+ const arrow = rel.arrow;
274
+ const leftSide = { context: left, patterns: rel.leftPatterns };
275
+ const rightSide = { context: right, patterns: rel.rightPatterns };
276
+ const hasSupplier = rel.leftPatterns.some(isSupplier) || rel.rightPatterns.some(isSupplier);
277
+ const hasCustomer = rel.leftPatterns.some(isCustomer) || rel.rightPatterns.some(isCustomer);
278
+ const kind = arrow === '<->'
279
+ ? 'Bidirectional'
280
+ : (hasSupplier || hasCustomer) ? 'CustomerSupplier' : 'UpstreamDownstream';
281
+ const upstreamSide = arrow === '->' ? leftSide : arrow === '<-' ? rightSide : undefined;
282
+ const downstreamSide = arrow === '->' ? rightSide : arrow === '<-' ? leftSide : undefined;
259
283
  return {
260
- left,
261
- right,
262
- arrow: rel.arrow,
263
- leftPatterns: rel.leftPatterns,
264
- rightPatterns: rel.rightPatterns,
265
- type: rel.type,
266
- inferredType: this.inferRelationshipType(rel),
284
+ type: 'directional',
285
+ kind,
286
+ arrow,
287
+ left: leftSide,
288
+ right: rightSide,
289
+ upstream: upstreamSide,
290
+ downstream: downstreamSide,
267
291
  source,
268
292
  astNode: rel,
269
293
  };
@@ -278,35 +302,6 @@ class QueryImpl {
278
302
  }
279
303
  return ref.link?.ref;
280
304
  }
281
- /**
282
- * Infers relationship type from integration patterns.
283
- * Simple heuristic based on common DDD pattern combinations.
284
- */
285
- inferRelationshipType(rel) {
286
- const leftPatterns = rel.leftPatterns;
287
- const rightPatterns = rel.rightPatterns;
288
- // Partnership: Bidirectional with P or SK
289
- if (rel.arrow === '<->' && (leftPatterns.includes('P') || leftPatterns.includes('SK'))) {
290
- return 'Partnership';
291
- }
292
- // Shared Kernel: SK pattern
293
- if (leftPatterns.includes('SK') || rightPatterns.includes('SK')) {
294
- return 'SharedKernel';
295
- }
296
- // Customer-Supplier: OHS + CF
297
- if (leftPatterns.includes('OHS') && rightPatterns.includes('CF')) {
298
- return 'CustomerSupplier';
299
- }
300
- // Upstream-Downstream: directional arrow
301
- if (rel.arrow === '->') {
302
- return 'UpstreamDownstream';
303
- }
304
- // Separate Ways
305
- if (rel.arrow === '><') {
306
- return 'SeparateWays';
307
- }
308
- return undefined;
309
- }
310
305
  }
311
306
  /**
312
307
  * Base implementation of QueryBuilder with lazy iteration.
@@ -601,38 +596,54 @@ export function augmentRelationship(rel, containingBc) {
601
596
  // Helper methods for pattern matching (type-safe, no magic strings)
602
597
  hasPattern: {
603
598
  value: (pattern) => {
604
- return rel.leftPatterns.some(p => matchesPattern(p, pattern)) ||
605
- rel.rightPatterns.some(p => matchesPattern(p, pattern));
599
+ if (isDirectionalRelationship(rel)) {
600
+ return rel.leftPatterns.some(p => matchesPattern(p.$type, pattern)) ||
601
+ rel.rightPatterns.some(p => matchesPattern(p.$type, pattern));
602
+ }
603
+ if (isSymmetricRelationship(rel) && rel.pattern) {
604
+ return matchesPattern(rel.pattern.$type, pattern);
605
+ }
606
+ return false;
606
607
  },
607
608
  enumerable: false,
608
609
  configurable: true,
609
610
  },
610
611
  hasLeftPattern: {
611
612
  value: (pattern) => {
612
- return rel.leftPatterns.some(p => matchesPattern(p, pattern));
613
+ if (isDirectionalRelationship(rel)) {
614
+ return rel.leftPatterns.some(p => matchesPattern(p.$type, pattern));
615
+ }
616
+ return false;
613
617
  },
614
618
  enumerable: false,
615
619
  configurable: true,
616
620
  },
617
621
  hasRightPattern: {
618
622
  value: (pattern) => {
619
- return rel.rightPatterns.some(p => matchesPattern(p, pattern));
623
+ if (isDirectionalRelationship(rel)) {
624
+ return rel.rightPatterns.some(p => matchesPattern(p.$type, pattern));
625
+ }
626
+ return false;
620
627
  },
621
628
  enumerable: false,
622
629
  configurable: true,
623
630
  },
624
631
  isUpstream: {
625
632
  value: (side) => {
633
+ if (!isDirectionalRelationship(rel))
634
+ return false;
626
635
  const patterns = side === 'left' ? rel.leftPatterns : rel.rightPatterns;
627
- return patterns.some(p => isUpstreamPattern(p));
636
+ return patterns.some(p => isUpstreamPattern(p.$type));
628
637
  },
629
638
  enumerable: false,
630
639
  configurable: true,
631
640
  },
632
641
  isDownstream: {
633
642
  value: (side) => {
643
+ if (!isDirectionalRelationship(rel))
644
+ return false;
634
645
  const patterns = side === 'left' ? rel.leftPatterns : rel.rightPatterns;
635
- return patterns.some(p => isDownstreamPattern(p));
646
+ return patterns.some(p => isDownstreamPattern(p.$type));
636
647
  },
637
648
  enumerable: false,
638
649
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/sdk/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/sdk/query.ts"],"names":[],"mappings":"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"}
@@ -112,18 +112,31 @@ export function serializeNode(node, query) {
112
112
  * @returns Serialized relationship object
113
113
  */
114
114
  export function serializeRelationship(view) {
115
- // RelationshipView.left and .right are BoundedContext (which have name property)
116
- const leftName = view.left.name;
117
- const rightName = view.right.name;
115
+ const leftName = view.left.context.name;
116
+ const rightName = view.right.context.name;
117
+ if (view.type === 'symmetric') {
118
+ const patternDisplay = view.kind === 'SeparateWays' ? '><' : `[${view.kind}]`;
119
+ return {
120
+ type: 'symmetric',
121
+ name: `${leftName} ${patternDisplay} ${rightName}`,
122
+ left: leftName,
123
+ right: rightName,
124
+ kind: view.kind,
125
+ source: view.source,
126
+ };
127
+ }
118
128
  return {
119
- $type: 'Relationship',
129
+ type: 'directional',
130
+ kind: view.kind,
120
131
  name: `${leftName} ${view.arrow} ${rightName}`,
121
132
  left: leftName,
122
133
  right: rightName,
123
134
  arrow: view.arrow,
124
- leftPatterns: view.leftPatterns,
125
- rightPatterns: view.rightPatterns,
126
- inferredType: view.inferredType,
135
+ leftPatterns: view.left.patterns.map(p => p.$type),
136
+ rightPatterns: view.right.patterns.map(p => p.$type),
137
+ upstreamPatterns: view.upstream?.patterns.map(p => p.$type),
138
+ downstreamPatterns: view.downstream?.patterns.map(p => p.$type),
139
+ source: view.source,
127
140
  };
128
141
  }
129
142
  // ─────────────────────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../src/sdk/serializers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../src/sdk/serializers.ts"],"names":[],"mappings":"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"}