34
* Pure factory — no SDK loading, no I/O.
35
*/
37
>
snapshot: readonly ToolDefinition[],
38
>
awaitResult: (toolUseId: string) => Promise<CallToolResult>,
39
>
sdk: IClaudeAgentSdkService
40
>
): Promise<McpSdkServerConfigWithInstance> {
41
>
const tools = await Promise.all(snapshot.map(def => sdk.tool(
42
>
def.name,
43
>
def.description ?? '',
44
>
jsonSchemaToZodRawShape(def.inputSchema),
45
>
async (_args, extra) => {
46
const toolUseId = extractToolUseId(extra);
47
if (toolUseId === undefined) {