graph LR
Composio_Core_Orchestrator["Composio Core Orchestrator"]
Composio_API_Client["Composio API & Client"]
Execution_Environment_Manager["Execution Environment Manager"]
Composio_Interfaces_CLI_API_["Composio Interfaces (CLI & API)"]
System_Utilities_Integrations["System Utilities & Integrations"]
Composio_Core_Orchestrator -- "interacts with" --> Composio_API_Client
Composio_Core_Orchestrator -- "utilizes" --> Execution_Environment_Manager
Composio_API_Client -- "provides data to" --> Composio_Core_Orchestrator
Composio_API_Client -- "used by" --> Composio_Interfaces_CLI_API_
Composio_Core_Orchestrator -- "manages and provisions" --> Execution_Environment_Manager
Execution_Environment_Manager -- "provides capabilities to" --> Composio_Core_Orchestrator
Composio_Interfaces_CLI_API_ -- "invokes functionalities of" --> Composio_Core_Orchestrator
Composio_Interfaces_CLI_API_ -- "utilizes" --> Composio_API_Client
Composio_Core_Orchestrator -- "uses" --> System_Utilities_Integrations
Composio_API_Client -- "uses" --> System_Utilities_Integrations
Execution_Environment_Manager -- "uses" --> System_Utilities_Integrations
Composio_Interfaces_CLI_API_ -- "uses" --> System_Utilities_Integrations
System_Utilities_Integrations -- "integrates with" --> Composio_Core_Orchestrator
click Execution_Environment_Manager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//composio/Execution_Environment_Manager.md" "Details"
The composio project's architecture is designed around a core orchestration engine that manages tools, interacts with a remote API, and operates within various execution environments. The system provides both a Command Line Interface (CLI) and an API server for user and programmatic interaction, supported by essential utilities and external integrations.
This is the central intelligence of the Composio system. It is responsible for the discovery, management, and execution of all tools, whether they are defined locally or retrieved from the remote Composio platform. It handles the intricate details of tool schema processing, transforms requests and responses, and integrates various tool definitions into a unified execution flow.
Related Classes/Methods:
composio.tools.toolset.ComposioToolSet(1:1)composio.tools.toolset.SchemaHelper(1:1)composio.tools.toolset.ProcessorHelper(1:1)composio.tools.local.handler.LocalClient(12:57)composio.tools.local.codeanalysis.actions.create_codemap.CreateCodeMap(40:307)
This component serves as the primary interface for all interactions with the remote Composio platform. It provides structured access to various API resources, including actions, triggers, and connected accounts. It also manages API key validation, handles data synchronization (e.g., caching and refreshing metadata), and ensures secure and efficient communication with the Composio backend.
Related Classes/Methods:
composio.client.__init__.Composio(1:1)composio.client.collections(1:1)composio.client.utils(1:1)
This component provides an essential abstraction layer for different execution environments, referred to as "workspaces." It is responsible for creating, retrieving, and tearing down these environments (e.g., host-based, Docker). Crucially, it also offers low-level interfaces for tools to interact with the underlying system, including file system operations, shell command execution, and browser automation within the designated environment.
Related Classes/Methods:
composio.tools.env.factory.WorkspaceFactory(59:149)composio.tools.env.host.workspace.HostWorkspace(1:1)composio.tools.env.browsermanager.manager.BrowserManager(26:287)composio.tools.env.filemanager.manager.FileManager(41:432)composio.tools.env.host.shell.HostShell(51:175)composio.tools.env.host.shell.SSHShell(178:281)
This component represents the primary interaction layers for users and external systems with the Composio platform. It encompasses the Command Line Interface (CLI) for direct user interaction and the FastAPI server, which exposes Composio's functionalities and tools as a web API, enabling programmatic access and integration with other systems.
Related Classes/Methods:
composio.cli.__init__.composio(1:1)composio.cli.context.Context(1:1)composio.server.api.create_app(1:1)
This component provides essential cross-cutting services and specific external integration capabilities that support the entire Composio system. Its core responsibilities include a centralized logging mechanism for consistent system-wide logging and an integration layer (e.g., OpenAI plugin) that adapts Composio's internal tool definitions to be compatible with external platforms, enabling seamless utilization of Composio tools by third-party services.
Related Classes/Methods:
composio.utils.logging.get(1:1)composio.plugins.openai.composio_openai.toolset.ComposioToolSet(1:1)