{ "name": "server", "version": "1.0.0", "description": "", "main": "src/index.ts", "scripts": { "dev": "tsx watch src/index.ts", "start": "tsx src/index.ts", "build": "tsc", "typecheck": "tsc --noEmit", "backfill-artwork": "tsx scripts/backfill-artwork.ts" }, "keywords": [], "author": "", "license": "CC BY-NC-SA-4.0", "type": "module", "dependencies": { "@ai-sdk/google": "^3.0.53", "@ai-sdk/openai": "^3.0.48", "@hono/node-server": "^1.19.11", "@mastra/core": "^1.17.0", "better-sqlite3": "^12.4.1", "dotenv": "^17.4.2", "drizzle-orm": "^0.45.1", "ffmpeg-static": "^5.3.0", "ffprobe-static": "^3.1.0", "fluent-ffmpeg": "^2.1.3", "hono": "^4.12.9", "pino": "^10.3.1", "sharp": "^0.34.5", "uuid": "^13.0.0", "zod": "^4.3.6" }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", "@types/fluent-ffmpeg": "^2.1.28", "@types/node": "^25.5.0", "@types/uuid": "^10.0.0", "drizzle-kit": "^0.31.10", "mysql2": "^3.22.5", "tsx": "^4.21.0", "typescript": "^6.0.2" }, "pnpm": { "onlyBuiltDependencies": [ "ffmpeg-static", "ffprobe-static" ] } }