// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

/**
 * Per-workspace lock on the active provider.
 *
 * When set on a [`crate::session::WorkspaceSession`], the
 * runner uses this as the effective active provider regardless
 * of what [`crate::app_state::CoderAppState::active_provider`]
 * says — and a write to the global default (from another
 * workspace's modal) doesn't affect this workspace. Use case:
 * "this repo wants Anthropic for everything; I might toggle the
 * other repos' default between HF and OpenRouter, but this one
 * stays put".
 *
 * Why a tagged enum and not `Option<Option<String>>`: the
 * "locked to HF" state needs to be distinguishable from the
 * "no lock" state, but `Option<Option<String>>` collapses to
 * `null` for both at the JSON boundary. The two-variant enum
 * keeps the wire shape unambiguous.
 */
export type CoderProviderLock = { "kind": "hf" } | { "kind": "user", id: string, };
