@layers/amba-node
Amba is the agent-native backend-as-a-service for mobile and web apps. This package is the Node.js SDK — the server-side companion to @layers/amba-web, with the full 34-module Amba surface and idiomatic Node ergonomics (Connect-style middleware, per-user asUser(...) scoping for bulk operations).
Install
npm install @layers/amba-node
Configure + first call
import { AmbaClient } from "@layers/amba-node";
const amba = await AmbaClient.configure({
projectId: process.env.AMBA_PROJECT_ID!,
clientKey: process.env.AMBA_CLIENT_KEY!,
serverKey: process.env.AMBA_SERVER_KEY,
});
await amba.asUser(verifiedUserId).events.track("webhook_received", { source: "stripe" });
The shared amba client carries no user, so user-scoped calls such as events.track go through amba.asUser(userId).
Per-user scoped calls
await amba.asUser(userId).events.track("checkout_completed", { amount: 99 });
Express middleware
import express from "express";
import { AmbaClient } from "@layers/amba-node";
const amba = await AmbaClient.configure({
projectId: process.env.AMBA_PROJECT_ID!,
clientKey: process.env.AMBA_CLIENT_KEY!,
serverKey: process.env.AMBA_SERVER_KEY,
});
const app = express();
app.use(amba.middleware());
app.post("/orders", async (req, res) => {
await req.amba.asUser(res.locals.userId).events.track("order_placed");
res.sendStatus(204);
});
Docs
Full reference: https://docs.amba.dev/sdk/node.
License
MIT