likec4 1.31.0 → 1.32.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.
package/dist/index.d.mts CHANGED
@@ -1,9 +1,10 @@
1
- import { LikeC4Model } from '@likec4/core/model';
2
- export { AnyAux, Aux, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel } from '@likec4/core/model';
3
- import { DiagramView } from '@likec4/core/types';
4
- export { AbstractRelation, AutoLayoutDirection, BBox, Color, ComputedDeploymentView, ComputedDynamicView, ComputedEdge, ComputedElementView, ComputedLikeC4ModelData, ComputedNode, ComputedView, DeployedInstance, DeploymentElement, DeploymentNode, DeploymentNodeKind, DeploymentRelation, DeploymentView, DiagramEdge, DiagramNode, DiagramView, DynamicView, EdgeId, Element, ElementKind, ElementView, Fqn, HexColorLiteral, LayoutedLikeC4ModelData, LikeC4View, NodeId, ParsedLikeC4ModelData, Point, RelationExpr, RelationId, StepEdgeId, Tag, ThemeColor, ViewId, XYPoint } from '@likec4/core/types';
5
- import { W as WorkspaceFolder, a as LikeC4Services, G as GraphvizLayouter, L as LikeC4LanguageServices, b as LikeC4Views, R as Range } from './shared/likec4.BaUvDeNQ.mjs';
1
+ import { W as WorkspaceFolder, a as LikeC4Services, G as GraphvizLayouter, L as LikeC4LanguageServices, b as LikeC4Views, R as Range } from './shared/likec4.8nZi1RFs.mjs';
6
2
  import { ProjectId, NonEmptyArray } from '@likec4/core';
3
+ import { DiagramView } from '@likec4/core/types';
4
+ export * from '@likec4/core/types';
5
+ import { LikeC4Model } from '@likec4/core/model';
6
+ export { Connection, ConnectionModel, DeployedInstanceModel, DeploymentConnectionModel, DeploymentElementModel, DeploymentNodeModel, DeploymentRelationModel, EdgeModel, ElementModel, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel, NodeModel, RelationshipModel, deploymentConnection, differenceConnections, findAscendingConnections, findDeepestNestedConnection, findDescendantConnections, hasSameSource, hasSameSourceTarget, hasSameTarget, isAnyInOut, isDeployedInstanceModel, isDeploymentElementModel, isDeploymentNodeModel, isDeploymentRelationModel, isEdgeModel, isElementModel, isIncoming, isLikeC4ViewModel, isNestedConnection, isNestedElementOfDeployedInstanceModel, isNodeModel, isOutgoing, isRelationModel, mergeConnections, modelConnection, sortConnectionsByBoundaryHierarchy, sortDeepestFirst } from '@likec4/core/model';
7
+ export { UnknownLayouted, createLikeC4Model } from './model/index.mjs';
7
8
  import 'type-fest';
8
9
  import '/home/runner/work/likec4/likec4/node_modules/.pnpm/@types+picomatch@4.0.0/node_modules/@types/picomatch/posix.d.ts';
9
10
  import '@likec4/core/utils';
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export{LikeC4DeploymentModel,LikeC4Model,LikeC4ViewModel}from"@likec4/core/model";import"@likec4/core/types";export{L as LikeC4}from"./shared/likec4.CJIOuLMn.mjs";import"node:fs";import"node:path";import"node:url";import"tty";import"node:util";import"util";import"path";import"os";import"crypto";import"net";import"url";import"fs";import"child_process";import"@likec4/core";import"events";import"buffer";import"@hpcc-js/wasm-graphviz";import"@likec4/core/compute-view";import"@likec4/core/utils";import"node:process";
2
- import"boxen";import"node:child_process";import"node:events";import"node:fs/promises";import"node:stream/promises";import"node:readline/promises";import"node:os";import"fs/promises";
1
+ export{L as LikeC4}from"./shared/likec4.CouFKCvO.mjs";export{LikeC4Model}from"@likec4/core/model";import"node:fs";import"node:path";import"node:url";import"tty";import"node:util";import"util";import"path";import"os";import"crypto";import"net";import"url";import"fs";import"child_process";import"@likec4/core";import"@likec4/core/types";import"events";import"buffer";import"@hpcc-js/wasm-graphviz";import"@likec4/core/compute-view";import"@likec4/core/utils";import"node:process";import"boxen";import"node:child_process";
2
+ import"node:events";import"node:fs/promises";import"node:stream/promises";import"node:readline/promises";import"node:os";import"fs/promises";
@@ -1,10 +1,12 @@
1
1
  import { LikeC4Model } from '@likec4/core/model';
2
- export { AnyAux, Aux, Connection, ConnectionModel, DeployedInstanceModel, DeploymentConnectionModel, DeploymentElementModel, DeploymentNodeModel, DeploymentRelationModel, EdgeModel, ElementModel, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel, NodeModel, RelationshipModel, deploymentConnection, differenceConnections, findAscendingConnections, findDeepestNestedConnection, findDescendantConnections, hasSameSource, hasSameSourceTarget, hasSameTarget, isAnyInOut, isDeployedInstance, isDeploymentNode, isIncoming, isNestedConnection, isOutgoing, mergeConnections, modelConnection, sortConnectionsByBoundaryHierarchy, sortDeepestFirst } from '@likec4/core/model';
3
- export { AbstractRelation, AnyParsedLikeC4ModelData, AutoLayoutDirection, BBox, Color, ComputedDeploymentView, ComputedDynamicView, ComputedEdge, ComputedElementView, ComputedLikeC4ModelData, ComputedNode, ComputedView, DeployedInstance, DeploymentElement, DeploymentNode, DeploymentNodeKind, DeploymentRelation, DeploymentView, DiagramEdge, DiagramNode, DiagramView, DynamicView, EdgeId, Element, ElementKind, ElementView, Fqn, HexColorLiteral, LayoutedLikeC4ModelData, LikeC4View, NodeId, OverviewGraph, ParsedLikeC4ModelData, Point, RelationExpr, RelationId, StepEdgeId, Tag, ThemeColor, ViewId, WhereOperator, XYPoint, isDeploymentView, isElementView, isScopedElementView, isStepEdgeId } from '@likec4/core/types';
2
+ export { Connection, ConnectionModel, DeployedInstanceModel, DeploymentConnectionModel, DeploymentElementModel, DeploymentNodeModel, DeploymentRelationModel, EdgeModel, ElementModel, LikeC4DeploymentModel, LikeC4Model, LikeC4ViewModel, NodeModel, RelationshipModel, deploymentConnection, differenceConnections, findAscendingConnections, findDeepestNestedConnection, findDescendantConnections, hasSameSource, hasSameSourceTarget, hasSameTarget, isAnyInOut, isDeployedInstanceModel, isDeploymentElementModel, isDeploymentNodeModel, isDeploymentRelationModel, isEdgeModel, isElementModel, isIncoming, isLikeC4ViewModel, isNestedConnection, isNestedElementOfDeployedInstanceModel, isNodeModel, isOutgoing, isRelationModel, mergeConnections, modelConnection, sortConnectionsByBoundaryHierarchy, sortDeepestFirst } from '@likec4/core/model';
3
+ import { Aux, SpecAux } from '@likec4/core/types';
4
+ export * from '@likec4/core/types';
4
5
 
6
+ type UnknownLayouted = Aux<'layouted', string, string, string, string, SpecAux<string, string, string, string, string>>;
5
7
  /**
6
8
  * Used by vite plugin to generate `virtual:likec4/model`
7
9
  */
8
- declare function createLikeC4Model(model: any): LikeC4Model.Layouted;
10
+ declare function createLikeC4Model(model: any): LikeC4Model<UnknownLayouted>;
9
11
 
10
- export { createLikeC4Model };
12
+ export { type UnknownLayouted, createLikeC4Model };
@@ -1,2 +1,2 @@
1
- import{LikeC4Model as o}from"@likec4/core/model";export{Connection,ConnectionModel,DeployedInstanceModel,DeploymentConnectionModel,DeploymentNodeModel,DeploymentRelationModel,EdgeModel,ElementModel,LikeC4DeploymentModel,LikeC4Model,LikeC4ViewModel,NodeModel,RelationshipModel,deploymentConnection,differenceConnections,findAscendingConnections,findDeepestNestedConnection,findDescendantConnections,hasSameSource,hasSameSourceTarget,hasSameTarget,isAnyInOut,isDeployedInstance,isDeploymentNode,isIncoming,
2
- isNestedConnection,isOutgoing,mergeConnections,modelConnection,sortConnectionsByBoundaryHierarchy,sortDeepestFirst}from"@likec4/core/model";export{ComputedNode,ComputedView,DiagramNode,isDeploymentView,isElementView,isScopedElementView,isStepEdgeId}from"@likec4/core/types";function n(e){return o.create(e)}export{n as createLikeC4Model};
1
+ import{LikeC4Model as o}from"@likec4/core/model";export{Connection,ConnectionModel,DeployedInstanceModel,DeploymentConnectionModel,DeploymentNodeModel,DeploymentRelationModel,EdgeModel,ElementModel,LikeC4DeploymentModel,LikeC4Model,LikeC4ViewModel,NodeModel,RelationshipModel,deploymentConnection,differenceConnections,findAscendingConnections,findDeepestNestedConnection,findDescendantConnections,hasSameSource,hasSameSourceTarget,hasSameTarget,isAnyInOut,isDeployedInstanceModel,isDeploymentElementModel,
2
+ isDeploymentNodeModel,isDeploymentRelationModel,isEdgeModel,isElementModel,isIncoming,isLikeC4ViewModel,isNestedConnection,isNestedElementOfDeployedInstanceModel,isNodeModel,isOutgoing,isRelationModel,mergeConnections,modelConnection,sortConnectionsByBoundaryHierarchy,sortDeepestFirst}from"@likec4/core/model";function n(e){return o.create(e)}export{n as createLikeC4Model};
@@ -1,6 +1,7 @@
1
1
  import * as c4 from '@likec4/core';
2
- import { Fqn, EdgeId, ComputedView, DiagramView, OverviewGraph, MultiMap as MultiMap$1, ProjectId, NonEmptyArray, NonEmptyReadonlyArray, LikeC4Model, ViewId, RelationId, ViewChange } from '@likec4/core';
2
+ import { Fqn, EdgeId, AnyAux, ComputedView, Specification, DiagramView, MultiMap as MultiMap$1, ProjectId, NonEmptyArray, NonEmptyReadonlyArray, ViewId, RelationId, DeploymentFqn, ViewChange } from '@likec4/core';
3
3
  import { Tagged, ValueOf, ConditionalPick, Writable, Simplify, MergeExclusive } from 'type-fest';
4
+ import { LikeC4Model } from '@likec4/core/model';
4
5
  import picomatch from '/home/runner/work/likec4/likec4/node_modules/.pnpm/@types+picomatch@4.0.0/node_modules/@types/picomatch/posix.d.ts';
5
6
  import { ProjectId as ProjectId$1, Fqn as Fqn$1 } from '@likec4/core/types';
6
7
  import { DefaultWeakMap, MultiMap as MultiMap$2 } from '@likec4/core/utils';
@@ -12059,11 +12060,16 @@ declare namespace GraphvizJson {
12059
12060
  }
12060
12061
 
12061
12062
  interface GraphvizPort {
12063
+ get concurrency(): number;
12062
12064
  unflatten(dot: DotSource): Promise<DotSource>;
12063
12065
  acyclic(dot: DotSource): Promise<DotSource>;
12064
12066
  layoutJson(dot: DotSource): Promise<string>;
12065
12067
  svg(dot: DotSource): Promise<string>;
12066
12068
  }
12069
+ type Params<A extends AnyAux = AnyAux> = {
12070
+ view: ComputedView<A>;
12071
+ specification: Specification<A>;
12072
+ };
12067
12073
  type LayoutResult = {
12068
12074
  dot: DotSource;
12069
12075
  diagram: DiagramView;
@@ -12074,13 +12080,12 @@ declare class GraphvizLayouter {
12074
12080
  get port(): GraphvizPort;
12075
12081
  changePort(graphviz: GraphvizPort): void;
12076
12082
  dotToJson(dot: DotSource): Promise<GraphvizJson>;
12077
- layout(view: ComputedView): Promise<LayoutResult>;
12078
- svg(view: ComputedView): Promise<{
12083
+ layout<A extends AnyAux>(params: Params<A>): Promise<LayoutResult>;
12084
+ svg<A extends AnyAux>(params: Params<A>): Promise<{
12079
12085
  svg: string;
12080
12086
  dot: DotSource;
12081
12087
  }>;
12082
- dot(computedView: ComputedView): Promise<DotSource>;
12083
- layoutOverviewGraph(views: ComputedView[]): Promise<OverviewGraph>;
12088
+ dot<A extends AnyAux>(params: Params<A>): Promise<DotSource>;
12084
12089
  }
12085
12090
 
12086
12091
  interface WorkDoneProgressReporter {
@@ -15772,6 +15777,7 @@ interface DeploymentRelation extends AstNode {
15772
15777
  readonly $container: DeployedInstanceBody | DeploymentNodeBody | ExtendDeploymentBody | ModelDeployments;
15773
15778
  readonly $type: 'DeploymentRelation';
15774
15779
  body?: DeploymentRelationBody;
15780
+ dotKind?: RelationKindDotRef;
15775
15781
  kind?: Reference<RelationshipKind>;
15776
15782
  source?: FqnRef;
15777
15783
  tags?: Tags;
@@ -15867,6 +15873,7 @@ interface DynamicViewStep extends AstNode {
15867
15873
  readonly $container: DynamicViewBody | DynamicViewParallelSteps;
15868
15874
  readonly $type: 'DynamicViewStep';
15869
15875
  custom?: CustomRelationProperties;
15876
+ dotKind?: RelationKindDotRef;
15870
15877
  isBackward: boolean;
15871
15878
  kind?: Reference<RelationshipKind>;
15872
15879
  source: ElementRef;
@@ -15901,7 +15908,7 @@ interface ElementKindExpression extends AstNode {
15901
15908
  readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
15902
15909
  readonly $type: 'ElementKindExpression';
15903
15910
  isEqual: boolean;
15904
- kind?: Reference<ElementKind>;
15911
+ kind: Reference<ElementKind>;
15905
15912
  }
15906
15913
  declare const ElementKindExpression = "ElementKindExpression";
15907
15914
  interface ElementRef extends AstNode {
@@ -15928,7 +15935,7 @@ interface ElementTagExpression extends AstNode {
15928
15935
  readonly $container: DirectedRelationExpr | Expressions | FqnExprWhere | FqnExprWith | FqnExpressions | IncomingRelationExpr | OutgoingRelationExpr;
15929
15936
  readonly $type: 'ElementTagExpression';
15930
15937
  isEqual: boolean;
15931
- tag?: Reference<Tag>;
15938
+ tag: TagRef;
15932
15939
  }
15933
15940
  declare const ElementTagExpression = "ElementTagExpression";
15934
15941
  interface ElementView extends AstNode {
@@ -16214,6 +16221,7 @@ declare const OpacityProperty = "OpacityProperty";
16214
16221
  interface OutgoingRelationExpr extends AstNode {
16215
16222
  readonly $container: DirectedRelationExpr | Expressions | RelationExprWhere | RelationExprWith;
16216
16223
  readonly $type: 'OutgoingRelationExpr';
16224
+ dotKind?: RelationKindDotRef;
16217
16225
  from: FqnExpr;
16218
16226
  isBidirectional: boolean;
16219
16227
  kind?: Reference<RelationshipKind>;
@@ -16230,6 +16238,7 @@ interface Relation extends AstNode {
16230
16238
  readonly $container: ElementBody | ExtendElementBody | Model;
16231
16239
  readonly $type: 'Relation';
16232
16240
  body?: RelationBody;
16241
+ dotKind?: RelationKindDotRef;
16233
16242
  kind?: Reference<RelationshipKind>;
16234
16243
  source?: FqnRef;
16235
16244
  tags?: Tags;
@@ -16259,6 +16268,12 @@ interface RelationExprWith extends AstNode {
16259
16268
  subject: RelationExprOrWhere;
16260
16269
  }
16261
16270
  declare const RelationExprWith = "RelationExprWith";
16271
+ interface RelationKindDotRef extends AstNode {
16272
+ readonly $container: DeploymentRelation | DynamicViewStep | OutgoingRelationExpr | Relation;
16273
+ readonly $type: 'RelationKindDotRef';
16274
+ kind: Reference<RelationshipKind>;
16275
+ }
16276
+ declare const RelationKindDotRef = "RelationKindDotRef";
16262
16277
  interface RelationNavigateToProperty extends AstNode {
16263
16278
  readonly $container: CustomRelationProperties | DeploymentRelationBody | RelationBody;
16264
16279
  readonly $type: 'RelationNavigateToProperty';
@@ -16312,6 +16327,7 @@ interface SpecificationDeploymentNodeKind extends AstNode {
16312
16327
  readonly $type: 'SpecificationDeploymentNodeKind';
16313
16328
  kind: DeploymentNodeKind;
16314
16329
  props: Array<ElementStyleProperty | SpecificationElementStringProperty>;
16330
+ tags?: Tags;
16315
16331
  }
16316
16332
  declare const SpecificationDeploymentNodeKind = "SpecificationDeploymentNodeKind";
16317
16333
  interface SpecificationElementKind extends AstNode {
@@ -16319,6 +16335,7 @@ interface SpecificationElementKind extends AstNode {
16319
16335
  readonly $type: 'SpecificationElementKind';
16320
16336
  kind: ElementKind;
16321
16337
  props: Array<ElementStyleProperty | SpecificationElementStringProperty>;
16338
+ tags?: Tags;
16322
16339
  }
16323
16340
  declare const SpecificationElementKind = "SpecificationElementKind";
16324
16341
  interface SpecificationElementStringProperty extends AstNode {
@@ -16356,6 +16373,7 @@ declare const SpecificationRule = "SpecificationRule";
16356
16373
  interface SpecificationTag extends AstNode {
16357
16374
  readonly $container: SpecificationRule;
16358
16375
  readonly $type: 'SpecificationTag';
16376
+ color?: CustomColorValue;
16359
16377
  tag: Tag;
16360
16378
  }
16361
16379
  declare const SpecificationTag = "SpecificationTag";
@@ -16379,11 +16397,17 @@ interface Tag extends AstNode {
16379
16397
  name: Id;
16380
16398
  }
16381
16399
  declare const Tag = "Tag";
16400
+ interface TagRef extends AstNode {
16401
+ readonly $container: ElementTagExpression | Tags | WhereElementTag | WhereRelationParticipantTag | WhereRelationTag;
16402
+ readonly $type: 'TagRef';
16403
+ tag: Reference<Tag>;
16404
+ }
16405
+ declare const TagRef = "TagRef";
16382
16406
  interface Tags extends AstNode {
16383
- readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | Relation | RelationBody | Tags;
16407
+ readonly $container: DeployedInstanceBody | DeploymentNodeBody | DeploymentRelation | DeploymentRelationBody | DeploymentViewBody | DynamicViewBody | ElementBody | ElementViewBody | ExtendDeploymentBody | ExtendElementBody | Relation | RelationBody | SpecificationDeploymentNodeKind | SpecificationElementKind | Tags;
16384
16408
  readonly $type: 'Tags';
16385
16409
  prev?: Tags;
16386
- values: Array<Reference<Tag>>;
16410
+ values: Array<TagRef>;
16387
16411
  }
16388
16412
  declare const Tags = "Tags";
16389
16413
  interface TextSizeProperty extends AstNode {
@@ -16461,7 +16485,7 @@ interface WhereElementKind extends AstNode {
16461
16485
  readonly $type: 'WhereElementKind';
16462
16486
  not: boolean;
16463
16487
  operator: 'is' | string;
16464
- value?: Reference<DeploymentNodeOrElementKind>;
16488
+ value: Reference<DeploymentNodeOrElementKind>;
16465
16489
  }
16466
16490
  declare const WhereElementKind = "WhereElementKind";
16467
16491
  interface WhereElementNegation extends AstNode {
@@ -16475,7 +16499,7 @@ interface WhereElementTag extends AstNode {
16475
16499
  readonly $type: 'WhereElementTag';
16476
16500
  not: boolean;
16477
16501
  operator: 'is' | string;
16478
- value?: Reference<Tag>;
16502
+ value: TagRef;
16479
16503
  }
16480
16504
  declare const WhereElementTag = "WhereElementTag";
16481
16505
  interface WhereRelationKind extends AstNode {
@@ -16483,7 +16507,7 @@ interface WhereRelationKind extends AstNode {
16483
16507
  readonly $type: 'WhereRelationKind';
16484
16508
  not: boolean;
16485
16509
  operator: 'is' | string;
16486
- value?: Reference<RelationshipKind>;
16510
+ value: Reference<RelationshipKind>;
16487
16511
  }
16488
16512
  declare const WhereRelationKind = "WhereRelationKind";
16489
16513
  interface WhereRelationNegation extends AstNode {
@@ -16498,7 +16522,7 @@ interface WhereRelationParticipantKind extends AstNode {
16498
16522
  not: boolean;
16499
16523
  operator: 'is' | string;
16500
16524
  participant: Participant;
16501
- value?: Reference<DeploymentNodeOrElementKind>;
16525
+ value: Reference<DeploymentNodeOrElementKind>;
16502
16526
  }
16503
16527
  declare const WhereRelationParticipantKind = "WhereRelationParticipantKind";
16504
16528
  interface WhereRelationParticipantTag extends AstNode {
@@ -16507,7 +16531,7 @@ interface WhereRelationParticipantTag extends AstNode {
16507
16531
  not: boolean;
16508
16532
  operator: 'is' | string;
16509
16533
  participant: Participant;
16510
- value?: Reference<Tag>;
16534
+ value: TagRef;
16511
16535
  }
16512
16536
  declare const WhereRelationParticipantTag = "WhereRelationParticipantTag";
16513
16537
  interface WhereRelationTag extends AstNode {
@@ -16515,7 +16539,7 @@ interface WhereRelationTag extends AstNode {
16515
16539
  readonly $type: 'WhereRelationTag';
16516
16540
  not: boolean;
16517
16541
  operator: 'is' | string;
16518
- value?: Reference<Tag>;
16542
+ value: TagRef;
16519
16543
  }
16520
16544
  declare const WhereRelationTag = "WhereRelationTag";
16521
16545
  interface WildcardExpression extends AstNode {
@@ -16621,6 +16645,7 @@ type LikeC4AstType = {
16621
16645
  RelationExprOrWith: RelationExprOrWith;
16622
16646
  RelationExprWhere: RelationExprWhere;
16623
16647
  RelationExprWith: RelationExprWith;
16648
+ RelationKindDotRef: RelationKindDotRef;
16624
16649
  RelationNavigateToProperty: RelationNavigateToProperty;
16625
16650
  RelationProperty: RelationProperty;
16626
16651
  RelationStringProperty: RelationStringProperty;
@@ -16643,6 +16668,7 @@ type LikeC4AstType = {
16643
16668
  StringProperty: StringProperty;
16644
16669
  StyleProperty: StyleProperty;
16645
16670
  Tag: Tag;
16671
+ TagRef: TagRef;
16646
16672
  Tags: Tags;
16647
16673
  TextSizeProperty: TextSizeProperty;
16648
16674
  ViewProperty: ViewProperty;
@@ -16727,12 +16753,11 @@ type ParsedElementStyle = {
16727
16753
  textSize?: c4.TextSize;
16728
16754
  };
16729
16755
  interface ParsedAstSpecification {
16730
- tags: Set<c4.Tag>;
16731
- elements: Record<c4.ElementKind, {
16732
- technology?: string;
16733
- notation?: string;
16734
- style: ParsedElementStyle;
16756
+ tags: Record<c4.Tag, {
16757
+ astPath: string;
16758
+ color?: c4.ColorLiteral;
16735
16759
  }>;
16760
+ elements: Record<c4.ElementKind, c4.ElementSpecification>;
16736
16761
  relationships: Record<c4.RelationshipKind, {
16737
16762
  technology?: string;
16738
16763
  notation?: string;
@@ -16742,9 +16767,9 @@ interface ParsedAstSpecification {
16742
16767
  tail?: c4.RelationshipArrowType;
16743
16768
  }>;
16744
16769
  colors: Record<c4.CustomColor, {
16745
- color: c4.HexColorLiteral;
16770
+ color: c4.ColorLiteral;
16746
16771
  }>;
16747
- deployments: Record<c4.DeploymentNodeKind, c4.DeploymentNodeKindSpecification>;
16772
+ deployments: Record<c4.DeploymentKind, c4.ElementSpecification>;
16748
16773
  }
16749
16774
  interface ParsedAstElement {
16750
16775
  id: c4.Fqn;
@@ -16772,8 +16797,8 @@ interface ParsedAstExtend {
16772
16797
  interface ParsedAstRelation {
16773
16798
  id: c4.RelationId;
16774
16799
  astPath: string;
16775
- source: c4.FqnRef.ModelRef | c4.FqnRef.ImportRef;
16776
- target: c4.FqnRef.ModelRef | c4.FqnRef.ImportRef;
16800
+ source: c4.FqnRef.ModelRef;
16801
+ target: c4.FqnRef.ModelRef;
16777
16802
  kind?: c4.RelationshipKind;
16778
16803
  tags?: c4.NonEmptyArray<c4.Tag>;
16779
16804
  title: string;
@@ -16793,15 +16818,14 @@ type ParsedAstDeployment = Simplify<MergeExclusive<ParsedAstDeployment.Node, Par
16793
16818
  declare namespace ParsedAstDeployment {
16794
16819
  type Node = c4.DeploymentNode;
16795
16820
  type Instance = Omit<c4.DeployedInstance, 'element'> & {
16796
- readonly element: c4.FqnRef.ModelRef | c4.FqnRef.ImportRef;
16821
+ readonly element: c4.FqnRef.ModelRef;
16797
16822
  };
16798
16823
  }
16799
- type ParsedAstDeploymentRelation = c4.DeploymentRelation & {
16824
+ type ParsedAstDeploymentRelation = c4.DeploymentRelationship & {
16800
16825
  astPath: string;
16801
16826
  };
16802
16827
  type ParsedAstGlobals = Writable<c4.ModelGlobals>;
16803
16828
  interface ParsedAstElementView {
16804
- __: 'element';
16805
16829
  id: c4.ViewId;
16806
16830
  viewOf?: c4.Fqn;
16807
16831
  extends?: c4.ViewId;
@@ -16810,11 +16834,10 @@ interface ParsedAstElementView {
16810
16834
  description: string | null;
16811
16835
  tags: c4.NonEmptyArray<c4.Tag> | null;
16812
16836
  links: c4.NonEmptyArray<c4.Link> | null;
16813
- rules: c4.ViewRule[];
16837
+ rules: c4.ElementViewRule[];
16814
16838
  manualLayout?: c4.ViewManualLayout;
16815
16839
  }
16816
16840
  interface ParsedAstDynamicView {
16817
- __: 'dynamic';
16818
16841
  id: c4.ViewId;
16819
16842
  astPath: string;
16820
16843
  title: string | null;
@@ -16826,7 +16849,6 @@ interface ParsedAstDynamicView {
16826
16849
  manualLayout?: c4.ViewManualLayout;
16827
16850
  }
16828
16851
  interface ParsedAstDeploymentView {
16829
- __: 'deployment';
16830
16852
  id: c4.ViewId;
16831
16853
  astPath: string;
16832
16854
  title: string | null;
@@ -17093,7 +17115,7 @@ declare class DeploymentsIndex extends FqnIndex<DeploymentElement> {
17093
17115
 
17094
17116
  type ModelParsedListener = (docs: URI[]) => void;
17095
17117
  interface LikeC4ModelBuilder {
17096
- parseModel(projectId?: c4.ProjectId | undefined, cancelToken?: CancellationToken): Promise<c4.ParsedLikeC4ModelData | null>;
17118
+ parseModel(projectId?: c4.ProjectId | undefined, cancelToken?: CancellationToken): Promise<LikeC4Model.Parsed | null>;
17097
17119
  unsafeSyncBuildModel(projectId: c4.ProjectId): LikeC4Model.Computed;
17098
17120
  buildLikeC4Model(projectId?: c4.ProjectId | undefined, cancelToken?: CancellationToken): Promise<LikeC4Model.Computed>;
17099
17121
  computeView(viewId: ViewId, projectId?: c4.ProjectId | undefined, cancelToken?: CancellationToken): Promise<c4.ComputedView | null>;
@@ -17111,7 +17133,7 @@ declare class LikeC4ModelLocator {
17111
17133
  private documents;
17112
17134
  getParsedElement(...args: [Element] | [c4.Fqn] | [c4.Fqn, c4.ProjectId]): ParsedAstElement | null;
17113
17135
  locateElement(fqn: c4.Fqn, projectId?: c4.ProjectId | undefined): Location | null;
17114
- locateDeploymentElement(fqn: c4.Fqn, projectId?: c4.ProjectId | undefined): Location | null;
17136
+ locateDeploymentElement(deploymentFqn: c4.DeploymentFqn, projectId?: c4.ProjectId | undefined): Location | null;
17115
17137
  locateRelation(relationId: c4.RelationId, projectId?: c4.ProjectId): Location | null;
17116
17138
  locateViewAst(viewId: c4.ViewId, projectId?: c4.ProjectId | undefined): null | {
17117
17139
  doc: ParsedLikeC4LangiumDocument;
@@ -17119,6 +17141,12 @@ declare class LikeC4ModelLocator {
17119
17141
  viewAst: LikeC4View;
17120
17142
  };
17121
17143
  locateView(viewId: c4.ViewId, projectId?: c4.ProjectId): Location | null;
17144
+ locateDocumentTags(documentUri: URI, cancelToken?: CancellationToken): Promise<Array<{
17145
+ name: string;
17146
+ color: string;
17147
+ range: Range$1;
17148
+ isSpecification: boolean;
17149
+ }>>;
17122
17150
  }
17123
17151
 
17124
17152
  declare class BaseParser {
@@ -17157,16 +17185,15 @@ declare const DocumentParserFromMixins: {
17157
17185
  parseGlobalDynamicPredicateGroup(astRule: GlobalDynamicPredicateGroup): ProjectId[];
17158
17186
  parseGlobalStyleOrGroup(astRule: GlobalStyle | GlobalStyleGroup): ProjectId[];
17159
17187
  parseViews(): void;
17160
- parseElementView(astNode: ElementView, additionalStyles: ProjectId[]): ParsedAstElementView;
17161
- parseViewRule(astRule: ViewRule): ProjectId;
17188
+ parseElementView(astNode: ElementView, additionalStyles: any[]): ParsedAstElementView;
17189
+ parseElementViewRule(astRule: ViewRule): ProjectId;
17162
17190
  parseViewRulePredicate(astNode: ViewRulePredicate): ProjectId;
17163
17191
  parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): ProjectId;
17164
- parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): ProjectId;
17192
+ parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): any;
17165
17193
  parseViewRuleGroup(astNode: ViewRuleGroup): ProjectId;
17166
17194
  parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): ProjectId;
17167
- parseRuleStyle(styleProperties: StyleProperty[], elementExpressionsIterator: FqnExpressions, notationProperty?: NotationProperty): ProjectId;
17168
17195
  parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): ProjectId;
17169
- parseDynamicElementView(astNode: DynamicView, additionalStyles: ProjectId[]): ParsedAstDynamicView;
17196
+ parseDynamicElementView(astNode: DynamicView, additionalStyles: any[]): ParsedAstDynamicView;
17170
17197
  parseDynamicViewRule(astRule: DynamicViewRule): ProjectId;
17171
17198
  parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): ProjectId;
17172
17199
  parseDynamicParallelSteps(node: DynamicViewParallelSteps): ProjectId;
@@ -17234,16 +17261,15 @@ declare const DocumentParserFromMixins: {
17234
17261
  } & {
17235
17262
  new (...args: any[]): {
17236
17263
  parseViews(): void;
17237
- parseElementView(astNode: ElementView, additionalStyles: ProjectId[]): ParsedAstElementView;
17238
- parseViewRule(astRule: ViewRule): ProjectId;
17264
+ parseElementView(astNode: ElementView, additionalStyles: any[]): ParsedAstElementView;
17265
+ parseElementViewRule(astRule: ViewRule): ProjectId;
17239
17266
  parseViewRulePredicate(astNode: ViewRulePredicate): ProjectId;
17240
17267
  parseViewRuleGlobalPredicateRef(astRule: ViewRuleGlobalPredicateRef | DynamicViewGlobalPredicateRef): ProjectId;
17241
- parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): ProjectId;
17268
+ parseViewRuleStyleOrGlobalRef(astRule: ViewRuleStyleOrGlobalRef): any;
17242
17269
  parseViewRuleGroup(astNode: ViewRuleGroup): ProjectId;
17243
17270
  parseViewRuleStyle(astRule: ViewRuleStyle | GlobalStyle): ProjectId;
17244
- parseRuleStyle(styleProperties: StyleProperty[], elementExpressionsIterator: FqnExpressions, notationProperty?: NotationProperty): ProjectId;
17245
17271
  parseViewRuleGlobalStyle(astRule: ViewRuleGlobalStyle): ProjectId;
17246
- parseDynamicElementView(astNode: DynamicView, additionalStyles: ProjectId[]): ParsedAstDynamicView;
17272
+ parseDynamicElementView(astNode: DynamicView, additionalStyles: any[]): ParsedAstDynamicView;
17247
17273
  parseDynamicViewRule(astRule: DynamicViewRule): ProjectId;
17248
17274
  parseDynamicViewIncludePredicate(astRule: DynamicViewIncludePredicate): ProjectId;
17249
17275
  parseDynamicParallelSteps(node: DynamicViewParallelSteps): ProjectId;
@@ -17311,7 +17337,8 @@ declare const DocumentParserFromMixins: {
17311
17337
  } & {
17312
17338
  new (...args: any[]): {
17313
17339
  parseSpecification(): void;
17314
- parseSpecificationDeploymentNodeKind({ kind, props }: SpecificationDeploymentNodeKind): {};
17340
+ parseElementSpecificationNode(specAst: SpecificationElementKind): {};
17341
+ parseElementSpecificationNode(specAst: SpecificationDeploymentNodeKind): {};
17315
17342
  isValid: IsValidFn;
17316
17343
  readonly services: LikeC4Services;
17317
17344
  readonly doc: ParsedLikeC4LangiumDocument;
@@ -17628,7 +17655,7 @@ declare namespace Locate {
17628
17655
  projectId?: string | undefined;
17629
17656
  relation: RelationId;
17630
17657
  } | {
17631
- deployment: Fqn;
17658
+ deployment: DeploymentFqn;
17632
17659
  projectId?: string | undefined;
17633
17660
  property?: string;
17634
17661
  } | {
@@ -17670,7 +17697,6 @@ interface LikeC4Views {
17670
17697
  layoutView(viewId: ViewId, projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<GraphvizOut | null>;
17671
17698
  diagrams(projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<Array<DiagramView>>;
17672
17699
  viewsAsGraphvizOut(projectId?: ProjectId | undefined, cancelToken?: CancellationToken): Promise<Array<GraphvizSvgOut>>;
17673
- overviewGraph(): Promise<OverviewGraph>;
17674
17700
  }
17675
17701
 
17676
17702
  interface LikeC4LanguageServices {
@@ -35556,9 +35582,7 @@ interface LikeC4MCPServer {
35556
35582
  start(port: number): Promise<void>;
35557
35583
  stop(): Promise<void>;
35558
35584
  }
35559
- declare class LikeC4MCPServerFactory {
35560
- private services;
35561
- constructor(services: LikeC4Services);
35585
+ interface LikeC4MCPServerFactory {
35562
35586
  create(options?: ServerOptions): McpServer;
35563
35587
  }
35564
35588