src/adapters/feature-capabilities.ts. The authoritative field requirements live in src/adapters/declarative/validate.ts.
Capability catalog
There is no capability id named
theme-sync. Host theme sync is a separate config field, themeSync, and may imply supportsHostThemeSync.
Capability notes
Outline family
outlineneeds a conversation container so Ophel can scope scanning.outline-user-queriescannot be declared alone; the validator requiresoutlineas well.- Prefer stable message roots over translated visible text.
Prompt insertion
prompt-insert needs both:
- one or more textarea / contenteditable selectors
- an
inputblock withmode(textareaorcontenteditable) andsubmitKey(EnterorCtrl+Enter)
textContent.
Generation detection
Use whichever signal is reliable on the target site:generating.existsSelectors— visible DOM markers while generatingnetworkMonitor— request URL / body rules when DOM state is insufficient
generation-detect without either is rejected.
Layout capabilities
Theme sync is not a capability id
Sites that switch light / dark mode by writinglocalStorage and optionally toggling a class on <html> can declare themeSync:
storageKey,values.dark, andvalues.lightare required whenthemeSyncis presentvalues.systemis only for sites that store a distinct follow-system valuedarkClass/lightClassare optional; both may be omitted when the site listens tostorageevents itself- nested object storage uses
valuePath; flat JSON-encoded strings usevalueFormat: "json" valuePathandvalueFormatcannot be combined- body class,
data-theme, or click-simulation theme mechanisms are not supported by this field - declaring
themeSyncwhile also settingsupportsHostThemeSync: falseis rejected
Example: Duck.ai capability set
The publishedduck-ai pack currently declares:
Related configuration groups
These groups are not capabilities themselves, but they often accompany capability declarations:
Full field, length, regex, CSS, and size limits are defined by:
- editor assist:
registry/schema/site-pack.schema.json - runtime authority:
src/adapters/declarative/validate.ts