refactor: redact secrets in Debug output
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
//! Configuration file I/O for KimiSwitch.
|
||||||
|
//! Reads and writes the global config file and profile files.
|
||||||
|
|||||||
+26
-2
@@ -28,7 +28,7 @@ impl ProviderType {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Clone, Serialize, Deserialize)]
|
||||||
pub struct Provider {
|
pub struct Provider {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
pub provider_type: ProviderType,
|
pub provider_type: ProviderType,
|
||||||
@@ -39,6 +39,19 @@ pub struct Provider {
|
|||||||
pub raw_other: Table,
|
pub raw_other: Table,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl std::fmt::Debug for Provider {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
f.debug_struct("Provider")
|
||||||
|
.field("name", &self.name)
|
||||||
|
.field("provider_type", &self.provider_type)
|
||||||
|
.field("base_url", &self.base_url)
|
||||||
|
.field("api_key", &"<redacted>")
|
||||||
|
.field("env", &"<redacted>")
|
||||||
|
.field("raw_other", &"<table>")
|
||||||
|
.finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
pub struct Model {
|
pub struct Model {
|
||||||
pub alias: String,
|
pub alias: String,
|
||||||
@@ -50,7 +63,7 @@ pub struct Model {
|
|||||||
pub raw_other: Table,
|
pub raw_other: Table,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Clone, Serialize, Deserialize)]
|
||||||
pub struct Config {
|
pub struct Config {
|
||||||
pub default_model: Option<String>,
|
pub default_model: Option<String>,
|
||||||
pub providers: IndexMap<String, Provider>,
|
pub providers: IndexMap<String, Provider>,
|
||||||
@@ -59,6 +72,17 @@ pub struct Config {
|
|||||||
pub raw_other: Table,
|
pub raw_other: Table,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl std::fmt::Debug for Config {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
f.debug_struct("Config")
|
||||||
|
.field("default_model", &self.default_model)
|
||||||
|
.field("providers", &format!("{} providers", self.providers.len()))
|
||||||
|
.field("models", &self.models)
|
||||||
|
.field("raw_other", &"<table>")
|
||||||
|
.finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
pub struct ProfileSummary {
|
pub struct ProfileSummary {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
//! Profile management for KimiSwitch.
|
||||||
|
//! Loads, saves, and switches between configuration profiles.
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
//! Validation helpers for KimiSwitch configuration and command inputs.
|
||||||
|
|||||||
Reference in New Issue
Block a user