@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.
- package/browser/package.json +2 -2
- package/browser-worker/package.json +2 -2
- package/dist/THIRD-PARTY-LICENSES.md +178 -0
- package/dist/_chunks/ConfigurableLayouter.mjs +1 -1956
- package/dist/_chunks/LikeC4FileSystem.mjs +3 -0
- package/dist/_chunks/LikeC4Views.mjs +34 -0
- package/dist/_chunks/ProjectsManager.mjs +1 -0
- package/dist/_chunks/WithMCPServer.mjs +481 -0
- package/dist/_chunks/icons.mjs +2 -5211
- package/dist/_chunks/{LikeC4LanguageServices.d.mts → index.d.mts} +1836 -707
- package/dist/_chunks/libs/@msgpack/msgpack.mjs +1 -805
- package/dist/_chunks/libs/eventemitter3.mjs +1 -243
- package/dist/_chunks/libs/fast-equals.mjs +1 -446
- package/dist/_chunks/libs/p-queue.mjs +1 -449
- package/dist/_chunks/libs/parse-ms.mjs +1 -36
- package/dist/_chunks/libs/picomatch.mjs +1 -1673
- package/dist/_chunks/libs/pretty-ms.mjs +1 -80
- package/dist/_chunks/libs/remeda.mjs +1 -482
- package/dist/_chunks/libs/strip-indent.mjs +1 -15
- package/dist/_chunks/libs/ufo.mjs +1 -166
- package/dist/_chunks/logger.mjs +1 -0
- package/dist/_chunks/rolldown-runtime.mjs +1 -42
- package/dist/_chunks/utils.mjs +1 -0
- package/dist/browser/index.d.mts +10 -0
- package/dist/browser/index.mjs +1 -0
- package/dist/browser/worker.mjs +1 -0
- package/dist/bundled.d.mts +2 -3
- package/dist/bundled.mjs +1 -51
- package/dist/filesystem/index.d.mts +2 -4
- package/dist/filesystem/index.mjs +1 -3
- package/dist/index.d.mts +38 -3
- package/dist/index.mjs +1 -48
- package/dist/likec4lib.d.mts +10 -3
- package/dist/likec4lib.mjs +1 -4
- package/dist/mcp/index.d.mts +2 -4
- package/dist/mcp/index.mjs +1 -3
- package/dist/module.d.mts +126 -4
- package/dist/module.mjs +1 -3
- package/dist/protocol.d.mts +314 -1
- package/dist/protocol.mjs +1 -3
- package/filesystem/package.json +4 -0
- package/mcp/package.json +4 -0
- package/module/package.json +4 -0
- package/package.json +79 -56
- package/LICENSE +0 -21
- package/dist/LikeC4LanguageServices.d.mts +0 -4
- package/dist/LikeC4LanguageServices.mjs +0 -3
- package/dist/_chunks/LikeC4LanguageServices.mjs +0 -725
- package/dist/_chunks/ast.d.mts +0 -1444
- package/dist/_chunks/ast.mjs +0 -2375
- package/dist/_chunks/ast2.mjs +0 -176
- package/dist/_chunks/common-exports.mjs +0 -0
- package/dist/_chunks/filesystem.mjs +0 -58
- package/dist/_chunks/grammar.mjs +0 -8
- package/dist/_chunks/libs/@hono/node-server.mjs +0 -436
- package/dist/_chunks/libs/hono.mjs +0 -1829
- package/dist/_chunks/likec4lib.mjs +0 -9
- package/dist/_chunks/mcp.mjs +0 -33
- package/dist/_chunks/module.mjs +0 -28
- package/dist/_chunks/module2.mjs +0 -6576
- package/dist/_chunks/protocol.d.mts +0 -311
- package/dist/_chunks/protocol.mjs +0 -78
- package/dist/ast.d.mts +0 -4
- package/dist/ast.mjs +0 -4
- package/dist/browser-worker.mjs +0 -6
- package/dist/browser.d.mts +0 -11
- package/dist/browser.mjs +0 -27
- package/dist/common-exports.d.mts +0 -4
- package/dist/common-exports.mjs +0 -5
- package/dist/generated/ast.d.mts +0 -2
- package/dist/generated/ast.mjs +0 -3
- package/dist/generated/grammar.d.mts +0 -6
- package/dist/generated/grammar.mjs +0 -3
- package/dist/generated/module.d.mts +0 -14
- package/dist/generated/module.mjs +0 -3
- package/dist/generated-lib/icons.d.mts +0 -4
- package/dist/generated-lib/icons.mjs +0 -3
- /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);
|
package/dist/bundled.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import "./_chunks/
|
|
2
|
-
import {
|
|
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
|
|
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/
|
|
2
|
-
|
|
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 {
|
|
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/
|
|
2
|
-
import
|
|
3
|
-
import "./
|
|
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
|
|
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};
|
package/dist/likec4lib.d.mts
CHANGED
|
@@ -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
|
|
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 };
|
package/dist/likec4lib.mjs
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
import
|
|
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};
|
package/dist/mcp/index.d.mts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import "../_chunks/
|
|
2
|
-
|
|
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 };
|
package/dist/mcp/index.mjs
CHANGED
package/dist/module.d.mts
CHANGED
|
@@ -1,4 +1,126 @@
|
|
|
1
|
-
import "./_chunks/
|
|
2
|
-
import
|
|
3
|
-
import "
|
|
4
|
-
|
|
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
|
|
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};
|