fabro/apps/fabro-web/app/components
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
..
chats refactor(web): simplify stage chat projection 2026-07-24 17:29:04 -04:00
runs-list Clean up size chip rendering and tests 2026-07-28 14:04:58 -04:00
stage-renderers Simplify parallel duration and event failure logging 2026-08-01 08:57:47 -04:00
auth-layout.tsx refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
automation-form.test.tsx Align remote workflow selectors with run targets 2026-08-31 17:13:20 -04:00
automation-form.tsx Align remote workflow selectors with run targets 2026-08-31 17:13:20 -04:00
collapsible-file.tsx refactor(web): drop light mode, go dark-only 2026-04-20 09:27:08 -04:00
editable-run-title.test.tsx feat(web): inline-edit run titles in the run header 2026-05-09 11:54:41 -04:00
editable-run-title.tsx refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
environment-form.test.ts feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00
environment-form.tsx Open sandbox provider identity to plugin kinds 2026-09-09 15:17:32 -06:00
event-debug-helpers.tsx refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
event-debug.tsx refactor(web): simplify thread DNA selection identity 2026-07-24 17:23:08 -04:00
floating-tooltip.tsx Introduce approved effect hooks and migrate direct useEffect calls (#425) 2026-05-27 10:37:29 -04:00
graph-toolbar.tsx Increase LR graph zoom to 400% and remember zoom per direction (#581) 2026-07-21 16:06:25 -04:00
icons.tsx feat(runs): link stored pull requests 2026-05-08 13:17:08 -07:00
inline-markdown.test.tsx feat(web): render inline Markdown in run titles 2026-05-08 18:30:51 -07:00
inline-markdown.tsx refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
interview-dock.test.tsx Merge origin/main into feat/human-review-target 2026-07-28 16:48:02 -04:00
interview-dock.tsx Merge origin/main into feat/human-review-target 2026-07-28 16:48:02 -04:00
interview-label.ts refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
key-value-editor.test.tsx feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
key-value-editor.tsx feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
mcp-server-form.test.tsx feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
mcp-server-form.tsx feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
pull-request-chip.test.tsx feat(pr): support GitHub pull request associations (#270) 2026-05-16 12:47:27 -04:00
pull-request-chip.tsx feat(pr): support GitHub pull request associations (#270) 2026-05-16 12:47:27 -04:00
review-target-question.tsx refactor: remove duplicated review target rendering and validation 2026-07-28 15:14:23 -04:00
run-dock.test.tsx Guard steering bar click target 2026-08-01 09:24:34 -04:00
run-dock.tsx Guard steering bar click target 2026-08-01 09:24:34 -04:00
run-summary-panel.test.tsx feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00
run-summary-panel.tsx feat(web): add server-managed Environments CRUD settings UI (#462) 2026-06-13 08:44:38 -04:00
run-waterfall.tsx Introduce approved effect hooks and migrate direct useEffect calls (#425) 2026-05-27 10:37:29 -04:00
settings-panel.tsx feat: add MCP servers settings UI at /settings/mcps (#540) 2026-07-01 10:32:37 -04:00
size-chip.test.tsx Clean up size chip rendering and tests 2026-07-28 14:04:58 -04:00
size-chip.tsx Clean up size chip rendering and tests 2026-07-28 14:04:58 -04:00
stage-context.tsx feat(web): add Context tab to the stage detail view (#340) 2026-05-21 20:19:55 -04:00
stage-insights-sidebar.test.tsx refactor: rationalize server secret scopes (vault-only for optional int… (#401) 2026-05-25 17:26:01 -04:00
stage-insights-sidebar.tsx refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
stage-popover-summary.ts refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
stage-popover.test.tsx Fix live parallel branch refresh and simplify branch rendering 2026-07-28 17:26:05 -04:00
stage-popover.tsx fix: harden stage execution identity on resume 2026-07-24 09:37:05 -04:00
stage-sidebar.test.tsx Merge origin/main into feat/parallel-branch-live-status 2026-07-28 17:50:36 -04:00
stage-sidebar.tsx refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
state.tsx refactor(web): simplify stage chat projection 2026-07-24 17:29:04 -04:00
steer-bar.test.tsx Collapse the steering bar by default and expand it on bar click 2026-07-31 12:46:13 -04:00
steer-bar.tsx Collapse the steering bar by default and expand it on bar click 2026-07-31 12:46:13 -04:00
terminal-view-helpers.ts Model run sandbox lifecycle explicitly (#431) 2026-05-27 12:48:56 -04:00
terminal-view.test.ts Model run sandbox lifecycle explicitly (#431) 2026-05-27 12:48:56 -04:00
terminal-view.tsx Model run sandbox lifecycle explicitly (#431) 2026-05-27 12:48:56 -04:00
toast.test.tsx Introduce approved effect hooks and migrate direct useEffect calls (#425) 2026-05-27 10:37:29 -04:00
toast.tsx fix(web): harden build version detection 2026-07-25 15:15:25 -04:00
tool-call-count.tsx refactor(web): simplify stage chat projection 2026-07-24 17:29:04 -04:00
ui.tsx Replace DIY overlay primitives with Radix UI + Sonner (#424) 2026-05-26 23:03:06 -04:00