Developer quickstart
Evolve Inbox developer kit
Read fictional mail through the same client used for a live inbox. Try it without an account, then connect the client to your own deployment.
Install and run
npm install https://www.evolvetech.dev/developers/downloads/evolve-inbox-client-0.3.0.tgz
npx evolve-inbox --demo listThis release is a versioned tarball, not a package published to the npm registry. The offline CLI needs no account or server. Its messages use reserved example domains.
Try the client here
These controls use the packaged Fetch client with fictional responses. They make no mailbox API requests and cannot access or modify the private EvolveTech inbox.
Ready. All responses are fixtures.
Use it from JavaScript or TypeScript
import { createDemoClient } from 'evolve-inbox-client/demo';
const inbox = createDemoClient();
const messages = await inbox.list();
console.log(messages.map(message => message.subject));The package includes TypeScript declarations. Live access uses createClient({ site, password }) from evolve-inbox-client. Set credentials on your server through the environment; keep them out of public browser bundles and committed code. Browser access to the live inbox is same-origin.
API and failure behavior
| Method | Result |
|---|---|
| status() | Readiness, storage and message count |
| list() | Message metadata |
| get(id) | Message body and attachments |
| delete(id) | Explicit deletion; absent from the CLI |
Each method accepts { signal }. Requests have a timeout, refuse redirects and use a Bearer header. There are no automatic retries. InboxError carries a stable code, HTTP status and an optional retryAfter in seconds. Treat a lost deletion response as an uncertain outcome. The client parses JSON but does not fully validate an untrusted response schema.
Operate your own inbox
The CLI reads MAIL_SITE and MAIL_PASSWORD from its process environment. It accepts status, list and get ID, returns JSON, and exits nonzero on failure. Credentials are not accepted as command-line flags. Live list/get output contains private mail; keep it out of public logs.
Security and test evidence
The server already has shared authentication throttling, credential-rotation grace deadlines, audit events that omit message content, and conditional index writes for concurrent deliveries. It is a single-owner inbox with a shared credential. Scoped per-agent keys and tenant isolation are not implemented.
Threat model and failure cases → · Fresh-install and offline CLI tests → · Continuous integration →
- Status
- Versioned downloads; source and executable checks linked below
- License
- Apache 2.0
- Built with
- JavaScript, TypeScript declarations, executable examples