You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up to #191 (epic). Phase 1 (#200) added mcp.mode: env (the agent discovers the proxy via BBOX_MCP_URL). This issue adds the second generic mode, mcp.mode: config, so a custom/BYO agent whose harness only reads a config file can be wired to the proxy declaratively — without a per-agent Go MCPInjector.
Scope
Declaratively patch a JSON/JSONC/TOML/YAML config file in the guest home:
Config shape (inject entries: guest_path, format, merge tree) stays pure domain data in pkg/domain/config / pkg/domain/agent.
The generic merge implementation lives in internal/infra — reuse pkg/clients/internal/configio (JSON/TOML/YAML merge) and the JSONC support already in internal/infra/settings.
ValidateCustomAgent currently rejectsmcp.mode: config with "not supported in this version" — flip that to accept + validate the inject entries (safe relative guest_path, known format).
Built-ins keep their bespoke Plugin.MCPConfig(); this is only for data-only agents.
Acceptance criteria
A data-only agent with mcp.mode: config boots with its config file patched to point at the in-VM proxy, with no pkg/clients/ package.
Follow-up to #191 (epic). Phase 1 (#200) added
mcp.mode: env(the agent discovers the proxy viaBBOX_MCP_URL). This issue adds the second generic mode,mcp.mode: config, so a custom/BYO agent whose harness only reads a config file can be wired to the proxy declaratively — without a per-agent GoMCPInjector.Scope
Declaratively patch a JSON/JSONC/TOML/YAML config file in the guest home:
injectentries:guest_path,format,mergetree) stays pure domain data inpkg/domain/config/pkg/domain/agent.internal/infra— reusepkg/clients/internal/configio(JSON/TOML/YAML merge) and the JSONC support already ininternal/infra/settings.${BBOX_MCP_URL}(and otherBBOX_*) substitution should resolve against the universal env from Add declarative bring-your-own agent support (#191 Phase 1) #200;config.MCPEndpointPathremains the single source of truth for the/mcppath.ValidateCustomAgentcurrently rejectsmcp.mode: configwith "not supported in this version" — flip that to accept + validate theinjectentries (safe relativeguest_path, knownformat).Plugin.MCPConfig(); this is only for data-only agents.Acceptance criteria
A data-only agent with
mcp.mode: configboots with its config file patched to point at the in-VM proxy, with nopkg/clients/package.