diff --git a/src/config/schema.ts b/src/config/schema.ts index 4b5dbcc..0b5dd57 100644 --- a/src/config/schema.ts +++ b/src/config/schema.ts @@ -610,6 +610,17 @@ const memorySchema = z.object({ max_context_tokens: z.number().min(100).max(10000).default(2000), embedding: embeddingSchema, qmd: qmdSchema, + /** + * When set, all channels share user/* memory (unified identity namespace). + * Absent = current session-scoped behavior, unchanged. + */ + user_namespace: z.string().optional(), + /** How long working memory remains valid after the last compaction (days). */ + working_memory_ttl_days: z.number().min(1).max(365).default(14), + /** Token budget for working memory injection at session start. */ + working_memory_max_tokens: z.number().min(100).max(4000).default(1000), + /** When true, instruct the model to acknowledge prior context on session start. */ + proactive_session_greeting: z.boolean().default(false), }).default({}); const compactionSchema = z.object({