Skip to content

providerDynamicCapabilitiesSchema

const providerDynamicCapabilitiesSchema: object

The JSON Schemas those models were generated from, for runtime use.

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

readonly readiness: object

readonly description: "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."

readonly enum: readonly ["ready", "cold", "not_prepared", "preparing"]

readonly title: "ProviderReadiness"

readonly taskAvailability: object

$defs.taskAvailability.additionalProperties

Section titled “$defs.taskAvailability.additionalProperties”

readonly additionalProperties: true

readonly description: "The live check for one task kind."

readonly properties: object

$defs.taskAvailability.properties.available

Section titled “$defs.taskAvailability.properties.available”

readonly available: object

$defs.taskAvailability.properties.available.description

Section titled “$defs.taskAvailability.properties.available.description”

readonly description: "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”

readonly type: "boolean"

$defs.taskAvailability.properties.cancellationAvailable

Section titled “$defs.taskAvailability.properties.cancellationAvailable”

readonly cancellationAvailable: object

$defs.taskAvailability.properties.cancellationAvailable.description

Section titled “$defs.taskAvailability.properties.cancellationAvailable.description”

readonly description: "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”

readonly type: "boolean"

readonly kind: object

$defs.taskAvailability.properties.kind.description

Section titled “$defs.taskAvailability.properties.kind.description”

readonly description: "The task kind this entry describes."

$defs.taskAvailability.properties.kind.minLength

Section titled “$defs.taskAvailability.properties.kind.minLength”

readonly minLength: 1

$defs.taskAvailability.properties.kind.type

Section titled “$defs.taskAvailability.properties.kind.type”

readonly type: "string"

readonly locales: object

$defs.taskAvailability.properties.locales.description

Section titled “$defs.taskAvailability.properties.locales.description”

readonly description: "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”

readonly items: object

$defs.taskAvailability.properties.locales.items.minLength

Section titled “$defs.taskAvailability.properties.locales.items.minLength”

readonly minLength: 1

$defs.taskAvailability.properties.locales.items.type

Section titled “$defs.taskAvailability.properties.locales.items.type”

readonly type: "string"

$defs.taskAvailability.properties.locales.type

Section titled “$defs.taskAvailability.properties.locales.type”

readonly type: "array"

$defs.taskAvailability.properties.readiness

Section titled “$defs.taskAvailability.properties.readiness”

readonly readiness: 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”

readonly description: "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."

readonly reason: object

$defs.taskAvailability.properties.reason.description

Section titled “$defs.taskAvailability.properties.reason.description”

readonly description: "Why the task is unavailable, when available is false."

$defs.taskAvailability.properties.reason.minLength

Section titled “$defs.taskAvailability.properties.reason.minLength”

readonly minLength: 1

$defs.taskAvailability.properties.reason.type

Section titled “$defs.taskAvailability.properties.reason.type”

readonly type: "string"

$defs.taskAvailability.properties.streamingAvailable

Section titled “$defs.taskAvailability.properties.streamingAvailable”

readonly streamingAvailable: object

$defs.taskAvailability.properties.streamingAvailable.description

Section titled “$defs.taskAvailability.properties.streamingAvailable.description”

readonly description: "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”

readonly type: "boolean"

$defs.taskAvailability.properties.streamingUnavailableReason

Section titled “$defs.taskAvailability.properties.streamingUnavailableReason”

readonly streamingUnavailableReason: object

$defs.taskAvailability.properties.streamingUnavailableReason.description

Section titled “$defs.taskAvailability.properties.streamingUnavailableReason.description”

readonly description: "Why streaming is unavailable for this task, when streamingAvailable is false."

$defs.taskAvailability.properties.streamingUnavailableReason.minLength

Section titled “$defs.taskAvailability.properties.streamingUnavailableReason.minLength”

readonly minLength: 1

$defs.taskAvailability.properties.streamingUnavailableReason.type

Section titled “$defs.taskAvailability.properties.streamingUnavailableReason.type”

readonly type: "string"

readonly voices: object

$defs.taskAvailability.properties.voices.description

Section titled “$defs.taskAvailability.properties.voices.description”

readonly description: "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”

readonly items: 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”

readonly type: "array"

readonly required: readonly ["kind"]

readonly title: "ProviderTaskAvailability"

readonly type: "object"

readonly voice: object

readonly additionalProperties: true

readonly description: "One available voice: its provider-neutral traits, and an id and name for an application that lets someone choose it."

readonly properties: object

readonly gender: object

readonly $ref: "#/$defs/voiceGender"

readonly id: object

readonly description: "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."

readonly minLength: 1

readonly type: "string"

readonly locale: object

readonly description: "BCP 47 locale the voice speaks."

readonly minLength: 1

readonly type: "string"

readonly locales: object

$defs.voice.properties.locales.description

Section titled “$defs.voice.properties.locales.description”

readonly description: "Every BCP 47 tag the voice speaks; may repeat `locale`. A request's locale matches `locale` or any entry here."

readonly items: object

$defs.voice.properties.locales.items.minLength

Section titled “$defs.voice.properties.locales.items.minLength”

readonly minLength: 1

readonly type: "string"

readonly type: "array"

readonly name: object

readonly description: "Label for showing the voice to a person, as the platform reports it. Not unique and not localized; never compare it."

readonly minLength: 1

readonly type: "string"

readonly networkRequired: object

$defs.voice.properties.networkRequired.description

Section titled “$defs.voice.properties.networkRequired.description”

readonly description: "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”

readonly type: "boolean"

readonly readiness: object

readonly $ref: "#/$defs/readiness"

$defs.voice.properties.readiness.description

Section titled “$defs.voice.properties.readiness.description”

readonly description: "How ready the voice is to speak. Absent means 'ready'."

readonly required: readonly ["locale"]

readonly title: "ProviderVoice"

readonly type: "object"

readonly voiceGender: object

readonly description: "Perceived gender of a voice, as the platform reports it."

readonly enum: readonly ["female", "male", "neutral"]

readonly title: "VoiceGender"

readonly $id: "https://schemas.inderun.dev/1.0/provider-dynamic-capabilities.schema.json"

readonly $schema: "https://json-schema.org/draft/2020-12/schema"

readonly additionalProperties: true

readonly description: "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."

readonly properties: object

readonly available: object

readonly description: "Whether the provider is available and functional on this host right now."

readonly type: "boolean"

readonly cancellationAvailable: object

properties.cancellationAvailable.description

Section titled “properties.cancellationAvailable.description”

readonly description: "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."

readonly type: "boolean"

readonly reason: object

readonly description: "Why the provider is unavailable, when available is false."

readonly minLength: 1

readonly type: "string"

readonly streamingAvailable: object

readonly description: "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."

readonly type: "boolean"

readonly streamingUnavailableReason: object

properties.streamingUnavailableReason.description

Section titled “properties.streamingUnavailableReason.description”

readonly description: "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”

readonly minLength: 1

properties.streamingUnavailableReason.type

Section titled “properties.streamingUnavailableReason.type”

readonly type: "string"

readonly taskCapabilities: object

readonly description: "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."

readonly items: object

readonly $ref: "#/$defs/taskAvailability"

readonly type: "array"

readonly required: readonly ["available"]

readonly title: "ProviderDynamicCapabilities"

readonly type: "object"