Files
openclaw-mission-control/backend/app/services/activity_log.py
2026-03-04 16:01:56 +05:30

34 lines
788 B
Python

"""Utilities for recording normalized activity events."""
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from uuid import UUID
from sqlmodel.ext.asyncio.session import AsyncSession
from app.models.activity_events import ActivityEvent
def record_activity(
session: AsyncSession,
*,
event_type: str,
message: str,
agent_id: UUID | None = None,
task_id: UUID | None = None,
board_id: UUID | None = None,
) -> ActivityEvent:
"""Create and attach an activity event row to the current DB session."""
event = ActivityEvent(
event_type=event_type,
message=message,
agent_id=agent_id,
task_id=task_id,
board_id=board_id,
)
session.add(event)
return event