UNPKG

aiwrapper

Version:

A Universal AI Wrapper for JavaScript & TypeScript

51 lines (50 loc) 1.61 kB
import { PromptForObject } from "./prompt-for-json"; /** * LanguageProvider is an abstract class that represents a language model and * its basic functionality. */ export declare abstract class LanguageProvider { readonly name: string; constructor(name: string); abstract ask(prompt: string, onResult: (result: LangResultWithString) => void): Promise<LangResultWithString>; abstract chat(messages: LangChatMessages, onResult: (result: LangResultWithMessages) => void): Promise<LangResultWithMessages>; askForObject(promptObj: PromptForObject, onResult?: (result: LangResultWithObject) => void): Promise<LangResultWithObject>; } interface LangProcessingResult { prompt: string; finished: boolean; thinking?: string; } export declare class LangResultWithString implements LangProcessingResult { prompt: string; answer: string; thinking?: string; finished: boolean; constructor(prompt: string); toString(): string; abort(): void; } export declare class LangResultWithObject implements LangProcessingResult { answerObj: object; answer: string; thinking?: string; prompt: string; finished: boolean; constructor(prompt: string); toString(): string; } export type LangChatMessages = { role: string; content: string; }[]; export declare class LangResultWithMessages implements LangProcessingResult { prompt: string; answer: string; thinking?: string; messages: LangChatMessages; finished: boolean; constructor(messages: LangChatMessages); toString(): string; abort(): void; } export {};