#![allow(dead_code)]
use super::*;
pub(in crate::scheduler) struct SwappedSeq {
pub tokens: Vec<u32>,
pub session_hash: u64,
pub lookup_tenant: Option<u64>,
pub adapter_slot: i32,
pub adapter_id: u64,
pub seq_len: usize,
pub num_blocks: usize,
pub last_token: u32,
pub output_tokens: Vec<u32>,
pub remaining: usize,
pub min_tokens: usize,
pub eos_tokens: Vec<u32>,
pub sink: ResponseSink,
pub temperature: f32,
pub top_k: u32,
pub top_p: f32,
pub top_n_sigma: f32,
pub min_p: f32,
pub repetition_penalty: f32,
pub repetition_penalty_window: u32,
pub presence_penalty: f32,
pub frequency_penalty: f32,
pub lz_penalty: f32,
pub dry_multiplier: f32,
pub dry_base: f32,
pub dry_allowed_length: u32,
pub dry_sequence_breakers: Vec<u32>,
pub logit_bias: Vec<(u32, f32)>,
pub inside_thinking: bool,
pub enable_thinking: bool,
pub thinking_budget: Option<u32>,
pub repetition_detection: Option<RepetitionDetectionParams>,
pub spontaneous_think_budget: Option<u32>,
pub thinking_tokens: u32,
pub force_end_thinking: bool,
pub think_force_closed: bool,
pub sentence_defer_count: u32,
pub consecutive_confident: u32,
pub in_code_fence: bool,
pub think_end_token: Option<u32>,
pub think_start_token: Option<u32>,
pub think_ended: bool,
pub think_just_ended: bool,
pub post_think_emitted: u32,
pub think_skip_count: u32,
pub require_tool_call: bool,
pub tool_request: bool,
pub tools_present: bool,
pub suppress_tool_call: bool,
pub disable_mtp: bool,
pub mtp_acct: crate::scheduler::mtp_accept_debug::RequestAccept,
pub content_started: bool,
pub content_tokens: u32,
pub prose_tokens_since_last_tool: u32,
pub think_watchdog_fires: u32,
pub rollback_count: u32,
pub tool_call_start_token: Option<u32>,
pub tool_call_opened: bool,
pub tool_call_end_token: Option<u32>,
pub last_token_time: Instant,
pub request_start: Instant,
pub decode_start: Instant,
pub seed: Option<u64>,
pub top_logprobs: Option<u8>,
pub logprobs_data: Vec<crate::api::TokenLogprobs>,
pub cached_prompt_tokens: u32,
pub timeout_at: Option<Instant>,
pub swap_id: u64,
}
pub(in crate::scheduler) struct PreemptedSeq {
pub a: ActiveSeq,
pub tokens: Vec<u32>,
}