fabro/lib/components/fabro-store/src
Bryan Helmkamp 80bc51c40e
Open sandbox provider identity to plugin kinds
SandboxProviderKind is now a validated string newtype instead of a
closed enum. The bundled kinds (local, docker, daytona) keep their
constants and a BundledProvider enum for the code paths that still
dispatch on them; any other well-formed sandbox-driver kind name is
accepted and names a plugin executable. EnvironmentProvider is gone:
environment settings carry SandboxProviderKind directly, and
is_clone_based is replaced by a workspace policy where local runs in a
designated directory and every other provider clones.

Server sandbox policy is keyed by kind. [server.sandbox.providers.<kind>]
accepts the bundled kinds with `enabled` and any plugin kind with its
launch settings (path, sha256, dev, args, env, inherit_env); bundled
kinds reject the plugin keys and a kind with no entry is disabled. The
OpenAPI schema, generated Rust and TypeScript clients, web settings
pages, and docs follow. The environments table drops its provider CHECK
enumeration in favour of the kind name rules so a plugin environment
can be stored.

Bundled-only code paths (run start, preflight, reconnect, terminal,
details) now fail with an explicit message for a plugin kind until the
driver construction function lands in the next step.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 15:17:32 -06:00
..
record Share activation backup helpers and trim run-history residue 2026-08-28 17:20:05 -04:00
slate Merge pull request #838 from fabro-sh/codex/persist-pre-start-worker-failures 2026-09-03 12:48:39 -04:00
test_support Index session ownership from creation events 2026-08-31 14:16:58 -04:00
artifact_store.rs refactor: simplify artifact ZIP download 2026-08-01 09:09:54 -04:00
auth_code_store.rs Keep auth code store naming consistent 2026-08-24 17:26:17 -04:00
auth_session_store.rs Simplify SQLite authorization-code cutover 2026-08-24 17:25:38 -04:00
blob_store.rs Activate atomic SQLite run history storage 2026-08-28 15:18:25 -04:00
error.rs Activate atomic SQLite run history storage 2026-08-28 15:18:25 -04:00
keyed_mutex.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
keys.rs Simplify session owner lookup and migration preflight 2026-08-31 14:59:38 -04:00
legacy_blob_import.rs Keep the RunSummaryStore name until the SQL cutover 2026-08-27 15:43:56 -04:00
legacy_run_history_import.rs Centralize run projection replay on ProjectedRun 2026-09-02 16:33:14 -04:00
lib.rs Move run queries and pull request recovery to SQLite 2026-09-01 14:06:06 -04:00
run_sessions.rs Record tool output byte counts 2026-08-24 12:46:27 -04:00
run_state.rs Open sandbox provider identity to plugin kinds 2026-09-09 15:17:32 -06:00
run_summary_store.rs Centralize run projection replay on ProjectedRun 2026-09-02 16:33:14 -04:00
serializable_projection.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
sqlite_row.rs Simplify SQLite authorization-code cutover 2026-08-24 17:25:38 -04:00
types.rs fabro(01KYQMV1VW6139EGNHEM1RGF2G): implement (succeeded) 2026-07-29 20:35:54 +00:00