Mod capabilities
Consent labels, bridge arguments, topics and availability generated from the SDK registry.
5 minute read
These are sandbox bridge capabilities, not document capabilities. A mod requests them in its manifest; the host derives argument validation, topic grants and the consent view from packages/sdk/src/capabilities.ts. Namespace-scoped operations can reach only the requesting mod's own resources. Denied capabilities cannot be granted.
| Capability | Consent label | What it permits | Arguments | Topics | Consent status |
|---|---|---|---|---|---|
audio.control | Control table audio | Start, pause, seek, fade, and stop shared audio as the current user. | [one of several defined shapes] | None | GM consent required |
audio.manage | Manage table audio | Create and edit reusable audio definitions and scene or handout bindings. | [one of several defined shapes] | None | GM consent required |
audio.read | Read table audio | Read audio definitions, bindings, and playback already visible to you. | ['definitions' or 'bindings' or 'playback' or 'cueMetadata'] | None | GM consent required |
audio.subscribe | Watch table audio | Be notified when projected shared playback changes. | subscribe only | audio | GM consent required |
automation.run | Run game automation | Run automation supplied by this world's game system as you. | [string, string, then unknown value...] | None | GM consent required |
chat.card | Post cards to chat | Post a rendered card with server-checked actions into the table's chat. | [unknown value, then unknown value...] | None | GM consent required |
chat.send | Send chat messages | Post messages to the table chat. | [string] | None | GM consent required |
chat.subscribe | Watch chat | Be notified of chat messages. | subscribe only | chat | GM consent required |
contextMenu.open | Open a native context menu | Show bounded choices in Aether's context menu at a user-invoked point. | [object] | None | Host-scoped; no manifest grant |
dice.roll | Roll dice | Make public or caller-private dice rolls. | one of several defined shapes | None | GM consent required |
dice.settled | Report its dice have landed | Tell the table its animation has finished, so the numbers appear a moment sooner. | [string] | None | Host-scoped; no manifest grant |
dock.close | Close its own panels | Close its own panels. | [string] | None | Host-scoped; no manifest grant |
dock.flash | Flash its own panels | Draw attention to its own panels. | [string] | None | Host-scoped; no manifest grant |
dock.open | Manage its own panels | Open its own panels in the dock. | [string, then unknown value...] | None | Host-scoped; no manifest grant |
documents.create | Create documents | Create system-validated documents as the current user through an authoritative service. | [string, string, unknown value (optional)] | None | GM consent required |
documents.open | Open visible documents | Open a document already visible to you in Aether's Library. | [string, object (optional)] | None | GM consent required |
documents.read | Read your documents | Read documents you can already see in this world. | [string...] | documents | GM consent required |
documents.write | Edit your documents | Change documents you are already allowed to edit in this world. | [string, array of unknown value] | None | GM consent required |
events.subscribe | Watch what happens at the table | Be told when anyone rolls, says something, or the GM changes scene. | subscribe only | events | GM consent required |
game.action.execute | Use installed game actions | Invoke attacks, spells, features, and macros supplied by the active system as the current user. | [object] | None | GM consent required |
game.generator.run | Run installed generators | Preview and create world content with a generator supplied by the active system. | one of several defined shapes | None | GM consent required |
history.redo | Redo your changes | Redo the current user's last undone world change. | [] | None | GM consent required |
history.undo | Undo your changes | Undo the current user's last server-recorded world change. | [] | None | GM consent required |
libraries.read | Read installed rules libraries | Search and open immutable rules entries from its own installed package. | one of several defined shapes | None | GM consent required |
net.fetch | Connect to the internet | Make network requests to the domains listed in its manifest. | No direct bridge call | None | Unavailable and denied |
rolls.subscribe | Watch dice rolls | Be notified when dice are rolled at the table. | subscribe only | rolls | GM consent required |
scene.draw | Draw on the canvas | Paint fog of war and overlays on the shared map that the whole table sees. | [string, string, unknown value] | None | GM consent required |
scene.input.subscribe | Read what you draw on the map | Receive the strokes you paint with its scene tools. | subscribe only | scene.input | GM consent required |
scene.objects | Place animated visuals over the map | Create bounded shapes or verified 3D models while Aether keeps the camera, map controls, coverage limits, and cleanup. | [one of several defined shapes] | scene.objects.events | GM consent required |
services.call | Use declared package services | Call only the typed service endpoints pinned for this package in the world's dependency graph. | [string, string, 'action' or 'query', unknown value] | None | GM consent required |
settings.read | Read its settings | Read this mod's own settings for the current user and world. | [] | None | Host-scoped; no manifest grant |
settings.write | Change its settings | Change this mod's own settings through the host's validated settings contract. | [string, one of several defined shapes] | None | Host-scoped; no manifest grant |
toast.show | Show native feedback | Show bounded Aether feedback for an action taken in this app. | [object] | None | Host-scoped; no manifest grant |
Was this page helpful?