Skip to main content

Crate apcore_cli

Crate apcore_cli 

Source
Expand description

apcore-cli — Command-line interface for apcore modules.

Automatic MCP Server & OpenAI Tools Bridge for apcore — zero code changes required.

Library root: re-exports the user-facing public API items. Protocol spec: FE-01 through FE-13 plus SEC-01 through SEC-04.

See the apcore-cli docs repo for the authoritative feature spec and tech design.

Re-exports§

pub use approval::check_approval;
pub use approval::ApprovalDeniedError;
pub use approval::ApprovalError;
pub use approval::ApprovalResult;
pub use approval::ApprovalStatus;
pub use approval::ApprovalTimeoutError;
pub use approval::CliApprovalHandler;
pub use builtin_group::ApcliConfig;
pub use builtin_group::ApcliGroup;
pub use builtin_group::ApcliMode;
pub use cli::build_module_command;
pub use cli::build_module_command_with_limit;
pub use cli::collect_input;
pub use cli::collect_input_from_reader;
pub use cli::dispatch_module;
pub use cli::get_docs_url;
pub use cli::is_verbose_help;
pub use cli::set_audit_logger;
pub use cli::set_docs_url;
pub use cli::set_executables;
pub use cli::set_verbose_help;
pub use cli::validate_module_id;
pub use builtin_group::APCLI_SUBCOMMAND_NAMES;
pub use builtin_group::RESERVED_GROUP_NAMES;
pub use config::ConfigResolver;
pub use discovery::cmd_describe;
pub use discovery::cmd_list;
pub use discovery::cmd_list_enhanced;
pub use discovery::register_discovery_commands;
pub use discovery::ApCoreRegistryProvider;
pub use discovery::DiscoveryError;
pub use discovery::ListOptions;
pub use discovery::RegistryProvider;
pub use display_helpers::get_cli_display_fields;
pub use display_helpers::get_display;
pub use exposure::ExposureFilter;
pub use fs_discoverer::FsDiscoverer;
pub use init_cmd::handle_init;
pub use init_cmd::init_command;
pub use output::format_exec_result;
pub use output::format_module_detail;
pub use output::format_module_list;
pub use output::resolve_format;
pub use ref_resolver::resolve_refs;
pub use schema_parser::extract_help_with_limit;
pub use schema_parser::reconvert_enum_values;
pub use schema_parser::schema_to_clap_args;
pub use schema_parser::schema_to_clap_args_with_limit;
pub use schema_parser::BoolFlagPair;
pub use schema_parser::SchemaArgs;
pub use schema_parser::SchemaParserError;
pub use schema_parser::HELP_TEXT_MAX_LEN;
pub use schema_parser::RESERVED_PROPERTY_NAMES;
pub use security::AuditLogger;
pub use security::AuthProvider;
pub use security::AuthenticationError;
pub use security::ConfigDecryptionError;
pub use security::ConfigEncryptor;
pub use security::ModuleExecutionError;
pub use security::ModuleNotFoundError;
pub use security::Sandbox;
pub use security::SchemaValidationError;
pub use shell::build_program_man_page;
pub use shell::cmd_completion;
pub use shell::cmd_man;
pub use shell::completion_command;
pub use shell::has_man_flag;
pub use shell::ShellError;
pub use system_cmd::SYSTEM_COMMANDS;

Modules§

approval
builtin_group
Built-in Command Group (FE-13).
cli
config
discovery
display_helpers
exposure
Module Exposure Filtering (FE-12).
fs_discoverer
init_cmd
output
ref_resolver
schema_parser
security
shell
strategy
system_cmd
validate

Constants§

APCLI_ALWAYS_REGISTERED
Subcommand names that are registered regardless of the resolved visibility mode’s include/exclude filter. exec is the documented always-registered escape hatch (spec §4.9) so downstream callers can always invoke modules by ID even when the apcli group is configured with a minimal surface.
EXIT_ACL_DENIED
EXIT_APPROVAL_DENIED
EXIT_CONFIG_BIND_ERROR
EXIT_CONFIG_MOUNT_ERROR
EXIT_CONFIG_NAMESPACE_RESERVED
EXIT_CONFIG_NOT_FOUND
EXIT_ERROR_FORMATTER_DUPLICATE
EXIT_INVALID_INPUT
EXIT_MODULE_EXECUTE_ERROR
EXIT_MODULE_NOT_FOUND
EXIT_SCHEMA_CIRCULAR_REF
EXIT_SCHEMA_VALIDATION_ERROR
EXIT_SIGINT
EXIT_SUCCESS

Functions§

register_apcli_subcommands
Central dispatcher for the 13 canonical apcli subcommands. Walks a fixed registration table and honors ApcliGroup::resolve_visibility for include/exclude modes. Under "all" or "none" all 13 subcommands are registered (spec §4.9 registration rules table); under "include" only listed subcommands + APCLI_ALWAYS_REGISTERED; under "exclude" all except listed + APCLI_ALWAYS_REGISTERED.