when multiple subagents are spawned, any one agent hitting a stopping point (e.g. permissions) ends up waiting until all threads resolve before it can be answered. that seems inefficient.
i think the culprit is the naieve bare await here:
|
const result = await deps.resultTool({ |
the pi extension should probably have an "await registry" that allows for interruptions.
when multiple subagents are spawned, any one agent hitting a stopping point (e.g. permissions) ends up waiting until all threads resolve before it can be answered. that seems inefficient.
i think the culprit is the naieve bare
awaithere:avenor/packages/pi/src/index.ts
Line 1232 in dbb35aa
the pi extension should probably have an "await registry" that allows for interruptions.