Skip to main content

SectionInfo

Struct SectionInfo 

Source
pub struct SectionInfo {
    pub key: String,
    pub label: String,
    pub help: String,
    pub has_picker: bool,
    pub completed: bool,
    pub ready: bool,
    pub group: String,
    pub is_onboarding: bool,
    pub shape: Option<SectionShape>,
}

Fields§

§key: String

Stable section key — model_providers, channels, memory, hardware, tunnel. Matches Section::as_path_prefix in zeroclaw-runtime so CLI / web stay aligned.

§label: String

Human-readable section name for headers / breadcrumbs.

§help: String

Help text the wizard shows under the section title.

§has_picker: bool

true when this section requires picking an item before the form renders (Providers / Channels / Memory / Tunnel). false for sections that have a single direct form (Hardware).

§completed: bool

Whether the user has marked the section completed in onboard_state.completed_sections.

§ready: bool

Whether the section currently has enough usable config for the first-run path. This is stricter than completed: visiting a section can mark it completed, but the sidebar checkmark should not imply a provider or agent is runnable when required fields are still missing.

§group: String

Display group for the dashboard sidebar (Foundation, Agent, Tools, etc.). Curated server-side until v3 / #5947 lands a schema attribute that encodes the grouping declaratively.

§is_onboarding: bool

true when this section is part of /onboard’s canonical section list (zeroclaw_config::sections::ONBOARDING_SECTIONS). Since the wizard/explorer split was retired, every known section returns true; the field is preserved for API stability so the frontend’s .filter((s) => s.is_onboarding) stays a no-op rather than failing to compile.

§shape: Option<SectionShape>

Editor shape (direct form / one-tier alias map / typed-family map / backend picker). Server-emitted from zeroclaw_config::sections::Section::shape(); both the dashboard explorer and the onboard wizard dispatch their renderer off this flag so identical sections render identically. None for sections that aren’t part of the canonical wizard.

Trait Implementations§

Source§

impl Debug for SectionInfo

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl JsonSchema for SectionInfo

Source§

fn schema_name() -> Cow<'static, str>

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn inline_schema() -> bool

Whether JSON Schemas generated for this type should be included directly in parent schemas, rather than being re-used where possible using the $ref keyword. Read more
Source§

impl Serialize for SectionInfo

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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.

§

impl<T> Instrument for T

§

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

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

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
§

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

§

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
§

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

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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