schema.Schema from get_schema() to tell Niblet which settings to
show when someone configures your app.
The runtime recognizes more field types than the hosted clients currently
support. This table describes schema vocabulary, not an installability promise.
Give every field a stable
id, clear name, short description, and safe default
when the type supports one. Niblet stores the ID with each installation, so do
not reuse an existing ID for a different setting.
Load options dynamically
Generated, Typeahead, and LocationBased describe runtime handlers.
Hosted schema-handler jobs are not implemented, so these fields currently
block installation. Static locations are supported; native Expo image fields
remain unsupported.
Keep credentials protected
Reviewed user and publisher credentials are stored separately, omitted from ordinary read responses, and resolved only for authorized renders. General app-provider OAuth is not implemented: declaringOAuth2 does not enable it.
Never put credentials into ordinary configuration or MCP messages.