pub struct RuntimeContext {
pub config: Arc<RwLock<Config>>,
pub audit: Arc<AuditSink>,
pub tool_registry: Arc<RwLock<ToolRegistry>>,
pub model_manager: Option<Arc<ModelManager>>,
pub sandbox: Arc<AgentSandbox>,
pub policy_engine: Arc<PolicyEngine>,
pub perf_collector: Arc<RwLock<PerfCollector>>,
pub plugin_manager: Arc<RwLock<PluginManager>>,
pub feature_detector: Arc<FeatureDetector>,
}
Expand description
Central runtime context that holds all system state
Fields§
§config: Arc<RwLock<Config>>
§audit: Arc<AuditSink>
§tool_registry: Arc<RwLock<ToolRegistry>>
§model_manager: Option<Arc<ModelManager>>
§sandbox: Arc<AgentSandbox>
§policy_engine: Arc<PolicyEngine>
§perf_collector: Arc<RwLock<PerfCollector>>
§plugin_manager: Arc<RwLock<PluginManager>>
§feature_detector: Arc<FeatureDetector>
Implementations§
Source§impl RuntimeContext
impl RuntimeContext
pub fn new() -> Self
pub async fn audit_action(&self, agent_id: &str, action: &str, outcome: &str)
Sourcepub async fn has_enterprise_feature(&self, feature: &str) -> bool
pub async fn has_enterprise_feature(&self, feature: &str) -> bool
Check if an enterprise feature is available through plugins
Sourcepub async fn get_enterprise_features(&self) -> Vec<String>
pub async fn get_enterprise_features(&self) -> Vec<String>
Get list of all available enterprise features
Sourcepub async fn get_available_features(&self) -> Vec<String>
pub async fn get_available_features(&self) -> Vec<String>
Get list of all available core features
Sourcepub async fn load_enterprise_plugins(&self) -> Result<()>
pub async fn load_enterprise_plugins(&self) -> Result<()>
Load enterprise plugins (not available in community edition)
Sourcepub async fn check_feature_status(&self, feature: &str) -> FeatureStatus
pub async fn check_feature_status(&self, feature: &str) -> FeatureStatus
Enhanced feature detection with detailed status
Sourcepub async fn require_feature(&self, feature: &str) -> Result<()>
pub async fn require_feature(&self, feature: &str) -> Result<()>
Require a feature or return detailed error
Sourcepub async fn get_feature_summary(&self) -> FeatureSummary
pub async fn get_feature_summary(&self) -> FeatureSummary
Get comprehensive feature summary for this installation
Sourcepub async fn get_category_status(&self, category: &str) -> Vec<FeatureStatus>
pub async fn get_category_status(&self, category: &str) -> Vec<FeatureStatus>
Get status for all features in a category
Sourcepub async fn is_enterprise_complete(&self) -> bool
pub async fn is_enterprise_complete(&self) -> bool
Check if running enterprise edition with full features
Trait Implementations§
Source§impl Clone for RuntimeContext
impl Clone for RuntimeContext
Source§fn clone(&self) -> RuntimeContext
fn clone(&self) -> RuntimeContext
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 moreAuto Trait Implementations§
impl Freeze for RuntimeContext
impl !RefUnwindSafe for RuntimeContext
impl Send for RuntimeContext
impl Sync for RuntimeContext
impl Unpin for RuntimeContext
impl !UnwindSafe for RuntimeContext
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more