pub enum ProviderConfig {
GitLab {
base_url: String,
access_token: SecretString,
scope: GitLabScope,
extra: HashMap<String, Value>,
},
GitHub {
base_url: String,
access_token: SecretString,
scope: GitHubScope,
extra: HashMap<String, Value>,
},
ClickUp {
access_token: SecretString,
scope: ClickUpScope,
extra: HashMap<String, Value>,
},
Jira {
base_url: String,
access_token: SecretString,
email: String,
scope: JiraScope,
flavor: Option<JiraFlavor>,
extra: HashMap<String, Value>,
},
Confluence {
base_url: String,
auth: ConfluenceAuthConfig,
scope: ConfluenceScope,
api_version: Option<String>,
extra: HashMap<String, Value>,
},
Fireflies {
api_key: SecretString,
extra: HashMap<String, Value>,
},
Slack {
base_url: String,
access_token: SecretString,
scope: SlackScope,
required_scopes: Vec<String>,
extra: HashMap<String, Value>,
},
Telegram {
base_url: String,
access_token: SecretString,
scope: TelegramScope,
extra: HashMap<String, Value>,
},
Custom {
name: String,
config: HashMap<String, Value>,
},
}Expand description
Provider connection configuration with typed scope.
Each variant carries only the fields relevant to that provider. Scope is provider-specific — compiler prevents invalid combinations (e.g., GitLab Group scope on a GitHub provider).
Note: intentionally not Serialize/Deserialize. Provider configs
carry plaintext access tokens; serializing them to JSON would defeat the
SecretString discipline. Construct provider configs in-process from
Config + CredentialStore instead of round-tripping through transport.
Variants§
GitLab
GitHub
ClickUp
Jira
Fields
access_token: SecretStringflavor: Option<JiraFlavor>Explicit flavor override. When set, skips auto-detection from URL. Important for proxy scenarios where URL doesn’t reflect actual Jira deployment.
Confluence
Fireflies
Fireflies.ai meeting notes provider.
Slack
Slack messenger provider.
Telegram
Telegram messenger provider.
Custom
Fully dynamic variant for community/custom provider plugins.
Implementations§
Source§impl ProviderConfig
impl ProviderConfig
Sourcepub fn provider_name(&self) -> &str
pub fn provider_name(&self) -> &str
Returns the provider name as a static string.
Trait Implementations§
Source§impl Clone for ProviderConfig
impl Clone for ProviderConfig
Source§fn clone(&self) -> ProviderConfig
fn clone(&self) -> ProviderConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more