From c97160c641dd89c051f1fc17bda518d11c1fe3d2 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Fri, 11 Jul 2025 10:09:48 +0200 Subject: [PATCH] ref(core): Avoid side-effect of `vercelAiEventProcessor` --- packages/core/src/utils/vercel-ai.ts | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/packages/core/src/utils/vercel-ai.ts b/packages/core/src/utils/vercel-ai.ts index 401c295c97c9..1d92cf348a60 100644 --- a/packages/core/src/utils/vercel-ai.ts +++ b/packages/core/src/utils/vercel-ai.ts @@ -57,19 +57,15 @@ function onVercelAiSpanStart(span: Span): void { processGenerateSpan(span, name, attributes); } -const vercelAiEventProcessor = Object.assign( - (event: Event): Event => { - if (event.type === 'transaction' && event.spans) { - for (const span of event.spans) { - // this mutates spans in-place - processEndedVercelAiSpan(span); - } +function vercelAiEventProcessor(event: Event): Event { + if (event.type === 'transaction' && event.spans) { + for (const span of event.spans) { + // this mutates spans in-place + processEndedVercelAiSpan(span); } - return event; - }, - { id: 'VercelAiEventProcessor' }, -); - + } + return event; +} /** * Post-process spans emitted by the Vercel AI SDK. */ @@ -229,5 +225,5 @@ function processGenerateSpan(span: Span, name: string, attributes: SpanAttribute export function addVercelAiProcessors(client: Client): void { client.on('spanStart', onVercelAiSpanStart); // Note: We cannot do this on `spanEnd`, because the span cannot be mutated anymore at this point - client.addEventProcessor(vercelAiEventProcessor); + client.addEventProcessor(Object.assign(vercelAiEventProcessor, { id: 'VercelAiEventProcessor' })); }