aiwrapper
Version:
A Universal AI Wrapper for JavaScript & TypeScript
51 lines (50 loc) • 1.61 kB
TypeScript
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 {};