pub struct QuickstartState {Show 14 fields
pub quickstart_completed: bool,
pub agents: Vec<String>,
pub risk_profiles: Vec<String>,
pub runtime_profiles: Vec<String>,
pub model_providers: Vec<String>,
pub channels: Vec<String>,
pub unassigned_channels: Vec<String>,
pub storage: Vec<String>,
pub model_provider_types: Vec<QuickstartTypeOption>,
pub channel_types: Vec<QuickstartTypeOption>,
pub risk_presets: &'static [RiskPreset],
pub runtime_presets: &'static [RuntimePreset],
pub memory_kinds: Vec<String>,
pub personality_files: &'static [&'static str],
}Expand description
Snapshot of the bits of Config the Quickstart UI needs to render
each step’s “Use existing” section without pulling the entire config.
Shared by every surface — the gateway’s GET /api/quickstart/state
and the RPC quickstart/state method both build the response from
this one function, so the two transports cannot drift.
Fields§
§quickstart_completed: bool§agents: Vec<String>§risk_profiles: Vec<String>§runtime_profiles: Vec<String>§model_providers: Vec<String><provider_type>.<alias> refs for every configured model provider.
channels: Vec<String><channel_type>.<alias> refs.
unassigned_channels: Vec<String>Subset of channels that is not yet bound to any agent’s
agents.<alias>.channels field. Surfaces use this for “Use
existing” pickers so they cannot let the user accidentally
reassign a channel that’s still owned by another agent
(the schema invariant is one channel → one agent).
storage: Vec<String><storage_type>.<alias> refs.
model_provider_types: Vec<QuickstartTypeOption>Available model-provider types the Quickstart “Create new”
picker can offer. Derived at request time from the canonical
registry in zeroclaw_providers::list_model_providers() — the
same source the CLI catalog and gateway sections route use.
Surfaces render this list as-is; they do not maintain their own.
channel_types: Vec<QuickstartTypeOption>Available channel kinds the Quickstart “Create new” picker can
offer. Derived at request time from
zeroclaw_config::schema::ChannelsConfig::channels — the
schema-side single source of truth for “what channel kinds the
config schema knows about.” Compile-time gating of channel
implementations (via zeroclaw-channels features) is enforced
later, at apply time; the picker shows every kind the schema
can represent so users get a consistent option list across
builds.
risk_presets: &'static [RiskPreset]Risk presets from zeroclaw_config::presets::RISK_PRESETS.
runtime_presets: &'static [RuntimePreset]Runtime presets from zeroclaw_config::presets::RUNTIME_PRESETS.
memory_kinds: Vec<String>Memory backend snake-case kinds from MemoryBackendKind.
personality_files: &'static [&'static str]Canonical personality filenames the Quickstart will accept. Surfaces iterate this; never hardcode the filename list.
Trait Implementations§
Source§impl Clone for QuickstartState
impl Clone for QuickstartState
Source§fn clone(&self) -> QuickstartState
fn clone(&self) -> QuickstartState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for QuickstartState
impl Debug for QuickstartState
Auto Trait Implementations§
impl Freeze for QuickstartState
impl RefUnwindSafe for QuickstartState
impl Send for QuickstartState
impl Sync for QuickstartState
impl Unpin for QuickstartState
impl UnsafeUnpin for QuickstartState
impl UnwindSafe for QuickstartState
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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