fix status mismatch
This commit is contained in:
@@ -283,7 +283,7 @@ fn build_delta_messages(
|
||||
attachments: Vec::new(),
|
||||
tool_call: Some(EditorAgentToolCall {
|
||||
tool_name: tco.tool_call.name,
|
||||
status: EditorAgentToolCallStatus::Pending,
|
||||
status: EditorAgentToolCallStatus::NotCompleted,
|
||||
args: tco.tool_call.args,
|
||||
display_args,
|
||||
external_job_id: None,
|
||||
@@ -480,13 +480,13 @@ pub async fn cancel_editor_agent_tool_call(
|
||||
.tool_call
|
||||
.as_mut()
|
||||
.ok_or_else(|| editor_agent_bad_request("message has no tool call"))?;
|
||||
if tc.status != EditorAgentToolCallStatus::Pending || tc.external_job_id.is_some() {
|
||||
if tc.status != EditorAgentToolCallStatus::NotCompleted || tc.external_job_id.is_some() {
|
||||
return Err(editor_agent_bad_request(
|
||||
"tool call is no longer pending confirmation",
|
||||
));
|
||||
}
|
||||
|
||||
tc.status = EditorAgentToolCallStatus::Canceled;
|
||||
tc.status = EditorAgentToolCallStatus::Cancelled;
|
||||
let arg_json = tc.args.to_string();
|
||||
msg.text = format!(
|
||||
"[tool_call:{tool_name}] args: {arg_json} output: 用户已取消该操作",
|
||||
@@ -535,10 +535,10 @@ pub async fn confirm_editor_agent_tool_call(
|
||||
.tool_call
|
||||
.as_ref()
|
||||
.ok_or_else(|| editor_agent_bad_request("message has no tool call"))?;
|
||||
if tool_call.status == EditorAgentToolCallStatus::Canceled {
|
||||
if tool_call.status == EditorAgentToolCallStatus::Cancelled {
|
||||
return Err(editor_agent_bad_request("tool call was cancelled"));
|
||||
}
|
||||
if tool_call.status != EditorAgentToolCallStatus::Pending
|
||||
if tool_call.status != EditorAgentToolCallStatus::NotCompleted
|
||||
|| tool_call.external_job_id.is_some()
|
||||
{
|
||||
return Ok(json_success_body(Some(&request_context), message));
|
||||
@@ -861,7 +861,7 @@ pub async fn confirm_editor_agent_tool_call(
|
||||
.as_mut()
|
||||
.ok_or_else(|| editor_agent_bad_request("message has no tool call"))?;
|
||||
tool_call.external_job_id = Some(job.job_id);
|
||||
tool_call.status = EditorAgentToolCallStatus::Executing;
|
||||
tool_call.status = EditorAgentToolCallStatus::NotCompleted;
|
||||
write_messages_document(&state, &conversation, &document).await?;
|
||||
Ok(json_success_body(
|
||||
Some(&request_context),
|
||||
|
||||
Reference in New Issue
Block a user