New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@dobbyai/sdk

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dobbyai/sdk

Official JavaScript/TypeScript SDK for the Dobby AI Platform — Home for your AI agents

Source
npmnpm
Version
0.2.0
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

@dobbyai/sdk

Official JavaScript/TypeScript SDK for the Dobby AI Platform — Home for your AI agents.

Installation

npm install @dobbyai/sdk

Quick Start

import { DobbyClient } from '@dobbyai/sdk';

const dobby = new DobbyClient({
  apiKey: 'gk_user_...', // or set DOBBY_API_KEY env var
  orgId: 'org_...',
  tenantId: 'tenant_...',
});

// LLM completions (OpenAI-compatible)
const response = await dobby.chat.completions.create({
  model: 'claude-sonnet-4-20250514',
  messages: [{ role: 'user', content: 'Hello!' }],
});
console.log(response.choices[0].message.content);

Features

LLM Gateway (OpenAI-compatible)

Route LLM calls through Dobby's unified gateway with cost tracking, policy enforcement, and audit trail.

// Streaming
const stream = await dobby.chat.completions.create({
  model: 'gpt-4o-mini',
  messages: [{ role: 'user', content: 'Explain AI agents' }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || '');
}

Task Management

const task = await dobby.tasks.create({
  title: 'Review PR #42',
  description: 'Security review for auth changes',
  priority: 'high',
});

const tasks = await dobby.tasks.list({ status: 'pending' });

Human-in-the-Loop Approvals

const pending = await dobby.approvals.list({ status: 'pending' });
await dobby.approvals.approve('task_abc123', 'LGTM');
await dobby.approvals.reject('task_def456', 'Needs tests');

Agent Fleet Management

// List all agents
const fleet = await dobby.agents.list();

// Register an external agent
await dobby.agents.register({
  name: 'content-writer',
  framework: 'crewai',
  endpoint_url: 'https://my-agent.example.com/webhook',
});

// Pause / resume
await dobby.agents.pause('ext_abc123');
await dobby.agents.resume('ext_abc123');

External Agent Triggers & Schedules

// Trigger an agent immediately
const result = await dobby.agents.trigger('ext_abc123', {
  payload: { topic: 'AI governance' },
});

// Create a recurring schedule
await dobby.agents.createSchedule('ext_abc123', {
  name: 'Daily Blog Writer',
  schedule_config: { frequency: 'daily', time: '09:00' },
  task_title: 'Write blog post',
  trigger_payload: { topic: 'AI governance' },
});

// Get trigger history
const history = await dobby.agents.triggers('ext_abc123', {
  include_stats: true,
});

Cost Tracking

const costs = await dobby.costs.summary({ period: '30d' });
const agentCosts = await dobby.costs.byAgent({ period: '7d' });

Gateway API Keys

const keys = await dobby.keys.list();
const newKey = await dobby.keys.create({
  name: 'production-key',
  scopes: ['llm:chat', 'mcp:tools'],
});

Configuration

OptionEnv VariableDefaultDescription
apiKeyDOBBY_API_KEY-Gateway API key (required)
baseUrlDOBBY_BASE_URLhttps://dobby-ai.comPlatform URL
orgIdDOBBY_ORG_ID-Organization ID
tenantIdDOBBY_TENANT_ID-Tenant/workspace ID
timeout-120000Request timeout (ms)
maxRetries-2Max retry attempts

Error Handling

import { DobbyClient, DobbyAuthError, DobbyRateLimitError, DobbyBudgetExceededError } from '@dobbyai/sdk';

try {
  await dobby.chat.completions.create({ ... });
} catch (err) {
  if (err instanceof DobbyAuthError) {
    console.error('Invalid or expired API key');
  } else if (err instanceof DobbyRateLimitError) {
    console.error('Rate limit hit, retry later');
  } else if (err instanceof DobbyBudgetExceededError) {
    console.error('Budget limit reached');
  }
}

License

MIT

Keywords

ai

FAQs

Package last updated on 14 Apr 2026

Related posts