@paperlinkai/chat
Version:
PaperLink AI Chat Widget - Easy integration for any website
55 lines (53 loc) • 1.63 kB
TypeScript
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>;
}