From 0025cfe519f9ea16eee79500941434eb0e4e13e4 Mon Sep 17 00:00:00 2001 From: Dhravya Date: Tue, 27 Oct 2026 17:12:15 +0000 Subject: [PATCH] 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({