@bigfootai/noded-sdk
v0.1.2
Published
Bring your Noded customer context into any front-end app. A vibe-code-friendly SDK over the Noded (Apollo) GraphQL API.
Readme
@bigfootai/noded-sdk
Bring your Noded customer context — people, accounts, activity, notes, memory — into any
front-end app. Built for vibe coding: one-line auth, typed helpers, and an AGENTS.md your coding
agent can read so "add a Noded account panel" just works.
npm i @bigfootai/noded-sdk oidc-client-tsGet access
Request your Noded developer credentials — an auth domain (issuer), a client ID, and an API audience — from the Noded team (getnoded.ai/contact-us or your Noded account team). Tell us your app's origin(s) and we provision access as needed; you don't set up any auth infrastructure yourself. Then paste those three values into the client below.
Quickstart (browser, 5 minutes)
Your users sign in with their Noded account — no secret keys in your app.
import { Noded } from '@bigfootai/noded-sdk';
const noded = new Noded({
auth: {
mode: 'oidc',
issuer: NODED_ISSUER, // provided by Noded when you request access
clientId: NODED_CLIENT_ID, // provided by Noded — your app's SPA client
audience: NODED_AUDIENCE, // provided by Noded — the Noded API audience
},
});
// Opens the Noded login, then silently refreshes the token from then on.
await noded.connect();
// Now read your customer context:
const [acme] = await noded.accounts.search('Acme');
const timeline = await noded.activity.forTag(acme.id, { limit: 20 });
const people = await noded.people.search('acme.com');
const memory = await noded.memory.forTag(acme.id);
console.log(acme.name, timeline, people, memory);What you can do
| Call | Returns |
|---|---|
| noded.people.search(q) / .get(id) | People (contacts) |
| noded.accounts.search(q) / .get(id) | Accounts / accounts |
| noded.activity.forTag(id) | Unified timeline — notes, emails, tasks, messages, meetings |
| noded.notes.create({ title }) / .list() | Create / list notes |
| noded.memory.forTag(id) / .all() | What the graph remembers |
| noded.search(q) | People + accounts in one call |
| noded.graphql(query, vars) | Escape hatch — any Noded GraphQL operation |
Auth options
mode: 'oidc'(browser, recommended) — no secret in the browser; the signed-in user's permissions apply automatically.mode: 'token'— you already have an access token (e.g. from your own OIDC flow); pass agetToken().mode: 'apiKey'(server only) —{ apiKey, actAs }. Never ship anapiKeyto a browser.
Embedding where your viewers aren't Noded users
Run a tiny server proxy that holds the token and forwards to the Noded API; point the SDK at it with
endpoint. See examples/. (A first-class Personal Access Token flow is on the roadmap.)
Escape hatch
The helpers cover the common cases. For anything else, drop to GraphQL:
const data = await noded.graphql(`query { recentTags { _id alias } }`);The full schema is the Noded Apollo API at POST /api/v1/graph.
Vibe coding
Copy AGENTS.md into your project (or .cursorrules / CLAUDE.md). It teaches your
coding agent the SDK, the auth model, and the data shapes so it writes correct code the first time.
