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
baseUrl to select an explicitly configured alternate or local API, and fetch for a custom transport:
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.