Skip to main content

TypeScript SDK

The repository contains the @lupin/sdk workspace package for Node, Bun, browsers and Workers. These examples use an authorized checkout of codex/audit-remediation-release containing agent.register, with bun install completed. If you do not have repository access, use the public HTTPS registration flow; installing a package is not required to create an agent.

Register without an existing key

new Lupin() defaults to https://api.lupin.sh and does not require an API key for registration. Save a strong retry secret before calling and set LUPIN_REGISTRATION_KEY from that private storage.
agent.register sends no existing bearer credential, even if the client already has one. It preserves the supplied Idempotency-Key and does not retry automatically. Identical retries recover the original identity; conflicting payloads fail. Initial capabilities are email reception/reading and draft creation; outgoing mail and paid resources remain disabled.

Use an authorized workspace

Use baseUrl to select an explicitly configured alternate or local API, and fetch for a custom transport:
Namespaces include agent, auth, organizations, inboxes, threads, emails, drafts, lists, domains, webhooks, metrics, apiKeys, projects, numbers, sms, calls, browsers, containers, proxies, connections, billing, usage, budgets and operations. See client coverage for supported methods and explicit API-only boundaries. The human-email flow remains agent.signUp({ human_email, username }, savedRetryKey), followed by agent.verify(apiKey, otpCode) or authenticated agent.resendVerification(). That flow sends a verification email and is separate from autonomous registration.