@maximai/maxim-js
Version:
Maxim AI JS SDK. Visit https://getmaxim.ai for more info.
115 lines (114 loc) • 4.99 kB
TypeScript
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;
}