Make direct-provider agent runs durable

This commit is contained in:
2026-08-14 22:02:15 -05:00
parent f4a04d0240
commit b079f036fa
50 changed files with 9473 additions and 3189 deletions
+5 -17
View File
@@ -6930,13 +6930,7 @@ impl TerminalView {
}
self.ai_controller.update(ctx, |controller, ctx| {
controller.resume_conversation(
*conversation_id,
/*can_attempt_resume_on_error*/ true,
/*is_auto_resume_after_error*/ false,
vec![],
ctx,
);
controller.resume_conversation(*conversation_id, vec![], ctx);
});
}
@@ -7261,7 +7255,7 @@ impl TerminalView {
ctx: &mut ViewContext<Self>,
) {
match event {
BlocklistAIActionEvent::ActionBlockedOnUserConfirmation(_) => {
BlocklistAIActionEvent::ActionBlockedOnUserConfirmation { .. } => {
let is_agent_in_control = self
.model
.lock()
@@ -7272,7 +7266,7 @@ impl TerminalView {
self.redetermine_terminal_focus(ctx);
}
}
BlocklistAIActionEvent::ExecutingAction(..) => {
BlocklistAIActionEvent::ExecutingAction { .. } => {
self.redetermine_terminal_focus(ctx);
ctx.notify();
}
@@ -7378,7 +7372,7 @@ impl TerminalView {
);
}
}
BlocklistAIActionEvent::QueuedAction(_)
BlocklistAIActionEvent::QueuedAction { .. }
| BlocklistAIActionEvent::ToolLifecycle { .. } => {}
}
}
@@ -11168,13 +11162,7 @@ impl TerminalView {
};
self.ai_controller.update(ctx, |controller, ctx| {
controller.resume_conversation(
conversation_id,
/*can_attempt_resume_on_error*/ true,
/*is_auto_resume_after_error*/ false,
resume_context,
ctx,
);
controller.resume_conversation(conversation_id, resume_context, ctx);
});
}
@@ -937,6 +937,7 @@ impl TerminalView {
let conversation_data = AgentConversationData {
agent_backend: Default::default(),
active_provider_run_json: None,
server_conversation_token: None,
conversation_usage_metadata: None,
reverted_action_ids: None,