mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-09-12 12:47:42 +02:00
32 lines
1.5 KiB
Python
32 lines
1.5 KiB
Python
"""The delegation tool names, in ONE place, because two lists of names that must agree will not.
|
|
|
|
`BrowserAgents` was registered as a real tool and left out of the wedge-exemption set, so the
|
|
quick-tool watchdog armed on every PARALLEL browser run. It does not fire at 25s -- the ENG-353
|
|
heartbeat check extends a slow-but-alive call to 120s and then 300s -- but `wedge_verdict` kills
|
|
unconditionally at the 300s hard ceiling, and immediately whenever the sidecar heartbeat goes stale.
|
|
So any parallel browser run past five minutes was terminated, and a busy sidecar could lose one
|
|
sooner. The singular `BrowserAgent` was exempt, so the bug was invisible to anyone testing one
|
|
browser at a time and looked like "browser use disconnects constantly" to the one person running
|
|
several (Haik, ~100% failure over weeks).
|
|
|
|
Nothing checked the two lists against each other. Now there is only one list.
|
|
"""
|
|
|
|
from typing import List, Set
|
|
|
|
# Every tool that hands work to a browser, an app, or another agent. These BLOCK for as long as the
|
|
# delegated run takes, so no quick-tool deadline may apply to them.
|
|
BROWSER_DELEGATION_TOOLS: List[str] = [
|
|
"CreateBrowserAgent", "BrowserAgent", "BrowserAgents", "AppAgent",
|
|
]
|
|
|
|
# Everything else that legitimately blocks on a human, a model, or a whole delegated run.
|
|
OTHER_BLOCKING_TOOLS: Set[str] = {
|
|
"AskUI", "AskUserQuestion", "ShowUI",
|
|
"SpawnAgent", "InvokeAgent", "RequestHumanIntervention",
|
|
"MCPSearch", "MCPActivate",
|
|
"RunToolScript",
|
|
}
|
|
|
|
BLOCKING_TOOLS: Set[str] = set(BROWSER_DELEGATION_TOOLS) | OTHER_BLOCKING_TOOLS
|