likec4 1.46.0 → 1.46.3

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
- import{invariant as le,isNonEmptyArray as pe}from"@likec4/core";import{relative as ue}from"node:path";import{t as fe}from"./likec4.DO_7oUns.mjs";import{t as ge,a as A}from"./likec4.CB2-Uaub.mjs";import{f as he,g as J,T as me,N as V,i as we,e as x,j as _,u as v,t as Ie,a as ve,n as ye,b as Ne,c as ke,d as G,L as Le}from"./likec4.pKvQjtrp.mjs";import{compareNatural as $e}from"@likec4/core/utils";import{a as W}from"./likec4.DASl7M77.mjs";import{t as je}from"./likec4.DOUP9ptn.mjs";import{RichText as Ce}from"@likec4/core/types";
2
- function Se(...t){return je(Re,t)}function Re(t,e){let i={};for(let n of e)n in t&&(i[n]=t[n]);return i}function Te(t){var e,i;if(t){if("astNode"in t)return be(t);if(Array.isArray(t))return t.reduce(B,void 0);{const n=t,r=Ee(n)?Me((i=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&i!==void 0?i:n?.astNode):void 0;return C(n,r)}}else return}function Ee(t){return typeof t<"u"&&"element"in t&&"text"in t}function Me(t){try{return J(t).uri.toString()}catch{return}}function be(t){var e,i;const{
1
+ import{invariant as le,isNonEmptyArray as pe}from"@likec4/core";import{relative as ue}from"node:path";import{t as fe}from"./likec4.DO_7oUns.mjs";import{t as ge,a as A}from"./likec4.CB2-Uaub.mjs";import{f as he,g as J,T as me,N as V,i as we,e as x,j as _,u as v,t as Ie,a as ve,n as ye,b as Ne,c as ke,d as G,L as $e}from"./likec4.4c1Hb6hc.mjs";import{compareNatural as Le}from"@likec4/core/utils";import{a as W}from"./likec4.DASl7M77.mjs";import{t as je}from"./likec4.DOUP9ptn.mjs";import{RichText as Ce}from"@likec4/core/types";
2
+ function Se(...t){return je(Re,t)}function Re(t,e){let i={};for(let n of e)n in t&&(i[n]=t[n]);return i}function Te(t){var e,i;if(t){if("astNode"in t)return Me(t);if(Array.isArray(t))return t.reduce(B,void 0);{const n=t,r=Ee(n)?be((i=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&i!==void 0?i:n?.astNode):void 0;return C(n,r)}}else return}function Ee(t){return typeof t<"u"&&"element"in t&&"text"in t}function be(t){try{return J(t).uri.toString()}catch{return}}function Me(t){var e,i;const{
3
3
  astNode:n,property:r,index:o}=t??{},c=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||c===void 0)){if(r===void 0)return C(c,D(n));{const a=d=>o!==void 0&&o>-1&&Array.isArray(n[r])?o<d.length?d[o]:void 0:d.reduce(B,void 0);if(!((i=c.assignments)===null||i===void 0)&&i[r]){const d=a(c.assignments[r]);return d&&C(d,D(n))}else if(n.$cstNode){const d=a(he(n.$cstNode,r));return d&&C(d,D(n))}else return}}}function D(t){var e,i,n,r;return t.$cstNode?(i=(e=J(t))===null||e===void 0?void 0:
4
4
  e.uri)===null||i===void 0?void 0:i.toString():t.$textRegion?t.$textRegion.documentURI||((r=(n=new me(t,o=>o.$container?[o.$container]:[]).find(o=>{var c;return(c=o.$textRegion)===null||c===void 0?void 0:c.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||r===void 0?void 0:r.documentURI):void 0}function C(t,e){var i,n;const r={offset:t.offset,end:(i=t.end)!==null&&i!==void 0?i:t.offset+t.length,length:(n=t.length)!==null&&n!==void 0?n:t.end-t.offset};return t.range&&(r.range=t.range),
5
5
  e??(e=t.fileURI),e&&(r.fileURI=e),r}function B(t,e){var i,n;if(t){if(!e)return t&&C(t)}else return e&&C(e);const r=(i=t.end)!==null&&i!==void 0?i:t.offset+t.length,o=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,c=Math.min(t.offset,e.offset),a=Math.max(r,o),d=a-c,f={offset:c,end:a,length:d};if(t.range&&e.range&&(f.range={start:e.range.start.line<t.range.start.line||e.range.start.line===t.range.start.line&&e.range.start.character<t.range.start.character?e.range.start:t.range.start,end:e.range.
@@ -11,41 +11,48 @@ const i=this.traceData.pop();return this.assertTrue(i===e,"Trace region mismatch
11
11
  offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:r.line,character:r.character}}},delete n.targetStart,((o=n.children)===null||o===void 0?void 0:o.length)===0&&delete n.children,!((c=n.targetRegion)===null||c===void 0)&&c.length&&i(n),delete n.complete,n}};return n}function Pe(t,e){const i=new xe(e),n=i.pushTraceRegion(void 0);z(t,i),i.popTraceRegion(n),n.complete&&n.complete(i.currentPosition);const r=n.children&&n.children.length===1?n.children[0]:void 0,
12
12
  o=r?.targetRegion,c=n.targetRegion;return o&&r.sourceRegion&&o.offset===c.offset&&o.length===c.length?{text:i.content,trace:r}:{text:i.content,trace:n}}function z(t,e){typeof t=="string"?_e(t,e):t instanceof O?De(t,e):t instanceof h?H(t,e):t instanceof E&&Fe(t,e)}function q(t,e){return typeof t=="string"?t.length!==0:t instanceof h?t.contents.some(i=>q(i,e)):t instanceof E?!(t.ifNotEmpty&&e.currentLineContent.length===0):!1}function _e(t,e){t&&(Y(e,!1),e.append(t))}function Y(t,e){var i;if(t.pendingIndent){
13
13
  let n="";for(const r of t.relevantIndents.filter(o=>o.indentEmptyLines||!e))n+=(i=r.indentation)!==null&&i!==void 0?i:t.defaultIndentation;t.append(n,!0),t.pendingIndent=!1}}function H(t,e){let i;const n=Te(t.tracedSource);n&&(i=e.pushTraceRegion(n));for(const r of t.contents)z(r,e);if(i){e.popTraceRegion(i);const r=e.getParentTraceSourceFileURI();r&&n?.fileURI===r&&delete n.fileURI,i.complete&&i.complete(e.currentPosition)}}function De(t,e){var i;if(q(t,e)){t.indentImmediately&&!e.pendingIndent&&
14
- e.append((i=t.indentation)!==null&&i!==void 0?i:e.defaultIndentation,!0);try{e.increaseIndent(t),H(t,e)}finally{e.decreaseIndent()}}}function Fe(t,e){t.ifNotEmpty&&!Oe(e.currentLineContent)?e.resetCurrentLine():(Y(e,!0),e.append(t.lineDelimiter),e.addNewLine())}function Oe(t){return t.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Ae=/\S|$/;function Je(t){const e=t.filter(n=>n.length>0).map(n=>n.search(Ae)),i=e.length===0?0:Math.min(...e);return Math.max(0,i)}function L(t,...e){
15
- const i=Ge(t),n=We(t,e,i);return ze(n)}function Ve(t,e,i){return(n,...r)=>Ye(t,e,i)(L(n,...r))}function Ge(t){const e=t.join("_").split(V),i=e.length>1&&e[0].trim().length===0,n=i&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:i,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let r=i?e.slice(1):e;r=n?r.slice(0,r.length-1):r,r=r.filter(c=>c.length!==
14
+ e.append((i=t.indentation)!==null&&i!==void 0?i:e.defaultIndentation,!0);try{e.increaseIndent(t),H(t,e)}finally{e.decreaseIndent()}}}function Fe(t,e){t.ifNotEmpty&&!Oe(e.currentLineContent)?e.resetCurrentLine():(Y(e,!0),e.append(t.lineDelimiter),e.addNewLine())}function Oe(t){return t.trimStart()!==""}Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__");const Ae=/\S|$/;function Je(t){const e=t.filter(n=>n.length>0).map(n=>n.search(Ae)),i=e.length===0?0:Math.min(...e);return Math.max(0,i)}function $(t,...e){
15
+ const i=Ge(t),n=We(t,e,i);return ze(n)}function Ve(t,e,i){return(n,...r)=>Ye(t,e,i)($(n,...r))}function Ge(t){const e=t.join("_").split(V),i=e.length>1&&e[0].trim().length===0,n=i&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:i,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let r=i?e.slice(1):e;r=n?r.slice(0,r.length-1):r,r=r.filter(c=>c.length!==
16
16
  0);const o=Je(r);return{indentation:o,omitFirstLine:i,omitLastLine:n&&(e[e.length-1].length<o||!e[e.length-1].startsWith(r[0].substring(0,o)))}}}function We(t,e,{indentation:i,omitFirstLine:n,omitLastLine:r,trimLastLine:o}){const c=[];t.forEach((f,u)=>{c.push(...f.split(V).map((p,g)=>g===0||p.length<i?p:p.substring(i)).reduce(u===0?(p,g,w)=>w===0?n?[]:[g]:w===1&&p.length===0?[g]:p.concat(U,g):(p,g,w)=>w===0?[g]:p.concat(U,g),[]).filter(p=>!(typeof p=="string"&&p.length===0)).concat(T(e[u])?e[u]:
17
17
  e[u]!==void 0?{content:String(e[u])}:u<e.length?K:[]))});const a=c.length,d=a!==0?c[a-1]:void 0;return(r||o)&&typeof d=="string"&&d.trim().length===0?n&&a!==1&&c[a-2]===U?c.slice(0,a-2):c.slice(0,a-1):c}const U={isNewLine:!0},K={isUndefinedSegment:!0},X=t=>t===U,F=t=>t===K,Be=t=>t.content!==void 0;function ze(t){return t.reduce((i,n,r)=>F(n)?i:X(n)?{node:r!==0&&(F(t[r-1])||T(t[r-1]))||r>1&&typeof t[r-1]=="string"&&(F(t[r-2])||T(t[r-2]))?i.node.appendNewLineIfNotEmpty():i.node.appendNewLine()}:(()=>{
18
18
  var o;const c=(r===0||X(t[r-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=Be(n)?n.content:n;let d;return{node:i.indented?i.node:c.length!==0?i.node.indent({indentation:c,indentImmediately:!1,indentedChildren:f=>d=f.append(a)}):i.node.append(a),indented:d??((o=i.indented)===null||o===void 0?void 0:o.append(a))}})(),{node:new h}).node}const qe=typeof process>"u"?`
19
19
  `:process.platform==="win32"?`\r
20
20
  `:`
21
- `;function T(t){return t instanceof h||t instanceof O||t instanceof E}function $(t,e){return T(t)?Pe(t,e).text:String(t)}class h{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,i,n){if(we(e)){if(this.tracedSource={astNode:e,property:i,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative valu\
21
+ `;function T(t){return t instanceof h||t instanceof O||t instanceof E}function L(t,e){return T(t)?Pe(t,e).text:String(t)}class h{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,i,n){if(we(e)){if(this.tracedSource={astNode:e,property:i,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative valu\
22
22
  e is assigned to 'index' in 'CompositeGeneratorNode.trace(...)'.")}else this.tracedSource=e;return this}append(...e){for(const i of e)typeof i=="function"?i(this):i&&this.contents.push(i);return this}appendIf(e,...i){return e?this.append(...i):this}appendNewLine(){return this.append(s)}appendNewLineIf(e){return e?this.append(s):this}appendNewLineIfNotEmpty(){return this.append(He)}appendNewLineIfNotEmptyIf(e){return e?this.appendNewLineIfNotEmpty():this}appendTemplate(e,...i){return this.append(
23
- L(e,...i))}appendTemplateIf(e){return e?(i,...n)=>this.appendTemplate(i,...n):()=>this}indent(e){const{indentedChildren:i,indentation:n,indentEmptyLines:r,indentImmediately:o}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},c=new O(n,o,r);return this.contents.push(c),Array.isArray(i)?c.append(...i):i&&c.append(i),this}appendTraced(e,i,n){return r=>this.append(new h().trace(e,i,n).append(r))}appendTracedIf(e,i,n,r){return e?this.appendTraced(typeof i=="function"?
23
+ $(e,...i))}appendTemplateIf(e){return e?(i,...n)=>this.appendTemplate(i,...n):()=>this}indent(e){const{indentedChildren:i,indentation:n,indentEmptyLines:r,indentImmediately:o}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},c=new O(n,o,r);return this.contents.push(c),Array.isArray(i)?c.append(...i):i&&c.append(i),this}appendTraced(e,i,n){return r=>this.append(new h().trace(e,i,n).append(r))}appendTracedIf(e,i,n,r){return e?this.appendTraced(typeof i=="function"?
24
24
  i():i,n,r):()=>this}appendTracedTemplate(e,i,n){return(r,...o)=>this.append(Ve(e,i,n)(r,...o))}appendTracedTemplateIf(e,i,n,r){return e?this.appendTracedTemplate(typeof i=="function"?i():i,n,r):()=>this}}function Ye(t,e,i){return n=>n instanceof h&&n.tracedSource===void 0?n.trace(t,e,i):new h().trace(t,e,i).append(n)}class O extends h{constructor(e,i=!0,n=!1){super(),this.indentImmediately=!0,this.indentEmptyLines=!1,typeof e=="string"?this.indentation=e:typeof e=="number"&&(this.indentation="".
25
25
  padStart(e)),this.indentImmediately=i,this.indentEmptyLines=n}}class E{constructor(e,i=!1){this.ifNotEmpty=!1,this.lineDelimiter=e??qe,this.ifNotEmpty=i}}const s=new E,He=new E(void 0,!0),Q=t=>t===void 0||typeof t=="string"||T(t)?t:String(t);function y(t,e=Q,i={}){const n=typeof e=="function"?e:Q,{filter:r,prefix:o,suffix:c,separator:a,appendNewLineIfNotEmpty:d,skipNewLineAfterLastItem:f}=typeof e=="object"?e:i,u=typeof o=="function"?o:(()=>o),p=typeof c=="function"?c:(()=>c);return Ke(t,(g,w,l,m)=>{
26
26
  if(r&&!r(w,l,m))return g;const I=n(w,l,m);return I===void 0?g:(g??(g=new h)).append(u(w,l,m)).append(I).append(p(w,l,m)).appendIf(!m,a).appendNewLineIfNotEmptyIf(!g.isEmpty()&&!!d&&(!m||!f))})}function Ke(t,e,i){const n=t[Symbol.iterator]();let r=n.next(),o=0,c=i;for(;!r.done;){const a=n.next();c=e(c,r.value,o,!!a.done),r=a,o++}return c}const Xe=t=>t.charAt(0).toLocaleUpperCase()+t.slice(1),Qe=t=>t.split(".").map(Xe).join(""),Ze=t=>Qe(t.parent?t.id.slice(t.parent.length+1):t.id),et=({autoLayout:t})=>{
27
27
  switch(t.direction){case"TB":return"down";case"BT":return"up";case"LR":return"right";case"RL":return"left"}},tt=({shape:t})=>{switch(t){case"queue":case"cylinder":case"rectangle":case"person":return t;case"storage":return"stored_data";case"mobile":case"browser":return"rectangle"}};function Z(t){const e=t.$view,{nodes:i,edges:n}=e,r=new Map,o=(a,d)=>{const f=Ze(a),u=(d?d+".":"")+f;r.set(a.id,u);const p=JSON.stringify(a.title),g=tt(a);return new h().append(f,": {",s).indent({indentedChildren:w=>w.
28
- append("label: ",p,s).appendIf(g!=="rectangle","shape: ",g,s).appendIf(a.children.length>0,s,y(i.filter(l=>l.parent===a.id),l=>o(l,u))),indentation:2}).append("}",s)},c=a=>new h().append(r.get(a.source)," -> ",r.get(a.target)).append(d=>a.label&&d.append(": ",JSON.stringify(a.label)));return $(new h().append("direction: ",et(e),s,s).append(y(i.filter(a=>x(a.parent)),a=>o(a),{appendNewLineIfNotEmpty:!0})).appendIf(n.length>0,s,y(n,a=>c(a),{appendNewLineIfNotEmpty:!0})))}const nt=t=>t.charAt(0).toLocaleUpperCase()+
28
+ append("label: ",p,s).appendIf(g!=="rectangle","shape: ",g,s).appendIf(a.children.length>0,s,y(i.filter(l=>l.parent===a.id),l=>o(l,u))),indentation:2}).append("}",s)},c=a=>new h().append(r.get(a.source)," -> ",r.get(a.target)).append(d=>a.label&&d.append(": ",JSON.stringify(a.label)));return L(new h().append("direction: ",et(e),s,s).append(y(i.filter(a=>x(a.parent)),a=>o(a),{appendNewLineIfNotEmpty:!0})).appendIf(n.length>0,s,y(n,a=>c(a),{appendNewLineIfNotEmpty:!0})))}const nt=t=>t.charAt(0).toLocaleUpperCase()+
29
29
  t.slice(1),it=t=>t.split(".").map(nt).join(""),rt=t=>it(t.parent?t.id.slice(t.parent.length+1):t.id),ot=({shape:t})=>{switch(t){case"queue":case"cylinder":return["[(",")]"];case"person":return["[fa:fa-user ","]"];case"storage":return["([","])"];case"mobile":case"browser":case"rectangle":return["[","]"]}};function ee(t){const e=t.$view,{nodes:i,edges:n}=e,r=new Map,o=(a,d)=>{const f=rt(a),u=(d?d+".":"")+f;r.set(a.id,u);const p=a.title.replaceAll(`
30
30
  `,"\\n"),g=ot(a),w=new h;return a.children.length>0?w.append("subgraph ",u,"[",JSON.stringify(a.title),"]",s).indent({indentedChildren:[y(i.filter(l=>l.parent===a.id),l=>o(l,u),{appendNewLineIfNotEmpty:!0})],indentation:2}).append("end",s):w.append(u,g[0],p,g[1]),w},c=a=>new h().append(r.get(a.source)," -.",a.label?' "'+a.label.replaceAll(`
31
- `,"\\n")+'" .-':"-","> ",r.get(a.target));return $(new h().appendIf(e.title!==null&&e.title.length>0,"---",s,`title: ${JSON.stringify(e.title)}`,s,"---",s).append("graph ",e.autoLayout.direction,s).indent({indentedChildren:a=>{a.append(y(i.filter(d=>x(d.parent)),d=>o(d),{appendNewLineIfNotEmpty:!0})).appendIf(n.length>0,y(n,d=>c(d),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}const at=t=>t.charAt(0).toLocaleUpperCase()+t.slice(1),P=t=>t.split(".").map(at).join(""),te=t=>P(t.parent?t.id.slice(
31
+ `,"\\n")+'" .-':"-","> ",r.get(a.target));return L(new h().appendIf(e.title!==null&&e.title.length>0,"---",s,`title: ${JSON.stringify(e.title)}`,s,"---",s).append("graph ",e.autoLayout.direction,s).indent({indentedChildren:a=>{a.append(y(i.filter(d=>x(d.parent)),d=>o(d),{appendNewLineIfNotEmpty:!0})).appendIf(n.length>0,y(n,d=>c(d),{appendNewLineIfNotEmpty:!0}))},indentation:2}))}const at=t=>t.charAt(0).toLocaleUpperCase()+t.slice(1),P=t=>t.split(".").map(at).join(""),te=t=>P(t.parent?t.id.slice(
32
32
  t.parent.length+1):t.id),S=(t,e,i="#3b82f6")=>t?e(t)??i:i,st=({autoLayout:t})=>{switch(t.direction){case"TB":return"top to bottom";case"BT":return console.warn("Bottom to top direction is not supported. Defaulting to top to bottom."),"top to bottom";case"LR":return"left to right";case"RL":return console.warn("Right to left direction is not supported. Defaulting to left to right."),"left to right"}},ne=({shape:t})=>{switch(t){case"queue":case"rectangle":case"person":return t;case"storage":case"cy\
33
33
  linder":return"database";case"mobile":case"browser":return"rectangle"}},R=t=>x(t)?null:JSON.stringify(t).slice(1,-1);function ie(t){const e=t.$view,i=t.$model.$styles.theme.colors,{nodes:n,edges:r}=e,o=l=>m=>m in i?i[m].elements[l]:void 0,c=l=>m=>m in i?i[m].relationships[l]:void 0,a=new Map,d=()=>new h().append('title "',e.title||e.id,'"',s).append(st(e)," direction",s),f=()=>new h().append("hide stereotype",s).append("skinparam ranksep ","60",s).append("skinparam nodesep ","30",s).append("skin\
34
34
  param {",s).indent({indentedChildren:l=>l.append("arrowFontSize ","10",s).append("defaultTextAlignment ","center",s).append("wrapWidth ","200",s).append("maxMessageSize ","100",s).append("shadowing ","false",s),indentation:2}).append("}",s),u=l=>{const m=ne(l),I=P(l.id);return new h().append("skinparam ",m,"<<",I,">>","{",s).indent({indentedChildren:k=>k.append("BackgroundColor ",S(l.color,o("fill")),s).append("FontColor ",S(l.color,o("hiContrast"),"#FFFFFF"),s).append("BorderColor ",S(l.color,o(
35
- "stroke")),s),indentation:2}).append("}",s)},p=l=>{const m=ne(l),I=P(l.id),k=R(l.title)||te(l),N=R(l.technology);a.set(l.id,I);const b=Ce.from(l.description);return new h().append(m," ").append('"').append("==",k).appendIf(!!N,"\\n","<size:10>[",N,"]</size>").appendIf(b.nonEmpty,"\\n\\n",R(b.text)).append('"'," <<",I,">> ","as ",I,s)},g=l=>{const m=R(l.title)||te(l),I=P(l.id);return a.set(l.id,I),new h().append('rectangle "',m,'" <<',I,">> as ",I," {",s).indent({indentedChildren:k=>k.append("ski\
36
- nparam ","RectangleBorderColor<<",I,">> ",S(l.color,o("fill")),s).append("skinparam ","RectangleFontColor<<",I,">> ",S(l.color,o("fill")),s).append("skinparam ","RectangleBorderStyle<<",I,">> ","dashed",s,s).append(y(n.filter(N=>N.parent===l.id),N=>N.children.length>0?g(N):p(N))),indentation:2}).append("}",s)},w=l=>{const m=R(l.technology)||"",I=R(l.label)||"",k=S(l.color,c("line"),"#777777"),N=b=>`<color:${b}>`;return new h().append(a.get(l.source)," .[",k,",thickness=2].> ",a.get(l.target)).appendIf(
37
- !!(I||m),' : "',N(k)).appendIf(!!I,I,N(k)).appendIf(!!(I&&m),"\\n").appendIf(!!m,N(k),"<size:8>[",m,"]</size>").appendIf(!!(I||m),'"').append(s)};return $(new h().append("@startuml",s).append(d(),s).append(f(),s).append(y(n.filter(l=>l.children.length==0),l=>u(l),{appendNewLineIfNotEmpty:!0})).append(y(n.filter(l=>x(l.parent)),l=>l.children.length>0?g(l):p(l),{appendNewLineIfNotEmpty:!0})).appendIf(r.length>0,s,y(r,l=>w(l),{appendNewLineIfNotEmpty:!0})).append("@enduml",s))}function j(t){return{
35
+ "stroke")),s),indentation:2}).append("}",s)},p=l=>{const m=ne(l),I=P(l.id),k=R(l.title)||te(l),N=R(l.technology);a.set(l.id,I);const M=Ce.from(l.description);return new h().append(m," ").append('"').append("==",k).appendIf(!!N,"\\n","<size:10>[",N,"]</size>").appendIf(M.nonEmpty,"\\n\\n",R(M.text)).append('"'," <<",I,">> ","as ",I,s)},g=l=>{const m=R(l.title)||te(l),I=P(l.id);return a.set(l.id,I),new h().append('rectangle "',m,'" <<',I,">> as ",I," {",s).indent({indentedChildren:k=>k.append("ski\
36
+ nparam ","RectangleBorderColor<<",I,">> ",S(l.color,o("fill")),s).append("skinparam ","RectangleFontColor<<",I,">> ",S(l.color,o("fill")),s).append("skinparam ","RectangleBorderStyle<<",I,">> ","dashed",s,s).append(y(n.filter(N=>N.parent===l.id),N=>N.children.length>0?g(N):p(N))),indentation:2}).append("}",s)},w=l=>{const m=R(l.technology)||"",I=R(l.label)||"",k=S(l.color,c("line"),"#777777"),N=M=>`<color:${M}>`;return new h().append(a.get(l.source)," .[",k,",thickness=2].> ",a.get(l.target)).appendIf(
37
+ !!(I||m),' : "',N(k)).appendIf(!!I,I,N(k)).appendIf(!!(I&&m),"\\n").appendIf(!!m,N(k),"<size:8>[",m,"]</size>").appendIf(!!(I||m),'"').append(s)};return L(new h().append("@startuml",s).append(d(),s).append(f(),s).append(y(n.filter(l=>l.children.length==0),l=>u(l),{appendNewLineIfNotEmpty:!0})).append(y(n.filter(l=>x(l.parent)),l=>l.children.length>0?g(l):p(l),{appendNewLineIfNotEmpty:!0})).appendIf(r.length>0,s,y(r,l=>w(l),{appendNewLineIfNotEmpty:!0})).append("@enduml",s))}function j(t){return{
38
38
  matches:e=>{let{module:i,projectId:n}=e.match(/^likec4:plugin\/(?<projectId>.+)\/(?<module>.+)$/)?.groups??e.match(/^likec4:(?<module>.+)\/(?<projectId>.+)$/)?.groups??{};return!i||!n?null:(i.endsWith(".js")&&(i=i.slice(0,-3)),i===t?n:null)},virtualId:e=>_("likec4:plugin",e,t)+".js"}}const dt={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};function ct(t){return t.replace(/[<>\b\f\n\r\t\0\u2028\u2029\\]/g,
39
- e=>dt[e])}function M(t,e){return{id:`likec4:${t}`,virtualId:`likec4:plugin/${t}.js`,async load({logger:i,projects:n}){i.info(v.dim(`generating likec4:${t}`));const r=n.map(({id:o})=>{const c=ct(JSON.stringify(_(`likec4:${t}`,o)));return` ${JSON.stringify(o)}: () => import(${c})`});return`
39
+ e=>dt[e])}function b(t,e){return{id:`likec4:${t}`,virtualId:`likec4:plugin/${t}.js`,async load({logger:i,projects:n}){i.info(v.dim(`generating likec4:${t}`));const r=n.map(({id:o})=>{const c=ct(JSON.stringify(_(`likec4:${t}`,o)));return` ${JSON.stringify(o)}: () => import(${c})`});return`
40
40
  export let ${e}Fn = {
41
41
  ${r.join(`,
42
42
  `)}
43
43
  }
44
44
 
45
45
  export async function ${e}(projectId) {
46
- const fn = ${e}Fn[projectId]
46
+ let fn = ${e}Fn[projectId]
47
47
  if (!fn) {
48
- throw new Error('Unknown projectId: ' + projectId)
48
+ const projects = Object.keys(${e}Fn)
49
+ console.error('Unknown projectId: ' + projectId + ' (available: ' + projectIds + ')')
50
+ if (projects.length === 0) {
51
+ throw new Error('No projects found, invalid state')
52
+ }
53
+ projectId = projects[0]
54
+ console.warn('Falling back to project: ' + projectId)
55
+ fn = ${e}Fn[projectId]
49
56
  }
50
57
  return await fn()
51
58
  }
@@ -72,7 +79,7 @@ if (import.meta.hot) {
72
79
 
73
80
  export function d2Source(viewId) {
74
81
  switch (viewId) {
75
- `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>L`
82
+ `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>$`
76
83
  case ${JSON.stringify(n.id)}: {
77
84
  return ${JSON.stringify(Z(n))}
78
85
  }
@@ -82,7 +89,7 @@ if (import.meta.hot) {
82
89
  }
83
90
  `}}).append(s," }",s).appendTemplate`
84
91
  }
85
- `.append(s,s),$(e)}const pt={...j("d2"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:d2/${e.id}`));const n=await t.computedModel(e.id);return lt(n)}},ut=M("d2","loadD2Sources");function ft(t){const e=new h;return e.appendTemplate`
92
+ `.append(s,s),L(e)}const pt={...j("d2"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:d2/${e.id}`));const n=await t.computedModel(e.id);return lt(n)}},ut=b("d2","loadD2Sources");function ft(t){const e=new h;return e.appendTemplate`
86
93
  /******************************************************************************
87
94
  * This file was generated
88
95
  * DO NOT EDIT MANUALLY!
@@ -91,7 +98,7 @@ if (import.meta.hot) {
91
98
 
92
99
  export function dotSource(viewId) {
93
100
  switch (viewId) {
94
- `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y(Object.keys(t),n=>L`
101
+ `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y(Object.keys(t),n=>$`
95
102
  case ${JSON.stringify(n)}: {
96
103
  return ${JSON.stringify(t[n].dot)}
97
104
  }
@@ -104,7 +111,7 @@ if (import.meta.hot) {
104
111
 
105
112
  export function svgSource(viewId) {
106
113
  switch (viewId) {
107
- `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y(Object.keys(t),n=>L`
114
+ `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y(Object.keys(t),n=>$`
108
115
  case ${JSON.stringify(n)}: {
109
116
  return ${JSON.stringify(t[n].svg)}
110
117
  }
@@ -112,7 +119,7 @@ if (import.meta.hot) {
112
119
  default: {
113
120
  throw new Error('Unknown viewId: ' + viewId)
114
121
  }
115
- `}}).append(s," }",s,"}",s,s),$(e)}const gt={...j("dot"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:dot/${e.id}`));const n=await t.views.viewsAsGraphvizOut(e.id),r=Ie(n,({id:o,svg:c,dot:a})=>[o,{dot:a,svg:c}]);return ft(r)}},ht=M("dot","loadDotSources");function mt(t){const e=ge(t.flatMap(r=>r.nodes.map(o=>o.icon)),Ne(r=>ke(r)&&!(r.toLowerCase().startsWith("http:")||r.toLowerCase().startsWith("https:"))),ye(),ve($e)),{imports:i,cases:n}=e.reduce((r,o,c)=>{
122
+ `}}).append(s," }",s,"}",s,s),L(e)}const gt={...j("dot"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:dot/${e.id}`));const n=await t.views.viewsAsGraphvizOut(e.id),r=Ie(n,({id:o,svg:c,dot:a})=>[o,{dot:a,svg:c}]);return ft(r)}},ht=b("dot","loadDotSources");function mt(t){const e=ge(t.flatMap(r=>r.nodes.map(o=>o.icon)),Ne(r=>ke(r)&&!(r.toLowerCase().startsWith("http:")||r.toLowerCase().startsWith("https:"))),ye(),ve(Le)),{imports:i,cases:n}=e.reduce((r,o,c)=>{
116
123
  const a=o.startsWith("file:"),d="Icon"+c.toString().padStart(2,"0");if(a)return r.imports.push(`import ${d} from '${o}?inline'`),r.cases.push(` '${o}': () => jsx('img', { src: ${d} })`),r;const[f,u]=o.split(":");return r.imports.push(`import ${d} from 'likec4/icons/${f}/${u}'`),r.cases.push(` '${f}:${u}': ${d}`),r},{imports:[],cases:[]});return`
117
124
  import { jsx } from 'react/jsx-runtime'
118
125
  ${i.join(`
@@ -164,7 +171,7 @@ if (import.meta.hot) {
164
171
 
165
172
  export function mmdSource(viewId) {
166
173
  switch (viewId) {
167
- `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>L`
174
+ `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>$`
168
175
  case ${JSON.stringify(n.id)}: {
169
176
  return ${JSON.stringify(ee(n))}
170
177
  }
@@ -175,7 +182,7 @@ if (import.meta.hot) {
175
182
  `}}).append(s," }",s).appendTemplate`
176
183
  }
177
184
 
178
- `.append(s,s),$(e)}const yt={...j("mmd"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating virtual:likec4/mmd/${e.id}`));const n=await t.computedModel(e.id);return vt(n)}},Nt=M("mmd","loadMmdSources"),kt=t=>`
185
+ `.append(s,s),L(e)}const yt={...j("mmd"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating virtual:likec4/mmd/${e.id}`));const n=await t.computedModel(e.id);return vt(n)}},Nt=b("mmd","loadMmdSources"),kt=t=>`
179
186
  import { createHooksForModel, atom } from 'likec4/vite-plugin/internal'
180
187
 
181
188
  export const $likec4data = atom(${W.stringify(t.$data)})
@@ -201,10 +208,10 @@ if (import.meta.hot) {
201
208
  }
202
209
  })
203
210
  }
204
- `,Lt={...j("model"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:model/${e.id}`));const n=await t.layoutedModel(e.id);return kt(n)}},re=M("model","loadModel"),$t=t=>`
211
+ `,$t={...j("model"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:model/${e.id}`));const n=await t.layoutedModel(e.id);return kt(n)}},re=b("model","loadModel"),Lt=t=>`
205
212
  export const isSingleProject = ${t.length===1};
206
213
  export const projects = ${W.stringify(t,null,2)};
207
- `,oe={id:"likec4:projects",virtualId:"likec4:plugin/projects.js",async load({logger:t,projects:e}){return t.info(v.dim("generating likec4:projects")),$t(A(e,Se(["id","title"])))}};function jt(t){const e=new h;return e.appendTemplate`
214
+ `,oe={id:"likec4:projects",virtualId:"likec4:plugin/projects.js",async load({logger:t,projects:e}){return t.info(v.dim("generating likec4:projects")),Lt(A(e,Se(["id","title"])))}};function jt(t){const e=new h;return e.appendTemplate`
208
215
  /******************************************************************************
209
216
  * This file was generated
210
217
  * DO NOT EDIT MANUALLY!
@@ -213,7 +220,7 @@ export const projects = ${W.stringify(t,null,2)};
213
220
 
214
221
  export function pumlSource(viewId) {
215
222
  switch (viewId) {
216
- `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>L`
223
+ `.appendNewLine().indent({indentation:4,indentedChildren(i){i.append(y([...t.views()],n=>$`
217
224
  case ${JSON.stringify(n.id)}: {
218
225
  return ${JSON.stringify(ie(n))}
219
226
  }
@@ -223,7 +230,7 @@ export const projects = ${W.stringify(t,null,2)};
223
230
  }
224
231
  `}}).append(s," }",s).appendTemplate`
225
232
  }
226
- `.append(s,s),$(e)}const Ct={...j("puml"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:puml/${e.id}`));const n=await t.computedModel(e.id);return jt(n)}},St=M("puml","loadPumlSources"),ae=t=>`
233
+ `.append(s,s),L(e)}const Ct={...j("puml"),async load({likec4:t,project:e,logger:i}){i.info(v.dim(`generating likec4:puml/${e.id}`));const n=await t.computedModel(e.id);return jt(n)}},St=b("puml","loadPumlSources"),ae=t=>`
227
234
  import { jsx as _jsx } from "react/jsx-runtime";
228
235
  import { LikeC4ModelProvider as Provider, LikeC4View as GenericView, ReactLikeC4 as GenericReactLikeC4 } from 'likec4/react';
229
236
  import { IconRenderer } from 'likec4:icons/${t}'
@@ -256,10 +263,10 @@ export {
256
263
  useLikeC4View
257
264
  } from 'likec4:model/${t}'
258
265
  export const projectId = ${JSON.stringify(t)}
259
- `,Mt={id:"likec4:single-project",virtualId:"likec4:plugin/single-project.js",async load({logger:t,projects:e}){const i=G(e);return t.info(v.dim("generating likec4:single-project for")+" "+i.id),Et(i.id)}},se=[Lt,wt,pt,gt,yt,Ct],de=[...se,Rt],ce=[oe,re,Mt,Tt,ut,ht,Nt,St,It];function bt({useOverviewGraph:t=!1,...e}){let i,n,r,o,c=e.watch??!1;return{name:"vite-plugin-likec4",async configResolved(a){if(i=a.root,n=a.logger,t===!0){const d=a.resolve.alias.find(f=>f.find==="likec4/previews")?.replacement;
260
- d?(o=d,n.info(v.dim("likec4/previews alias")+" "+v.dim(o))):n.warn("likec4/previews alias not found")}if(e.languageServices)r=e.languageServices;else{const d=c=e.watch??a.mode==="development";r=(await Le.fromWorkspace(e.workspace??a.root,{logger:n,graphviz:e.graphviz??"wasm",printErrors:e.printErrors??!0,throwIfInvalid:e.throwIfInvalid??!1,watch:d})).languageServices}o=r.workspaceUri.fsPath},resolveId(a){for(const d of de){const f=d.matches(a);if(f)return d.virtualId(f)}for(const d of ce)if(d.id===
266
+ `,bt={id:"likec4:single-project",virtualId:"likec4:plugin/single-project.js",async load({logger:t,projects:e}){const i=G(e);return t.info(v.dim("generating likec4:single-project for")+" "+i.id),Et(i.id)}},se=[$t,wt,pt,gt,yt,Ct],de=[...se,Rt],ce=[oe,re,bt,Tt,ut,ht,Nt,St,It];function Mt({useOverviewGraph:t=!1,...e}){let i,n,r,o,c=e.watch??!1;return{name:"vite-plugin-likec4",async configResolved(a){if(i=a.root,n=a.logger,t===!0){const d=a.resolve.alias.find(f=>f.find==="likec4/previews")?.replacement;
267
+ d?(o=d,n.info(v.dim("likec4/previews alias")+" "+v.dim(o))):n.warn("likec4/previews alias not found")}if(e.languageServices)r=e.languageServices;else{const d=c=e.watch??a.mode==="development";r=(await $e.fromWorkspace(e.workspace??a.root,{logger:n,graphviz:e.graphviz??"wasm",printErrors:e.printErrors??!0,throwIfInvalid:e.throwIfInvalid??!1,watch:d})).languageServices}o=r.workspaceUri.fsPath},resolveId(a){for(const d of de){const f=d.matches(a);if(f)return d.virtualId(f)}for(const d of ce)if(d.id===
261
268
  a)return d.virtualId;return null},async load(a){for(const d of de){const f=d.matches(a);if(f){const u=r.project(f);return await d.load({logger:n,likec4:r,project:u,assetsDir:o,useOverviewGraph:t})}}for(const d of ce)if(d.virtualId===a){const f=r.projects();return le(pe(f)),await d.load({logger:n,likec4:r,projects:f,assetsDir:o,useOverviewGraph:t})}return null},configureServer(a){const d=()=>A(r.projects(),p=>({id:p.id,title:p.title,folder:p.folder.fsPath}));let f=d();const u=async p=>{const g=a.
262
269
  moduleGraph.getModuleById(p);if(g&&g.importers.size>0)try{await a.reloadModule(g)}catch(w){n.error(w)}};r.builder.onModelParsed(async()=>{const[p]=r.getErrors();if(p){a.ws.send({type:"error",err:{name:"LikeC4ValidationError",message:`Validation failed
263
270
  `+p.message.slice(0,500),stack:"",plugin:"vite-plugin-likec4",loc:{file:ue(i,p.sourceFsPath),line:p.range.start.line+1,column:p.range.start.character+1}}});return}const g=d();fe(g,f)||(f=g,await u(oe.virtualId),await u(re.virtualId));for(const w of f)for(const l of se)await u(l.virtualId(w.id))}),xt.call(this,{logger:n,likec4:r,server:a,reloadModule:u})},async buildEnd(){c&&await r.dispose()}}}function xt({logger:t,likec4:e,server:i}){i.ws.on("likec4:view:onChange",async function(n){try{t.info([
264
271
  v.green("view:onChange"),v.dim("project")+":",n.projectId,v.dim("view")+":",n.viewId,v.dim("change")+":",n.change.op].join(" "));const r=await e.editor.applyChange(n);if(!r.success){t.error(`Failed to apply view change:
265
- ${r.error}`),i.ws.send({type:"error",err:{message:r.error,stack:"",name:"LikeC4ViewChangeError",plugin:"vite-plugin-likec4"}});return}t.info([v.green("view:onChange"),"\u2705"].join(" "))}catch(r){const o=r;t.error("Failed to apply view change",{error:o}),i.ws.send({type:"error",err:{message:o.message,stack:o.stack??"",name:o.name,plugin:"vite-plugin-likec4"}})}})}export{h as C,bt as L,s as N,ee as a,Z as b,L as e,ie as g,y as j,$ as t};
272
+ ${r.error}`),i.ws.send({type:"error",err:{message:r.error,stack:"",name:"LikeC4ViewChangeError",plugin:"vite-plugin-likec4"}});return}t.info([v.green("view:onChange"),"\u2705"].join(" "))}catch(r){const o=r;t.error("Failed to apply view change",{error:o}),i.ws.send({type:"error",err:{message:o.message,stack:o.stack??"",name:o.name,plugin:"vite-plugin-likec4"}})}})}export{h as C,Mt as L,s as N,ee as a,Z as b,$ as e,ie as g,y as j,L as t};
@@ -15750,17 +15750,23 @@ declare class IndexManager extends DefaultIndexManager {
15750
15750
 
15751
15751
  declare class LangiumDocuments extends DefaultLangiumDocuments {
15752
15752
  protected services: LikeC4SharedServices;
15753
- protected compare: (a: string | undefined, b: string | undefined) => number;
15754
15753
  constructor(services: LikeC4SharedServices);
15755
15754
  addDocument(document: LangiumDocument): void;
15756
15755
  getDocument(uri: URI$1): LikeC4LangiumDocument | undefined;
15757
15756
  get all(): Stream<LikeC4LangiumDocument>;
15758
15757
  /**
15759
- * Returns all user documents, excluding built-in documents.
15758
+ * Returns all documents, excluding built-in documents and documents excluded by ProjectsManager.
15760
15759
  */
15761
15760
  get allExcludingBuiltin(): Stream<LikeC4LangiumDocument>;
15761
+ /**
15762
+ * Returns all documents for a project, including both project documents and documents included by the project.
15763
+ */
15762
15764
  projectDocuments(projectId: ProjectId): Stream<LikeC4LangiumDocument>;
15763
15765
  groupedByProject(): Record<ProjectId, NonEmptyArray<LikeC4LangiumDocument>>;
15766
+ /**
15767
+ * Reset the project IDs of all documents.
15768
+ */
15769
+ resetProjectIds(): void;
15764
15770
  }
15765
15771
 
15766
15772
  /**
@@ -15779,7 +15785,7 @@ interface ProjectData {
15779
15785
  * Resolved include paths with both URI and folder string representations.
15780
15786
  * These are additional directories that are part of this project.
15781
15787
  */
15782
- includePaths?: Array<{
15788
+ includePaths?: NonEmptyArray<{
15783
15789
  uri: URI$1;
15784
15790
  folder: ProjectFolder;
15785
15791
  }>;
@@ -15795,7 +15801,7 @@ interface Project {
15795
15801
  /**
15796
15802
  * Resolved include paths as URIs (if configured).
15797
15803
  */
15798
- includePaths?: URI$1[];
15804
+ includePaths?: NonEmptyReadonlyArray<URI$1>;
15799
15805
  }
15800
15806
  declare class ProjectsManager {
15801
15807
  #private;
@@ -15833,6 +15839,11 @@ declare class ProjectsManager {
15833
15839
  * Checks if the specified document should be excluded from processing.
15834
15840
  */
15835
15841
  isExcluded(document: LangiumDocument | URI$1 | string): boolean;
15842
+ /**
15843
+ * Checks if the specified document is included by the project.
15844
+ */
15845
+ isIncluded(projectId: ProjectId$1, document: LangiumDocument | URI$1 | string): boolean;
15846
+ includedInProjects(document: LangiumDocument | URI$1 | string): ProjectId$1[];
15836
15847
  /**
15837
15848
  * Checks if it is a config file and it is not excluded by default exclude pattern
15838
15849
  *
@@ -15842,7 +15853,7 @@ declare class ProjectsManager {
15842
15853
  /**
15843
15854
  * Registers likec4 project by config file.
15844
15855
  */
15845
- registerConfigFile(configFile: URI$1): Promise<ProjectData>;
15856
+ registerConfigFile(configFile: URI$1, cancelToken?: CancellationToken$1): Promise<ProjectData>;
15846
15857
  /**
15847
15858
  * Registers (or reloads) likec4 project by config file or config object.
15848
15859
  * If there is some project registered at same folder, it will be reloaded.
@@ -15850,14 +15861,14 @@ declare class ProjectsManager {
15850
15861
  registerProject(opts: {
15851
15862
  config: LikeC4ProjectConfig | LikeC4ProjectConfigInput;
15852
15863
  folderUri: URI$1 | string;
15853
- }): Promise<ProjectData>;
15864
+ }, cancelToken?: CancellationToken$1): Promise<ProjectData>;
15854
15865
  /**
15855
15866
  * Determines which project the given document belongs to.
15856
15867
  * If the document does not belong to any project, returns the default project ID.
15857
15868
  */
15858
15869
  belongsTo(document: LangiumDocument | URI$1 | string): scalar.ProjectId;
15859
- reloadProjects(): Promise<void>;
15860
- protected _reloadProjects(): Promise<void>;
15870
+ reloadProjects(cancelToken?: CancellationToken$1): Promise<void>;
15871
+ protected _reloadProjects(cancelToken?: CancellationToken$1): Promise<void>;
15861
15872
  protected uniqueProjectId(name: string): scalar.ProjectId;
15862
15873
  protected reset(): void;
15863
15874
  rebuidProject(projectId: ProjectId$1, cancelToken?: CancellationToken$1): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { L as LikeC4LanguageServices } from '../shared/likec4.LnxAaQKk.mjs';
1
+ import { L as LikeC4LanguageServices } from '../shared/likec4.iyEJ8QdJ.mjs';
2
2
  import '@likec4/core';
3
3
  import 'type-fest';
4
4
  import '../shared/likec4.6kvTI22o.mjs';
@@ -1 +1 @@
1
- export{L as LikeC4VitePlugin}from"../shared/likec4.Bp7Gn9yO.mjs";
1
+ export{L as LikeC4VitePlugin}from"../shared/likec4.fwpDnke2.mjs";