Skip to main content

SettingsManager

Struct SettingsManager 

Source
pub struct SettingsManager { /* private fields */ }
Expand description

Both scopes and their merged view.

Implementations§

Source§

impl SettingsManager

Source

pub fn load( agent_dir: &Path, project_dir: &Path, project_trusted: bool, ) -> SettingsManager

Loads both scopes, the project’s from project_dir, and that only when project_trusted.

Source

pub fn in_memory() -> SettingsManager

Settings with no files behind them.

Source

pub fn errors(&self) -> &[String]

Why settings files failed to load, as pi’s warnings word them.

Source

pub fn settings(&self) -> &Settings

The merged settings.

Source

pub fn default_tools(&self) -> Option<Vec<String>>

pi’s getDefaultTools: the tools the merged defaultTools enables, or None when no scope sets it. A value that is not a list enables none, and entries that are not strings are skipped.

Source

pub fn merged_document(&self) -> &Map<String, Value>

Both scopes merged as written, values of any type included: pi’s settings.

Source

pub fn default_thinking_level(&self) -> Option<ThinkingLevel>

defaultThinkingLevel, if set: a value that names no level becomes off, the first level pi’s clamp offers.

Source

pub fn http_idle_timeout_ms(&self) -> Result<u64, String>

pi’s getHttpIdleTimeoutMs: httpIdleTimeoutMs in milliseconds, as a number, a numeric string or "disabled" (0), five minutes when unset.

Source

pub fn websocket_connect_timeout_ms(&self) -> Result<Option<u64>, String>

pi’s getWebSocketConnectTimeoutMs: websocketConnectTimeoutMs, read as httpIdleTimeoutMs is, or None when unset.

Source

pub fn provider_timeout_ms(&self) -> Option<f64>

retry.provider.timeoutMs when it is a number, unchecked, as pi passes it on to providers.

Source

pub fn compaction_error(&self, model: Option<&Model>) -> Option<String>

pi’s getCompactionTokenSetting checks: the error for a compaction token setting, or model’s override of one, that is not a non-negative safe integer.

Source

pub fn cache_warming_mode(&self) -> CacheWarming

pi’s getCacheWarmingMode: cacheWarming from the global settings only, because each refresh costs money, defaulting to streaming when unset or invalid.

Source

pub fn project_dir(&self) -> &Path

The directory whose .yapi folder holds the project’s files: the project’s settings, resources and system prompt files.

Source

pub fn project_trusted(&self) -> bool

Whether the project scope is loaded.

Source

pub fn document(&self, scope: Scope) -> &Map<String, Value>

The settings document of scope as written, empty for an untrusted project.

Source

pub fn set( &mut self, scope: Scope, key: &str, value: Option<Value>, ) -> Result<(), SettingsError>

Sets a top-level key in a scope and writes that file. None removes it.

Source

pub fn set_nested( &mut self, scope: Scope, field: &str, key: &str, value: Option<Value>, ) -> Result<(), SettingsError>

Sets key inside the object setting field of scope, keeping its other keys, and writes that scope’s file. None removes the key and keeps the object.

Trait Implementations§

Source§

impl Clone for SettingsManager

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SettingsManager

Source§

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

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

impl Default for SettingsManager

Source§

fn default() -> Self

Returns the “default value” for a type. 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + 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
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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