Skip to main content

Overview

The ConductorClient provides a type-safe TypeScript SDK for interacting with Conductor HTTP API.
import { ConductorClient } from '@ensemble-edge/conductor/sdk';

const client = new ConductorClient({
  baseURL: 'https://your-worker.workers.dev',
  apiKey: process.env.CONDUCTOR_API_KEY
});

const result = await client.execute({
  ensemble: 'user-onboarding',
  input: { email: 'user@example.com' }
});

Installation

npm install @ensemble-edge/conductor

Constructor

new ConductorClient(config: ClientConfig)
config.baseURL
string
required
Conductor API base URL
config.apiKey
string
API key for authentication
config.timeout
number
default:"30000"
Request timeout

Methods

execute()

Execute an ensemble:
async execute<T = unknown>(options: ExecuteOptions): Promise<ExecuteResult<T>>
Example:
const result = await client.execute<{ userId: string }>({
  ensemble: 'create-user',
  input: { email: 'user@example.com', name: 'Alice' }
});

console.log(result.output.userId);

listMembers()

List available members:
async listMembers(): Promise<Member[]>

getMember()

Get member details:
async getMember(name: string): Promise<MemberDetail>

health()

Check system health:
async health(): Promise<HealthStatus>