systemprompt_models/profile/
cloud.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, Default)]
6pub struct CloudConfig {
7 #[serde(default, skip_serializing_if = "Option::is_none")]
8 pub tenant_id: Option<String>,
9
10 #[serde(default)]
11 pub validation: CloudValidationMode,
12}
13
14impl CloudConfig {
15 #[must_use]
16 pub fn is_local_trial(&self) -> bool {
17 self.tenant_id
18 .as_deref()
19 .is_some_and(|t| t.starts_with("local_"))
20 || matches!(
21 self.validation,
22 CloudValidationMode::Warn | CloudValidationMode::Skip
23 )
24 }
25}
26
27#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
28#[serde(rename_all = "lowercase")]
29pub enum CloudValidationMode {
30 #[default]
31 Strict,
32 Warn,
33 Skip,
34}