UNPKG

@maximai/maxim-js

Version:

Maxim AI JS SDK. Visit https://getmaxim.ai for more info.

51 lines (50 loc) 2.31 kB
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; }; }