/** * Canonical JSON schemas for AI Universe MCP API contracts * * These schemas define the authoritative API contract for MCP operations. * All implementations (backend, frontend, tests) must validate against these schemas. */ import agentSecondOpinionSchema from './agent.second-opinion.schema.json'; import conversationDeleteSchema from './conversation.delete.schema.json'; import conversationGetHistorySchema from './conversation.get-history.schema.json'; import conversationHealthSchema from './conversation.health.schema.json'; import conversationListSchema from './conversation.list.schema.json'; import conversationSendMessageSchema from './conversation.send-message.schema.json'; /** * Canonical JSON schemas as parsed objects */ export declare const schemas: { readonly agentSecondOpinion: { $schema: string; $id: string; title: string; description: string; type: string; required: string[]; properties: { conversationId: { type: string; minLength: number; description: string; }; conversationCreated: { type: string; description: string; }; conversationTitle: { type: string[]; description: string; }; primary: { $ref: string; description: string; }; secondaryOpinions: { type: string; items: { $ref: string; }; description: string; }; synthesis: { oneOf: ({ $ref: string; type?: undefined; } | { type: string; $ref?: undefined; })[]; description: string; }; userMessageId: { type: string[]; description: string; }; assistantMessageId: { type: string[]; description: string; }; persistenceStatus: { $ref: string; description: string; }; assistantMessage: { $ref: string; description: string; }; metadata: { type: string; required: string[]; properties: { secondOpinion: { type: string; required: string[]; properties: { primary: { $ref: string; }; secondaryOpinions: { type: string; items: { $ref: string; }; }; synthesis: { $ref: string; }; summary: { $ref: string; }; }; }; }; description: string; }; summary: { $ref: string; description: string; }; }; definitions: { modelOpinion: { type: string; required: string[]; properties: { model: { type: string; minLength: number; description: string; }; modelId: { type: string; description: string; }; modelDisplayName: { type: string; description: string; }; response: { type: string; description: string; }; tokensUsed: { type: string; minimum: number; description: string; }; latencyMs: { type: string; minimum: number; description: string; }; cost: { type: string; minimum: number; description: string; }; citations: { type: string; items: { type: string; required: string[]; properties: { title: { type: string; }; url: { type: string; format: string; }; snippet: { type: string; }; }; }; description: string; }; error: { type: string; description: string; }; }; additionalProperties: boolean; }; synthesis: { type: string; required: string[]; properties: { model: { type: string; minLength: number; description: string; }; modelId: { type: string; description: string; }; modelDisplayName: { type: string; description: string; }; response: { type: string; minLength: number; description: string; }; tokensUsed: { type: string; minimum: number; }; latencyMs: { type: string; minimum: number; }; cost: { type: string; minimum: number; }; sources: { type: string; items: boolean; description: string; }; error: { type: string; }; }; additionalProperties: boolean; }; summary: { type: string; properties: { totalModels: { type: string; minimum: number; description: string; }; totalTokens: { type: string; minimum: number; description: string; }; totalCost: { type: string; minimum: number; description: string; }; totalLatencyMs: { type: string; minimum: number; description: string; }; }; }; persistenceStatus: { type: string; required: string[]; properties: { userMessageSaved: { type: string; }; assistantMessageSaved: { type: string; }; userMessageId: { type: string[]; }; assistantMessageId: { type: string[]; }; error: { type: string[]; }; }; additionalProperties: boolean; }; conversationMessage: { type: string; required: string[]; properties: { id: { type: string; minLength: number; }; content: { type: string; }; role: { type: string; enum: string[]; }; sequence: { type: string; minimum: number; }; createdAt: { type: string; format: string; }; metadata: { type: string; additionalProperties: boolean; }; }; }; }; }; readonly conversationDelete: { $schema: string; title: string; type: string; required: string[]; properties: { conversationId: { type: string; minLength: number; }; deleted: { type: string; }; unsupported: { type: string[]; }; }; additionalProperties: boolean; }; readonly conversationGetHistory: { $schema: string; title: string; type: string; required: string[]; properties: { history: { type: string; required: string[]; properties: { conversationId: { type: string; minLength: number; }; messages: { type: string; items: { $ref: string; }; }; hasMore: { type: string[]; }; nextCursor: { type: string[]; }; messageCount: { type: string[]; minimum: number; }; }; additionalProperties: boolean; }; }; additionalProperties: boolean; definitions: { conversationMessage: { type: string; required: string[]; properties: { id: { type: string; minLength: number; }; conversationId: { type: string; minLength: number; }; content: { type: string; }; role: { type: string; enum: string[]; }; userId: { type: string[]; }; sequence: { type: string; minimum: number; }; createdAt: { type: string; format: string; }; metadata: { $ref: string; }; }; additionalProperties: boolean; }; messageMetadata: { type: string; properties: { secondOpinion: { type: string; required: string[]; properties: { primary: { $ref: string; }; secondaryOpinions: { type: string; items: { $ref: string; }; }; synthesis: { $ref: string; }; }; additionalProperties: boolean; }; persistenceStatus: { $ref: string; }; }; additionalProperties: boolean; }; modelOpinion: { type: string; required: string[]; properties: { model: { type: string; minLength: number; }; response: { type: string; }; tokensUsed: { type: string; minimum: number; }; latencyMs: { type: string; minimum: number; }; citations: { type: string; items: { type: string; required: string[]; properties: { title: { type: string; }; url: { type: string; format: string; }; snippet: { type: string; }; }; additionalProperties: boolean; }; }; }; additionalProperties: boolean; }; synthesis: { type: string; required: string[]; properties: { model: { type: string; minLength: number; }; response: { type: string; minLength: number; }; modelId: { type: string; }; modelDisplayName: { type: string; }; tokensUsed: { type: string; minimum: number; }; latencyMs: { type: string; minimum: number; }; cost: { type: string; }; sources: { type: string; items: {}; }; error: { type: string; }; }; additionalProperties: boolean; }; persistenceStatus: { type: string; properties: { userMessageSaved: { type: string; }; assistantMessageSaved: { type: string; }; userMessageId: { type: string[]; }; assistantMessageId: { type: string[]; }; error: { type: string[]; }; }; additionalProperties: boolean; }; }; }; readonly conversationHealth: { $schema: string; title: string; type: string; required: string[]; properties: { status: { type: string; }; service: { type: string; }; version: { type: string; }; }; additionalProperties: boolean; }; readonly conversationList: { $schema: string; title: string; type: string; required: string[]; properties: { conversations: { type: string; items: { $ref: string; }; }; cursor: { type: string[]; }; }; additionalProperties: boolean; definitions: { conversationSummary: { type: string; required: string[]; properties: { id: { type: string; minLength: number; }; title: { type: string; }; userId: { type: string; minLength: number; }; createdAt: { type: string; format: string; }; updatedAt: { type: string[]; format: string; }; messageCount: { type: string[]; minimum: number; }; metadata: { $ref: string; }; }; additionalProperties: boolean; }; messageMetadata: { type: string; properties: { secondOpinion: { type: string; required: string[]; properties: { primary: { $ref: string; }; secondaryOpinions: { type: string; items: { $ref: string; }; }; synthesis: { $ref: string; }; }; additionalProperties: boolean; }; persistenceStatus: { $ref: string; }; }; additionalProperties: boolean; }; modelOpinion: { type: string; required: string[]; properties: { model: { type: string; minLength: number; }; response: { type: string; }; tokensUsed: { type: string; minimum: number; }; latencyMs: { type: string; minimum: number; }; citations: { type: string; items: { type: string; required: string[]; properties: { title: { type: string; }; url: { type: string; format: string; }; snippet: { type: string; }; }; additionalProperties: boolean; }; }; }; additionalProperties: boolean; }; synthesis: { type: string; required: string[]; properties: { model: { type: string; minLength: number; }; response: { type: string; minLength: number; }; modelId: { type: string; }; modelDisplayName: { type: string; }; tokensUsed: { type: string; minimum: number; }; latencyMs: { type: string; minimum: number; }; cost: { type: string; }; sources: { type: string; items: {}; }; error: { type: string; }; }; additionalProperties: boolean; }; persistenceStatus: { type: string; properties: { userMessageSaved: { type: string; }; assistantMessageSaved: { type: string; }; userMessageId: { type: string[]; }; assistantMessageId: { type: string[]; }; error: { type: string[]; }; }; additionalProperties: boolean; }; }; }; readonly conversationSendMessage: { $schema: string; title: string; type: string; required: string[]; properties: { conversationId: { type: string; minLength: number; }; conversationCreated: { type: string; }; messageId: { type: string; minLength: number; }; assistantMessageId: { type: string[]; }; assistantModel: { type: string[]; }; assistantMessage: { type: string[]; additionalProperties: boolean; }; usedFallback: { type: string[]; }; message: { type: string; required: string[]; properties: { id: { type: string; minLength: number; }; conversationId: { type: string; minLength: number; }; content: { type: string; }; role: { type: string; enum: string[]; }; userId: { type: string[]; }; sequence: { type: string; minimum: number; }; createdAt: { type: string; }; metadata: { type: string; additionalProperties: boolean; }; }; additionalProperties: boolean; }; sequence: { type: string; }; title: { type: string[]; }; metadata: { type: string; additionalProperties: boolean; }; }; additionalProperties: boolean; }; }; export { agentSecondOpinionSchema }; export { conversationDeleteSchema }; export { conversationGetHistorySchema }; export { conversationHealthSchema }; export { conversationListSchema }; export { conversationSendMessageSchema }; //# sourceMappingURL=index.d.ts.map