// GENERATED CODE! DO NOT MODIFY BY HAND!
// This file was mechanically normalized after generation by scripts/generate-app-server-types.mjs.

// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { AbsolutePathBuf } from "../AbsolutePathBuf";
import type { MultiAgentMode } from "../MultiAgentMode";
import type { Personality } from "../Personality";
import type { JsonValue } from "../serde_json/JsonValue";
import type { ApprovalsReviewer } from "./ApprovalsReviewer";
import type { AskForApproval } from "./AskForApproval";
import type { DynamicToolSpec } from "./DynamicToolSpec";
import type { SandboxMode } from "./SandboxMode";
import type { SelectedCapabilityRoot } from "./SelectedCapabilityRoot";
import type { ThreadHistoryMode } from "./ThreadHistoryMode";
import type { ThreadSource } from "./ThreadSource";
import type { ThreadStartSource } from "./ThreadStartSource";
import type { TurnEnvironmentParams } from "./TurnEnvironmentParams";

export type ThreadStartParams = { model?: string | null, modelProvider?: string | null,
/**
 * Allow a provider with an authoritative static model catalog to replace an unavailable
 * requested model with its default.
 */
allowProviderModelFallback?: boolean, serviceTier?: string | null, cwd?: string | null,
/**
 * Replace the thread's runtime workspace roots. Paths must be absolute.
 */
runtimeWorkspaceRoots?: Array<AbsolutePathBuf> | null, approvalPolicy?: AskForApproval | null,
/**
 * Override where approval requests are routed for review on this thread
 * and subsequent turns.
 */
approvalsReviewer?: ApprovalsReviewer | null, sandbox?: SandboxMode | null,
/**
 * Named profile id for this thread. Cannot be combined with `sandbox`.
 */
permissions?: string | null, config?: { [key in string]?: JsonValue } | null, serviceName?: string | null, baseInstructions?: string | null, developerInstructions?: string | null, personality?: Personality | null,
/**
 * @deprecated Ignored. Use Ultra reasoning effort for proactive multi-agent behavior.
 */
multiAgentMode?: MultiAgentMode | null, ephemeral?: boolean | null,
/**
 * Persisted thread history contract to use for this new thread.
 */
historyMode?: ThreadHistoryMode | null, sessionStartSource?: ThreadStartSource | null,
/**
 * Optional client-supplied analytics source classification for this thread.
 */
threadSource?: ThreadSource | null,
/**
 * Optional sticky environments for this thread.
 *
 * Omitted selects the default environment when environment access is
 * enabled. Empty disables environment access for turns that do not
 * provide a turn override. Non-empty selects the first environment as the
 * current turn environment.
 */
environments?: Array<TurnEnvironmentParams> | null, dynamicTools?: Array<DynamicToolSpec> | null,
/**
 * Capability roots selected for this thread by the hosting platform.
 */
selectedCapabilityRoots?: Array<SelectedCapabilityRoot> | null,
/**
 * Test-only experimental field used to validate experimental gating and
 * schema filtering behavior in a stable way.
 */
mockExperimentalField?: string | null,
/**
 * If true, opt into emitting raw Responses API items on the event stream.
 * This is for internal use only (e.g. Codex Cloud).
 */
experimentalRawEvents?: boolean, };
