import type { BuiltEpisodicMemoryStore, BuiltMemory, EpisodicMemoryMethods, MemoryDescriptor, Thread } from '../../types'; import type { AgentDbMessage } from '../../types/sdk/message'; import type { ObservationCursor } from '../../types/sdk/observation'; import type { BuiltObservationLogStore, BuiltObservationLogTaskLockStore, NewObservationLogEntry, ObservationLogEntry, ObservationLogReadOptions, ObservationLogReflection, ObservationLogReflectionResult, ObservationLogScope, ObservationLogTaskKind, ObservationLogTaskLockHandle } from '../../types/sdk/observation-log'; export declare class InMemoryMemory implements BuiltMemory, BuiltObservationLogStore, BuiltObservationLogTaskLockStore, BuiltEpisodicMemoryStore { private threads; private messagesByThread; private observationLogByScope; private cursorsByScope; private locksByScope; private episodicMemory; private episodicMemorySources; private episodicMemoryCursorsByScope; private episodicMemoryLocksByResource; readonly episodic: EpisodicMemoryMethods; getThread(threadId: string): Promise; saveThread(thread: Omit): Promise; deleteThread(threadId: string): Promise; getMessages(threadId: string, opts?: { limit?: number; before?: Date; resourceId?: string; }): Promise; saveMessages(args: { threadId: string; resourceId?: string; messages: AgentDbMessage[]; }): Promise; deleteMessages(messageIds: string[]): Promise; describe(): MemoryDescriptor; appendObservationLogEntries(rows: NewObservationLogEntry[]): Promise; getActiveObservationLog(scope: ObservationLogScope & { limit?: number; order?: 'asc' | 'desc'; }): Promise; getObservationLog(opts: ObservationLogReadOptions): Promise; dropObservationLogEntries(ids: string[]): Promise; supersedeObservationLogEntries(ids: string[], supersededBy: string): Promise; applyObservationLogReflection(scope: ObservationLogScope, reflection: ObservationLogReflection): Promise; getMessagesForObservationScope(observationScopeId: string, opts?: { since?: { sinceCreatedAt: Date; sinceMessageId: string; }; }): Promise; getCursor(observationScopeId: string): Promise; setCursor(cursor: ObservationCursor): Promise; acquireObservationLogTaskLock(observationScopeId: string, taskKind: ObservationLogTaskKind, opts: { ttlMs: number; holderId: string; }): Promise; private acquireScopeLock; releaseObservationLogTaskLock(handle: ObservationLogTaskLockHandle): Promise; private releaseScopeLock; private saveEpisodicMemoryEntries; private saveEpisodicMemoryEntrySources; private saveEpisodicMemoryEntryWithSources; private searchEpisodicMemoryEntries; private supersedeEpisodicMemoryEntries; private getEpisodicMemoryEntrySources; private applyEpisodicMemoryReflection; private getEpisodicMemoryCursor; private setEpisodicMemoryCursor; private acquireEpisodicMemoryTaskLock; private releaseEpisodicMemoryTaskLock; } export declare function saveMessagesToThread(memory: BuiltMemory, threadId: string, resourceId: string, messages: AgentDbMessage[]): Promise;