UNPKG

@maximai/maxim-js

Version:

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

115 lines (114 loc) 4.99 kB
import { Generation, GenerationConfig, MaximLogger, Retrieval, RetrievalConfig, Span, SpanConfig, ToolCall, ToolCallConfig } from "../../../index"; export interface MaximMetadata { sessionId?: string; traceId?: string; spanId?: string; chainName?: string; spanName?: string; traceName?: string; generationName?: string; retrievalName?: string; toolCallName?: string; generationTags?: Record<string, string>; retrievalTags?: Record<string, string>; toolCallTags?: Record<string, string>; traceTags?: Record<string, string>; chainTags?: Record<string, string>; } export declare const MetadataKeys: string[]; export declare class Metadata implements MaximMetadata { sessionId?: string; traceId?: string; spanId?: string; chainName?: string; spanName?: string; traceName?: string; generationName?: string; retrievalName?: string; toolCallName?: string; generationTags?: Record<string, string>; retrievalTags?: Record<string, string>; toolCallTags?: Record<string, string>; traceTags?: Record<string, string>; chainTags?: Record<string, string>; private _parseTagsField; constructor(metadata?: Record<string, unknown>); toJSON(): Record<string, any>; } export declare class ContainerManager { private allContainers; private traceIdToContainerIds; private containerIdToTraceId; addContainer(container: Container): void; getContainer(id: string): Container | undefined; setContainer(runId: string, container: Container): void; deleteContainer(id: string): void; getTraceContainer(containerId: string): Container | undefined; removeContainer(container: Container): void; getContainersInTrace(traceId: string): string[]; isTraceComplete(traceId: string): boolean; removeRunIdMapping(runId: string): void; } export declare abstract class Container { protected containerManager: ContainerManager; protected readonly logger: MaximLogger; protected readonly _id: string; protected readonly _type: "trace" | "span"; protected readonly _name?: string | undefined; protected _parentId?: string | undefined; protected _created: boolean; protected _ended: boolean; private _activeChildCount; constructor(containerManager: ContainerManager, logger: MaximLogger, _id: string, _type: "trace" | "span", _name?: string | undefined, _parentId?: string | undefined, markCreated?: boolean); abstract create(tags?: Record<string, string>): void; get id(): string; get type(): "trace" | "span"; get parentId(): string | undefined; set parentId(id: string | undefined); isCreated(): boolean; isEnded(): boolean; incrementChildCount(): void; decrementChildCount(): void; hasActiveChildren(): boolean; abstract addGeneration(config: GenerationConfig): Generation; abstract addToolCall(config: ToolCallConfig): ToolCall; abstract addEvent(eventId: string, name: string, tags: Record<string, string>): void; abstract addSpan(config: SpanConfig): Span; abstract addRetrieval(config: RetrievalConfig): Retrieval; abstract addTags(tags: Record<string, string>): void; abstract addMetadata(metadata: Record<string, unknown>): void; abstract internalEnd(): void; end(): void; private cleanupIfComplete; getTraceContainer(): Container | undefined; abstract getTraceId(): string | undefined; } export declare class TraceContainer extends Container { private _input; constructor(containerManager: ContainerManager, logger: MaximLogger, traceId: string, traceName?: string, parentId?: string, markCreated?: boolean); create(tags?: Record<string, string>, sessionId?: string): void; setInput(input: string): void; addGeneration(config: GenerationConfig): Generation; addRetrieval(config: RetrievalConfig): Retrieval; addEvent(eventId: string, name: string, tags: Record<string, string>): void; addSpan(config: SpanConfig): Span; addTags(tags: Record<string, string>): void; addMetadata(metadata: Record<string, unknown>): void; addToolCall(config: ToolCallConfig): ToolCall; internalEnd(): void; getTraceId(): string; } export declare class SpanContainer extends Container { private _parentTraceId; constructor(containerManager: ContainerManager, logger: MaximLogger, spanId: string, spanName?: string, parentId?: string, parentTraceId?: string, markCreated?: boolean); create(tags?: Record<string, string>): void; addGeneration(config: GenerationConfig): Generation; addRetrieval(config: RetrievalConfig): Retrieval; addEvent(eventId: string, name: string, tags: Record<string, string>): void; addSpan(config: SpanConfig): Span; addTags(tags: Record<string, string>): void; addMetadata(metadata: Record<string, unknown>): void; addToolCall(config: ToolCallConfig): ToolCall; internalEnd(): void; getTraceId(): string | undefined; }