@likec4/language-server 1.27.3 → 1.28.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 (111) hide show
  1. package/dist/LikeC4LanguageServices.js +6 -7
  2. package/dist/ast.d.ts +16 -9
  3. package/dist/ast.js +58 -79
  4. package/dist/bundled.mjs +2130 -2127
  5. package/dist/config/schema.d.ts +3 -3
  6. package/dist/config/schema.js +12 -5
  7. package/dist/documentation/documentation-provider.js +3 -1
  8. package/dist/formatting/LikeC4Formatter.d.ts +0 -2
  9. package/dist/formatting/LikeC4Formatter.js +24 -53
  10. package/dist/generated/ast.d.ts +128 -233
  11. package/dist/generated/ast.js +134 -306
  12. package/dist/generated/grammar.js +1 -1
  13. package/dist/lsp/CompletionProvider.d.ts +3 -0
  14. package/dist/lsp/CompletionProvider.js +128 -113
  15. package/dist/lsp/DocumentLinkProvider.js +6 -3
  16. package/dist/lsp/HoverProvider.js +3 -1
  17. package/dist/lsp/SemanticTokenProvider.js +33 -43
  18. package/dist/model/builder/MergedSpecification.d.ts +5 -3
  19. package/dist/model/builder/MergedSpecification.js +21 -7
  20. package/dist/model/builder/buildModel.d.ts +6 -1
  21. package/dist/model/builder/buildModel.js +20 -15
  22. package/dist/model/deployments-index.js +4 -2
  23. package/dist/model/fqn-index.d.ts +4 -2
  24. package/dist/model/fqn-index.js +28 -5
  25. package/dist/model/model-builder.d.ts +2 -2
  26. package/dist/model/model-builder.js +54 -16
  27. package/dist/model/model-locator.js +7 -4
  28. package/dist/model/model-parser.d.ts +215 -52
  29. package/dist/model/model-parser.js +6 -2
  30. package/dist/model/parser/Base.d.ts +11 -2
  31. package/dist/model/parser/Base.js +138 -3
  32. package/dist/model/parser/DeploymentModelParser.d.ts +19 -2
  33. package/dist/model/parser/DeploymentModelParser.js +19 -29
  34. package/dist/model/parser/DeploymentViewParser.d.ts +18 -2
  35. package/dist/model/parser/DeploymentViewParser.js +6 -24
  36. package/dist/model/parser/FqnRefParser.d.ts +18 -3
  37. package/dist/model/parser/FqnRefParser.js +264 -40
  38. package/dist/model/parser/GlobalsParser.d.ts +35 -18
  39. package/dist/model/parser/ImportsParser.d.ts +32 -0
  40. package/dist/model/parser/ImportsParser.js +26 -0
  41. package/dist/model/parser/ModelParser.d.ts +26 -2
  42. package/dist/model/parser/ModelParser.js +21 -41
  43. package/dist/model/parser/PredicatesParser.d.ts +35 -12
  44. package/dist/model/parser/PredicatesParser.js +20 -271
  45. package/dist/model/parser/SpecificationParser.d.ts +8 -0
  46. package/dist/model/parser/SpecificationParser.js +5 -9
  47. package/dist/model/parser/ViewsParser.d.ts +36 -19
  48. package/dist/model/parser/ViewsParser.js +15 -11
  49. package/dist/model-change/changeElementStyle.d.ts +2 -2
  50. package/dist/model-change/changeElementStyle.js +2 -1
  51. package/dist/references/name-provider.js +8 -2
  52. package/dist/references/scope-computation.d.ts +1 -1
  53. package/dist/references/scope-computation.js +33 -3
  54. package/dist/references/scope-provider.d.ts +7 -8
  55. package/dist/references/scope-provider.js +59 -41
  56. package/dist/shared/NodeKindProvider.js +4 -2
  57. package/dist/test/testServices.d.ts +2 -0
  58. package/dist/test/testServices.js +4 -1
  59. package/dist/utils/elementRef.d.ts +1 -1
  60. package/dist/utils/elementRef.js +6 -1
  61. package/dist/utils/fqnRef.d.ts +3 -0
  62. package/dist/utils/fqnRef.js +15 -4
  63. package/dist/utils/index.d.ts +1 -0
  64. package/dist/utils/index.js +9 -0
  65. package/dist/utils/projectId.d.ts +2 -1
  66. package/dist/utils/projectId.js +11 -1
  67. package/dist/validation/_shared.js +2 -2
  68. package/dist/validation/deployment-checks.js +24 -10
  69. package/dist/validation/element-ref.d.ts +4 -0
  70. package/dist/validation/element-ref.js +12 -0
  71. package/dist/validation/element.d.ts +1 -1
  72. package/dist/validation/element.js +1 -1
  73. package/dist/validation/imports.d.ts +5 -0
  74. package/dist/validation/imports.js +30 -0
  75. package/dist/validation/index.d.ts +1 -1
  76. package/dist/validation/index.js +47 -45
  77. package/dist/validation/relation.d.ts +2 -2
  78. package/dist/validation/relation.js +24 -27
  79. package/dist/validation/specification.d.ts +9 -9
  80. package/dist/validation/specification.js +9 -9
  81. package/dist/validation/view-predicates/{element-with.d.ts → fqn-expr-with.d.ts} +1 -1
  82. package/dist/validation/view-predicates/fqn-expr-with.js +42 -0
  83. package/dist/validation/view-predicates/fqn-ref-expr.d.ts +4 -0
  84. package/dist/validation/view-predicates/fqn-ref-expr.js +53 -0
  85. package/dist/validation/view-predicates/incoming.d.ts +1 -1
  86. package/dist/validation/view-predicates/incoming.js +2 -2
  87. package/dist/validation/view-predicates/index.d.ts +6 -6
  88. package/dist/validation/view-predicates/index.js +6 -6
  89. package/dist/validation/view-predicates/outgoing.d.ts +1 -1
  90. package/dist/validation/view-predicates/outgoing.js +8 -4
  91. package/dist/validation/view-predicates/{expanded-element.d.ts → relation-expr.d.ts} +1 -1
  92. package/dist/validation/view-predicates/relation-expr.js +39 -0
  93. package/dist/validation/view-predicates/relation-with.d.ts +1 -1
  94. package/dist/validation/view-predicates/relation-with.js +8 -5
  95. package/dist/workspace/AstNodeDescriptionProvider.d.ts +1 -1
  96. package/dist/workspace/AstNodeDescriptionProvider.js +2 -3
  97. package/dist/workspace/IndexManager.d.ts +1 -1
  98. package/dist/workspace/IndexManager.js +5 -4
  99. package/dist/workspace/LangiumDocuments.d.ts +1 -1
  100. package/dist/workspace/LangiumDocuments.js +3 -5
  101. package/dist/workspace/ProjectsManager.d.ts +25 -7
  102. package/dist/workspace/ProjectsManager.js +76 -32
  103. package/dist/workspace/WorkspaceManager.d.ts +4 -5
  104. package/dist/workspace/WorkspaceManager.js +53 -20
  105. package/package.json +12 -10
  106. package/dist/validation/dynamic-view-rule.d.ts +0 -4
  107. package/dist/validation/dynamic-view-rule.js +0 -17
  108. package/dist/validation/view-predicates/element-with.js +0 -31
  109. package/dist/validation/view-predicates/expanded-element.js +0 -12
  110. package/dist/validation/view-predicates/expression-v2.d.ts +0 -5
  111. package/dist/validation/view-predicates/expression-v2.js +0 -83
@@ -26,7 +26,7 @@ export declare const LikeC4Terminals: {
26
26
  Hex: RegExp;
27
27
  };
28
28
  export type LikeC4TerminalNames = keyof typeof LikeC4Terminals;
29
- export type LikeC4KeywordNames = "(" | ")" | "*" | "," | "->" | "-[" | ":" | ";" | "<-" | "<->" | "BottomTop" | "LeftRight" | "RightLeft" | "TopBottom" | "]->" | "amber" | "and" | "autoLayout" | "blue" | "border" | "browser" | "color" | "crow" | "cylinder" | "dashed" | "deployment" | "deploymentNode" | "description" | "diamond" | "dot" | "dotted" | "dynamic" | "dynamicPredicateGroup" | "element" | "element.kind" | "element.tag" | "exclude" | "extend" | "extends" | "false" | "global" | "gray" | "green" | "group" | "head" | "icon" | "icons" | "include" | "indigo" | "instance" | "instanceOf" | "is" | "kind" | "large" | "lg" | "likec4lib" | "line" | "link" | "md" | "medium" | "metadata" | "mobile" | "model" | "multiple" | "muted" | "navigateTo" | "node" | "none" | "normal" | "not" | "notation" | "notes" | "odiamond" | "odot" | "of" | "onormal" | "opacity" | "open" | "or" | "padding" | "par" | "parallel" | "person" | "predicate" | "predicateGroup" | "primary" | "queue" | "rectangle" | "red" | "relationship" | "secondary" | "shape" | "size" | "sky" | "slate" | "sm" | "small" | "solid" | "source" | "specification" | "storage" | "style" | "styleGroup" | "tag" | "tail" | "target" | "technology" | "textSize" | "title" | "true" | "vee" | "view" | "views" | "where" | "with" | "xl" | "xlarge" | "xs" | "xsmall" | "{" | "}";
29
+ export type LikeC4KeywordNames = "(" | ")" | "*" | "," | "->" | "-[" | ":" | ";" | "<-" | "<->" | "BottomTop" | "LeftRight" | "RightLeft" | "TopBottom" | "]->" | "amber" | "and" | "autoLayout" | "blue" | "border" | "browser" | "color" | "crow" | "cylinder" | "dashed" | "deployment" | "deploymentNode" | "description" | "diamond" | "dot" | "dotted" | "dynamic" | "dynamicPredicateGroup" | "element" | "element.kind" | "element.tag" | "exclude" | "extend" | "extends" | "false" | "from" | "global" | "gray" | "green" | "group" | "head" | "icon" | "icons" | "import" | "include" | "indigo" | "instance" | "instanceOf" | "is" | "kind" | "large" | "lg" | "likec4lib" | "line" | "link" | "md" | "medium" | "metadata" | "mobile" | "model" | "multiple" | "muted" | "navigateTo" | "node" | "none" | "normal" | "not" | "notation" | "notes" | "odiamond" | "odot" | "of" | "onormal" | "opacity" | "open" | "or" | "padding" | "par" | "parallel" | "person" | "predicate" | "predicateGroup" | "primary" | "queue" | "rectangle" | "red" | "relationship" | "secondary" | "shape" | "size" | "sky" | "slate" | "sm" | "small" | "solid" | "source" | "specification" | "storage" | "style" | "styleGroup" | "tag" | "tail" | "target" | "technology" | "textSize" | "title" | "true" | "vee" | "view" | "views" | "where" | "with" | "xl" | "xlarge" | "xs" | "xsmall" | "{" | "}";
30
30
  export type LikeC4TokenNames = LikeC4TerminalNames | LikeC4KeywordNames;
31
31
  export type ArrowType = 'crow' | 'diamond' | 'dot' | 'none' | 'normal' | 'odiamond' | 'odot' | 'onormal' | 'open' | 'vee';
32
32
  export declare function isArrowType(item: unknown): item is ArrowType;
@@ -52,32 +52,26 @@ export declare function isDotId(item: unknown): item is DotId;
52
52
  export type DynamicViewRule = DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleAutoLayout | ViewRuleStyleOrGlobalRef;
53
53
  export declare const DynamicViewRule = "DynamicViewRule";
54
54
  export declare function isDynamicViewRule(item: unknown): item is DynamicViewRule;
55
- export type ElementExpression = ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression;
56
- export declare const ElementExpression = "ElementExpression";
57
- export declare function isElementExpression(item: unknown): item is ElementExpression;
58
- export type ElementPredicate = ElementPredicateOrWhere | ElementPredicateWith;
59
- export declare const ElementPredicate = "ElementPredicate";
60
- export declare function isElementPredicate(item: unknown): item is ElementPredicate;
61
- export type ElementPredicateOrWhere = ElementExpression | ElementPredicateWhere;
62
- export declare const ElementPredicateOrWhere = "ElementPredicateOrWhere";
63
- export declare function isElementPredicateOrWhere(item: unknown): item is ElementPredicateOrWhere;
64
- export type ElementPredicateOrWhereV2 = ElementPredicateWhereV2 | FqnExpr;
65
- export declare const ElementPredicateOrWhereV2 = "ElementPredicateOrWhereV2";
66
- export declare function isElementPredicateOrWhereV2(item: unknown): item is ElementPredicateOrWhereV2;
67
55
  export type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
68
56
  export declare const ElementProperty = "ElementProperty";
69
57
  export declare function isElementProperty(item: unknown): item is ElementProperty;
70
58
  export type ElementShape = 'browser' | 'cylinder' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
71
59
  export declare function isElementShape(item: unknown): item is ElementShape;
72
- export type ExpressionV2 = ElementPredicateOrWhereV2 | RelationPredicateOrWhereV2;
60
+ export type ExpressionV2 = FqnExprOrWith | RelationExprOrWith;
73
61
  export declare const ExpressionV2 = "ExpressionV2";
74
62
  export declare function isExpressionV2(item: unknown): item is ExpressionV2;
75
63
  export type ExtendElementProperty = LinkProperty | MetadataProperty;
76
64
  export declare const ExtendElementProperty = "ExtendElementProperty";
77
65
  export declare function isExtendElementProperty(item: unknown): item is ExtendElementProperty;
78
- export type FqnExpr = FqnRefExpr | WildcardExpression;
66
+ export type FqnExpr = ElementKindExpression | ElementTagExpression | FqnRefExpr | WildcardExpression;
79
67
  export declare const FqnExpr = "FqnExpr";
80
68
  export declare function isFqnExpr(item: unknown): item is FqnExpr;
69
+ export type FqnExprOrWhere = FqnExpr | FqnExprWhere;
70
+ export declare const FqnExprOrWhere = "FqnExprOrWhere";
71
+ export declare function isFqnExprOrWhere(item: unknown): item is FqnExprOrWhere;
72
+ export type FqnExprOrWith = FqnExprOrWhere | FqnExprWith;
73
+ export declare const FqnExprOrWith = "FqnExprOrWith";
74
+ export declare function isFqnExprOrWith(item: unknown): item is FqnExprOrWith;
81
75
  export type FqnReferenceable = Element | ExtendDeployment | ExtendElement | Referenceable;
82
76
  export declare const FqnReferenceable = "FqnReferenceable";
83
77
  export declare function isFqnReferenceable(item: unknown): item is FqnReferenceable;
@@ -93,29 +87,23 @@ export declare function isLineOptions(item: unknown): item is LineOptions;
93
87
  export type MetadataProperty = MetadataBody;
94
88
  export declare const MetadataProperty = "MetadataProperty";
95
89
  export declare function isMetadataProperty(item: unknown): item is MetadataProperty;
90
+ export type ModelReferenceable = Element | Imported;
91
+ export declare const ModelReferenceable = "ModelReferenceable";
92
+ export declare function isModelReferenceable(item: unknown): item is ModelReferenceable;
96
93
  export type Participant = 'source' | 'target';
97
94
  export declare function isParticipant(item: unknown): item is Participant;
98
- export type Predicate = ElementPredicate | RelationPredicate;
99
- export declare const Predicate = "Predicate";
100
- export declare function isPredicate(item: unknown): item is Predicate;
101
- export type Referenceable = DeployedInstance | DeploymentNode | Element;
95
+ export type Referenceable = DeployedInstance | DeploymentNode | Element | Imported;
102
96
  export declare const Referenceable = "Referenceable";
103
97
  export declare function isReferenceable(item: unknown): item is Referenceable;
104
98
  export type RelationExpr = DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr;
105
99
  export declare const RelationExpr = "RelationExpr";
106
100
  export declare function isRelationExpr(item: unknown): item is RelationExpr;
107
- export type RelationExpression = DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression;
108
- export declare const RelationExpression = "RelationExpression";
109
- export declare function isRelationExpression(item: unknown): item is RelationExpression;
110
- export type RelationPredicate = RelationPredicateOrWhere | RelationPredicateWith;
111
- export declare const RelationPredicate = "RelationPredicate";
112
- export declare function isRelationPredicate(item: unknown): item is RelationPredicate;
113
- export type RelationPredicateOrWhere = RelationExpression | RelationPredicateWhere;
114
- export declare const RelationPredicateOrWhere = "RelationPredicateOrWhere";
115
- export declare function isRelationPredicateOrWhere(item: unknown): item is RelationPredicateOrWhere;
116
- export type RelationPredicateOrWhereV2 = RelationExpr | RelationPredicateWhereV2;
117
- export declare const RelationPredicateOrWhereV2 = "RelationPredicateOrWhereV2";
118
- export declare function isRelationPredicateOrWhereV2(item: unknown): item is RelationPredicateOrWhereV2;
101
+ export type RelationExprOrWhere = RelationExpr | RelationExprWhere;
102
+ export declare const RelationExprOrWhere = "RelationExprOrWhere";
103
+ export declare function isRelationExprOrWhere(item: unknown): item is RelationExprOrWhere;
104
+ export type RelationExprOrWith = RelationExprOrWhere | RelationExprWith;
105
+ export declare const RelationExprOrWith = "RelationExprOrWith";
106
+ export declare function isRelationExprOrWith(item: unknown): item is RelationExprOrWith;
119
107
  export type RelationProperty = LinkProperty | MetadataProperty | RelationNavigateToProperty | RelationStringProperty | RelationStyleProperty;
120
108
  export declare const RelationProperty = "RelationProperty";
121
109
  export declare function isRelationProperty(item: unknown): item is RelationProperty;
@@ -147,9 +135,6 @@ export declare function isViewProperty(item: unknown): item is ViewProperty;
147
135
  export type ViewRule = ViewRuleAutoLayout | ViewRuleGlobalPredicateRef | ViewRuleGroup | ViewRulePredicate | ViewRuleStyleOrGlobalRef;
148
136
  export declare const ViewRule = "ViewRule";
149
137
  export declare function isViewRule(item: unknown): item is ViewRule;
150
- export type ViewRulePredicate = ExcludePredicate | IncludePredicate;
151
- export declare const ViewRulePredicate = "ViewRulePredicate";
152
- export declare function isViewRulePredicate(item: unknown): item is ViewRulePredicate;
153
138
  export type ViewRuleStyleOrGlobalRef = ViewRuleGlobalStyle | ViewRuleStyle;
154
139
  export declare const ViewRuleStyleOrGlobalRef = "ViewRuleStyleOrGlobalRef";
155
140
  export declare function isViewRuleStyleOrGlobalRef(item: unknown): item is ViewRuleStyleOrGlobalRef;
@@ -207,14 +192,14 @@ export interface CustomColor extends AstNode {
207
192
  export declare const CustomColor = "CustomColor";
208
193
  export declare function isCustomColor(item: unknown): item is CustomColor;
209
194
  export interface CustomElementProperties extends AstNode {
210
- readonly $container: ElementPredicateWith;
195
+ readonly $container: FqnExprWith;
211
196
  readonly $type: 'CustomElementProperties';
212
197
  props: Array<ElementStringProperty | NavigateToProperty | NotationProperty | StyleProperty>;
213
198
  }
214
199
  export declare const CustomElementProperties = "CustomElementProperties";
215
200
  export declare function isCustomElementProperties(item: unknown): item is CustomElementProperties;
216
201
  export interface CustomRelationProperties extends AstNode {
217
- readonly $container: DynamicViewStep | RelationPredicateWith;
202
+ readonly $container: DynamicViewStep | RelationExprWith;
218
203
  readonly $type: 'CustomRelationProperties';
219
204
  props: Array<NotationProperty | NotesProperty | RelationNavigateToProperty | RelationStringProperty | RelationshipStyleProperty>;
220
205
  }
@@ -224,8 +209,8 @@ export interface DeployedInstance extends AstNode {
224
209
  readonly $container: DeploymentNodeBody | ExtendDeploymentBody;
225
210
  readonly $type: 'DeployedInstance';
226
211
  body?: DeployedInstanceBody;
227
- element: ElementRef;
228
212
  name?: Id;
213
+ target: ElementRef;
229
214
  title?: string;
230
215
  }
231
216
  export declare const DeployedInstance = "DeployedInstance";
@@ -233,6 +218,7 @@ export declare function isDeployedInstance(item: unknown): item is DeployedInsta
233
218
  export interface DeployedInstanceBody extends AstNode {
234
219
  readonly $container: DeployedInstance;
235
220
  readonly $type: 'DeployedInstanceBody';
221
+ elements: Array<DeploymentRelation>;
236
222
  props: Array<ElementProperty>;
237
223
  tags?: Tags;
238
224
  }
@@ -265,11 +251,11 @@ export interface DeploymentNodeKind extends AstNode {
265
251
  export declare const DeploymentNodeKind = "DeploymentNodeKind";
266
252
  export declare function isDeploymentNodeKind(item: unknown): item is DeploymentNodeKind;
267
253
  export interface DeploymentRelation extends AstNode {
268
- readonly $container: DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
254
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
269
255
  readonly $type: 'DeploymentRelation';
270
256
  body?: DeploymentRelationBody;
271
257
  kind?: Reference<RelationshipKind>;
272
- source: FqnRef;
258
+ source?: FqnRef;
273
259
  tags?: Tags;
274
260
  target: FqnRef;
275
261
  technology?: string;
@@ -305,19 +291,11 @@ export declare function isDeploymentViewBody(item: unknown): item is DeploymentV
305
291
  export interface DeploymentViewRulePredicate extends AstNode {
306
292
  readonly $container: DeploymentViewBody;
307
293
  readonly $type: 'DeploymentViewRulePredicate';
308
- expr: DeploymentViewRulePredicateExpression;
294
+ expr: Expressions;
309
295
  isInclude: boolean;
310
296
  }
311
297
  export declare const DeploymentViewRulePredicate = "DeploymentViewRulePredicate";
312
298
  export declare function isDeploymentViewRulePredicate(item: unknown): item is DeploymentViewRulePredicate;
313
- export interface DeploymentViewRulePredicateExpression extends AstNode {
314
- readonly $container: DeploymentViewRulePredicate | DeploymentViewRulePredicateExpression;
315
- readonly $type: 'DeploymentViewRulePredicateExpression';
316
- prev?: DeploymentViewRulePredicateExpression;
317
- value: ExpressionV2;
318
- }
319
- export declare const DeploymentViewRulePredicateExpression = "DeploymentViewRulePredicateExpression";
320
- export declare function isDeploymentViewRulePredicateExpression(item: unknown): item is DeploymentViewRulePredicateExpression;
321
299
  export interface DeploymentViewRuleStyle extends AstNode {
322
300
  readonly $container: DeploymentViewBody;
323
301
  readonly $type: 'DeploymentViewRuleStyle';
@@ -327,21 +305,13 @@ export interface DeploymentViewRuleStyle extends AstNode {
327
305
  export declare const DeploymentViewRuleStyle = "DeploymentViewRuleStyle";
328
306
  export declare function isDeploymentViewRuleStyle(item: unknown): item is DeploymentViewRuleStyle;
329
307
  export interface DirectedRelationExpr extends AstNode {
330
- readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
308
+ readonly $container: Expressions | RelationExprWhere | RelationExprWith;
331
309
  readonly $type: 'DirectedRelationExpr';
332
310
  source: OutgoingRelationExpr;
333
311
  target: FqnExpr;
334
312
  }
335
313
  export declare const DirectedRelationExpr = "DirectedRelationExpr";
336
314
  export declare function isDirectedRelationExpr(item: unknown): item is DirectedRelationExpr;
337
- export interface DirectedRelationExpression extends AstNode {
338
- readonly $container: Predicates | RelationPredicateWhere | RelationPredicateWith;
339
- readonly $type: 'DirectedRelationExpression';
340
- source: OutgoingRelationExpression;
341
- target: ElementExpression;
342
- }
343
- export declare const DirectedRelationExpression = "DirectedRelationExpression";
344
- export declare function isDirectedRelationExpression(item: unknown): item is DirectedRelationExpression;
345
315
  export interface DynamicView extends AstNode {
346
316
  readonly $container: ModelViews;
347
317
  readonly $type: 'DynamicView';
@@ -370,7 +340,7 @@ export declare function isDynamicViewGlobalPredicateRef(item: unknown): item is
370
340
  export interface DynamicViewIncludePredicate extends AstNode {
371
341
  readonly $container: DynamicViewBody | GlobalDynamicPredicateGroup;
372
342
  readonly $type: 'DynamicViewIncludePredicate';
373
- predicates: DynamicViewPredicateIterator;
343
+ exprs: Expressions;
374
344
  }
375
345
  export declare const DynamicViewIncludePredicate = "DynamicViewIncludePredicate";
376
346
  export declare function isDynamicViewIncludePredicate(item: unknown): item is DynamicViewIncludePredicate;
@@ -381,14 +351,6 @@ export interface DynamicViewParallelSteps extends AstNode {
381
351
  }
382
352
  export declare const DynamicViewParallelSteps = "DynamicViewParallelSteps";
383
353
  export declare function isDynamicViewParallelSteps(item: unknown): item is DynamicViewParallelSteps;
384
- export interface DynamicViewPredicateIterator extends AstNode {
385
- readonly $container: DynamicViewIncludePredicate | DynamicViewPredicateIterator;
386
- readonly $type: 'DynamicViewPredicateIterator';
387
- prev?: DynamicViewPredicateIterator;
388
- value: ElementPredicate;
389
- }
390
- export declare const DynamicViewPredicateIterator = "DynamicViewPredicateIterator";
391
- export declare function isDynamicViewPredicateIterator(item: unknown): item is DynamicViewPredicateIterator;
392
354
  export interface DynamicViewRef extends AstNode {
393
355
  readonly $container: RelationNavigateToProperty;
394
356
  readonly $type: 'DynamicViewRef';
@@ -427,22 +389,6 @@ export interface ElementBody extends AstNode {
427
389
  }
428
390
  export declare const ElementBody = "ElementBody";
429
391
  export declare function isElementBody(item: unknown): item is ElementBody;
430
- export interface ElementDescedantsExpression extends AstNode {
431
- readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | IncomingRelationExpression | OutgoingRelationExpression | Predicates;
432
- readonly $type: 'ElementDescedantsExpression';
433
- parent: ElementRef;
434
- suffix: string;
435
- }
436
- export declare const ElementDescedantsExpression = "ElementDescedantsExpression";
437
- export declare function isElementDescedantsExpression(item: unknown): item is ElementDescedantsExpression;
438
- export interface ElementExpressionsIterator extends AstNode {
439
- readonly $container: ElementExpressionsIterator | GlobalStyle | ViewRuleStyle;
440
- readonly $type: 'ElementExpressionsIterator';
441
- prev?: ElementExpressionsIterator;
442
- value: ElementExpression;
443
- }
444
- export declare const ElementExpressionsIterator = "ElementExpressionsIterator";
445
- export declare function isElementExpressionsIterator(item: unknown): item is ElementExpressionsIterator;
446
392
  export interface ElementKind extends AstNode {
447
393
  readonly $container: SpecificationElementKind;
448
394
  readonly $type: 'ElementKind';
@@ -451,42 +397,17 @@ export interface ElementKind extends AstNode {
451
397
  export declare const ElementKind = "ElementKind";
452
398
  export declare function isElementKind(item: unknown): item is ElementKind;
453
399
  export interface ElementKindExpression extends AstNode {
454
- readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | IncomingRelationExpression | OutgoingRelationExpression | Predicates;
400
+ readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
455
401
  readonly $type: 'ElementKindExpression';
456
402
  isEqual: boolean;
457
403
  kind?: Reference<ElementKind>;
458
404
  }
459
405
  export declare const ElementKindExpression = "ElementKindExpression";
460
406
  export declare function isElementKindExpression(item: unknown): item is ElementKindExpression;
461
- export interface ElementPredicateWhere extends AstNode {
462
- readonly $container: DynamicViewPredicateIterator | ElementPredicateWith | Predicates;
463
- readonly $type: 'ElementPredicateWhere';
464
- subject: ElementExpression;
465
- where?: WhereElementExpression;
466
- }
467
- export declare const ElementPredicateWhere = "ElementPredicateWhere";
468
- export declare function isElementPredicateWhere(item: unknown): item is ElementPredicateWhere;
469
- export interface ElementPredicateWhereV2 extends AstNode {
470
- readonly $container: DeploymentViewRulePredicateExpression;
471
- readonly $type: 'ElementPredicateWhereV2';
472
- subject: FqnExpr;
473
- where?: WhereElementExpression;
474
- }
475
- export declare const ElementPredicateWhereV2 = "ElementPredicateWhereV2";
476
- export declare function isElementPredicateWhereV2(item: unknown): item is ElementPredicateWhereV2;
477
- export interface ElementPredicateWith extends AstNode {
478
- readonly $container: DynamicViewPredicateIterator | Predicates;
479
- readonly $type: 'ElementPredicateWith';
480
- custom?: CustomElementProperties;
481
- subject: ElementPredicateOrWhere;
482
- }
483
- export declare const ElementPredicateWith = "ElementPredicateWith";
484
- export declare function isElementPredicateWith(item: unknown): item is ElementPredicateWith;
485
407
  export interface ElementRef extends AstNode {
486
- readonly $container: DeployedInstance | DirectedRelationExpression | DynamicViewPredicateIterator | DynamicViewStep | ElementDescedantsExpression | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | ElementRef | ElementView | ExpandElementExpression | IncomingRelationExpression | OutgoingRelationExpression | Predicates | Relation;
408
+ readonly $container: DeployedInstance | DynamicViewStep | ElementView;
487
409
  readonly $type: 'ElementRef';
488
- el: Reference<Element>;
489
- parent?: ElementRef;
410
+ modelElement: FqnRef;
490
411
  }
491
412
  export declare const ElementRef = "ElementRef";
492
413
  export declare function isElementRef(item: unknown): item is ElementRef;
@@ -507,7 +428,7 @@ export interface ElementStyleProperty extends AstNode {
507
428
  export declare const ElementStyleProperty = "ElementStyleProperty";
508
429
  export declare function isElementStyleProperty(item: unknown): item is ElementStyleProperty;
509
430
  export interface ElementTagExpression extends AstNode {
510
- readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | IncomingRelationExpression | OutgoingRelationExpression | Predicates;
431
+ readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
511
432
  readonly $type: 'ElementTagExpression';
512
433
  isEqual: boolean;
513
434
  tag?: Reference<Tag>;
@@ -540,20 +461,14 @@ export interface ElementViewRef extends AstNode {
540
461
  }
541
462
  export declare const ElementViewRef = "ElementViewRef";
542
463
  export declare function isElementViewRef(item: unknown): item is ElementViewRef;
543
- export interface ExcludePredicate extends AstNode {
544
- readonly $container: ElementViewBody | GlobalPredicateGroup | ViewRuleGroup;
545
- readonly $type: 'ExcludePredicate';
546
- predicates: Predicates;
547
- }
548
- export declare const ExcludePredicate = "ExcludePredicate";
549
- export declare function isExcludePredicate(item: unknown): item is ExcludePredicate;
550
- export interface ExpandElementExpression extends AstNode {
551
- readonly $container: DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWith | IncomingRelationExpression | OutgoingRelationExpression | Predicates;
552
- readonly $type: 'ExpandElementExpression';
553
- expand: ElementRef;
554
- }
555
- export declare const ExpandElementExpression = "ExpandElementExpression";
556
- export declare function isExpandElementExpression(item: unknown): item is ExpandElementExpression;
464
+ export interface Expressions extends AstNode {
465
+ readonly $container: DeploymentViewRulePredicate | DynamicViewIncludePredicate | Expressions | ViewRulePredicate;
466
+ readonly $type: 'Expressions';
467
+ prev?: Expressions;
468
+ value: ExpressionV2;
469
+ }
470
+ export declare const Expressions = "Expressions";
471
+ export declare function isExpressions(item: unknown): item is Expressions;
557
472
  export interface ExtendDeployment extends AstNode {
558
473
  readonly $container: ModelDeployments;
559
474
  readonly $type: 'ExtendDeployment';
@@ -589,15 +504,31 @@ export interface ExtendElementBody extends AstNode {
589
504
  export declare const ExtendElementBody = "ExtendElementBody";
590
505
  export declare function isExtendElementBody(item: unknown): item is ExtendElementBody;
591
506
  export interface FqnExpressions extends AstNode {
592
- readonly $container: DeploymentViewRuleStyle | FqnExpressions;
507
+ readonly $container: DeploymentViewRuleStyle | FqnExpressions | GlobalStyle | ViewRuleStyle;
593
508
  readonly $type: 'FqnExpressions';
594
509
  prev?: FqnExpressions;
595
510
  value: FqnExpr;
596
511
  }
597
512
  export declare const FqnExpressions = "FqnExpressions";
598
513
  export declare function isFqnExpressions(item: unknown): item is FqnExpressions;
514
+ export interface FqnExprWhere extends AstNode {
515
+ readonly $container: Expressions | FqnExprWith;
516
+ readonly $type: 'FqnExprWhere';
517
+ subject: FqnExpr;
518
+ where?: WhereElementExpression;
519
+ }
520
+ export declare const FqnExprWhere = "FqnExprWhere";
521
+ export declare function isFqnExprWhere(item: unknown): item is FqnExprWhere;
522
+ export interface FqnExprWith extends AstNode {
523
+ readonly $container: Expressions;
524
+ readonly $type: 'FqnExprWith';
525
+ custom?: CustomElementProperties;
526
+ subject: FqnExprOrWhere;
527
+ }
528
+ export declare const FqnExprWith = "FqnExprWith";
529
+ export declare function isFqnExprWith(item: unknown): item is FqnExprWith;
599
530
  export interface FqnRef extends AstNode {
600
- readonly $container: DeploymentRelation | FqnRef | FqnRefExpr;
531
+ readonly $container: DeploymentRelation | ElementRef | FqnRef | FqnRefExpr | Relation;
601
532
  readonly $type: 'FqnRef';
602
533
  parent?: FqnRef;
603
534
  value: Reference<Referenceable>;
@@ -605,7 +536,7 @@ export interface FqnRef extends AstNode {
605
536
  export declare const FqnRef = "FqnRef";
606
537
  export declare function isFqnRef(item: unknown): item is FqnRef;
607
538
  export interface FqnRefExpr extends AstNode {
608
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | ElementPredicateWhereV2 | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
539
+ readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
609
540
  readonly $type: 'FqnRefExpr';
610
541
  ref: FqnRef;
611
542
  selector?: string;
@@ -642,7 +573,7 @@ export interface GlobalStyle extends AstNode {
642
573
  readonly $type: 'GlobalStyle';
643
574
  id: GlobalStyleId;
644
575
  props: Array<NotationProperty | StyleProperty>;
645
- target: ElementExpressionsIterator;
576
+ target: FqnExpressions;
646
577
  }
647
578
  export declare const GlobalStyle = "GlobalStyle";
648
579
  export declare function isGlobalStyle(item: unknown): item is GlobalStyle;
@@ -670,41 +601,36 @@ export interface IconProperty extends AstNode {
670
601
  }
671
602
  export declare const IconProperty = "IconProperty";
672
603
  export declare function isIconProperty(item: unknown): item is IconProperty;
673
- export interface IncludePredicate extends AstNode {
674
- readonly $container: ElementViewBody | GlobalPredicateGroup | ViewRuleGroup;
675
- readonly $type: 'IncludePredicate';
676
- predicates: Predicates;
604
+ export interface Imported extends AstNode {
605
+ readonly $container: Imported | ImportsFromPoject;
606
+ readonly $type: 'Imported';
607
+ imported: Reference<Element>;
608
+ prev?: Imported;
609
+ }
610
+ export declare const Imported = "Imported";
611
+ export declare function isImported(item: unknown): item is Imported;
612
+ export interface ImportsFromPoject extends AstNode {
613
+ readonly $container: LikeC4Grammar;
614
+ readonly $type: 'ImportsFromPoject';
615
+ imports: Imported;
616
+ project: string;
677
617
  }
678
- export declare const IncludePredicate = "IncludePredicate";
679
- export declare function isIncludePredicate(item: unknown): item is IncludePredicate;
618
+ export declare const ImportsFromPoject = "ImportsFromPoject";
619
+ export declare function isImportsFromPoject(item: unknown): item is ImportsFromPoject;
680
620
  export interface IncomingRelationExpr extends AstNode {
681
- readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr | RelationPredicateWhereV2;
621
+ readonly $container: Expressions | InOutRelationExpr | RelationExprWhere | RelationExprWith;
682
622
  readonly $type: 'IncomingRelationExpr';
683
623
  to: FqnExpr;
684
624
  }
685
625
  export declare const IncomingRelationExpr = "IncomingRelationExpr";
686
626
  export declare function isIncomingRelationExpr(item: unknown): item is IncomingRelationExpr;
687
- export interface IncomingRelationExpression extends AstNode {
688
- readonly $container: InOutRelationExpression | Predicates | RelationPredicateWhere | RelationPredicateWith;
689
- readonly $type: 'IncomingRelationExpression';
690
- to: ElementExpression;
691
- }
692
- export declare const IncomingRelationExpression = "IncomingRelationExpression";
693
- export declare function isIncomingRelationExpression(item: unknown): item is IncomingRelationExpression;
694
627
  export interface InOutRelationExpr extends AstNode {
695
- readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
628
+ readonly $container: Expressions | RelationExprWhere | RelationExprWith;
696
629
  readonly $type: 'InOutRelationExpr';
697
630
  inout: IncomingRelationExpr;
698
631
  }
699
632
  export declare const InOutRelationExpr = "InOutRelationExpr";
700
633
  export declare function isInOutRelationExpr(item: unknown): item is InOutRelationExpr;
701
- export interface InOutRelationExpression extends AstNode {
702
- readonly $container: Predicates | RelationPredicateWhere | RelationPredicateWith;
703
- readonly $type: 'InOutRelationExpression';
704
- inout: IncomingRelationExpression;
705
- }
706
- export declare const InOutRelationExpression = "InOutRelationExpression";
707
- export declare function isInOutRelationExpression(item: unknown): item is InOutRelationExpression;
708
634
  export interface LibIcon extends AstNode {
709
635
  readonly $container: LikeC4Lib;
710
636
  readonly $type: 'LibIcon';
@@ -716,6 +642,7 @@ export interface LikeC4Grammar extends AstNode {
716
642
  readonly $type: 'LikeC4Grammar';
717
643
  deployments: Array<ModelDeployments>;
718
644
  globals: Array<Globals>;
645
+ imports: Array<ImportsFromPoject>;
719
646
  likec4lib: Array<LikeC4Lib>;
720
647
  models: Array<Model>;
721
648
  specifications: Array<SpecificationRule>;
@@ -828,7 +755,7 @@ export interface OpacityProperty extends AstNode {
828
755
  export declare const OpacityProperty = "OpacityProperty";
829
756
  export declare function isOpacityProperty(item: unknown): item is OpacityProperty;
830
757
  export interface OutgoingRelationExpr extends AstNode {
831
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | RelationPredicateWhereV2;
758
+ readonly $container: DirectedRelationExpr | Expressions | RelationExprWhere | RelationExprWith;
832
759
  readonly $type: 'OutgoingRelationExpr';
833
760
  from: FqnExpr;
834
761
  isBidirectional: boolean;
@@ -836,15 +763,6 @@ export interface OutgoingRelationExpr extends AstNode {
836
763
  }
837
764
  export declare const OutgoingRelationExpr = "OutgoingRelationExpr";
838
765
  export declare function isOutgoingRelationExpr(item: unknown): item is OutgoingRelationExpr;
839
- export interface OutgoingRelationExpression extends AstNode {
840
- readonly $container: DirectedRelationExpression | Predicates | RelationPredicateWhere | RelationPredicateWith;
841
- readonly $type: 'OutgoingRelationExpression';
842
- from: ElementExpression;
843
- isBidirectional: boolean;
844
- kind?: Reference<RelationshipKind>;
845
- }
846
- export declare const OutgoingRelationExpression = "OutgoingRelationExpression";
847
- export declare function isOutgoingRelationExpression(item: unknown): item is OutgoingRelationExpression;
848
766
  export interface PaddingSizeProperty extends AstNode {
849
767
  readonly $container: CustomElementProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | ViewRuleStyle;
850
768
  readonly $type: 'PaddingSizeProperty';
@@ -853,22 +771,14 @@ export interface PaddingSizeProperty extends AstNode {
853
771
  }
854
772
  export declare const PaddingSizeProperty = "PaddingSizeProperty";
855
773
  export declare function isPaddingSizeProperty(item: unknown): item is PaddingSizeProperty;
856
- export interface Predicates extends AstNode {
857
- readonly $container: ExcludePredicate | IncludePredicate | Predicates;
858
- readonly $type: 'Predicates';
859
- prev?: Predicates;
860
- value: Predicate;
861
- }
862
- export declare const Predicates = "Predicates";
863
- export declare function isPredicates(item: unknown): item is Predicates;
864
774
  export interface Relation extends AstNode {
865
775
  readonly $container: ElementBody | ExtendElementBody | Model;
866
776
  readonly $type: 'Relation';
867
777
  body?: RelationBody;
868
778
  kind?: Reference<RelationshipKind>;
869
- source?: ElementRef;
779
+ source?: FqnRef;
870
780
  tags?: Tags;
871
- target: ElementRef;
781
+ target: FqnRef;
872
782
  technology?: string;
873
783
  title?: string;
874
784
  }
@@ -882,6 +792,22 @@ export interface RelationBody extends AstNode {
882
792
  }
883
793
  export declare const RelationBody = "RelationBody";
884
794
  export declare function isRelationBody(item: unknown): item is RelationBody;
795
+ export interface RelationExprWhere extends AstNode {
796
+ readonly $container: Expressions | RelationExprWith;
797
+ readonly $type: 'RelationExprWhere';
798
+ subject: RelationExpr;
799
+ where?: WhereRelationExpression;
800
+ }
801
+ export declare const RelationExprWhere = "RelationExprWhere";
802
+ export declare function isRelationExprWhere(item: unknown): item is RelationExprWhere;
803
+ export interface RelationExprWith extends AstNode {
804
+ readonly $container: Expressions;
805
+ readonly $type: 'RelationExprWith';
806
+ custom?: CustomRelationProperties;
807
+ subject: RelationExprOrWhere;
808
+ }
809
+ export declare const RelationExprWith = "RelationExprWith";
810
+ export declare function isRelationExprWith(item: unknown): item is RelationExprWith;
885
811
  export interface RelationNavigateToProperty extends AstNode {
886
812
  readonly $container: CustomRelationProperties | DeploymentRelationBody | RelationBody;
887
813
  readonly $type: 'RelationNavigateToProperty';
@@ -890,30 +816,6 @@ export interface RelationNavigateToProperty extends AstNode {
890
816
  }
891
817
  export declare const RelationNavigateToProperty = "RelationNavigateToProperty";
892
818
  export declare function isRelationNavigateToProperty(item: unknown): item is RelationNavigateToProperty;
893
- export interface RelationPredicateWhere extends AstNode {
894
- readonly $container: Predicates | RelationPredicateWith;
895
- readonly $type: 'RelationPredicateWhere';
896
- subject: RelationExpression;
897
- where?: WhereRelationExpression;
898
- }
899
- export declare const RelationPredicateWhere = "RelationPredicateWhere";
900
- export declare function isRelationPredicateWhere(item: unknown): item is RelationPredicateWhere;
901
- export interface RelationPredicateWhereV2 extends AstNode {
902
- readonly $container: DeploymentViewRulePredicateExpression;
903
- readonly $type: 'RelationPredicateWhereV2';
904
- subject: RelationExpr;
905
- where?: WhereRelationExpression;
906
- }
907
- export declare const RelationPredicateWhereV2 = "RelationPredicateWhereV2";
908
- export declare function isRelationPredicateWhereV2(item: unknown): item is RelationPredicateWhereV2;
909
- export interface RelationPredicateWith extends AstNode {
910
- readonly $container: Predicates;
911
- readonly $type: 'RelationPredicateWith';
912
- custom?: CustomRelationProperties;
913
- subject: RelationPredicateOrWhere;
914
- }
915
- export declare const RelationPredicateWith = "RelationPredicateWith";
916
- export declare function isRelationPredicateWith(item: unknown): item is RelationPredicateWith;
917
819
  export interface RelationshipKind extends AstNode {
918
820
  readonly $container: SpecificationRelationshipKind;
919
821
  readonly $type: 'RelationshipKind';
@@ -1098,11 +1000,19 @@ export interface ViewRuleGroup extends AstNode {
1098
1000
  }
1099
1001
  export declare const ViewRuleGroup = "ViewRuleGroup";
1100
1002
  export declare function isViewRuleGroup(item: unknown): item is ViewRuleGroup;
1003
+ export interface ViewRulePredicate extends AstNode {
1004
+ readonly $container: ElementViewBody | GlobalPredicateGroup | ViewRuleGroup;
1005
+ readonly $type: 'ViewRulePredicate';
1006
+ exprs: Expressions;
1007
+ isInclude: boolean;
1008
+ }
1009
+ export declare const ViewRulePredicate = "ViewRulePredicate";
1010
+ export declare function isViewRulePredicate(item: unknown): item is ViewRulePredicate;
1101
1011
  export interface ViewRuleStyle extends AstNode {
1102
1012
  readonly $container: DynamicViewBody | ElementViewBody | GlobalStyleGroup | ModelViews;
1103
1013
  readonly $type: 'ViewRuleStyle';
1104
1014
  props: Array<NotationProperty | StyleProperty>;
1105
- target: ElementExpressionsIterator;
1015
+ target: FqnExpressions;
1106
1016
  }
1107
1017
  export declare const ViewRuleStyle = "ViewRuleStyle";
1108
1018
  export declare function isViewRuleStyle(item: unknown): item is ViewRuleStyle;
@@ -1115,7 +1025,7 @@ export interface ViewStringProperty extends AstNode {
1115
1025
  export declare const ViewStringProperty = "ViewStringProperty";
1116
1026
  export declare function isViewStringProperty(item: unknown): item is ViewStringProperty;
1117
1027
  export interface WhereBinaryExpression extends AstNode {
1118
- readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
1028
+ readonly $container: FqnExprWhere | RelationExprWhere | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
1119
1029
  readonly $type: 'WhereBinaryExpression';
1120
1030
  left: WhereElementExpression | WhereRelationExpression;
1121
1031
  operator: 'and' | 'or';
@@ -1124,7 +1034,7 @@ export interface WhereBinaryExpression extends AstNode {
1124
1034
  export declare const WhereBinaryExpression = "WhereBinaryExpression";
1125
1035
  export declare function isWhereBinaryExpression(item: unknown): item is WhereBinaryExpression;
1126
1036
  export interface WhereElementKind extends AstNode {
1127
- readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
1037
+ readonly $container: FqnExprWhere | WhereBinaryExpression | WhereElementNegation;
1128
1038
  readonly $type: 'WhereElementKind';
1129
1039
  not: boolean;
1130
1040
  operator: 'is' | string;
@@ -1133,14 +1043,14 @@ export interface WhereElementKind extends AstNode {
1133
1043
  export declare const WhereElementKind = "WhereElementKind";
1134
1044
  export declare function isWhereElementKind(item: unknown): item is WhereElementKind;
1135
1045
  export interface WhereElementNegation extends AstNode {
1136
- readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
1046
+ readonly $container: FqnExprWhere | WhereBinaryExpression | WhereElementNegation;
1137
1047
  readonly $type: 'WhereElementNegation';
1138
1048
  value: WhereElementExpression;
1139
1049
  }
1140
1050
  export declare const WhereElementNegation = "WhereElementNegation";
1141
1051
  export declare function isWhereElementNegation(item: unknown): item is WhereElementNegation;
1142
1052
  export interface WhereElementTag extends AstNode {
1143
- readonly $container: ElementPredicateWhere | ElementPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation;
1053
+ readonly $container: FqnExprWhere | WhereBinaryExpression | WhereElementNegation;
1144
1054
  readonly $type: 'WhereElementTag';
1145
1055
  not: boolean;
1146
1056
  operator: 'is' | string;
@@ -1149,7 +1059,7 @@ export interface WhereElementTag extends AstNode {
1149
1059
  export declare const WhereElementTag = "WhereElementTag";
1150
1060
  export declare function isWhereElementTag(item: unknown): item is WhereElementTag;
1151
1061
  export interface WhereRelationKind extends AstNode {
1152
- readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1062
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1153
1063
  readonly $type: 'WhereRelationKind';
1154
1064
  not: boolean;
1155
1065
  operator: 'is' | string;
@@ -1158,14 +1068,14 @@ export interface WhereRelationKind extends AstNode {
1158
1068
  export declare const WhereRelationKind = "WhereRelationKind";
1159
1069
  export declare function isWhereRelationKind(item: unknown): item is WhereRelationKind;
1160
1070
  export interface WhereRelationNegation extends AstNode {
1161
- readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1071
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1162
1072
  readonly $type: 'WhereRelationNegation';
1163
1073
  value: WhereRelationExpression;
1164
1074
  }
1165
1075
  export declare const WhereRelationNegation = "WhereRelationNegation";
1166
1076
  export declare function isWhereRelationNegation(item: unknown): item is WhereRelationNegation;
1167
1077
  export interface WhereRelationParticipantKind extends AstNode {
1168
- readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1078
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1169
1079
  readonly $type: 'WhereRelationParticipantKind';
1170
1080
  not: boolean;
1171
1081
  operator: 'is' | string;
@@ -1175,7 +1085,7 @@ export interface WhereRelationParticipantKind extends AstNode {
1175
1085
  export declare const WhereRelationParticipantKind = "WhereRelationParticipantKind";
1176
1086
  export declare function isWhereRelationParticipantKind(item: unknown): item is WhereRelationParticipantKind;
1177
1087
  export interface WhereRelationParticipantTag extends AstNode {
1178
- readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1088
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1179
1089
  readonly $type: 'WhereRelationParticipantTag';
1180
1090
  not: boolean;
1181
1091
  operator: 'is' | string;
@@ -1185,7 +1095,7 @@ export interface WhereRelationParticipantTag extends AstNode {
1185
1095
  export declare const WhereRelationParticipantTag = "WhereRelationParticipantTag";
1186
1096
  export declare function isWhereRelationParticipantTag(item: unknown): item is WhereRelationParticipantTag;
1187
1097
  export interface WhereRelationTag extends AstNode {
1188
- readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
1098
+ readonly $container: RelationExprWhere | WhereBinaryExpression | WhereRelationNegation;
1189
1099
  readonly $type: 'WhereRelationTag';
1190
1100
  not: boolean;
1191
1101
  operator: 'is' | string;
@@ -1194,7 +1104,7 @@ export interface WhereRelationTag extends AstNode {
1194
1104
  export declare const WhereRelationTag = "WhereRelationTag";
1195
1105
  export declare function isWhereRelationTag(item: unknown): item is WhereRelationTag;
1196
1106
  export interface WildcardExpression extends AstNode {
1197
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | DirectedRelationExpression | DynamicViewPredicateIterator | ElementExpressionsIterator | ElementPredicateWhere | ElementPredicateWhereV2 | ElementPredicateWith | FqnExpressions | IncomingRelationExpr | IncomingRelationExpression | OutgoingRelationExpr | OutgoingRelationExpression | Predicates;
1107
+ readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
1198
1108
  readonly $type: 'WildcardExpression';
1199
1109
  isWildcard: boolean;
1200
1110
  }
@@ -1220,32 +1130,20 @@ export type LikeC4AstType = {
1220
1130
  DeploymentViewBody: DeploymentViewBody;
1221
1131
  DeploymentViewRule: DeploymentViewRule;
1222
1132
  DeploymentViewRulePredicate: DeploymentViewRulePredicate;
1223
- DeploymentViewRulePredicateExpression: DeploymentViewRulePredicateExpression;
1224
1133
  DeploymentViewRuleStyle: DeploymentViewRuleStyle;
1225
1134
  DirectedRelationExpr: DirectedRelationExpr;
1226
- DirectedRelationExpression: DirectedRelationExpression;
1227
1135
  DynamicView: DynamicView;
1228
1136
  DynamicViewBody: DynamicViewBody;
1229
1137
  DynamicViewGlobalPredicateRef: DynamicViewGlobalPredicateRef;
1230
1138
  DynamicViewIncludePredicate: DynamicViewIncludePredicate;
1231
1139
  DynamicViewParallelSteps: DynamicViewParallelSteps;
1232
- DynamicViewPredicateIterator: DynamicViewPredicateIterator;
1233
1140
  DynamicViewRef: DynamicViewRef;
1234
1141
  DynamicViewRule: DynamicViewRule;
1235
1142
  DynamicViewStep: DynamicViewStep;
1236
1143
  Element: Element;
1237
1144
  ElementBody: ElementBody;
1238
- ElementDescedantsExpression: ElementDescedantsExpression;
1239
- ElementExpression: ElementExpression;
1240
- ElementExpressionsIterator: ElementExpressionsIterator;
1241
1145
  ElementKind: ElementKind;
1242
1146
  ElementKindExpression: ElementKindExpression;
1243
- ElementPredicate: ElementPredicate;
1244
- ElementPredicateOrWhere: ElementPredicateOrWhere;
1245
- ElementPredicateOrWhereV2: ElementPredicateOrWhereV2;
1246
- ElementPredicateWhere: ElementPredicateWhere;
1247
- ElementPredicateWhereV2: ElementPredicateWhereV2;
1248
- ElementPredicateWith: ElementPredicateWith;
1249
1147
  ElementProperty: ElementProperty;
1250
1148
  ElementRef: ElementRef;
1251
1149
  ElementStringProperty: ElementStringProperty;
@@ -1254,15 +1152,18 @@ export type LikeC4AstType = {
1254
1152
  ElementView: ElementView;
1255
1153
  ElementViewBody: ElementViewBody;
1256
1154
  ElementViewRef: ElementViewRef;
1257
- ExcludePredicate: ExcludePredicate;
1258
- ExpandElementExpression: ExpandElementExpression;
1259
1155
  ExpressionV2: ExpressionV2;
1156
+ Expressions: Expressions;
1260
1157
  ExtendDeployment: ExtendDeployment;
1261
1158
  ExtendDeploymentBody: ExtendDeploymentBody;
1262
1159
  ExtendElement: ExtendElement;
1263
1160
  ExtendElementBody: ExtendElementBody;
1264
1161
  ExtendElementProperty: ExtendElementProperty;
1265
1162
  FqnExpr: FqnExpr;
1163
+ FqnExprOrWhere: FqnExprOrWhere;
1164
+ FqnExprOrWith: FqnExprOrWith;
1165
+ FqnExprWhere: FqnExprWhere;
1166
+ FqnExprWith: FqnExprWith;
1266
1167
  FqnExpressions: FqnExpressions;
1267
1168
  FqnRef: FqnRef;
1268
1169
  FqnRefExpr: FqnRefExpr;
@@ -1274,11 +1175,10 @@ export type LikeC4AstType = {
1274
1175
  GlobalStyleId: GlobalStyleId;
1275
1176
  Globals: Globals;
1276
1177
  IconProperty: IconProperty;
1178
+ Imported: Imported;
1179
+ ImportsFromPoject: ImportsFromPoject;
1277
1180
  InOutRelationExpr: InOutRelationExpr;
1278
- InOutRelationExpression: InOutRelationExpression;
1279
- IncludePredicate: IncludePredicate;
1280
1181
  IncomingRelationExpr: IncomingRelationExpr;
1281
- IncomingRelationExpression: IncomingRelationExpression;
1282
1182
  LibIcon: LibIcon;
1283
1183
  LikeC4Grammar: LikeC4Grammar;
1284
1184
  LikeC4Lib: LikeC4Lib;
@@ -1290,6 +1190,7 @@ export type LikeC4AstType = {
1290
1190
  MetadataProperty: MetadataProperty;
1291
1191
  Model: Model;
1292
1192
  ModelDeployments: ModelDeployments;
1193
+ ModelReferenceable: ModelReferenceable;
1293
1194
  ModelViews: ModelViews;
1294
1195
  MultipleProperty: MultipleProperty;
1295
1196
  NavigateToProperty: NavigateToProperty;
@@ -1297,22 +1198,16 @@ export type LikeC4AstType = {
1297
1198
  NotesProperty: NotesProperty;
1298
1199
  OpacityProperty: OpacityProperty;
1299
1200
  OutgoingRelationExpr: OutgoingRelationExpr;
1300
- OutgoingRelationExpression: OutgoingRelationExpression;
1301
1201
  PaddingSizeProperty: PaddingSizeProperty;
1302
- Predicate: Predicate;
1303
- Predicates: Predicates;
1304
1202
  Referenceable: Referenceable;
1305
1203
  Relation: Relation;
1306
1204
  RelationBody: RelationBody;
1307
1205
  RelationExpr: RelationExpr;
1308
- RelationExpression: RelationExpression;
1206
+ RelationExprOrWhere: RelationExprOrWhere;
1207
+ RelationExprOrWith: RelationExprOrWith;
1208
+ RelationExprWhere: RelationExprWhere;
1209
+ RelationExprWith: RelationExprWith;
1309
1210
  RelationNavigateToProperty: RelationNavigateToProperty;
1310
- RelationPredicate: RelationPredicate;
1311
- RelationPredicateOrWhere: RelationPredicateOrWhere;
1312
- RelationPredicateOrWhereV2: RelationPredicateOrWhereV2;
1313
- RelationPredicateWhere: RelationPredicateWhere;
1314
- RelationPredicateWhereV2: RelationPredicateWhereV2;
1315
- RelationPredicateWith: RelationPredicateWith;
1316
1211
  RelationProperty: RelationProperty;
1317
1212
  RelationStringProperty: RelationStringProperty;
1318
1213
  RelationStyleProperty: RelationStyleProperty;