Skip to content

routePlannerInputSchema

const routePlannerInputSchema: object

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

readonly $id: "https://schemas.inderun.dev/1.0/route-planner-input.schema.json"

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

readonly additionalProperties: true

readonly description: "Pure data input contract for deterministic shared-core route planning."

readonly properties: object

readonly constraints: object

properties.constraints.additionalProperties

Section titled “properties.constraints.additionalProperties”

readonly additionalProperties: true

readonly description: "Hard routing constraints evaluated before provider selection."

readonly properties: object

readonly cloud: object

properties.constraints.properties.cloud.description

Section titled “properties.constraints.properties.cloud.description”

readonly description: "Cloud execution constraint."

properties.constraints.properties.cloud.enum

Section titled “properties.constraints.properties.cloud.enum”

readonly enum: readonly ["forbidden", "allowed", "required"]

properties.constraints.properties.networkOnline

Section titled “properties.constraints.properties.networkOnline”

readonly networkOnline: object

properties.constraints.properties.networkOnline.description

Section titled “properties.constraints.properties.networkOnline.description”

readonly description: "Current connectivity snapshot used for cloud route planning."

properties.constraints.properties.networkOnline.type

Section titled “properties.constraints.properties.networkOnline.type”

readonly type: "boolean"

readonly privacy: object

properties.constraints.properties.privacy.description

Section titled “properties.constraints.properties.privacy.description”

readonly description: "Privacy requirement or preference for execution placement."

properties.constraints.properties.privacy.enum

Section titled “properties.constraints.properties.privacy.enum”

readonly enum: readonly ["local_required", "local_preferred", "cloud_allowed", "cloud_required"]

readonly type: "object"

readonly interactionMode: object

readonly description: "Interaction mode the caller is requesting. Absent means 'run' (Mode 1), so planner inputs produced before this field existed keep their exact Mode-1 semantics. The mode filters eligible providers; it never changes candidate ordering."

readonly enum: readonly ["run", "stream", "prepare"]

readonly modelProfile: object

properties.modelProfile.additionalProperties

Section titled “properties.modelProfile.additionalProperties”

readonly additionalProperties: true

readonly description: "The resolved model profile the request routes within. Absent means the built-in 'auto' profile: no allow-list, and ordering by placement and preference alone. When present, providers whose id is not in targetIds are rejected with 'not_in_model_profile', and the position in targetIds ranks the survivors after placement and before preferences. Ids that name no registered provider are ignored."

readonly properties: object

readonly name: object

properties.modelProfile.properties.name.description

Section titled “properties.modelProfile.properties.name.description”

readonly description: "Profile name, carried for explanations."

properties.modelProfile.properties.name.minLength

Section titled “properties.modelProfile.properties.name.minLength”

readonly minLength: 1

properties.modelProfile.properties.name.type

Section titled “properties.modelProfile.properties.name.type”

readonly type: "string"

properties.modelProfile.properties.targetIds

Section titled “properties.modelProfile.properties.targetIds”

readonly targetIds: object

properties.modelProfile.properties.targetIds.description

Section titled “properties.modelProfile.properties.targetIds.description”

readonly description: "Provider ids in profile order."

properties.modelProfile.properties.targetIds.items

Section titled “properties.modelProfile.properties.targetIds.items”

readonly items: object

properties.modelProfile.properties.targetIds.items.minLength

Section titled “properties.modelProfile.properties.targetIds.items.minLength”

readonly minLength: 1

properties.modelProfile.properties.targetIds.items.type

Section titled “properties.modelProfile.properties.targetIds.items.type”

readonly type: "string"

properties.modelProfile.properties.targetIds.minItems

Section titled “properties.modelProfile.properties.targetIds.minItems”

readonly minItems: 1

properties.modelProfile.properties.targetIds.type

Section titled “properties.modelProfile.properties.targetIds.type”

readonly type: "array"

readonly required: readonly ["name", "targetIds"]

readonly type: "object"

readonly preferences: object

properties.preferences.additionalProperties

Section titled “properties.preferences.additionalProperties”

readonly additionalProperties: true

readonly description: "Soft route ordering preferences applied after hard filtering."

readonly properties: object

properties.preferences.properties.optimizeFor

Section titled “properties.preferences.properties.optimizeFor”

readonly optimizeFor: object

properties.preferences.properties.optimizeFor.description

Section titled “properties.preferences.properties.optimizeFor.description”

readonly description: "Primary optimization goal when multiple providers remain eligible."

properties.preferences.properties.optimizeFor.enum

Section titled “properties.preferences.properties.optimizeFor.enum”

readonly enum: readonly ["privacy", "latency", "cost", "balanced"]

readonly type: "object"

readonly providers: object

readonly description: "Static descriptors plus dynamic capability checks for planning. Both shapes are the provider schemas themselves, shared by $ref, so the planner reads exactly what checkCapabilities() reports."

readonly items: object

properties.providers.items.additionalProperties

Section titled “properties.providers.items.additionalProperties”

readonly additionalProperties: true

readonly properties: object

properties.providers.items.properties.capabilities

Section titled “properties.providers.items.properties.capabilities”

readonly capabilities: object

properties.providers.items.properties.capabilities.$ref

Section titled “properties.providers.items.properties.capabilities.$ref”

readonly $ref: "provider-dynamic-capabilities.schema.json"

properties.providers.items.properties.capabilities.description

Section titled “properties.providers.items.properties.capabilities.description”

readonly description: "The provider's live capability check, already folded by the engine (for example, streamingAvailable is false when the provider declares streaming but does not implement it)."

properties.providers.items.properties.descriptor

Section titled “properties.providers.items.properties.descriptor”

readonly descriptor: object

properties.providers.items.properties.descriptor.$ref

Section titled “properties.providers.items.properties.descriptor.$ref”

readonly $ref: "provider-descriptor.schema.json"

properties.providers.items.properties.descriptor.description

Section titled “properties.providers.items.properties.descriptor.description”

readonly description: "The provider's static capability declaration."

readonly required: readonly ["descriptor", "capabilities"]

readonly type: "object"

readonly type: "array"

readonly task: object

readonly additionalProperties: true

readonly description: "Task descriptor for provider task matching: the kind plus the requirements routing can check against declared capabilities. Absent requirement fields are never checked, so a text request carries the kind alone."

readonly properties: object

readonly delivery: object

properties.task.properties.delivery.additionalProperties

Section titled “properties.task.properties.delivery.additionalProperties”

readonly additionalProperties: true

properties.task.properties.delivery.description

Section titled “properties.task.properties.delivery.description”

readonly description: "The output delivery the request requires. Absent for text, whose delivery is implicitly inline."

properties.task.properties.delivery.properties

Section titled “properties.task.properties.delivery.properties”

readonly properties: object

properties.task.properties.delivery.properties.mediaTypes

Section titled “properties.task.properties.delivery.properties.mediaTypes”

readonly mediaTypes: object

properties.task.properties.delivery.properties.mediaTypes.description

Section titled “properties.task.properties.delivery.properties.mediaTypes.description”

readonly description: "Acceptable media types; the provider must declare at least one for the requested delivery. Absent means any."

properties.task.properties.delivery.properties.mediaTypes.items

Section titled “properties.task.properties.delivery.properties.mediaTypes.items”

readonly items: object

properties.task.properties.delivery.properties.mediaTypes.items.minLength

Section titled “properties.task.properties.delivery.properties.mediaTypes.items.minLength”

readonly minLength: 1

properties.task.properties.delivery.properties.mediaTypes.items.type

Section titled “properties.task.properties.delivery.properties.mediaTypes.items.type”

readonly type: "string"

properties.task.properties.delivery.properties.mediaTypes.type

Section titled “properties.task.properties.delivery.properties.mediaTypes.type”

readonly type: "array"

properties.task.properties.delivery.properties.mode

Section titled “properties.task.properties.delivery.properties.mode”

readonly mode: object

properties.task.properties.delivery.properties.mode.$ref

Section titled “properties.task.properties.delivery.properties.mode.$ref”

readonly $ref: "provider-descriptor.schema.json#/$defs/outputDelivery"

properties.task.properties.delivery.required

Section titled “properties.task.properties.delivery.required”

readonly required: readonly ["mode"]

readonly title: "DeliveryRequirement"

readonly type: "object"

readonly inputs: object

properties.task.properties.inputs.description

Section titled “properties.task.properties.inputs.description”

readonly description: "Input media kinds the request carries. Every one must be accepted by the provider's task capability. The SDKs send ['text'] for text_to_text."

readonly items: object

properties.task.properties.inputs.items.$ref

Section titled “properties.task.properties.inputs.items.$ref”

readonly $ref: "provider-descriptor.schema.json#/$defs/inputKind"

readonly type: "array"

readonly kind: object

properties.task.properties.kind.description

Section titled “properties.task.properties.kind.description”

readonly description: "The task kind, matched against the providers' task capabilities."

readonly minLength: 1

readonly type: "string"

readonly locale: object

properties.task.properties.locale.additionalProperties

Section titled “properties.task.properties.locale.additionalProperties”

readonly additionalProperties: true

properties.task.properties.locale.description

Section titled “properties.task.properties.locale.description”

readonly description: "The locale the request requires. Under 'language' matching the region is a preference: a provider known to offer the exact tag ranks ahead of an otherwise equal one. A provider that cannot enumerate its locales is not rejected on this basis; it must fail before committing instead."

properties.task.properties.locale.properties

Section titled “properties.task.properties.locale.properties”

readonly properties: object

properties.task.properties.locale.properties.match

Section titled “properties.task.properties.locale.properties.match”

readonly match: object

properties.task.properties.locale.properties.match.description

Section titled “properties.task.properties.locale.properties.match.description”

readonly description: "'exact' requires the full tag; 'language' requires only the primary language subtag and treats the region as a preference."

properties.task.properties.locale.properties.match.enum

Section titled “properties.task.properties.locale.properties.match.enum”

readonly enum: readonly ["exact", "language"]

properties.task.properties.locale.properties.match.title

Section titled “properties.task.properties.locale.properties.match.title”

readonly title: "LocaleMatch"

properties.task.properties.locale.properties.tag

Section titled “properties.task.properties.locale.properties.tag”

readonly tag: object

properties.task.properties.locale.properties.tag.description

Section titled “properties.task.properties.locale.properties.tag.description”

readonly description: "BCP 47 tag."

properties.task.properties.locale.properties.tag.minLength

Section titled “properties.task.properties.locale.properties.tag.minLength”

readonly minLength: 1

properties.task.properties.locale.properties.tag.type

Section titled “properties.task.properties.locale.properties.tag.type”

readonly type: "string"

properties.task.properties.locale.required

Section titled “properties.task.properties.locale.required”

readonly required: readonly ["tag", "match"]

readonly title: "LocaleRequirement"

readonly type: "object"

readonly voice: object

properties.task.properties.voice.additionalProperties

Section titled “properties.task.properties.voice.additionalProperties”

readonly additionalProperties: true

properties.task.properties.voice.dependentRequired

Section titled “properties.task.properties.voice.dependentRequired”

readonly dependentRequired: object

properties.task.properties.voice.dependentRequired.id

Section titled “properties.task.properties.voice.dependentRequired.id”

readonly id: readonly ["providerId"]

properties.task.properties.voice.description

Section titled “properties.task.properties.voice.description”

readonly description: "The voice the request asks for, by providerId and id, or by traits. Only a 'required' voice can reject a provider; a 'preferred' one shapes which listed voice the plan binds a candidate to, always within the request's privacy policy, and a preferred id also ranks the provider that can bind it ahead of others."

properties.task.properties.voice.properties

Section titled “properties.task.properties.voice.properties”

readonly properties: object

properties.task.properties.voice.properties.gender

Section titled “properties.task.properties.voice.properties.gender”

readonly gender: object

properties.task.properties.voice.properties.gender.$ref

Section titled “properties.task.properties.voice.properties.gender.$ref”

readonly $ref: "provider-dynamic-capabilities.schema.json#/$defs/voiceGender"

properties.task.properties.voice.properties.id

Section titled “properties.task.properties.voice.properties.id”

readonly id: object

properties.task.properties.voice.properties.id.description

Section titled “properties.task.properties.voice.properties.id.description”

readonly description: "A voice id, compared exactly against the voices of providerId and of no other provider."

properties.task.properties.voice.properties.id.minLength

Section titled “properties.task.properties.voice.properties.id.minLength”

readonly minLength: 1

properties.task.properties.voice.properties.id.type

Section titled “properties.task.properties.voice.properties.id.type”

readonly type: "string"

properties.task.properties.voice.properties.providerId

Section titled “properties.task.properties.voice.properties.providerId”

readonly providerId: object

properties.task.properties.voice.properties.providerId.description

Section titled “properties.task.properties.voice.properties.providerId.description”

readonly description: "The provider that id belongs to."

properties.task.properties.voice.properties.providerId.minLength

Section titled “properties.task.properties.voice.properties.providerId.minLength”

readonly minLength: 1

properties.task.properties.voice.properties.providerId.type

Section titled “properties.task.properties.voice.properties.providerId.type”

readonly type: "string"

properties.task.properties.voice.properties.requirement

Section titled “properties.task.properties.voice.properties.requirement”

readonly requirement: object

properties.task.properties.voice.properties.requirement.description

Section titled “properties.task.properties.voice.properties.requirement.description”

readonly description: "'required' takes part in routing; 'preferred' does not."

properties.task.properties.voice.properties.requirement.enum

Section titled “properties.task.properties.voice.properties.requirement.enum”

readonly enum: readonly ["required", "preferred"]

properties.task.properties.voice.properties.requirement.title

Section titled “properties.task.properties.voice.properties.requirement.title”

readonly title: "RequirementLevel"

readonly required: readonly ["requirement"]

readonly title: "VoiceRequirement"

readonly type: "object"

readonly required: readonly ["kind"]

readonly type: "object"

readonly required: readonly ["task", "constraints", "preferences", "providers"]

readonly title: "RoutePlannerInput"

readonly type: "object"