@@ -4,16 +4,13 @@ import { describe, expect, it, vi } from "vitest";
44import { createInlineCodeState } from "../../packages/markdown-core/src/code-spans.js" ;
55import { createStreamingDirectiveAccumulator } from "../auto-reply/reply/streaming-directives.js" ;
66import {
7- buildAssistantStreamData ,
87 consumePendingAssistantReplyDirectivesIntoReply ,
98 consumePendingToolMediaIntoReply ,
109 consumePendingToolMediaReply ,
1110 handleMessageEnd ,
1211 handleMessageUpdate ,
1312 hasAssistantVisibleReply ,
1413 readPendingToolMediaReply ,
15- recordPendingAssistantReplyDirectives ,
16- resolveSilentReplyFallbackText ,
1714} from "./embedded-agent-subscribe.handlers.messages.js" ;
1815import type { EmbeddedAgentSubscribeContext } from "./embedded-agent-subscribe.handlers.types.js" ;
1916import {
@@ -199,50 +196,6 @@ function createMessageToolEnvelope(message: string, args: Record<string, unknown
199196 } ) ;
200197}
201198
202- describe ( "resolveSilentReplyFallbackText" , ( ) => {
203- it ( "replaces NO_REPLY with latest messaging tool text when available" , ( ) => {
204- expect (
205- resolveSilentReplyFallbackText ( {
206- text : "NO_REPLY" ,
207- messagingToolSentTexts : [ "first" , "final delivered text" ] ,
208- } ) ,
209- ) . toBe ( "final delivered text" ) ;
210- } ) ;
211-
212- it ( "keeps original text when response is not NO_REPLY" , ( ) => {
213- expect (
214- resolveSilentReplyFallbackText ( {
215- text : "normal assistant reply" ,
216- messagingToolSentTexts : [ "final delivered text" ] ,
217- } ) ,
218- ) . toBe ( "normal assistant reply" ) ;
219- } ) ;
220-
221- it ( "keeps NO_REPLY when there is no messaging tool text to mirror" , ( ) => {
222- expect (
223- resolveSilentReplyFallbackText ( {
224- text : "NO_REPLY" ,
225- messagingToolSentTexts : [ ] ,
226- } ) ,
227- ) . toBe ( "NO_REPLY" ) ;
228- } ) ;
229-
230- it ( "tolerates malformed text payloads without throwing" , ( ) => {
231- expect (
232- resolveSilentReplyFallbackText ( {
233- text : undefined ,
234- messagingToolSentTexts : [ "final delivered text" ] ,
235- } ) ,
236- ) . toBe ( "" ) ;
237- expect (
238- resolveSilentReplyFallbackText ( {
239- text : "NO_REPLY" ,
240- messagingToolSentTexts : [ 42 as unknown as string ] ,
241- } ) ,
242- ) . toBe ( "42" ) ;
243- } ) ;
244- } ) ;
245-
246199describe ( "hasAssistantVisibleReply" , ( ) => {
247200 it ( "treats audio-only payloads as visible" , ( ) => {
248201 expect ( hasAssistantVisibleReply ( { audioAsVoice : true } ) ) . toBe ( true ) ;
@@ -255,38 +208,16 @@ describe("hasAssistantVisibleReply", () => {
255208 } ) ;
256209} ) ;
257210
258- describe ( "buildAssistantStreamData" , ( ) => {
259- it ( "normalizes media payloads for assistant stream events" , ( ) => {
260- expect (
261- buildAssistantStreamData ( {
262- text : "hello" ,
263- delta : "he" ,
264- replace : true ,
265- mediaUrl : "https://example.com/a.png" ,
266- phase : "final_answer" ,
267- } ) ,
268- ) . toEqual ( {
269- text : "hello" ,
270- delta : "he" ,
271- replace : true ,
272- mediaUrls : [ "https://example.com/a.png" ] ,
273- phase : "final_answer" ,
274- } ) ;
275- } ) ;
276- } ) ;
277-
278211describe ( "pending assistant reply directives" , ( ) => {
279212 it ( "merges directive metadata into the next non-reasoning block reply" , ( ) => {
280- const state = { pendingAssistantReplyDirectives : undefined } ;
281-
282- recordPendingAssistantReplyDirectives ( state , {
283- text : "" ,
284- mediaUrls : [ "/tmp/reply.ogg" ] ,
285- replyToCurrent : true ,
286- replyToTag : true ,
287- audioAsVoice : true ,
288- isSilent : false ,
289- } ) ;
213+ const state = {
214+ pendingAssistantReplyDirectives : {
215+ mediaUrls : [ "/tmp/reply.ogg" ] ,
216+ replyToCurrent : true ,
217+ replyToTag : true ,
218+ audioAsVoice : true ,
219+ } ,
220+ } ;
290221
291222 expect (
292223 consumePendingAssistantReplyDirectivesIntoReply ( state , {
0 commit comments