bijux-cli 0.3.2__tar.gz → 0.3.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/Cargo.lock +3 -3
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/Cargo.toml +2 -2
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/PKG-INFO +1 -1
- bijux_cli-0.3.3/crates/bijux-cli/src/interface/cli/dispatch/delegation.rs +83 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/dispatch.rs +21 -22
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/interfaces/documented_env_surface.rs +9 -2
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/mod.rs +1 -0
- bijux_cli-0.3.3/crates/bijux-cli/tests/integration/cli/root/official_product_routes.rs +123 -0
- bijux_cli-0.3.2/crates/bijux-cli/src/interface/cli/dispatch/delegation.rs +0 -46
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/Cargo.toml +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/build.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/contracts/official_product_namespace_registry.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/config.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/diagnostics.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/install.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/kernel.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/output.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/parser.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/plugins.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/repl.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/routing.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/runtime.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/telemetry.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/api/version.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/bin/bijux.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/bootstrap/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/bootstrap/repl.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/bootstrap/run.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/bootstrap/wiring.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/command.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/config.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/diagnostics.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/envelope.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/execution.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/marker.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/plugin.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/product_mount.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/query.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/contracts/schema.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/config/error.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/config/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/config/operations.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/config/serialization.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/config/service.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/config/storage.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/config/validation.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/parity_status.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/routing_inventory.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/state_diagnostics.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/state_paths.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/history/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/history/operations.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/compatibility.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/completion.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/diagnostics.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/io.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/metadata.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/paths.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/query.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/install/state.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/memory/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/memory/operations.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/constants.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/diagnostics.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/discovery.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/entrypoint.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/errors.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/manifest.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/models.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/operations.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/registry.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/runtime.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/plugins/scaffold.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/infrastructure/env.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/infrastructure/fs_store.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/infrastructure/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/infrastructure/process.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/infrastructure/serde_json_codec.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/infrastructure/state_store.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/dispatch/help.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/dispatch/policy.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/dispatch/route_exec.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/dispatch/suggest.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/handlers/cli.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/handlers/config.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/handlers/history.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/handlers/install.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/handlers/memory.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/handlers/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/handlers/plugins.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/handlers/root.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/help.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/parser.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/repl/completion.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/repl/diagnostics.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/repl/execution.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/repl/history.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/repl/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/repl/reference.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/repl/session.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/repl/types.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/kernel/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/kernel/pipeline.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/kernel/policy.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/kernel/tests.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/lib.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/routing/catalog.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/routing/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/routing/model.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/routing/parser.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/routing/registry.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/shared/argv.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/shared/error.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/shared/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/shared/output.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/shared/paths.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/shared/telemetry.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/shared/time.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/shared/version.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/boundaries/architecture_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/boundaries/cli_kernel_domain_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/boundaries/config_architecture_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/boundaries/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/boundaries/python_bridge_ownership_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/boundaries/runtime_query_architecture_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/interfaces/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/interfaces/query_interfaces.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/ownership/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/ownership/plugin_template_contracts.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/ownership/python_e2e_equivalence_coverage.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/ownership/release_contracts.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/ownership/release_tree_contracts.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture/ownership/runtime_control_plane_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/architecture.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/fixtures/coverage/python_e2e_equivalence_inventory.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/fixtures/routing/cli_subcommands.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/fixtures/routing/invalid_command_suggestions.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/fixtures/routing/parse_cases.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/fixtures/routing/plugin_namespace_commands.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/fixtures/routing/python_documented_commands.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/fixtures/routing/rust_routed_root_commands.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_clear_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_export_json_compact.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_export_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_export_yaml_pretty.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_get_json_compact.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_get_json_pretty.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_get_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_get_yaml_pretty.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_reload_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_root_json_compact.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_root_json_pretty.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_root_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_root_yaml_pretty.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_set_json_compact.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_set_json_pretty.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_set_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_set_yaml_pretty.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/config_unset_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_audit.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_config_get.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_config_set.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_paths.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_plugins_doctor.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_plugins_inspect.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_plugins_install.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_plugins_list.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_plugins_scaffold.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_plugins_uninstall.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_self_test.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_cli_status.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_completion.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_config.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_docs.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_doctor.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_history.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_inspect.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_memory.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins_doctor.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins_explain.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins_install.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins_reserved_names.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins_scaffold.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins_schema.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins_uninstall.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_plugins_where.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_repl.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_root.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_root_no_color.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_status.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/help_version.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/history_root_json.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/history_root_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/history_root_yaml.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/inspect_json.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/inspect_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/inspect_yaml.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/memory_list_text.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/memory_list_yaml.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/plugin_scaffold_python_minimal_files.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/plugin_scaffold_rust_minimal_files.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/golden/cli_surface/repl_command_reference.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/data/parity/python_baseline/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/adversarial_fs_process_minimized_cases/config_missing_parent_set.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/adversarial_fs_process_minimized_cases/history_directory_path.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/adversarial_fs_process_minimized_cases/plugin_list_broken_registry.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/config_corruption_minimized_cases/list_truncated_config.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/config_corruption_minimized_cases/load_malformed_source.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/config_corruption_minimized_cases/set_invalid_assignment.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/config_minimized_cases/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/config_minimized_cases/case_001_malformed_line.env +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/config_minimized_cases/case_002_duplicate_key.env +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/config_minimized_cases/case_003_quoted_and_escape.env +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/config_minimized_cases/case_004_null_byte.env +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/plugin_scaffold_minimized_cases/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/plugin_scaffold_minimized_cases/case_001_python_ok.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/plugin_scaffold_minimized_cases/case_002_rust_ok.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/plugin_scaffold_minimized_cases/case_003_reserved_fail.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/plugin_scaffold_minimized_cases/case_004_parent_path_fail.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/plugin_state_corruption_minimized_cases/history_mixed_entries.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/plugin_state_corruption_minimized_cases/memory_wrong_type.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/plugin_state_corruption_minimized_cases/plugin_registry_broken.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/state_corruption_minimized_cases/config_partial_write.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/state_corruption_minimized_cases/history_wrong_shape.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/state_corruption_minimized_cases/registry_truncated.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/state_race_minimized_cases/read_write_mix.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/minimized_cases/state_race_minimized_cases/two_writer_same_key.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_interesting_inputs/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_interesting_inputs/alias_namespace_cases.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_interesting_inputs/flag_order_cases.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_interesting_inputs/root_and_help_cases.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_minimized_cases/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_minimized_cases/case_001_repeated_pretty.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_minimized_cases/case_002_conflicting_format.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_minimized_cases/case_003_external_namespace_route.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_minimized_cases/case_004_huge_token.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/parser/parser_minimized_cases/case_005_confusable_help.argv +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/routing/route_minimized_cases/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/routing/route_minimized_cases/case_001_normalized_collision.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/routing/route_minimized_cases/case_002_alias_root_collisions.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/fuzz/routing/route_minimized_cases/case_003_mixed_registration_order.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_core_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_deep_behavior_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_export_load_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_fuzz_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_fuzz_targets.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_get_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_get_performance.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_key_value_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_mutation_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_mutation_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_python_compatibility.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_read_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_root_listing.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_root_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_set_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/config_source_precedence_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/config/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/diagnostics/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/history/history_command_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/history/history_deep_behavior_extra.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/history/history_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/history/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/memory/memory_command_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/memory/memory_deep_behavior_extra.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/memory/memory_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/memory/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_cli_lifecycle.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_command_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_discovery_determinism_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_failure_injection.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_failure_rollback_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_lifecycle_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_namespace_law.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_scaffold_fuzz_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_scaffold_fuzz_targets.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/plugins/plugin_scaffold_minimal.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/adversarial_fs_process_campaign_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/adversarial_fs_process_campaigns.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/config_corruption_campaign_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/config_corruption_hardening.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/deterministic_hostile_state_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/history_memory_resilience_hardening.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/history_write_resilience.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/install_ambiguity_hardening.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/performance_realism_hardening.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/plugin_state_corruption_campaign_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/randomized_config_corruption_campaigns.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/randomized_plugin_state_corruption_campaigns.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/randomized_state_corruption_harness.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/randomized_state_corruption_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/state_race_campaign_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/resilience/state_race_campaigns.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/bin_core_integration.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/cli_command_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/cross_surface_equivalence.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/flag_normalization_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/install_command.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/parser_invalid_utf8_argv.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/precedence_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/python_command_port_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/cli/root/root_command_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/repl/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/repl/repl_completion_extra.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/repl/repl_execution_law_extra.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/repl/repl_hostile_session_extra.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/repl/repl_hostile_session_hardening.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/repl/repl_startup_performance_budget.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/repl/transcript_cases.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration/repl/transcript_parity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/integration.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/contracts/command_tree_snapshot.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/contracts/config_domain_types.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/contracts/envelope_compatibility.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/contracts/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/contracts/schema_snapshots.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/contracts/serde_roundtrip.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/laws/command_tree_diff_report.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/laws/legacy_forms_regression.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/laws/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/laws/route_fuzz_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/laws/route_fuzz_targets.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/laws/route_inspection_output.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/laws/route_law_consistency.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/laws/routing_fixture_sets.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/flag_normalization_property.proptest-regressions +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/flag_normalization_property.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/normalization_property.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/parser_abuse.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/parser_fixtures.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/parser_fuzz.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/parser_fuzz_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/parser_fuzz_targets.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/parser/parser_intent.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/registry/maintainer_inventory_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/registry/maintainer_routing_identity_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/registry/mod.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/registry/query_interfaces.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/registry/registry_namespace_policy.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/registry/registry_resolution.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/snapshots/command_tree.txt +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/snapshots/error_envelope_v1.schema.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/snapshots/output_envelope_v1.schema.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing/snapshots/plugin_manifest_v2.schema.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/tests/routing.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/Cargo.toml +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/src/bindings.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/src/compatibility.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/src/conversions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/src/lib.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/bridge_binary_parity_report.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/bridge_bindings.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/bridge_conversion_fuzz_regressions.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/bridge_conversion_fuzz_targets.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/bridge_conversion_law_extra.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/bridge_execution_law_extra.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/bridge_surface_parity_matrix.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/config_compatibility.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/fuzz/bridge_conversion_minimized_cases/README.md +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/fuzz/bridge_conversion_minimized_cases/case_001_error_minimal.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/fuzz/bridge_conversion_minimized_cases/case_002_success_minimal.json +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/maintainer_leakage_boundaries.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/python/test_packaging_contracts.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/python/test_runtime_parity.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/python/test_runtime_resilience.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/python/test_stable_release_compatibility.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/python_packaging_ownership.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli-python/tests/runtime_entrypoint_unity.rs +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/pyproject.toml +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/python/bijux_cli_py/__init__.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/python/bijux_cli_py/__main__.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/python/bijux_cli_py/_exceptions.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/python/bijux_cli_py/_facade.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/python/bijux_cli_py/cli.py +0 -0
- {bijux_cli-0.3.2 → bijux_cli-0.3.3}/python/bijux_cli_py/compat.py +0 -0
|
@@ -66,7 +66,7 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
|
|
66
66
|
|
|
67
67
|
[[package]]
|
|
68
68
|
name = "bijux-cli"
|
|
69
|
-
version = "0.3.
|
|
69
|
+
version = "0.3.3"
|
|
70
70
|
dependencies = [
|
|
71
71
|
"anyhow",
|
|
72
72
|
"clap",
|
|
@@ -86,7 +86,7 @@ dependencies = [
|
|
|
86
86
|
|
|
87
87
|
[[package]]
|
|
88
88
|
name = "bijux-cli-python"
|
|
89
|
-
version = "0.3.
|
|
89
|
+
version = "0.3.3"
|
|
90
90
|
dependencies = [
|
|
91
91
|
"bijux-cli",
|
|
92
92
|
"pyo3",
|
|
@@ -96,7 +96,7 @@ dependencies = [
|
|
|
96
96
|
|
|
97
97
|
[[package]]
|
|
98
98
|
name = "bijux-dev-cli"
|
|
99
|
-
version = "0.3.
|
|
99
|
+
version = "0.3.3"
|
|
100
100
|
dependencies = [
|
|
101
101
|
"anyhow",
|
|
102
102
|
"bijux-cli",
|
|
@@ -3,7 +3,7 @@ members = ["crates/bijux-cli", "crates/bijux-cli-python"]
|
|
|
3
3
|
resolver = "2"
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
|
-
version = "0.3.
|
|
6
|
+
version = "0.3.3"
|
|
7
7
|
edition = "2021"
|
|
8
8
|
license = "Apache-2.0"
|
|
9
9
|
repository = "https://github.com/bijux/bijux-cli"
|
|
@@ -14,7 +14,7 @@ rust-version = "1.85"
|
|
|
14
14
|
|
|
15
15
|
[workspace.dependencies]
|
|
16
16
|
anyhow = "1.0.100"
|
|
17
|
-
bijux-cli = { version = "0.3.
|
|
17
|
+
bijux-cli = { version = "0.3.3", path = "crates/bijux-cli" }
|
|
18
18
|
serde = { version = "1.0.228", features = ["derive"] }
|
|
19
19
|
serde_json = { version = "1.0.145", default-features = false, features = ["std"] }
|
|
20
20
|
serde_yaml = "0.9.34"
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
//! External runtime tool delegation helpers.
|
|
2
|
+
|
|
3
|
+
use std::process::Command;
|
|
4
|
+
|
|
5
|
+
use crate::contracts::known_bijux_tool;
|
|
6
|
+
|
|
7
|
+
use super::AppRunResult;
|
|
8
|
+
|
|
9
|
+
#[derive(Debug, Clone, PartialEq, Eq)]
|
|
10
|
+
struct DelegatedKnownToolCommand {
|
|
11
|
+
binary: String,
|
|
12
|
+
package_name: String,
|
|
13
|
+
command_surface: String,
|
|
14
|
+
forwarded_args: Vec<String>,
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
fn delegate_to_external_binary(
|
|
18
|
+
binary: &str,
|
|
19
|
+
package_name: &str,
|
|
20
|
+
command_surface: &str,
|
|
21
|
+
forwarded_args: &[String],
|
|
22
|
+
) -> AppRunResult {
|
|
23
|
+
match Command::new(binary).args(forwarded_args).output() {
|
|
24
|
+
Ok(output) => AppRunResult {
|
|
25
|
+
exit_code: output.status.code().unwrap_or(1),
|
|
26
|
+
stdout: String::from_utf8_lossy(&output.stdout).into_owned(),
|
|
27
|
+
stderr: String::from_utf8_lossy(&output.stderr).into_owned(),
|
|
28
|
+
},
|
|
29
|
+
Err(error) => {
|
|
30
|
+
let message = format!(
|
|
31
|
+
"failed to run `{command_surface}` via `{binary}`: {error}\ninstall with `cargo install {package_name}` or `pip install {package_name}`\n"
|
|
32
|
+
);
|
|
33
|
+
AppRunResult { exit_code: 1, stdout: String::new(), stderr: message }
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
fn delegated_known_bijux_tool_command(argv: &[String]) -> Option<DelegatedKnownToolCommand> {
|
|
39
|
+
match argv.get(1).map(String::as_str) {
|
|
40
|
+
Some("dev") => {
|
|
41
|
+
let namespace = argv.get(2)?;
|
|
42
|
+
let tool = known_bijux_tool(namespace)?;
|
|
43
|
+
Some(DelegatedKnownToolCommand {
|
|
44
|
+
binary: tool.control_binary(),
|
|
45
|
+
package_name: tool.control_package(),
|
|
46
|
+
command_surface: format!("bijux dev {}", tool.namespace),
|
|
47
|
+
forwarded_args: argv[3..].to_vec(),
|
|
48
|
+
})
|
|
49
|
+
}
|
|
50
|
+
Some(namespace) => {
|
|
51
|
+
let tool = known_bijux_tool(namespace)?;
|
|
52
|
+
Some(DelegatedKnownToolCommand {
|
|
53
|
+
binary: tool.runtime_binary(),
|
|
54
|
+
package_name: tool.runtime_package(),
|
|
55
|
+
command_surface: format!("bijux {}", tool.namespace),
|
|
56
|
+
forwarded_args: argv[2..].to_vec(),
|
|
57
|
+
})
|
|
58
|
+
}
|
|
59
|
+
None => None,
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
pub(super) fn is_known_bijux_tool_route(path: &[String]) -> bool {
|
|
64
|
+
match path {
|
|
65
|
+
[dev, namespace, ..] => dev == "dev" && known_bijux_tool(namespace).is_some(),
|
|
66
|
+
[namespace, ..] => known_bijux_tool(namespace).is_some(),
|
|
67
|
+
[] => false,
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
pub(super) fn delegated_command_surface(argv: &[String]) -> Option<String> {
|
|
72
|
+
delegated_known_bijux_tool_command(argv).map(|command| command.command_surface)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
pub(super) fn try_delegate_known_bijux_tool(argv: &[String]) -> Option<AppRunResult> {
|
|
76
|
+
let command = delegated_known_bijux_tool_command(argv)?;
|
|
77
|
+
Some(delegate_to_external_binary(
|
|
78
|
+
&command.binary,
|
|
79
|
+
&command.package_name,
|
|
80
|
+
&command.command_surface,
|
|
81
|
+
&command.forwarded_args,
|
|
82
|
+
))
|
|
83
|
+
}
|
|
@@ -9,7 +9,7 @@ mod suggest;
|
|
|
9
9
|
use anyhow::Result;
|
|
10
10
|
use serde_json::json;
|
|
11
11
|
|
|
12
|
-
use crate::contracts::
|
|
12
|
+
use crate::contracts::OutputFormat;
|
|
13
13
|
use crate::interface::cli::handlers::install as install_handler;
|
|
14
14
|
use crate::interface::cli::help::render_command_help;
|
|
15
15
|
use crate::interface::cli::parser::parse_intent;
|
|
@@ -234,25 +234,24 @@ fn run_app_inner(argv: &[String], telemetry: &TelemetrySpan) -> Result<AppRunRes
|
|
|
234
234
|
}
|
|
235
235
|
};
|
|
236
236
|
let path_refs: Vec<&str> = path.iter().map(String::as_str).collect();
|
|
237
|
+
if delegation::is_known_bijux_tool_route(&path) {
|
|
238
|
+
let mut delegated_argv = vec!["bijux".to_string()];
|
|
239
|
+
delegated_argv.extend(path.clone());
|
|
240
|
+
delegated_argv.push("--help".to_string());
|
|
241
|
+
if let Some(delegated) = delegation::try_delegate_known_bijux_tool(&delegated_argv) {
|
|
242
|
+
let surface = delegation::delegated_command_surface(&delegated_argv)
|
|
243
|
+
.unwrap_or_else(|| path.join(" "));
|
|
244
|
+
let (target, target_truncated) = bounded_command(&surface);
|
|
245
|
+
telemetry.record(
|
|
246
|
+
"dispatch.delegated.help",
|
|
247
|
+
json!({"target": target, "target_truncated": target_truncated, "exit_code": delegated.exit_code}),
|
|
248
|
+
);
|
|
249
|
+
return Ok(delegated);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
237
252
|
if !is_known_help_topic(&path) {
|
|
238
253
|
return Ok(unknown_help_topic_result(&path_refs.join(" "), telemetry));
|
|
239
254
|
}
|
|
240
|
-
if let Some(first) = path.first().map(String::as_str) {
|
|
241
|
-
if known_bijux_tool(first).is_some() {
|
|
242
|
-
let mut delegated_argv = vec!["bijux".to_string()];
|
|
243
|
-
delegated_argv.extend(path.clone());
|
|
244
|
-
delegated_argv.push("--help".to_string());
|
|
245
|
-
if let Some(delegated) = delegation::try_delegate_known_bijux_tool(&delegated_argv)
|
|
246
|
-
{
|
|
247
|
-
let (target, target_truncated) = bounded_command(first);
|
|
248
|
-
telemetry.record(
|
|
249
|
-
"dispatch.delegated.help",
|
|
250
|
-
json!({"target": target, "target_truncated": target_truncated, "exit_code": delegated.exit_code}),
|
|
251
|
-
);
|
|
252
|
-
return Ok(delegated);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
255
|
let rendered = match render_command_help(&path_refs) {
|
|
257
256
|
Ok(rendered) => rendered,
|
|
258
257
|
Err(_) => return Ok(unknown_help_topic_result(&path_refs.join(" "), telemetry)),
|
|
@@ -275,10 +274,10 @@ fn run_app_inner(argv: &[String], telemetry: &TelemetrySpan) -> Result<AppRunRes
|
|
|
275
274
|
}
|
|
276
275
|
|
|
277
276
|
let has_help_flag = argv.iter().any(|arg| matches!(arg.as_str(), "--help" | "-h"));
|
|
278
|
-
if has_help_flag && argv
|
|
277
|
+
if has_help_flag && delegation::is_known_bijux_tool_route(&argv[1..]) {
|
|
279
278
|
if let Some(delegated) = delegation::try_delegate_known_bijux_tool(argv) {
|
|
280
|
-
let
|
|
281
|
-
let (target, target_truncated) = bounded_command(&
|
|
279
|
+
let surface = delegation::delegated_command_surface(argv).unwrap_or_default();
|
|
280
|
+
let (target, target_truncated) = bounded_command(&surface);
|
|
282
281
|
telemetry.record(
|
|
283
282
|
"dispatch.delegated.help_flag",
|
|
284
283
|
json!({"target": target, "target_truncated": target_truncated, "exit_code": delegated.exit_code}),
|
|
@@ -296,8 +295,8 @@ fn run_app_inner(argv: &[String], telemetry: &TelemetrySpan) -> Result<AppRunRes
|
|
|
296
295
|
}
|
|
297
296
|
|
|
298
297
|
if let Some(delegated) = delegation::try_delegate_known_bijux_tool(argv) {
|
|
299
|
-
let
|
|
300
|
-
let (target, target_truncated) = bounded_command(&
|
|
298
|
+
let surface = delegation::delegated_command_surface(argv).unwrap_or_default();
|
|
299
|
+
let (target, target_truncated) = bounded_command(&surface);
|
|
301
300
|
telemetry.record(
|
|
302
301
|
"dispatch.delegated.command",
|
|
303
302
|
json!({"target": target, "target_truncated": target_truncated, "exit_code": delegated.exit_code}),
|
|
@@ -53,9 +53,17 @@ fn routed_runtime_reference_matches_current_binary_resolution_contract() {
|
|
|
53
53
|
let doc = read_doc("docs/06-reference/integrations-and-routed-runtimes.md");
|
|
54
54
|
|
|
55
55
|
assert!(doc.contains("bijux-dev-cli"), "maintainer binary documentation must stay explicit");
|
|
56
|
+
assert!(
|
|
57
|
+
doc.contains("`bijux dev <tool> ...`"),
|
|
58
|
+
"routed product control commands must remain documented explicitly"
|
|
59
|
+
);
|
|
56
60
|
assert!(
|
|
57
61
|
doc.contains("`bijux-dev-<tool>`"),
|
|
58
|
-
"product control
|
|
62
|
+
"direct product control binaries must remain documented explicitly"
|
|
63
|
+
);
|
|
64
|
+
assert!(
|
|
65
|
+
doc.contains("`bijux <tool> ...`"),
|
|
66
|
+
"routed product runtime commands must remain documented explicitly"
|
|
59
67
|
);
|
|
60
68
|
assert!(
|
|
61
69
|
doc.contains("`PATH`"),
|
|
@@ -63,7 +71,6 @@ fn routed_runtime_reference_matches_current_binary_resolution_contract() {
|
|
|
63
71
|
);
|
|
64
72
|
|
|
65
73
|
for unsupported in [
|
|
66
|
-
"bijux dev ",
|
|
67
74
|
"BIJUXCLI_ALLOWED_PRODUCT_BINS",
|
|
68
75
|
"BIJUXCLI_PRODUCT_BIN_DIR",
|
|
69
76
|
"BIJUXCLI_PRODUCT_BIN_DIRS",
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
#![forbid(unsafe_code)]
|
|
2
|
+
//! Routed official product namespace delegation contracts.
|
|
3
|
+
|
|
4
|
+
use std::env;
|
|
5
|
+
use std::fs;
|
|
6
|
+
use std::path::{Path, PathBuf};
|
|
7
|
+
use std::process::{Command, Output};
|
|
8
|
+
|
|
9
|
+
use bijux_cli::contracts::known_bijux_tools;
|
|
10
|
+
|
|
11
|
+
fn run_with_env(args: &[&str], envs: &[(&str, &Path)]) -> Output {
|
|
12
|
+
let mut command = Command::new(env!("CARGO_BIN_EXE_bijux"));
|
|
13
|
+
command.args(args);
|
|
14
|
+
for (key, value) in envs {
|
|
15
|
+
command.env(key, value);
|
|
16
|
+
}
|
|
17
|
+
command.output().expect("binary should execute")
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
fn temp_dir(name: &str) -> PathBuf {
|
|
21
|
+
let root = env::temp_dir()
|
|
22
|
+
.join(format!("bijux-official-product-routes-{name}-{}", std::process::id()));
|
|
23
|
+
let _ = fs::remove_dir_all(&root);
|
|
24
|
+
fs::create_dir_all(&root).expect("mkdir temp");
|
|
25
|
+
root
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#[cfg(unix)]
|
|
29
|
+
fn write_stub_binary(bin_dir: &Path, binary_name: &str) {
|
|
30
|
+
use std::os::unix::fs::PermissionsExt;
|
|
31
|
+
|
|
32
|
+
let script = format!("#!/bin/sh\nprintf 'stub:{binary_name}\\n'\nprintf 'args:%s\\n' \"$*\"\n");
|
|
33
|
+
let path = bin_dir.join(binary_name);
|
|
34
|
+
fs::write(&path, script).expect("write stub");
|
|
35
|
+
let mut permissions = fs::metadata(&path).expect("metadata").permissions();
|
|
36
|
+
permissions.set_mode(0o755);
|
|
37
|
+
fs::set_permissions(&path, permissions).expect("chmod");
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
#[cfg(windows)]
|
|
41
|
+
fn write_stub_binary(bin_dir: &Path, binary_name: &str) {
|
|
42
|
+
let script = format!("@echo off\r\necho stub:{binary_name}\r\necho args:%*\r\n");
|
|
43
|
+
fs::write(bin_dir.join(format!("{binary_name}.bat")), script).expect("write stub");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
fn write_all_stubs(bin_dir: &Path) {
|
|
47
|
+
for tool in known_bijux_tools() {
|
|
48
|
+
write_stub_binary(bin_dir, tool.runtime_binary_name);
|
|
49
|
+
write_stub_binary(bin_dir, tool.control_binary_name);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
#[test]
|
|
54
|
+
fn official_runtime_routes_delegate_to_runtime_binaries_for_every_reserved_namespace() {
|
|
55
|
+
let root = temp_dir("runtime");
|
|
56
|
+
let bin_dir = root.join("bin");
|
|
57
|
+
fs::create_dir_all(&bin_dir).expect("mkdir bin");
|
|
58
|
+
write_all_stubs(&bin_dir);
|
|
59
|
+
|
|
60
|
+
for tool in known_bijux_tools() {
|
|
61
|
+
let out = run_with_env(&[tool.namespace, "status"], &[("PATH", &bin_dir)]);
|
|
62
|
+
assert_eq!(
|
|
63
|
+
out.status.code(),
|
|
64
|
+
Some(0),
|
|
65
|
+
"runtime route should succeed for {}",
|
|
66
|
+
tool.namespace
|
|
67
|
+
);
|
|
68
|
+
assert!(
|
|
69
|
+
out.stderr.is_empty(),
|
|
70
|
+
"runtime route should keep stderr empty for {}",
|
|
71
|
+
tool.namespace
|
|
72
|
+
);
|
|
73
|
+
let stdout = String::from_utf8(out.stdout).expect("utf-8");
|
|
74
|
+
assert!(stdout.contains(&format!("stub:{}", tool.runtime_binary_name)));
|
|
75
|
+
assert!(stdout.contains("args:status"));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
#[test]
|
|
80
|
+
fn official_control_routes_delegate_to_control_binaries_for_every_reserved_namespace() {
|
|
81
|
+
let root = temp_dir("control");
|
|
82
|
+
let bin_dir = root.join("bin");
|
|
83
|
+
fs::create_dir_all(&bin_dir).expect("mkdir bin");
|
|
84
|
+
write_all_stubs(&bin_dir);
|
|
85
|
+
|
|
86
|
+
for tool in known_bijux_tools() {
|
|
87
|
+
let out = run_with_env(&["dev", tool.namespace, "status"], &[("PATH", &bin_dir)]);
|
|
88
|
+
assert_eq!(
|
|
89
|
+
out.status.code(),
|
|
90
|
+
Some(0),
|
|
91
|
+
"control route should succeed for {}",
|
|
92
|
+
tool.namespace
|
|
93
|
+
);
|
|
94
|
+
assert!(
|
|
95
|
+
out.stderr.is_empty(),
|
|
96
|
+
"control route should keep stderr empty for {}",
|
|
97
|
+
tool.namespace
|
|
98
|
+
);
|
|
99
|
+
let stdout = String::from_utf8(out.stdout).expect("utf-8");
|
|
100
|
+
assert!(stdout.contains(&format!("stub:{}", tool.control_binary_name)));
|
|
101
|
+
assert!(stdout.contains("args:status"));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
#[test]
|
|
106
|
+
fn help_routes_delegate_for_runtime_and_control_product_surfaces() {
|
|
107
|
+
let root = temp_dir("help");
|
|
108
|
+
let bin_dir = root.join("bin");
|
|
109
|
+
fs::create_dir_all(&bin_dir).expect("mkdir bin");
|
|
110
|
+
write_all_stubs(&bin_dir);
|
|
111
|
+
|
|
112
|
+
let runtime = run_with_env(&["help", "atlas"], &[("PATH", &bin_dir)]);
|
|
113
|
+
assert_eq!(runtime.status.code(), Some(0));
|
|
114
|
+
let runtime_stdout = String::from_utf8(runtime.stdout).expect("utf-8");
|
|
115
|
+
assert!(runtime_stdout.contains("stub:bijux-atlas"));
|
|
116
|
+
assert!(runtime_stdout.contains("args:--help"));
|
|
117
|
+
|
|
118
|
+
let control = run_with_env(&["help", "dev", "atlas"], &[("PATH", &bin_dir)]);
|
|
119
|
+
assert_eq!(control.status.code(), Some(0));
|
|
120
|
+
let control_stdout = String::from_utf8(control.stdout).expect("utf-8");
|
|
121
|
+
assert!(control_stdout.contains("stub:bijux-dev-atlas"));
|
|
122
|
+
assert!(control_stdout.contains("args:--help"));
|
|
123
|
+
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
//! External runtime tool delegation helpers.
|
|
2
|
-
|
|
3
|
-
use std::process::Command;
|
|
4
|
-
|
|
5
|
-
use crate::contracts::known_bijux_tool;
|
|
6
|
-
|
|
7
|
-
use super::AppRunResult;
|
|
8
|
-
|
|
9
|
-
fn delegate_to_external_binary(
|
|
10
|
-
binary: &str,
|
|
11
|
-
package_name: &str,
|
|
12
|
-
command_surface: &str,
|
|
13
|
-
forwarded_args: &[String],
|
|
14
|
-
) -> AppRunResult {
|
|
15
|
-
match Command::new(binary).args(forwarded_args).output() {
|
|
16
|
-
Ok(output) => AppRunResult {
|
|
17
|
-
exit_code: output.status.code().unwrap_or(1),
|
|
18
|
-
stdout: String::from_utf8_lossy(&output.stdout).into_owned(),
|
|
19
|
-
stderr: String::from_utf8_lossy(&output.stderr).into_owned(),
|
|
20
|
-
},
|
|
21
|
-
Err(error) => {
|
|
22
|
-
let message = format!(
|
|
23
|
-
"failed to run `{command_surface}` via `{binary}`: {error}\ninstall with `cargo install {package_name}` or `pip install {package_name}`\n"
|
|
24
|
-
);
|
|
25
|
-
AppRunResult { exit_code: 1, stdout: String::new(), stderr: message }
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
pub(super) fn try_delegate_known_bijux_tool(argv: &[String]) -> Option<AppRunResult> {
|
|
31
|
-
let first = argv.get(1)?;
|
|
32
|
-
|
|
33
|
-
if let Some(tool) = known_bijux_tool(first) {
|
|
34
|
-
let runtime_binary = tool.runtime_binary();
|
|
35
|
-
let runtime_package = runtime_binary.clone();
|
|
36
|
-
let command_surface = format!("bijux {}", tool.namespace);
|
|
37
|
-
return Some(delegate_to_external_binary(
|
|
38
|
-
&runtime_binary,
|
|
39
|
-
&runtime_package,
|
|
40
|
-
&command_surface,
|
|
41
|
-
&argv[2..],
|
|
42
|
-
));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
None
|
|
46
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/parity_status.rs
RENAMED
|
File without changes
|
{bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/routing_inventory.rs
RENAMED
|
File without changes
|
{bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/state_diagnostics.rs
RENAMED
|
File without changes
|
{bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/features/diagnostics/state_paths.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bijux_cli-0.3.2 → bijux_cli-0.3.3}/crates/bijux-cli/src/interface/cli/dispatch/route_exec.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|