Skip to main content

API Reference

This section provides comprehensive documentation for all classes, types, and functions in the Droid SDK.

Core Classes

ClassDescription
DroidMain entry point for the SDK
ThreadMulti-turn conversation management
TurnResultExecution result wrapper

Quick Reference

Creating a Droid Instance

import { Droid, MODELS } from '@activade/droid-sdk';

const droid = new Droid({
model: MODELS.CLAUDE_SONNET,
autonomyLevel: 'high',
reasoningEffort: 'medium',
cwd: '/path/to/project',
timeout: 600000
});

Configuration Options

OptionTypeDefaultDescription
modelModelId | string-AI model to use
autonomyLevel'default' | 'low' | 'medium' | 'high''default'Autonomous decision level
reasoningEffort'off' | 'none' | 'low' | 'medium' | 'high'-Reasoning intensity
cwdstringprocess.cwd()Working directory
timeoutnumber600000Timeout in milliseconds
droidPathstring'droid'Path to CLI binary

Available Models

import { MODELS } from '@activade/droid-sdk';

// Anthropic
MODELS.CLAUDE_OPUS // claude-opus-4-5-20251101
MODELS.CLAUDE_SONNET // claude-sonnet-4-5-20250929
MODELS.CLAUDE_HAIKU // claude-haiku-4-5-20251001

// OpenAI
MODELS.GPT_5_1 // gpt-5.1
MODELS.GPT_5_1_CODEX // gpt-5.1-codex
MODELS.GPT_5_2 // gpt-5.2

// Google
MODELS.GEMINI_3_PRO // gemini-3-pro-preview
MODELS.GEMINI_3_FLASH // gemini-3-flash-preview

// Open Source
MODELS.DROID_CORE // glm-4.6

Error Classes

ErrorDescription
DroidErrorBase class for all SDK errors
CliNotFoundErrorCLI binary not found
ExecutionErrorCLI execution failed
ParseErrorJSON parsing failed
TimeoutErrorOperation timed out
StreamErrorStream reading failed

Event Types

Event TypeDescription
systemSystem initialization
messageUser or assistant message
tool_callTool invocation
tool_resultTool result
completionTurn completed
turn.failedTurn failed

Import Patterns

// Main SDK
import { Droid, Thread, TurnResult, MODELS } from '@activade/droid-sdk';

// Error classes
import {
DroidError,
CliNotFoundError,
ExecutionError,
ParseError,
TimeoutError,
StreamError
} from '@activade/droid-sdk';

// Event types and guards
import {
isToolCallEvent,
isToolResultEvent,
isMessageEvent,
type StreamEvent,
type ToolCallEvent
} from '@activade/droid-sdk';

// CLI utilities (separate entry point)
import { ensureDroidCli, isDroidCliInstalled } from '@activade/droid-sdk/cli';

// Model utilities
import { getModelInfo, isValidModel, MODEL_INFO } from '@activade/droid-sdk';