Skip to main content

Crate start_command

Crate start_command 

Source
Expand description

start-command library

Provides command execution with isolation, substitution, and failure handling.

Re-exports§

pub use args_parser::generate_session_name;
pub use args_parser::generate_uuid;
pub use args_parser::get_effective_mode;
pub use args_parser::has_isolation;
pub use args_parser::is_valid_uuid;
pub use args_parser::parse_args;
pub use args_parser::validate_options;
pub use args_parser::ParsedArgs;
pub use args_parser::WrapperOptions;
pub use args_parser::VALID_BACKENDS;
pub use args_parser::VALID_OUTPUT_FORMATS;
pub use args_parser::VALID_SHELLS;
pub use execution_control::collect_descendant_pids;
pub use execution_control::collect_descendant_pids_with_runner;
pub use execution_control::collect_process_ids;
pub use execution_control::collect_process_ids_with_runner;
pub use execution_control::control_execution;
pub use execution_control::control_execution_with_runner;
pub use execution_control::get_control_command;
pub use execution_control::parse_screen_pid;
pub use execution_control::CommandRunOutput;
pub use execution_control::CommandRunner;
pub use execution_control::ControlAction;
pub use execution_control::ControlCommand;
pub use execution_control::ExecutionControlResult;
pub use execution_control::SystemCommandRunner;
pub use execution_store::CleanupOptions;
pub use execution_store::CleanupResult;
pub use execution_store::ExecutionRecord;
pub use execution_store::ExecutionRecordOptions;
pub use execution_store::ExecutionStats;
pub use execution_store::ExecutionStatus;
pub use execution_store::ExecutionStore;
pub use execution_store::ExecutionStoreOptions;
pub use failure_handler::handle_failure;
pub use failure_handler::Config as FailureConfig;
pub use isolation::append_log_file;
pub use isolation::build_shell_with_args_cmd_args;
pub use isolation::create_log_header;
pub use isolation::create_log_path;
pub use isolation::create_log_path_for_execution;
pub use isolation::docker_image_exists;
pub use isolation::docker_pull_image;
pub use isolation::get_default_docker_image;
pub use isolation::get_timestamp;
pub use isolation::is_command_available;
pub use isolation::is_interactive_shell_command;
pub use isolation::is_shell_invocation_with_args;
pub use isolation::run_as_isolated_user;
pub use isolation::run_isolated;
pub use isolation::write_log_file;
pub use isolation::IsolationOptions;
pub use isolation::IsolationResult;
pub use isolation::LogHeaderParams;
pub use isolation_metadata::build_isolation_options_map;
pub use isolation_metadata::docker_runtime_metadata;
pub use isolation_metadata::docker_runtime_status_lines;
pub use isolation_metadata::docker_runtime_status_lines_for_options;
pub use log_uploader::upload_execution_log;
pub use output_blocks::create_command_line;
pub use output_blocks::create_empty_spine_line;Deprecated
pub use output_blocks::create_empty_timeline_line;
pub use output_blocks::create_finish_block;
pub use output_blocks::create_spine_line;Deprecated
pub use output_blocks::create_start_block;
pub use output_blocks::create_timeline_line;
pub use output_blocks::create_timeline_separator;
pub use output_blocks::create_virtual_command_block;
pub use output_blocks::create_virtual_command_result;
pub use output_blocks::format_duration;
pub use output_blocks::generate_isolation_lines;
pub use output_blocks::get_result_marker;
pub use output_blocks::parse_isolation_metadata;
pub use output_blocks::FinishBlockOptions;
pub use output_blocks::IsolationMetadata;
pub use output_blocks::StartBlockOptions;
pub use output_blocks::FAILURE_MARKER;
pub use output_blocks::SPINE;Deprecated
pub use output_blocks::SUCCESS_MARKER;
pub use output_blocks::TIMELINE_MARKER;
pub use signal_handler::clear_current_execution;
pub use signal_handler::get_signal_exit_code;
pub use signal_handler::set_current_execution;
pub use signal_handler::setup_signal_handlers;
pub use signal_handler::was_signal_received;
pub use status_formatter::attach_current_time;
pub use status_formatter::enrich_detached_status;
pub use status_formatter::format_record;
pub use status_formatter::format_record_as_text;
pub use status_formatter::format_record_as_text_with_current_time;
pub use status_formatter::format_record_list;
pub use status_formatter::format_record_list_as_text;
pub use status_formatter::format_record_with_current_time;
pub use status_formatter::is_detached_session_alive;
pub use status_formatter::list_executions;
pub use status_formatter::query_status;
pub use status_formatter::read_exit_code_from_log;
pub use status_formatter::StatusQueryResult;
pub use substitution::process_command;
pub use substitution::ProcessOptions;
pub use substitution::SubstitutionResult;
pub use usage::print_usage;
pub use user_manager::create_isolated_user;
pub use user_manager::delete_user;
pub use user_manager::get_current_user;
pub use user_manager::get_current_user_groups;
pub use user_manager::has_sudo_access;
pub use user_manager::CreateIsolatedUserOptions;
pub use user_manager::DeleteUserOptions;
pub use user_manager::UserOperationResult;

Modules§

args_parser
Argument Parser for start-command wrapper options
execution_control
Detached execution control helpers.
execution_store
Execution Store - Dual storage (.lino text + .links binary) for command execution records
failure_handler
Failure handler for start-command
isolation
Isolation Runners for start-command
isolation_metadata
Metadata helpers for isolated executions.
log_uploader
Helpers for uploading tracked execution logs.
output_blocks
Output formatting utilities for nicely rendered command blocks
sequence_parser
Sequence Parser for Isolation Stacking
signal_handler
Signal handling for graceful cleanup on process interruption
status_formatter
Status formatter module for execution records
substitution
Substitution Engine for start-command
usage
user_manager
User Manager for start-command