@kavachos/client
v0.1.0
Published
TypeScript client for the KavachOS REST API
Readme
@kavachos/client
Zero-dependency TypeScript REST client for the KavachOS API.
Install
npm install @kavachos/clientUsage
Works in Node.js, Cloudflare Workers, Deno, and the browser.
import { createKavachClient, KavachApiError } from '@kavachos/client';
const kavach = createKavachClient({
apiUrl: 'https://auth.yourapp.com',
tenantId: 'your-tenant-id',
apiKey: process.env.KAVACH_API_KEY,
});
// Authorize a token
const result = await kavach.authorize({ token: incomingToken, requiredPermissions: ['read:data'] });
if (!result.ok) {
throw new Error('Unauthorized');
}
// Manage agents
const agent = await kavach.createAgent({ name: 'my-bot', permissions: ['read:data'] });
const agents = await kavach.listAgents();
// Delegate permissions
await kavach.delegate({ agentId: agent.id, permissions: ['read:data'], expiresIn: '1h' });Error handling
try {
await kavach.authorize({ token });
} catch (err) {
if (err instanceof KavachApiError) {
console.error(err.status, err.body.code);
}
}Docs
https://docs.kavachos.com/client
License
MIT
