APEX task orchestration engine using Claude Agent SDK
npm install @apexcli/orchestratorTask orchestration engine for APEX, built on the Claude Agent SDK.
This package provides the core execution engine for APEX:
- Task Orchestration - Execute multi-stage workflows with specialized AI agents
- Claude Agent SDK Integration - Leverage Anthropic's agent SDK for AI interactions
- SQLite Task Store - Persistent storage for tasks, logs, and checkpoints
- Event System - Real-time events for task progress and status changes
- Session Management - Handle context limits with automatic summarization
``bash`
npm install @apexcli/orchestrator
`typescript
import { ApexOrchestrator } from '@apexcli/orchestrator';
// Create orchestrator instance
const orchestrator = new ApexOrchestrator({
projectPath: '/path/to/project'
});
// Listen for events
orchestrator.on('taskStarted', (event) => {
console.log(Task ${event.taskId} started);
});
orchestrator.on('stageCompleted', (event) => {
console.log(Stage ${event.stageName} completed);
});
// Execute a task
const task = await orchestrator.executeTask(
'Add user authentication',
'feature' // workflow name
);
`
`typescript
import { TaskStore } from '@apexcli/orchestrator';
const store = new TaskStore('/path/to/project/.apex');
// Get all tasks
const tasks = store.getAllTasks();
// Get task by ID
const task = store.getTask('task_123');
// Get task logs
const logs = store.getLogs('task_123');
// Get task checkpoints
const checkpoints = store.getCheckpoints('task_123');
`
| Event | Description |
|-------|-------------|
| taskQueued | Task added to queue |taskStarted
| | Task execution began |stageStarted
| | Workflow stage began |stageCompleted
| | Workflow stage finished |taskCompleted
| | Task finished successfully |taskFailed
| | Task failed with error |taskPaused
| | Task paused (awaiting input) |usageUpdated
| | Token usage updated |
The main orchestration class that manages task execution:
`typescript
class ApexOrchestrator {
constructor(options: OrchestratorOptions);
// Execute a new task
executeTask(description: string, workflow: string): Promise
// Resume a paused task
resumeTask(taskId: string, input?: string): Promise
// Cancel a running task
cancelTask(taskId: string): Promise
// Get task status
getTask(taskId: string): Task | null;
}
`
SQLite-backed storage for task data:
`typescript
class TaskStore {
constructor(apexDir: string);
// Task operations
createTask(task: Task): void;
updateTask(taskId: string, updates: Partial
getTask(taskId: string): Task | null;
getAllTasks(): Task[];
// Logging
addLog(taskId: string, log: TaskLog): void;
getLogs(taskId: string): TaskLog[];
// Checkpoints
saveCheckpoint(taskId: string, checkpoint: TaskCheckpoint): void;
getCheckpoints(taskId: string): TaskCheckpoint[];
}
``
- @apexcli/core - Core types and utilities
- @apexcli/cli - Command-line interface
- @apexcli/api - REST API server
MIT