/** * MCP-réteg shared vokabulár (BFR-AM-003) — a domain-agnosztikus MCP-szerver-base + adaptor közös * típusai. Egy fájlban a szorosan összetartozó tool-/transport-típusok (`*.interface.ts` az * egy-export-per-file konvenció ismert kivétele a tightly-coupled shape-ekre). * * Boundary: a `DyNTS_McpToolDefinition` + a `DyNTS_Mcp_Adapter` egyetlen `registerTool` choke-pontot * ad — a hivatalos `@modelcontextprotocol/sdk` KIZÁRÓLAG az adaptor mögött él, így egy jövőbeli * transport-/SDK-csere NEM-breaking (csak az adaptor cserélődik, a `DyNTS_Mcp_Server_ServiceBase` + a * consumer-tool-ok változatlanok). A consumer a SAJÁT tool-jait regisztrálja (a bedrock NEM definiál * domain-tool-okat — csak a server-base + a transport + a registry). */ /** * Egy JSON-schema fragment (a tool input-schema-jának típusa). Szabad-formájú JSON-objektum (a * draft-07 / MCP tool-schema dialektusa); a `properties`/`required`/`type` mezők gyakoriak, de a * shape nem kényszerített (az MCP-kliens a `tools/list`-ben kapja vissza, ahogy van). */ export interface DyNTS_Mcp_JsonSchema { /** A JSON-schema gyökér-típusa (a tool input-ja jellemzően `object`). */ type: string; /** A property-leírások (kulcs → al-schema). */ properties?: { [key: string]: DyNTS_Mcp_JsonSchema; }; /** Kötelező property-nevek. */ required?: string[]; /** Array-elem schema (`type: 'array'` esetén). */ items?: DyNTS_Mcp_JsonSchema; /** Enum-értékek (string/number/boolean literál-halmaz). */ enum?: (string | number | boolean)[]; /** Emberi leírás (a tool-választáshoz; az LLM ezt olvassa). */ description?: string; /** Default érték (a kliens-hint). */ default?: unknown; /** Engedi-e a nem-leírt property-ket (`object` schema-n). */ additionalProperties?: boolean; /** Beágyazott `oneOf`/`anyOf` alternatívák. */ oneOf?: DyNTS_Mcp_JsonSchema[]; } /** * Egy MCP tool-handler kimenete (a transport-agnosztikus core ezt adja; az adaptor MCP-tool-result-tá * fordítja). A `data` a strukturált JSON-payload; az `isError` jelzi a strukturált hibát — a néma * hiba TILOS (a hiba MINDIG `isError:true` payload VAGY dobott exception, amit az adaptor egységesen * `isError`-re fordít). */ export interface DyNTS_Mcp_ToolOutcome { /** A strukturált eredmény-payload (a tool output-shape JSON-ja). */ data: unknown; /** `true`, ha a kimenet strukturált hiba — az adaptor `isError`-re fordítja. */ isError?: boolean; } /** * Egy tool-handler aláírása. Az `args` a nyers tool-argumentumok (JSON); a handler a saját * input-shape-jére validál + a `DyNTS_Mcp_ToolOutcome`-ot adja. A hibát NEM nyeli el (strukturált * hiba-payload `isError:true`-val VAGY dobott exception, amit az adaptor egységes MCP-error-ré fordít). */ export type DyNTS_Mcp_ToolHandler = (args: unknown) => Promise; /** * Egy MCP tool-definíció (a `registerTool` egységes shape-je). A consumer ezt a shape-et használja az * advertised halmazba (`name`+`description`+`inputSchema`+`handler`). A `tools/list` a regisztrált * tool-ok `name`/`description`/`inputSchema`-ját hirdeti. */ export interface DyNTS_Mcp_ToolDefinition { /** A tool neve (a `tools/list`-ben + a `tools/call` dispatch-kulcsa — UNIK kell legyen). */ name: string; /** Agent-barát leírás (mikor melyik tool; az LLM ezt olvassa a tool-választáshoz). */ description: string; /** A tool input JSON-schema-ja (a `tools/list` ezt hirdeti). */ inputSchema: DyNTS_Mcp_JsonSchema; /** A handler (a transport-agnosztikus core-logika). */ handler: DyNTS_Mcp_ToolHandler; } /** * Az MCP-szerver identitása (a SDK `serverInfo`-ja). A `name`/`version` a kliensnek hirdetett. */ export interface DyNTS_Mcp_ServerInfo { /** A szerver neve (a kliensnek hirdetett `serverInfo.name`). */ name: string; /** A szerver verziója (a kliensnek hirdetett `serverInfo.version`). */ version: string; } /** * A támogatott transport-fajták. MVP: `stdio` (a JSON-RPC a stdin/stdout-on). A `start({transport})` * ezzel választ — egy jövőbeli transport (pl. `http`/`sse`) NON-breaking módon bővíthető (csak az * adaptor `start`-ja kap új ágat; a server-base + a tool-ok változatlanok). */ export type DyNTS_Mcp_TransportKind = 'stdio'; /** * A `start()` opciói. A `transport` választja a csatornát (default `stdio`). */ export interface DyNTS_Mcp_StartOptions { /** A transport-csatorna (default `stdio`). */ transport?: DyNTS_Mcp_TransportKind; } /** * Egy MCP `tools/call` strukturált eredménye (a transport-payload shape-je). Az adaptor ezt termeli; * a `content` egy text-JSON blokk, az `isError` a strukturált-hiba jelzés. Ez a SDK * `CallToolResult`-tal wire-kompatibilis al-shape (a SDK-t az adaptor izolálja, ezért itt a saját, * SDK-független shape él). */ export interface DyNTS_Mcp_CallResult { /** A tartalom-blokkok (MVP: egyetlen `text`-JSON blokk). */ content: { type: 'text'; text: string; }[]; /** `true`, ha a hívás strukturált hibával végződött (no-silent-failure). */ isError?: boolean; } //# sourceMappingURL=dynts-mcp.interface.d.ts.map