Composio

@composio/core


@composio/core / composio / Composio

Class: Composio<TProvider>

Defined in: ts/packages/core/src/composio.ts:82

This is the core class for Composio. It is used to initialize the Composio SDK and provide a global configuration.

Type Parameters

TProvider

TProvider extends BaseComposioProvider<unknown, unknown, unknown> = OpenAIProvider

Constructors

Constructor

new Composio<TProvider>(config?): Composio<TProvider>

Defined in: ts/packages/core/src/composio.ts:142

Creates a new instance of the Composio SDK.

The constructor initializes the SDK with the provided configuration options, sets up the API client, and initializes all core models (tools, toolkits, etc.).

Parameters

config?

ComposioConfig<TProvider>

Configuration options for the Composio SDK

Returns

Composio<TProvider>

Example

1// Initialize with default configuration
2const composio = new Composio();
3
4// Initialize with custom API key and base URL
5const composio = new Composio({
6 apiKey: 'your-api-key',
7 baseURL: 'https://api.composio.dev'
8});
9
10// Initialize with custom provider
11const composio = new Composio({
12 apiKey: 'your-api-key',
13 provider: new CustomProvider()
14});

Properties

authConfigs

authConfigs: AuthConfigs

Defined in: ts/packages/core/src/composio.ts:105


connectedAccounts

connectedAccounts: ConnectedAccounts

Defined in: ts/packages/core/src/composio.ts:107


mcp

mcp: MCP<ExtractMcpResponseType<TProvider>>

Defined in: ts/packages/core/src/composio.ts:109


provider

provider: TProvider

Defined in: ts/packages/core/src/composio.ts:103


toolkits

toolkits: Toolkits

Defined in: ts/packages/core/src/composio.ts:101


tools

tools: Tools<unknown, unknown, TProvider>

Defined in: ts/packages/core/src/composio.ts:100

Core models for Composio.


triggers

triggers: Triggers

Defined in: ts/packages/core/src/composio.ts:102

Methods

createSession()

createSession(options?): Composio<TProvider>

Defined in: ts/packages/core/src/composio.ts:259

Creates a new instance of the Composio SDK with custom request options while preserving the existing configuration. This method is particularly useful when you need to:

  • Add custom headers for specific requests
  • Track request contexts with unique identifiers
  • Override default request behavior for a subset of operations

The new instance inherits all configuration from the parent instance (apiKey, baseURL, provider, etc.) but allows you to specify custom request options that will be used for all API calls made through this session.

Parameters

options?
headers?

ComposioRequestHeaders

Returns

Composio<TProvider>

A new Composio instance with the custom request options applied.

Example

1// Create a base Composio instance
2const composio = new Composio({
3 apiKey: 'your-api-key'
4});
5
6// Create a session with request tracking headers
7const composioWithCustomHeaders = composio.createSession({
8 headers: {
9 'x-request-id': '1234567890',
10 'x-correlation-id': 'session-abc-123',
11 'x-custom-header': 'custom-value'
12 }
13});
14
15// Use the session for making API calls with the custom headers
16await composioWithCustomHeaders.tools.list();

getClient()

getClient(): Composio

Defined in: ts/packages/core/src/composio.ts:218

Get the Composio SDK client.

Returns

Composio

The Composio API client.