Skip to main content

Module command

Module command 

Source
Expand description

Async handlers for every cli leaf command (except api, schemas, the internal instance subprocess runner, and clap’s external plugin dispatch). Stubs today; typed Args

  • pub async fn handle(...) signatures land in follow-up commits.

Re-exports§

pub use command_executor::*;

Modules§

agents
api
command_executor
daemon
db
db — direct database access at the CLI level.
functions
kill_all
kill-all — terminate every process holding a lock anywhere under the configured OBJECTIVEAI_DIR.
mcp
plugins
python
python — run a Python snippet and return its output as JSON.
swarms
tools
update
update — async handler stub.
viewer

Structs§

AgentArguments
Agent identity + response routing args carried per call.
Command
Top-level CLI parser: a command path, OR --request <json> to execute a JSON CliCommandRequest directly. The two are mutually exclusive (args_conflicts_with_subcommands, enforced natively by clap); a bare invocation prints help (arg_required_else_help). --request is a legitimate but unadvertised programmatic entry point.
FromArgsError
RequestBase
RequestBaseArgs
Clap mirror of RequestBase, #[command(flatten)]-ed into every transform-capable leaf’s Args.
ResponseSchema
StreamOnce

Enums§

FromArgsErrorSource
GetScope
Which config layer a read targets.
McpResponseItem
MCP-side projection of one CLI response item.
Ok
Success-only response shape. Wire form is the bare string "Ok" — a single-variant enum gives us a typed sentinel that serializes and deserializes through serde as the static string. Used as Response on every cli leaf whose only success signal is “it worked.”
ParseError
Error from parse_request. Either clap rejected the argv (ParseError::Clap--help, unknown subcommand, missing required arg, etc.) or the typed Command couldn’t be lowered into a Request (ParseError::FromArgs — inline body JSON failed to parse, etc.).
Remote
Wire-level source enum: which remote backend a path references. Same shape as crate::Remote but lives under cli::command so it can be clap::ValueEnum without dragging clap into the SDK’s non-cli surface.
Request
ResponseItem
SetScope
Which config layer a mutation targets.
Subcommand
Transform
Exactly one output transform. Extends by VARIANT without changing any leaf’s execute_transform signature. (A hand-constructed RequestBase can carry both fields at once — there, python overrides jq.)

Traits§

CommandRequest
Common accessors shared by the per-leaf typed CLI request shapes in the surrounding tree (e.g. agents::spawn::Request): the flattened RequestBase envelope every leaf embeds.
CommandResponse
Convert a typed CLI response item into its MCP-shaped projection — either a media [ContentBlock] for MCP tool results or a JSONL serde_json::Value for the line-oriented stream wire format. Implementors are the per-leaf response shapes in the surrounding tree (agents::spawn::ResponseItem, tools::run::ResponseItem, …) — not yet wired up; the trait exists to anchor the contract.

Functions§

execute
execute_transform
parse_request
Parse an argv slice into a typed Request. Accepts either shape:
remote_path_to_arg_string
Serialize a RemotePathCommitOptional back into its docker-style key=value,... form for round-tripping through argv.