Merge Memory V2 runtime facade
This commit is contained in:
@@ -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/,
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user