import { DyNTS_Mcp_CallResult, DyNTS_Mcp_ServerInfo, DyNTS_Mcp_ToolDefinition } from '../_models/interfaces/dynts-mcp.interface'; /** * `DyNTS_Mcp_Adapter` (BFR-AM-003) — a hivatalos `@modelcontextprotocol/sdk` köré épített **vékony * adaptor-réteg**. EZ az EGYETLEN hely a `/mcp` submodule-ban, ahol a SDK-típusok megjelennek — a * `DyNTS_Mcp_Server_ServiceBase` + a consumer tool-jai SDK-mentesek, így egy jövőbeli transport-/SDK-csere * NON-breaking (csak ez az osztály cserélődik). * * Felelősség (3 dolog, semmi domain-logika): * 1. EGY `registerTool` choke-pont (a tool-name → def map), * 2. a `tools/list` + `tools/call` JSON-RPC handler bekötése a SDK-szerverre, * 3. egységes hiba-fordítás: a tool-handler dobott hibája (vagy `isError:true` outcome-ja) * strukturált `CallToolResult { isError:true }`-tá fordul — SOHA nem néma, SOHA nem crash. * * **stdio-konvenció:** a stdout a JSON-RPC csatorna — az adaptor maga SEMMIT nem ír a stdout-ra a * transport-payload-on kívül (minden log/diag a hívó App felelőssége, stderr-re). */ export declare class DyNTS_Mcp_Adapter { /** A SDK MCP-szerver (a transport-agnosztikus protocol-réteg). */ private readonly server; /** A regisztrált tool-definíciók `name` → def map-je (a `tools/call` dispatch-hez). */ private readonly tools; constructor(set: DyNTS_Mcp_ServerInfo); /** * Az EGYETLEN tool-regisztrációs choke-pont. A regisztrált tool-ok hirdetődnek a `tools/list`-ben * és dispatch-elhetők a `tools/call`-on. Az azonos nevű ismételt regisztráció felülír (last-wins). */ registerTool(definition: DyNTS_Mcp_ToolDefinition): void; /** A hirdetett (regisztrált) tool-nevek (a contract/diszjunkció-teszthez). */ getAdvertisedToolNames(): string[]; /** * A stdio transport csatlakoztatása + a szerver indítása. A `connect` után a `tools/list` a * regisztrált tool-okat hirdeti. A boot-üzenetek a stderr-en (a hívó App felel). */ startStdio(): Promise; /** A szerver leállítása (graceful close — teszt-/shutdown-úthoz). */ close(): Promise; /** * Egy tool-hívás KÖZVETLEN dispatch-elése (a transport-megkerülésével) — a contract/registry-teszt * ezt hívja a stdio-szerver indítása nélkül. Ugyanaz a logika fut, mint a SDK `tools/call`-on: * ismeretlen tool → strukturált hiba; handler-hiba → `isError:true` fordítás. */ dispatchToolCall(set: { name: string; arguments?: unknown; }): Promise; /** A `tools/list` és a `tools/call` JSON-RPC handler bekötése a SDK-szerverre. */ private installHandlers; /** Egy sikeres (vagy strukturált-hiba) handler-outcome → `CallToolResult` (text-JSON content). */ private toCallResult; /** Egy hiba → `CallToolResult { isError:true }` strukturált hiba-payload-dal (soha nem néma). */ private errorResult; /** Egy hiba ember-olvasható üzenete (DyFM_Error → message; Error → message; egyéb → fallback). */ private describeError; /** JSON-stringify (a transport text-content payload-ja); szerializálás-hiba → strukturált hiba. */ private stringify; } //# sourceMappingURL=dynts-mcp.adapter.d.ts.map