diff --git a/mem0-ts/src/client/mem0.ts b/mem0-ts/src/client/mem0.ts index 33032c234..a9b6cd15e 100644 --- a/mem0-ts/src/client/mem0.ts +++ b/mem0-ts/src/client/mem0.ts @@ -298,7 +298,8 @@ export default class MemoryClient { body: JSON.stringify(payload), }, ); - return response; + // Unwrap v1.1 format: { results: [...] } → [...] + return Array.isArray(response) ? response : (response?.results ?? response); } async delete(memoryId: string): Promise<{ message: string }> { diff --git a/mem0-ts/src/client/tests/integration/helpers.ts b/mem0-ts/src/client/tests/integration/helpers.ts index 1eb137264..e873b66b6 100644 --- a/mem0-ts/src/client/tests/integration/helpers.ts +++ b/mem0-ts/src/client/tests/integration/helpers.ts @@ -92,11 +92,7 @@ export async function waitForSearchResults( maxRetries = 4, ): Promise { for (let attempt = 1; attempt <= maxRetries; attempt++) { - const response = await withRetry(() => client.search(query, options)); - // v3 returns { results: [...] }, unwrap for backward compat - const results = Array.isArray(response) - ? response - : (response?.results ?? []); + const results = await withRetry(() => client.search(query, options)); if (results.length > 0) { return results; } diff --git a/mem0-ts/src/client/tests/integration/search.test.ts b/mem0-ts/src/client/tests/integration/search.test.ts index 9f3a51610..1f3e9cf89 100644 --- a/mem0-ts/src/client/tests/integration/search.test.ts +++ b/mem0-ts/src/client/tests/integration/search.test.ts @@ -108,30 +108,22 @@ describeIntegration("MemoryClient Integration — Search & History", () => { // ─── Edge cases ───────────────────────────────────────── describe("edge cases", () => { test("search for non-existent user returns empty results", async () => { - const response = await client.search("anything", { + const results = await client.search("anything", { filters: { userId: `nonexistent-user-${randomUUID()}` }, }); - // v3 returns { results: [...] } - const results = Array.isArray(response) - ? response - : (response?.results ?? []); expect(Array.isArray(results)).toBe(true); expect(results.length).toBe(0); }); test("search with top_k param does not throw", async () => { - const response = await client.search( + const results = await client.search( "Tell me about integration test user", { filters: { userId: TEST_USER_ID }, topK: 1, }, ); - // v3 returns { results: [...] } - const results = Array.isArray(response) - ? response - : (response?.results ?? []); expect(Array.isArray(results)).toBe(true); });