Repository navigation
test(agent): pin the conversation message contract - ConversationMessage - #2033
Merged
Merged
Conversation
Hold the one export of entrypoints/app/agent-command/ConversationMessage.tsx against its contract (#1569): the live turn answers the user text, the closed done-thinking trigger with its Thought label, the working task with the wrench trigger and every tool row with its status icon, subject and measured duration, and the produced file strip - the assistant text rides the streamdown renderer that mounts empty, the same measured reality the ChatMessages suite pins. The streaming empty turn answers the bot avatar with exactly three bouncing dots, the strip-only mount answers the strip alone, and the done turn collapses the task behind the singular activity title with its rows away. No module is mocked: the strip's turn-files fallback rides a real query client the way the outputs-rail suite mounts it. Closes #1569 Dmitrii Fedorov ([@dmitrii-f-t27](https://github.com/dmitrii-f-t27))
Summary by t27-beesThis PR adds a contract test for the Worth a look
Read: 1 files, +193 -0, the whole diff. Head |
β Tests passed β 3880/3950
|
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.
Summary
Hold the one export of
trios/agent-server/apps/agent/entrypoints/app/agent-command/ConversationMessage.tsxβConversationMessageβ against its contract (#1569), so the next change to that file has something to fail against.The message is a render plan over the turn, and what is pinned is what it answers today:
Thought for a few secondslabel; the task entry with theWorkingβ¦ (3 actions)title, the wrench trigger, and every tool row β status icon (lucide-loader-circle/lucide-circle-check/lucide-circle-x), label,Β· subject, and the measured duration (1.5s); the produced-files strip with the file name and size; and the assistant text draws nothing β the shared streamdown renderer's default stream mode mounts empty, the same measured reality the ChatMessages suite pins β with the bouncing-dots placeholder away while parts exist;Agent activity (1 action)title with the task rows collapsed away (the task'sdefaultOpenwiring).No module is mocked here at all: the strip's turn-files fallback rides a real query client the way the outputs-rail suite mounts it, and every kit stays real β so this suite adds no global stand-ins for any other suite to race.
Verification
bun test entrypoints/app/agent-command/ConversationMessage.test.tsβ 4 pass, 0 fail.allDoneβ!allDone) turns exactly the first and fourth tests red (2 fail); the copy restores clean viagit checkout.entrypoints/app/agent-command/group: 47 pass + the one pre-existingConversationInputlocal-order failure that fails identically without this suite (the marker-stub readdir artifact, not touched by this change β this suite registers no mocks).biome cion the suite file: clean.tsgo --noEmit: 0 mentions of the suite file.Closes #1569
Dmitrii Fedorov (@dmitrii-f-t27)