Struct GrokCliModelProviderConfig
pub struct GrokCliModelProviderConfig {
pub base: ModelProviderConfig,
pub binary_path: Option<String>,
pub working_directory: String,
pub env_passthrough: Vec<String>,
pub extra_args: Vec<String>,
pub max_acp_stdout_bytes: Option<usize>,
}Fields§
§base: ModelProviderConfig§binary_path: Option<String>Path to the grok CLI binary. Falls back to grok (PATH lookup).
working_directory: StringRequired absolute working directory for the grok subprocess and ACP
session boundary. The directory must exist when the provider is built.
Project-scoped Grok config is resolved relative to this path.
env_passthrough: Vec<String>Extra environment variable names inherited by the grok
subprocess. Values are resolved from the ZeroClaw process environment
at spawn time. The default is empty so unrelated daemon secrets remain
blocked. XAI_API_KEY is the sole supported provider-owned name and
enables API-key authentication when explicitly listed and non-empty;
other XAI_* and all GROK_* names are rejected.
extra_args: Vec<String>Extra global Grok long flags inserted before agent stdio. Known
options may put their value in the next token; other value-taking
options use --flag=value. Positional and short arguments are rejected.
ZeroClaw defaults to --sandbox strict, --permission-mode dontAsk,
and an empty built-in tool set. Providing the corresponding flags here
is an explicit per-alias opt-in to relax those defaults. ACP transport,
prompt/model/session, cwd, debug-file, and update-policy flags are
reserved.
max_acp_stdout_bytes: Option<usize>Maximum cumulative stdout bytes accepted from grok agent stdio for
one ACP request. When unset, ZeroClaw uses 4 MiB. Values must be
between 1 MiB and 64 MiB; the provider rejects invalid values when it
is constructed.
Implementations§
Source§impl GrokCliModelProviderConfig
impl GrokCliModelProviderConfig
Sourcepub fn configurable_prefix() -> &'static str
pub fn configurable_prefix() -> &'static str
Returns the #[prefix] value for this Configurable struct.
Sourcepub fn init_requires_explicit_config() -> bool
pub fn init_requires_explicit_config() -> bool
True when this struct has a required leaf field that a
bare/ancestor-prefix init_defaults scaffold must not
materialize (it would fill the field with its Rust
Default, which prune_empty_leaves then strips on save,
leaving a partial sub-table that fails strict reload).
Explicitly targeting this section (or a descendant of it)
still scaffolds regardless of this flag, so the section can
be materialized for the operator to fill in.
Sourcepub fn secret_fields(&self) -> Vec<SecretFieldInfo>
pub fn secret_fields(&self) -> Vec<SecretFieldInfo>
Returns metadata about all #[secret] fields on this struct and nested children.
pub fn secret_field_terminals() -> Vec<&'static str>
Sourcepub fn encrypt_secrets(&mut self, store: &SecretStore) -> Result<()>
pub fn encrypt_secrets(&mut self, store: &SecretStore) -> Result<()>
Encrypt all secret fields in place using the provided store.
Sourcepub fn decrypt_secrets(&mut self, store: &SecretStore) -> Result<()>
pub fn decrypt_secrets(&mut self, store: &SecretStore) -> Result<()>
Decrypt all secret fields in place using the provided store.
Sourcepub fn set_secret(&mut self, name: &str, value: String) -> Result<()>
pub fn set_secret(&mut self, name: &str, value: String) -> Result<()>
Set a secret field by its full dotted name, dispatching to nested children.
Sourcepub fn prop_fields(&self) -> Vec<PropFieldInfo>
pub fn prop_fields(&self) -> Vec<PropFieldInfo>
Returns metadata about all property fields on this struct and nested children.
Sourcepub fn get_prop(&self, name: &str) -> Result<String>
pub fn get_prop(&self, name: &str) -> Result<String>
Get a property value by its full dotted name, returning it as a display string.
Sourcepub fn set_prop(&mut self, name: &str, value_str: &str) -> Result<()>
pub fn set_prop(&mut self, name: &str, value_str: &str) -> Result<()>
Set a property value by its full dotted name, parsing from string.
Sourcepub fn prop_is_secret(name: &str) -> bool
pub fn prop_is_secret(name: &str) -> bool
Check if a property name refers to a secret field (static, no instance needed).
Sourcepub fn init_defaults(&mut self, prefix: Option<&str>) -> Vec<&'static str>
pub fn init_defaults(&mut self, prefix: Option<&str>) -> Vec<&'static str>
Instantiate None nested sections whose prefix matches.
Returns the prefixes that were initialized.
Sourcepub fn map_key_sections() -> Vec<MapKeySection>
pub fn map_key_sections() -> Vec<MapKeySection>
Enumerate every map-keyed (HashMap<String, T>) and list-shaped
(Vec<T>) section discoverable from this Configurable’s tree.
The dashboard / CLI consume this to surface “+ Add” affordances
without hardcoding the section list.
Sourcepub fn nested_section_help(name: &str) -> Option<&'static str>
pub fn nested_section_help(name: &str) -> Option<&'static str>
Help blurb for a #[nested] field on this struct, sourced from
the field-level /// docstring. Returns None for unknown
names so callers can fall through to a different lookup.
pub fn nested_section_group(name: &str) -> Option<&'static str>
Sourcepub fn get_map_keys(&self, section_path: &str) -> Option<Vec<String>>
pub fn get_map_keys(&self, section_path: &str) -> Option<Vec<String>>
Return the current alias keys at section_path, or None if
the path doesn’t resolve to a map-keyed section in this tree.
pub fn nested_option_entries(&self) -> Vec<NestedOptionEntry>
pub fn create_map_key( &mut self, section_path: &str, map_key: &str, ) -> Result<bool, String>
pub fn delete_map_key( &mut self, section_path: &str, map_key: &str, ) -> Result<bool, String>
pub fn rename_map_key( &mut self, section_path: &str, map_key: &str, new_key: &str, ) -> Result<bool, String>
Trait Implementations§
Source§impl Clone for GrokCliModelProviderConfig
impl Clone for GrokCliModelProviderConfig
Source§fn clone(&self) -> GrokCliModelProviderConfig
fn clone(&self) -> GrokCliModelProviderConfig
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GrokCliModelProviderConfig
impl Debug for GrokCliModelProviderConfig
Source§impl Default for GrokCliModelProviderConfig
impl Default for GrokCliModelProviderConfig
Source§fn default() -> GrokCliModelProviderConfig
fn default() -> GrokCliModelProviderConfig
Source§impl<'de> Deserialize<'de> for GrokCliModelProviderConfig
impl<'de> Deserialize<'de> for GrokCliModelProviderConfig
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 FamilyEndpoint for GrokCliModelProviderConfig
impl FamilyEndpoint for GrokCliModelProviderConfig
fn endpoint_uri(&self) -> Option<&'static str>
Source§impl JsonSchema for GrokCliModelProviderConfig
impl JsonSchema for GrokCliModelProviderConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl MaskSecrets for GrokCliModelProviderConfig
impl MaskSecrets for GrokCliModelProviderConfig
fn mask_secrets(&mut self)
fn restore_secrets_from(&mut self, current: &Self)
Auto Trait Implementations§
impl Freeze for GrokCliModelProviderConfig
impl RefUnwindSafe for GrokCliModelProviderConfig
impl Send for GrokCliModelProviderConfig
impl Sync for GrokCliModelProviderConfig
impl Unpin for GrokCliModelProviderConfig
impl UnsafeUnpin for GrokCliModelProviderConfig
impl UnwindSafe for GrokCliModelProviderConfig
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>,
§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