import { SearchFilters } from "../types"; export interface EntityOptions { userId?: string; agentId?: string; runId?: string; } export interface AddMemoryOptions extends EntityOptions { metadata?: Record; filters?: SearchFilters; infer?: boolean; batchSize?: number; // Number of messages per batch (default: 5) batchStride?: number; // Stride between batches (default: 2) enableBatching?: boolean; // Enable automatic batching for large message sets (default: true) } export interface SearchMemoryOptions extends EntityOptions { limit?: number; filters?: SearchFilters; includeContext?: boolean; contextWindowSize?: number; // Number of messages before and after to include as context useSearchAgents?: boolean; // Enable intelligent search agents maxAgentSteps?: number; // Maximum number of additional steps agents can take enableMultihop?: boolean; // Enable multihop agent analysis (default: false) maxHops?: number; // Maximum number of analysis hops (default: 3) includeFullMessages?: boolean; // Whether to include full message details in results (default: false for efficiency) reasoningCustomInstructions?: string; // Custom instructions for the reasoning engine that determines if more search is needed } // Internal search options used by search agents and memory operations // Deliberately excludes customInstructions to ensure they're never used in intermediate steps export interface InternalSearchOptions extends EntityOptions { limit?: number; filters?: SearchFilters; includeContext?: boolean; contextWindowSize?: number; useSearchAgents?: boolean; maxAgentSteps?: number; enableMultihop?: boolean; maxHops?: number; // Note: customInstructions are intentionally excluded from internal operations } export interface ChatMemoryOptions extends EntityOptions { limit?: number; filters?: SearchFilters; includeContext?: boolean; // Include context messages in response generation contextWindowSize?: number; // Number of messages before and after to include as context useSearchAgents?: boolean; // Enable intelligent search agents for enhanced results maxAgentSteps?: number; // Maximum number of additional steps agents can take enableMultihop?: boolean; // Enable multihop agent analysis (default: true for chat) maxHops?: number; // Maximum number of analysis hops (default: 3) temperature?: number; // Control response creativity (0.0 to 1.0) maxTokens?: number; // Maximum tokens in response responseCustomInstructions?: string; // Custom instructions for the final chat response generation reasoningCustomInstructions?: string; // Custom instructions for the reasoning engine that determines if more search is needed // @deprecated - use responseCustomInstructions instead customInstructions?: string; // Legacy field for backward compatibility } export interface DeleteAllMemoryOptions extends EntityOptions {} export interface GetAllMemoryOptions extends EntityOptions { limit?: number; }