vtcode_config/core/
provider.rs1use serde::{Deserialize, Serialize};
2
3#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
5#[derive(Debug, Clone, Deserialize, Serialize)]
6pub struct AnthropicConfig {
7 #[serde(default = "default_interleaved_thinking_beta")]
9 pub interleaved_thinking_beta: String,
10
11 #[serde(default = "default_interleaved_thinking_budget_tokens")]
13 pub interleaved_thinking_budget_tokens: u32,
14
15 #[serde(default = "default_interleaved_thinking_type")]
17 pub interleaved_thinking_type_enabled: String,
18}
19
20impl Default for AnthropicConfig {
21 fn default() -> Self {
22 Self {
23 interleaved_thinking_beta: default_interleaved_thinking_beta(),
24 interleaved_thinking_budget_tokens: default_interleaved_thinking_budget_tokens(),
25 interleaved_thinking_type_enabled: default_interleaved_thinking_type(),
26 }
27 }
28}
29
30#[inline]
31fn default_interleaved_thinking_beta() -> String {
32 "interleaved-thinking-2025-05-14".to_string()
33}
34
35#[inline]
36fn default_interleaved_thinking_budget_tokens() -> u32 {
37 12000
38}
39
40#[inline]
41fn default_interleaved_thinking_type() -> String {
42 "enabled".to_string()
43}