fabro/lib/crates/fabro-cli/src/shared
Bryan Helmkamp ef81c1c245
fix(run): enforce validation when create_run is quiet
The bail!("Validation failed") was nested inside `if !quiet`, so
`fabro run --detach` and `fabro run create` (both pass quiet=true)
silently created runs from invalid workflows. Move the bail outside the
gate; only the workflow summary print remains gated on !quiet.

Also simplifies the surrounding preflight code:

- Extract `cyan_spinner` helper in fabro-cli's shared utilities;
  collapse three copy-pasted 13-line spinner setups in preflight.rs,
  doctor.rs, and install.rs.
- Add `SandboxProvider::is_clone_based()`; replace the local
  `is_clone_based_provider` helper and two inline
  `matches!(_, Docker | Daytona)` sites in run_manifest.rs.
- Promote `fabro_sandbox::redact::redact_auth_url` to pub and reuse it;
  delete the duplicate `redact_remote_output` in run_manifest.rs.
- Inline the one-liner `preflight_docker_config` /
  `preflight_daytona_config` helpers and drop their dedicated tests.
- Type the `prepared_and_resolved_for_sandbox` test helper with
  `SandboxProvider` instead of `&str`.
- Drop git ls-remote preflight timeout from 30s to 10s.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 15:45:37 -04:00
..
github.rs feat(github): point install errors at the configured app and require creds for docker 2026-04-29 10:43:00 -04:00
mod.rs Add typed provider credential auth flow 2026-04-12 22:10:11 -04:00
provider_auth.rs refactor(types): use trait conversions directly 2026-04-26 21:36:24 -04:00
repo.rs refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
utilities.rs fix(run): enforce validation when create_run is quiet 2026-04-29 15:45:37 -04:00