API signature
registerPage returns a cleanup function. Call it to remove the page registration from the drawer and from navigation.
PageDefinition fields
Unique page identifier. Aether uses this to scope the page within your extension and to target the page from
ui.pageButton(pageId) navigation calls. Must be a non-empty string.Primary label shown in the conversation drawer entry and in the page header. Must be a non-empty string.
Secondary label displayed below the title in the drawer. Use this to provide a short description of the page’s purpose.
Icon name displayed next to the title in the drawer. Defaults to
"extension" when omitted.A factory function that returns the page’s
ui node tree. The function may be synchronous or async and receives the standard render context.Example
index.ts
Navigating to a page
Useui.pageButton(pageId) in any surface, component, or other page to render a navigation button that opens the target page:
pageId value must match the id field you passed to registerPage. Aether scopes page IDs to their registering extension, so IDs only need to be unique within your own extension.