UNPKG

retort-js

Version:

Intuitive, production-ready prompt chaining in Javascript

61 lines (60 loc) 1.98 kB
import { RetortRole } from "./agent"; export interface RetortMessageData { content: string; } export interface RetortMessagePromise<T = string> extends Promise<RetortMessage<T>> { id: string; role: RetortRole; message: RetortMessage<T>; getStream(): AsyncGenerator<RetortChunk>; stream: AsyncGenerator<string>; } export interface RetortChunk { content: string; contentDelta: string; promptTokens?: number; completionTokens?: number; totalTokens?: number; } export declare class RetortMessage<T = string> { id: string; role: RetortRole; promise: RetortMessagePromise<T>; json: boolean; promptTokens: number | undefined; completionTokens: number | undefined; totalTokens: number | undefined; private _data; get content(): string; get result(): T; static createId(): string; private static createStreamFromPromise; constructor(options: { json?: boolean; } & { id?: string; role: RetortRole; } & ({ content: string; } | { stream: AsyncGenerator<RetortChunk>; } | { promise: Promise<string>; })); toString(): string; toJSON(): { id: string; role: RetortRole; content: string; }; } export type RetortValue = string | number | boolean | null; type ToStringable<T> = Exclude<("toString" extends keyof T ? (T["toString"] extends () => string ? T : never) : never), Symbol>; export type RetortValueArray<T extends any[]> = { [K in keyof T]: RetortValue | ToStringable<T[K]>; }; export declare function templateContent<T extends any[]>(templateStrings: TemplateStringsArray, ...values: RetortValueArray<T>): string; export declare function isTemplateStringsArray(templateStrings: TemplateStringsArray | unknown): templateStrings is TemplateStringsArray; export declare function unescape(str: string): string; export declare function unescapeSegment(str: string): string; export {};