pub struct TurnStartParams {Show 20 fields
pub additional_context: Option<HashMap<String, AdditionalContextEntry>>,
pub approval_policy: Option<AskForApproval>,
pub approvals_reviewer: Option<ApprovalsReviewer>,
pub client_user_message_id: Option<String>,
pub collaboration_mode: Option<CollaborationMode>,
pub cwd: Option<String>,
pub effort: Option<ReasoningEffort>,
pub environments: Option<Vec<TurnEnvironmentParams>>,
pub input: Vec<UserInput>,
pub model: Option<String>,
pub multi_agent_mode: Option<MultiAgentMode>,
pub output_schema: Option<Value>,
pub permissions: Option<String>,
pub personality: Option<Personality>,
pub responsesapi_client_metadata: Option<HashMap<String, String>>,
pub runtime_workspace_roots: Option<Vec<AbsolutePathBuf>>,
pub sandbox_policy: Option<SandboxPolicy>,
pub service_tier: Option<String>,
pub summary: Option<ReasoningSummary>,
pub thread_id: String,
}Expand description
TurnStartParams
JSON schema
{
"title": "TurnStartParams",
"type": "object",
"required": [
"input",
"threadId"
],
"properties": {
"additionalContext": {
"description": "Optional client-provided context fragments keyed by an opaque source identifier.",
"type": [
"object",
"null"
],
"additionalProperties": {
"$ref": "#/definitions/AdditionalContextEntry"
}
},
"approvalPolicy": {
"description": "Override the approval policy for this turn and subsequent turns.",
"anyOf": [
{
"$ref": "#/definitions/AskForApproval"
},
{
"type": "null"
}
]
},
"approvalsReviewer": {
"description": "Override where approval requests are routed for review on this turn and subsequent turns.",
"anyOf": [
{
"$ref": "#/definitions/ApprovalsReviewer"
},
{
"type": "null"
}
]
},
"clientUserMessageId": {
"type": [
"string",
"null"
]
},
"collaborationMode": {
"description": "EXPERIMENTAL - Set a pre-set collaboration mode. Takes precedence over model, reasoning_effort, and developer instructions if set.\n\nFor `collaboration_mode.settings.developer_instructions`, `null` means \"use the built-in instructions for the selected mode\".",
"anyOf": [
{
"$ref": "#/definitions/CollaborationMode"
},
{
"type": "null"
}
]
},
"cwd": {
"description": "Override the working directory for this turn and subsequent turns.",
"type": [
"string",
"null"
]
},
"effort": {
"description": "Override the reasoning effort for this turn and subsequent turns.",
"anyOf": [
{
"$ref": "#/definitions/ReasoningEffort"
},
{
"type": "null"
}
]
},
"environments": {
"description": "Optional environments for this turn and subsequent turns.\n\nOmitted uses the thread sticky environments. Empty disables environment access for this turn. Non-empty selects the first environment as the current turn environment for this turn.",
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/TurnEnvironmentParams"
}
},
"input": {
"type": "array",
"items": {
"$ref": "#/definitions/UserInput"
}
},
"model": {
"description": "Override the model for this turn and subsequent turns.",
"type": [
"string",
"null"
]
},
"multiAgentMode": {
"description": "@deprecated Ignored. Use `effort: \"ultra\"` for proactive multi-agent behavior.",
"anyOf": [
{
"$ref": "#/definitions/MultiAgentMode"
},
{
"type": "null"
}
]
},
"outputSchema": {
"description": "Optional JSON Schema used to constrain the final assistant message for this turn."
},
"permissions": {
"description": "Select a named permissions profile id for this turn and subsequent turns. Cannot be combined with `sandboxPolicy`.",
"type": [
"string",
"null"
]
},
"personality": {
"description": "Override the personality for this turn and subsequent turns.",
"anyOf": [
{
"$ref": "#/definitions/Personality"
},
{
"type": "null"
}
]
},
"responsesapiClientMetadata": {
"description": "Optional metadata to enrich Codex's ResponsesAPI turn metadata.\n\nEntries are flattened into the JSON string sent as `client_metadata[\"x-codex-turn-metadata\"]` on ResponsesAPI HTTP and websocket requests.\n\nThey are not sent as top-level ResponsesAPI `client_metadata` keys, and reserved keys such as `session_id`, `thread_id`, `turn_id`, and `window_id` cannot be overridden.",
"type": [
"object",
"null"
],
"additionalProperties": {
"type": "string"
}
},
"runtimeWorkspaceRoots": {
"description": "Replace the thread's runtime workspace roots for this turn and subsequent turns. Paths must be absolute.",
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/AbsolutePathBuf"
}
},
"sandboxPolicy": {
"description": "Override the sandbox policy for this turn and subsequent turns.",
"anyOf": [
{
"$ref": "#/definitions/SandboxPolicy"
},
{
"type": "null"
}
]
},
"serviceTier": {
"description": "Override the service tier for this turn and subsequent turns.",
"type": [
"string",
"null"
]
},
"summary": {
"description": "Override the reasoning summary for this turn and subsequent turns.",
"anyOf": [
{
"$ref": "#/definitions/ReasoningSummary"
},
{
"type": "null"
}
]
},
"threadId": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Fields§
§additional_context: Option<HashMap<String, AdditionalContextEntry>>Optional client-provided context fragments keyed by an opaque source identifier.
approval_policy: Option<AskForApproval>Override the approval policy for this turn and subsequent turns.
approvals_reviewer: Option<ApprovalsReviewer>Override where approval requests are routed for review on this turn and subsequent turns.
client_user_message_id: Option<String>§collaboration_mode: Option<CollaborationMode>EXPERIMENTAL - Set a pre-set collaboration mode. Takes precedence over model, reasoning_effort, and developer instructions if set.
For collaboration_mode.settings.developer_instructions, null means “use the built-in instructions for the selected mode”.
cwd: Option<String>Override the working directory for this turn and subsequent turns.
effort: Option<ReasoningEffort>Override the reasoning effort for this turn and subsequent turns.
environments: Option<Vec<TurnEnvironmentParams>>Optional environments for this turn and subsequent turns.
Omitted uses the thread sticky environments. Empty disables environment access for this turn. Non-empty selects the first environment as the current turn environment for this turn.
input: Vec<UserInput>§model: Option<String>Override the model for this turn and subsequent turns.
multi_agent_mode: Option<MultiAgentMode>@deprecated Ignored. Use effort: "ultra" for proactive multi-agent behavior.
output_schema: Option<Value>Optional JSON Schema used to constrain the final assistant message for this turn.
permissions: Option<String>Select a named permissions profile id for this turn and subsequent turns. Cannot be combined with sandboxPolicy.
personality: Option<Personality>Override the personality for this turn and subsequent turns.
responsesapi_client_metadata: Option<HashMap<String, String>>Optional metadata to enrich Codex’s ResponsesAPI turn metadata.
Entries are flattened into the JSON string sent as client_metadata["x-codex-turn-metadata"] on ResponsesAPI HTTP and websocket requests.
They are not sent as top-level ResponsesAPI client_metadata keys, and reserved keys such as session_id, thread_id, turn_id, and window_id cannot be overridden.
runtime_workspace_roots: Option<Vec<AbsolutePathBuf>>Replace the thread’s runtime workspace roots for this turn and subsequent turns. Paths must be absolute.
sandbox_policy: Option<SandboxPolicy>Override the sandbox policy for this turn and subsequent turns.
service_tier: Option<String>Override the service tier for this turn and subsequent turns.
summary: Option<ReasoningSummary>Override the reasoning summary for this turn and subsequent turns.
thread_id: StringImplementations§
Trait Implementations§
Source§impl Clone for TurnStartParams
impl Clone for TurnStartParams
Source§fn clone(&self) -> TurnStartParams
fn clone(&self) -> TurnStartParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more