RoutePlannerInput
RoutePlannerInput =
object
Pure data input contract for deterministic shared-core route planning.
Indexable
Section titled “Indexable”[
property:string]:unknown
Properties
Section titled “Properties”constraints
Section titled “constraints”constraints:
Constraints
Hard routing constraints evaluated before provider selection.
interactionMode?
Section titled “interactionMode?”
optionalinteractionMode?:InteractionMode
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.
modelProfile?
Section titled “modelProfile?”
optionalmodelProfile?:ModelProfile
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.
preferences
Section titled “preferences”preferences:
Preferences
Soft route ordering preferences applied after hard filtering.
providers
Section titled “providers”providers:
Provider[]
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.
task:
Task
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.
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