import { z } from 'zod'; /** * Shared validation schemas for Second Opinion Agent responses * * CRITICAL: These validators enforce the contract that the frontend depends on. * Second opinion responses must include: * - Primary model response * - Secondary model opinions * - Synthesis combining all insights * - Assistant message with metadata * * Usage: * - Backend: Validate responses before returning to MCP clients * - Frontend: Validate responses after parsing from API * - Tests: Assert on response structure */ export declare const ModelOpinionSchema: z.ZodObject<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; export declare const SynthesisSchema: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; export declare const ConversationPersistenceStatusSchema: z.ZodObject<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>; export declare const SecondOpinionResultSchema: z.ZodObject<{ primary: z.ZodObject<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodNullable; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; conversationId: z.ZodString; conversationCreated: z.ZodOptional; conversationTitle: z.ZodOptional>; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; assistantMessage: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; conversationId: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; conversationId: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; latency: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ totalMs: z.ZodNumber; primary: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ totalMs: z.ZodNumber; primary: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingLog: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ timestamp: z.ZodNumber; thought: z.ZodString; type: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ timestamp: z.ZodNumber; thought: z.ZodString; type: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ primary: z.ZodObject<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodNullable; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; conversationId: z.ZodString; conversationCreated: z.ZodOptional; conversationTitle: z.ZodOptional>; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; assistantMessage: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; conversationId: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; conversationId: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; latency: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ totalMs: z.ZodNumber; primary: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ totalMs: z.ZodNumber; primary: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingLog: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ timestamp: z.ZodNumber; thought: z.ZodString; type: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ timestamp: z.ZodNumber; thought: z.ZodString; type: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ primary: z.ZodObject<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodNullable; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; conversationId: z.ZodString; conversationCreated: z.ZodOptional; conversationTitle: z.ZodOptional>; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; assistantMessage: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodString; conversationId: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodString; conversationId: z.ZodOptional; role: z.ZodEnum<["user", "assistant", "system", "tool", "function"]>; content: z.ZodString; userId: z.ZodOptional; sequence: z.ZodOptional; createdAt: z.ZodString; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ title: z.ZodString; url: z.ZodString; snippet: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; synthesis?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough"> | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodOptional; assistantMessageSaved: z.ZodOptional; userMessageId: z.ZodOptional>; assistantMessageId: z.ZodOptional>; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; metadata: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ secondOpinion: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>; secondaryOpinions: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">>, "many">>; synthesis: z.ZodObject<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ model: z.ZodString; response: z.ZodString; modelId: z.ZodOptional; modelDisplayName: z.ZodOptional; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; cost: z.ZodOptional; sources: z.ZodOptional>; error: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectOutputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }, { primary: { model: string; response: string; tokensUsed?: number | undefined; latencyMs?: number | undefined; citations?: { url: string; title: string; snippet?: string | undefined; }[] | undefined; } & { [k: string]: unknown; }; synthesis: { model: string; response: string; error?: boolean | undefined; cost?: number | undefined; tokensUsed?: number | undefined; latencyMs?: number | undefined; modelId?: string | undefined; modelDisplayName?: string | undefined; sources?: any[] | undefined; } & { [k: string]: unknown; }; secondaryOpinions?: z.objectInputType<{ model: z.ZodString; response: z.ZodString; tokensUsed: z.ZodOptional; latencyMs: z.ZodOptional; citations: z.ZodOptional; }, "strip", z.ZodTypeAny, { url: string; title: string; snippet?: string | undefined; }, { url: string; title: string; snippet?: string | undefined; }>, "many">>; }, z.ZodTypeAny, "passthrough">[] | undefined; }>>; persistenceStatus: z.ZodOptional; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ userMessageSaved: z.ZodBoolean; assistantMessageSaved: z.ZodBoolean; userMessageId: z.ZodNullable; assistantMessageId: z.ZodNullable; error: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>>; }, z.ZodTypeAny, "passthrough">>>; latency: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ totalMs: z.ZodNumber; primary: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ totalMs: z.ZodNumber; primary: z.ZodOptional; secondary: z.ZodOptional; synthesis: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; thinkingLog: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ timestamp: z.ZodNumber; thought: z.ZodString; type: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ timestamp: z.ZodNumber; thought: z.ZodString; type: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>, "many">>; }, z.ZodTypeAny, "passthrough">>; /** * Validate agent.second_opinion response * * CRITICAL: This will FAIL if the response is missing required fields or * if metadata is not properly structured. This is intentional - it should * drive fixing the backend to return complete, properly structured responses. */ export declare function validateSecondOpinionResponse(response: unknown): z.infer; /** * Validate that assistant message metadata includes second opinion data * * This is critical for the frontend to display second opinion details after * retrieving the message from conversation history. */ export declare function validateAssistantMetadata(message: unknown): void; /** * Type exports for TypeScript consumers */ export type ModelOpinion = z.infer; export type Synthesis = z.infer; export type ConversationPersistenceStatus = z.infer; export type SecondOpinionResult = z.infer; //# sourceMappingURL=secondOpinionValidators.d.ts.map