@pompeii-labs/svelte-obsidian
Version:
Svelte providers for Magma chat integration
25 lines (24 loc) • 795 B
TypeScript
export type MagmaWSMessage = {
type: string;
data: unknown;
};
export type ChatProviderProps = {
agentId: string;
apiKey: string;
baseUrl?: string;
searchParams?: Record<string, string>;
initialMessages?: MagmaWSMessage[];
onOpen?: (ev: Event, ws: WebSocket) => void;
onError?: (error: Event, ws: WebSocket) => void;
onClose?: (ev: CloseEvent, ws: WebSocket) => void;
onMagmaWSMessage?: (message: MagmaWSMessage) => void;
storedTypes?: string[];
children: any;
};
export type ChatContext = {
sendMessage: (message: string, queued?: boolean) => void;
messages: MagmaWSMessage[];
awaitingResponse: boolean;
};
export declare function getChatContext(): ChatContext;
export declare function setChatContext(context: ChatContext): void;