| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- from typing import Any, Protocol
- from agent_lab.domain.messages import ChatMessage, TokenUsage
- class SessionStore(Protocol):
- def create_session(
- self,
- *,
- title: str,
- config: dict[str, Any],
- session_id: str | None = None,
- ) -> str:
- ...
- def ensure_session(
- self,
- session_id: str | None,
- *,
- title: str,
- config: dict[str, Any],
- ) -> str:
- ...
- def list_sessions(self) -> list[dict[str, Any]]:
- ...
- def get_session(self, session_id: str) -> dict[str, Any] | None:
- ...
- def next_turn_index(self, session_id: str) -> int:
- ...
- def start_turn(
- self,
- session_id: str,
- *,
- turn_index: int,
- user_message: str,
- ) -> None:
- ...
- def complete_turn(self, session_id: str, *, turn_index: int) -> None:
- ...
- def append_message(
- self,
- session_id: str,
- *,
- turn_index: int,
- message: ChatMessage,
- ) -> None:
- ...
- def append_messages(
- self,
- session_id: str,
- *,
- turn_index: int,
- messages: list[ChatMessage],
- ) -> None:
- ...
- def append_audit(
- self,
- session_id: str,
- *,
- event: str,
- details: dict[str, Any],
- turn_index: int | None = None,
- round_index: int | None = None,
- ) -> None:
- ...
- def append_usage(
- self,
- session_id: str,
- *,
- turn_index: int,
- round_index: int,
- usage: TokenUsage,
- ttft_ms: int | None,
- elapsed_ms: int,
- ) -> None:
- ...
- def list_messages(self, session_id: str) -> list[dict[str, Any]]:
- ...
- def list_audit_logs(self, session_id: str) -> list[dict[str, Any]]:
- ...
- def usage_summary(self, session_id: str) -> dict[str, Any]:
- ...
|