""" Short-term memory handler. Handles requests to query short-term literal memories. """ import json from core.logger import setup_logger logger = setup_logger('short_memory_handler', service_name='memory_service') class ShortMemoryHandler: """Handles short-term memory query requests""" def __init__(self, short_term_ops): self.short_term_ops = short_term_ops async def handle(self, msg) -> None: """Handle short_memory requests - get recent literal memories""" try: payload = json.loads(msg.data.decode()) if msg.data else {} limit = payload.get('limit', 10) offset = payload.get('offset', 0) identity_id = payload.get('identity_id') interaction_id = payload.get('interaction_id') logger.debug(f"[μ] Short memory request: limit={limit}, offset={offset}") memories = self.short_term_ops.query( limit=limit, offset=offset, identity_id=identity_id, interaction_id=interaction_id ) response = { "status": "success", "memories": memories, "count": len(memories) } await msg.respond(json.dumps(response).encode()) except Exception as e: logger.exception(f"[μ] Failed to retrieve short-term memories: {e}") error_response = {"status": "error", "error": str(e)} await msg.respond(json.dumps(error_response).encode())