Restore agent tool panes and require explicit session resume

Persist direct-provider tool calls, results, display details, and turn identities so saved conversations rebuild individual panes. Keep restored runs dormant until explicitly resumed and bind queued shell commands to their actual execution blocks.
This commit is contained in:
2026-09-20 17:11:41 -05:00
parent d7fbc09bcf
commit 35ff43de7f
21 changed files with 1011 additions and 88 deletions
+10
View File
@@ -2455,6 +2455,16 @@ impl BlocklistAIActionModel {
let permission_denied = self
.denied_permissions
.remove(&(conversation_id, action_result.id.clone()));
if execution_ref.is_some() {
BlocklistAIHistoryModel::handle(ctx).update(ctx, |history, ctx| {
if let Some(conversation) = history.conversation_mut(&conversation_id) {
if let Err(error) = conversation.save_provider_tool_result(&action_result, ctx)
{
log::error!("Failed to save provider tool result: {error}");
}
}
});
}
let tool_result = domain_tool_result(&action_result, permission_denied);
if execution_ref.is_none() {
self.finished_tool_results