fabro/lib/apps/fabro-server/tests/it/api
Bryan Helmkamp b1d95faa57
Hand Petri the server's environment and MCP catalogs
Petri's Fabro frontend refused a bundle naming an environment it did not
declare and every MCP catalog reference, so the fixtures declared
`[environments.local]` and the server's catalogs never reached Petri.

Pin Petri at c874b86, where the frontend reads `[environments.<id>]` and
`[run.environment]` from every settings layer (bundle over project over the
host's layer, key by key), takes the environment a launch selected over the
layers, and resolves `[run.agent.mcps.<name>] id = "..."` against a catalog
the host binds. The server hands Petri its environment catalog as
`[environments.<id>]` tables of the settings layer it already passes, the
intent's environment as the launch's selection (`Launch::environment`, as
the intent overrides the bundle in Fabro's own resolution), and its MCP
catalog as `RuntimeSpec::mcp_catalog_toml`, one inline entry per definition
keyed by id. Offline validation hands Petri the seeded catalog the same
way, so `fabro validate` accepts `[run.environment] id = "local"`.

The fixtures drop the `[environments.local]` tables they carried for this;
the secrets test keeps its own, on purpose. Scenario tests cover a bundle
naming a catalog environment (its image lowered, and run on Docker when the
plugin and a daemon are there), a bundle's own table winning key by key,
the server refusing an unknown environment before Petri, and a catalog MCP
reference whose tool the agent session lists (an echo server under
`test/mcp/`).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-19 07:08:08 -04:00
..
auth_sessions.rs Delete the legacy run event log, its reducer and its types 2026-09-18 14:09:17 -04:00
automations.rs Align remote workflow selectors with run targets 2026-08-31 17:13:20 -04:00
cli_auth_token.rs Delete the legacy run event log, its reducer and its types 2026-09-18 14:09:17 -04:00
compression.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
docs.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
environments.rs Require a server-managed environment for automations 2026-08-30 09:58:13 -04:00
install.rs Merge origin/main into the sandbox-driver adoption 2026-09-10 13:37:11 -06:00
install_openai_compatible.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
mcp_servers.rs Hand Petri the server's environment and MCP catalogs 2026-09-19 07:08:08 -04:00
mod.rs Run the server's lifecycle over platform records instead of run_events 2026-09-18 12:32:06 -04:00
petri_store.rs Prove the checkpoint hooks and the recovery protocol 2026-09-18 00:25:10 -04:00
routing.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_files.rs Delete the legacy run event log, its reducer and its types 2026-09-18 14:09:17 -04:00
runs.rs Remove the engine flag: every run is a Petri run 2026-09-18 09:58:21 -04:00
sandbox_vnc.rs Retire legacy manifest run creation 2026-09-13 08:49:50 -06:00
sessions.rs Give Ask Fabro sessions their own event log 2026-09-18 12:47:43 -04:00
settings.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
system.rs Remove the engine flag: every run is a Petri run 2026-09-18 09:58:21 -04:00
tcp.rs Remove the engine flag: every run is a Petri run 2026-09-18 09:58:21 -04:00
variables.rs Remove the engine flag: every run is a Petri run 2026-09-18 09:58:21 -04:00