routePlanSchema
constroutePlanSchema:object
The JSON Schemas those models were generated from, for runtime use.
Type Declaration
Section titled “Type Declaration”
readonly$id:"https://schemas.inderun.dev/1.0/route-plan.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:"Deterministic shared-core Mode-1 route planning result."
properties
Section titled “properties”
readonlyproperties:object
properties.candidates
Section titled “properties.candidates”
readonlycandidates:object
properties.candidates.description
Section titled “properties.candidates.description”
readonlydescription:"Eligible candidates in deterministic order."
properties.candidates.items
Section titled “properties.candidates.items”
readonlyitems:object
properties.candidates.items.additionalProperties
Section titled “properties.candidates.items.additionalProperties”
readonlyadditionalProperties:true
properties.candidates.items.properties
Section titled “properties.candidates.items.properties”
readonlyproperties:object
properties.candidates.items.properties.order
Section titled “properties.candidates.items.properties.order”
readonlyorder:object
properties.candidates.items.properties.order.minimum
Section titled “properties.candidates.items.properties.order.minimum”
readonlyminimum:0
properties.candidates.items.properties.order.type
Section titled “properties.candidates.items.properties.order.type”
readonlytype:"integer"
properties.candidates.items.properties.providerId
Section titled “properties.candidates.items.properties.providerId”
readonlyproviderId:object
properties.candidates.items.properties.providerId.minLength
Section titled “properties.candidates.items.properties.providerId.minLength”
readonlyminLength:1
properties.candidates.items.properties.providerId.type
Section titled “properties.candidates.items.properties.providerId.type”
readonlytype:"string"
properties.candidates.items.properties.voice
Section titled “properties.candidates.items.properties.voice”
readonlyvoice:object
properties.candidates.items.properties.voice.$ref
Section titled “properties.candidates.items.properties.voice.$ref”
readonly$ref:"provider-dynamic-capabilities.schema.json#/$defs/voice"
properties.candidates.items.properties.voice.description
Section titled “properties.candidates.items.properties.voice.description”
readonlydescription:"The voice this candidate must use if it is attempted, chosen by the planner from the provider's dynamic voice inventory. It is the best voice that satisfies the request's locale, required voice traits and privacy — under local-required privacy always one that keeps data on the device — ranked by preferred id, then preferred gender, then exact locale region, then on-device before network. The adapter must use the voice with this id, or one with exactly these traits when the voice has no id. Absent when the request names no locale or voice, or the provider does not list its voices; the adapter then chooses itself under the same rules."
properties.candidates.items.required
Section titled “properties.candidates.items.required”
readonlyrequired: readonly ["providerId","order"]
properties.candidates.items.type
Section titled “properties.candidates.items.type”
readonlytype:"object"
properties.candidates.type
Section titled “properties.candidates.type”
readonlytype:"array"
properties.explanation
Section titled “properties.explanation”
readonlyexplanation:object
properties.explanation.additionalProperties
Section titled “properties.explanation.additionalProperties”
readonlyadditionalProperties:true
properties.explanation.description
Section titled “properties.explanation.description”
readonlydescription:"Human-readable selection or failure explanation suitable for telemetry/debugging."
properties.explanation.properties
Section titled “properties.explanation.properties”
readonlyproperties:object
properties.explanation.properties.selectedProviderId
Section titled “properties.explanation.properties.selectedProviderId”
readonlyselectedProviderId:object
properties.explanation.properties.selectedProviderId.minLength
Section titled “properties.explanation.properties.selectedProviderId.minLength”
readonlyminLength:1
properties.explanation.properties.selectedProviderId.type
Section titled “properties.explanation.properties.selectedProviderId.type”
readonlytype:"string"
properties.explanation.properties.summary
Section titled “properties.explanation.properties.summary”
readonlysummary:object
properties.explanation.properties.summary.minLength
Section titled “properties.explanation.properties.summary.minLength”
readonlyminLength:1
properties.explanation.properties.summary.type
Section titled “properties.explanation.properties.summary.type”
readonlytype:"string"
properties.explanation.required
Section titled “properties.explanation.required”
readonlyrequired: readonly ["summary"]
properties.explanation.type
Section titled “properties.explanation.type”
readonlytype:"object"
properties.failureCode
Section titled “properties.failureCode”
readonlyfailureCode:object
properties.failureCode.description
Section titled “properties.failureCode.description”
readonlydescription:"Normalized routing failure class when no provider is selected."
properties.failureCode.enum
Section titled “properties.failureCode.enum”
readonlyenum: readonly ["capability_mismatch","offline","unavailable"]
properties.fallbackProviderIds
Section titled “properties.fallbackProviderIds”
readonlyfallbackProviderIds:object
properties.fallbackProviderIds.description
Section titled “properties.fallbackProviderIds.description”
readonlydescription:"Fallback provider IDs ordered after the primary selection."
properties.fallbackProviderIds.items
Section titled “properties.fallbackProviderIds.items”
readonlyitems:object
properties.fallbackProviderIds.items.minLength
Section titled “properties.fallbackProviderIds.items.minLength”
readonlyminLength:1
properties.fallbackProviderIds.items.type
Section titled “properties.fallbackProviderIds.items.type”
readonlytype:"string"
properties.fallbackProviderIds.type
Section titled “properties.fallbackProviderIds.type”
readonlytype:"array"
properties.rejectedProviders
Section titled “properties.rejectedProviders”
readonlyrejectedProviders:object
properties.rejectedProviders.description
Section titled “properties.rejectedProviders.description”
readonlydescription:"Providers filtered out during planning together with machine-readable reasons."
properties.rejectedProviders.items
Section titled “properties.rejectedProviders.items”
readonlyitems:object
properties.rejectedProviders.items.additionalProperties
Section titled “properties.rejectedProviders.items.additionalProperties”
readonlyadditionalProperties:true
properties.rejectedProviders.items.properties
Section titled “properties.rejectedProviders.items.properties”
readonlyproperties:object
properties.rejectedProviders.items.properties.providerId
Section titled “properties.rejectedProviders.items.properties.providerId”
readonlyproviderId:object
properties.rejectedProviders.items.properties.providerId.minLength
Section titled “properties.rejectedProviders.items.properties.providerId.minLength”
readonlyminLength:1
properties.rejectedProviders.items.properties.providerId.type
Section titled “properties.rejectedProviders.items.properties.providerId.type”
readonlytype:"string"
properties.rejectedProviders.items.properties.reasons
Section titled “properties.rejectedProviders.items.properties.reasons”
readonlyreasons:object
properties.rejectedProviders.items.properties.reasons.items
Section titled “properties.rejectedProviders.items.properties.reasons.items”
readonlyitems:object
properties.rejectedProviders.items.properties.reasons.items.additionalProperties
Section titled “properties.rejectedProviders.items.properties.reasons.items.additionalProperties”
readonlyadditionalProperties:true
properties.rejectedProviders.items.properties.reasons.items.properties
Section titled “properties.rejectedProviders.items.properties.reasons.items.properties”
readonlyproperties:object
properties.rejectedProviders.items.properties.reasons.items.properties.code
Section titled “properties.rejectedProviders.items.properties.reasons.items.properties.code”
readonlycode:object
properties.rejectedProviders.items.properties.reasons.items.properties.code.description
Section titled “properties.rejectedProviders.items.properties.reasons.items.properties.code.description”
readonlydescription:"Normalized rejection reason. 'streaming_not_supported' means the descriptor does not statically declare Mode-2 streaming; 'streaming_unavailable' means it declares streaming but the dynamic capability snapshot reports it cannot stream in the current host environment. 'not_in_model_profile' means the request named a model profile that does not list this provider. 'input_not_supported', 'output_delivery_not_supported', 'output_format_not_supported', 'locale_not_supported' and 'voice_not_available' mean the provider's task capability lacks an input kind, output delivery, media type, locale or voice the request requires. 'prepare_not_supported' means the task capability declares no prepare(). 'not_ready' means the provider, task or required voice exists but is not prepared yet, so prepare() can make it available."
properties.rejectedProviders.items.properties.reasons.items.properties.code.enum
Section titled “properties.rejectedProviders.items.properties.reasons.items.properties.code.enum”
readonlyenum: readonly […, …, …, …, …, …, …, …, …, …, …, …, …, …, …, …]
properties.rejectedProviders.items.properties.reasons.items.properties.message
Section titled “properties.rejectedProviders.items.properties.reasons.items.properties.message”
readonlymessage:object
properties.rejectedProviders.items.properties.reasons.items.properties.message.minLength
Section titled “properties.rejectedProviders.items.properties.reasons.items.properties.message.minLength”
readonlyminLength:1
properties.rejectedProviders.items.properties.reasons.items.properties.message.type
Section titled “properties.rejectedProviders.items.properties.reasons.items.properties.message.type”
readonlytype:"string"
properties.rejectedProviders.items.properties.reasons.items.required
Section titled “properties.rejectedProviders.items.properties.reasons.items.required”
readonlyrequired: readonly ["code","message"]
properties.rejectedProviders.items.properties.reasons.items.type
Section titled “properties.rejectedProviders.items.properties.reasons.items.type”
readonlytype:"object"
properties.rejectedProviders.items.properties.reasons.type
Section titled “properties.rejectedProviders.items.properties.reasons.type”
readonlytype:"array"
properties.rejectedProviders.items.required
Section titled “properties.rejectedProviders.items.required”
readonlyrequired: readonly ["providerId","reasons"]
properties.rejectedProviders.items.type
Section titled “properties.rejectedProviders.items.type”
readonlytype:"object"
properties.rejectedProviders.type
Section titled “properties.rejectedProviders.type”
readonlytype:"array"
properties.selectedProviderId
Section titled “properties.selectedProviderId”
readonlyselectedProviderId:object
properties.selectedProviderId.description
Section titled “properties.selectedProviderId.description”
readonlydescription:"Chosen primary provider ID, if any."
properties.selectedProviderId.minLength
Section titled “properties.selectedProviderId.minLength”
readonlyminLength:1
properties.selectedProviderId.type
Section titled “properties.selectedProviderId.type”
readonlytype:"string"
required
Section titled “required”
readonlyrequired: readonly ["fallbackProviderIds","candidates","rejectedProviders","explanation"]
readonlytitle:"RoutePlan"
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