Capability model
Explicit authority, not a native escape hatch.
AppCs request named capabilities. Package declaration, host availability and user permission remain separate decisions.
Core families
runtime— metadata, caller context and capability detection.storage— app-private structured storage.sql— app-private managed SQL.files.app— app-private files.files.open/files.save— user-mediated file access.workspace— opaque user-approved directory grants.filesystem.watch— scoped watches tied to workspace authority.watch.trigger— approved persistent workspace-change automation.network— declared HTTPS origins plus explicit user approval.secrets— host-managed OS credential storage.
Desktop and high-authority families
clipboard.read,clipboard.write,notifications,external,window.system— bounded OS family and architecture information.media.pick— user-mediated image, audio or video file selection.process— managed child processes with explicit session approval.terminal— managed PTY sessions with explicit session approval.background— supervised hidden AppC runtime.scheduler— durable recurring headless invocation.agent— host-created agent-tool invocation context.
Capability detection
if (await runtime.hasCapability("sql")) {
// use SQL
}
await runtime.requireCapability("workspace");
Application Console does not expose a generic native.invoke(). High-authority operations remain individually reviewable, permissioned and revocable. A generic OS share-sheet capability is not advertised until the host can provide a reviewed cross-platform primitive with consistent semantics.