// Проверка перевода формата Ollama в один вопрос для веб-чата. // Браузер и сам DeepSeek тут не нужны: node test.mjs import assert from 'node:assert/strict'; import { flatten, imageOf } from './server.mjs'; // У Ollama роли — отдельные сообщения, у веб-чата их нет: склеиваем по порядку, // пустые выбрасываем. Потеря system означала бы потерю всей инструкции. assert.equal( flatten([{ role: 'system', content: 'Отвечай JSON' }, { role: 'user', content: ' где кусачки? ' }, { role: 'user', content: '' }]), 'Отвечай JSON\n\nгде кусачки?'); assert.equal(flatten([]), ''); assert.equal(flatten(undefined), ''); // Картинка приезжает в base64 внутри сообщения — так её кладёт Ollama. const bytes = Buffer.from([0xff, 0xd8, 0xff]); assert.deepEqual(imageOf([{ role: 'user', content: 'что это?', images: [bytes.toString('base64')] }]), bytes); assert.equal(imageOf([{ role: 'user', content: 'без картинки' }]), null); console.log('OK: перевод формата работает');