@wolfx/oh-my-openagent 4.2.0-patch.2 → 4.2.0-patch.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/package.json +3 -2
  2. package/packages/lsp-tools-mcp/dist/cli.d.ts +3 -0
  3. package/packages/lsp-tools-mcp/dist/cli.d.ts.map +1 -0
  4. package/packages/lsp-tools-mcp/dist/cli.js +24 -0
  5. package/packages/lsp-tools-mcp/dist/cli.js.map +1 -0
  6. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +2 -0
  7. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts.map +1 -0
  8. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.js +7 -0
  9. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.js.map +1 -0
  10. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts +14 -0
  11. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts.map +1 -0
  12. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js +110 -0
  13. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js.map +1 -0
  14. package/packages/lsp-tools-mcp/dist/lsp/client.d.ts +21 -0
  15. package/packages/lsp-tools-mcp/dist/lsp/client.d.ts.map +1 -0
  16. package/packages/lsp-tools-mcp/dist/lsp/client.js +130 -0
  17. package/packages/lsp-tools-mcp/dist/lsp/client.js.map +1 -0
  18. package/packages/lsp-tools-mcp/dist/lsp/config-loader.d.ts +25 -0
  19. package/packages/lsp-tools-mcp/dist/lsp/config-loader.d.ts.map +1 -0
  20. package/packages/lsp-tools-mcp/dist/lsp/config-loader.js +110 -0
  21. package/packages/lsp-tools-mcp/dist/lsp/config-loader.js.map +1 -0
  22. package/packages/lsp-tools-mcp/dist/lsp/connection.d.ts +5 -0
  23. package/packages/lsp-tools-mcp/dist/lsp/connection.d.ts.map +1 -0
  24. package/packages/lsp-tools-mcp/dist/lsp/connection.js +67 -0
  25. package/packages/lsp-tools-mcp/dist/lsp/connection.js.map +1 -0
  26. package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +11 -0
  27. package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts.map +1 -0
  28. package/packages/lsp-tools-mcp/dist/lsp/constants.js +11 -0
  29. package/packages/lsp-tools-mcp/dist/lsp/constants.js.map +1 -0
  30. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.d.ts +4 -0
  31. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.d.ts.map +1 -0
  32. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.js +124 -0
  33. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.js.map +1 -0
  34. package/packages/lsp-tools-mcp/dist/lsp/errors.d.ts +36 -0
  35. package/packages/lsp-tools-mcp/dist/lsp/errors.d.ts.map +1 -0
  36. package/packages/lsp-tools-mcp/dist/lsp/errors.js +57 -0
  37. package/packages/lsp-tools-mcp/dist/lsp/errors.js.map +1 -0
  38. package/packages/lsp-tools-mcp/dist/lsp/formatters.d.ts +13 -0
  39. package/packages/lsp-tools-mcp/dist/lsp/formatters.d.ts.map +1 -0
  40. package/packages/lsp-tools-mcp/dist/lsp/formatters.js +109 -0
  41. package/packages/lsp-tools-mcp/dist/lsp/formatters.js.map +1 -0
  42. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.d.ts +2 -0
  43. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.d.ts.map +1 -0
  44. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.js +59 -0
  45. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.js.map +1 -0
  46. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.d.ts +37 -0
  47. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.d.ts.map +1 -0
  48. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.js +248 -0
  49. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.js.map +1 -0
  50. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +5 -0
  51. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts.map +1 -0
  52. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.js +170 -0
  53. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.js.map +1 -0
  54. package/packages/lsp-tools-mcp/dist/lsp/manager.d.ts +48 -0
  55. package/packages/lsp-tools-mcp/dist/lsp/manager.d.ts.map +1 -0
  56. package/packages/lsp-tools-mcp/dist/lsp/manager.js +308 -0
  57. package/packages/lsp-tools-mcp/dist/lsp/manager.js.map +1 -0
  58. package/packages/lsp-tools-mcp/dist/lsp/process.d.ts +26 -0
  59. package/packages/lsp-tools-mcp/dist/lsp/process.d.ts.map +1 -0
  60. package/packages/lsp-tools-mcp/dist/lsp/process.js +124 -0
  61. package/packages/lsp-tools-mcp/dist/lsp/process.js.map +1 -0
  62. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.d.ts +5 -0
  63. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.d.ts.map +1 -0
  64. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.js +159 -0
  65. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.js.map +1 -0
  66. package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts +3 -0
  67. package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts.map +1 -0
  68. package/packages/lsp-tools-mcp/dist/lsp/server-installation.js +51 -0
  69. package/packages/lsp-tools-mcp/dist/lsp/server-installation.js.map +1 -0
  70. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.d.ts +12 -0
  71. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.d.ts.map +1 -0
  72. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.js +75 -0
  73. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.js.map +1 -0
  74. package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts +26 -0
  75. package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts.map +1 -0
  76. package/packages/lsp-tools-mcp/dist/lsp/transport.js +234 -0
  77. package/packages/lsp-tools-mcp/dist/lsp/transport.js.map +1 -0
  78. package/packages/lsp-tools-mcp/dist/lsp/types.d.ts +125 -0
  79. package/packages/lsp-tools-mcp/dist/lsp/types.d.ts.map +1 -0
  80. package/packages/lsp-tools-mcp/dist/lsp/types.js +2 -0
  81. package/packages/lsp-tools-mcp/dist/lsp/types.js.map +1 -0
  82. package/packages/lsp-tools-mcp/dist/lsp/utils.d.ts +5 -0
  83. package/packages/lsp-tools-mcp/dist/lsp/utils.d.ts.map +1 -0
  84. package/packages/lsp-tools-mcp/dist/lsp/utils.js +43 -0
  85. package/packages/lsp-tools-mcp/dist/lsp/utils.js.map +1 -0
  86. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts +9 -0
  87. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts.map +1 -0
  88. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js +114 -0
  89. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js.map +1 -0
  90. package/packages/lsp-tools-mcp/dist/mcp.d.ts +31 -0
  91. package/packages/lsp-tools-mcp/dist/mcp.d.ts.map +1 -0
  92. package/packages/lsp-tools-mcp/dist/mcp.js +95 -0
  93. package/packages/lsp-tools-mcp/dist/mcp.js.map +1 -0
  94. package/packages/lsp-tools-mcp/dist/tools.d.ts +91 -0
  95. package/packages/lsp-tools-mcp/dist/tools.d.ts.map +1 -0
  96. package/packages/lsp-tools-mcp/dist/tools.js +453 -0
  97. package/packages/lsp-tools-mcp/dist/tools.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-definitions.js","sourceRoot":"","sources":["../../src/lsp/server-definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function getAdditionalPathBases(workingDirectory: string): string[];
2
+ export declare function isServerInstalled(command: string[]): boolean;
3
+ //# sourceMappingURL=server-installation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-installation.d.ts","sourceRoot":"","sources":["../../src/lsp/server-installation.ts"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAiD5D"}
@@ -0,0 +1,51 @@
1
+ import { existsSync } from "node:fs";
2
+ import { delimiter, join } from "node:path";
3
+ export function getAdditionalPathBases(workingDirectory) {
4
+ return [join(workingDirectory, "node_modules", ".bin")];
5
+ }
6
+ export function isServerInstalled(command) {
7
+ if (command.length === 0)
8
+ return false;
9
+ const [cmd] = command;
10
+ if (!cmd)
11
+ return false;
12
+ if (cmd.includes("/") || cmd.includes("\\")) {
13
+ if (existsSync(cmd))
14
+ return true;
15
+ }
16
+ const isWindows = process.platform === "win32";
17
+ let exts = [""];
18
+ if (isWindows) {
19
+ const pathExt = process.env.PATHEXT ?? "";
20
+ if (pathExt) {
21
+ const systemExts = pathExt.split(";").filter(Boolean);
22
+ exts = [...new Set([...exts, ...systemExts, ".exe", ".cmd", ".bat", ".ps1"])];
23
+ }
24
+ else {
25
+ exts = ["", ".exe", ".cmd", ".bat", ".ps1"];
26
+ }
27
+ }
28
+ let pathEnv = process.env.PATH ?? "";
29
+ if (isWindows && !pathEnv) {
30
+ pathEnv = process.env.Path ?? "";
31
+ }
32
+ const paths = pathEnv.split(delimiter);
33
+ for (const p of paths) {
34
+ for (const suffix of exts) {
35
+ if (existsSync(join(p, cmd + suffix))) {
36
+ return true;
37
+ }
38
+ }
39
+ }
40
+ for (const base of getAdditionalPathBases(process.cwd())) {
41
+ for (const suffix of exts) {
42
+ if (existsSync(join(base, cmd + suffix))) {
43
+ return true;
44
+ }
45
+ }
46
+ }
47
+ if (cmd === "node")
48
+ return true;
49
+ return false;
50
+ }
51
+ //# sourceMappingURL=server-installation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-installation.js","sourceRoot":"","sources":["../../src/lsp/server-installation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,UAAU,sBAAsB,CAAC,gBAAwB;IAC9D,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAiB;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACtB,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAEvB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IAClC,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE/C,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACP,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAED,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACrC,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAC1D,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAEhC,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { ServerLookupResult } from "./types.js";
2
+ export declare function findServerForExtension(ext: string): ServerLookupResult;
3
+ export interface ServerStatus {
4
+ id: string;
5
+ installed: boolean;
6
+ extensions: string[];
7
+ disabled: boolean;
8
+ source: string;
9
+ priority: number;
10
+ }
11
+ export declare function getAllServers(): ServerStatus[];
12
+ //# sourceMappingURL=server-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-resolution.d.ts","sourceRoot":"","sources":["../../src/lsp/server-resolution.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAyCtE;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,IAAI,YAAY,EAAE,CAkC9C"}
@@ -0,0 +1,75 @@
1
+ import { getDisabledServerIds, getMergedServers } from "./config-loader.js";
2
+ import { BUILTIN_SERVERS, LSP_INSTALL_HINTS } from "./server-definitions.js";
3
+ import { isServerInstalled } from "./server-installation.js";
4
+ export function findServerForExtension(ext) {
5
+ const servers = getMergedServers();
6
+ for (const server of servers) {
7
+ if (server.extensions.includes(ext) && isServerInstalled(server.command)) {
8
+ return {
9
+ status: "found",
10
+ server: {
11
+ id: server.id,
12
+ command: server.command,
13
+ extensions: server.extensions,
14
+ priority: server.priority,
15
+ env: server.env,
16
+ initialization: server.initialization,
17
+ },
18
+ };
19
+ }
20
+ }
21
+ for (const server of servers) {
22
+ if (server.extensions.includes(ext)) {
23
+ const installHint = LSP_INSTALL_HINTS[server.id] ?? `Install '${server.command[0]}' and ensure it's in your PATH`;
24
+ return {
25
+ status: "not_installed",
26
+ server: {
27
+ id: server.id,
28
+ command: server.command,
29
+ extensions: server.extensions,
30
+ },
31
+ installHint,
32
+ };
33
+ }
34
+ }
35
+ const availableServers = [...new Set(servers.map((s) => s.id))];
36
+ return {
37
+ status: "not_configured",
38
+ extension: ext,
39
+ availableServers,
40
+ };
41
+ }
42
+ export function getAllServers() {
43
+ const servers = getMergedServers();
44
+ const disabled = getDisabledServerIds();
45
+ const result = [];
46
+ const seen = new Set();
47
+ for (const server of servers) {
48
+ if (seen.has(server.id))
49
+ continue;
50
+ result.push({
51
+ id: server.id,
52
+ installed: isServerInstalled(server.command),
53
+ extensions: server.extensions,
54
+ disabled: false,
55
+ source: server.source,
56
+ priority: server.priority,
57
+ });
58
+ seen.add(server.id);
59
+ }
60
+ for (const id of disabled) {
61
+ if (seen.has(id))
62
+ continue;
63
+ const builtin = BUILTIN_SERVERS[id];
64
+ result.push({
65
+ id,
66
+ installed: builtin ? isServerInstalled(builtin.command) : false,
67
+ extensions: builtin?.extensions ?? [],
68
+ disabled: true,
69
+ source: "disabled",
70
+ priority: 0,
71
+ });
72
+ }
73
+ return result;
74
+ }
75
+ //# sourceMappingURL=server-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-resolution.js","sourceRoot":"","sources":["../../src/lsp/server-resolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { JsonRpcConnection } from "./json-rpc-connection.js";
2
+ import { type SpawnedProcess } from "./process.js";
3
+ import type { Diagnostic, ResolvedServer } from "./types.js";
4
+ export declare class LspClientTransport {
5
+ protected readonly root: string;
6
+ protected readonly server: ResolvedServer;
7
+ protected proc: SpawnedProcess | null;
8
+ protected connection: JsonRpcConnection | null;
9
+ protected readonly stderrBuffer: string[];
10
+ protected processExited: boolean;
11
+ protected readonly diagnosticsStore: Map<string, Diagnostic[]>;
12
+ constructor(root: string, server: ResolvedServer);
13
+ pid(): number | undefined;
14
+ command(): string[];
15
+ start(): Promise<void>;
16
+ protected startStderrReading(): void;
17
+ private isConnectionClosedError;
18
+ protected sendRequest<T>(method: string): Promise<T>;
19
+ protected sendRequest<T>(method: string, params: unknown): Promise<T>;
20
+ protected sendNotification(method: string): Promise<void>;
21
+ protected sendNotification(method: string, params: unknown): Promise<void>;
22
+ isAlive(): boolean;
23
+ stop(): Promise<void>;
24
+ getStoredDiagnostics(uri: string): Diagnostic[];
25
+ }
26
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/lsp/transport.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,cAAc,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA+B7D,qBAAa,kBAAkB;IAQ7B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAC/B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IAR1C,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAQ;IAC7C,SAAS,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IACtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAM;IAC/C,SAAS,CAAC,aAAa,UAAS;IAChC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,4BAAmC;gBAGlD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc;IAG1C,GAAG,IAAI,MAAM,GAAG,SAAS;IAIzB,OAAO,IAAI,MAAM,EAAE;IAIb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD5B,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAWpC,OAAO,CAAC,uBAAuB;IAW/B,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACpD,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IA+CrE,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACzD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1E,OAAO,IAAI,OAAO;IAIZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4D3B,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE;CAG/C"}
@@ -0,0 +1,234 @@
1
+ import { delimiter } from "node:path";
2
+ import { reportBestEffortCleanupError } from "./cleanup-errors.js";
3
+ import { REQUEST_TIMEOUT_MS, STOP_HARD_KILL_TIMEOUT_MS, STOP_SIGKILL_GRACE_MS } from "./constants.js";
4
+ import { LspConnectionClosedError, LspProcessExitedError, LspRequestTimeoutError } from "./errors.js";
5
+ import { JsonRpcConnection } from "./json-rpc-connection.js";
6
+ import { spawnProcess } from "./process.js";
7
+ import { getAdditionalPathBases } from "./server-installation.js";
8
+ function isRecord(value) {
9
+ return typeof value === "object" && value !== null && !Array.isArray(value);
10
+ }
11
+ function parseConfigurationItems(params) {
12
+ if (!isRecord(params) || !Array.isArray(params.items))
13
+ return [];
14
+ const items = [];
15
+ for (const item of params.items) {
16
+ if (!isRecord(item))
17
+ continue;
18
+ items.push({ section: typeof item.section === "string" ? item.section : undefined });
19
+ }
20
+ return items;
21
+ }
22
+ function parseDiagnosticsParams(params) {
23
+ if (!isRecord(params) || typeof params.uri !== "string")
24
+ return null;
25
+ const diagnostics = Array.isArray(params.diagnostics) ? params.diagnostics : [];
26
+ return { uri: params.uri, diagnostics };
27
+ }
28
+ export class LspClientTransport {
29
+ constructor(root, server) {
30
+ this.root = root;
31
+ this.server = server;
32
+ this.proc = null;
33
+ this.connection = null;
34
+ this.stderrBuffer = [];
35
+ this.processExited = false;
36
+ this.diagnosticsStore = new Map();
37
+ }
38
+ pid() {
39
+ return this.proc?.pid;
40
+ }
41
+ command() {
42
+ return [...this.server.command];
43
+ }
44
+ async start() {
45
+ const env = {
46
+ ...process.env,
47
+ ...this.server.env,
48
+ };
49
+ const pathValue = process.platform === "win32" ? (env.PATH ?? env.Path ?? "") : (env.PATH ?? "");
50
+ const spawnPath = [pathValue, ...getAdditionalPathBases(this.root)].filter(Boolean).join(delimiter);
51
+ if (process.platform === "win32" && env.Path !== undefined) {
52
+ env.Path = spawnPath;
53
+ }
54
+ env.PATH = spawnPath;
55
+ this.proc = spawnProcess(this.server.command, {
56
+ cwd: this.root,
57
+ env,
58
+ });
59
+ this.startStderrReading();
60
+ await new Promise((resolve) => setTimeout(resolve, 100));
61
+ if (this.proc.exitCode !== null) {
62
+ const stderr = this.stderrBuffer.join("\n");
63
+ throw new LspProcessExitedError(this.server.id, this.root, this.proc.exitCode, stderr.slice(-2000));
64
+ }
65
+ this.connection = new JsonRpcConnection(this.proc.stdout, this.proc.stdin);
66
+ this.connection.onNotification("textDocument/publishDiagnostics", (params) => {
67
+ const diagnosticsParams = parseDiagnosticsParams(params);
68
+ if (diagnosticsParams?.uri) {
69
+ this.diagnosticsStore.set(diagnosticsParams.uri, diagnosticsParams.diagnostics);
70
+ }
71
+ });
72
+ this.connection.onRequest("workspace/configuration", (params) => {
73
+ const items = parseConfigurationItems(params);
74
+ return items.map((item) => {
75
+ if (item.section === "json")
76
+ return { validate: { enable: true } };
77
+ return {};
78
+ });
79
+ });
80
+ this.connection.onRequest("client/registerCapability", () => null);
81
+ this.connection.onRequest("window/workDoneProgress/create", () => null);
82
+ this.connection.onClose(() => {
83
+ this.processExited = true;
84
+ });
85
+ this.connection.onError((error) => {
86
+ reportBestEffortCleanupError("connection error notification", error);
87
+ });
88
+ this.connection.listen();
89
+ }
90
+ startStderrReading() {
91
+ if (!this.proc)
92
+ return;
93
+ this.proc.stderr.setEncoding("utf-8");
94
+ this.proc.stderr.on("data", (chunk) => {
95
+ this.stderrBuffer.push(chunk);
96
+ if (this.stderrBuffer.length > 100) {
97
+ this.stderrBuffer.shift();
98
+ }
99
+ });
100
+ }
101
+ isConnectionClosedError(error) {
102
+ if (!(error instanceof Error)) {
103
+ return false;
104
+ }
105
+ const code = "code" in error && typeof error.code === "string" ? error.code : undefined;
106
+ return (code === "ERR_STREAM_DESTROYED" ||
107
+ /connection closed|connection is disposed|stream was destroyed/i.test(error.message));
108
+ }
109
+ async sendRequest(method, ...args) {
110
+ if (!this.connection)
111
+ throw new Error("LSP client not started");
112
+ if (this.processExited || (this.proc && this.proc.exitCode !== null)) {
113
+ const stderrTail = this.stderrBuffer.slice(-10).join("\n");
114
+ throw new LspProcessExitedError(this.server.id, this.root, this.proc?.exitCode ?? null, stderrTail || undefined);
115
+ }
116
+ let timeoutHandle = null;
117
+ const timeoutPromise = new Promise((_, reject) => {
118
+ timeoutHandle = setTimeout(() => {
119
+ const stderrTail = this.stderrBuffer.slice(-5).join("\n");
120
+ reject(new LspRequestTimeoutError(method, stderrTail || undefined));
121
+ }, REQUEST_TIMEOUT_MS);
122
+ });
123
+ try {
124
+ const requestPromise = args.length === 0
125
+ ? this.connection.sendRequest(method)
126
+ : this.connection.sendRequest(method, args[0]);
127
+ const result = await Promise.race([requestPromise, timeoutPromise]);
128
+ if (timeoutHandle !== null)
129
+ clearTimeout(timeoutHandle);
130
+ return result;
131
+ }
132
+ catch (error) {
133
+ if (timeoutHandle !== null)
134
+ clearTimeout(timeoutHandle);
135
+ if (this.processExited || (this.proc && this.proc.exitCode !== null)) {
136
+ throw new LspProcessExitedError(this.server.id, this.root, this.proc?.exitCode ?? null, this.stderrBuffer.slice(-10).join("\n") || undefined);
137
+ }
138
+ if (this.isConnectionClosedError(error)) {
139
+ throw new LspConnectionClosedError(this.server.id, this.root, error.message);
140
+ }
141
+ throw error;
142
+ }
143
+ }
144
+ async sendNotification(method, ...args) {
145
+ if (!this.connection)
146
+ return;
147
+ if (this.processExited || (this.proc && this.proc.exitCode !== null))
148
+ return;
149
+ try {
150
+ if (args.length === 0) {
151
+ await this.connection.sendNotification(method);
152
+ }
153
+ else {
154
+ await this.connection.sendNotification(method, args[0]);
155
+ }
156
+ }
157
+ catch (error) {
158
+ if (this.isConnectionClosedError(error)) {
159
+ throw new LspConnectionClosedError(this.server.id, this.root, error.message);
160
+ }
161
+ throw error;
162
+ }
163
+ }
164
+ isAlive() {
165
+ return this.proc !== null && !this.processExited && this.proc.exitCode === null;
166
+ }
167
+ async stop() {
168
+ if (this.connection) {
169
+ try {
170
+ await this.sendRequest("shutdown");
171
+ }
172
+ catch (error) {
173
+ reportBestEffortCleanupError("shutdown request", error);
174
+ }
175
+ try {
176
+ await this.sendNotification("exit");
177
+ }
178
+ catch (error) {
179
+ reportBestEffortCleanupError("exit notification", error);
180
+ }
181
+ try {
182
+ this.connection.dispose();
183
+ }
184
+ catch (error) {
185
+ reportBestEffortCleanupError("connection dispose", error);
186
+ }
187
+ this.connection = null;
188
+ }
189
+ const proc = this.proc;
190
+ if (proc) {
191
+ this.proc = null;
192
+ let exitedBeforeTimeout = false;
193
+ try {
194
+ proc.kill();
195
+ let timeoutId;
196
+ const timeoutPromise = new Promise((resolve) => {
197
+ timeoutId = setTimeout(resolve, STOP_HARD_KILL_TIMEOUT_MS);
198
+ });
199
+ await Promise.race([
200
+ proc.exited
201
+ .then(() => {
202
+ exitedBeforeTimeout = true;
203
+ })
204
+ .finally(() => {
205
+ if (timeoutId)
206
+ clearTimeout(timeoutId);
207
+ }),
208
+ timeoutPromise,
209
+ ]);
210
+ if (!exitedBeforeTimeout) {
211
+ try {
212
+ proc.kill("SIGKILL");
213
+ await Promise.race([
214
+ proc.exited,
215
+ new Promise((resolve) => setTimeout(resolve, STOP_SIGKILL_GRACE_MS)),
216
+ ]);
217
+ }
218
+ catch (error) {
219
+ reportBestEffortCleanupError("hard process kill", error);
220
+ }
221
+ }
222
+ }
223
+ catch (error) {
224
+ reportBestEffortCleanupError("process stop", error);
225
+ }
226
+ }
227
+ this.processExited = true;
228
+ this.diagnosticsStore.clear();
229
+ }
230
+ getStoredDiagnostics(uri) {
231
+ return this.diagnosticsStore.get(uri) ?? [];
232
+ }
233
+ }
234
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/lsp/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ export interface LspServerConfig {
2
+ id: string;
3
+ command: string[];
4
+ extensions: string[];
5
+ disabled?: boolean;
6
+ env?: Record<string, string>;
7
+ initialization?: Record<string, unknown>;
8
+ }
9
+ export interface ResolvedServer {
10
+ id: string;
11
+ command: string[];
12
+ extensions: string[];
13
+ priority: number;
14
+ env?: Record<string, string>;
15
+ initialization?: Record<string, unknown>;
16
+ }
17
+ export interface ServerLookupInfo {
18
+ id: string;
19
+ command: string[];
20
+ extensions: string[];
21
+ }
22
+ export type ServerLookupResult = {
23
+ status: "found";
24
+ server: ResolvedServer;
25
+ } | {
26
+ status: "not_configured";
27
+ extension: string;
28
+ availableServers: string[];
29
+ } | {
30
+ status: "not_installed";
31
+ server: ServerLookupInfo;
32
+ installHint: string;
33
+ };
34
+ export interface Position {
35
+ line: number;
36
+ character: number;
37
+ }
38
+ export interface Range {
39
+ start: Position;
40
+ end: Position;
41
+ }
42
+ export interface Location {
43
+ uri: string;
44
+ range: Range;
45
+ }
46
+ export interface LocationLink {
47
+ targetUri: string;
48
+ targetRange: Range;
49
+ targetSelectionRange: Range;
50
+ originSelectionRange?: Range;
51
+ }
52
+ export interface SymbolInfo {
53
+ name: string;
54
+ kind: number;
55
+ location: Location;
56
+ containerName?: string;
57
+ }
58
+ export interface DocumentSymbol {
59
+ name: string;
60
+ kind: number;
61
+ range: Range;
62
+ selectionRange: Range;
63
+ children?: DocumentSymbol[];
64
+ }
65
+ export interface Diagnostic {
66
+ range: Range;
67
+ severity?: number;
68
+ code?: string | number;
69
+ source?: string;
70
+ message: string;
71
+ }
72
+ export interface TextDocumentIdentifier {
73
+ uri: string;
74
+ }
75
+ export interface VersionedTextDocumentIdentifier extends TextDocumentIdentifier {
76
+ version: number | null;
77
+ }
78
+ export interface TextEdit {
79
+ range: Range;
80
+ newText: string;
81
+ }
82
+ export interface TextDocumentEdit {
83
+ textDocument: VersionedTextDocumentIdentifier;
84
+ edits: TextEdit[];
85
+ }
86
+ export interface CreateFile {
87
+ kind: "create";
88
+ uri: string;
89
+ options?: {
90
+ overwrite?: boolean;
91
+ ignoreIfExists?: boolean;
92
+ };
93
+ }
94
+ export interface RenameFile {
95
+ kind: "rename";
96
+ oldUri: string;
97
+ newUri: string;
98
+ options?: {
99
+ overwrite?: boolean;
100
+ ignoreIfExists?: boolean;
101
+ };
102
+ }
103
+ export interface DeleteFile {
104
+ kind: "delete";
105
+ uri: string;
106
+ options?: {
107
+ recursive?: boolean;
108
+ ignoreIfNotExists?: boolean;
109
+ };
110
+ }
111
+ export interface WorkspaceEdit {
112
+ changes?: {
113
+ [uri: string]: TextEdit[];
114
+ };
115
+ documentChanges?: (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[];
116
+ }
117
+ export interface PrepareRenameResult {
118
+ range: Range;
119
+ placeholder?: string;
120
+ }
121
+ export interface PrepareRenameDefaultBehavior {
122
+ defaultBehavior: boolean;
123
+ }
124
+ export type SeverityFilter = "error" | "warning" | "information" | "hint" | "all";
125
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lsp/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lsp/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare function shorten(value: string, max: number): string;
2
+ export declare function errorMessage(error: unknown): string;
3
+ export declare function formatKnownLspStartupFailure(error: unknown): string | null;
4
+ export declare function handleMissingDependencyError(error: unknown): string | null;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lsp/utils.ts"],"names":[],"mappings":"AAUA,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEnD;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAiB1E;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM1E"}