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,53 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import {
parseMemoryV2ContractArgs,
runMemoryV2ContractCli,
} from './check-memory-v2-contracts.mjs';
function writableBuffer() {
let value = '';
return {
write(chunk) {
value += String(chunk);
},
value() {
return value;
},
};
}
test('parseMemoryV2ContractArgs parses options', () => {
assert.deepEqual(parseMemoryV2ContractArgs(['--include-pgvector-adapter']), {
includePgvectorAdapter: true,
help: false,
});
assert.deepEqual(parseMemoryV2ContractArgs(['--help']), {
includePgvectorAdapter: false,
help: true,
});
});
test('runMemoryV2ContractCli passes for default backend contracts', async () => {
const stdout = writableBuffer();
const code = await runMemoryV2ContractCli({ stdout });
const report = JSON.parse(stdout.value());
assert.equal(code, 0);
assert.equal(report.ok, true);
assert.equal(report.summary.backendCount, 9);
assert.equal(report.summary.availableBackends[0], 'legacy-conversation-memory');
});
test('runMemoryV2ContractCli passes with real disabled pgvector adapter', async () => {
const stdout = writableBuffer();
const code = await runMemoryV2ContractCli({
argv: ['--include-pgvector-adapter'],
stdout,
});
const report = JSON.parse(stdout.value());
assert.equal(code, 0);
assert.equal(report.ok, true);
assert.equal(report.backends.find((backend) => backend.name === 'pgvector').category, 'semantic');
});