pub struct SessionConfig {
pub user_id: String,
pub toolkits: Option<ToolkitFilter>,
pub auth_configs: Option<HashMap<String, String>>,
pub connected_accounts: Option<HashMap<String, String>>,
pub manage_connections: Option<ManageConnectionsConfig>,
pub tools: Option<ToolsConfig>,
pub tags: Option<TagsConfig>,
pub workbench: Option<WorkbenchConfig>,
pub experimental: Option<ExperimentalConfig>,
pub toolkit_versions: Option<ToolkitVersionParam>,
}Expand description
Configuration for creating a Tool Router session
This struct defines all the options available when creating a new session. Sessions provide scoped access to tools and toolkits for a specific user.
§Fields
user_id- User identifier for session isolation (required)toolkits- Optional toolkit filter (enable or disable specific toolkits)auth_configs- Optional per-toolkit auth config overridesconnected_accounts- Optional per-toolkit connected account selectionmanage_connections- Optional connection management configurationtools- Optional per-toolkit tool filteringtags- Optional tag-based tool filteringworkbench- Optional workbench configurationexperimental- Optional experimental features configuration
§Example
use composio_sdk::models::{SessionConfig, ToolkitFilter};
use std::collections::HashMap;
let config = SessionConfig {
user_id: "user_123".to_string(),
toolkits: Some(ToolkitFilter::Enable(vec!["github".to_string(), "gmail".to_string()])),
auth_configs: {
let mut map = HashMap::new();
map.insert("github".to_string(), "ac_custom_config".to_string());
Some(map)
},
connected_accounts: None,
manage_connections: None,
tools: None,
tags: None,
workbench: None,
experimental: None,
toolkit_versions: None,
};Fields§
§user_id: String§toolkits: Option<ToolkitFilter>§auth_configs: Option<HashMap<String, String>>§connected_accounts: Option<HashMap<String, String>>§manage_connections: Option<ManageConnectionsConfig>§tools: Option<ToolsConfig>§workbench: Option<WorkbenchConfig>§experimental: Option<ExperimentalConfig>§toolkit_versions: Option<ToolkitVersionParam>Trait Implementations§
Source§impl Clone for SessionConfig
impl Clone for SessionConfig
Source§fn clone(&self) -> SessionConfig
fn clone(&self) -> SessionConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SessionConfig
impl Debug for SessionConfig
Source§impl<'de> Deserialize<'de> for SessionConfig
impl<'de> Deserialize<'de> for SessionConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SessionConfig
impl RefUnwindSafe for SessionConfig
impl Send for SessionConfig
impl Sync for SessionConfig
impl Unpin for SessionConfig
impl UnsafeUnpin for SessionConfig
impl UnwindSafe for SessionConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more