oh-my-opencode 5.0.0-beta.25 → 5.0.0-beta.28
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/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -1
- package/dist/cli/doctor/checks/system-plugin.d.ts +4 -3
- package/dist/cli/index.js +309 -182
- package/dist/cli-node/index.js +332 -182
- package/dist/features/team-mode/tools/messaging-fallback-wake.d.ts +15 -0
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
- package/dist/index.js +1958 -1668
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/legacy-plugin-warning.d.ts +2 -1
- package/dist/shared/plugin-entry-migrator.d.ts +4 -3
- package/dist/shared/plugin-entry-shape.d.ts +6 -0
- package/dist/skills/data-scientist/SKILL.md +99 -239
- package/dist/skills/data-scientist/references/execution-surfaces.md +91 -0
- package/dist/skills/data-scientist/references/placement.md +74 -0
- package/dist/skills/data-scientist/references/polars-lane.md +95 -0
- package/dist/skills/data-scientist/references/uv-setup.md +1 -1
- package/dist/skills/data-scientist/references/visualization.md +64 -0
- package/dist/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
- package/dist/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
- package/dist/skills/debugging/SKILL.md +2 -0
- package/dist/skills/debugging/references/methodology/00-setup.md +12 -0
- package/dist/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/dist/skills/debugging/references/runtimes/go.md +15 -1
- package/dist/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/dist/skills/debugging/references/runtimes/node.md +25 -0
- package/dist/skills/debugging/references/runtimes/python.md +13 -0
- package/dist/skills/debugging/references/runtimes/rust.md +41 -0
- package/dist/skills/debugging/references/scripts/dap.mjs +267 -0
- package/dist/skills/debugging/references/scripts/dap.test.ts +86 -0
- package/dist/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/dist/skills/debugging/references/tools/dap.md +103 -0
- package/dist/skills/debugging/references/tools/frida.md +193 -0
- package/dist/skills/ulw-research/SKILL.md +3 -1
- package/dist/tools/delegate-task/types.d.ts +3 -0
- package/dist/tui.d.ts +12 -0
- package/dist/tui.js +106 -15
- package/package.json +18 -15
- package/packages/lsp-core/src/index.ts +1 -0
- package/packages/lsp-core/src/lsp/client-wrapper.ts +25 -5
- package/packages/lsp-core/src/lsp/client.ts +26 -0
- package/packages/lsp-core/src/lsp/connection.ts +16 -0
- package/packages/lsp-core/src/lsp/constants.ts +1 -0
- package/packages/lsp-core/src/lsp/format-document.test.ts +143 -0
- package/packages/lsp-core/src/lsp/format-document.ts +90 -0
- package/packages/lsp-core/src/lsp/manager-max-clients.test.ts +151 -0
- package/packages/lsp-core/src/lsp/manager.ts +34 -1
- package/packages/lsp-core/src/lsp/server-definitions.ts +29 -0
- package/packages/lsp-core/src/lsp/server-installation.test.ts +376 -0
- package/packages/lsp-core/src/lsp/server-installation.ts +200 -27
- package/packages/lsp-core/src/lsp/server-resolution-local-binary.test.ts +170 -0
- package/packages/lsp-core/src/lsp/server-resolution.ts +18 -5
- package/packages/lsp-core/src/lsp/transport.ts +9 -0
- package/packages/lsp-core/src/lsp/types.ts +8 -0
- package/packages/lsp-core/src/request-context.test.ts +29 -0
- package/packages/lsp-core/src/request-context.ts +1 -1
- package/packages/lsp-core/src/tool-surface.test.ts +13 -1
- package/packages/lsp-core/src/tools/definitions.ts +14 -0
- package/packages/lsp-core/src/tools/format.test.ts +56 -0
- package/packages/lsp-core/src/tools/format.ts +56 -0
- package/packages/lsp-core/src/tools/index.ts +1 -0
- package/packages/lsp-core/src/tools/types.ts +10 -0
- package/packages/lsp-daemon/dist/cli.js +433 -145
- package/packages/lsp-daemon/dist/client.d.ts +10 -0
- package/packages/lsp-daemon/dist/client.js +402 -108
- package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -0
- package/packages/lsp-daemon/dist/daemon-client.js +3 -0
- package/packages/lsp-daemon/dist/index.js +396 -108
- package/packages/lsp-tools-mcp/dist/cli.js +385 -100
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +53 -0
- package/packages/lsp-tools-mcp/dist/mcp.js +385 -100
- package/packages/lsp-tools-mcp/dist/request-context.js +1 -1
- package/packages/lsp-tools-mcp/dist/tools.js +386 -100
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +2 -2
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +69 -35
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +21 -2
- package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +404 -121
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/dist/cli.js +3 -3
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +3 -3
- package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +4 -4
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +30 -15
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +30 -15
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/model-catalog.json +3 -3
- package/packages/omo-codex/plugin/package-lock.json +13 -13
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +3 -3
- package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +99 -239
- package/packages/omo-codex/plugin/skills/data-scientist/references/execution-surfaces.md +91 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/placement.md +74 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/polars-lane.md +95 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +1 -1
- package/packages/omo-codex/plugin/skills/data-scientist/references/visualization.md +64 -0
- package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
- package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
- package/packages/omo-codex/plugin/skills/debugging/SKILL.md +2 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +12 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +15 -1
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +25 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +13 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +41 -0
- package/packages/omo-codex/plugin/skills/debugging/references/scripts/dap.mjs +267 -0
- package/packages/omo-codex/plugin/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/dap.md +103 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/frida.md +193 -0
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +3 -1
- package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/auto-update.test.mjs +2 -2
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +8 -8
- package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +2 -2
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +38 -23
- package/packages/shared-skills/skills/data-scientist/SKILL.md +99 -239
- package/packages/shared-skills/skills/data-scientist/references/execution-surfaces.md +91 -0
- package/packages/shared-skills/skills/data-scientist/references/placement.md +74 -0
- package/packages/shared-skills/skills/data-scientist/references/polars-lane.md +95 -0
- package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +1 -1
- package/packages/shared-skills/skills/data-scientist/references/visualization.md +64 -0
- package/packages/shared-skills/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
- package/packages/shared-skills/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
- package/packages/shared-skills/skills/debugging/SKILL.md +2 -0
- package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +12 -0
- package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/go.md +15 -1
- package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/node.md +25 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/python.md +13 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +41 -0
- package/packages/shared-skills/skills/debugging/references/scripts/dap.mjs +267 -0
- package/packages/shared-skills/skills/debugging/references/scripts/dap.test.ts +86 -0
- package/packages/shared-skills/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/packages/shared-skills/skills/debugging/references/tools/dap.md +103 -0
- package/packages/shared-skills/skills/debugging/references/tools/frida.md +193 -0
- package/packages/shared-skills/skills/ulw-research/SKILL.md +3 -1
- package/dist/skills/data-scientist/references/common-scenarios.md +0 -176
- package/dist/skills/data-scientist/references/execution-templates.md +0 -197
- package/dist/skills/data-scientist/references/integration-patterns.md +0 -153
- package/dist/skills/data-scientist/references/performance-benchmarks.md +0 -37
- package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +0 -176
- package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +0 -197
- package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +0 -153
- package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +0 -37
- package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +0 -176
- package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +0 -197
- package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +0 -153
- package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +0 -37
|
@@ -23,6 +23,7 @@ var DEFAULT_MAX_DIRECTORY_FILES = 50;
|
|
|
23
23
|
var REQUEST_TIMEOUT_MS = 15000;
|
|
24
24
|
var INIT_TIMEOUT_MS = 60000;
|
|
25
25
|
var IDLE_TIMEOUT_MS = 5 * 60000;
|
|
26
|
+
var MAX_RESIDENT_CLIENTS = 6;
|
|
26
27
|
var REAPER_INTERVAL_MS = 60000;
|
|
27
28
|
var STOP_HARD_KILL_TIMEOUT_MS = 5000;
|
|
28
29
|
var STOP_SIGKILL_GRACE_MS = 1000;
|
|
@@ -615,6 +616,7 @@ class LspClientTransport {
|
|
|
615
616
|
this.diagnosticsStore = new Map;
|
|
616
617
|
this.workspaceApplyEditHandler = null;
|
|
617
618
|
this.diagnosticPullSupported = false;
|
|
619
|
+
this.documentFormattingSupported = false;
|
|
618
620
|
this.requestTimeoutMs = timeouts.requestTimeoutMs ?? REQUEST_TIMEOUT_MS;
|
|
619
621
|
this.initializeTimeoutMs = timeouts.initializeTimeoutMs ?? INIT_TIMEOUT_MS;
|
|
620
622
|
}
|
|
@@ -636,6 +638,12 @@ class LspClientTransport {
|
|
|
636
638
|
isDiagnosticPullSupported() {
|
|
637
639
|
return this.diagnosticPullSupported;
|
|
638
640
|
}
|
|
641
|
+
setDocumentFormattingSupported(supported) {
|
|
642
|
+
this.documentFormattingSupported = supported;
|
|
643
|
+
}
|
|
644
|
+
isDocumentFormattingSupported() {
|
|
645
|
+
return this.documentFormattingSupported;
|
|
646
|
+
}
|
|
639
647
|
handlePublishDiagnostics(params) {
|
|
640
648
|
this.diagnosticsStore.set(params.uri, [...params.diagnostics]);
|
|
641
649
|
}
|
|
@@ -849,6 +857,14 @@ function supportsDiagnosticPull(capabilities) {
|
|
|
849
857
|
return false;
|
|
850
858
|
return Object.hasOwn(capabilities, "diagnosticProvider");
|
|
851
859
|
}
|
|
860
|
+
function supportsDocumentFormatting(capabilities) {
|
|
861
|
+
if (capabilities === undefined)
|
|
862
|
+
return false;
|
|
863
|
+
const provider = capabilities.documentFormattingProvider;
|
|
864
|
+
if (provider === undefined || provider === null || provider === false)
|
|
865
|
+
return false;
|
|
866
|
+
return provider === true || typeof provider === "object";
|
|
867
|
+
}
|
|
852
868
|
|
|
853
869
|
class LspClientConnection extends LspClientTransport {
|
|
854
870
|
async initialize() {
|
|
@@ -865,6 +881,7 @@ class LspClientConnection extends LspClientTransport {
|
|
|
865
881
|
references: {},
|
|
866
882
|
documentSymbol: { hierarchicalDocumentSymbolSupport: true },
|
|
867
883
|
publishDiagnostics: {},
|
|
884
|
+
formatting: { dynamicRegistration: false },
|
|
868
885
|
rename: {
|
|
869
886
|
prepareSupport: true,
|
|
870
887
|
prepareSupportDefaultBehavior: 1
|
|
@@ -906,6 +923,7 @@ class LspClientConnection extends LspClientTransport {
|
|
|
906
923
|
initializationOptions: this.server.initialization
|
|
907
924
|
}, { timeoutMs: this.initializeTimeoutMs });
|
|
908
925
|
this.setDiagnosticPullSupported(supportsDiagnosticPull(result?.capabilities));
|
|
926
|
+
this.setDocumentFormattingSupported(supportsDocumentFormatting(result?.capabilities));
|
|
909
927
|
await this.sendNotification("initialized", {});
|
|
910
928
|
await this.sendNotification("workspace/didChangeConfiguration", {
|
|
911
929
|
settings: { json: { validate: { enable: true } } }
|
|
@@ -2500,6 +2518,18 @@ class LspClient extends LspClientConnection {
|
|
|
2500
2518
|
textDocument: { uri: pathToFileURL3(absPath).href }
|
|
2501
2519
|
}, options);
|
|
2502
2520
|
}
|
|
2521
|
+
async formatDocument(filePath, options, signal) {
|
|
2522
|
+
if (!this.isDocumentFormattingSupported())
|
|
2523
|
+
return null;
|
|
2524
|
+
const absPath = this.resolveWorkspacePath(filePath);
|
|
2525
|
+
await this.openFile(absPath);
|
|
2526
|
+
const requestOptions = signal === undefined ? {} : { signal };
|
|
2527
|
+
const edits = await this.sendRequest("textDocument/formatting", {
|
|
2528
|
+
textDocument: { uri: pathToFileURL3(absPath).href },
|
|
2529
|
+
options
|
|
2530
|
+
}, requestOptions);
|
|
2531
|
+
return edits ?? [];
|
|
2532
|
+
}
|
|
2503
2533
|
async workspaceSymbols(query, signal) {
|
|
2504
2534
|
const options = signal === undefined ? {} : { signal };
|
|
2505
2535
|
return this.sendRequest("workspace/symbol", { query }, options);
|
|
@@ -2752,6 +2782,7 @@ class LspManager {
|
|
|
2752
2782
|
this.disposed = false;
|
|
2753
2783
|
this.idleTimeoutMs = options.idleTimeoutMs ?? IDLE_TIMEOUT_MS;
|
|
2754
2784
|
this.initTimeoutMs = options.initTimeoutMs ?? INIT_TIMEOUT_MS;
|
|
2785
|
+
this.maxResidentClients = options.maxResidentClients ?? MAX_RESIDENT_CLIENTS;
|
|
2755
2786
|
this.reaperIntervalMs = options.reaperIntervalMs ?? REAPER_INTERVAL_MS;
|
|
2756
2787
|
this.clientFactory = options.clientFactory ?? ((root, server) => new LspClient(root, server));
|
|
2757
2788
|
this.now = options.now ?? (() => Date.now());
|
|
@@ -2785,6 +2816,26 @@ class LspManager {
|
|
|
2785
2816
|
}
|
|
2786
2817
|
}
|
|
2787
2818
|
}
|
|
2819
|
+
evictForAdmission() {
|
|
2820
|
+
while (this.clients.size >= this.maxResidentClients) {
|
|
2821
|
+
const victim = this.leastRecentlyUsedIdleClient();
|
|
2822
|
+
if (!victim)
|
|
2823
|
+
return;
|
|
2824
|
+
this.clients.delete(victim.key);
|
|
2825
|
+
stopClientBestEffort(victim.managed.client);
|
|
2826
|
+
}
|
|
2827
|
+
}
|
|
2828
|
+
leastRecentlyUsedIdleClient() {
|
|
2829
|
+
let candidate = null;
|
|
2830
|
+
for (const [key, managed] of this.clients) {
|
|
2831
|
+
if (managed.refCount > 0 || managed.pendingWaiters > 0 || managed.isInitializing)
|
|
2832
|
+
continue;
|
|
2833
|
+
if (candidate === null || managed.lastUsedAt < candidate.managed.lastUsedAt) {
|
|
2834
|
+
candidate = { key, managed };
|
|
2835
|
+
}
|
|
2836
|
+
}
|
|
2837
|
+
return candidate;
|
|
2838
|
+
}
|
|
2788
2839
|
async tryDeleteIfOrphaned(key, managed) {
|
|
2789
2840
|
if (managed.refCount === 0 && managed.pendingWaiters === 0 && !managed.isInitializing && this.clients.get(key) === managed) {
|
|
2790
2841
|
this.clients.delete(key);
|
|
@@ -2831,6 +2882,7 @@ class LspManager {
|
|
|
2831
2882
|
managed.lastUsedAt = this.now();
|
|
2832
2883
|
return managed.client;
|
|
2833
2884
|
}
|
|
2885
|
+
this.evictForAdmission();
|
|
2834
2886
|
const client = this.clientFactory(root, server);
|
|
2835
2887
|
const initStartedAt = this.now();
|
|
2836
2888
|
const initPromise = (async () => {
|
|
@@ -2893,6 +2945,7 @@ class LspManager {
|
|
|
2893
2945
|
const key = this.getKey(root, server.id);
|
|
2894
2946
|
if (this.clients.has(key))
|
|
2895
2947
|
return;
|
|
2948
|
+
this.evictForAdmission();
|
|
2896
2949
|
const client = this.clientFactory(root, server);
|
|
2897
2950
|
const initStartedAt = this.now();
|
|
2898
2951
|
const initPromise = (async () => {
|