Updating SDK Packages
How updates work
Business logic (auth, payments, games) lives in @cactus-agents/* packages. When the Cactus team releases updates, you pull them via pnpm:
# Update every @cactus-agents package within the ranges in package.json
pnpm update "@cactus-agents/*"
# Update a single package
pnpm update @cactus-agents/api-client
:::caution Quote the glob
"@cactus-agents/*" must be quoted. Unquoted, the shell tries to expand it before pnpm sees it — in zsh (the default shell on macOS) the command aborts with zsh: no matches found.
:::
Which packages you depend on
Your package.json is the authoritative list — it declares 15 @cactus-agents/* dependencies today:
| Package | What it covers |
|---|---|
accounts | Authentication, user account and wallet |
api-client | HTTP client and caching layer for the backend |
brand | Brand identity resolution |
country-config | Per-country rules (currency, decimals, documents, KYC operators) |
games | Casino catalog and game data |
gamification | Loyalty/VIP program integration |
i18n | Translation resources and locale loading |
kyc | Identity-verification flows |
payments | Deposits, withdrawals, payment methods |
platform-cache | Server-side cache engine |
sports | Sportsbook module and provider config |
sports-rogue | Native "rogue" sportsbook SDK |
types | Shared TypeScript types |
utils | Shared helpers |
validations | Registration/profile validation rule engine |
Read the current versions straight from your own package.json rather than from this page — they move independently and often.
:::note Do not add @cactus-agents/mocks
That package is deprecated. Its modules are empty stubs; the mock data it used to provide was replaced by real API integrations. Nothing in the template depends on it.
:::
Removed packages
Three packages no longer exist. If your fork still imports from them, pnpm install cannot resolve them:
| Removed | Replaced by |
|---|---|
@cactus-agents/auth | @cactus-agents/accounts |
@cactus-agents/user | @cactus-agents/accounts |
@cactus-agents/wallet | @cactus-agents/accounts |
The three were unified into a single package. Almost every exported name carried over unchanged, so the migration is mostly a find-and-replace on import paths — but a handful of symbols were renamed. Follow Accounts migration before running any other update if your fork still depends on auth, user or wallet.
What gets updated
- Bug fixes and security patches
- New features (e.g., new payment providers)
- API compatibility updates
What doesn't change
Updating the SDK never touches your own code:
- Your theme colors (
app/config/theme/colors.ts) and fonts (app/config/theme/fonts.ts) - Your route URLs (
app/config/routes/paths.ts) and route tree (app/router/routes.ts) - Your layout composition (
app/config/layout/composition.ts) - Everything under
overrides/<your-brand>/ - Your components, pages, hooks and services
- Your environment variables
Checking for updates
pnpm outdated "@cactus-agents/*"
After updating
- Run
pnpm installto resolve updated dependencies - Run
pnpm typecheck— this is where a breaking change in the SDK surfaces first - Test locally with
pnpm dev - Verify key flows (login, registration, deposit, wallet)
- Deploy — see Deployment