Skip to content

quietdom/agent-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

agent-sdk

Universal SDK for coding agents - One API for all AI coding tools.

npm version license

What

One SDK to rule them all. Query Claude Code, Codex, Cursor, ChatGPT, Kiro, Antigravity, and OpenCode with the same API.

import { Agent, AgentSDK } from 'agent-sdk';

// Single agent
const claude = Agent.create('claude');
await claude.ask("fix this bug");

// Compare all agents
const sdk = new AgentSDK();
const result = await sdk.compare({ prompt: "write hello world" });
console.log(result.fastest);

Install

npm install agent-sdk

CLI

# Query a specific agent
agent-sdk ask claude "What is 2 + 2?"

# Compare all agents
agent-sdk compare "Write a fibonacci function"

# List available providers
agent-sdk list

# Benchmark providers
agent-sdk bench "Sort an array" 5

Features

  • 7 providers - Claude, Codex, Cursor, ChatGPT, Kiro, Antigravity, OpenCode
  • Unified API - Same code works for all agents
  • Auto-retry - Retry on failure with exponential backoff
  • Caching - Cache responses to avoid duplicate calls
  • Benchmarking - Compare speed and cost across providers
  • TypeScript - Full type safety
  • CLI - Use from terminal

Usage

Single Agent

import { Agent } from 'agent-sdk';

const claude = Agent.create('claude');

// Check if available
if (await claude.isAvailable()) {
  // Ask
  const response = await claude.ask("fix this bug");
  console.log(response.content);
  
  // Get capabilities
  const caps = claude.getCapabilities();
  console.log(caps.maxTokens); // 200000
}

Multi-Agent

import { AgentSDK } from 'agent-sdk';

const sdk = new AgentSDK();

// Get available providers
const available = await sdk.getAvailableProviders();
console.log(available); // ['claude', 'codex', 'cursor', ...]

// Compare responses
const result = await sdk.compare({
  prompt: "Write a fibonacci function"
});

console.log(result.fastest); // 'claude'
console.log(result.cheapest); // 'opencode'

// Pretty print
console.log(sdk.formatComparison(result));

Specific Provider

import { AgentSDK } from 'agent-sdk';

const sdk = new AgentSDK(['claude', 'codex']);

const response = await sdk.query('claude', {
  prompt: 'Explain async/await',
  model: 'claude-opus-4-20250514'
});

Benchmark

import { AgentSDK } from 'agent-sdk';

const sdk = new AgentSDK();

const results = await sdk.benchmark("Sort an array", 5);

for (const result of results) {
  console.log(`${result.provider}: ${result.averageLatency}ms, ${(result.successRate * 100)}% success`);
}

Caching

import { AgentSDK } from 'agent-sdk';

const sdk = new AgentSDK({ cache: true, cacheTtl: 600000 }); // 10 min TTL

// First call - hits API
await sdk.query('claude', { prompt: 'Hello' });

// Second call - returns cached
const response = await sdk.query('claude', { prompt: 'Hello' });
console.log(response.cached); // true

Statistics

import { AgentSDK } from 'agent-sdk';

const sdk = new AgentSDK();

// Make some queries
await sdk.query('claude', { prompt: 'Hello' });
await sdk.query('codex', { prompt: 'Hello' });

// Get stats
const stats = sdk.getStats();
console.log(stats.totalRequests); // 2
console.log(stats.tokensByProvider.claude); // { input: 0, output: 25, total: 25 }

API

Agent.create(provider, config?)

Create a new agent.

const agent = Agent.create('claude', {
  model: 'claude-opus-4-20250514',
  retries: 3,
  retryDelay: 1000
});

agent.ask(prompt)

Simple query.

const response = await agent.ask("Hello!");

agent.query(request)

Advanced query.

const response = await agent.query({
  prompt: "Fix this bug",
  context: "Error in line 42",
  model: 'claude-opus-4-20250514',
  maxTokens: 4096
});

AgentSDK

Multi-agent manager.

const sdk = new AgentSDK({
  providers: ['claude', 'codex', 'cursor'],
  cache: true,
  retries: 3
});

Response

{
  content: "The response...",
  provider: "claude",
  model: "claude-sonnet-4-20250514",
  tokens: { input: 150, output: 250, total: 400 },
  latency: 1234,
  files: [{ path: "src/main.ts", action: "update" }],
  cached: false
}

Providers

Provider CLI Models
Claude claude claude-sonnet-4-20250514, claude-opus-4-20250514
Codex codex o3, o4-mini, gpt-5
Cursor cursor-agent composer-2.5, composer-1.5
ChatGPT chatgpt gpt-4o, gpt-4o-mini, o3
Kiro kiro claude-sonnet-4-20250514, claude-opus-4-20250514
Antigravity antigravity gemini-2.5-pro, gemini-2.5-flash
OpenCode opencode glm-4, minimax-m2.5

License

MIT

About

Universal SDK for coding agents - one API for Claude Code, Codex, Cursor, ChatGPT, Kiro, Antigravity, OpenCode

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors