> ## Documentation Index
> Fetch the complete documentation index at: https://docs.burn0.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Framework Adapters

> Packaged adapters for common agent frameworks

<Note>
  Packaged adapters are not built yet. This page describes what is planned. Everything below already works today by writing the glue yourself — see [Bring Your Own Agent](/silo/agents/overview).
</Note>

Silo's agent contract is deliberately small: a function receiving `task`, `tools` and `callTool`. Any framework can be adapted to it in a few lines, and no adapter is required to use Silo.

Planned packaged adapters:

| Framework         | Status  |
| ----------------- | ------- |
| LangChain         | Planned |
| Vercel AI SDK     | Planned |
| OpenAI Agents SDK | Planned |
| Anthropic SDK     | Planned |
| Mastra            | Planned |

## What an adapter has to do

Only two things, whichever framework you are wrapping:

1. **Translate the tool schemas.** Silo hands you `{ name, description, inputSchema }` per tool, with `inputSchema` as JSON Schema. Most SDKs accept that shape directly or with a thin rename.
2. **Route tool calls through `callTool`.** When the model asks for a tool, call Silo's `callTool` rather than executing anything yourself, and feed the result back into the conversation.

That is the whole integration surface. There is no registration step, no runtime to host, and no lifecycle to implement.

```javascript theme={null}
export default async function agent({ task, tools, callTool }) {
  const messages = [{ role: "user", content: task }];

  while (true) {
    const reply = await yourFramework.run({ messages, tools });

    if (!reply.toolCalls?.length) {
      return { output: reply.text };
    }

    for (const call of reply.toolCalls) {
      const result = await callTool(call.name, call.arguments);
      messages.push({ role: "tool", content: JSON.stringify(result.output) });
    }
  }
}
```

## Until they land

Write the loop yourself. [Bring Your Own Agent](/silo/agents/overview) documents the full contract, including how tool errors come back as values so a model can correct itself.

If you build an adapter for a framework listed above, it is a welcome contribution.
