| { |
| "name": "gitroom", |
| "version": "1.0.0", |
| "description": "", |
| "main": "index.js", |
| "license": "AGPL-3.0", |
| "keywords": [], |
| "author": "", |
| "engines": { |
| "node": ">=22.12.0 <23.0.0" |
| }, |
| "packageManager": "pnpm@10.6.1", |
| "scripts": { |
| "dev": "pnpm run --filter ./apps/extension --filter ./apps/orchestrator --filter ./apps/backend --filter ./apps/frontend --parallel dev", |
| "dev-backend": "pnpm run --filter ./apps/backend --filter ./apps/frontend --parallel dev", |
| "pm2": "pnpm run pm2-run", |
| "publish-sdk": "pnpm run --filter ./apps/sdk publish", |
| "pm2-run": "pm2 delete all || true && pnpm run prisma-db-push && pnpm run --parallel pm2 && pm2 logs", |
| "dev:stripe": "pnpm dlx concurrently \"stripe listen --forward-to localhost:3000/stripe\" \"pnpm run dev\"", |
| "build": "pnpm -r --workspace-concurrency=1 --filter ./apps/frontend --filter ./apps/backend --filter ./apps/orchestrator run build", |
| "build:backend": "rm -rf apps/backend/dist && pnpm --filter ./apps/backend run build", |
| "build:frontend": "rm -rf apps/frontend/dist && pnpm --filter ./apps/frontend run build", |
| "build:orchestrator": "rm -rf apps/orchestrator/dist && pnpm --filter ./apps/orchestrator run build", |
| "build:extension": "rm -rf apps/extension/dist && pnpm --filter ./apps/extension run build", |
| "dev:backend": "rm -rf apps/backend/dist && pnpm --filter ./apps/backend run dev", |
| "dev:frontend": "rm -rf apps/frontend/dist && pnpm --filter ./apps/frontend run dev", |
| "dev:orchestrator": "rm -rf apps/orchestrator/dist && pnpm --filter ./apps/orchestrator run dev", |
| "start:prod:orchestrator": "pnpm --filter ./apps/orchestrator run start", |
| "start:prod:backend": "pnpm --filter ./apps/backend run start", |
| "start:prod:frontend": "pnpm --filter ./apps/frontend run start", |
| "dev:docker": "docker compose -f ./docker-compose.dev.yaml up -d", |
| "commands:build:development": "pnpm --filter ./apps/commands run build", |
| "prisma-generate": "pnpm dlx prisma@6.5.0 generate --schema ./libraries/nestjs-libraries/src/database/prisma/schema.prisma", |
| "prisma-db-push": "pnpm dlx prisma@6.5.0 db push --accept-data-loss --schema ./libraries/nestjs-libraries/src/database/prisma/schema.prisma", |
| "prisma-db-pull": "pnpm dlx prisma@6.5.0 db pull --schema ./libraries/nestjs-libraries/src/database/prisma/schema.prisma", |
| "prisma-reset": "cd ./libraries/nestjs-libraries/src/database/prisma && pnpm dlx prisma@6.5.0 db push --force-reset && pnpx prisma@6.5.0 db push", |
| "docker-build": "./var/docker/docker-build.sh", |
| "docker-create": "./var/docker/docker-create.sh", |
| "postinstall": "pnpm run prisma-generate", |
| "test": "jest --coverage --detectOpenHandles --reporters=default --reporters=jest-junit" |
| }, |
| "dependencies": { |
| "@ag-ui/mastra": "^1.0.1", |
| "@ai-sdk/openai": "^2.0.52", |
| "@atproto/api": "^0.15.15", |
| "@aws-sdk/client-s3": "^3.787.0", |
| "@aws-sdk/s3-request-presigner": "^3.787.0", |
| "@casl/ability": "^6.5.0", |
| "@copilotkit/react-core": "1.10.6", |
| "@copilotkit/react-textarea": "1.10.6", |
| "@copilotkit/react-ui": "1.10.6", |
| "@copilotkit/runtime": "1.10.6", |
| "@dub/analytics": "^0.0.32", |
| "@hookform/resolvers": "^3.3.4", |
| "@langchain/community": "^1.1.27", |
| "@langchain/core": "^1.1.39", |
| "@langchain/langgraph": "^1.2.8", |
| "@langchain/openai": "^1.4.3", |
| "@langchain/tavily": "^1.2.0", |
| "@mantine/core": "^5.10.5", |
| "@mantine/dates": "^5.10.5", |
| "@mantine/hooks": "^5.10.5", |
| "@mantine/modals": "^5.10.5", |
| "@mastra/core": "^1.21.0", |
| "@mastra/mcp": "^1.4.1", |
| "@mastra/memory": "^1.13.0", |
| "@mastra/pg": "^1.8.5", |
| "@meronex/icons": "^4.0.0", |
| "@modelcontextprotocol/sdk": "^1.22.0", |
| "@nest-lab/throttler-storage-redis": "^1.2.0", |
| "@nestjs/cli": "^11.0.21", |
| "@nestjs/common": "^11.1.21", |
| "@nestjs/core": "^11.1.21", |
| "@nestjs/microservices": "^11.1.21", |
| "@nestjs/platform-express": "^11.1.21", |
| "@nestjs/schedule": "^6.1.3", |
| "@nestjs/swagger": "^11.4.3", |
| "@nestjs/throttler": "^6.5.0", |
| "@neynar/nodejs-sdk": "^3.112.0", |
| "@neynar/react": "^1.2.22", |
| "@pigment-css/react": "^0.0.30", |
| "@postiz/wallets": "^0.0.1", |
| "@prisma/client": "6.5.0", |
| "@sentry/nestjs": "^10.26.0", |
| "@sentry/nextjs": "^10.26.0", |
| "@sentry/profiling-node": "^10.25.0", |
| "@sentry/react": "^10.25.0", |
| "@solana/wallet-adapter-react": "^0.15.35", |
| "@solana/wallet-adapter-react-ui": "^0.9.35", |
| "@stripe/react-stripe-js": "^5.4.1", |
| "@stripe/stripe-js": "^8.6.0", |
| "@swc/helpers": "0.5.13", |
| "@sweetalert2/theme-dark": "^5.0.16", |
| "@tailwindcss/postcss": "^4.1.7", |
| "@temporalio/activity": "^1.14.0", |
| "@temporalio/client": "^1.14.0", |
| "@temporalio/common": "^1.14.0", |
| "@temporalio/worker": "^1.14.0", |
| "@temporalio/workflow": "^1.14.0", |
| "@tiptap/extension-bold": "^3.0.6", |
| "@tiptap/extension-document": "^3.0.6", |
| "@tiptap/extension-heading": "^3.0.7", |
| "@tiptap/extension-history": "^3.0.7", |
| "@tiptap/extension-link": "^3.0.9", |
| "@tiptap/extension-list": "^3.0.7", |
| "@tiptap/extension-mention": "^3.0.7", |
| "@tiptap/extension-paragraph": "^3.0.6", |
| "@tiptap/extension-text": "^3.0.6", |
| "@tiptap/extension-underline": "^3.0.6", |
| "@tiptap/pm": "^3.0.6", |
| "@tiptap/react": "^3.0.6", |
| "@tiptap/starter-kit": "^3.0.6", |
| "@tiptap/suggestion": "^3.0.7", |
| "@types/bcrypt": "^5.0.2", |
| "@types/concat-stream": "^2.0.3", |
| "@types/facebook-nodejs-business-sdk": "^20.0.2", |
| "@types/jsonwebtoken": "^9.0.5", |
| "@types/lodash": "^4.14.202", |
| "@types/md5": "^2.3.5", |
| "@types/mime": "^3.0.4", |
| "@types/mime-types": "^2.1.4", |
| "@types/multer": "^1.4.11", |
| "@types/nodemailer": "^6.4.16", |
| "@types/parse5": "v6.0.1", |
| "@types/react-dropzone": "^4.2.2", |
| "@types/remove-markdown": "^0.3.4", |
| "@types/sha256": "^0.2.2", |
| "@types/striptags": "^0.0.5", |
| "@types/yup": "^0.32.0", |
| "@uidotdev/usehooks": "^2.4.1", |
| "@uiw/react-md-editor": "^4.0.3", |
| "@uppy/aws-s3": "^4.1.0", |
| "@uppy/compressor": "^2.1.1", |
| "@uppy/core": "^4.4.6", |
| "@uppy/dashboard": "^4.3.4", |
| "@uppy/drag-drop": "^4.1.3", |
| "@uppy/file-input": "^4.1.3", |
| "@uppy/progress-bar": "^4.2.1", |
| "@uppy/react": "^4.3.0", |
| "@uppy/status-bar": "^4.1.3", |
| "@uppy/transloadit": "^4.2.2", |
| "@uppy/xhr-upload": "^4.3.3", |
| "accept-language": "^3.0.20", |
| "array-move": "^4.0.0", |
| "async-mutex": "^0.5.0", |
| "axios": "^1.14.0", |
| "bcrypt": "^5.1.1", |
| "bottleneck": "^2.19.5", |
| "bs58": "^6.0.0", |
| "bufferutil": "^4.0.8", |
| "canvas": "^2.11.2", |
| "chart.js": "^4.4.1", |
| "class-transformer": "^0.5.1", |
| "class-validator": "^0.14.1", |
| "class-validator-jsonschema": "^5.1.0", |
| "clsx": "^2.1.0", |
| "compression": "^1.8.1", |
| "concat-stream": "^2.0.0", |
| "cookie-parser": "^1.4.7", |
| "copy-to-clipboard": "^3.3.3", |
| "crypto-hash": "^3.0.0", |
| "dayjs": "^1.11.10", |
| "dotenv": "^16.5.0", |
| "dotenv-cli": "^8.0.0", |
| "emoji-picker-react": "^4.12.0", |
| "evp_bytestokey": "^1.0.3", |
| "facebook-nodejs-business-sdk": "^21.0.5", |
| "fast-xml-parser": "^4.5.1", |
| "file-type": "^16.5.4", |
| "google-auth-library": "^9.11.0", |
| "googleapis": "^137.1.0", |
| "hot-reload-extension-vite": "^1.0.13", |
| "i18n-iso-countries": "^7.14.0", |
| "i18next": "^25.2.1", |
| "i18next-browser-languagedetector": "^8.1.0", |
| "i18next-resources-to-backend": "^1.2.1", |
| "image-to-pdf": "^3.0.2", |
| "ioredis": "^5.3.2", |
| "isomorphic-dompurify": "^3.10.0", |
| "json-to-graphql-query": "^2.2.5", |
| "jsonwebtoken": "^9.0.2", |
| "lodash": "^4.17.21", |
| "mastra": "^1.3.19", |
| "md5": "^2.3.0", |
| "mime": "^3.0.0", |
| "mime-types": "^2.1.35", |
| "multer": "^1.4.5-lts.1", |
| "music-metadata": "^7.14.0", |
| "nestjs-command": "^3.1.4", |
| "nestjs-real-ip": "^3.0.1", |
| "nestjs-temporal-core": "^3.2.0", |
| "next": "16.2.6", |
| "next-plausible": "^3.12.0", |
| "node-fetch": "^3.3.2", |
| "node-telegram-bot-api": "^0.66.0", |
| "nodemailer": "^7.0.11", |
| "nostr-tools": "^2.18.2", |
| "openai": "^6.2.0", |
| "p-limit": "^3.1.0", |
| "parse5": "^6.0.1", |
| "polotno": "^3.0.0-beta.25", |
| "posthog-js": "^1.178.0", |
| "react": "19.2.4", |
| "react-colorful": "^5.6.1", |
| "react-country-flag": "^3.1.0", |
| "react-dnd": "^16.0.1", |
| "react-dnd-html5-backend": "^16.0.1", |
| "react-dom": "19.2.4", |
| "react-dropzone": "^14.3.5", |
| "react-hook-form": "^7.58.1", |
| "react-hotkeys-hook": "^5.1.0", |
| "react-i18next": "^15.5.2", |
| "react-loading": "^2.0.3", |
| "react-sortablejs": "^6.1.4", |
| "react-tag-autocomplete": "^7.2.0", |
| "react-tooltip": "^5.26.2", |
| "react-use-cookie": "^1.6.1", |
| "react-use-keypress": "^1.3.1", |
| "redis": "^4.6.12", |
| "reflect-metadata": "^0.2.2", |
| "remove-markdown": "^0.5.0", |
| "resend": "^3.2.0", |
| "rss-parser": "^3.13.0", |
| "rxjs": "^7.8.0", |
| "sass": "^1.89.2", |
| "sha256": "^0.2.0", |
| "sharp": "^0.33.4", |
| "simple-statistics": "^7.8.3", |
| "slugify": "^1.6.6", |
| "stripe": "^20.4.0", |
| "striptags": "^3.2.0", |
| "subtitle": "4.2.2-alpha.0", |
| "sweetalert2": "11.4.8", |
| "swr": "^2.2.5", |
| "tailwind-scrollbar": "^3.1.0", |
| "tailwindcss": "3.4.17", |
| "tailwindcss-rtl": "^0.9.0", |
| "timezones-list": "^3.1.0", |
| "tippy.js": "^6.3.7", |
| "tldts": "^6.1.47", |
| "transloadit": "^3.0.2", |
| "tslib": "^2.3.0", |
| "tweetnacl": "^1.0.3", |
| "twitter-api-v2": "^1.29.0", |
| "twitter-text": "^3.1.0", |
| "use-debounce": "^10.0.0", |
| "utf-8-validate": "^5.0.10", |
| "uuid": "^10.0.0", |
| "viem": "^2.22.9", |
| "webextension-polyfill": "^0.12.0", |
| "ws": "^8.18.0", |
| "yargs": "^17.7.2", |
| "yup": "^1.4.0", |
| "zod": "^3.25.76", |
| "zustand": "^5.0.5" |
| }, |
| "devDependencies": { |
| "@crxjs/vite-plugin": "^2.0.0-beta.32", |
| "@nestjs/schematics": "^11.1.0", |
| "@nestjs/testing": "^11.1.21", |
| "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", |
| "@svgr/webpack": "^8.0.1", |
| "@swc-node/register": "1.9.2", |
| "@swc/cli": "0.3.14", |
| "@swc/core": "1.5.7", |
| "@tailwindcss/vite": "^4.0.17", |
| "@testing-library/react": "16.3.0", |
| "@types/cache-manager-redis-store": "^2.0.4", |
| "@types/chrome": "^0.0.319", |
| "@types/compression": "^1.8.1", |
| "@types/cookie-parser": "^1.4.6", |
| "@types/jest": "29.5.12", |
| "@types/node": "18.16.9", |
| "@types/node-telegram-bot-api": "^0.64.7", |
| "@types/react": "19.1.8", |
| "@types/react-dom": "19.1.6", |
| "@types/uuid": "^9.0.8", |
| "@types/webextension-polyfill": "^0.12.3", |
| "@types/yargs": "^17.0.32", |
| "@typescript-eslint/eslint-plugin": "7.18.0", |
| "@typescript-eslint/parser": "7.18.0", |
| "@vitejs/plugin-react": "^4.2.0", |
| "@vitest/coverage-v8": "1.6.0", |
| "@vitest/ui": "1.6.0", |
| "autoprefixer": "^10.4.17", |
| "babel-jest": "29.7.0", |
| "cross-env": "^10.0.0", |
| "eslint": "8.57.0", |
| "eslint-config-next": "16.2.6", |
| "eslint-config-prettier": "^9.0.0", |
| "eslint-plugin-import": "2.27.5", |
| "eslint-plugin-jsx-a11y": "6.7.1", |
| "eslint-plugin-react": "7.32.2", |
| "eslint-plugin-react-hooks": "4.6.0", |
| "fs-extra": "^11.3.0", |
| "jest": "29.7.0", |
| "jest-environment-jsdom": "29.7.0", |
| "jest-environment-node": "^29.4.1", |
| "jest-junit": "^16.0.0", |
| "jest-mock-extended": "^4.0.0-beta1", |
| "jsdom": "~22.1.0", |
| "nodemon": "^3.1.9", |
| "postcss": "8.4.38", |
| "prettier": "^2.6.2", |
| "prisma": "6.5.0", |
| "react-refresh": "^0.10.0", |
| "ts-jest": "^29.1.0", |
| "ts-node": "10.9.2", |
| "tsup": "^8.5.0", |
| "typescript": "5.5.4", |
| "vite": "^6.3.5", |
| "vite-tsconfig-paths": "^5.1.4", |
| "vitest": "3.1.4" |
| }, |
| "volta": { |
| "node": "20.17.0" |
| }, |
| "jest-junit": { |
| "outputDirectory": "./reports", |
| "outputName": "junit.xml" |
| }, |
| "pnpm": { |
| "overrides": { |
| "next": "16.2.6", |
| "react": "19.2.4", |
| "react-dom": "19.2.4", |
| "@types/react": "19.1.8", |
| "@types/react-dom": "19.1.6" |
| }, |
| "onlyBuiltDependencies": [ |
| "bcrypt" |
| ] |
| } |
| } |
|
|