From 9126d8e827570ea14fbbab141575a8a675c45f72 Mon Sep 17 00:00:00 2001 From: aviv halfon Date: Sun, 7 Dec 2025 15:20:39 +0200 Subject: [PATCH 1/2] fix: add entity input/output to agent spans --- .../src/lib/tracing/ai-sdk-transformations.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/traceloop-sdk/src/lib/tracing/ai-sdk-transformations.ts b/packages/traceloop-sdk/src/lib/tracing/ai-sdk-transformations.ts index 02093c1e..60ec7c9e 100644 --- a/packages/traceloop-sdk/src/lib/tracing/ai-sdk-transformations.ts +++ b/packages/traceloop-sdk/src/lib/tracing/ai-sdk-transformations.ts @@ -492,6 +492,16 @@ const transformTelemetryMetadata = ( attributes[SpanAttributes.TRACELOOP_SPAN_KIND] = TraceloopSpanKindValues.AGENT; attributes[SpanAttributes.TRACELOOP_ENTITY_NAME] = agentName; + + const inputMessages = attributes[SpanAttributes.LLM_INPUT_MESSAGES]; + if (inputMessages) { + attributes[SpanAttributes.TRACELOOP_ENTITY_INPUT] = inputMessages; + } + + const outputMessages = attributes[SpanAttributes.LLM_OUTPUT_MESSAGES]; + if (outputMessages) { + attributes[SpanAttributes.TRACELOOP_ENTITY_OUTPUT] = outputMessages; + } } } From bc4e703ab2674b03d3d43e4e518ee24b283185b9 Mon Sep 17 00:00:00 2001 From: aviv halfon Date: Mon, 8 Dec 2025 10:58:00 +0200 Subject: [PATCH 2/2] fix: fallback to tool args for agent entity input/output --- .../src/lib/tracing/ai-sdk-transformations.ts | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/traceloop-sdk/src/lib/tracing/ai-sdk-transformations.ts b/packages/traceloop-sdk/src/lib/tracing/ai-sdk-transformations.ts index 60ec7c9e..fdf378c4 100644 --- a/packages/traceloop-sdk/src/lib/tracing/ai-sdk-transformations.ts +++ b/packages/traceloop-sdk/src/lib/tracing/ai-sdk-transformations.ts @@ -494,13 +494,24 @@ const transformTelemetryMetadata = ( attributes[SpanAttributes.TRACELOOP_ENTITY_NAME] = agentName; const inputMessages = attributes[SpanAttributes.LLM_INPUT_MESSAGES]; - if (inputMessages) { - attributes[SpanAttributes.TRACELOOP_ENTITY_INPUT] = inputMessages; - } - const outputMessages = attributes[SpanAttributes.LLM_OUTPUT_MESSAGES]; - if (outputMessages) { - attributes[SpanAttributes.TRACELOOP_ENTITY_OUTPUT] = outputMessages; + const toolArgs = attributes["ai.toolCall.args"]; + const toolResult = attributes["ai.toolCall.result"]; + + if (inputMessages || outputMessages) { + if (inputMessages) { + attributes[SpanAttributes.TRACELOOP_ENTITY_INPUT] = inputMessages; + } + if (outputMessages) { + attributes[SpanAttributes.TRACELOOP_ENTITY_OUTPUT] = outputMessages; + } + } else if (toolArgs || toolResult) { + if (toolArgs) { + attributes[SpanAttributes.TRACELOOP_ENTITY_INPUT] = toolArgs; + } + if (toolResult) { + attributes[SpanAttributes.TRACELOOP_ENTITY_OUTPUT] = toolResult; + } } } }