Skip to main content

DaemonCommand

Enum DaemonCommand 

Source
pub enum DaemonCommand {
Show 20 variants Status, Reload, ChannelSet { channel: String, account: String, enabled: bool, workspace: Option<String>, remote_tools: Option<RemoteTools>, senders: Option<Senders>, purpose: Option<Purpose>, }, ChannelLogout { channel: String, account: String, }, Delegations { all: bool, }, DelegationKill { handle: Option<String>, orphans: bool, }, RestartWhenIdle { version: Option<String>, commit: Option<String>, parent: Option<String>, max_wait_seconds: Option<u64>, }, ConfirmAsk { question: String, parent: Option<String>, timeout_seconds: Option<u64>, }, ConfirmStatus { id: String, }, ProjectCreate { name: String, workspace: String, }, ProjectStatus { project: String, }, ProjectEvents { project: String, after: Option<u64>, }, ProjectTasks { project: String, }, ProjectReport { project: String, }, ProjectTaskAdd { project: String, title: String, depends_on: Vec<String>, max_retries: u32, }, ProjectTaskUpdate { project: String, task: String, status: ProjectTaskStatus, progress: Option<String>, }, ProjectRunStart { project: String, task: String, agent: String, }, ProjectRunProgress { project: String, run: String, progress: String, }, ProjectRunFinish { project: String, run: String, status: ProjectRunStatus, }, ProjectHeartbeat { project: String, task: Option<String>, run: Option<String>, },
}
Expand description

What a daemon.control message asks the daemon to do.

Variants§

§

Status

Report DaemonStatus.

§

Reload

Reread channel settings and reconcile the components now.

§

ChannelSet

Enable or disable one channel account, optionally changing its workspace, remote tool grant, and whose messages it answers.

Fields

§channel: String

The chat channel, such as wechat or feishu.

§account: String

The account name within the channel.

§enabled: bool

Whether the account should run.

§workspace: Option<String>

The account’s workspace directory; None keeps the saved one.

§remote_tools: Option<RemoteTools>

Omitted keeps the saved setting.

§senders: Option<Senders>

Whose messages the account answers; omitted keeps the saved setting.

§purpose: Option<Purpose>

What a chat account carries; omitted keeps the saved setting.

§

ChannelLogout

Stop one channel account and remove its credentials and state.

Fields

§channel: String

The chat channel, such as wechat or feishu.

§account: String

The account name within the channel.

§

Delegations

List running delegations; all includes orphans awaiting cleanup.

Fields

§all: bool

Include orphans awaiting cleanup.

§

DelegationKill

Stop one delegation by handle, or every orphaned one.

Fields

§handle: Option<String>

The delegation to stop.

§orphans: bool

Stop every orphaned delegation instead.

§

RestartWhenIdle

Restart into the release installed at the daemon’s own path once the requesting delegation has finished and its report is stored and no owner message is being answered, or at max_wait_seconds anyway.

Fields

§version: Option<String>

The release the caller installed; the daemon checks it.

§commit: Option<String>

The commit it was built from, for the announcement.

§parent: Option<String>

The caller’s SCV_PARENT chain, naming the delegation to wait for.

§max_wait_seconds: Option<u64>

Longest wait before restarting anyway.

§

ConfirmAsk

Ask the owner a yes/no question in chat: in the chat that started the work parent names, or else the notify target. The reply’s confirm names the question; confirm_status then follows it.

Fields

§question: String

The question, as the owner reads it.

§parent: Option<String>

The caller’s SCV_PARENT chain, naming the delegation whose chat is asked.

§timeout_seconds: Option<u64>

How long no answer waits before it counts as no (DEFAULT_CONFIRM_SECONDS, at most MAX_CONFIRM_SECONDS).

§

ConfirmStatus

Report where the question id stands. Asking also keeps it alive: a question nobody asks about for a minute is withdrawn.

Fields

§id: String

The ID confirm_ask returned.

§

ProjectCreate

Explicitly create an owner-authorized durable project.

Fields

§name: String

Owner-visible project name.

§workspace: String

Absolute workspace directory.

§

ProjectStatus

Read a project’s reducer state without contacting an agent.

Fields

§project: String

Project name or identifier.

§

ProjectEvents

Read the append-only event history after an optional sequence.

Fields

§project: String

Project name or identifier.

§after: Option<u64>

Return events after this sequence.

§

ProjectTasks

Read current tasks and observed progress.

Fields

§project: String

Project name or identifier.

§

ProjectReport

Build a report from ledger evidence.

Fields

§project: String

Project name or identifier.

§

ProjectTaskAdd

Add a task to an explicitly created project.

Fields

§project: String

Project name or identifier.

§title: String

Owner-visible task title.

§depends_on: Vec<String>

Task identifiers that must be done first.

§max_retries: u32

Maximum failed attempts before permanent failure.

§

ProjectTaskUpdate

Record an observed task state/progress update.

Fields

§project: String

Project name or identifier.

§task: String

Task identifier.

§status: ProjectTaskStatus

New task state.

§progress: Option<String>

Optional progress text.

§

ProjectRunStart

Record a supervised agent run starting.

Fields

§project: String

Project name or identifier.

§task: String

Task identifier.

§agent: String

Agent adapter name.

§

ProjectRunProgress

Record observed progress from a run heartbeat.

Fields

§project: String

Project name or identifier.

§run: String

Run identifier.

§progress: String

Progress text.

§

ProjectRunFinish

Record an observed terminal run state.

Fields

§project: String

Project name or identifier.

§run: String

Run identifier.

§status: ProjectRunStatus

Terminal run state.

§

ProjectHeartbeat

Record a heartbeat for a project task/run.

Fields

§project: String

Project name or identifier.

§task: Option<String>

Optional task identifier.

§run: Option<String>

Optional run identifier.

Trait Implementations§

Source§

impl Clone for DaemonCommand

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 DaemonCommand

Source§

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

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

impl<'de> Deserialize<'de> for DaemonCommand

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 Eq for DaemonCommand

Source§

impl PartialEq for DaemonCommand

Source§

fn eq(&self, other: &Self) -> 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 DaemonCommand

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 DaemonCommand

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