import { Server } from "@modelcontextprotocol/sdk/server/index.js"; /** Testing-only: reset the piggyback counter between test runs. */ export declare function _resetPiggybackCounterForTests(): void; /** * v2.3.0 Part B.2 — surface-shaping. * * Every MCP tool declares a feature bundle. Profiles (written into * config.json by `relay init --profile`) list the bundles they expose; * tools outside those bundles are filtered out of `tools/list` and * rejected at call time with TOOL_NOT_AVAILABLE + a hint pointing at * the profile that would expose them. * * Bundle list (authoritative; mirrors the federation design notes): * core — identity + messaging + tasks + status + health + peek * webhooks — webhook registration/list/delete * channels — channel primitives * admin — token rotate/revoke, dashboard theme, spawn, cap expand * managed-agents — managed-agent standup synthesis * federation — reserved for v2.3.x hub/edge (empty in v2.3.0) * * A tool that doesn't appear here is a hard bug (new tool forgot to * claim a bundle). The surface-shaping filter treats unknown tools as * "core" by default so we fail open on a drift rather than silently * hiding functional tools — the CI surface-shape test asserts every * tool IS in this map. */ export declare const TOOL_BUNDLES: Record; export declare function isToolVisible(toolName: string, bundles: string[], hiddenList?: string[]): boolean; /** * v2.3.0 Part B.2 — resolve the active feature bundles + hidden list from * config. Falls back to all-bundles-visible when the config is pre-v2.3.0 * (no profile field → no shaping applied). Deliberately permissive to * avoid breaking existing installs on upgrade. */ export declare function resolveSurfaceShape(): { bundles: string[]; hidden: string[]; }; export declare function createServer(): Server; //# sourceMappingURL=server.d.ts.map