d64ff6e3d4
The web configuration surface (apiproxy) served only model-provider plus
explicit allowlist namespaces, so a third-party plugin's settings card (e.g.
the web-ui image-understanding plugin's describe-image) showed "namespace not
exposed" and was uneditable. Let a plugin opt its namespace in via
`settings.register(..., { configurable: true })`, and let a deployment expose
any shipped third-party namespace via the gateway's new `exposeSettings`
config (the web-app bundle lists describe-image). Default stays not-exposed.
Co-Authored-By: Claude <noreply@anthropic.com>
settings/ — user-settings capability family
English | 中文
This family resolves user-editable configuration through registered namespaces and swappable storage providers.
| Package | Role | ctx key |
|---|---|---|
settings/ |
Defines namespace registration, layered resolution, and commits | ctx.settings |
settings-file/ |
Stores settings in a local file and observes external edits | registers on ctx.settings |
The subsystem reference — namespaces, owner scopes, resolution order, hot commits — is docs/subsystems/settings.md.