#!/usr/bin/env node /** * MCP Test Client - Automated testing for Photon MCPs * * Spawns MCP servers, sends protocol messages, validates responses */ interface MCPResponse { jsonrpc: '2.0'; id: number | string; result?: any; error?: { code: number; message: string; data?: any; }; } interface TestCase { name: string; method: string; params?: any; validate: (response: MCPResponse) => boolean | string; } export declare class MCPTestClient { private process?; private requestId; private pendingRequests; start(command: string, args: string[], env?: Record): Promise; send(method: string, params?: any): Promise; initialize(serverInfo?: { name: string; version: string; }): Promise; listTools(): Promise; callTool(name: string, args?: any): Promise; runTests(tests: TestCase[]): Promise<{ passed: number; failed: number; errors: string[]; }>; shutdown(): Promise; } export declare const validators: { hasResult: (response: MCPResponse) => true | "Response missing result field"; hasError: (response: MCPResponse) => true | "Response missing error field"; matchesPattern: (pattern: RegExp, field?: string) => (response: MCPResponse) => string | true; hasField: (field: string) => (response: MCPResponse) => string | true; equals: (expected: any, field?: string) => (response: MCPResponse) => string | true; custom: (fn: (result: any) => boolean | string) => (response: MCPResponse) => string | boolean; and: (...validators: Array<(response: MCPResponse) => boolean | string>) => (response: MCPResponse) => string | boolean; }; export {}; //# sourceMappingURL=test-client.d.ts.map