Stabilize runtime auth and E2E coverage
This commit is contained in:
parent
6a3e3b541c
commit
188e899394
133 changed files with 55987 additions and 6775 deletions
|
|
@ -42,6 +42,8 @@ class InProcSession:
|
|||
persona: PersonaCard
|
||||
state: SessionState
|
||||
session_no: int = 1
|
||||
created_at: float = field(default_factory=time.time)
|
||||
ended_at: Optional[float] = None
|
||||
turns: list[TurnRecord] = field(default_factory=list)
|
||||
ended: bool = False
|
||||
prev_rapport_credit: float = 0.0 # carry-over delta 계산용
|
||||
|
|
@ -55,7 +57,7 @@ class InProcSession:
|
|||
|
||||
|
||||
class SessionStore:
|
||||
"""in-memory 세션 레지스트리. DB degraded 시 SoR 대용."""
|
||||
"""in-memory 세션 저장소. DB degraded 시 SoR 대용."""
|
||||
|
||||
def __init__(self) -> None:
|
||||
self._sessions: dict[str, InProcSession] = {}
|
||||
|
|
@ -89,6 +91,12 @@ class SessionStore:
|
|||
def get(self, session_id: str) -> Optional[InProcSession]:
|
||||
return self._sessions.get(session_id)
|
||||
|
||||
def put(self, session: InProcSession) -> None:
|
||||
self._sessions[session.session_id] = session
|
||||
|
||||
def list(self) -> list[InProcSession]:
|
||||
return list(self._sessions.values())
|
||||
|
||||
def append_turn(self, session_id: str, turn: TurnRecord) -> None:
|
||||
s = self._sessions.get(session_id)
|
||||
if s is not None:
|
||||
|
|
@ -103,6 +111,7 @@ class SessionStore:
|
|||
s = self._sessions.get(session_id)
|
||||
if s is not None:
|
||||
s.ended = True
|
||||
s.ended_at = time.time()
|
||||
return s
|
||||
|
||||
def remove(self, session_id: str) -> None:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue