@brain-protocol/sdk
v1.0.0
Published
TypeScript client for Brain Protocol — zero deps, works in Node/Deno/Bun/browser
Maintainers
Readme
@brain-protocol/sdk
TypeScript client for Brain Protocol — zero dependencies, works in Node/Deno/Bun/browser.
Install
npm install @brain-protocol/sdkQuick Start
import { BrainClient } from "@brain-protocol/sdk";
const brain = new BrainClient({
baseUrl: "https://brain.api.vauban.tech",
apiKey: "sk-...",
});
const entry = await brain.knowledge.create({ content: "Hello world" });
const results = await brain.knowledge.query({ q: "hello" });
const graph = await brain.graph.traverse(entry.id);API Reference
BrainClient
| Method | Description |
|--------|-------------|
| new BrainClient(options) | Create client with baseUrl, apiKey?, jwtToken? |
| client.ping() | Health check, returns boolean |
| client.stats() | Get store statistics |
| client.export() | Export all entries (paginated) |
Knowledge
| Method | Description |
|--------|-------------|
| client.knowledge.create(input) | Create an entry |
| client.knowledge.query(options?) | Search entries (FTS + filters) |
| client.knowledge.get(id) | Get entry by ID (returns null on 404) |
| client.knowledge.update(id, input) | Update entry fields |
| client.knowledge.prove(id) | Anchor to L3 blockchain |
| client.knowledge.verify(id) | Verify L3 anchor |
| client.knowledge.versions(id) | Get version chain |
Edges
| Method | Description |
|--------|-------------|
| client.edges.create(input) | Create a relationship edge |
Graph
| Method | Description |
|--------|-------------|
| client.graph.traverse(entryId, depth?) | Traverse from entry (default depth: 3) |
| client.graph.overview() | Get full graph overview |
Brains
| Method | Description |
|--------|-------------|
| client.brains.create(input) | Create a brain |
| client.brains.list() | List your brains |
| client.brains.get(id) | Get brain by ID |
| client.brains.update(id, input) | Update brain settings |
| client.brains.addMember(brainId, address, role?) | Add a member |
| client.brains.removeMember(brainId, accountId) | Remove a member |
Auth Options
// API key (recommended for server-side)
new BrainClient({ baseUrl: "...", apiKey: "sk-..." });
// JWT token (from wallet/OAuth auth)
new BrainClient({ baseUrl: "...", jwtToken: "eyJ..." });
// No auth (public/local instance)
new BrainClient({ baseUrl: "http://localhost:4000" });Self-Hosted
const brain = new BrainClient({
baseUrl: "http://localhost:4000",
});License
MIT
