registerSettings— add a native settings page to the Settings hub.registerComposerMenuItem— add custom action items to the composer plus menu.registerMessageType— define custom message renderers rendered natively in the chat timeline.
Settings pages (registerSettings)
registerSettings (aliased as registerSettingsPage) adds a settings page to the dedicated Extensions section in Aether’s Settings hub. The host renders the page using Aether’s built-in settings UI scaffold (cards, spacing, typography, and controls); extensions specify the data model only.
API signature
Definition schema
Supported control types
Each setting insections[].settings can specify a control type:
Automatic state persistence
Value controls (text, password, textarea, number, toggle, select, segmented, tab, slider) automatically persist their values in extension storage under settings:<pageId>:<settingId>.
Settings page example
Composer menu items (registerComposerMenuItem)
registerComposerMenuItem (aliased as registerComposerMenu) adds a custom action entry to the composer plus menu.
API signature
Example
Custom message types (registerMessageType)
registerMessageType (aliased as registerCustomMessage) registers a custom message renderer. When a message with matching type is appended to the conversation via aether.messages.append(type, payload, text), Aether renders it using your custom declarative UI tree.
API signature
Example
Custom messages are persisted with the conversation and re-rendered whenever the chat is loaded.