Skip to content

Architecture

Gatewyse is an Express server that sits between client applications and AI provider APIs, scoping every request to an organization and department. The architecture is built around a small set of concerns — request normalization, security guards, routing, provider adaptation, and observability — wired together as Express middleware.

Sections

  • Overview — Monorepo layout, request lifecycle, data flow between services.
  • Routing Strategies — The 11 routing algorithms (priority, round-robin, weighted, least-cost, least-latency, free-tier-first, task-optimized, cost-optimized, failover, random, review-panel) and how they compose with the routing cache.
  • Provider Adapters — How adapters translate between the unified API and 49 different provider APIs, plus the base adapter contract and security guarantees.
  • Contributing — Development setup, test tiers, code structure, and the PR process.

Licensing

The Enterprise Edition is gated on an Ed25519-signed JWT issued by the 137 & Co. platform. The license verifier runs first at boot, before the Zod env validator and Winston logger, because both depend on environment that has not yet been validated. See Environment Variables — License (EE) for the required LICENSE_* variables and the packages/server/src/services/license.service.ts source for the boot sequence.

At a Glance

ConcernLayer
Request shape translationpackages/server/src/utils/request-normalizer.ts
Security guardspackages/server/src/middleware/prompt-guard.middleware.ts + services/prompt-guard.service.ts
Routing selectionpackages/server/src/services/routing.service.ts
Provider HTTPpackages/server/src/providers/*.adapter.ts
Response shape translationpackages/server/src/utils/response-formatter.ts
Audit + usage trackingpackages/server/src/middleware/{audit-logger,usage-tracker}.middleware.ts
License verification (EE)packages/server/src/services/license.service.ts + packages/license/