@ai-sdk/otel 1.0.0-beta.59 → 1.0.0-beta.60
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 +16 -0
- package/dist/index.d.ts +46 -5
- package/dist/index.js +344 -61
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/gen-ai-format-messages.ts +74 -3
- package/src/get-base-telemetry-attributes.ts +1 -1
- package/src/get-tracer.ts +1 -1
- package/src/legacy-open-telemetry.ts +6 -6
- package/src/mock-tracer.ts +1 -1
- package/src/noop-tracer.ts +1 -1
- package/src/open-telemetry.ts +234 -97
- package/src/record-span.ts +3 -4
- package/src/select-attributes.ts +57 -0
- package/src/stringify-for-telemetry.ts +23 -5
- package/src/supplemental-attributes.ts +151 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @ai-sdk/otel
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.60
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 18651f6: feat(otel): add opt-in options for supplemental AI SDK attributes on OpenTelemetry spans
|
|
8
|
+
- 9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type
|
|
9
|
+
- 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
|
|
10
|
+
- Updated dependencies [43a6750]
|
|
11
|
+
- Updated dependencies [81caa5d]
|
|
12
|
+
- Updated dependencies [1f7db50]
|
|
13
|
+
- Updated dependencies [9bd6512]
|
|
14
|
+
- Updated dependencies [258c093]
|
|
15
|
+
- Updated dependencies [6147cdf]
|
|
16
|
+
- ai@7.0.0-beta.114
|
|
17
|
+
- @ai-sdk/provider@4.0.0-beta.14
|
|
18
|
+
|
|
3
19
|
## 1.0.0-beta.59
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,55 @@
|
|
|
1
|
-
import { Tracer } from '@opentelemetry/api';
|
|
2
1
|
import { Telemetry, InferTelemetryEvent, GenerateTextStartEvent, GenerateObjectStartEvent, EmbedStartEvent, RerankStartEvent, GenerateObjectStepStartEvent, GenerateObjectStepEndEvent, GenerateTextStepStartEvent, ToolSet, LanguageModelCallStartEvent, LanguageModelCallEndEvent, ToolExecutionStartEvent, ToolExecutionEndEvent, GenerateTextStepEndEvent, GenerateTextEndEvent, GenerateObjectEndEvent, EmbedEndEvent, RerankEndEvent, EmbeddingModelCallStartEvent, EmbeddingModelCallEndEvent, RerankingModelCallStartEvent, RerankingModelCallEndEvent, StreamTextChunkEvent, OutputInterface } from 'ai';
|
|
2
|
+
import { Tracer } from '@opentelemetry/api';
|
|
3
3
|
import { LanguageModelV4Prompt } from '@ai-sdk/provider';
|
|
4
4
|
import { Context } from '@ai-sdk/provider-utils';
|
|
5
5
|
|
|
6
|
+
type OpenTelemetryOptions = {
|
|
7
|
+
/**
|
|
8
|
+
* The tracer to use for the telemetry data.
|
|
9
|
+
*/
|
|
10
|
+
tracer?: Tracer;
|
|
11
|
+
/**
|
|
12
|
+
* Emit AI SDK usage details that are not represented by GenAI SemConv.
|
|
13
|
+
*/
|
|
14
|
+
usage?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Emit provider metadata on response spans.
|
|
17
|
+
*/
|
|
18
|
+
providerMetadata?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Emit embedding input and output values.
|
|
21
|
+
*/
|
|
22
|
+
embedding?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Emit reranking input documents and output ranking.
|
|
25
|
+
*/
|
|
26
|
+
reranking?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Emit runtime context values.
|
|
29
|
+
*/
|
|
30
|
+
runtimeContext?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Emit request headers.
|
|
33
|
+
*/
|
|
34
|
+
headers?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Emit selected tool choice information.
|
|
37
|
+
*/
|
|
38
|
+
toolChoice?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Emit object generation schema information.
|
|
41
|
+
*/
|
|
42
|
+
schema?: boolean;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
interface OtelStepStartEvent$1 extends GenerateTextStepStartEvent<ToolSet> {
|
|
46
|
+
readonly stepToolChoice?: unknown;
|
|
47
|
+
}
|
|
6
48
|
declare class OpenTelemetry implements Telemetry {
|
|
7
49
|
private readonly callStates;
|
|
8
50
|
private readonly tracer;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
});
|
|
51
|
+
private readonly supplementalAttributes;
|
|
52
|
+
constructor(options?: OpenTelemetryOptions);
|
|
12
53
|
private getCallState;
|
|
13
54
|
private cleanupCallState;
|
|
14
55
|
executeTool<T>({ callId, toolCallId, execute, }: {
|
|
@@ -24,7 +65,7 @@ declare class OpenTelemetry implements Telemetry {
|
|
|
24
65
|
/** @deprecated */
|
|
25
66
|
onObjectStepFinish(event: GenerateObjectStepEndEvent): void;
|
|
26
67
|
private onEmbedOperationStart;
|
|
27
|
-
onStepStart(event:
|
|
68
|
+
onStepStart(event: OtelStepStartEvent$1): void;
|
|
28
69
|
onLanguageModelCallStart(event: LanguageModelCallStartEvent): void;
|
|
29
70
|
onLanguageModelCallEnd(event: LanguageModelCallEndEvent<ToolSet>): void;
|
|
30
71
|
onToolExecutionStart(event: ToolExecutionStartEvent<ToolSet>): void;
|