TurnModelRequest
Request passed by the reference turn runner to the injected model callback.
The runner owns deterministic orchestration semantics; model/provider-specific execution stays behind this callback boundary.
Class Diagram
Section titled “Class Diagram”---
title: TurnModelRequest
config:
look: handDrawn
theme: colorful
class:
hideEmptyMembersBox: true
---
classDiagram
class TurnModelRequest {
+string sessionId
+string turnId
+int32 iteration
+dictionary inputs
+TurnOptions options
+HostToolResult[] toolResults
}
class TurnOptions {
+int32 maxIterations
+int32 maxLlmRetries
+int32 contextBudget
+boolean parallelToolCalls
+boolean raw
+int32 turn
+CompactionConfig compaction
}
TurnModelRequest *-- TurnOptions
class HostToolResult {
+string requestId
+string toolCallId
+string toolName
+boolean success
+unknown result
+int32 exitCode
+float64 durationMs
+string errorKind
+dictionary telemetry
}
TurnModelRequest *-- HostToolResult
Yaml Example
Section titled “Yaml Example”sessionId: sess_abc123turnId: turn_abc123iteration: 0Properties
Section titled “Properties”| Name | Type | Description |
|---|---|---|
| sessionId | string | Stable harness session identifier |
| turnId | string | Stable turn identifier within the session |
| iteration | int32 | Zero-based model loop iteration |
| inputs | dictionary | Inputs supplied to the deterministic single-turn run. Values may be explicit null. |
| options | TurnOptions | Canonical turn execution options |
| toolResults | HostToolResult[] | Host tool results produced by the previous iteration |
Composed Types
Section titled “Composed Types”The following types are composed within TurnModelRequest: