@ricsam/r5d-api
v0.0.21
Published
Typed Node.js API client for the r5d.dev CLI backend surface.
Readme
@ricsam/r5d-api
Typed Node.js API client for the r5d.dev CLI backend surface.
Installation
npm install @ricsam/r5d-apiUsage
import { R5dctlClient } from "@ricsam/r5d-api";
const client = new R5dctlClient({
baseUrl: "https://r5d.dev",
token: process.env.R5DCTL_TOKEN,
// or apiKey: process.env.R5DCTL_API_KEY
});
const projects = await client.projects.list();
console.log(projects);Auth
R5dctlClient supports:
- interactive token (
r5dctl_tok_*) - API key (
r5dctl_key_*)
Set either token or apiKey in client options, or later via:
client.setToken(...)client.setApiKey(...)
Trusted server-side callers that authenticate through custom headers, such as a session cookie, can pass headers with authMode: "headers".
Main API Surface
auth.loginStart()auth.loginPoll(requestId, { pollCode })auth.status()auth.logout()auth.apiKeys.create/list/revokeprojects.list()projects.create({ name?, orgId? })projects.describe(projectRef)projects.update(projectRef, { name?, mode? })projects.delete(projectRef)projects.branches.list/describe(projectRef, ...)projects.sessions.list(projectRef, { branch? })projects.sessions.create(projectRef, { branchName, name? })sessions.describe(sessionId)sessions.update(sessionId, { name })sessions.delete(sessionId)sessions.conversation(sessionId)sessions.prompt(sessionId, { message, mode, model })sessions.answerQuestions(sessionId, { answers })sessions.applyRequiredEnvs(sessionId, { envs })
Errors
Non-2xx responses throw R5dctlApiError with:
statuspathbody
Project responses expose mode: "greenfield" | "prod", derived from the database-backed projects.backwardsCompatible flag.
