> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.band.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.band.ai/_mcp/server.

# TypeScript Adapters

Reference for `@band-ai/sdk` 1.0.0.

## Adapter Reference

Every adapter is constructed as `new <Name>Adapter(options)` and passed to `Agent.create({ adapter })`. The adapter tutorials cover each one's setup; this table lists the classes, their peer packages and the option that selects the model.

* [Frameworks & Models](/sdks/typescript/adapters/frameworks-models)
* [Coding Agents](/sdks/typescript/adapters/coding-agents)
* [Protocols & Bridges](/sdks/typescript/adapters/protocols)

### `GenericAdapter`

```typescript
new GenericAdapter(handler: (args: {
  message: PlatformMessage;
  tools: TurnTools;
  history: HistoryProvider;
  participantsMessage: string | null;
  contactsMessage: string | null;
  isSessionBootstrap: boolean;
  roomId: string;
  agentName: string;
  agentDescription: string;
}) => Promise<void>)
```

A `tools.sendMessage()` call is the turn's reply. A handler that answers nothing on purpose calls `tools.turn.settle()`; otherwise the turn is reported as a missing reply. `tools.sendNotice()` posts a status message that is not the reply, and `tools.sendEvent()` posts an event such as a `thought`. For a reusable adapter, extend `SimpleAdapter` from `@band-ai/sdk/core` instead. See [Creating Adapters](/sdks/typescript/creating-adapters).