use crate::start::{Payload, Prepared};
use super::config;
pub(crate) mod capability;
pub(crate) mod conversation;
pub(crate) mod device;
pub(crate) mod folds;
pub(crate) mod world;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Action {
Message {
workspace: String,
agent: String,
content: String,
},
Stop {
workspace: String,
agent: String,
children: bool,
},
Interrupt {
workspace: String,
agent: String,
content: String,
},
Scan { workspace: String },
Nudge { workspace: String, agent: String },
Retarget { workspace: String, agent: String },
Ball(crate::actions::verbs::Verb),
Prepare { workspace: String, payload: Payload },
Prompt {
prepared: Prepared,
goal: String,
seed: Option<u64>,
},
Fan(crate::fan::Verb),
DeleteWorkspace { workspace: String, typed: String },
DeleteAgent {
workspace: String,
agent: String,
typed: String,
},
Monitor(crate::monitor::Verb),
Fleet(crate::fleet::Verb),
AnswerHold {
workspace: String,
agent: String,
answer: crate::control::judge::Answer,
},
Floor {
workspace: String,
agent: String,
raised: bool,
},
Ack,
MarkSeen { workspace: String, agent: String },
Pin { workspace: String, pinned: bool },
ClearTrail,
Config(config::Write),
Fork {
workspace: String,
parent: String,
attempt: crate::fork::Attempt,
goal: String,
},
Advertise {
tools: Vec<crate::registry::tools::Tool>,
},
Route(crate::registry::mailbox::Verb),
Enroll(crate::registry::enroll::Request),
Login { workspace: String, provider: String },
}