Skip to content

v0.22.1

2026-05-14

Bug Fixes

  • [x] CI lint failure: packages/server-core/src/routes/entityAccess.ts declared an unused EntityType type alias, which tripped @typescript-eslint/no-unused-vars as an error and failed the lint-and-test job. Removed the unused alias. (The Unexpected any warnings in the same lint output are pre-existing and non-blocking.)
  • [x] Hotfix: production GET /api/modules/genai/models was 404 because the genai server router never mounted. Root cause: scripts/install-hosted-modules.sh copied only $PKG_DIR from the npm install temp dir and discarded the sibling node_modules/ containing the module's runtime deps. @purple-cat-games/genai depends on zod (regular dep, not a peer), and zod is neither in pnpm-workspace.yaml's publicHoistPattern (only express and @purple-cat/* are) nor a direct dep of apps/web/server-core at a version genai accepts. At runtime import { z } from 'zod' in dist/server/index.js threw Cannot find package 'zod'; loadServerEntry (packages/server-core/src/modules/index.ts) caught and logged the error and returned null, so the genai router was silently skipped during start(). system8 happened to work because it only imports express (a hoisted peer). Fix: have install-hosted-modules.sh also copy the sibling node_modules/ entries (excluding the module's own scope dir) into $DEST/node_modules/, making each hosted module self-contained at runtime. Generalizes to any future module with non-peer runtime deps. Added regression tests in scripts/install-hosted-modules.test.ts pinning the bundling logic.