(message: ChatMessage)
| 18 | const STORAGE_KEY = "htmlstream-chat-session-v1"; |
| 19 | |
| 20 | function repairAssistantMessage(message: ChatMessage): ChatMessage { |
| 21 | if (message.role !== "assistant") { |
| 22 | return message; |
| 23 | } |
| 24 | |
| 25 | const content = typeof message.content === "string" ? message.content : ""; |
| 26 | const reasoning = |
| 27 | typeof message.reasoning === "string" ? message.reasoning : ""; |
| 28 | |
| 29 | if (!content.includes('"kind":"')) { |
| 30 | return { ...message, content, reasoning: reasoning || undefined }; |
| 31 | } |
| 32 | |
| 33 | const repaired = splitStoredStreamText(content); |
| 34 | return { |
| 35 | ...message, |
| 36 | reasoning: reasoning || repaired.reasoning || undefined, |
| 37 | content: repaired.content, |
| 38 | }; |
| 39 | } |
| 40 | |
| 41 | export function repairSession(session: ChatSession): ChatSession { |
| 42 | return { |
nothing calls this directly
no test coverage detected