Fixes #168 AIEOS (AI Entity Object Specification) v1.1 is now fully supported. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
140 lines
3.4 KiB
Rust
140 lines
3.4 KiB
Rust
#![warn(clippy::all, clippy::pedantic)]
|
|
#![allow(
|
|
clippy::missing_errors_doc,
|
|
clippy::missing_panics_doc,
|
|
clippy::unnecessary_literal_bound,
|
|
clippy::module_name_repetitions,
|
|
clippy::struct_field_names,
|
|
clippy::must_use_candidate,
|
|
clippy::new_without_default,
|
|
clippy::return_self_not_must_use,
|
|
dead_code
|
|
)]
|
|
|
|
use clap::Subcommand;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
pub mod agent;
|
|
pub mod channels;
|
|
pub mod config;
|
|
pub mod cron;
|
|
pub mod daemon;
|
|
pub mod doctor;
|
|
pub mod gateway;
|
|
pub mod health;
|
|
pub mod heartbeat;
|
|
pub mod identity;
|
|
pub mod integrations;
|
|
pub mod memory;
|
|
pub mod migration;
|
|
pub mod observability;
|
|
pub mod onboard;
|
|
pub mod providers;
|
|
pub mod runtime;
|
|
pub mod security;
|
|
pub mod service;
|
|
pub mod skills;
|
|
pub mod tools;
|
|
pub mod tunnel;
|
|
pub mod util;
|
|
|
|
pub use config::Config;
|
|
|
|
/// Service management subcommands
|
|
#[derive(Subcommand, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
|
pub enum ServiceCommands {
|
|
/// Install daemon service unit for auto-start and restart
|
|
Install,
|
|
/// Start daemon service
|
|
Start,
|
|
/// Stop daemon service
|
|
Stop,
|
|
/// Check daemon service status
|
|
Status,
|
|
/// Uninstall daemon service unit
|
|
Uninstall,
|
|
}
|
|
|
|
/// Channel management subcommands
|
|
#[derive(Subcommand, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
|
pub enum ChannelCommands {
|
|
/// List all configured channels
|
|
List,
|
|
/// Start all configured channels (handled in main.rs for async)
|
|
Start,
|
|
/// Run health checks for configured channels (handled in main.rs for async)
|
|
Doctor,
|
|
/// Add a new channel configuration
|
|
Add {
|
|
/// Channel type (telegram, discord, slack, whatsapp, matrix, imessage, email)
|
|
channel_type: String,
|
|
/// Optional configuration as JSON
|
|
config: String,
|
|
},
|
|
/// Remove a channel configuration
|
|
Remove {
|
|
/// Channel name to remove
|
|
name: String,
|
|
},
|
|
}
|
|
|
|
/// Skills management subcommands
|
|
#[derive(Subcommand, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
|
pub enum SkillCommands {
|
|
/// List all installed skills
|
|
List,
|
|
/// Install a new skill from a URL or local path
|
|
Install {
|
|
/// Source URL or local path
|
|
source: String,
|
|
},
|
|
/// Remove an installed skill
|
|
Remove {
|
|
/// Skill name to remove
|
|
name: String,
|
|
},
|
|
}
|
|
|
|
/// Migration subcommands
|
|
#[derive(Subcommand, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
|
pub enum MigrateCommands {
|
|
/// Import memory from an `OpenClaw` workspace into this `ZeroClaw` workspace
|
|
Openclaw {
|
|
/// Optional path to `OpenClaw` workspace (defaults to ~/.openclaw/workspace)
|
|
#[arg(long)]
|
|
source: Option<std::path::PathBuf>,
|
|
|
|
/// Validate and preview migration without writing any data
|
|
#[arg(long)]
|
|
dry_run: bool,
|
|
},
|
|
}
|
|
|
|
/// Cron subcommands
|
|
#[derive(Subcommand, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
|
pub enum CronCommands {
|
|
/// List all scheduled tasks
|
|
List,
|
|
/// Add a new scheduled task
|
|
Add {
|
|
/// Cron expression
|
|
expression: String,
|
|
/// Command to run
|
|
command: String,
|
|
},
|
|
/// Remove a scheduled task
|
|
Remove {
|
|
/// Task ID
|
|
id: String,
|
|
},
|
|
}
|
|
|
|
/// Integration subcommands
|
|
#[derive(Subcommand, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
|
pub enum IntegrationCommands {
|
|
/// Show details about a specific integration
|
|
Info {
|
|
/// Integration name
|
|
name: String,
|
|
},
|
|
}
|