Discover and control miniapps
session.miniapps lists installed miniapps and starts or stops them.
Each
MiniappInfo also reports system (the Mentra App build ships this
miniapp) and, when a bundled Store maintains the installed release,
storeOwnerPackageName or systemStoreOwnerPackageName. Actions declared with
"audience": "host" are not listed.
Installing miniapps
session.miniapps.install, checkInstallCompatibility, onInstallProgress and
uninstall are accepted only from a Store miniapp bundled with the Mentra App.
Other callers, system miniapps included, get NOT_PERMITTED. The host downloads
the release, checks its SHA-256, archive, publisher signature, version and
compatibility, and installs it through the same installer as every other source.
An automatic update passes onlyIfStopped: true: it never stops a running
miniapp by itself and answers APP_RUNNING instead. With askIfRunning: true
as well, the Mentra App stages the release and asks the user whether to update
now; declining, or a question the app does not show (it is in the background,
another question is open, or it asked about this miniapp within the last day),
still answers APP_RUNNING, and the update installs once the miniapp stops.
Invoke an action
session.actions.invoke calls an action another miniapp exposed via
session.actions.handle. It headless-wakes the target if it’s stopped, runs the
handler, and returns the result.
invoke() rejects with { code, message } where code is one of:
A thrown handler in the target surfaces its own error message to the caller.
The action descriptor returned by
session.miniapps.list() includes an optional
outputSchema, which describes the structured result for result-aware callers.
Privileged device controls
Wi-Fi ADB (Mentra Live)
session.glasses.setWifiAdbState toggles wireless debugging on Mentra Live.
The preference is persisted on the glasses and reapplied at boot (default
off). Non-system callers get NOT_PERMITTED.

