import { References, SomeMessage, DataStreamer, Conversation, OpenAiChatMessage, ConversationCustomData, ChatLlm } from "mongodb-rag-core"; import { Request as ExpressRequest } from "express"; import { GenerateUserPromptFunc } from "../processors/GenerateUserPromptFunc"; import { FilterPreviousMessages } from "../processors/FilterPreviousMessages"; export type ClientContext = Record; export interface GenerateResponseParams { shouldStream: boolean; llm: ChatLlm; latestMessageText: string; clientContext?: ClientContext; customData?: ConversationCustomData; dataStreamer?: DataStreamer; generateUserPrompt?: GenerateUserPromptFunc; filterPreviousMessages?: FilterPreviousMessages; reqId: string; llmNotWorkingMessage: string; noRelevantContentMessage: string; conversation: Conversation; request?: ExpressRequest; } interface GenerateResponseReturnValue { messages: SomeMessage[]; } export type GenerateResponse = (params: GenerateResponseParams) => Promise; /** Generate a response with/without streaming. Supports tool calling and standard response generation. Response includes the user message with any data mutations and the assistant response message, plus any intermediate tool calls. */ export declare function generateResponse({ shouldStream, llm, latestMessageText, clientContext, customData, generateUserPrompt, filterPreviousMessages, dataStreamer, reqId, llmNotWorkingMessage, noRelevantContentMessage, conversation, request, }: GenerateResponseParams): Promise; type BaseGenerateResponseMessageParams = Omit & { references?: References; shouldGenerateMessage?: boolean; llmConversation: OpenAiChatMessage[]; }; export type AwaitGenerateResponseParams = Omit; export declare function awaitGenerateResponseMessage({ reqId, llmConversation, llm, llmNotWorkingMessage, noRelevantContentMessage, request, references, conversation, shouldGenerateMessage, }: AwaitGenerateResponseParams): Promise; export type StreamGenerateResponseParams = BaseGenerateResponseMessageParams & Required> & { /** Arbitrary data about the message to stream before the generated response. */ metadata?: Record; }; export declare function streamGenerateResponseMessage({ dataStreamer, llm, llmConversation, reqId, references, noRelevantContentMessage, llmNotWorkingMessage, conversation, request, metadata, shouldGenerateMessage, }: StreamGenerateResponseParams): Promise; export declare function convertMessageFromLlmToDb(message: OpenAiChatMessage): SomeMessage; export {}; //# sourceMappingURL=generateResponse.d.ts.map