Skip to main content

AppBuilder

Struct AppBuilder 

Source
pub struct AppBuilder { /* private fields */ }

Implementations§

Source§

impl AppBuilder

Source

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.

Source

pub fn qdrant_ops(&self) -> Option<&QdrantOps>

Source

pub fn config(&self) -> &Config

Source

pub fn config_mut(&mut self) -> &mut Config

Source

pub fn config_path(&self) -> &Path

Source

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.

Source

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.

Source

pub async fn build_provider( &self, ) -> Result<(AnyProvider, UnboundedSender<String>, UnboundedReceiver<String>), BootstrapError>

§Errors

Returns BootstrapError if provider creation or health check fails.

Source

pub fn auto_budget_tokens(&self, provider: &AnyProvider) -> usize

Source

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

Source

pub async fn build_skill_matcher( &self, provider: &AnyProvider, meta: &[&SkillMeta], memory: &SemanticMemory, ) -> Option<SkillMatcherBackend>

Source

pub fn build_registry(&self) -> SkillRegistry

Source

pub fn skill_paths(&self) -> Vec<PathBuf>

Source

pub fn managed_skills_dir() -> PathBuf

Source

pub fn build_watchers(&self) -> WatcherBundle

Source

pub fn build_shutdown() -> (Sender<bool>, Receiver<bool>)

Source

pub fn embedding_model(&self) -> String

Source

pub fn build_summary_provider(&self) -> Option<AnyProvider>

Source

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).

Source

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).

Source

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.

Source

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.

Source

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.

Source

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).

Source

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).

Source

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.

Source

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).

Source

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.

Source

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.

Source

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).

Source

pub fn build_eval_provider(&self) -> Option<AnyProvider>

Source

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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more