@likec4/language-server 1.58.0 → 1.59.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.
@@ -1,12 +1,13 @@
1
+ import { t as __name } from "./rolldown-runtime.mjs";
1
2
  import { h as Locate, n as ChangeView, o as DidRequestOpenViewNotification } from "./protocol.mjs";
2
3
  import { DefaultWeakMap, MultiMap } from "@likec4/core/utils";
3
4
  import * as langium from "langium";
4
- import { AstNode, AstNodeDescription, AsyncDisposable, BuildOptions, Cancellation, CstNode, DefaultAstNodeDescriptionProvider, DefaultDocumentValidator, DefaultIndexManager, DefaultLangiumDocuments, DefaultNameProvider, DefaultScopeComputation, DefaultScopeProvider, DefaultValueConverter, DefaultWorkspaceManager, DiagnosticInfo, Disposable, FileSelector, FileSystemNode, FileSystemProvider, GrammarAST, JSDocDocumentationProvider, LangiumDocument, LangiumDocumentFactory, MaybePromise, Module, PrecomputedScopes, Reference, ReferenceDescription, ReferenceInfo, Scope, SimpleCache, Stream, URI, ValidationOptions, ValueType, WorkspaceCache } from "langium";
5
+ import { AstNode, AstNodeDescription, AsyncDisposable, BuildOptions, Cancellation, CstNode, DefaultDocumentValidator, DefaultIndexManager, DefaultLangiumDocuments, DefaultNameProvider, DefaultScopeComputation, DefaultScopeProvider, DefaultValueConverter, DefaultWorkspaceManager, DiagnosticInfo, Disposable, FileSystemNode, FileSystemProvider, GrammarAST, JSDocDocumentationProvider, LangiumDocument, LangiumDocumentFactory, MaybePromise, Module, PrecomputedScopes, Reference, ReferenceDescription, ReferenceInfo, Scope, SimpleCache, Stream, URI, ValidationOptions, ValueType, WorkspaceCache } from "langium";
5
6
  import * as c4 from "@likec4/core";
6
7
  import { ComputedView, DiagramView, LayoutType, LayoutedView, NonEmptyArray, NonEmptyReadonlyArray, ProjectId, Tag, UnknownComputed, UnknownLayouted, UnknownParsed, ViewChange, ViewId } from "@likec4/core";
7
- import { CompletionItemKind, Diagnostic, DocumentSymbol, FormattingOptions, Hover, Location, Range, SymbolKind, TextEdit } from "vscode-languageserver-types";
8
8
  import { IncludeConfig, LikeC4ProjectConfig, LikeC4ProjectConfigInput } from "@likec4/config";
9
- import { URI as URI$2 } from "vscode-uri";
9
+ import { URI as URI$1 } from "vscode-uri";
10
+ import { CompletionItemKind, Diagnostic, DocumentSymbol, FormattingOptions, Hover, Location, Range, SymbolKind, TextEdit } from "vscode-languageserver-types";
10
11
  import { AbstractFormatter, AbstractSemanticTokenProvider, AstNodeHoverProvider, CodeActionProvider, CodeLensProvider, CompletionAcceptor, CompletionContext, DefaultCompletionProvider, DefaultDocumentHighlightProvider, DefaultSharedModuleContext, DefaultWorkspaceSymbolProvider, DocumentLinkProvider, DocumentSymbolProvider, FormattingRegion, LangiumServices, LangiumSharedServices, NextFeature, NodeKindProvider, PartialLangiumServices, SemanticTokenAcceptor } from "langium/lsp";
11
12
  import { GraphvizLayouter, GraphvizPort, QueueGraphvizLayoter } from "@likec4/layouts";
12
13
  import { AdhocViewPredicate, LayoutedProjectsView as LayoutedProjectsView$1 } from "@likec4/core/compute-view";
@@ -16,10 +17,9 @@ import { CancellationToken, CodeLens, CodeLensParams, Connection, DocumentHighli
16
17
  import { CodeAction, CodeActionParams, Command } from "vscode-languageserver-protocol";
17
18
  import { Fqn as Fqn$1, GuardedBy, LayoutedView as LayoutedView$1, ProjectId as ProjectId$1, ViewId as ViewId$1 } from "@likec4/core/types";
18
19
  import { CancellationToken as CancellationToken$1 } from "vscode-jsonrpc";
19
- import * as type_fest0 from "type-fest";
20
+ import "unstorage";
20
21
  import { ConditionalPick, MergeExclusive, Simplify, Tagged, ValueOf, Writable } from "type-fest";
21
22
  import { AILayoutHints } from "@likec4/layouts/ai";
22
-
23
23
  //#region src/documentation/documentation-provider.d.ts
24
24
  /**
25
25
  * Provides documentation for LikeC4 AST nodes, extending JSDoc parsing
@@ -51,7 +51,7 @@ declare abstract class ADisposable implements Disposable {
51
51
  }
52
52
  //#endregion
53
53
  //#region src/generated/ast.d.ts
54
- type AnyProperty = DynamicViewProperty | ElementProperty | NavigateToProperty | NotationProperty | NotesProperty | RelationProperty | RelationshipStyleProperty | StringProperty | StyleProperty | ViewProperty;
54
+ type AnyProperty = DynamicViewProperty | ElementProperty | NavigateToProperty | RelationProperty | RelationshipStyleProperty | StringProperty | StyleProperty | ViewProperty;
55
55
  declare const AnyProperty = "AnyProperty";
56
56
  type ArrowType = 'crow' | 'diamond' | 'dot' | 'none' | 'normal' | 'odiamond' | 'odot' | 'onormal' | 'open' | 'vee';
57
57
  type BorderStyleValue = 'none' | LineOptions;
@@ -69,13 +69,13 @@ type DynamicViewProperty = DynamicViewDisplayVariantProperty | ViewProperty;
69
69
  declare const DynamicViewProperty = "DynamicViewProperty";
70
70
  type DynamicViewRule = DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleAutoLayout | ViewRuleStyleOrGlobalRef;
71
71
  declare const DynamicViewRule = "DynamicViewRule";
72
- type DynamicViewStep = DynamicStepChain | DynamicStepSingle;
73
- declare const DynamicViewStep = "DynamicViewStep";
74
72
  type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
75
73
  declare const ElementProperty = "ElementProperty";
76
74
  type ElementShape = 'browser' | 'bucket' | 'component' | 'cylinder' | 'document' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
77
75
  type ExpressionV2 = FqnExprOrWith | RelationExprOrWith;
78
76
  declare const ExpressionV2 = "ExpressionV2";
77
+ type ExtendElementOrRelation = ExtendElement | ExtendRelation;
78
+ declare const ExtendElementOrRelation = "ExtendElementOrRelation";
79
79
  type ExtendElementProperty = LinkProperty | MetadataProperty;
80
80
  declare const ExtendElementProperty = "ExtendElementProperty";
81
81
  type ExtendRelationProperty = LinkProperty | MetadataProperty;
@@ -99,6 +99,8 @@ type MetadataProperty = MetadataBody;
99
99
  declare const MetadataProperty = "MetadataProperty";
100
100
  type MetadataValue = MarkdownOrString | MetadataArray;
101
101
  declare const MetadataValue = "MetadataValue";
102
+ type ModelElement = Element | ExtendElementOrRelation | Relation;
103
+ declare const ModelElement = "ModelElement";
102
104
  type ModelReferenceable = Element | Imported;
103
105
  declare const ModelReferenceable = "ModelReferenceable";
104
106
  type Participant = 'source' | 'target';
@@ -118,11 +120,17 @@ declare const RelationshipStyleProperty = "RelationshipStyleProperty";
118
120
  type SizeProperty = IconSizeProperty | PaddingSizeProperty | ShapeSizeProperty | TextSizeProperty;
119
121
  declare const SizeProperty = "SizeProperty";
120
122
  type SizeValue = 'large' | 'lg' | 'md' | 'medium' | 'sm' | 'small' | 'xl' | 'xlarge' | 'xs' | 'xsmall';
123
+ type StepOrSeries = Step | StepSeries;
124
+ declare const StepOrSeries = "StepOrSeries";
125
+ type StepStatement = AltSteps | StepOrSeries | SubflowStep | TryStep;
126
+ declare const StepStatement = "StepStatement";
121
127
  type StringProperty = ElementStringProperty | MetadataAttribute | NotationProperty | NotesProperty | RelationStringProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty;
122
128
  declare const StringProperty = "StringProperty";
123
129
  type StyleProperty = BorderProperty | ColorProperty | IconColorProperty | IconPositionProperty | IconProperty | IconSizeProperty | MultipleProperty | OpacityProperty | PaddingSizeProperty | ShapeProperty | ShapeSizeProperty | TextSizeProperty;
124
130
  declare const StyleProperty = "StyleProperty";
125
131
  type ThemeColor = 'amber' | 'blue' | 'gray' | 'green' | 'indigo' | 'muted' | 'primary' | 'red' | 'secondary' | 'sky' | 'slate';
132
+ type TryStep = CatchBlock | FinallyBlock | TryBlock;
133
+ declare const TryStep = "TryStep";
126
134
  type Uri = string;
127
135
  type ViewLayoutDirection = 'BottomTop' | 'LeftRight' | 'RightLeft' | 'TopBottom';
128
136
  type ViewProperty = LinkProperty | ViewStringProperty;
@@ -147,16 +155,23 @@ type WhereRelationExpression = WhereBinaryExpression | WhereRelation | WhereRela
147
155
  declare const WhereRelationExpression = "WhereRelationExpression";
148
156
  type WhereTagEqual = WhereElementTag | WhereRelationParticipantTag | WhereRelationTag;
149
157
  declare const WhereTagEqual = "WhereTagEqual";
150
- interface AbstractDynamicStep extends langium.AstNode {
151
- readonly $container: DynamicStepChain | DynamicViewBody | DynamicViewParallelSteps;
152
- readonly $type: 'AbstractDynamicStep' | 'DynamicStepChain' | 'DynamicStepSingle';
158
+ interface AbstractStep extends langium.AstNode {
159
+ readonly $container: DynamicViewBody | StepSeries | StepsBlock;
160
+ readonly $type: 'AbstractStep' | 'Step' | 'StepSeries';
153
161
  custom?: CustomRelationProperties;
154
162
  dotKind?: RelationKindDotRef;
155
163
  kind?: langium.Reference<RelationshipKind>;
156
164
  target: ElementRef;
157
165
  title?: string;
158
166
  }
159
- declare const AbstractDynamicStep = "AbstractDynamicStep";
167
+ declare const AbstractStep = "AbstractStep";
168
+ interface AltSteps extends langium.AstNode {
169
+ readonly $container: DynamicViewBody | StepsBlock;
170
+ readonly $type: 'AltSteps';
171
+ branches: Array<SubflowStep>;
172
+ title?: string;
173
+ }
174
+ declare const AltSteps = "AltSteps";
160
175
  interface ArrowProperty extends langium.AstNode {
161
176
  readonly $container: CustomRelationProperties | RelationStyleProperty | SpecificationRelationshipKind;
162
177
  readonly $type: 'ArrowProperty';
@@ -171,6 +186,14 @@ interface BorderProperty extends langium.AstNode {
171
186
  value: BorderStyleValue;
172
187
  }
173
188
  declare const BorderProperty = "BorderProperty";
189
+ interface CatchBlock extends langium.AstNode {
190
+ readonly $container: DynamicViewBody | FinallyBlock | StepsBlock;
191
+ readonly $type: 'CatchBlock';
192
+ catch: StepsBlock;
193
+ title?: string;
194
+ try: TryBlock;
195
+ }
196
+ declare const CatchBlock = "CatchBlock";
174
197
  interface ColorProperty extends langium.AstNode {
175
198
  readonly $container: CustomElementProperties | CustomRelationProperties | DeploymentViewRuleStyle | ElementStyleProperty | GlobalStyle | RelationStyleProperty | SpecificationRelationshipKind | ViewRuleGroup | ViewRuleStyle;
176
199
  readonly $type: 'ColorProperty';
@@ -192,7 +215,7 @@ interface CustomElementProperties extends langium.AstNode {
192
215
  }
193
216
  declare const CustomElementProperties = "CustomElementProperties";
194
217
  interface CustomRelationProperties extends langium.AstNode {
195
- readonly $container: AbstractDynamicStep | RelationExprWith;
218
+ readonly $container: AbstractStep | RelationExprWith;
196
219
  readonly $type: 'CustomRelationProperties';
197
220
  props: Array<MultipleProperty | NotationProperty | NotesProperty | RelationNavigateToProperty | RelationStringProperty | RelationshipStyleProperty>;
198
221
  }
@@ -308,7 +331,7 @@ interface DynamicViewBody extends langium.AstNode {
308
331
  readonly $type: 'DynamicViewBody';
309
332
  props: Array<DynamicViewProperty>;
310
333
  rules: Array<DynamicViewRule>;
311
- steps: Array<DynamicViewParallelSteps | DynamicViewStep>;
334
+ steps: Array<StepStatement>;
312
335
  tags?: Tags;
313
336
  }
314
337
  declare const DynamicViewBody = "DynamicViewBody";
@@ -331,12 +354,6 @@ interface DynamicViewIncludePredicate extends langium.AstNode {
331
354
  exprs: Expressions;
332
355
  }
333
356
  declare const DynamicViewIncludePredicate = "DynamicViewIncludePredicate";
334
- interface DynamicViewParallelSteps extends langium.AstNode {
335
- readonly $container: DynamicViewBody | DynamicViewParallelSteps;
336
- readonly $type: 'DynamicViewParallelSteps';
337
- steps: Array<DynamicViewParallelSteps | DynamicViewStep>;
338
- }
339
- declare const DynamicViewParallelSteps = "DynamicViewParallelSteps";
340
357
  interface DynamicViewRef extends langium.AstNode {
341
358
  readonly $container: RelationNavigateToProperty;
342
359
  readonly $type: 'DynamicViewRef';
@@ -374,7 +391,7 @@ interface ElementKindExpression extends langium.AstNode {
374
391
  }
375
392
  declare const ElementKindExpression = "ElementKindExpression";
376
393
  interface ElementRef extends langium.AstNode {
377
- readonly $container: AbstractDynamicStep | DeployedInstance | DynamicStepSingle | ElementView;
394
+ readonly $container: AbstractStep | DeployedInstance | ElementView | Step;
378
395
  readonly $type: 'ElementRef';
379
396
  modelElement: FqnRef$2;
380
397
  }
@@ -478,6 +495,14 @@ interface ExtendRelationBody extends langium.AstNode {
478
495
  tags?: Tags;
479
496
  }
480
497
  declare const ExtendRelationBody = "ExtendRelationBody";
498
+ interface FinallyBlock extends langium.AstNode {
499
+ readonly $container: DynamicViewBody | StepsBlock;
500
+ readonly $type: 'FinallyBlock';
501
+ finally: StepsBlock;
502
+ title?: string;
503
+ tryCatch: CatchBlock | TryBlock;
504
+ }
505
+ declare const FinallyBlock = "FinallyBlock";
481
506
  interface FqnExpressions extends langium.AstNode {
482
507
  readonly $container: DeploymentViewRuleStyle | FqnExpressions | GlobalStyle | ViewRuleRank | ViewRuleStyle;
483
508
  readonly $type: 'FqnExpressions';
@@ -649,7 +674,7 @@ interface LineProperty extends langium.AstNode {
649
674
  }
650
675
  declare const LineProperty = "LineProperty";
651
676
  interface LinkProperty extends langium.AstNode {
652
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | ExtendRelationBody | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind;
677
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | ExtendRelationBody | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind | SpecificationRelationshipKind;
653
678
  readonly $type: 'LinkProperty';
654
679
  key: 'link';
655
680
  title?: string;
@@ -686,7 +711,7 @@ declare const MetadataBody = "MetadataBody";
686
711
  interface Model extends langium.AstNode {
687
712
  readonly $container: LikeC4Grammar;
688
713
  readonly $type: 'Model';
689
- elements: Array<Element | ExtendElement | ExtendRelation | Relation>;
714
+ elements: Array<ModelElement>;
690
715
  name: 'model';
691
716
  }
692
717
  declare const Model = "Model";
@@ -793,7 +818,7 @@ interface RelationExprWith extends langium.AstNode {
793
818
  }
794
819
  declare const RelationExprWith = "RelationExprWith";
795
820
  interface RelationKindDotRef extends langium.AstNode {
796
- readonly $container: AbstractDynamicStep | DeploymentRelation | ExtendRelation | OutgoingRelationExpr | Relation;
821
+ readonly $container: AbstractStep | DeploymentRelation | ExtendRelation | OutgoingRelationExpr | Relation;
797
822
  readonly $type: 'RelationKindDotRef';
798
823
  kind: langium.Reference<RelationshipKind>;
799
824
  }
@@ -882,13 +907,14 @@ interface SpecificationRelationshipKind extends langium.AstNode {
882
907
  readonly $container: SpecificationRule;
883
908
  readonly $type: 'SpecificationRelationshipKind';
884
909
  kind: RelationshipKind;
885
- props: Array<MultipleProperty | RelationshipStyleProperty | SpecificationRelationshipStringProperty>;
910
+ props: Array<LinkProperty | MultipleProperty | RelationshipStyleProperty | SpecificationRelationshipStringProperty>;
911
+ tags?: Tags;
886
912
  }
887
913
  declare const SpecificationRelationshipKind = "SpecificationRelationshipKind";
888
914
  interface SpecificationRelationshipStringProperty extends langium.AstNode {
889
915
  readonly $container: SpecificationRelationshipKind;
890
916
  readonly $type: 'SpecificationRelationshipStringProperty';
891
- key: 'notation' | 'technology';
917
+ key: 'description' | 'notation' | 'technology' | 'title';
892
918
  value: MarkdownOrString;
893
919
  }
894
920
  declare const SpecificationRelationshipStringProperty = "SpecificationRelationshipStringProperty";
@@ -910,6 +936,12 @@ interface SpecificationTag extends langium.AstNode {
910
936
  tag: Tag$1;
911
937
  }
912
938
  declare const SpecificationTag = "SpecificationTag";
939
+ interface StepsBlock extends langium.AstNode {
940
+ readonly $container: AltSteps | CatchBlock | DynamicViewBody | FinallyBlock | StepsBlock;
941
+ readonly $type: 'StepsBlock' | 'SubflowStep' | 'TryBlock';
942
+ steps: Array<StepStatement>;
943
+ }
944
+ declare const StepsBlock = "StepsBlock";
913
945
  interface StrictFqnElementRef extends langium.AstNode {
914
946
  readonly $container: ExtendElement | StrictFqnElementRef;
915
947
  readonly $type: 'StrictFqnElementRef';
@@ -937,7 +969,7 @@ interface TagRef extends langium.AstNode {
937
969
  }
938
970
  declare const TagRef = "TagRef";
939
971
  interface Tags extends langium.AstNode {
940
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | ExtendRelationBody | Relation | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind | Tags;
972
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | ExtendRelationBody | Relation | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind | SpecificationRelationshipKind | Tags;
941
973
  readonly $type: 'Tags';
942
974
  prev?: Tags;
943
975
  values: Array<TagRef>;
@@ -1123,24 +1155,47 @@ interface WildcardExpression extends langium.AstNode {
1123
1155
  isWildcard: boolean;
1124
1156
  }
1125
1157
  declare const WildcardExpression = "WildcardExpression";
1126
- interface DynamicStepChain extends AbstractDynamicStep {
1127
- readonly $container: DynamicStepChain | DynamicViewBody | DynamicViewParallelSteps;
1128
- readonly $type: 'DynamicStepChain';
1129
- source: DynamicStepChain | DynamicStepSingle;
1130
- }
1131
- declare const DynamicStepChain = "DynamicStepChain";
1132
- interface DynamicStepSingle extends AbstractDynamicStep {
1133
- readonly $container: DynamicStepChain | DynamicViewBody | DynamicViewParallelSteps;
1134
- readonly $type: 'DynamicStepSingle';
1158
+ /**
1159
+ * A single step in a dynamic view flow
1160
+ * source -> target
1161
+ */
1162
+ interface Step extends AbstractStep {
1163
+ readonly $container: DynamicViewBody | StepSeries | StepsBlock;
1164
+ readonly $type: 'Step';
1135
1165
  isBackward: boolean;
1136
1166
  source: ElementRef;
1137
1167
  }
1138
- declare const DynamicStepSingle = "DynamicStepSingle";
1168
+ declare const Step = "Step";
1169
+ /**
1170
+ * A series of steps in a dynamic view flow
1171
+ * source -> target1 -> target2 -> ...
1172
+ */
1173
+ interface StepSeries extends AbstractStep {
1174
+ readonly $container: DynamicViewBody | StepSeries | StepsBlock;
1175
+ readonly $type: 'StepSeries';
1176
+ source: Step | StepSeries;
1177
+ }
1178
+ declare const StepSeries = "StepSeries";
1179
+ interface SubflowStep extends StepsBlock {
1180
+ readonly $container: AltSteps | DynamicViewBody | StepsBlock;
1181
+ readonly $type: 'SubflowStep';
1182
+ kind: 'break' | 'else' | 'if' | 'loop' | 'opt' | 'par' | 'parallel' | 'when';
1183
+ title?: string;
1184
+ }
1185
+ declare const SubflowStep = "SubflowStep";
1186
+ interface TryBlock extends StepsBlock {
1187
+ readonly $container: CatchBlock | DynamicViewBody | FinallyBlock | StepsBlock;
1188
+ readonly $type: 'TryBlock';
1189
+ title?: string;
1190
+ }
1191
+ declare const TryBlock = "TryBlock";
1139
1192
  type LikeC4AstType = {
1140
- AbstractDynamicStep: AbstractDynamicStep;
1193
+ AbstractStep: AbstractStep;
1194
+ AltSteps: AltSteps;
1141
1195
  AnyProperty: AnyProperty;
1142
1196
  ArrowProperty: ArrowProperty;
1143
1197
  BorderProperty: BorderProperty;
1198
+ CatchBlock: CatchBlock;
1144
1199
  ColorLiteral: ColorLiteral$1;
1145
1200
  ColorProperty: ColorProperty;
1146
1201
  CustomColor: CustomColor;
@@ -1161,18 +1216,14 @@ type LikeC4AstType = {
1161
1216
  DeploymentViewRulePredicate: DeploymentViewRulePredicate;
1162
1217
  DeploymentViewRuleStyle: DeploymentViewRuleStyle;
1163
1218
  DirectedRelationExpr: DirectedRelationExpr;
1164
- DynamicStepChain: DynamicStepChain;
1165
- DynamicStepSingle: DynamicStepSingle;
1166
1219
  DynamicView: DynamicView;
1167
1220
  DynamicViewBody: DynamicViewBody;
1168
1221
  DynamicViewDisplayVariantProperty: DynamicViewDisplayVariantProperty;
1169
1222
  DynamicViewGlobalPredicateRef: DynamicViewGlobalPredicateRef;
1170
1223
  DynamicViewIncludePredicate: DynamicViewIncludePredicate;
1171
- DynamicViewParallelSteps: DynamicViewParallelSteps;
1172
1224
  DynamicViewProperty: DynamicViewProperty;
1173
1225
  DynamicViewRef: DynamicViewRef;
1174
1226
  DynamicViewRule: DynamicViewRule;
1175
- DynamicViewStep: DynamicViewStep;
1176
1227
  Element: Element;
1177
1228
  ElementBody: ElementBody;
1178
1229
  ElementKind: ElementKind;
@@ -1191,10 +1242,12 @@ type LikeC4AstType = {
1191
1242
  ExtendDeploymentBody: ExtendDeploymentBody;
1192
1243
  ExtendElement: ExtendElement;
1193
1244
  ExtendElementBody: ExtendElementBody;
1245
+ ExtendElementOrRelation: ExtendElementOrRelation;
1194
1246
  ExtendElementProperty: ExtendElementProperty;
1195
1247
  ExtendRelation: ExtendRelation;
1196
1248
  ExtendRelationBody: ExtendRelationBody;
1197
1249
  ExtendRelationProperty: ExtendRelationProperty;
1250
+ FinallyBlock: FinallyBlock;
1198
1251
  FqnExpr: FqnExpr$2;
1199
1252
  FqnExprOrWhere: FqnExprOrWhere;
1200
1253
  FqnExprOrWith: FqnExprOrWith;
@@ -1233,6 +1286,7 @@ type LikeC4AstType = {
1233
1286
  MetadataValue: MetadataValue;
1234
1287
  Model: Model;
1235
1288
  ModelDeployments: ModelDeployments;
1289
+ ModelElement: ModelElement;
1236
1290
  ModelReferenceable: ModelReferenceable;
1237
1291
  ModelViews: ModelViews;
1238
1292
  MultipleProperty: MultipleProperty;
@@ -1269,14 +1323,22 @@ type LikeC4AstType = {
1269
1323
  SpecificationRelationshipStringProperty: SpecificationRelationshipStringProperty;
1270
1324
  SpecificationRule: SpecificationRule;
1271
1325
  SpecificationTag: SpecificationTag;
1326
+ Step: Step;
1327
+ StepOrSeries: StepOrSeries;
1328
+ StepSeries: StepSeries;
1329
+ StepStatement: StepStatement;
1330
+ StepsBlock: StepsBlock;
1272
1331
  StrictFqnElementRef: StrictFqnElementRef;
1273
1332
  StrictFqnRef: StrictFqnRef;
1274
1333
  StringProperty: StringProperty;
1275
1334
  StyleProperty: StyleProperty;
1335
+ SubflowStep: SubflowStep;
1276
1336
  Tag: Tag$1;
1277
1337
  TagRef: TagRef;
1278
1338
  Tags: Tags;
1279
1339
  TextSizeProperty: TextSizeProperty;
1340
+ TryBlock: TryBlock;
1341
+ TryStep: TryStep;
1280
1342
  ViewProperty: ViewProperty;
1281
1343
  ViewRef: ViewRef;
1282
1344
  ViewRule: ViewRule;
@@ -1383,15 +1445,7 @@ interface ParsedAstSpecification {
1383
1445
  color?: c4.ColorLiteral;
1384
1446
  }>;
1385
1447
  elements: Record<c4.ElementKind, c4.ElementSpecification>;
1386
- relationships: Record<c4.RelationshipKind, {
1387
- technology?: string;
1388
- notation?: string;
1389
- color?: c4.Color;
1390
- line?: c4.RelationshipLineType;
1391
- head?: c4.RelationshipArrowType;
1392
- tail?: c4.RelationshipArrowType;
1393
- multiple?: boolean;
1394
- }>;
1448
+ relationships: Record<c4.RelationshipKind, c4.RelationshipSpecification>;
1395
1449
  colors: Record<c4.CustomColor, {
1396
1450
  color: c4.ColorLiteral;
1397
1451
  }>;
@@ -1479,7 +1533,7 @@ interface ParsedAstDynamicView {
1479
1533
  description: c4.MarkdownOrString | null;
1480
1534
  tags: c4.NonEmptyArray<c4.Tag> | null;
1481
1535
  links: c4.NonEmptyArray<c4.Link> | null;
1482
- steps: c4.DynamicViewStep[];
1536
+ steps: c4.Step.Any[];
1483
1537
  rules: Array<c4.DynamicViewRule>;
1484
1538
  variant: c4.DynamicViewDisplayVariant | undefined;
1485
1539
  }
@@ -1643,6 +1697,7 @@ declare class ProjectsManager extends ADisposable {
1643
1697
  * If the document does not belong to any project, returns the default project ID.
1644
1698
  */
1645
1699
  ownerProjectId(document: LangiumDocument | URI | string): ProjectId$1;
1700
+ protected findOwnerProject(uri: NormalizedUri): ProjectData | undefined;
1646
1701
  /**
1647
1702
  * Returns path to the document relative to the project folder.
1648
1703
  * If the document does not belong to any project, returns the document URI as string.
@@ -1656,7 +1711,7 @@ declare class ProjectsManager extends ADisposable {
1656
1711
  reloadProjects(cancelToken?: Cancellation.CancellationToken): Promise<void>;
1657
1712
  protected _reloadProjects(cancelToken?: Cancellation.CancellationToken): Promise<void>;
1658
1713
  protected uniqueProjectId(name: string): ProjectId$1;
1659
- protected resetCaches(): void;
1714
+ clearCaches(): void;
1660
1715
  rebuildProject(projectId: ProjectId$1, cancelToken?: Cancellation.CancellationToken): Promise<void>;
1661
1716
  /**
1662
1717
  * Returns all include paths from all projects.
@@ -1842,6 +1897,7 @@ declare class LikeC4Formatter extends AbstractFormatter {
1842
1897
  protected formatWhereElementExpression(node: AstNode): void;
1843
1898
  protected formatIncludeExcludeExpressions(node: AstNode): void;
1844
1899
  protected formatRelationExpression(node: AstNode): void;
1900
+ protected formatSteps(node: AstNode): void;
1845
1901
  private findPredicateExpressionRoot;
1846
1902
  private on;
1847
1903
  private doExtendedFormatting;
@@ -1917,10 +1973,10 @@ declare class LangiumDocuments extends DefaultLangiumDocuments {
1917
1973
  declare class LikeC4WorkspaceManager extends DefaultWorkspaceManager {
1918
1974
  #private;
1919
1975
  private services;
1920
- protected readonly documentFactory: LangiumDocumentFactory;
1921
1976
  protected readonly fileSystemProvider: FileSystemProvider$1;
1922
1977
  initialBuildOptions: BuildOptions;
1923
1978
  constructor(services: LikeC4SharedServices);
1979
+ protected get documentFactory(): LangiumDocumentFactory;
1924
1980
  /**
1925
1981
  * Whether the workspace is ready, use {@link ready} promise to wait for it
1926
1982
  */
@@ -1930,23 +1986,14 @@ declare class LikeC4WorkspaceManager extends DefaultWorkspaceManager {
1930
1986
  */
1931
1987
  protected performStartup(folders: WorkspaceFolder[]): Promise<LangiumDocument[]>;
1932
1988
  /**
1933
- * Load all additional documents that shall be visible in the context of the given workspace
1934
- * folders and add them to the collector. This can be used to include built-in libraries of
1935
- * your language, which can be either loaded from provided files or constructed in memory.
1936
- */
1937
- protected loadAdditionalDocuments(folders: WorkspaceFolder[], collector: (document: LangiumDocument) => void): Promise<void>;
1938
- /**
1939
- * Traverse the file system folder identified by the given URI and its subfolders. All
1940
- * contained files that match the file extensions are added to the collector.
1989
+ * Scans all include paths (from all projects) and returns found likec4 files
1941
1990
  */
1942
- protected traverseFolder(workspaceFolder: WorkspaceFolder, folderPath: URI$2, selector: FileSelector, collector: (document: LangiumDocument) => void): Promise<void>;
1943
- /**
1944
- * Determine whether the given folder entry shall be included while indexing the workspace.
1945
- */
1946
- protected includeEntry(_: WorkspaceFolder, entry: FileSystemNode, selector: FileSelector): boolean;
1991
+ protected scanProjectIncludePaths(): Promise<FileSystemNode[]>;
1992
+ protected loadDocuments(files: FileSystemNode[]): Promise<LangiumDocument[]>;
1993
+ protected saveAddDocument(document: LangiumDocument): void;
1947
1994
  workspace(): WorkspaceFolder | null;
1948
1995
  rebuildAll(cancelToken?: Cancellation.CancellationToken): Promise<void>;
1949
- get workspaceUri(): URI$2;
1996
+ get workspaceUri(): URI$1;
1950
1997
  get workspaceURL(): URL;
1951
1998
  /**
1952
1999
  * Force clean all caches
@@ -1965,23 +2012,17 @@ declare class LikeC4WorkspaceManager extends DefaultWorkspaceManager {
1965
2012
  //#endregion
1966
2013
  //#region src/references/scope-provider.d.ts
1967
2014
  declare class LikeC4ScopeProvider extends DefaultScopeProvider {
1968
- protected deploymentsIndex: DeploymentsIndex;
1969
- protected fqnIndex: FqnIndex;
2015
+ protected services: LikeC4Services;
1970
2016
  protected readonly indexManager: IndexManager;
1971
2017
  constructor(services: LikeC4Services);
2018
+ protected get fqnIndex(): FqnIndex;
2019
+ protected get deploymentsIndex(): DeploymentsIndex;
1972
2020
  getScope(context: ReferenceInfo): Scope;
1973
2021
  protected genUniqueDescedants(element: Element | DeploymentNode | undefined): Generator<AstNodeDescriptionWithFqn, void, any>;
1974
- protected genScopeExtendElement({
1975
- element
1976
- }: ExtendElement): Generator<AstNodeDescription>;
1977
- protected genScopeElementView({
1978
- viewOf,
1979
- extends: ext
1980
- }: ElementView): Generator<AstNodeDescription>;
2022
+ protected genScopeExtendElement({ element }: ExtendElement): Generator<AstNodeDescription>;
2023
+ protected genScopeElementView({ viewOf, extends: ext }: ElementView): Generator<AstNodeDescription>;
1981
2024
  protected getScopeForStrictFqnRef(projectId: ProjectId, container: StrictFqnRef, context: ReferenceInfo): Scope;
1982
- protected genScopeExtendDeployment({
1983
- deploymentNode
1984
- }: ExtendDeployment): Generator<AstNodeDescription>;
2025
+ protected genScopeExtendDeployment({ deploymentNode }: ExtendDeployment): Generator<AstNodeDescription>;
1985
2026
  protected streamForFqnRef(projectId: ProjectId, container: FqnRef$2, context: ReferenceInfo): Stream<AstNodeDescription>;
1986
2027
  protected genScopeForParentlessFqnRef(projectId: ProjectId, container: FqnRef$2, context: ReferenceInfo): Generator<AstNodeDescription>;
1987
2028
  /**
@@ -2048,17 +2089,14 @@ declare class DocumentFqnIndex {
2048
2089
  /**
2049
2090
  * direct children of elements
2050
2091
  */
2051
-
2052
2092
  _children: MultiMap<Fqn$1, AstNodeDescriptionWithFqn>,
2053
2093
  /**
2054
2094
  * All descendants of an element (unique by name)
2055
2095
  */
2056
-
2057
2096
  _descendants: MultiMap<Fqn$1, AstNodeDescriptionWithFqn>,
2058
2097
  /**
2059
2098
  * All elements by FQN
2060
2099
  */
2061
-
2062
2100
  _byfqn: MultiMap<Fqn$1, AstNodeDescriptionWithFqn>, projectId: ProjectId$1);
2063
2101
  rootElements(): readonly AstNodeDescriptionWithFqn[];
2064
2102
  byFqn(fqn: Fqn$1): readonly AstNodeDescriptionWithFqn[];
@@ -2095,30 +2133,11 @@ declare class MergedSpecification {
2095
2133
  /**
2096
2134
  * Converts a parsed model into a C4 model element.
2097
2135
  */
2098
- toModelElement: ({
2099
- tags,
2100
- links,
2101
- style,
2102
- id,
2103
- kind,
2104
- title,
2105
- description,
2106
- technology,
2107
- summary,
2108
- metadata
2109
- }: ParsedAstElement) => c4.Element | null;
2136
+ toModelElement: ({ tags, links, style, id, kind, title, description, technology, summary, metadata }: ParsedAstElement) => c4.Element | null;
2110
2137
  /**
2111
2138
  * Converts a parsed model into a C4 model relation.
2112
2139
  */
2113
- toModelRelation: ({
2114
- astPath: _astPath,
2115
- source,
2116
- target,
2117
- kind,
2118
- links,
2119
- id,
2120
- ...model
2121
- }: ParsedAstRelation) => c4.Relationship | null;
2140
+ toModelRelation: ({ astPath: _astPath, source, target, kind, links, id, title, tags, ...model }: ParsedAstRelation) => c4.Relationship | null;
2122
2141
  /**
2123
2142
  * Converts a parsed deployment model into a C4 deployment model
2124
2143
  */
@@ -2126,15 +2145,7 @@ declare class MergedSpecification {
2126
2145
  /**
2127
2146
  * Converts a parsed deployment relation into a C4 deployment relation.
2128
2147
  */
2129
- toDeploymentRelation: ({
2130
- astPath: _astPath,
2131
- source,
2132
- target,
2133
- kind,
2134
- links,
2135
- id,
2136
- ...model
2137
- }: ParsedAstDeploymentRelation) => c4.DeploymentRelationship | null;
2148
+ toDeploymentRelation: ({ astPath: _astPath, source, target, kind, links, id, tags, ...model }: ParsedAstDeploymentRelation) => c4.DeploymentRelationship | null;
2138
2149
  }
2139
2150
  //#endregion
2140
2151
  //#region src/model/last-seen-artifacts.d.ts
@@ -2244,7 +2255,7 @@ declare class LikeC4ModelLocator {
2244
2255
  *
2245
2256
  * If the document does not belong to any project, it will return null.
2246
2257
  */
2247
- locateDocumentTags(documentUri: URI$2, cancelToken?: Cancellation.CancellationToken): Promise<null | Array<{
2258
+ locateDocumentTags(documentUri: URI$1, cancelToken?: Cancellation.CancellationToken): Promise<null | Array<{
2248
2259
  name: Tag;
2249
2260
  color: c4.ColorLiteral;
2250
2261
  range: Range;
@@ -2277,7 +2288,8 @@ type LayoutViewParams = {
2277
2288
  */
2278
2289
  layoutType?: LayoutType | undefined;
2279
2290
  projectId?: ProjectId | undefined;
2280
- cancelToken?: CancellationToken | undefined; /** Optional AI-generated layout hints */
2291
+ cancelToken?: CancellationToken | undefined;
2292
+ /** Optional AI-generated layout hints */
2281
2293
  layoutHints?: AILayoutHints | undefined;
2282
2294
  };
2283
2295
  interface LikeC4Views extends Disposable {
@@ -2370,14 +2382,7 @@ type ConfigureLanguageServerLoggerOptions = {
2370
2382
  */
2371
2383
  colors?: boolean;
2372
2384
  };
2373
- declare function configureLanguageServerLogger({
2374
- lspConnection: connection,
2375
- enableTelemetry,
2376
- useStdErr,
2377
- logLevel: lowestLevel,
2378
- nonBlocking,
2379
- colors
2380
- }?: ConfigureLanguageServerLoggerOptions): void;
2385
+ declare function configureLanguageServerLogger({ lspConnection: connection, enableTelemetry, useStdErr, logLevel: lowestLevel, nonBlocking, colors }?: ConfigureLanguageServerLoggerOptions): void;
2381
2386
  //#endregion
2382
2387
  //#region src/index.d.ts
2383
2388
  interface StartLanguageServerOptions {
@@ -2433,7 +2438,7 @@ declare class BaseParser {
2433
2438
  constructor(services: LikeC4Services, doc: ParsedLikeC4LangiumDocument, project: Project);
2434
2439
  logError(error: unknown, astNode?: AstNode | Reference<AstNode>, level?: ParserLevel): void;
2435
2440
  tryParse<N extends AstNode, T>(level: ParserLevel, node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2436
- tryMap<N extends AstNode, T>(level: ParserLevel, iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2441
+ tryMap<N extends AstNode, T>(level: ParserLevel, iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
2437
2442
  resolveFqn(node: FqnReferenceable): c4.Fqn;
2438
2443
  getAstNodePath(node: AstNode): string;
2439
2444
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
@@ -2499,13 +2504,17 @@ declare const DocumentParserFromMixins: {
2499
2504
  parseDynamicElementView(astNode: DynamicView, additionalStyles: any[]): ParsedAstDynamicView;
2500
2505
  parseDynamicViewRule(astRule: DynamicViewRule): ProjectId;
2501
2506
  parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): ProjectId;
2502
- parseDynamicParallelSteps(node: DynamicViewParallelSteps): ProjectId;
2503
- parseDynamicStep(node: DynamicViewStep): ProjectId | ProjectId;
2504
- recursiveParseDynamicStepChain(node: DynamicStepChain, callstack?: Array<[source: ProjectId, target: ProjectId]>): ProjectId[];
2505
- parseDynamicStepSingle(node: DynamicStepSingle): ProjectId;
2506
- parseAbstractDynamicStep(astnode: AbstractDynamicStep): type_fest0.Writable<type_fest0.Except<ProjectId, "source", {
2507
+ parseSteps(nodes: StepStatement[]): ProjectId[];
2508
+ parseStepStatement(node: StepStatement): ProjectId;
2509
+ parseStepSeries(node: StepSeries): ProjectId;
2510
+ recursiveParseStepSeries(node: StepSeries, callstack?: Array<[source: ProjectId, target: ProjectId]>): ProjectId[];
2511
+ parseStep(node: Step): ProjectId;
2512
+ parseAbstractDynamicStep(astnode: AbstractStep): import("type-fest").Writable<import("type-fest").Except<ProjectId, "source", {
2507
2513
  requireExactProps: true;
2508
2514
  }>>;
2515
+ parseSubflowStep(node: SubflowStep): ProjectId | ProjectId | ProjectId | ProjectId;
2516
+ parseTryStep(node: TryStep): ProjectId;
2517
+ parseAltSteps(node: AltSteps): ProjectId;
2509
2518
  parsePredicate(astNode: ExpressionV2): ProjectId;
2510
2519
  parseElementPredicate(astNode: FqnExprOrWith): ProjectId;
2511
2520
  parseElementPredicateOrWhere(astNode: FqnExprOrWhere): ProjectId;
@@ -2528,7 +2537,7 @@ declare const DocumentParserFromMixins: {
2528
2537
  parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2529
2538
  parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2530
2539
  parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2531
- parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2540
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): import("type-fest").Except<ProjectId["customRelation"], "expr">;
2532
2541
  parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2533
2542
  parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2534
2543
  parseRelationExpr(astNode: RelationExpr$1): ProjectId;
@@ -2540,11 +2549,11 @@ declare const DocumentParserFromMixins: {
2540
2549
  readonly services: LikeC4Services;
2541
2550
  readonly doc: ParsedLikeC4LangiumDocument;
2542
2551
  readonly project: Project;
2543
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2544
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2545
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2552
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2553
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2554
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
2546
2555
  resolveFqn(node: FqnReferenceable): ProjectId;
2547
- getAstNodePath(node: langium.AstNode): string;
2556
+ getAstNodePath(node: import("langium").AstNode): string;
2548
2557
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
2549
2558
  [key: string]: string | string[];
2550
2559
  } | undefined;
@@ -2604,13 +2613,17 @@ declare const DocumentParserFromMixins: {
2604
2613
  parseDynamicElementView(astNode: DynamicView, additionalStyles: any[]): ParsedAstDynamicView;
2605
2614
  parseDynamicViewRule(astRule: DynamicViewRule): ProjectId;
2606
2615
  parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): ProjectId;
2607
- parseDynamicParallelSteps(node: DynamicViewParallelSteps): ProjectId;
2608
- parseDynamicStep(node: DynamicViewStep): ProjectId | ProjectId;
2609
- recursiveParseDynamicStepChain(node: DynamicStepChain, callstack?: Array<[source: ProjectId, target: ProjectId]>): ProjectId[];
2610
- parseDynamicStepSingle(node: DynamicStepSingle): ProjectId;
2611
- parseAbstractDynamicStep(astnode: AbstractDynamicStep): type_fest0.Writable<type_fest0.Except<ProjectId, "source", {
2616
+ parseSteps(nodes: StepStatement[]): ProjectId[];
2617
+ parseStepStatement(node: StepStatement): ProjectId;
2618
+ parseStepSeries(node: StepSeries): ProjectId;
2619
+ recursiveParseStepSeries(node: StepSeries, callstack?: Array<[source: ProjectId, target: ProjectId]>): ProjectId[];
2620
+ parseStep(node: Step): ProjectId;
2621
+ parseAbstractDynamicStep(astnode: AbstractStep): import("type-fest").Writable<import("type-fest").Except<ProjectId, "source", {
2612
2622
  requireExactProps: true;
2613
2623
  }>>;
2624
+ parseSubflowStep(node: SubflowStep): ProjectId | ProjectId | ProjectId | ProjectId;
2625
+ parseTryStep(node: TryStep): ProjectId;
2626
+ parseAltSteps(node: AltSteps): ProjectId;
2614
2627
  parsePredicate(astNode: ExpressionV2): ProjectId;
2615
2628
  parseElementPredicate(astNode: FqnExprOrWith): ProjectId;
2616
2629
  parseElementPredicateOrWhere(astNode: FqnExprOrWhere): ProjectId;
@@ -2633,7 +2646,7 @@ declare const DocumentParserFromMixins: {
2633
2646
  parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2634
2647
  parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2635
2648
  parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2636
- parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2649
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): import("type-fest").Except<ProjectId["customRelation"], "expr">;
2637
2650
  parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2638
2651
  parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2639
2652
  parseRelationExpr(astNode: RelationExpr$1): ProjectId;
@@ -2645,11 +2658,11 @@ declare const DocumentParserFromMixins: {
2645
2658
  readonly services: LikeC4Services;
2646
2659
  readonly doc: ParsedLikeC4LangiumDocument;
2647
2660
  readonly project: Project;
2648
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2649
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2650
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2661
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2662
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2663
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
2651
2664
  resolveFqn(node: FqnReferenceable): ProjectId;
2652
- getAstNodePath(node: langium.AstNode): string;
2665
+ getAstNodePath(node: import("langium").AstNode): string;
2653
2666
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
2654
2667
  [key: string]: string | string[];
2655
2668
  } | undefined;
@@ -2705,11 +2718,11 @@ declare const DocumentParserFromMixins: {
2705
2718
  readonly services: LikeC4Services;
2706
2719
  readonly doc: ParsedLikeC4LangiumDocument;
2707
2720
  readonly project: Project;
2708
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2709
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2710
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2721
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2722
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2723
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
2711
2724
  resolveFqn(node: FqnReferenceable): ProjectId;
2712
- getAstNodePath(node: langium.AstNode): string;
2725
+ getAstNodePath(node: import("langium").AstNode): string;
2713
2726
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
2714
2727
  [key: string]: string | string[];
2715
2728
  } | undefined;
@@ -2768,7 +2781,7 @@ declare const DocumentParserFromMixins: {
2768
2781
  parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2769
2782
  parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2770
2783
  parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2771
- parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2784
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): import("type-fest").Except<ProjectId["customRelation"], "expr">;
2772
2785
  parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2773
2786
  parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2774
2787
  parseRelationExpr(astNode: RelationExpr$1): ProjectId;
@@ -2780,11 +2793,11 @@ declare const DocumentParserFromMixins: {
2780
2793
  readonly services: LikeC4Services;
2781
2794
  readonly doc: ParsedLikeC4LangiumDocument;
2782
2795
  readonly project: Project;
2783
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2784
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2785
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2796
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2797
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2798
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
2786
2799
  resolveFqn(node: FqnReferenceable): ProjectId;
2787
- getAstNodePath(node: langium.AstNode): string;
2800
+ getAstNodePath(node: import("langium").AstNode): string;
2788
2801
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
2789
2802
  [key: string]: string | string[];
2790
2803
  } | undefined;
@@ -2836,7 +2849,7 @@ declare const DocumentParserFromMixins: {
2836
2849
  parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2837
2850
  parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2838
2851
  parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2839
- parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2852
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): import("type-fest").Except<ProjectId["customRelation"], "expr">;
2840
2853
  parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2841
2854
  parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2842
2855
  parseRelationExpr(astNode: RelationExpr$1): ProjectId;
@@ -2848,11 +2861,11 @@ declare const DocumentParserFromMixins: {
2848
2861
  readonly services: LikeC4Services;
2849
2862
  readonly doc: ParsedLikeC4LangiumDocument;
2850
2863
  readonly project: Project;
2851
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2852
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2853
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2864
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2865
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2866
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
2854
2867
  resolveFqn(node: FqnReferenceable): ProjectId;
2855
- getAstNodePath(node: langium.AstNode): string;
2868
+ getAstNodePath(node: import("langium").AstNode): string;
2856
2869
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
2857
2870
  [key: string]: string | string[];
2858
2871
  } | undefined;
@@ -2912,7 +2925,7 @@ declare const DocumentParserFromMixins: {
2912
2925
  parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2913
2926
  parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2914
2927
  parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2915
- parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2928
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): import("type-fest").Except<ProjectId["customRelation"], "expr">;
2916
2929
  parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2917
2930
  parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2918
2931
  parseRelationExpr(astNode: RelationExpr$1): ProjectId;
@@ -2924,11 +2937,11 @@ declare const DocumentParserFromMixins: {
2924
2937
  readonly services: LikeC4Services;
2925
2938
  readonly doc: ParsedLikeC4LangiumDocument;
2926
2939
  readonly project: Project;
2927
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2928
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2929
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
2940
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2941
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2942
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
2930
2943
  resolveFqn(node: FqnReferenceable): ProjectId;
2931
- getAstNodePath(node: langium.AstNode): string;
2944
+ getAstNodePath(node: import("langium").AstNode): string;
2932
2945
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
2933
2946
  [key: string]: string | string[];
2934
2947
  } | undefined;
@@ -2982,7 +2995,7 @@ declare const DocumentParserFromMixins: {
2982
2995
  parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
2983
2996
  parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
2984
2997
  parseRelationExprWith(astNode: RelationExprWith): ProjectId;
2985
- parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
2998
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): import("type-fest").Except<ProjectId["customRelation"], "expr">;
2986
2999
  parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
2987
3000
  parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
2988
3001
  parseRelationExpr(astNode: RelationExpr$1): ProjectId;
@@ -2994,11 +3007,11 @@ declare const DocumentParserFromMixins: {
2994
3007
  readonly services: LikeC4Services;
2995
3008
  readonly doc: ParsedLikeC4LangiumDocument;
2996
3009
  readonly project: Project;
2997
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
2998
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
2999
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
3010
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
3011
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
3012
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
3000
3013
  resolveFqn(node: FqnReferenceable): ProjectId;
3001
- getAstNodePath(node: langium.AstNode): string;
3014
+ getAstNodePath(node: import("langium").AstNode): string;
3002
3015
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
3003
3016
  [key: string]: string | string[];
3004
3017
  } | undefined;
@@ -3042,11 +3055,11 @@ declare const DocumentParserFromMixins: {
3042
3055
  readonly services: LikeC4Services;
3043
3056
  readonly doc: ParsedLikeC4LangiumDocument;
3044
3057
  readonly project: Project;
3045
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
3046
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
3047
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
3058
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
3059
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
3060
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
3048
3061
  resolveFqn(node: FqnReferenceable): ProjectId;
3049
- getAstNodePath(node: langium.AstNode): string;
3062
+ getAstNodePath(node: import("langium").AstNode): string;
3050
3063
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
3051
3064
  [key: string]: string | string[];
3052
3065
  } | undefined;
@@ -3094,7 +3107,7 @@ declare const DocumentParserFromMixins: {
3094
3107
  parseFqnExpressions(astNode: FqnExpressions): ProjectId[];
3095
3108
  parseRelationExprOrWith(astNode: RelationExprOrWith): ProjectId;
3096
3109
  parseRelationExprWith(astNode: RelationExprWith): ProjectId;
3097
- parseCustomRelationProperties(custom: CustomRelationProperties | undefined): type_fest0.Except<ProjectId["customRelation"], "expr">;
3110
+ parseCustomRelationProperties(custom: CustomRelationProperties | undefined): import("type-fest").Except<ProjectId["customRelation"], "expr">;
3098
3111
  parseRelationExprOrWhere(astNode: RelationExprOrWhere): ProjectId;
3099
3112
  parseRelationExprWhere(astNode: RelationExprWhere): ProjectId;
3100
3113
  parseRelationExpr(astNode: RelationExpr$1): ProjectId;
@@ -3106,11 +3119,11 @@ declare const DocumentParserFromMixins: {
3106
3119
  readonly services: LikeC4Services;
3107
3120
  readonly doc: ParsedLikeC4LangiumDocument;
3108
3121
  readonly project: Project;
3109
- logError(error: unknown, astNode?: langium.AstNode | langium.Reference<langium.AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
3110
- tryParse<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
3111
- tryMap<N extends langium.AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N) => T | undefined): T[];
3122
+ logError(error: unknown, astNode?: import("langium").AstNode | import("langium").Reference<import("langium").AstNode>, level?: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification"): void;
3123
+ tryParse<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", node: N | undefined, fn: (node: NoInfer<N>) => T | undefined): T | undefined;
3124
+ tryMap<N extends import("langium").AstNode, T>(level: "base" | "model" | "deployment" | "fqnref" | "relation" | "views" | "globals" | "imports" | "specification", iterable: ReadonlyArray<N>, fn: (node: N, index: number) => T | undefined): T[];
3112
3125
  resolveFqn(node: FqnReferenceable): ProjectId;
3113
- getAstNodePath(node: langium.AstNode): string;
3126
+ getAstNodePath(node: import("langium").AstNode): string;
3114
3127
  getMetadata(metadataAstNode: MetadataProperty | undefined): {
3115
3128
  [key: string]: string | string[];
3116
3129
  } | undefined;
@@ -3168,10 +3181,7 @@ declare class LikeC4ModelChanges {
3168
3181
  private locator;
3169
3182
  constructor(services: LikeC4Services);
3170
3183
  applyChange(changeView: ChangeView.Params): Promise<ChangeView.Res>;
3171
- protected convertToTextEdit({
3172
- lookup,
3173
- change
3174
- }: {
3184
+ protected convertToTextEdit({ lookup, change }: {
3175
3185
  lookup: ViewLocateResult;
3176
3186
  change: Exclude<ViewChange, ViewChange.SaveViewSnapshot | ViewChange.ResetManualLayout | ViewChange.ChangeProperty>;
3177
3187
  }): {
@@ -3332,7 +3342,7 @@ declare class LikeC4DocumentSymbolProvider implements DocumentSymbolProvider {
3332
3342
  protected getSpecSymbol(astSpec: SpecificationRule): DocumentSymbol[];
3333
3343
  protected getModelSymbol(astModel: Model): DocumentSymbol[];
3334
3344
  protected getDeploymentModelSymbol(astModel: ModelDeployments): DocumentSymbol[];
3335
- protected getElementsSymbol(el: Element | Relation | ExtendElement, parentFqn?: string): DocumentSymbol[];
3345
+ protected getElementsSymbol(el: Element | Relation | ExtendElement, _parentFqn?: string): DocumentSymbol[];
3336
3346
  protected getExtendElementSymbol(astElement: ExtendElement): DocumentSymbol[];
3337
3347
  protected getElementSymbol(astElement: Element): DocumentSymbol[];
3338
3348
  protected getModelViewsSymbol(astViews: ModelViews): DocumentSymbol[];