@@ -3,22 +3,22 @@ import { SpanAttributes } from "@traceloop/ai-semantic-conventions";
3
3
4
4
const AI_GENERATE_TEXT_DO_GENERATE = "ai.generateText.doGenerate" ;
5
5
const AI_STREAM_TEXT_DO_STREAM = "ai.streamText.doStream" ;
6
+ const HANDLED_SPAN_NAMES : Record < string , string > = {
7
+ [ AI_GENERATE_TEXT_DO_GENERATE ] : "ai.generateText.generate" ,
8
+ [ AI_STREAM_TEXT_DO_STREAM ] : "ai.streamText.stream" ,
9
+ } ;
10
+
6
11
const AI_RESPONSE_TEXT = "ai.response.text" ;
7
12
const AI_PROMPT_MESSAGES = "ai.prompt.messages" ;
8
13
const AI_USAGE_PROMPT_TOKENS = "ai.usage.promptTokens" ;
9
14
const AI_USAGE_COMPLETION_TOKENS = "ai.usage.completionTokens" ;
10
15
const AI_MODEL_PROVIDER = "ai.model.provider" ;
11
16
12
17
export const transformAiSdkSpanName = ( span : ReadableSpan ) : void => {
13
- const nameMap : Record < string , string > = {
14
- [ AI_GENERATE_TEXT_DO_GENERATE ] : "ai.generateText.generate" ,
15
- [ AI_STREAM_TEXT_DO_STREAM ] : "ai.streamText.stream" ,
16
- } ;
17
-
18
- if ( span . name in nameMap ) {
19
- // Unfortunately, the span name is not writable as this is not the intended behavior
20
- // but it is a workaround to set the correct span name
21
- ( span as any ) . name = nameMap [ span . name ] ;
18
+ // Unfortunately, the span name is not writable as this is not the intended behavior
19
+ // but it is a workaround to set the correct span name
20
+ if ( span . name in HANDLED_SPAN_NAMES ) {
21
+ ( span as any ) . name = HANDLED_SPAN_NAMES [ span . name ] ;
22
22
}
23
23
} ;
24
24
@@ -107,7 +107,14 @@ export const transformAiSdkAttributes = (
107
107
transformVendor ( attributes ) ;
108
108
} ;
109
109
110
+ export const shouldHandleSpan = ( span : ReadableSpan ) : boolean => {
111
+ return span . name in HANDLED_SPAN_NAMES ;
112
+ } ;
113
+
110
114
export const transformAiSdkSpan = ( span : ReadableSpan ) : void => {
115
+ if ( ! shouldHandleSpan ( span ) ) {
116
+ return ;
117
+ }
111
118
transformAiSdkSpanName ( span ) ;
112
119
transformAiSdkAttributes ( span . attributes ) ;
113
120
} ;
0 commit comments