@maximai/maxim-js-langchain
Version:
This is the langchain wrapper built for (Maxim JS SDK)[https://www.npmjs.com/package/@maximai/maxim-js].
82 lines (81 loc) • 3.52 kB
TypeScript
/**
* Models for LangChain logging and tracing functionality.
* This module contains data models used for tracking and logging LangChain operations,
* including metadata storage and run information.
*/
import { Generation, GenerationConfig, MaximLogger, Retrieval, RetrievalConfig, Span, SpanConfig, ToolCall, ToolCallConfig } from "@maximai/maxim-js";
export interface MaximMetadata {
sessionId?: string;
traceId?: string;
spanId?: string;
chainName?: string;
spanName?: string;
traceName?: string;
generationName?: string;
retrievalName?: string;
generationTags?: Record<string, string>;
retrievalTags?: 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;
generationTags?: Record<string, any>;
retrievalTags?: Record<string, any>;
traceTags?: Record<string, any>;
chainTags?: Record<string, any>;
constructor(metadata?: Record<string, unknown>);
toJSON(): Record<string, any>;
}
export declare abstract class Container {
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;
constructor(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(): string;
get parentId(): string | undefined;
set parentId(id: string | undefined);
isCreated(): 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 end(): void;
}
export declare class TraceContainer extends Container {
constructor(logger: MaximLogger, traceId: string, traceName?: string, parentId?: 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, any>): void;
addSpan(config: SpanConfig): Span;
addTags(tags: Record<string, string>): void;
addToolCall(config: ToolCallConfig): ToolCall;
end(): void;
}
export declare class SpanContainer extends Container {
constructor(logger: MaximLogger, spanId: string, spanName?: string, parentId?: 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;
addToolCall(config: ToolCallConfig): ToolCall;
end(): void;
}