{ "name": "growqr-backend", "version": "0.1.0", "private": true, "type": "module", "scripts": { "dev": "tsx watch src/index.ts", "build": "tsc -p tsconfig.json", "test:onboarding": "tsx scripts/onboarding-ledger.test.ts", "test:missions": "tsx scripts/mission-lifecycle.test.ts", "test:passive-actions": "tsx scripts/passive-actions.test.ts", "test:curator-static": "tsx scripts/curator-static-registry.test.ts", "test:curator-reconcile": "tsx scripts/curator-persisted-reconcile.test.ts", "test:qscore-raw-events": "tsx scripts/qscore-raw-event-contract.test.ts", "test:rq-score-contract": "tsx scripts/rq-score-contract.test.ts", "test:home-insight-snapshot": "tsx scripts/home-insight-snapshot.test.ts", "test:career-report": "tsx scripts/career-report.test.ts", "test:onboarding-read": "tsx scripts/onboarding-rev10-read.test.ts", "test:interview-user-identity": "tsx scripts/interview-user-identity.test.ts", "test:ws-ticket": "tsx scripts/ws-ticket.test.ts", "test:artifact-transport": "tsx scripts/artifact-transport.test.ts", "test:resume-gateway": "tsx scripts/resume-gateway.test.ts", "test:roleplay-leaderboard": "tsx scripts/roleplay-leaderboard.test.ts", "test:interview-leaderboard": "tsx scripts/interview-leaderboard.test.ts", "start": "node dist/index.js", "typecheck": "tsc -p tsconfig.json --noEmit", "workflows:smoke": "tsx src/workflows/smoke-test.ts", "rivet:actors:list": "tsx scripts/rivet-actors.ts list", "rivet:actors:flush": "tsx scripts/rivet-actors.ts flush", "rivet:actors:flush:crashed": "tsx scripts/rivet-actors.ts flush --crashed-only", "rivet:actors:flush:grow": "tsx scripts/rivet-actors.ts flush --name growActor", "db:generate": "drizzle-kit generate", "db:migrate": "tsx src/db/migrate.ts", "db:studio": "drizzle-kit studio", "compose:up": "scripts/staging-compose.sh up", "compose:down": "scripts/staging-compose.sh down", "staging:preflight": "scripts/staging-compose.sh preflight", "staging:verify": "scripts/staging-compose.sh verify", "docker:opencode:build": "docker build --build-arg GROWQR_IMAGE_VERSION=${OPENCODE_IMAGE_VERSION:-dev} --build-arg GROWQR_PROMPT_VERSION=${PROMPT_VERSION:-4} --build-arg GROWQR_MIGRATION_VERSION=${MIGRATION_VERSION:-1} -f docker/opencode/Dockerfile -t growqr/opencode:dev ." }, "dependencies": { "@ai-sdk/openai": "^3.0.63", "@clerk/backend": "^1.21.0", "@hono/node-server": "^1.13.7", "ai": "^6.0.177", "dockerode": "^4.0.7", "dotenv": "^16.4.7", "drizzle-orm": "^0.45.1", "hono": "^4.6.14", "pino": "^9.5.0", "pino-pretty": "^13.0.0", "postgres": "^3.4.5", "redis": "^4.7.0", "rivetkit": "^2.2.1", "zod": "^3.24.1" }, "devDependencies": { "@types/dockerode": "^3.3.32", "@types/node": "^22.10.5", "drizzle-kit": "^0.31.2", "tsx": "^4.19.2", "typescript": "^5.7.2" } }