fabro/lib/apps/fabro-server/src
Bryan Helmkamp 91d905813f
Map an environment straight onto the driver's sandbox spec
SandboxOptions was an intermediate between the environment's settings and
the driver's SandboxSpec that mirrored the spec field for field: image
and Dockerfile for the source, cpu and byte sizes for the resources,
auto-stop for the timers, plus the two clone fields. Every provider
overlay then read the options a second time to fill the spec.

The environment now maps onto the driver spec once, in
sandbox_spec_for_environment, and the overlays read the spec: Docker
takes its image from the source and clears the timers it cannot honor,
Daytona takes its snapshot inputs from the source and resources and its
auto-stop from the timers. A plugin gets the spec trimmed to the network
and timer capabilities it declares. The snapshot carries the resources a
Daytona sandbox is sized by, so the overlay clears them from the spec
the sandbox is created with; the driver refuses them there, which the
options path never reached in a live run.

The clone selectors, depth, and skip flag travel as one CloneRequest
beside the spec instead of five loose parameters and two option fields,
so provider_sandbox takes six arguments instead of nine. The two helpers
that read environment settings for a local run, its working directory
and its unresolved variables, become methods on RunEnvironmentSettings
in fabro-types, where the settings live.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 16:44:21 -06:00
..
auth Keep auth code store naming consistent 2026-08-24 17:26:17 -04:00
demo Merge origin/main into the sandbox-driver adoption 2026-09-10 13:37:11 -06:00
prompts Render the run title prompt with Jinja instead of string replacement 2026-07-27 17:23:16 -04:00
server Keep the sandbox inventory over the driver's providers directly 2026-09-10 16:23:22 -06:00
worker_control refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
automation_materializer.rs Tighten automation Git validation types 2026-08-31 18:02:08 -04:00
canonical_host.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
canonical_origin.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
csp.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
diagnostics.rs Merge origin/main into the sandbox-driver adoption 2026-09-10 13:37:11 -06:00
error.rs Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
git_checkout.rs Tighten automation Git validation types 2026-08-31 18:02:08 -04:00
github_webhooks.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
install.rs Merge origin/main into the sandbox-driver adoption 2026-09-10 13:37:11 -06:00
interp.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
jwt_auth.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
lib.rs Remove expired startup secret migrations 2026-09-05 14:05:48 -04:00
manifest_validation.rs Simplify local RunIntent producer support 2026-08-31 14:08:35 -04:00
migrations.rs Remove expired startup secret migrations 2026-09-05 14:05:48 -04:00
principal_middleware.rs Unify blob hash vocabulary 2026-08-17 13:56:19 -04:00
request_id.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_compiler.rs Import lithos-llm types directly instead of through fabro-types 2026-09-10 10:03:08 -06:00
run_files.rs Speak the driver's exec vocabulary instead of mirroring it 2026-09-10 16:11:45 -06:00
run_files_security.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_intent.rs Reject automatic pull requests for Local runs 2026-09-02 17:15:52 -04:00
run_manifest.rs Map an environment straight onto the driver's sandbox spec 2026-09-10 16:44:21 -06:00
run_selector.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_title_generation.rs Import lithos-llm types directly instead of through fabro-types 2026-09-10 10:03:08 -06:00
run_tool_manifest.rs Remove run IDs from create manifest producers 2026-08-01 11:47:11 -04:00
security_headers.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
serve.rs Keep the sandbox inventory over the driver's providers directly 2026-09-10 16:23:22 -06:00
server.rs Keep the sandbox inventory over the driver's providers directly 2026-09-10 16:23:22 -06:00
server_secrets.rs Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
spawn_env.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
startup.rs Remove expired startup secret migrations 2026-09-05 14:05:48 -04:00
static_files.rs feat(web): tell open tabs when a new build ships 2026-07-25 14:45:26 -04:00
test_support.rs Keep the sandbox inventory over the driver's providers directly 2026-09-10 16:23:22 -06:00
web_auth.rs Serve CLI auth sessions from SQLite 2026-07-26 00:00:15 -04:00
worker_runtime.rs refactor: simplify cancellation lifecycle code from review 2026-07-23 21:15:35 -04:00
worker_token.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00