chore: format audioAsVoice updates

Co-authored-by: Manuel Hettich <17690367+ManuelHettich@users.noreply.github.com>
This commit is contained in:
Jarvis
2026-01-08 14:26:54 +00:00
committed by Peter Steinberger
parent 8c7d1781bc
commit 5fedfd8d15
6 changed files with 34 additions and 13 deletions

View File

@@ -1658,10 +1658,17 @@ export async function runEmbeddedPiAgent(params: {
if (inlineToolResults) {
for (const { toolName, meta } of toolMetas) {
const agg = formatToolAggregate(toolName, meta ? [meta] : []);
const { text: cleanedText, mediaUrls, audioAsVoice } =
splitMediaFromOutput(agg);
const {
text: cleanedText,
mediaUrls,
audioAsVoice,
} = splitMediaFromOutput(agg);
if (cleanedText)
replyItems.push({ text: cleanedText, media: mediaUrls, audioAsVoice });
replyItems.push({
text: cleanedText,
media: mediaUrls,
audioAsVoice,
});
}
}
@@ -1680,15 +1687,22 @@ export async function runEmbeddedPiAgent(params: {
? [fallbackAnswerText]
: [];
for (const text of answerTexts) {
const { text: cleanedText, mediaUrls, audioAsVoice } =
splitMediaFromOutput(text);
const {
text: cleanedText,
mediaUrls,
audioAsVoice,
} = splitMediaFromOutput(text);
if (
!cleanedText &&
(!mediaUrls || mediaUrls.length === 0) &&
!audioAsVoice
)
continue;
replyItems.push({ text: cleanedText, media: mediaUrls, audioAsVoice });
replyItems.push({
text: cleanedText,
media: mediaUrls,
audioAsVoice,
});
}
// Check if any replyItem has audioAsVoice tag - if so, apply to all media payloads

View File

@@ -440,7 +440,8 @@ export function subscribeEmbeddedPiSession(params: {
const splitResult = splitMediaFromOutput(chunk);
const { text: cleanedText, mediaUrls, audioAsVoice } = splitResult;
// Skip empty payloads, but always emit if audioAsVoice is set (to propagate the flag)
if (!cleanedText && (!mediaUrls || mediaUrls.length === 0) && !audioAsVoice) return;
if (!cleanedText && (!mediaUrls || mediaUrls.length === 0) && !audioAsVoice)
return;
void params.onBlockReply({
text: cleanedText,
mediaUrls: mediaUrls?.length ? mediaUrls : undefined,
@@ -863,8 +864,11 @@ export function subscribeEmbeddedPiSession(params: {
);
} else {
lastBlockReplyText = text;
const { text: cleanedText, mediaUrls, audioAsVoice } =
splitMediaFromOutput(text);
const {
text: cleanedText,
mediaUrls,
audioAsVoice,
} = splitMediaFromOutput(text);
// Emit if there's content OR audioAsVoice flag (to propagate the flag)
if (
cleanedText ||