eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
56 lines (55 loc) • 2.69 kB
TypeScript
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 declare const MEMORY_NAMESPACE_MAX_BYTES = 1024;
export declare const MEMORY_SCOPE_COMPONENT_MAX_BYTES = 1024;
export declare const MEMORY_SCOPE_TUPLE_MAX_COMPONENTS = 16;
export declare const MEMORY_CANONICAL_KEY_INPUT_MAX_BYTES = 4096;
export declare const MEMORY_ITEM_ID_MAX_BYTES = 1024;
export declare const MEMORY_RAW_RECORD_MAX_COUNT = 512;
export declare const MEMORY_RAW_RECORD_MAX_BYTES = 262144;
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<MemoryScopeResolverResult, null>;
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 state: SessionStateMap;
};
export declare function projectMemoryHistory(input: {
readonly locks: Readonly<Record<string, InternalMemoryLock>>;
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;
export declare function readMemoryLocks(state: SessionStateMap | undefined): Readonly<Record<string, InternalMemoryLock>>;