#[allow(unused_extern_crates)]
extern crate self as cli_engine;
pub mod auth;
pub mod cli;
pub mod command;
pub mod config;
pub mod config_commands;
mod env_commands;
pub mod env_config;
pub mod environments;
pub mod error;
pub mod feature_flags;
mod flag_commands;
pub mod flags;
pub mod fs;
pub mod guide;
pub mod middleware;
pub mod module;
pub mod output;
pub mod prompt;
pub mod search;
pub mod tier;
pub mod transport;
pub mod tree;
#[cfg(feature = "pkce-auth")]
pub use auth::storage::{AutoStorage, KeyringStorage};
pub use auth::storage::{
CredentialKey, CredentialStorage, FileStorage, default_storage, storage_for,
};
pub use auth::{
AuthLoginResult, AuthProvider, AuthStatusEntry, CACHE_TTL, Credential, CredentialRequest,
Dispatcher, SingleProvider, StatusEntry, auth_command_group, login_and_build,
login_and_build_with_scopes, logout_result, status_result, to_status_entry,
};
pub use cli::{
ApplyFlags, Argv0LinkMethod, Argv0Route, BuildInfo, Cli, CliConfig, CliRunOutput,
ExtraSearchDocs, InitDeps, ModuleHelpEntry, OnShutdown, PreRun, RegisterFlags, ResolveMeta,
RootNextActions, build_root_long,
};
pub use command::{
CommandContext, CommandFuture, CommandHandler, CommandResult, CommandResultMetadata,
CommandSpec, GroupSpec, PaginationConfig, RuntimeCommandSpec, RuntimeGroupSpec, StreamSender,
StreamingCommandFuture, StreamingCommandHandler, command_args_from_matches,
command_path_from_matches, command_path_from_parts, leaf_matches,
};
pub use config::{
ConfigFile, CredentialStore, CredentialsConfig, EngineConfig, ParseCredentialStoreError,
credential_store_env_var, resolve_credential_store, resolve_credential_store_with,
};
pub use config_commands::config_command_group;
pub use env_config::{
ConfigSource, EnvConfig, EnvConfigError, EnvSource, EnvVarSource, SourceChain, ValueSource,
};
pub use environments::{EnvTable, Environments};
pub use error::{
CliCoreError, DetailedError, ExitCoder, Result, exit_code_for_error, exit_code_for_exit_coder,
};
pub use feature_flags::{FeatureFlag, FlagEntry, FlagPolicy, FlagRegistry, Stage};
pub use flags::{
GlobalFlags, InteractivityMode, app_id_env_prefix, debug_component_enabled,
default_output_format, derive_bool_flags, derive_value_flags, detect_interactive,
extract_command_path, extract_output_format, global_flags_from_matches, has_true_schema_flag,
min_stage_env_var, output_env_var, register_global_flags, register_reason_flag,
resolve_default_output_format,
};
pub use guide::{GuideEntry, parse_guides, parse_guides_from_markdown};
pub use middleware::{
ActivityEmitter, ActivityEvent, Auditor, AuthRequirement, Authorizer, CommandMeta,
CredentialResolver, Middleware, MiddlewareOutput, MiddlewareRequest,
};
pub use module::{CommandModule, Module, ModuleContext, ModuleRegister, build_module_group};
pub use output::{
Alignment, Envelope, ErrorEnvelope, FieldInfo, HumanViewDef, HumanViewFn, HumanViewRegistry,
HumanViewRenderer, Metadata, NextAction, NextActionParam, OutputField, OutputFormat,
OutputSchema, PaginationMeta, PipelineOpts, RendererFactory, SchemaInfo, SchemaRegistry,
TableColumn, apply_pipeline, build_detailed_error_envelope, build_error_envelope, fields_for,
fields_from_json_schema, filter_fields, format_help_section, get_global_schema_by_path,
global_human_view_registry_snapshot, global_schema_registry_snapshot, is_valid_output_format,
json_schema_for, json_schema_info, lookup_global_human_view_columns,
lookup_global_human_view_func, parse_fields, register_global_human_view,
register_global_human_view_func, register_global_json_schema, register_global_schema,
register_global_schema_fields, register_global_schema_info, render, render_data,
render_data_format, render_detailed_error, render_detailed_error_format, render_error,
render_error_format, render_format, render_human, render_human_with_registry,
render_human_with_registry_for_schema, render_human_with_registry_selected,
render_human_with_view, render_json, render_toon, write_render,
};
pub use search::{SearchDocument, SearchResult};
pub use tier::Tier;
pub use tree::{TreeNode, build_tree_from_clap, build_tree_from_parts, render_tree_human};