diff --git a/extensions/qa-lab/src/providers/mock-openai/server.test.ts b/extensions/qa-lab/src/providers/mock-openai/server.test.ts index f5fe5998105..90566f7dc31 100644 --- a/extensions/qa-lab/src/providers/mock-openai/server.test.ts +++ b/extensions/qa-lab/src/providers/mock-openai/server.test.ts @@ -834,7 +834,9 @@ describe("qa mock openai server", () => { }), }); expect(memory.status).toBe(200); - expect(await memory.text()).toContain('"name":"memory_search"'); + const memoryText = await memory.text(); + expect(memoryText).toContain('"name":"memory_search"'); + expect(memoryText).toContain('\\"corpus\\":\\"sessions\\"'); const memoryFollowup = await fetch(`${server.baseUrl}/v1/responses`, { method: "POST", diff --git a/extensions/qa-lab/src/providers/mock-openai/server.ts b/extensions/qa-lab/src/providers/mock-openai/server.ts index f7dfa6c69fa..2224f8177c5 100644 --- a/extensions/qa-lab/src/providers/mock-openai/server.ts +++ b/extensions/qa-lab/src/providers/mock-openai/server.ts @@ -1373,6 +1373,7 @@ async function buildResponsesPayload( return buildToolCallEventsWithArgs("memory_search", { query: "current Project Nebula codename ORBIT-10", maxResults: 3, + corpus: "sessions", }); } const results = Array.isArray(toolJson?.results) diff --git a/qa/scenarios/memory/session-memory-ranking.md b/qa/scenarios/memory/session-memory-ranking.md index d3101c0fa8f..acbbe85870a 100644 --- a/qa/scenarios/memory/session-memory-ranking.md +++ b/qa/scenarios/memory/session-memory-ranking.md @@ -127,6 +127,18 @@ steps: - ref: transcriptPath - expr: "[JSON.stringify({ type: 'session', id: config.transcriptId, timestamp: new Date(now - 120000).toISOString() }), JSON.stringify({ type: 'message', message: { role: 'user', timestamp: new Date(now - 90000).toISOString(), content: [{ type: 'text', text: config.transcriptQuestion }] } }), JSON.stringify({ type: 'message', message: { role: 'assistant', timestamp: new Date(now - 60000).toISOString(), content: [{ type: 'text', text: config.transcriptAnswer }] } })].join('\\n') + '\\n'" - utf8 + - call: readRawQaSessionStore + saveAs: sessionStore + args: + - ref: env + - set: sessionStorePath + value: + expr: "path.join(env.gateway.tempRoot, 'state', 'agents', 'qa', 'sessions', 'sessions.json')" + - call: fs.writeFile + args: + - ref: sessionStorePath + - expr: "JSON.stringify({ ...sessionStore, ['agent:qa:seed-session-memory-ranking']: { sessionId: config.transcriptId, updatedAt: now, sessionFile: transcriptPath, origin: { label: 'QA seeded session memory ranking transcript' } } }, null, 2)" + - utf8 - call: forceMemoryIndex args: - env: