pub struct BlueprintsState {
pub store: Arc<dyn BlueprintStore>,
pub ref_base: Option<PathBuf>,
pub ref_includes: Vec<PathBuf>,
pub cli_default_agent_kind: Option<AgentKind>,
pub strict_embed: bool,
}Expand description
Router state: BP store + the base dir used to resolve $file / $agent_md
refs + default_agent_kind from the CLI (= layer (2) of the 4-tier cascade —
the CLI override layer).
When ref_base = None, ref expansion is skipped (= seed bodies are parsed
as raw JSON).
Fields§
§store: Arc<dyn BlueprintStore>Backing Blueprint store (git2 or in-memory backend).
ref_base: Option<PathBuf>Base dir for $file / $agent_md ref expansion; None skips expansion.
ref_includes: Vec<PathBuf>Additional directories (tier 5 of the include cascade — see
mlua-swarm-compile::ResolveConfig) searched after ref_base
(tier 1). Empty vec = no server-config includes; the register
path still walks the in-bp and env tiers.
cli_default_agent_kind: Option<AgentKind>CLI-level default_agent_kind override (layer (2) of the 4-tier cascade).
strict_embed: boolServer-side strict-embed switch (design table row 3, Phase 6 —
issue 4c4e3eb8). When true, POST /v1/blueprints/:id
refuses raw bodies that still carry $file / $agent_md refs
(returns 400 with a hint pointing at mse bp build --strict-embed), so ref resolution is pushed onto the client
and the server only ever sees pre-embedded Blueprint JSON.
Default false = the server runs the linker itself
(backward-compat). Wired from
crate::config::ResolvedConfig::blueprint_strict_embed via
the CLI --blueprint-strict-embed flag or the config-file
blueprint_strict_embed key.
Trait Implementations§
Source§impl Clone for BlueprintsState
impl Clone for BlueprintsState
Source§fn clone(&self) -> BlueprintsState
fn clone(&self) -> BlueprintsState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for BlueprintsState
impl !UnwindSafe for BlueprintsState
impl Freeze for BlueprintsState
impl Send for BlueprintsState
impl Sync for BlueprintsState
impl Unpin for BlueprintsState
impl UnsafeUnpin for BlueprintsState
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
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 more