{"_id":"@hachej/boring-core","_rev":"100-db3be78f42fead28d6929f6ad309411b","name":"@hachej/boring-core","dist-tags":{"latest":"0.1.111"},"versions":{"0.1.0":{"name":"@hachej/boring-core","version":"0.1.0","license":"MIT","_id":"@hachej/boring-core@0.1.0","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"8cf8e9997457b240ff0cae0951fad8599aae16e7","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.0.tgz","fileCount":52,"integrity":"sha512-iSXGDRfCPCxRupnM6adfWRECoh3IgI2/nI1FCWFezX4Q98w2/BR47iVu722tLY5jNDE5wWcxlMKynl+2JQ50+A==","signatures":[{"sig":"MEUCIQDj7dhg4WTCIe31/m0zCY/42ttDE//qYQGeu/JN4GlnXwIgaA4ANhHlRQ/bzSgA7Di0w1WNe7QTNw/VMohshbp9sZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":546278},"type":"module","_from":"file:hachej-boring-core-0.1.0.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"hachej","email":"julien.hurault@sumeo.io"},"_resolved":"/tmp/1519b2105fab1766000ff82126f79d03/hachej-boring-core-0.1.0.tgz","_integrity":"sha512-iSXGDRfCPCxRupnM6adfWRECoh3IgI2/nI1FCWFezX4Q98w2/BR47iVu722tLY5jNDE5wWcxlMKynl+2JQ50+A==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"10.9.4","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.0","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.0","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.0","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.0_1778141032926_0.6594397818144826","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@hachej/boring-core","version":"0.1.4","license":"MIT","_id":"@hachej/boring-core@0.1.4","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"acd5d8a8373bef51b9a4e532a5d6be7d04583bef","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.4.tgz","fileCount":52,"integrity":"sha512-Gs4pFZAXvphFYiWBmhYGTMP4ybILcEj79NNvWjiYPJ9jSBzN7t9zM1fb6R3HRq40ro5yJoM0BKRkx86FZunlvQ==","signatures":[{"sig":"MEYCIQC2UKEVNeZzADpfblYKELbBioRb2DJomJhIUa1wap5llgIhAOvnXbU1qBInbFt6F1AKDVSwPsP0XOcz2dHvP3GcZ7VM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":546401},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.4.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.4.tgz","_integrity":"sha512-Gs4pFZAXvphFYiWBmhYGTMP4ybILcEj79NNvWjiYPJ9jSBzN7t9zM1fb6R3HRq40ro5yJoM0BKRkx86FZunlvQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.11.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.4","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.4","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.4","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.4_1778164899490_0.05041322032067175","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@hachej/boring-core","version":"0.1.5","license":"MIT","_id":"@hachej/boring-core@0.1.5","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"0f35bdbe03a2b48a08bc90e8b118daee98992492","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.5.tgz","fileCount":52,"integrity":"sha512-fg+xIHeqZO3/aaRd/CCKOigxrQAf3iu1wq7u/CJ/Z/5oK+0KFyf9f99zhT0V2ZkI/jn9gzqA2V6EtWKFxT3j0w==","signatures":[{"sig":"MEUCIQC4w4cQfTSDD+zKU1wAds+Nd7GPxa/s0qC/JczDbJsokgIgeg6jLZ56zg5NO4i/SZxRl0XJHPxlU6dnDtrNSIUocVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":546401},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.5.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.5.tgz","_integrity":"sha512-fg+xIHeqZO3/aaRd/CCKOigxrQAf3iu1wq7u/CJ/Z/5oK+0KFyf9f99zhT0V2ZkI/jn9gzqA2V6EtWKFxT3j0w==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.11.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.5","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.5","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.5","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.5_1778166160261_0.590018875442206","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@hachej/boring-core","version":"0.1.6","license":"MIT","_id":"@hachej/boring-core@0.1.6","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"ca9f07380544be6deb28f0fec7b463c103cb5b9a","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.6.tgz","fileCount":52,"integrity":"sha512-HfXCKKhvjRqLheZDP6HvftsBDyacwN/MC/87c5cLBRTNDEhgNsyKB9AvEBm7avUXFeG33+6y/aXYhNULRvvMCQ==","signatures":[{"sig":"MEYCIQCcMf83rujTbRqP0dJ/i1c/HsGuZdWgdyNH2feM1KlDfwIhAPlPdxoyvXhQWQsnIf2MkdfTrF8c5hcTfAggvA/pbMGa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552334},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.6.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.6.tgz","_integrity":"sha512-HfXCKKhvjRqLheZDP6HvftsBDyacwN/MC/87c5cLBRTNDEhgNsyKB9AvEBm7avUXFeG33+6y/aXYhNULRvvMCQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.11.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.6","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.6","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.6","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.6_1778185413126_0.4679634163608599","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@hachej/boring-core","version":"0.1.7","license":"MIT","_id":"@hachej/boring-core@0.1.7","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"5486bb7ae6869fd47b61b1ed43f07aa6d8ca1050","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.7.tgz","fileCount":52,"integrity":"sha512-lXl/FTxGKp91Xhn9ckkwmQ6dmPhrAR2sUthQcRqF2GPCCr+to84DaCMGGNF7al8UMYawZAiEP0hVIJw6MeDt3g==","signatures":[{"sig":"MEQCIDEIWwiXw/SNLwAk/bRpWjwLKt/7O+8H4ZbrM97CApcLAiAbwQnrw5IL+aG3Xq2DryMTpkAn2Lo2oP86/eBu7swtWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552334},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.7.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.7.tgz","_integrity":"sha512-lXl/FTxGKp91Xhn9ckkwmQ6dmPhrAR2sUthQcRqF2GPCCr+to84DaCMGGNF7al8UMYawZAiEP0hVIJw6MeDt3g==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.11.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.7","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.7","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.7","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.7_1778242362109_0.8338050178936967","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@hachej/boring-core","version":"0.1.9","license":"MIT","_id":"@hachej/boring-core@0.1.9","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"b4b76034089a2112976aa6ca0f066a213fe47cb2","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.9.tgz","fileCount":52,"integrity":"sha512-fZra8m9NvZzqUT6KV8Ge821FejZuZSUNCyrKZ4OrWo8l5yvcdZud5iyXIaniZRzqdyIhkQUZW/KUcCELRX1fZQ==","signatures":[{"sig":"MEUCIQCHtTkMzSm6xr030MI86dEZoBOErF3pW0tciuZr4Y20cwIgZh8ZRnYa0WX3KY2jX9ts4+i2UnDfB70nLAxFkGdGS0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552334},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.9.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.9.tgz","_integrity":"sha512-fZra8m9NvZzqUT6KV8Ge821FejZuZSUNCyrKZ4OrWo8l5yvcdZud5iyXIaniZRzqdyIhkQUZW/KUcCELRX1fZQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.11.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.9","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.9","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.9","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.9_1778247213678_0.6294799832616038","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@hachej/boring-core","version":"0.1.10","license":"MIT","_id":"@hachej/boring-core@0.1.10","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"3598259f1b692f51fa840f3e12c2091abf2b0283","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.10.tgz","fileCount":52,"integrity":"sha512-1AAysXL0JquEOaDeX1wIy6Q2gZ5NyCc+gs1hhJ6lG0l8Bm94Lh3NCN3D/S+mUEEPdpbU1IwthbjDir66r0PltQ==","signatures":[{"sig":"MEQCIE5y1IQeiKEfQF4zNFY9Wg590dXr9J/n+2W7T9/XTZL4AiBvCyupQS9N4wI9mUpLRcGcWKFIGN78IWwWP7ScaMi3xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552338},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.10.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.10.tgz","_integrity":"sha512-1AAysXL0JquEOaDeX1wIy6Q2gZ5NyCc+gs1hhJ6lG0l8Bm94Lh3NCN3D/S+mUEEPdpbU1IwthbjDir66r0PltQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.11.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.10","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.10","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.10","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.10_1778248730188_0.7715496620749338","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@hachej/boring-core","version":"0.1.12","license":"MIT","_id":"@hachej/boring-core@0.1.12","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"031e47dfe12f782815685d16d9da06c17620bcac","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.12.tgz","fileCount":52,"integrity":"sha512-qUzXCi11IB8opcx9ezygt5L6bDdPMKBikFShRtby6itWwkDy88D42wtyuVIxsmByskB/b3tdUkdIT1u61HdV7A==","signatures":[{"sig":"MEUCIBB3JHujK0wOYOgxAtmwN2l38MI56CTaw1xNfa2nNUbuAiEAhKzoHRf1JanNJYZs6rnczxCn8Hih6GsnUMJL0d44tlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552479},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.12.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.12.tgz","_integrity":"sha512-qUzXCi11IB8opcx9ezygt5L6bDdPMKBikFShRtby6itWwkDy88D42wtyuVIxsmByskB/b3tdUkdIT1u61HdV7A==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.11.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.12","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.12","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.12","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.12_1778251127041_0.1526930473248438","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@hachej/boring-core","version":"0.1.13","license":"MIT","_id":"@hachej/boring-core@0.1.13","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"e7e565b652f270c8ac487be44b9cda0edd787ddd","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.13.tgz","fileCount":52,"integrity":"sha512-MuBbLh+LsFT14A+ZJT9yt4/2PdwsoIWk4rQ7/go88hiSvUHNE6XxYNxGl16XsV9FbJv7cjTgEaBYkK1pdYx8Uw==","signatures":[{"sig":"MEUCICHZT5E5qNH2OuCVBhBsFQVgzfUxKPYnBDH1JaVx0hk0AiEA3kAl0Kt4ovQYzdWe/SxGoT/x5Pch5Uhq8AyY5IYbC2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552406},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.13.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.13.tgz","_integrity":"sha512-MuBbLh+LsFT14A+ZJT9yt4/2PdwsoIWk4rQ7/go88hiSvUHNE6XxYNxGl16XsV9FbJv7cjTgEaBYkK1pdYx8Uw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.11.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.13","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.13","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.13","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.13_1778580350558_0.7771370467432379","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@hachej/boring-core","version":"0.1.14","license":"MIT","_id":"@hachej/boring-core@0.1.14","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"b631604de078a04b297e3129d87207448f4fcbdd","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.14.tgz","fileCount":52,"integrity":"sha512-QPHzpb7c9UPXbP1usUsvcscP24rgebNMZeYh9BzWVsM9Wn/G6ZRX1X6Whlg4vYZHoXvFUl2riyBchFk3EYdidg==","signatures":[{"sig":"MEQCIEYOs8Wtz455JJc6de2AkiCzGhE2hRicWutxXU3iC74UAiBJbEdM+2stOXejhFDOvvrwr/CuC/hYK+i//WE/G4dlXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565891},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.14.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.14.tgz","_integrity":"sha512-QPHzpb7c9UPXbP1usUsvcscP24rgebNMZeYh9BzWVsM9Wn/G6ZRX1X6Whlg4vYZHoXvFUl2riyBchFk3EYdidg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.12.1","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.14","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.14","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.14","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.14_1779293570139_0.269142800327127","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@hachej/boring-core","version":"0.1.16","license":"MIT","_id":"@hachej/boring-core@0.1.16","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"6df46ea5639f13d52b64b0dca6e2c65f7e560a8c","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.16.tgz","fileCount":52,"integrity":"sha512-5JIABY3LSUtAR8rAWHsNTBzT6omyR/nGYKwyve3FIuu4bNvMspkogemEP0AZeDnwp1TuVfqSNiU48XzlJ3iGOQ==","signatures":[{"sig":"MEYCIQCzA2ktpx+UV71aAgoGNAwuTmixSU9+kCycb8J0mpmzCAIhALcuoVOnE+r3Dm2BmUzJVDyT9Icd8gUfDfpYdkBTsp0V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565891},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.16.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.16.tgz","_integrity":"sha512-5JIABY3LSUtAR8rAWHsNTBzT6omyR/nGYKwyve3FIuu4bNvMspkogemEP0AZeDnwp1TuVfqSNiU48XzlJ3iGOQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.12.1","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.16","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.16","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.16","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.16_1779304004553_0.5866292523317247","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@hachej/boring-core","version":"0.1.17","license":"MIT","_id":"@hachej/boring-core@0.1.17","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"ac7123f83c29adfae15182ba3ac8643de1a7ab54","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.17.tgz","fileCount":52,"integrity":"sha512-H06XdJojMGPeB1+Lo/qOh5fjmd4X/sLSiQAFG21A2OhnWB9q2MsMyapmMRCKbdyWO/7z4FlTI54ZYqjo97/m9A==","signatures":[{"sig":"MEUCIG/38v38fiIDm/v1PcetcUfZOVwxCumbS5jMK1H4PWDnAiEA6e8Hsra2wv05K85QlRbVNcpQRQBhqm5wLeTP9Up6x2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565891},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.17.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.17.tgz","_integrity":"sha512-H06XdJojMGPeB1+Lo/qOh5fjmd4X/sLSiQAFG21A2OhnWB9q2MsMyapmMRCKbdyWO/7z4FlTI54ZYqjo97/m9A==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.12.1","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.17","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.17","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.17","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.17_1779307230036_0.5426348072904126","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@hachej/boring-core","version":"0.1.18","license":"MIT","_id":"@hachej/boring-core@0.1.18","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"57f0c8baab6a9d97d9e252fa5235a37d39d29670","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.18.tgz","fileCount":52,"integrity":"sha512-bFS2QNBJr/IMMS/kzsOPoIoHcA0QOlZ/PgNENnqIIRW1tM4rlpalEdzugDEj42ZQ65/3NAupSlNLoTP2az81Ew==","signatures":[{"sig":"MEUCIC+2CLJP+0EN+EH8N/frsPNo2+6Wk8phAbCV8lolxQDFAiEAk+9BvaDx8kJIsFVEbO+yYb/dppkZ3ucd4WCRFe1HSZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565614},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.18.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.18.tgz","_integrity":"sha512-bFS2QNBJr/IMMS/kzsOPoIoHcA0QOlZ/PgNENnqIIRW1tM4rlpalEdzugDEj42ZQ65/3NAupSlNLoTP2az81Ew==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.12.1","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.18","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.18","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.18","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.18_1779460282836_0.5433656866091716","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@hachej/boring-core","version":"0.1.20","license":"MIT","_id":"@hachej/boring-core@0.1.20","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"d48a42806c18ea03b7e10c2255bcc4bddc09d1d2","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.20.tgz","fileCount":52,"integrity":"sha512-0ybmKgc8E3RErTWxdx8MUW0YYWVGu+r9rKpe/PryRKqlOydQ+coYG2h7HlJghw1iWcdz0X46eCZvCEou1ix+Bg==","signatures":[{"sig":"MEQCIAaAjkJ4AYGkLMihBueE+H9KNKSzBlLrKaQei+012ZIEAiAc6lRqz4fsaLQku9pU6gtzE+BCgD9hIEPZTbaU00XOBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565614},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.20.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.20.tgz","_integrity":"sha512-0ybmKgc8E3RErTWxdx8MUW0YYWVGu+r9rKpe/PryRKqlOydQ+coYG2h7HlJghw1iWcdz0X46eCZvCEou1ix+Bg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.12.1","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.20","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.20","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.20","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.20_1779467810868_0.8571073330131276","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@hachej/boring-core","version":"0.1.22","license":"MIT","_id":"@hachej/boring-core@0.1.22","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"ff93534eb5d83fd443a5cadf45e971c080de906f","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.22.tgz","fileCount":54,"integrity":"sha512-AjfNp4y2tZOdW7DftJW0jgm4z5tT2VNt9rUScTI6cdU7by/r8EiEVhXaLdDt4nM6qQNoSAp3CExDRQxzzNn4nA==","signatures":[{"sig":"MEYCIQDIXnZnUs831iJOZAPmi1xGm6+8ndRilY/eHa96FY3BdQIhAMr3dTvvVLpEqm5evAXxhp7axk+i8u48lAnWCPoxgmh2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":582035},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.22.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.22.tgz","_integrity":"sha512-AjfNp4y2tZOdW7DftJW0jgm4z5tT2VNt9rUScTI6cdU7by/r8EiEVhXaLdDt4nM6qQNoSAp3CExDRQxzzNn4nA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.12.1","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.15.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.22","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.22","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.22","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.22_1779828604630_0.48993452468632226","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@hachej/boring-core","version":"0.1.23","license":"MIT","_id":"@hachej/boring-core@0.1.23","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"56b1bec82bdd090271efe34af4883cd08255cb3d","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.23.tgz","fileCount":54,"integrity":"sha512-LfIWvjNkA2uBuRhYvDD300n4eblAiRSj96gdr1w6UtSDG7tbj1sVGIMmIfvLQFNqKnedLLO50d2qdYCB1Y0Kgw==","signatures":[{"sig":"MEUCIEfKXt8R0LPip8Asrt6phrAvj2EDWxgpCbHuw6nUapz0AiEA1ji7LrKRN+Upp+b7HxEASQaTddE/pnLY80sEoGodejM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":582035},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.23.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"pnpm --filter @hachej/boring-ui-kit build && tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"pnpm --filter @hachej/boring-ui-kit build && tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.23.tgz","_integrity":"sha512-LfIWvjNkA2uBuRhYvDD300n4eblAiRSj96gdr1w6UtSDG7tbj1sVGIMmIfvLQFNqKnedLLO50d2qdYCB1Y0Kgw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.23","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.23","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.23","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.23_1779865146561_0.5417755010333749","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@hachej/boring-core","version":"0.1.24","license":"MIT","_id":"@hachej/boring-core@0.1.24","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"e6168db53d0fedb941e18c313823d68881458044","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.24.tgz","fileCount":54,"integrity":"sha512-TRQ4HYFWtGMdcxVf0GVr5l1RFQHVNUJh6F/WaUM+g9SG+PF2EfV4EWAhMQVViLQTOPntjjM7BRZT06iHyLE7Rg==","signatures":[{"sig":"MEYCIQCCtxmu6jBIjLbVXr+04vqF6vPyHpGkXgmMcajsw5J2bwIhAMF4grWxiG3kzA4gvaSU2xswAt8rTDKrsihfKiLVeTFi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":606514},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.24.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.24.tgz","_integrity":"sha512-TRQ4HYFWtGMdcxVf0GVr5l1RFQHVNUJh6F/WaUM+g9SG+PF2EfV4EWAhMQVViLQTOPntjjM7BRZT06iHyLE7Rg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.24","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.24","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.24","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.24_1779968801349_0.04274934362515159","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@hachej/boring-core","version":"0.1.26","license":"MIT","_id":"@hachej/boring-core@0.1.26","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"521d94ab9cf5947bab8f8896781d0ec24c1b8f49","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.26.tgz","fileCount":54,"integrity":"sha512-Cywf4anMlk2xnjY3Bh2eDIqbJnmP/CBGUnq5+9Kx6OfovoJJi7mtfbgRBnHPkXm43+yQtK97AKhlsdCy23ml/g==","signatures":[{"sig":"MEUCIQDpWyl7hKa37dgkxHx1sDXfv0Ye6aKt4P8YpxO/3ccYpgIgCsEmQN8Dm2/i+Bk2zbIABJe2T0BGW5S3wNDmqdc9CYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":608047},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.26.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.26.tgz","_integrity":"sha512-Cywf4anMlk2xnjY3Bh2eDIqbJnmP/CBGUnq5+9Kx6OfovoJJi7mtfbgRBnHPkXm43+yQtK97AKhlsdCy23ml/g==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.26","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.26","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.26","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.26_1780039783836_0.47298536677791536","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"@hachej/boring-core","version":"0.1.27","license":"MIT","_id":"@hachej/boring-core@0.1.27","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"12c2f3a87ed01abdc562cbf8a5797c6c325f85b2","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.27.tgz","fileCount":54,"integrity":"sha512-a07Vg6+iV4hRKbgLq4LHO8EDsDAvS8rAevps56WemEl0AggrXhICIq2oQuv4jQB27eUbtuOjatFhHUhQ5YJ+TA==","signatures":[{"sig":"MEUCIQC1o7OV0ejo2+y7J8yE6hO75bnZ5dJiePsIqcTmPP7OXgIgdzSFOdb9RdIQS4nHejV1rVbAAkzpUWPnl3H5deV4lvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":608047},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.27.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.27.tgz","_integrity":"sha512-a07Vg6+iV4hRKbgLq4LHO8EDsDAvS8rAevps56WemEl0AggrXhICIq2oQuv4jQB27eUbtuOjatFhHUhQ5YJ+TA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.27","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.27","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.27","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.27_1780043590707_0.9552603090426168","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"@hachej/boring-core","version":"0.1.28","license":"MIT","_id":"@hachej/boring-core@0.1.28","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"e346afcd099c1ff337ae0e1880a15f0c65ee753e","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.28.tgz","fileCount":54,"integrity":"sha512-Kvu0E0LKmLoj9Cp635+87fqkg8BCE3BmRaBB3I+OVofjEXwNupKUtN3wAxcGPoXvmz9UlUzRaSMxr0M0CJUErw==","signatures":[{"sig":"MEYCIQDc21fvQOLebI83Ozg/nB88VjBxzyGcFq+rL9Z9ADndJAIhANOr2F47m5O8SyifLcMDlDawA7MrjnKblxGsoeullYWo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":608047},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.28.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.28.tgz","_integrity":"sha512-Kvu0E0LKmLoj9Cp635+87fqkg8BCE3BmRaBB3I+OVofjEXwNupKUtN3wAxcGPoXvmz9UlUzRaSMxr0M0CJUErw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.28","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.28","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.28","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.28_1780053914278_0.6787691320015548","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"@hachej/boring-core","version":"0.1.29","license":"MIT","_id":"@hachej/boring-core@0.1.29","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"f8c566cbef1b106fe36fffe298bf9b9a886993d6","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.29.tgz","fileCount":54,"integrity":"sha512-P8DGdsk6Gd41rWhHeLS06q0Cnwk/kZ1uORpg067rN6BZ7b+qQrUfUZeyZrlE+T5GyPopjDmcS3FaGX5gZ+MxtQ==","signatures":[{"sig":"MEYCIQCN32HoO894eCwnXra6ecNJ5d4amlA9dhmgMMdSHQaoRgIhAORYick6o6ELlLiKHIZSmkMGqQ8p31I9V5HsIxVWtXuC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":608047},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.29.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.29.tgz","_integrity":"sha512-P8DGdsk6Gd41rWhHeLS06q0Cnwk/kZ1uORpg067rN6BZ7b+qQrUfUZeyZrlE+T5GyPopjDmcS3FaGX5gZ+MxtQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.29","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.29","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.29","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.29_1780057425801_0.9830948984318022","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"@hachej/boring-core","version":"0.1.30","license":"MIT","_id":"@hachej/boring-core@0.1.30","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"8254e19509d010c7fb6112ec48ca222e8beddae9","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.30.tgz","fileCount":54,"integrity":"sha512-KzuvdRppjkstc7qD/9n0t+aakACbHoezjkFMXyoKlTxUTrkyS1wHlWbZPlDf0krg6xDtlA2vuvBcNpLlbvUuOQ==","signatures":[{"sig":"MEYCIQCJzZl+3bEfi3h5Yidgcqu2dmqN9cL4wSDGlhWXhtqGpAIhAIlOvvVWRqyhTfGkYB7MfwDmy3zN7IC/SU6wfIwoGehy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":608047},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.30.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.30.tgz","_integrity":"sha512-KzuvdRppjkstc7qD/9n0t+aakACbHoezjkFMXyoKlTxUTrkyS1wHlWbZPlDf0krg6xDtlA2vuvBcNpLlbvUuOQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.30","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.30","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.30","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.30_1780156270765_0.6852951449705755","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"@hachej/boring-core","version":"0.1.31","license":"MIT","_id":"@hachej/boring-core@0.1.31","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"8b0665087ae859ecbf18a0fea4a298f51681cf55","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.31.tgz","fileCount":54,"integrity":"sha512-pxbSvY9hSZO2vIkZijo9ZB17EP2IkUg7GHn+F3lrkhAkYhfW3yMIGF9ttLADwdENpXDNMgaCCuCa6qCD8VJuag==","signatures":[{"sig":"MEQCIFUNK8BZ7X+IS3n43gd7lXEpXy83BQNEgqgwV+U4YrLKAiBgI17+LCN6eKi8HA7oppfqo9iZqpGDPW8wM1t+twpAhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":608047},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.31.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.31.tgz","_integrity":"sha512-pxbSvY9hSZO2vIkZijo9ZB17EP2IkUg7GHn+F3lrkhAkYhfW3yMIGF9ttLADwdENpXDNMgaCCuCa6qCD8VJuag==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.9","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.31","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.31","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.31","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.31_1780227299332_0.8768333561419279","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"@hachej/boring-core","version":"0.1.32","license":"MIT","_id":"@hachej/boring-core@0.1.32","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"5f4029f66a015985a240f4f8a21e713f472775c0","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.32.tgz","fileCount":54,"integrity":"sha512-eVoNAcncGXjfXrNNKLWDBFxiHqunE5OKRDV3Q4/9z4H/a2AMCjjStOQsZABFeTCNadvGowT6xR7lFqD4lkyaCg==","signatures":[{"sig":"MEUCIQChsVWdjgR5ws3eOmq6+k056A1WI79wXQB7VPdEKfJDVQIgW06oO+aShRUvFxtIdqUZPV7AU5YqJh9bLfDPrNWocaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607733},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.32.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.32.tgz","_integrity":"sha512-eVoNAcncGXjfXrNNKLWDBFxiHqunE5OKRDV3Q4/9z4H/a2AMCjjStOQsZABFeTCNadvGowT6xR7lFqD4lkyaCg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.32","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.32","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.32","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.32_1780644293773_0.3814623369877228","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"@hachej/boring-core","version":"0.1.33","license":"MIT","_id":"@hachej/boring-core@0.1.33","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"9dbdc7e2f34deaaa68b6f4e28d9d9f7af0868660","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.33.tgz","fileCount":54,"integrity":"sha512-8I7DtqFRYNTGJugXFnIDS7o5VZMQcJBdOfEYwfF1Wi5nftdv1eQTKmTV+T+t54fUXMJD72He+8pCrqbpHv0u5g==","signatures":[{"sig":"MEUCIQCuFVpdbnC5Rjht+x/TzKRNomnOCpC8+hV3I+0o7HVyNwIgWVU/EqCk6Cc3HelYwqgIb2RQjXjfDV1Bo65F7nV0A8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607733},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.33.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.33.tgz","_integrity":"sha512-8I7DtqFRYNTGJugXFnIDS7o5VZMQcJBdOfEYwfF1Wi5nftdv1eQTKmTV+T+t54fUXMJD72He+8pCrqbpHv0u5g==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.33","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.33","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.33","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.33_1780671240118_0.6798267300804852","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"@hachej/boring-core","version":"0.1.34","license":"MIT","_id":"@hachej/boring-core@0.1.34","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"4be07b6376aba3d71ef00c82e94c8ac9419f90d9","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.34.tgz","fileCount":54,"integrity":"sha512-bPizuhgvV9j/MYq/6vLZ0QN3A0fVm8pktPYQxcde4ZN2lpI9XhnmQsLhs8Qx0ULEkQa7NHnZUnD02BucrjfosA==","signatures":[{"sig":"MEYCIQCABogoaQZ+6puA6AhsfoqwPE7eOBSFUWOryuq/7mdr2QIhAKLTQSYBuzCalMeKZl9JLyUXE1I+YVOZWBPIpUPTgCH+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607733},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.34.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.34.tgz","_integrity":"sha512-bPizuhgvV9j/MYq/6vLZ0QN3A0fVm8pktPYQxcde4ZN2lpI9XhnmQsLhs8Qx0ULEkQa7NHnZUnD02BucrjfosA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.34","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.34","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.34","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.1.3","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.34_1780982778934_0.3145674610956122","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"name":"@hachej/boring-core","version":"0.1.35","license":"MIT","_id":"@hachej/boring-core@0.1.35","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"0665e63ef2361320db33082114416e1e2d9249e2","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.35.tgz","fileCount":54,"integrity":"sha512-/xtp/5BDW3tyXw7/UExKrs59ddyQQ3kw5aOmkPJybt7fvu/Q4VTXWWK4lni332Jgo0886Y+tEGb7F3E1+Tm2Rw==","signatures":[{"sig":"MEYCIQDgxR3k/FO12ivyBt94lPHE3HguAkFEoJjHOsp3oId46QIhAKESfOvDYx9Zqd+8NaSg25ialNyN48csaUtZeOKy6LPk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607733},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.35.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.35.tgz","_integrity":"sha512-/xtp/5BDW3tyXw7/UExKrs59ddyQQ3kw5aOmkPJybt7fvu/Q4VTXWWK4lni332Jgo0886Y+tEGb7F3E1+Tm2Rw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.35","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.35","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.35","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.35_1781181001052_0.6551330875335664","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"@hachej/boring-core","version":"0.1.36","license":"MIT","_id":"@hachej/boring-core@0.1.36","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"9284da3609c438312610b5a09987c2039d813b57","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.36.tgz","fileCount":54,"integrity":"sha512-MlrAQydqssOpTYa3Tfmhcw71Nd841bCChzuhwAZ2lf1CRvS5/mK6z0pd73NpwgB/3QpsnXEerpkT7DXy+UaHwA==","signatures":[{"sig":"MEUCIEjFUKDslXL7lRdoPcduziBh5/It2x6vyZALu7fiWAAqAiEAifzB8P8w/ed4xyLUbB0ul6pWTLjH0p7nrSYk4Na2k/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607733},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.36.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.36.tgz","_integrity":"sha512-MlrAQydqssOpTYa3Tfmhcw71Nd841bCChzuhwAZ2lf1CRvS5/mK6z0pd73NpwgB/3QpsnXEerpkT7DXy+UaHwA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.36","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.36","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.36","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.36_1781199909561_0.07888341277213784","host":"s3://npm-registry-packages-npm-production"}},"0.1.37":{"name":"@hachej/boring-core","version":"0.1.37","license":"MIT","_id":"@hachej/boring-core@0.1.37","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"a2a736e482ec6ec3f82ae2ff48066e59908113d3","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.37.tgz","fileCount":54,"integrity":"sha512-wge6cnK9e8YrOhJa2AjeCcRNPpvaBtiZLvQnG00APQut5trGjpdiS55d7zAHiI2q9ReJ7i5m5X6Ph7wNpfn+uw==","signatures":[{"sig":"MEYCIQCKDraoI2t5sHc5t2LbdjmuyEog90KEWiXbHrOU5/M2TQIhALlcskAzU0+Uhq/VeuxfR+I4h+4j175RfnfeiS/FCqbO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607599},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.37.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.37.tgz","_integrity":"sha512-wge6cnK9e8YrOhJa2AjeCcRNPpvaBtiZLvQnG00APQut5trGjpdiS55d7zAHiI2q9ReJ7i5m5X6Ph7wNpfn+uw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.37","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.37","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.37","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.37_1781207911970_0.12941053462084273","host":"s3://npm-registry-packages-npm-production"}},"0.1.38":{"name":"@hachej/boring-core","version":"0.1.38","license":"MIT","_id":"@hachej/boring-core@0.1.38","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"932f05b7a7023c84c219de280e67ac9dcd0d696a","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.38.tgz","fileCount":54,"integrity":"sha512-QOtJbe+FYqIQUF6veygdc5rP80VS0TskC9OWDR4qYXKXMBjkMXH9bgHBF9zjpxH8+WWr7M0+c14wsWlK6uctvw==","signatures":[{"sig":"MEUCIQCxx4erW9BhysCfQnJnPkfkE/AmjOgkR2uHvvgXEJ4nsQIgMg3F/w0T5LJ3roUWmdpBquQjhQUm3+rn3F8RT67yKrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607599},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.38.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.38.tgz","_integrity":"sha512-QOtJbe+FYqIQUF6veygdc5rP80VS0TskC9OWDR4qYXKXMBjkMXH9bgHBF9zjpxH8+WWr7M0+c14wsWlK6uctvw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.38","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.38","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.38","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.38_1781238934284_0.4206542550632828","host":"s3://npm-registry-packages-npm-production"}},"0.1.39":{"name":"@hachej/boring-core","version":"0.1.39","license":"MIT","_id":"@hachej/boring-core@0.1.39","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"a6934cea33fc63338af88bf147b92c6ad2e330fc","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.39.tgz","fileCount":54,"integrity":"sha512-MD9SRWDsO7FOPZaWkr2h5YjJoRfTVE+UP0rziEiH8p6q2zcI3awFPwG/gpLa6kvaRGV3D8B7fYkcihN3B34gcQ==","signatures":[{"sig":"MEUCIEpW+aYEZGLxWvf8zoyFWXLw7fUgsV9nfdJqCEwN6tjxAiEAsDmwYta37Gi/tU5qYc7a7cSjN2ZJP6UbQlZaSv0MoIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607599},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.39.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.39.tgz","_integrity":"sha512-MD9SRWDsO7FOPZaWkr2h5YjJoRfTVE+UP0rziEiH8p6q2zcI3awFPwG/gpLa6kvaRGV3D8B7fYkcihN3B34gcQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.39","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.39","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.39","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.39_1781243091772_0.3149991569921766","host":"s3://npm-registry-packages-npm-production"}},"0.1.40":{"name":"@hachej/boring-core","version":"0.1.40","license":"MIT","_id":"@hachej/boring-core@0.1.40","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"05953cc73a1404b9aa708881f8d94eba8aaed80f","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.40.tgz","fileCount":54,"integrity":"sha512-9QgWRcrG2ot4svYF/i6nE9SxC4ybWNgarbb3QKexrpmmZem/6eQfTN+pF0KeMFXH72U7037Yt8FUcv8Uo8RKmg==","signatures":[{"sig":"MEUCIC4TIJ/Fg9/nZxandvWVVUx4+IGqYzoJsrPbqbUoqqcMAiEA/Yjp7l80GbJlI83uGOrFCsNHeKjGH8FGDRqZhGz6emM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607599},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.40.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.40.tgz","_integrity":"sha512-9QgWRcrG2ot4svYF/i6nE9SxC4ybWNgarbb3QKexrpmmZem/6eQfTN+pF0KeMFXH72U7037Yt8FUcv8Uo8RKmg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.40","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.40","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.40","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.40_1781248629861_0.17639964923829798","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"@hachej/boring-core","version":"0.1.41","license":"MIT","_id":"@hachej/boring-core@0.1.41","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"9245c21835b2232eb760fce65c2b4d61d82ad7b5","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.41.tgz","fileCount":54,"integrity":"sha512-Ec4PeRAMueTEiceVwseb7BFNMuZh4CTy0sxfr+6IRfQwRNFSeK6SMteT4AYWXrBmqR5/yssOe9YcaIqGjG7NFA==","signatures":[{"sig":"MEUCIQCeU69YlX78OKoOy9+gk2SZSTHBKdxyF7coQdETVDdFrAIgSefIn/nJ9P9dVy4J3V+OKEIpKNp0NwmNUOLwX1j6/kg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":607614},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.41.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.41.tgz","_integrity":"sha512-Ec4PeRAMueTEiceVwseb7BFNMuZh4CTy0sxfr+6IRfQwRNFSeK6SMteT4AYWXrBmqR5/yssOe9YcaIqGjG7NFA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.41","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.41","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.41","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.41_1781273230610_0.24709959867172948","host":"s3://npm-registry-packages-npm-production"}},"0.1.42":{"name":"@hachej/boring-core","version":"0.1.42","license":"MIT","_id":"@hachej/boring-core@0.1.42","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"2ebb1635dc8a297719a9e4461810d96ba9691082","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.42.tgz","fileCount":54,"integrity":"sha512-fStol2HVJLrcbWykarZkbf5wJWoR7AbZeb+CKUFaIpgb5OzYHf7j8LGho5wp2jnU1pojXvYT/Z7F7dyDlBnVlg==","signatures":[{"sig":"MEQCIBgoYk8vXSj0bm1D1riF2e4GwM56d9qO1mFHhKvyI4ERAiBfqyvfS6tS3ZvY0yTsItWumO5rwhp5ZN6SKdQq3xMscQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":599739},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.42.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.42.tgz","_integrity":"sha512-fStol2HVJLrcbWykarZkbf5wJWoR7AbZeb+CKUFaIpgb5OzYHf7j8LGho5wp2jnU1pojXvYT/Z7F7dyDlBnVlg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.42","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.42","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.42","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.42_1781383144600_0.9555166028209783","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"name":"@hachej/boring-core","version":"0.1.43","license":"MIT","_id":"@hachej/boring-core@0.1.43","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"eb5671a9e26acf8dcfe914342dadf61f7f28512f","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.43.tgz","fileCount":58,"integrity":"sha512-DuK1xA2VtVPfDVC/oyaqSTto4GCah3pYP7GzwOVm8ZtRxAULU+OFoXUK37IzggPz7PQIwwRSl6Tn+l3/C2SDWA==","signatures":[{"sig":"MEYCIQC1E6x2HyqlzvcDWDH/ywH/F+tyrP2TZYnZCUX8zajNjgIhAOHX27qqRTFj3Xd8hR3qNphnkMq93n6pmEI1v19PJyFc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":800908},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.43.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.43.tgz","_integrity":"sha512-DuK1xA2VtVPfDVC/oyaqSTto4GCah3pYP7GzwOVm8ZtRxAULU+OFoXUK37IzggPz7PQIwwRSl6Tn+l3/C2SDWA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.43","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.43","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.43","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.43_1781541473065_0.37857261348255844","host":"s3://npm-registry-packages-npm-production"}},"0.1.44":{"name":"@hachej/boring-core","version":"0.1.44","license":"MIT","_id":"@hachej/boring-core@0.1.44","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"8d1828b4b22b71a8629190a597f16f1bcd9950d6","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.44.tgz","fileCount":58,"integrity":"sha512-k9u0PCWZh+GpBgq5cnqajYUEo5rMF4zd0LBgzFj6eMZUlycPzJgLuasVWziFf7io6b0bYgsiOu9ewWLUnJdoYQ==","signatures":[{"sig":"MEYCIQC0TQAkpQxqo4P3AizIPFIWx8Vy/QH0FAjBwear9TA+9wIhAOlexmP0/u52PY4fHeOIlg33dWf1A7EBPyxAP2D/4fMP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":802778},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.44.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.44.tgz","_integrity":"sha512-k9u0PCWZh+GpBgq5cnqajYUEo5rMF4zd0LBgzFj6eMZUlycPzJgLuasVWziFf7io6b0bYgsiOu9ewWLUnJdoYQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.44","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.44","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.44","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.44_1781557984060_0.4330339470378357","host":"s3://npm-registry-packages-npm-production"}},"0.1.45":{"name":"@hachej/boring-core","version":"0.1.45","license":"MIT","_id":"@hachej/boring-core@0.1.45","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"d2dcb2102192c177d211edbbda94c597c2e40d50","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.45.tgz","fileCount":58,"integrity":"sha512-mTHIbURJkNskLNuXywBanrxbCZ4hFnTP1Vb01sqWnLb43Qr2n6F+TjIWOcbKAzVKFNUom9vV5IxhPXwZcs20jw==","signatures":[{"sig":"MEQCIG7upmgT+R1q7BwikmvcjVWI+phPLEGofoK+WTA8VsmJAiA0WlZGV/75lP12LOH3W/CIfC9+qGsOIJxkFE0hOJfcYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":804246},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.45.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.45.tgz","_integrity":"sha512-mTHIbURJkNskLNuXywBanrxbCZ4hFnTP1Vb01sqWnLb43Qr2n6F+TjIWOcbKAzVKFNUom9vV5IxhPXwZcs20jw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.45","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.45","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.45","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.45_1781588369790_0.7383797508179395","host":"s3://npm-registry-packages-npm-production"}},"0.1.46":{"name":"@hachej/boring-core","version":"0.1.46","license":"MIT","_id":"@hachej/boring-core@0.1.46","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"143bc02eff0be824f831568de5799afb807e17b0","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.46.tgz","fileCount":58,"integrity":"sha512-yJK7javpgTQ6+OxZZ+2KJ5atb0fHtUesJ29CGvCdVhtm0tHDFAz1Vqwz7Z1XvVMyPHodn3q9aP2OeoOpHZ7JKQ==","signatures":[{"sig":"MEUCIQC/76IvpkwZEdjaupxXTyLEjwqGvDF7QTSbtqKLZ1NqDwIgbFARdhAhaZOulFjdtkZ+kxAOhlOVd/J7tESPgOr3UU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":811149},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.46.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.46.tgz","_integrity":"sha512-yJK7javpgTQ6+OxZZ+2KJ5atb0fHtUesJ29CGvCdVhtm0tHDFAz1Vqwz7Z1XvVMyPHodn3q9aP2OeoOpHZ7JKQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.46","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.46","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.46","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.46_1781602880334_0.8551945724220011","host":"s3://npm-registry-packages-npm-production"}},"0.1.47":{"name":"@hachej/boring-core","version":"0.1.47","license":"MIT","_id":"@hachej/boring-core@0.1.47","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"fc79856c615b03df2202f85685bf92f25bdf8a00","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.47.tgz","fileCount":58,"integrity":"sha512-oMjfYO3jOpkgU0Q2L5x4ilAkhB7KXIaGPTruSwQxJpAXOTGlbWTWnPxH2jURv9j7TFs8jL8Mbh6E86bsrlLE4w==","signatures":[{"sig":"MEYCIQDKrwoZ67mitSIE0sqBDnBWBKPmACimmW6a27ajhHhiYQIhALHv5h/GOdi+7YJESrgWAbOCXN3YNyVUuk8moxEaMfMC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":811149},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.47.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.47.tgz","_integrity":"sha512-oMjfYO3jOpkgU0Q2L5x4ilAkhB7KXIaGPTruSwQxJpAXOTGlbWTWnPxH2jURv9j7TFs8jL8Mbh6E86bsrlLE4w==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.47","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.47","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.47","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.47_1781606797316_0.2426538129554605","host":"s3://npm-registry-packages-npm-production"}},"0.1.48":{"name":"@hachej/boring-core","version":"0.1.48","license":"MIT","_id":"@hachej/boring-core@0.1.48","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"38412e282f83fafe0fb11ee9171cd688d5aef08c","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.48.tgz","fileCount":58,"integrity":"sha512-Pg7Z44uDebV3p1gkzVijXnhWtisPHgFq4lVEWXRUK8+hAMZT+mCvdEoATiqhIyPmbH1HQ/JNLGda8TzVY/aSqw==","signatures":[{"sig":"MEUCIHhybgh/sO0Y5l37zMz5aI1Fz8brRfZxpwZxI1aj7p8eAiEA3jXKNRawUVtRQp0ZIL/QkkmyDjoHDTsBa8xyOsHmp5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":811149},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.48.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && cp src/front/theme.css dist/front/theme.css && mkdir -p dist/app/front && cp src/app/front/styles.css dist/app/front/styles.css","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.48.tgz","_integrity":"sha512-Pg7Z44uDebV3p1gkzVijXnhWtisPHgFq4lVEWXRUK8+hAMZT+mCvdEoATiqhIyPmbH1HQ/JNLGda8TzVY/aSqw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.48","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.48","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.48","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.48_1781619433589_0.06636348038413131","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"@hachej/boring-core","version":"0.1.49","license":"MIT","_id":"@hachej/boring-core@0.1.49","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"80c923eb00ad7486948b0d45e51c987249a3bdd5","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.49.tgz","fileCount":61,"integrity":"sha512-uVxZ3ODjrDp+fOZIWh+G+SClR8uyKQXa/GvbElbcpvx3G5B+VspYhs/H7uJeMx0TKOlSOkZ7XPkGpuboGsA5ng==","signatures":[{"sig":"MEQCIA8yoWYwG3b7deY4NoQad3uQ099vmkoTOCKVj5ZdyOEEAiAwM+05nH57BR6ma1poMVV01+oVQNSPGqQKNc5IXfOzEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":828218},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.49.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.49.tgz","_integrity":"sha512-uVxZ3ODjrDp+fOZIWh+G+SClR8uyKQXa/GvbElbcpvx3G5B+VspYhs/H7uJeMx0TKOlSOkZ7XPkGpuboGsA5ng==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.49","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.49","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.49","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.49_1781681494766_0.2899250838234655","host":"s3://npm-registry-packages-npm-production"}},"0.1.50":{"name":"@hachej/boring-core","version":"0.1.50","license":"MIT","_id":"@hachej/boring-core@0.1.50","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"cad824d27faed9c5e14393a1561dfbbc38a22bc8","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.50.tgz","fileCount":61,"integrity":"sha512-dP8FiQ6fYWjOeZjcz1tt0qJTmWr3JNOrFaQUZwCH/HltkHwlC0Q6SmRIOv/QfH7k7KDMFBykpLFdL7cxqi1ifQ==","signatures":[{"sig":"MEYCIQDOXvkMnqfZhfdaPJlHposBpUDWS3DlRL5STId5rLmB7QIhAL+bnIcIRGhqC39Abi7gP5oH7GUnZKrGiiEscUCPXllr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":829120},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.50.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.50.tgz","_integrity":"sha512-dP8FiQ6fYWjOeZjcz1tt0qJTmWr3JNOrFaQUZwCH/HltkHwlC0Q6SmRIOv/QfH7k7KDMFBykpLFdL7cxqi1ifQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.50","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.50","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.50","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.50_1781687207364_0.21976264618740182","host":"s3://npm-registry-packages-npm-production"}},"0.1.51":{"name":"@hachej/boring-core","version":"0.1.51","license":"MIT","_id":"@hachej/boring-core@0.1.51","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"4972078980ff451c273b10f8fd827a218a6b3dae","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.51.tgz","fileCount":61,"integrity":"sha512-AN/QOj/pUxzk6GHmVuoIq9F1lENXOI2Hj/4RJ0z0Qthlce+2Vmj4yMHBDomokVfF+RCcev47ZvDYQD9VoGENbQ==","signatures":[{"sig":"MEUCIQDingZOE1U23v5YkK1ePIZL/O9zd/Y42uFZBAl2KJa/jAIgR8UtEJB6M0IQSAiKTY9g3Fm5obqXsmsHppnQAQdZyLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":831231},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.51.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.51.tgz","_integrity":"sha512-AN/QOj/pUxzk6GHmVuoIq9F1lENXOI2Hj/4RJ0z0Qthlce+2Vmj4yMHBDomokVfF+RCcev47ZvDYQD9VoGENbQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.51","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.51","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.51","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.51_1781691338804_0.6255590894154777","host":"s3://npm-registry-packages-npm-production"}},"0.1.52":{"name":"@hachej/boring-core","version":"0.1.52","license":"MIT","_id":"@hachej/boring-core@0.1.52","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"c19183e07eade488e7f614f32beb0fbdf37c25e5","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.52.tgz","fileCount":61,"integrity":"sha512-BCjYTer39yLFqz23gA1qSjOwU9xT5pbaTHMjnVzZv+38Z75VtXt4D3sZlHx23ObnAix8jpDzyMrpK9VacDOl7A==","signatures":[{"sig":"MEQCIGp/+IRvbYIHDOQCjk3DR2sMcbnM3vA+fLbqkdPN9rlUAiBIfKPi1Wx8JaANVpsblvpgetQNaDMZ705uvfdQbJg+Uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":831231},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.52.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.52.tgz","_integrity":"sha512-BCjYTer39yLFqz23gA1qSjOwU9xT5pbaTHMjnVzZv+38Z75VtXt4D3sZlHx23ObnAix8jpDzyMrpK9VacDOl7A==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.52","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.52","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.52","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.52_1781693172332_0.8025941961558278","host":"s3://npm-registry-packages-npm-production"}},"0.1.53":{"name":"@hachej/boring-core","version":"0.1.53","license":"MIT","_id":"@hachej/boring-core@0.1.53","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"c14d042cd3c3ee667e8665c17da7f977a02b4dba","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.53.tgz","fileCount":61,"integrity":"sha512-fHmcSvJM9dqZ0DU7932VLl6vwuDkgm054cB/VtYE+X9dOmYjOpI9kKcIDCmJ2j1fiDYUxTVbhn3T1SvrUG0YHA==","signatures":[{"sig":"MEUCIQCUVT8YcXh1nBAiLeUSwLUomV0AmHRO7nKLLL2WJA5WegIgIfycUuZQzNFH0xqHRjLdsbNfwoWIPtp2e26Fey0Pn4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":837115},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.53.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.53.tgz","_integrity":"sha512-fHmcSvJM9dqZ0DU7932VLl6vwuDkgm054cB/VtYE+X9dOmYjOpI9kKcIDCmJ2j1fiDYUxTVbhn3T1SvrUG0YHA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.53","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.53","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.53","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.53_1781803103350_0.14654490661327557","host":"s3://npm-registry-packages-npm-production"}},"0.1.54":{"name":"@hachej/boring-core","version":"0.1.54","license":"MIT","_id":"@hachej/boring-core@0.1.54","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"f456d9c674dba9d2a20d2897a87585057dd79064","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.54.tgz","fileCount":61,"integrity":"sha512-HObmj3b3K1NS3/npubAnzuWHz52eY08ohBOY5DikTh5RAQz7h1tKZW2dfbmVGE7zBPNpYweyrbrxz3RYTMFhEQ==","signatures":[{"sig":"MEQCIEQnSK+LknOqqckI2ldexsy4neosi1lTOcBDU/Nyt82iAiAtzpq9yhYZ9Oj4ECVtqda6H6V4WTj/YbjyZxsxFgKtjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":838233},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.54.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.54.tgz","_integrity":"sha512-HObmj3b3K1NS3/npubAnzuWHz52eY08ohBOY5DikTh5RAQz7h1tKZW2dfbmVGE7zBPNpYweyrbrxz3RYTMFhEQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.54","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.54","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.54","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.54_1782243292922_0.08386081697904757","host":"s3://npm-registry-packages-npm-production"}},"0.1.55":{"name":"@hachej/boring-core","version":"0.1.55","license":"MIT","_id":"@hachej/boring-core@0.1.55","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"54967f02575f5142b9605ca0929cba1948dd9eec","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.55.tgz","fileCount":61,"integrity":"sha512-oQpqmtMoXvPbEphrDVArf4q8VWg2w7/h4p5mQvYm19SVadSywVuMa3h23Nv+tR06dz5WR+8nefyCx4DFa+vO3w==","signatures":[{"sig":"MEQCH0XXza65yIbPDF2mkFe4ATROXbyejzvzYdWf9PiZmqECIQDITuIuYB7xuVpxT2hdwzbH8ze8i/wN4yBtlIJWGUR/kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.55","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":847906},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.55.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.55.tgz","_integrity":"sha512-oQpqmtMoXvPbEphrDVArf4q8VWg2w7/h4p5mQvYm19SVadSywVuMa3h23Nv+tR06dz5WR+8nefyCx4DFa+vO3w==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.16.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.6","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.55","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.55","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.55","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.55_1782301196790_0.967158480755838","host":"s3://npm-registry-packages-npm-production"}},"0.1.56":{"name":"@hachej/boring-core","version":"0.1.56","license":"MIT","_id":"@hachej/boring-core@0.1.56","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"b1fd68c656ca16f694a3b5bdf1bb834aa9c25791","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.56.tgz","fileCount":61,"integrity":"sha512-qwN4SKQeSArpHf1phR60EMiOLY3CUG+xZJ8E0BTDNWPh13nv1L4M6S2vjgDgofLJ1Z5jkbFQ7vWyBNjIMBKQJQ==","signatures":[{"sig":"MEQCIBhhP6IOcKp1WGK1NmFEMy1xYUR4Qy2DXYRlYjheHnTeAiB972oJKTpg14eLIFEqPXMjWSrZaSkSi+yYHN03o6p+Iw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.56","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":848861},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.56.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.56.tgz","_integrity":"sha512-qwN4SKQeSArpHf1phR60EMiOLY3CUG+xZJ8E0BTDNWPh13nv1L4M6S2vjgDgofLJ1Z5jkbFQ7vWyBNjIMBKQJQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.56","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.56","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.56","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.56_1782418254306_0.3978724611937625","host":"s3://npm-registry-packages-npm-production"}},"0.1.57":{"name":"@hachej/boring-core","version":"0.1.57","license":"MIT","_id":"@hachej/boring-core@0.1.57","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"14fe296ade2654379529002f495b9204e0afd466","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.57.tgz","fileCount":61,"integrity":"sha512-lEzD5A9aWcJ05W8bj2OV5HRIOW+0XQOhxrnAHowkEYJgjp4e4kEegDszXdwqR0+7TXZjEFIoRUwwNwzwr4pRYA==","signatures":[{"sig":"MEUCIFf0ACwIXBWwAffZnGcAQ/3UJovFphCK4XHuZ3bfXWt1AiEAzDOm6YT2kmdFev1W55Z/5QmOeDE+xWa62NyYVifYvoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":848861},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.57.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.57.tgz","_integrity":"sha512-lEzD5A9aWcJ05W8bj2OV5HRIOW+0XQOhxrnAHowkEYJgjp4e4kEegDszXdwqR0+7TXZjEFIoRUwwNwzwr4pRYA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.57","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.57","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.57","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.57_1782422030252_0.5441550141193605","host":"s3://npm-registry-packages-npm-production"}},"0.1.58":{"name":"@hachej/boring-core","version":"0.1.58","license":"MIT","_id":"@hachej/boring-core@0.1.58","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"24a150a5f24fee9c0696855d1e5ff2ee9bda4cc7","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.58.tgz","fileCount":61,"integrity":"sha512-dRVmQdSREUZ1122+IC6zl2wKk115dpBcYjrzLm35kmo7vZYxMZ2fjii5FqNb5/kt1lihIlxwlA/v3a9XfPbtOA==","signatures":[{"sig":"MEUCIQDK4iKwTXaZxCsSer1Y+YxW9rci2lPUTKgXU8PPT9mw8AIgbn0nlOPRcDSyOvPbuvb53/uZdboDOw0L/bhodrAt6+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.58","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":848861},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.58.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.58.tgz","_integrity":"sha512-dRVmQdSREUZ1122+IC6zl2wKk115dpBcYjrzLm35kmo7vZYxMZ2fjii5FqNb5/kt1lihIlxwlA/v3a9XfPbtOA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.58","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.58","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.58","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.58_1782453788922_0.4427948066817873","host":"s3://npm-registry-packages-npm-production"}},"0.1.59":{"name":"@hachej/boring-core","version":"0.1.59","license":"MIT","_id":"@hachej/boring-core@0.1.59","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"eaa6658e8ce075373244855f1f1b3e1e870fe20c","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.59.tgz","fileCount":61,"integrity":"sha512-nVRGWL02iE8nD41fFn3sAn2JHs0q62xHAw+HFzizeYjrz3MCl4v/cVX4QWx9PPYxs9qtR0woESkCYjWbQK/1dA==","signatures":[{"sig":"MEYCIQD1RHKKD1yJwlWwpXPwoPNN7xNFP1KoDFnTz4Ao3JkWbwIhAMd9a5dSjDsPXDG/xIj1ftoGP2CkBYxZDh2dTkGVRCq1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":848861},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.59.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.59.tgz","_integrity":"sha512-nVRGWL02iE8nD41fFn3sAn2JHs0q62xHAw+HFzizeYjrz3MCl4v/cVX4QWx9PPYxs9qtR0woESkCYjWbQK/1dA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.59","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.59","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.59","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.59_1782463331223_0.07959464083550416","host":"s3://npm-registry-packages-npm-production"}},"0.1.60":{"name":"@hachej/boring-core","version":"0.1.60","license":"MIT","_id":"@hachej/boring-core@0.1.60","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"a92958a6b51bc5f43a7edb86d3c76b683325d84b","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.60.tgz","fileCount":61,"integrity":"sha512-492Mcs3bYK/HcbLuL5Nte06pqn6k6dkfxleRUvVFDlPUVMFbNsRJfResElPfn2aJ5qCC/tMTry6QiKsYBSWCqQ==","signatures":[{"sig":"MEUCIAJGrTrWQYrDh0oClLNjWRvr2a5yunXbLYohkunTd+dnAiEA1IP+zlUwx5FuksR1RPPYegS+/af5VHoJLNSPzpxb63I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.60","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858081},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.60.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.60.tgz","_integrity":"sha512-492Mcs3bYK/HcbLuL5Nte06pqn6k6dkfxleRUvVFDlPUVMFbNsRJfResElPfn2aJ5qCC/tMTry6QiKsYBSWCqQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.60","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.60","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.60","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.60_1782773542695_0.40540528184028557","host":"s3://npm-registry-packages-npm-production"}},"0.1.61":{"name":"@hachej/boring-core","version":"0.1.61","license":"MIT","_id":"@hachej/boring-core@0.1.61","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"1ccccc185d824209a691176c3fa0c8bb24961478","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.61.tgz","fileCount":61,"integrity":"sha512-1wQOcIAjMbKzyeKtSZ4w9AU6KggChRHVShHC7Hs1E3Eir0pFfRUEUIehtLxXkoVL/R/29EYgXGqOrYMZ2Wje7g==","signatures":[{"sig":"MEUCIG7BNszO3IyUsH3i02n6oozhBBlfiHaXcHcOx38MKSqJAiEAhYQeZCrJ5WDFMzPlNcWId7jz1VaHoTvvxf5YPJrmSSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858081},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.61.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.61.tgz","_integrity":"sha512-1wQOcIAjMbKzyeKtSZ4w9AU6KggChRHVShHC7Hs1E3Eir0pFfRUEUIehtLxXkoVL/R/29EYgXGqOrYMZ2Wje7g==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.61","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.61","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.61","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.61_1782853968537_0.16067647868455381","host":"s3://npm-registry-packages-npm-production"}},"0.1.62":{"name":"@hachej/boring-core","version":"0.1.62","license":"MIT","_id":"@hachej/boring-core@0.1.62","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"3fc5224a64a6732c8cece8f9bff7471ed3b81866","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.62.tgz","fileCount":61,"integrity":"sha512-I7Ta9P77VkDhzsKrsYT2+IilGkrR5tQRnHiyOdKi1E5ZVDJiOnoZJIaTjxQcuD7Q9kvxXgG6x/L3YviqZHccfg==","signatures":[{"sig":"MEUCIHEO17HT6gZGd4dC11ts+NCnQsTRfnrA3KCcaY9LXuRcAiEAnF+Hn52JSxpSPG8MAZXoH+QDMBbE7MwWjKVSh5jKa8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858081},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.62.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.62.tgz","_integrity":"sha512-I7Ta9P77VkDhzsKrsYT2+IilGkrR5tQRnHiyOdKi1E5ZVDJiOnoZJIaTjxQcuD7Q9kvxXgG6x/L3YviqZHccfg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.62","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.62","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.62","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.62_1782925364456_0.751987645651879","host":"s3://npm-registry-packages-npm-production"}},"0.1.63":{"name":"@hachej/boring-core","version":"0.1.63","license":"MIT","_id":"@hachej/boring-core@0.1.63","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"2e84b146a845a64b136ccf3344048937cb45e43a","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.63.tgz","fileCount":61,"integrity":"sha512-kl3qycQ10HRYj5U0AiEwsbPF2KFWu09qryAFBUuBsUyOvHAAStC+cSI/RQAJarmkkt6eDYNf8/V1NpSy4u0mhQ==","signatures":[{"sig":"MEUCIHHxJMyqqcTNmBsBXhHx99HKhafXjNrTqyl/dykUj2I7AiEA5tG2RZX+sHnzl87hz4N3XfZpkZf0+9p62PyeaKgkMeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858081},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.63.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.63.tgz","_integrity":"sha512-kl3qycQ10HRYj5U0AiEwsbPF2KFWu09qryAFBUuBsUyOvHAAStC+cSI/RQAJarmkkt6eDYNf8/V1NpSy4u0mhQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.13.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.63","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.63","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.63","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.63_1782968577277_0.7368042330165063","host":"s3://npm-registry-packages-npm-production"}},"0.1.64":{"name":"@hachej/boring-core","version":"0.1.64","license":"MIT","_id":"@hachej/boring-core@0.1.64","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"5d10647ffe3f419e117c2a2de913498c1a929cca","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.64.tgz","fileCount":61,"integrity":"sha512-7I4PJIeZs1LHep+UbNE6iUiQrStn2/wRp1NSXeNZILb5CCw6hMUwXDwEKZUMXFiNqHGUHYIC0b9QkPiXNuxH7A==","signatures":[{"sig":"MEUCIFSf2cmO5wCi5WHjuGUQ14hwXZAuKkJGlOmA4DOOtXzaAiEA5YIMmO30MhC5nFV7igQzMsFWRzu5AhgXa4sBilDk+eA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.64","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":864228},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.64.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.64.tgz","_integrity":"sha512-7I4PJIeZs1LHep+UbNE6iUiQrStn2/wRp1NSXeNZILb5CCw6hMUwXDwEKZUMXFiNqHGUHYIC0b9QkPiXNuxH7A==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.3.3","postgres":"^3.4.9","smol-toml":"^1.6.1","nodemailer":"^8.0.9","better-auth":"^1.6.11","drizzle-orm":"^0.45.2","lucide-react":"^1.8.0","posthog-node":"^5.35.1","@fastify/cors":"^11.0.0","fastify-plugin":"^5.1.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^3.0.4","react-hook-form":"^7.74.0","close-with-grace":"^2.2.0","react-router-dom":"^7.14.2","react-helmet-async":"^2.0.5","@fastify/rate-limit":"^10.3.0","@hookform/resolvers":"^5.2.2","@react-email/render":"^2.0.7","@hachej/boring-agent":"0.1.64","isomorphic-dompurify":"^3.10.0","@hachej/boring-ui-kit":"0.1.64","@tanstack/react-query":"^5.0.0","@zxcvbn-ts/language-en":"^3.0.2","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.64","@zxcvbn-ts/language-common":"^3.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.4.0","jsdom":"^29.0.2","react":"^19.1.0","vitest":"^3.2.6","react-dom":"^19.1.0","typescript":"^5.8.3","@types/node":"^22.15.3","drizzle-kit":"^0.31.10","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.64_1783063369542_0.07536915852337556","host":"s3://npm-registry-packages-npm-production"}},"0.1.65":{"name":"@hachej/boring-core","version":"0.1.65","license":"MIT","_id":"@hachej/boring-core@0.1.65","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"1242e45482642a3dc931ec89c74cb98ac5058b32","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.65.tgz","fileCount":63,"integrity":"sha512-rxlV6KSf/UeLkt099DDAnJ35jSgwpKm6Sw66GsumHfMVN3BkJP22OT/tdAUBPZg/8kXMlb6BRNI0xvpeSftm1g==","signatures":[{"sig":"MEUCIQC+wJrzGiJZaNH68lRqfMX/xrw6+Kb1+OFkpxQQczc8nAIgXe7jJ+ap/22QngjBwbm/jgOJ++ubStDrq5unpfcth1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.65","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":897292},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.65.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.65.tgz","_integrity":"sha512-rxlV6KSf/UeLkt099DDAnJ35jSgwpKm6Sw66GsumHfMVN3BkJP22OT/tdAUBPZg/8kXMlb6BRNI0xvpeSftm1g==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.1","better-auth":"^1.6.22","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.0.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.65","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.65","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.65","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.65_1783502833331_0.966847853145268","host":"s3://npm-registry-packages-npm-production"}},"0.1.66":{"name":"@hachej/boring-core","version":"0.1.66","license":"MIT","_id":"@hachej/boring-core@0.1.66","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"045b257c592263d93c59bd9265ea3f1257f2276e","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.66.tgz","fileCount":63,"integrity":"sha512-6bfL9+EAsjNI285dyezZk7JBxIqiRQX7qKlslUDjpu1neVTHhf4Xh/N0bOHonh0zs2iJpVyLBOlj7mn/gzNTsg==","signatures":[{"sig":"MEUCIDEHshHXV7gU0yR9px/1EocCSSotCYM6NjzGHO9C3s/UAiEAuH8sDSvGvRVhHZOUStrSjMMNkNyuAwfDqzCaVoR7V3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.66","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":897292},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.66.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.66.tgz","_integrity":"sha512-6bfL9+EAsjNI285dyezZk7JBxIqiRQX7qKlslUDjpu1neVTHhf4Xh/N0bOHonh0zs2iJpVyLBOlj7mn/gzNTsg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.1","better-auth":"^1.6.22","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.0.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.66","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.66","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.66","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.66_1783503766168_0.07915686430675484","host":"s3://npm-registry-packages-npm-production"}},"0.1.67":{"name":"@hachej/boring-core","version":"0.1.67","license":"MIT","_id":"@hachej/boring-core@0.1.67","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"36593ef75b8acbc5a9647799b258a1f6a4e8d8f9","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.67.tgz","fileCount":63,"integrity":"sha512-/Ak0RUp6T3IbtAQNOXzwH3n8UHUS1uJmGEBXBKuHrEYniwn5nmoE7DDJMXSuS3/wKf06uQk1Dxk57+DJme1T5w==","signatures":[{"sig":"MEQCIC+tQr+4OuCvszYVrfCn609jtGOlxy6/vdTARa5xOjvMAiBM+RveigJ8NF0Bwq5OiUU55hGBFCpGkmI8DWPeC/Fywg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":897292},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.67.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.67.tgz","_integrity":"sha512-/Ak0RUp6T3IbtAQNOXzwH3n8UHUS1uJmGEBXBKuHrEYniwn5nmoE7DDJMXSuS3/wKf06uQk1Dxk57+DJme1T5w==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.1","better-auth":"^1.6.22","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.0.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.67","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.67","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.67","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.67_1783514233309_0.09999852612532956","host":"s3://npm-registry-packages-npm-production"}},"0.1.68":{"name":"@hachej/boring-core","version":"0.1.68","license":"MIT","_id":"@hachej/boring-core@0.1.68","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"ed5f1763d7c5fa9e2fe8b5c908b0d4f2ed54f8ab","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.68.tgz","fileCount":63,"integrity":"sha512-C4ZgxUfDv34ynEXhPXx0CGSfzfYYPpczNHhPt9SnESeFySYZRSfV9Zf/Ngbx5VP0WMVvmeIPVDbW/ToB2czE4Q==","signatures":[{"sig":"MEQCIE6rH1isXK8hUDdbv7yc5yIZEdnIpdjSWL5Lhd8G1tUpAiAJu0LG40UW6+I3BtI4sdbzGDyK+Ik4cm+3U5YyEs7SDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.68","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":897292},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.68.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.68.tgz","_integrity":"sha512-C4ZgxUfDv34ynEXhPXx0CGSfzfYYPpczNHhPt9SnESeFySYZRSfV9Zf/Ngbx5VP0WMVvmeIPVDbW/ToB2czE4Q==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.1","better-auth":"^1.6.22","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.0.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.68","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.68","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.68","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.68_1783515333085_0.016412230903495972","host":"s3://npm-registry-packages-npm-production"}},"0.1.69":{"name":"@hachej/boring-core","version":"0.1.69","license":"MIT","_id":"@hachej/boring-core@0.1.69","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"0291e542660d50378e80f4d66f7fbe82bc976b9f","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.69.tgz","fileCount":63,"integrity":"sha512-JMwn7/yLtaMj38OkYiYEM/ftO6M8gnsRXvIIZdIpCYKe57tMZ6AF4HznXQs/UU6n3I7nry95wuG4S4m291SG8w==","signatures":[{"sig":"MEYCIQDrXjoE4GVLOvKz5O8a2t3U0sV8NPOYroSMDYu2ECgDkwIhAMkQRlLmIcD1m61YaKoTMVgSvCf3ZFsWBbQ7RIq5eFNX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.69","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":897292},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.69.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.69.tgz","_integrity":"sha512-JMwn7/yLtaMj38OkYiYEM/ftO6M8gnsRXvIIZdIpCYKe57tMZ6AF4HznXQs/UU6n3I7nry95wuG4S4m291SG8w==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.1","better-auth":"^1.6.22","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.0.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.69","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.69","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.69","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.69_1783517890840_0.5920328975209355","host":"s3://npm-registry-packages-npm-production"}},"0.1.70":{"name":"@hachej/boring-core","version":"0.1.70","license":"MIT","_id":"@hachej/boring-core@0.1.70","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"c95a2e9b39c76c4a0f7877f17ab79526dfd0ed10","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.70.tgz","fileCount":63,"integrity":"sha512-U3DjE0JJ3wZ37CmhmHZMhjTN7I32opd9S2ATtVrjV4WEPn2TJSLrYhX5H2plA9KTKaM/fHGp5JRsVfNSEr/f/g==","signatures":[{"sig":"MEYCIQDcZI9BhMCxBGzpbEJeR3ZEJ9EqCVjhY6QlTDPYEYnwrgIhALvkB05r4nIaovCqE4EB82tv+LeF7ENa6HPS4XF387Ol","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.70","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":897292},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.70.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.70.tgz","_integrity":"sha512-U3DjE0JJ3wZ37CmhmHZMhjTN7I32opd9S2ATtVrjV4WEPn2TJSLrYhX5H2plA9KTKaM/fHGp5JRsVfNSEr/f/g==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.1","better-auth":"^1.6.22","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.0.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.70","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.70","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.70","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.70_1783518884069_0.5539112761685645","host":"s3://npm-registry-packages-npm-production"}},"0.1.71":{"name":"@hachej/boring-core","version":"0.1.71","license":"MIT","_id":"@hachej/boring-core@0.1.71","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"98e78044381f961c458e37d2cde0da9c251b37b8","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.71.tgz","fileCount":63,"integrity":"sha512-cNxPfvALBlP+qk5UBMC863bo2lE7QN8CWlqlSJo1ymo6eCpHL6FdesU4jAEyzrnX/FpbfHbo0wYpCRyIf4h2KA==","signatures":[{"sig":"MEUCIG4R9BEV30eeCWm4HnsIGCZa6qwS41gS0cv3T1EAgtLJAiEA/BVzopOUt5J/5Pc7ZEsDnyWCECOWf/QlVmfxXcr3hY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.71","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":897911},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.71.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.71.tgz","_integrity":"sha512-cNxPfvALBlP+qk5UBMC863bo2lE7QN8CWlqlSJo1ymo6eCpHL6FdesU4jAEyzrnX/FpbfHbo0wYpCRyIf4h2KA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.0.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.71","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.71","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.71","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.71_1783523732242_0.32666239496239635","host":"s3://npm-registry-packages-npm-production"}},"0.1.72":{"name":"@hachej/boring-core","version":"0.1.72","license":"MIT","_id":"@hachej/boring-core@0.1.72","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"f6e80f3707e354bc75b357471792ea2d202119ec","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.72.tgz","fileCount":64,"integrity":"sha512-ooSpgHc/t69RTlZyBKXRzKVyXaX38bh4+2TqH5RadeZ9SfW4EQLSqi3KXE1cjZ0X2KYvYwVsu3XIMDkaFZvR/A==","signatures":[{"sig":"MEUCIF+aumdA2nviECzZuwu9JM0ZAfQhDA3lHTZAf5z3ME+AAiEA7sOQgtqRqmptNAglbbq0miWFUaeUD7pf1ZiAxdthYzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":917913},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.72.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.72.tgz","_integrity":"sha512-ooSpgHc/t69RTlZyBKXRzKVyXaX38bh4+2TqH5RadeZ9SfW4EQLSqi3KXE1cjZ0X2KYvYwVsu3XIMDkaFZvR/A==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.72","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.72","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.72","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.72_1783668246488_0.49523171350040585","host":"s3://npm-registry-packages-npm-production"}},"0.1.73":{"name":"@hachej/boring-core","version":"0.1.73","license":"MIT","_id":"@hachej/boring-core@0.1.73","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"71a92d993911ec158b155d18e35f8baf14db64a3","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.73.tgz","fileCount":64,"integrity":"sha512-vvK6l51Rp8YCIVJiwAgmQfDoPQpqqVLQndWmiZ3S5inTNKFtTNvUhRYtdVe3ctPKNAlN3lS5mPKYHsxPQxuCSg==","signatures":[{"sig":"MEYCIQCL7kOXJIOCE+gxH2bNHceHgEPEfLE9Wv8wZQL5Zu19aAIhAKb47d+7MVZ/LZe05AM/Js3UtCmyMOvshkGh1I9bvaa/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.73","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":917976},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.73.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.73.tgz","_integrity":"sha512-vvK6l51Rp8YCIVJiwAgmQfDoPQpqqVLQndWmiZ3S5inTNKFtTNvUhRYtdVe3ctPKNAlN3lS5mPKYHsxPQxuCSg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.73","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.73","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.73","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.73_1783678080682_0.8789390684209217","host":"s3://npm-registry-packages-npm-production"}},"0.1.74":{"name":"@hachej/boring-core","version":"0.1.74","license":"MIT","_id":"@hachej/boring-core@0.1.74","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"a0f49814172286759835439f041b0fe70f0e875e","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.74.tgz","fileCount":64,"integrity":"sha512-eue/+mN8pO/5fXgHWAx0Xf1UTojy3eyiAeljs77U20Hyq5b0LqMqLRpZIhyvtwZ2qeN1jfObvGchi5qucufFSg==","signatures":[{"sig":"MEQCIGbgrp6q18N5pf/hXIp9VxM1lXLhSYtmFqOxxuNnGS0AAiA0ZHlzSf0+UfHgTkb4b0Lu6GRmjwFmhiCJNydka8P+yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.74","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":917976},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.74.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.74.tgz","_integrity":"sha512-eue/+mN8pO/5fXgHWAx0Xf1UTojy3eyiAeljs77U20Hyq5b0LqMqLRpZIhyvtwZ2qeN1jfObvGchi5qucufFSg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.74","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.74","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.74","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.74_1783683263825_0.7732112047018735","host":"s3://npm-registry-packages-npm-production"}},"0.1.75":{"name":"@hachej/boring-core","version":"0.1.75","license":"MIT","_id":"@hachej/boring-core@0.1.75","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"2c212bc87465b2d4f8b5d1ef3d951e1f8c1023db","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.75.tgz","fileCount":64,"integrity":"sha512-xIOgb9TX+qho3riv4my4Ylo2I6K+7QG3kw3V7WJdwnAeBcLy1AaQaRetOlB5O7cDMOMa9UpeWrCLg/krvddmRw==","signatures":[{"sig":"MEYCIQCGbdQLavV5a+5PvcdY45sgwgnrf0XgrVdrjIi+0RoonAIhAL36Af0UUgpVrnYOX4xNgo4nYLW9GKr2RmNdVCZ2HVk+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.75","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":917976},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.75.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.75.tgz","_integrity":"sha512-xIOgb9TX+qho3riv4my4Ylo2I6K+7QG3kw3V7WJdwnAeBcLy1AaQaRetOlB5O7cDMOMa9UpeWrCLg/krvddmRw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.75","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.75","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.75","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.75_1783688290331_0.49951797055748326","host":"s3://npm-registry-packages-npm-production"}},"0.1.76":{"name":"@hachej/boring-core","version":"0.1.76","license":"MIT","_id":"@hachej/boring-core@0.1.76","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"82b9ebde339590aac4850058a29ff72a838a242c","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.76.tgz","fileCount":64,"integrity":"sha512-nttu011liut+qbU3MMAQwn7x7A1EVA5bdw7Y3ap1oYKTlrkIMZKQ3co9H2gk8vEYF9t10nOB9w820ySCwvVIig==","signatures":[{"sig":"MEUCIBwnlXQFaj6VbpQZV0ctZV5xZb2BEm9JEBT1BX8JGAeYAiEAp8c8wl/g+7XvyFrAbgyKZ8oIieh9chTOYnvT4v6Z2LE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.76","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":917976},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.76.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.76.tgz","_integrity":"sha512-nttu011liut+qbU3MMAQwn7x7A1EVA5bdw7Y3ap1oYKTlrkIMZKQ3co9H2gk8vEYF9t10nOB9w820ySCwvVIig==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.76","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.76","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.76","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.76_1783716356031_0.8151936531569357","host":"s3://npm-registry-packages-npm-production"}},"0.1.77":{"name":"@hachej/boring-core","version":"0.1.77","license":"MIT","_id":"@hachej/boring-core@0.1.77","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"43c2bed8e82133a2a24f4a041d8cddffae1742b4","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.77.tgz","fileCount":64,"integrity":"sha512-GsmYoDFEVKCid2YQTS/OWwWUKheXiGK4byTcscJAycuU+YdEzuuxMOg9WTjPFT+UuCMU2xuhI41uybJelGt+Uw==","signatures":[{"sig":"MEQCIAHv+L4FXSGOXIAJwNA9xn5QUOzwbl4yo2JLQBcI1Y3FAiBDZJxb64wv+yQuE2DfRRb7Di1P2WeHXLzLfzIoiP+6og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.77","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918229},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.77.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.77.tgz","_integrity":"sha512-GsmYoDFEVKCid2YQTS/OWwWUKheXiGK4byTcscJAycuU+YdEzuuxMOg9WTjPFT+UuCMU2xuhI41uybJelGt+Uw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.77","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.77","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.77","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.77_1783716719372_0.0896048157668694","host":"s3://npm-registry-packages-npm-production"}},"0.1.78":{"name":"@hachej/boring-core","version":"0.1.78","license":"MIT","_id":"@hachej/boring-core@0.1.78","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"8c01463246497fcf3c1dc3f80cbcdaf477f8dd87","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.78.tgz","fileCount":64,"integrity":"sha512-BwnPX5f9NcDn4ttLr1yyt6jr0QZk0Eq1lxsHyb2sZVBVS9qIv1hKqWx9xpTBwcttPBjepmWq7zGxZkzQBfisGA==","signatures":[{"sig":"MEQCICZPRNEGR3Ar36bipjE/19A1F/vSwsb2YQhAiV7mCTYKAiBj2EmRc6k+lsXqNdZCpGj2e3qzB+bql7pIknRVPI/mTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.78","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918229},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.78.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.78.tgz","_integrity":"sha512-BwnPX5f9NcDn4ttLr1yyt6jr0QZk0Eq1lxsHyb2sZVBVS9qIv1hKqWx9xpTBwcttPBjepmWq7zGxZkzQBfisGA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.78","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.78","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.78","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.78_1783717364494_0.6906633641102793","host":"s3://npm-registry-packages-npm-production"}},"0.1.79":{"name":"@hachej/boring-core","version":"0.1.79","license":"MIT","_id":"@hachej/boring-core@0.1.79","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"3c8a441059d0e71314b54d67f21b91413ec2e313","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.79.tgz","fileCount":64,"integrity":"sha512-xQNOO66KIhyn++JRj5fh1w/ihHfSovhJmIn2DH4uNepnAv2qA+6blBV/Hf7AIPQeVAOt6+90siF0XZoRdDITKQ==","signatures":[{"sig":"MEQCIGfxD7GcGEY7P5NAEfeFonsO5kl5GJtmORDv9dVnm2yHAiBCuX+wdb2x6UptIE2//B/q0oOkRym+akC3q86xd1+rUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.79","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":919638},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.79.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.79.tgz","_integrity":"sha512-xQNOO66KIhyn++JRj5fh1w/ihHfSovhJmIn2DH4uNepnAv2qA+6blBV/Hf7AIPQeVAOt6+90siF0XZoRdDITKQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.79","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.79","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.79","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.79_1783776707553_0.12554367924372634","host":"s3://npm-registry-packages-npm-production"}},"0.1.80":{"name":"@hachej/boring-core","version":"0.1.80","license":"MIT","_id":"@hachej/boring-core@0.1.80","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"8a70ed50f6c23eec191f8e11c753a6af4e702dbd","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.80.tgz","fileCount":64,"integrity":"sha512-tliN0ZqHvleoVLgb8MW3bJ+mvzUSYpdSt0GVUJWUtG/d6lfNnDXNRV03nzKbwdyjh1Xl6S+ugJh8QTxdzDuF2Q==","signatures":[{"sig":"MEYCIQDZdoYcj7tQ7nfbHsHIZJhWcMzzVXyV2iXrZrWvK3Yc5QIhAJV8vnm8uCsm19f7tO7wYNbucik4hDhWWb4Ld5//D6iY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.80","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":920217},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.80.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.80.tgz","_integrity":"sha512-tliN0ZqHvleoVLgb8MW3bJ+mvzUSYpdSt0GVUJWUtG/d6lfNnDXNRV03nzKbwdyjh1Xl6S+ugJh8QTxdzDuF2Q==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.80","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.80","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.80","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.80_1783842711658_0.7378707200508301","host":"s3://npm-registry-packages-npm-production"}},"0.1.81":{"name":"@hachej/boring-core","version":"0.1.81","license":"MIT","_id":"@hachej/boring-core@0.1.81","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"c742269fb97ab4c1f5fbbf875d3836394db4b5be","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.81.tgz","fileCount":64,"integrity":"sha512-14MBt1pxW+TAsjI3zy+20NJaEPQkZHsx++NpM15gL1mZoqmXEjeIWixmrn5zRHoY5eSOtXhrl5BP/ITM0JUkpQ==","signatures":[{"sig":"MEUCIQDw3l/q4fmtM1b7B0dX73GHGFoTOc0DfG9OF5qBNoJThwIgD+EZC3GpeJ/F3jecwY86erphuqzkWzdiAN5aiQ7MZxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.81","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":920513},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.81.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.81.tgz","_integrity":"sha512-14MBt1pxW+TAsjI3zy+20NJaEPQkZHsx++NpM15gL1mZoqmXEjeIWixmrn5zRHoY5eSOtXhrl5BP/ITM0JUkpQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.81","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.81","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.81","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.81_1783869109750_0.8877588459407608","host":"s3://npm-registry-packages-npm-production"}},"0.1.82":{"name":"@hachej/boring-core","version":"0.1.82","license":"MIT","_id":"@hachej/boring-core@0.1.82","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"8f5ee74b253a601ef2f7ce335bcfb2fc4c10c908","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.82.tgz","fileCount":64,"integrity":"sha512-CMDdzGcrIM7Oq4XT+gvoVQOMulFegAUY3ZpNeDv/y4cUCRaxlSkzfs0xxsdbxG/LnUTkgd1yPf95kBNoXMI/DQ==","signatures":[{"sig":"MEYCIQCVzT+aXEAMfeYpyeZsfaJLXVgXIGW2trA1wnElrtfkTwIhAII3FELKiARdYjh4ZZQ8PeXURPAZQ1HJkQAvmdnFhTci","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.82","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":943467},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.82.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.82.tgz","_integrity":"sha512-CMDdzGcrIM7Oq4XT+gvoVQOMulFegAUY3ZpNeDv/y4cUCRaxlSkzfs0xxsdbxG/LnUTkgd1yPf95kBNoXMI/DQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.82","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.82","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.82","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.82_1783921261979_0.10803029890734384","host":"s3://npm-registry-packages-npm-production"}},"0.1.83":{"name":"@hachej/boring-core","version":"0.1.83","license":"MIT","_id":"@hachej/boring-core@0.1.83","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"477c4e5adab54fd5c1e62ea897fd40f28bbd4de6","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.83.tgz","fileCount":64,"integrity":"sha512-1y3pdl1uGqaOkEPiEj91Pf/w/rPs7aWyUmpQJoiMH6XZtYKUtBJvaOrvqBqOevSnY21hdZ7LIJieQDLgLSDYuQ==","signatures":[{"sig":"MEUCIBSjQYX7Zl8LfEbGNNuRgt0FB6nHpap3Ym5gg+8Lbo6uAiEA0g5Hyrc9ZfvAVkVI3yfuo5V8xfNmgDlJJhdArT8AmYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.83","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":944215},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.83.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.83.tgz","_integrity":"sha512-1y3pdl1uGqaOkEPiEj91Pf/w/rPs7aWyUmpQJoiMH6XZtYKUtBJvaOrvqBqOevSnY21hdZ7LIJieQDLgLSDYuQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.83","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.83","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.83","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.83_1783928661287_0.49735580673994506","host":"s3://npm-registry-packages-npm-production"}},"0.1.84":{"name":"@hachej/boring-core","version":"0.1.84","license":"MIT","_id":"@hachej/boring-core@0.1.84","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"2e7b8a4be73522a87270aa12f55502ad33f29045","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.84.tgz","fileCount":65,"integrity":"sha512-Wsfl94l+b/WdhdQniyONMagAAUGRM6VM4qnBzD1kApPbJl/34u8JqcFVrl6e4TZeqXPXgJvDb6zatszb16Zprg==","signatures":[{"sig":"MEQCIBaG6529CxKxgDgrCu7gC7nzYoYyaNFLenent2oCfmDcAiAkMJ9DskbBcAB0Z5//LBCNW3YmjlBrMnSQx9M9q8WBEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.84","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":946215},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.84.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.84.tgz","_integrity":"sha512-Wsfl94l+b/WdhdQniyONMagAAUGRM6VM4qnBzD1kApPbJl/34u8JqcFVrl6e4TZeqXPXgJvDb6zatszb16Zprg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.84","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.84","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.84","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.84_1783937901538_0.8022131848578242","host":"s3://npm-registry-packages-npm-production"}},"0.1.85":{"name":"@hachej/boring-core","version":"0.1.85","license":"MIT","_id":"@hachej/boring-core@0.1.85","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"1899fdf0d5bdf889a4039eedef6b64085140e949","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.85.tgz","fileCount":68,"integrity":"sha512-7knEOJcT0Bkl2Jzt9siP55Xp1QCWR9+KwymsPx0t30GNnANOi+kKQTWMSQTGyrCTbLzRrU317s5dbIEYkoWUOA==","signatures":[{"sig":"MEQCID5sk58WxkUaAr8HeavRhR8vR2Q4fGCiPUwLSmLudLnbAiAgwHMM2B7DBC0NpuHjF02lwwkMO24fLxb0WVr4ANNFgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.85","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":959371},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.85.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.85.tgz","_integrity":"sha512-7knEOJcT0Bkl2Jzt9siP55Xp1QCWR9+KwymsPx0t30GNnANOi+kKQTWMSQTGyrCTbLzRrU317s5dbIEYkoWUOA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.85","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.85","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.85","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.85_1783979908790_0.34675593209213607","host":"s3://npm-registry-packages-npm-production"}},"0.1.86":{"name":"@hachej/boring-core","version":"0.1.86","license":"MIT","_id":"@hachej/boring-core@0.1.86","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"96e4c5d24ca41f0d5cdf1b58cf2d92f31553fc36","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.86.tgz","fileCount":68,"integrity":"sha512-qRV2xdo2HLOb/oIwSHbwiSH+WxLJA0AH4PjHRLxYC6tozbWN4K30zQLZh3k10DxGlu/CrWK3xGErCgzkyKeCfg==","signatures":[{"sig":"MEUCIQDvUQXf9X46OyPJO8jwl1qBZkxwhBjSmKtkDWvxrSIbEwIgd5mn1G5NXnWEgRt4ccB5IInQs9Kxan9G3T5uX+/nwFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.86","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":959524},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.86.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.86.tgz","_integrity":"sha512-qRV2xdo2HLOb/oIwSHbwiSH+WxLJA0AH4PjHRLxYC6tozbWN4K30zQLZh3k10DxGlu/CrWK3xGErCgzkyKeCfg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.86","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.86","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.86","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.86_1784104907757_0.33177469718787833","host":"s3://npm-registry-packages-npm-production"}},"0.1.87":{"name":"@hachej/boring-core","version":"0.1.87","license":"MIT","_id":"@hachej/boring-core@0.1.87","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"3fb51fd110713fd4d358186d2af8b17ac1b1095b","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.87.tgz","fileCount":68,"integrity":"sha512-xzKMtIxnB/gyTYEoKuWZ9jm6QIaVA3/q79339rXJFDGp8mAldRkemEu5QOfBmPKMzn3WCmT30tE8dUb/5Zy0gA==","signatures":[{"sig":"MEQCIBF+oRxn48h14B4mWZ92MBfpn2Bjm3XQouFhUPtkeD4hAiAniZrSoiZq3FAPVV+MmGG78UhrD8FTVzvx/LMPHAWDBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.87","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":959524},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.87.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.87.tgz","_integrity":"sha512-xzKMtIxnB/gyTYEoKuWZ9jm6QIaVA3/q79339rXJFDGp8mAldRkemEu5QOfBmPKMzn3WCmT30tE8dUb/5Zy0gA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.87","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.87","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.87","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.87_1784119440155_0.12410283796280464","host":"s3://npm-registry-packages-npm-production"}},"0.1.88":{"name":"@hachej/boring-core","version":"0.1.88","license":"MIT","_id":"@hachej/boring-core@0.1.88","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"6c08f7329e9462a08fe87a8b59733a07254d5c56","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.88.tgz","fileCount":70,"integrity":"sha512-2XtbFlhYrIWtXQEetLZLhUDKcEP0RLqEnt/Lm23xSA9SY4EQqBYc2/xC317vaFeelprbSe7dZSW5F+JcDrXJnQ==","signatures":[{"sig":"MEUCIQD9rSBzgY2zhK2Y+fIXBLP17pV7pqs0V+xFMMgJlX+RTQIgTkIX08+JdAslNifvMuQT13cscmkugaPz1ghusY21LtE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.88","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":968701},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.88.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.88.tgz","_integrity":"sha512-2XtbFlhYrIWtXQEetLZLhUDKcEP0RLqEnt/Lm23xSA9SY4EQqBYc2/xC317vaFeelprbSe7dZSW5F+JcDrXJnQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.88","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.88","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.88","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.88_1784293061956_0.5554064223035915","host":"s3://npm-registry-packages-npm-production"}},"0.1.89":{"name":"@hachej/boring-core","version":"0.1.89","license":"MIT","_id":"@hachej/boring-core@0.1.89","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"dab096dbf2bf2d616c17c987a5f60b58a830e35f","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.89.tgz","fileCount":70,"integrity":"sha512-q7g7UFhc5u2K+rQumf0A3fl6M8HsnKqh973t7EQO8uZWsCDQ9Do/uYyYXxjsmHO3+JLNE1uoEGiN+uTbaqda/Q==","signatures":[{"sig":"MEQCICvEFm5pQsgvmTWufkvm2zUe/RpZ3inPgG/zbfXVemOlAiBIc9LdFoafj6wNudeh4oc2gja8rWpeqU8AUrXJF0/wJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.89","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":968701},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.89.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.89.tgz","_integrity":"sha512-q7g7UFhc5u2K+rQumf0A3fl6M8HsnKqh973t7EQO8uZWsCDQ9Do/uYyYXxjsmHO3+JLNE1uoEGiN+uTbaqda/Q==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.89","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.89","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.89","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.89_1784298870738_0.6576100305607613","host":"s3://npm-registry-packages-npm-production"}},"0.1.90":{"name":"@hachej/boring-core","version":"0.1.90","license":"MIT","_id":"@hachej/boring-core@0.1.90","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"9ea0287fecda3c5f53e8b8dabd65665971a9eaa0","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.90.tgz","fileCount":72,"integrity":"sha512-9MoMp/yvjFyoTpXUshOOhVvxuJuAnwgg4RgjwX+hp/OMb414o9AMS8VAOMfmPvbNA/zLY1ormhldLqNDQXvHSw==","signatures":[{"sig":"MEQCIC3Whlh2/Ul5/uec5YPV2zxdTgPid/qxCWnRqBkGwvF9AiAfg4+2Pmb9Rr5F8rHvJ9yO7LYGeXM3jPKSSMQ0+w8pig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.90","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":973317},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.90.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.90.tgz","_integrity":"sha512-9MoMp/yvjFyoTpXUshOOhVvxuJuAnwgg4RgjwX+hp/OMb414o9AMS8VAOMfmPvbNA/zLY1ormhldLqNDQXvHSw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.90","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.90","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.90","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.90_1784554144447_0.006728290645495516","host":"s3://npm-registry-packages-npm-production"}},"0.1.91":{"name":"@hachej/boring-core","version":"0.1.91","license":"MIT","_id":"@hachej/boring-core@0.1.91","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"4b7cd3abe9c2eed69517894ec1378130b7ad9d72","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.91.tgz","fileCount":72,"integrity":"sha512-ePe4vFfV5WfuQRZbfe7Tw33IRlg2EiQMLjYxI29FJqA6nitSyCK7GDM8jD7UlwW4JIV9osXy3UuHkY8SgpOT/A==","signatures":[{"sig":"MEUCIQD92084atOTlpcxfeK+yuerxGG67S9jNNTLYGVERWniogIgLSa7cNgObasN7iz6sdGdWdnk2mTgz2wZT/HGejjrjH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.91","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":978407},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.91.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.91.tgz","_integrity":"sha512-ePe4vFfV5WfuQRZbfe7Tw33IRlg2EiQMLjYxI29FJqA6nitSyCK7GDM8jD7UlwW4JIV9osXy3UuHkY8SgpOT/A==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.21.0","posthog-node":"^5.38.5","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.80.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.0.9","@hachej/boring-agent":"0.1.91","isomorphic-dompurify":"^3.18.0","@hachej/boring-ui-kit":"0.1.91","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.91","@zxcvbn-ts/language-common":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.91_1785133475897_0.7208932593008346","host":"s3://npm-registry-packages-npm-production"}},"0.1.92":{"name":"@hachej/boring-core","version":"0.1.92","license":"MIT","_id":"@hachej/boring-core@0.1.92","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"32bcb9f93ae34953694e94018964c1dd1be05e53","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.92.tgz","fileCount":72,"integrity":"sha512-zQm6mT/PZ5CqSdObPC8cnfOBZzhX3L7z+qyOfjQRRAntt6q3/VDFkS+zME0UU+gMrunHUHeVEHrSxogtwRgeUw==","signatures":[{"sig":"MEUCIEWrm3ouyb9R3pgjBNPj95tymICFgxSNaBZ/gHY/dNvOAiEA0dV7btdfKkgBlBZsmu0EkVgbFmTbUox8/xvE+/SL2oo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.92","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":978407},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.92.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.92.tgz","_integrity":"sha512-zQm6mT/PZ5CqSdObPC8cnfOBZzhX3L7z+qyOfjQRRAntt6q3/VDFkS+zME0UU+gMrunHUHeVEHrSxogtwRgeUw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.25.0","posthog-node":"^5.45.2","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.82.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.92","isomorphic-dompurify":"^3.19.0","@hachej/boring-ui-kit":"0.1.92","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.92","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.92_1785308071118_0.031101878716812914","host":"s3://npm-registry-packages-npm-production"}},"0.1.93":{"name":"@hachej/boring-core","version":"0.1.93","license":"MIT","_id":"@hachej/boring-core@0.1.93","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"2e1e51efe31542f76574a17a7766cce32611c617","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.93.tgz","fileCount":72,"integrity":"sha512-AvJ26Tj3NkZLttmSUEMYhIHxGJvJO+c5c9oexk2qlQj7yNLrAErp7a8HUghYzC7Sr49Ykkb1dC4mn1odGl7EYA==","signatures":[{"sig":"MEQCIBfwDsG8KXhJi5DAnc+WCCNJRi1io5/xqSSjwXMTzKrpAiASo1fiRd8z3Lcz11PGRcfDFzhwAoSLzr3LdzuOUtR5fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.93","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":978407},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.93.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.93.tgz","_integrity":"sha512-AvJ26Tj3NkZLttmSUEMYhIHxGJvJO+c5c9oexk2qlQj7yNLrAErp7a8HUghYzC7Sr49Ykkb1dC4mn1odGl7EYA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.25.0","posthog-node":"^5.45.2","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.82.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.93","isomorphic-dompurify":"^3.19.0","@hachej/boring-ui-kit":"0.1.93","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.93","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.93_1785420436267_0.34303731138295657","host":"s3://npm-registry-packages-npm-production"}},"0.1.94":{"name":"@hachej/boring-core","version":"0.1.94","license":"MIT","_id":"@hachej/boring-core@0.1.94","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"bc8a2a3c6396217417432b89fdffaf81e2a71d66","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.94.tgz","fileCount":72,"integrity":"sha512-i1ocnMLQYVdaE+96adlMxl89AOmSSt/mWhQc97itIf7UXudHj9BlpNB3N7OOdVJpkmvWciiUoWu+bq0iAgDxHw==","signatures":[{"sig":"MEUCIFlUdslEZ9n7jLd45QTA+9uIteKpa3kU5frjMvKaSJeSAiEAtHUQvmGWaBKDzXVqOMwDzY0GYREHrZukq8OlyvnGQv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.94","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":978779},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.94.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.94.tgz","_integrity":"sha512-i1ocnMLQYVdaE+96adlMxl89AOmSSt/mWhQc97itIf7UXudHj9BlpNB3N7OOdVJpkmvWciiUoWu+bq0iAgDxHw==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.25.0","posthog-node":"^5.45.2","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.82.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.94","isomorphic-dompurify":"^3.19.0","@hachej/boring-ui-kit":"0.1.94","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.94","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.94_1785570551988_0.7568078976107424","host":"s3://npm-registry-packages-npm-production"}},"0.1.95":{"name":"@hachej/boring-core","version":"0.1.95","license":"MIT","_id":"@hachej/boring-core@0.1.95","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"4e81ae13380488d00cdb247672c520446e0ec4b1","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.95.tgz","fileCount":72,"integrity":"sha512-55yz3QUffSILEI+UBqUZOlwCaY8ZWf85ds13qwwh6nNY2439EGif1iJmfm6khJiPq5oOb0zpriyFuoghI14fmQ==","signatures":[{"sig":"MEUCIQDkCk3Mjzw+qA7Y1kTkt4JsiQdm9jm1DPnPBofEiqEvGgIgAkKq6VxalwGJjR3uKb1NyEBNegSZvIdARXcBp203afY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.95","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":978779},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.95.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.95.tgz","_integrity":"sha512-55yz3QUffSILEI+UBqUZOlwCaY8ZWf85ds13qwwh6nNY2439EGif1iJmfm6khJiPq5oOb0zpriyFuoghI14fmQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.9.0","postgres":"^3.4.9","smol-toml":"^1.7.0","nodemailer":"^9.0.3","better-auth":"^1.6.23","drizzle-orm":"^0.45.2","lucide-react":"^1.25.0","posthog-node":"^5.45.2","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.82.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.0","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.1.0","@hookform/resolvers":"^5.4.0","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.95","isomorphic-dompurify":"^3.19.0","@hachej/boring-ui-kit":"0.1.95","@tanstack/react-query":"^5.101.1","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.95","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","tsup":"^8.4.0","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.9","react-dom":"^19.2.7","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.17","@types/react-dom":"^19.1.3","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1","@testing-library/user-event":"^14.6.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.95_1785769297308_0.8266123426744556","host":"s3://npm-registry-packages-npm-production"}},"0.1.96":{"name":"@hachej/boring-core","version":"0.1.96","license":"MIT","_id":"@hachej/boring-core@0.1.96","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"52448266f553c4cc9f09a69a39c603a41ec2af30","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.96.tgz","fileCount":73,"integrity":"sha512-JxhLWP6+z0PeSz6pv1hL3vpS7C2wJDkoB9J2nWIk5kgFGCqviPUeMunPIxU7+ZirFUXZIG5qFMbjRdn4mDve5w==","signatures":[{"sig":"MEYCIQDwnvel/NiQYLQ0ZVYisZCkqGIxLjpak7OA7iNaZ2ZnvgIhAM0w8lglHFjhFJekE/beL/VtCLd1H2MGgeunJR1EjRvT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.96","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1012114},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.96.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.96.tgz","_integrity":"sha512-JxhLWP6+z0PeSz6pv1hL3vpS7C2wJDkoB9J2nWIk5kgFGCqviPUeMunPIxU7+ZirFUXZIG5qFMbjRdn4mDve5w==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.11.2","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.26","drizzle-orm":"^0.45.2","lucide-react":"^1.27.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.96","@hookform/resolvers":"^5.5.7","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.96","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.96","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.96","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.96_1786610913335_0.16222411271837656","host":"s3://npm-registry-packages-npm-production"}},"0.1.97":{"name":"@hachej/boring-core","version":"0.1.97","license":"MIT","_id":"@hachej/boring-core@0.1.97","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"f09d7a27d8f5f76144235a44aa8ae09cee586493","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.97.tgz","fileCount":73,"integrity":"sha512-SVGFSJWS+P0skgptdfNNGosz8BVVbqEZSeTqQ5ZgBwwa0FQUYB+zD/f3l8Tz6WNvEEcUsbP7/AXdy2R+wc2FJQ==","signatures":[{"sig":"MEQCIGBui/53YLrsKMI6V/U1AwRges4OHw3resZN3jA4xv74AiA8XQT4qTezl78gB4VBnzEbqugyndSDmjiRG3kNcZjlVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.97","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1012114},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.97.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.97.tgz","_integrity":"sha512-SVGFSJWS+P0skgptdfNNGosz8BVVbqEZSeTqQ5ZgBwwa0FQUYB+zD/f3l8Tz6WNvEEcUsbP7/AXdy2R+wc2FJQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.16.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.11.2","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.26","drizzle-orm":"^0.45.2","lucide-react":"^1.27.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.97","@hookform/resolvers":"^5.5.7","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.97","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.97","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.97","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.97_1786625151352_0.7757337033628939","host":"s3://npm-registry-packages-npm-production"}},"0.1.98":{"name":"@hachej/boring-core","version":"0.1.98","license":"MIT","_id":"@hachej/boring-core@0.1.98","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"e8dca760c9619930bcb4ca91c308fcb21cd1334b","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.98.tgz","fileCount":73,"integrity":"sha512-har8mPMRlUGSLweRoyFE4rKHLqZAomFem2dDDit9M7GD2BB1hmxpBZ7j9GyhNJ/OEUfqjtnIhYALplh9eOJzzg==","signatures":[{"sig":"MEYCIQDLTJUcBam6ThzzWY3IQoSm70/m7gwTKKIWQ0Oe4o23/AIhALhf+DCSVCZHop0/hy8E6IYLxh5x4JABd6VxtcYFj9mR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.98","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1012470},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.98.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.98.tgz","_integrity":"sha512-har8mPMRlUGSLweRoyFE4rKHLqZAomFem2dDDit9M7GD2BB1hmxpBZ7j9GyhNJ/OEUfqjtnIhYALplh9eOJzzg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.11.2","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.26","drizzle-orm":"^0.45.2","lucide-react":"^1.27.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.98","@hookform/resolvers":"^5.5.7","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.98","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.98","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.98","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.98_1786656157976_0.32052158454157254","host":"s3://npm-registry-packages-npm-production"}},"0.1.99":{"name":"@hachej/boring-core","version":"0.1.99","license":"MIT","_id":"@hachej/boring-core@0.1.99","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"c829ab3dd5b372623ae67b94f1ba67265a4aa83c","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.99.tgz","fileCount":73,"integrity":"sha512-3zlTy3PfpcWc5MGl8btHnGygUOCLKAvb4gnpet/bLhIOdnCLt0J5wEClv+4llcDDPSyYAZvMUGD/Ii1DcDWNTA==","signatures":[{"sig":"MEQCIBKz39jgHxFfU+IG7Jjsff3gQv5WX/HOV8OwioGgQgswAiB2iHCNt622kIzWOXDKAOr0xwGZB4qILr7ntLH8iJ1SRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.99","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1012470},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.99.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.99.tgz","_integrity":"sha512-3zlTy3PfpcWc5MGl8btHnGygUOCLKAvb4gnpet/bLhIOdnCLt0J5wEClv+4llcDDPSyYAZvMUGD/Ii1DcDWNTA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.11.2","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.26","drizzle-orm":"^0.45.2","lucide-react":"^1.27.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.99","@hookform/resolvers":"^5.5.7","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.99","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.99","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.99","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.99_1786724536220_0.3220138361328242","host":"s3://npm-registry-packages-npm-production"}},"0.1.100":{"name":"@hachej/boring-core","version":"0.1.100","license":"MIT","_id":"@hachej/boring-core@0.1.100","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"7fef5703e630f00172d3ad30fc6000bd31b9fd5c","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.100.tgz","fileCount":73,"integrity":"sha512-UmaPf/n12gb8vTUuDf3xTs8RtqncUhKhEgJHT6sM0V7ORjJogr1NIV9rvX7VxFINs8Ju5LghTuIydg4/Eq/R5A==","signatures":[{"sig":"MEYCIQDkGXESIe6HnbJLoKJXmLTgx9xdvGGFVWH2ZrCDtB094gIhAPUBPn1xmlF9CDabo2LCOqO0AhlXpWLPi4o+5ZOurpDP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.100","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1012475},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.100.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.100.tgz","_integrity":"sha512-UmaPf/n12gb8vTUuDf3xTs8RtqncUhKhEgJHT6sM0V7ORjJogr1NIV9rvX7VxFINs8Ju5LghTuIydg4/Eq/R5A==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.11.2","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.26","drizzle-orm":"^0.45.2","lucide-react":"^1.27.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.100","@hookform/resolvers":"^5.5.7","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.100","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.100","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.100","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.100_1786735537065_0.27141424194418584","host":"s3://npm-registry-packages-npm-production"}},"0.1.101":{"name":"@hachej/boring-core","version":"0.1.101","license":"MIT","_id":"@hachej/boring-core@0.1.101","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"1c516b383713935399227022fdfa51f83031f846","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.101.tgz","fileCount":73,"integrity":"sha512-LT/++82PV2EH5ccSm4rkjI3/E9DWn/3BgWgMP1pNu7sZ1/C+SuHejPxLMahEhiMmJ+l86rDW8f6rKUfBmGbFew==","signatures":[{"sig":"MEUCIQDFrb3ioqKVzBiqg4TfMnpLAkI1tgHPBOJzSk2egqzGJAIgdCB6cp5x7PtltrJq8FxiFweIPhu5uugAyM+4iaC8mLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.101","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1012475},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.101.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.101.tgz","_integrity":"sha512-LT/++82PV2EH5ccSm4rkjI3/E9DWn/3BgWgMP1pNu7sZ1/C+SuHejPxLMahEhiMmJ+l86rDW8f6rKUfBmGbFew==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.11.2","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.26","drizzle-orm":"^0.45.2","lucide-react":"^1.27.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.101","@hookform/resolvers":"^5.5.7","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.101","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.101","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.101","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.0","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.101_1787126181964_0.8493200345513012","host":"s3://npm-registry-packages-npm-production"}},"0.1.103":{"name":"@hachej/boring-core","version":"0.1.103","license":"MIT","_id":"@hachej/boring-core@0.1.103","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"4f89f0a1d13b7925834d5696071d0b4aa12f1519","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.103.tgz","fileCount":73,"integrity":"sha512-U8HqaulBdxlS0mSBVWSTxHCKp8CXL3pSFHOPwQfs6x68fhHlK6B8yfza4yXab3GX3GoIVZLKWFiJeOq1I+Mh0g==","signatures":[{"sig":"MEYCIQDmJ3xDACLVH31IYK3R8LfvvkKpCSQq/Fo6h65zJdqdEQIhAPEili58JaBV/MGQuHbP+Dl8MF7xfnL9CwWKsehsXWPW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.103","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1015482},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.103.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.103.tgz","_integrity":"sha512-U8HqaulBdxlS0mSBVWSTxHCKp8CXL3pSFHOPwQfs6x68fhHlK6B8yfza4yXab3GX3GoIVZLKWFiJeOq1I+Mh0g==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.11.3","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.27","drizzle-orm":"^0.45.2","lucide-react":"^1.31.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.103","@hookform/resolvers":"^5.5.7","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.103","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.103","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.103","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.103_1787317382484_0.3690136356785758","host":"s3://npm-registry-packages-npm-production"}},"0.1.104":{"name":"@hachej/boring-core","version":"0.1.104","license":"MIT","_id":"@hachej/boring-core@0.1.104","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"fc1535794e84d218b933afad41a6f465a2d1920d","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.104.tgz","fileCount":73,"integrity":"sha512-1SAhaWDjQQVD1+k7vnQPwYK2Lxrpw52GQ/NxpCQf+62DFinZB3gNQ8FXi9dBDTiqxX1IJFddP6MV7VjK3i1ShA==","signatures":[{"sig":"MEUCIFn3+f2oCngb5AlOYgHoL+sj7eSye4r9usInUf0rtlTUAiEAmbNVyzsv0y5LPeD34NSiM2XMp9q7ij0ON2TA6cwfF0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.104","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1015482},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.104.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.104.tgz","_integrity":"sha512-1SAhaWDjQQVD1+k7vnQPwYK2Lxrpw52GQ/NxpCQf+62DFinZB3gNQ8FXi9dBDTiqxX1IJFddP6MV7VjK3i1ShA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.11.3","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.27","drizzle-orm":"^0.45.2","lucide-react":"^1.31.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.1.2","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.104","@hookform/resolvers":"^5.5.7","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.104","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.104","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.104","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.104_1787576058779_0.31207836934061595","host":"s3://npm-registry-packages-npm-production"}},"0.1.105":{"name":"@hachej/boring-core","version":"0.1.105","license":"MIT","_id":"@hachej/boring-core@0.1.105","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"67db97e32ba2af7e63f910d62c980505d970b159","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.105.tgz","fileCount":73,"integrity":"sha512-uksZhcMkEwhHdTAsn489zBUn8xxLUYhvI2wk7KWraNat0eU7uSLMYLLfWqGkULxg7bp8vcDqwJ5o2taeqchW/g==","signatures":[{"sig":"MEUCIF3hsCUbYbGsWyeikd4AhdkACS9ImVHVKVwB8po1Mfz1AiEAvst7X5xI8dXpInP8lfhxYjWXbdLENI98Z4Pk2KiZXMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.105","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1015457},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.105.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.105.tgz","_integrity":"sha512-uksZhcMkEwhHdTAsn489zBUn8xxLUYhvI2wk7KWraNat0eU7uSLMYLLfWqGkULxg7bp8vcDqwJ5o2taeqchW/g==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.12.0","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.28","drizzle-orm":"^0.45.2","lucide-react":"^1.31.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.2.0","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.105","@hookform/resolvers":"^5.8.0","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.105","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.105","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.105","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.9","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.3"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.105_1787587287829_0.20007144344712557","host":"s3://npm-registry-packages-npm-production"}},"0.1.107":{"name":"@hachej/boring-core","version":"0.1.107","license":"MIT","_id":"@hachej/boring-core@0.1.107","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"54171933d5560e5a617fc2e6d98ebd07203544d5","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.107.tgz","fileCount":77,"integrity":"sha512-spp/pDYNBuRWu2DqyUrpBD7SozIvAV+rNp7/gETLqMjJ4qpwcO5Q1rUsXFyn6bAfP6/yVImq3d7XM4Q+rrb4PA==","signatures":[{"sig":"MEUCIQClNSEOLyI9/NTO7F3qLkzFPkMXivwi+AvrcdOWcXN3vwIgPAh8mL+vinJnHzD87UCf2soS7FautrqZ3spmntwfbf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.107","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1091056},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.107.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.107.tgz","_integrity":"sha512-spp/pDYNBuRWu2DqyUrpBD7SozIvAV+rNp7/gETLqMjJ4qpwcO5Q1rUsXFyn6bAfP6/yVImq3d7XM4Q+rrb4PA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.12.1","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.28","drizzle-orm":"^0.45.2","lucide-react":"^1.31.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.2.0","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.107","@hookform/resolvers":"^5.9.1","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.107","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.107","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.107","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.5"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.107_1788292221057_0.633864775375276","host":"s3://npm-registry-packages-npm-production"}},"0.1.108":{"name":"@hachej/boring-core","version":"0.1.108","license":"MIT","_id":"@hachej/boring-core@0.1.108","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"f8e5b4bbed623ff6c5d7d2959ccc9e52babe04f5","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.108.tgz","fileCount":77,"integrity":"sha512-Wc+J7I0iazSXpvfY7AYyNVLNZZe6RK6TXkv0d1BGXbBbzMv1BEvkrSRsH1NNAkoeO2nOQwbQ2qHiIcB07on6DA==","signatures":[{"sig":"MEQCIDSRVF4YQG9nA+Hy62mal1e2WyyTZ4y7UN/gtpNlQcqBAiB4tbdIRrRgEmItoVbmX3FgklQUYE4E3FQCkeTymwqGgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.108","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1091056},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.108.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.108.tgz","_integrity":"sha512-Wc+J7I0iazSXpvfY7AYyNVLNZZe6RK6TXkv0d1BGXbBbzMv1BEvkrSRsH1NNAkoeO2nOQwbQ2qHiIcB07on6DA==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.17.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.12.1","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.28","drizzle-orm":"^0.45.2","lucide-react":"^1.31.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.2.0","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.108","@hookform/resolvers":"^5.9.1","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.108","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.108","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.108","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.5"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.108_1788377501895_0.9917370548874833","host":"s3://npm-registry-packages-npm-production"}},"0.1.109":{"name":"@hachej/boring-core","version":"0.1.109","license":"MIT","_id":"@hachej/boring-core@0.1.109","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"homepage":"https://github.com/hachej/boring-ui","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"db32b857067aef4af6ad5bbf611e2fcb612f852f","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.109.tgz","fileCount":77,"integrity":"sha512-tGJ/5ogu3+5knRPcYbsXvC9egnQhZ4PZ4t7yjwhRMF4mTwyd5y4m7JR5KFPBt7JA37RF/He6OQDnZ4sCu694Zg==","signatures":[{"sig":"MEUCIQDUXwVAKqlhvRKtEcR6OQ/unsS4KJZfBtTW00+bQCCvBwIgLGMvFQ3+lAPLJfZLC+zWVzQDbrply3/DOpvIeZHaxcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.109","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1091056},"type":"module","_from":"file:packages/core/hachej-boring-core-0.1.109.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.109.tgz","_integrity":"sha512-tGJ/5ogu3+5knRPcYbsXvC9egnQhZ4PZ4t7yjwhRMF4mTwyd5y4m7JR5KFPBt7JA37RF/He6OQDnZ4sCu694Zg==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.19.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.12.1","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.0.4","better-auth":"^1.6.28","drizzle-orm":"^0.45.2","lucide-react":"^1.31.0","posthog-node":"^5.46.1","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.2.0","react-hook-form":"^7.83.0","close-with-grace":"^2.2.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.109","@hookform/resolvers":"^5.9.1","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.109","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.109","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.109","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.6","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.5"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boring-core_0.1.109_1788502494819_0.9669066077989694","host":"s3://npm-registry-packages-npm-production"}},"0.1.111":{"_id":"@hachej/boring-core@0.1.111","bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"dist":{"shasum":"c9760b4b904dd0150311fb8563ec6b9df91de6a1","tarball":"https://registry.npmjs.org/@hachej/boring-core/-/boring-core-0.1.111.tgz","fileCount":74,"integrity":"sha512-ebnQK8C/Tq3eNbNGFdx6FXMHlvuXKCnKa2pmCzu4iqwmP13Dh+ja3D9nM0zZTqSJHIwTPfXCv3qNiObi11A5zQ==","signatures":[{"sig":"MEUCIECnKp2oXjhgltEhkRJQWLStN8EU+HuYkJXI5uYjctNGAiEA1N2Wa5CALmYMgaMJD4qAvS6wNHHinfSnQmgJb0yEYA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCzeLXXlC55aKDTSGJuG+82qfHBj0kpaMJDDHJIAtb3lwIhAIw9s//rf9SG3qXOGUuMNhlB/PF+RQKH6T7ZN2Bagp7T"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hachej%2fboring-core@0.1.111","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1325261},"name":"@hachej/boring-core","type":"module","_from":"file:packages/core/hachej-boring-core-0.1.111.tgz","exports":{"./front":{"types":"./dist/front/index.d.ts","import":"./dist/front/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js"},"./app/vite":{"types":"./dist/app/vite/index.d.ts","import":"./dist/app/vite/index.js"},"./app/front":{"types":"./dist/app/front/index.d.ts","import":"./dist/app/front/index.js"},"./server/db":{"types":"./dist/server/db/index.d.ts","import":"./dist/server/db/index.js"},"./theme.css":"./dist/front/theme.css","./app/server":{"types":"./dist/app/server/index.d.ts","import":"./dist/app/server/index.js"},"./front/top-bar-slot":{"types":"./dist/front/top-bar-slot.d.ts","import":"./dist/front/top-bar-slot.js"},"./app/front/styles.css":"./dist/app/front/styles.css"},"license":"MIT","scripts":{"dev":"tsup --watch","lint":"pnpm run typecheck","test":"vitest run --no-file-parallelism","build":"tsup --config tsup.config.ts && tsup --config tsup.db.config.ts && pnpm run build:assert","clean":"rm -rf dist .tsbuildinfo","typecheck":"tsc --noEmit","test:watch":"vitest","build:assert":"node ./scripts/assert-build-artifacts.mjs","build:docker":"tsup --config tsup.config.ts --no-dts && tsup --config tsup.db.config.ts --no-dts && pnpm run build:assert:runtime","drizzle:migrate":"drizzle-kit migrate --config drizzle.config.ts","test:pack-types":"node ./scripts/test-packed-db-types.mjs","drizzle:generate":"drizzle-kit generate --config drizzle.config.ts","check:bundle-size":"tsx ./scripts/check-bundle-size.ts","auth:generate-schema":"BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/ --yes || BETTER_AUTH_SCHEMA_GEN=1 npx @better-auth/cli generate --config src/server/auth/schema-config.ts --output drizzle/schema.ts --yes","build:assert:runtime":"node ./scripts/assert-build-artifacts.mjs --runtime-only"},"version":"0.1.111","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:05034b2c-034c-4489-87f1-3cecc7e1165d"}},"homepage":"https://github.com/hachej/boring-ui","_resolved":"/home/runner/work/boring-ui/boring-ui/packages/core/hachej-boring-core-0.1.111.tgz","_integrity":"sha512-ebnQK8C/Tq3eNbNGFdx6FXMHlvuXKCnKa2pmCzu4iqwmP13Dh+ja3D9nM0zZTqSJHIwTPfXCv3qNiObi11A5zQ==","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"_npmVersion":"11.19.0","description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","directories":{},"maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"sideEffects":["**/*.css"],"_nodeVersion":"24.20.0","dependencies":{"zod":"^3.25.76","pino":"^10.3.1","fastify":"^5.12.1","postgres":"^3.4.9","smol-toml":"^1.7.1","nodemailer":"^9.1.1","better-auth":"^1.6.28","drizzle-orm":"^0.45.2","lucide-react":"^1.31.0","@fastify/cors":"^11.0.0","fastify-plugin":"^6.0.0","@fastify/helmet":"^13.0.1","@zxcvbn-ts/core":"^4.2.0","react-hook-form":"^7.83.0","react-router-dom":"^7.18.2","react-helmet-async":"^3.0.0","@fastify/proxy-addr":"^5.1.0","@fastify/rate-limit":"^11.2.0","@hachej/boring-bash":"0.1.111","@hookform/resolvers":"^5.9.1","@react-email/render":"^2.1.0","@hachej/boring-agent":"0.1.111","isomorphic-dompurify":"^3.21.0","@hachej/boring-ui-kit":"0.1.111","@tanstack/react-query":"^5.101.4","@zxcvbn-ts/language-en":"^4.1.1","@react-email/components":"^1.0.12","@hachej/boring-workspace":"0.1.111","@zxcvbn-ts/language-common":"^4.1.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","tsup":"^8.4.0","jsdom":"^30.0.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^6.0.3","@types/node":"^22.20.0","drizzle-kit":"^0.31.10","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@types/nodemailer":"^8.0.0","@testing-library/react":"^16.3.3","@hachej/channel-whatsapp":"0.1.110","@testing-library/jest-dom":"^7.0.1","@testing-library/user-event":"^14.6.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/boring-core_0.1.111_1789574985848_0.647891841369372"}}},"time":{"created":"2026-05-07T08:03:52.816Z","modified":"2026-09-16T16:09:46.313Z","0.1.0":"2026-05-07T08:03:53.065Z","0.1.4":"2026-05-07T14:41:39.647Z","0.1.5":"2026-05-07T15:02:40.512Z","0.1.6":"2026-05-07T20:23:33.277Z","0.1.7":"2026-05-08T12:12:42.313Z","0.1.9":"2026-05-08T13:33:33.845Z","0.1.10":"2026-05-08T13:58:50.370Z","0.1.12":"2026-05-08T14:38:47.240Z","0.1.13":"2026-05-12T10:05:50.686Z","0.1.14":"2026-05-20T16:12:50.334Z","0.1.16":"2026-05-20T19:06:44.795Z","0.1.17":"2026-05-20T20:00:30.215Z","0.1.18":"2026-05-22T14:31:22.983Z","0.1.20":"2026-05-22T16:36:51.057Z","0.1.22":"2026-05-26T20:50:04.776Z","0.1.23":"2026-05-27T06:59:06.709Z","0.1.24":"2026-05-28T11:46:41.490Z","0.1.26":"2026-05-29T07:29:43.980Z","0.1.27":"2026-05-29T08:33:10.843Z","0.1.28":"2026-05-29T11:25:14.456Z","0.1.29":"2026-05-29T12:23:45.963Z","0.1.30":"2026-05-30T15:51:10.924Z","0.1.31":"2026-05-31T11:34:59.483Z","0.1.32":"2026-06-05T07:24:53.917Z","0.1.33":"2026-06-05T14:54:00.295Z","0.1.34":"2026-06-09T05:26:19.083Z","0.1.35":"2026-06-11T12:30:01.191Z","0.1.36":"2026-06-11T17:45:09.792Z","0.1.37":"2026-06-11T19:58:32.107Z","0.1.38":"2026-06-12T04:35:34.464Z","0.1.39":"2026-06-12T05:44:51.916Z","0.1.40":"2026-06-12T07:17:10.008Z","0.1.41":"2026-06-12T14:07:10.829Z","0.1.42":"2026-06-13T20:39:04.740Z","0.1.43":"2026-06-15T16:37:53.207Z","0.1.44":"2026-06-15T21:13:04.214Z","0.1.45":"2026-06-16T05:39:30.002Z","0.1.46":"2026-06-16T09:41:20.554Z","0.1.47":"2026-06-16T10:46:37.472Z","0.1.48":"2026-06-16T14:17:13.809Z","0.1.49":"2026-06-17T07:31:34.928Z","0.1.50":"2026-06-17T09:06:47.634Z","0.1.51":"2026-06-17T10:15:38.980Z","0.1.52":"2026-06-17T10:46:12.468Z","0.1.53":"2026-06-18T17:18:23.546Z","0.1.54":"2026-06-23T19:34:53.097Z","0.1.55":"2026-06-24T11:39:56.962Z","0.1.56":"2026-06-25T20:10:54.449Z","0.1.57":"2026-06-25T21:13:50.425Z","0.1.58":"2026-06-26T06:03:09.184Z","0.1.59":"2026-06-26T08:42:11.395Z","0.1.60":"2026-06-29T22:52:22.845Z","0.1.61":"2026-06-30T21:12:48.715Z","0.1.62":"2026-07-01T17:02:44.628Z","0.1.63":"2026-07-02T05:02:57.465Z","0.1.64":"2026-07-03T07:22:49.811Z","0.1.65":"2026-07-08T09:27:13.508Z","0.1.66":"2026-07-08T09:42:46.310Z","0.1.67":"2026-07-08T12:37:13.501Z","0.1.68":"2026-07-08T12:55:33.242Z","0.1.69":"2026-07-08T13:38:11.038Z","0.1.70":"2026-07-08T13:54:44.216Z","0.1.71":"2026-07-08T15:15:32.403Z","0.1.72":"2026-07-10T07:24:06.695Z","0.1.73":"2026-07-10T10:08:00.846Z","0.1.74":"2026-07-10T11:34:23.959Z","0.1.75":"2026-07-10T12:58:10.500Z","0.1.76":"2026-07-10T20:45:56.151Z","0.1.77":"2026-07-10T20:51:59.548Z","0.1.78":"2026-07-10T21:02:44.733Z","0.1.79":"2026-07-11T13:31:47.753Z","0.1.80":"2026-07-12T07:51:51.813Z","0.1.81":"2026-07-12T15:11:49.923Z","0.1.82":"2026-07-13T05:41:02.133Z","0.1.83":"2026-07-13T07:44:21.478Z","0.1.84":"2026-07-13T10:18:21.714Z","0.1.85":"2026-07-13T21:58:28.976Z","0.1.86":"2026-07-15T08:41:47.939Z","0.1.87":"2026-07-15T12:44:00.316Z","0.1.88":"2026-07-17T12:57:42.125Z","0.1.89":"2026-07-17T14:34:30.923Z","0.1.90":"2026-07-20T13:29:04.596Z","0.1.91":"2026-07-27T06:24:36.039Z","0.1.92":"2026-07-29T06:54:31.286Z","0.1.93":"2026-07-30T14:07:16.433Z","0.1.94":"2026-08-01T07:49:12.163Z","0.1.95":"2026-08-03T15:01:37.455Z","0.1.96":"2026-08-13T08:48:33.474Z","0.1.97":"2026-08-13T12:45:51.570Z","0.1.98":"2026-08-13T21:22:38.153Z","0.1.99":"2026-08-14T16:22:16.376Z","0.1.100":"2026-08-14T19:25:37.229Z","0.1.101":"2026-08-19T07:56:22.110Z","0.1.103":"2026-08-21T13:03:02.637Z","0.1.104":"2026-08-24T12:54:18.927Z","0.1.105":"2026-08-24T16:01:28.033Z","0.1.107":"2026-09-01T19:50:21.270Z","0.1.108":"2026-09-02T19:31:42.057Z","0.1.109":"2026-09-04T06:14:54.958Z","0.1.111":"2026-09-16T16:09:45.976Z"},"bugs":{"url":"https://github.com/hachej/boring-ui/issues"},"license":"MIT","homepage":"https://github.com/hachej/boring-ui","repository":{"url":"git+https://github.com/hachej/boring-ui.git","type":"git"},"description":"Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.","maintainers":[{"name":"hachej","email":"julien.hurault@sumeo.io"}],"readme":"# @hachej/boring-core\n\n<div align=\"center\">\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![npm](https://img.shields.io/npm/v/@hachej/boring-core.svg)](https://www.npmjs.com/package/@hachej/boring-core)\n\n</div>\n\nThe foundation package for boring-ui v2 apps: Postgres/Drizzle database, better-auth\n(email/password, verification, password reset, magic links, optional Google), TOML+env\nconfig loader, Fastify HTTP app factory, and a React frontend shell with auth/workspace\ngating. Every child app imports core first; domain logic, agent runtime, and workspace UI\ncome from the sibling `@hachej/boring-*` packages.\n\n```bash\npnpm add @hachej/boring-core\n```\n\n## Usage essentials\n\nMost apps use the composed `app/*` surfaces, which fuse core + workspace + agent:\n\n```ts\n// server entry\nimport { createCoreWorkspaceAgentServer } from \"@hachej/boring-core/app/server\"\n\nconst app = await createCoreWorkspaceAgentServer({ plugins })\nawait app.listen({ port: 3000 })\n```\n\n```tsx\n// frontend entry\nimport { createRoot } from \"react-dom/client\"\nimport { CoreWorkspaceAgentFront } from \"@hachej/boring-core/app/front\"\nimport \"@hachej/boring-core/app/front/styles.css\"\n\ncreateRoot(document.getElementById(\"root\")!).render(\n  <CoreWorkspaceAgentFront apiBaseUrl=\"\" chatEntryMode=\"chat-first\" plugins={plugins} />,\n)\n```\n\nFor a core-only app (no agent/workspace), use `createCoreApp(config)` from\n`@hachej/boring-core/server` and `CoreFront` from `@hachej/boring-core/front`.\n\n### Required environment (production)\n\n`DATABASE_URL`, `BETTER_AUTH_SECRET`, `BETTER_AUTH_URL`,\n`WORKSPACE_SETTINGS_ENCRYPTION_KEY`, `MAIL_FROM`, `MAIL_TRANSPORT_URL`\n(`resend://…`, `smtp://…`, or `console://`), `CORS_ORIGINS`. Config is also read from\n`boring.app.toml`. For dev without Postgres, set `CORE_STORES=local` (in-memory, resets\non restart; not supported by `createCoreWorkspaceAgentServer`).\n\nMigrations live in `drizzle/`; run them with `drizzle-kit migrate` against\n`drizzle.config.ts`.\n\n## Documentation\n\nSee [`docs/README.md`](./docs/README.md) for the architecture overview, public API\nsurface, key abstractions, and links to the gating, plugin, and deployment docs. The\nreference app is [`apps/full-app`](../../apps/full-app/).\n\n---\n\n*About Contributions:* Please don't take this the wrong way, but I do not accept outside contributions for any of my projects. I simply don't have the mental bandwidth to review anything, and it's my name on the thing, so I'm responsible for any problems it causes; thus, the risk-reward is highly asymmetric from my perspective. I'd also have to worry about other \"stakeholders,\" which seems unwise for tools I mostly make for myself for free. Feel free to submit issues, and even PRs if you want to illustrate a proposed fix, but know I won't merge them directly. Instead, I'll have Claude or Codex review submissions via `gh` and independently decide whether and how to address them. Bug reports in particular are welcome. Sorry if this offends, but I want to avoid wasted time and hurt feelings. I understand this isn't in sync with the prevailing open-source ethos that seeks community contributions, but it's the only way I can move at this velocity and keep my sanity.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}