/** * Canonical MCP Response Examples * * Type-safe test fixtures for validating MCP tool responses. * These serve as the single source of truth for expected response structures. * * Usage: * - Import in smoke tests for response drift detection * - Import in backend unit/integration tests for validation * - TypeScript compiler enforces type safety against actual response types * * @see scripts/mcp-ci-tests.mjs - Uses these for canonical schema validation */ /** * Canonical example for conversation.send-message response * * Structure matches ConversationMessageResponse from backend types. * This is the expected response when sending a message to start or continue a conversation. */ export declare const CONVERSATION_SEND_MESSAGE_EXAMPLE: { readonly message: { readonly id: "msg-user-1"; readonly conversationId: "conv-canonical"; readonly content: "Hello from canonical schema"; readonly role: "user"; readonly userId: "user-123"; readonly sequence: 0; readonly createdAt: "2025-01-01T00:00:00.000Z"; readonly metadata: {}; }; readonly created: true; readonly conversationId: "conv-canonical"; readonly messageId: "msg-user-1"; readonly sequence: 0; readonly title: "Test Conversation"; readonly assistantMessage: { readonly id: "msg-assistant-1"; readonly conversationId: "conv-canonical"; readonly content: "Sample assistant reply"; }; }; /** * Canonical example for conversation.get-history response * * Structure matches ConversationHistoryResponse from backend types. * This is the expected response when fetching conversation history. * * NOTE: Based on actual backend response (verified 2025-11-12). * The history object does NOT include title, createdAt, or lastMessageAt at the top level. */ export declare const CONVERSATION_GET_HISTORY_EXAMPLE: { readonly history: { readonly conversationId: "conv-canonical"; readonly messages: readonly [{ readonly id: "msg-user-1"; readonly content: "Hello from canonical schema"; readonly role: "user"; readonly userId: "user-123"; readonly sequence: 0; readonly createdAt: "2025-01-01T00:00:00.000Z"; readonly metadata: {}; }, { readonly id: "msg-assistant-1"; readonly content: "Hi there"; readonly role: "assistant"; readonly userId: "user-123"; readonly sequence: 1; readonly createdAt: "2025-01-01T00:00:01.000Z"; readonly metadata: {}; }]; readonly hasMore: false; readonly nextCursor: null; readonly messageCount: 2; }; }; /** * All canonical examples indexed by tool name * * Keys match MCP tool names (e.g., 'conversation.send-message') */ export declare const CANONICAL_EXAMPLES: { readonly 'conversation.send-message': { readonly message: { readonly id: "msg-user-1"; readonly conversationId: "conv-canonical"; readonly content: "Hello from canonical schema"; readonly role: "user"; readonly userId: "user-123"; readonly sequence: 0; readonly createdAt: "2025-01-01T00:00:00.000Z"; readonly metadata: {}; }; readonly created: true; readonly conversationId: "conv-canonical"; readonly messageId: "msg-user-1"; readonly sequence: 0; readonly title: "Test Conversation"; readonly assistantMessage: { readonly id: "msg-assistant-1"; readonly conversationId: "conv-canonical"; readonly content: "Sample assistant reply"; }; }; readonly 'conversation.get-history': { readonly history: { readonly conversationId: "conv-canonical"; readonly messages: readonly [{ readonly id: "msg-user-1"; readonly content: "Hello from canonical schema"; readonly role: "user"; readonly userId: "user-123"; readonly sequence: 0; readonly createdAt: "2025-01-01T00:00:00.000Z"; readonly metadata: {}; }, { readonly id: "msg-assistant-1"; readonly content: "Hi there"; readonly role: "assistant"; readonly userId: "user-123"; readonly sequence: 1; readonly createdAt: "2025-01-01T00:00:01.000Z"; readonly metadata: {}; }]; readonly hasMore: false; readonly nextCursor: null; readonly messageCount: 2; }; }; }; /** * Type helper to get the canonical example for a tool */ export type CanonicalExample = typeof CANONICAL_EXAMPLES[T]; //# sourceMappingURL=canonicalExamples.d.ts.map