/** * Queue name constants for BullMQ * * These queue names follow the mosaic:jobs:* convention * and align with the Mosaic Component Architecture (agent profiles). */ export const QUEUE_NAMES = { /** * Main job queue - general purpose jobs */ MAIN: "mosaic-jobs", /** * Runner profile jobs - read-only operations * - Fetches information * - Gathers context * - Reads repositories */ RUNNER: "mosaic-jobs-runner", /** * Weaver profile jobs - write operations * - Implements code changes * - Writes files * - Scoped to worktree */ WEAVER: "mosaic-jobs-weaver", /** * Inspector profile jobs - validation operations * - Runs quality gates (build, lint, test) * - No modifications allowed */ INSPECTOR: "mosaic-jobs-inspector", } as const; export type QueueName = (typeof QUEUE_NAMES)[keyof typeof QUEUE_NAMES];