import assert from 'node:assert/strict'; import test from 'node:test'; import { embedQuery, embedText } from './embed-memory-v2-local-hash.mjs'; test('embedText returns deterministic normalized vectors', () => { const first = embedText('memory chain local smoke', { dimensions: 8 }); const second = embedText('memory chain local smoke', { dimensions: 8 }); const norm = Math.sqrt(first.reduce((sum, value) => sum + value * value, 0)); assert.deepEqual(first, second); assert.equal(first.length, 8); assert.ok(Math.abs(norm - 1) < 0.000001); }); test('embedQuery accepts dimensions from runtime input', async () => { const vector = await embedQuery('pgvector canary', { dimensions: 3 }); assert.equal(vector.length, 3); assert.equal(vector.every((item) => Number.isFinite(item)), true); }); test('embedText validates dimensions', () => { assert.throws( () => embedText('bad', { dimensions: 0 }), /Invalid MEMORY_V2_LOCAL_EMBEDDING_DIMENSIONS/, ); });