Files
upage/package.json
Takagi a3314ac86c refactor: reconstructing AI interaction logic based on agents (#26)
* refactor: reconstructing AI interaction logic based on agents

* refactor: reconstructing AI interaction logic based on agents

* fix: test
2026-04-30 12:47:33 +08:00

153 lines
5.0 KiB
JSON

{
"name": "upage",
"version": "1.0.1",
"private": true,
"description": "使用人工智能构建可视化网页",
"sideEffects": false,
"type": "module",
"scripts": {
"dev": "node pre-start.mjs && react-router dev",
"build": "react-router build",
"preview": "pnpm run build && pnpm run start",
"start": "cross-env NODE_ENV=production node ./server.mjs",
"check": "biome check --write --no-errors-on-unmatched .",
"check:stage": "biome check --write --staged --no-errors-on-unmatched",
"clean": "node scripts/clean.js",
"setup": "prisma migrate deploy && prisma generate",
"docker:build": "docker build -t upage-ai:production -t upage-ai:latest --target runtime .",
"docker:dev:run": "docker compose -f docker-compose-dev.yaml up",
"docker:prod:run": "docker compose -f docker-compose-prod.yaml up",
"prepare": "husky || true",
"test": "vitest --run",
"test:watch": "vitest",
"typecheck": "react-router typegen && tsc",
"docs:start": "pnpm --filter upage-docs run start",
"docs:build": "pnpm --filter upage-docs run build",
"docs:serve": "pnpm --filter upage-docs run serve"
},
"dependencies": {
"@agentic/ai-sdk": "^8.4.4",
"@agentic/serper": "^8.4.4",
"@agentic/weather": "^7.6.9",
"@ai-sdk/amazon-bedrock": "^4.0.96",
"@ai-sdk/anthropic": "^3.0.71",
"@ai-sdk/cohere": "^3.0.30",
"@ai-sdk/deepseek": "^2.0.29",
"@ai-sdk/google": "^3.0.64",
"@ai-sdk/mistral": "^3.0.30",
"@ai-sdk/openai": "^3.0.53",
"@ai-sdk/openai-compatible": "^2.0.41",
"@ai-sdk/react": "^3.0.170",
"@floating-ui/react": "^0.27.16",
"@headlessui/react": "^2.2.9",
"@iconify-json/svg-spinners": "^1.2.4",
"@logto/node": "^3.1.6",
"@logto/react-router": "^1.0.0",
"@nanostores/react": "^1.0.0",
"@octokit/rest": "^22.0.0",
"@openrouter/ai-sdk-provider": "^1.2.0",
"@prisma/adapter-better-sqlite3": "^6.16.2",
"@prisma/client": "^6.16.2",
"@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-context-menu": "^2.2.16",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-progress": "^1.1.7",
"@radix-ui/react-scroll-area": "^1.2.10",
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-switch": "^1.2.6",
"@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/react-tooltip": "^1.2.8",
"@react-router/express": "^7.11.0",
"@react-router/node": "^7.11.0",
"ai": "^6.0.168",
"chalk": "^5.6.2",
"chart.js": "^4.5.0",
"class-variance-authority": "^0.7.1",
"classnames": "^2.5.1",
"compression": "^1.8.1",
"cors": "^2.8.5",
"cross-env": "^10.0.0",
"date-fns": "^4.1.0",
"diff": "^8.0.2",
"express": "^4.21.2",
"express-rate-limit": "^8.1.0",
"framer-motion": "^12.23.19",
"getdesign": "^0.6.7",
"isbot": "^5.1.30",
"js-cookie": "^3.0.5",
"js-tiktoken": "^1.0.21",
"jsdom": "^27.3.0",
"jspdf": "^3.0.3",
"jszip": "^3.10.1",
"lodash": "^4.17.21",
"morgan": "^1.10.1",
"nanostores": "^1.0.1",
"node-fetch": "^3.3.2",
"ollama-ai-provider-v2": "^1.3.1",
"path-browserify": "^1.0.1",
"prettier": "^3.6.2",
"prisma": "^6.16.2",
"react": "^19.2.3",
"react-chartjs-2": "^5.3.1",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.1",
"react-dom": "^19.2.3",
"react-frame-component": "^5.2.7",
"react-markdown": "^10.1.0",
"react-resizable-panels": "^3.0.6",
"react-router": "^7.11.0",
"react-window": "^2.2.3",
"rehype-raw": "^7.0.0",
"rehype-sanitize": "^6.0.0",
"remark-gfm": "^4.0.1",
"remix-utils": "^9.0.0",
"shiki": "^3.13.0",
"sonner": "^2.0.7",
"unified": "^11.0.5",
"unist-util-visit": "^5.0.0",
"uuid": "^13.0.0",
"winston": "^3.17.0",
"winston-daily-rotate-file": "^5.0.0",
"zod": "^4.1.11"
},
"devDependencies": {
"@biomejs/biome": "2.2.4",
"@iconify/json": "^2.2.387",
"@iconify/types": "^2.0.0",
"@octokit/types": "^15.0.0",
"@react-router/dev": "^7.11.0",
"@react-router/serve": "^7.11.0",
"@testing-library/jest-dom": "^6.8.0",
"@testing-library/react": "^16.3.0",
"@types/compression": "^1.8.1",
"@types/express": "^5.0.3",
"@types/js-cookie": "^3.0.6",
"@types/jsdom": "^27.0.0",
"@types/lodash": "^4.17.20",
"@types/path-browserify": "^1.0.3",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"@unocss/reset": "^66.5.2",
"@vitejs/plugin-react": "^5.1.0",
"concurrently": "^9.2.1",
"dotenv": "^17.2.2",
"fast-glob": "^3.3.3",
"husky": "9.1.7",
"pnpm": "^10.17.1",
"sass-embedded": "^1.93.1",
"typescript": "^5.9.2",
"unocss": "^66.5.2",
"vite": "^7.2.2",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^4.0.8"
},
"packageManager": "pnpm@9.4.0",
"engines": {
"node": ">=20.19.0"
}
}