fix session routing and subagent visibility

This commit is contained in:
wuyang6
2026-06-12 11:06:04 +08:00
parent a6e7d2260b
commit 40d7c92a1d
9 changed files with 447 additions and 45 deletions
+11
View File
@@ -282,6 +282,7 @@ class LocalCodingAgent:
managed_group_id: str | None = None
managed_child_index: int | None = None
managed_label: str | None = None
session_metadata: dict[str, object] = field(default_factory=dict)
plugin_runtime: PluginRuntime | None = None
hook_policy_runtime: HookPolicyRuntime | None = None
mcp_runtime: MCPRuntime | None = None
@@ -3445,6 +3446,15 @@ class LocalCodingAgent:
managed_group_id=group_id,
managed_child_index=index,
managed_label=subtask_label,
session_metadata={
'visibility': 'child',
'parent_session_id': self.active_session_id or '',
'subagent_type': agent_def.agent_type,
'delegate_label': subtask_label,
'delegate_index': index,
'delegate_batch_index': batch_index,
**({'delegate_group_id': group_id} if group_id is not None else {}),
},
)
if self.tool_context.jupyter_runtime is not None:
child_agent.tool_context = replace(
@@ -4242,6 +4252,7 @@ class LocalCodingAgent:
else {}
),
scratchpad_directory=result.scratchpad_directory,
session_metadata=dict(self.session_metadata),
)
path = save_agent_session(
stored,
+6
View File
@@ -69,6 +69,7 @@ class StoredAgentSession:
plugin_state: JSONDict
scratchpad_directory: str | None = None
is_training: bool = False
session_metadata: JSONDict | None = None
def save_agent_session(session: StoredAgentSession, directory: Path | None = None) -> Path:
@@ -120,6 +121,11 @@ def load_agent_session(session_id: str, directory: Path | None = None) -> Stored
else None
),
is_training=bool(data.get('is_training', False)),
session_metadata=(
dict(data.get('session_metadata', {}))
if isinstance(data.get('session_metadata'), dict)
else {}
),
)