Add fx as a provider you can opt in to from the catalog (#9160)

* feat(providers): add fx as an opt-in bundled ACP provider

fx ships a native ACP server, so it follows the catalog opt-in shape of the
other bundled ACP provider and needs no vendor protocol code.

fx files its provider selector first under ACP's "model" category, then the
model, Fast, and Ultrafast. The ACP adapter took the first option in that
category as the model, so the model picker listed fx's providers. It now
prefers the option with id "model" and keeps the rest as settings.

* fix(providers): keep the chosen model across ACP provider changes

fx's provider option also selects that provider's saved model. Paseo applied
the model before the option, so a new agent lost the requested model. It also
kept the old model as the agent's preference after a switch, and reopening the
agent sent that model to the new connection.

Apply opening configuration in the order the agent lists its options, and store
the model an option moved the session to.
This commit is contained in:
Mohamed Boudra
2026-11-09 20:58:01 +07:00
committed by GitHub
parent e260f93cc7
commit 0fa7f840b4
27 changed files with 499 additions and 48 deletions
+1 -1
View File
@@ -118,7 +118,7 @@ appear in the plugin catalog. Editing one in development requires a daemon resta
Directory, Git, and npm installs cannot use a built-in ID.
A provider registration with `requiresConfiguration: true` participates only while its ID exists
under `agents.providers`. Hoplite uses this for catalog opt-in. Add writes `{ "enabled": true }`
under `agents.providers`. Hoplite and fx use this for catalog opt-in. Add writes `{ "enabled": true }`
without `extends`, so it selects the bundled adapter. Remove deletes the config entry; setting
`enabled: false` keeps the entry. The bundled JavaScript still loads at startup, but an absent
provider does not enter executable resolution or catalog discovery.