Added bullmq@^5.67.2 and @nestjs/bullmq@^11.0.4 to support job queue management for the M4.2 Infrastructure milestone. BullMQ provides job progress tracking, automatic retry, rate limiting, and job dependencies over plain Valkey, complementing the existing ioredis setup. Verified: - pnpm install succeeds with no conflicts - pnpm build completes successfully - All packages resolve correctly in pnpm-lock.yaml Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Issue #163: Add BullMQ Dependencies
Objective
Add BullMQ and @nestjs/bullmq packages to the API for job queue management required by the M4.2 Infrastructure milestone. These packages enable job progress tracking, automatic retry with exponential backoff, rate limiting, and job dependencies for the mosaic-stitcher wrapper architecture.
Context
- Architecture: Job queue for mosaic-stitcher (control layer wrapper over OpenClaw)
- Why BullMQ: Provides advanced queue features over plain Valkey (progress tracking, retries, rate limiting, dependencies)
- Existing Setup: API already uses ioredis with Valkey
- Target Version: Compatible with existing NestJS 11.1.12 ecosystem
Approach
- Add bullmq package (latest stable)
- Add @nestjs/bullmq adapter (latest stable, compatible with NestJS 11)
- Verify compatibility with existing ioredis/Valkey setup
- Run quality gates (pnpm install, pnpm build)
- Commit with message:
feat(#163): Add BullMQ dependencies
Progress
- Add dependencies to apps/api/package.json
- Run pnpm install
- Run pnpm build
- Commit changes
Testing Plan
- Run
pnpm installfrom workspace root - verify no conflicts - Run
pnpm buildin apps/api - verify TypeScript compilation succeeds - Check that bullmq and @nestjs/bullmq are in node_modules
Acceptance Criteria
- Packages installed and
pnpm installsucceeds - No conflicts with existing dependencies
pnpm buildsucceeds
Notes
- Using workspace root for pnpm commands to respect monorepo configuration
- BullMQ works with any Redis-compatible client (ioredis already configured)
- No code changes needed in this task - dependency addition only