"""Memory-to-prompt adapter boundary.""" from __future__ import annotations from typing import Any, Mapping from app.features.memory.chat_memory_injection import ( InterviewMemorySlices, slice_interview_memory, ) from app.features.memory.runtime_types import MemoryEvidenceBundle class MemoryPromptAdapter: """Converts retrieved evidence into prompt-specific slices.""" def slice_for_interview( self, evidence: MemoryEvidenceBundle | Mapping[str, Any] | None, user_message: str, ) -> InterviewMemorySlices: raw = evidence.raw if isinstance(evidence, MemoryEvidenceBundle) else evidence return slice_interview_memory(dict(raw or {}), user_message) __all__ = ["MemoryPromptAdapter"]