AiCapabilities
Honest, machine-readable answer to "what can this AI backend actually do right now" — the counterpart to a bare isAvailable(): Boolean that collapses "streams tokens", "accepts images" and "why is this off" into a single true/false a caller can't act on or show to a user. Lives in :result next to AiFailure for the same reason: the on-device (:ai) and cloud (:llm-chat) seams both report through it rather than inventing their own descriptor shape.
Constructors
Properties
Names of the tuning fields (from GenerationConfig/AiConfig) this backend actually reads. Every field NOT in this set is silently accepted and ignored — see each backend's override.
True when this backend accepts image input alongside text.
Why this backend can't run right now — the real reason, not a guess. Null when it can.