1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
//! Data models for Composio API
//!
//! This module contains all request and response models for the Composio Tool Router API,
//! as well as enums for various API types.
//!
//! # Organization
//!
//! - [`request`] - Request models for API calls
//! - [`response`] - Response models from API calls
//! - [`enums`] - Enums for meta tool slugs, tag types, and auth schemes
//!
//! # Examples
//!
//! ```rust
//! use composio_sdk::models::{SessionConfig, ToolkitFilter, MetaToolSlug};
//!
//! // Create a session configuration
//! let config = SessionConfig {
//! user_id: "user_123".to_string(),
//! toolkits: Some(ToolkitFilter::Enable(vec!["github".to_string()])),
//! auth_configs: None,
//! connected_accounts: None,
//! manage_connections: Some(true),
//! tools: None,
//! tags: None,
//! workbench: None,
//! };
//! ```
// ============================================================================
// Enums
// ============================================================================
/// Meta tool slugs for the 5 core Composio meta tools
pub use MetaToolSlug;
/// Tag types for filtering tools by behavior hints
pub use TagType;
/// Authentication schemes supported by toolkits
pub use AuthScheme;
// ============================================================================
// Request Models
// ============================================================================
/// Configuration for creating a Tool Router session
pub use SessionConfig;
/// Configuration for connection management
pub use ManageConnectionsConfig;
/// Toolkit filter for enabling or disabling specific toolkits
pub use ToolkitFilter;
/// Configuration for per-toolkit tool filtering
pub use ToolsConfig;
/// Tool filter for a specific toolkit
pub use ToolFilter;
/// Configuration for tag-based tool filtering
pub use TagsConfig;
/// Configuration for workbench execution
pub use WorkbenchConfig;
/// Request to execute a tool
pub use ToolExecutionRequest;
/// Request to execute a meta tool
pub use MetaToolExecutionRequest;
/// Request to create an authentication link
pub use LinkRequest;
// ============================================================================
// Response Models
// ============================================================================
/// Response from session creation
pub use SessionResponse;
/// MCP server information
pub use McpInfo;
/// Tool schema information
pub use ToolSchema;
/// Response from tool execution
pub use ToolExecutionResponse;
/// Response from meta tool execution
pub use MetaToolExecutionResponse;
/// Response from listing toolkits
pub use ToolkitListResponse;
/// Information about a toolkit
pub use ToolkitInfo;
/// Metadata about a toolkit
pub use ToolkitMeta;
/// Information about a connected account
pub use ConnectedAccountInfo;
/// Response from creating an auth link
pub use LinkResponse;
/// Error response from API
pub use ErrorResponse;