@daniel.stefan/metalink 1.3.1
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/README.md +160 -0
- package/package.json +96 -0
- package/packages/cli/dist/bin/cli.d.ts +3 -0
- package/packages/cli/dist/bin/cli.d.ts.map +1 -0
- package/packages/cli/dist/bin/cli.js +4 -0
- package/packages/cli/dist/bin/cli.js.map +1 -0
- package/packages/cli/dist/commands/config/init.d.ts +9 -0
- package/packages/cli/dist/commands/config/init.d.ts.map +1 -0
- package/packages/cli/dist/commands/config/init.js +38 -0
- package/packages/cli/dist/commands/config/init.js.map +1 -0
- package/packages/cli/dist/commands/config/validate.d.ts +9 -0
- package/packages/cli/dist/commands/config/validate.d.ts.map +1 -0
- package/packages/cli/dist/commands/config/validate.js +34 -0
- package/packages/cli/dist/commands/config/validate.js.map +1 -0
- package/packages/cli/dist/commands/daemon/restart.d.ts +15 -0
- package/packages/cli/dist/commands/daemon/restart.d.ts.map +1 -0
- package/packages/cli/dist/commands/daemon/restart.js +184 -0
- package/packages/cli/dist/commands/daemon/restart.js.map +1 -0
- package/packages/cli/dist/commands/daemon/start.d.ts +7 -0
- package/packages/cli/dist/commands/daemon/start.d.ts.map +1 -0
- package/packages/cli/dist/commands/daemon/start.js +85 -0
- package/packages/cli/dist/commands/daemon/start.js.map +1 -0
- package/packages/cli/dist/commands/daemon/status.d.ts +7 -0
- package/packages/cli/dist/commands/daemon/status.d.ts.map +1 -0
- package/packages/cli/dist/commands/daemon/status.js +69 -0
- package/packages/cli/dist/commands/daemon/status.js.map +1 -0
- package/packages/cli/dist/commands/daemon/stop.d.ts +8 -0
- package/packages/cli/dist/commands/daemon/stop.d.ts.map +1 -0
- package/packages/cli/dist/commands/daemon/stop.js +77 -0
- package/packages/cli/dist/commands/daemon/stop.js.map +1 -0
- package/packages/cli/dist/commands/import/mcpm.d.ts +10 -0
- package/packages/cli/dist/commands/import/mcpm.d.ts.map +1 -0
- package/packages/cli/dist/commands/import/mcpm.js +58 -0
- package/packages/cli/dist/commands/import/mcpm.js.map +1 -0
- package/packages/cli/dist/commands/safety/add-risky-pattern.d.ts +16 -0
- package/packages/cli/dist/commands/safety/add-risky-pattern.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/add-risky-pattern.js +72 -0
- package/packages/cli/dist/commands/safety/add-risky-pattern.js.map +1 -0
- package/packages/cli/dist/commands/safety/add-risky.d.ts +12 -0
- package/packages/cli/dist/commands/safety/add-risky.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/add-risky.js +52 -0
- package/packages/cli/dist/commands/safety/add-risky.js.map +1 -0
- package/packages/cli/dist/commands/safety/add-safe-pattern.d.ts +16 -0
- package/packages/cli/dist/commands/safety/add-safe-pattern.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/add-safe-pattern.js +72 -0
- package/packages/cli/dist/commands/safety/add-safe-pattern.js.map +1 -0
- package/packages/cli/dist/commands/safety/add-safe.d.ts +12 -0
- package/packages/cli/dist/commands/safety/add-safe.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/add-safe.js +52 -0
- package/packages/cli/dist/commands/safety/add-safe.js.map +1 -0
- package/packages/cli/dist/commands/safety/check.d.ts +9 -0
- package/packages/cli/dist/commands/safety/check.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/check.js +36 -0
- package/packages/cli/dist/commands/safety/check.js.map +1 -0
- package/packages/cli/dist/commands/safety/export.d.ts +10 -0
- package/packages/cli/dist/commands/safety/export.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/export.js +48 -0
- package/packages/cli/dist/commands/safety/export.js.map +1 -0
- package/packages/cli/dist/commands/safety/import.d.ts +12 -0
- package/packages/cli/dist/commands/safety/import.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/import.js +78 -0
- package/packages/cli/dist/commands/safety/import.js.map +1 -0
- package/packages/cli/dist/commands/safety/index.d.ts +8 -0
- package/packages/cli/dist/commands/safety/index.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/index.js +46 -0
- package/packages/cli/dist/commands/safety/index.js.map +1 -0
- package/packages/cli/dist/commands/safety/list.d.ts +6 -0
- package/packages/cli/dist/commands/safety/list.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/list.js +77 -0
- package/packages/cli/dist/commands/safety/list.js.map +1 -0
- package/packages/cli/dist/commands/safety/remove.d.ts +9 -0
- package/packages/cli/dist/commands/safety/remove.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/remove.js +46 -0
- package/packages/cli/dist/commands/safety/remove.js.map +1 -0
- package/packages/cli/dist/commands/safety/reset.d.ts +9 -0
- package/packages/cli/dist/commands/safety/reset.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/reset.js +46 -0
- package/packages/cli/dist/commands/safety/reset.js.map +1 -0
- package/packages/cli/dist/commands/safety/validate.d.ts +9 -0
- package/packages/cli/dist/commands/safety/validate.d.ts.map +1 -0
- package/packages/cli/dist/commands/safety/validate.js +51 -0
- package/packages/cli/dist/commands/safety/validate.js.map +1 -0
- package/packages/cli/dist/commands/secret/get.d.ts +9 -0
- package/packages/cli/dist/commands/secret/get.d.ts.map +1 -0
- package/packages/cli/dist/commands/secret/get.js +26 -0
- package/packages/cli/dist/commands/secret/get.js.map +1 -0
- package/packages/cli/dist/commands/secret/set.d.ts +10 -0
- package/packages/cli/dist/commands/secret/set.d.ts.map +1 -0
- package/packages/cli/dist/commands/secret/set.js +22 -0
- package/packages/cli/dist/commands/secret/set.js.map +1 -0
- package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.d.ts +2 -0
- package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.js +234 -0
- package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.js.map +1 -0
- package/packages/cli/dist/commands/server/add.d.ts +14 -0
- package/packages/cli/dist/commands/server/add.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/add.js +86 -0
- package/packages/cli/dist/commands/server/add.js.map +1 -0
- package/packages/cli/dist/commands/server/available.d.ts +10 -0
- package/packages/cli/dist/commands/server/available.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/available.js +62 -0
- package/packages/cli/dist/commands/server/available.js.map +1 -0
- package/packages/cli/dist/commands/server/debug.d.ts +18 -0
- package/packages/cli/dist/commands/server/debug.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/debug.js +165 -0
- package/packages/cli/dist/commands/server/debug.js.map +1 -0
- package/packages/cli/dist/commands/server/info.d.ts +13 -0
- package/packages/cli/dist/commands/server/info.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/info.js +62 -0
- package/packages/cli/dist/commands/server/info.js.map +1 -0
- package/packages/cli/dist/commands/server/list.d.ts +10 -0
- package/packages/cli/dist/commands/server/list.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/list.js +105 -0
- package/packages/cli/dist/commands/server/list.js.map +1 -0
- package/packages/cli/dist/commands/server/refresh-tools.d.ts +13 -0
- package/packages/cli/dist/commands/server/refresh-tools.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/refresh-tools.js +46 -0
- package/packages/cli/dist/commands/server/refresh-tools.js.map +1 -0
- package/packages/cli/dist/commands/server/remove.d.ts +12 -0
- package/packages/cli/dist/commands/server/remove.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/remove.js +39 -0
- package/packages/cli/dist/commands/server/remove.js.map +1 -0
- package/packages/cli/dist/commands/server/restart.d.ts +9 -0
- package/packages/cli/dist/commands/server/restart.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/restart.js +30 -0
- package/packages/cli/dist/commands/server/restart.js.map +1 -0
- package/packages/cli/dist/commands/server/start.d.ts +9 -0
- package/packages/cli/dist/commands/server/start.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/start.js +37 -0
- package/packages/cli/dist/commands/server/start.js.map +1 -0
- package/packages/cli/dist/commands/server/status.d.ts +9 -0
- package/packages/cli/dist/commands/server/status.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/status.js +30 -0
- package/packages/cli/dist/commands/server/status.js.map +1 -0
- package/packages/cli/dist/commands/server/stop.d.ts +9 -0
- package/packages/cli/dist/commands/server/stop.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/stop.js +31 -0
- package/packages/cli/dist/commands/server/stop.js.map +1 -0
- package/packages/cli/dist/commands/server/validate.d.ts +15 -0
- package/packages/cli/dist/commands/server/validate.d.ts.map +1 -0
- package/packages/cli/dist/commands/server/validate.js +87 -0
- package/packages/cli/dist/commands/server/validate.js.map +1 -0
- package/packages/cli/dist/commands/stdio.d.ts +36 -0
- package/packages/cli/dist/commands/stdio.d.ts.map +1 -0
- package/packages/cli/dist/commands/stdio.js +85 -0
- package/packages/cli/dist/commands/stdio.js.map +1 -0
- package/packages/cli/dist/commands/tool/execute-confirm.d.ts +12 -0
- package/packages/cli/dist/commands/tool/execute-confirm.d.ts.map +1 -0
- package/packages/cli/dist/commands/tool/execute-confirm.js +98 -0
- package/packages/cli/dist/commands/tool/execute-confirm.js.map +1 -0
- package/packages/cli/dist/commands/tool/execute.d.ts +12 -0
- package/packages/cli/dist/commands/tool/execute.d.ts.map +1 -0
- package/packages/cli/dist/commands/tool/execute.js +55 -0
- package/packages/cli/dist/commands/tool/execute.js.map +1 -0
- package/packages/cli/dist/commands/tool/list.d.ts +13 -0
- package/packages/cli/dist/commands/tool/list.d.ts.map +1 -0
- package/packages/cli/dist/commands/tool/list.js +91 -0
- package/packages/cli/dist/commands/tool/list.js.map +1 -0
- package/packages/cli/dist/commands/tool/search.d.ts +12 -0
- package/packages/cli/dist/commands/tool/search.d.ts.map +1 -0
- package/packages/cli/dist/commands/tool/search.js +87 -0
- package/packages/cli/dist/commands/tool/search.js.map +1 -0
- package/packages/cli/dist/index.d.ts +2 -0
- package/packages/cli/dist/index.d.ts.map +1 -0
- package/packages/cli/dist/index.js +9 -0
- package/packages/cli/dist/index.js.map +1 -0
- package/packages/cli/dist/utils/daemon-checker.d.ts +18 -0
- package/packages/cli/dist/utils/daemon-checker.d.ts.map +1 -0
- package/packages/cli/dist/utils/daemon-checker.js +69 -0
- package/packages/cli/dist/utils/daemon-checker.js.map +1 -0
- package/packages/cli/dist/utils/daemon-endpoint.d.ts +7 -0
- package/packages/cli/dist/utils/daemon-endpoint.d.ts.map +1 -0
- package/packages/cli/dist/utils/daemon-endpoint.js +13 -0
- package/packages/cli/dist/utils/daemon-endpoint.js.map +1 -0
- package/packages/cli/dist/utils/get-configured-port.d.ts +43 -0
- package/packages/cli/dist/utils/get-configured-port.d.ts.map +1 -0
- package/packages/cli/dist/utils/get-configured-port.js +141 -0
- package/packages/cli/dist/utils/get-configured-port.js.map +1 -0
- package/packages/cli/dist/utils/stdio-bridge.d.ts +48 -0
- package/packages/cli/dist/utils/stdio-bridge.d.ts.map +1 -0
- package/packages/cli/dist/utils/stdio-bridge.js +181 -0
- package/packages/cli/dist/utils/stdio-bridge.js.map +1 -0
- package/packages/cli/package.json +48 -0
- package/packages/core/dist/config/defaults.d.ts +36 -0
- package/packages/core/dist/config/defaults.d.ts.map +1 -0
- package/packages/core/dist/config/defaults.js +324 -0
- package/packages/core/dist/config/defaults.js.map +1 -0
- package/packages/core/dist/config/index.d.ts +9 -0
- package/packages/core/dist/config/index.d.ts.map +1 -0
- package/packages/core/dist/config/index.js +14 -0
- package/packages/core/dist/config/index.js.map +1 -0
- package/packages/core/dist/config/loader.d.ts +269 -0
- package/packages/core/dist/config/loader.d.ts.map +1 -0
- package/packages/core/dist/config/loader.js +777 -0
- package/packages/core/dist/config/loader.js.map +1 -0
- package/packages/core/dist/config/registry.d.ts +212 -0
- package/packages/core/dist/config/registry.d.ts.map +1 -0
- package/packages/core/dist/config/registry.js +754 -0
- package/packages/core/dist/config/registry.js.map +1 -0
- package/packages/core/dist/config/schema.d.ts +4352 -0
- package/packages/core/dist/config/schema.d.ts.map +1 -0
- package/packages/core/dist/config/schema.js +267 -0
- package/packages/core/dist/config/schema.js.map +1 -0
- package/packages/core/dist/daemon.d.ts +7 -0
- package/packages/core/dist/daemon.d.ts.map +1 -0
- package/packages/core/dist/daemon.js +116 -0
- package/packages/core/dist/daemon.js.map +1 -0
- package/packages/core/dist/http-client-retry.d.ts +67 -0
- package/packages/core/dist/http-client-retry.d.ts.map +1 -0
- package/packages/core/dist/http-client-retry.js +133 -0
- package/packages/core/dist/http-client-retry.js.map +1 -0
- package/packages/core/dist/http-client-updated.d.ts +147 -0
- package/packages/core/dist/http-client-updated.d.ts.map +1 -0
- package/packages/core/dist/http-client-updated.js +452 -0
- package/packages/core/dist/http-client-updated.js.map +1 -0
- package/packages/core/dist/http-client.d.ts +207 -0
- package/packages/core/dist/http-client.d.ts.map +1 -0
- package/packages/core/dist/http-client.js +704 -0
- package/packages/core/dist/http-client.js.map +1 -0
- package/packages/core/dist/index.d.ts +13 -0
- package/packages/core/dist/index.d.ts.map +1 -0
- package/packages/core/dist/index.js +23 -0
- package/packages/core/dist/index.js.map +1 -0
- package/packages/core/dist/logging/index.d.ts +46 -0
- package/packages/core/dist/logging/index.d.ts.map +1 -0
- package/packages/core/dist/logging/index.js +74 -0
- package/packages/core/dist/logging/index.js.map +1 -0
- package/packages/core/dist/metrics/index.d.ts +339 -0
- package/packages/core/dist/metrics/index.d.ts.map +1 -0
- package/packages/core/dist/metrics/index.js +792 -0
- package/packages/core/dist/metrics/index.js.map +1 -0
- package/packages/core/dist/plugins/index.d.ts +49 -0
- package/packages/core/dist/plugins/index.d.ts.map +1 -0
- package/packages/core/dist/plugins/index.js +82 -0
- package/packages/core/dist/plugins/index.js.map +1 -0
- package/packages/core/dist/secrets/index.d.ts +6 -0
- package/packages/core/dist/secrets/index.d.ts.map +1 -0
- package/packages/core/dist/secrets/index.js +5 -0
- package/packages/core/dist/secrets/index.js.map +1 -0
- package/packages/core/dist/secrets/keyring.d.ts +54 -0
- package/packages/core/dist/secrets/keyring.d.ts.map +1 -0
- package/packages/core/dist/secrets/keyring.js +141 -0
- package/packages/core/dist/secrets/keyring.js.map +1 -0
- package/packages/core/dist/server/batch-executor.d.ts +83 -0
- package/packages/core/dist/server/batch-executor.d.ts.map +1 -0
- package/packages/core/dist/server/batch-executor.js +291 -0
- package/packages/core/dist/server/batch-executor.js.map +1 -0
- package/packages/core/dist/server/circuit-breaker.d.ts +215 -0
- package/packages/core/dist/server/circuit-breaker.d.ts.map +1 -0
- package/packages/core/dist/server/circuit-breaker.js +330 -0
- package/packages/core/dist/server/circuit-breaker.js.map +1 -0
- package/packages/core/dist/server/client-detection.d.ts +40 -0
- package/packages/core/dist/server/client-detection.d.ts.map +1 -0
- package/packages/core/dist/server/client-detection.js +242 -0
- package/packages/core/dist/server/client-detection.js.map +1 -0
- package/packages/core/dist/server/client-profiles.d.ts +102 -0
- package/packages/core/dist/server/client-profiles.d.ts.map +1 -0
- package/packages/core/dist/server/client-profiles.js +254 -0
- package/packages/core/dist/server/client-profiles.js.map +1 -0
- package/packages/core/dist/server/http.d.ts +386 -0
- package/packages/core/dist/server/http.d.ts.map +1 -0
- package/packages/core/dist/server/http.js +4253 -0
- package/packages/core/dist/server/http.js.map +1 -0
- package/packages/core/dist/server/index.d.ts +7 -0
- package/packages/core/dist/server/index.d.ts.map +1 -0
- package/packages/core/dist/server/index.js +6 -0
- package/packages/core/dist/server/index.js.map +1 -0
- package/packages/core/dist/server/manager.d.ts +458 -0
- package/packages/core/dist/server/manager.d.ts.map +1 -0
- package/packages/core/dist/server/manager.js +3255 -0
- package/packages/core/dist/server/manager.js.map +1 -0
- package/packages/core/dist/server/managers/HttpConnectionManager.d.ts +69 -0
- package/packages/core/dist/server/managers/HttpConnectionManager.d.ts.map +1 -0
- package/packages/core/dist/server/managers/HttpConnectionManager.js +214 -0
- package/packages/core/dist/server/managers/HttpConnectionManager.js.map +1 -0
- package/packages/core/dist/server/managers/ProcessManager.d.ts +128 -0
- package/packages/core/dist/server/managers/ProcessManager.d.ts.map +1 -0
- package/packages/core/dist/server/managers/ProcessManager.js +443 -0
- package/packages/core/dist/server/managers/ProcessManager.js.map +1 -0
- package/packages/core/dist/server/managers/SchemaCacheManager.d.ts +152 -0
- package/packages/core/dist/server/managers/SchemaCacheManager.d.ts.map +1 -0
- package/packages/core/dist/server/managers/SchemaCacheManager.js +426 -0
- package/packages/core/dist/server/managers/SchemaCacheManager.js.map +1 -0
- package/packages/core/dist/server/managers/index.d.ts +9 -0
- package/packages/core/dist/server/managers/index.d.ts.map +1 -0
- package/packages/core/dist/server/managers/index.js +9 -0
- package/packages/core/dist/server/managers/index.js.map +1 -0
- package/packages/core/dist/server/metrics.d.ts +134 -0
- package/packages/core/dist/server/metrics.d.ts.map +1 -0
- package/packages/core/dist/server/metrics.js +273 -0
- package/packages/core/dist/server/metrics.js.map +1 -0
- package/packages/core/dist/server/prompts.d.ts +58 -0
- package/packages/core/dist/server/prompts.d.ts.map +1 -0
- package/packages/core/dist/server/prompts.js +405 -0
- package/packages/core/dist/server/prompts.js.map +1 -0
- package/packages/core/dist/server/protocol-versions.d.ts +49 -0
- package/packages/core/dist/server/protocol-versions.d.ts.map +1 -0
- package/packages/core/dist/server/protocol-versions.js +173 -0
- package/packages/core/dist/server/protocol-versions.js.map +1 -0
- package/packages/core/dist/server/resources.d.ts +64 -0
- package/packages/core/dist/server/resources.d.ts.map +1 -0
- package/packages/core/dist/server/resources.js +243 -0
- package/packages/core/dist/server/resources.js.map +1 -0
- package/packages/core/dist/server/schema-store.d.ts +84 -0
- package/packages/core/dist/server/schema-store.d.ts.map +1 -0
- package/packages/core/dist/server/schema-store.js +234 -0
- package/packages/core/dist/server/schema-store.js.map +1 -0
- package/packages/core/dist/server/schema-validator.d.ts +51 -0
- package/packages/core/dist/server/schema-validator.d.ts.map +1 -0
- package/packages/core/dist/server/schema-validator.js +208 -0
- package/packages/core/dist/server/schema-validator.js.map +1 -0
- package/packages/core/dist/server/token-calculator.d.ts +44 -0
- package/packages/core/dist/server/token-calculator.d.ts.map +1 -0
- package/packages/core/dist/server/token-calculator.js +53 -0
- package/packages/core/dist/server/token-calculator.js.map +1 -0
- package/packages/core/dist/server/types.d.ts +45 -0
- package/packages/core/dist/server/types.d.ts.map +1 -0
- package/packages/core/dist/server/types.js +5 -0
- package/packages/core/dist/server/types.js.map +1 -0
- package/packages/core/dist/utils/file-lock.d.ts +73 -0
- package/packages/core/dist/utils/file-lock.d.ts.map +1 -0
- package/packages/core/dist/utils/file-lock.js +235 -0
- package/packages/core/dist/utils/file-lock.js.map +1 -0
- package/packages/core/package.json +36 -0
- package/packages/dashboard/dist/assets/index-B7hvkCMu.css +1 -0
- package/packages/dashboard/dist/assets/index-yZhLPpzr.js +1 -0
- package/packages/dashboard/dist/index.html +14 -0
- package/packages/dashboard/package.json +24 -0
- package/packages/shared/dist/version.d.ts +2 -0
- package/packages/shared/dist/version.d.ts.map +1 -0
- package/packages/shared/dist/version.js +2 -0
- package/packages/shared/dist/version.js.map +1 -0
- package/packages/shared/package.json +18 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server Manager - Handles spawning and managing MCP server processes and HTTP clients
|
|
3
|
+
*/
|
|
4
|
+
import { ChildProcess } from "child_process";
|
|
5
|
+
import { EventEmitter } from "events";
|
|
6
|
+
import { ServerConfig } from "../config/index.js";
|
|
7
|
+
import { ServerProcess, ServerState } from "./types.js";
|
|
8
|
+
import type { MetalinkConfig } from "../config/schema.js";
|
|
9
|
+
export interface ToolInfo {
|
|
10
|
+
name: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
inputSchema?: Record<string, unknown>;
|
|
13
|
+
inputExamples?: Array<Record<string, unknown>>;
|
|
14
|
+
annotations?: {
|
|
15
|
+
safety: "safe" | "risky";
|
|
16
|
+
safetyReason: string;
|
|
17
|
+
requiresConfirmation: boolean;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface ServerData {
|
|
21
|
+
process?: ChildProcess;
|
|
22
|
+
tools: ToolInfo[];
|
|
23
|
+
toolsReady: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Schema stability metrics for adaptive TTL
|
|
27
|
+
* Tracks how often a server's schema changes to optimize cache behavior
|
|
28
|
+
*/
|
|
29
|
+
export interface SchemaStabilityMetrics {
|
|
30
|
+
serverName: string;
|
|
31
|
+
refreshCount: number;
|
|
32
|
+
changeCount: number;
|
|
33
|
+
lastChangeTimestamp: number;
|
|
34
|
+
currentTTL: number;
|
|
35
|
+
stability: "stable" | "normal" | "unstable";
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* v1.1.8: Startup Mutex - Prevents race condition when multiple concurrent
|
|
39
|
+
* requests try to start the same server simultaneously
|
|
40
|
+
*/
|
|
41
|
+
export interface StartupMutexEntry {
|
|
42
|
+
promise: Promise<void>;
|
|
43
|
+
startTime: number;
|
|
44
|
+
callerCount: number;
|
|
45
|
+
}
|
|
46
|
+
export declare class ServerManager extends EventEmitter {
|
|
47
|
+
private processes;
|
|
48
|
+
private httpClients;
|
|
49
|
+
private state;
|
|
50
|
+
private healthCheckIntervals;
|
|
51
|
+
private activeServers;
|
|
52
|
+
private baseServers;
|
|
53
|
+
private baseServersEnabled;
|
|
54
|
+
private schemasCacheTTL;
|
|
55
|
+
private schemaStore;
|
|
56
|
+
private schemasBackgroundRefresh;
|
|
57
|
+
private backgroundRefreshInterval;
|
|
58
|
+
private readonly BACKGROUND_REFRESH_INTERVAL_MS;
|
|
59
|
+
private schemaStabilityMetrics;
|
|
60
|
+
private readonly ADAPTIVE_TTL_ENABLED;
|
|
61
|
+
private readonly TTL_STABLE;
|
|
62
|
+
private readonly TTL_NORMAL;
|
|
63
|
+
private readonly TTL_UNSTABLE;
|
|
64
|
+
private readonly STABILITY_WINDOW;
|
|
65
|
+
private readonly UNSTABLE_THRESHOLD;
|
|
66
|
+
private toolSchemaCache;
|
|
67
|
+
private discoveredServers;
|
|
68
|
+
private discoveryTimers;
|
|
69
|
+
private discoveryTTL;
|
|
70
|
+
private onToolsListChanged?;
|
|
71
|
+
private serverListProvider?;
|
|
72
|
+
private failedDiscoveryAttempts;
|
|
73
|
+
private readonly MAX_DISCOVERY_FAILURES;
|
|
74
|
+
private readonly DISCOVERY_FAILURE_BACKOFF_MS;
|
|
75
|
+
private startupMutex;
|
|
76
|
+
private configLoader?;
|
|
77
|
+
private circuitBreakerManager;
|
|
78
|
+
private processManager;
|
|
79
|
+
private httpConnectionManager;
|
|
80
|
+
private schemaCacheManager;
|
|
81
|
+
private autoRestartConfig;
|
|
82
|
+
private restartAttempts;
|
|
83
|
+
private stdoutBuffers;
|
|
84
|
+
private stdoutListeners;
|
|
85
|
+
private pendingRequests;
|
|
86
|
+
private requestIdCounters;
|
|
87
|
+
private timeouts;
|
|
88
|
+
/**
|
|
89
|
+
* Constructor - Initialize with configurable schema cache TTL and persistent storage
|
|
90
|
+
*/
|
|
91
|
+
constructor(config?: Partial<MetalinkConfig>);
|
|
92
|
+
/**
|
|
93
|
+
* Load cached schemas from disk into memory on startup
|
|
94
|
+
* Restores schemas across daemon restarts
|
|
95
|
+
*/
|
|
96
|
+
private loadSchemasFromDisk;
|
|
97
|
+
/**
|
|
98
|
+
* Calculate adaptive TTL based on schema stability
|
|
99
|
+
* Returns TTL in milliseconds
|
|
100
|
+
*/
|
|
101
|
+
private calculateAdaptiveTTL;
|
|
102
|
+
/**
|
|
103
|
+
* Classify stability level for logging
|
|
104
|
+
*/
|
|
105
|
+
private getStabilityLevel;
|
|
106
|
+
/**
|
|
107
|
+
* Detect if schema has changed (compare tool names and counts)
|
|
108
|
+
*/
|
|
109
|
+
private hasSchemaChanged;
|
|
110
|
+
/**
|
|
111
|
+
* Update stability metrics after refresh
|
|
112
|
+
*/
|
|
113
|
+
private updateStabilityMetrics;
|
|
114
|
+
/**
|
|
115
|
+
* Start background refresh interval
|
|
116
|
+
* Periodically refreshes schemas for servers near TTL expiration
|
|
117
|
+
*/
|
|
118
|
+
private startBackgroundRefresh;
|
|
119
|
+
/**
|
|
120
|
+
* Refresh schemas that are expiring soon (>80% of adaptive TTL)
|
|
121
|
+
* Only refreshes servers that are already running
|
|
122
|
+
*/
|
|
123
|
+
private refreshExpiredSchemas;
|
|
124
|
+
/**
|
|
125
|
+
* v1.3.72: Proactively discover schemas for servers without cache
|
|
126
|
+
* Starts servers one at a time to avoid overload, fetches schemas, then stops them
|
|
127
|
+
* Only discovers ONE server per refresh cycle to avoid overwhelming the system
|
|
128
|
+
*/
|
|
129
|
+
private discoverUncachedServers;
|
|
130
|
+
/**
|
|
131
|
+
* Start a server process (stdio or HTTP)
|
|
132
|
+
*/
|
|
133
|
+
startServer(config: ServerConfig): Promise<ServerProcess>;
|
|
134
|
+
/**
|
|
135
|
+
* Start a stdio-based server (spawns process)
|
|
136
|
+
*/
|
|
137
|
+
private startStdioServer;
|
|
138
|
+
/**
|
|
139
|
+
* Start an HTTP-based server (connects via HTTP client)
|
|
140
|
+
*/
|
|
141
|
+
private startHttpServer;
|
|
142
|
+
/**
|
|
143
|
+
* Stop a server process (stdio or HTTP)
|
|
144
|
+
*/
|
|
145
|
+
stopServer(serverName: string): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* Remove a server from the manager
|
|
148
|
+
* Stops the process if running and cleans up all associated state
|
|
149
|
+
* Called when a server is removed from the registry
|
|
150
|
+
*/
|
|
151
|
+
removeServer(serverName: string): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Restart a server
|
|
154
|
+
* v1.4.2: Clears schema cache to ensure fresh tool discovery
|
|
155
|
+
*/
|
|
156
|
+
restartServer(config: ServerConfig): Promise<ServerProcess>;
|
|
157
|
+
/**
|
|
158
|
+
* Invalidate schema cache for a server
|
|
159
|
+
* Forces fresh discovery on next access
|
|
160
|
+
* v1.4.2: Added to support force-refresh of tool lists
|
|
161
|
+
*/
|
|
162
|
+
invalidateServerSchema(serverName: string): void;
|
|
163
|
+
/**
|
|
164
|
+
* Force refresh schema for a server
|
|
165
|
+
* Invalidates cache and re-discovers tools from running server
|
|
166
|
+
* v1.4.2: Added to support force-refresh of tool lists
|
|
167
|
+
*/
|
|
168
|
+
forceRefreshSchema(serverName: string, config: ServerConfig): Promise<ToolInfo[]>;
|
|
169
|
+
/**
|
|
170
|
+
* Get server status
|
|
171
|
+
*/
|
|
172
|
+
getServerStatus(serverName: string): ServerProcess | undefined;
|
|
173
|
+
/**
|
|
174
|
+
* Get all server statuses
|
|
175
|
+
*/
|
|
176
|
+
getAllServers(): ServerState;
|
|
177
|
+
/**
|
|
178
|
+
* Start health check for a server
|
|
179
|
+
*/
|
|
180
|
+
private startHealthCheck;
|
|
181
|
+
/**
|
|
182
|
+
* Perform health check on a server
|
|
183
|
+
*/
|
|
184
|
+
private healthCheck;
|
|
185
|
+
/**
|
|
186
|
+
* Start health checks for HTTP server
|
|
187
|
+
*/
|
|
188
|
+
private startHttpHealthCheck;
|
|
189
|
+
/**
|
|
190
|
+
* Perform health check on an HTTP server
|
|
191
|
+
*/
|
|
192
|
+
private httpHealthCheck;
|
|
193
|
+
/**
|
|
194
|
+
* Handle server errors
|
|
195
|
+
*/
|
|
196
|
+
private handleServerError;
|
|
197
|
+
/**
|
|
198
|
+
* Handle server exit
|
|
199
|
+
*/
|
|
200
|
+
private handleServerExit;
|
|
201
|
+
/**
|
|
202
|
+
* Get tools for a server
|
|
203
|
+
* v1.3.60: Check both active servers AND schema cache (for stopped servers)
|
|
204
|
+
* v1.3.71: Also check disk cache for tools that persist across daemon restarts
|
|
205
|
+
*/
|
|
206
|
+
getServerTools(serverName: string): ToolInfo[];
|
|
207
|
+
/**
|
|
208
|
+
* Set tools for a server
|
|
209
|
+
* v1.3.62: Persist schemas to disk whenever tools are updated
|
|
210
|
+
*/
|
|
211
|
+
setServerTools(serverName: string, tools: ToolInfo[], process?: ChildProcess): void;
|
|
212
|
+
/**
|
|
213
|
+
* Get all active servers with their tools
|
|
214
|
+
*/
|
|
215
|
+
getActiveServers(): Map<string, ServerData>;
|
|
216
|
+
/**
|
|
217
|
+
* Get the process for a specific server
|
|
218
|
+
* Phase 5: Delegate to ProcessManager first, fallback to local map
|
|
219
|
+
*/
|
|
220
|
+
getProcess(serverName: string): ChildProcess | undefined;
|
|
221
|
+
/**
|
|
222
|
+
* Check if a server is currently active (running and tools loaded)
|
|
223
|
+
*/
|
|
224
|
+
isServerActive(serverName: string): boolean;
|
|
225
|
+
/**
|
|
226
|
+
* Wait for MCP initialization handshake to complete (without fetching tools)
|
|
227
|
+
*/
|
|
228
|
+
private waitForInitialization;
|
|
229
|
+
/**
|
|
230
|
+
* Fetch tools from a spawned MCP server via JSON-RPC (PUBLIC)
|
|
231
|
+
*/
|
|
232
|
+
fetchToolsFromProcess(childProcess: ChildProcess, serverName?: string): Promise<ToolInfo[]>;
|
|
233
|
+
/**
|
|
234
|
+
* Initialize base servers before daemon startup
|
|
235
|
+
* Starts all configured base servers unconditionally for immediate availability
|
|
236
|
+
*/
|
|
237
|
+
initializeBaseServers(configLoader: any): Promise<void>;
|
|
238
|
+
/**
|
|
239
|
+
* Check if base servers are enabled
|
|
240
|
+
*/
|
|
241
|
+
areBaseServersEnabled(): boolean;
|
|
242
|
+
/**
|
|
243
|
+
* Background population of missing schemas (v1.3.62)
|
|
244
|
+
* Compares registry servers with cached schemas and populates missing ones
|
|
245
|
+
* Runs in background, one server at a time, non-blocking
|
|
246
|
+
*/
|
|
247
|
+
populateMissingSchemas(configLoader: any): Promise<void>;
|
|
248
|
+
/**
|
|
249
|
+
* Get schema for a specific tool
|
|
250
|
+
* v1.1.47: Add disk fallback to match getServerTools() behavior
|
|
251
|
+
* This fixes the bug where CLI shows tools but MCP can't find them
|
|
252
|
+
*/
|
|
253
|
+
getToolSchema(serverName: string, toolName: string): ToolInfo | null;
|
|
254
|
+
/**
|
|
255
|
+
* Detect if arguments are missing when tool requires them
|
|
256
|
+
*/
|
|
257
|
+
detectMissingArguments(args: Record<string, unknown>, toolSchema: ToolInfo | null): boolean;
|
|
258
|
+
/**
|
|
259
|
+
* Detect and fix Raycast's malformed argument format
|
|
260
|
+
* Raycast sometimes wraps tool_name and server_name inside the arguments object
|
|
261
|
+
*/
|
|
262
|
+
detectAndFixRaycastFormat(args: Record<string, unknown>): Record<string, unknown>;
|
|
263
|
+
/**
|
|
264
|
+
* Phase 3: Set up response router for a server
|
|
265
|
+
* Listens to stdout, parses JSON-RPC responses, and matches them to pending requests
|
|
266
|
+
*/
|
|
267
|
+
private setupServerResponseRouter;
|
|
268
|
+
/**
|
|
269
|
+
* Phase 3: Clean up response router for a server
|
|
270
|
+
*/
|
|
271
|
+
private cleanupServerResponseRouter;
|
|
272
|
+
/**
|
|
273
|
+
* Phase 3: Call a tool on a server and wait for response
|
|
274
|
+
* Supports both stdio (process) and HTTP (httpClient) servers
|
|
275
|
+
*/
|
|
276
|
+
callTool(serverName: string, toolName: string, toolArgs: Record<string, unknown>): Promise<unknown>;
|
|
277
|
+
/**
|
|
278
|
+
* Discover tool schemas from a server with auto-start capability
|
|
279
|
+
* Uses cache (in-memory first, then disk) to avoid repeated restarts
|
|
280
|
+
* Auto-starts servers on first discovery (transparent to caller)
|
|
281
|
+
* Persists schemas to disk for faster discovery across daemon restarts
|
|
282
|
+
*/
|
|
283
|
+
discoverToolSchemas(serverName: string, config: ServerConfig): Promise<ToolInfo[]>;
|
|
284
|
+
/**
|
|
285
|
+
* Refresh schema for a specific server
|
|
286
|
+
* Used by discovery to keep schemas fresh
|
|
287
|
+
*/
|
|
288
|
+
private refreshSchemaForServer;
|
|
289
|
+
/**
|
|
290
|
+
* Ensure server is started, auto-starting if needed
|
|
291
|
+
* Used when direct tool call happens and server isn't running
|
|
292
|
+
*/
|
|
293
|
+
ensureServerStarted(serverName: string, config: ServerConfig): Promise<void>;
|
|
294
|
+
/**
|
|
295
|
+
* v1.1.8: Actual server startup logic (called only by first concurrent request)
|
|
296
|
+
* Other concurrent requests wait for this promise via mutex
|
|
297
|
+
*/
|
|
298
|
+
private performServerStartup;
|
|
299
|
+
/**
|
|
300
|
+
* Get discovered servers list
|
|
301
|
+
*/
|
|
302
|
+
getDiscoveredServers(): string[];
|
|
303
|
+
/**
|
|
304
|
+
* Get server tools from cache (if discovered)
|
|
305
|
+
*/
|
|
306
|
+
getServerToolsFromCache(serverName: string): ToolInfo[] | null;
|
|
307
|
+
/**
|
|
308
|
+
* Get circuit breaker metrics for a specific server
|
|
309
|
+
*
|
|
310
|
+
* @param serverName - Name of the server
|
|
311
|
+
* @returns Circuit breaker metrics or null if server not found
|
|
312
|
+
*/
|
|
313
|
+
getCircuitBreakerMetrics(serverName: string): import("./circuit-breaker.js").CircuitBreakerMetrics | null;
|
|
314
|
+
/**
|
|
315
|
+
* Get circuit breaker metrics for all servers
|
|
316
|
+
*
|
|
317
|
+
* @returns Array of metrics for all servers with circuit breakers
|
|
318
|
+
*/
|
|
319
|
+
getAllCircuitBreakerMetrics(): {
|
|
320
|
+
serverName: string;
|
|
321
|
+
metrics: import("./circuit-breaker.js").CircuitBreakerMetrics;
|
|
322
|
+
}[];
|
|
323
|
+
/**
|
|
324
|
+
* Manually reset circuit breaker for a server
|
|
325
|
+
*
|
|
326
|
+
* @param serverName - Name of the server
|
|
327
|
+
*/
|
|
328
|
+
resetCircuitBreaker(serverName: string): void;
|
|
329
|
+
/**
|
|
330
|
+
* Reset all circuit breakers
|
|
331
|
+
*/
|
|
332
|
+
resetAllCircuitBreakers(): void;
|
|
333
|
+
/**
|
|
334
|
+
* Set callback for tools/list changes (v1.4.0)
|
|
335
|
+
* Called when discovery expires
|
|
336
|
+
*/
|
|
337
|
+
setToolsListChangedCallback(callback: () => void): void;
|
|
338
|
+
/**
|
|
339
|
+
* v1.3.72: Set server list provider for proactive schema caching
|
|
340
|
+
* This allows background refresh to discover all servers, not just running ones
|
|
341
|
+
*/
|
|
342
|
+
setServerListProvider(provider: () => ServerConfig[]): void;
|
|
343
|
+
/**
|
|
344
|
+
* Phase 2: Set config loader for tool safety classification
|
|
345
|
+
*/
|
|
346
|
+
setConfigLoader(configLoader: any): void;
|
|
347
|
+
/**
|
|
348
|
+
* Phase 2: Classify tool safety level: 'safe' (auto-approve) or 'risky' (requires confirmation)
|
|
349
|
+
* Dynamic classification based on config rules
|
|
350
|
+
*
|
|
351
|
+
* @param serverName - Server name (e.g., "memory", "jira-basic-auth")
|
|
352
|
+
* @param toolName - Tool name (e.g., "create_entities", "search_issues")
|
|
353
|
+
* @returns Object with safety classification and reason
|
|
354
|
+
*/
|
|
355
|
+
classifyToolSafety(serverName: string, toolName: string, toolArguments?: Record<string, unknown>): {
|
|
356
|
+
safety: "safe" | "risky";
|
|
357
|
+
reason: string;
|
|
358
|
+
};
|
|
359
|
+
/**
|
|
360
|
+
* v1.1.50: Classify tool safety based on description analysis
|
|
361
|
+
* Analyzes tool description for keywords that indicate read-only vs modifying operations
|
|
362
|
+
*
|
|
363
|
+
* @param fullName - Full tool name (server:tool)
|
|
364
|
+
* @param description - Tool description to analyze
|
|
365
|
+
* @returns Safety classification or null if inconclusive
|
|
366
|
+
*/
|
|
367
|
+
private classifyByDescription;
|
|
368
|
+
/**
|
|
369
|
+
* v1.3.x: Resolve nested path in object (e.g., "params.path" -> obj.params.path)
|
|
370
|
+
*
|
|
371
|
+
* @param obj - Object to extract value from
|
|
372
|
+
* @param path - Dot-separated path (e.g., "params.path", "body.query.bool")
|
|
373
|
+
* @returns Value at path or undefined if not found
|
|
374
|
+
*/
|
|
375
|
+
private resolveNestedPath;
|
|
376
|
+
/**
|
|
377
|
+
* v1.1.29: Inspect tool arguments for command-level safety classification
|
|
378
|
+
* v1.3.x: Enhanced to support nested paths (e.g., "params.path")
|
|
379
|
+
*
|
|
380
|
+
* @param fullToolName - Full tool name (e.g., "ssh:runRemoteCommand")
|
|
381
|
+
* @param toolArguments - Arguments passed to the tool
|
|
382
|
+
* @param inspectionRules - Argument inspection rules from config
|
|
383
|
+
* @returns Safety classification result or null if no matching rule
|
|
384
|
+
*/
|
|
385
|
+
private inspectToolArguments;
|
|
386
|
+
/**
|
|
387
|
+
* Phase 2: Enrich tools with safety annotations
|
|
388
|
+
* Adds annotations field to each tool with safety classification
|
|
389
|
+
*
|
|
390
|
+
* @param serverName - Server name
|
|
391
|
+
* @param tools - Array of tools from server
|
|
392
|
+
* @returns Tools enriched with annotations
|
|
393
|
+
*/
|
|
394
|
+
private enrichToolsWithAnnotations;
|
|
395
|
+
/**
|
|
396
|
+
* Check if server is discovered (v1.4.0)
|
|
397
|
+
*/
|
|
398
|
+
isDiscovered(serverName: string): boolean;
|
|
399
|
+
/**
|
|
400
|
+
* Refresh discovery timer for active server (v1.4.0)
|
|
401
|
+
* Called on tool execution to keep active servers available
|
|
402
|
+
*/
|
|
403
|
+
refreshDiscoveryTimer(serverName: string): void;
|
|
404
|
+
/**
|
|
405
|
+
* Reset/start discovery timer (v1.4.0 - private)
|
|
406
|
+
* @param serverName Server to reset timer for
|
|
407
|
+
*/
|
|
408
|
+
private resetDiscoveryTimer;
|
|
409
|
+
/**
|
|
410
|
+
* Expire discovered server (v1.4.0 - private)
|
|
411
|
+
* Removes server from cache and notifies clients
|
|
412
|
+
*/
|
|
413
|
+
private expireDiscoveredServer;
|
|
414
|
+
/**
|
|
415
|
+
* Check if server has active requests (v1.4.0 - private)
|
|
416
|
+
* Simple heuristic: check if process started recently
|
|
417
|
+
*/
|
|
418
|
+
private hasActiveRequests;
|
|
419
|
+
/**
|
|
420
|
+
* Validate tool schemas and log warnings/suggestions
|
|
421
|
+
* v1.4.0: Schema validation for improved schema quality
|
|
422
|
+
*/
|
|
423
|
+
private validateToolSchemas;
|
|
424
|
+
/**
|
|
425
|
+
* Cleanup all servers
|
|
426
|
+
*/
|
|
427
|
+
cleanup(): Promise<void>;
|
|
428
|
+
/**
|
|
429
|
+
* Calculate exponential backoff delay for restart attempts
|
|
430
|
+
*/
|
|
431
|
+
private calculateBackoffDelay;
|
|
432
|
+
/**
|
|
433
|
+
* Schedule a server restart with exponential backoff
|
|
434
|
+
*/
|
|
435
|
+
private scheduleServerRestart;
|
|
436
|
+
/**
|
|
437
|
+
* Attempt to restart a failed server
|
|
438
|
+
*/
|
|
439
|
+
private attemptServerRestart;
|
|
440
|
+
/**
|
|
441
|
+
* Reset restart tracking for a server (called after successful restart)
|
|
442
|
+
*/
|
|
443
|
+
private resetRestartTracking;
|
|
444
|
+
/**
|
|
445
|
+
* Get restart status for a server (public API for monitoring)
|
|
446
|
+
*/
|
|
447
|
+
getRestartStatus(serverName: string): {
|
|
448
|
+
inProgress: boolean;
|
|
449
|
+
attemptCount: number;
|
|
450
|
+
nextRetryTime: number | null;
|
|
451
|
+
};
|
|
452
|
+
/**
|
|
453
|
+
* v1.1.27: Graceful shutdown - clean up all timers and stop all servers
|
|
454
|
+
* Call this method before process exit to prevent memory leaks and orphaned timers
|
|
455
|
+
*/
|
|
456
|
+
shutdown(): Promise<void>;
|
|
457
|
+
}
|
|
458
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/server/manager.ts"],"names":[],"mappings":"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"}
|