This commit is contained in:
Kevin
2026-04-28 10:41:48 +08:00
parent 482b016872
commit 15884bd68e
60 changed files with 2092 additions and 1994 deletions

View File

@@ -15,7 +15,12 @@ class SurgeryStartRequest(BaseModel):
json_schema_extra={
"example": {
"surgery_id": "123456",
"camera_ids": ["or-cam-01", "or-cam-02"],
"camera_ids": [
"or-cam-01",
"or-cam-02",
"or-cam-03",
"or-cam-04",
],
"candidate_consumables": ["纱布", "缝线", "止血钳"],
}
}
@@ -164,6 +169,18 @@ class SurgeryPendingConfirmationResponse(BaseModel):
surgery_id: str
confirmation_id: str
pending_queue_length: int = Field(
ge=1,
description="本台手术待确认 FIFO 中仍为 pending 的条数(含本条),用于客户端按序播报。",
)
pending_queue_position: int = Field(
ge=1,
description="本条在当前 FIFO 中的排队序号1-based队首为 1与队尾相隔 pending_queue_length-1 条等待)。",
)
pending_cumulative_ordinal: int = Field(
ge=1,
description="本场手术中待确认任务自入队以来的累计序号(第几条入队任务)。",
)
prompt_text: str = Field(description="可直接用于展示或无障碍朗读的话术(与 MP3 内容一致)。")
prompt_audio_mp3_base64: str = Field(
description=(
@@ -181,8 +198,17 @@ class SurgeryPendingConfirmationResponse(BaseModel):
class SurgeryPendingConfirmationResolveResponse(BaseModel):
surgery_id: str
confirmation_id: str
status: str = Field(description="accepted")
status: str = Field(
description=(
"``accepted``:已确认或已否认并结案;"
"``failed``ASR/解析等可重试失败,队首待确认项未移除。"
),
)
message: str
error_code: str | None = Field(
default=None,
description="仅 status=failed 时与错误码一致(如 VOICE_ASR_FAILED",
)
resolved_label: str | None = Field(
default=None,
description="解析并确认后的耗材名称;否认全部候选时为 null。",