import type { MemoryPromptBudget } from "../context/memory-prompt-budget.ts"; import type { ToolDefinition } from "../extensions/types.ts"; export type MemorySurface = "context" | "routing" | "tooling" | "parametric"; /** Where raw memory queries are processed. Omitted classifications fail closed as external. */ export type MemoryProviderEgress = "local" | "external"; export interface MemoryCapabilities { surfaces: MemorySurface[]; } export interface MemoryLifecycleContext { agentDir: string; cwd: string; isChildSession: boolean; } export interface MemoryProvider { readonly name: string; readonly egress?: MemoryProviderEgress; isAvailable(): boolean | Promise; getCapabilities(): MemoryCapabilities; initialize(sessionId: string, ctx: MemoryLifecycleContext): Promise; shutdown(): Promise; systemPromptBlock?(budget?: MemoryPromptBudget): string; prefetch?(query: string): Promise; syncTurn?(user: string, assistant: string): Promise; onPreCompress?(): Promise; onSessionEnd?(): Promise; getToolDefinitions?(): ToolDefinition[]; getContextMarkers?(): string[]; } //# sourceMappingURL=memory-provider.d.ts.map