AppContract
The app’s own declaration of its capabilities, delivered to the shell on connect. Every field is optional — an app that declares nothing simply offers nothing to the broker. Advisory: the shell ingests it defensively (malformed → treated as empty) and sources capabilities from it, but never trusts it for authorization (each backend re-enforces independently).
Properties
Section titled “Properties”consumes?
Section titled “consumes?”optional consumes?: ConsumeDecl[];Intents this app invokes on others — the broker permits an invoke only for a declared consume.
permissions?
Section titled “permissions?”optional permissions?: string[];Platform capabilities this app intends to use (e.g. notify.toast, surface.embed).
provides?
Section titled “provides?”optional provides?: ProvideDecl[];Intents and surfaces this app provides to others.
subscribes?
Section titled “subscribes?”optional subscribes?: string[];Broadcast event topics this app subscribes to (e.g. session.changed, theme.changed).