{ "name": "polka", "version": "0.19.0", "description": "Полка: a private shelf for AI-made HTML artifacts, reports and files, with expiring share links.", "license": "AGPL-3.0-only", "repository": { "type": "git", "url": "git+https://github.com/artkruglov/polka.git" }, "homepage": "https://polochka.app", "bugs": { "url": "https://github.com/artkruglov/polka/issues" }, "private": true, "type": "module", "bin": { "polka-publish": "scripts/polka-publish.mjs" }, "engines": { "node": ">=22.16" }, "scripts": { "dev": "tsx --env-file=.env apps/server/main.ts", "dev:web": "vite --config apps/web/vite.config.ts", "build": "vite build --config apps/web/vite.config.ts", "check": "npm run check:layers && npm run check:format && npm run lint && tsc --noEmit && tsc --noEmit -p extensions/chrome && tsc --noEmit -p extensions/bookmarklet", "ext:build": "tsc --noEmit -p extensions/chrome && node extensions/chrome/build.mjs", "test": "tsx --env-file=.env scripts/test-isolated.ts", "db:migrate": "tsx --env-file=.env scripts/migrate.ts", "admin": "tsx --env-file=.env scripts/admin.ts", "local:setup": "node scripts/local-setup.mjs", "hosted:setup": "node scripts/hosted-setup.mjs", "infra:up": "docker compose --env-file=.env -f deploy/compose.local.yml up -d --wait", "infra:stop": "docker compose --env-file=.env -f deploy/compose.local.yml stop", "maintenance": "tsx --env-file=.env scripts/maintenance.ts", "format": "prettier --write \"apps/**/*.{ts,tsx,mjs,js,css}\" \"packages/**/*.{ts,mjs}\" \"scripts/**/*.{ts,mjs}\" \"tests/**/*.{ts,mjs}\" \"extensions/**/*.{ts,js,mjs,css}\"", "check:format": "prettier --check --log-level=warn \"apps/**/*.{ts,tsx,mjs,js,css}\" \"packages/**/*.{ts,mjs}\" \"scripts/**/*.{ts,mjs}\" \"tests/**/*.{ts,mjs}\" \"extensions/**/*.{ts,js,mjs,css}\"", "test:restore-guards": "tsx --test tests/restore-drill.test.ts", "test:url-import-runtime": "tsx --env-file=.env scripts/test-url-import-runtime.ts", "test:url-import-restricted": "tsx --env-file=.env scripts/test-url-import-runtime.ts --restricted", "test:renderer-runtime": "tsx scripts/test-renderer-runtime.ts", "storage:bootstrap-local": "tsx --env-file=.env scripts/local-storage-bootstrap.ts --confirm-local-bootstrap", "maintenance:watch": "tsx --env-file=.env scripts/maintenance-runner.ts", "check:layers": "tsx scripts/check-frontend-layers.ts", "lint": "oxlint apps packages scripts tests extensions", "check:links": "node scripts/check-doc-links.mjs", "ops:uptime": "node scripts/ci/uptime.mjs", "gen:skill": "tsx --env-file=.env scripts/gen-skill.ts", "verify": "node scripts/verify.mjs", "test:live": "tsx --env-file=.env scripts/test-isolated.ts --live", "test:runtime-grants": "tsx --env-file=.env scripts/test-runtime-grants-isolated.ts --confirm-synthetic" }, "dependencies": { "@aws-sdk/client-s3": "3.1149.0", "@fastify/cookie": "11.1.3", "@fastify/static": "10.1.6", "@modelcontextprotocol/fastify": "2.0.1", "@modelcontextprotocol/node": "2.1.1", "@modelcontextprotocol/server": "2.3.1", "@smithy/node-http-handler": "4.12.1", "acorn": "8.19.0", "chart.js": "4.5.1", "d3": "7.9.0", "entities": "8.1.0", "esbuild": "0.28.2", "fastify": "5.12.5", "lodash": "4.18.1", "lucide-react": "1.55.0", "marked": "18.1.0", "mathjs": "15.2.0", "nodemailer": "10.1.0", "papaparse": "5.7.0", "parse5": "8.0.1", "pdfjs-dist": "6.3.289", "pg": "8.23.1", "pino": "10.4.0", "postcss": "8.5.29", "react": "19.3.0", "react-dom": "19.3.0", "recharts": "3.10.1", "saxes": "6.0.0", "tailwindcss": "4.3.3", "three": "0.186.1", "tldts": "7.4.18", "tsx": "4.23.15", "zod": "4.6.6" }, "devDependencies": { "@modelcontextprotocol/client": "2.3.1", "@types/node": "26.6.5", "@types/nodemailer": "8.0.2", "@types/pg": "8.23.1", "@types/react": "19.3.0", "@types/react-dom": "19.3.0", "@vitejs/plugin-react": "6.1.2", "oxlint": "1.87.0", "playwright-core": "1.64.1", "prettier": "3.9.10", "rolldown": "1.2.13", "typescript": "7.0.2", "vite": "8.3.4" } }