pub enum SessionEffect {
GrantManageMob {
mob_id: String,
},
RequestDeferredTools {
names: BTreeSet<String>,
witnesses: BTreeMap<String, ToolVisibilityWitness>,
},
}Expand description
Outcome of a tool dispatch, separating transcript data from execution metadata.
result is what the model sees (conversation/transcript). async_ops is
what the runtime scheduler sees (barrier/detached classification). This
prevents hooks, persistence, and message serialization from accidentally
owning barrier semantics.
Typed session-level effect produced by tool dispatch.
Tools that need to mutate session-owned durable state (e.g., mob authority)
must NOT call SessionService methods from inside dispatch. Instead they
return typed effects here, and the turn owner (agent loop) merges and commits
them after the parallel tool batch completes.
Variants§
GrantManageMob
Grant management scope for a specific mob.
RequestDeferredTools
Record durable deferred-tool requests for subsequent boundaries.
Trait Implementations§
Source§impl Clone for SessionEffect
impl Clone for SessionEffect
Source§fn clone(&self) -> SessionEffect
fn clone(&self) -> SessionEffect
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SessionEffect
impl Debug for SessionEffect
Source§impl<'de> Deserialize<'de> for SessionEffect
impl<'de> Deserialize<'de> for SessionEffect
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>,
Source§impl PartialEq for SessionEffect
impl PartialEq for SessionEffect
Source§impl Serialize for SessionEffect
impl Serialize for SessionEffect
impl Eq for SessionEffect
impl StructuralPartialEq for SessionEffect
Auto Trait Implementations§
impl Freeze for SessionEffect
impl RefUnwindSafe for SessionEffect
impl Send for SessionEffect
impl Sync for SessionEffect
impl Unpin for SessionEffect
impl UnsafeUnpin for SessionEffect
impl UnwindSafe for SessionEffect
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.