未知任务状态错误带上 task id

- map_status 接收 task_id,Unknown 分支改用与其它映射失败一致的 OutputSchema
- provider 异常可与具体任务对上,不再是一条无主错误
This commit is contained in:
2026-09-22 15:47:01 +08:00
parent 1749f427c1
commit be07eb79c6
@@ -14,7 +14,7 @@ use crate::{
pub(crate) fn map_task(task: Task) -> Result<TripoTaskSnapshot, TripoError> {
let task_id = task.task_id;
let task_type = map_task_type(&task.task_type, &task_id)?;
let status = map_status(task.status)?;
let status = map_status(task.status, &task_id)?;
let output = match status {
Model3dTaskStatus::Completed => Some(map_output(
&task_id,
@@ -58,7 +58,7 @@ fn map_task_type(task_type: &str, task_id: &str) -> Result<TripoTaskType, TripoE
}
}
fn map_status(status: TaskStatus) -> Result<Model3dTaskStatus, TripoError> {
fn map_status(status: TaskStatus, task_id: &str) -> Result<Model3dTaskStatus, TripoError> {
match status {
TaskStatus::Queued => Ok(Model3dTaskStatus::Queued),
TaskStatus::Running => Ok(Model3dTaskStatus::Running),
@@ -66,7 +66,9 @@ fn map_status(status: TaskStatus) -> Result<Model3dTaskStatus, TripoError> {
TaskStatus::Failed | TaskStatus::Banned => Ok(Model3dTaskStatus::Failed),
TaskStatus::Cancelled => Ok(Model3dTaskStatus::Cancelled),
TaskStatus::Expired => Ok(Model3dTaskStatus::Expired),
TaskStatus::Unknown => Err(TripoError::Sdk {
// 与其它映射失败一致带上 task id:provider 异常要能和具体任务对上。
TaskStatus::Unknown => Err(TripoError::OutputSchema {
task_id: task_id.into(),
message: "Tripo returned unknown task status".into(),
}),
}