Add the Manage plugins tab (ui-settings-plugin-manager): package cards
with enable/disable switches, retry and uninstall, an install dialog
streaming pnpm output, and the selected preset's composition with per-row
switches and removal; the read-only list gains provenance facts.
Settings cards edit one scope at a time: ui-settings keeps one describe
mirror per settings scope (SettingsMirrorRegistry) and binds
{ namespace, scope }; ui-settings-plugins stages forms per scope, marks
inherited fields, and adds the skill-filesystem roots card.
Fixes surfaced by driving the browser end to end: the client gateway now
lets a call omit trailing parameters that accept undefined (PR3's
optional scope arguments failed the strict arity check), the plugins
install verb is `add` because the client namespace service reserves
`install`/`remove` (guarded by remote-method-names.host.spec), a plugin
module offers its main export as an addable `.`, and describing a settings
scope no owner registered resolves over the global instance's base and
never throws.
The web e2e scaffold can mount a profile runtime over fixture packages;
plugin-manager.e2e drives the tab and writes one field under a preset
scope; plugin-config and settings-chrome goldens are refreshed.
description, kind
| description | kind |
|---|---|
| Package map for the user-settings capability family: the ctx.settings service that resolves per-namespace configuration, and the YAML/JSON file provider that stores it. | package-group |
settings/ — user-editable configuration
English | 中文
Summary
The settings/ group makes plugin configuration user-editable: a plugin registers a named namespace with a schema, and users override values in one document without touching cordis.yml. User overrides win over the deployment's own configuration and schema defaults, and changes apply live. Two packages cover the capability: settings/ provides the settings service, and settings-file/ stores every namespace in one YAML or JSON document users can edit. Settings are optional: without a provider mounted, configuration stays exactly as composed.
Table of Contents
Packages
Two packages cover the capability; each child README owns the full contract, and the subsystem reference owns the exhaustive service surface.
| Package | Role | ctx key |
|---|---|---|
settings/ |
Settings service: register namespaces and read or change their values | ctx.settings |
settings-file/ |
Stores settings in one local YAML/JSON file and hot-publishes external edits | registers ctx.settings |
Related documentation
Start with the subsystem reference for the shared vocabulary, then the capability-seam split this family follows.
- Settings subsystem reference — namespaces, layered resolution, descriptors, change commits, and the generated cordis surface.
- Capability seams — the Service Definition / Service Provider / Consumer split this family follows.
Dev Note
Working context for maintainers — click to expand
None.