// GENERATED CODE! DO NOT MODIFY BY HAND!

// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Identity } from "../Identity";
import type { Personality } from "../Personality";
import type { ReasoningEffort } from "../ReasoningEffort";
import type { ReasoningSummary } from "../ReasoningSummary";
import type { JsonValue } from "../serde_json/JsonValue";
import type { AskForApproval } from "./AskForApproval";
import type { SandboxPolicy } from "./SandboxPolicy";
import type { UserInput } from "./UserInput";

export type TurnStartParams = { threadId: string, input: Array<UserInput>,
/**
 * Override the working directory for this turn and subsequent turns.
 */
cwd: string | null,
/**
 * Override the approval policy for this turn and subsequent turns.
 */
approvalPolicy: AskForApproval | null,
/**
 * Override the sandbox policy for this turn and subsequent turns.
 */
sandboxPolicy: SandboxPolicy | null,
/**
 * Override the model for this turn and subsequent turns.
 */
model: string | null,
/**
 * Override the reasoning effort for this turn and subsequent turns.
 */
effort: ReasoningEffort | null,
/**
 * Override the reasoning summary for this turn and subsequent turns.
 */
summary: ReasoningSummary | null,
/**
 * Override the personality for this turn and subsequent turns.
 */
personality: Personality | null,
/**
 * Optional JSON Schema used to constrain the final assistant message for this turn.
 */
outputSchema: JsonValue | null,
/**
 * EXPERIMENTAL - set a pre-set identity.
 * Takes precedence over model, reasoning_effort, and developer instructions if set.
 */
identity: Identity | null, };
