pub struct AppBuilder { /* private fields */ }Implementations§
Source§impl AppBuilder
impl AppBuilder
Sourcepub async fn new(
config_override: Option<&Path>,
vault_override: Option<&str>,
vault_key_override: Option<&Path>,
vault_path_override: Option<&Path>,
) -> Result<Self, BootstrapError>
pub async fn new( config_override: Option<&Path>, vault_override: Option<&str>, vault_key_override: Option<&Path>, vault_path_override: Option<&Path>, ) -> Result<Self, BootstrapError>
Resolve config, load it, create vault, resolve secrets.
CLI-provided overrides take priority over environment variables and config.
§Errors
Returns BootstrapError if config loading, validation, vault construction,
secret resolution, or Qdrant URL parsing fails.
pub fn qdrant_ops(&self) -> Option<&QdrantOps>
pub fn config(&self) -> &Config
pub fn config_mut(&mut self) -> &mut Config
pub fn config_path(&self) -> &Path
Sourcepub fn vault(&self) -> &dyn VaultProvider
pub fn vault(&self) -> &dyn VaultProvider
Returns the vault provider used for secret resolution.
Retained as part of the public Bootstrap API for external callers
that may inspect or override vault behavior at runtime.
Sourcepub fn age_vault_arc(&self) -> Option<&Arc<RwLock<AgeVaultProvider>>>
pub fn age_vault_arc(&self) -> Option<&Arc<RwLock<AgeVaultProvider>>>
Returns the shared age vault, if the backend is age.
Pass this to create_mcp_manager_with_vault so OAuth tokens are persisted
across sessions.
Sourcepub async fn build_provider(
&self,
) -> Result<(AnyProvider, UnboundedSender<String>, UnboundedReceiver<String>), BootstrapError>
pub async fn build_provider( &self, ) -> Result<(AnyProvider, UnboundedSender<String>, UnboundedReceiver<String>), BootstrapError>
§Errors
Returns BootstrapError if provider creation or health check fails.
pub fn auto_budget_tokens(&self, provider: &AnyProvider) -> usize
Sourcepub async fn build_memory(
&self,
provider: &AnyProvider,
) -> Result<SemanticMemory, BootstrapError>
pub async fn build_memory( &self, provider: &AnyProvider, ) -> Result<SemanticMemory, BootstrapError>
§Errors
Returns BootstrapError if SQLite cannot be initialized or if vector_backend = "Qdrant"
but qdrant_ops is None (invariant violation — should not happen if AppBuilder::new
succeeded).
Source§impl AppBuilder
impl AppBuilder
pub async fn build_skill_matcher( &self, provider: &AnyProvider, meta: &[&SkillMeta], memory: &SemanticMemory, ) -> Option<SkillMatcherBackend>
pub fn build_registry(&self) -> SkillRegistry
pub fn skill_paths(&self) -> Vec<PathBuf>
pub fn managed_skills_dir() -> PathBuf
pub fn build_watchers(&self) -> WatcherBundle
pub fn build_shutdown() -> (Sender<bool>, Receiver<bool>)
pub fn embedding_model(&self) -> String
pub fn build_summary_provider(&self) -> Option<AnyProvider>
Sourcepub fn build_quarantine_provider(
&self,
) -> Option<(AnyProvider, QuarantineConfig)>
pub fn build_quarantine_provider( &self, ) -> Option<(AnyProvider, QuarantineConfig)>
Build the quarantine summarizer provider when security.content_isolation.quarantine.enabled = true.
Returns None when quarantine is disabled or provider resolution fails.
Emits a tracing::warn on resolution failure (quarantine silently disabled).
Sourcepub fn build_guardrail_filter(&self) -> Option<GuardrailFilter>
pub fn build_guardrail_filter(&self) -> Option<GuardrailFilter>
Build the guardrail filter when security.guardrail.enabled = true.
Returns None when guardrail is disabled or provider resolution fails.
Emits a tracing::warn on resolution failure (guardrail silently disabled).
Sourcepub fn build_guardrail_provider(&self) -> Option<(AnyProvider, GuardrailConfig)>
pub fn build_guardrail_provider(&self) -> Option<(AnyProvider, GuardrailConfig)>
Build the guardrail provider and config pair for use in multi-session contexts.
Returns None when guardrail is disabled or provider resolution fails.
Sourcepub fn build_judge_provider(&self) -> Option<AnyProvider>
pub fn build_judge_provider(&self) -> Option<AnyProvider>
Build a dedicated provider for the judge detector when detector_mode = judge.
Returns None when mode is Regex or judge_model is empty (primary provider used).
Emits a tracing::warn when mode is Judge but no model is specified.
Sourcepub fn build_feedback_classifier(
&self,
primary: &AnyProvider,
) -> Option<LlmClassifier>
pub fn build_feedback_classifier( &self, primary: &AnyProvider, ) -> Option<LlmClassifier>
Build an LlmClassifier for detector_mode = "model" feedback detection.
Resolves feedback_provider from [[llm.providers]] registry.
Pass the session’s primary provider as primary for fallback when feedback_provider
is empty. Returns None with a warning on resolution failure — never fails startup.
Sourcepub fn build_probe_provider(&self) -> Option<AnyProvider>
pub fn build_probe_provider(&self) -> Option<AnyProvider>
Build a dedicated provider for compaction probe LLM calls.
Returns None when probe_provider is empty (falls back to summary provider at call site).
Emits a tracing::warn on resolution failure (summary/primary provider used as fallback).
Sourcepub fn build_compress_provider(&self) -> Option<AnyProvider>
pub fn build_compress_provider(&self) -> Option<AnyProvider>
Build a dedicated provider for compress_context LLM calls (#2356).
Returns None when compress_provider is empty (falls back to primary provider at call site).
Emits a tracing::warn on resolution failure (primary provider used as fallback).
Sourcepub fn build_guidelines_provider(&self) -> Option<AnyProvider>
pub fn build_guidelines_provider(&self) -> Option<AnyProvider>
Build a dedicated provider for ACON compression guidelines LLM calls.
Returns None when guidelines_provider is empty (falls back to primary provider at call site).
§Errors (logged, not propagated)
Emits a tracing::warn on resolution failure; primary provider is used as fallback.
Sourcepub fn build_consolidation_provider(&self) -> Option<AnyProvider>
pub fn build_consolidation_provider(&self) -> Option<AnyProvider>
Build a dedicated provider for All-Mem consolidation LLM calls.
Returns None when consolidation_provider is empty (falls back to primary provider at
call site) or when provider resolution fails (logs a warning, fails open).
Sourcepub fn build_tree_consolidation_provider(&self) -> Option<AnyProvider>
pub fn build_tree_consolidation_provider(&self) -> Option<AnyProvider>
Build a dedicated provider for TiMem tree consolidation LLM calls (#2262).
Returns None when consolidation_provider is empty or resolution fails.
Sourcepub fn build_planner_provider(&self) -> Option<AnyProvider>
pub fn build_planner_provider(&self) -> Option<AnyProvider>
Build a dedicated provider for orchestration planner LLM calls.
Returns None when planner_provider is empty (falls back to primary provider at call site).
§Errors (logged, not propagated)
Emits a tracing::warn on resolution failure; primary provider is used as fallback.
Sourcepub fn build_verify_provider(&self) -> Option<AnyProvider>
pub fn build_verify_provider(&self) -> Option<AnyProvider>
Build the PlanVerifier provider from [orchestration] verify_provider.
Returns None when verify_provider is empty (falls back to the primary provider at
runtime) or when provider resolution fails (logs a warning, fails open).
pub fn build_eval_provider(&self) -> Option<AnyProvider>
Sourcepub fn build_scene_provider(&self) -> Option<AnyProvider>
pub fn build_scene_provider(&self) -> Option<AnyProvider>
Build a dedicated provider for MemScene label/profile LLM generation.
Returns None when tiers.scene_provider is empty (caller falls back to primary provider).
Emits a tracing::warn on resolution failure; primary provider is used as fallback.
Auto Trait Implementations§
impl Freeze for AppBuilder
impl !RefUnwindSafe for AppBuilder
impl Send for AppBuilder
impl Sync for AppBuilder
impl Unpin for AppBuilder
impl UnsafeUnpin for AppBuilder
impl !UnwindSafe for AppBuilder
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> 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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request