{ "name": "openquok-monorepo", "version": "1.0.0", "description": "All-in-one Content OS: social scheduling and directory launch in one workspace. Calendar, kanban, and product profiles. Extension autofill for directory listings; you approve every post and submit. Agents via CLI, MCP, and public API. Cloud or self-host.", "type": "module", "packageManager": "pnpm@10.30.3", "scripts": { "preinstall": "npx only-allow pnpm", "---------------------- DEV WORKFLOW ----------------------": "", "common:build": "pnpm --filter openquok-common build", "web:dev": "pnpm --filter ./web dev", "web:check": "pnpm --filter ./web check", "web:test:pseo-registry": "pnpm --filter ./web run test:pseo-registry", "web:build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 pnpm --filter ./web build", "web:dev:clean": "pnpm --filter ./web dev:clean", "backend:dev": "pnpm --filter ./backend dev", "agent-server:dev": "pnpm --filter @openquok/cli-auth-server dev", "agent-server:build": "pnpm --filter @openquok/cli-auth-server build", "agent:build": "pnpm --filter ./agent build", "agent:test": "pnpm --filter ./agent test", "agent:test:unit": "pnpm --filter ./agent test:unit", "agent:test:e2e": "pnpm --filter ./agent test:e2e", "backend:lint": "pnpm --filter ./backend lint", "backend:test:unit": "pnpm --filter ./backend test:unit", "backend:test:integration": "pnpm --filter ./backend test:integration", "backend:test:e2e": "pnpm --filter ./backend test:e2e", "backend:db:typegen": "pnpm --filter ./backend db:local:typegen", "backend:db:aggregate-migrations-all": "pnpm --filter ./backend db:aggregate-migrations-all", "backend:db:aggregate-migrations-single": "pnpm --filter ./backend db:aggregate-migrations-single", "backend:db:promote-platform-admin": "pnpm --filter ./backend db:local:promote-platform-admin", "backend:generate-routes-manifest": "node scripts/generate-routes-manifest.mjs", "backend:build": "pnpm --filter backend build", "backend:clean:stale-ts-shadow-js": "node scripts/cleanBackendStaleTsShadowJs.mjs", "backend:rebuild:all": "pnpm backend:clean:stale-ts-shadow-js && pnpm backend:build", "backend:sync-declarations": "pnpm --filter backend sync-declarations", "backend:build:vercel": "pnpm backend:generate-routes-manifest && pnpm common:build && pnpm --filter backend build:vercel", "build:deps": "pnpm common:build && pnpm backend:build && pnpm orchestrator:build && pnpm sdk:build", "build:all": "pnpm build:deps && pnpm web:build", "orchestrator:build": "pnpm --filter openquok-orchestrator build", "orchestrator:build:deps": "pnpm backend:generate-routes-manifest && pnpm common:build && pnpm backend:build && pnpm orchestrator:build && node orchestrator/scripts/verifyWorkerSocialProviders.mjs", "sdk:build": "pnpm --filter @openquok/node build", "orchestrator:dev:worker:integration-refresh-bullmq": "pnpm --filter openquok-orchestrator dev:worker:integration-refresh-bullmq", "orchestrator:dev:worker:housekeeping-bullmq": "pnpm --filter openquok-orchestrator dev:worker:housekeeping-bullmq", "orchestrator:dev:worker:notification-email-bullmq": "pnpm --filter openquok-orchestrator dev:worker:notification-email-bullmq", "orchestrator:dev:worker:scheduled-social-post-bullmq": "pnpm --filter openquok-orchestrator dev:worker:scheduled-social-post-bullmq", "orchestrator:worker:integration-refresh-bullmq": "pnpm orchestrator:dev:worker:integration-refresh-bullmq", "orchestrator:worker:housekeeping-bullmq": "pnpm orchestrator:dev:worker:housekeeping-bullmq", "orchestrator:worker:notification-email-bullmq": "pnpm orchestrator:dev:worker:notification-email-bullmq", "orchestrator:worker:scheduled-social-post-bullmq": "pnpm orchestrator:dev:worker:scheduled-social-post-bullmq", "orchestrator:start:worker:integration-refresh-bullmq": "pnpm --filter openquok-orchestrator start:worker:integration-refresh-bullmq", "orchestrator:start:worker:housekeeping-bullmq": "pnpm --filter openquok-orchestrator start:worker:housekeeping-bullmq", "orchestrator:start:worker:notification-email-bullmq": "pnpm --filter openquok-orchestrator start:worker:notification-email-bullmq", "orchestrator:start:worker:scheduled-social-post-bullmq": "pnpm --filter openquok-orchestrator start:worker:scheduled-social-post-bullmq", "orchestrator:test:unit": "pnpm --filter openquok-orchestrator test:unit", "---------------------- VERCEL (backend) ----------------------": "", "vercel:env:sync:backend:prod": "node scripts/vercelSyncBackendEnv.mjs --cwd backend --env-file backend/.env.production.local --environment production", "vercel:deploy:backend": "pnpm backend:build:vercel && node scripts/vercelDeployBackend.mjs", "vercel:deploy:backend:prod": "pnpm backend:build:vercel && node scripts/vercelDeployBackend.mjs --prod", "---------------------- VERCEL (web) ----------------------": "", "vercel:env:sync:web:prod": "node scripts/vercelSyncWebEnv.mjs --cwd web --env-file web/.env.production.local --environment production", "vercel:deploy:web": "node scripts/vercelDeployWeb.mjs", "vercel:deploy:web:prod": "node scripts/vercelDeployWeb.mjs --prod", "---------------------- VERCEL (CLI auth server → cli-auth.openquok.com) ----------------------": "", "vercel:env:sync:agent-server:prod": "node scripts/vercelSyncAgentServerEnv.mjs --cwd agent/server --env-file agent/server/.env.production.local --environment production", "vercel:deploy:agent-server": "node scripts/vercelDeployAgentServer.mjs", "vercel:deploy:agent-server:prod": "node scripts/vercelDeployAgentServer.mjs --prod", "---------------------- VERCEL (CLI device flow — browser UI on www) ----------------------": "", "vercel:deploy:cli-device-flow:prod": "pnpm vercel:deploy:agent-server:prod && pnpm vercel:deploy:web:prod", "---------------------- RAILWAY (orchestrator workers) ----------------------": "", "railway:orchestrator:build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 pnpm orchestrator:build:deps", "railway:orchestrator:start:integration-refresh": "pnpm orchestrator:start:worker:integration-refresh-bullmq", "railway:orchestrator:start:housekeeping": "pnpm orchestrator:start:worker:housekeeping-bullmq", "railway:orchestrator:start:scheduled-social-post": "pnpm orchestrator:start:worker:scheduled-social-post-bullmq", "railway:setup:integration-refresh": "node scripts/railwaySetupWorkerService.mjs --service-name openquok-worker-integration-refresh --railpack-config-file orchestrator/railpack.integration-refresh.json --env-file orchestrator/.env.production.local --var ORCHESTRATOR_INTEGRATION_REFRESH_TRANSPORT=bullmq", "railway:setup:housekeeping": "node scripts/railwaySetupWorkerService.mjs --service-name openquok-worker-housekeeping --railpack-config-file orchestrator/railpack.housekeeping.json --env-file orchestrator/.env.production.local --var ORCHESTRATOR_NOTIFICATION_EMAIL_TRANSPORT=bullmq", "railway:setup:scheduled-social-post": "node scripts/railwaySetupWorkerService.mjs --service-name openquok-worker-scheduled-social-post --railpack-config-file orchestrator/railpack.scheduled-social-post.json --env-file orchestrator/.env.production.local --var ORCHESTRATOR_SCHEDULED_SOCIAL_POST_TRANSPORT=bullmq", "railway:env:sync:integration-refresh:prod": "pnpm --filter openquok-orchestrator railway:env:sync:integration-refresh:prod", "railway:env:sync:housekeeping:prod": "pnpm --filter openquok-orchestrator railway:env:sync:housekeeping:prod", "railway:env:sync:scheduled-social-post:prod": "pnpm --filter openquok-orchestrator railway:env:sync:scheduled-social-post:prod", "railway:deploy:integration-refresh": "cross-env RAILPACK_CONFIG_FILE=orchestrator/railpack.integration-refresh.json railway up", "railway:deploy:housekeeping": "cross-env RAILPACK_CONFIG_FILE=orchestrator/railpack.housekeeping.json railway up", "railway:deploy:scheduled-social-post": "cross-env RAILPACK_CONFIG_FILE=orchestrator/railpack.scheduled-social-post.json railway up", "---------------------- PROD BACKUP ----------------------": "", "prod-backup:verify": "node scripts/prod-backup/verify-layer1.mjs", "prod-backup:dump": "node scripts/prod-backup/dump-database.mjs", "prod-backup:storage": "node scripts/prod-backup/export-storage.mjs", "prod-backup:initial": "node scripts/prod-backup/run-initial-backup.mjs", "prod-backup:migrate-storage": "node scripts/prod-backup/migrate-storage.mjs", "prod-backup:fix-blog-urls": "node scripts/prod-backup/fix-blog-urls.mjs", "prod-backup:restore": "node scripts/prod-backup/restore-database.mjs", "prod-backup:rehearse": "node scripts/prod-backup/rehearse-migration.mjs", "prod-backup:create-us-project": "node scripts/prod-backup/create-us-project.mjs", "prod-backup:relink": "node scripts/prod-backup/relink-cli.mjs", "prod-backup:smoke": "node scripts/prod-backup/verify-smoke.mjs", "---------------------- CLEAR REDIS (orchestrator workers) ----------------------": "", "redis:clear-history": "pnpm --filter openquok-orchestrator script:clear-redis-history", "redis:clear-history:prod": "pnpm --filter openquok-orchestrator script:clear-redis-history -- --env-file .env.production.local", "redis:clear": "pnpm --filter openquok-orchestrator script:free-openquok-redis-memory", "redis:clear:prod": "pnpm --filter openquok-orchestrator script:free-openquok-redis-memory -- --env-file .env.production.local", "---------------------- PUBLISH (SDK, CLI & CLAWHUB) ----------------------": "", "publish:sdk:build": "pnpm --filter ./sdk build", "publish:sdk:manual": "pnpm --filter ./sdk run publish:manual", "publish:cli:build": "pnpm --filter ./agent build", "publish:cli:manual": "pnpm --filter ./agent run publish:manual", "publish:clawhub:dry-run": "pnpm --filter ./agent run publish:clawhub:dry-run", "publish:clawhub:manual": "pnpm --filter ./agent run publish:clawhub:manual", "publish:clawhub:tiktok-slideshow:dry-run": "pnpm --filter ./agent run publish:clawhub:tiktok-slideshow:dry-run", "publish:clawhub:tiktok-slideshow:manual": "pnpm --filter ./agent run publish:clawhub:tiktok-slideshow:manual", "publish:clawhub:directory-launch:dry-run": "pnpm --filter ./agent run publish:clawhub:directory-launch:dry-run", "publish:clawhub:directory-launch:manual": "pnpm --filter ./agent run publish:clawhub:directory-launch:manual", "release:notes": "node scripts/release-notes.mjs" }, "keywords": [], "author": "Rati Montreewat", "license": "AGPL-3.0-or-later", "devDependencies": { "@railway/cli": "^4.35.0", "cross-env": "^7.0.3", "railway": "^3.11.0", "typescript": "^5.9.3" }, "pnpm": { "onlyBuiltDependencies": [ "@railway/cli", "esbuild", "sharp" ], "overrides": { "glob": "^13.0.0", "mkdirp": "^1.0.4", "uuid": "^8.3.2", "node-domexception": "^2.0.2" }, "allowedDeprecatedVersions": { "har-validator": "5.1.5", "phin": "3.7.1", "request": "2.88.2" } } }