개선관리 요구사항과 Google 로그인을 완료
This commit is contained in:
parent
cc0a15b7c6
commit
2a39636163
112 changed files with 10166 additions and 527 deletions
|
|
@ -62,6 +62,10 @@ class InProcSession:
|
|||
theory_mode: str
|
||||
persona: PersonaCard
|
||||
state: SessionState
|
||||
# 승인된 불변 카드의 DB 식별자. 코드만으로는 같은 코드의 버전 핀을
|
||||
# 증명할 수 없으므로 런타임 read model에도 복합 키를 보존한다.
|
||||
persona_id: str | None = None
|
||||
persona_version: int | None = None
|
||||
session_no: int = 1
|
||||
created_at: float = field(default_factory=time.time)
|
||||
ended_at: Optional[float] = None
|
||||
|
|
@ -70,6 +74,8 @@ class InProcSession:
|
|||
prev_rapport_credit: float = 0.0 # carry-over delta 계산용
|
||||
learner_label: str | None = None
|
||||
goal_stages: list[str] = field(default_factory=list) # 이번 회기 목표 단계(학습자 선택, 최대 4)
|
||||
# 계정 설정 변경과 진행 중 회기의 race를 막는 회기 시작 시점 정책 스냅샷.
|
||||
learner_feedback_enabled: bool = True
|
||||
|
||||
def turns_visible_to(self, role: str) -> list[TurnRecord]:
|
||||
return [turn for turn in self.turns if turn.is_visible_to(role)]
|
||||
|
|
@ -96,9 +102,12 @@ class SessionStore:
|
|||
persona: PersonaCard,
|
||||
theory_mode: str,
|
||||
state: SessionState,
|
||||
persona_id: str | None = None,
|
||||
persona_version: int | None = None,
|
||||
session_no: int = 1,
|
||||
carry_rapport: float = 0.0,
|
||||
goal_stages: list[str] | None = None,
|
||||
learner_feedback_enabled: bool = True,
|
||||
) -> InProcSession:
|
||||
session_id = uuid4().hex
|
||||
case_id = uuid4().hex
|
||||
|
|
@ -110,9 +119,12 @@ class SessionStore:
|
|||
theory_mode=theory_mode,
|
||||
persona=persona,
|
||||
state=state,
|
||||
persona_id=persona_id,
|
||||
persona_version=persona_version,
|
||||
session_no=session_no,
|
||||
prev_rapport_credit=carry_rapport,
|
||||
goal_stages=list(goal_stages or []),
|
||||
learner_feedback_enabled=learner_feedback_enabled,
|
||||
)
|
||||
self._sessions[session_id] = s
|
||||
return s
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue