pub enum Executor {
Local,
Remote {
runner: RunnerConfig,
},
}Expand description
Which orchestrator runs the agent loop.
Note: the loop is ALWAYS server-side — clients (browser SDK, distri-cli) only execute external tools, not agent loops. So the only real distinction is “this orchestrator” vs “another orchestrator”.
Note that the kind of remote runner (sandbox / loopback / k8s / fly /
…) is NOT a closed enum here. Adding a new runner is purely an
orchestrator-side concern — register a new
RunnerInitializer under a fresh
RunnerConfig::kind string and the schema is unchanged. The DB only
records remote = true|false.
Variants§
Local
THIS orchestrator runs the loop. Tools the agent calls execute on
this server (or are dispatched to whoever is driving the loop —
the JS client, the local distri-cli, etc. — via is_external
tool-result POSTs).
Remote
Another orchestrator runs the loop. The RunnerConfig selects
which runner (kind is the registry key) and carries the
implementation-specific config the registered
[RunnerInitializer] parses. We follow the runner’s A2A stream
and relay events back onto our task’s broadcaster.
Fields
runner: RunnerConfigTrait Implementations§
Source§impl<'de> Deserialize<'de> for Executor
impl<'de> Deserialize<'de> for Executor
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Executor
impl StructuralPartialEq for Executor
Auto Trait Implementations§
impl Freeze for Executor
impl RefUnwindSafe for Executor
impl Send for Executor
impl Sync for Executor
impl Unpin for Executor
impl UnsafeUnpin for Executor
impl UnwindSafe for Executor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.