Files

304 lines
22 KiB
JSON

{
"name": "projectbrain",
"version": "0.7.1",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"build:dev": "vite build --mode development",
"lint": "eslint .",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"test:e2e": "playwright test",
"test:e2e:desktop": "playwright test --project=chromium-desktop",
"test:e2e:mobile": "playwright test --project=chromium-mobile",
"test:e2e:real": "playwright test --config=playwright.real.config.ts",
"test:e2e:status": "playwright test --config=playwright.status.config.ts",
"preview": "vite preview",
"typecheck": "tsc -p tsconfig.app.json --noEmit && tsc -p tsconfig.node.json --noEmit",
"audit:typecheck-gate": "node scripts/check-typescript-gate.mjs",
"validate:frontend": "pnpm run typecheck && pnpm run lint && pnpm run build",
"validate:backend": "pnpm --filter projectbrain-api run typecheck && pnpm --filter projectbrain-api run build && pnpm --filter projectbrain-api run lint",
"validate:all": "pnpm run test:coverage && pnpm run validate:frontend && pnpm run validate:backend",
"audit:release": "node scripts/check-release-hygiene.mjs",
"smoke:backend:fixtures": "pnpm --filter projectbrain-api run smoke:fixtures",
"audit:runtime": "node scripts/check-runtime-readiness.mjs",
"smoke:backend:real-read-pilot": "pnpm --filter projectbrain-api run smoke:real-read-pilot",
"smoke:backend:vertical-slice": "pnpm --filter projectbrain-api run smoke:vertical-slice",
"smoke:backend:runtime-suite": "pnpm --filter projectbrain-api run smoke:runtime-suite && pnpm --filter projectbrain-api run smoke:system-readiness",
"smoke:backend:database-suite": "pnpm --filter projectbrain-api run smoke:database-suite",
"smoke:backend:p3": "pnpm --filter projectbrain-api run smoke:p3",
"doctor": "node scripts/projectbrain-doctor.mjs",
"docs:validation-matrix": "node scripts/generate-validation-matrix.mjs",
"docs:openapi": "node scripts/generate-openapi.mjs",
"audit:openapi": "node scripts/generate-openapi.mjs --check",
"audit:architecture": "node scripts/check-architecture-budget.mjs",
"release:metadata": "node scripts/generate-release-metadata.mjs",
"audit:release-metadata": "node scripts/verify-release-metadata.mjs",
"audit:docs": "node scripts/check-doc-links.mjs",
"freeze:v1": "node scripts/check-v1-contract-freeze.mjs --write",
"audit:v1-freeze": "node scripts/check-v1-contract-freeze.mjs",
"smoke:backend:p4": "pnpm --filter projectbrain-api run smoke:p4",
"smoke:backend:p5": "pnpm --filter projectbrain-api run smoke:p5",
"smoke:backend:p6": "pnpm --filter projectbrain-api run smoke:p6",
"smoke:backend:p7": "pnpm --filter projectbrain-api run smoke:p7",
"smoke:backend:project-loop": "pnpm --filter projectbrain-api run smoke:project-loop",
"smoke:backend:project-create": "pnpm --filter projectbrain-api run smoke:project-create",
"smoke:backend:p8": "pnpm --filter projectbrain-api run smoke:p8",
"smoke:rc60-review-decision-loop": "node scripts/smoke-rc60-review-decision-loop.mjs",
"smoke:rc63-release-evidence-lane": "node scripts/smoke-rc63-release-evidence-lane.mjs",
"audit:backend-contract": "pnpm --filter projectbrain-api run audit:contract",
"audit:csi": "node scripts/projectbrain-csi-audit.mjs",
"audit:database": "node scripts/check-database-readiness.mjs",
"audit:all": "pnpm audit:experience && pnpm audit:quality && pnpm audit:security && pnpm audit:data && pnpm audit:delivery",
"smoke:backend:system-readiness": "pnpm --filter projectbrain-api run smoke:system-readiness",
"smoke:backend:brainstorms": "pnpm --filter projectbrain-api run smoke:brainstorms",
"smoke:backend:initiatives": "pnpm --filter projectbrain-api run smoke:initiatives",
"audit:rc": "node scripts/check-rc-readiness.mjs",
"audit:docker": "node scripts/check-docker-build-readiness.mjs",
"audit:frontend-runtime": "node scripts/check-frontend-runtime-readiness.mjs",
"audit:visual": "node scripts/check-visual-polish.mjs",
"audit:guided-start": "node scripts/check-guided-start-readiness.mjs",
"audit:source-library": "node scripts/check-source-library-readiness.mjs",
"audit:history-center": "node scripts/check-history-center-readiness.mjs",
"audit:execution-center": "node scripts/check-execution-center-readiness.mjs",
"audit:repo-builder": "node scripts/check-repo-builder-readiness.mjs",
"audit:skills": "node scripts/check-skill-library-readiness.mjs",
"audit:repository-intake": "node scripts/check-repository-intake-readiness.mjs",
"audit:handoffs": "node scripts/check-codex-handoff-readiness.mjs",
"audit:handoff-review": "node scripts/check-handoff-review-readiness.mjs",
"audit:execution-feedback": "node scripts/check-execution-feedback-readiness.mjs",
"audit:review-closure": "node scripts/check-review-closure-readiness.mjs",
"audit:build-loop": "node scripts/check-build-loop-readiness.mjs",
"audit:build-loop-walkthrough": "node scripts/check-build-loop-walkthrough-readiness.mjs",
"audit:session-packs": "node scripts/check-session-pack-readiness.mjs",
"audit:session-pack-export": "node scripts/check-session-pack-export-readiness.mjs",
"audit:browser-bridge": "node scripts/check-browser-bridge-readiness.mjs",
"audit:release-consolidation": "node scripts/check-build-loop-release-consolidation.mjs",
"audit:visual-flow": "node scripts/check-visual-flow-readiness.mjs",
"audit:experience": "pnpm run audit:visual && pnpm run audit:guided-start && pnpm run audit:source-library && pnpm run audit:history-center && pnpm run audit:repo-builder && pnpm run audit:review-closure && pnpm run audit:build-loop && pnpm run audit:visual-flow",
"audit:unraid-template": "node scripts/check-unraid-template-readiness.mjs",
"audit:rc7-flow": "node scripts/check-rc7-product-flow-readiness.mjs",
"audit:rc8-release": "node scripts/check-rc8-release-evidence-readiness.mjs",
"audit:rc9-final": "node scripts/check-rc9-final-release-readiness.mjs",
"audit:rc10-operator": "node scripts/check-rc10-operator-guide-readiness.mjs",
"audit:rc11-post-rc": "node scripts/check-rc11-post-rc-monitoring-readiness.mjs",
"audit:rc12-product-experience": "node scripts/check-rc12-product-experience-readiness.mjs",
"audit:rc13-product-flow": "node scripts/check-rc13-product-flow-hardening-readiness.mjs",
"audit:rc14-project-operability": "node scripts/check-rc14-project-operability-readiness.mjs",
"audit:rc15-evidence-review": "node scripts/check-rc15-evidence-review-trust-readiness.mjs",
"audit:rc16-action-hygiene": "node scripts/check-rc16-action-hygiene-readiness.mjs",
"audit:rc17-daily-orientation": "node scripts/check-rc17-daily-orientation-readiness.mjs",
"audit:rc18-search-navigation": "node scripts/check-rc18-search-navigation-readiness.mjs",
"audit:rc19-prioritized-navigation": "node scripts/check-rc19-prioritized-navigation-readiness.mjs",
"audit:rc20-start-flow-clarity": "node scripts/check-rc20-start-flow-clarity-readiness.mjs",
"audit:rc21-workspace-complexity": "node scripts/check-rc21-workspace-complexity-readiness.mjs",
"audit:rc22-repo-builder-usability": "node scripts/check-rc22-repo-builder-usability-readiness.mjs",
"audit:rc23-history-proof-finder": "node scripts/check-rc23-history-proof-finder-readiness.mjs",
"audit:rc24-persistence-coverage": "node scripts/check-rc24-persistence-coverage-readiness.mjs",
"audit:rc25-build-identity": "node scripts/check-rc25-build-identity-readiness.mjs",
"audit:rc26-prompt-origin": "node scripts/check-rc26-prompt-origin-readiness.mjs",
"audit:rc27-delivery-flow-rail": "node scripts/check-rc27-delivery-flow-rail-readiness.mjs",
"audit:rc28-build-loop-status-signals": "node scripts/check-rc28-build-loop-status-signals-readiness.mjs",
"audit:rc29-project-creation-persistence": "node scripts/check-rc29-project-creation-persistence-readiness.mjs",
"audit:rc30-repo-scanner-handoff": "node scripts/check-rc30-repo-scanner-handoff-readiness.mjs",
"audit:rc31-session-pack-feedback-route": "node scripts/check-rc31-session-pack-feedback-route-readiness.mjs",
"audit:rc32-project-portfolio-sort": "node scripts/check-rc32-project-portfolio-sort-readiness.mjs",
"audit:rc33-settings-runtime": "node scripts/check-rc33-settings-runtime-readiness.mjs",
"audit:rc34-runtime-parity-copy": "node scripts/check-rc34-runtime-parity-copy-readiness.mjs",
"audit:rc35-card-copy-scan": "node scripts/check-rc35-card-copy-scan-readiness.mjs",
"audit:rc36-operator-public-url": "node scripts/check-rc36-operator-public-url-readiness.mjs",
"audit:rc37-mobile-handoff-impact": "node scripts/check-rc37-mobile-handoff-impact-readiness.mjs",
"audit:rc38-mobile-workspace-map": "node scripts/check-rc38-mobile-workspace-map-readiness.mjs",
"audit:rc39-release-evidence-persistence": "node scripts/check-rc39-release-evidence-persistence-readiness.mjs",
"audit:rc40-proof-timeline": "node scripts/check-rc40-proof-timeline-readiness.mjs",
"audit:rc41-project-loop": "node scripts/check-rc41-project-loop-readiness.mjs",
"audit:rc42-navigation-primary-path": "node scripts/check-rc42-navigation-primary-path-readiness.mjs",
"audit:rc43-project-create-real-mode": "node scripts/check-rc43-project-create-real-mode-readiness.mjs",
"audit:rc44-handoff-session-pack-polish": "node scripts/check-rc44-handoff-session-pack-polish-readiness.mjs",
"audit:rc45-unraid-ops-hardening": "node scripts/check-rc45-unraid-ops-hardening-readiness.mjs",
"audit:rc46-final-user-flow": "node scripts/check-rc46-final-user-flow-release-readiness.mjs",
"audit:rc47-next-step": "node scripts/check-rc47-next-step-operating-layer-readiness.mjs",
"audit:rc48-guided-session": "node scripts/check-rc48-guided-work-session-readiness.mjs",
"audit:rc49-guided-session-evidence": "node scripts/check-rc49-guided-session-evidence-readiness.mjs",
"audit:rc50-evidence-closure": "node scripts/check-rc50-evidence-review-closure-readiness.mjs",
"audit:rc51-evidence-routing": "node scripts/check-rc51-evidence-routing-readiness.mjs",
"audit:rc52-guided-follow-up": "node scripts/check-rc52-guided-follow-up-readiness.mjs",
"audit:rc53-review-decision-receipt": "node scripts/check-rc53-review-decision-receipt-readiness.mjs",
"audit:rc54-decision-receipt-history": "node scripts/check-rc54-decision-receipt-history-readiness.mjs",
"audit:rc55-review-action-clarity": "node scripts/check-rc55-review-action-clarity-readiness.mjs",
"audit:rc56-review-detail-compactness": "node scripts/check-rc56-review-detail-compactness-readiness.mjs",
"audit:rc57-mobile-review-action-flow": "node scripts/check-rc57-mobile-review-action-flow-readiness.mjs",
"audit:rc58-review-receipt-follow-through": "node scripts/check-rc58-review-receipt-follow-through-readiness.mjs",
"audit:rc59-decision-receipt-history-detail": "node scripts/check-rc59-decision-receipt-history-detail-readiness.mjs",
"audit:rc60-review-decision-loop-smoke": "node scripts/check-rc60-review-decision-loop-smoke-readiness.mjs",
"audit:rc61-review-loop-recovery": "node scripts/check-rc61-review-loop-recovery-readiness.mjs",
"audit:rc62-release-evidence-lane": "node scripts/check-rc62-release-evidence-lane-readiness.mjs",
"audit:rc63-release-evidence-lane-smoke": "node scripts/check-rc63-release-evidence-lane-smoke-readiness.mjs",
"audit:rc64-actionable-release-evidence-lane": "node scripts/check-rc64-actionable-release-evidence-lane-readiness.mjs",
"audit:rc65-action-copy-browser-smoke": "node scripts/check-rc65-action-copy-browser-smoke-readiness.mjs",
"audit:rc66-release-evidence-route-precision": "node scripts/check-rc66-release-evidence-route-precision-readiness.mjs",
"audit:rc67-release-lane-click-through": "node scripts/check-rc67-release-lane-click-through-readiness.mjs",
"audit:rc68-release-lane-destination-ack": "node scripts/check-rc68-release-lane-destination-ack-readiness.mjs",
"audit:rc69-receipt-review-route-ack": "node scripts/check-rc69-receipt-review-route-ack-readiness.mjs",
"smoke:release-operator": "node scripts/smoke-release-operator.mjs",
"audit:rc70-release-operator-smoke-suite": "node scripts/check-rc70-release-operator-smoke-suite-readiness.mjs",
"audit:rc71-release-operator-smoke-product-surface": "node scripts/check-rc71-release-operator-smoke-product-surface-readiness.mjs",
"audit:rc72-release-operator-proof-evidence": "node scripts/check-rc72-release-operator-proof-evidence-readiness.mjs",
"audit:rc73-release-evidence-capture-assist": "node scripts/check-rc73-release-evidence-capture-assist-readiness.mjs",
"smoke:rc73-release-evidence-capture-assist": "node scripts/smoke-rc73-release-evidence-capture-assist.mjs",
"audit:rc74-release-evidence-real-save": "node scripts/check-rc74-release-evidence-real-save-readiness.mjs",
"audit:rc75-release-evidence-recovery-links": "node scripts/check-rc75-release-evidence-recovery-links-readiness.mjs",
"smoke:rc76-release-evidence-api-recovery": "node scripts/smoke-rc76-release-evidence-api-recovery.mjs",
"audit:rc76-release-evidence-api-recovery": "node scripts/check-rc76-release-evidence-api-recovery-readiness.mjs",
"audit:rc77-release-evidence-hygiene": "node scripts/check-rc77-release-evidence-hygiene-readiness.mjs",
"audit:rc78-release-signoff": "node scripts/check-rc78-release-signoff-readiness.mjs",
"audit:rc79-release-signoff-capture-shortcuts": "node scripts/check-rc79-release-signoff-capture-shortcuts-readiness.mjs",
"audit:rc80-release-evidence-composer": "node scripts/check-rc80-release-evidence-composer-readiness.mjs",
"audit:rc81-release-evidence-review-actions": "node scripts/check-rc81-release-evidence-review-actions-readiness.mjs",
"audit:rc82-final-rc-go-no-go": "node scripts/check-rc82-final-rc-go-no-go-readiness.mjs",
"audit:rc83-release-tag-checklist": "node scripts/check-rc83-release-tag-checklist-readiness.mjs",
"audit:rc84-release-note-archive": "node scripts/check-rc84-release-note-archive-readiness.mjs",
"audit:rc85-release-archive-history-lane": "node scripts/check-rc85-release-archive-history-lane-readiness.mjs",
"audit:rc86-release-archive-persistence": "node scripts/check-rc86-release-archive-persistence-readiness.mjs",
"audit:rc87-release-center": "node scripts/check-rc87-release-center-readiness.mjs",
"smoke:rc88-release-center": "node scripts/smoke-rc88-release-center.mjs",
"audit:rc88-release-center-smoke": "node scripts/check-rc88-release-center-smoke-readiness.mjs",
"audit:rc89-release-center-guidance": "node scripts/check-rc89-release-center-guidance-readiness.mjs",
"audit:rc90-release-center-quality": "node scripts/check-rc90-release-center-quality-readiness.mjs",
"audit:rc91-release-center-improve-action": "node scripts/check-rc91-release-center-improve-action-readiness.mjs",
"audit:rc92-release-readiness-export": "node scripts/check-rc92-release-readiness-export-readiness.mjs",
"audit:rc93-release-readiness-proof-save": "node scripts/check-rc93-release-readiness-proof-save-readiness.mjs",
"audit:rc94-release-readiness-proof-freshness": "node scripts/check-rc94-release-readiness-proof-freshness-readiness.mjs",
"audit:rc95-release-readiness-proof-actions": "node scripts/check-rc95-release-readiness-proof-actions-readiness.mjs",
"audit:rc96-release-operator-checklist": "node scripts/check-rc96-release-operator-checklist-readiness.mjs",
"audit:rc97-release-checklist-deep-links": "node scripts/check-rc97-release-checklist-deep-links-readiness.mjs",
"audit:rc98-release-checklist-target-awareness": "node scripts/check-rc98-release-checklist-target-awareness-readiness.mjs",
"smoke:rc99-release-checklist-clickthrough": "node scripts/smoke-rc99-release-checklist-clickthrough.mjs",
"audit:rc99-release-checklist-clickthrough": "node scripts/check-rc99-release-checklist-clickthrough-readiness.mjs",
"release:proof-report": "node scripts/release-operator-proof-report.mjs",
"audit:rc100-release-operator-proof-report": "node scripts/check-rc100-release-operator-proof-report-readiness.mjs",
"audit:rc101-release-proof-archive": "node scripts/check-rc101-release-proof-archive-readiness.mjs",
"release:proof-index": "node scripts/release-proof-index.mjs",
"audit:rc102-release-proof-index": "node scripts/check-rc102-release-proof-index-readiness.mjs",
"release:proof-freshness": "node scripts/release-proof-freshness.mjs",
"audit:rc103-release-proof-freshness": "node scripts/check-rc103-release-proof-freshness-readiness.mjs",
"release:bundle": "node scripts/release-command-bundle.mjs",
"audit:rc104-release-command-bundle": "node scripts/check-rc104-release-command-bundle-readiness.mjs",
"release:signoff-file": "node scripts/release-signoff-file.mjs",
"audit:rc105-release-signoff-file": "node scripts/check-rc105-release-signoff-file-readiness.mjs",
"release:evidence-list": "node scripts/release-evidence-retention.mjs --list",
"release:evidence-prune": "node scripts/release-evidence-retention.mjs --prune",
"audit:rc106-release-evidence-retention": "node scripts/check-rc106-release-evidence-retention-readiness.mjs",
"release:deployment-proof": "node scripts/release-deployment-proof.mjs",
"audit:rc107-remote-deployment-proof": "node scripts/check-rc107-remote-deployment-proof-readiness.mjs",
"release:dossier": "node scripts/release-evidence-dossier.mjs",
"audit:rc108-release-evidence-dossier": "node scripts/check-rc108-release-evidence-dossier-readiness.mjs",
"release:tag-gate": "node scripts/release-tag-ready-gate.mjs",
"audit:rc109-release-tag-ready-gate": "node scripts/check-rc109-release-tag-ready-gate-readiness.mjs",
"release:rollback-drill": "node scripts/release-rollback-drill.mjs",
"audit:rc110-rollback-drill": "node scripts/check-rc110-rollback-drill-readiness.mjs",
"release:user-notes": "node scripts/release-user-notes.mjs",
"audit:rc111-user-release-notes": "node scripts/check-rc111-user-release-notes-readiness.mjs",
"audit:rc112-operator-status": "node scripts/check-rc112-operator-status-readiness.mjs",
"audit:rc113-release-center-entry": "node scripts/check-rc113-release-center-entry-readiness.mjs",
"audit:rc114-release-center-hierarchy": "node scripts/check-rc114-release-center-hierarchy-readiness.mjs",
"audit:rc115-proof-action-queue": "node scripts/check-rc115-proof-action-queue-readiness.mjs",
"audit:rc116-runtime-proof-capture-loop": "node scripts/check-rc116-runtime-proof-capture-loop-readiness.mjs",
"audit:rc117-proof-completion-feedback": "node scripts/check-rc117-proof-completion-feedback-readiness.mjs",
"audit:rc118-runtime-progressive-disclosure": "node scripts/check-rc118-runtime-progressive-disclosure-readiness.mjs",
"audit:rc119-runtime-task-switcher": "node scripts/check-rc119-runtime-task-switcher-readiness.mjs",
"audit:rc120-release-proof-priority": "node scripts/check-rc120-release-proof-priority-readiness.mjs",
"audit:rc121-runtime-active-lane": "node scripts/check-rc121-runtime-active-lane-readiness.mjs",
"audit:rc122-runtime-decision-band": "node scripts/check-rc122-runtime-decision-band-readiness.mjs",
"audit:quality": "pnpm audit:typecheck-gate && pnpm validate:all && pnpm audit:openapi && pnpm audit:architecture && pnpm audit:docs && pnpm audit:v1-freeze",
"audit:security": "pnpm audit --prod --audit-level high && pnpm audit:release",
"audit:data": "pnpm audit:backend-contract && pnpm audit:database && pnpm audit:runtime",
"audit:delivery": "node --test scripts/deployment-proof-state.test.mjs && pnpm audit:docker && pnpm audit:unraid-template && pnpm build && pnpm release:metadata && pnpm audit:release-metadata"
},
"dependencies": {
"@hookform/resolvers": "^3.9.0",
"@projectbrain/contracts": "workspace:*",
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-aspect-ratio": "^1.1.0",
"@radix-ui/react-avatar": "^1.1.0",
"@radix-ui/react-checkbox": "^1.1.1",
"@radix-ui/react-collapsible": "^1.1.0",
"@radix-ui/react-context-menu": "^2.2.1",
"@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-hover-card": "^1.1.1",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-menubar": "^1.1.1",
"@radix-ui/react-navigation-menu": "^1.2.0",
"@radix-ui/react-popover": "^1.1.1",
"@radix-ui/react-progress": "^1.1.0",
"@radix-ui/react-radio-group": "^1.2.0",
"@radix-ui/react-scroll-area": "^1.1.0",
"@radix-ui/react-select": "^2.1.1",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slider": "^1.2.0",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.0",
"@radix-ui/react-tabs": "^1.1.0",
"@radix-ui/react-toast": "^1.2.1",
"@radix-ui/react-toggle": "^1.1.0",
"@radix-ui/react-toggle-group": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.4",
"@tanstack/react-query": "^5.56.2",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.0.0",
"date-fns": "^3.6.0",
"embla-carousel-react": "^8.3.0",
"fflate": "^0.8.3",
"input-otp": "^1.2.4",
"lucide-react": "^0.462.0",
"next-themes": "^0.4.6",
"react": "^19.2.8",
"react-day-picker": "^9.13.0",
"react-dom": "^19.2.8",
"react-hook-form": "^7.53.0",
"react-is": "^19.2.8",
"react-resizable-panels": "^2.1.3",
"react-router-dom": "^7.18.2",
"recharts": "^3.8.1",
"sonner": "^1.5.0",
"tailwind-merge": "^2.5.2",
"vaul": "^1.1.2",
"zod": "^3.25.0"
},
"devDependencies": {
"@axe-core/playwright": "^4.12.1",
"@eslint/js": "^10.0.1",
"@playwright/test": "^1.62.0",
"@tailwindcss/typography": "^0.5.20",
"@types/node": "^24.0.0",
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^6.1.0",
"@vitest/coverage-v8": "4.1.10",
"autoprefixer": "^10.4.20",
"caniuse-lite": "^1.0.30001799",
"cross-env": "^10.1.0",
"eslint": "^10.8.1",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.4",
"globals": "^17.11.0",
"postcss": "^8.5.24",
"tailwindcss": "^3.4.11",
"tailwindcss-animate": "1.0.7",
"typescript": "^5.5.3",
"typescript-eslint": "^8.67.0",
"vite": "^8.2.2",
"vitest": "4.1.10"
},
"packageManager": "pnpm@11.5.2",
"engines": {
"node": ">=24 <25",
"pnpm": "11.5.2"
}
}