package.json
Rama main · réplica de lectura del repositorio original.
{
"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"
}
}
}