{ "name": "suaveplan", "version": "0.1.0", "devDependencies": { "@apollo/server": "^4.11.0", "@biomejs/biome": "catalog:tooling", "@suaveplan/crypto-utils": "workspace:*", "@suaveplan/error": "workspace:*", "@types/bun": "catalog:", "@types/node": "catalog:", "bun-types": "catalog:", "ctix": "catalog:tooling", "graphql": "^16.9.0", "markdownlint-cli2": "catalog:tooling", "turbo": "catalog:tooling", "typescript": "catalog:", "yaml": "catalog:", "zod": "catalog:forms" }, "description": "SuavePlan Enterprise-grade Monorepo", "engines": { "bun": ">=1.3.13" }, "license": "MIT", "overrides": { "libsodium-wrappers-sumo": "0.7.15", "@types/libsodium-wrappers": "0.7.14", "@audio/decode-wav": "1.2.0" }, "packageManager": "bun@1.3.13", "private": true, "scripts": { "publish": "bun scripts/publish.ts", "lint": "bunx turbo lint lint:test-runner-imports lint:preflight lint:feature-layout lint:error-subclass-constructors lint:carry-forward-deps lint:verified-by lint:stage-smoke lint:primitive-host-integration lint:wasm-subpath-deps", "lint:test-runner-imports": "bun scripts/lint/check-test-runner-imports.ts", "lint:wasm-subpath-deps": "bun scripts/lint/check-wasm-subpath-deps.ts", "lint:preflight": "bun scripts/openspec/check-preflight.ts", "lint:feature-layout": "bun scripts/lint/check-feature-layout.ts", "lint:error-subclass-constructors": "bun scripts/lint/check-error-subclass-constructors.ts", "lint:carry-forward-deps": "bun scripts/lint/check-carry-forward-deps.ts", "lint:verified-by": "bun scripts/lint/check-verified-by.ts --mode=author", "lint:verified-by:archive": "bun scripts/lint/check-verified-by.ts --mode=archive", "lint:stage-smoke": "bun scripts/lint/check-stage-smoke.ts", "lint:primitive-host-integration": "bun scripts/lint/check-primitive-host-integration.ts", "lint:md": "bunx markdownlint-cli2", "lint:md:fix": "bunx markdownlint-cli2 --fix", "docs:check": "bunx turbo docs:check", "check": "bunx biome check --write --unsafe --max-diagnostics=20000", "check:all": "bun run check && bun run lint:md:fix", "format": "bunx biome format --write --max-diagnostics=20000", "typecheck": "bunx turbo typecheck", "test": "bunx turbo test", "test:coverage": "bunx turbo test:coverage", "build": "bunx turbo build", "build:full": "bunx turbo lint typecheck && bun run check:all && bunx turbo test:coverage build", "gate": "bunx --bun turbo lint typecheck test", "crypto:kat": "bunx turbo crypto:kat --filter=@suaveplan/crypto-hash --filter=@suaveplan/crypto-curve --filter=@suaveplan/crypto-cipher", "crypto:fuzz": "bun scripts/crypto-fuzz.ts", "crypto:timing": "bun scripts/crypto-timing.ts", "barrel": "bun scripts/barrel.ts", "ct-lint": "bun scripts/ct-lint.ts", "precommit": "bun scripts/ct-lint.ts", "check:fixture-resolves": "bun scripts/check-fixture-resolves.ts" }, "type": "module", "workspaces": { "packages": [ "packages/*/*/*", "docker", "apps/*", "e2e/*" ], "catalog": { "typescript": "5.9.2", "tslib": "2.6.2", "@types/node": "25.6.0", "bun-types": "1.3.13", "@types/bun": "1.3.13", "hono": "4.7.4", "storybook": "8.6.12", "yaml": "^2.8.3", "standardized-audio-context": "^25.3.77", "image-q": "^4.0.0" }, "catalogs": { "testing": { "vitest": "^4.0.7", "@vitest/coverage-istanbul": "^4.0.7", "happy-dom": "^20.0.0", "fast-check": "^3.23.2", "fake-indexeddb": "^6.0.0", "mitata": "^1.0.34", "@testing-library/react": "^16.3.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/user-event": "^14.6.1", "@testing-library/dom": "^10.4.0", "@vitejs/plugin-react": "^5.0.4", "@playwright/test": "^1.48.2", "cloakbrowser": "^0.3.28", "react": "19.2.0", "react-dom": "19.2.0", "@types/react": "19.2.0", "@types/react-dom": "19.2.0" }, "build": { "vite": "^6.0.0", "vite-plugin-dts": "~4.5.0", "tslib": "2.6.2", "@tailwindcss/vite": "4.1.5", "tailwindcss": "4.1.5", "@vitejs/plugin-react": "^5.0.4" }, "tooling": { "@biomejs/biome": "^2.4.12", "ctix": "^2.7.6-beta1", "markdownlint-cli2": "^0.18.1", "turbo": "^2.5.8" }, "markdown": { "glob": "^11.0.3", "gray-matter": "^4.0.3", "remark": "^15.0.1", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "remark-gfm": "^4.0.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "@types/glob": "^8.1.0", "@types/mdast": "^4.0.4", "@types/unist": "^3.0.3" }, "forms": { "zod": "^4.1.5", "react-hook-form": "^7.54.2", "@hookform/resolvers": "^5.1.1", "libphonenumber-js": "^1.11.20", "@zxcvbn-ts/core": "^3.0.4" }, "observability": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/sdk-metrics": "^1.30.0", "@opentelemetry/sdk-trace-base": "^1.30.0" }, "auth": { "better-auth": "^1.4.0" }, "server": { "@hono/zod-openapi": "^1.0.2", "@hono/swagger-ui": "^0.5.2" }, "cli": { "@inquirer/prompts": "^7.8.6", "commander": "^14.0.1", "iconz": "^2.0.1" }, "fonts": { "@types/opentype.js": "1.3.9", "opentype.js": "1.3.4" }, "crypto": { "@noble/ciphers": "^1.3.0", "@noble/curves": "^1.9.0", "@noble/hashes": "^1.8.0", "@scure/bip39": "^1.5.4", "libsodium-wrappers-sumo": "^0.7.15", "@types/libsodium-wrappers": "^0.7.14" }, "serialization": { "@msgpack/msgpack": "^3.0.0", "serialize-javascript": "^6.0.0" }, "parsing": { "fast-xml-parser": "^5.2.5", "fflate": "^0.8.2", "papaparse": "^5.5.3", "@types/papaparse": "^5.3.15", "tldts": "^6.1.64", "postal-mime": "^2.7.4", "libmime": "^5.3.8", "htmlparser2": "^10.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2" }, "database": { "drizzle-orm": "0.45.2", "@sqlite.org/sqlite-wasm": "3.53.0-build1", "surrealdb": "^2.0.3", "postgres": "^3.4.5" }, "security": { "jose": "^5.10.0" }, "storage": { "@aws-sdk/client-s3": "^3.800.0", "@aws-sdk/s3-request-presigner": "^3.800.0" }, "containers": { "testcontainers": "^11.14.0" }, "network-discovery": { "peerjs": "^1.5.5", "yjs": "^13.6.20", "y-webrtc": "^10.3.0", "@automerge/automerge-repo": "^1.2.1", "@automerge/automerge-repo-network-broadcastchannel": "^1.2.1", "@automerge/automerge-repo-network-websocket": "^1.2.1", "@automerge/automerge-repo-storage-indexeddb": "^1.2.1", "trystero": "^0.21.5", "p2pt": "^1.4.3", "gun": "^0.2020.1240" }, "network-transport": { "hyperswarm": "^4.7.11", "libp2p": "^2.10.0", "@libp2p/tcp": "^11.0.6", "@libp2p/websockets": "^10.0.6", "@libp2p/webrtc": "^6.0.6", "@libp2p/bootstrap": "^11.0.29", "@libp2p/circuit-relay-v2": "^4.0.5", "@libp2p/echo": "^3.0.6", "@libp2p/identify": "^3.0.29", "@libp2p/interface": "^2.0.1", "@libp2p/ping": "^2.0.29", "@chainsafe/libp2p-noise": "^17.0.0", "@chainsafe/libp2p-yamux": "^8.0.0", "@multiformats/multiaddr": "^12.4.4" }, "react": { "react": "19.2.0", "react-dom": "19.2.0", "react-router-dom": "7.5.2", "@types/react": "19.2.0", "@types/react-dom": "19.2.0" }, "state": { "zustand": "^5.0.13" }, "react-three": { "three": "^0.170.0", "@types/three": "^0.170.0", "@react-three/fiber": "^9.0.0", "@react-three/drei": "^10.0.0" }, "storybook": { "@storybook/react": "8.6.12", "@storybook/react-vite": "8.6.12", "@storybook/addon-essentials": "8.6.12", "@storybook/addon-interactions": "8.6.12", "@storybook/test": "8.6.12" }, "ui": { "@radix-ui/react-slot": "^1.1.2", "@radix-ui/react-direction": "^1.1.0", "@radix-ui/react-label": "^2.1.2", "@radix-ui/react-separator": "^1.1.2", "@radix-ui/react-checkbox": "^1.1.4", "@radix-ui/react-radio-group": "^1.2.3", "@radix-ui/react-select": "^2.1.6", "@radix-ui/react-slider": "^1.2.3", "@radix-ui/react-switch": "^1.1.3", "@radix-ui/react-toggle": "^1.1.2", "@radix-ui/react-toggle-group": "^1.1.2", "@radix-ui/react-dialog": "^1.1.4", "@radix-ui/react-alert-dialog": "^1.1.4", "@radix-ui/react-popover": "^1.1.4", "@radix-ui/react-hover-card": "^1.1.4", "@radix-ui/react-tooltip": "^1.1.4", "@radix-ui/react-context-menu": "^2.2.4", "@radix-ui/react-avatar": "^1.1.4", "@radix-ui/react-progress": "^1.1.4", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-aspect-ratio": "^1.1.8", "@radix-ui/react-collapsible": "^1.1.12", "@radix-ui/react-dropdown-menu": "^2.1.4", "@radix-ui/react-menubar": "^1.1.4", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-tabs": "^1.1.3", "react-resizable-panels": "^4.11.0", "@tanstack/react-table": "^8.21.0", "cmdk": "^1.0.4", "input-otp": "^1.4.1", "react-day-picker": "^9.4.2", "recharts": "^2.15.0", "vaul": "^1.1.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "tailwind-merge": "^2.6.0", "lucide-react": "^0.468.0", "sonner": "^1.7.4", "semver": "^7.6.3", "@types/semver": "^7.5.8" }, "wasm": { "javy": "v8.1.1" }, "audio": { "fluent-ffmpeg": "^2.1.3", "@ffmpeg-installer/ffmpeg": "^1.1.0", "@ffprobe-installer/ffprobe": "^2.1.2", "@types/fluent-ffmpeg": "^2.1.27", "@ffmpeg/ffmpeg": "^0.12.15", "@ffmpeg/core": "^0.12.10", "@ffmpeg/util": "^0.12.2", "spessasynth_lib": "4.3.3", "spessasynth_core": "4.3.4" } } } }