{ "name": "webapp", "private": true, "sideEffects": false, "type": "module", "scripts": { "build": "remix vite:build", "dev": "node ./server.mjs", "lint": "eslint --fix --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .", "lint:fix": "eslint 'app/**/*.{ts,tsx,js,jsx}' --rule 'turbo/no-undeclared-env-vars:error' -f table", "start": "remix-serve ./build/server/index.js", "typecheck": "tsc", "trigger:dev": "pnpm dlx trigger.dev@4.0.0-v4-beta.22 dev", "trigger:deploy": "pnpm dlx trigger.dev@4.0.0-v4-beta.22 deploy" }, "dependencies": { "@ai-sdk/anthropic": "^1.2.12", "@ai-sdk/google": "^1.2.22", "@ai-sdk/openai": "^1.3.21", "@coji/remix-auth-google": "^4.2.0", "@conform-to/react": "^0.6.1", "@conform-to/zod": "^0.6.1", "@core/database": "workspace:*", "@core/mcp-proxy": "workspace:*", "@core/types": "workspace:*", "@mjackson/headers": "0.11.1", "@modelcontextprotocol/sdk": "1.13.2", "@nichtsam/remix-auth-email-link": "3.0.0", "@opentelemetry/api": "1.9.0", "@prisma/client": "*", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-avatar": "^1.1.10", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-collapsible": "^1.1.11", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-scroll-area": "^1.0.5", "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slider": "^1.3.5", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-tabs": "^1.0.4", "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-tooltip": "^1.2.7", "@remix-run/express": "2.16.7", "@remix-run/node": "2.1.0", "@remix-run/react": "2.16.7", "@remix-run/router": "^1.15.3", "@remix-run/serve": "2.16.7", "@remix-run/server-runtime": "2.16.7", "@remix-run/v1-meta": "^0.1.3", "@remixicon/react": "^4.2.0", "@tailwindcss/container-queries": "^0.1.1", "@tailwindcss/postcss": "^4.1.7", "@tanstack/react-table": "^8.13.2", "@tiptap/extension-code-block": "2.11.9", "@tiptap/extension-code-block-lowlight": "^2.11.9", "@tiptap/extension-document": "^2.11.9", "@tiptap/extension-hard-break": "^2.11.9", "@tiptap/extension-heading": "2.11.9", "@tiptap/extension-history": "^2.11.9", "@tiptap/extension-paragraph": "^2.11.9", "@tiptap/extension-table": "2.11.9", "@tiptap/extension-table-cell": "2.11.9", "@tiptap/extension-table-header": "2.11.9", "@tiptap/extension-table-row": "2.11.9", "@tiptap/extension-text": "^2.11.9", "@tiptap/pm": "^2.11.9", "@tiptap/react": "^2.11.9", "@tiptap/starter-kit": "2.11.9", "@trigger.dev/react-hooks": "^4.0.0-v4-beta.22", "@trigger.dev/sdk": "^4.0.0-v4-beta.22", "ai": "4.3.14", "axios": "^1.10.0", "bullmq": "^5.53.2", "class-transformer": "0.5.1", "class-validator": "0.14.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^0.2.1", "compression": "^1.7.4", "cross-env": "^7.0.3", "d3": "^7.9.0", "date-fns": "^4.1.0", "dayjs": "^1.11.10", "emails": "workspace:*", "exa-js": "^1.8.20", "execa": "^9.6.0", "express": "^4.18.1", "fast-sort": "^3.4.0", "graphology": "^0.26.0", "graphology-layout-force": "^0.2.4", "graphology-layout-forceatlas2": "^0.10.1", "graphology-layout-noverlap": "^0.4.2", "handlebars": "^4.7.8", "ioredis": "^5.6.1", "isbot": "^4.1.0", "jose": "^5.2.3", "lowlight": "^3.3.0", "lucide-react": "^0.511.0", "morgan": "^1.10.0", "nanoid": "3.3.8", "neo4j-driver": "^5.28.1", "non.geist": "^1.0.2", "novel": "^1.0.2", "ollama-ai-provider": "1.2.0", "posthog-js": "^1.116.6", "react": "^18.2.0", "react-dom": "^18.2.0", "react-resizable-panels": "^1.0.9", "react-virtualized": "^9.22.6", "remix-auth": "^4.2.0", "remix-auth-oauth2": "^3.4.1", "remix-themes": "^2.0.4", "remix-typedjson": "0.3.1", "remix-utils": "^7.7.0", "sdk": "link:@modelcontextprotocol/sdk", "sigma": "^3.0.2", "simple-oauth2": "^5.1.0", "tailwind-merge": "^2.6.0", "tailwind-scrollbar-hide": "^2.0.0", "tailwindcss-animate": "^1.0.7", "tailwindcss-textshadow": "^2.1.3", "tiny-invariant": "^1.3.1", "zod": "3.23.8", "zod-error": "1.5.0", "zod-validation-error": "^1.5.0" }, "devDependencies": { "@remix-run/dev": "2.16.7", "@remix-run/eslint-config": "2.16.7", "@remix-run/testing": "^2.16.7", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/typography": "^0.5.16", "@tailwindcss/vite": "^4.1.7", "@trigger.dev/build": "^4.0.0-v4-beta.22", "@types/compression": "^1.7.2", "@types/d3": "^7.4.3", "@types/express": "^4.17.13", "@types/morgan": "^1.9.3", "@types/react": "^18.2.20", "@types/react-dom": "^18.2.7", "@types/react-virtualized": "^9.22.0", "@types/simple-oauth2": "^5.0.7", "@typescript-eslint/eslint-plugin": "^6.7.4", "@typescript-eslint/parser": "^6.7.4", "autoprefixer": "^10.4.19", "css-loader": "^6.10.0", "esbuild": "^0.25.5", "eslint": "^8.24.0", "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-turbo": "^2.0.4", "npm-run-all": "^4.1.5", "postcss": "^8.4.38", "postcss-import": "^16.0.1", "postcss-loader": "^8.1.1", "prettier": "^3.5.3", "prettier-plugin-tailwindcss": "^0.6.11", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "4.1.7", "typescript": "5.8.3", "vite": "^6.0.0", "vite-tsconfig-paths": "^4.2.1" }, "engines": { "node": ">=20.0.0" } }