Bridge SDK

Overview

Introduction to @oro.ad/bridge-sdk — typed transport layer for ORO Claude Bridge.

Bridge SDK

@oro.ad/bridge-sdk is the low-level transport package for communicating with an ORO Claude Bridge server. It provides:

  • BridgeApi — typed REST client for sessions, messages, and attachments
  • BridgeClient — Socket.IO client for real-time stream events
  • Type definitions — complete TypeScript types for all bridge entities
  • Error hierarchy — structured error classes for all failure modes
  • Parsers — utilities for extracting structured data from bridge messages

Installation

npm install @oro.ad/bridge-sdk

Quick Example

import { BridgeApi, BridgeClient } from '@oro.ad/bridge-sdk'

// REST API
const api = new BridgeApi({ baseUrl: 'http://localhost:3000' })
const sessions = await api.listSessions()

// WebSocket
const client = new BridgeClient({ url: 'http://localhost:3000' })
client.connect()
client.on('stream:text_delta', (e) => {
  process.stdout.write(e.text)
})

Architecture

┌──────────────────────────────────────────┐
│            Your Application              │
├──────────────────────────────────────────┤
│    BridgeApi (REST)  │  BridgeClient (WS)│
├──────────────────────────────────────────┤
│           ORO Claude Bridge              │
├──────────────────────────────────────────┤
│              Claude AI                   │
└──────────────────────────────────────────┘

BridgeApi handles request-response operations (create sessions, send messages, upload attachments). BridgeClient handles real-time streaming (text deltas, tool calls, results).

When to use bridge-sdk directly

Use @oro.ad/bridge-sdk when you need low-level control:

  • Building a custom dashboard or monitoring tool
  • Integrating with an existing application framework
  • Implementing a thin client without orchestration overhead

For building platform adapters (Telegram, Slack, Discord), use @oro.ad/bridge-adapter-sdk instead — it re-exports everything from bridge-sdk and adds orchestration.