@likec4/language-server 1.48.0 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/browser/package.json +2 -2
  2. package/browser-worker/package.json +2 -2
  3. package/dist/THIRD-PARTY-LICENSES.md +178 -0
  4. package/dist/_chunks/ConfigurableLayouter.mjs +1 -1956
  5. package/dist/_chunks/LikeC4FileSystem.mjs +3 -0
  6. package/dist/_chunks/LikeC4Views.mjs +34 -0
  7. package/dist/_chunks/ProjectsManager.mjs +1 -0
  8. package/dist/_chunks/WithMCPServer.mjs +481 -0
  9. package/dist/_chunks/icons.mjs +2 -5211
  10. package/dist/_chunks/{LikeC4LanguageServices.d.mts → index.d.mts} +1836 -707
  11. package/dist/_chunks/libs/@msgpack/msgpack.mjs +1 -805
  12. package/dist/_chunks/libs/eventemitter3.mjs +1 -243
  13. package/dist/_chunks/libs/fast-equals.mjs +1 -446
  14. package/dist/_chunks/libs/p-queue.mjs +1 -449
  15. package/dist/_chunks/libs/parse-ms.mjs +1 -36
  16. package/dist/_chunks/libs/picomatch.mjs +1 -1673
  17. package/dist/_chunks/libs/pretty-ms.mjs +1 -80
  18. package/dist/_chunks/libs/remeda.mjs +1 -482
  19. package/dist/_chunks/libs/strip-indent.mjs +1 -15
  20. package/dist/_chunks/libs/ufo.mjs +1 -166
  21. package/dist/_chunks/logger.mjs +1 -0
  22. package/dist/_chunks/rolldown-runtime.mjs +1 -42
  23. package/dist/_chunks/utils.mjs +1 -0
  24. package/dist/browser/index.d.mts +10 -0
  25. package/dist/browser/index.mjs +1 -0
  26. package/dist/browser/worker.mjs +1 -0
  27. package/dist/bundled.d.mts +2 -3
  28. package/dist/bundled.mjs +1 -51
  29. package/dist/filesystem/index.d.mts +2 -4
  30. package/dist/filesystem/index.mjs +1 -3
  31. package/dist/index.d.mts +38 -3
  32. package/dist/index.mjs +1 -48
  33. package/dist/likec4lib.d.mts +10 -3
  34. package/dist/likec4lib.mjs +1 -4
  35. package/dist/mcp/index.d.mts +2 -4
  36. package/dist/mcp/index.mjs +1 -3
  37. package/dist/module.d.mts +126 -4
  38. package/dist/module.mjs +1 -3
  39. package/dist/protocol.d.mts +314 -1
  40. package/dist/protocol.mjs +1 -3
  41. package/filesystem/package.json +4 -0
  42. package/mcp/package.json +4 -0
  43. package/module/package.json +4 -0
  44. package/package.json +79 -56
  45. package/LICENSE +0 -21
  46. package/dist/LikeC4LanguageServices.d.mts +0 -4
  47. package/dist/LikeC4LanguageServices.mjs +0 -3
  48. package/dist/_chunks/LikeC4LanguageServices.mjs +0 -725
  49. package/dist/_chunks/ast.d.mts +0 -1444
  50. package/dist/_chunks/ast.mjs +0 -2375
  51. package/dist/_chunks/ast2.mjs +0 -176
  52. package/dist/_chunks/common-exports.mjs +0 -0
  53. package/dist/_chunks/filesystem.mjs +0 -58
  54. package/dist/_chunks/grammar.mjs +0 -8
  55. package/dist/_chunks/libs/@hono/node-server.mjs +0 -436
  56. package/dist/_chunks/libs/hono.mjs +0 -1829
  57. package/dist/_chunks/likec4lib.mjs +0 -9
  58. package/dist/_chunks/mcp.mjs +0 -33
  59. package/dist/_chunks/module.mjs +0 -28
  60. package/dist/_chunks/module2.mjs +0 -6576
  61. package/dist/_chunks/protocol.d.mts +0 -311
  62. package/dist/_chunks/protocol.mjs +0 -78
  63. package/dist/ast.d.mts +0 -4
  64. package/dist/ast.mjs +0 -4
  65. package/dist/browser-worker.mjs +0 -6
  66. package/dist/browser.d.mts +0 -11
  67. package/dist/browser.mjs +0 -27
  68. package/dist/common-exports.d.mts +0 -4
  69. package/dist/common-exports.mjs +0 -5
  70. package/dist/generated/ast.d.mts +0 -2
  71. package/dist/generated/ast.mjs +0 -3
  72. package/dist/generated/grammar.d.mts +0 -6
  73. package/dist/generated/grammar.mjs +0 -3
  74. package/dist/generated/module.d.mts +0 -14
  75. package/dist/generated/module.mjs +0 -3
  76. package/dist/generated-lib/icons.d.mts +0 -4
  77. package/dist/generated-lib/icons.mjs +0 -3
  78. /package/dist/{browser-worker.d.mts → browser/worker.d.mts} +0 -0
@@ -1,2 +1,315 @@
1
- import { _ as ReloadProjects, a as DidChangeSnapshotNotification, c as FetchLayoutedModel, d as FetchTelemetryMetrics, f as FetchViewsFromAllProjects, g as RegisterProject, h as Locate, i as DidChangeProjectsNotification, l as FetchProjects, m as LayoutView, n as ChangeView, o as DidRequestOpenViewNotification, p as GetDocumentTags, r as DidChangeModelNotification, s as FetchComputedModel, t as BuildDocuments, u as FetchProjectsOverview, v as ValidateLayout } from "./_chunks/protocol.mjs";
1
+ import { DiagnosticSeverity, DocumentUri, Location, Position, Range, URI } from "vscode-languageserver-types";
2
+ import { ColorLiteral, ComputedLikeC4ModelData, DeploymentFqn, DiagramView, Fqn, LayoutedLikeC4ModelData, LayoutedProjectsView, NonEmptyArray, ProjectId, RelationId, ViewChange, ViewId } from "@likec4/core";
3
+ import { LikeC4ProjectJsonConfig } from "@likec4/config";
4
+ import { NotificationType, NotificationType0, RequestType, RequestType0 } from "vscode-jsonrpc";
5
+
6
+ //#region src/protocol.d.ts
7
+ declare namespace DidChangeModelNotification {
8
+ const type: NotificationType<string>;
9
+ type Type = typeof type;
10
+ }
11
+ /**
12
+ * Triggered by the language server when projects changed
13
+ * (number of projects changed, names changed, etc)
14
+ */
15
+ declare namespace DidChangeProjectsNotification {
16
+ const type: NotificationType0;
17
+ type Type = typeof type;
18
+ }
19
+ /**
20
+ * When the snapshot of a manual layout changes
21
+ * Send by the editor to the language server
22
+ */
23
+ declare namespace DidChangeSnapshotNotification {
24
+ type Params = {
25
+ snapshotUri: DocumentUri;
26
+ };
27
+ const Method: "likec4/onDidChangeSnapshot";
28
+ const type: NotificationType<Params>;
29
+ type Type = typeof type;
30
+ }
31
+ /**
32
+ * When server requests to open a likec4 preview panel
33
+ * (available only in the editor).
34
+ * (not the best place, but seems to be working)
35
+ */
36
+ declare namespace DidRequestOpenViewNotification {
37
+ type Params = {
38
+ viewId: ViewId;
39
+ projectId: ProjectId;
40
+ };
41
+ const type: NotificationType<Params>;
42
+ type Type = typeof type;
43
+ }
44
+ /**
45
+ * Request to fetch the computed model data
46
+ * If LSP has multiple projects, the projectId is required.
47
+ * otherwise throws an error.
48
+ */
49
+ declare namespace FetchComputedModel {
50
+ type Params = {
51
+ projectId?: string | undefined;
52
+ cleanCaches?: boolean | undefined;
53
+ };
54
+ type Res = {
55
+ model: ComputedLikeC4ModelData | null;
56
+ };
57
+ const req: RequestType<Params, Res, void>;
58
+ type Req = typeof req;
59
+ }
60
+ /**
61
+ * Request to fetch all views of all projects
62
+ */
63
+ declare namespace FetchViewsFromAllProjects {
64
+ type Res = {
65
+ views: Array<{
66
+ id: ViewId;
67
+ title: string;
68
+ projectId: ProjectId;
69
+ }>;
70
+ };
71
+ const req: RequestType0<Res, void>;
72
+ type Req = typeof req;
73
+ }
74
+ /**
75
+ * Request to fetch the layouted model data
76
+ * If LSP has multiple projects, the projectId is required.
77
+ * otherwise throws an error.
78
+ */
79
+ declare namespace FetchLayoutedModel {
80
+ type Params = {
81
+ projectId?: string | undefined;
82
+ };
83
+ type Res = {
84
+ model: LayoutedLikeC4ModelData | null;
85
+ };
86
+ const req: RequestType<Params, Res, void>;
87
+ type Req = typeof req;
88
+ }
89
+ /**
90
+ * Request to layout a view.
91
+ * If LSP has multiple projects, the projectId is required.
92
+ */
93
+ declare namespace LayoutView {
94
+ type Params = {
95
+ viewId: ViewId;
96
+ projectId?: string | undefined;
97
+ layoutType?: 'auto' | 'manual' | undefined;
98
+ };
99
+ type Res = {
100
+ result: {
101
+ dot: string;
102
+ diagram: DiagramView;
103
+ } | null;
104
+ };
105
+ const req: RequestType<Params, Res, void>;
106
+ type Req = typeof req;
107
+ }
108
+ /**
109
+ * Request to validate all views
110
+ * If projects ID is provided, it will validate only the views of that project.
111
+ */
112
+ declare namespace ValidateLayout {
113
+ type Params = {
114
+ projectId?: string;
115
+ };
116
+ type Res = {
117
+ result: {
118
+ uri: string;
119
+ viewId: ViewId;
120
+ message: string;
121
+ severity: DiagnosticSeverity;
122
+ range: {
123
+ start: Position;
124
+ end: Position;
125
+ };
126
+ }[] | null;
127
+ };
128
+ const req: RequestType<Params, Res, void>;
129
+ type Req = typeof req;
130
+ }
131
+ /**
132
+ * Request to reload projects.
133
+ */
134
+ declare namespace ReloadProjects {
135
+ type Params = never;
136
+ type Res = void;
137
+ const req: RequestType0<void, void>;
138
+ type Req = typeof req;
139
+ }
140
+ /**
141
+ * Fetch all non-empty projects.
142
+ */
143
+ declare namespace FetchProjects {
144
+ type Params = never;
145
+ type Res = {
146
+ projects: {
147
+ [projectId: ProjectId]: {
148
+ folder: URI;
149
+ config: {
150
+ name: string;
151
+ title?: string | undefined;
152
+ };
153
+ docs: NonEmptyArray<DocumentUri>;
154
+ };
155
+ };
156
+ };
157
+ const req: RequestType0<Res, void>;
158
+ type Req = typeof req;
159
+ }
160
+ /**
161
+ * Request from the client to register a project.
162
+ */
163
+ declare namespace RegisterProject {
164
+ type Params = {
165
+ folderUri: URI;
166
+ config: LikeC4ProjectJsonConfig;
167
+ configUri?: never;
168
+ } | {
169
+ configUri: URI;
170
+ folderUri?: never;
171
+ config?: never;
172
+ };
173
+ type Res = {
174
+ id: ProjectId;
175
+ };
176
+ const req: RequestType<Params, Res, void>;
177
+ type Req = typeof req;
178
+ }
179
+ /**
180
+ * Request to build documents.
181
+ */
182
+ declare namespace BuildDocuments {
183
+ type Params = {
184
+ docs: DocumentUri[];
185
+ };
186
+ const req: RequestType<Params, void, void>;
187
+ type Req = typeof req;
188
+ }
189
+ /**
190
+ * Request to locate an element, relation, deployment or view.
191
+ * If LSP has multiple projects, the projectId is required.
192
+ */
193
+ declare namespace Locate {
194
+ type Params =
195
+ /**
196
+ * Locate an element by its fqn
197
+ */
198
+ {
199
+ element: Fqn;
200
+ projectId?: string | undefined;
201
+ property?: string;
202
+ }
203
+ /**
204
+ * Locate a relation by its id
205
+ */
206
+ | {
207
+ projectId?: string | undefined;
208
+ relation: RelationId;
209
+ }
210
+ /**
211
+ * Locate a deployment by its fqn
212
+ */
213
+ | {
214
+ deployment: DeploymentFqn;
215
+ projectId?: string | undefined;
216
+ property?: string;
217
+ }
218
+ /**
219
+ * Locate a step in a dynamic view by its astPath
220
+ */
221
+ | {
222
+ view: ViewId;
223
+ astPath: string;
224
+ projectId?: string | undefined;
225
+ }
226
+ /**
227
+ * Locate a view by its id
228
+ */
229
+ | {
230
+ view: ViewId;
231
+ projectId?: string | undefined;
232
+ };
233
+ type Res = Location | null;
234
+ const req: RequestType<Params, Res, void>;
235
+ type Req = typeof req;
236
+ }
237
+ /**
238
+ * Request to change the view
239
+ * If LSP has multiple projects, the projectId is required.
240
+ */
241
+ declare namespace ChangeView {
242
+ type Params = {
243
+ viewId: ViewId;
244
+ change: ViewChange;
245
+ projectId?: string | undefined;
246
+ };
247
+ type Res = {
248
+ success: true;
249
+ location: Location | null;
250
+ } | {
251
+ success: false;
252
+ location?: Location | null;
253
+ error: string;
254
+ };
255
+ const req: RequestType<Params, Res, void>;
256
+ type Req = typeof req;
257
+ }
258
+ /**
259
+ * Request to fetch telemetry metrics
260
+ */
261
+ declare namespace FetchTelemetryMetrics {
262
+ type Res = {
263
+ metrics: null | {
264
+ elementKinds: number;
265
+ deploymentKinds: number;
266
+ relationshipKinds: number;
267
+ tags: number;
268
+ customColors: number;
269
+ elements: number;
270
+ deploymentNodes: number;
271
+ relationships: number;
272
+ views: number;
273
+ projects: number;
274
+ };
275
+ };
276
+ const req: RequestType0<Res, void>;
277
+ type Req = typeof req;
278
+ }
279
+ /**
280
+ * Request to fetch all tags of a document
281
+ */
282
+ declare namespace GetDocumentTags {
283
+ type Params = {
284
+ documentUri: DocumentUri;
285
+ };
286
+ type Res = {
287
+ /**
288
+ * Project ID this document belongs to (if any)
289
+ */
290
+ projectId: ProjectId;
291
+ /**
292
+ * Used tags in the document
293
+ */
294
+ tags: Array<{
295
+ name: string;
296
+ range: Range;
297
+ color: ColorLiteral;
298
+ isSpecification?: boolean;
299
+ }>;
300
+ };
301
+ const req: RequestType<Params, Res, void>;
302
+ type Req = typeof req;
303
+ }
304
+ /**
305
+ * Request to fetch projects overview diagram
306
+ */
307
+ declare namespace FetchProjectsOverview {
308
+ type Res = {
309
+ projectsView: LayoutedProjectsView | null;
310
+ };
311
+ const req: RequestType0<Res, void>;
312
+ type Req = typeof req;
313
+ }
314
+ //#endregion
2
315
  export { BuildDocuments, ChangeView, DidChangeModelNotification, DidChangeProjectsNotification, DidChangeSnapshotNotification, DidRequestOpenViewNotification, FetchComputedModel, FetchLayoutedModel, FetchProjects, FetchProjectsOverview, FetchTelemetryMetrics, FetchViewsFromAllProjects, GetDocumentTags, LayoutView, Locate, RegisterProject, ReloadProjects, ValidateLayout };
package/dist/protocol.mjs CHANGED
@@ -1,3 +1 @@
1
- import { _ as ReloadProjects, a as DidChangeSnapshotNotification, c as FetchLayoutedModel, d as FetchTelemetryMetrics, f as FetchViewsFromAllProjects, g as RegisterProject, h as Locate, i as DidChangeProjectsNotification, l as FetchProjects, m as LayoutView, n as ChangeView, o as DidRequestOpenViewNotification, p as GetDocumentTags, r as DidChangeModelNotification, s as FetchComputedModel, t as BuildDocuments, u as FetchProjectsOverview, v as ValidateLayout } from "./_chunks/protocol.mjs";
2
-
3
- export { BuildDocuments, ChangeView, DidChangeModelNotification, DidChangeProjectsNotification, DidChangeSnapshotNotification, DidRequestOpenViewNotification, FetchComputedModel, FetchLayoutedModel, FetchProjects, FetchProjectsOverview, FetchTelemetryMetrics, FetchViewsFromAllProjects, GetDocumentTags, LayoutView, Locate, RegisterProject, ReloadProjects, ValidateLayout };
1
+ import{NotificationType,NotificationType0,RequestType,RequestType0}from"vscode-jsonrpc";let DidChangeModelNotification;(function(t){t.type=new NotificationType(`likec4/onDidChangeModel`)})(DidChangeModelNotification||={});let DidChangeProjectsNotification;(function(e){e.type=new NotificationType0(`likec4/onDidChangeProjects`)})(DidChangeProjectsNotification||={});let DidChangeSnapshotNotification;(function(t){t.type=new NotificationType(t.Method=`likec4/onDidChangeSnapshot`)})(DidChangeSnapshotNotification||={});let DidRequestOpenViewNotification;(function(t){t.type=new NotificationType(`likec4/onRequestOpenView`)})(DidRequestOpenViewNotification||={});let FetchComputedModel;(function(e){e.req=new RequestType(`likec4/fetchComputedModel`)})(FetchComputedModel||={});let FetchViewsFromAllProjects;(function(e){e.req=new RequestType0(`likec4/fetchViewsFromAllProjects`)})(FetchViewsFromAllProjects||={});let FetchLayoutedModel;(function(e){e.req=new RequestType(`likec4/fetchLayoutedModel`)})(FetchLayoutedModel||={});let LayoutView;(function(e){e.req=new RequestType(`likec4/layout-view`)})(LayoutView||={});let ValidateLayout;(function(e){e.req=new RequestType(`likec4/validate-layout`)})(ValidateLayout||={});let ReloadProjects;(function(e){e.req=new RequestType0(`likec4/reload-projects`)})(ReloadProjects||={});let FetchProjects;(function(e){e.req=new RequestType0(`likec4/fetch-projects`)})(FetchProjects||={});let RegisterProject;(function(e){e.req=new RequestType(`likec4/register-project`)})(RegisterProject||={});let BuildDocuments;(function(e){e.req=new RequestType(`likec4/build`)})(BuildDocuments||={});let Locate;(function(e){e.req=new RequestType(`likec4/locate`)})(Locate||={});let ChangeView;(function(e){e.req=new RequestType(`likec4/change-view`)})(ChangeView||={});let FetchTelemetryMetrics;(function(e){e.req=new RequestType0(`likec4/metrics`)})(FetchTelemetryMetrics||={});let GetDocumentTags;(function(e){e.req=new RequestType(`likec4/document-tags`)})(GetDocumentTags||={});let FetchProjectsOverview;(function(e){e.req=new RequestType0(`likec4/fetch-projects-overview`)})(FetchProjectsOverview||={});export{BuildDocuments,ChangeView,DidChangeModelNotification,DidChangeProjectsNotification,DidChangeSnapshotNotification,DidRequestOpenViewNotification,FetchComputedModel,FetchLayoutedModel,FetchProjects,FetchProjectsOverview,FetchTelemetryMetrics,FetchViewsFromAllProjects,GetDocumentTags,LayoutView,Locate,RegisterProject,ReloadProjects,ValidateLayout};
@@ -0,0 +1,4 @@
1
+ {
2
+ "types": "../dist/filesystem/index.d.mts",
3
+ "module": "../dist/filesystem/index.mjs"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "types": "../dist/mcp/index.d.mts",
3
+ "module": "../dist/mcp/index.mjs"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "types": "../dist/module.d.mts",
3
+ "module": "../dist/module.mjs"
4
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@likec4/language-server",
3
3
  "description": "LikeC4 Language Server",
4
- "version": "1.48.0",
4
+ "version": "1.49.0",
5
5
  "license": "MIT",
6
6
  "bugs": "https://github.com/likec4/likec4/issues",
7
7
  "homepage": "https://likec4.dev",
@@ -21,9 +21,8 @@
21
21
  "directory": "packages/language-server"
22
22
  },
23
23
  "engines": {
24
- "node": ">=22.21.1"
24
+ "node": ">=22.22.0"
25
25
  },
26
- "engineStrict": true,
27
26
  "type": "module",
28
27
  "sideEffects": false,
29
28
  "bin": {
@@ -33,11 +32,11 @@
33
32
  ".": {
34
33
  "sources": "./src/index.ts",
35
34
  "browser": {
36
- "sources": "./src/browser.ts",
35
+ "sources": "./src/browser/index.ts",
37
36
  "default": {
38
- "types": "./dist/browser.d.mts",
39
- "import": "./dist/browser.mjs",
40
- "default": "./dist/browser.mjs"
37
+ "types": "./dist/browser/index.d.mts",
38
+ "import": "./dist/browser/index.mjs",
39
+ "default": "./dist/browser/index.mjs"
41
40
  }
42
41
  },
43
42
  "node": {
@@ -71,19 +70,19 @@
71
70
  }
72
71
  },
73
72
  "./browser-worker": {
74
- "sources": "./src/browser-worker.ts",
73
+ "sources": "./src/browser/worker.ts",
75
74
  "default": {
76
- "types": "./dist/browser-worker.d.mts",
77
- "import": "./dist/browser-worker.mjs",
78
- "default": "./dist/browser-worker.mjs"
75
+ "types": "./dist/browser/worker.d.mts",
76
+ "import": "./dist/browser/worker.mjs",
77
+ "default": "./dist/browser/worker.mjs"
79
78
  }
80
79
  },
81
80
  "./browser": {
82
- "sources": "./src/browser.ts",
81
+ "sources": "./src/browser/index.ts",
83
82
  "default": {
84
- "types": "./dist/browser.d.mts",
85
- "import": "./dist/browser.mjs",
86
- "default": "./dist/browser.mjs"
83
+ "types": "./dist/browser/index.d.mts",
84
+ "import": "./dist/browser/index.mjs",
85
+ "default": "./dist/browser/index.mjs"
87
86
  }
88
87
  },
89
88
  "./protocol": {
@@ -94,6 +93,30 @@
94
93
  "default": "./dist/protocol.mjs"
95
94
  }
96
95
  },
96
+ "./mcp": {
97
+ "sources": "./src/mcp/index.ts",
98
+ "default": {
99
+ "types": "./dist/mcp/index.d.mts",
100
+ "import": "./dist/mcp/index.mjs",
101
+ "default": "./dist/mcp/index.mjs"
102
+ }
103
+ },
104
+ "./module": {
105
+ "sources": "./src/module.ts",
106
+ "default": {
107
+ "types": "./dist/module.d.mts",
108
+ "import": "./dist/module.mjs",
109
+ "default": "./dist/module.mjs"
110
+ }
111
+ },
112
+ "./filesystem": {
113
+ "sources": "./src/filesystem/index.ts",
114
+ "default": {
115
+ "types": "./dist/filesystem/index.d.mts",
116
+ "import": "./dist/filesystem/index.mjs",
117
+ "default": "./dist/filesystem/index.mjs"
118
+ }
119
+ },
97
120
  "./package.json": "./package.json"
98
121
  },
99
122
  "publishConfig": {
@@ -101,35 +124,37 @@
101
124
  "access": "public"
102
125
  },
103
126
  "dependencies": {
104
- "@hpcc-js/wasm-graphviz": "1.17.0",
127
+ "@hono/mcp": "^0.2.3",
128
+ "@hono/node-server": "^1.19.9",
129
+ "hono": "^4.11.9",
130
+ "@hpcc-js/wasm-graphviz": "1.21.0",
105
131
  "@smithy/util-base64": "^4.3.0",
106
- "fdir": "6.4.0",
107
- "which": "^5.0.0",
108
- "type-fest": "^4.41.0",
109
132
  "chokidar": "^5.0.0",
110
- "nano-spawn": "^2.0.0",
111
- "nanoid": "5.1.6",
112
- "zod": "^3.25.76",
113
133
  "defu": "^6.1.4",
114
- "std-env": "^3.10.0",
115
- "langium": "3.5.0",
134
+ "fdir": "6.4.0",
116
135
  "immer": "^11.1.3",
117
136
  "json5": "^2.2.3",
137
+ "langium": "3.5.0",
138
+ "nano-spawn": "^2.0.0",
139
+ "std-env": "^3.10.0",
140
+ "type-fest": "^4.41.0",
118
141
  "vscode-jsonrpc": "8.2.1",
119
- "vscode-uri": "3.1.0",
120
- "vscode-languageserver-textdocument": "1.0.11",
142
+ "vscode-languageserver": "9.0.1",
121
143
  "vscode-languageserver-protocol": "3.17.5",
144
+ "vscode-languageserver-textdocument": "1.0.11",
122
145
  "vscode-languageserver-types": "3.17.5",
123
- "vscode-languageserver": "9.0.1",
124
- "@likec4/config": "1.48.0",
125
- "@likec4/log": "1.48.0",
126
- "@likec4/layouts": "1.48.0",
127
- "@likec4/core": "1.48.0"
146
+ "vscode-uri": "3.1.0",
147
+ "which": "^5.0.0",
148
+ "zod": "^3.25.76",
149
+ "@likec4/config": "1.49.0",
150
+ "@likec4/layouts": "1.49.0",
151
+ "@likec4/core": "1.49.0",
152
+ "@likec4/log": "1.49.0"
128
153
  },
129
154
  "peerDependencies": {
130
- "esbuild": "0.27.2",
155
+ "@modelcontextprotocol/sdk": "^1.26.0",
131
156
  "bundle-require": "^5.1.0",
132
- "@modelcontextprotocol/sdk": "^1.25.3"
157
+ "esbuild": "0.27.3"
133
158
  },
134
159
  "peerDependenciesMeta": {
135
160
  "esbuild": {
@@ -143,43 +168,41 @@
143
168
  }
144
169
  },
145
170
  "devDependencies": {
146
- "remeda": "^2.32.0",
147
- "p-queue": "8.1.1",
148
- "p-debounce": "5.1.0",
149
- "p-timeout": "6.1.4",
171
+ "@modelcontextprotocol/sdk": "^1.26.0",
150
172
  "@msgpack/msgpack": "^3.1.2",
151
- "ufo": "1.6.3",
152
- "pretty-ms": "^9.3.0",
153
- "hono": "^4.11.6",
154
- "@hono/node-server": "^1.19.9",
155
- "fast-equals": "^6.0.0",
156
- "strip-indent": "^4.1.1",
157
- "indent-string": "^5.0.0",
158
- "bundle-require": "^5.1.0",
159
- "esbuild": "0.27.2",
160
173
  "@types/natural-compare-lite": "^1.4.2",
161
- "@modelcontextprotocol/sdk": "^1.25.3",
162
- "@types/node": "~22.19.7",
174
+ "@types/node": "~22.19.10",
163
175
  "@types/picomatch": "^4.0.2",
164
- "picomatch": "^4.0.3",
165
176
  "@types/vscode": "^1.106.1",
166
177
  "@types/which": "^3.0.4",
178
+ "bundle-require": "^5.1.0",
179
+ "esbuild": "0.27.3",
180
+ "fast-equals": "^6.0.0",
181
+ "indent-string": "^5.0.0",
167
182
  "langium-cli": "3.5.2",
168
- "oxlint": "1.35.0",
183
+ "obuild": "^0.4.27",
184
+ "oxlint": "1.43.0",
185
+ "p-debounce": "5.1.0",
186
+ "p-queue": "8.1.1",
187
+ "p-timeout": "6.1.4",
188
+ "picomatch": "^4.0.3",
189
+ "pretty-ms": "^9.3.0",
190
+ "remeda": "^2.33.5",
191
+ "strip-indent": "^4.1.1",
169
192
  "tsx": "4.21.0",
170
- "turbo": "2.7.6",
193
+ "turbo": "2.8.3",
171
194
  "typescript": "5.9.3",
172
- "obuild": "^0.4.20",
195
+ "ufo": "1.6.3",
173
196
  "vitest": "4.0.18",
174
197
  "@likec4/devops": "1.42.0",
175
- "@likec4/icons": "1.46.4",
176
- "@likec4/tsconfig": "1.48.0"
198
+ "@likec4/tsconfig": "1.49.0",
199
+ "@likec4/icons": "1.46.4"
177
200
  },
178
201
  "scripts": {
179
202
  "typecheck": "tsc -b --verbose",
180
203
  "build": "obuild",
181
204
  "pack": "pnpm pack",
182
- "pregenerate": "rm -f src/generated/* || true",
205
+ "pregenerate": "node -e \"const fs=require('fs');const p=require('path');const d='src/generated';if(fs.existsSync(d)){fs.readdirSync(d).forEach(f=>{try{fs.unlinkSync(p.join(d,f))}catch(e){}})}\"",
183
206
  "watch:langium": "langium generate --watch",
184
207
  "watch:ts": "tsc --watch",
185
208
  "generate": "langium generate && tsx scripts/generate-icons.ts",
@@ -196,6 +219,6 @@
196
219
  "types": "dist/index.d.mts",
197
220
  "module": "dist/index.mjs",
198
221
  "browser": {
199
- "dist/index.mjs": "dist/browser.mjs"
222
+ "dist/index.mjs": "dist/browser/index.mjs"
200
223
  }
201
224
  }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2023-2026 Denis Davydkov
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,4 +0,0 @@
1
- import "./_chunks/ast.mjs";
2
- import { n as LikeC4LanguageServices, t as DefaultLikeC4LanguageServices } from "./_chunks/LikeC4LanguageServices.mjs";
3
- import "./_chunks/protocol.mjs";
4
- export { DefaultLikeC4LanguageServices, LikeC4LanguageServices };
@@ -1,3 +0,0 @@
1
- import { t as DefaultLikeC4LanguageServices } from "./_chunks/LikeC4LanguageServices.mjs";
2
-
3
- export { DefaultLikeC4LanguageServices };