mirror of
https://github.com/cita-777/metapi.git
synced 2026-10-31 19:47:31 +08:00
- Implement tests for TokenRouter downstream policy, covering allowedRouteIds and site weight multipliers. - Add tests for TokenRouter patterns and model mapping, including regex pattern matching and model mapping precedence. - Create tests for BrandIcon component to verify brand detection logic. - Develop tests for Accounts page, focusing on rebind panel behavior and refresh action on error. - Introduce fuzzy search utility tests to validate substring and subsequence matching. - Implement navigation focus helpers tests for building and parsing focus paths. - Add progressive render tests to ensure correct initial and next visible counts. - Create route model candidates index tests to validate route candidate indexing and matching logic.
84 lines
2.4 KiB
JSON
84 lines
2.4 KiB
JSON
{
|
|
"name": "metapi",
|
|
"version": "1.2.0",
|
|
"description": "Meta-layer management and unified proxy for AI API aggregation platforms",
|
|
"keywords": [
|
|
"ai",
|
|
"api-gateway",
|
|
"proxy",
|
|
"fastify",
|
|
"openai",
|
|
"claude",
|
|
"aggregator"
|
|
],
|
|
"homepage": "https://github.com/cita-777/metapi#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/cita-777/metapi/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/cita-777/metapi.git"
|
|
},
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "concurrently \"tsx watch src/server/index.ts\" \"vite\"",
|
|
"build:web": "vite build",
|
|
"build:server": "tsc -p tsconfig.server.json",
|
|
"build": "npm run build:web && npm run build:server",
|
|
"docs:dev": "vitepress dev docs --host 0.0.0.0 --port 4173",
|
|
"docs:build": "vitepress build docs",
|
|
"docs:preview": "vitepress preview docs --host 0.0.0.0 --port 4173",
|
|
"start": "node dist/server/index.js",
|
|
"db:generate": "drizzle-kit generate",
|
|
"db:migrate": "tsx src/server/db/migrate.ts",
|
|
"test": "vitest run --root .",
|
|
"test:watch": "vitest --root ."
|
|
},
|
|
"dependencies": {
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@fastify/cors": "^11.2.0",
|
|
"@fastify/static": "^9.0.0",
|
|
"@visactor/react-vchart": "^2.0.16",
|
|
"better-sqlite3": "^11.3.0",
|
|
"dotenv": "^16.4.5",
|
|
"drizzle-orm": "^0.36.4",
|
|
"fastify": "^5.7.4",
|
|
"minimatch": "^10.2.4",
|
|
"minimist": "^1.2.8",
|
|
"node-cron": "^3.0.3",
|
|
"nodemailer": "^8.0.1",
|
|
"undici": "^6.20.1"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@types/better-sqlite3": "^7.6.11",
|
|
"@types/node": "^22.10.1",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/nodemailer": "^7.0.11",
|
|
"@types/react": "^18.3.12",
|
|
"@types/react-dom": "^18.3.1",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"concurrently": "^9.1.0",
|
|
"drizzle-kit": "^0.28.1",
|
|
"mermaid": "^11.12.3",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-router-dom": "^6.28.0",
|
|
"react-test-renderer": "^18.3.1",
|
|
"sharp": "^0.34.5",
|
|
"tailwindcss": "^4.0.0",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.7.2",
|
|
"vite": "^6.0.3",
|
|
"vitepress": "^1.6.4",
|
|
"vitepress-plugin-mermaid": "^2.0.17",
|
|
"vitest": "^2.1.8"
|
|
},
|
|
"overrides": {
|
|
"minimist": "^1.2.8"
|
|
}
|
|
}
|