In Process Turn Executor • AI Agent SDK
InProcessTurnExecutor: Default turn executor — today's on-loop behaviour, no isolation.
InProcessTurnExecutor
Defined in the protocols module.
AI Agent
Default turn executor — today’s on-loop behaviour, no isolation.
Zero-cost, dependency-free implementation of :class:TurnExecutorProtocol for single-process deployments. It runs each turn directly on the current event loop exactly as the gateway does today, so selecting it (or leaving the executor unset) is byte-for-byte backward compatible and introduces no dependency. It provides no blast-radius isolation: a turn that wedges the loop still affects the process — choosing an isolated executor (subprocess / container / remote, in the wrapper) is what contains a bad turn to its own worker.
All turns share one worker (the current process/loop), so every placement carries the same constant `worker_id at epoch 0, and teardown is inert — an in-process turn is cancelled through the existing cancel_token when the holding task exits, so there is no worker to reclaim. The limits` argument is accepted for protocol symmetry but is inert here (no separate worker to bound).
Methods
Source
View on GitHubpraisonaiagents/gateway/protocols.py at line 7619