( msg: UserMessage | AssistantMessage, parts: Part[], options: TranscriptOptions, providers?: Provider[] | ReadonlyMap<string, Provider>, )
| 44 | } |
| 45 | |
| 46 | export function formatMessage( |
| 47 | msg: UserMessage | AssistantMessage, |
| 48 | parts: Part[], |
| 49 | options: TranscriptOptions, |
| 50 | providers?: Provider[] | ReadonlyMap<string, Provider>, |
| 51 | ): string { |
| 52 | let result = "" |
| 53 | |
| 54 | if (msg.role === "user") { |
| 55 | result += `## User\n\n` |
| 56 | } else { |
| 57 | result += formatAssistantHeader(msg, options.assistantMetadata, providers ?? options.providers) |
| 58 | } |
| 59 | |
| 60 | for (const part of parts) { |
| 61 | result += formatPart(part, options) |
| 62 | } |
| 63 | |
| 64 | return result |
| 65 | } |
| 66 | |
| 67 | export function formatAssistantHeader( |
| 68 | msg: AssistantMessage, |
no test coverage detected