Composio

@composio/core


@composio/core / composio / Composio

Class: Composio<TProvider>

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

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:164

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:116


client

protected client: Composio

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

The Composio API client.


connectedAccounts

connectedAccounts: ConnectedAccounts

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


deprecated

deprecated: object

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

Deprecated features

mcp

mcp: MCP<TProvider>


experimental

experimental: object

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

Experimental features

toolRouter

toolRouter: ToolRouter


files

files: Files

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


mcp

mcp: MCP

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


provider

provider: TProvider

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


toolkits

toolkits: Toolkits

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


tools

tools: Tools<unknown, unknown, TProvider>

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

Core models for Composio.


triggers

triggers: Triggers

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

Methods

createSession()

createSession(options?): Composio<TProvider>

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

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:265

Get the Composio SDK client.

Returns

Composio

The Composio API client.


getConfig()

getConfig(): ComposioConfig<TProvider>

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

Get the configuration SDK is initialized with

Returns

ComposioConfig<TProvider>

The configuration SDK is initialized with