mongodb-chatbot-ui
Version:
UI React components for the MongoDB Assistant
35 lines (34 loc) • 1.8 kB
TypeScript
import { AssistantMessageMetadata, MessageData } from "./services/conversations";
import { CreateMessageArgs } from "./createMessage";
import { References } from "./references";
import { Promotion } from "./promotions";
export type ConversationState = {
conversationId?: string;
conversationName?: string;
error?: string;
messages: MessageData[];
streamingMessageId?: MessageData["id"];
};
export declare const initialConversationState: ConversationState;
export declare const STREAMING_MESSAGE_ID = "streaming-response";
export type ConversationStore = ReturnType<typeof makeConversationStore>;
export declare const makeConversationStore: (name?: string) => import("zustand").StoreApi<Omit<ConversationState, "name" | "api"> & {
name: string;
api: {
initialize: (initialState: ConversationState) => void;
setConversationId: (conversationId: string) => void;
setConversationName: (conversationName: string) => void;
setConversationError: (errorMessage: string) => void;
addMessage: (messageData: MessageData | CreateMessageArgs) => void;
setMessageContent: (messageId: string, content: string) => void;
updateMessageMetadata: (messageId: string, update: (metadata: AssistantMessageMetadata) => AssistantMessageMetadata) => void;
deleteMessage: (messageId: string) => void;
rateMessage: (messageId: string, rating: boolean) => void;
createStreamingResponse: () => void;
appendStreamingResponse: (newContent: string) => void;
appendStreamingReferences: (references: References) => void;
appendStreamingPromotion: (promotion: Promotion) => void;
finishStreamingResponse: (messageId: MessageData["id"]) => void;
cancelStreamingResponse: () => void;
};
}>;