File size: 1,901 Bytes
eb3f11e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | // Transcript repair runtime contract helpers build agent transcript repair fixtures.
import type { AgentMessage } from "../../../agents/runtime/index.js";
export const QUEUED_USER_MESSAGE_MARKER =
"[Queued user message from a previous active turn; preserved as context only. " +
"Continue with the active prompt below.]";
export function textOrphanLeaf(text = "older active-turn message"): { content: string } {
return { content: text };
}
export function structuredOrphanLeaf(): { content: unknown[] } {
return {
content: [
{ type: "text", text: "please inspect this" },
{ type: "image_url", image_url: { url: "https://example.test/cat.png" } },
{ type: "input_audio", audio_url: "https://example.test/cat.wav" },
],
};
}
export function inlineDataUriOrphanLeaf(): { content: unknown[] } {
return {
content: [
{ type: "text", text: "please inspect this inline image" },
{ type: "image_url", image_url: { url: `data:image/png;base64,${"a".repeat(4096)}` } },
],
};
}
export function mediaOnlyHistoryMessage(): AgentMessage {
return {
role: "user",
content: [{ type: "image", data: "b".repeat(2048), mimeType: "image/png" }],
timestamp: 1,
} as AgentMessage;
}
export function structuredHistoryMessage(): AgentMessage {
return {
role: "user",
content: [
{ type: "text", text: "older structured context" },
{ type: "image", data: "c".repeat(64), mimeType: "image/png" },
],
timestamp: 1,
} as AgentMessage;
}
export function currentPromptHistoryMessage(prompt: string): AgentMessage {
return {
role: "user",
content: [{ type: "text", text: prompt }],
timestamp: 2,
} as AgentMessage;
}
export function assistantHistoryMessage(text = "ack"): AgentMessage {
return {
role: "assistant",
content: [{ type: "text", text }],
timestamp: 2,
} as AgentMessage;
}
|