Files
memind/scripts/embed-memory-v2-local-hash.test.mjs
2026-07-03 09:46:03 +08:00

28 lines
985 B
JavaScript

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/,
);
});