Yield orchestrators for child groups and correct subscription context catalogs

This commit is contained in:
2026-09-14 22:32:18 -05:00
parent 506dc5b225
commit 72cd38b54e
27 changed files with 741 additions and 115 deletions
+16
View File
@@ -782,6 +782,19 @@ impl BlocklistAIHistoryModel {
title,
});
}
pub(crate) fn set_local_agent_groups(
&mut self,
conversation_id: AIConversationId,
groups: Vec<persistence::model::LocalAgentGroup>,
ctx: &mut ModelContext<Self>,
) {
let Some(conversation) = self.conversations_by_id.get_mut(&conversation_id) else {
return;
};
conversation.set_local_agent_groups(groups);
self.persist_conversation_state(conversation_id, ctx);
}
pub fn mark_conversation_as_remote_child(
&mut self,
conversation_id: AIConversationId,
@@ -1691,6 +1704,7 @@ impl BlocklistAIHistoryModel {
let conversation_data = AgentConversationData {
agent_backend: source_conversation.agent_backend().for_fork(),
active_provider_run_json: None,
local_agent_groups: Vec::new(),
server_conversation_token: None,
conversation_usage_metadata: Some(source_conversation.usage_metadata()),
reverted_action_ids,
@@ -1856,6 +1870,7 @@ impl BlocklistAIHistoryModel {
let conversation_data = AgentConversationData {
agent_backend: conversation.agent_backend().for_fork(),
active_provider_run_json: None,
local_agent_groups: Vec::new(),
server_conversation_token: None,
conversation_usage_metadata: None,
reverted_action_ids,
@@ -2866,6 +2881,7 @@ fn merged_remote_child_placeholder_conversation_data(
// Active process-local provider runs cannot be merged from a cloud transcript.
active_provider_run_json: None,
local_agent_groups: Vec::new(),
// Cloud authoritative.
server_conversation_token: cloud_conversation