Skip to main content

TurnStartParams

Struct TurnStartParams 

Source
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: String

Implementations§

Source§

impl TurnStartParams

Source

pub fn text(thread_id: impl Into<String>, text: impl Into<String>) -> Self

Source

pub fn model(self, model: impl Into<String>) -> Self

Source

pub fn cwd(self, cwd: impl Into<String>) -> Self

Trait Implementations§

Source§

impl Clone for TurnStartParams

Source§

fn clone(&self) -> TurnStartParams

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TurnStartParams

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for TurnStartParams

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for TurnStartParams

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,