symfonic.platform.agent_boundary¶
agent_boundary ¶
Keep the compatibility facade out of native AgentHost composition.
UnsupportedAgentComposer ¶
Bases: TypeError
An AgentHost composer returned a result the native boundary refuses.
refuse_awaitable_agent ¶
Refuse an awaitable composer result without ever driving it.
AgentComposer is synchronous; an awaitable hides its agent from the boundary check. A future is cancelled and a coroutine closed; any other awaitable is borrowed and left alone. An Exception during cleanup does not mask the refusal; cancellation and process interrupts still propagate.
Source code in src/symfonic/platform/agent_boundary.py
require_supported_agent ¶
Reject the known incompatible producer without importing the engine.
A constructed SymfonicAgent necessarily has its defining module loaded; looking it up here keeps the engine off native imports and also catches subclasses. Other structural host agents remain supported.