magnitude-core
Version:
Magnitude e2e testing agent
34 lines (33 loc) • 1.14 kB
TypeScript
import { MultiMediaMessage } from '@/ai/baml_client';
import { Observation, ObservationRetentionOptions, ObservationRole, ObservationSource } from './observation';
import { MultiMediaJson } from './serde';
export interface SerializedAgentMemory {
instructions?: string;
observations: {
source: ObservationSource;
role: ObservationRole;
timestamp: number;
data: MultiMediaJson;
options?: ObservationRetentionOptions;
}[];
}
export interface AgentMemoryOptions {
instructions?: string | null;
promptCaching?: boolean;
thoughtLimit?: number;
}
export declare class AgentMemory {
private options;
private observations;
private freezeMask?;
private cacheControlIndices;
constructor(options?: AgentMemoryOptions);
get instructions(): string | null;
render(): Promise<MultiMediaMessage[]>;
isEmpty(): boolean;
recordThought(content: string): void;
recordObservation(obs: Observation): void;
getLastThoughtMessage(): string | null;
toJSON(): Promise<SerializedAgentMemory>;
loadJSON(data: SerializedAgentMemory): Promise<void>;
}