{ "name": "morphic", "version": "1.10.0", "private": true, "license": "Apache-2.0", "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "eslint .", "typecheck": "tsc --noEmit", "format": "prettier --write .", "format:check": "prettier --check .", "migrate": "bun run lib/db/migrate.ts", "backfill:file-keys": "bun run scripts/backfill-file-object-keys.ts", "test": "NODE_ENV=test vitest run", "test:watch": "vitest --watch", "chat": "bun run scripts/chat-cli.ts", "eval:draft-edits": "bun run evals/run-draft-edits.ts", "eval:related-questions": "bun run evals/run-related-questions.ts", "eval:source-cards": "bun run evals/run-source-cards.ts" }, "dependencies": { "@ai-sdk/anthropic": "^4.0.87", "@ai-sdk/gateway": "^4.0.125", "@ai-sdk/google": "^4.0.104", "@ai-sdk/openai": "^4.0.101", "@ai-sdk/openai-compatible": "^3.0.77", "@ai-sdk/react": "^4.0.156", "@aws-sdk/client-s3": "3.859.0", "@aws-sdk/s3-request-presigner": "3.859.0", "@json-render/core": "0.21.2", "@json-render/react": "0.21.2", "@langfuse/client": "^5.10.1", "@langfuse/otel": "^5.10.1", "@langfuse/tracing": "^5.10.1", "@langfuse/vercel-ai-sdk": "^5.10.1", "@opentelemetry/api": "^1.9.0", "@opentelemetry/api-logs": "0.220.0", "@opentelemetry/core": "^2.9.0", "@opentelemetry/instrumentation": "0.220.0", "@opentelemetry/resources": "^2.9.0", "@opentelemetry/sdk-logs": "0.220.0", "@opentelemetry/sdk-trace-base": "^2.9.0", "@paralleldrive/cuid2": "^2.2.2", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-avatar": "^1.1.9", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-collapsible": "^1.0.3", "@radix-ui/react-dialog": "^1.1.11", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-hover-card": "^1.1.15", "@radix-ui/react-label": "^2.1.6", "@radix-ui/react-popover": "^1.1.5", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-separator": "^1.1.4", "@radix-ui/react-slider": "^1.1.2", "@radix-ui/react-slot": "^1.2.2", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-toggle": "^1.1.1", "@radix-ui/react-tooltip": "^1.2.4", "@streamdown/math": "^1.0.2", "@supabase/auth-helpers-nextjs": "^0.10.0", "@supabase/auth-ui-react": "^0.4.7", "@supabase/auth-ui-shared": "^0.1.8", "@supabase/ssr": "^0.6.1", "@supabase/supabase-js": "^2.49.4", "@tabler/icons-react": "^3.44.0", "@tailwindcss/typography": "^0.5.12", "@upstash/redis": "^1.35.5", "@vercel/analytics": "^1.5.0", "@vercel/otel": "^2.1.3", "ai": "^7.0.152", "ai-sdk-ollama": "^4.5.1", "better-auth": "^1.7.16", "botid": "^1.5.12", "class-variance-authority": "^0.7.1", "clsx": "^2.1.0", "cmdk": "1.0.0", "dotenv": "^17.2.1", "drizzle-kit": "^0.31.4", "drizzle-orm": "0.45.2", "embla-carousel-react": "^8.0.0", "exa-js": "^1.0.12", "js-tiktoken": "^1.0.20", "jsdom": "^26.1.0", "katex": "^0.18.2", "next": "^16.2.6", "node-html-parser": "^6.1.13", "nodemailer": "^10.0.15", "postgres": "^3.4.5", "posthog-js": "^1.382.0", "posthog-node": "^5.36.4", "react": "^19.3.1", "react-dom": "^19.3.1", "react-textarea-autosize": "^8.5.3", "redis": "^4.7.0", "sonner": "^1.4.41", "streamdown": "^2.5.0", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7", "undici": "^7", "vaul": "^1.1.2", "zod": "^4.6.5" }, "devDependencies": { "@tailwindcss/postcss": "^4.1.11", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@types/jsdom": "^21.1.7", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", "@vitejs/plugin-react": "^4.4.1", "eslint": "^9", "eslint-config-next": "^16.2.3", "eslint-plugin-simple-import-sort": "^12.1.1", "postcss": "^8", "prettier": "^3.6.2", "tailwindcss": "^4.1.11", "typescript": "^5", "vitest": "^4.1.0" }, "engines": { "node": "22.x" }, "overrides": { "@ai-sdk/otel": "^1.0.152", "katex": "^0.18.2" } }