UNPKG

@promptbook/remote-server

Version:

Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action

54 lines (53 loc) 1.62 kB
import type { ChatMessage } from '../types/ChatMessage'; import type { ChatParticipant } from '../types/ChatParticipant'; import type { LlmChatProps } from './LlmChatProps'; /** * Metadata for a teammate agent tool. * * @private function of `useLlmChatState` */ type TeammateMetadata = { readonly url: string; readonly label?: string; readonly instructions?: string; readonly toolName: string; }; /** * Lookup map of teammate metadata by tool name. * * @private function of `useLlmChatState` */ type TeammatesMap = Record<string, TeammateMetadata>; /** * Minimal task-progress item rendered by `<Chat/>`. * * @private function of `useLlmChatState` */ type LlmChatTaskProgress = { readonly id: string; readonly name: string; readonly progress?: number; }; /** * State returned by `useLlmChatState`. * * @private function of `useLlmChatState` */ type UseLlmChatStateResult = { readonly handleMessage: (messageContent: string, attachments?: ChatMessage['attachments']) => Promise<void>; readonly handleReset: () => Promise<void>; readonly handleStopStreaming: () => void; readonly isStreaming: boolean; readonly isVoiceCalling: boolean; readonly messages: Array<ChatMessage>; readonly participants: ReadonlyArray<ChatParticipant>; readonly tasksProgress: Array<LlmChatTaskProgress>; readonly teammates: TeammatesMap | undefined; }; /** * Coordinates derived state and handlers consumed by `<LlmChat/>`. * * @private function of `<LlmChat/>` */ export declare function useLlmChatState(props: LlmChatProps): UseLlmChatStateResult; export {};