@ai-sdk/otel 1.0.0-beta.3 → 1.0.0-beta.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +192 -0
- package/dist/index.d.mts +50 -5
- package/dist/index.d.ts +50 -5
- package/dist/index.js +1105 -43
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1111 -45
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/gen-ai-format-messages.ts +573 -0
- package/src/gen-ai-open-telemetry-integration.ts +928 -0
- package/src/index.ts +1 -0
- package/src/open-telemetry-integration.ts +14 -14
package/src/index.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { LanguageModelV4Prompt } from '@ai-sdk/provider';
|
|
2
|
+
import type { Context as AISDKContext } from '@ai-sdk/provider-utils';
|
|
2
3
|
import {
|
|
3
4
|
Attributes,
|
|
4
5
|
AttributeValue,
|
|
5
6
|
context,
|
|
6
|
-
Context,
|
|
7
|
+
Context as OpenTelemetryContext,
|
|
7
8
|
Span,
|
|
8
9
|
SpanStatusCode,
|
|
9
10
|
trace,
|
|
@@ -14,7 +15,6 @@ import type {
|
|
|
14
15
|
EmbedOnFinishEvent,
|
|
15
16
|
EmbedOnStartEvent,
|
|
16
17
|
EmbedStartEvent,
|
|
17
|
-
GenerationContext,
|
|
18
18
|
ObjectOnFinishEvent,
|
|
19
19
|
ObjectOnStartEvent,
|
|
20
20
|
ObjectOnStepFinishEvent,
|
|
@@ -110,9 +110,9 @@ function selectAttributes(
|
|
|
110
110
|
|
|
111
111
|
interface OtelStepStartEvent<
|
|
112
112
|
TOOLS extends ToolSet = ToolSet,
|
|
113
|
-
|
|
113
|
+
USER_CONTEXT extends AISDKContext = AISDKContext,
|
|
114
114
|
OUTPUT extends Output = Output,
|
|
115
|
-
> extends OnStepStartEvent<TOOLS,
|
|
115
|
+
> extends OnStepStartEvent<TOOLS, USER_CONTEXT, OUTPUT> {
|
|
116
116
|
readonly promptMessages?: LanguageModelV4Prompt;
|
|
117
117
|
readonly stepTools?: ReadonlyArray<Record<string, unknown>>;
|
|
118
118
|
readonly stepToolChoice?: unknown;
|
|
@@ -122,12 +122,12 @@ interface CallState {
|
|
|
122
122
|
operationId: string;
|
|
123
123
|
telemetry: TelemetrySettings | undefined;
|
|
124
124
|
rootSpan: Span | undefined;
|
|
125
|
-
rootContext:
|
|
125
|
+
rootContext: OpenTelemetryContext | undefined;
|
|
126
126
|
stepSpan: Span | undefined;
|
|
127
|
-
stepContext:
|
|
128
|
-
embedSpans: Map<string, { span: Span; context:
|
|
129
|
-
rerankSpan: { span: Span; context:
|
|
130
|
-
toolSpans: Map<string, { span: Span; context:
|
|
127
|
+
stepContext: OpenTelemetryContext | undefined;
|
|
128
|
+
embedSpans: Map<string, { span: Span; context: OpenTelemetryContext }>;
|
|
129
|
+
rerankSpan: { span: Span; context: OpenTelemetryContext } | undefined;
|
|
130
|
+
toolSpans: Map<string, { span: Span; context: OpenTelemetryContext }>;
|
|
131
131
|
baseTelemetryAttributes: Attributes;
|
|
132
132
|
settings: Record<string, unknown>;
|
|
133
133
|
}
|
|
@@ -176,7 +176,7 @@ export class OpenTelemetryIntegration implements TelemetryIntegration {
|
|
|
176
176
|
|
|
177
177
|
onStart(
|
|
178
178
|
event:
|
|
179
|
-
| OnStartEvent
|
|
179
|
+
| OnStartEvent
|
|
180
180
|
| ObjectOnStartEvent
|
|
181
181
|
| EmbedOnStartEvent
|
|
182
182
|
| RerankOnStartEvent,
|
|
@@ -204,10 +204,10 @@ export class OpenTelemetryIntegration implements TelemetryIntegration {
|
|
|
204
204
|
return;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
-
this.onGenerateStart(event as OnStartEvent
|
|
207
|
+
this.onGenerateStart(event as OnStartEvent);
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
private onGenerateStart(event: OnStartEvent
|
|
210
|
+
private onGenerateStart(event: OnStartEvent): void {
|
|
211
211
|
const telemetry: TelemetrySettings = {
|
|
212
212
|
isEnabled: event.isEnabled,
|
|
213
213
|
recordInputs: event.recordInputs,
|
|
@@ -503,7 +503,7 @@ export class OpenTelemetryIntegration implements TelemetryIntegration {
|
|
|
503
503
|
});
|
|
504
504
|
}
|
|
505
505
|
|
|
506
|
-
onStepStart(event: OtelStepStartEvent
|
|
506
|
+
onStepStart(event: OtelStepStartEvent): void {
|
|
507
507
|
const state = this.getCallState(event.callId);
|
|
508
508
|
if (!state?.rootSpan || !state.rootContext) return;
|
|
509
509
|
|
|
@@ -619,7 +619,7 @@ export class OpenTelemetryIntegration implements TelemetryIntegration {
|
|
|
619
619
|
},
|
|
620
620
|
}),
|
|
621
621
|
);
|
|
622
|
-
} catch
|
|
622
|
+
} catch {
|
|
623
623
|
// JSON.stringify might fail for non-serializable results
|
|
624
624
|
}
|
|
625
625
|
} else {
|