UNPKG

@paperlinkai/chat

Version:

PaperLink AI Chat Widget - Easy integration for any website

55 lines (53 loc) 1.63 kB
import { ChatMessage, ContinueSessionResponse, HistoryResponse, StartSessionResponse, WidgetConfig } from '../types/widget'; export interface RequestOptions { timeout?: number; retries?: number; retryDelay?: number; } export declare class ApiError extends Error { code: string; status?: number | undefined; details?: any | undefined; constructor(code: string, message: string, status?: number | undefined, details?: any | undefined); } export declare class ApiClient { private baseUrl; private organizationId; private defaultTimeout; private defaultRetries; private defaultRetryDelay; constructor(config: WidgetConfig); /** * Make HTTP request with error handling and retries */ private request; /** * Sleep utility for delays */ private sleep; /** * Start a new chat session with first message */ startSession(message: string): Promise<StartSessionResponse>; /** * Continue existing session with a new message */ continueSession(sessionId: string, message: string): Promise<ContinueSessionResponse>; /** * Get session conversation history */ getSessionHistory(sessionId: string, limit?: number): Promise<HistoryResponse>; /** * Send a message (either start session or continue) */ sendMessage(sessionId: string | null, message: string): Promise<{ sessionId: string; assistantMessage: ChatMessage; userMessage: ChatMessage; followupQuestions: string[]; }>; /** * Health check */ healthCheck(): Promise<boolean>; }