@likec4/core 1.46.4 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/builder/index.d.mts +7 -5
  2. package/dist/builder/index.mjs +75 -31
  3. package/dist/compute-view/index.d.mts +45 -11
  4. package/dist/compute-view/index.mjs +149 -12
  5. package/dist/compute-view/relationships-view/index.d.mts +5 -5
  6. package/dist/index.d.mts +5 -5
  7. package/dist/index.mjs +4 -4
  8. package/dist/model/connection/deployment/index.d.mts +7 -7
  9. package/dist/model/connection/deployment/index.mjs +1 -1
  10. package/dist/model/connection/index.d.mts +8 -8
  11. package/dist/model/connection/index.mjs +1 -1
  12. package/dist/model/connection/model/index.d.mts +7 -7
  13. package/dist/model/index.d.mts +9 -9
  14. package/dist/model/index.mjs +2 -2
  15. package/dist/shared/{core.BYdtmqY5.mjs → core.BNN-3vPH.mjs} +1 -1
  16. package/dist/shared/{core.CRhT4Iio.mjs → core.BP_QHEXs.mjs} +1 -1
  17. package/dist/shared/{core.CBLX4mT8.mjs → core.Bdy3hhTc.mjs} +108 -137
  18. package/dist/shared/{core.C-Jdx7xo.d.mts → core.BfCKSW-g.d.mts} +10 -7
  19. package/dist/shared/{core.DeDCYTDR.d.mts → core.CAgYpDtM.d.mts} +2 -2
  20. package/dist/shared/{core.DEK-BO3_.mjs → core.CHf8VEa3.mjs} +1 -1
  21. package/dist/shared/{core.BvPm_-u3.d.mts → core.DC5IAaDT.d.mts} +1 -1
  22. package/dist/shared/{core.BZCgljZd.d.mts → core.DE9qzhn8.d.mts} +2 -2
  23. package/dist/shared/{core.BspBF3SJ.mjs → core.DGcIbsj4.mjs} +3 -1
  24. package/dist/shared/{core.Dt0v3djy.d.mts → core.DKhRkHRN.d.mts} +1 -1
  25. package/dist/shared/{core.DVfPJPJj.mjs → core.DU5SRqNF.mjs} +13 -4
  26. package/dist/shared/{core.xgoPk2RG.mjs → core.Dh119QSP.mjs} +18 -12
  27. package/dist/shared/{core.DSalPD6v.mjs → core.DjcWextK.mjs} +26 -7
  28. package/dist/shared/{core.DpKY_3NF.d.mts → core.Dojz4bvg.d.mts} +4 -4
  29. package/dist/shared/{core.xeuDd__E.mjs → core.btEq3i3f.mjs} +1 -1
  30. package/dist/shared/{core.Ctj2S3bD.d.mts → core.osFs8tU7.d.mts} +6 -6
  31. package/dist/shared/{core.ClTP6-TN.d.mts → core.tpvDGvdC.d.mts} +2 -2
  32. package/dist/styles/index.d.mts +4 -4
  33. package/dist/styles/index.mjs +1 -1
  34. package/dist/types/expression-model.d.mts +1 -1
  35. package/dist/types/expression.d.mts +1 -1
  36. package/dist/types/index.d.mts +6 -6
  37. package/dist/types/index.mjs +2 -2
  38. package/dist/utils/index.mjs +3 -3
  39. package/package.json +5 -4
@@ -1,12 +1,12 @@
1
1
  import { SetRequired, IsAny } from 'type-fest';
2
- import { L as LikeC4Styles } from './core.DeDCYTDR.mjs';
3
- import { A as Any, R as RelationKind, r as Tags, H as Metadata, C as MetadataKey, I as LooseTag, F as Fqn, a as ElementId, E as ElementKind, y as DeploymentKind, c as AnyLayouted, J as RelationId$1, S as StrictViewId, n as _type, m as _stage, K as LooseElementId, O as LooseDeploymentId, x as DeploymentFqn, t as toComputed, b as AnyComputed, Q as Stage, D as DeploymentId, V as ViewId, T as Tag, d as AnyParsed, P as ProjectId$1, X as LooseViewId, U as Unknown, e as Aux, i as UnknownParsed, g as UnknownComputed, h as UnknownLayouted } from './core.D00YbOhQ.mjs';
2
+ import { L as LikeC4Styles } from './core.CAgYpDtM.mjs';
3
+ import { A as Any, R as RelationKind, r as Tags, H as Metadata, C as MetadataKey, I as LooseTag, F as Fqn, a as ElementId, E as ElementKind, P as ProjectId$1, y as DeploymentKind, c as AnyLayouted, J as RelationId$1, S as StrictViewId, n as _type, m as _stage, K as LooseElementId, O as LooseDeploymentId, x as DeploymentFqn, t as toComputed, b as AnyComputed, Q as Stage, D as DeploymentId, V as ViewId, T as Tag, d as AnyParsed, X as LooseViewId, U as Unknown, e as Aux, i as UnknownParsed, g as UnknownComputed, h as UnknownLayouted } from './core.D00YbOhQ.mjs';
4
4
  import { d as RelationId, P as ProjectId, a as IconUrl, j as NodeId, G as GroupElementKind, k as EdgeId, l as StepEdgeId, V as ViewId$1 } from './core.C_3y3eqV.mjs';
5
5
  import { D as DefaultMap } from './core.CywrQs86.mjs';
6
- import { b as RichTextOrEmpty, L as LayoutedView, V as ViewManualLayoutSnapshot, r as ComputedView, v as ViewWithType, P as ParsedLikeC4ModelData, C as ComputedLikeC4ModelData, c as LayoutedLikeC4ModelData, e as DeployedInstance, j as DeploymentRelationship, f as DeploymentElement, D as DeploymentNode, m as LikeC4ModelDump, o as AuxFromDump } from './core.Ctj2S3bD.mjs';
6
+ import { b as RichTextOrEmpty, L as LayoutedView, V as ViewManualLayoutSnapshot, r as ComputedView, v as ViewWithType, P as ParsedLikeC4ModelData, C as ComputedLikeC4ModelData, c as LayoutedLikeC4ModelData, e as DeployedInstance, j as DeploymentRelationship, f as DeploymentElement, D as DeploymentNode, m as LikeC4ModelDump, o as AuxFromDump } from './core.osFs8tU7.mjs';
7
7
  import { c as IteratorLike, L as Link, N as NonEmptyArray } from './core.DB0Ue5Wx.mjs';
8
- import { C as Color, f as RelationshipLineType, g as RelationshipArrowType, h as ElementShape, W as WhereOperator } from './core.BvPm_-u3.mjs';
9
- import { R as Relationship, f as Element, E as ElementStyle, C as ComputedNodeStyle, a6 as DynamicViewDisplayVariant, n as LikeC4Project, S as Specification, M as ModelGlobals } from './core.DpKY_3NF.mjs';
8
+ import { C as Color, f as RelationshipLineType, g as RelationshipArrowType, h as ElementShape, W as WhereOperator } from './core.DC5IAaDT.mjs';
9
+ import { R as Relationship, f as Element, E as ElementStyle, C as ComputedNodeStyle, a6 as DynamicViewDisplayVariant, n as LikeC4Project, S as Specification, M as ModelGlobals } from './core.Dojz4bvg.mjs';
10
10
  import { B as BBox } from './core.BPGOjone.mjs';
11
11
  import { FqnRef } from '../types/fqnRef.mjs';
12
12
 
@@ -99,8 +99,8 @@ declare class ElementModel<A extends Any = Any> implements WithTags<A>, WithMeta
99
99
  readonly _literalId: ElementId<A>;
100
100
  readonly hierarchyLevel: number;
101
101
  readonly imported: null | {
102
- from: ProjectId;
103
- fqn: Fqn<A>;
102
+ readonly from: ProjectId;
103
+ readonly fqn: Fqn<Any>;
104
104
  };
105
105
  constructor($model: LikeC4Model<A>, $element: Element<A>);
106
106
  get name(): string;
@@ -135,6 +135,7 @@ declare class ElementModel<A extends Any = Any> implements WithTags<A>, WithMeta
135
135
  get defaultView(): LikeC4ViewModel.ScopedElementView<A> | null;
136
136
  get isRoot(): boolean;
137
137
  get style(): SetRequired<ElementStyle, 'shape' | 'color' | 'size'>;
138
+ get projectId(): ProjectId$1<A>;
138
139
  isAncestorOf(another: ElementModel<A>): boolean;
139
140
  isDescendantOf(another: ElementModel<A>): boolean;
140
141
  /**
@@ -486,6 +487,7 @@ declare class LikeC4ViewModel<A extends Any = Any, V extends $View<A> = $View<A>
486
487
  * If view has manual layout, returns it with manual layout applied
487
488
  */
488
489
  get $manual(): V | null;
490
+ get projectId(): ProjectId$1<A>;
489
491
  roots(): NodesIterator<A, V>;
490
492
  /**
491
493
  * Iterate over all nodes that have children.
@@ -629,6 +631,7 @@ declare class LikeC4DeploymentModel<A extends Any = Any> {
629
631
  readonly $deployments: $ModelData<A>['deployments'];
630
632
  constructor($model: LikeC4Model<A>);
631
633
  get $styles(): LikeC4Styles;
634
+ get projectId(): ProjectId$1<A>;
632
635
  element(el: DeploymentOrFqn<A>): DeploymentElementModel<A>;
633
636
  findElement(el: LooseDeploymentId<A>): DeploymentElementModel<A> | null;
634
637
  node(el: DeploymentOrFqn<A>): DeploymentNodeModel<A>;
@@ -1,6 +1,6 @@
1
- import { L as LikeC4StylesConfig, a as LikeC4Theme, b as LikeC4StyleDefaults, E as ElementColorValues, R as RelationshipColorValues, T as ThemeColor, c as ThemeColorValues, d as TextSize, S as SpacingSize, e as ShapeSize } from './core.BvPm_-u3.mjs';
1
+ import { L as LikeC4StylesConfig, a as LikeC4Theme, b as LikeC4StyleDefaults, E as ElementColorValues, R as RelationshipColorValues, T as ThemeColor, c as ThemeColorValues, d as TextSize, S as SpacingSize, e as ShapeSize } from './core.DC5IAaDT.mjs';
2
2
  import { LiteralUnion } from 'type-fest';
3
- import { L as LikeC4ProjectStylesConfig, C as ComputedNodeStyle } from './core.DpKY_3NF.mjs';
3
+ import { L as LikeC4ProjectStylesConfig, C as ComputedNodeStyle } from './core.Dojz4bvg.mjs';
4
4
 
5
5
  /**
6
6
  * Styles of a LikeC4 project
@@ -1,6 +1,6 @@
1
1
  import { t as t$1 } from './core.BsSXS-_R.mjs';
2
2
  import { g as getDefaultExportFromCjs } from './core.B85MJLTf.mjs';
3
- import { r as requireForeach, b as requireIterator, a as markdownToText, m as markdownToHtml } from './core.CBLX4mT8.mjs';
3
+ import { r as requireForeach, b as requireIterator, a as markdownToText, m as markdownToHtml } from './core.Bdy3hhTc.mjs';
4
4
  import { m as memoizeProp } from './core.CLSZtnFh.mjs';
5
5
  import { n as nonexhaustive } from './core.D4npX2q8.mjs';
6
6
 
@@ -14,7 +14,7 @@ type ShapeSize = Size;
14
14
  type SpacingSize = Size;
15
15
  declare const BorderStyles: readonly ["solid", "dashed", "dotted", "none"];
16
16
  type BorderStyle = TupleToUnion<typeof BorderStyles>;
17
- declare const ElementShapes: readonly ["rectangle", "person", "browser", "mobile", "cylinder", "storage", "queue"];
17
+ declare const ElementShapes: readonly ["rectangle", "person", "browser", "mobile", "cylinder", "storage", "queue", "bucket", "document"];
18
18
  type ElementShape = TupleToUnion<typeof ElementShapes>;
19
19
  type HexColor = `#${string}`;
20
20
  type ColorLiteral = HexColor | `rgb(${number},${number},${number})` | `rgba(${number},${number},${number},${number})`;
@@ -1,5 +1,5 @@
1
- import { C as Connection, c as customInspectSymbol } from './core.Dt0v3djy.mjs';
2
- import { E as ElementModel, R as RelationshipModel } from './core.C-Jdx7xo.mjs';
1
+ import { C as Connection, c as customInspectSymbol } from './core.DKhRkHRN.mjs';
2
+ import { E as ElementModel, R as RelationshipModel } from './core.BfCKSW-g.mjs';
3
3
  import { A as Any, U as Unknown, z as EdgeId } from './core.D00YbOhQ.mjs';
4
4
 
5
5
  /**
@@ -3698,7 +3698,9 @@ const ElementShapes = [
3698
3698
  "mobile",
3699
3699
  "cylinder",
3700
3700
  "storage",
3701
- "queue"
3701
+ "queue",
3702
+ "bucket",
3703
+ "document"
3702
3704
  ];
3703
3705
  const RelationshipArrowTypes = [
3704
3706
  "none",
@@ -1,4 +1,4 @@
1
- import { E as ElementModel, e as DeploymentElementModel } from './core.C-Jdx7xo.mjs';
1
+ import { E as ElementModel, e as DeploymentElementModel } from './core.BfCKSW-g.mjs';
2
2
  import { A as Any } from './core.D00YbOhQ.mjs';
3
3
  import { F as Fqn } from './core.C_3y3eqV.mjs';
4
4
 
@@ -1,10 +1,10 @@
1
- import { t as t$3, e as e$3, a as DeploymentNodeModel, b as DeployedInstanceModel, c as DeploymentRelationModel, N as NestedElementOfDeployedInstanceModel } from './core.CRhT4Iio.mjs';
1
+ import { t as t$3, e as e$3, a as DeploymentNodeModel, b as DeployedInstanceModel, c as DeploymentRelationModel, N as NestedElementOfDeployedInstanceModel } from './core.BP_QHEXs.mjs';
2
2
  import { e as e$2 } from './core.BKlholso.mjs';
3
3
  import { n as n$1 } from './core.BhNcrwzK.mjs';
4
4
  import { c as splitGlobalFqn, h as extractStep, g as isStepEdgeId, i as isGroupElementKind, b as isGlobalFqn, a as GlobalFqn } from './core.D0WZutNd.mjs';
5
5
  import { m as hierarchyLevel, n as nameFromFqn, i as isAncestor, g as commonAncestor, s as sortNaturalByFqn, f as sortParentsFirst, p as parentFqn, a as ancestorsFqn } from './core.CdNCAwq7.mjs';
6
6
  import { m as memoizeProp } from './core.CLSZtnFh.mjs';
7
- import { R as RichText, e as exact } from './core.DEK-BO3_.mjs';
7
+ import { R as RichText, e as exact } from './core.CHf8VEa3.mjs';
8
8
  import { preferSummary, preferDescription } from '../types/_aux.mjs';
9
9
  import { i as ihead } from './core.uFk_o9X6.mjs';
10
10
  import { t as t$6, b as compareNaturalHierarchically, c as compareNatural } from './core.3ZhnKAlZ.mjs';
@@ -12,8 +12,8 @@ import { t as t$2, a as t$4 } from './core.BsSXS-_R.mjs';
12
12
  import { t as t$5, e as e$4 } from './core.Coi_LOUZ.mjs';
13
13
  import { t as t$8 } from './core.CbT8JVYL.mjs';
14
14
  import { t as t$7 } from './core.BkVA6gjl.mjs';
15
- import { c as calcDriftsFromSnapshot, a as applyManualLayout, h as t$9 } from './core.DSalPD6v.mjs';
16
- import { L as LikeC4Styles } from './core.BspBF3SJ.mjs';
15
+ import { c as calcDriftsFromSnapshot, a as applyManualLayout, h as t$9 } from './core.DjcWextK.mjs';
16
+ import { L as LikeC4Styles } from './core.DGcIbsj4.mjs';
17
17
  import { g as getOrCreate } from './core.DcS-0zys.mjs';
18
18
  import { D as DefaultMap } from './core.BbE4y-yl.mjs';
19
19
  import { i as invariant, a as nonNullable } from './core.D4npX2q8.mjs';
@@ -136,6 +136,9 @@ class ElementModel {
136
136
  ...this.$element.style
137
137
  }));
138
138
  }
139
+ get projectId() {
140
+ return this.imported?.from ?? this.$model.projectId;
141
+ }
139
142
  isAncestorOf(another) {
140
143
  return isAncestor(this, another);
141
144
  }
@@ -364,6 +367,9 @@ class LikeC4DeploymentModel {
364
367
  get $styles() {
365
368
  return this.$model.$styles;
366
369
  }
370
+ get projectId() {
371
+ return this.$model.projectId;
372
+ }
367
373
  element(el) {
368
374
  if (el instanceof DeploymentNodeModel || el instanceof DeployedInstanceModel) {
369
375
  return el;
@@ -1209,6 +1215,9 @@ class LikeC4ViewModel {
1209
1215
  }
1210
1216
  return null;
1211
1217
  }
1218
+ get projectId() {
1219
+ return this.$model.projectId;
1220
+ }
1212
1221
  roots() {
1213
1222
  return this.#rootnodes.values();
1214
1223
  }
@@ -1,12 +1,12 @@
1
- import { n as n$d, b as t$i, d as t$j, e as t$l, f as t$m, g as buildElementNotations, t as t$q } from './core.DSalPD6v.mjs';
1
+ import { n as n$d, d as t$i, e as t$j, f as t$l, b as t$m, g as buildElementNotations, t as t$q } from './core.DjcWextK.mjs';
2
2
  import { t as t$a, a as t$b } from './core.BsSXS-_R.mjs';
3
3
  import { t as t$e } from './core.CbT8JVYL.mjs';
4
- import { a as t$c, t as t$k, i as isElementModel, b as isNestedElementOfDeployedInstanceModel, c as isDeployedInstanceModel, d as isDeploymentNodeModel, e as isDeploymentElementModel, L as LikeC4Model } from './core.DVfPJPJj.mjs';
5
- import { c as commonHead, t as t$f, o as objectHash, b as t$n, a as compareRelations, S as Stack } from './core.xeuDd__E.mjs';
4
+ import { a as t$c, t as t$k, i as isElementModel, b as isNestedElementOfDeployedInstanceModel, c as isDeployedInstanceModel, d as isDeploymentNodeModel, e as isDeploymentElementModel, L as LikeC4Model } from './core.DU5SRqNF.mjs';
5
+ import { c as commonHead, t as t$f, o as objectHash, b as t$n, a as compareRelations, S as Stack } from './core.btEq3i3f.mjs';
6
6
  import { a as nonNullable, i as invariant, n as nonexhaustive } from './core.D4npX2q8.mjs';
7
7
  import { G as Graph } from './core.CmGY9blO.mjs';
8
- import { r as requireIterables, e as exact, t as t$o } from './core.DEK-BO3_.mjs';
9
- import { b as requireIterator } from './core.CBLX4mT8.mjs';
8
+ import { r as requireIterables, e as exact, t as t$o } from './core.CHf8VEa3.mjs';
9
+ import { b as requireIterator } from './core.Bdy3hhTc.mjs';
10
10
  import { g as getDefaultExportFromCjs } from './core.B85MJLTf.mjs';
11
11
  import { n as n$c, t as t$d } from './core.3ZhnKAlZ.mjs';
12
12
  import { e as e$4 } from './core.BKlholso.mjs';
@@ -15,21 +15,21 @@ import { b as isDescendantOf, f as sortParentsFirst, i as isAncestor, p as paren
15
15
  import { d as difference, i as intersection, u as union, h as hasIntersection } from './core.DbfO90vF.mjs';
16
16
  import { e as e$9 } from './core.Coi_LOUZ.mjs';
17
17
  import { w as whereOperatorAsPredicate, m as isViewRuleStyle, v as t$g, u as e$8, l as isViewRulePredicate, a as _type, _ as _stage, t as isDynamicView, s as isDeploymentView, p as isElementView } from './core.DH7TXqXf.mjs';
18
- import { e as e$5, d as deploymentConnection, R as RelationshipsAccum, D as DeploymentConnectionModel } from './core.CRhT4Iio.mjs';
18
+ import { e as e$5, d as deploymentConnection, R as RelationshipsAccum, D as DeploymentConnectionModel } from './core.BP_QHEXs.mjs';
19
19
  import { e as e$6, a as iunique, i as iflat } from './core.C4x8aaWa.mjs';
20
20
  import { e as e$7 } from './core.BoYfZOBm.mjs';
21
21
  import { ModelFqnExpr, ModelRelationExpr, ModelExpression } from '../types/expression-model.mjs';
22
22
  import { FqnRef } from '../types/fqnRef.mjs';
23
23
  import { preferSummary } from '../types/_aux.mjs';
24
- import { a as t$h } from './core.BspBF3SJ.mjs';
24
+ import { a as t$h } from './core.DGcIbsj4.mjs';
25
25
  import { n as n$e } from './core.BhNcrwzK.mjs';
26
26
  import { FqnExpr, RelationExpr } from '../types/expression.mjs';
27
27
  import { f as findAscendingConnections, m as mergeConnections, d as differenceConnections, j as isNestedConnection, s as sortConnectionsByBoundaryHierarchy, o as findConnectionsBetween$3, p as findConnection$3, n as modelConnection, b as findDescendantConnections, a as findDeepestNestedConnection, i as isAnyInOut, k as isOutgoing, g as isIncoming, C as ConnectionModel } from './core.78IWAHAE.mjs';
28
28
  import { t as toSet, a as toArray, i as imap } from './core.C3JowhaZ.mjs';
29
29
  import { D as DefaultMap } from './core.BbE4y-yl.mjs';
30
+ import { i as isome } from './core.FZ305VYd.mjs';
30
31
  import { i as ifilter } from './core.DRJma0Ol.mjs';
31
32
  import { C as Connection, c as customInspectSymbol } from './core.BFd1lU9R.mjs';
32
- import { i as isome } from './core.FZ305VYd.mjs';
33
33
  import { i as isIterable, e as e$a } from './core.RfnaEmgA.mjs';
34
34
  import { k as e$b, c as isViewRuleAutoLayout, h as isViewRuleGroup, a as isViewRuleGlobalPredicateRef, i as isViewRuleGlobalStyle, e as isDynamicStepsParallel, f as isDynamicStepsSeries, j as isViewRuleRank } from './core.om36dXXW.mjs';
35
35
  import { t as t$p } from './core.q10OP9oJ.mjs';
@@ -4614,7 +4614,9 @@ const WildcardPredicate = {
4614
4614
  if (rootElements.length === 0) {
4615
4615
  return;
4616
4616
  }
4617
- stage.addExplicit(rootElements);
4617
+ const [projectElements, importedElements] = t$4(rootElements, (e) => !e.imported);
4618
+ stage.addExplicit(projectElements);
4619
+ stage.addImplicit(importedElements);
4618
4620
  stage.addConnections(findConnectionsWithin(rootElements));
4619
4621
  stage.connectWithExisting(rootElements);
4620
4622
  return stage;
@@ -4747,7 +4749,7 @@ function processRelationtPredicate(expr, op, ctx) {
4747
4749
  nonexhaustive(expr);
4748
4750
  }
4749
4751
  }
4750
- function processPredicates(model, memory, rules) {
4752
+ function process_predicates(model, memory, rules) {
4751
4753
  const ctx = {
4752
4754
  model,
4753
4755
  scope: memory.scope,
@@ -4757,7 +4759,7 @@ function processPredicates(model, memory, rules) {
4757
4759
  for (const rule of rules) {
4758
4760
  if (isViewRuleGroup(rule)) {
4759
4761
  const groupMemory = ActiveGroupMemory.enter(memory, rule);
4760
- memory = processPredicates(model, groupMemory, rule.groupRules);
4762
+ memory = process_predicates(model, groupMemory, rule.groupRules);
4761
4763
  invariant(memory instanceof ActiveGroupMemory, "processPredicates must return ActiveGroupMemory");
4762
4764
  memory = memory.leave();
4763
4765
  continue;
@@ -4789,6 +4791,10 @@ function processPredicates(model, memory, rules) {
4789
4791
  }
4790
4792
  }
4791
4793
  }
4794
+ return memory;
4795
+ }
4796
+ function processPredicates(model, memory, rules) {
4797
+ memory = process_predicates(model, memory, rules);
4792
4798
  return StageFinal.for(memory).commit();
4793
4799
  }
4794
4800
  function computeElementView(likec4model, {
@@ -4986,4 +4992,4 @@ function computeLikeC4Model(parsed) {
4986
4992
  return LikeC4Model.create(computeParsedModelData(parsed));
4987
4993
  }
4988
4994
 
4989
- export { t$6 as a, computeParsedModelData as b, computeLikeC4Model as c, computeView as d, n$6 as n, topologicalSortExports as t, unsafeComputeView as u, willCreateCycle as w };
4995
+ export { t$6 as a, t$5 as b, topologicalSort as c, computeLikeC4Model as d, computeParsedModelData as e, computeView as f, linkNodesWithEdges as l, n$6 as n, topologicalSortExports as t, unsafeComputeView as u, willCreateCycle as w };
@@ -1,6 +1,6 @@
1
1
  import { a as t$8, t as t$9 } from './core.3ZhnKAlZ.mjs';
2
2
  import { t as t$7, a as t$c } from './core.BsSXS-_R.mjs';
3
- import { a as t$d } from './core.BspBF3SJ.mjs';
3
+ import { a as t$d } from './core.DGcIbsj4.mjs';
4
4
  import { b as _layout, t as isDynamicView, u as e$3 } from './core.DH7TXqXf.mjs';
5
5
  import { e as e$4 } from './core.BKlholso.mjs';
6
6
  import { e as e$2, t as t$a } from './core.Coi_LOUZ.mjs';
@@ -152,6 +152,10 @@ var isSet = (target) => target instanceof Set;
152
152
  var isObjectish = (target) => typeof target === "object";
153
153
  var isFunction = (target) => typeof target === "function";
154
154
  var isBoolean = (target) => typeof target === "boolean";
155
+ function isArrayIndex(value) {
156
+ const n = +value;
157
+ return Number.isInteger(n) && String(n) === value;
158
+ }
155
159
  var latest = (state) => state.copy_ || state.base_;
156
160
  var getFinalValue = (state) => state.modified_ ? state.copy_ : state.base_;
157
161
  function shallowCopy(base, strict) {
@@ -231,6 +235,7 @@ function isFrozen(obj) {
231
235
  // src/utils/plugins.ts
232
236
  var PluginMapSet = "MapSet";
233
237
  var PluginPatches = "Patches";
238
+ var PluginArrayMethods = "ArrayMethods";
234
239
  var plugins = {};
235
240
  function getPlugin(pluginKey) {
236
241
  const plugin = plugins[pluginKey];
@@ -254,7 +259,8 @@ var createScope = (parent_, immer_) => ({
254
259
  unfinalizedDrafts_: 0,
255
260
  handledSet_: /* @__PURE__ */ new Set(),
256
261
  processedForPatches_: /* @__PURE__ */ new Set(),
257
- mapSetPlugin_: isPluginLoaded(PluginMapSet) ? getPlugin(PluginMapSet) : void 0
262
+ mapSetPlugin_: isPluginLoaded(PluginMapSet) ? getPlugin(PluginMapSet) : void 0,
263
+ arrayMethodsPlugin_: isPluginLoaded(PluginArrayMethods) ? getPlugin(PluginArrayMethods) : void 0
258
264
  });
259
265
  function usePatchesInScope(scope, patchListener) {
260
266
  if (patchListener) {
@@ -389,7 +395,7 @@ function registerChildFinalizationCallback(parent, child, key) {
389
395
  });
390
396
  }
391
397
  function generatePatchesAndFinalize(state, rootScope) {
392
- const shouldFinalize = state.modified_ && !state.finalized_ && (state.type_ === 3 /* Set */ || (state.assigned_?.size ?? 0) > 0);
398
+ const shouldFinalize = state.modified_ && !state.finalized_ && (state.type_ === 3 /* Set */ || state.type_ === 1 /* Array */ && state.allIndicesReassigned_ || (state.assigned_?.size ?? 0) > 0);
393
399
  if (shouldFinalize) {
394
400
  const { patchPlugin_ } = rootScope;
395
401
  if (patchPlugin_) {
@@ -494,6 +500,13 @@ var objectTraps = {
494
500
  get(state, prop) {
495
501
  if (prop === DRAFT_STATE)
496
502
  return state;
503
+ let arrayPlugin = state.scope_.arrayMethodsPlugin_;
504
+ const isArrayWithStringProp = state.type_ === 1 /* Array */ && typeof prop === "string";
505
+ if (isArrayWithStringProp) {
506
+ if (arrayPlugin?.isArrayOperationMethod(prop)) {
507
+ return arrayPlugin.createMethodInterceptor(state, prop);
508
+ }
509
+ }
497
510
  const source = latest(state);
498
511
  if (!has(source, prop, state.type_)) {
499
512
  return readPropFromProto(state, source, prop);
@@ -502,6 +515,11 @@ var objectTraps = {
502
515
  if (state.finalized_ || !isDraftable(value)) {
503
516
  return value;
504
517
  }
518
+ if (isArrayWithStringProp && state.operationMethod && arrayPlugin?.isMutatingArrayMethod(
519
+ state.operationMethod
520
+ ) && isArrayIndex(prop)) {
521
+ return value;
522
+ }
505
523
  if (value === peek(state.base_, prop)) {
506
524
  prepareCopy(state);
507
525
  const childKey = state.type_ === 1 /* Array */ ? +prop : prop;
@@ -1068,12 +1086,13 @@ function applyManualLayout(autoLayouted, snapshot) {
1068
1086
  if (isDynamicView(autoLayouted) && result._type === "dynamic") {
1069
1087
  result.variant = autoLayouted.variant;
1070
1088
  }
1089
+ const writableV = result;
1071
1090
  const drifts = [...viewDrifts];
1072
1091
  if (t$c(drifts, 1)) {
1073
- result.drifts = drifts;
1092
+ writableV.drifts = drifts;
1074
1093
  } else {
1075
- if ("drifts" in result) {
1076
- delete result.drifts;
1094
+ if ("drifts" in writableV) {
1095
+ delete writableV.drifts;
1077
1096
  }
1078
1097
  }
1079
1098
  return result;
@@ -1349,4 +1368,4 @@ function calcDriftsFromSnapshot(autoLayouted, snapshot) {
1349
1368
  });
1350
1369
  }
1351
1370
 
1352
- export { applyManualLayout as a, t$2 as b, calcDriftsFromSnapshot as c, t$1 as d, t$4 as e, t$5 as f, buildElementNotations as g, t as h, n$5 as n, t$3 as t };
1371
+ export { applyManualLayout as a, t$5 as b, calcDriftsFromSnapshot as c, t$2 as d, t$1 as e, t$4 as f, buildElementNotations as g, t as h, n$5 as n, t$3 as t };
@@ -1,5 +1,5 @@
1
1
  import { Tagged, NonEmptyTuple, IsNever, PartialDeep, WritableDeep, Except } from 'type-fest';
2
- import { h as ElementShape, C as Color, B as BorderStyle, e as ShapeSize, S as SpacingSize, d as TextSize, f as RelationshipLineType, g as RelationshipArrowType, T as ThemeColor, G as ColorLiteral, Q as CustomColorDefinitions, a as LikeC4Theme, b as LikeC4StyleDefaults } from './core.BvPm_-u3.mjs';
2
+ import { h as ElementShape, C as Color, B as BorderStyle, e as ShapeSize, S as SpacingSize, d as TextSize, f as RelationshipLineType, g as RelationshipArrowType, T as ThemeColor, G as ColorLiteral, Q as CustomColorDefinitions, a as LikeC4Theme, b as LikeC4StyleDefaults } from './core.DC5IAaDT.mjs';
3
3
  import { A as Any, s as WithOptionalTags, u as WithOptionalLinks, S as StrictViewId, m as _stage, n as _type, F as Fqn, R as RelationKind, W as WithDescriptionAndTech, v as WithMetadata, w as WithNotation, E as ElementKind, T as Tag, y as DeploymentKind, C as MetadataKey, G as WithTags, x as DeploymentFqn } from './core.D00YbOhQ.mjs';
4
4
  import { N as NonEmptyArray, E as ExclusiveUnion, a as NonEmptyReadonlyArray, L as Link } from './core.DB0Ue5Wx.mjs';
5
5
  import { M as MarkdownOrString, I as Icon, d as RelationId, T as Tag$1, P as ProjectId, j as NodeId, k as EdgeId, n as StepEdgeKind } from './core.C_3y3eqV.mjs';
@@ -419,7 +419,7 @@ interface ComputedNode<A extends Any = Any> extends WithTags<A>, WithOptionalLin
419
419
  outEdges: EdgeId[];
420
420
  shape: ElementShape;
421
421
  color: Color;
422
- icon?: Icon;
422
+ icon?: Icon | null;
423
423
  style: ComputedNodeStyle;
424
424
  navigateTo?: StrictViewId<A> | null;
425
425
  level: number;
@@ -470,8 +470,8 @@ interface ComputedRankConstraint {
470
470
  interface BaseComputedViewProperties<A extends Any> extends BaseViewProperties<A>, ViewWithHash, ViewWithNotation {
471
471
  readonly [_stage]: 'computed';
472
472
  readonly autoLayout: ViewAutoLayout;
473
- readonly nodes: ComputedNode<A>[];
474
- readonly edges: ComputedEdge<A>[];
473
+ readonly nodes: ReadonlyArray<ComputedNode<A>>;
474
+ readonly edges: ReadonlyArray<ComputedEdge<A>>;
475
475
  /**
476
476
  * If the view has manual layout (v2)
477
477
  */
@@ -1,5 +1,5 @@
1
1
  import { g as getDefaultExportFromCjs } from './core.B85MJLTf.mjs';
2
- import { b as requireIterator, r as requireForeach } from './core.CBLX4mT8.mjs';
2
+ import { b as requireIterator, r as requireForeach } from './core.Bdy3hhTc.mjs';
3
3
  import { t as t$3 } from './core.3ZhnKAlZ.mjs';
4
4
  import { t as t$4 } from './core.CbT8JVYL.mjs';
5
5
  import { t as t$2 } from './core.BsSXS-_R.mjs';
@@ -1,11 +1,11 @@
1
1
  import { Simplify, IsAny } from 'type-fest';
2
2
  import { A as Any, U as Unknown, W as WithDescriptionAndTech, s as WithOptionalTags, u as WithOptionalLinks, v as WithMetadata, w as WithNotation, x as DeploymentFqn, y as DeploymentKind, F as Fqn, n as _type, m as _stage, o as _layout, S as StrictViewId, N as NodeId, z as EdgeId, k as ExtractOnStage, M as ModelStage, P as ProjectId, a as ElementId, D as DeploymentId, d as AnyParsed, i as UnknownParsed, V as ViewId$1, b as AnyComputed, g as UnknownComputed, c as AnyLayouted, h as UnknownLayouted, f as SpecAux, e as Aux, B as Never } from './core.D00YbOhQ.mjs';
3
3
  import { a as NonEmptyReadonlyArray, N as NonEmptyArray, E as ExclusiveUnion, K as KeysOf } from './core.DB0Ue5Wx.mjs';
4
- import { E as ElementStyle, A as AbstractRelationship, F as ViewType, B as ViewAutoLayout, J as ViewWithNotation, H as BaseViewProperties, K as ViewWithHash, O as ComputedNode, P as ComputedEdge, a6 as DynamicViewDisplayVariant, I as BaseParsedViewProperties, o as AnyIncludePredicate, p as AnyExcludePredicate, q as AnyViewRuleStyle, y as ViewRuleAutoLayout, ah as ParsedElementView, a7 as ParsedDynamicView, U as ComputedElementView, W as ComputedDeploymentView, X as ComputedDynamicView, n as LikeC4Project, S as Specification, f as Element, R as Relationship, M as ModelGlobals } from './core.DpKY_3NF.mjs';
4
+ import { E as ElementStyle, A as AbstractRelationship, F as ViewType, B as ViewAutoLayout, J as ViewWithNotation, H as BaseViewProperties, K as ViewWithHash, O as ComputedNode, P as ComputedEdge, a6 as DynamicViewDisplayVariant, I as BaseParsedViewProperties, o as AnyIncludePredicate, p as AnyExcludePredicate, q as AnyViewRuleStyle, y as ViewRuleAutoLayout, ah as ParsedElementView, a7 as ParsedDynamicView, U as ComputedElementView, W as ComputedDeploymentView, X as ComputedDynamicView, n as LikeC4Project, S as Specification, f as Element, R as Relationship, M as ModelGlobals } from './core.Dojz4bvg.mjs';
5
5
  import { FqnRef } from '../types/fqnRef.mjs';
6
6
  import { F as Fqn$1, V as ViewId, M as MarkdownOrString, d as RelationId } from './core.C_3y3eqV.mjs';
7
7
  import { B as BBox, P as Point, X as XYPoint } from './core.BPGOjone.mjs';
8
- import { j as Expression, F as FqnExpr } from './core.BvPm_-u3.mjs';
8
+ import { j as Expression, F as FqnExpr } from './core.DC5IAaDT.mjs';
9
9
 
10
10
  interface DeploymentNode<A extends Any = Unknown> extends WithDescriptionAndTech, WithOptionalTags<A>, WithOptionalLinks, WithMetadata<A>, WithNotation {
11
11
  element?: never;
@@ -65,8 +65,8 @@ type ViewManualLayoutSnapshot<Type extends ViewType = ViewType> = Simplify<ViewM
65
65
  readonly [_type]: Type;
66
66
  readonly [_stage]: 'layouted';
67
67
  readonly hash: string;
68
- readonly nodes: DiagramNode[];
69
- readonly edges: DiagramEdge[];
68
+ readonly nodes: ReadonlyArray<DiagramNode>;
69
+ readonly edges: ReadonlyArray<DiagramEdge>;
70
70
  readonly bounds: BBox;
71
71
  readonly autoLayout: ViewAutoLayout;
72
72
  } & ViewWithNotation>;
@@ -126,8 +126,8 @@ interface BaseLayoutedViewProperties<A extends Any> extends BaseViewProperties<A
126
126
  */
127
127
  readonly [_layout]?: LayoutType;
128
128
  readonly autoLayout: ViewAutoLayout;
129
- readonly nodes: DiagramNode<A>[];
130
- readonly edges: DiagramEdge<A>[];
129
+ readonly nodes: ReadonlyArray<DiagramNode<A>>;
130
+ readonly edges: ReadonlyArray<DiagramEdge<A>>;
131
131
  readonly bounds: BBox;
132
132
  /**
133
133
  * If diagram has manual layout
@@ -1,5 +1,5 @@
1
- import { C as Connection, c as customInspectSymbol } from './core.Dt0v3djy.mjs';
2
- import { e as DeploymentElementModel, h as RelationshipsAccum, D as DeploymentNodeModel, R as RelationshipModel, b as DeploymentRelationModel } from './core.C-Jdx7xo.mjs';
1
+ import { C as Connection, c as customInspectSymbol } from './core.DKhRkHRN.mjs';
2
+ import { e as DeploymentElementModel, h as RelationshipsAccum, D as DeploymentNodeModel, R as RelationshipModel, b as DeploymentRelationModel } from './core.BfCKSW-g.mjs';
3
3
  import { A as Any, z as EdgeId } from './core.D00YbOhQ.mjs';
4
4
  import { c as IteratorLike } from './core.DB0Ue5Wx.mjs';
5
5
 
@@ -1,8 +1,8 @@
1
1
  import { T as Tag } from '../shared/core.C_3y3eqV.mjs';
2
- import { T as TagSpecification } from '../shared/core.DpKY_3NF.mjs';
3
- import { G as ColorLiteral, c as ThemeColorValues, b as LikeC4StyleDefaults, E as ElementColorValues, R as RelationshipColorValues } from '../shared/core.BvPm_-u3.mjs';
4
- export { B as BorderStyle, z as BorderStyles, C as Color, U as CustomColor, Q as CustomColorDefinitions, h as ElementShape, D as ElementShapes, H as HexColor, L as LikeC4StylesConfig, a as LikeC4Theme, g as RelationshipArrowType, I as RelationshipArrowTypes, f as RelationshipLineType, e as ShapeSize, y as Size, x as Sizes, S as SpacingSize, d as TextSize, T as ThemeColor, J as ThemeColors, V as isCustomColor, M as isThemeColor } from '../shared/core.BvPm_-u3.mjs';
5
- export { L as LikeC4Styles } from '../shared/core.DeDCYTDR.mjs';
2
+ import { T as TagSpecification } from '../shared/core.Dojz4bvg.mjs';
3
+ import { G as ColorLiteral, c as ThemeColorValues, b as LikeC4StyleDefaults, E as ElementColorValues, R as RelationshipColorValues } from '../shared/core.DC5IAaDT.mjs';
4
+ export { B as BorderStyle, z as BorderStyles, C as Color, U as CustomColor, Q as CustomColorDefinitions, h as ElementShape, D as ElementShapes, H as HexColor, L as LikeC4StylesConfig, a as LikeC4Theme, g as RelationshipArrowType, I as RelationshipArrowTypes, f as RelationshipLineType, e as ShapeSize, y as Size, x as Sizes, S as SpacingSize, d as TextSize, T as ThemeColor, J as ThemeColors, V as isCustomColor, M as isThemeColor } from '../shared/core.DC5IAaDT.mjs';
5
+ export { L as LikeC4Styles } from '../shared/core.CAgYpDtM.mjs';
6
6
  import 'type-fest';
7
7
  import '../shared/core.D00YbOhQ.mjs';
8
8
  import '../shared/core.DB0Ue5Wx.mjs';
@@ -6,7 +6,7 @@ import { t as t$6 } from '../shared/core.CbT8JVYL.mjs';
6
6
  import { t as t$1 } from '../shared/core.BsSXS-_R.mjs';
7
7
  import { t as t$4 } from '../shared/core.BkVA6gjl.mjs';
8
8
  import { a as nonNullable } from '../shared/core.D4npX2q8.mjs';
9
- export { B as BorderStyles, E as ElementShapes, L as LikeC4Styles, R as RelationshipArrowTypes, S as Sizes, T as ThemeColors, c as computeColorValues, d as defaultTheme, b as isCustomColor, i as isThemeColor, s as styleDefaults } from '../shared/core.BspBF3SJ.mjs';
9
+ export { B as BorderStyles, E as ElementShapes, L as LikeC4Styles, R as RelationshipArrowTypes, S as Sizes, T as ThemeColors, c as computeColorValues, d as defaultTheme, b as isCustomColor, i as isThemeColor, s as styleDefaults } from '../shared/core.DGcIbsj4.mjs';
10
10
 
11
11
  function t(...t){return t$1(n,t)}function n(e,t,n){let r={};for(let[i,a]of e.entries()){let o=t(a,i,e);r[o]=n(a,i,e);}return r}
12
12
 
@@ -1,4 +1,4 @@
1
- import { W as WhereOperator, C as Color, f as RelationshipLineType, g as RelationshipArrowType, P as PredicateSelector, h as ElementShape, B as BorderStyle, e as ShapeSize } from '../shared/core.BvPm_-u3.mjs';
1
+ import { W as WhereOperator, C as Color, f as RelationshipLineType, g as RelationshipArrowType, P as PredicateSelector, h as ElementShape, B as BorderStyle, e as ShapeSize } from '../shared/core.DC5IAaDT.mjs';
2
2
  import { A as Any, S as StrictViewId, E as ElementKind, T as Tag } from '../shared/core.D00YbOhQ.mjs';
3
3
  import { E as ExclusiveUnion } from '../shared/core.DB0Ue5Wx.mjs';
4
4
  import { FqnRef } from './fqnRef.mjs';
@@ -1,4 +1,4 @@
1
- export { j as Expression, F as FqnExpr, P as PredicateSelector, i as RelationExpr } from '../shared/core.BvPm_-u3.mjs';
1
+ export { j as Expression, F as FqnExpr, P as PredicateSelector, i as RelationExpr } from '../shared/core.DC5IAaDT.mjs';
2
2
  import '../shared/core.D00YbOhQ.mjs';
3
3
  import '../shared/core.DB0Ue5Wx.mjs';
4
4
  import './fqnRef.mjs';
@@ -1,14 +1,14 @@
1
1
  import { N as NonEmptyArray } from '../shared/core.DB0Ue5Wx.mjs';
2
2
  export { C as Coalesce, E as ExclusiveUnion, I as IterableContainer, c as IteratorLike, K as KeysOf, L as Link, b as NTuple, a as NonEmptyReadonlyArray, P as Predicate, R as ReorderedArray, e as exact } from '../shared/core.DB0Ue5Wx.mjs';
3
3
  export { A as Any, A as AnyAux, b as AnyComputed, c as AnyLayouted, d as AnyParsed, e as Aux, k as ExtractOnStage, L as LooseLiteral, M as ModelStage, f as SpecAux, U as Unknown, g as UnknownComputed, h as UnknownLayouted, i as UnknownParsed, o as _layout, m as _stage, n as _type, _ as aux, l as isOnStage, p as preferDescription, j as preferSummary } from '../shared/core.D00YbOhQ.mjs';
4
- import { B as BorderStyle, h as ElementShape, T as ThemeColor } from '../shared/core.BvPm_-u3.mjs';
5
- export { A as AndOperator, z as BorderStyles, C as Color, G as ColorLiteral, U as CustomColor, Q as CustomColorDefinitions, E as ElementColorValues, D as ElementShapes, k as EqualOperator, j as Expression, u as Filterable, F as FqnExpr, H as HexColor, K as KindEqual, b as LikeC4StyleDefaults, L as LikeC4StylesConfig, a as LikeC4Theme, N as NotOperator, v as OperatorPredicate, O as OrOperator, o as Participant, p as ParticipantOperator, P as PredicateSelector, i as RelationExpr, g as RelationshipArrowType, I as RelationshipArrowTypes, R as RelationshipColorValues, f as RelationshipLineType, e as ShapeSize, y as Size, x as Sizes, S as SpacingSize, l as TagEqual, d as TextSize, c as ThemeColorValues, J as ThemeColors, W as WhereOperator, s as isAndOperator, V as isCustomColor, n as isKindEqual, r as isNotOperator, t as isOrOperator, q as isParticipantOperator, m as isTagEqual, M as isThemeColor, w as whereOperatorAsPredicate } from '../shared/core.BvPm_-u3.mjs';
4
+ import { B as BorderStyle, h as ElementShape, T as ThemeColor } from '../shared/core.DC5IAaDT.mjs';
5
+ export { A as AndOperator, z as BorderStyles, C as Color, G as ColorLiteral, U as CustomColor, Q as CustomColorDefinitions, E as ElementColorValues, D as ElementShapes, k as EqualOperator, j as Expression, u as Filterable, F as FqnExpr, H as HexColor, K as KindEqual, b as LikeC4StyleDefaults, L as LikeC4StylesConfig, a as LikeC4Theme, N as NotOperator, v as OperatorPredicate, O as OrOperator, o as Participant, p as ParticipantOperator, P as PredicateSelector, i as RelationExpr, g as RelationshipArrowType, I as RelationshipArrowTypes, R as RelationshipColorValues, f as RelationshipLineType, e as ShapeSize, y as Size, x as Sizes, S as SpacingSize, l as TagEqual, d as TextSize, c as ThemeColorValues, J as ThemeColors, W as WhereOperator, s as isAndOperator, V as isCustomColor, n as isKindEqual, r as isNotOperator, t as isOrOperator, q as isParticipantOperator, m as isTagEqual, M as isThemeColor, w as whereOperatorAsPredicate } from '../shared/core.DC5IAaDT.mjs';
6
6
  export { ModelExpression, ModelFqnExpr, ModelRelationExpr } from './expression-model.mjs';
7
7
  export { FqnRef } from './fqnRef.mjs';
8
- import { w as AutoLayoutDirection } from '../shared/core.DpKY_3NF.mjs';
9
- export { A as AbstractRelationship, p as AnyExcludePredicate, o as AnyIncludePredicate, q as AnyViewRuleStyle, I as BaseParsedViewProperties, H as BaseViewProperties, W as ComputedDeploymentView, X as ComputedDynamicView, P as ComputedEdge, U as ComputedElementView, O as ComputedNode, C as ComputedNodeStyle, Q as ComputedRankConstraint, Y as DynamicStep, _ as DynamicStepsParallel, Z as DynamicStepsSeries, a6 as DynamicViewDisplayVariant, a4 as DynamicViewIncludeRule, a5 as DynamicViewRule, a0 as DynamicViewStep, f as Element, h as ElementSpecification, E as ElementStyle, a9 as ElementViewExcludePredicate, a8 as ElementViewIncludePredicate, aa as ElementViewPredicate, ag as ElementViewRule, ab as ElementViewRuleGroup, ae as ElementViewRuleRank, ad as ElementViewRuleStyle, b as GlobalDynamicPredicates, G as GlobalPredicateId, a as GlobalPredicates, c as GlobalStyleID, d as GlobalStyles, n as LikeC4Project, m as LikeC4ProjectManualLayoutsConfig, l as LikeC4ProjectStyleDefaults, L as LikeC4ProjectStylesConfig, k as LikeC4ProjectTheme, M as ModelGlobals, g as ModelRelation, N as NodeNotation, a7 as ParsedDynamicView, ah as ParsedElementView, u as RankValue, R as Relationship, j as RelationshipSpecification, S as Specification, T as TagSpecification, B as ViewAutoLayout, D as ViewManualLayout, y as ViewRuleAutoLayout, s as ViewRuleGlobalPredicateRef, V as ViewRuleGlobalStyle, v as ViewRuleRank, F as ViewType, K as ViewWithHash, J as ViewWithNotation, e as ensureSizes, $ as getParallelStepsPrefix, x as isAutoLayoutDirection, a1 as isDynamicStep, a2 as isDynamicStepsParallel, a3 as isDynamicStepsSeries, i as isTagColorSpecified, z as isViewRuleAutoLayout, t as isViewRuleGlobalPredicateRef, r as isViewRuleGlobalStyle, ac as isViewRuleGroup, af as isViewRuleRank } from '../shared/core.DpKY_3NF.mjs';
10
- import { L as LayoutedView } from '../shared/core.Ctj2S3bD.mjs';
11
- export { t as AnyView, o as AuxFromDump, A as AuxFromLikeC4ModelData, C as ComputedLikeC4ModelData, r as ComputedView, e as DeployedInstance, f as DeploymentElement, g as DeploymentElementRef, D as DeploymentNode, k as DeploymentRelation, j as DeploymentRelationship, Y as DeploymentViewExcludePredicate, X as DeploymentViewIncludePredicate, Z as DeploymentViewPredicate, $ as DeploymentViewRule, _ as DeploymentViewRuleStyle, K as DiagramEdge, W as DiagramEdgeDriftReason, J as DiagramNode, U as DiagramNodeDriftReason, M as LayoutType, O as LayoutedDeploymentView, Q as LayoutedDynamicView, N as LayoutedElementView, c as LayoutedLikeC4ModelData, T as LayoutedViewDriftReason, d as LikeC4ModelData, m as LikeC4ModelDump, p as LikeC4View, a0 as ParsedDeploymentView, P as ParsedLikeC4ModelData, p as ParsedView, s as ProcessedView, n as ProjectDump, R as RichText, a as RichTextEmpty, b as RichTextOrEmpty, l as SpecTypesFromDump, S as SpecificationDump, V as ViewManualLayoutSnapshot, u as ViewOnStage, w as ViewRule, x as ViewRulePredicate, v as ViewWithType, B as isComputedView, h as isDeployedInstance, i as isDeploymentNode, H as isDeploymentView, q as isDiagramView, I as isDynamicView, E as isElementView, G as isExtendsElementView, q as isLayoutedView, F as isScopedElementView, y as isViewRulePredicate, z as isViewRuleStyle } from '../shared/core.Ctj2S3bD.mjs';
8
+ import { w as AutoLayoutDirection } from '../shared/core.Dojz4bvg.mjs';
9
+ export { A as AbstractRelationship, p as AnyExcludePredicate, o as AnyIncludePredicate, q as AnyViewRuleStyle, I as BaseParsedViewProperties, H as BaseViewProperties, W as ComputedDeploymentView, X as ComputedDynamicView, P as ComputedEdge, U as ComputedElementView, O as ComputedNode, C as ComputedNodeStyle, Q as ComputedRankConstraint, Y as DynamicStep, _ as DynamicStepsParallel, Z as DynamicStepsSeries, a6 as DynamicViewDisplayVariant, a4 as DynamicViewIncludeRule, a5 as DynamicViewRule, a0 as DynamicViewStep, f as Element, h as ElementSpecification, E as ElementStyle, a9 as ElementViewExcludePredicate, a8 as ElementViewIncludePredicate, aa as ElementViewPredicate, ag as ElementViewRule, ab as ElementViewRuleGroup, ae as ElementViewRuleRank, ad as ElementViewRuleStyle, b as GlobalDynamicPredicates, G as GlobalPredicateId, a as GlobalPredicates, c as GlobalStyleID, d as GlobalStyles, n as LikeC4Project, m as LikeC4ProjectManualLayoutsConfig, l as LikeC4ProjectStyleDefaults, L as LikeC4ProjectStylesConfig, k as LikeC4ProjectTheme, M as ModelGlobals, g as ModelRelation, N as NodeNotation, a7 as ParsedDynamicView, ah as ParsedElementView, u as RankValue, R as Relationship, j as RelationshipSpecification, S as Specification, T as TagSpecification, B as ViewAutoLayout, D as ViewManualLayout, y as ViewRuleAutoLayout, s as ViewRuleGlobalPredicateRef, V as ViewRuleGlobalStyle, v as ViewRuleRank, F as ViewType, K as ViewWithHash, J as ViewWithNotation, e as ensureSizes, $ as getParallelStepsPrefix, x as isAutoLayoutDirection, a1 as isDynamicStep, a2 as isDynamicStepsParallel, a3 as isDynamicStepsSeries, i as isTagColorSpecified, z as isViewRuleAutoLayout, t as isViewRuleGlobalPredicateRef, r as isViewRuleGlobalStyle, ac as isViewRuleGroup, af as isViewRuleRank } from '../shared/core.Dojz4bvg.mjs';
10
+ import { L as LayoutedView } from '../shared/core.osFs8tU7.mjs';
11
+ export { t as AnyView, o as AuxFromDump, A as AuxFromLikeC4ModelData, C as ComputedLikeC4ModelData, r as ComputedView, e as DeployedInstance, f as DeploymentElement, g as DeploymentElementRef, D as DeploymentNode, k as DeploymentRelation, j as DeploymentRelationship, Y as DeploymentViewExcludePredicate, X as DeploymentViewIncludePredicate, Z as DeploymentViewPredicate, $ as DeploymentViewRule, _ as DeploymentViewRuleStyle, K as DiagramEdge, W as DiagramEdgeDriftReason, J as DiagramNode, U as DiagramNodeDriftReason, M as LayoutType, O as LayoutedDeploymentView, Q as LayoutedDynamicView, N as LayoutedElementView, c as LayoutedLikeC4ModelData, T as LayoutedViewDriftReason, d as LikeC4ModelData, m as LikeC4ModelDump, p as LikeC4View, a0 as ParsedDeploymentView, P as ParsedLikeC4ModelData, p as ParsedView, s as ProcessedView, n as ProjectDump, R as RichText, a as RichTextEmpty, b as RichTextOrEmpty, l as SpecTypesFromDump, S as SpecificationDump, V as ViewManualLayoutSnapshot, u as ViewOnStage, w as ViewRule, x as ViewRulePredicate, v as ViewWithType, B as isComputedView, h as isDeployedInstance, i as isDeploymentNode, H as isDeploymentView, q as isDiagramView, I as isDynamicView, E as isElementView, G as isExtendsElementView, q as isLayoutedView, F as isScopedElementView, y as isViewRulePredicate, z as isViewRuleStyle } from '../shared/core.osFs8tU7.mjs';
12
12
  import { F as Fqn, D as DeploymentFqn } from '../shared/core.C_3y3eqV.mjs';
13
13
  export { A as AnyFqn, B as BuiltInIcon, b as DeploymentKind, k as EdgeId, E as ElementKind, e as GlobalFqn, G as GroupElementKind, I as Icon, a as IconUrl, M as MarkdownOrString, j as NodeId, N as NoneIcon, P as ProjectId, d as RelationId, R as RelationKind, c as RelationshipKind, l as StepEdgeId, S as StepEdgeIdLiteral, n as StepEdgeKind, T as Tag, V as ViewId, p as extractStep, f as flattenMarkdownOrString, g as isGlobalFqn, i as isGroupElementKind, o as isStepEdgeId, s as scalar, h as splitGlobalFqn, m as stepEdgeId } from '../shared/core.C_3y3eqV.mjs';
14
14
  export { B as BBox, P as Point, R as RectBox, X as XYPoint } from '../shared/core.BPGOjone.mjs';
@@ -1,10 +1,10 @@
1
- export { R as RichText, e as exact } from '../shared/core.DEK-BO3_.mjs';
1
+ export { R as RichText, e as exact } from '../shared/core.CHf8VEa3.mjs';
2
2
  export { preferDescription, preferSummary } from './_aux.mjs';
3
3
  export { b as _layout, _ as _stage, a as _type, j as isAndOperator, n as isComputedView, d as isDeployedInstance, c as isDeploymentNode, s as isDeploymentView, o as isDiagramView, t as isDynamicView, p as isElementView, r as isExtendsElementView, f as isKindEqual, o as isLayoutedView, h as isNotOperator, i as isOnStage, k as isOrOperator, g as isParticipantOperator, q as isScopedElementView, e as isTagEqual, l as isViewRulePredicate, m as isViewRuleStyle, w as whereOperatorAsPredicate } from '../shared/core.DH7TXqXf.mjs';
4
4
  export { Expression, FqnExpr, RelationExpr } from './expression.mjs';
5
5
  export { ModelExpression, ModelFqnExpr, ModelRelationExpr } from './expression-model.mjs';
6
6
  export { FqnRef } from './fqnRef.mjs';
7
- export { e as ensureSizes } from '../shared/core.BspBF3SJ.mjs';
7
+ export { e as ensureSizes } from '../shared/core.DGcIbsj4.mjs';
8
8
  export { D as DeploymentFqn, E as EdgeId, F as Fqn, a as GlobalFqn, G as GroupElementKind, d as NodeId, N as NoneIcon, P as ProjectId, R as RelationId, S as StepEdgeKind, V as ViewId, h as extractStep, f as flattenMarkdownOrString, b as isGlobalFqn, i as isGroupElementKind, g as isStepEdgeId, s as scalar, c as splitGlobalFqn, e as stepEdgeId } from '../shared/core.D0WZutNd.mjs';
9
9
  export { g as getParallelStepsPrefix, b as isAutoLayoutDirection, d as isDynamicStep, e as isDynamicStepsParallel, f as isDynamicStepsSeries, c as isViewRuleAutoLayout, a as isViewRuleGlobalPredicateRef, i as isViewRuleGlobalStyle, h as isViewRuleGroup, j as isViewRuleRank } from '../shared/core.om36dXXW.mjs';
10
10
  export { BBox, RectBox, Vector, vector } from '../geometry/index.mjs';
@@ -1,12 +1,12 @@
1
1
  export { i as invariant, a as nonNullable, n as nonexhaustive } from '../shared/core.D4npX2q8.mjs';
2
- export { S as Stack, c as commonHead, a as compareRelations, o as objectHash } from '../shared/core.xeuDd__E.mjs';
2
+ export { S as Stack, c as commonHead, a as compareRelations, o as objectHash } from '../shared/core.btEq3i3f.mjs';
3
3
  export { c as compareNatural, b as compareNaturalHierarchically } from '../shared/core.3ZhnKAlZ.mjs';
4
4
  export { a as ancestorsFqn, g as commonAncestor, j as compareByFqnHierarchically, k as compareFqnHierarchically, h as hasProp, l as hierarchyDistance, m as hierarchyLevel, i as isAncestor, q as isAnyOf, b as isDescendantOf, c as isNonEmptyArray, d as isSameHierarchy, e as isString, n as nameFromFqn, p as parentFqn, o as sortByFqnHierarchically, s as sortNaturalByFqn, f as sortParentsFirst } from '../shared/core.CdNCAwq7.mjs';
5
5
  export { g as getOrCreate } from '../shared/core.DcS-0zys.mjs';
6
6
  export { m as memoizeProp } from '../shared/core.CLSZtnFh.mjs';
7
7
  export { d as difference, e as equalsSet, i as intersection, s as symmetricDifference, u as union } from '../shared/core.DbfO90vF.mjs';
8
8
  export { s as stringHash } from '../shared/core.oSV6SRfk.mjs';
9
- export { b as BiMap, d as DefaultWeakMap, l as LinkedList, m as MultiMap, q as Queue } from '../shared/core.BYdtmqY5.mjs';
9
+ export { b as BiMap, d as DefaultWeakMap, l as LinkedList, m as MultiMap, q as Queue } from '../shared/core.BNN-3vPH.mjs';
10
10
  export { D as DefaultMap } from '../shared/core.BbE4y-yl.mjs';
11
11
  export { i as ifilter } from '../shared/core.DRJma0Ol.mjs';
12
12
  export { i as ifind } from '../shared/core.CmPXpJ8l.mjs';
@@ -16,7 +16,7 @@ export { i as ihead } from '../shared/core.uFk_o9X6.mjs';
16
16
  export { i as imap, a as toArray, t as toSet } from '../shared/core.C3JowhaZ.mjs';
17
17
  export { i as isIterable } from '../shared/core.RfnaEmgA.mjs';
18
18
  export { i as isome } from '../shared/core.FZ305VYd.mjs';
19
- export { m as markdownToHtml, a as markdownToText } from '../shared/core.CBLX4mT8.mjs';
19
+ export { m as markdownToHtml, a as markdownToText } from '../shared/core.Bdy3hhTc.mjs';
20
20
 
21
21
  function e(e,t){let n=Math.ceil(e),r=Math.floor(t);if(r<n)throw RangeError(`randomInteger: The range [${e.toString()},${t.toString()}] contains no integer`);return Math.floor(Math.random()*(r-n+1)+n)}
22
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@likec4/core",
3
- "version": "1.46.4",
3
+ "version": "1.47.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://likec4.dev",
6
6
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -129,14 +129,15 @@
129
129
  "graphology": "^0.26.0",
130
130
  "graphology-dag": "^0.4.1",
131
131
  "graphology-types": "^0.24.8",
132
- "immer": "^11.0.1",
132
+ "immer": "^11.1.0",
133
133
  "mdast-util-from-markdown": "^2.0.2",
134
134
  "mdast-util-to-string": "^4.0.0",
135
+ "mdast-util-to-hast": "^13.2.1",
135
136
  "mnemonist": "0.40.3",
136
137
  "natural-compare-lite": "^1.4.0",
137
138
  "object-hash": "^3.0.0",
138
139
  "obliterator": "^2.0.5",
139
- "oxlint": "1.33.0",
140
+ "oxlint": "1.35.0",
140
141
  "rehype-format": "5.0.1",
141
142
  "rehype-sanitize": "^6.0.0",
142
143
  "rehype-stringify": "10.0.1",
@@ -145,7 +146,7 @@
145
146
  "remark-parse": "11.0.0",
146
147
  "remark-rehype": "11.1.2",
147
148
  "remeda": "^2.32.0",
148
- "turbo": "2.6.3",
149
+ "turbo": "2.7.2",
149
150
  "typescript": "5.9.3",
150
151
  "unbuild": "3.5.0",
151
152
  "unified": "11.0.5",