@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
@@ -0,0 +1,10 @@
1
+ import { $ as ProjectsManager, B as NoFileSystem, D as LikeC4WorkspaceManager, G as FileSystemProvider, H as NoLikeC4ManualLayouts, J as LikeC4ManualLayouts, K as FileSystemWatcher, O as LangiumDocuments, Q as ProjectData, S as LikeC4ModelBuilder, T as FqnIndex, V as NoFileSystemWatcher, W as FileSystemModuleContext, Y as LikeC4ManualLayoutsModuleContext, Z as Project, _ as LikeC4Views, b as LikeC4ModelLocator, f as LikeC4LanguageServices, g as LikeC4ModelParser, h as DocumentParser, q as FileSystemWatcherModuleContext, x as ViewLocateResult, y as NoMCPServer } from "../_chunks/index.mjs";
2
+ import { LanguageServicesContext, LikeC4AddedServices, LikeC4Services, LikeC4SharedServices, createLanguageServices } from "../module.mjs";
3
+
4
+ //#region src/browser/index.d.ts
5
+ declare function startLanguageServer(port: MessagePort | DedicatedWorkerGlobalScope): {
6
+ shared: LikeC4SharedServices;
7
+ likec4: LikeC4Services;
8
+ };
9
+ //#endregion
10
+ 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 @@
1
+ import{Cr as NoFileSystem,Tr as NoLikeC4ManualLayouts,wr as NoFileSystemWatcher}from"../_chunks/utils.mjs";import{n as NoMCPServer}from"../_chunks/ProjectsManager.mjs";import{createLanguageServices}from"../module.mjs";import{configureLogger,getConsoleSink,getTextFormatter}from"@likec4/log";import{startLanguageServer as startLanguageServer$1}from"langium/lsp";import{BrowserMessageReader,BrowserMessageWriter,createConnection}from"vscode-languageserver/browser";function startLanguageServer(e){let t=createConnection(new BrowserMessageReader(e),new BrowserMessageWriter(e));configureLogger({sinks:{console:getConsoleSink({formatter:getTextFormatter({format:({level:e,category:t,message:n})=>`${e} ${t} ${n}`})})},loggers:[{category:`likec4`,sinks:[`console`],lowestLevel:`debug`}]});let n=createLanguageServices({connection:t});return startLanguageServer$1(n.shared),n}export{NoFileSystem,NoFileSystemWatcher,NoLikeC4ManualLayouts,NoMCPServer,createLanguageServices,startLanguageServer};
@@ -0,0 +1 @@
1
+ import{startLanguageServer}from"./index.mjs";startLanguageServer(self);
@@ -1,6 +1,5 @@
1
- import "./_chunks/ast.mjs";
2
- import { X as LikeC4Services, Z as LikeC4SharedServices } from "./_chunks/LikeC4LanguageServices.mjs";
3
- import "./_chunks/protocol.mjs";
1
+ import "./_chunks/index.mjs";
2
+ import { LikeC4Services, LikeC4SharedServices } from "./module.mjs";
4
3
 
5
4
  //#region src/bundled.d.ts
6
5
  type StartBundledLanguageServerOptions = {
package/dist/bundled.mjs CHANGED
@@ -1,51 +1 @@
1
- import { o as logger$1, r as getLspConnectionSink } from "./_chunks/LikeC4LanguageServices.mjs";
2
- import "./_chunks/libs/eventemitter3.mjs";
3
- import { i as WithLikeC4ManualLayouts, n as WithMCPServer, r as WithFileSystem, t as ConfigurableLayouter } from "./_chunks/ConfigurableLayouter.mjs";
4
- import { t as createLanguageServices } from "./_chunks/module2.mjs";
5
- import "./_chunks/libs/@hono/node-server.mjs";
6
- import "./_chunks/libs/hono.mjs";
7
- import { configureLogger, getConsoleStderrSink } from "@likec4/log";
8
- import { defu } from "defu";
9
- import { startLanguageServer as startLanguageServer$1 } from "langium/lsp";
10
- import { isDevelopment } from "std-env";
11
- import { ProposedFeatures, createConnection } from "vscode-languageserver/node";
12
-
13
- //#region src/bundled.ts
14
- /**
15
- * This is used as `bin` entry point to start the language server.
16
- */
17
- function startLanguageServer(options) {
18
- const opts = defu(options, {
19
- enableMCP: true,
20
- enableManualLayouts: true
21
- });
22
- const connection = createConnection(ProposedFeatures.all);
23
- configureLogger({
24
- sinks: {
25
- lsp: getLspConnectionSink(connection),
26
- console: getConsoleStderrSink()
27
- },
28
- loggers: [{
29
- category: ["likec4"],
30
- sinks: ["console", "lsp"],
31
- lowestLevel: isDevelopment ? "trace" : "debug"
32
- }]
33
- });
34
- process.on("uncaughtException", (err) => {
35
- logger$1.error("uncaughtException", { err });
36
- });
37
- process.on("unhandledRejection", (err) => {
38
- logger$1.error("unhandledRejection", { err });
39
- });
40
- const services = createLanguageServices({
41
- connection,
42
- ...WithFileSystem(false),
43
- ...opts.enableMCP !== false && WithMCPServer(opts.enableMCP === true ? "sse" : opts.enableMCP),
44
- ...opts.enableManualLayouts && WithLikeC4ManualLayouts
45
- }, ConfigurableLayouter);
46
- startLanguageServer$1(services.shared);
47
- return services;
48
- }
49
-
50
- //#endregion
51
- export { startLanguageServer };
1
+ import{i as logger$1,t as getLspConnectionSink}from"./_chunks/logger.mjs";import"./_chunks/libs/eventemitter3.mjs";import{r as WithLikeC4ManualLayouts,t as WithFileSystem}from"./_chunks/LikeC4FileSystem.mjs";import{createLanguageServices}from"./module.mjs";import{t as WithMCPServer}from"./_chunks/WithMCPServer.mjs";import{t as ConfigurableLayouter}from"./_chunks/ConfigurableLayouter.mjs";import{configureLogger,getConsoleStderrSink}from"@likec4/log";import{startLanguageServer as startLanguageServer$1}from"langium/lsp";import{defu}from"defu";import{isDevelopment}from"std-env";import{ProposedFeatures,createConnection}from"vscode-languageserver/node";function startLanguageServer(t){let n=defu(t,{enableMCP:!0,enableManualLayouts:!0}),r=createConnection(ProposedFeatures.all);configureLogger({sinks:{lsp:getLspConnectionSink(r),console:getConsoleStderrSink()},loggers:[{category:[`likec4`],sinks:[`console`,`lsp`],lowestLevel:isDevelopment?`trace`:`debug`}]}),process.on(`uncaughtException`,e=>{logger$1.error(`uncaughtException`,{err:e})}),process.on(`unhandledRejection`,e=>{logger$1.error(`unhandledRejection`,{err:e})});let i=createLanguageServices({connection:r,...WithFileSystem(!1),...n.enableMCP!==!1&&WithMCPServer(n.enableMCP===!0?`sse`:n.enableMCP),...n.enableManualLayouts&&WithLikeC4ManualLayouts},ConfigurableLayouter);return startLanguageServer$1(i.shared),i}export{startLanguageServer};
@@ -1,4 +1,2 @@
1
- import "../_chunks/ast.mjs";
2
- import { _t as LikeC4ManualLayoutsModuleContext, ct as NoFileSystem, dt as FileNode, ft as FileSystemModuleContext, gt as LikeC4ManualLayouts, ht as FileSystemWatcherModuleContext, lt as NoFileSystemWatcher, mt as FileSystemWatcher, pt as FileSystemProvider, ut as NoLikeC4ManualLayouts } from "../_chunks/LikeC4LanguageServices.mjs";
3
- import "../_chunks/protocol.mjs";
4
- export { FileNode, FileSystemModuleContext, FileSystemProvider, FileSystemWatcher, FileSystemWatcherModuleContext, LikeC4ManualLayouts, LikeC4ManualLayoutsModuleContext, NoFileSystem, NoFileSystemWatcher, NoLikeC4ManualLayouts };
1
+ import { B as NoFileSystem, G as FileSystemProvider, H as NoLikeC4ManualLayouts, J as LikeC4ManualLayouts, K as FileSystemWatcher, L as WithLikeC4ManualLayouts, R as WithChokidarWatcher, U as FileNode, V as NoFileSystemWatcher, W as FileSystemModuleContext, X as ManualLayoutsSnapshot, Y as LikeC4ManualLayoutsModuleContext, q as FileSystemWatcherModuleContext, z as WithFileSystem } from "../_chunks/index.mjs";
2
+ export { type FileNode, type FileSystemModuleContext, type FileSystemProvider, type FileSystemWatcher, type FileSystemWatcherModuleContext, type LikeC4ManualLayouts, type LikeC4ManualLayoutsModuleContext, type ManualLayoutsSnapshot, NoFileSystem, NoFileSystemWatcher, NoLikeC4ManualLayouts, WithChokidarWatcher, WithFileSystem, WithLikeC4ManualLayouts };
@@ -1,3 +1 @@
1
- import { n as NoFileSystemWatcher, r as NoLikeC4ManualLayouts, t as NoFileSystem } from "../_chunks/filesystem.mjs";
2
-
3
- export { NoFileSystem, NoFileSystemWatcher, NoLikeC4ManualLayouts };
1
+ import{Cr as NoFileSystem,Tr as NoLikeC4ManualLayouts,wr as NoFileSystemWatcher}from"../_chunks/utils.mjs";import"../_chunks/libs/eventemitter3.mjs";import{n as WithChokidarWatcher,r as WithLikeC4ManualLayouts,t as WithFileSystem}from"../_chunks/LikeC4FileSystem.mjs";export{NoFileSystem,NoFileSystemWatcher,NoLikeC4ManualLayouts,WithChokidarWatcher,WithFileSystem,WithLikeC4ManualLayouts};
package/dist/index.d.mts CHANGED
@@ -1,4 +1,39 @@
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, a as startLanguageServer, bt as ProjectsManager, c as WithFileSystem, 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, o as WithMCPServer, ot as LikeC4WorkspaceManager, pt as FileSystemProvider, r as DocumentParser, s as WithLikeC4ManualLayouts, 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";
1
+ import { $ as ProjectsManager, B as NoFileSystem, D as LikeC4WorkspaceManager, G as FileSystemProvider, H as NoLikeC4ManualLayouts, J as LikeC4ManualLayouts, K as FileSystemWatcher, L as WithLikeC4ManualLayouts, O as LangiumDocuments, Q as ProjectData, S as LikeC4ModelBuilder, T as FqnIndex, V as NoFileSystemWatcher, W as FileSystemModuleContext, Y as LikeC4ManualLayoutsModuleContext, Z as Project, _ as LikeC4Views, b as LikeC4ModelLocator, f as LikeC4LanguageServices, g as LikeC4ModelParser, h as DocumentParser, q as FileSystemWatcherModuleContext, v as WithMCPServer, x as ViewLocateResult, y as NoMCPServer, z as WithFileSystem } from "./_chunks/index.mjs";
2
+ import "./mcp/index.mjs";
3
+ import { LanguageServicesContext, LikeC4AddedServices, LikeC4Services, LikeC4SharedServices, createLanguageServices } from "./module.mjs";
4
+ import { Connection } from "vscode-languageserver";
5
+
6
+ //#region src/index.d.ts
7
+ type StartLanguageServerOptions = {
8
+ /**
9
+ * The Language Server Protocol connection to use.
10
+ */
11
+ connection?: Connection;
12
+ /**
13
+ * Whether to enable the file system watcher.
14
+ * @default true
15
+ */
16
+ enableWatcher?: boolean;
17
+ /**
18
+ * @default true
19
+ */
20
+ enableTelemetry?: boolean;
21
+ /**
22
+ * Whether to enable the MCP server.
23
+ * @default 'sse'
24
+ */
25
+ enableMCP?: false | 'stdio' | 'sse' | {
26
+ port: number;
27
+ };
28
+ /**
29
+ * Whether to enable manual layouts, stored in json5 files.
30
+ * @default true
31
+ */
32
+ enableManualLayouts?: boolean;
33
+ };
34
+ declare function startLanguageServer(options?: StartLanguageServerOptions): {
35
+ shared: LikeC4SharedServices;
36
+ likec4: LikeC4Services;
37
+ };
38
+ //#endregion
4
39
  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, WithFileSystem, WithLikeC4ManualLayouts, WithMCPServer, createLanguageServices, startLanguageServer };
package/dist/index.mjs CHANGED
@@ -1,48 +1 @@
1
- import { i as getTelemetrySink, o as logger$1 } from "./_chunks/LikeC4LanguageServices.mjs";
2
- import "./_chunks/libs/eventemitter3.mjs";
3
- import { i as WithLikeC4ManualLayouts, n as WithMCPServer, r as WithFileSystem, t as ConfigurableLayouter } from "./_chunks/ConfigurableLayouter.mjs";
4
- import { n as NoFileSystemWatcher, r as NoLikeC4ManualLayouts, t as NoFileSystem } from "./_chunks/filesystem.mjs";
5
- import { t as createLanguageServices } from "./_chunks/module2.mjs";
6
- import "./_chunks/libs/@hono/node-server.mjs";
7
- import "./_chunks/libs/hono.mjs";
8
- import { t as NoMCPServer } from "./_chunks/mcp.mjs";
9
- import { configureLogger, getConsoleSink, getConsoleStderrSink, getTextFormatter } from "@likec4/log";
10
- import { defu } from "defu";
11
- import { startLanguageServer as startLanguageServer$1 } from "langium/lsp";
12
- import { isDevelopment } from "std-env";
13
-
14
- //#region src/index.ts
15
- function startLanguageServer(options) {
16
- const connection = options?.connection;
17
- const opts = defu(options, {
18
- enableWatcher: true,
19
- enableMCP: "sse",
20
- enableTelemetry: !!connection,
21
- enableManualLayouts: true
22
- });
23
- const enableTelemetry = !!connection && opts.enableTelemetry && !isDevelopment;
24
- configureLogger({
25
- sinks: {
26
- console: opts.enableMCP === "stdio" || connection ? getConsoleStderrSink({ formatter: getTextFormatter() }) : getConsoleSink({ formatter: getTextFormatter() }),
27
- ...enableTelemetry && { telemetry: getTelemetrySink(connection) }
28
- },
29
- loggers: [{
30
- category: ["likec4"],
31
- sinks: ["console", ...enableTelemetry ? ["telemetry"] : []],
32
- lowestLevel: isDevelopment ? "trace" : "debug"
33
- }]
34
- });
35
- if (connection) logger$1.info("Starting LikeC4 language server");
36
- else logger$1.warn("Starting LikeC4 language server (headless - no LSP connection)");
37
- const services = createLanguageServices({
38
- ...connection && { connection },
39
- ...WithFileSystem(opts.enableWatcher),
40
- ...!!opts.enableMCP && WithMCPServer(opts.enableMCP),
41
- ...opts.enableManualLayouts && WithLikeC4ManualLayouts
42
- }, connection ? { likec4: { ...ConfigurableLayouter.likec4 } } : void 0);
43
- startLanguageServer$1(services.shared);
44
- return services;
45
- }
46
-
47
- //#endregion
48
- export { NoFileSystem, NoFileSystemWatcher, NoLikeC4ManualLayouts, NoMCPServer, WithFileSystem, WithLikeC4ManualLayouts, WithMCPServer, createLanguageServices, startLanguageServer };
1
+ import{Cr as NoFileSystem,Tr as NoLikeC4ManualLayouts,wr as NoFileSystemWatcher}from"./_chunks/utils.mjs";import{i as logger$1,n as getTelemetrySink}from"./_chunks/logger.mjs";import"./_chunks/libs/eventemitter3.mjs";import{r as WithLikeC4ManualLayouts,t as WithFileSystem}from"./_chunks/LikeC4FileSystem.mjs";import{n as NoMCPServer}from"./_chunks/ProjectsManager.mjs";import{createLanguageServices}from"./module.mjs";import{t as WithMCPServer}from"./_chunks/WithMCPServer.mjs";import{t as ConfigurableLayouter}from"./_chunks/ConfigurableLayouter.mjs";import{configureLogger,getConsoleSink,getConsoleStderrSink,getTextFormatter}from"@likec4/log";import{startLanguageServer as startLanguageServer$1}from"langium/lsp";import{defu}from"defu";import{isDevelopment}from"std-env";function startLanguageServer(e){let t=e?.connection,n=defu(e,{enableWatcher:!0,enableMCP:`sse`,enableTelemetry:!!t,enableManualLayouts:!0}),r=!!t&&n.enableTelemetry&&!isDevelopment;configureLogger({sinks:{console:n.enableMCP===`stdio`||t?getConsoleStderrSink({formatter:getTextFormatter()}):getConsoleSink({formatter:getTextFormatter()}),...r&&{telemetry:getTelemetrySink(t)}},loggers:[{category:[`likec4`],sinks:[`console`,...r?[`telemetry`]:[]],lowestLevel:isDevelopment?`trace`:`debug`}]}),t?logger$1.info(`Starting LikeC4 language server`):logger$1.warn(`Starting LikeC4 language server (headless - no LSP connection)`);let i=createLanguageServices({...t&&{connection:t},...WithFileSystem(n.enableWatcher),...!!n.enableMCP&&WithMCPServer(n.enableMCP),...n.enableManualLayouts&&WithLikeC4ManualLayouts},t?{likec4:{...ConfigurableLayouter.likec4}}:void 0);return startLanguageServer$1(i.shared),i}export{NoFileSystem,NoFileSystemWatcher,NoLikeC4ManualLayouts,NoMCPServer,WithFileSystem,WithLikeC4ManualLayouts,WithMCPServer,createLanguageServices,startLanguageServer};
@@ -1,9 +1,16 @@
1
- import { LibIcons } from "./generated-lib/icons.mjs";
2
1
  import { URI } from "vscode-uri";
3
2
 
3
+ //#region src/generated-lib/icons.d.ts
4
+ declare const LibIcons: string;
5
+ //#endregion
4
6
  //#region src/likec4lib.d.ts
5
7
  declare const Scheme = "likec4builtin";
6
8
  declare const Uri: "likec4builtin:///likec4/lib/icons.c4";
7
- declare function isLikeC4Builtin(uri: URI): boolean;
9
+ declare function isLikeC4Builtin(uri: URI | {
10
+ uri: URI;
11
+ }): boolean;
12
+ declare function isNotLikeC4Builtin(uri: URI | {
13
+ uri: URI;
14
+ }): boolean;
8
15
  //#endregion
9
- export { LibIcons as Content, Scheme, Uri, isLikeC4Builtin };
16
+ export { LibIcons as Content, Scheme, Uri, isLikeC4Builtin, isNotLikeC4Builtin };
@@ -1,4 +1 @@
1
- import { t as LibIcons } from "./_chunks/icons.mjs";
2
- import { n as Uri, r as isLikeC4Builtin, t as Scheme } from "./_chunks/likec4lib.mjs";
3
-
4
- export { LibIcons as Content, Scheme, Uri, isLikeC4Builtin };
1
+ import{t as LibIcons}from"./_chunks/icons.mjs";const Scheme=`likec4builtin`,Uri=`${Scheme}:///likec4/lib/icons.c4`;function isLikeC4Builtin(e){return(`uri`in e?e.uri:e).scheme===Scheme}function isNotLikeC4Builtin(e){return!isLikeC4Builtin(e)}export{LibIcons as Content,Scheme,Uri,isLikeC4Builtin,isNotLikeC4Builtin};
@@ -1,4 +1,2 @@
1
- import "../_chunks/ast.mjs";
2
- import { at as LikeC4MCPServerModuleContext, it as LikeC4MCPServerFactory, nt as NoMCPServer, rt as LikeC4MCPServer } from "../_chunks/LikeC4LanguageServices.mjs";
3
- import "../_chunks/protocol.mjs";
4
- export { LikeC4MCPServer, LikeC4MCPServerFactory, LikeC4MCPServerModuleContext, NoMCPServer };
1
+ import { F as LikeC4MCPServerModuleContext, N as LikeC4MCPServer, P as LikeC4MCPServerFactory, v as WithMCPServer, y as NoMCPServer } from "../_chunks/index.mjs";
2
+ export { type LikeC4MCPServer, type LikeC4MCPServerFactory, type LikeC4MCPServerModuleContext, NoMCPServer, WithMCPServer };
@@ -1,3 +1 @@
1
- import { t as NoMCPServer } from "../_chunks/mcp.mjs";
2
-
3
- export { NoMCPServer };
1
+ import{n as NoMCPServer}from"../_chunks/ProjectsManager.mjs";import{t as WithMCPServer}from"../_chunks/WithMCPServer.mjs";export{NoMCPServer,WithMCPServer};
package/dist/module.d.mts CHANGED
@@ -1,4 +1,126 @@
1
- import "./_chunks/ast.mjs";
2
- import { $ as createLikeC4Module, J as LanguageServicesContext, Q as createLanguageServices, X as LikeC4Services, Y as LikeC4AddedServices, Z as LikeC4SharedServices, et as createSharedServices } from "./_chunks/LikeC4LanguageServices.mjs";
3
- import "./_chunks/protocol.mjs";
4
- export { LanguageServicesContext, LikeC4AddedServices, LikeC4Services, LikeC4SharedServices, createLanguageServices, createLikeC4Module, createSharedServices };
1
+ import { $ as ProjectsManager, A as LikeC4ScopeComputation, B as NoFileSystem, C as LastSeenArtifacts, D as LikeC4WorkspaceManager, E as LikeC4ScopeProvider, F as LikeC4MCPServerModuleContext, G as FileSystemProvider$1, H as NoLikeC4ManualLayouts, I as LikeC4Formatter, J as LikeC4ManualLayouts, K as FileSystemWatcher, M as LikeC4DocumentValidator, N as LikeC4MCPServer, O as LangiumDocuments, P as LikeC4MCPServerFactory, S as LikeC4ModelBuilder, T as FqnIndex, W as FileSystemModuleContext, Y as LikeC4ManualLayoutsModuleContext, _ as LikeC4Views, a as LikeC4CodeActionProvider, b as LikeC4ModelLocator, c as LikeC4DocumentLinkProvider, d as LikeC4CodeLensProvider, et as LikeC4DocumentationProvider, f as LikeC4LanguageServices, g as LikeC4ModelParser, i as LikeC4SemanticTokenProvider, j as LikeC4NameProvider, k as IndexManager, l as LikeC4DocumentHighlightProvider, m as LikeC4ValueConverter, n as NodeKindProvider$1, o as LikeC4HoverProvider, p as LikeC4ModelChanges, r as Rpc, s as LikeC4DocumentSymbolProvider, t as WorkspaceSymbolProvider, u as LikeC4CompletionProvider, w as DeploymentsIndex, y as NoMCPServer } from "./_chunks/index.mjs";
2
+ import "./filesystem/index.mjs";
3
+ import { Module, WorkspaceCache } from "langium";
4
+ import { DefaultSharedModuleContext, LangiumServices, LangiumSharedServices, PartialLangiumServices } from "langium/lsp";
5
+ import { QueueGraphvizLayoter } from "@likec4/layouts";
6
+
7
+ //#region src/module.d.ts
8
+ type LanguageServicesContext = Omit<DefaultSharedModuleContext, 'fileSystemProvider'> & FileSystemModuleContext & LikeC4MCPServerModuleContext & LikeC4ManualLayoutsModuleContext;
9
+ interface LikeC4AddedSharedServices {
10
+ lsp: {
11
+ NodeKindProvider: NodeKindProvider$1;
12
+ WorkspaceSymbolProvider: WorkspaceSymbolProvider;
13
+ };
14
+ workspace: {
15
+ Cache: WorkspaceCache<string, any>;
16
+ ProjectsManager: ProjectsManager;
17
+ IndexManager: IndexManager;
18
+ LangiumDocuments: LangiumDocuments;
19
+ WorkspaceManager: LikeC4WorkspaceManager;
20
+ FileSystemProvider: FileSystemProvider$1;
21
+ FileSystemWatcher: FileSystemWatcher;
22
+ ManualLayouts: LikeC4ManualLayouts;
23
+ };
24
+ }
25
+ type LikeC4SharedServices = LangiumSharedServices & LikeC4AddedSharedServices;
26
+ /**
27
+ * Declaration of custom services - add your own service classes here.
28
+ */
29
+ interface LikeC4AddedServices {
30
+ documentation: {
31
+ DocumentationProvider: LikeC4DocumentationProvider;
32
+ };
33
+ validation: {
34
+ DocumentValidator: LikeC4DocumentValidator;
35
+ };
36
+ Rpc: Rpc;
37
+ mcp: {
38
+ Server: LikeC4MCPServer;
39
+ ServerFactory: LikeC4MCPServerFactory;
40
+ };
41
+ likec4: {
42
+ LanguageServices: LikeC4LanguageServices;
43
+ Views: LikeC4Views;
44
+ Layouter: QueueGraphvizLayoter;
45
+ DeploymentsIndex: DeploymentsIndex;
46
+ FqnIndex: FqnIndex;
47
+ ModelParser: LikeC4ModelParser;
48
+ ModelBuilder: LikeC4ModelBuilder;
49
+ ModelLocator: LikeC4ModelLocator;
50
+ ModelChanges: LikeC4ModelChanges;
51
+ LastSeen: LastSeenArtifacts;
52
+ };
53
+ lsp: {
54
+ CompletionProvider: LikeC4CompletionProvider;
55
+ DocumentHighlightProvider: LikeC4DocumentHighlightProvider;
56
+ DocumentSymbolProvider: LikeC4DocumentSymbolProvider;
57
+ SemanticTokenProvider: LikeC4SemanticTokenProvider;
58
+ HoverProvider: LikeC4HoverProvider;
59
+ CodeLensProvider: LikeC4CodeLensProvider;
60
+ DocumentLinkProvider: LikeC4DocumentLinkProvider;
61
+ Formatter: LikeC4Formatter;
62
+ CodeActionProvider: LikeC4CodeActionProvider;
63
+ };
64
+ references: {
65
+ NameProvider: LikeC4NameProvider;
66
+ ScopeComputation: LikeC4ScopeComputation;
67
+ ScopeProvider: LikeC4ScopeProvider;
68
+ };
69
+ shared?: LikeC4SharedServices;
70
+ parser: {
71
+ ValueConverter: LikeC4ValueConverter;
72
+ };
73
+ }
74
+ type LikeC4Services = LangiumServices & LikeC4AddedServices;
75
+ /**
76
+ * Most probably you don't need to use this function directly.
77
+ * Use {@link createLanguageServices} instead.
78
+ * @internal
79
+ */
80
+ declare function createLikeC4Module(context: LikeC4MCPServerModuleContext): Module<LikeC4Services, PartialLangiumServices & LikeC4AddedServices>;
81
+ /**
82
+ * Create and initialize likec4 language services with the given context
83
+ * @example
84
+ * ```ts
85
+ * const { shared, likec4 } = createLanguageServices({
86
+ * ...WithFileSystem(enableWatcher = true),
87
+ * ...WithLikeC4ManualLayouts(),
88
+ * ...NoMcpServer(),
89
+ * });
90
+ * ```
91
+ *
92
+ * It is possible to extend/override the context with additional modules
93
+ * See Langium documentation for more details (or at the CliContext in packages/likec4/src/language/module.ts).
94
+ */
95
+ declare function createLanguageServices(): {
96
+ shared: LikeC4SharedServices;
97
+ likec4: LikeC4Services;
98
+ };
99
+ declare function createLanguageServices(context: Partial<LanguageServicesContext>): {
100
+ shared: LikeC4SharedServices;
101
+ likec4: LikeC4Services;
102
+ };
103
+ declare function createLanguageServices(context: Partial<LanguageServicesContext>): {
104
+ shared: LikeC4SharedServices;
105
+ likec4: LikeC4Services;
106
+ };
107
+ declare function createLanguageServices<I1, I extends I1 & LikeC4Services>(context: Partial<LanguageServicesContext>, module: Module<I, I1> | undefined): {
108
+ shared: LikeC4SharedServices;
109
+ likec4: I;
110
+ };
111
+ declare function createLanguageServices<I1, I2, I extends I1 & I2 & LikeC4Services>(context: Partial<LanguageServicesContext>, module: Module<I, I1>, module2: Module<I, I2>): {
112
+ shared: LikeC4SharedServices;
113
+ likec4: I;
114
+ };
115
+ declare function createLanguageServices<I1, I2, I3, I extends I1 & I2 & I3 & LikeC4Services>(context: Partial<LanguageServicesContext>, module: Module<I, I1>, module2: Module<I, I2>, module3: Module<I, I3>): {
116
+ shared: LikeC4SharedServices;
117
+ likec4: I;
118
+ };
119
+ /**
120
+ * Most probably you don't need to use this function directly.
121
+ * Use {@link createLanguageServices} instead.
122
+ * @internal
123
+ */
124
+ declare function createSharedServices(context?: Partial<LanguageServicesContext>): LikeC4SharedServices;
125
+ //#endregion
126
+ export { LanguageServicesContext, LikeC4AddedServices, LikeC4Services, LikeC4SharedServices, NoFileSystem, NoLikeC4ManualLayouts, NoMCPServer, createLanguageServices, createLikeC4Module, createSharedServices };
package/dist/module.mjs CHANGED
@@ -1,3 +1 @@
1
- import { n as createLikeC4Module, r as createSharedServices, t as createLanguageServices } from "./_chunks/module2.mjs";
2
-
3
- export { createLanguageServices, createLikeC4Module, createSharedServices };
1
+ import{Cr as NoFileSystem,Tr as NoLikeC4ManualLayouts,a as LikeC4GeneratedSharedModule,i as LikeC4GeneratedModule}from"./_chunks/utils.mjs";import{A as AstNodeDescriptionProvider,C as LikeC4DocumentHighlightProvider,D as LikeC4WorkspaceManager,E as DefaultLikeC4LanguageServices,M as LikeC4DocumentationProvider,O as LangiumDocuments,S as LikeC4DocumentLinkProvider,T as LikeC4CodeLensProvider,_ as FqnIndex,a as LikeC4ScopeProvider,b as LikeC4HoverProvider,c as LikeC4ModelChanges,d as registerValidationChecks,f as LikeC4DocumentValidator,g as DeploymentsIndex,h as LastSeenArtifacts,i as Rpc,j as LikeC4Formatter,k as IndexManager,l as LikeC4ValueConverter,m as DefaultLikeC4ModelBuilder,n as WorkspaceSymbolProvider,o as LikeC4ScopeComputation,p as LikeC4ModelLocator,r as NodeKindProvider$1,s as LikeC4NameProvider,t as DefaultLikeC4Views,u as LikeC4ModelParser,v as LikeC4SemanticTokenProvider,w as LikeC4CompletionProvider,x as LikeC4DocumentSymbolProvider,y as LikeC4CodeActionProvider}from"./_chunks/LikeC4Views.mjs";import{n as NoMCPServer,t as ProjectsManager}from"./_chunks/ProjectsManager.mjs";import{DocumentState,WorkspaceCache,inject}from"langium";import{onNextTick}from"@likec4/core/utils";import{createDefaultModule,createDefaultSharedModule}from"langium/lsp";import{GraphvizWasmAdapter,QueueGraphvizLayoter}from"@likec4/layouts";function createLikeC4SharedModule(e){return{lsp:{NodeKindProvider:e=>new NodeKindProvider$1(e),WorkspaceSymbolProvider:e=>new WorkspaceSymbolProvider(e)},workspace:{Cache:e=>new WorkspaceCache(e,DocumentState.Validated),IndexManager:e=>new IndexManager(e),LangiumDocuments:e=>new LangiumDocuments(e),ProjectsManager:e=>new ProjectsManager(e),WorkspaceManager:e=>new LikeC4WorkspaceManager(e),FileSystemProvider:()=>e.fileSystemProvider(),FileSystemWatcher:t=>e.fileSystemWatcher(t),ManualLayouts:t=>e.manualLayouts(t)}}}function bind(e){return t=>new e(t)}function createLikeC4Module(e){return{documentation:{DocumentationProvider:bind(LikeC4DocumentationProvider)},validation:{DocumentValidator:bind(LikeC4DocumentValidator)},Rpc:bind(Rpc),mcp:{Server:t=>e.mcpServer(t),ServerFactory:t=>e.mcpServerFactory(t)},likec4:{LanguageServices:bind(DefaultLikeC4LanguageServices),Layouter:e=>new QueueGraphvizLayoter({graphviz:new GraphvizWasmAdapter}),Views:bind(DefaultLikeC4Views),DeploymentsIndex:bind(DeploymentsIndex),ModelChanges:bind(LikeC4ModelChanges),FqnIndex:bind(FqnIndex),ModelParser:bind(LikeC4ModelParser),ModelBuilder:bind(DefaultLikeC4ModelBuilder),ModelLocator:bind(LikeC4ModelLocator),LastSeen:bind(LastSeenArtifacts)},lsp:{CompletionProvider:bind(LikeC4CompletionProvider),DocumentHighlightProvider:bind(LikeC4DocumentHighlightProvider),DocumentSymbolProvider:bind(LikeC4DocumentSymbolProvider),SemanticTokenProvider:bind(LikeC4SemanticTokenProvider),HoverProvider:bind(LikeC4HoverProvider),CodeLensProvider:bind(LikeC4CodeLensProvider),DocumentLinkProvider:bind(LikeC4DocumentLinkProvider),Formatter:bind(LikeC4Formatter),CodeActionProvider:bind(LikeC4CodeActionProvider)},workspace:{AstNodeDescriptionProvider:bind(AstNodeDescriptionProvider)},references:{NameProvider:bind(LikeC4NameProvider),ScopeComputation:bind(LikeC4ScopeComputation),ScopeProvider:bind(LikeC4ScopeProvider)},parser:{ValueConverter:bind(LikeC4ValueConverter)}}}function createLanguageServices(n={},i,a,o){let s=createSharedServices(n),c=inject([createDefaultModule({shared:s}),LikeC4GeneratedModule,createLikeC4Module({...NoMCPServer,...NoFileSystem,...NoLikeC4ManualLayouts,...n}),i,a,o].reduce(_merge,{}));return s.ServiceRegistry.register(c),registerValidationChecks(c),n.connection?onNextTick(()=>c.Rpc.init()):s.workspace.ConfigurationProvider.initialized({}),{shared:s,likec4:c}}function createSharedServices(r={}){let i={...NoMCPServer,...NoFileSystem,...NoLikeC4ManualLayouts,...r};return inject(createDefaultSharedModule(i),LikeC4GeneratedSharedModule,createLikeC4SharedModule(i))}function _merge(e,t){if(t){for(let[n,r]of Object.entries(t))if(r!==void 0){let t=e[n];t!==null&&r!==null&&typeof t==`object`&&typeof r==`object`?e[n]=_merge(t,r):e[n]=r}}return e}export{NoFileSystem,NoLikeC4ManualLayouts,NoMCPServer,createLanguageServices,createLikeC4Module,createSharedServices};