fix(box): reload workspace-scoped skills after reconnect

This commit is contained in:
Hyu
2026-08-31 19:18:19 +08:00
parent 1b7ae791b3
commit b4980ab536
2 changed files with 9 additions and 2 deletions
+8 -1
View File
@@ -278,7 +278,14 @@ class BoxService:
skill_mgr = getattr(self.ap, 'skill_mgr', None)
reload_skills = getattr(skill_mgr, 'reload_skills', None)
if callable(reload_skills) and not self._cloud_managed:
await reload_skills()
binding = await self.ap.workspace_service.get_execution_binding()
await reload_skills(
ExecutionContext(
instance_uuid=binding.instance_uuid,
workspace_uuid=binding.workspace_uuid,
placement_generation=binding.placement_generation,
)
)
self.ap.logger.info('Box runtime reconnected, sandbox features restored.')
return
except Exception as exc:
+1 -1
View File
@@ -565,7 +565,7 @@ async def test_box_service_reconnect_restores_workspace_and_runs_cleanup(
connector.reconnect.assert_awaited_once()
service._ensure_default_workspace.assert_called_once()
service._purge_attachment_dirs.assert_awaited_once()
app.skill_mgr.reload_skills.assert_awaited_once()
app.skill_mgr.reload_skills.assert_awaited_once_with(_CONTEXT)
assert service.available is True