Files
life-echo/api/app/features/memory/prompt_adapter.py

27 lines
749 B
Python
Raw Normal View History

"""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"]