pub struct FileConfig {Show 24 fields
pub bind: Option<String>,
pub enable_enhance_flow: Option<bool>,
pub legacy_worker_binding_policy: Option<LegacyWorkerBindingPolicy>,
pub blueprint_ref_base: Option<PathBuf>,
pub blueprint_ref_includes: Option<Vec<PathBuf>>,
pub blueprint_strict_embed: Option<bool>,
pub inject_endpoint_for_worker: Option<bool>,
pub long_hold_warn_ms: Option<u64>,
pub git_store_path: Option<PathBuf>,
pub issue_store_path: Option<PathBuf>,
pub enhance_setting_store_path: Option<PathBuf>,
pub enhance_log_store_path: Option<PathBuf>,
pub output_store_path: Option<PathBuf>,
pub task_store_path: Option<PathBuf>,
pub run_store_path: Option<PathBuf>,
pub replay_store_path: Option<PathBuf>,
pub ephemeral: Option<bool>,
pub seed_blueprint_id: Option<String>,
pub default_agent_kind: Option<String>,
pub token_secret: Option<String>,
pub sync_timeout_secs: Option<u64>,
pub stale_run_sweep_secs: Option<u64>,
pub engine_max_hold_ms: Option<u64>,
pub check_policy: Option<CheckPolicy>,
}Expand description
TOML config schema. All fields are optional — a missing field falls back
to the CLI-supplied value or the built-in default at resolve time.
Unknown fields are a hard error (deny_unknown_fields; typo guard).
Fields§
§bind: Option<String>Listen address string (e.g. "127.0.0.1:7777"), parsed at resolve time.
enable_enhance_flow: Option<bool>Whether the enhance flow (Lua + AgentBlock factories) is baked into the registry.
legacy_worker_binding_policy: Option<LegacyWorkerBindingPolicy>Migration gate for deprecated profile.worker_binding Runner fallback.
blueprint_ref_base: Option<PathBuf>Base dir for $file / $agent_md ref expansion in seeded Blueprints.
blueprint_ref_includes: Option<Vec<PathBuf>>Additional dirs (tier 5 of the include cascade — see
mlua-swarm-compile::ResolveConfig) searched after the CLI
--include list and before the bundled default. None = no
server-config includes.
blueprint_strict_embed: Option<bool>Server-side strict-embed switch (design table row 3 — the
strict opt-in for the register layer). When true, POST /v1/blueprints/:id refuses any raw body that still carries
$file / $agent_md refs (returns 400 with a hint pointing at
mse bp build --strict-embed), so ref resolution is pushed onto
the client. Default false = the server runs the linker itself
(backward-compat). None = fall back to the built-in default
false.
inject_endpoint_for_worker: Option<bool>Opt-in: inject the server’s public endpoint (base URL) into
worker-facing data — the WS Spawn directive’s base_url line and
the StepPointer.content_url absolute-URL prefix. Default
false = the endpoint is never handed to workers (directive
renders its historical placeholder, content_url stays a
relative path); workers reach the server through their own
configured bind (e.g. the mse-mcp tools’ bind parameter).
None = fall back to the built-in default false.
long_hold_warn_ms: Option<u64>Observation threshold (milliseconds) for LongHoldMiddleware.
When Some(ms), every dispatched step whose completion time
exceeds ms fires Event::TaskAttemptCompleted { long_hold_warn: true, .. } on the broadcast event bus AND appends
mw.long_hold_warn to the persistent RunTraceStore
(best-effort, purely observational — never alters the step
signal or blocks completion). None (the default) leaves the
layer uninstalled, byte-for-byte compat with pre-config
behaviour.
git_store_path: Option<PathBuf>Root path for the git-backed BlueprintStore (when using the git2 backend).
issue_store_path: Option<PathBuf>Path to the SQLite database file backing the IssueStore. None = fall
back to InMemoryIssueStore (process-volatile).
enhance_setting_store_path: Option<PathBuf>Path to the SQLite database file backing the EnhanceSettingStore.
None = fall back to InMemoryEnhanceSettingStore (process-volatile).
enhance_log_store_path: Option<PathBuf>Path to the SQLite database file backing the EnhanceLogStore.
None = fall back to InMemoryEnhanceLogStore (process-volatile).
output_store_path: Option<PathBuf>Path to the SQLite database file backing the OutputStore.
None = fall back to InMemoryOutputStore (process-volatile).
task_store_path: Option<PathBuf>Path to the SQLite database file backing the TaskStore (issue #13
ID-hierarchy POST /v1/tasks work-item records). None = fall back
to InMemoryTaskStore (process-volatile).
run_store_path: Option<PathBuf>Path to the SQLite database file backing the RunStore (one kick of
a Task). None = fall back to InMemoryRunStore (process-volatile).
replay_store_path: Option<PathBuf>Path to the SQLite database file backing the ReplayStore (per-run
Ctx-snapshot + step-output log). Persisted by default even when
omitted (sibling of run_store_path): resolves to
~/.mse/store/replay.sqlite unless ephemeral is set. None = fall
back to InMemoryReplayStore (process-volatile).
ephemeral: Option<bool>Opt-out flag: when true, restores the InMemory default for
task_store_path/run_store_path even though the built-in default
(issue #35 ST1) is now to persist. Has no effect when an explicit
task_store_path/run_store_path (CLI or file) is set — explicit
paths always win. None = fall back to false.
seed_blueprint_id: Option<String>Seed blueprint id used in combined-mode default routing.
default_agent_kind: Option<String>snake_case AgentKind literal (operator / agent_block / rust_fn /
lua / subprocess). Validated by the caller after resolve.
token_secret: Option<String>Shared secret used to verify/sign CapToken HMAC signatures.
sync_timeout_secs: Option<u64>Ceiling (seconds) for the POST /v1/tasks synchronous launch await
(GH #33 Guard 2). Overridable per-request via TaskLaunchRequest .timeout_secs; this is the server-wide fallback when the request
omits it. None = fall back to the built-in default (3600s / 60 min, see
ResolvedConfig’s Default impl).
stale_run_sweep_secs: Option<u64>Idle threshold (seconds) for the periodic stale-run sweep: a Run
still Running whose updated_at is older than this is marked
Interrupted so it becomes resumable without a restart. 0
disables the sweep entirely. None = fall back to
default_stale_run_sweep_secs applied to the resolved
sync_timeout_secs.
engine_max_hold_ms: Option<u64>R4 lock-hold guard threshold (milliseconds) for
mlua_swarm::EngineCfg::max_hold_ms — how long a single
Engine::with_state closure may hold the state lock before the
engine reports a suspected long operation inside the lock. None
= leave the engine’s built-in default (50ms) in place.
check_policy: Option<CheckPolicy>Server-wide mlua_swarm::core::config::CheckPolicy — governs how
submit-time projection sinks
(Engine::materialize_final_submission /
Engine::materialize_artifact_submission) react to fail-open
conditions (missing work_dir/project_root, OutputStore write
error, adapter materialize error, state lookup error). None
falls back to the built-in default Warn (byte-identical to
pre-CheckPolicy behaviour); "silent" skips both the log and
error, "strict" returns
EngineError::CheckPolicyStrict so a caller who has opted in can
fail the step / launch fast. Per-task override
(TaskSpec.check_policy) wins over this server-wide value.
Trait Implementations§
Source§impl Clone for FileConfig
impl Clone for FileConfig
Source§fn clone(&self) -> FileConfig
fn clone(&self) -> FileConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FileConfig
impl Debug for FileConfig
Source§impl Default for FileConfig
impl Default for FileConfig
Source§fn default() -> FileConfig
fn default() -> FileConfig
Source§impl<'de> Deserialize<'de> for FileConfig
impl<'de> Deserialize<'de> for FileConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for FileConfig
impl PartialEq for FileConfig
impl StructuralPartialEq for FileConfig
Auto Trait Implementations§
impl Freeze for FileConfig
impl RefUnwindSafe for FileConfig
impl Send for FileConfig
impl Sync for FileConfig
impl Unpin for FileConfig
impl UnsafeUnpin for FileConfig
impl UnwindSafe for FileConfig
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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