feat: add voice studio prototype flow
This commit is contained in:
@@ -25,6 +25,15 @@ class VoiceTurnCreateFallbackRequest(BaseModel):
|
||||
duration_ms: int | None = Field(default=None, ge=1, le=MAX_VOICE_TURN_DURATION_MS)
|
||||
|
||||
|
||||
class VoiceTurnUploadAcceptedResponse(BaseModel):
|
||||
"""Accepted response for one uploaded-audio voice turn."""
|
||||
|
||||
turn_id: str
|
||||
session_id: str
|
||||
status: str
|
||||
transcription_provider: str | None = None
|
||||
|
||||
|
||||
class VoiceSessionFinalizeRequest(BaseModel):
|
||||
"""Finalize one voice session into a persisted story."""
|
||||
|
||||
@@ -61,11 +70,14 @@ class VoiceTurnSummaryResponse(BaseModel):
|
||||
status: str
|
||||
user_transcript: str | None = None
|
||||
transcript_confidence: float | None = None
|
||||
transcription_provider: str | None = None
|
||||
detected_intent: str
|
||||
intent_confidence: float | None = None
|
||||
assistant_text: str | None = None
|
||||
assistant_audio_ready: bool = False
|
||||
assistant_audio_url: str | None = None
|
||||
user_audio_ready: bool = False
|
||||
user_audio_url: str | None = None
|
||||
error_message: str | None = None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
@@ -81,10 +93,14 @@ class VoiceSessionSummaryResponse(BaseModel):
|
||||
target_mode: str
|
||||
status: str
|
||||
current_turn_index: int
|
||||
total_turns: int = 0
|
||||
working_title: str | None = None
|
||||
story_state: dict[str, Any] = Field(default_factory=dict)
|
||||
latest_user_transcript: str | None = None
|
||||
latest_assistant_text: str | None = None
|
||||
latest_detected_intent: str | None = None
|
||||
latest_assistant_audio_ready: bool = False
|
||||
last_turn_status: str | None = None
|
||||
can_continue: bool = False
|
||||
can_finalize: bool = False
|
||||
last_error: str | None = None
|
||||
|
||||
Reference in New Issue
Block a user