修正外部任务摘要状态读取边界

移除从轻量任务摘要读取主任务结果载荷的错误实现。

画布 Agent 继续轮询摘要状态,并通过画布完成回写刷新工程结果。
This commit is contained in:
2026-07-13 15:01:34 +08:00
parent 7f6d5722be
commit 4e0c0c8cd9
11 changed files with 9 additions and 92 deletions
@@ -172,7 +172,6 @@ pub(crate) fn editor_generation_queue_state(
progress: 8,
error: job.last_error_message,
updated_at_micros: job.updated_at_micros,
result: None,
}
}
@@ -180,11 +180,6 @@ fn map_external_generation_job_status(
progress,
error: job.last_error_message.clone(),
updated_at_micros: job.updated_at_micros,
result: job
.result_payload_json
.as_deref()
.and_then(|payload| serde_json::from_str::<Value>(payload).ok())
.and_then(|payload| payload.get("response").cloned()),
}
}
@@ -671,9 +671,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(error) => {
let message = error.body_text();
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -701,9 +699,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(error) => {
let message = error.body_text();
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -732,9 +728,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(error) => {
let message = error.body_text();
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -762,9 +756,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(error) => {
let message = error.body_text();
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -792,9 +784,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(error) => {
let message = error.body_text();
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -823,9 +813,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(response) => {
let message = response_error_message(response).await;
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -854,9 +842,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(response) => {
let message = response_error_message(response).await;
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -885,9 +871,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(response) => {
let message = response_error_message(response).await;
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -916,9 +900,7 @@ async fn process_external_generation_job_once(
)
.await
{
Ok(result) => {
complete_editor_generation_job(&state, &worker_id, &job, result.0).await
}
Ok(_) => complete_editor_generation_job(&state, &worker_id, &job).await,
Err(response) => {
let message = response_error_message(response).await;
fail_job(&state, &worker_id, &job, message.clone()).await?;
@@ -1023,7 +1005,6 @@ async fn complete_editor_generation_job(
state: &AppState,
worker_id: &str,
job: &ExternalGenerationJobRecord,
result: serde_json::Value,
) -> Result<(), String> {
complete_job(
state,
@@ -1033,7 +1014,6 @@ async fn complete_editor_generation_job(
json!({
"sourceModule": job.source_module.clone(),
"sourceEntityId": job.source_entity_id.clone(),
"response": result,
})
.to_string(),
),
@@ -354,7 +354,6 @@ fn map_jump_hop_queue_job_status(
progress: 8,
error: job.last_error_message,
updated_at_micros: job.updated_at_micros,
result: None,
}
}
@@ -262,7 +262,6 @@ fn map_puzzle_queue_job_status(
.unwrap_or(100),
error: job.last_error_message.clone(),
updated_at_micros: job.updated_at_micros,
result: None,
}
}
@@ -331,7 +331,6 @@ fn map_puzzle_clear_queue_job_status(
progress: 8,
error: job.last_error_message,
updated_at_micros: job.updated_at_micros,
result: None,
}
}
@@ -340,7 +340,6 @@ fn map_wooden_fish_queue_job_status(
progress: 8,
error: job.last_error_message,
updated_at_micros: job.updated_at_micros,
result: None,
}
}
@@ -34,8 +34,6 @@ pub struct ExternalGenerationJobStatusRecord {
pub progress: u8,
pub error: Option<String>,
pub updated_at_micros: i64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub result: Option<serde_json::Value>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]