import type { Message as UIMessage } from "ai"; import type { generateText } from "ai"; import type { Conversations, ConversationsId, } from "./database/generated/public/Conversations"; export type OtherParameters = Omit< Parameters[0], "model" | "messages" | "abortSignal" >; export type ConversationUI = Conversations & {}; export type Store = { /** This is a string because Milvus sends it as a string, and the value * overflows the JS integer anyway. */ selectedConversationId: ConversationsId; conversations: Array; messages: Array; message: string; systemPrompt: string; parameters: OtherParameters; loading: boolean; setConversationId: (conversationId: ConversationsId) => void; setConversationTitle: (conversationTitle: string) => void; setConversations: (conversations: Array) => void; addConversation: (conversation: ConversationUI) => void; removeConversation: (conversationId: ConversationsId) => void; setMessages: (messages: Array) => void; setMessage: (message: string) => void; setSystemPrompt: (systemPrompt: string) => void; setParameters: (parameters: OtherParameters) => void; setLoading: (loading: boolean) => void; }; /** The message while it's being typed in the input box. */ export type DraftMessage = Omit; /** The message after it's been saved to the database. */ export type CommittedMessage = DraftMessage & { id: number; conversationId: ConversationsId; index: number; runningSummary?: string; };