UNPKG

@endlessriver/optimaiz

Version:

Client SDK for interacting with the Optimaiz logging & trace system.

113 lines (112 loc) 3.27 kB
export type Role = "system" | "user" | "assistant"; export type MessageContent = { type: "text" | "image" | "audio" | "video"; role: Role; value: string; mimeType?: string; extractedText?: string; }; export type Feedback = { rating?: "up" | "down"; comment?: string; submittedAt?: Date; labels?: string[]; }; export declare class OptimaizClient { private config; constructor(config: { token: string; }); private post; startTrace(data: { traceId?: string; agentId?: string; flowId?: string; threadId?: string; sessionId?: string; userId?: string; promptTemplate?: MessageContent[]; promptVariables?: Record<string, string>; provider: string; model: string; modelParams?: Record<string, any>; metadata?: Record<string, any>; tags?: string[]; }): Promise<any>; appendResponse(data: { traceId: string; rawResponse?: any; provider?: string; model?: string; threadId?: string; userId?: string; agentId?: string; flowId?: string; sessionId?: string; }): Promise<any>; finalizeTrace(traceId: string): Promise<any>; logError(traceId: string, error: { message: string; code?: string; details?: any; }): Promise<any>; sendFeedback(traceId: string, feedback: Feedback): Promise<any>; composePrompts(templates: { role: Role; content: string; type?: MessageContent["type"]; }[], variables: Record<string, string>): { prompts: MessageContent[]; promptTemplates: MessageContent[]; promptVariables: Record<string, string>; }; wrapLLMCall<T>({ traceId, agentId, flowId, threadId, sessionId, userId, promptTemplate, promptVariables, provider, model, modelParams, metadata, tags, call, }: { traceId?: string; agentId?: string; flowId?: string; threadId?: string; userId?: string; sessionId?: string; promptTemplate?: MessageContent[]; promptVariables?: Record<string, string>; provider: string; model: string; modelParams?: Record<string, any>; metadata?: Record<string, any>; tags?: string[]; call: () => Promise<T>; }): Promise<{ response: T; traceId: string; }>; generatePromptFromTools({ toolInfo, toolInput, }: { toolInfo: Array<{ name: string; description?: string; parameters?: any; }>; toolInput: { name: string; arguments: Record<string, any>; }; }): { promptTemplate: MessageContent[]; promptVariables: Record<string, string>; }; call(data: { traceId?: string; promptTemplate: MessageContent[]; promptVariables: Record<string, string>; modelParams?: Record<string, any>; threadId?: string; userId?: string; agentId?: string; flowId?: string; sessionId?: string; metadata?: Record<string, any>; tags?: string[]; }): Promise<{ data: any; error?: any; }>; }