pub enum DaemonCommand {
Show 37 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>,
},
MailStatus {
account: Option<String>,
},
MailCancel {
account: String,
id: Option<String>,
all: bool,
},
Workbench {
watch: bool,
},
RunLog {
handle: String,
after: u64,
limit: Option<u32>,
},
WorkbenchStart {
workspace: String,
agent: String,
prompt: String,
cwd: Option<String>,
model: Option<String>,
effort: Option<String>,
worktree: bool,
},
WorkbenchSend {
session: String,
conversation: String,
prompt: String,
mode: SendMode,
},
WorkbenchCancel {
session: String,
job: String,
},
WorkbenchApprove {
id: String,
approved: bool,
},
WorkbenchResume {
session: String,
job: String,
},
WorkbenchDismiss {
session: String,
job: String,
},
JobResult {
session: String,
job: String,
},
Worktrees,
WorktreeRemove {
path: String,
force: bool,
},
Attach {
session: String,
conversation: String,
cols: Option<u16>,
rows: Option<u16>,
},
AttachIo {
id: String,
after: u64,
input: String,
cols: Option<u16>,
rows: Option<u16>,
},
AttachDetach {
id: String,
},
AttachEnd {
session: String,
conversation: 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
remote_tools: Option<RemoteTools>Omitted keeps the saved setting.
ChannelLogout
Stop one channel account and remove its credentials and state.
Fields
Delegations
List running delegations; all includes orphans awaiting cleanup.
DelegationKill
Stop one delegation by handle, or every orphaned one.
Fields
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
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
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.
ProjectCreate
Explicitly create an owner-authorized durable project.
ProjectStatus
Read a project’s reducer state without contacting an agent.
ProjectEvents
Read the append-only event history after an optional sequence.
Fields
ProjectTasks
Read current tasks and observed progress.
ProjectReport
Build a report from ledger evidence.
ProjectTaskAdd
Add a task to an explicitly created project.
Fields
ProjectTaskUpdate
Record an observed task state/progress update.
Fields
status: ProjectTaskStatusNew task state.
ProjectRunStart
Record a supervised agent run starting.
Fields
ProjectRunProgress
Record observed progress from a run heartbeat.
Fields
ProjectRunFinish
Record an observed terminal run state.
Fields
status: ProjectRunStatusTerminal run state.
ProjectHeartbeat
Record a heartbeat for a project task/run.
Fields
MailStatus
List the mail actions of every running email account, or of one;
the reply’s mail_actions holds them.
MailCancel
Withdraw one mail action by its ID, or every action of an account that has not started. It can never approve anything.
Fields
Workbench
Report the workbench: sessions, background jobs, delegated runs, approval requests waiting for the owner, and restorable sessions.
Fields
RunLog
Read a delegated run’s activity log after position after.
Fields
WorkbenchStart
Start a background job for the owner, in the workbench’s own session
for workspace: no model is involved, and the job is not reported to
any model.
Fields
WorkbenchSend
Send the owner’s prompt to a delegated conversation of a live session
(attach and take over): a new turn of it, queued behind a running
turn, or added to the running turn (mode).
Fields
WorkbenchCancel
Stop a background job of a live session.
WorkbenchApprove
Answer an approval request a background job relayed.
Fields
WorkbenchResume
Run an interrupted job again in the workbench’s session for its workspace, continuing its agent’s own conversation when that agent can.
WorkbenchDismiss
Forget a finished or interrupted job’s record.
JobResult
Report one job’s state and, once it has ended, its bounded reply or
error; the reply’s job_result holds them. It only reads.
Worktrees
List the git worktrees SCV created for jobs.
WorktreeRemove
Remove a worktree SCV created; one with uncommitted changes only
with force. Its branch is kept.
Fields
Attach
Take a live session’s idle conversation over in its agent’s own terminal, or attach to the takeover already running, and return its screen. Only agents whose terminal asks nothing SCV’s approval gate decides can be taken over; others are refused with why.
Fields
AttachIo
Type into an attached terminal and read what changed on its screen.
Fields
AttachDetach
Stop watching an attached terminal; the agent keeps running in it.
AttachEnd
End a takeover: hang up the agent’s terminal, stop its process, and give the conversation back to SCV’s turns.