@maximai/maxim-js
Version:
Maxim AI JS SDK. Visit https://getmaxim.ai for more info.
51 lines (50 loc) • 2.31 kB
TypeScript
import { LogWriter } from "../writer";
import { Entity } from "./types";
export interface ContainerLister {
onEnd: () => void;
}
export type BaseConfig = {
id: string;
spanId?: string;
name?: string;
tags?: Record<string, string>;
};
export declare abstract class BaseContainer {
protected readonly entity: Entity;
protected _id: string;
protected _name?: string;
protected spanId?: string;
protected readonly startTimestamp: Date;
protected endTimestamp?: Date;
protected tags: Record<string, string>;
protected readonly writer: LogWriter;
constructor(entity: Entity, config: BaseConfig, writer: LogWriter);
get id(): string;
addTag(key: string, value: string): void;
static addTag_(writer: LogWriter, entity: Entity, id: string, key: string, value: string): void;
addMetadata(metadata: Record<string, unknown>): void;
static addMetadata_(writer: LogWriter, entity: Entity, id: string, metadata: Record<string, unknown>): void;
end(): void;
static end_(writer: LogWriter, entity: Entity, id: string, data?: any): void;
data(): any;
protected commit(action: string, data?: any): void;
protected static commit_(writer: LogWriter, entity: Entity, id: string, action: string, data?: any): void;
}
export declare abstract class EvaluatableBaseContainer extends BaseContainer {
get evaluate(): EvaluateContainer;
static evaluate_(writer: LogWriter, entity: Entity, id: string): EvaluateContainer;
}
export declare abstract class EventEmittingBaseContainer extends EvaluatableBaseContainer {
event(id: string, name: string, tags?: Record<string, string>, metadata?: Record<string, unknown>): void;
static event_(writer: LogWriter, entity: Entity, id: string, eventId: string, name: string, tags?: Record<string, string>, metadata?: Record<string, unknown>): void;
}
export declare class EvaluateContainer {
private _writer;
private _entity;
private _id;
constructor(writer: LogWriter, entity: Entity, id: string);
withVariables<T extends string = string>(variables: Record<T, string>, forEvaluators: string[]): void;
withEvaluators<T extends string = string>(...evaluators: string[]): {
withVariables: <U extends string = T>(variables: Record<U, string>) => void;
};
}