Package Overview
The monorepo is divided into eight npm workspaces. Each package is independently versioned, built and (where applicable) published to npm.
Domain contracts — actions, state, configs, DTOs, Zod schemas.
5/6/7-card evaluation with integer scores — zero dependencies.
Immutable Texas Hold'em state machine with strict rules.
Typed HTTP + WebSocket client and React 19 hooks.
Fastify REST/WS API, PostgreSQL-authoritative state, Redis cache/queues, BullMQ workers, Prisma.
Isolated withdrawal signer (treasury keys never in the API), receipt/reorg monitoring and treasury reconciliation.
Evaluator, API, worker and socket benchmarks.
Docker + Anvil end-to-end scenarios.
Dependency graph
| Package | Depends on |
|---|---|
types | — |
evaluator | — |
engine | types, evaluator |
sdk | types |
api | engine, types |
custody | api, types |
bench | evaluator |
e2e | sdk |
Versioning & publishing
| Package | Published to npm |
|---|---|
@pokertools/types | ✅ |
@pokertools/evaluator | ✅ |
@pokertools/engine | ✅ |
@pokertools/sdk | ✅ |
@pokertools/api · custody · bench · e2e | Private (docker/deployment only) |
Publishing is automated by the Publish workflow on GitHub releases, with npm provenance enabled.