Merge Memory V2 runtime facade

This commit is contained in:
john
2026-07-03 09:46:03 +08:00
parent 7005c2a834
commit 20116b161f
69 changed files with 11869 additions and 27 deletions
@@ -0,0 +1,27 @@
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/,
);
});