pub struct CapabilityContext<'a> {
pub session_id: Option<&'a SessionId>,
pub turn_id: Option<&'a TurnId>,
pub metadata: &'a MetadataMap,
}Expand description
Shared execution context passed to all capability invocations.
The context carries the current session and turn identifiers so that
capabilities can correlate their work with the broader conversation.
A mutable reference is passed to every Invocable::invoke,
ResourceProvider::read_resource, and PromptProvider::get_prompt
call.
§Example
use agentkit_capabilities::CapabilityContext;
use agentkit_core::{MetadataMap, SessionId, TurnId};
let session = SessionId::new("sess-1");
let turn = TurnId::new("turn-1");
let meta = MetadataMap::new();
let mut ctx = CapabilityContext {
session_id: Some(&session),
turn_id: Some(&turn),
metadata: &meta,
};
assert_eq!(ctx.session_id.unwrap().0, "sess-1");Fields§
§session_id: Option<&'a SessionId>The active session identifier, if one has been established.
turn_id: Option<&'a TurnId>The current turn identifier within the session, if available.
metadata: &'a MetadataMapAmbient metadata shared across all capabilities for this invocation.
Trait Implementations§
Source§impl<'a> Clone for CapabilityContext<'a>
impl<'a> Clone for CapabilityContext<'a>
Source§fn clone(&self) -> CapabilityContext<'a>
fn clone(&self) -> CapabilityContext<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a> Debug for CapabilityContext<'a>
impl<'a> Debug for CapabilityContext<'a>
Source§impl<'a> PartialEq for CapabilityContext<'a>
impl<'a> PartialEq for CapabilityContext<'a>
impl<'a> Eq for CapabilityContext<'a>
impl<'a> StructuralPartialEq for CapabilityContext<'a>
Auto Trait Implementations§
impl<'a> Freeze for CapabilityContext<'a>
impl<'a> RefUnwindSafe for CapabilityContext<'a>
impl<'a> Send for CapabilityContext<'a>
impl<'a> Sync for CapabilityContext<'a>
impl<'a> Unpin for CapabilityContext<'a>
impl<'a> UnsafeUnpin for CapabilityContext<'a>
impl<'a> UnwindSafe for CapabilityContext<'a>
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
Mutably borrows from an owned value. Read more