@likec4/language-server 1.47.0 → 1.48.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 (316) hide show
  1. package/LICENSE +1 -1
  2. package/browser/package.json +2 -2
  3. package/browser-worker/package.json +2 -2
  4. package/bundled/package.json +4 -0
  5. package/dist/LikeC4LanguageServices.d.mts +4 -0
  6. package/dist/LikeC4LanguageServices.mjs +3 -0
  7. package/dist/_chunks/ConfigurableLayouter.mjs +1956 -0
  8. package/dist/_chunks/LikeC4LanguageServices.d.mts +1978 -0
  9. package/dist/_chunks/LikeC4LanguageServices.mjs +725 -0
  10. package/dist/_chunks/ast.d.mts +1444 -0
  11. package/dist/_chunks/ast.mjs +2375 -0
  12. package/dist/_chunks/ast2.mjs +176 -0
  13. package/dist/_chunks/common-exports.mjs +0 -0
  14. package/dist/_chunks/filesystem.mjs +58 -0
  15. package/dist/_chunks/grammar.mjs +8 -0
  16. package/dist/_chunks/icons.mjs +5211 -0
  17. package/dist/_chunks/libs/@hono/node-server.mjs +436 -0
  18. package/dist/_chunks/libs/@msgpack/msgpack.mjs +805 -0
  19. package/dist/_chunks/libs/eventemitter3.mjs +243 -0
  20. package/dist/_chunks/libs/fast-equals.mjs +446 -0
  21. package/dist/_chunks/libs/hono.mjs +1829 -0
  22. package/dist/_chunks/libs/p-queue.mjs +449 -0
  23. package/dist/_chunks/libs/parse-ms.mjs +36 -0
  24. package/dist/_chunks/libs/picomatch.mjs +1673 -0
  25. package/dist/_chunks/libs/pretty-ms.mjs +80 -0
  26. package/dist/_chunks/libs/remeda.mjs +482 -0
  27. package/dist/_chunks/libs/strip-indent.mjs +15 -0
  28. package/dist/_chunks/libs/ufo.mjs +166 -0
  29. package/dist/_chunks/likec4lib.mjs +9 -0
  30. package/dist/_chunks/mcp.mjs +33 -0
  31. package/dist/_chunks/module.mjs +28 -0
  32. package/dist/_chunks/module2.mjs +6576 -0
  33. package/dist/_chunks/protocol.d.mts +311 -0
  34. package/dist/_chunks/protocol.mjs +78 -0
  35. package/dist/_chunks/rolldown-runtime.mjs +42 -0
  36. package/dist/ast.d.mts +4 -0
  37. package/dist/ast.mjs +4 -0
  38. package/dist/browser-worker.d.mts +1 -0
  39. package/dist/browser-worker.mjs +6 -0
  40. package/dist/browser.d.mts +11 -0
  41. package/dist/browser.mjs +27 -0
  42. package/dist/bundled.d.mts +28 -0
  43. package/dist/bundled.mjs +51 -4853
  44. package/dist/common-exports.d.mts +4 -0
  45. package/dist/common-exports.mjs +5 -0
  46. package/dist/filesystem/index.d.mts +4 -0
  47. package/dist/filesystem/index.mjs +3 -0
  48. package/dist/generated/ast.d.mts +2 -0
  49. package/dist/generated/ast.mjs +3 -0
  50. package/dist/generated/grammar.d.mts +6 -0
  51. package/dist/generated/grammar.mjs +3 -0
  52. package/dist/generated/module.d.mts +14 -0
  53. package/dist/generated/module.mjs +3 -0
  54. package/dist/generated-lib/icons.d.mts +4 -0
  55. package/dist/generated-lib/icons.mjs +3 -0
  56. package/dist/index.d.mts +4 -0
  57. package/dist/index.mjs +48 -0
  58. package/dist/likec4lib.d.mts +9 -0
  59. package/dist/likec4lib.mjs +4 -0
  60. package/dist/mcp/index.d.mts +4 -0
  61. package/dist/mcp/index.mjs +3 -0
  62. package/dist/module.d.mts +4 -0
  63. package/dist/module.mjs +3 -0
  64. package/dist/protocol.d.mts +2 -0
  65. package/dist/protocol.mjs +3 -0
  66. package/likec4lib/package.json +2 -2
  67. package/package.json +106 -63
  68. package/protocol/package.json +2 -2
  69. package/dist/LikeC4LanguageServices.d.ts +0 -115
  70. package/dist/LikeC4LanguageServices.js +0 -164
  71. package/dist/Rpc.d.ts +0 -9
  72. package/dist/Rpc.js +0 -276
  73. package/dist/ast.d.ts +0 -226
  74. package/dist/ast.js +0 -264
  75. package/dist/browser-worker.d.ts +0 -1
  76. package/dist/browser-worker.js +0 -4
  77. package/dist/browser.d.ts +0 -10
  78. package/dist/browser.js +0 -34
  79. package/dist/bundled.d.ts +0 -8
  80. package/dist/bundled.js +0 -44
  81. package/dist/documentation/documentation-provider.d.ts +0 -8
  82. package/dist/documentation/documentation-provider.js +0 -51
  83. package/dist/documentation/index.d.ts +0 -1
  84. package/dist/documentation/index.js +0 -1
  85. package/dist/empty.d.ts +0 -2
  86. package/dist/empty.js +0 -2
  87. package/dist/filesystem/ChokidarWatcher.d.ts +0 -19
  88. package/dist/filesystem/ChokidarWatcher.js +0 -133
  89. package/dist/filesystem/FileSystemWatcher.d.ts +0 -19
  90. package/dist/filesystem/FileSystemWatcher.js +0 -14
  91. package/dist/filesystem/LikeC4FileSystem.d.ts +0 -3
  92. package/dist/filesystem/LikeC4FileSystem.js +0 -140
  93. package/dist/filesystem/index.d.ts +0 -55
  94. package/dist/filesystem/index.js +0 -29
  95. package/dist/formatting/LikeC4Formatter.d.ts +0 -59
  96. package/dist/formatting/LikeC4Formatter.js +0 -637
  97. package/dist/formatting/utils.d.ts +0 -6
  98. package/dist/formatting/utils.js +0 -18
  99. package/dist/generated/ast.d.ts +0 -1411
  100. package/dist/generated/ast.js +0 -2207
  101. package/dist/generated/grammar.d.ts +0 -6
  102. package/dist/generated/grammar.js +0 -7
  103. package/dist/generated/module.d.ts +0 -14
  104. package/dist/generated/module.js +0 -27
  105. package/dist/generated-lib/icons.d.ts +0 -1
  106. package/dist/generated-lib/icons.js +0 -18
  107. package/dist/index.d.ts +0 -37
  108. package/dist/index.js +0 -54
  109. package/dist/likec4lib.d.ts +0 -6
  110. package/dist/likec4lib.js +0 -7
  111. package/dist/logger.d.ts +0 -17
  112. package/dist/logger.js +0 -81
  113. package/dist/lsp/CodeActionProvider.d.ts +0 -14
  114. package/dist/lsp/CodeActionProvider.js +0 -33
  115. package/dist/lsp/CodeLensProvider.d.ts +0 -9
  116. package/dist/lsp/CodeLensProvider.js +0 -44
  117. package/dist/lsp/CompletionProvider.d.ts +0 -13
  118. package/dist/lsp/CompletionProvider.js +0 -238
  119. package/dist/lsp/DocumentHighlightProvider.d.ts +0 -9
  120. package/dist/lsp/DocumentHighlightProvider.js +0 -10
  121. package/dist/lsp/DocumentLinkProvider.d.ts +0 -11
  122. package/dist/lsp/DocumentLinkProvider.js +0 -58
  123. package/dist/lsp/DocumentSymbolProvider.d.ts +0 -33
  124. package/dist/lsp/DocumentSymbolProvider.js +0 -317
  125. package/dist/lsp/HoverProvider.d.ts +0 -10
  126. package/dist/lsp/HoverProvider.js +0 -106
  127. package/dist/lsp/RenameProvider.d.ts +0 -5
  128. package/dist/lsp/RenameProvider.js +0 -6
  129. package/dist/lsp/SemanticTokenProvider.d.ts +0 -19
  130. package/dist/lsp/SemanticTokenProvider.js +0 -305
  131. package/dist/lsp/index.d.ts +0 -8
  132. package/dist/lsp/index.js +0 -9
  133. package/dist/mcp/MCPServerFactory.d.ts +0 -8
  134. package/dist/mcp/MCPServerFactory.js +0 -73
  135. package/dist/mcp/NoopLikeC4MCPServer.d.ts +0 -9
  136. package/dist/mcp/NoopLikeC4MCPServer.js +0 -17
  137. package/dist/mcp/interfaces.d.ts +0 -13
  138. package/dist/mcp/interfaces.js +0 -4
  139. package/dist/mcp/server/StdioLikeC4MCPServer.d.ts +0 -16
  140. package/dist/mcp/server/StdioLikeC4MCPServer.js +0 -51
  141. package/dist/mcp/server/StreamableLikeC4MCPServer.d.ts +0 -16
  142. package/dist/mcp/server/StreamableLikeC4MCPServer.js +0 -121
  143. package/dist/mcp/server/WithMCPServer.d.ts +0 -4
  144. package/dist/mcp/server/WithMCPServer.js +0 -54
  145. package/dist/mcp/tools/_common.d.ts +0 -88
  146. package/dist/mcp/tools/_common.js +0 -49
  147. package/dist/mcp/tools/find-relationships.d.ts +0 -202
  148. package/dist/mcp/tools/find-relationships.js +0 -150
  149. package/dist/mcp/tools/list-projects.d.ts +0 -194
  150. package/dist/mcp/tools/list-projects.js +0 -62
  151. package/dist/mcp/tools/open-view.d.ts +0 -200
  152. package/dist/mcp/tools/open-view.js +0 -52
  153. package/dist/mcp/tools/read-deployment.d.ts +0 -200
  154. package/dist/mcp/tools/read-deployment.js +0 -150
  155. package/dist/mcp/tools/read-element.d.ts +0 -200
  156. package/dist/mcp/tools/read-element.js +0 -218
  157. package/dist/mcp/tools/read-project-summary.d.ts +0 -198
  158. package/dist/mcp/tools/read-project-summary.js +0 -176
  159. package/dist/mcp/tools/read-view.d.ts +0 -200
  160. package/dist/mcp/tools/read-view.js +0 -203
  161. package/dist/mcp/tools/search-element.d.ts +0 -198
  162. package/dist/mcp/tools/search-element.js +0 -177
  163. package/dist/mcp/utils.d.ts +0 -18
  164. package/dist/mcp/utils.js +0 -48
  165. package/dist/model/builder/MergedExtends.d.ts +0 -13
  166. package/dist/model/builder/MergedExtends.js +0 -74
  167. package/dist/model/builder/MergedSpecification.d.ts +0 -32
  168. package/dist/model/builder/MergedSpecification.js +0 -175
  169. package/dist/model/builder/buildModel.d.ts +0 -16
  170. package/dist/model/builder/buildModel.js +0 -245
  171. package/dist/model/deployments-index.d.ts +0 -10
  172. package/dist/model/deployments-index.js +0 -102
  173. package/dist/model/fqn-index.d.ts +0 -61
  174. package/dist/model/fqn-index.js +0 -253
  175. package/dist/model/index.d.ts +0 -6
  176. package/dist/model/index.js +0 -6
  177. package/dist/model/model-builder.d.ts +0 -54
  178. package/dist/model/model-builder.js +0 -233
  179. package/dist/model/model-locator.d.ts +0 -39
  180. package/dist/model/model-locator.js +0 -240
  181. package/dist/model/model-parser-where.d.ts +0 -4
  182. package/dist/model/model-parser-where.js +0 -81
  183. package/dist/model/model-parser.d.ts +0 -645
  184. package/dist/model/model-parser.js +0 -133
  185. package/dist/model/parser/Base.d.ts +0 -69
  186. package/dist/model/parser/Base.js +0 -382
  187. package/dist/model/parser/DeploymentModelParser.d.ts +0 -71
  188. package/dist/model/parser/DeploymentModelParser.js +0 -176
  189. package/dist/model/parser/DeploymentViewParser.d.ts +0 -75
  190. package/dist/model/parser/DeploymentViewParser.js +0 -86
  191. package/dist/model/parser/FqnRefParser.d.ts +0 -66
  192. package/dist/model/parser/FqnRefParser.js +0 -382
  193. package/dist/model/parser/GlobalsParser.d.ts +0 -109
  194. package/dist/model/parser/GlobalsParser.js +0 -84
  195. package/dist/model/parser/ImportsParser.d.ts +0 -46
  196. package/dist/model/parser/ImportsParser.js +0 -24
  197. package/dist/model/parser/ModelParser.d.ts +0 -71
  198. package/dist/model/parser/ModelParser.js +0 -209
  199. package/dist/model/parser/PredicatesParser.d.ts +0 -75
  200. package/dist/model/parser/PredicatesParser.js +0 -45
  201. package/dist/model/parser/SpecificationParser.d.ts +0 -53
  202. package/dist/model/parser/SpecificationParser.js +0 -113
  203. package/dist/model/parser/ValueConverter.d.ts +0 -4
  204. package/dist/model/parser/ValueConverter.js +0 -12
  205. package/dist/model/parser/ViewsParser.d.ts +0 -112
  206. package/dist/model/parser/ViewsParser.js +0 -492
  207. package/dist/model-change/ModelChanges.d.ts +0 -18
  208. package/dist/model-change/ModelChanges.js +0 -129
  209. package/dist/model-change/changeElementStyle.d.ts +0 -16
  210. package/dist/model-change/changeElementStyle.js +0 -134
  211. package/dist/model-change/changeViewLayout.d.ts +0 -12
  212. package/dist/model-change/changeViewLayout.js +0 -28
  213. package/dist/model-change/removeManualLayoutV1.d.ts +0 -7
  214. package/dist/model-change/removeManualLayoutV1.js +0 -27
  215. package/dist/module.d.ts +0 -92
  216. package/dist/module.js +0 -143
  217. package/dist/protocol.d.ts +0 -289
  218. package/dist/protocol.js +0 -123
  219. package/dist/references/index.d.ts +0 -3
  220. package/dist/references/index.js +0 -3
  221. package/dist/references/name-provider.d.ts +0 -9
  222. package/dist/references/name-provider.js +0 -37
  223. package/dist/references/scope-computation.d.ts +0 -20
  224. package/dist/references/scope-computation.js +0 -288
  225. package/dist/references/scope-provider.d.ts +0 -40
  226. package/dist/references/scope-provider.js +0 -239
  227. package/dist/shared/NodeKindProvider.d.ts +0 -15
  228. package/dist/shared/NodeKindProvider.js +0 -57
  229. package/dist/shared/WorkspaceSymbolProvider.d.ts +0 -3
  230. package/dist/shared/WorkspaceSymbolProvider.js +0 -3
  231. package/dist/shared/index.d.ts +0 -2
  232. package/dist/shared/index.js +0 -2
  233. package/dist/test/index.d.ts +0 -1
  234. package/dist/test/index.js +0 -1
  235. package/dist/test/testServices.d.ts +0 -64
  236. package/dist/test/testServices.js +0 -210
  237. package/dist/utils/disposable.d.ts +0 -8
  238. package/dist/utils/disposable.js +0 -26
  239. package/dist/utils/elementRef.d.ts +0 -11
  240. package/dist/utils/elementRef.js +0 -33
  241. package/dist/utils/fqnRef.d.ts +0 -11
  242. package/dist/utils/fqnRef.js +0 -63
  243. package/dist/utils/index.d.ts +0 -11
  244. package/dist/utils/index.js +0 -35
  245. package/dist/utils/printDocs.d.ts +0 -2
  246. package/dist/utils/printDocs.js +0 -1
  247. package/dist/utils/projectId.d.ts +0 -4
  248. package/dist/utils/projectId.js +0 -16
  249. package/dist/utils/stringHash.d.ts +0 -1
  250. package/dist/utils/stringHash.js +0 -5
  251. package/dist/validation/DocumentValidator.d.ts +0 -11
  252. package/dist/validation/DocumentValidator.js +0 -17
  253. package/dist/validation/_shared.d.ts +0 -3
  254. package/dist/validation/_shared.js +0 -26
  255. package/dist/validation/deployment-checks.d.ts +0 -7
  256. package/dist/validation/deployment-checks.js +0 -140
  257. package/dist/validation/dynamic-view.d.ts +0 -6
  258. package/dist/validation/dynamic-view.js +0 -67
  259. package/dist/validation/element-ref.d.ts +0 -4
  260. package/dist/validation/element-ref.js +0 -12
  261. package/dist/validation/element.d.ts +0 -4
  262. package/dist/validation/element.js +0 -49
  263. package/dist/validation/imports.d.ts +0 -4
  264. package/dist/validation/imports.js +0 -46
  265. package/dist/validation/index.d.ts +0 -15
  266. package/dist/validation/index.js +0 -167
  267. package/dist/validation/property-checks.d.ts +0 -7
  268. package/dist/validation/property-checks.js +0 -108
  269. package/dist/validation/relation.d.ts +0 -6
  270. package/dist/validation/relation.js +0 -141
  271. package/dist/validation/specification.d.ts +0 -12
  272. package/dist/validation/specification.js +0 -190
  273. package/dist/validation/view-checks.d.ts +0 -4
  274. package/dist/validation/view-checks.js +0 -46
  275. package/dist/validation/view-predicates/fqn-expr-with.d.ts +0 -4
  276. package/dist/validation/view-predicates/fqn-expr-with.js +0 -43
  277. package/dist/validation/view-predicates/fqn-ref-expr.d.ts +0 -4
  278. package/dist/validation/view-predicates/fqn-ref-expr.js +0 -51
  279. package/dist/validation/view-predicates/incoming.d.ts +0 -4
  280. package/dist/validation/view-predicates/incoming.js +0 -16
  281. package/dist/validation/view-predicates/index.d.ts +0 -6
  282. package/dist/validation/view-predicates/index.js +0 -6
  283. package/dist/validation/view-predicates/outgoing.d.ts +0 -4
  284. package/dist/validation/view-predicates/outgoing.js +0 -20
  285. package/dist/validation/view-predicates/relation-expr.d.ts +0 -4
  286. package/dist/validation/view-predicates/relation-expr.js +0 -46
  287. package/dist/validation/view-predicates/relation-with.d.ts +0 -4
  288. package/dist/validation/view-predicates/relation-with.js +0 -16
  289. package/dist/validation/view.d.ts +0 -4
  290. package/dist/validation/view.js +0 -42
  291. package/dist/view-utils/assignNavigateTo.d.ts +0 -2
  292. package/dist/view-utils/assignNavigateTo.js +0 -27
  293. package/dist/view-utils/index.d.ts +0 -2
  294. package/dist/view-utils/index.js +0 -2
  295. package/dist/view-utils/manual-layout.d.ts +0 -13
  296. package/dist/view-utils/manual-layout.js +0 -149
  297. package/dist/views/ConfigurableLayouter.d.ts +0 -7
  298. package/dist/views/ConfigurableLayouter.js +0 -51
  299. package/dist/views/LikeC4ManualLayouts.d.ts +0 -42
  300. package/dist/views/LikeC4ManualLayouts.js +0 -209
  301. package/dist/views/LikeC4Views.d.ts +0 -89
  302. package/dist/views/LikeC4Views.js +0 -216
  303. package/dist/views/index.d.ts +0 -4
  304. package/dist/views/index.js +0 -11
  305. package/dist/workspace/AstNodeDescriptionProvider.d.ts +0 -7
  306. package/dist/workspace/AstNodeDescriptionProvider.js +0 -18
  307. package/dist/workspace/IndexManager.d.ts +0 -10
  308. package/dist/workspace/IndexManager.js +0 -26
  309. package/dist/workspace/LangiumDocuments.d.ts +0 -29
  310. package/dist/workspace/LangiumDocuments.js +0 -104
  311. package/dist/workspace/ProjectsManager.d.ts +0 -134
  312. package/dist/workspace/ProjectsManager.js +0 -610
  313. package/dist/workspace/WorkspaceManager.d.ts +0 -31
  314. package/dist/workspace/WorkspaceManager.js +0 -132
  315. package/dist/workspace/index.d.ts +0 -5
  316. package/dist/workspace/index.js +0 -5
@@ -0,0 +1,311 @@
1
+ import { DiagnosticSeverity, DocumentUri, Location, Position, Range, URI } from "vscode-languageserver-types";
2
+ import { LikeC4ProjectJsonConfig } from "@likec4/config";
3
+ import { ComputedLikeC4ModelData, DeploymentFqn, DiagramView, Fqn, LayoutedLikeC4ModelData, LayoutedProjectsView, NonEmptyArray, ProjectId, RelationId, ViewChange, ViewId } from "@likec4/core";
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
+ * Used tags in the document
289
+ */
290
+ tags: Array<{
291
+ name: string;
292
+ range: Range;
293
+ color: string;
294
+ isSpecification?: boolean;
295
+ }>;
296
+ };
297
+ const req: RequestType<Params, Res, void>;
298
+ type Req = typeof req;
299
+ }
300
+ /**
301
+ * Request to fetch projects overview diagram
302
+ */
303
+ declare namespace FetchProjectsOverview {
304
+ type Res = {
305
+ projectsView: LayoutedProjectsView | null;
306
+ };
307
+ const req: RequestType0<Res, void>;
308
+ type Req = typeof req;
309
+ }
310
+ //#endregion
311
+ export { ReloadProjects as _, DidChangeSnapshotNotification as a, FetchLayoutedModel as c, FetchTelemetryMetrics as d, FetchViewsFromAllProjects as f, RegisterProject as g, Locate as h, DidChangeProjectsNotification as i, FetchProjects as l, LayoutView as m, ChangeView as n, DidRequestOpenViewNotification as o, GetDocumentTags as p, DidChangeModelNotification as r, FetchComputedModel as s, BuildDocuments as t, FetchProjectsOverview as u, ValidateLayout as v };
@@ -0,0 +1,78 @@
1
+ import { NotificationType, NotificationType0, RequestType, RequestType0 } from "vscode-jsonrpc";
2
+
3
+ //#region src/protocol.ts
4
+ let DidChangeModelNotification;
5
+ (function(_DidChangeModelNotification) {
6
+ _DidChangeModelNotification.type = new NotificationType("likec4/onDidChangeModel");
7
+ })(DidChangeModelNotification || (DidChangeModelNotification = {}));
8
+ let DidChangeProjectsNotification;
9
+ (function(_DidChangeProjectsNotification) {
10
+ _DidChangeProjectsNotification.type = new NotificationType0("likec4/onDidChangeProjects");
11
+ })(DidChangeProjectsNotification || (DidChangeProjectsNotification = {}));
12
+ let DidChangeSnapshotNotification;
13
+ (function(_DidChangeSnapshotNotification) {
14
+ _DidChangeSnapshotNotification.type = new NotificationType(_DidChangeSnapshotNotification.Method = "likec4/onDidChangeSnapshot");
15
+ })(DidChangeSnapshotNotification || (DidChangeSnapshotNotification = {}));
16
+ let DidRequestOpenViewNotification;
17
+ (function(_DidRequestOpenViewNotification) {
18
+ _DidRequestOpenViewNotification.type = new NotificationType("likec4/onRequestOpenView");
19
+ })(DidRequestOpenViewNotification || (DidRequestOpenViewNotification = {}));
20
+ let FetchComputedModel;
21
+ (function(_FetchComputedModel) {
22
+ _FetchComputedModel.req = new RequestType("likec4/fetchComputedModel");
23
+ })(FetchComputedModel || (FetchComputedModel = {}));
24
+ let FetchViewsFromAllProjects;
25
+ (function(_FetchViewsFromAllProjects) {
26
+ _FetchViewsFromAllProjects.req = new RequestType0("likec4/fetchViewsFromAllProjects");
27
+ })(FetchViewsFromAllProjects || (FetchViewsFromAllProjects = {}));
28
+ let FetchLayoutedModel;
29
+ (function(_FetchLayoutedModel) {
30
+ _FetchLayoutedModel.req = new RequestType("likec4/fetchLayoutedModel");
31
+ })(FetchLayoutedModel || (FetchLayoutedModel = {}));
32
+ let LayoutView;
33
+ (function(_LayoutView) {
34
+ _LayoutView.req = new RequestType("likec4/layout-view");
35
+ })(LayoutView || (LayoutView = {}));
36
+ let ValidateLayout;
37
+ (function(_ValidateLayout) {
38
+ _ValidateLayout.req = new RequestType("likec4/validate-layout");
39
+ })(ValidateLayout || (ValidateLayout = {}));
40
+ let ReloadProjects;
41
+ (function(_ReloadProjects) {
42
+ _ReloadProjects.req = new RequestType0("likec4/reload-projects");
43
+ })(ReloadProjects || (ReloadProjects = {}));
44
+ let FetchProjects;
45
+ (function(_FetchProjects) {
46
+ _FetchProjects.req = new RequestType0("likec4/fetch-projects");
47
+ })(FetchProjects || (FetchProjects = {}));
48
+ let RegisterProject;
49
+ (function(_RegisterProject) {
50
+ _RegisterProject.req = new RequestType("likec4/register-project");
51
+ })(RegisterProject || (RegisterProject = {}));
52
+ let BuildDocuments;
53
+ (function(_BuildDocuments) {
54
+ _BuildDocuments.req = new RequestType("likec4/build");
55
+ })(BuildDocuments || (BuildDocuments = {}));
56
+ let Locate;
57
+ (function(_Locate) {
58
+ _Locate.req = new RequestType("likec4/locate");
59
+ })(Locate || (Locate = {}));
60
+ let ChangeView;
61
+ (function(_ChangeView) {
62
+ _ChangeView.req = new RequestType("likec4/change-view");
63
+ })(ChangeView || (ChangeView = {}));
64
+ let FetchTelemetryMetrics;
65
+ (function(_FetchTelemetryMetrics) {
66
+ _FetchTelemetryMetrics.req = new RequestType0("likec4/metrics");
67
+ })(FetchTelemetryMetrics || (FetchTelemetryMetrics = {}));
68
+ let GetDocumentTags;
69
+ (function(_GetDocumentTags) {
70
+ _GetDocumentTags.req = new RequestType("likec4/document-tags");
71
+ })(GetDocumentTags || (GetDocumentTags = {}));
72
+ let FetchProjectsOverview;
73
+ (function(_FetchProjectsOverview) {
74
+ _FetchProjectsOverview.req = new RequestType0("likec4/fetch-projects-overview");
75
+ })(FetchProjectsOverview || (FetchProjectsOverview = {}));
76
+
77
+ //#endregion
78
+ export { ReloadProjects as _, DidChangeSnapshotNotification as a, FetchLayoutedModel as c, FetchTelemetryMetrics as d, FetchViewsFromAllProjects as f, RegisterProject as g, Locate as h, DidChangeProjectsNotification as i, FetchProjects as l, LayoutView as m, ChangeView as n, DidRequestOpenViewNotification as o, GetDocumentTags as p, DidChangeModelNotification as r, FetchComputedModel as s, BuildDocuments as t, FetchProjectsOverview as u, ValidateLayout as v };
@@ -0,0 +1,42 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
9
+ var __exportAll = (all, symbols) => {
10
+ let target = {};
11
+ for (var name in all) {
12
+ __defProp(target, name, {
13
+ get: all[name],
14
+ enumerable: true
15
+ });
16
+ }
17
+ if (symbols) {
18
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
19
+ }
20
+ return target;
21
+ };
22
+ var __copyProps = (to, from, except, desc) => {
23
+ if (from && typeof from === "object" || typeof from === "function") {
24
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
25
+ key = keys[i];
26
+ if (!__hasOwnProp.call(to, key) && key !== except) {
27
+ __defProp(to, key, {
28
+ get: ((k) => from[k]).bind(null, key),
29
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
30
+ });
31
+ }
32
+ }
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
37
+ value: mod,
38
+ enumerable: true
39
+ }) : target, mod));
40
+
41
+ //#endregion
42
+ export { __exportAll as n, __toESM as r, __commonJSMin as t };
package/dist/ast.d.mts ADDED
@@ -0,0 +1,4 @@
1
+ import { kr as ast_d_exports } from "./_chunks/ast.mjs";
2
+ import { A as ParsedElementStyle, B as parseAstOpacityProperty, C as ParsedAstElementView, D as ParsedAstRelation, E as ParsedAstGlobals, F as isFqnRefInsideGlobals, G as toAutoLayout, H as parseAstSizeValue, I as isFqnRefInsideModel, K as toColor, L as isLikeC4LangiumDocument, M as ViewOps, N as getViewRulePredicateContainer, O as ParsedAstSpecification, P as isFqnRefInsideDeployment, R as isParsedLikeC4LangiumDocument, S as ParsedAstElement, T as ParsedAstExtendRelation, U as parseMarkdownAsString, V as parseAstPercent, W as toAstViewLayoutDirection, _ as LikeC4LangiumDocument, b as ParsedAstDeploymentView, g as LikeC4DocumentProps, h as LikeC4AstNode, j as ParsedLikeC4LangiumDocument, k as ParsedAstView, m as ElementOps, p as AstNodeDescriptionWithFqn, q as toRelationshipStyle, v as ParsedAstDeployment, w as ParsedAstExtend, x as ParsedAstDynamicView, y as ParsedAstDeploymentRelation, z as parseAstIconPositionValue } from "./_chunks/LikeC4LanguageServices.mjs";
3
+ import "./_chunks/protocol.mjs";
4
+ export { AstNodeDescriptionWithFqn, ElementOps, LikeC4AstNode, LikeC4DocumentProps, LikeC4LangiumDocument, ParsedAstDeployment, ParsedAstDeploymentRelation, ParsedAstDeploymentView, ParsedAstDynamicView, ParsedAstElement, ParsedAstElementView, ParsedAstExtend, ParsedAstExtendRelation, ParsedAstGlobals, ParsedAstRelation, ParsedAstSpecification, ParsedAstView, ParsedElementStyle, ParsedLikeC4LangiumDocument, ViewOps, ast_d_exports as ast, getViewRulePredicateContainer, isFqnRefInsideDeployment, isFqnRefInsideGlobals, isFqnRefInsideModel, isLikeC4LangiumDocument, isParsedLikeC4LangiumDocument, parseAstIconPositionValue, parseAstOpacityProperty, parseAstPercent, parseAstSizeValue, parseMarkdownAsString, toAstViewLayoutDirection, toAutoLayout, toColor, toRelationshipStyle };
package/dist/ast.mjs ADDED
@@ -0,0 +1,4 @@
1
+ import { ur as ast_exports } from "./_chunks/ast.mjs";
2
+ import { _ as toRelationshipStyle, a as isFqnRefInsideGlobals, c as isParsedLikeC4LangiumDocument, d as parseAstPercent, f as parseAstSizeValue, g as toColor, h as toAutoLayout, i as isFqnRefInsideDeployment, l as parseAstIconPositionValue, m as toAstViewLayoutDirection, n as ViewOps, o as isFqnRefInsideModel, p as parseMarkdownAsString, r as getViewRulePredicateContainer, s as isLikeC4LangiumDocument, t as ElementOps, u as parseAstOpacityProperty } from "./_chunks/ast2.mjs";
3
+
4
+ export { ElementOps, ViewOps, ast_exports as ast, getViewRulePredicateContainer, isFqnRefInsideDeployment, isFqnRefInsideGlobals, isFqnRefInsideModel, isLikeC4LangiumDocument, isParsedLikeC4LangiumDocument, parseAstIconPositionValue, parseAstOpacityProperty, parseAstPercent, parseAstSizeValue, parseMarkdownAsString, toAstViewLayoutDirection, toAutoLayout, toColor, toRelationshipStyle };
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,6 @@
1
+ import { startLanguageServer } from "./browser.mjs";
2
+
3
+ //#region src/browser-worker.ts
4
+ startLanguageServer(self);
5
+
6
+ //#endregion
@@ -0,0 +1,11 @@
1
+ import "./_chunks/ast.mjs";
2
+ import { J as LanguageServicesContext, Q as createLanguageServices, X as LikeC4Services, Y as LikeC4AddedServices, Z as LikeC4SharedServices, _t as LikeC4ManualLayoutsModuleContext, bt as ProjectsManager, ct as NoFileSystem, d as LikeC4ModelBuilder, f as FqnIndex, ft as FileSystemModuleContext, gt as LikeC4ManualLayouts, ht as FileSystemWatcherModuleContext, i as LikeC4ModelParser, l as LikeC4ModelLocator, lt as NoFileSystemWatcher, mt as FileSystemWatcher, n as LikeC4LanguageServices, nt as NoMCPServer, ot as LikeC4WorkspaceManager, pt as FileSystemProvider, r as DocumentParser, st as LangiumDocuments, tt as LikeC4Views, u as ViewLocateResult, ut as NoLikeC4ManualLayouts, vt as Project, yt as ProjectData } from "./_chunks/LikeC4LanguageServices.mjs";
3
+ import "./_chunks/protocol.mjs";
4
+
5
+ //#region src/browser.d.ts
6
+ declare function startLanguageServer(port: MessagePort | DedicatedWorkerGlobalScope): {
7
+ shared: LikeC4SharedServices;
8
+ likec4: LikeC4Services;
9
+ };
10
+ //#endregion
11
+ export { DocumentParser, FileSystemModuleContext, FileSystemProvider, FileSystemWatcher, FileSystemWatcherModuleContext, FqnIndex, LangiumDocuments, LanguageServicesContext, LikeC4AddedServices, LikeC4LanguageServices, LikeC4ManualLayouts, LikeC4ManualLayoutsModuleContext, LikeC4ModelBuilder, LikeC4ModelLocator, LikeC4ModelParser, LikeC4Services, LikeC4SharedServices, LikeC4Views, LikeC4WorkspaceManager, NoFileSystem, NoFileSystemWatcher, NoLikeC4ManualLayouts, NoMCPServer, Project, ProjectData, ProjectsManager, ViewLocateResult, createLanguageServices, startLanguageServer };
@@ -0,0 +1,27 @@
1
+ import { n as NoFileSystemWatcher, r as NoLikeC4ManualLayouts, t as NoFileSystem } from "./_chunks/filesystem.mjs";
2
+ import { t as createLanguageServices } from "./_chunks/module2.mjs";
3
+ import { t as NoMCPServer } from "./_chunks/mcp.mjs";
4
+ import { configureLogger, getConsoleSink, getTextFormatter } from "@likec4/log";
5
+ import { startLanguageServer as startLanguageServer$1 } from "langium/lsp";
6
+ import { BrowserMessageReader, BrowserMessageWriter, createConnection } from "vscode-languageserver/browser";
7
+
8
+ //#region src/browser.ts
9
+ function startLanguageServer(port) {
10
+ const connection = createConnection(new BrowserMessageReader(port), new BrowserMessageWriter(port));
11
+ configureLogger({
12
+ sinks: { console: getConsoleSink({ formatter: getTextFormatter({ format: ({ level, category, message }) => {
13
+ return `${level} ${category} ${message}`;
14
+ } }) }) },
15
+ loggers: [{
16
+ category: "likec4",
17
+ sinks: ["console"],
18
+ lowestLevel: "debug"
19
+ }]
20
+ });
21
+ const services = createLanguageServices({ connection });
22
+ startLanguageServer$1(services.shared);
23
+ return services;
24
+ }
25
+
26
+ //#endregion
27
+ export { NoFileSystem, NoFileSystemWatcher, NoLikeC4ManualLayouts, NoMCPServer, createLanguageServices, startLanguageServer };
@@ -0,0 +1,28 @@
1
+ import "./_chunks/ast.mjs";
2
+ import { X as LikeC4Services, Z as LikeC4SharedServices } from "./_chunks/LikeC4LanguageServices.mjs";
3
+ import "./_chunks/protocol.mjs";
4
+
5
+ //#region src/bundled.d.ts
6
+ type StartBundledLanguageServerOptions = {
7
+ /**
8
+ * Whether to enable the MCP server.
9
+ * @default true
10
+ */
11
+ enableMCP?: boolean | {
12
+ port: number;
13
+ };
14
+ /**
15
+ * Whether to enable manual layouts, stored in json5 files.
16
+ * @default true
17
+ */
18
+ enableManualLayouts?: boolean;
19
+ };
20
+ /**
21
+ * This is used as `bin` entry point to start the language server.
22
+ */
23
+ declare function startLanguageServer(options?: StartBundledLanguageServerOptions): {
24
+ shared: LikeC4SharedServices;
25
+ likec4: LikeC4Services;
26
+ };
27
+ //#endregion
28
+ export { startLanguageServer };