magnitude-core
Version:
Magnitude e2e testing agent
33 lines (32 loc) • 1.66 kB
TypeScript
import { BamlRenderable } from './context';
import { Image } from './image';
import { MultiMediaJson } from './serde';
export type ObservableDataPrimitive = Image | string | number | boolean | null | undefined;
export type ObservableDataArray = Array<ObservableData>;
export type ObservableDataObject = {
[key: string]: ObservableData;
};
export type ObservableData = ObservableDataPrimitive | ObservableDataArray | ObservableDataObject;
export interface ObservationOptions {
type: string;
limit?: number;
dedupe?: boolean;
}
export type ObservationSource = `connector:${string}` | `action:taken:${string}` | `action:result:${string}` | `thought`;
export declare class Observation {
readonly source: ObservationSource;
readonly timestamp: number;
readonly data: ObservableData;
readonly options?: ObservationOptions;
constructor(source: ObservationSource, data: ObservableData, options?: ObservationOptions);
static fromConnector(connectorId: string, data: ObservableData, options?: ObservationOptions): Observation;
static fromActionTaken(actionId: string, data: ObservableData, options?: ObservationOptions): Observation;
static fromActionResult(actionId: string, data: ObservableData, options?: ObservationOptions): Observation;
static fromThought(data: ObservableData, options?: ObservationOptions): Observation;
toString(): string;
toJson(): Promise<MultiMediaJson>;
toContext(): Promise<BamlRenderable[]>;
hash(): Promise<string>;
equals(obs: Observation): Promise<boolean>;
}
export declare function renderObservations(observations: Observation[]): Promise<BamlRenderable[]>;