Skip to main content

SlackConfig

Struct SlackConfig 

Source
pub struct SlackConfig {
    pub max_concurrent: usize,
    pub approval_timeout_secs: u64,
    pub default_mode: String,
    pub max_turns: u32,
    pub max_cost_usd: Option<f64>,
    pub stream_flush_chars: usize,
    pub stream_flush_ms: u64,
    pub max_upload_mb: u64,
    pub tools: Vec<String>,
}
Expand description

[slack] — tunables for the Slack remote control. Nothing here grants anything. Who may drive the agent lives in ~/.mecha/slack/binding.json, a store rather than config, for the reason [messages] is global-only and then some: a project file arrives with a cloned repository, and a repo that could name a Slack owner would have been handed the remote control.

Fields§

§max_concurrent: usize

Threads that may have a run in flight at once. At the cap the connector refuses and says so, rather than queueing: a run that starts twenty minutes later against a workspace that has moved is worse than an honest refusal.

§approval_timeout_secs: u64

How long an approval card waits before the call is refused as unanswered. Never a denial by the user — see Decision::Blocked.

§default_mode: String

ask (the default), allow, or read-only, for a thread nobody has set a mode on.

§max_turns: u32§max_cost_usd: Option<f64>§stream_flush_chars: usize

Flush a streamed chunk once this much text has accumulated, or this long has passed — whichever comes first. Size first is Slack’s own guidance; the timer is so a slow model still shows progress.

§stream_flush_ms: u64§max_upload_mb: u64

Largest attachment fetched into a run’s workspace. Slack allows 1 GB; a remote control does not need to.

§tools: Vec<String>

Narrow the tool surface for Slack-driven runs.

Empty means “everything configured”, which is the default and is usually too much: measured on the first live run, the schemas of every wired MCP server cost ~7–8k input tokens per turn before any work happened — against a 32k window whose compaction threshold is 21,845, a run starts a third of the way there. A phone rarely needs the mail and the calendar and the factory at once, and naming what it does need is the cheapest context this system has to give.

Trait Implementations§

Source§

impl Clone for SlackConfig

Source§

fn clone(&self) -> SlackConfig

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 SlackConfig

Source§

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

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

impl Default for SlackConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for SlackConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for SlackConfig

Source§

fn eq(&self, other: &SlackConfig) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for SlackConfig

Source§

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

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for SlackConfig

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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