UNPKG

@zhengxs/wechaty-plugin-assistant

Version:
68 lines (66 loc) 2.15 kB
import { ChatMessage } from './llm-api'; export declare class APIError extends Error { statusCode?: number; statusText?: string; } export interface ClaudeAIOptions { /** @defaultValue `https://claude.ai/api` **/ apiBaseUrl?: string; apiOrg: string; sessionKey: string; /** @defaultValue `claude-2` **/ model?: ClaudeAI.Model; /** @defaultValue `Asia/Shanghai` **/ timezone?: string; } export type ClaudeSendMessageOptions = { conversationId?: string; parentMessageId?: string; messageId?: string; abortSignal?: AbortSignal; attachments?: ClaudeAI.Attachment[]; completionParams?: Partial<Omit<ClaudeAI.CompletionParams, 'prompt'>>; }; export declare class ClaudeAI { protected _apiBaseUrl: string; protected _sessionKey: string; protected _apiOrg: string; protected _completionParams: Partial<Omit<ClaudeAI.CompletionParams, 'prompt'>>; constructor(opts: ClaudeAIOptions); sendMessage(text: string, options?: ClaudeSendMessageOptions): Promise<ChatMessage>; protected upsertChatConversations(options?: ClaudeSendMessageOptions): Promise<{ conversationId: string; }>; protected createChatConversations(): Promise<{ uuid: string; name: string; summary: string; created_at: string; updated_at: string; }>; request(path: string, init: RequestInit): Promise<Response>; protected defaultHeaders(): Record<string, string>; protected authHeaders(): Record<string, string>; protected userAgent(): string; } export declare namespace ClaudeAI { type Model = (string & NonNullable<unknown>) | 'claude-2'; type Attachment = { file_name?: string; file_size?: number; file_type?: string; extracted_content: string; totalPages?: number; }; type CompletionParams = { model: Model; timezone?: string; prompt: string; }; type ChatCompletionCreateParams = { conversation_uuid: string; organization_uuid: string; completion: CompletionParams; attachments?: Attachment[]; }; }