netsuke-build 0.1.0-beta2

A YAML-powered Ninja/Jinja hybrid build system.
//! Fluent message identifiers used by Netsuke.

macro_rules! define_keys {
    ($($name:ident => $value:literal,)+) => {
        $(#[doc = "Fluent message key."] pub const $name: &str = $value;)+
        /// All Fluent message keys referenced by Netsuke.
        pub const ALL_KEYS: &[&str] = &[$($name),+];
    };
}

define_keys! {
    CLI_ABOUT => "cli.about",
    CLI_LONG_ABOUT => "cli.long_about",
    CLI_USAGE => "cli.usage",
    CLI_FLAG_FILE_HELP => "cli.flag.file.help",
    CLI_FLAG_DIRECTORY_HELP => "cli.flag.directory.help",
    CLI_FLAG_CONFIG_HELP => "cli.flag.config.help",
    CLI_FLAG_JOBS_HELP => "cli.flag.jobs.help",
    CLI_FLAG_VERBOSE_HELP => "cli.flag.verbose.help",
    CLI_FLAG_LOCALE_HELP => "cli.flag.locale.help",
    CLI_FLAG_FETCH_ALLOW_SCHEME_HELP => "cli.flag.fetch_allow_scheme.help",
    CLI_FLAG_FETCH_ALLOW_HOST_HELP => "cli.flag.fetch_allow_host.help",
    CLI_FLAG_FETCH_BLOCK_HOST_HELP => "cli.flag.fetch_block_host.help",
    CLI_FLAG_FETCH_DEFAULT_DENY_HELP => "cli.flag.fetch_default_deny.help",
    CLI_FLAG_JSON_HELP => "cli.flag.json.help",
    CLI_FLAG_NO_INPUT_HELP => "cli.flag.no_input.help",
    CLI_FLAG_COLOR_HELP => "cli.flag.color.help",
    CLI_FLAG_EMOJI_HELP => "cli.flag.emoji.help",
    CLI_FLAG_PROGRESS_HELP => "cli.flag.progress.help",
    CLI_FLAG_ACCESSIBILITY_HELP => "cli.flag.accessibility.help",
    CLI_FLAG_DEFAULT_TARGETS_HELP => "cli.flag.default_targets.help",
    CLI_SUBCOMMAND_BUILD_ABOUT => "cli.subcommand.build.about",
    CLI_SUBCOMMAND_BUILD_LONG_ABOUT => "cli.subcommand.build.long_about",
    CLI_SUBCOMMAND_CLEAN_ABOUT => "cli.subcommand.clean.about",
    CLI_SUBCOMMAND_CLEAN_LONG_ABOUT => "cli.subcommand.clean.long_about",
    CLI_SUBCOMMAND_GRAPH_ABOUT => "cli.subcommand.graph.about",
    CLI_SUBCOMMAND_GRAPH_LONG_ABOUT => "cli.subcommand.graph.long_about",
    CLI_SUBCOMMAND_GENERATE_ABOUT => "cli.subcommand.generate.about",
    CLI_SUBCOMMAND_GENERATE_LONG_ABOUT => "cli.subcommand.generate.long_about",
    CLI_SUBCOMMAND_HELP_ABOUT => "cli.subcommand.help.about",
    CLI_SUBCOMMAND_HELP_LONG_ABOUT => "cli.subcommand.help.long_about",
    CLI_HELP_ACTIONS_HEADING => "cli.help.actions_heading",
    CLI_HELP_TARGETS_HEADING => "cli.help.targets_heading",
    CLI_HELP_TARGETS_ABOUT => "cli.help.targets.about",
    CLI_HELP_DEFAULT_MARKER => "cli.help.default_marker",
    CLI_SUBCOMMAND_BUILD_FLAG_TARGETS_HELP => "cli.subcommand.build.flag.targets.help",
    CLI_SUBCOMMAND_GRAPH_FLAG_HTML_HELP => "cli.subcommand.graph.flag.html.help",
    CLI_SUBCOMMAND_GRAPH_FLAG_OUTPUT_HELP => "cli.subcommand.graph.flag.output.help",
    CLI_SUBCOMMAND_GENERATE_FLAG_OUTPUT_HELP => "cli.subcommand.generate.flag.output.help",
    CLAP_ERROR_MISSING_ARGUMENT => "clap-error-missing-argument",
    CLAP_ERROR_MISSING_SUBCOMMAND => "clap-error-missing-subcommand",
    CLAP_ERROR_UNKNOWN_ARGUMENT => "clap-error-unknown-argument",
    CLAP_ERROR_INVALID_VALUE => "clap-error-invalid-value",
    CLAP_ERROR_INVALID_SUBCOMMAND => "clap-error-invalid-subcommand",
    CLAP_ERROR_VALUE_VALIDATION => "clap-error-value-validation",
    CLI_JOBS_INVALID_NUMBER => "cli.validation.jobs.invalid_number",
    CLI_JOBS_OUT_OF_RANGE => "cli.validation.jobs.out_of_range",
    CLI_SCHEME_EMPTY => "cli.validation.scheme.empty",
    CLI_SCHEME_INVALID_START => "cli.validation.scheme.invalid_start",
    CLI_SCHEME_INVALID => "cli.validation.scheme.invalid",
    CLI_LOCALE_EMPTY => "cli.validation.locale.empty",
    CLI_LOCALE_INVALID => "cli.validation.locale.invalid",
    CLI_COLOR_POLICY_INVALID => "cli.validation.color.invalid",
    CLI_EMOJI_POLICY_INVALID => "cli.validation.emoji.invalid",
    CLI_PROGRESS_POLICY_INVALID => "cli.validation.progress.invalid",
    CLI_ACCESSIBILITY_POLICY_INVALID => "cli.validation.accessibility.invalid",
    CLI_CONFIG_EXPECTED_OBJECT => "cli.validation.config.expected_object",
    RUNNER_MANIFEST_NOT_FOUND => "runner.manifest.not_found",
    RUNNER_MANIFEST_NOT_FOUND_HELP => "runner.manifest.not_found.help",
    RUNNER_MANIFEST_PATH_MISSING_NAME => "runner.manifest.path_missing_name",
    RUNNER_MANIFEST_PATH_UTF8 => "runner.manifest.path_utf8",
    RUNNER_MANIFEST_DIR_UTF8 => "runner.manifest.directory_utf8",
    RUNNER_MANIFEST_DIRECTORY => "runner.manifest.directory_label",
    RUNNER_MANIFEST_CURRENT_DIRECTORY => "runner.manifest.current_directory_label",
    RUNNER_MANIFEST_DEFAULT_NOT_DECLARED => "runner.manifest.default_not_declared",
    RUNNER_CONTEXT_NETWORK_POLICY => "runner.context.network_policy",
    RUNNER_CONTEXT_LOAD_MANIFEST => "runner.context.load_manifest",
    RUNNER_CONTEXT_SERIALISE_MANIFEST => "runner.context.serialise_manifest",
    RUNNER_CONTEXT_BUILD_GRAPH => "runner.context.build_graph",
    RUNNER_CONTEXT_GENERATE_NINJA => "runner.context.generate_ninja",
    RUNNER_CONTEXT_RENDER_GRAPH => "runner.context.render_graph",
    RUNNER_IO_CREATE_TEMP_FILE => "runner.io.create_temp_file",
    RUNNER_IO_WRITE_TEMP_NINJA => "runner.io.write_temp_ninja",
    RUNNER_IO_FLUSH_TEMP_NINJA => "runner.io.flush_temp_ninja",
    RUNNER_IO_SYNC_TEMP_NINJA => "runner.io.sync_temp_ninja",
    RUNNER_IO_CREATE_PARENT_DIR => "runner.io.create_parent_dir",
    RUNNER_IO_CREATE_NINJA_FILE => "runner.io.create_ninja_file",
    RUNNER_IO_WRITE_NINJA_FILE => "runner.io.write_ninja_file",
    RUNNER_IO_FLUSH_NINJA_FILE => "runner.io.flush_ninja_file",
    RUNNER_IO_SYNC_NINJA_FILE => "runner.io.sync_ninja_file",
    RUNNER_IO_OPEN_AMBIENT_DIR => "runner.io.open_ambient_dir",
    RUNNER_IO_NON_UTF8_WORKING_DIRECTORY => "runner.io.non_utf8_working_directory",
    RUNNER_IO_NO_EXISTING_ANCESTOR => "runner.io.no_existing_ancestor",
    RUNNER_IO_DERIVE_RELATIVE_PATH => "runner.io.derive_relative_path",
    RUNNER_IO_NON_UTF8_PATH => "runner.io.non_utf8_path",
    RUNNER_IO_WRITE_STDOUT => "runner.io.write_stdout",
    RUNNER_IO_FLUSH_STDOUT => "runner.io.flush_stdout",
    RUNNER_IO_DYNDEP_CREATE_DIR => "runner.io.dyndep.create_dir",
    RUNNER_IO_DYNDEP_READ => "runner.io.dyndep.read",
    RUNNER_IO_DYNDEP_WRITE => "runner.io.dyndep.write",
    RUNNER_IO_DYNDEP_RENAME => "runner.io.dyndep.rename",
    RUNNER_IO_DYNDEP_CORRUPT => "runner.io.dyndep.corrupt",
    RUNNER_IO_DYNDEP_TEMP_COLLISIONS => "runner.io.dyndep.temp_collisions",
    RUNNER_IO_DYNDEP_TOO_LARGE => "runner.io.dyndep.too_large",
    RUNNER_IO_DYNDEP_RETENTION => "runner.io.dyndep.retention",
    MANIFEST_PARSE => "manifest.parse",
    MANIFEST_STRUCTURE_ERROR => "manifest.structure_error",
    MANIFEST_YAML_PARSE => "manifest.yaml.parse",
    MANIFEST_YAML_LABEL => "manifest.yaml.label",
    MANIFEST_YAML_HINT_TABS => "manifest.yaml.hint.tabs",
    MANIFEST_YAML_HINT_LIST_ITEM => "manifest.yaml.hint.list_item",
    MANIFEST_YAML_HINT_EXPECTED_COLON => "manifest.yaml.hint.expected_colon",
    MANIFEST_YAML_HINT_MAPPING_VALUES => "manifest.yaml.hint.mapping_values",
    MANIFEST_YAML_HINT_INVALID_TOKEN => "manifest.yaml.hint.invalid_token",
    MANIFEST_YAML_HINT_ESCAPE => "manifest.yaml.hint.escape",
    MANIFEST_ENV_MISSING => "manifest.env.missing",
    MANIFEST_ENV_INVALID_UTF8 => "manifest.env.invalid_utf8",
    MANIFEST_VARS_NOT_OBJECT => "manifest.vars.not_object",
    MANIFEST_VARS_RESERVED_NAME => "manifest.vars.reserved_name",
    MANIFEST_READ_FAILED => "manifest.read_failed",
    MANIFEST_RESOLVE_WORKSPACE_ROOT => "manifest.resolve_workspace_root",
    MANIFEST_WORKSPACE_NON_UTF8 => "manifest.workspace_non_utf8",
    MANIFEST_PATH_NON_UTF8 => "manifest.path_non_utf8",
    MANIFEST_PATH_MISSING_NAME => "manifest.path_missing_name",
    MANIFEST_OPEN_WORKSPACE_FAILED => "manifest.open_workspace_failed",
    MANIFEST_FOREACH_NOT_ITERABLE => "manifest.foreach.not_iterable",
    MANIFEST_FOREACH_SERIALISE_ITEM => "manifest.foreach.serialise_item",
    MANIFEST_WHEN_EMPTY => "manifest.when.empty",
    MANIFEST_WHEN_EVAL_ERROR => "manifest.when.eval_error",
    MANIFEST_WHEN_TEMPLATE_ERROR => "manifest.when.template_error",
    MANIFEST_TARGET_VARS_NOT_OBJECT => "manifest.target.vars_not_object",
    MANIFEST_VARS_ENTRY_NOT_OBJECT => "manifest.vars.entry_not_object",
    MANIFEST_FIELD_NOT_STRING => "manifest.field_not_string",
    MANIFEST_EXPRESSION_PARSE_ERROR => "manifest.expression.parse_error",
    MANIFEST_EXPRESSION_EVAL_ERROR => "manifest.expression.eval_error",
    MANIFEST_MACRO_SIGNATURE_MISSING_IDENTIFIER => "manifest.macro.signature_missing_identifier",
    MANIFEST_MACRO_SIGNATURE_MISSING_PARAMS => "manifest.macro.signature_missing_params",
    MANIFEST_MACRO_COMPILE_FAILED => "manifest.macro.compile_failed",
    MANIFEST_MACRO_SEQUENCE_INVALID => "manifest.macro.sequence_invalid",
    MANIFEST_MACRO_REGISTER_FAILED => "manifest.macro.register_failed",
    MANIFEST_MACRO_NOT_INITIALISED => "manifest.macro.not_initialised",
    MANIFEST_MACRO_CALLER_INVALID => "manifest.macro.caller_invalid",
    MANIFEST_MACRO_TEMPLATE_LOAD_FAILED => "manifest.macro.template_load_failed",
    MANIFEST_MACRO_INIT_FAILED => "manifest.macro.init_failed",
    MANIFEST_MACRO_MISSING => "manifest.macro.missing",
    MANIFEST_GLOB_UNMATCHED_BRACE => "manifest.glob.unmatched_brace",
    MANIFEST_GLOB_INVALID_PATTERN => "manifest.glob.invalid_pattern",
    MANIFEST_GLOB_UNKNOWN_PATTERN_ERROR => "manifest.glob.unknown_pattern_error",
    MANIFEST_GLOB_IO_FAILED => "manifest.glob.io_failed",
    MANIFEST_GLOB_UNKNOWN_IO_ERROR => "manifest.glob.unknown_io_error",
    MANIFEST_COMMAND_LIST_EMPTY => "manifest.command_list_empty",
    IR_RULE_NOT_FOUND => "ir.rule_not_found",
    IR_MULTIPLE_RULES => "ir.multiple_rules",
    IR_EMPTY_RULE => "ir.empty_rule",
    IR_DUPLICATE_OUTPUTS => "ir.duplicate_outputs",
    IR_CIRCULAR_DEPENDENCY => "ir.circular_dependency",
    IR_ACTION_SERIALISATION => "ir.action_serialisation",
    IR_INVALID_COMMAND => "ir.invalid_command",
    NINJA_GEN_MISSING_ACTION => "ninja_gen.missing_action",
    NINJA_GEN_FORMAT => "ninja_gen.format",
    NINJA_GEN_DYNDEP_FILES_REQUIRED => "ninja_gen.dyndep_files_required",
    NINJA_GEN_RESERVED_OUTPUT_PATH => "ninja_gen.reserved_output_path",
    NINJA_GEN_UNSUPPORTED_PATH_CHARACTER => "ninja_gen.unsupported_path_character",
    HOST_PATTERN_EMPTY => "host_pattern.empty",
    HOST_PATTERN_CONTAINS_SCHEME => "host_pattern.contains_scheme",
    HOST_PATTERN_CONTAINS_SLASH => "host_pattern.contains_slash",
    HOST_PATTERN_MISSING_SUFFIX => "host_pattern.missing_suffix",
    HOST_PATTERN_EMPTY_LABEL => "host_pattern.empty_label",
    HOST_PATTERN_INVALID_CHARS => "host_pattern.invalid_chars",
    HOST_PATTERN_INVALID_LABEL_EDGE => "host_pattern.invalid_label_edge",
    HOST_PATTERN_LABEL_TOO_LONG => "host_pattern.label_too_long",
    HOST_PATTERN_TOO_LONG => "host_pattern.too_long",
    NETWORK_POLICY_SCHEME_EMPTY => "network_policy.scheme.empty",
    NETWORK_POLICY_SCHEME_INVALID => "network_policy.scheme.invalid",
    NETWORK_POLICY_ALLOWLIST_EMPTY => "network_policy.allowlist.empty",
    NETWORK_POLICY_SCHEME_NOT_ALLOWED => "network_policy.scheme.not_allowed",
    NETWORK_POLICY_MISSING_HOST => "network_policy.missing_host",
    NETWORK_POLICY_HOST_NOT_ALLOWLISTED => "network_policy.host.not_allowlisted",
    NETWORK_POLICY_HOST_BLOCKED => "network_policy.host.blocked",
    STDLIB_DEFAULT_FETCH_CACHE_INVALID => "stdlib.config.default_fetch_cache_invalid",
    STDLIB_DEFAULT_WHICH_CACHE_INVALID => "stdlib.config.default_which_cache_invalid",
    STDLIB_WORKSPACE_ROOT_ABSOLUTE => "stdlib.config.workspace_root_absolute",
    STDLIB_FETCH_RESPONSE_LIMIT_POSITIVE => "stdlib.config.fetch_response_limit_positive",
    STDLIB_COMMAND_OUTPUT_LIMIT_POSITIVE => "stdlib.config.command_output_limit_positive",
    STDLIB_COMMAND_STREAM_LIMIT_POSITIVE => "stdlib.config.command_stream_limit_positive",
    STDLIB_WHICH_CACHE_CAPACITY_POSITIVE => "stdlib.config.which_cache_capacity_positive",
    STDLIB_SKIP_DIR_EMPTY => "stdlib.config.skip_dir_empty",
    STDLIB_SKIP_DIR_NAVIGATION => "stdlib.config.skip_dir_navigation",
    STDLIB_SKIP_DIR_SEPARATOR => "stdlib.config.skip_dir_separator",
    STDLIB_FETCH_CACHE_EMPTY => "stdlib.config.fetch_cache_empty",
    STDLIB_FETCH_CACHE_NOT_RELATIVE => "stdlib.config.fetch_cache_not_relative",
    STDLIB_FETCH_CACHE_ESCAPES => "stdlib.config.fetch_cache_escapes",
    STDLIB_CONFIG_OPEN_WORKSPACE_ROOT => "stdlib.config.open_workspace_root",
    STDLIB_CONFIG_RESOLVE_CWD => "stdlib.config.resolve_cwd",
    STDLIB_CONFIG_CWD_NON_UTF8 => "stdlib.config.cwd_non_utf8",
    STDLIB_FETCH_URL_INVALID => "stdlib.fetch.url_invalid",
    STDLIB_FETCH_DISALLOWED => "stdlib.fetch.disallowed",
    STDLIB_FETCH_FAILED => "stdlib.fetch.failed",
    STDLIB_FETCH_CACHE_READ_FAILED => "stdlib.fetch.cache_read_failed",
    STDLIB_FETCH_CACHE_OPEN_FAILED => "stdlib.fetch.cache_open_failed",
    STDLIB_FETCH_RESPONSE_READ_FAILED => "stdlib.fetch.response_read_failed",
    STDLIB_FETCH_RESPONSE_BUFFER_OVERFLOW => "stdlib.fetch.response_buffer_overflow",
    STDLIB_FETCH_CACHE_WRITE_FAILED => "stdlib.fetch.cache_write_failed",
    STDLIB_FETCH_RESPONSE_LIMIT_EXCEEDED => "stdlib.fetch.response_limit_exceeded",
    STDLIB_FETCH_CACHE_LIMIT_EXCEEDED => "stdlib.fetch.cache_limit_exceeded",
    STDLIB_FETCH_IO_FAILED => "stdlib.fetch.io_failed",
    STDLIB_FETCH_ACTION_SYNC_CACHE => "stdlib.fetch.action.sync_cache",
    STDLIB_FETCH_ACTION_CREATE_CACHE_DIR => "stdlib.fetch.action.create_cache_dir",
    STDLIB_FETCH_ACTION_OPEN_CACHE_DIR => "stdlib.fetch.action.open_cache_dir",
    STDLIB_FETCH_ACTION_STAT_CACHE => "stdlib.fetch.action.stat_cache",
    STDLIB_FETCH_ACTION_OPEN_CACHE_ENTRY => "stdlib.fetch.action.open_cache_entry",
    COMMAND_SPAWN_FAILED => "stdlib.command.spawn_failed",
    COMMAND_LOCATION => "stdlib.command.location",
    COMMAND_IO_FAILED => "stdlib.command.io_failed",
    COMMAND_CLOSED_INPUT_EARLY => "stdlib.command.closed_input_early",
    COMMAND_BROKEN_PIPE => "stdlib.command.broken_pipe",
    COMMAND_TERMINATED_BY_SIGNAL => "stdlib.command.terminated_by_signal",
    COMMAND_EXITED_WITH_STATUS => "stdlib.command.exited_with_status",
    COMMAND_OUTPUT_LIMIT_EXCEEDED => "stdlib.command.output_limit_exceeded",
    COMMAND_TIMEOUT => "stdlib.command.timeout",
    COMMAND_EXIT_STATUS_SUFFIX => "stdlib.command.exit_status_suffix",
    COMMAND_SIGNAL_SUFFIX => "stdlib.command.signal_suffix",
    COMMAND_SHELL_EMPTY => "stdlib.command.shell.empty",
    COMMAND_GREP_EMPTY_PATTERN => "stdlib.command.grep.empty_pattern",
    COMMAND_GREP_FLAGS_NOT_STRING => "stdlib.command.grep.flags_not_string",
    COMMAND_QUOTE_INVALID => "stdlib.command.quote.invalid",
    COMMAND_QUOTE_LINE_BREAK => "stdlib.command.quote.line_break",
    COMMAND_INPUT_UNDEFINED => "stdlib.command.input_undefined",
    COMMAND_TEMPFILE_ROOT_REQUIRED => "stdlib.command.tempfile.root_required",
    COMMAND_TEMPFILE_CREATE_FAILED => "stdlib.command.tempfile.create_failed",
    COMMAND_OPTIONS_INVALID_UTF8 => "stdlib.command.options.invalid_utf8",
    COMMAND_OPTION_MODE_NOT_STRING => "stdlib.command.option.mode_not_string",
    COMMAND_OPTIONS_INVALID_TYPE => "stdlib.command.options.invalid_type",
    COMMAND_OUTPUT_MODE_UNSUPPORTED => "stdlib.command.output.mode_unsupported",
    COMMAND_OUTPUT_MODE_CAPTURE => "stdlib.command.output.mode.capture",
    COMMAND_OUTPUT_MODE_STREAMING => "stdlib.command.output.mode.streaming",
    COMMAND_OUTPUT_STREAM_STDOUT => "stdlib.command.output.stream.stdout",
    COMMAND_OUTPUT_STREAM_STDERR => "stdlib.command.output.stream.stderr",
    STDLIB_PATH_IO_FAILED => "stdlib.path.io.failed",
    STDLIB_PATH_IO_FAILED_WITH_DETAIL => "stdlib.path.io.failed_with_detail",
    STDLIB_PATH_IO_FAILED_WITH_LABEL_AND_DETAIL => "stdlib.path.io.failed_with_label_and_detail",
    STDLIB_PATH_IO_NOT_FOUND => "stdlib.path.io.not_found",
    STDLIB_PATH_IO_PERMISSION_DENIED => "stdlib.path.io.permission_denied",
    STDLIB_PATH_IO_ALREADY_EXISTS => "stdlib.path.io.already_exists",
    STDLIB_PATH_IO_INVALID_INPUT => "stdlib.path.io.invalid_input",
    STDLIB_PATH_IO_INVALID_DATA => "stdlib.path.io.invalid_data",
    STDLIB_PATH_IO_TIMED_OUT => "stdlib.path.io.timed_out",
    STDLIB_PATH_IO_INTERRUPTED => "stdlib.path.io.interrupted",
    STDLIB_PATH_IO_WOULD_BLOCK => "stdlib.path.io.would_block",
    STDLIB_PATH_IO_WRITE_ZERO => "stdlib.path.io.write_zero",
    STDLIB_PATH_IO_UNEXPECTED_EOF => "stdlib.path.io.unexpected_eof",
    STDLIB_PATH_IO_BROKEN_PIPE => "stdlib.path.io.broken_pipe",
    STDLIB_PATH_IO_CONNECTION_REFUSED => "stdlib.path.io.connection_refused",
    STDLIB_PATH_IO_CONNECTION_RESET => "stdlib.path.io.connection_reset",
    STDLIB_PATH_IO_CONNECTION_ABORTED => "stdlib.path.io.connection_aborted",
    STDLIB_PATH_IO_NOT_CONNECTED => "stdlib.path.io.not_connected",
    STDLIB_PATH_IO_ADDR_IN_USE => "stdlib.path.io.addr_in_use",
    STDLIB_PATH_IO_ADDR_NOT_AVAILABLE => "stdlib.path.io.addr_not_available",
    STDLIB_PATH_IO_OUT_OF_MEMORY => "stdlib.path.io.out_of_memory",
    STDLIB_PATH_IO_UNSUPPORTED => "stdlib.path.io.unsupported",
    STDLIB_PATH_IO_FILE_TOO_LARGE => "stdlib.path.io.file_too_large",
    STDLIB_PATH_IO_RESOURCE_BUSY => "stdlib.path.io.resource_busy",
    STDLIB_PATH_IO_EXECUTABLE_BUSY => "stdlib.path.io.executable_busy",
    STDLIB_PATH_IO_DEADLOCK => "stdlib.path.io.deadlock",
    STDLIB_PATH_IO_CROSSES_DEVICES => "stdlib.path.io.crosses_devices",
    STDLIB_PATH_IO_TOO_MANY_LINKS => "stdlib.path.io.too_many_links",
    STDLIB_PATH_IO_INVALID_FILENAME => "stdlib.path.io.invalid_filename",
    STDLIB_PATH_IO_ARG_LIST_TOO_LONG => "stdlib.path.io.arg_list_too_long",
    STDLIB_PATH_IO_STALE_HANDLE => "stdlib.path.io.stale_handle",
    STDLIB_PATH_IO_STORAGE_FULL => "stdlib.path.io.storage_full",
    STDLIB_PATH_IO_NOT_SEEKABLE => "stdlib.path.io.not_seekable",
    STDLIB_PATH_IO_NETWORK_DOWN => "stdlib.path.io.network_down",
    STDLIB_PATH_IO_NETWORK_UNREACHABLE => "stdlib.path.io.network_unreachable",
    STDLIB_PATH_IO_HOST_UNREACHABLE => "stdlib.path.io.host_unreachable",
    STDLIB_PATH_IO_OTHER => "stdlib.path.io.other",
    STDLIB_PATH_ACTION_CANONICALIZE => "stdlib.path.action.canonicalize",
    STDLIB_PATH_ACTION_OPEN_DIRECTORY => "stdlib.path.action.open_directory",
    STDLIB_PATH_ACTION_STAT => "stdlib.path.action.stat",
    STDLIB_PATH_ACTION_READ => "stdlib.path.action.read",
    STDLIB_PATH_ACTION_OPEN_FILE => "stdlib.path.action.open_file",
    STDLIB_PATH_WITH_SUFFIX_EMPTY_SEPARATOR => "stdlib.path.with_suffix.empty_separator",
    STDLIB_PATH_RELATIVE_TO_MISMATCH => "stdlib.path.relative_to.mismatch",
    STDLIB_PATH_EXPANDUSER_UNSUPPORTED => "stdlib.path.expanduser.unsupported",
    STDLIB_PATH_EXPANDUSER_NO_HOME => "stdlib.path.expanduser.no_home",
    STDLIB_PATH_UNSUPPORTED_ENCODING => "stdlib.path.contents.unsupported_encoding",
    STDLIB_PATH_HASH_UNSUPPORTED_ALGORITHM => "stdlib.path.hash.unsupported_algorithm",
    STDLIB_PATH_HASH_UNSUPPORTED_ALGORITHM_LEGACY => "stdlib.path.hash.unsupported_algorithm_legacy",
    STDLIB_COLLECTIONS_FLATTEN_EXPECTED_SEQUENCE => "stdlib.collections.flatten.expected_sequence",
    STDLIB_COLLECTIONS_GROUP_BY_EMPTY_ATTR => "stdlib.collections.group_by.empty_attribute",
    STDLIB_COLLECTIONS_GROUP_BY_UNRESOLVED => "stdlib.collections.group_by.unresolved",
    STDLIB_TIME_OFFSET_INVALID => "stdlib.time.offset.invalid",
    STDLIB_TIME_OVERFLOW => "stdlib.time.timedelta.overflow",
    STDLIB_TIME_LABEL_WEEKS => "stdlib.time.label.weeks",
    STDLIB_TIME_LABEL_DAYS => "stdlib.time.label.days",
    STDLIB_TIME_LABEL_HOURS => "stdlib.time.label.hours",
    STDLIB_TIME_LABEL_MINUTES => "stdlib.time.label.minutes",
    STDLIB_TIME_LABEL_SECONDS => "stdlib.time.label.seconds",
    STDLIB_TIME_LABEL_MILLISECONDS => "stdlib.time.label.milliseconds",
    STDLIB_TIME_LABEL_MICROSECONDS => "stdlib.time.label.microseconds",
    STDLIB_TIME_LABEL_NANOSECONDS => "stdlib.time.label.nanoseconds",
    STDLIB_WHICH_NOT_FOUND => "stdlib.which.not_found",
    STDLIB_WHICH_NOT_FOUND_HINT_CWD_AUTO => "stdlib.which.not_found.hint.cwd_auto",
    STDLIB_WHICH_NOT_FOUND_HINT_CWD_ALWAYS => "stdlib.which.not_found.hint.cwd_always",
    STDLIB_WHICH_DIRECT_NOT_FOUND => "stdlib.which.direct_not_found",
    STDLIB_WHICH_ARGS_ERROR => "stdlib.which.args_error",
    STDLIB_WHICH_PATH_PREVIEW_EMPTY => "stdlib.which.path_preview.empty",
    STDLIB_WHICH_PATH_ENTRY_NON_UTF8 => "stdlib.which.path_entry.non_utf8",
    STDLIB_WHICH_COMMAND_EMPTY => "stdlib.which.command.empty",
    STDLIB_WHICH_CWD_MODE_INVALID => "stdlib.which.cwd_mode.invalid",
    STDLIB_WHICH_CWD_RESOLVE_FAILED => "stdlib.which.cwd.resolve_failed",
    STDLIB_WHICH_CWD_NON_UTF8 => "stdlib.which.cwd.non_utf8",
    STDLIB_WHICH_CANONICALIZE_FAILED => "stdlib.which.canonicalize_failed",
    STDLIB_WHICH_IS_EXECUTABLE => "stdlib.which.is_executable",
    STDLIB_WHICH_CANONICALIZE_NON_UTF8 => "stdlib.which.canonicalize_non_utf8",
    STDLIB_WHICH_WORKSPACE_NON_UTF8 => "stdlib.which.workspace_non_utf8",
    STDLIB_WHICH_WALKDIR_ERROR => "stdlib.which.walkdir_error",
    STDLIB_REGISTER_OPEN_DIR => "stdlib.register.open_dir",
    STDLIB_REGISTER_RESOLVE_DIR => "stdlib.register.resolve_dir",
    STDLIB_REGISTER_DIR_NON_UTF8 => "stdlib.register.dir_non_utf8",
    STATUS_STATE_PENDING => "status.state.pending",
    STATUS_STATE_RUNNING => "status.state.running",
    STATUS_STATE_DONE => "status.state.done",
    STATUS_STATE_FAILED => "status.state.failed",
    STATUS_STAGE_LABEL => "status.stage.label",
    STATUS_STAGE_SUMMARY => "status.stage.summary",
    STATUS_STAGE_SUMMARY_WITH_TASK => "status.stage.summary_with_task",
    STATUS_TASK_PROGRESS_LABEL => "status.task.progress_label",
    STATUS_TASK_PROGRESS_UPDATE => "status.task.progress_update",
    STATUS_STAGE_MANIFEST_INGESTION => "status.stage.manifest_ingestion",
    STATUS_STAGE_INITIAL_YAML_PARSING => "status.stage.initial_yaml_parsing",
    STATUS_STAGE_TEMPLATE_EXPANSION => "status.stage.template_expansion",
    STATUS_STAGE_FINAL_RENDERING => "status.stage.final_rendering",
    STATUS_STAGE_IR_GENERATION_VALIDATION => "status.stage.ir_generation_validation",
    STATUS_STAGE_NINJA_SYNTHESIS => "status.stage.ninja_synthesis",
    STATUS_STAGE_NINJA_SYNTHESIS_EXECUTE => "status.stage.ninja_synthesis_execute",
    STATUS_STAGE_GRAPH_RENDERING => "status.stage.graph_rendering",
    STATUS_STAGE_GRAPH_RENDERING_WITH_TOOL => "status.stage.graph_rendering_with_tool",
    STATUS_COMPLETE => "status.complete",
    STATUS_TIMING_SUMMARY_HEADER => "status.timing.summary_header",
    STATUS_TIMING_STAGE_LINE => "status.timing.stage_line",
    STATUS_TIMING_TOTAL_LINE => "status.timing.total_line",
    STATUS_TOOL_BUILD => "status.tool.build",
    STATUS_TOOL_CLEAN => "status.tool.clean",
    STATUS_TOOL_GRAPH => "status.tool.graph",
    STATUS_TOOL_GRAPH_HTML => "status.tool.graph_html",
    STATUS_TOOL_GENERATE => "status.tool.generate",
    STATUS_TOOL_HELP_TARGETS => "status.tool.help_targets",
    GRAPH_HTML_TITLE => "graph.html.title",
    GRAPH_HTML_HEADING => "graph.html.heading",
    GRAPH_HTML_DESCRIPTION => "graph.html.description",
    GRAPH_HTML_OUTLINE_SUMMARY => "graph.html.outline.summary",
    GRAPH_HTML_OUTLINE_NO_INPUTS => "graph.html.outline.no_inputs",
    GRAPH_HTML_NOSCRIPT_NOTICE => "graph.html.noscript.notice",
    SEMANTIC_PREFIX_ERROR => "semantic.prefix.error",
    SEMANTIC_PREFIX_WARNING => "semantic.prefix.warning",
    SEMANTIC_PREFIX_SUCCESS => "semantic.prefix.success",
    SEMANTIC_PREFIX_INFO => "semantic.prefix.info",
    SEMANTIC_PREFIX_TIMING => "semantic.prefix.timing",
    SEMANTIC_PREFIX_RENDERED => "semantic.prefix.rendered",
    EXAMPLE_FILES_PROCESSED => "example.files_processed",
    EXAMPLE_ERRORS_FOUND => "example.errors_found",
}