in websocket-server/src/sessionManager.ts [211:240]
function handleTruncation() {
if (
!session.lastAssistantItem ||
session.responseStartTimestamp === undefined
)
return;
const elapsedMs =
(session.latestMediaTimestamp || 0) - (session.responseStartTimestamp || 0);
const audio_end_ms = elapsedMs > 0 ? elapsedMs : 0;
if (isOpen(session.modelConn)) {
jsonSend(session.modelConn, {
type: "conversation.item.truncate",
item_id: session.lastAssistantItem,
content_index: 0,
audio_end_ms,
});
}
if (session.twilioConn && session.streamSid) {
jsonSend(session.twilioConn, {
event: "clear",
streamSid: session.streamSid,
});
}
session.lastAssistantItem = undefined;
session.responseStartTimestamp = undefined;
}