likec4 1.19.1 → 1.19.2

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,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{f as Kr,Y as De,g as Di,a as Qr,T as Xr,N as Ci,i as Zr,n as wi,x as es,b as ts,c as Ai,d as Ei,t as ns,p as A,e as is,h as rs,j as Le,w as ss,k as os,m as us,o as bi,u as Fi,L as ze,q as as,s as $t,r as On,v as yi,E as vi,y as cs,z as ls}from"../shared/likec4.CLgnaOeL.mjs";import"node:util";import Ft,{resolve as J,dirname as ot,join as It,extname as xt,relative as ut,isAbsolute as _n,basename as Xt}from"node:path";import Bi,{hrtime as fs,cwd as Sn,stdout as ds,exit as hs,argv as ps}from"node:process";import"node:tty";import{notStrictEqual as ms,strictEqual as gs}from"assert";import{resolve as ve,dirname as $n,normalize as Ds,basename as Cs,extname as ws,relative as As}from"path";import{statSync as Oi,readdirSync as Es,readFileSync as In,writeFile as bs}from"fs";import{format as _i,inspect as Fs}from"util";import{fileURLToPath as ys}from"url";import vs,{existsSync as Ke,copyFileSync as Si,rmSync as $i}from"node:fs";import{mkdtemp as Zt,writeFile as at,mkdir as He,stat as xn,copyFile as Bs,rm as Os}from"node:fs/promises";import _s,{tmpdir as en}from"node:os";import{fileURLToPath as Ii}from"node:url";import xi from"@vitejs/plugin-react-swc";import{i as ji,k as Ss,Q as $s,l as Li,u as jn}from"../shared/likec4.1r1CQuHw.mjs";import{build as jt,createServer as Is,preview as xs}from"vite";import{chromium as Pi}from"playwright";import js from"node:net";import{setTimeout as Ls}from"node:timers/promises";import"tty";import"os";import"crypto";import"net";import"child_process";import"@hpcc-js/wasm-graphviz";import"buffer";import"node:child_process";import"node:string_decoder";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";const Ps=!1,Ns={right:Ws,center:Vs},ks=0,tn=1,Ms=2,nn=3;class Ts{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){const t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);const t=e.map(n=>typeof n=="string"?this.colFromString(n):n);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){const t=e.split(`
2
+ import{f as Kr,Y as De,g as Di,a as Qr,T as Xr,N as Ci,i as Zr,n as wi,x as es,b as ts,c as Ai,d as Ei,t as ns,p as A,e as is,h as rs,j as Le,w as ss,k as os,m as us,o as bi,u as Fi,L as ze,q as as,s as $t,r as On,v as yi,E as vi,y as cs,z as ls}from"../shared/likec4.D7BM0ZAO.mjs";import"node:util";import Ft,{resolve as J,dirname as ot,join as It,extname as xt,relative as ut,isAbsolute as _n,basename as Xt}from"node:path";import Bi,{hrtime as fs,cwd as Sn,stdout as ds,exit as hs,argv as ps}from"node:process";import"node:tty";import{notStrictEqual as ms,strictEqual as gs}from"assert";import{resolve as ve,dirname as $n,normalize as Ds,basename as Cs,extname as ws,relative as As}from"path";import{statSync as Oi,readdirSync as Es,readFileSync as In,writeFile as bs}from"fs";import{format as _i,inspect as Fs}from"util";import{fileURLToPath as ys}from"url";import vs,{existsSync as Ke,copyFileSync as Si,rmSync as $i}from"node:fs";import{mkdtemp as Zt,writeFile as at,mkdir as He,stat as xn,copyFile as Bs,rm as Os}from"node:fs/promises";import _s,{tmpdir as en}from"node:os";import{fileURLToPath as Ii}from"node:url";import xi from"@vitejs/plugin-react-swc";import{O as ji,T as Ss,Q as $s,n as Li,o as jn}from"../shared/likec4.Cgd5VecV.mjs";import{build as jt,createServer as Is,preview as xs}from"vite";import{chromium as Pi}from"playwright";import js from"node:net";import{setTimeout as Ls}from"node:timers/promises";import"tty";import"os";import"crypto";import"net";import"child_process";import"@hpcc-js/wasm-graphviz";import"buffer";import"node:child_process";import"node:string_decoder";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";const Ps=!1,Ns={right:Ws,center:Vs},ks=0,tn=1,Ms=2,nn=3;class Ts{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){const t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);const t=e.map(n=>typeof n=="string"?this.colFromString(n):n);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){const t=e.split(`
3
3
  `).map(r=>r.split(" "));let n=0;return t.forEach(r=>{r.length>1&&Ee.stringWidth(r[0])>n&&(n=Math.min(Math.floor(this.width*.5),Ee.stringWidth(r[0])))}),t.forEach(r=>{this.div(...r.map((s,o)=>({text:s.trim(),padding:this.measurePadding(s),width:o===0&&r.length>1?n:void 0})))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){const t=Ee.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){const e=[];return this.rows.forEach(t=>{this.rowToString(t,e)}),e.filter(t=>!t.hidden).map(t=>t.text).join(`
4
4
  `)}rowToString(e,t){return this.rasterize(e).forEach((n,r)=>{let s="";n.forEach((o,a)=>{const{width:c}=e[a],h=this.negatePadding(e[a]);let l=o;if(h>Ee.stringWidth(o)&&(l+=" ".repeat(h-Ee.stringWidth(o))),e[a].align&&e[a].align!=="left"&&this.wrap){const p=Ns[e[a].align];l=p(l,h),Ee.stringWidth(l)<h&&(l+=" ".repeat((c||0)-Ee.stringWidth(l)-1))}const f=e[a].padding||[0,0,0,0];f[nn]&&(s+=" ".repeat(f[nn])),s+=Ni(e[a],l,"| "),s+=l,s+=Ni(e[a],l," |"),f[tn]&&(s+=" ".repeat(f[tn])),r===0&&t.length>0&&(s=this.renderInline(s,t[t.length-1]))}),t.push({text:s.replace(/ +$/,""),span:e.span})}),t}renderInline(e,t){const n=e.match(/^ */),r=n?n[0].length:0,s=t.text,o=Ee.stringWidth(s.trimRight());return t.span?this.wrap?r<o?e:(t.hidden=!0,s.trimRight()+" ".repeat(r-o)+e.trimLeft()):(t.hidden=!0,s+e):e}rasterize(e){const t=[],n=this.columnWidths(e);let r;return e.forEach((s,o)=>{s.width=n[o],this.wrap?r=Ee.wrap(s.text,this.negatePadding(s),{hard:!0}).split(`
5
5
  `):r=s.text.split(`
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const LikeC4=require("./shared/likec4.CfqfZIn-.cjs"),index_DafVOuVd=require("./shared/likec4.D81G5JV4.cjs");require("node:fs"),require("node:path"),require("node:url"),require("tty"),require("node:util"),require("util"),require("path"),require("os"),require("crypto"),require("net"),require("url"),require("fs"),require("child_process"),require("node:fs/promises"),require("node:process"),require("node:tty"),require("@hpcc-js/wasm-graphviz"),require("buffer"),require("node:child_process"),require("node:string_decoder"),require("node:timers/promises"),require("node:os"),require("node:events"),require("node:v8"),require("node:stream"),require("node:buffer"),require("node:stream/promises"),require("vite"),exports.LikeC4=LikeC4.L,exports.LikeC4DeploymentModel=index_DafVOuVd.M,exports.LikeC4Model=index_DafVOuVd.j,exports.LikeC4ViewModel=index_DafVOuVd.P;
1
+ "use strict";const LikeC4=require("./shared/likec4.-U9_Dinu.cjs"),index_KOeaSlL8=require("./shared/likec4.CVn8U3Og.cjs");require("node:fs"),require("node:path"),require("node:url"),require("tty"),require("node:util"),require("util"),require("path"),require("os"),require("crypto"),require("net"),require("url"),require("fs"),require("child_process"),require("node:fs/promises"),require("node:process"),require("node:tty"),require("@hpcc-js/wasm-graphviz"),require("buffer"),require("node:child_process"),require("node:string_decoder"),require("node:timers/promises"),require("node:os"),require("node:events"),require("node:v8"),require("node:stream"),require("node:buffer"),require("node:stream/promises"),require("vite"),exports.LikeC4=LikeC4.L,exports.LikeC4DeploymentModel=index_KOeaSlL8.U,exports.LikeC4Model=index_KOeaSlL8.a,exports.LikeC4ViewModel=index_KOeaSlL8.V;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { i as ComputedView, T as OverviewGraph, z as DiagramView, F as Fqn, $ as ViewId, K as ElementKind$1, a2 as NonEmptyArray, Z as Tag$1, a3 as ElementShape$1, a4 as IconUrl, m as Color$1, a5 as BorderStyle, a6 as RelationshipKind$1, a7 as RelationshipLineType, a8 as RelationshipArrowType, a9 as CustomColor$1, O as HexColorLiteral, v as DeploymentNodeKind$1, aa as DeploymentNodeKindSpecification, X as RelationId, t as DeploymentElement$1, u as DeploymentNode$1, s as DeployedInstance$1, w as DeploymentRelation$1, ab as ModelGlobals, ac as ViewRule$1, ad as ViewManualLayout, ae as DynamicViewStepOrParallel, af as DynamicViewRule$1, ag as DeploymentViewRule$1, U as ParsedLikeC4Model, r as ComputedLikeC4Model, ah as ViewChange, L as LikeC4Model } from './shared/likec4.DCwaTTuF.cjs';
2
- export { k as AbstractRelation, A as AnyAux, l as AutoLayoutDirection, e as Aux, B as BBox, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, C as ComputedNode, x as DeploymentView, y as DiagramEdge, j as DiagramNode, G as DynamicView, H as EdgeId, J as Element, M as ElementView, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, V as Point, W as RelationExpr, Y as StepEdgeId, _ as ThemeColor, a1 as XYPoint } from './shared/likec4.DCwaTTuF.cjs';
1
+ import { i as ComputedView, T as OverviewGraph, z as DiagramView, F as Fqn, $ as ViewId, K as ElementKind$1, a2 as NonEmptyArray, Z as Tag$1, a3 as ElementShape$1, a4 as IconUrl, m as Color$1, a5 as BorderStyle, a6 as RelationshipKind$1, a7 as RelationshipLineType, a8 as RelationshipArrowType, a9 as CustomColor$1, O as HexColorLiteral, v as DeploymentNodeKind$1, aa as DeploymentNodeKindSpecification, X as RelationId, t as DeploymentElement$1, u as DeploymentNode$1, s as DeployedInstance$1, w as DeploymentRelation$1, ab as ModelGlobals, ac as ViewRule$1, ad as ViewManualLayout, ae as DynamicViewStepOrParallel, af as DynamicViewRule$1, ag as DeploymentViewRule$1, U as ParsedLikeC4Model, r as ComputedLikeC4Model, ah as ViewChange, L as LikeC4Model } from './shared/likec4.DJeGiAvE.cjs';
2
+ export { k as AbstractRelation, A as AnyAux, l as AutoLayoutDirection, e as Aux, B as BBox, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, C as ComputedNode, x as DeploymentView, y as DiagramEdge, j as DiagramNode, G as DynamicView, H as EdgeId, J as Element, M as ElementView, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, V as Point, W as RelationExpr, Y as StepEdgeId, _ as ThemeColor, a1 as XYPoint } from './shared/likec4.DJeGiAvE.cjs';
3
3
  import { Tagged, Writable, ValueOf, ConditionalPick } from 'type-fest';
4
4
 
5
5
  declare function invariant(condition: any, message?: string): asserts condition;
@@ -13938,7 +13938,7 @@ declare const ElementPredicateOrWhere = "ElementPredicateOrWhere";
13938
13938
  type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
13939
13939
  declare const ElementProperty = "ElementProperty";
13940
13940
  type ElementShape = 'browser' | 'cylinder' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
13941
- type ExpressionV2 = FqnExpr | RelationExpr;
13941
+ type ExpressionV2 = FqnExpr | RelationPredicateOrWhereV2;
13942
13942
  declare const ExpressionV2 = "ExpressionV2";
13943
13943
  type FqnExpr = FqnRefExpr | WildcardExpression;
13944
13944
  declare const FqnExpr = "FqnExpr";
@@ -13963,6 +13963,8 @@ type RelationPredicate = RelationPredicateOrWhere | RelationPredicateWith;
13963
13963
  declare const RelationPredicate = "RelationPredicate";
13964
13964
  type RelationPredicateOrWhere = RelationExpression | RelationPredicateWhere;
13965
13965
  declare const RelationPredicateOrWhere = "RelationPredicateOrWhere";
13966
+ type RelationPredicateOrWhereV2 = RelationExpr | RelationPredicateWhereV2;
13967
+ declare const RelationPredicateOrWhereV2 = "RelationPredicateOrWhereV2";
13966
13968
  type RelationProperty = LinkProperty | MetadataProperty | RelationNavigateToProperty | RelationStringProperty | RelationStyleProperty;
13967
13969
  declare const RelationProperty = "RelationProperty";
13968
13970
  type RelationshipStyleProperty = ArrowProperty | ColorProperty | LineProperty;
@@ -14131,7 +14133,7 @@ interface DeploymentViewRuleStyle extends AstNode {
14131
14133
  }
14132
14134
  declare const DeploymentViewRuleStyle = "DeploymentViewRuleStyle";
14133
14135
  interface DirectedRelationExpr extends AstNode {
14134
- readonly $container: DeploymentViewRulePredicateExpression;
14136
+ readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
14135
14137
  readonly $type: 'DirectedRelationExpr';
14136
14138
  source: OutgoingRelationExpr;
14137
14139
  target: FqnExpr;
@@ -14422,7 +14424,7 @@ interface IncludePredicate extends AstNode {
14422
14424
  }
14423
14425
  declare const IncludePredicate = "IncludePredicate";
14424
14426
  interface IncomingRelationExpr extends AstNode {
14425
- readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr;
14427
+ readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr | RelationPredicateWhereV2;
14426
14428
  readonly $type: 'IncomingRelationExpr';
14427
14429
  to: FqnExpr;
14428
14430
  }
@@ -14434,7 +14436,7 @@ interface IncomingRelationExpression extends AstNode {
14434
14436
  }
14435
14437
  declare const IncomingRelationExpression = "IncomingRelationExpression";
14436
14438
  interface InOutRelationExpr extends AstNode {
14437
- readonly $container: DeploymentViewRulePredicateExpression;
14439
+ readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
14438
14440
  readonly $type: 'InOutRelationExpr';
14439
14441
  inout: IncomingRelationExpr;
14440
14442
  }
@@ -14546,7 +14548,7 @@ interface OpacityProperty extends AstNode {
14546
14548
  }
14547
14549
  declare const OpacityProperty = "OpacityProperty";
14548
14550
  interface OutgoingRelationExpr extends AstNode {
14549
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr;
14551
+ readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | RelationPredicateWhereV2;
14550
14552
  readonly $type: 'OutgoingRelationExpr';
14551
14553
  from: FqnExpr;
14552
14554
  isBidirectional: boolean;
@@ -14601,6 +14603,13 @@ interface RelationPredicateWhere extends AstNode {
14601
14603
  where?: WhereRelationExpression;
14602
14604
  }
14603
14605
  declare const RelationPredicateWhere = "RelationPredicateWhere";
14606
+ interface RelationPredicateWhereV2 extends AstNode {
14607
+ readonly $container: DeploymentViewRulePredicateExpression;
14608
+ readonly $type: 'RelationPredicateWhereV2';
14609
+ subject: RelationExpr;
14610
+ where?: WhereRelationExpression;
14611
+ }
14612
+ declare const RelationPredicateWhereV2 = "RelationPredicateWhereV2";
14604
14613
  interface RelationPredicateWith extends AstNode {
14605
14614
  readonly $container: Predicates;
14606
14615
  readonly $type: 'RelationPredicateWith';
@@ -14756,7 +14765,7 @@ interface ViewStringProperty extends AstNode {
14756
14765
  }
14757
14766
  declare const ViewStringProperty = "ViewStringProperty";
14758
14767
  interface WhereBinaryExpression extends AstNode {
14759
- readonly $container: ElementPredicateWhere | RelationPredicateWhere | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
14768
+ readonly $container: ElementPredicateWhere | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
14760
14769
  readonly $type: 'WhereBinaryExpression';
14761
14770
  left: WhereElementExpression | WhereRelationExpression;
14762
14771
  operator: 'and' | 'or';
@@ -14786,7 +14795,7 @@ interface WhereElementTag extends AstNode {
14786
14795
  }
14787
14796
  declare const WhereElementTag = "WhereElementTag";
14788
14797
  interface WhereRelationKind extends AstNode {
14789
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14798
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14790
14799
  readonly $type: 'WhereRelationKind';
14791
14800
  not: boolean;
14792
14801
  operator: 'is' | string;
@@ -14794,13 +14803,13 @@ interface WhereRelationKind extends AstNode {
14794
14803
  }
14795
14804
  declare const WhereRelationKind = "WhereRelationKind";
14796
14805
  interface WhereRelationNegation extends AstNode {
14797
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14806
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14798
14807
  readonly $type: 'WhereRelationNegation';
14799
14808
  value: WhereRelationExpression;
14800
14809
  }
14801
14810
  declare const WhereRelationNegation = "WhereRelationNegation";
14802
14811
  interface WhereRelationTag extends AstNode {
14803
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14812
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14804
14813
  readonly $type: 'WhereRelationTag';
14805
14814
  not: boolean;
14806
14815
  operator: 'is' | string;
@@ -14915,7 +14924,9 @@ type LikeC4AstType = {
14915
14924
  RelationNavigateToProperty: RelationNavigateToProperty;
14916
14925
  RelationPredicate: RelationPredicate;
14917
14926
  RelationPredicateOrWhere: RelationPredicateOrWhere;
14927
+ RelationPredicateOrWhereV2: RelationPredicateOrWhereV2;
14918
14928
  RelationPredicateWhere: RelationPredicateWhere;
14929
+ RelationPredicateWhereV2: RelationPredicateWhereV2;
14919
14930
  RelationPredicateWith: RelationPredicateWith;
14920
14931
  RelationProperty: RelationProperty;
14921
14932
  RelationStringProperty: RelationStringProperty;
@@ -14965,7 +14976,7 @@ type LikeC4AstType = {
14965
14976
 
14966
14977
  type Guard<N extends AstNode> = (n: AstNode) => n is N;
14967
14978
  type Guarded<G> = G extends Guard<infer N> ? N : never;
14968
- declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression | ElementPredicateWhere | ElementPredicateWith | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | FqnRefExpr | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | Element | ExtendElement | DeploymentView | DynamicView | ElementView | DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression | RelationPredicateWhere | RelationPredicateWith | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ExcludePredicate | IncludePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | Tags | DeploymentRelation | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | DynamicViewPredicateIterator | Relation | SpecificationElementKind | GlobalPredicateGroup | Globals | GlobalStyleGroup | SpecificationRule | SpecificationTag;
14979
+ declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression | ElementPredicateWhere | ElementPredicateWith | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | FqnRefExpr | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | RelationPredicateWhereV2 | Element | ExtendElement | DeploymentView | DynamicView | ElementView | DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression | RelationPredicateWhere | RelationPredicateWith | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ExcludePredicate | IncludePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | Tags | DeploymentRelation | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | DynamicViewPredicateIterator | Relation | SpecificationElementKind | GlobalPredicateGroup | Globals | GlobalStyleGroup | SpecificationRule | SpecificationTag;
14969
14980
  type ValidatableAstNode = Guarded<typeof isValidatableAstNode>;
14970
14981
  declare function checksFromDiagnostics(doc: LikeC4LangiumDocument): {
14971
14982
  isValid: (n: ValidatableAstNode) => boolean;
@@ -15360,6 +15371,7 @@ declare const DocumentParserFromMixins: {
15360
15371
  parseFqnExpr(astNode: FqnExpr): invariant;
15361
15372
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15362
15373
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15374
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15363
15375
  parseRelationExpr(astNode: RelationExpr): invariant;
15364
15376
  parseDeployment(): void;
15365
15377
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
@@ -15417,6 +15429,7 @@ declare const DocumentParserFromMixins: {
15417
15429
  parseFqnExpr(astNode: FqnExpr): invariant;
15418
15430
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15419
15431
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15432
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15420
15433
  parseRelationExpr(astNode: RelationExpr): invariant;
15421
15434
  parseDeployment(): void;
15422
15435
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
@@ -15483,6 +15496,7 @@ declare const DocumentParserFromMixins: {
15483
15496
  parseFqnExpr(astNode: FqnExpr): invariant;
15484
15497
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15485
15498
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15499
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15486
15500
  parseRelationExpr(astNode: RelationExpr): invariant;
15487
15501
  isValid: IsValidFn;
15488
15502
  readonly services: LikeC4Services;
@@ -15515,6 +15529,7 @@ declare const DocumentParserFromMixins: {
15515
15529
  parseFqnExpr(astNode: FqnExpr): invariant;
15516
15530
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15517
15531
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15532
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15518
15533
  parseRelationExpr(astNode: RelationExpr): invariant;
15519
15534
  isValid: IsValidFn;
15520
15535
  readonly services: LikeC4Services;
@@ -15561,6 +15576,7 @@ declare const DocumentParserFromMixins: {
15561
15576
  parseFqnExpr(astNode: FqnExpr): invariant;
15562
15577
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15563
15578
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15579
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15564
15580
  parseRelationExpr(astNode: RelationExpr): invariant;
15565
15581
  isValid: IsValidFn;
15566
15582
  readonly services: LikeC4Services;
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { i as ComputedView, T as OverviewGraph, z as DiagramView, F as Fqn, $ as ViewId, K as ElementKind$1, a2 as NonEmptyArray, Z as Tag$1, a3 as ElementShape$1, a4 as IconUrl, m as Color$1, a5 as BorderStyle, a6 as RelationshipKind$1, a7 as RelationshipLineType, a8 as RelationshipArrowType, a9 as CustomColor$1, O as HexColorLiteral, v as DeploymentNodeKind$1, aa as DeploymentNodeKindSpecification, X as RelationId, t as DeploymentElement$1, u as DeploymentNode$1, s as DeployedInstance$1, w as DeploymentRelation$1, ab as ModelGlobals, ac as ViewRule$1, ad as ViewManualLayout, ae as DynamicViewStepOrParallel, af as DynamicViewRule$1, ag as DeploymentViewRule$1, U as ParsedLikeC4Model, r as ComputedLikeC4Model, ah as ViewChange, L as LikeC4Model } from './shared/likec4.DCwaTTuF.mjs';
2
- export { k as AbstractRelation, A as AnyAux, l as AutoLayoutDirection, e as Aux, B as BBox, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, C as ComputedNode, x as DeploymentView, y as DiagramEdge, j as DiagramNode, G as DynamicView, H as EdgeId, J as Element, M as ElementView, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, V as Point, W as RelationExpr, Y as StepEdgeId, _ as ThemeColor, a1 as XYPoint } from './shared/likec4.DCwaTTuF.mjs';
1
+ import { i as ComputedView, T as OverviewGraph, z as DiagramView, F as Fqn, $ as ViewId, K as ElementKind$1, a2 as NonEmptyArray, Z as Tag$1, a3 as ElementShape$1, a4 as IconUrl, m as Color$1, a5 as BorderStyle, a6 as RelationshipKind$1, a7 as RelationshipLineType, a8 as RelationshipArrowType, a9 as CustomColor$1, O as HexColorLiteral, v as DeploymentNodeKind$1, aa as DeploymentNodeKindSpecification, X as RelationId, t as DeploymentElement$1, u as DeploymentNode$1, s as DeployedInstance$1, w as DeploymentRelation$1, ab as ModelGlobals, ac as ViewRule$1, ad as ViewManualLayout, ae as DynamicViewStepOrParallel, af as DynamicViewRule$1, ag as DeploymentViewRule$1, U as ParsedLikeC4Model, r as ComputedLikeC4Model, ah as ViewChange, L as LikeC4Model } from './shared/likec4.DJeGiAvE.mjs';
2
+ export { k as AbstractRelation, A as AnyAux, l as AutoLayoutDirection, e as Aux, B as BBox, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, C as ComputedNode, x as DeploymentView, y as DiagramEdge, j as DiagramNode, G as DynamicView, H as EdgeId, J as Element, M as ElementView, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, V as Point, W as RelationExpr, Y as StepEdgeId, _ as ThemeColor, a1 as XYPoint } from './shared/likec4.DJeGiAvE.mjs';
3
3
  import { Tagged, Writable, ValueOf, ConditionalPick } from 'type-fest';
4
4
 
5
5
  declare function invariant(condition: any, message?: string): asserts condition;
@@ -13938,7 +13938,7 @@ declare const ElementPredicateOrWhere = "ElementPredicateOrWhere";
13938
13938
  type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
13939
13939
  declare const ElementProperty = "ElementProperty";
13940
13940
  type ElementShape = 'browser' | 'cylinder' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
13941
- type ExpressionV2 = FqnExpr | RelationExpr;
13941
+ type ExpressionV2 = FqnExpr | RelationPredicateOrWhereV2;
13942
13942
  declare const ExpressionV2 = "ExpressionV2";
13943
13943
  type FqnExpr = FqnRefExpr | WildcardExpression;
13944
13944
  declare const FqnExpr = "FqnExpr";
@@ -13963,6 +13963,8 @@ type RelationPredicate = RelationPredicateOrWhere | RelationPredicateWith;
13963
13963
  declare const RelationPredicate = "RelationPredicate";
13964
13964
  type RelationPredicateOrWhere = RelationExpression | RelationPredicateWhere;
13965
13965
  declare const RelationPredicateOrWhere = "RelationPredicateOrWhere";
13966
+ type RelationPredicateOrWhereV2 = RelationExpr | RelationPredicateWhereV2;
13967
+ declare const RelationPredicateOrWhereV2 = "RelationPredicateOrWhereV2";
13966
13968
  type RelationProperty = LinkProperty | MetadataProperty | RelationNavigateToProperty | RelationStringProperty | RelationStyleProperty;
13967
13969
  declare const RelationProperty = "RelationProperty";
13968
13970
  type RelationshipStyleProperty = ArrowProperty | ColorProperty | LineProperty;
@@ -14131,7 +14133,7 @@ interface DeploymentViewRuleStyle extends AstNode {
14131
14133
  }
14132
14134
  declare const DeploymentViewRuleStyle = "DeploymentViewRuleStyle";
14133
14135
  interface DirectedRelationExpr extends AstNode {
14134
- readonly $container: DeploymentViewRulePredicateExpression;
14136
+ readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
14135
14137
  readonly $type: 'DirectedRelationExpr';
14136
14138
  source: OutgoingRelationExpr;
14137
14139
  target: FqnExpr;
@@ -14422,7 +14424,7 @@ interface IncludePredicate extends AstNode {
14422
14424
  }
14423
14425
  declare const IncludePredicate = "IncludePredicate";
14424
14426
  interface IncomingRelationExpr extends AstNode {
14425
- readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr;
14427
+ readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr | RelationPredicateWhereV2;
14426
14428
  readonly $type: 'IncomingRelationExpr';
14427
14429
  to: FqnExpr;
14428
14430
  }
@@ -14434,7 +14436,7 @@ interface IncomingRelationExpression extends AstNode {
14434
14436
  }
14435
14437
  declare const IncomingRelationExpression = "IncomingRelationExpression";
14436
14438
  interface InOutRelationExpr extends AstNode {
14437
- readonly $container: DeploymentViewRulePredicateExpression;
14439
+ readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
14438
14440
  readonly $type: 'InOutRelationExpr';
14439
14441
  inout: IncomingRelationExpr;
14440
14442
  }
@@ -14546,7 +14548,7 @@ interface OpacityProperty extends AstNode {
14546
14548
  }
14547
14549
  declare const OpacityProperty = "OpacityProperty";
14548
14550
  interface OutgoingRelationExpr extends AstNode {
14549
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr;
14551
+ readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | RelationPredicateWhereV2;
14550
14552
  readonly $type: 'OutgoingRelationExpr';
14551
14553
  from: FqnExpr;
14552
14554
  isBidirectional: boolean;
@@ -14601,6 +14603,13 @@ interface RelationPredicateWhere extends AstNode {
14601
14603
  where?: WhereRelationExpression;
14602
14604
  }
14603
14605
  declare const RelationPredicateWhere = "RelationPredicateWhere";
14606
+ interface RelationPredicateWhereV2 extends AstNode {
14607
+ readonly $container: DeploymentViewRulePredicateExpression;
14608
+ readonly $type: 'RelationPredicateWhereV2';
14609
+ subject: RelationExpr;
14610
+ where?: WhereRelationExpression;
14611
+ }
14612
+ declare const RelationPredicateWhereV2 = "RelationPredicateWhereV2";
14604
14613
  interface RelationPredicateWith extends AstNode {
14605
14614
  readonly $container: Predicates;
14606
14615
  readonly $type: 'RelationPredicateWith';
@@ -14756,7 +14765,7 @@ interface ViewStringProperty extends AstNode {
14756
14765
  }
14757
14766
  declare const ViewStringProperty = "ViewStringProperty";
14758
14767
  interface WhereBinaryExpression extends AstNode {
14759
- readonly $container: ElementPredicateWhere | RelationPredicateWhere | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
14768
+ readonly $container: ElementPredicateWhere | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
14760
14769
  readonly $type: 'WhereBinaryExpression';
14761
14770
  left: WhereElementExpression | WhereRelationExpression;
14762
14771
  operator: 'and' | 'or';
@@ -14786,7 +14795,7 @@ interface WhereElementTag extends AstNode {
14786
14795
  }
14787
14796
  declare const WhereElementTag = "WhereElementTag";
14788
14797
  interface WhereRelationKind extends AstNode {
14789
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14798
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14790
14799
  readonly $type: 'WhereRelationKind';
14791
14800
  not: boolean;
14792
14801
  operator: 'is' | string;
@@ -14794,13 +14803,13 @@ interface WhereRelationKind extends AstNode {
14794
14803
  }
14795
14804
  declare const WhereRelationKind = "WhereRelationKind";
14796
14805
  interface WhereRelationNegation extends AstNode {
14797
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14806
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14798
14807
  readonly $type: 'WhereRelationNegation';
14799
14808
  value: WhereRelationExpression;
14800
14809
  }
14801
14810
  declare const WhereRelationNegation = "WhereRelationNegation";
14802
14811
  interface WhereRelationTag extends AstNode {
14803
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14812
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14804
14813
  readonly $type: 'WhereRelationTag';
14805
14814
  not: boolean;
14806
14815
  operator: 'is' | string;
@@ -14915,7 +14924,9 @@ type LikeC4AstType = {
14915
14924
  RelationNavigateToProperty: RelationNavigateToProperty;
14916
14925
  RelationPredicate: RelationPredicate;
14917
14926
  RelationPredicateOrWhere: RelationPredicateOrWhere;
14927
+ RelationPredicateOrWhereV2: RelationPredicateOrWhereV2;
14918
14928
  RelationPredicateWhere: RelationPredicateWhere;
14929
+ RelationPredicateWhereV2: RelationPredicateWhereV2;
14919
14930
  RelationPredicateWith: RelationPredicateWith;
14920
14931
  RelationProperty: RelationProperty;
14921
14932
  RelationStringProperty: RelationStringProperty;
@@ -14965,7 +14976,7 @@ type LikeC4AstType = {
14965
14976
 
14966
14977
  type Guard<N extends AstNode> = (n: AstNode) => n is N;
14967
14978
  type Guarded<G> = G extends Guard<infer N> ? N : never;
14968
- declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression | ElementPredicateWhere | ElementPredicateWith | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | FqnRefExpr | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | Element | ExtendElement | DeploymentView | DynamicView | ElementView | DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression | RelationPredicateWhere | RelationPredicateWith | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ExcludePredicate | IncludePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | Tags | DeploymentRelation | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | DynamicViewPredicateIterator | Relation | SpecificationElementKind | GlobalPredicateGroup | Globals | GlobalStyleGroup | SpecificationRule | SpecificationTag;
14979
+ declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression | ElementPredicateWhere | ElementPredicateWith | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | FqnRefExpr | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | RelationPredicateWhereV2 | Element | ExtendElement | DeploymentView | DynamicView | ElementView | DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression | RelationPredicateWhere | RelationPredicateWith | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ExcludePredicate | IncludePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | Tags | DeploymentRelation | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | DynamicViewPredicateIterator | Relation | SpecificationElementKind | GlobalPredicateGroup | Globals | GlobalStyleGroup | SpecificationRule | SpecificationTag;
14969
14980
  type ValidatableAstNode = Guarded<typeof isValidatableAstNode>;
14970
14981
  declare function checksFromDiagnostics(doc: LikeC4LangiumDocument): {
14971
14982
  isValid: (n: ValidatableAstNode) => boolean;
@@ -15360,6 +15371,7 @@ declare const DocumentParserFromMixins: {
15360
15371
  parseFqnExpr(astNode: FqnExpr): invariant;
15361
15372
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15362
15373
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15374
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15363
15375
  parseRelationExpr(astNode: RelationExpr): invariant;
15364
15376
  parseDeployment(): void;
15365
15377
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
@@ -15417,6 +15429,7 @@ declare const DocumentParserFromMixins: {
15417
15429
  parseFqnExpr(astNode: FqnExpr): invariant;
15418
15430
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15419
15431
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15432
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15420
15433
  parseRelationExpr(astNode: RelationExpr): invariant;
15421
15434
  parseDeployment(): void;
15422
15435
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
@@ -15483,6 +15496,7 @@ declare const DocumentParserFromMixins: {
15483
15496
  parseFqnExpr(astNode: FqnExpr): invariant;
15484
15497
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15485
15498
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15499
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15486
15500
  parseRelationExpr(astNode: RelationExpr): invariant;
15487
15501
  isValid: IsValidFn;
15488
15502
  readonly services: LikeC4Services;
@@ -15515,6 +15529,7 @@ declare const DocumentParserFromMixins: {
15515
15529
  parseFqnExpr(astNode: FqnExpr): invariant;
15516
15530
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15517
15531
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15532
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15518
15533
  parseRelationExpr(astNode: RelationExpr): invariant;
15519
15534
  isValid: IsValidFn;
15520
15535
  readonly services: LikeC4Services;
@@ -15561,6 +15576,7 @@ declare const DocumentParserFromMixins: {
15561
15576
  parseFqnExpr(astNode: FqnExpr): invariant;
15562
15577
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15563
15578
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15579
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15564
15580
  parseRelationExpr(astNode: RelationExpr): invariant;
15565
15581
  isValid: IsValidFn;
15566
15582
  readonly services: LikeC4Services;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { i as ComputedView, T as OverviewGraph, z as DiagramView, F as Fqn, $ as ViewId, K as ElementKind$1, a2 as NonEmptyArray, Z as Tag$1, a3 as ElementShape$1, a4 as IconUrl, m as Color$1, a5 as BorderStyle, a6 as RelationshipKind$1, a7 as RelationshipLineType, a8 as RelationshipArrowType, a9 as CustomColor$1, O as HexColorLiteral, v as DeploymentNodeKind$1, aa as DeploymentNodeKindSpecification, X as RelationId, t as DeploymentElement$1, u as DeploymentNode$1, s as DeployedInstance$1, w as DeploymentRelation$1, ab as ModelGlobals, ac as ViewRule$1, ad as ViewManualLayout, ae as DynamicViewStepOrParallel, af as DynamicViewRule$1, ag as DeploymentViewRule$1, U as ParsedLikeC4Model, r as ComputedLikeC4Model, ah as ViewChange, L as LikeC4Model } from './shared/likec4.DCwaTTuF.js';
2
- export { k as AbstractRelation, A as AnyAux, l as AutoLayoutDirection, e as Aux, B as BBox, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, C as ComputedNode, x as DeploymentView, y as DiagramEdge, j as DiagramNode, G as DynamicView, H as EdgeId, J as Element, M as ElementView, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, V as Point, W as RelationExpr, Y as StepEdgeId, _ as ThemeColor, a1 as XYPoint } from './shared/likec4.DCwaTTuF.js';
1
+ import { i as ComputedView, T as OverviewGraph, z as DiagramView, F as Fqn, $ as ViewId, K as ElementKind$1, a2 as NonEmptyArray, Z as Tag$1, a3 as ElementShape$1, a4 as IconUrl, m as Color$1, a5 as BorderStyle, a6 as RelationshipKind$1, a7 as RelationshipLineType, a8 as RelationshipArrowType, a9 as CustomColor$1, O as HexColorLiteral, v as DeploymentNodeKind$1, aa as DeploymentNodeKindSpecification, X as RelationId, t as DeploymentElement$1, u as DeploymentNode$1, s as DeployedInstance$1, w as DeploymentRelation$1, ab as ModelGlobals, ac as ViewRule$1, ad as ViewManualLayout, ae as DynamicViewStepOrParallel, af as DynamicViewRule$1, ag as DeploymentViewRule$1, U as ParsedLikeC4Model, r as ComputedLikeC4Model, ah as ViewChange, L as LikeC4Model } from './shared/likec4.DJeGiAvE.js';
2
+ export { k as AbstractRelation, A as AnyAux, l as AutoLayoutDirection, e as Aux, B as BBox, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, C as ComputedNode, x as DeploymentView, y as DiagramEdge, j as DiagramNode, G as DynamicView, H as EdgeId, J as Element, M as ElementView, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, V as Point, W as RelationExpr, Y as StepEdgeId, _ as ThemeColor, a1 as XYPoint } from './shared/likec4.DJeGiAvE.js';
3
3
  import { Tagged, Writable, ValueOf, ConditionalPick } from 'type-fest';
4
4
 
5
5
  declare function invariant(condition: any, message?: string): asserts condition;
@@ -13938,7 +13938,7 @@ declare const ElementPredicateOrWhere = "ElementPredicateOrWhere";
13938
13938
  type ElementProperty = ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataProperty;
13939
13939
  declare const ElementProperty = "ElementProperty";
13940
13940
  type ElementShape = 'browser' | 'cylinder' | 'mobile' | 'person' | 'queue' | 'rectangle' | 'storage';
13941
- type ExpressionV2 = FqnExpr | RelationExpr;
13941
+ type ExpressionV2 = FqnExpr | RelationPredicateOrWhereV2;
13942
13942
  declare const ExpressionV2 = "ExpressionV2";
13943
13943
  type FqnExpr = FqnRefExpr | WildcardExpression;
13944
13944
  declare const FqnExpr = "FqnExpr";
@@ -13963,6 +13963,8 @@ type RelationPredicate = RelationPredicateOrWhere | RelationPredicateWith;
13963
13963
  declare const RelationPredicate = "RelationPredicate";
13964
13964
  type RelationPredicateOrWhere = RelationExpression | RelationPredicateWhere;
13965
13965
  declare const RelationPredicateOrWhere = "RelationPredicateOrWhere";
13966
+ type RelationPredicateOrWhereV2 = RelationExpr | RelationPredicateWhereV2;
13967
+ declare const RelationPredicateOrWhereV2 = "RelationPredicateOrWhereV2";
13966
13968
  type RelationProperty = LinkProperty | MetadataProperty | RelationNavigateToProperty | RelationStringProperty | RelationStyleProperty;
13967
13969
  declare const RelationProperty = "RelationProperty";
13968
13970
  type RelationshipStyleProperty = ArrowProperty | ColorProperty | LineProperty;
@@ -14131,7 +14133,7 @@ interface DeploymentViewRuleStyle extends AstNode {
14131
14133
  }
14132
14134
  declare const DeploymentViewRuleStyle = "DeploymentViewRuleStyle";
14133
14135
  interface DirectedRelationExpr extends AstNode {
14134
- readonly $container: DeploymentViewRulePredicateExpression;
14136
+ readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
14135
14137
  readonly $type: 'DirectedRelationExpr';
14136
14138
  source: OutgoingRelationExpr;
14137
14139
  target: FqnExpr;
@@ -14422,7 +14424,7 @@ interface IncludePredicate extends AstNode {
14422
14424
  }
14423
14425
  declare const IncludePredicate = "IncludePredicate";
14424
14426
  interface IncomingRelationExpr extends AstNode {
14425
- readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr;
14427
+ readonly $container: DeploymentViewRulePredicateExpression | InOutRelationExpr | RelationPredicateWhereV2;
14426
14428
  readonly $type: 'IncomingRelationExpr';
14427
14429
  to: FqnExpr;
14428
14430
  }
@@ -14434,7 +14436,7 @@ interface IncomingRelationExpression extends AstNode {
14434
14436
  }
14435
14437
  declare const IncomingRelationExpression = "IncomingRelationExpression";
14436
14438
  interface InOutRelationExpr extends AstNode {
14437
- readonly $container: DeploymentViewRulePredicateExpression;
14439
+ readonly $container: DeploymentViewRulePredicateExpression | RelationPredicateWhereV2;
14438
14440
  readonly $type: 'InOutRelationExpr';
14439
14441
  inout: IncomingRelationExpr;
14440
14442
  }
@@ -14546,7 +14548,7 @@ interface OpacityProperty extends AstNode {
14546
14548
  }
14547
14549
  declare const OpacityProperty = "OpacityProperty";
14548
14550
  interface OutgoingRelationExpr extends AstNode {
14549
- readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr;
14551
+ readonly $container: DeploymentViewRulePredicateExpression | DirectedRelationExpr | RelationPredicateWhereV2;
14550
14552
  readonly $type: 'OutgoingRelationExpr';
14551
14553
  from: FqnExpr;
14552
14554
  isBidirectional: boolean;
@@ -14601,6 +14603,13 @@ interface RelationPredicateWhere extends AstNode {
14601
14603
  where?: WhereRelationExpression;
14602
14604
  }
14603
14605
  declare const RelationPredicateWhere = "RelationPredicateWhere";
14606
+ interface RelationPredicateWhereV2 extends AstNode {
14607
+ readonly $container: DeploymentViewRulePredicateExpression;
14608
+ readonly $type: 'RelationPredicateWhereV2';
14609
+ subject: RelationExpr;
14610
+ where?: WhereRelationExpression;
14611
+ }
14612
+ declare const RelationPredicateWhereV2 = "RelationPredicateWhereV2";
14604
14613
  interface RelationPredicateWith extends AstNode {
14605
14614
  readonly $container: Predicates;
14606
14615
  readonly $type: 'RelationPredicateWith';
@@ -14756,7 +14765,7 @@ interface ViewStringProperty extends AstNode {
14756
14765
  }
14757
14766
  declare const ViewStringProperty = "ViewStringProperty";
14758
14767
  interface WhereBinaryExpression extends AstNode {
14759
- readonly $container: ElementPredicateWhere | RelationPredicateWhere | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
14768
+ readonly $container: ElementPredicateWhere | RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereElementNegation | WhereRelationNegation;
14760
14769
  readonly $type: 'WhereBinaryExpression';
14761
14770
  left: WhereElementExpression | WhereRelationExpression;
14762
14771
  operator: 'and' | 'or';
@@ -14786,7 +14795,7 @@ interface WhereElementTag extends AstNode {
14786
14795
  }
14787
14796
  declare const WhereElementTag = "WhereElementTag";
14788
14797
  interface WhereRelationKind extends AstNode {
14789
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14798
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14790
14799
  readonly $type: 'WhereRelationKind';
14791
14800
  not: boolean;
14792
14801
  operator: 'is' | string;
@@ -14794,13 +14803,13 @@ interface WhereRelationKind extends AstNode {
14794
14803
  }
14795
14804
  declare const WhereRelationKind = "WhereRelationKind";
14796
14805
  interface WhereRelationNegation extends AstNode {
14797
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14806
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14798
14807
  readonly $type: 'WhereRelationNegation';
14799
14808
  value: WhereRelationExpression;
14800
14809
  }
14801
14810
  declare const WhereRelationNegation = "WhereRelationNegation";
14802
14811
  interface WhereRelationTag extends AstNode {
14803
- readonly $container: RelationPredicateWhere | WhereBinaryExpression | WhereRelationNegation;
14812
+ readonly $container: RelationPredicateWhere | RelationPredicateWhereV2 | WhereBinaryExpression | WhereRelationNegation;
14804
14813
  readonly $type: 'WhereRelationTag';
14805
14814
  not: boolean;
14806
14815
  operator: 'is' | string;
@@ -14915,7 +14924,9 @@ type LikeC4AstType = {
14915
14924
  RelationNavigateToProperty: RelationNavigateToProperty;
14916
14925
  RelationPredicate: RelationPredicate;
14917
14926
  RelationPredicateOrWhere: RelationPredicateOrWhere;
14927
+ RelationPredicateOrWhereV2: RelationPredicateOrWhereV2;
14918
14928
  RelationPredicateWhere: RelationPredicateWhere;
14929
+ RelationPredicateWhereV2: RelationPredicateWhereV2;
14919
14930
  RelationPredicateWith: RelationPredicateWith;
14920
14931
  RelationProperty: RelationProperty;
14921
14932
  RelationStringProperty: RelationStringProperty;
@@ -14965,7 +14976,7 @@ type LikeC4AstType = {
14965
14976
 
14966
14977
  type Guard<N extends AstNode> = (n: AstNode) => n is N;
14967
14978
  type Guarded<G> = G extends Guard<infer N> ? N : never;
14968
- declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression | ElementPredicateWhere | ElementPredicateWith | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | FqnRefExpr | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | Element | ExtendElement | DeploymentView | DynamicView | ElementView | DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression | RelationPredicateWhere | RelationPredicateWith | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ExcludePredicate | IncludePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | Tags | DeploymentRelation | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | DynamicViewPredicateIterator | Relation | SpecificationElementKind | GlobalPredicateGroup | Globals | GlobalStyleGroup | SpecificationRule | SpecificationTag;
14979
+ declare const isValidatableAstNode: (n: AstNode) => n is DeployedInstance | DeploymentNode | DeploymentViewRulePredicate | DeploymentViewRuleStyle | ViewRuleAutoLayout | DynamicViewGlobalPredicateRef | DynamicViewIncludePredicate | ViewRuleGlobalStyle | ViewRuleStyle | ElementDescedantsExpression | ElementKindExpression | ElementRef | ElementTagExpression | ExpandElementExpression | WildcardExpression | ElementPredicateWhere | ElementPredicateWith | ElementStringProperty | ElementStyleProperty | IconProperty | LinkProperty | MetadataBody | FqnRefExpr | DirectedRelationExpr | InOutRelationExpr | IncomingRelationExpr | OutgoingRelationExpr | RelationPredicateWhereV2 | Element | ExtendElement | DeploymentView | DynamicView | ElementView | DirectedRelationExpression | InOutRelationExpression | IncomingRelationExpression | OutgoingRelationExpression | RelationPredicateWhere | RelationPredicateWith | RelationStringProperty | ArrowProperty | ColorProperty | LineProperty | MetadataAttribute | NotationProperty | NotesProperty | SpecificationElementStringProperty | SpecificationRelationshipStringProperty | ViewStringProperty | BorderProperty | OpacityProperty | ShapeProperty | ViewRuleGlobalPredicateRef | ViewRuleGroup | ExcludePredicate | IncludePredicate | SpecificationRelationshipKind | GlobalStyle | SpecificationColor | NavigateToProperty | DynamicViewStep | Tags | DeploymentRelation | SpecificationDeploymentNodeKind | DynamicViewParallelSteps | GlobalDynamicPredicateGroup | DynamicViewPredicateIterator | Relation | SpecificationElementKind | GlobalPredicateGroup | Globals | GlobalStyleGroup | SpecificationRule | SpecificationTag;
14969
14980
  type ValidatableAstNode = Guarded<typeof isValidatableAstNode>;
14970
14981
  declare function checksFromDiagnostics(doc: LikeC4LangiumDocument): {
14971
14982
  isValid: (n: ValidatableAstNode) => boolean;
@@ -15360,6 +15371,7 @@ declare const DocumentParserFromMixins: {
15360
15371
  parseFqnExpr(astNode: FqnExpr): invariant;
15361
15372
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15362
15373
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15374
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15363
15375
  parseRelationExpr(astNode: RelationExpr): invariant;
15364
15376
  parseDeployment(): void;
15365
15377
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
@@ -15417,6 +15429,7 @@ declare const DocumentParserFromMixins: {
15417
15429
  parseFqnExpr(astNode: FqnExpr): invariant;
15418
15430
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15419
15431
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15432
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15420
15433
  parseRelationExpr(astNode: RelationExpr): invariant;
15421
15434
  parseDeployment(): void;
15422
15435
  parseDeploymentNode(astNode: DeploymentNode): ParsedAstDeployment.Node;
@@ -15483,6 +15496,7 @@ declare const DocumentParserFromMixins: {
15483
15496
  parseFqnExpr(astNode: FqnExpr): invariant;
15484
15497
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15485
15498
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15499
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15486
15500
  parseRelationExpr(astNode: RelationExpr): invariant;
15487
15501
  isValid: IsValidFn;
15488
15502
  readonly services: LikeC4Services;
@@ -15515,6 +15529,7 @@ declare const DocumentParserFromMixins: {
15515
15529
  parseFqnExpr(astNode: FqnExpr): invariant;
15516
15530
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15517
15531
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15532
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15518
15533
  parseRelationExpr(astNode: RelationExpr): invariant;
15519
15534
  isValid: IsValidFn;
15520
15535
  readonly services: LikeC4Services;
@@ -15561,6 +15576,7 @@ declare const DocumentParserFromMixins: {
15561
15576
  parseFqnExpr(astNode: FqnExpr): invariant;
15562
15577
  parseFqnRefExpr(astNode: FqnRefExpr): invariant;
15563
15578
  parseFqnExpressions(astNode: FqnExpressions): invariant[];
15579
+ parseRelationWhereExpr(astNode: RelationPredicateWhereV2): invariant;
15564
15580
  parseRelationExpr(astNode: RelationExpr): invariant;
15565
15581
  isValid: IsValidFn;
15566
15582
  readonly services: LikeC4Services;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export{L as LikeC4}from"./shared/likec4.CLgnaOeL.mjs";export{M as LikeC4DeploymentModel,j as LikeC4Model,P as LikeC4ViewModel}from"./shared/likec4.1r1CQuHw.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"node:fs/promises";import"node:process";import"node:tty";import"@hpcc-js/wasm-graphviz";import"buffer";import"node:child_process";import"node:string_decoder";import"node:timers/promises";import"node:os";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";import"vite";
1
+ export{L as LikeC4}from"./shared/likec4.D7BM0ZAO.mjs";export{U as LikeC4DeploymentModel,a as LikeC4Model,V as LikeC4ViewModel}from"./shared/likec4.Cgd5VecV.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"node:fs/promises";import"node:process";import"node:tty";import"@hpcc-js/wasm-graphviz";import"buffer";import"node:child_process";import"node:string_decoder";import"node:timers/promises";import"node:os";import"node:events";import"node:v8";import"node:stream";import"node:buffer";import"node:stream/promises";import"vite";
@@ -1 +1 @@
1
- "use strict";const index_DafVOuVd=require("../shared/likec4.D81G5JV4.cjs");function createLikeC4Model(e){return index_DafVOuVd.j.create(e)}Object.defineProperty(exports,"ComputedNode",{enumerable:!0,get:function(){return index_DafVOuVd.h}}),Object.defineProperty(exports,"ComputedView",{enumerable:!0,get:function(){return index_DafVOuVd.v}}),Object.defineProperty(exports,"Connection",{enumerable:!0,get:function(){return index_DafVOuVd.a}}),exports.ConnectionModel=index_DafVOuVd.Z,exports.DeployedInstanceModel=index_DafVOuVd.$,exports.DeploymentConnectionModel=index_DafVOuVd.G,exports.DeploymentNodeModel=index_DafVOuVd._,exports.DeploymentRelationModel=index_DafVOuVd.f,Object.defineProperty(exports,"DiagramNode",{enumerable:!0,get:function(){return index_DafVOuVd.W}}),exports.EdgeModel=index_DafVOuVd.T,exports.ElementModel=index_DafVOuVd.m,exports.LikeC4DeploymentModel=index_DafVOuVd.M,exports.LikeC4Model=index_DafVOuVd.j,exports.LikeC4ViewModel=index_DafVOuVd.P,exports.NodeModel=index_DafVOuVd.z,exports.RelationshipModel=index_DafVOuVd.L,exports.deploymentConnection=index_DafVOuVd.R,exports.differenceConnections=index_DafVOuVd.b,exports.findAscendingConnections=index_DafVOuVd.c,exports.findDeepestNestedConnection=index_DafVOuVd.I,exports.findDescendantConnections=index_DafVOuVd.y,exports.hasSameSource=index_DafVOuVd.A,exports.hasSameSourceTarget=index_DafVOuVd.d,exports.hasSameTarget=index_DafVOuVd.O,exports.isAnyInOut=index_DafVOuVd.F,exports.isIncoming=index_DafVOuVd.e,exports.isNestedConnection=index_DafVOuVd.o,exports.isOutgoing=index_DafVOuVd.D,exports.mergeConnections=index_DafVOuVd.s,exports.modelConnection=index_DafVOuVd.C,exports.sortConnectionsByBoundaryHierarchy=index_DafVOuVd.p,exports.sortDeepestFirst=index_DafVOuVd.g,exports.createLikeC4Model=createLikeC4Model;
1
+ "use strict";const index_KOeaSlL8=require("../shared/likec4.CVn8U3Og.cjs");function createLikeC4Model(e){return index_KOeaSlL8.a.create(e)}Object.defineProperty(exports,"ComputedNode",{enumerable:!0,get:function(){return index_KOeaSlL8.i}}),Object.defineProperty(exports,"ComputedView",{enumerable:!0,get:function(){return index_KOeaSlL8.k}}),Object.defineProperty(exports,"Connection",{enumerable:!0,get:function(){return index_KOeaSlL8.c}}),exports.ConnectionModel=index_KOeaSlL8.e,exports.DeployedInstanceModel=index_KOeaSlL8.I,exports.DeploymentConnectionModel=index_KOeaSlL8.A,exports.DeploymentNodeModel=index_KOeaSlL8.$,exports.DeploymentRelationModel=index_KOeaSlL8.g,Object.defineProperty(exports,"DiagramNode",{enumerable:!0,get:function(){return index_KOeaSlL8.l}}),exports.EdgeModel=index_KOeaSlL8.q,exports.ElementModel=index_KOeaSlL8.y,exports.LikeC4DeploymentModel=index_KOeaSlL8.U,exports.LikeC4Model=index_KOeaSlL8.a,exports.LikeC4ViewModel=index_KOeaSlL8.V,exports.NodeModel=index_KOeaSlL8.B,exports.RelationshipModel=index_KOeaSlL8.F,exports.deploymentConnection=index_KOeaSlL8.j,exports.differenceConnections=index_KOeaSlL8.u,exports.findAscendingConnections=index_KOeaSlL8.w,exports.findDeepestNestedConnection=index_KOeaSlL8.G,exports.findDescendantConnections=index_KOeaSlL8.v,exports.hasSameSource=index_KOeaSlL8.z,exports.hasSameSourceTarget=index_KOeaSlL8.b,exports.hasSameTarget=index_KOeaSlL8.P,exports.isAnyInOut=index_KOeaSlL8.d,exports.isIncoming=index_KOeaSlL8.C,exports.isNestedConnection=index_KOeaSlL8.f,exports.isOutgoing=index_KOeaSlL8.D,exports.mergeConnections=index_KOeaSlL8.h,exports.modelConnection=index_KOeaSlL8.W,exports.sortConnectionsByBoundaryHierarchy=index_KOeaSlL8.m,exports.sortDeepestFirst=index_KOeaSlL8.L,exports.createLikeC4Model=createLikeC4Model;
@@ -1,5 +1,5 @@
1
- import { E as ElementModel, D as DeploymentElementModel, F as Fqn, A as AnyAux, a as DeploymentNodeModel, b as DeployedInstanceModel, R as RelationshipsAccum, I as IteratorLike, c as RelationshipModel, d as DeploymentRelationModel, L as LikeC4Model } from '../shared/likec4.DCwaTTuF.cjs';
2
- export { k as AbstractRelation, l as AutoLayoutDirection, e as Aux, B as BBox, m as Color, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, r as ComputedLikeC4Model, C as ComputedNode, i as ComputedView, s as DeployedInstance, t as DeploymentElement, u as DeploymentNode, v as DeploymentNodeKind, w as DeploymentRelation, x as DeploymentView, y as DiagramEdge, j as DiagramNode, z as DiagramView, G as DynamicView, H as EdgeId, f as EdgeModel, J as Element, K as ElementKind, M as ElementView, O as HexColorLiteral, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, N as NodeModel, T as OverviewGraph, U as ParsedLikeC4Model, V as Point, W as RelationExpr, X as RelationId, Y as StepEdgeId, Z as Tag, _ as ThemeColor, $ as ViewId, a0 as WhereOperator, a1 as XYPoint } from '../shared/likec4.DCwaTTuF.cjs';
1
+ import { E as ElementModel, D as DeploymentElementModel, F as Fqn, A as AnyAux, a as DeploymentNodeModel, b as DeployedInstanceModel, R as RelationshipsAccum, I as IteratorLike, c as RelationshipModel, d as DeploymentRelationModel, L as LikeC4Model } from '../shared/likec4.DJeGiAvE.cjs';
2
+ export { k as AbstractRelation, l as AutoLayoutDirection, e as Aux, B as BBox, m as Color, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, r as ComputedLikeC4Model, C as ComputedNode, i as ComputedView, s as DeployedInstance, t as DeploymentElement, u as DeploymentNode, v as DeploymentNodeKind, w as DeploymentRelation, x as DeploymentView, y as DiagramEdge, j as DiagramNode, z as DiagramView, G as DynamicView, H as EdgeId, f as EdgeModel, J as Element, K as ElementKind, M as ElementView, O as HexColorLiteral, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, N as NodeModel, T as OverviewGraph, U as ParsedLikeC4Model, V as Point, W as RelationExpr, X as RelationId, Y as StepEdgeId, Z as Tag, _ as ThemeColor, $ as ViewId, a0 as WhereOperator, a1 as XYPoint } from '../shared/likec4.DJeGiAvE.cjs';
3
3
  import 'type-fest';
4
4
 
5
5
  type IterableContainer<T = unknown> = ReadonlyArray<T> | readonly [];
@@ -73,6 +73,11 @@ declare class DeploymentConnectionModel<M extends AnyAux = AnyAux> implements Co
73
73
  */
74
74
  hasDirectDeploymentRelation(): boolean;
75
75
  values(): IteratorLike<RelationshipModel<M> | DeploymentRelationModel<M>>;
76
+ /**
77
+ * Merge with another connections, if it has the same source and target.
78
+ * Returns new connection with union of relationships.
79
+ */
80
+ mergeWith(others: DeploymentConnectionModel<M>[]): DeploymentConnectionModel<M>;
76
81
  /**
77
82
  * Merge with another connection, if it has the same source and target.
78
83
  * Returns new connection with union of relationships.
@@ -1,5 +1,5 @@
1
- import { E as ElementModel, D as DeploymentElementModel, F as Fqn, A as AnyAux, a as DeploymentNodeModel, b as DeployedInstanceModel, R as RelationshipsAccum, I as IteratorLike, c as RelationshipModel, d as DeploymentRelationModel, L as LikeC4Model } from '../shared/likec4.DCwaTTuF.mjs';
2
- export { k as AbstractRelation, l as AutoLayoutDirection, e as Aux, B as BBox, m as Color, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, r as ComputedLikeC4Model, C as ComputedNode, i as ComputedView, s as DeployedInstance, t as DeploymentElement, u as DeploymentNode, v as DeploymentNodeKind, w as DeploymentRelation, x as DeploymentView, y as DiagramEdge, j as DiagramNode, z as DiagramView, G as DynamicView, H as EdgeId, f as EdgeModel, J as Element, K as ElementKind, M as ElementView, O as HexColorLiteral, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, N as NodeModel, T as OverviewGraph, U as ParsedLikeC4Model, V as Point, W as RelationExpr, X as RelationId, Y as StepEdgeId, Z as Tag, _ as ThemeColor, $ as ViewId, a0 as WhereOperator, a1 as XYPoint } from '../shared/likec4.DCwaTTuF.mjs';
1
+ import { E as ElementModel, D as DeploymentElementModel, F as Fqn, A as AnyAux, a as DeploymentNodeModel, b as DeployedInstanceModel, R as RelationshipsAccum, I as IteratorLike, c as RelationshipModel, d as DeploymentRelationModel, L as LikeC4Model } from '../shared/likec4.DJeGiAvE.mjs';
2
+ export { k as AbstractRelation, l as AutoLayoutDirection, e as Aux, B as BBox, m as Color, n as ComputedDeploymentView, o as ComputedDynamicView, p as ComputedEdge, q as ComputedElementView, r as ComputedLikeC4Model, C as ComputedNode, i as ComputedView, s as DeployedInstance, t as DeploymentElement, u as DeploymentNode, v as DeploymentNodeKind, w as DeploymentRelation, x as DeploymentView, y as DiagramEdge, j as DiagramNode, z as DiagramView, G as DynamicView, H as EdgeId, f as EdgeModel, J as Element, K as ElementKind, M as ElementView, O as HexColorLiteral, P as LayoutedLikeC4Model, g as LikeC4DeploymentModel, Q as LikeC4View, h as LikeC4ViewModel, S as NodeId, N as NodeModel, T as OverviewGraph, U as ParsedLikeC4Model, V as Point, W as RelationExpr, X as RelationId, Y as StepEdgeId, Z as Tag, _ as ThemeColor, $ as ViewId, a0 as WhereOperator, a1 as XYPoint } from '../shared/likec4.DJeGiAvE.mjs';
3
3
  import 'type-fest';
4
4
 
5
5
  type IterableContainer<T = unknown> = ReadonlyArray<T> | readonly [];
@@ -73,6 +73,11 @@ declare class DeploymentConnectionModel<M extends AnyAux = AnyAux> implements Co
73
73
  */
74
74
  hasDirectDeploymentRelation(): boolean;
75
75
  values(): IteratorLike<RelationshipModel<M> | DeploymentRelationModel<M>>;
76
+ /**
77
+ * Merge with another connections, if it has the same source and target.
78
+ * Returns new connection with union of relationships.
79
+ */
80
+ mergeWith(others: DeploymentConnectionModel<M>[]): DeploymentConnectionModel<M>;
76
81
  /**
77
82
  * Merge with another connection, if it has the same source and target.
78
83
  * Returns new connection with union of relationships.