retort-js
Version:
Intuitive, production-ready prompt chaining in Javascript
61 lines (60 loc) • 1.98 kB
TypeScript
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 {};