T1 (local dev) vs T2 (public sandbox) — which capability works where: The host-brokered capabilities that work on the T1 host today are
key.display (title / image / state / success/error) and settings.get/patch. The others (storage, network.fetch, secret, oauth, clipboard, profile, system, input, action.invoke) are for T2.T1 is sandboxless Node, so it does not need host-brokered versions of these — use platform APIs directly: fetch() for the network, node:fs for files/persistence, and handle your own token/OAuth management directly. The host-brokered versions exist to make your code portable to T2 (once public upload opens). Details: Trust tiers.Key display
assetId; a dynamic image uses a bounded PNG/JPEG/WebP raster descriptor. Raw paths or external URLs are not accepted.
Credential lifecycle and authenticated fetch
{kind:'secret',name} or {kind:'oauth',provider}. The host decrypts the secret from its own encrypted vault and injects it into the permitted HTTPS request; the raw credential never enters the plugin request/response. The host still enforces the permission host/method/header/request/response limits.
