feat(agent): add voice input and photo attachments to assistant
Wire mic through Whisper-compatible transcriptions on LLM_BASE_URL. Photos upload to MinIO and reach the vision model as base64 image_url parts.
This commit is contained in:
@@ -4,6 +4,7 @@ import {
|
||||
clearAssistantChat,
|
||||
loadAssistantChat,
|
||||
saveAssistantChat,
|
||||
toClientChatMessage,
|
||||
} from "../../src/modules/agent/assistant-chat-storage";
|
||||
|
||||
const storage = new Map<string, string>();
|
||||
@@ -49,4 +50,15 @@ describe("assistant chat storage", () => {
|
||||
clearAssistantChat("user-a");
|
||||
assert.deepEqual(loadAssistantChat("user-a"), []);
|
||||
});
|
||||
|
||||
it("maps stored image messages to client attachments", () => {
|
||||
const message = toClientChatMessage({
|
||||
role: "user",
|
||||
content: "read this",
|
||||
imageUrl: "/api/uploads/assistant/home/photo.jpg",
|
||||
});
|
||||
assert.deepEqual(message.attachments, [
|
||||
{ type: "image", url: "/api/uploads/assistant/home/photo.jpg" },
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user