@orchestrator-claude/sdk
v1.21.0
Published
Orchestrator SDK - Programmatic API for agents, workflows, and skills
Readme
@orchestrator/sdk
Programmatic SDK for Orchestrator - Create and manage agents, workflows, and skills via code.
Installation
npm install @orchestrator/sdkQuick Start
import { OrchestratorSDK } from '@orchestrator/sdk';
// Initialize SDK
const sdk = new OrchestratorSDK({ projectPath: '.' });
// Create an agent
const agent = sdk.agents.create({
name: 'my-agent',
displayName: 'My Custom Agent',
prompt: 'You are a helpful assistant...',
capabilities: ['code-generation', 'documentation']
});
await sdk.agents.save(agent);Features
- Type-safe API: Full TypeScript support with strict types
- Fluent interface: Chainable methods for easy usage
- Event-driven: Emits domain events for observability
- Local & Remote: Supports both local file and remote API modes
API Overview
Agents API
// Create agent
const agent = sdk.agents.create({
name: 'code-reviewer',
prompt: 'You are an expert code reviewer...',
capabilities: ['code-review', 'security-analysis'],
tools: ['git', 'grep']
});
await sdk.agents.save(agent);
// List agents
const agents = await sdk.agents.list({ tier: 'user' });
// Get agent
const agent = await sdk.agents.get('code-reviewer');
// Clone agent
const cloned = await sdk.agents.clone('specifier', 'my-specifier', {
prompt: 'Custom prompt...'
});
// Delete agent
await sdk.agents.delete('my-agent');Workflows API
// Create workflow definition
const definition = sdk.workflows.createDefinition({
name: 'Custom Workflow',
description: 'A custom development workflow',
phases: [
{ id: 'research', name: 'Research', agent: 'researcher' },
{ id: 'plan', name: 'Plan', agent: 'planner' },
{ id: 'implement', name: 'Implement', agent: 'implementer' }
],
approvalPoints: [
{ beforePhase: 'implement', message: 'Approve implementation?' }
]
});
await sdk.workflows.saveDefinition(definition);
// Start workflow instance
const workflow = await sdk.workflows.start('custom-workflow', 'project-123');
// Get workflow instance
const instance = await sdk.workflows.getInstance(workflow.id);
// List definitions
const definitions = await sdk.workflows.listDefinitions({ tier: 'user' });
// List instances
const instances = await sdk.workflows.listInstances({ status: 'active' });Skills API
// Create skill
const skill = sdk.skills.create({
name: 'code-analyzer',
description: 'Analyzes code quality',
trigger: {
type: 'command',
value: 'analyze-code'
},
promptTemplate: 'Analyze this code for quality and security: {{input}}'
});
await sdk.skills.save(skill);
// List skills
const skills = await sdk.skills.list({ triggerType: 'command' });
// Get skill
const skill = await sdk.skills.get('code-analyzer');
// Delete skill
await sdk.skills.delete('my-skill');Configuration
const sdk = new OrchestratorSDK({
// Project root path (default: process.cwd())
projectPath: '/path/to/project',
// API URL for remote mode (optional)
apiUrl: 'https://api.orchestrator.dev',
// Operation mode (default: 'local')
mode: 'local' // or 'remote'
});Type Definitions
All SDK types are fully typed with TypeScript:
import type {
AgentDefinition,
CreateAgentConfig,
WorkflowDefinition,
CreateWorkflowDefinitionConfig,
SkillDefinition,
CreateSkillConfig
} from '@orchestrator/sdk';Examples
See the examples directory for complete usage examples:
create-agent.ts- Create custom agentscreate-workflow.ts- Create workflow definitionsstart-workflow.ts- Start and manage workflowscreate-skill.ts- Create custom skills
Documentation
See API Documentation for detailed API reference.
License
MIT
