1pub mod args_parser;
6pub mod execution_control;
7pub mod execution_store;
8pub mod failure_handler;
9pub mod isolation;
10pub mod output_blocks;
11pub mod sequence_parser;
12pub mod signal_handler;
13pub mod status_formatter;
14pub mod substitution;
15pub mod usage;
16pub mod user_manager;
17
18mod lino_value_json;
19mod local_hostname;
20
21pub use args_parser::{
23 generate_session_name, generate_uuid, get_effective_mode, has_isolation, is_valid_uuid,
24 parse_args, validate_options, ParsedArgs, WrapperOptions, VALID_BACKENDS, VALID_OUTPUT_FORMATS,
25 VALID_SHELLS,
26};
27pub use execution_control::{
28 collect_descendant_pids, collect_descendant_pids_with_runner, collect_process_ids,
29 collect_process_ids_with_runner, control_execution, control_execution_with_runner,
30 format_control_result_as_links_notation, get_control_command, parse_screen_pid,
31 CommandRunOutput, CommandRunner, ControlAction, ControlCommand, ExecutionControlResult,
32 SystemCommandRunner,
33};
34pub use execution_store::{
35 is_clink_installed, CleanupOptions, CleanupResult, ExecutionRecord, ExecutionRecordOptions,
36 ExecutionStats, ExecutionStatus, ExecutionStore, ExecutionStoreOptions,
37};
38pub use failure_handler::{handle_failure, Config as FailureConfig};
39pub use isolation::{
40 append_log_file, build_shell_with_args_cmd_args, create_log_footer, create_log_header,
41 create_log_path, create_log_path_for_execution, docker_image_exists, docker_pull_image,
42 get_default_docker_image, get_timestamp, is_command_available, is_interactive_shell_command,
43 is_shell_invocation_with_args, run_as_isolated_user, run_isolated, write_log_file,
44 IsolationOptions, IsolationResult, LogHeaderParams,
45};
46#[allow(deprecated)]
47pub use output_blocks::{
48 create_command_line,
50 create_empty_spine_line, create_empty_timeline_line,
52 create_finish_block,
53 create_spine_line, create_start_block,
55 create_timeline_line,
56 create_timeline_separator,
57 create_virtual_command_block,
58 create_virtual_command_result,
59 escape_for_links_notation,
60 format_duration,
61 format_value_for_links_notation,
62 generate_isolation_lines,
63 get_result_marker,
64 parse_isolation_metadata,
65 FinishBlockOptions,
66 IsolationMetadata,
67 StartBlockOptions,
68 FAILURE_MARKER,
69 SPINE, SUCCESS_MARKER,
71 TIMELINE_MARKER,
72};
73pub use signal_handler::{
74 clear_current_execution, get_signal_exit_code, set_current_execution, setup_signal_handlers,
75 was_signal_received,
76};
77pub use status_formatter::{
78 attach_current_time, enrich_detached_status, format_record, format_record_as_links_notation,
79 format_record_as_links_notation_with_current_time, format_record_as_text,
80 format_record_as_text_with_current_time, format_record_list,
81 format_record_list_as_links_notation, format_record_list_as_text,
82 format_record_with_current_time, is_detached_session_alive, list_executions, query_status,
83 StatusQueryResult,
84};
85pub use substitution::{process_command, ProcessOptions, SubstitutionResult};
86pub use usage::print_usage;
87pub use user_manager::{
88 create_isolated_user, delete_user, get_current_user, get_current_user_groups, has_sudo_access,
89 CreateIsolatedUserOptions, DeleteUserOptions, UserOperationResult,
90};