routingOptional
HarnessModelRouting | undefined
Validated per-step routing configuration retained by the built-in harness.
kindRequired
"custom"
Execution discriminator: custom.
modelProviderRequired
ModelProvider
Model provider called for every step and summary request.
instructionsRequired
readonly HarnessInstructions[]
Instruction sources resolved at the start of each turn, followed by the skill catalog when skills are set.
toolsRequired
readonly HarnessTool<unknown>[]
Flattened tool list sent to the model: declared tools, then skill tools and load_skill. MCP tools are added when a turn starts.
limitsRequired
ResolvedHarnessLimits
Normalized limits; maxSteps defaults to 100.
toolExecutionRequired
Required<HarnessToolExecution>
Tool execution settings with defaults applied: concurrency 4, deadlineMs 300000, onError return-to-model.
hooksRequired
readonly HarnessHook<HarnessHookPhase>[]
Frozen hooks of the harness.
permissionsOptional
HarnessPermissions | undefined
Permission rules evaluated before before-tool hooks, when set.
contextOptional
HarnessContextStrategy | undefined
Context strategy of the harness, when set.
conversationsOptional
false | ConversationStore | undefined
Configured conversation store, or false when recording is disabled; absent means the default store.
skillsRequired
readonly HarnessSkill[]
Skills of the harness; their tools and load_skill are part of the tool list.
cacheRequired
boolean
Whether each request asks the provider to cache the conversation prefix.
mcpServersOptional
McpServers | undefined
Validated MCP servers started for each turn, when set.