Skip to main content

systemprompt_models/profile/
info.rs

1//! Profile metadata block (name, description).
2//!
3//! Copyright (c) systemprompt.io — Business Source License 1.1.
4//! See <https://systemprompt.io> for licensing details.
5
6use schemars::JsonSchema;
7use serde::{Deserialize, Serialize};
8use systemprompt_identifiers::TenantId;
9
10#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
11pub struct ProfileInfo {
12    pub name: String,
13    #[serde(default, skip_serializing_if = "Option::is_none")]
14    pub display_name: Option<String>,
15    #[serde(default, skip_serializing_if = "Option::is_none")]
16    pub database_url: Option<String>,
17    #[serde(default, skip_serializing_if = "Option::is_none")]
18    pub tenant_id: Option<TenantId>,
19    #[serde(default, skip_serializing_if = "Option::is_none")]
20    pub validation_mode: Option<String>,
21    #[serde(default, skip_serializing_if = "Option::is_none")]
22    pub credentials_path: Option<String>,
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub routing: Option<String>,
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub is_active: Option<bool>,
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub session_status: Option<String>,
29}