Skip to content

SDK API

Terminal window
npm install @honeybee-ai/hivemind-sdk
Import pathContents
@honeybee-ai/hivemind-sdkcreatePlatformClient
@honeybee-ai/hivemind-sdk/contractsZod schemas for all API types
@honeybee-ai/hivemind-sdk/integrationsToolResult, ToolDef, ToolEntry, PluginContext, IncubatorPlugin
@honeybee-ai/hivemind-sdk/telemetryTelemetryReporter, createTelemetryFromEnv
@honeybee-ai/hivemind-sdk/configloadConfig, loadGlobalConfig
import { createPlatformClient } from '@honeybee-ai/hivemind-sdk';
const client = createPlatformClient({ profile: 'default' });
MethodReturnsDescription
listHives()Hive[]List all hives
createHive(opts)HiveCreate a new hive
getHive(id)HiveGet hive by ID
updateHive(id, opts)HiveUpdate hive config
deleteHive(id)voidDelete a hive
startHive(id)voidStart hive execution
stopHive(id)voidStop hive execution
MethodReturnsDescription
setSecret(opts)voidStore a provider API key
listSecrets()Secret[]List stored secrets
deleteSecret(provider)voidDelete a stored secret
MethodReturnsDescription
searchMarketplace(query)Protocol[]Search protocols
getProtocol(name)ProtocolGet protocol details
installProtocol(name)voidInstall a protocol
publishProtocol(spec)voidPublish a protocol
import {
HiveSchema,
AgentSchema,
ProtocolSchema,
SecretSchema,
TelemetryEventSchema,
} from '@honeybee-ai/hivemind-sdk/contracts';
SchemaFields
HiveSchemaid, name, status, protocol_name, execution_mode, container_url, created_at
AgentSchemaid, role, type, provider, status, hive_id
SecretSchemaprovider, scope, hive_id
TelemetryEventSchematype, timestamp, payload
import type {
ToolResult,
ToolDef,
ToolEntry,
PluginContext,
IncubatorPlugin,
} from '@honeybee-ai/hivemind-sdk/integrations';
interface ToolEntry {
name: string;
description: string;
parameters: object; // JSON Schema
handler: (args: any, ctx?: PluginContext) => Promise<ToolResult>;
}
interface ToolResult {
result?: any;
error?: string;
}
interface IncubatorPlugin {
name: string;
getToolEntries(ctx: PluginContext): ToolEntry[];
start?(ctx: PluginContext): Promise<void>;
stop?(): Promise<void>;
}
interface PluginContext {
workDir: string;
guard?: any;
verbose: boolean;
toolFilter?: string[];
fsBackend?: unknown; // MemFS or RealFS
}
import { createTelemetryFromEnv } from '@honeybee-ai/hivemind-sdk/telemetry';
const reporter = createTelemetryFromEnv('project-slug');
// Record (fire-and-forget, never throws)
reporter.record({ type: 'llm_call', model: 'claude-sonnet', promptTokens: 500, completionTokens: 200, latencyMs: 1500 });
// Snapshot (for dashboards)
const snapshot = reporter.getSnapshot();
// Flush on shutdown
await reporter.flush();
import { loadConfig, loadGlobalConfig } from '@honeybee-ai/hivemind-sdk/config';
const config = loadConfig(); // Project .wglrc
const global = loadGlobalConfig(); // Global ~/.wglrc