providerDynamicCapabilitiesSchema
constproviderDynamicCapabilitiesSchema:object
The JSON Schemas those models were generated from, for runtime use.
Type Declaration
Section titled “Type Declaration”$comment
Section titled “$comment”
readonly$comment:"streamingAvailable and cancellationAvailable are tri-state on purpose: true, false, or absent. Absent means 'inherit the static declaration' and is a distinct state from both booleans. They must never become nullable: null would be a fourth state no consumer handles, and bridges omit the key specifically to preserve 'absent'."
readonly$defs:object
$defs.readiness
Section titled “$defs.readiness”
readonlyreadiness:object
$defs.readiness.description
Section titled “$defs.readiness.description”
readonlydescription:"How ready something is to run (ADR 019). 'ready': it runs now at full speed. 'cold': it runs now, but its first run is slow. 'not_prepared': it cannot run until prepare() has run. 'preparing': it is being prepared now and cannot run yet."
$defs.readiness.enum
Section titled “$defs.readiness.enum”
readonlyenum: readonly ["ready","cold","not_prepared","preparing"]
$defs.readiness.title
Section titled “$defs.readiness.title”
readonlytitle:"ProviderReadiness"
$defs.taskAvailability
Section titled “$defs.taskAvailability”
readonlytaskAvailability:object
$defs.taskAvailability.additionalProperties
Section titled “$defs.taskAvailability.additionalProperties”
readonlyadditionalProperties:true
$defs.taskAvailability.description
Section titled “$defs.taskAvailability.description”
readonlydescription:"The live check for one task kind."
$defs.taskAvailability.properties
Section titled “$defs.taskAvailability.properties”
readonlyproperties:object
$defs.taskAvailability.properties.available
Section titled “$defs.taskAvailability.properties.available”
readonlyavailable:object
$defs.taskAvailability.properties.available.description
Section titled “$defs.taskAvailability.properties.available.description”
readonlydescription:"Whether the task can run on this host right now. Absent inherits the provider-level available. Never null."
$defs.taskAvailability.properties.available.type
Section titled “$defs.taskAvailability.properties.available.type”
readonlytype:"boolean"
$defs.taskAvailability.properties.cancellationAvailable
Section titled “$defs.taskAvailability.properties.cancellationAvailable”
readonlycancellationAvailable:object
$defs.taskAvailability.properties.cancellationAvailable.description
Section titled “$defs.taskAvailability.properties.cancellationAvailable.description”
readonlydescription:"Whether cancellation is honored for this task right now. Absent inherits. Never null."
$defs.taskAvailability.properties.cancellationAvailable.type
Section titled “$defs.taskAvailability.properties.cancellationAvailable.type”
readonlytype:"boolean"
$defs.taskAvailability.properties.kind
Section titled “$defs.taskAvailability.properties.kind”
readonlykind:object
$defs.taskAvailability.properties.kind.description
Section titled “$defs.taskAvailability.properties.kind.description”
readonlydescription:"The task kind this entry describes."
$defs.taskAvailability.properties.kind.minLength
Section titled “$defs.taskAvailability.properties.kind.minLength”
readonlyminLength:1
$defs.taskAvailability.properties.kind.type
Section titled “$defs.taskAvailability.properties.kind.type”
readonlytype:"string"
$defs.taskAvailability.properties.locales
Section titled “$defs.taskAvailability.properties.locales”
readonlylocales:object
$defs.taskAvailability.properties.locales.description
Section titled “$defs.taskAvailability.properties.locales.description”
readonlydescription:"BCP 47 locales available for this task right now. Absent means the provider cannot enumerate them."
$defs.taskAvailability.properties.locales.items
Section titled “$defs.taskAvailability.properties.locales.items”
readonlyitems:object
$defs.taskAvailability.properties.locales.items.minLength
Section titled “$defs.taskAvailability.properties.locales.items.minLength”
readonlyminLength:1
$defs.taskAvailability.properties.locales.items.type
Section titled “$defs.taskAvailability.properties.locales.items.type”
readonlytype:"string"
$defs.taskAvailability.properties.locales.type
Section titled “$defs.taskAvailability.properties.locales.type”
readonlytype:"array"
$defs.taskAvailability.properties.readiness
Section titled “$defs.taskAvailability.properties.readiness”
readonlyreadiness:object
$defs.taskAvailability.properties.readiness.$ref
Section titled “$defs.taskAvailability.properties.readiness.$ref”
readonly$ref:"#/$defs/readiness"
$defs.taskAvailability.properties.readiness.description
Section titled “$defs.taskAvailability.properties.readiness.description”
readonlydescription:"How ready the task is to run. Absent means 'ready'. With available false, 'not_prepared' or 'preparing' means 'not yet' rather than 'not on this device'; this entry then decides even when the provider-level available is false."
$defs.taskAvailability.properties.reason
Section titled “$defs.taskAvailability.properties.reason”
readonlyreason:object
$defs.taskAvailability.properties.reason.description
Section titled “$defs.taskAvailability.properties.reason.description”
readonlydescription:"Why the task is unavailable, when available is false."
$defs.taskAvailability.properties.reason.minLength
Section titled “$defs.taskAvailability.properties.reason.minLength”
readonlyminLength:1
$defs.taskAvailability.properties.reason.type
Section titled “$defs.taskAvailability.properties.reason.type”
readonlytype:"string"
$defs.taskAvailability.properties.streamingAvailable
Section titled “$defs.taskAvailability.properties.streamingAvailable”
readonlystreamingAvailable:object
$defs.taskAvailability.properties.streamingAvailable.description
Section titled “$defs.taskAvailability.properties.streamingAvailable.description”
readonlydescription:"Whether the task can stream on this host right now. Absent inherits. Never null."
$defs.taskAvailability.properties.streamingAvailable.type
Section titled “$defs.taskAvailability.properties.streamingAvailable.type”
readonlytype:"boolean"
$defs.taskAvailability.properties.streamingUnavailableReason
Section titled “$defs.taskAvailability.properties.streamingUnavailableReason”
readonlystreamingUnavailableReason:object
$defs.taskAvailability.properties.streamingUnavailableReason.description
Section titled “$defs.taskAvailability.properties.streamingUnavailableReason.description”
readonlydescription:"Why streaming is unavailable for this task, when streamingAvailable is false."
$defs.taskAvailability.properties.streamingUnavailableReason.minLength
Section titled “$defs.taskAvailability.properties.streamingUnavailableReason.minLength”
readonlyminLength:1
$defs.taskAvailability.properties.streamingUnavailableReason.type
Section titled “$defs.taskAvailability.properties.streamingUnavailableReason.type”
readonlytype:"string"
$defs.taskAvailability.properties.voices
Section titled “$defs.taskAvailability.properties.voices”
readonlyvoices:object
$defs.taskAvailability.properties.voices.description
Section titled “$defs.taskAvailability.properties.voices.description”
readonlydescription:"Every voice available for this task right now, one entry per voice. Absent means the provider cannot enumerate them; a request that requires a voice then never routes to it."
$defs.taskAvailability.properties.voices.items
Section titled “$defs.taskAvailability.properties.voices.items”
readonlyitems:object
$defs.taskAvailability.properties.voices.items.$ref
Section titled “$defs.taskAvailability.properties.voices.items.$ref”
readonly$ref:"#/$defs/voice"
$defs.taskAvailability.properties.voices.type
Section titled “$defs.taskAvailability.properties.voices.type”
readonlytype:"array"
$defs.taskAvailability.required
Section titled “$defs.taskAvailability.required”
readonlyrequired: readonly ["kind"]
$defs.taskAvailability.title
Section titled “$defs.taskAvailability.title”
readonlytitle:"ProviderTaskAvailability"
$defs.taskAvailability.type
Section titled “$defs.taskAvailability.type”
readonlytype:"object"
$defs.voice
Section titled “$defs.voice”
readonlyvoice:object
$defs.voice.additionalProperties
Section titled “$defs.voice.additionalProperties”
readonlyadditionalProperties:true
$defs.voice.description
Section titled “$defs.voice.description”
readonlydescription:"One available voice: its provider-neutral traits, and an id and name for an application that lets someone choose it."
$defs.voice.properties
Section titled “$defs.voice.properties”
readonlyproperties:object
$defs.voice.properties.gender
Section titled “$defs.voice.properties.gender”
readonlygender:object
$defs.voice.properties.gender.$ref
Section titled “$defs.voice.properties.gender.$ref”
readonly$ref:"#/$defs/voiceGender"
$defs.voice.properties.id
Section titled “$defs.voice.properties.id”
readonlyid:object
$defs.voice.properties.id.description
Section titled “$defs.voice.properties.id.description”
readonlydescription:"Identifies this voice within its provider, for use as speech.voice.id with speech.voice.providerId. Opaque: stable on this device while the voice stays installed, and meaningful nowhere else. Absent when the provider cannot address single voices."
$defs.voice.properties.id.minLength
Section titled “$defs.voice.properties.id.minLength”
readonlyminLength:1
$defs.voice.properties.id.type
Section titled “$defs.voice.properties.id.type”
readonlytype:"string"
$defs.voice.properties.locale
Section titled “$defs.voice.properties.locale”
readonlylocale:object
$defs.voice.properties.locale.description
Section titled “$defs.voice.properties.locale.description”
readonlydescription:"BCP 47 locale the voice speaks."
$defs.voice.properties.locale.minLength
Section titled “$defs.voice.properties.locale.minLength”
readonlyminLength:1
$defs.voice.properties.locale.type
Section titled “$defs.voice.properties.locale.type”
readonlytype:"string"
$defs.voice.properties.locales
Section titled “$defs.voice.properties.locales”
readonlylocales:object
$defs.voice.properties.locales.description
Section titled “$defs.voice.properties.locales.description”
readonlydescription:"Every BCP 47 tag the voice speaks; may repeat `locale`. A request's locale matches `locale` or any entry here."
$defs.voice.properties.locales.items
Section titled “$defs.voice.properties.locales.items”
readonlyitems:object
$defs.voice.properties.locales.items.minLength
Section titled “$defs.voice.properties.locales.items.minLength”
readonlyminLength:1
$defs.voice.properties.locales.items.type
Section titled “$defs.voice.properties.locales.items.type”
readonlytype:"string"
$defs.voice.properties.locales.type
Section titled “$defs.voice.properties.locales.type”
readonlytype:"array"
$defs.voice.properties.name
Section titled “$defs.voice.properties.name”
readonlyname:object
$defs.voice.properties.name.description
Section titled “$defs.voice.properties.name.description”
readonlydescription:"Label for showing the voice to a person, as the platform reports it. Not unique and not localized; never compare it."
$defs.voice.properties.name.minLength
Section titled “$defs.voice.properties.name.minLength”
readonlyminLength:1
$defs.voice.properties.name.type
Section titled “$defs.voice.properties.name.type”
readonlytype:"string"
$defs.voice.properties.networkRequired
Section titled “$defs.voice.properties.networkRequired”
readonlynetworkRequired:object
$defs.voice.properties.networkRequired.description
Section titled “$defs.voice.properties.networkRequired.description”
readonlydescription:"Whether using the voice sends data off the device. Absent inherits the task's privacy posture."
$defs.voice.properties.networkRequired.type
Section titled “$defs.voice.properties.networkRequired.type”
readonlytype:"boolean"
$defs.voice.properties.readiness
Section titled “$defs.voice.properties.readiness”
readonlyreadiness:object
$defs.voice.properties.readiness.$ref
Section titled “$defs.voice.properties.readiness.$ref”
readonly$ref:"#/$defs/readiness"
$defs.voice.properties.readiness.description
Section titled “$defs.voice.properties.readiness.description”
readonlydescription:"How ready the voice is to speak. Absent means 'ready'."
$defs.voice.required
Section titled “$defs.voice.required”
readonlyrequired: readonly ["locale"]
$defs.voice.title
Section titled “$defs.voice.title”
readonlytitle:"ProviderVoice"
$defs.voice.type
Section titled “$defs.voice.type”
readonlytype:"object"
$defs.voiceGender
Section titled “$defs.voiceGender”
readonlyvoiceGender:object
$defs.voiceGender.description
Section titled “$defs.voiceGender.description”
readonlydescription:"Perceived gender of a voice, as the platform reports it."
$defs.voiceGender.enum
Section titled “$defs.voiceGender.enum”
readonlyenum: readonly ["female","male","neutral"]
$defs.voiceGender.title
Section titled “$defs.voiceGender.title”
readonlytitle:"VoiceGender"
readonly$id:"https://schemas.inderun.dev/1.0/provider-dynamic-capabilities.schema.json"
$schema
Section titled “$schema”
readonly$schema:"https://json-schema.org/draft/2020-12/schema"
additionalProperties
Section titled “additionalProperties”
readonlyadditionalProperties:true
description
Section titled “description”
readonlydescription:"A provider's live capability check, evaluated on the current host when routing or when checkCapabilities() is called. Unlike the descriptor it can change between calls."
properties
Section titled “properties”
readonlyproperties:object
properties.available
Section titled “properties.available”
readonlyavailable:object
properties.available.description
Section titled “properties.available.description”
readonlydescription:"Whether the provider is available and functional on this host right now."
properties.available.type
Section titled “properties.available.type”
readonlytype:"boolean"
properties.cancellationAvailable
Section titled “properties.cancellationAvailable”
readonlycancellationAvailable:object
properties.cancellationAvailable.description
Section titled “properties.cancellationAvailable.description”
readonlydescription:"Whether cancellation is honored on this host right now. Absent inherits the static descriptor.cancel value: any value other than 'none' means available. Never null."
properties.cancellationAvailable.type
Section titled “properties.cancellationAvailable.type”
readonlytype:"boolean"
properties.reason
Section titled “properties.reason”
readonlyreason:object
properties.reason.description
Section titled “properties.reason.description”
readonlydescription:"Why the provider is unavailable, when available is false."
properties.reason.minLength
Section titled “properties.reason.minLength”
readonlyminLength:1
properties.reason.type
Section titled “properties.reason.type”
readonlytype:"string"
properties.streamingAvailable
Section titled “properties.streamingAvailable”
readonlystreamingAvailable:object
properties.streamingAvailable.description
Section titled “properties.streamingAvailable.description”
readonlydescription:"Whether the provider can stream (Mode 2) on this host right now. Absent inherits the static descriptor.supports.streaming value; only set it when the host takes streaming away from a provider that otherwise declares it. Never null."
properties.streamingAvailable.type
Section titled “properties.streamingAvailable.type”
readonlytype:"boolean"
properties.streamingUnavailableReason
Section titled “properties.streamingUnavailableReason”
readonlystreamingUnavailableReason:object
properties.streamingUnavailableReason.description
Section titled “properties.streamingUnavailableReason.description”
readonlydescription:"Why streaming is unavailable, when streamingAvailable is false. Absent lets the route planner synthesize a default message."
properties.streamingUnavailableReason.minLength
Section titled “properties.streamingUnavailableReason.minLength”
readonlyminLength:1
properties.streamingUnavailableReason.type
Section titled “properties.streamingUnavailableReason.type”
readonlytype:"string"
properties.taskCapabilities
Section titled “properties.taskCapabilities”
readonlytaskCapabilities:object
properties.taskCapabilities.description
Section titled “properties.taskCapabilities.description”
readonlydescription:"Per-task overrides of the provider-level check, for tasks whose availability differs on this host, e.g. a voice that is not installed. Every field of an entry is optional and absent inherits the provider-level value; a false at either level wins."
properties.taskCapabilities.items
Section titled “properties.taskCapabilities.items”
readonlyitems:object
properties.taskCapabilities.items.$ref
Section titled “properties.taskCapabilities.items.$ref”
readonly$ref:"#/$defs/taskAvailability"
properties.taskCapabilities.type
Section titled “properties.taskCapabilities.type”
readonlytype:"array"
required
Section titled “required”
readonlyrequired: readonly ["available"]
readonlytitle:"ProviderDynamicCapabilities"
readonlytype:"object"
IndeRun — open-source AI execution for cross-platform apps. Built and maintained by Independo GmbH (opens in new tab), supported by netidee (opens in new tab).
MIT-licensed SDK · No SDK usage telemetry.
© 2025–2026 Independo GmbH