#!/usr/bin/env node import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { type SseSubscription } from './sse-progress-client.js'; import { type RequestContext } from './request-context.js'; /** * 把一段(可能 malformed)的字符串尝试解析为 JSON array. * * 防御链: * 1. 标准 JSON.parse * 2. 若失败, 试一次 "截到最后一个 ]" 修复 (agent 有时会在有效 JSON 后追加注释/闲话) * 3. 还失败 → 返回精确失败位置 + 错误区域文本节选, 让 agent 能看见自己哪里错 * * 返回: { ok: true, value: T[] } | { ok: false, message: string } */ export declare function parseTolerantJsonArray(s: string): { ok: true; value: unknown[]; } | { ok: false; message: string; }; /** 测试用 — 暴露内部 map 以便 smoke test 清理残留. */ export declare function __getActiveProgressSubs(): Map; type ToolContextProvider = (extra: { authInfo?: { token?: string; }; } | undefined) => RequestContext; /** * 构造一个注册了所有工具的 McpServer。 * 工具回调在运行时调用 getCtx(extra) 拿到 per-request RequestContext。 */ declare function buildMcpServer(getCtx: ToolContextProvider): McpServer; export { buildMcpServer }; export { globalConvStore } from './request-context.js'; export type { RequestContext } from './request-context.js'; export type { ToolContextProvider }; export declare function main(): Promise; //# sourceMappingURL=server.d.ts.map