feat(ai-monitoring): Return conversation title behind apiVersion=2 - #120746
Draft
vgrozdanic wants to merge 1 commit into
Draft
feat(ai-monitoring): Return conversation title behind apiVersion=2#120746vgrozdanic wants to merge 1 commit into
vgrozdanic wants to merge 1 commit into
Conversation
The details endpoint returns a bare list of spans, which leaves no room for conversation-level fields. Passing apiVersion=2 now returns an object with conversationId, title, and the spans under data. Requests without the parameter keep the existing list response, so the shape can be broken in a follow up once clients have moved over. Titles are keyed on (project_id, conversation_id_hash), so they are resolved against the projects of the returned spans. When a conversation id is titled in more than one project, the earliest title_source_timestamp wins, matching the earliest-span rule the title generation task already applies.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow up to #120665, which added
titleto the conversations list and left the details endpoint alone because adding one there breaks its response shape.That endpoint returns a bare array of spans, so there is nowhere to put a field that describes the conversation rather than a span. Passing
apiVersion=2now returns an object instead, with the spans moved underdata:Requests that don't send the parameter keep the old array, so this lands without touching the UI. The frontend switches over in its own PR, and only once it pins
apiVersion=2explicitly does flipping the default become safe for cached bundles. An unsupported value is a 400 rather than a silent fallback. Pagination is unaffected either way — cursors live in theLinkheader, not the body.