basecite-agent-sdk
v0.1.0
Published
Server-side JavaScript client for the BaseCite tenant-scoped evidence API.
Maintainers
Readme
basecite-agent-sdk
Small, dependency-free JavaScript client for the BaseCite tenant-scoped API.
The SDK uses the deployed API contract at https://api.basecite.com by default. It supports API-key or provisioned OAuth client-credentials access, upload initiation, sequential binary parts, SHA-256 completion, status polling, AI context reads, request records, and permanent withdrawal.
Install
npm install basecite-agent-sdkExample
import { BaseCiteClient } from "basecite-agent-sdk";
const client = new BaseCiteClient({
apiKey: process.env.BASECITE_API_KEY,
baseUrl: process.env.BASECITE_API_URL
});
const reservation = await client.initiatePartnerUpload("org_example", {
filename: "evidence.txt",
content_type: "text/plain",
size_bytes: 12,
consent: consentPayload
}, { idempotencyKey: crypto.randomUUID() });
await client.uploadPartnerPart("org_example", {
uploadId: reservation.data.upload_id,
partNumber: 1,
body: new TextEncoder().encode("hello world\n")
});
const completed = await client.completePartnerUpload("org_example", {
upload_id: reservation.data.upload_id,
parts: [{ part_number: 1 }],
client_file_sha256: "..."
}, { idempotencyKey: crypto.randomUUID() });
const status = await client.getPartnerUploadStatus("org_example", reservation.data.upload_id);
const context = await client.getAiContext("org_example", reservation.data.upload_id);withdrawPartnerUpload is a destructive operation. It requests deletion of the raw payload, storage copies, derived AI context, and quota bytes while retaining only the deletion receipt and audit metadata. Call it only after an explicit user or operator decision.
The SDK does not create credentials, expose raw secrets, bypass tenant boundaries, or invent provider results. Read the authentication contract and OpenAPI contract before integration.
