Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ is explicitly enumerated in `docs/api.md` → "Stability: GA and beta surface"
| Design system | `design-system/` | React + tsup + Storybook | `@e2a/ui` ("Loft", consumed via `file:` dep) |
| Agent plugins | `plugins/e2a/`, `plugins/e2a-labs/` | Markdown skills + manifests | Core: Claude / Codex / Cursor; Labs: Claude / Codex |

Toolchain versions: `go.mod` declares Go 1.25; CI and the Dockerfiles build
with Go 1.26. Node: engines `>=18`, CI runs on 22. Python: `requires-python
>=3.9`, CI runs on 3.12.
Toolchain versions: `go.mod` declares Go 1.26; CI builds with Go 1.26; the
Dockerfiles build with Go 1.27. Node: engines `>=18`, CI runs on 22. Python:
`requires-python >=3.9`, CI runs on 3.12.

## Repository layout

Expand Down Expand Up @@ -249,7 +249,10 @@ Key packages, grouped (name — a few words each):
(List-Unsubscribe); `usage`/`limits` usage metering + plan/account
entitlements; `sendramp` per-domain recipient-volume ramping; `sendrate`
per-agent fire-time submission rate limiting (durable sliding window
enforced in the send worker immediately before provider submission).
enforced in the send worker immediately before provider submission);
`sendingpolicy` authoritative sending-protection runtime policy — the sole
provider-authorization gate (single-use, bound to one durable attempt),
ramp/budget composition, and operator activation.
- Auth: `auth` API key authentication; `oauth` fosite-based MCP OAuth
server; Google OAuth + optional generic OIDC login.
- Misc/infra: `ratelimit`; `telemetry` (metrics interface); `logredact`
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ The fork workflow above is the expected path for everyone else.

| Tool | Version | Why |
|---|---|---|
| Go | 1.25 | backend |
| Go | 1.26 | backend |
| Node | 18+ (CI tests on 22) | CLI, TypeScript SDK, MCP server, web dashboard |
| Python | 3.9+ | Python SDK |
| Docker (Desktop or engine) | any recent | local Postgres + Mailpit |
Expand Down
1 change: 1 addition & 0 deletions docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Copy `config.example.yaml` to `config.yaml` and fill in values, or set the envir
| `E2A_OIDC_CLIENT_SECRET` | if OIDC enabled | Confidential client secret |
| `E2A_OIDC_REDIRECT_URL` | if OIDC enabled | Registered absolute callback URL |
| `E2A_OIDC_USER_ID_CLAIM` | if OIDC enabled | ID-token claim naming an existing `users.id` — OIDC login never provisions new users |
| `E2A_OIDC_LOGOUT_URL` | no | Optional fixed upstream logout URL to redirect to after local logout (absolute `http(s)` URL, no query/fragment) |
| `E2A_PROVISIONING_ENABLED` | no (default off) | Internal-only. Turns on `POST /api/internal/users/provision`, which lets an external control plane create users idempotently ahead of their first sign-in (see below) |
| `E2A_PROVISIONING_SECRET` | if provisioning enabled | Internal-only, env-only. Shared HMAC key the control plane signs provisioning request bodies with (`X-E2A-Internal-Signature`); must match on both ends. Production requires ≥32 bytes — generate with `openssl rand -hex 32` |
| `E2A_DELEGATED_ENABLED` | no (default off) | Turns on delegated access-token verification (RFC 9068 `at+jwt`) so an external control plane can call `/v1` on behalf of its signed-in humans (see below). The rest of the policy — `issuer_url`, `audience`, `authorized_party`, `required_scope`, `allowed_algorithms`, `max_token_lifetime_seconds`, `clock_skew_seconds`, `required_claims`, `forbidden_claims` — is non-secret and lives in the `delegated:` block of `config.yaml`; there is no shared key |
Expand Down
Loading