import { MCPServerConfiguration } from "./config/index.js"; import { BaseClientManager } from "./confluent/base-client-manager.js"; import { OAuthHolder } from "./confluent/oauth/oauth-holder.js"; import { ToolName } from "./confluent/tools/tool-name.js"; /** * Aggregate of all runtime state threaded through the server. * * Carries config and per-connection client managers. */ export declare class ServerRuntime { readonly config: MCPServerConfiguration; readonly clientManagers: Record; /** * The active OAuth holder when any connection in the config has `type === "oauth"`. * Constructed by {@link ServerRuntime.fromConfig}; `undefined` on api_key paths. * Construction is side-effect-free — PKCE runs lazily on the first * `holder.ensureLoggedIn()` call, which the MCP tool-call wrapper invokes * before any handler that needs Confluent access. */ readonly oauthHolder: OAuthHolder | undefined; /** * Tool names the operator's allow/block-list left enabled, or `undefined` * when no list was configured (all tools allowed — cli.ts's default-on * behavior). The `undefined`-means-unfiltered sentinel is this class's own * business: callers ask {@link isToolAllowed} rather than branching on it. */ private readonly allowedToolNames; constructor(config: MCPServerConfiguration, clientManagers: Record, oauthHolder?: OAuthHolder | undefined, allowedToolNames?: ReadonlySet | undefined); /** * Whether the operator's allow/block-list leaves `name` invokable. Always * `true` when no list was configured. The single source of truth for the * operator filter, shared by tool registration and the `list-configured-connections` * tool so the advertised set and the reported set can never diverge. */ isToolAllowed(name: ToolName): boolean; /** * Disconnect every per-connection client manager — the teardown counterpart * to the per-connection construction in {@link fromConfig}. */ disconnectAll(): Promise; static fromConfig(config: MCPServerConfiguration, allowedToolNames?: ReadonlySet | undefined): ServerRuntime; } //# sourceMappingURL=server-runtime.d.ts.map