{ "name": "flowwink", "displayName": "FlowWink", "private": true, "version": "4.0.0", "license": "MIT", "type": "module", "scripts": { "predev": "node scripts/run-migrations.js", "dev": "vite", "prebuild": "node scripts/run-migrations.js", "build": "vite build", "build:dev": "vite build --mode development", "lint": "eslint .", "lint:correctness": "bun run scripts/lint-correctness-gate.ts", "preview": "vite preview", "cli": "bash scripts/flowwink.sh", "sync-blocks": "bun run scripts/sync-block-schema.ts", "verify:hr-modules": "npx -y tsx scripts/verify-hr-modules.ts", "verify:mcp-invariant": "npx -y tsx scripts/verify-mcp-invariant.ts", "pretest:mcp": "npm run verify:hr-modules", "test:mcp-regression": "npx -y tsx scripts/mcp-regression.ts", "test:timesheet-regression": "npx -y tsx scripts/timesheet-regression.ts", "lint:skill": "bun run scripts/skill-linter.ts", "lint:skills": "bun run scripts/skill-linter.ts", "lint:handler-args": "bun run scripts/handler-args-lint.ts", "lint:agent-contract": "bun run scripts/handler-args-lint.ts && bun run scripts/skill-linter.ts", "new:module": "bun run scripts/new-module.ts", "check:doc-drift": "bun run scripts/check-doc-drift.ts", "docs:modules": "bun run scripts/generate-module-docs.ts", "docs:edge-functions": "bun run scripts/generate-edge-function-docs.ts", "docs:frontmatter": "bun run scripts/normalize-doc-frontmatter.ts", "docs:process-map": "bun run scripts/process-map/build.ts", "parity:report": "bun run scripts/parity-report.ts", "parity:check": "bun run scripts/parity-report.ts --check", "skills:json": "bun run scripts/skills-to-json.ts", "edge-map:json": "bun run scripts/edge-functions-to-json.ts", "sync:skills": "bun run scripts/sync-skills.ts", "fleet:status": "bun run scripts/fleet-status.ts", "local:smoke": "bun run scripts/local-smoke.ts", "qa:prep": "bun run scripts/process-battery/prep-local-stack.ts", "qa:quiet": "bun run scripts/quiet-by-default.ts", "qa:processes": "bun run scripts/process-battery/run.ts", "qa:views": "bun run scripts/view-sweep/index.ts", "qa:open-access": "bun run scripts/open-access.ts", "qa:process-views": "bun run scripts/process-views/index.ts", "flowpilot:sim": "bun run scripts/flowpilot-simulate.ts", "manifest:json": "bun run scripts/generate-instance-manifest.ts", "migrations:redate": "bun run scripts/redate-migrations.ts", "artifacts:build": "bun run scripts/generated-artifacts.ts --build", "artifacts:check": "bun run scripts/generated-artifacts.ts --check-untouched", "ui-text:catalog": "node scripts/ui-text-catalog.mjs", "lint:ratchet": "node scripts/eslint-ratchet.mjs", "typecheck:edge": "node scripts/deno-typecheck.mjs", "qa:public-blocks": "bun run scripts/public-blocks/index.ts", "qa:webmeet": "node scripts/webmeet-call-check/run.mjs" }, "dependencies": { "@codemirror/lang-html": "^6.4.11", "@codemirror/lang-json": "^6.0.2", "@codemirror/state": "6.5.2", "@codemirror/view": "6.39.4", "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@fullcalendar/core": "^6.1.20", "@fullcalendar/daygrid": "^6.1.20", "@fullcalendar/interaction": "^6.1.20", "@fullcalendar/list": "^6.1.20", "@fullcalendar/react": "^6.1.20", "@fullcalendar/timegrid": "^6.1.20", "@google/model-viewer": "^4.4.0", "@hookform/resolvers": "^5.9.2", "@lottiefiles/react-lottie-player": "^3.6.0", "@radix-ui/react-accordion": "^1.2.11", "@radix-ui/react-alert-dialog": "^1.1.14", "@radix-ui/react-aspect-ratio": "^1.1.7", "@radix-ui/react-avatar": "^1.1.10", "@radix-ui/react-checkbox": "^1.3.2", "@radix-ui/react-collapsible": "^1.1.11", "@radix-ui/react-context-menu": "^2.2.15", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-hover-card": "^1.1.14", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-menubar": "^1.1.15", "@radix-ui/react-navigation-menu": "^1.2.13", "@radix-ui/react-popover": "^1.1.14", "@radix-ui/react-progress": "^1.1.7", "@radix-ui/react-radio-group": "^1.3.7", "@radix-ui/react-scroll-area": "^1.2.9", "@radix-ui/react-select": "^2.2.5", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slider": "^1.3.5", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.2.5", "@radix-ui/react-tabs": "^1.1.12", "@radix-ui/react-toast": "^1.2.14", "@radix-ui/react-toggle": "^1.1.9", "@radix-ui/react-toggle-group": "^1.1.10", "@radix-ui/react-tooltip": "^1.2.7", "@supabase/supabase-js": "^2.87.1", "@tanstack/react-query": "^5.83.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.1", "@tiptap/core": "3.32.0", "@tiptap/extension-image": "^3.32.0", "@tiptap/extension-link": "^3.32.0", "@tiptap/extension-placeholder": "^3.32.0", "@tiptap/react": "^3.32.0", "@tiptap/starter-kit": "^3.32.0", "@types/dompurify": "^3.2.0", "@types/jssip": "^3.5.4", "@types/papaparse": "^5.5.2", "@types/turndown": "^5.0.5", "@uiw/react-codemirror": "^4.25.4", "@vercel/og": "^0.6.8", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^3.6.0", "dompurify": "^3.4.17", "embla-carousel-autoplay": "^8.6.0", "embla-carousel-react": "^8.6.0", "heic2any": "^0.0.4", "input-otp": "^1.4.2", "json5": "^2.2.3", "jspdf": "^4.2.1", "jspdf-autotable": "^5.0.8", "jssip": "^3.13.8", "jszip": "^3.10.1", "lucide-react": "^0.462.0", "marked": "^14.1.4", "next-themes": "^0.3.0", "papaparse": "^5.5.4", "pdfjs-dist": "^6.5.438", "react": "^18.3.1", "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", "react-helmet-async": "^2.0.5", "react-hook-form": "^7.61.1", "react-image-crop": "^11.0.10", "react-markdown": "^10.1.0", "react-resizable-panels": "^2.1.9", "react-router-dom": "^7.18.5", "recharts": "^2.15.4", "remark-gfm": "^4.0.1", "sonner": "^1.7.4", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7", "turndown": "^7.2.4", "vaul": "^0.9.9", "zod": "^4.6.7" }, "devDependencies": { "@eslint/js": "^9.32.0", "@tailwindcss/typography": "^0.5.16", "@types/node": "^22.16.5", "@types/pg": "^8.20.0", "@types/react": "^18.3.23", "@types/react-dom": "^18.3.7", "@vitejs/plugin-react-swc": "^3.11.0", "autoprefixer": "^10.4.21", "eslint": "^9.39.2", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "globals": "^15.15.0", "jsdom": "^27.4.0", "pg": "^8.20.0", "playwright-core": "^1.63.0", "postcss": "^8.5.31", "tailwindcss": "^3.4.17", "typescript": "^5.8.3", "typescript-eslint": "^8.56.0", "vite": "^5.4.19", "vitest": "^4.0.16" }, "overrides": { "@tiptap/core": "3.32.0", "@codemirror/state": "6.5.2", "@codemirror/view": "6.39.4", "lodash": "^4.18.1", "ws": "^8.22.1", "yaml": "^2.9.1", "picomatch@^2": "2.3.2", "picomatch@^4": "^4.0.7", "fflate@^0.8": "^0.8.3", "postcss-selector-parser@^6": "^6.1.5", "fflate@^0.7": "0.7.5" }, "resolutions": { "@tiptap/core": "3.13.0", "@codemirror/state": "6.5.2", "@codemirror/view": "6.39.4" } }