Architecture

Agent Studio is a Turborepo monorepo: NestJS API + worker, Next.js surfaces, Tauri desktop, Drizzle/Postgres, Redis.

Context diagram

Builders / Approvers / End users
        │
        ├─ control-plane-web ──┐
        ├─ agent-web-runtime ──┼──► apps/api (control plane + Agent Gateway)
        ├─ embed-runtime ──────┤         │
        └─ desktop-shell ──────┘         ├─ PostgreSQL
                                         ├─ Redis (queues, rate limits, lockout)
                                         └─ RuntimeProviderRegistry
                                                ├─ Claude Managed Agents
                                                └─ Local (dev only)
                          apps/worker ──────────┘

Bounded contexts

Context Responsibility
Identity & tenancy Users, orgs, memberships, sessions
Authorization Roles, permissions, server-side checks
Agent management Definitions, drafts, lifecycle
Versioning & approvals Immutable versions, SoD decisions
Runtime Adapters, deployments, sessions, events
Applications Branding, publications, hosted routes
Observability Audit, usage, correlation IDs, metrics, OTel

Design posture

  • Fail closed on missing Anthropic keys, partial OIDC, and local runtime in production
  • Split secrets: Next.js services do not receive SECRETS_MASTER_KEY
  • Publication scope: embed/API tokens are runtime-only

Deeper notes: docs/architecture/.