From 0025cfe519f9ea16eee79500941434eb0e4e13e4 Mon Sep 17 00:00:00 2001 From: Dhravya Date: Tue, 27 Oct 2026 17:12:15 +0000 Subject: [PATCH 1/2] fix(lib): forward dreaming in $fetch document add and batch requests Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- packages/lib/api.ts | 2 ++ packages/validation/api.test.ts | 23 +++++++++++++++++++++++ packages/validation/api.ts | 10 +++++++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/packages/lib/api.ts b/packages/lib/api.ts index 7cf8755f..c3eec68f 100644 --- a/packages/lib/api.ts +++ b/packages/lib/api.ts @@ -8,6 +8,7 @@ import { BulkDeleteMemoriesSchema, ConnectionResponseSchema, ContainerTagSettingsUpdateSchema, + DreamingSchema, CreateProjectSchema, DeleteProjectResponseSchema, DeleteProjectSchema, @@ -231,6 +232,7 @@ export const apiSchema = createSchema({ containerTag: z.string().optional(), entityContext: z.string().max(1500).optional(), metadata: z.record(z.unknown()).optional(), + dreaming: DreamingSchema.optional(), }), output: z.object({ results: z.array( diff --git a/packages/validation/api.test.ts b/packages/validation/api.test.ts index fa52ed89..d76b4f87 100644 --- a/packages/validation/api.test.ts +++ b/packages/validation/api.test.ts @@ -4,6 +4,8 @@ import { BulkDeleteMemoriesSchema, DocumentsWithMemoriesQuerySchema, ListMemoriesQuerySchema, + MemoryAddSchema, + MemoryUpdateSchema, SearchRequestSchema, Searchv4RequestSchema, } from "./api" @@ -175,3 +177,24 @@ describe("pagination query schemas", () => { expect(BulkDeleteMemoriesSchema.safeParse(ok).success).toBe(true) }) }) + +describe("document add schemas", () => { + it("keeps dreaming on add requests", () => { + expect( + MemoryAddSchema.parse({ content: "probe", dreaming: "instant" }), + ).toEqual({ content: "probe", dreaming: "instant" }) + }) + + it("rejects unknown dreaming modes", () => { + expect( + MemoryAddSchema.safeParse({ content: "probe", dreaming: "eager" }) + .success, + ).toBe(false) + }) + + it("does not add dreaming to update requests", () => { + expect( + MemoryUpdateSchema.parse({ content: "probe", dreaming: "instant" }), + ).toEqual({ content: "probe" }) + }) +}) diff --git a/packages/validation/api.ts b/packages/validation/api.ts index ae6ac319..735eecfb 100644 --- a/packages/validation/api.ts +++ b/packages/validation/api.ts @@ -170,7 +170,15 @@ export const MemoryUpdateSchema = z.object({ }), }) -export const MemoryAddSchema = MemoryUpdateSchema +export const DreamingSchema = z.enum(["dynamic", "instant"]).openapi({ + description: + 'Processing mode. "dynamic" (default) groups related documents together before extracting memories; "instant" processes each document on its own right away.', + example: "instant", +}) + +export const MemoryAddSchema = MemoryUpdateSchema.extend({ + dreaming: DreamingSchema.optional(), +}) export const PaginationSchema = z .object({ From 3119e9e0d6d2890ff7b05e0b2fd989a3b5019397 Mon Sep 17 00:00:00 2001 From: Dhravya Date: Tue, 27 Oct 2026 17:14:24 +0000 Subject: [PATCH 2/2] refactor(validation): add dreaming directly to MemoryUpdateSchema Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- packages/validation/api.test.ts | 7 ------- packages/validation/api.ts | 17 ++++++++--------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/packages/validation/api.test.ts b/packages/validation/api.test.ts index d76b4f87..db619d10 100644 --- a/packages/validation/api.test.ts +++ b/packages/validation/api.test.ts @@ -5,7 +5,6 @@ import { DocumentsWithMemoriesQuerySchema, ListMemoriesQuerySchema, MemoryAddSchema, - MemoryUpdateSchema, SearchRequestSchema, Searchv4RequestSchema, } from "./api" @@ -191,10 +190,4 @@ describe("document add schemas", () => { .success, ).toBe(false) }) - - it("does not add dreaming to update requests", () => { - expect( - MemoryUpdateSchema.parse({ content: "probe", dreaming: "instant" }), - ).toEqual({ content: "probe" }) - }) }) diff --git a/packages/validation/api.ts b/packages/validation/api.ts index 735eecfb..d3a8aa22 100644 --- a/packages/validation/api.ts +++ b/packages/validation/api.ts @@ -138,6 +138,12 @@ export const MemorySchema = z example: exampleMemory, }) +export const DreamingSchema = z.enum(["dynamic", "instant"]).openapi({ + description: + 'Processing mode. "dynamic" (default) groups related documents together before extracting memories; "instant" processes each document on its own right away.', + example: "instant", +}) + export const MemoryUpdateSchema = z.object({ containerTags: z .array(z.string()) @@ -157,6 +163,7 @@ export const MemoryUpdateSchema = z.object({ "Optional custom ID of the memory. This could be an ID from your database that will uniquely identify this memory.", example: "mem_abc123", }), + dreaming: DreamingSchema.optional(), entityContext: z.string().max(1500).optional().openapi({ description: "Context for memory extraction on this container tag. Helps guide how memories are extracted and understood.", @@ -170,15 +177,7 @@ export const MemoryUpdateSchema = z.object({ }), }) -export const DreamingSchema = z.enum(["dynamic", "instant"]).openapi({ - description: - 'Processing mode. "dynamic" (default) groups related documents together before extracting memories; "instant" processes each document on its own right away.', - example: "instant", -}) - -export const MemoryAddSchema = MemoryUpdateSchema.extend({ - dreaming: DreamingSchema.optional(), -}) +export const MemoryAddSchema = MemoryUpdateSchema export const PaginationSchema = z .object({