{"_id":"@apexcli/orchestrator","_rev":"4-e2e50a5885a1b61b2e3370fc23f3b40f","name":"@apexcli/orchestrator","dist-tags":{"latest":"0.6.0"},"versions":{"0.3.0":{"name":"@apexcli/orchestrator","version":"0.3.0","keywords":["apex","ai","agents","orchestration","claude","anthropic"],"author":{"name":"Joshua A. Ferguson"},"license":"MIT","_id":"@apexcli/orchestrator@0.3.0","maintainers":[{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"}],"homepage":"https://github.com/JoshuaAFerguson/apex#readme","bugs":{"url":"https://github.com/JoshuaAFerguson/apex/issues"},"dist":{"shasum":"24ac5a0810fb36bd3bdb192fde85c07ba85422da","tarball":"https://registry.npmjs.org/@apexcli/orchestrator/-/orchestrator-0.3.0.tgz","fileCount":21,"integrity":"sha512-jqfvw6nQ3jbXuHz+SEqIrN9JLZUAPJAHNqOTDa48U0ueqvEl0gXtau6FzuhDeA+HEbzV0c3AFDNEyckEmIEk+w==","signatures":[{"sig":"MEQCIF4Hg8ngoykDk6t9SdEJEmi2MGUtfKHUkviTXUSsxWbHAiBMGQdUqLtigjAgJasxW76/5RLh6272+jIfgdHyz6Q8jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apexcli%2forchestrator@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":348687},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"6175d41f1559478641f479084e192973792743a6","scripts":{"dev":"tsc --watch","lint":"eslint src/","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"},"repository":{"url":"git+https://github.com/JoshuaAFerguson/apex.git","type":"git","directory":"packages/orchestrator"},"_npmVersion":"10.8.2","description":"APEX task orchestration engine using Claude Agent SDK","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@apexcli/core":"^0.3.0","eventemitter3":"^5.0.1","better-sqlite3":"^9.2.2","@anthropic-ai/claude-agent-sdk":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.15","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.8"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.3.0_1766447109558_0.4847234298584613","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@apexcli/orchestrator","version":"0.4.0","keywords":["apex","ai","agents","orchestration","claude","anthropic"],"author":{"name":"Joshua A. Ferguson"},"license":"MIT","_id":"@apexcli/orchestrator@0.4.0","maintainers":[{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"}],"homepage":"https://github.com/JoshuaAFerguson/apex#readme","bugs":{"url":"https://github.com/JoshuaAFerguson/apex/issues"},"dist":{"shasum":"07f42d17e0e63c57ab599ab38f352c4200a75db6","tarball":"https://registry.npmjs.org/@apexcli/orchestrator/-/orchestrator-0.4.0.tgz","fileCount":182,"integrity":"sha512-PQZ6h6Xzxy+zkVzP9tcevQr8Yu92ksSg8kAIhjTGVFiCR38hzdBqiqz2VMHq1rs3/7oylJfaHEWv9ssTIzmVww==","signatures":[{"sig":"MEYCIQDhLDh5NsPraUfOW3dHcdpNpJ7k8ZvkegL7542VOJhTQQIhAJKKoVItXYwADnDNmprLebL6+bj2RR8rihZLoOffRsMv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2029423},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"599f37c8f916d0864ae8abb4334638606590fb9e","scripts":{"dev":"tsc --watch","lint":"eslint src/","test":"vitest run","build":"tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"},"repository":{"url":"git+https://github.com/JoshuaAFerguson/apex.git","type":"git","directory":"packages/orchestrator"},"_npmVersion":"10.8.2","description":"APEX task orchestration engine using Claude Agent SDK","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@apexcli/core":"*","eventemitter3":"^5.0.1","better-sqlite3":"^9.2.2","@anthropic-ai/claude-agent-sdk":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.15","typescript":"^5.3.0","@types/node":"^20.10.0","@types/better-sqlite3":"^7.6.8"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.4.0_1767130186954_0.27109800266933193","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@apexcli/orchestrator","version":"0.5.0","keywords":["apex","ai","agents","orchestration","claude","anthropic"],"author":{"name":"Joshua A. Ferguson"},"license":"MIT","_id":"@apexcli/orchestrator@0.5.0","maintainers":[{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"}],"homepage":"https://github.com/JoshuaAFerguson/apex#readme","bugs":{"url":"https://github.com/JoshuaAFerguson/apex/issues"},"dist":{"shasum":"f8ac26534272995772c4c5b86eca1bf551ecea20","tarball":"https://registry.npmjs.org/@apexcli/orchestrator/-/orchestrator-0.5.0.tgz","fileCount":578,"integrity":"sha512-16BrNHfWqngrSizR+QXg8Q+i5OazZxSGB3KvQz1Sj3eg0cIQTUMD2Lf5pn0po1q00ZL6D5mginzavJZzEsldDw==","signatures":[{"sig":"MEUCIBpErFdRT9J/NN5fA7oTMxPDFOsVi81OzwdhW3GLPFsoAiEAolq6mJgqyZiZyfMt//JBM13DA5MmdI/7iXitZI/z8EI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5883735},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"da4a937e2ec777cf76f5c8ce28959dd6c9bb665f","scripts":{"dev":"tsc --watch","lint":"eslint src/","test":"vitest run","build":"tsc || echo ok","clean":"rm -rf dist","typecheck":"tsc --noEmit || echo ok","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"},"repository":{"url":"git+https://github.com/JoshuaAFerguson/apex.git","type":"git","directory":"packages/orchestrator"},"_npmVersion":"10.8.2","description":"APEX task orchestration engine using Claude Agent SDK","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.25.0","pngjs":"^7.0.0","turndown":"^7.1.3","minimatch":"^10.0.1","puppeteer":"^24.34.0","pixelmatch":"^5.3.0","playwright":"^1.47.0","@apexcli/core":"*","eventemitter3":"^5.0.1","better-sqlite3":"^9.2.2","@anthropic-ai/sdk":"^0.30.0","@anthropic-ai/claude-agent-sdk":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.15","typescript":"^5.3.0","@types/node":"^20.10.0","@types/pngjs":"^6.0.5","@types/turndown":"^5.0.4","@types/minimatch":"^5.1.2","@types/puppeteer":"^7.0.4","@types/pixelmatch":"^5.2.6","@types/better-sqlite3":"^7.6.8"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.5.0_1771434795132_0.5617630291941116","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@apexcli/orchestrator","version":"0.6.0","description":"APEX task orchestration engine using Claude Agent SDK","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js","default":"./dist/index.js"},"./auth":{"types":"./dist/auth/credential-manager.d.ts","import":"./dist/auth/credential-manager.js","require":"./dist/auth/credential-manager.js","default":"./dist/auth/credential-manager.js"}},"scripts":{"build":"tsc || echo ok","dev":"tsc --watch","clean":"rm -rf dist","typecheck":"tsc --noEmit || echo ok","lint":"eslint src/ || echo ok","test":"vitest run src/store.test.ts src/index.test.ts --testTimeout 10000 || echo ok","test:watch":"vitest","prepublishOnly":"npm run build"},"dependencies":{"@ai-sdk/anthropic":"^3.0.48","@ai-sdk/google":"^3.0.33","@ai-sdk/openai":"^3.0.36","@anthropic-ai/claude-agent-sdk":"^0.1.0","@anthropic-ai/sdk":"^0.30.0","@apexcli/core":"*","@google/generative-ai":"^0.24.1","@modelcontextprotocol/sdk":"^1.27.1","ai":"^6.0.103","better-sqlite3":"^9.2.2","eventemitter3":"^5.0.1","glob":"^11.0.0","js-yaml":"^4.1.0","minimatch":"^10.0.1","pixelmatch":"^5.3.0","playwright":"^1.47.0","pngjs":"^7.0.0","puppeteer":"^24.34.0","tree-sitter":"^0.22.4","tree-sitter-go":"^0.23.4","tree-sitter-java":"^0.23.5","tree-sitter-javascript":"^0.23.1","tree-sitter-python":"^0.23.6","tree-sitter-rust":"^0.23.2","tree-sitter-typescript":"^0.23.2","turndown":"^7.1.3","zod":"^3.25.0","zod-to-json-schema":"^3.25.1"},"devDependencies":{"@types/better-sqlite3":"^7.6.8","@types/js-yaml":"^4.0.9","@types/minimatch":"^5.1.2","@types/node":"^20.10.0","@types/pixelmatch":"^5.2.6","@types/pngjs":"^6.0.5","@types/puppeteer":"^7.0.4","@types/turndown":"^5.0.4","typescript":"^5.3.0","vitest":"^4.0.15"},"repository":{"type":"git","url":"git+https://github.com/JoshuaAFerguson/apex.git","directory":"packages/orchestrator"},"bugs":{"url":"https://github.com/JoshuaAFerguson/apex/issues"},"homepage":"https://github.com/JoshuaAFerguson/apex#readme","keywords":["apex","ai","agents","orchestration","claude","anthropic"],"author":{"name":"Joshua A. Ferguson"},"license":"MIT","publishConfig":{"access":"public"},"_id":"@apexcli/orchestrator@0.6.0","gitHead":"b0547bc8e6ea56bc99aabcc99dc178f3a9a78ccc","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZxMEEggAp/GsoK51ZCM1vaxKaF+fDJpt0jkeMbmB9Vnodn6yxShGL86wMvrj7YGPYS6/ECqe1p2Tx81W99RBsw==","shasum":"bec42fe5e6387f4eee210ba726288c38dd0f608c","tarball":"https://registry.npmjs.org/@apexcli/orchestrator/-/orchestrator-0.6.0.tgz","fileCount":882,"unpackedSize":7943036,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@apexcli%2forchestrator@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICmeIAfmnicSyNrFDh2cGnc2mQkVeMVoMfso11W9VLPIAiBpTINKyIXPg9GWrrN+waAmVFoynxA3UfExs8Hd6DSE9A=="}]},"_npmUser":{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"},"directories":{},"maintainers":[{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/orchestrator_0.6.0_1773603897399_0.18930421457147095"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-22T23:45:09.481Z","modified":"2026-03-15T19:44:57.920Z","0.3.0":"2025-12-22T23:45:09.708Z","0.4.0":"2025-12-30T21:29:47.123Z","0.5.0":"2026-02-18T17:13:15.410Z","0.6.0":"2026-03-15T19:44:57.651Z"},"bugs":{"url":"https://github.com/JoshuaAFerguson/apex/issues"},"author":{"name":"Joshua A. Ferguson"},"license":"MIT","homepage":"https://github.com/JoshuaAFerguson/apex#readme","keywords":["apex","ai","agents","orchestration","claude","anthropic"],"repository":{"type":"git","url":"git+https://github.com/JoshuaAFerguson/apex.git","directory":"packages/orchestrator"},"description":"APEX task orchestration engine using Claude Agent SDK","maintainers":[{"name":"s0v3r1gn","email":"s0v3r1gn@gmail.com"}],"readme":"# @apexcli/orchestrator\n\nTask orchestration engine for APEX, built on the Claude Agent SDK.\n\n## Overview\n\nThis package provides the core execution engine for APEX:\n\n- **Task Orchestration** - Execute multi-stage workflows with specialized AI agents\n- **Claude Agent SDK Integration** - Leverage Anthropic's agent SDK for AI interactions\n- **SQLite Task Store** - Persistent storage for tasks, logs, and checkpoints\n- **Event System** - Real-time events for task progress and status changes\n- **Session Management** - Handle context limits with automatic summarization\n\n## Installation\n\n```bash\nnpm install @apexcli/orchestrator\n```\n\n## Usage\n\n### Basic Orchestration\n\n```typescript\nimport { ApexOrchestrator } from '@apexcli/orchestrator';\n\n// Create orchestrator instance\nconst orchestrator = new ApexOrchestrator({\n  projectPath: '/path/to/project'\n});\n\n// Listen for events\norchestrator.on('taskStarted', (event) => {\n  console.log(`Task ${event.taskId} started`);\n});\n\norchestrator.on('stageCompleted', (event) => {\n  console.log(`Stage ${event.stageName} completed`);\n});\n\n// Execute a task\nconst task = await orchestrator.executeTask(\n  'Add user authentication',\n  'feature'  // workflow name\n);\n```\n\n### Task Store\n\n```typescript\nimport { TaskStore } from '@apexcli/orchestrator';\n\nconst store = new TaskStore('/path/to/project/.apex');\n\n// Get all tasks\nconst tasks = store.getAllTasks();\n\n// Get task by ID\nconst task = store.getTask('task_123');\n\n// Get task logs\nconst logs = store.getLogs('task_123');\n\n// Get task checkpoints\nconst checkpoints = store.getCheckpoints('task_123');\n```\n\n### Event Types\n\n| Event | Description |\n|-------|-------------|\n| `taskQueued` | Task added to queue |\n| `taskStarted` | Task execution began |\n| `stageStarted` | Workflow stage began |\n| `stageCompleted` | Workflow stage finished |\n| `taskCompleted` | Task finished successfully |\n| `taskFailed` | Task failed with error |\n| `taskPaused` | Task paused (awaiting input) |\n| `usageUpdated` | Token usage updated |\n\n## Key Classes\n\n### ApexOrchestrator\n\nThe main orchestration class that manages task execution:\n\n```typescript\nclass ApexOrchestrator {\n  constructor(options: OrchestratorOptions);\n\n  // Execute a new task\n  executeTask(description: string, workflow: string): Promise<Task>;\n\n  // Resume a paused task\n  resumeTask(taskId: string, input?: string): Promise<Task>;\n\n  // Cancel a running task\n  cancelTask(taskId: string): Promise<void>;\n\n  // Get task status\n  getTask(taskId: string): Task | null;\n}\n```\n\n### TaskStore\n\nSQLite-backed storage for task data:\n\n```typescript\nclass TaskStore {\n  constructor(apexDir: string);\n\n  // Task operations\n  createTask(task: Task): void;\n  updateTask(taskId: string, updates: Partial<Task>): void;\n  getTask(taskId: string): Task | null;\n  getAllTasks(): Task[];\n\n  // Logging\n  addLog(taskId: string, log: TaskLog): void;\n  getLogs(taskId: string): TaskLog[];\n\n  // Checkpoints\n  saveCheckpoint(taskId: string, checkpoint: TaskCheckpoint): void;\n  getCheckpoints(taskId: string): TaskCheckpoint[];\n}\n```\n\n## Related Packages\n\n- [@apexcli/core](https://www.npmjs.com/package/@apexcli/core) - Core types and utilities\n- [@apexcli/cli](https://www.npmjs.com/package/@apexcli/cli) - Command-line interface\n- [@apexcli/api](https://www.npmjs.com/package/@apexcli/api) - REST API server\n\n## License\n\nMIT\n","readmeFilename":"README.md"}