Merge Memory V2 runtime facade
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import test from 'node:test';
|
||||
import { once } from 'node:events';
|
||||
import { createMockMemoryV2Service } from './mock-memory-v2-services.mjs';
|
||||
|
||||
test('mock memory v2 service stores mem0, letta, and langgraph requests', async () => {
|
||||
const service = createMockMemoryV2Service();
|
||||
const server = service.createServer();
|
||||
server.listen(0, '127.0.0.1');
|
||||
await once(server, 'listening');
|
||||
const { port } = server.address();
|
||||
const baseUrl = `http://127.0.0.1:${port}`;
|
||||
|
||||
await fetch(`${baseUrl}/mem0/v1/memories`, {
|
||||
method: 'POST',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
body: JSON.stringify({ user_id: 'u1', messages: [{ text: 'hello mem0' }] }),
|
||||
});
|
||||
await fetch(`${baseUrl}/letta/v1/agents/agent_1/messages`, {
|
||||
method: 'POST',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
body: JSON.stringify({ user_id: 'u1', messages: [{ text: 'hello letta' }] }),
|
||||
});
|
||||
const langgraphResponse = await fetch(`${baseUrl}/langgraph/memory/resolve`, {
|
||||
method: 'POST',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
body: JSON.stringify({ user_id: 'u1', query: 'route me' }),
|
||||
});
|
||||
const langgraphPayload = await langgraphResponse.json();
|
||||
const stateResponse = await fetch(`${baseUrl}/__admin/state`);
|
||||
const statePayload = await stateResponse.json();
|
||||
|
||||
assert.equal(statePayload.state.mem0.writes.length, 1);
|
||||
assert.equal(statePayload.state.letta.messages.length, 1);
|
||||
assert.equal(statePayload.state.langgraph.resolves.length, 1);
|
||||
assert.deepEqual(langgraphPayload.activeGoals, ['route-memory']);
|
||||
|
||||
await new Promise((resolve, reject) => server.close((err) => (err ? reject(err) : resolve())));
|
||||
});
|
||||
Reference in New Issue
Block a user