import type { ModelMessage } from "ai"; import type { LockedMemorySlot } from "#context/keys.js"; import type { SessionStateMap } from "#harness/types.js"; import type { MemoryRecallResult, MemoryScopeResolverResult } from "#public/memory/index.js"; export interface InternalMemoryLock extends LockedMemorySlot { readonly namespaceKey: string; readonly scopeKey: string; } export interface NormalizedMemoryRecallMessage { readonly content: string; readonly itemKey?: string; } export interface MemoryRecallBatch { readonly lock: InternalMemoryLock; readonly messages: readonly NormalizedMemoryRecallMessage[]; readonly operationId: string; } export declare function createMemoryLock(input: { readonly namespace: string; readonly scope: Exclude; readonly slot: string; readonly turn: LockedMemorySlot["turn"]; readonly visibility: LockedMemorySlot["visibility"]; }): InternalMemoryLock; export declare function validateMemoryRecallResult(result: MemoryRecallResult, slot: string): readonly NormalizedMemoryRecallMessage[]; export declare function applyMemoryRecallBatches(input: { readonly batches: readonly MemoryRecallBatch[]; readonly history: readonly ModelMessage[]; readonly state: SessionStateMap | undefined; }): { readonly history: ModelMessage[]; readonly recalledMessages: ModelMessage[]; readonly state: SessionStateMap; }; export declare function projectMemoryHistory(input: { readonly locks: Readonly>; readonly messages: readonly ModelMessage[]; }): readonly ModelMessage[]; export declare function projectMemoryHistoryFromSessionState(input: { readonly messages: readonly ModelMessage[]; readonly state: SessionStateMap | undefined; }): readonly ModelMessage[]; export declare function canonicalizeMemoryRecords(messages: readonly ModelMessage[]): { readonly memory: ModelMessage[]; readonly ordinary: ModelMessage[]; }; export declare function shouldCanonicalizeMemory(messages: readonly ModelMessage[]): boolean; export declare function clearMemorySessionState(state: SessionStateMap | undefined): SessionStateMap;