getsentry / getsentry/sentry-javascript

Replace deprecated `gen_ai.response.text` with `gen_ai.output.messages`

Open
#22,838 1 comment 0 reactions 0 assignees View on GitHub
Task
Dominant language
TypeScript
Stars
8.7k
Forks
1.8k
Avg merge
1d 17h
Merged PRs (30d)
515

Description

`@sentry/conventions` deprecates `gen_ai.response.text` in favor of `gen_ai.output.messages`. `gen_ai.response.text` holds a stringified array of text strings; `gen_ai.output.messages` expects a stringified array of structured message objects (`[{role, parts: [...], finish_reason}]`), which unifies response text and tool calls into a single message.

Entails building the structured message format from the response text and emitting it under the new attribute. Affects all AI integrations (OpenAI, Anthropic, Google GenAI, LangChain, LangGraph, Workers AI, and the shared streaming path). Should be done together with the `gen_ai.response.tool_calls` replacement, since both merge into the same `gen_ai.output.messages` attribute.

We can likely postpone this until after the major, if we do it at all, since there are still discussions about handling this in Relay.

References:

* [`gen_ai.response.text`]()
* [`gen_ai.output.messages`]()

Contributor guide

Open the contributing guide

Research direction

Review the OpenAI, Anthropic, Google GenAI, LangChain, LangGraph, Workers AI, and shared streaming integrations, along with the related gen_ai conventions. Determine how response text and tool calls should merge into gen_ai.output.messages, accounting for the unresolved Relay discussion. Done means all affected integrations emit the structured attribute without the deprecated response attributes.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
observability-sre
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.