- Add Buddy linking via QR code/handshake (buddy_invites table) - Add Bulk Scanner for rapid-fire bottle scanning in sessions - Add processing_status to bottles for background AI analysis - Fix offline OCR with proper tessdata caching in Service Worker - Fix Supabase GoTrueClient singleton warning - Add collection refresh after offline sync completes New components: - BuddyHandshake.tsx - QR code display and code entry - BulkScanSheet.tsx - Camera UI with capture queue - BottleSkeletonCard.tsx - Pending bottle display - useBulkScanner.ts - Queue management hook - buddy-link.ts - Server actions for buddy linking - bulk-scan.ts - Server actions for batch processing
68 lines
1.7 KiB
JSON
68 lines
1.7 KiB
JSON
{
|
|
"name": "whisky-vault",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"packageManager": "pnpm@9.12.0",
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"test:unit": "vitest run",
|
|
"test:e2e": "playwright test"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/google": "^2.0.51",
|
|
"@google/generative-ai": "^0.24.1",
|
|
"@mistralai/mistralai": "^1.11.0",
|
|
"@supabase/ssr": "^0.5.2",
|
|
"@supabase/supabase-js": "^2.47.10",
|
|
"@tanstack/react-query": "^5.62.7",
|
|
"ai": "^5.0.116",
|
|
"browser-image-compression": "^2.0.2",
|
|
"canvas-confetti": "^1.9.3",
|
|
"dexie": "^4.2.1",
|
|
"dexie-react-hooks": "^4.2.0",
|
|
"framer-motion": "^12.23.26",
|
|
"fuse.js": "^7.1.0",
|
|
"heic2any": "^0.0.4",
|
|
"lucide-react": "^0.468.0",
|
|
"nanoid": "^5.1.6",
|
|
"next": "16.1.0",
|
|
"openai": "^6.15.0",
|
|
"react": "^19.2.0",
|
|
"react-dom": "^19.2.0",
|
|
"react-qr-code": "^2.0.18",
|
|
"recharts": "^3.6.0",
|
|
"sharp": "^0.34.5",
|
|
"tesseract.js": "^7.0.0",
|
|
"uuid": "^13.0.0",
|
|
"zod": "^3.23.8",
|
|
"zod-to-json-schema": "^3.25.0"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.57.0",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.1",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"@types/uuid": "^10.0.0",
|
|
"@vitejs/plugin-react": "^5.1.2",
|
|
"autoprefixer": "^10.0.1",
|
|
"eslint": "^8",
|
|
"eslint-config-next": "16.1.0",
|
|
"jsdom": "^27.3.0",
|
|
"postcss": "^8",
|
|
"tailwindcss": "^3.3.0",
|
|
"typescript": "^5",
|
|
"vitest": "^4.0.16"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"esbuild",
|
|
"sharp",
|
|
"unrs-resolver"
|
|
]
|
|
}
|
|
} |