pub struct BridgeConfig {Show 14 fields
pub llm_tx: Option<Sender<LlmRequest>>,
pub ns: String,
pub custom_metrics: CustomMetricsHandle,
pub stats: StatsHandle,
pub budget: BudgetHandle,
pub progress: ProgressHandle,
pub lib_paths: Vec<PathBuf>,
pub variant_pkgs: Vec<VariantPkg>,
pub state_store: Arc<JsonFileStore>,
pub card_store: Arc<FileCardStore>,
pub card_run_enabled: bool,
pub scenarios_dir: PathBuf,
pub nn_dir: PathBuf,
pub log_sink: Option<LogSink>,
}Expand description
All handles needed by Layer 0 runtime primitives.
Collects the various per-session handles into a single config,
avoiding a growing parameter list on register().
Fields§
§llm_tx: Option<Sender<LlmRequest>>Channel for LLM requests (None for eval_simple sessions).
ns: StringNamespace for alc.state (from ctx._ns or “default”).
custom_metrics: CustomMetricsHandleCustom metrics handle for alc.stats.record/get.
stats: StatsHandleStats handle for alc.stats.llm_calls() (auto-counted session metrics).
budget: BudgetHandleBudget checker for LLM call limits.
progress: ProgressHandleProgress reporter for alc.progress().
lib_paths: Vec<PathBuf>Package search paths (needed by alc.fork to setup child VMs).
variant_pkgs: Vec<VariantPkg>Variant pkg overrides (alc.local.toml) — propagated to fork children.
state_store: Arc<JsonFileStore>State store for alc.state.* (service layer resolves the root).
card_store: Arc<FileCardStore>Card store for alc.card.* (service layer resolves the root).
card_run_enabled: boolCached [setting.card].run value resolved at session start.
When false (default), alc.card.create / alc.card.append calls
that carry a top-level run field become no-op: the closures return
Lua nil without touching the card store or publishing a
CardEvent. Calls without a run field are unaffected (Phase 1-B
gate is additive — existing pkgs that never populate run see no
behavioural change).
scenarios_dir: PathBufScenarios directory exposed to Lua via alc._dirs.scenarios.
nn_dir: PathBufStore root for alc.nn model bundles.
Consumed by register_nn under the nn feature to construct the
filesystem-backed [algocline_nn::FsStore] wired via
[algocline_nn::install_store]. Resolved by the service layer via
algocline_core::AppDir::nn_dir so the engine crate never touches
$HOME / $ALC_HOME directly.
An empty PathBuf means “do not install a store” — alc.nn.save /
alc.nn.load then error with "no NN store registered". Test sites
that never exercise save/load can pass PathBuf::new. Ignored when
the nn feature is disabled.
log_sink: Option<LogSink>Per-session log-capture ring buffer.
Obtained from ExecutionMetrics::log_sink_handle(). Passed to
alc.log and print() overrides so log output is routed into the
ring buffer for alc_status recent_logs.
None for eval_simple / fork child sessions where observability
is not needed; in that case log entries are emitted to tracing only.
Auto Trait Implementations§
impl Freeze for BridgeConfig
impl RefUnwindSafe for BridgeConfig
impl Send for BridgeConfig
impl Sync for BridgeConfig
impl Unpin for BridgeConfig
impl UnsafeUnpin for BridgeConfig
impl UnwindSafe for BridgeConfig
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 moreimpl<T> MaybeSend for Twhere
T: Send,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.