UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

170 lines (165 loc) 7.35 kB
import { Telemetry, InferTelemetryEvent, GenerateTextStartEvent, GenerateObjectStartEvent, EmbedStartEvent, RerankStartEvent, GenerateObjectStepStartEvent, GenerateObjectStepEndEvent, GenerateTextStepStartEvent, ToolSet, LanguageModelCallStartEvent, LanguageModelCallEndEvent, ToolExecutionStartEvent, ToolExecutionEndEvent, GenerateTextStepEndEvent, GenerateTextEndEvent, GenerateObjectEndEvent, EmbedEndEvent, RerankEndEvent, EmbeddingModelCallStartEvent, EmbeddingModelCallEndEvent, RerankingModelCallStartEvent, RerankingModelCallEndEvent, GenerateTextAbortEvent, Output } from 'ai'; import { Attributes, Tracer } from '#compiled/@opentelemetry/api/index.js'; import { LanguageModelV4Prompt } from '#compiled/@ai-sdk/provider/index.js'; import { Context } from '#compiled/@ai-sdk/provider-utils/index.js'; type OpenTelemetrySpanType = 'operation' | 'step' | 'languageModel' | 'tool' | 'embedding' | 'reranking'; type EnrichSpan = (options: { spanType: OpenTelemetrySpanType; operationId: string; callId: string; runtimeContext: Record<string, unknown> | undefined; }) => Attributes | undefined; type OpenTelemetryOptions = { /** * The tracer to use for the telemetry data. */ tracer?: Tracer; /** * Adds custom attributes to spans when they are created. These attributes are * not AI SDK-owned semantics and are intended for observability integrations. */ enrichSpan?: EnrichSpan; /** * Emit AI SDK usage details that are not represented by GenAI SemConv. */ usage?: boolean; /** * Emit provider metadata on response spans. */ providerMetadata?: boolean; /** * Emit embedding input and output values. */ embedding?: boolean; /** * Emit reranking input documents and output ranking. */ reranking?: boolean; /** * Emit runtime context values. */ runtimeContext?: boolean; /** * Emit request headers. */ headers?: boolean; /** * Emit selected tool choice information. */ toolChoice?: boolean; /** * Emit object generation schema information. */ schema?: boolean; }; interface OtelStepStartEvent$1 extends GenerateTextStepStartEvent<ToolSet> { readonly stepToolChoice?: unknown; } declare class OpenTelemetry implements Telemetry { private readonly callStates; private readonly tracer; private readonly supplementalAttributes; private readonly enrichSpan; constructor(options?: OpenTelemetryOptions); private getCallState; private cleanupCallState; private getSpanAttributes; executeTool<T>({ callId, toolCallId, execute, }: { callId: string; toolCallId: string; execute: () => PromiseLike<T>; }): PromiseLike<T>; /** * Runs the provider `doGenerate`/`doStream` call with the active model-call * context. */ executeLanguageModelCall<T>({ callId, execute, }: { callId: string; execute: () => PromiseLike<T>; }): PromiseLike<T>; onStart(event: InferTelemetryEvent<GenerateTextStartEvent> | InferTelemetryEvent<GenerateObjectStartEvent> | InferTelemetryEvent<EmbedStartEvent> | InferTelemetryEvent<RerankStartEvent>): void; private onGenerateStart; private onObjectOperationStart; /** @deprecated */ onObjectStepStart(event: GenerateObjectStepStartEvent): void; /** @deprecated */ onObjectStepEnd(event: GenerateObjectStepEndEvent): void; private onEmbedOperationStart; onStepStart(event: OtelStepStartEvent$1): void; onLanguageModelCallStart(event: LanguageModelCallStartEvent): void; onLanguageModelCallEnd(event: LanguageModelCallEndEvent<ToolSet>): void; onToolExecutionStart(event: ToolExecutionStartEvent<ToolSet>): void; onToolExecutionEnd(event: ToolExecutionEndEvent<ToolSet>): void; onStepEnd(event: GenerateTextStepEndEvent<ToolSet>): void; /** @deprecated Use `onStepEnd` instead. */ onStepFinish(event: GenerateTextStepEndEvent<ToolSet>): void; onEnd(event: GenerateTextEndEvent<ToolSet> | GenerateObjectEndEvent<unknown> | EmbedEndEvent | RerankEndEvent): void; private onGenerateEnd; private onObjectOperationEnd; private onEmbedOperationEnd; onEmbedStart(event: EmbeddingModelCallStartEvent): void; onEmbedEnd(event: EmbeddingModelCallEndEvent): void; private onRerankOperationStart; private onRerankOperationEnd; onRerankStart(event: RerankingModelCallStartEvent): void; onRerankEnd(event: RerankingModelCallEndEvent): void; onAbort(event: GenerateTextAbortEvent<ToolSet>): void; onError(error: unknown): void; } interface OtelStepStartEvent<TOOLS extends ToolSet = ToolSet, RUNTIME_CONTEXT extends Context = Context, OUTPUT extends Output.Output = Output.Output> extends GenerateTextStepStartEvent<TOOLS, RUNTIME_CONTEXT, OUTPUT> { readonly promptMessages?: LanguageModelV4Prompt; readonly stepTools?: ReadonlyArray<Record<string, unknown>>; readonly stepToolChoice?: unknown; } declare class LegacyOpenTelemetry implements Telemetry { private readonly callStates; /** * The tracer to use for the telemetry data. */ private readonly tracer; constructor(options?: { tracer?: Tracer; }); private getCallState; private cleanupCallState; executeTool<T>({ callId, toolCallId, execute, }: { callId: string; toolCallId: string; execute: () => PromiseLike<T>; }): PromiseLike<T>; /** * Runs the provider `doGenerate`/`doStream` call with the active legacy * model-call context. */ executeLanguageModelCall<T>({ callId, execute, }: { callId: string; execute: () => PromiseLike<T>; }): PromiseLike<T>; onStart(event: InferTelemetryEvent<GenerateTextStartEvent> | InferTelemetryEvent<GenerateObjectStartEvent> | InferTelemetryEvent<EmbedStartEvent> | InferTelemetryEvent<RerankStartEvent>): void; private onGenerateStart; private onObjectOperationStart; /** @deprecated */ onObjectStepStart(event: GenerateObjectStepStartEvent): void; /** @deprecated */ onObjectStepEnd(event: GenerateObjectStepEndEvent): void; private onEmbedOperationStart; onStepStart(event: OtelStepStartEvent): void; onToolExecutionStart(event: ToolExecutionStartEvent<ToolSet>): void; onToolExecutionEnd(event: ToolExecutionEndEvent<ToolSet>): void; onStepEnd(event: GenerateTextStepEndEvent<ToolSet>): void; /** @deprecated Use `onStepEnd` instead. */ onStepFinish(event: GenerateTextStepEndEvent<ToolSet>): void; onEnd(event: GenerateTextEndEvent<ToolSet> | GenerateObjectEndEvent<unknown> | EmbedEndEvent | RerankEndEvent): void; private onGenerateEnd; private onObjectOperationEnd; private onEmbedOperationEnd; onEmbedStart(event: EmbeddingModelCallStartEvent): void; onEmbedEnd(event: EmbeddingModelCallEndEvent): void; private onRerankOperationStart; private onRerankOperationEnd; onRerankStart(event: RerankingModelCallStartEvent): void; onRerankEnd(event: RerankingModelCallEndEvent): void; onAbort(event: GenerateTextAbortEvent<ToolSet>): void; onError(error: unknown): void; } export { type EnrichSpan, LegacyOpenTelemetry, OpenTelemetry, type OpenTelemetryOptions, type OpenTelemetrySpanType };