@likec4/language-server 1.19.1 → 1.20.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.
@@ -120,12 +120,14 @@ export type LikeC4KeywordNames =
120
120
  | "sky"
121
121
  | "slate"
122
122
  | "solid"
123
+ | "source"
123
124
  | "specification"
124
125
  | "storage"
125
126
  | "style"
126
127
  | "styleGroup"
127
128
  | "tag"
128
129
  | "tail"
130
+ | "target"
129
131
  | "technology"
130
132
  | "title"
131
133
  | "vee"
@@ -170,6 +172,14 @@ export function isDeploymentElement(item: unknown): item is DeploymentElement {
170
172
  return reflection.isInstance(item, DeploymentElement);
171
173
  }
172
174
 
175
+ export type DeploymentNodeOrElementKind = DeploymentNodeKind | ElementKind;
176
+
177
+ export const DeploymentNodeOrElementKind = 'DeploymentNodeOrElementKind';
178
+
179
+ export function isDeploymentNodeOrElementKind(item: unknown): item is DeploymentNodeOrElementKind {
180
+ return reflection.isInstance(item, DeploymentNodeOrElementKind);
181
+ }
182
+
173
183
  export type DeploymentViewRule = DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout;
174
184
 
175
185
  export const DeploymentViewRule = 'DeploymentViewRule';
@@ -230,7 +240,7 @@ export function isElementShape(item: unknown): item is ElementShape {
230
240
  return item === 'rectangle' || item === 'person' || item === 'browser' || item === 'mobile' || item === 'cylinder' || item === 'storage' || item === 'queue';
231
241
  }
232
242
 
233
- export type ExpressionV2 = FqnExpr | RelationExpr;
243
+ export type ExpressionV2 = FqnExpr | RelationPredicateOrWhereV2;
234
244
 
235
245
  export const ExpressionV2 = 'ExpressionV2';
236
246
 
@@ -260,10 +270,10 @@ export function isIconId(item: unknown): item is IconId {
260
270
  return (typeof item === 'string' && (/(aws|azure|gcp|tech):[-\w]*/.test(item)));
261
271
  }
262
272
 
263
- export type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | ThemeColor | string;
273
+ export type Id = 'deployment' | 'element' | 'group' | 'instance' | 'model' | 'node' | ArrowType | ElementShape | LineOptions | Participant | ThemeColor | string;
264
274
 
265
275
  export function isId(item: unknown): item is Id {
266
- return isElementShape(item) || isThemeColor(item) || isArrowType(item) || isLineOptions(item) || item === 'element' || item === 'model' || item === 'group' || item === 'node' || item === 'deployment' || item === 'instance' || (typeof item === 'string' && (/[_]*[a-zA-Z][-\w]*/.test(item)));
276
+ return isElementShape(item) || isThemeColor(item) || isArrowType(item) || isLineOptions(item) || isParticipant(item) || item === 'element' || item === 'model' || item === 'group' || item === 'node' || item === 'deployment' || item === 'instance' || (typeof item === 'string' && (/[_]*[a-zA-Z][-\w]*/.test(item)));
267
277
  }
268
278
 
269
279
  export type LikeC4View = DeploymentView | DynamicView | ElementView;
@@ -288,6 +298,12 @@ export function isMetadataProperty(item: unknown): item is MetadataProperty {
288
298
  return reflection.isInstance(item, MetadataProperty);
289
299
  }
290
300
 
301
+ export type Participant = 'source' | 'target';
302
+
303
+ export function isParticipant(item: unknown): item is Participant {
304
+ return item === 'source' || item === 'target';
305
+ }
306
+
291
307
  export type Predicate = ElementPredicate | RelationPredicate;
292
308
 
293
309
  export const Predicate = 'Predicate';
@@ -336,6 +352,14 @@ export function isRelationPredicateOrWhere(item: unknown): item is RelationPredi
336
352
  return reflection.isInstance(item, RelationPredicateOrWhere);
337
353
  }
338
354
 
355
+ export type RelationPredicateOrWhereV2 = RelationExpr | RelationPredicateWhereV2;
356
+
357
+ export const RelationPredicateOrWhereV2 = 'RelationPredicateOrWhereV2';
358
+
359
+ export function isRelationPredicateOrWhereV2(item: unknown): item is RelationPredicateOrWhereV2 {
360
+ return reflection.isInstance(item, RelationPredicateOrWhereV2);
361
+ }
362
+
339
363
  export type RelationProperty = LinkProperty | MetadataProperty | RelationNavigateToProperty | RelationStringProperty | RelationStyleProperty;
340
364
 
341
365
  export const RelationProperty = 'RelationProperty';
@@ -448,7 +472,7 @@ export function isWhereExpression(item: unknown): item is WhereExpression {
448
472
  return reflection.isInstance(item, WhereExpression);
449
473
  }
450
474
 
451
- export type WhereKindEqual = WhereElementKind | WhereRelationKind;
475
+ export type WhereKindEqual = WhereElementKind | WhereRelationKind | WhereRelationParticipantKind;
452
476
 
453
477
  export const WhereKindEqual = 'WhereKindEqual';
454
478
 
@@ -456,7 +480,7 @@ export function isWhereKindEqual(item: unknown): item is WhereKindEqual {
456
480
  return reflection.isInstance(item, WhereKindEqual);
457
481
  }
458
482
 
459
- export type WhereRelation = WhereRelationKind | WhereRelationTag;
483
+ export type WhereRelation = WhereRelationKind | WhereRelationParticipantKind | WhereRelationParticipantTag | WhereRelationTag;
460
484
 
461
485
  export const WhereRelation = 'WhereRelation';
462
486
 
@@ -472,7 +496,7 @@ export function isWhereRelationExpression(item: unknown): item is WhereRelationE
472
496
  return reflection.isInstance(item, WhereRelationExpression);
473
497
  }
474
498
 
475
- export type WhereTagEqual = WhereElementTag | WhereRelationTag;
499
+ export type WhereTagEqual = WhereElementTag | WhereRelationParticipantTag | WhereRelationTag;
476
500
 
477
501
  export const WhereTagEqual = 'WhereTagEqual';
478
502
 
@@ -723,7 +747,7 @@ export function isDeploymentViewRuleStyle(item: unknown): item is DeploymentView
723
747
  }
724
748
 
725
749
  export interface DirectedRelationExpr extends AstNode {
726
- readonly $container: DeploymentViewRulePredicateExpression;
750
+ readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
727
751
  readonly $type: 'DirectedRelationExpr';
728
752
  source: OutgoingRelationExpr;
729
753
  target: FqnExpr;
@@ -1260,7 +1284,7 @@ export function isIncludePredicate(item: unknown): item is IncludePredicate {
1260
1284
  }
1261
1285
 
1262
1286
  export interface IncomingRelationExpr extends AstNode {
1263
- readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr;
1287
+ readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr | RelationPredicateWhereV2;
1264
1288
  readonly $type: 'IncomingRelationExpr';
1265
1289
  to: FqnExpr;
1266
1290
  }
@@ -1284,7 +1308,7 @@ export function isIncomingRelationExpression(item: unknown): item is IncomingRel
1284
1308
  }
1285
1309
 
1286
1310
  export interface InOutRelationExpr extends AstNode {
1287
- readonly $container: DeploymentViewRulePredicateExpression;
1311
+ readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
1288
1312
  readonly $type: 'InOutRelationExpr';
1289
1313
  inout: IncomingRelationExpr;
1290
1314
  }
@@ -1492,7 +1516,7 @@ export function isOpacityProperty(item: unknown): item is OpacityProperty {
1492
1516
  }
1493
1517
 
1494
1518
  export interface OutgoingRelationExpr extends AstNode {
1495
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr;
1519
+ readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | RelationPredicateWhereV2;
1496
1520
  readonly $type: 'OutgoingRelationExpr';
1497
1521
  from: FqnExpr;
1498
1522
  isBidirectional: boolean;
@@ -1589,6 +1613,19 @@ export function isRelationPredicateWhere(item: unknown): item is RelationPredica
1589
1613
  return reflection.isInstance(item, RelationPredicateWhere);
1590
1614
  }
1591
1615
 
1616
+ export interface RelationPredicateWhereV2 extends AstNode {
1617
+ readonly $container: DeploymentViewRulePredicateExpression;
1618
+ readonly $type: 'RelationPredicateWhereV2';
1619
+ subject: RelationExpr;
1620
+ where?: WhereRelationExpression;
1621
+ }
1622
+
1623
+ export const RelationPredicateWhereV2 = 'RelationPredicateWhereV2';
1624
+
1625
+ export function isRelationPredicateWhereV2(item: unknown): item is RelationPredicateWhereV2 {
1626
+ return reflection.isInstance(item, RelationPredicateWhereV2);
1627
+ }
1628
+
1592
1629
  export interface RelationPredicateWith extends AstNode {
1593
1630
  readonly $container: Predicates;
1594
1631
  readonly $type: 'RelationPredicateWith';
@@ -1876,7 +1913,7 @@ export function isViewStringProperty(item: unknown): item is ViewStringProperty
1876
1913
  }
1877
1914
 
1878
1915
  export interface WhereBinaryExpression extends AstNode {
1879
- readonly $container: ElementPredicateWhere | RelationPredicateWhere | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
1916
+ readonly $container: ElementPredicateWhere | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
1880
1917
  readonly $type: 'WhereBinaryExpression';
1881
1918
  left: WhereElementExpression | WhereRelationExpression;
1882
1919
  operator: 'and' | 'or';
@@ -1930,7 +1967,7 @@ export function isWhereElementTag(item: unknown): item is WhereElementTag {
1930
1967
  }
1931
1968
 
1932
1969
  export interface WhereRelationKind extends AstNode {
1933
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
1970
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1934
1971
  readonly $type: 'WhereRelationKind';
1935
1972
  not: boolean;
1936
1973
  operator: 'is' | string;
@@ -1944,7 +1981,7 @@ export function isWhereRelationKind(item: unknown): item is WhereRelationKind {
1944
1981
  }
1945
1982
 
1946
1983
  export interface WhereRelationNegation extends AstNode {
1947
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
1984
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1948
1985
  readonly $type: 'WhereRelationNegation';
1949
1986
  value: WhereRelationExpression;
1950
1987
  }
@@ -1955,8 +1992,38 @@ export function isWhereRelationNegation(item: unknown): item is WhereRelationNeg
1955
1992
  return reflection.isInstance(item, WhereRelationNegation);
1956
1993
  }
1957
1994
 
1995
+ export interface WhereRelationParticipantKind extends AstNode {
1996
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1997
+ readonly $type: 'WhereRelationParticipantKind';
1998
+ not: boolean;
1999
+ operator: 'is' | string;
2000
+ participant: Participant;
2001
+ value?: Reference<DeploymentNodeOrElementKind>;
2002
+ }
2003
+
2004
+ export const WhereRelationParticipantKind = 'WhereRelationParticipantKind';
2005
+
2006
+ export function isWhereRelationParticipantKind(item: unknown): item is WhereRelationParticipantKind {
2007
+ return reflection.isInstance(item, WhereRelationParticipantKind);
2008
+ }
2009
+
2010
+ export interface WhereRelationParticipantTag extends AstNode {
2011
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
2012
+ readonly $type: 'WhereRelationParticipantTag';
2013
+ not: boolean;
2014
+ operator: 'is' | string;
2015
+ participant: Participant;
2016
+ value?: Reference<Tag>;
2017
+ }
2018
+
2019
+ export const WhereRelationParticipantTag = 'WhereRelationParticipantTag';
2020
+
2021
+ export function isWhereRelationParticipantTag(item: unknown): item is WhereRelationParticipantTag {
2022
+ return reflection.isInstance(item, WhereRelationParticipantTag);
2023
+ }
2024
+
1958
2025
  export interface WhereRelationTag extends AstNode {
1959
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
2026
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1960
2027
  readonly $type: 'WhereRelationTag';
1961
2028
  not: boolean;
1962
2029
  operator: 'is' | string;
@@ -1994,6 +2061,7 @@ export type LikeC4AstType = {
1994
2061
  DeploymentNode: DeploymentNode
1995
2062
  DeploymentNodeBody: DeploymentNodeBody
1996
2063
  DeploymentNodeKind: DeploymentNodeKind
2064
+ DeploymentNodeOrElementKind: DeploymentNodeOrElementKind
1997
2065
  DeploymentRelation: DeploymentRelation
1998
2066
  DeploymentRelationBody: DeploymentRelationBody
1999
2067
  DeploymentView: DeploymentView
@@ -2083,7 +2151,9 @@ export type LikeC4AstType = {
2083
2151
  RelationNavigateToProperty: RelationNavigateToProperty
2084
2152
  RelationPredicate: RelationPredicate
2085
2153
  RelationPredicateOrWhere: RelationPredicateOrWhere
2154
+ RelationPredicateOrWhereV2: RelationPredicateOrWhereV2
2086
2155
  RelationPredicateWhere: RelationPredicateWhere
2156
+ RelationPredicateWhereV2: RelationPredicateWhereV2
2087
2157
  RelationPredicateWith: RelationPredicateWith
2088
2158
  RelationProperty: RelationProperty
2089
2159
  RelationStringProperty: RelationStringProperty
@@ -2126,6 +2196,8 @@ export type LikeC4AstType = {
2126
2196
  WhereRelationExpression: WhereRelationExpression
2127
2197
  WhereRelationKind: WhereRelationKind
2128
2198
  WhereRelationNegation: WhereRelationNegation
2199
+ WhereRelationParticipantKind: WhereRelationParticipantKind
2200
+ WhereRelationParticipantTag: WhereRelationParticipantTag
2129
2201
  WhereRelationTag: WhereRelationTag
2130
2202
  WhereTagEqual: WhereTagEqual
2131
2203
  WildcardExpression: WildcardExpression
@@ -2134,7 +2206,7 @@ export type LikeC4AstType = {
2134
2206
  export class LikeC4AstReflection extends AbstractAstReflection {
2135
2207
 
2136
2208
  getAllTypes(): string[] {
2137
- return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, DeploymentRelation, DeploymentRelationBody, DeploymentView, DeploymentViewBody, DeploymentViewRule, DeploymentViewRulePredicate, DeploymentViewRulePredicateExpression, DeploymentViewRuleStyle, DirectedRelationExpr, DirectedRelationExpression, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewPredicateIterator, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementDescedantsExpression, ElementExpression, ElementExpressionsIterator, ElementKind, ElementKindExpression, ElementPredicate, ElementPredicateOrWhere, ElementPredicateWhere, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExpressionV2, ExtendElement, ExtendElementBody, FqnElementRef, FqnExpr, FqnExpressions, FqnRef, FqnRefExpr, FqnReferenceable, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, InOutRelationExpr, InOutRelationExpression, IncludePredicate, IncomingRelationExpr, IncomingRelationExpression, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelDeployments, ModelViews, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, OutgoingRelationExpression, Predicate, Predicates, Referenceable, Relation, RelationBody, RelationExpr, RelationExpression, RelationNavigateToProperty, RelationPredicate, RelationPredicateOrWhere, RelationPredicateWhere, RelationPredicateWith, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StringProperty, StyleProperty, Tag, Tags, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationTag, WhereTagEqual, WildcardExpression];
2209
+ return [ArrowProperty, BorderProperty, ColorProperty, CustomColor, CustomElementProperties, CustomRelationProperties, DeployedInstance, DeployedInstanceBody, DeploymentElement, DeploymentNode, DeploymentNodeBody, DeploymentNodeKind, DeploymentNodeOrElementKind, DeploymentRelation, DeploymentRelationBody, DeploymentView, DeploymentViewBody, DeploymentViewRule, DeploymentViewRulePredicate, DeploymentViewRulePredicateExpression, DeploymentViewRuleStyle, DirectedRelationExpr, DirectedRelationExpression, DynamicView, DynamicViewBody, DynamicViewGlobalPredicateRef, DynamicViewIncludePredicate, DynamicViewParallelSteps, DynamicViewPredicateIterator, DynamicViewRef, DynamicViewRule, DynamicViewStep, Element, ElementBody, ElementDescedantsExpression, ElementExpression, ElementExpressionsIterator, ElementKind, ElementKindExpression, ElementPredicate, ElementPredicateOrWhere, ElementPredicateWhere, ElementPredicateWith, ElementProperty, ElementRef, ElementStringProperty, ElementStyleProperty, ElementTagExpression, ElementView, ElementViewBody, ElementViewRef, ExcludePredicate, ExpandElementExpression, ExpressionV2, ExtendElement, ExtendElementBody, FqnElementRef, FqnExpr, FqnExpressions, FqnRef, FqnRefExpr, FqnReferenceable, GlobalDynamicPredicateGroup, GlobalPredicateGroup, GlobalStyle, GlobalStyleGroup, GlobalStyleId, Globals, IconProperty, InOutRelationExpr, InOutRelationExpression, IncludePredicate, IncomingRelationExpr, IncomingRelationExpression, LibIcon, LikeC4Grammar, LikeC4Lib, LikeC4View, LineProperty, LinkProperty, MetadataAttribute, MetadataBody, MetadataProperty, Model, ModelDeployments, ModelViews, NavigateToProperty, NotationProperty, NotesProperty, OpacityProperty, OutgoingRelationExpr, OutgoingRelationExpression, Predicate, Predicates, Referenceable, Relation, RelationBody, RelationExpr, RelationExpression, RelationNavigateToProperty, RelationPredicate, RelationPredicateOrWhere, RelationPredicateOrWhereV2, RelationPredicateWhere, RelationPredicateWhereV2, RelationPredicateWith, RelationProperty, RelationStringProperty, RelationStyleProperty, RelationshipKind, RelationshipStyleProperty, ShapeProperty, SpecificationColor, SpecificationDeploymentNodeKind, SpecificationElementKind, SpecificationElementStringProperty, SpecificationRelationshipKind, SpecificationRelationshipStringProperty, SpecificationRule, SpecificationTag, StringProperty, StyleProperty, Tag, Tags, ViewProperty, ViewRef, ViewRule, ViewRuleAutoLayout, ViewRuleGlobalPredicateRef, ViewRuleGlobalStyle, ViewRuleGroup, ViewRulePredicate, ViewRuleStyle, ViewRuleStyleOrGlobalRef, ViewStringProperty, WhereBinaryExpression, WhereElement, WhereElementExpression, WhereElementKind, WhereElementNegation, WhereElementTag, WhereExpression, WhereKindEqual, WhereRelation, WhereRelationExpression, WhereRelationKind, WhereRelationNegation, WhereRelationParticipantKind, WhereRelationParticipantTag, WhereRelationTag, WhereTagEqual, WildcardExpression];
2138
2210
  }
2139
2211
 
2140
2212
  protected override computeIsSubtype(subtype: string, supertype: string): boolean {
@@ -2155,6 +2227,10 @@ export class LikeC4AstReflection extends AbstractAstReflection {
2155
2227
  case DeploymentNode: {
2156
2228
  return this.isSubtype(DeploymentElement, supertype) || this.isSubtype(Referenceable, supertype);
2157
2229
  }
2230
+ case DeploymentNodeKind:
2231
+ case ElementKind: {
2232
+ return this.isSubtype(DeploymentNodeOrElementKind, supertype);
2233
+ }
2158
2234
  case DeploymentView:
2159
2235
  case DynamicView:
2160
2236
  case ElementView: {
@@ -2217,7 +2293,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
2217
2293
  return this.isSubtype(FqnReferenceable, supertype);
2218
2294
  }
2219
2295
  case FqnExpr:
2220
- case RelationExpr: {
2296
+ case RelationPredicateOrWhereV2: {
2221
2297
  return this.isSubtype(ExpressionV2, supertype);
2222
2298
  }
2223
2299
  case FqnRefExpr: {
@@ -2242,6 +2318,10 @@ export class LikeC4AstReflection extends AbstractAstReflection {
2242
2318
  case MetadataProperty: {
2243
2319
  return this.isSubtype(ElementProperty, supertype) || this.isSubtype(RelationProperty, supertype);
2244
2320
  }
2321
+ case RelationExpr:
2322
+ case RelationPredicateWhereV2: {
2323
+ return this.isSubtype(RelationPredicateOrWhereV2, supertype);
2324
+ }
2245
2325
  case RelationExpression:
2246
2326
  case RelationPredicateWhere: {
2247
2327
  return this.isSubtype(RelationPredicateOrWhere, supertype);
@@ -2296,9 +2376,11 @@ export class LikeC4AstReflection extends AbstractAstReflection {
2296
2376
  case WhereRelationNegation: {
2297
2377
  return this.isSubtype(WhereRelationExpression, supertype);
2298
2378
  }
2299
- case WhereRelationKind: {
2379
+ case WhereRelationKind:
2380
+ case WhereRelationParticipantKind: {
2300
2381
  return this.isSubtype(WhereKindEqual, supertype) || this.isSubtype(WhereRelation, supertype);
2301
2382
  }
2383
+ case WhereRelationParticipantTag:
2302
2384
  case WhereRelationTag: {
2303
2385
  return this.isSubtype(WhereRelation, supertype) || this.isSubtype(WhereTagEqual, supertype);
2304
2386
  }
@@ -2346,6 +2428,7 @@ export class LikeC4AstReflection extends AbstractAstReflection {
2346
2428
  case 'ElementTagExpression:tag':
2347
2429
  case 'Tags:values':
2348
2430
  case 'WhereElementTag:value':
2431
+ case 'WhereRelationParticipantTag:value':
2349
2432
  case 'WhereRelationTag:value': {
2350
2433
  return Tag;
2351
2434
  }
@@ -2367,6 +2450,9 @@ export class LikeC4AstReflection extends AbstractAstReflection {
2367
2450
  case 'ViewRuleGlobalStyle:style': {
2368
2451
  return GlobalStyleId;
2369
2452
  }
2453
+ case 'WhereRelationParticipantKind:value': {
2454
+ return DeploymentNodeOrElementKind;
2455
+ }
2370
2456
  default: {
2371
2457
  throw new Error(`${referenceId} is not a valid reference id.`);
2372
2458
  }
@@ -3149,6 +3235,15 @@ export class LikeC4AstReflection extends AbstractAstReflection {
3149
3235
  ]
3150
3236
  };
3151
3237
  }
3238
+ case RelationPredicateWhereV2: {
3239
+ return {
3240
+ name: RelationPredicateWhereV2,
3241
+ properties: [
3242
+ { name: 'subject' },
3243
+ { name: 'where' }
3244
+ ]
3245
+ };
3246
+ }
3152
3247
  case RelationPredicateWith: {
3153
3248
  return {
3154
3249
  name: RelationPredicateWith,
@@ -3403,6 +3498,28 @@ export class LikeC4AstReflection extends AbstractAstReflection {
3403
3498
  ]
3404
3499
  };
3405
3500
  }
3501
+ case WhereRelationParticipantKind: {
3502
+ return {
3503
+ name: WhereRelationParticipantKind,
3504
+ properties: [
3505
+ { name: 'not', defaultValue: false },
3506
+ { name: 'operator' },
3507
+ { name: 'participant' },
3508
+ { name: 'value' }
3509
+ ]
3510
+ };
3511
+ }
3512
+ case WhereRelationParticipantTag: {
3513
+ return {
3514
+ name: WhereRelationParticipantTag,
3515
+ properties: [
3516
+ { name: 'not', defaultValue: false },
3517
+ { name: 'operator' },
3518
+ { name: 'participant' },
3519
+ { name: 'value' }
3520
+ ]
3521
+ };
3522
+ }
3406
3523
  case WhereRelationTag: {
3407
3524
  return {
3408
3525
  name: WhereRelationTag,