/** * ChatContextDigest — distilled view of a chat session used as anti-duplication * input for the decision-question generator. Each field is bounded so the * digest stays compact even as sessions grow. */ import { z } from "zod"; export declare const ChatContextDigestSchema: z.ZodObject<{ /** Facts the user volunteered (stage, location, role, timing, scope, …). */ statedFacts: z.ZodArray; /** Questions the assistant asked that the user has not yet answered. */ openQuestions: z.ZodArray; /** User pushback / negative signals on prior cards. */ rejectionReasons: z.ZodArray; /** Facts the assistant has already surfaced from prior negotiation turns. */ surfacedFindings: z.ZodArray; }, "strip", z.ZodTypeAny, { statedFacts: string[]; openQuestions: string[]; rejectionReasons: string[]; surfacedFindings: string[]; }, { statedFacts: string[]; openQuestions: string[]; rejectionReasons: string[]; surfacedFindings: string[]; }>; export type ChatContextDigest = z.infer;