Files
TORCH/test/memory-embedder.test.mjs
T

40 lines
1.2 KiB
JavaScript

import test from 'node:test';
import assert from 'node:assert/strict';
import { createEmbedderAdapter, embedText } from '../src/services/memory/embedder.js';
test('createEmbedderAdapter selects in-memory backend and supports vector CRUD', async () => {
const adapter = createEmbedderAdapter({ backend: 'inmemory' });
const vector = await adapter.embedText('hello world');
await adapter.upsertVector({
id: 'vec-1',
vector,
metadata: { agent_id: 'a1', context_excerpt: 'hello world' },
});
const results = await adapter.queryVector({
vector,
k: 1,
filter: { agent_id: 'a1' },
});
assert.equal(results.length, 1);
assert.equal(results[0].id, 'vec-1');
assert.equal(results[0].metadata.context_excerpt, 'hello world');
const deleted = await adapter.deleteVector('vec-1');
assert.equal(deleted, true);
});
test('createEmbedderAdapter reads backend from environment', async () => {
process.env.MEMORY_VECTOR_BACKEND = 'local';
const adapter = createEmbedderAdapter();
const vector = await embedText('env selected', { adapter });
assert.ok(Array.isArray(vector));
assert.ok(vector.length > 0);
delete process.env.MEMORY_VECTOR_BACKEND;
});