{"_id":"@flavoai/fastfold","_rev":"52-b32dbb561df9455af501f44b622ced7e","name":"@flavoai/fastfold","dist-tags":{"latest":"1.22.0"},"versions":{"1.0.0":{"name":"@flavoai/fastfold","version":"1.0.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"203e52252be37c02b1c04dbbc4857a37b6c895c7","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.0.tgz","fileCount":42,"integrity":"sha512-NOtYFrmmQyQ4dQKpF+mPBBTb2kY/U+R6ZLnn3xPbecPROYmdzXR4cWAogfj82DoqPrC5dZE0HLDbKqCZQrWltQ==","signatures":[{"sig":"MEUCIQCgCqOwfWKI4AJR06sszpwrFxvBqIIAZ+jR3c+rTUVsTAIgIOP2e12VDXXS+s9FjywCoqb8v9TV7oeorAe7YwhX/NI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119759},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","require":"./dist/client/index.js"}},"gitHead":"a3784ace2f1b58990ce1debc0e9c5d0886318b6f","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","knex":"^3.0.1","helmet":"^7.1.0","mysql2":"^3.6.5","express":"^4.18.2","sqlite3":"^5.1.6","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","ts-jest":"^29.4.1","@types/pg":"^8.10.9","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","@types/react":"^18.3.23","@types/express":"^4.17.21","@types/bcryptjs":"^2.4.6","@types/jsonwebtoken":"^9.0.5"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.0_1754464458405_0.14851129284823594","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@flavoai/fastfold","version":"1.0.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"0cd9575cd7aafb48d4ec8b93dc69f2dd1098c698","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.1.tgz","fileCount":42,"integrity":"sha512-211q177fNZI7rupttvsTjexs7e5HwZUHYaWLTxJQeD9/1sOJCtJClNwHe9gYcdHf5KGpe4feORK7qTf9dymEcg==","signatures":[{"sig":"MEUCIHFWVtnVMoGPhoLvaOemXjMRaiYHRxNPlTnJonnx49yLAiEAnVJCB6CgSOl0D8ECpVqL0pqyigWYIfSAQJ1g9rYB9Zw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119758},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","require":"./dist/client/index.js"}},"gitHead":"5c65acc83bfdcf562d11bd0de7d72e29039b0447","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","knex":"^3.0.1","helmet":"^7.1.0","mysql2":"^3.6.5","express":"^4.18.2","sqlite3":"^5.1.6","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","ts-jest":"^29.4.1","@types/pg":"^8.10.9","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","@types/react":"^18.3.23","@types/express":"^4.17.21","@types/bcryptjs":"^2.4.6","@types/jsonwebtoken":"^9.0.5"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.1_1754464898874_0.3396051722063391","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@flavoai/fastfold","version":"1.0.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"9c19ff7fd692270788ef425db515f9e533fd6a3f","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.2.tgz","fileCount":54,"integrity":"sha512-85IYyF3f5AOl5aM73t6Y8NrxO9m6RU8fd3mbVM9sXqeIEMXpfLlJ/d+tBJQITdtS16LF00Y06N4eiHW05eSCWg==","signatures":[{"sig":"MEUCIGBxC6KvZAEmJSjAGE00n8ME5SrKdWdP9LkcbA8ElGXmAiEAiO5lnvYdP6VzdDqaUV0udFbRHuKXiNHROcMj7JNVubU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176377},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","require":"./dist/client/index.js"}},"gitHead":"d911bd93fde9481899796fb6dde722d94d50ae06","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","knex":"^3.0.1","helmet":"^7.1.0","mysql2":"^3.6.5","express":"^4.18.2","sqlite3":"^5.1.6","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","ts-jest":"^29.4.1","@types/pg":"^8.10.9","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","@types/react":"^18.3.23","@types/express":"^4.17.21","@types/bcryptjs":"^2.4.6","@types/jsonwebtoken":"^9.0.5"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.2_1754467200375_0.8640872867260072","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@flavoai/fastfold","version":"1.0.4","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.4","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"cab1ef5b978767d4f20f13b73c3bbe6cb8faca93","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.4.tgz","fileCount":66,"integrity":"sha512-YXrkT2rncAoC/vebYxTtEEVIymSagdzkZqKV4ef0b6hboV4hazSIbjRrTNqyRwmzxFFWS7i/OR8GlsqGaZFPgA==","signatures":[{"sig":"MEUCIEE500NuTE1vKZklE1Zy4IYIfo2pHB+eqhdkcRmX6ebqAiEA8YYxYGw7SdgEsk7GGiy2qNNvwGwatpfhz8OKRvRPQbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287533},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","require":"./dist/client/index.js"}},"gitHead":"3e99b583f96e564f3c1973d58f61a637cfbbe5dc","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","helmet":"^7.1.0","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.4_1754541890616_0.31241409019566424","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@flavoai/fastfold","version":"1.0.5","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.5","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"4ebc9887a4db2a1f7a93451453899db12dc1b2eb","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.5.tgz","fileCount":66,"integrity":"sha512-G6Fd32tp4PWyuS2RTPd+rt+vzGmm7DH/0isUlxpXcxwGtg8RDR8JDSOgapflUkjI1WXrJGjcBY5LPMORgULt/w==","signatures":[{"sig":"MEYCIQCcXUrMs22EMOtdnNEx6dj1ZPkKTtOQTltpDsZGsMdNNwIhAPjEIe+/bxA9v/ox97avvvJd2feV/qmTjYC98b4DvI6B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260285},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"ae4db2c48525ffd6f2d33a3ed18eb53e265fc12d","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","helmet":"^7.1.0","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.5_1754549747403_0.4979085316294676","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@flavoai/fastfold","version":"1.0.6","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.6","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"c66be80a8eb676ba92a628f2290c864f4ef4a815","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.6.tgz","fileCount":66,"integrity":"sha512-DWSCblgE2h59VsGY4XwbVxP7nec1ITh45RPfzfdgOWkI6Bzdz1Nx7otmF+mE9qDRcn5ugscfUOlTCPxTxNi6gw==","signatures":[{"sig":"MEQCIBqWjMR7l7cbjxv4OzsJ9qA8SDemZp1JL8Wk+LbSUghaAiBxXmG0INBwupeMbx521FGgGlyT1DtQD7F2K5NVYyRzsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262324},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"02865bced7776287c560ba68cd04cef8294533d3","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","helmet":"^7.1.0","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@types/better-sqlite3":"^7.6.13"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.6_1754555585939_0.012080404573516335","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@flavoai/fastfold","version":"1.0.7","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.7","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"f10f4b2e5244d23dae26bde47c4b262b94a891ae","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.7.tgz","fileCount":74,"integrity":"sha512-Vjt/EUmIl7BV40ckWHp78AqYz+oDIPvwChlXD1yktx/jYijfOJnHGQ2bjBCSMfhQi3VernAlvDsLvnfMNU6YXw==","signatures":[{"sig":"MEUCIQCFfuCRs7hIqOaSJYKfMDncqgNBFygumTiQNFS9kH+2ywIgajklPLKSwTUdGbXBoef9fn3iinNsPy2kE7fTXhszASw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293704},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"9a6cd2958aa98ccb077165afc5bac0654336d6db","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","helmet":"^7.1.0","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.7_1754575477750_0.05217010663626653","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.0.8":{"name":"@flavoai/fastfold","version":"1.0.8","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.8","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"acce9a31d579875e5564aaa03252d768ac9cb592","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.8.tgz","fileCount":74,"integrity":"sha512-g6s4ckl9QqgNP5ERUsukFkrVnc17mc2ccrAfE8aDIXpSIPLefSpuCT84WTzmL3jfcs2XHGaymvwMAwQuh8B4oQ==","signatures":[{"sig":"MEQCIAVC3c70DYxzyMSBRx1o/gVlkYzTpkJ4cXPi0FTv1MB1AiAOOURlBxuLsupe8o6dAgNbiKcd36hXxTxDBnIiHkKGyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301547},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"edf30878af1b003ef6f2084145d7f4bd00f339f3","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","helmet":"^7.1.0","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.8_1755620290373_0.4372866277954319","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.0.9":{"name":"@flavoai/fastfold","version":"1.0.9","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.0.9","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"0bf51d0fcc5f4f4692a9aaebfeae3d142d6df2b4","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.0.9.tgz","fileCount":74,"integrity":"sha512-zKu3bLfQzkFNhWqqt+u8pN2n1wx8NI4hj2PK9E3GwAzEaH0uozLfuYk3wIEgIkiKAbug9V300n7qddeEExvEgg==","signatures":[{"sig":"MEUCIQD0ikTT1Sou5p2HStZtcOUsZyUqBGpbuHAJp89ZHyBYlwIgNXsC1LNVNgjiTRWCZ439uoIyETQrdWgKKole5eT9rKE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301946},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"05526bffdd69e632c02f92942b1ba3d2a21c7e81","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.8.2","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"18.20.8","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.0.9_1755930432127_0.9023053719772789","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.1.0":{"name":"@flavoai/fastfold","version":"1.1.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.1.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"37095a665d562ac2758975782d048d06adc3eeba","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.1.0.tgz","fileCount":74,"integrity":"sha512-DEUd7tFlzBCcUCEAj2nkt5z3aubVCIf4JRvYUhP/gG+pXJH2yA5YW9LJxT2R3ahl08Ra8RUjnks0G5GI1isPdA==","signatures":[{"sig":"MEUCIQCr56YZ3fZoy4/85NvrkMkOd6CC+junu1p//4JuoIq1RAIgIZA5j2PW7OLHmnw4lZySUN9eflO4+l31UOJZ1Po1KnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301923},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"c571a6fb3d5e11192fbc0fa3b430f67d3de8e206","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.3","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.18.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.1.0_1756738789502_0.43100848957804727","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.2.0":{"name":"@flavoai/fastfold","version":"1.2.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.2.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"0a45cf464525457940ab6769f2ca0706366f97ef","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.2.0.tgz","fileCount":74,"integrity":"sha512-rqLzknH2yYoWnUYToaBAnetLabFLRU9f7LY7hreOEoHvesa3JsEwJUK/ebw8o0cS6daZUWsrtmqovLmSCZL9Ww==","signatures":[{"sig":"MEUCIQDJGzbPR7sbvnQI0nvWpu07evnrY0iigV+QzENw1+hB8gIgTxUOfvcozajdnzBv2TZlsmEtZnj3M0dnGjv20g3t0sg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310554},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"a6645f82f45d6c7622700303e3050ccf833e37e9","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.3","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.18.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.2.0_1756822162306_0.9098268267953993","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.2.1":{"name":"@flavoai/fastfold","version":"1.2.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.2.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"6deed4e0e4f2de7afc8c069e4b6ecc54919b95ca","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.2.1.tgz","fileCount":74,"integrity":"sha512-MnZuPDpTCWEK3YvJ/8BYpeu/TqNX8ZNrazjPzmyPd+nj/rmfZzdWlPjeGrX3nEy4pjneSjVpWPnoJlveGCjoRw==","signatures":[{"sig":"MEUCIQCVlrYUXV5NhVt8VVuCEo1mmsVYsQC3vj4PTL4n1Sl5SQIgD97w5u3FXif67sg+zDbzuQKrSa5rRYubuX3wLUIiMfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314023},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"517f855486d3f799fe3c81fc3696d97c9951d56c","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.3","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.18.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.2.1_1756823692821_0.043252365364008005","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.2.2":{"name":"@flavoai/fastfold","version":"1.2.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.2.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"025a0da88605b0d8bbfbe8add54a4707baa015ae","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.2.2.tgz","fileCount":74,"integrity":"sha512-VnrlaYo/qQK3BV3D1Qih6sfEFVilnvWUUCnmgEu928FHme3okXFcerSxFCvpkgTXiw/Xz0FneWZIjc6GvRoZYQ==","signatures":[{"sig":"MEUCIQCLSXwA9ywEElhqZuX6vuUjpVn1a8CXnFvgjNX0gx9DQwIgRadjRuAHC1DjHPAOhZ168wZFWyX7e3ohcd33l7z2Bbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"15d37ad5b1c49229ddf7b34d4d5ad8b8d0a8dae5","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.3","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.19.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.2.2_1756906162117_0.7798523058629343","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.3.0":{"name":"@flavoai/fastfold","version":"1.3.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.3.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"0616ab915dc0927dc2b7a93be6903a6b53c71978","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.3.0.tgz","fileCount":78,"integrity":"sha512-zwznrdMGB9JbkAOxjN84xQYJ1b1tfhOGebuQZwnnzWsondL/Cb+QA14bsbNpD3cu1JLAMh6aR3Fk4bTuJQS/Cg==","signatures":[{"sig":"MEUCIF0ry3WDKyBBtKiUr3ySSrjVWbVV5RSARq9vYeGAHmQgAiEApJIMgC2QrlZR0lldZ6MQ0YXvLTWW/b3sxhn/d+v/1/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338151},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"581d8ad12c56d18b6137f45c99c4902fbae2e9ec","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.3","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.19.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.3.0_1759327453840_0.9378813574751552","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.4.0":{"name":"@flavoai/fastfold","version":"1.4.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.4.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"fd26956428b4b856453cc8c3695ab843079dec79","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.4.0.tgz","fileCount":78,"integrity":"sha512-WeFNtQtMlnas9hD43UzP/DnNxGjnAWm6R+6zH62RpB82jpiPyH29guXU/ERZoPp/0Q9S/QRwyliwUkLupfgH6Q==","signatures":[{"sig":"MEQCIHQUYEwR8V0JNTF+OmFajVAIHRNy7epD91UhvsamtlQtAiAReg+hdwclGw/RRz16pR7nCK8gnzLqIUx6YBL0h/yb/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378683},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"c428c40deba0d4e295065344409590a5c88b4996","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.21.1","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.4.0_1766834345382_0.7894752503677447","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.5.0":{"name":"@flavoai/fastfold","version":"1.5.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.5.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"9008bafc267769f511e4116129b8215b65681fd8","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.5.0.tgz","fileCount":86,"integrity":"sha512-UtjH+ISlxmjBdIs5rM1wg4V6ZebBCy7ysj0KZHHxAfwaYfwfLwGpnbqyUT9uRNRE5teH6UekDs3MNeeb5/3mYw==","signatures":[{"sig":"MEQCIDEv4gLGbQVHYSv3PJ13rp6EPPU64GOQh9U4h9/r+VS7AiAUhSmH312Gb0bd+iI9bpOsHgBg6rXxNykeG3xqihp9iA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430605},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"184813abc80094872f382003af8f8a320ef23125","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.21.1","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.5.0_1767102703408_0.42822997295166987","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.6.0":{"name":"@flavoai/fastfold","version":"1.6.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.6.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"cd5df01de4904b5a67d05b15db9fb466ff0dada8","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.6.0.tgz","fileCount":86,"integrity":"sha512-yG9zSt3HoRAIusQR7pyqe5bbXPMK4mRxarESz8vyWlZwrEBo0CYcZJsJXmsw4Vd6jxrbGwEhf37QiS3+umed2A==","signatures":[{"sig":"MEYCIQCpzUyOt9yBK8kjdwzXqM2RPQdfeSmxPc9xUYO5y7k6sgIhAPfVA/cI9ehe3ZVsX2o4W5718u8NglFynmBKsnAp16W0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433662},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"d8287bd03d3dbd2e5cd83ceaf146b508d84f1992","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.21.1","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.6.0_1767451043204_0.30821532629596704","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.6.1":{"name":"@flavoai/fastfold","version":"1.6.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.6.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"a67de36e19eaa1bcd37e15a18f1d1f359b849243","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.6.1.tgz","fileCount":86,"integrity":"sha512-EC/ZgNtAyh5RUZ6Z0BJIVb1vvzAPer67cSHsYy4PbtfI/Wn/hHqAFaymJTOD3k+7uS07HQWijpQiqGgxqm+ZKw==","signatures":[{"sig":"MEUCIQDvnemTt8QUYre30yHNJYzYCwJFPOOYzwRsHKO+LqToMwIgI1QGk51MkAtlEIyQs56COopOBHv2cpXnNmO2m1wty1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433662},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"74dd2af22581facf5ed901af536ce0250ec42484","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.21.1","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.6.1_1767705124929_0.712635719571254","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.6.2":{"name":"@flavoai/fastfold","version":"1.6.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.6.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"5d32234ef8dc873ebbaeef8b4e011c6d4c2bebe2","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.6.2.tgz","fileCount":86,"integrity":"sha512-aAGTx/+1NVYv8Xoj0kpc4qB4odB1xZMKVMTRvAbMORCD8uxHqpOFbTz8sHX00KeKjre+pKvvM4AKB44kdzZ0LQ==","signatures":[{"sig":"MEUCIA93w8L5OY70HOj3HUQlaOy0uGiIQdzuDmMYwglJO+nQAiEAw9/LKqjS+eML8016ATyE73LfOCHqPdfAQMkrzdbZWtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435257},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"bdc2cf6c54691893ddf6e8337881516f6ffd02e1","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.6.2_1769435358742_0.6003212469879986","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.7.0":{"name":"@flavoai/fastfold","version":"1.7.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.7.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"3a962999a76b5b8a27d7956f10571881fc8b3041","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.7.0.tgz","fileCount":86,"integrity":"sha512-Sx7QverJ7l6Gq1iwD0byRSW9CE8dM0o/plSCMdb3+qnlIQrtvsJtaQN+CKdx6i0QvdhiyiHZg4Hn5XECimhJrg==","signatures":[{"sig":"MEUCIFRsfwlD2K5DBzFrq0SQSxG3luXmmMZ6ImtLXHSZ/ssqAiEAsktmbG29LfUz4+gBPW5WymkxD8D6jtwUP2GZUTmcxNs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447947},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"e94ac099bc84b78a79173552013ea423edd1a26b","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.7.0_1769679561629_0.02583134819714772","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.7.2":{"name":"@flavoai/fastfold","version":"1.7.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.7.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"1c3c41b53ca42141c79302e4b8d93dc555dcf470","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.7.2.tgz","fileCount":86,"integrity":"sha512-vh+zx2ei66IWYWi95ArTw0m4E4ZM7l5TQKp+6c93fPecrETTI7Ls8bJo83uxmRuv1Y6ahDoBFhbTf1Wx/z+Upw==","signatures":[{"sig":"MEQCIFFOhRYmxrSvtyvE7RyY6A264k+m1mRaPMyYs0FuaVh3AiAwiF4P2qgUjqHOaQ7mBv4AheLGkzfSBX898EF0daROdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447947},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"8d3529f327d2fbc0d828f20dcd2922b224643b50","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.7.2_1769679843503_0.7626600244994526","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.7.3":{"name":"@flavoai/fastfold","version":"1.7.3","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.7.3","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"5421a354efb93379eae94818a3614b1c28d25bab","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.7.3.tgz","fileCount":86,"integrity":"sha512-6uUJCiFg17Yll1eEXLq00/ZwwhIhfg8JWCfDrwxDaBCnmmuxjrqN1HzUxeRrbPwPHI45y1GpJDjl3gOSpj7Bzw==","signatures":[{"sig":"MEUCIQCg6tXmJ9p5U3H8Z7EjID87UOhazCLz1btHk+qYkCvH6QIgDyDxQqeudzXJzAHkOWx1zBWawZbAGzIM4XaUv2Jz8vU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447947},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"4a2e627344d7bd9f03ba490830d9238639208ab5","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.7.3_1769697698218_0.24564512930935112","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.7.4":{"name":"@flavoai/fastfold","version":"1.7.4","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.7.4","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"ecaac000a8300ed61b07b4fd4ad765dbda832603","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.7.4.tgz","fileCount":86,"integrity":"sha512-ltqN7A1UGOeQh1p8jnmTx812+3z4rkhqAIb6eYaFPBKKef6Xtjbnn5PZrFMK1QlcoYLx0dUJd4VD0AI/1m/U9g==","signatures":[{"sig":"MEUCIAR8n5JWLRcUP83esNJRHpRAP0C/3WgSRgxBQ6PsdPJ+AiEAuA/Nr2fAy4TBBnEpMk0UiKixVhbElsDyIVw41pFqhFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451385},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"b81204ba47c94e9752bce79851e173b071050301","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","jsonwebtoken":"^9.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.20.18","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.0.6","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.84.1","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.56.2"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.7.4_1769865608132_0.3607897574624819","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.8.0":{"name":"@flavoai/fastfold","version":"1.8.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.8.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"193f82c0afa5cf39f3e2e614e274d2432da4d3f3","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.8.0.tgz","fileCount":106,"integrity":"sha512-0B54jMg80yWYx1tFAi5jj6TZxhf50Eg4CAa8K+24kXfh65G6mfX8AwCep32d3QX2SSew7DdMPgao+z6efzIJIw==","signatures":[{"sig":"MEUCIQCYRTQvJJ+wpHTMQmIFx8ZTSJIvvJ8i+HEXdGFYNd5QqAIgQrnfBmPeqRxB5MtM7JS1y3v2hTeDTa6aBDpcEtsXXME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":638533},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"0677b5b436fc7c626ea1998091b4fa5fdd1af7f3","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.8.0_1770124453218_0.7340076789414778","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.8.1":{"name":"@flavoai/fastfold","version":"1.8.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.8.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"7cf334b2097da8292010c38a39ccfa4a26680ddf","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.8.1.tgz","fileCount":110,"integrity":"sha512-AK+j+GiwZjh40vYGC6gojtbjLVIMaPgT68PcUfBJIEoY8iLCp55qo6bz6HI8hCBpCKnz+Wzwh6SuPmxLGwkhnw==","signatures":[{"sig":"MEUCIBC7qEwCqlW+OBNClL0lgnvpgLYwc9ITYnGdvNuUf3jnAiEAnGg9Z7vz6JxftPhbDbbKsndvSCjRN2X3/K6JbdP5yEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":646401},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"061940ae5757692ccbbc253d29eb903c227493e3","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.8.1_1770605328565_0.5947505571262162","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.8.2":{"name":"@flavoai/fastfold","version":"1.8.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.8.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"45fb8e5145c2d7955114bcab09fa4c8d942a12d4","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.8.2.tgz","fileCount":110,"integrity":"sha512-zz12NglJuHERt843GXH/1HKZx/QZwFXNo9Lygvuktvrd8NYavg2GQh+iD8qZXbeNmbXqZf8V9O/YZ9xwpcLb6A==","signatures":[{"sig":"MEQCIC/40LnAdYmGCE83Pp8ZNk6aP5nR/qrL6DhhV3oQUGkeAiAM0M0gbvnK001mmrJEmULgV7Ld+ftIVsmYgnqtRkeMyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656363},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"0b1f066b0d288aa058bdd5b517bb2ba172bcf5bf","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.8.2_1770672403672_0.8217515264040582","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.9.0":{"name":"@flavoai/fastfold","version":"1.9.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.9.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"944563f04adaf5f95f0594e2a1e9437347fb21fe","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.9.0.tgz","fileCount":110,"integrity":"sha512-EEIc1CUEY1SY9S9U1sm8MrLPQfNAjctPrr+83N2unrgVrTBvwee7uFHouSOUyT1WZ0t6kJIROoazw/ftaM8LKQ==","signatures":[{"sig":"MEUCIBKwSQpi0Rs4ISab+m8aY/1Im79OX8duxvGMct/+QlUNAiEA5NDEkjzVpootoKPjw3RcuvpIpA6408GntBDkN9eX6qE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656990},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"89e4430937a6a7d27e9f413c2e6b6004d778f2d9","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.9.0_1770705150790_0.7308760564412127","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.9.1":{"name":"@flavoai/fastfold","version":"1.9.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.9.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"47d029490acf8dff11682a4fb23f0d4a11586b6f","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.9.1.tgz","fileCount":110,"integrity":"sha512-WX3z65sooK7EViDYe0r0WW7XjTjXPOa2+wQmFpD9aTK2NQW5EGTU8CrJLWuzcGM4DUn6aUC3b0vnOLqt4p6hmg==","signatures":[{"sig":"MEQCIAdNUbkrQkrJFo9bRx4wKfucw4McklI7jMmiI1eNH9o6AiBYwI1utlrTrPKfjG7UOelCACq0DxCZXPm0ZxNOMyhi9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"577b33b72ea63e41c50fa34ee029c8341af4f979","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.9.1_1770713611247_0.7874586660377012","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.9.2":{"name":"@flavoai/fastfold","version":"1.9.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.9.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"7b1a03d5dc97b52d6ab8c2f35bf99a198141e312","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.9.2.tgz","fileCount":110,"integrity":"sha512-Ok1IOF/sVeOX2TJ5ifFfkZlj8RCm86qMsdoaAcaJERgrcnblAHzwEhdyt8y1EV/pt0ZD5k2E1pjzqpmdDIE1jQ==","signatures":[{"sig":"MEUCIQDpERM9ktrAdod84MobgbNMSxcZ2o846NqcnXNLdiFClAIgOmbYZ+Ob8pwpQU6zSuIVuy6EwWwYGsW995zwiousn6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"333c74a3be075186c3f7beaa7f440dbd3dfb772f","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.9.2_1770806212240_0.5479630327286504","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.10.0":{"name":"@flavoai/fastfold","version":"1.10.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.10.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"00fb6323570b9b62613bf31c7508927cff13e993","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.10.0.tgz","fileCount":118,"integrity":"sha512-8MJPiVGBXYlCaFpzRL+I8kLMVGlhPusbIgbQakv6Qs25xh0UVBTjUJ1RLByKDLhp0nTpGxPD/NAJEecPUdZJCw==","signatures":[{"sig":"MEUCIQDiiyPw5tPKnN5iKdSkN82MQJP9Wp4sDcIvaVEeH4vWqgIgSY6eCr3WEJxH8RQZDdCkN0vwxgL3pZ7ReP/nW52mQ+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713041},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"400e64dc6bf29139282d3a1a3a9f70bded135877","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.10.0_1771305319587_0.10785170049967441","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.10.1":{"name":"@flavoai/fastfold","version":"1.10.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.10.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"51503b42bd8ce9bb5ca368d6dd7ebaafe10c2ec5","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.10.1.tgz","fileCount":118,"integrity":"sha512-damSVZWoAicR+voaLZ8BBuhMW6xtxOM3lDrBzmzzsjZaEZtE8w/41UUZhSwGFvk7lu/4tE6DmsIAeHdRFgDC+Q==","signatures":[{"sig":"MEQCIHVkX1WkTLxWFTYIHKwCeQBHHK0/38613kNbhKYeOtxxAiAD3iO8SpzWP5GQv0W3soU6hq7W/LSYODc3ujYYv8hgIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713494},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"73a11e7720eb1bb8c054fc60eb39fb3e076942cc","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.10.1_1771344579613_0.518935486249076","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.11.0":{"name":"@flavoai/fastfold","version":"1.11.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.11.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"8023a99d923375433a7a9ab5c6a4257f1928f835","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.11.0.tgz","fileCount":118,"integrity":"sha512-O2niClwLXmGwjFvSXkUxTuj/9AsXmXufKHKg+VXro7hIfWpmcjJwF3eqrBWJSa+mVySgkbUVMi1z91vKj3K6IA==","signatures":[{"sig":"MEUCIQDSsr5UoKj3XtxaeOS4ND8LfijbX61bDBojDurL2xXRSAIgWdwcn/Cq74NKlBai67HWXBHE0SZXrv78Scimquc482M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708562},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"36ba855e9bd8cf44562798d599a1a0b216680a35","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.11.0_1771403115709_0.31203022072644027","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.11.1":{"name":"@flavoai/fastfold","version":"1.11.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.11.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"6c5c0e0264c23157681ebc333b0cfa3149d0c62e","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.11.1.tgz","fileCount":118,"integrity":"sha512-d9suqlQxffWwUBzhbgyV4KufCr+vTffOgqUiVv1nbzY8+QN5AEwi6R80dREijepwFRn2fsiezOluhyDK+6Y7Kw==","signatures":[{"sig":"MEYCIQCRGbZzF/riLtQDdjtwVoDodRXg1lqXbPSdTQky60RhUAIhAKVjom4VHtnpd2W88p7FxXMeq5MrlsCDir22ptNZWKb8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":710598},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"b5dcea6a9795acfe69142c92f26aa97e65ea85de","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.11.1_1771403670096_0.2129804666112327","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.12.0":{"name":"@flavoai/fastfold","version":"1.12.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.12.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"a312cc5e4621e916ecc434103c8a976e4a62c898","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.12.0.tgz","fileCount":114,"integrity":"sha512-Uvr99U6E0WqWKG5cOoe639K8k/CkDjT1sjfXIexy5IWbyHDRR6AryfKooENb9s5CquEiNCGIspTh+bEsoskpJQ==","signatures":[{"sig":"MEUCIQCDS9hHunB+ipZ+juWSBqEr3RgtqT+0ppVWG6yMeFc0ugIgJ9j/YbrFIkvsnwjcmxMlSJmzL6rJjt215v11bwVC84g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":697438},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"34306fa54cf774fa9a8da9ea3997a5f9c07c8a61","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.12.0_1771604140513_0.7847568965682148","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.12.1":{"name":"@flavoai/fastfold","version":"1.12.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.12.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"fe5e8fe5fa5457f207297f4c34f66d09aa047a51","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.12.1.tgz","fileCount":114,"integrity":"sha512-tTjtlXEZnvD4LecjIAz5MfuPtKTf4lB6KSV/dNDnhAfRZvrS5K5hntlPq0ETXjjYNTzRqeoWSzXPaFrE3orixw==","signatures":[{"sig":"MEUCIHhIvK58/scZwfLbNDYfKj/l+FVC/IAkr3uUjdluwJNVAiEAw+2dK+85gN05gSE34ourjo6gxFXj1dEv02eqEPKaP4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":699653},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"026f9f2ee506178824af48ac2e054a177d41ebd9","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.12.1_1771652036539_0.24093902295291358","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.13.0":{"name":"@flavoai/fastfold","version":"1.13.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.13.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"030b9c56f18e0945e5c31142a9ae91e53031886c","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.13.0.tgz","fileCount":114,"integrity":"sha512-rSFG32t5XCdWyZmx5zP/s6oB0ViVXfcExRcG/m5yfRSPBYJUYLtJvPQX8f6zJrQg6RwLd4R04VOJ/S6jMFPg7A==","signatures":[{"sig":"MEQCIFh1pLMlJ4kLHaU2S9Ks2tCnOXH/KEyXi5ArO5vPCEL2AiBRYmY+hslnszfsb3ucLqrpOF/TvAGSU7/3Q+GGWrSKzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705703},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"462cdbbda4e736799a96d2cfd18e8204aaf5f41d","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.13.0_1771672288529_0.3790233591898222","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.13.1":{"name":"@flavoai/fastfold","version":"1.13.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.13.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"d84ea33830e5e765562d714cce0e21c604aa1f30","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.13.1.tgz","fileCount":114,"integrity":"sha512-KTivyBCuif9x/jJ9H+r5WJa2Vhtt2SphHP53GvLExBE5CmWfY0eCiJDv09zoUR1c33YF9CecS0+76iZ3Jnnsbw==","signatures":[{"sig":"MEUCIHBaof42HRB1RwUDhiKTObMHVl0Lyo2pXxh2z/qEuZyWAiEAySLuueSRtmlT1oATJC5qgYSDE4wvrqfFLW0TL58T3S4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":709521},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"92678c62aace3def72ee84cbfafb7a0b7cc9ec56","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.13.1_1772121394342_0.6721274214598543","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.13.2":{"name":"@flavoai/fastfold","version":"1.13.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.13.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"a9027010c4dd52cc9042e905489afe4338b5d19c","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.13.2.tgz","fileCount":114,"integrity":"sha512-Q2IvQrJwR6WgletLpKH4xn3shJBhEM7qwveJryCURj2k7MPxZH3XehW1CiSy7px4oF3CQHU+3STrSJVdBrXeFA==","signatures":[{"sig":"MEYCIQCwItey8hshXnSDusUrmfBUgTClU4W0P9xeHOe+C12m+QIhAPu1Qxkwjs4YVBgqbFzXvTFNwxUELLnuGRLeRtfQTt8i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":709423},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"c949af3754338a06e52e114882fd14ebfebd5cf4","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.13.2_1772931701968_0.7266888417095936","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.14.0":{"name":"@flavoai/fastfold","version":"1.14.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.14.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"42a3dc559455223edb4002293f2a7d066df359b4","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.14.0.tgz","fileCount":114,"integrity":"sha512-z9WXpI4fHKQCGoHTDWgkOU9gyij4h7RsEOZGDMFydtcurKem2aJg5t1E9ZLzUAb5wW5rhW04YmskyxJlIjMBMA==","signatures":[{"sig":"MEUCIQC2gmeUkMfd/48w4wMdgP+9SusVlj207mayTJUcbg6jYgIgbcR3jVtcTTnSVzxvLJI+YfGW1aai1AO6iFTc8zy5N4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713263},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"d85a43f7cf39dfd77971c918043ce6e99ab9d462","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.14.0_1773059462976_0.1008574115527563","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.15.0":{"name":"@flavoai/fastfold","version":"1.15.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.15.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"b008a0b2355f7aef69d3787bd3ee36ec92a06f83","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.15.0.tgz","fileCount":114,"integrity":"sha512-4+Mw3Pud1AmNZd9gwdVbYExvMI/W/ntqYq9jtyRx6ZM6ktDFiHjKfG7d6c2JLUXAdID1r0Cf/jrwJXTAfsIUoA==","signatures":[{"sig":"MEUCIQDe5QzH1vMD+yPaL19gN30dcnd3upAQ83w1wZq2q6RPnAIgE+xONsTr2Y54kx/AqW8EYhWovtHm/hEaghmkF6/xwMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713263},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"8c4c4ac84dc9dd309e4f40de2857ed611195cd65","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.15.0_1773458064345_0.37412629332876124","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.15.1":{"name":"@flavoai/fastfold","version":"1.15.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.15.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"483ecf2d61cc02d0db02abf230e0383fba0e5562","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.15.1.tgz","fileCount":114,"integrity":"sha512-nwkebAgXmQTWDCCIgVzWVE1xhYJLbFw4JyrK/wPIU34QfKpTSs7cUiVN9asNjakqhWGe30Z+Lh6Xc3WwVS6fog==","signatures":[{"sig":"MEUCIQD031yP4nPmmCCYdfzDOoHP4GSp+7jwz6qdMe2Sj9WEnAIgCqCR0h0DX1Yu/6c1W6sM8hAog+ncIuB+jDoMDzpvDq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":715668},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"42284cedd20253eea1c69f8e803147680bcedf07","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.4","description":"Zero-boilerplate backend for React apps with auto-generated CRUD and declarative security","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.15.1_1773670071916_0.7036368156149115","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.16.0":{"name":"@flavoai/fastfold","version":"1.16.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.16.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"e616c57b7288a22b0266f2ad18ae1d4b0e101d56","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.16.0.tgz","fileCount":114,"integrity":"sha512-VlbuCb15q/S3rZBpsZ30GRcZBWo768dVeNz7t/EP8lMIDR0sH8jA7exGu3phmekzmrlNBqaZ/+ojX96Hc/nGmQ==","signatures":[{"sig":"MEYCIQC0EqLHdOab0/kE/kEqtY3zX07AwbHPDuWXXfw5zK5GBgIhAPvvdU1DBx/NTgEzF1SxbHYTjKxHjXQbjQC8gAqk2x+3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727515},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"eeb5baa1577da4e166f9360a48d6662b899e44af","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.7","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.16.0_1776943247891_0.7487879533114616","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.16.1":{"name":"@flavoai/fastfold","version":"1.16.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.16.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"d1ded4189385f276ea70490106c7f3a8ebd4f68e","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.16.1.tgz","fileCount":114,"integrity":"sha512-36ch5uNkxoHI9Eghae/MwKj6BN/cxZ/Ci37JTIJajXm/yabx+TbxeR/JNfbFI/zprHUj1TtVpxTcYlRWXSKNfg==","signatures":[{"sig":"MEYCIQCQQgZ71bJfkILca7F5F3kVoB3vRzcEENCEsVONQGtiHAIhAJUqE1QW7UsFT+0Zz8SlEv0qnWv+MAitgFFr94XidvYO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":727913},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"1df6e7626da0aa35f5895b0b4fd66bf7b82c024d","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.7","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.16.1_1776954011878_0.9551963060619746","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.17.0":{"name":"@flavoai/fastfold","version":"1.17.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.17.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"0f93c3144f68e66fd293d0178f81ef105169f72c","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.17.0.tgz","fileCount":114,"integrity":"sha512-hdM3sVHc33E8kv6nLsOtC4A/hpzhOgtZxVrhXuVurN9PR2VLoT9reZnaU7nM1ADwXFWQF1AkrN7hpQM7puy7zQ==","signatures":[{"sig":"MEUCIF96jKxzBQpO/2HMK9xHnmTPSvH4WRN2E+qt5v0pUbImAiEA78hZU5O7eJOKut0zMSiI+dR9T7CwFtZO3xqF4oixnWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":726754},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"de25c8c0e35f8bf90bc6e6afb0fe0e15b6f543c0","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.7","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.17.0_1777044373587_0.03944869115908278","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.17.1":{"name":"@flavoai/fastfold","version":"1.17.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.17.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"735b7c6b0ab983fc53f3464e84e696d87c11f101","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.17.1.tgz","fileCount":118,"integrity":"sha512-VWdVtDgtCf16YX7E8S6TfrsL5AJc1Gug3kPibQEQRl8aPqeRjgwfyzkKNCnV8yOYrrtVD44ybsA7xrw9XSKJTQ==","signatures":[{"sig":"MEUCIQC29KarY6HuqwsYrpEPNwJOX2JCY2czpx8tfwXrESeinwIgMNmur9/x0GUi0YLrRI8Sg+rjcTrc8+8q5mTZrNkIuYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":740083},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"}},"gitHead":"4de9ad8d0e4072049632fa8b838257b81f769f1a","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.7","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.17.1_1777078589338_0.4795706220792251","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.18.0":{"name":"@flavoai/fastfold","version":"1.18.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.18.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"a8eb94fd41727229c95d901d9b3abfb7f9c01d27","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.18.0.tgz","fileCount":122,"integrity":"sha512-TbsYz2NbvYtNYT6vIA+KV/N/ZSP9xXaIs424hQ/wgS3ia+BxJSpw2OVfvib7QfU2MGnP5/7OWjKuAv4vnAnGCg==","signatures":[{"sig":"MEYCIQCEyfQcdOUqe+kUmu8Lz3rh9weomJoit2+SQPaHSPdL7QIhAJ4rdd/7iEWOK22SjcV5iMAyuucHpyApizpk4GPmE6IU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":797841},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./schema":{"types":"./dist/schema-wrappers.d.ts","import":"./dist/schema-wrappers.js"}},"gitHead":"ea187401b6031cbfcd99c4dc8891962f28a4f2c4","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.7","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.18.0_1778344947578_0.3216853933292536","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.18.1":{"name":"@flavoai/fastfold","version":"1.18.1","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.18.1","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"b3be042508502cd0bed9d0e76270a1c1cb88ea87","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.18.1.tgz","fileCount":122,"integrity":"sha512-wP3fntpdvNkzGjNQAzBm/wPUj8t/AVpoXrFPj+erXIiNkPz0FTiQ9VpMlE9Bgo/rSHhwpi9m/kavMAYFXPU07A==","signatures":[{"sig":"MEUCIGZRd5jU2yG+1WiKJiHTNRfb4Jb6U28DhL2ruCbQ1yUgAiEAiSqrCuDppXKWs8giEZQMXNdOfftNhqNpmeiZzKZkzF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":798344},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","default":"./dist/client/index.js"},"./schema":{"types":"./dist/schema-wrappers.d.ts","import":"./dist/schema-wrappers.js","default":"./dist/schema-wrappers.js"}},"gitHead":"a82dc86364b5380e59931c591036d01f4ce6b34a","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.7","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.18.1_1778396733387_0.6718539648572202","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.18.2":{"name":"@flavoai/fastfold","version":"1.18.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.18.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"403371f65e990b25a36250dcc4c96fe7ea55452e","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.18.2.tgz","fileCount":122,"integrity":"sha512-Se5UjOz7zu3IDd0V0sXaCDa4SIw6lHFkMdNnaCaQf6BnqLcEAy0jxhSFY6tlGpm9iRSSRBLqbng6F89igx3I6A==","signatures":[{"sig":"MEQCICowmi4HNvkw0meMxIhkslHkpwNAJlHzDQ1Eq9LaMbBKAiBvMCgrrH1bKHrgW3CaBwW9N1Hy8gYNwW+UZIhBTz8+5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":791829},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","default":"./dist/client/index.js"},"./schema":{"types":"./dist/schema-wrappers.d.ts","import":"./dist/schema-wrappers.js","default":"./dist/schema-wrappers.js"}},"gitHead":"290e456eae1539d996db27132790ff79bc14bb7f","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.7","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.18.2_1778599080972_0.6773353194753633","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.19.2":{"name":"@flavoai/fastfold","version":"1.19.2","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.19.2","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"06696939774dd140a2c9d2c25e99de55a36bdbc2","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.19.2.tgz","fileCount":122,"integrity":"sha512-rTYSGtzi3SUmck6tHBXPZNflk7g+AadjiMSVAnBYlojHvfkpGxaop8WWirta1MqkJSLYgarRObvD48h69OJECg==","signatures":[{"sig":"MEYCIQDYNfNB3SWdz0E5G9wy1Kpx2Lkcu3IT0TmijG80+3/0XgIhAKEG/UA5nbxpYR4LQHLoef2ULCbrikf0cWA/g1g5AlpD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":779085},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","default":"./dist/client/index.js"},"./schema":{"types":"./dist/schema-wrappers.d.ts","import":"./dist/schema-wrappers.js","default":"./dist/schema-wrappers.js"}},"gitHead":"bc53db5d3888a7dda9cd37c3c0101fb21c2a0012","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.8","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.19.2_1780826370547_0.8763386571308556","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.20.0":{"name":"@flavoai/fastfold","version":"1.20.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.20.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"c9945504c3a5e6ce940430685ea3a9092a53fe6d","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.20.0.tgz","fileCount":122,"integrity":"sha512-40UDK+B8ysTQ8lwBv0+ro1os54oTj2YEz/vGPIR2Qp5SlvomQSmhiFu926+ZT17pldxNkanLZuB98x2D4i8ljA==","signatures":[{"sig":"MEUCICL30Qi36OjzpPYRnsBhJqigyNZp9pRC6iJvxTiK1KNOAiEAlEHKM7ypAWC3r/Yje0/JZo8eSlQJBald8I080ELJ3zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":783598},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","default":"./dist/client/index.js"},"./schema":{"types":"./dist/schema-wrappers.d.ts","import":"./dist/schema-wrappers.js","default":"./dist/schema-wrappers.js"}},"gitHead":"f9326bf69e82273230294b7a1ee3782f53dbe5c4","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.8","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.20.0_1784367666271_0.7246126748571038","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.21.0":{"name":"@flavoai/fastfold","version":"1.21.0","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","_id":"@flavoai/fastfold@1.21.0","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"dist":{"shasum":"937fe660ebe33410679de7eae8e2975dc13eb3b8","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.21.0.tgz","fileCount":122,"integrity":"sha512-G4WTgAP8W03Aj39fezP7lWQvyo2p45g/rXeXX5cFpU3R1Jvwvy4nFKDzpqZMF4tMDmCJncNmkh2kejJh+2bs/w==","signatures":[{"sig":"MEUCIQCs0I0Ladts3099tawx1k+XTTMveSi96Ip3gpznNADO7wIgUjO1PII3fUl2OqpqB6t4wJChEXIGmwD8i7b7YnE4hM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":788581},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","default":"./dist/client/index.js"},"./schema":{"types":"./dist/schema-wrappers.d.ts","import":"./dist/schema-wrappers.js","default":"./dist/schema-wrappers.js"}},"gitHead":"b68ed408ab6315e054686e1eff00e021af097ea6","scripts":{"dev":"tsx watch src/dev-server.ts","test":"jest","build":"tsc","start":"node dist/index.js","dev:react":"vite test-app","typecheck":"tsc --noEmit","build:react":"vite build test-app","prepublishOnly":"npm run build"},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"_npmVersion":"10.9.8","description":"Flavo frontend package","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.67","pg":"^8.11.3","zod":"^3.22.4","cors":"^2.8.5","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","express":"^4.18.2","bcryptjs":"^2.4.3","postgres":"^3.4.3","fast-glob":"^3.3.2","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","jsonwebtoken":"^9.0.2","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","@ai-sdk/anthropic":"^3.0.31"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsx":"^4.6.0","jest":"^29.7.0","vite":"^5.0.0","react":"^18.3.1","ts-jest":"^29.4.1","@types/pg":"^8.10.9","react-dom":"^18.3.1","typescript":"^5.3.2","@types/cors":"^2.8.17","@types/jest":"^29.5.8","@types/node":"^20.10.0","drizzle-kit":"^0.31.8","@types/react":"^18.3.23","@types/multer":"^1.4.11","@types/express":"^4.17.21","better-sqlite3":"^12.2.0","@types/bcryptjs":"^2.4.6","@types/react-dom":"^18.3.0","@flavoai/fastfold":"^1.7.4","@types/jsonwebtoken":"^9.0.5","@vitejs/plugin-react":"^4.2.1","@tanstack/react-query":"^5.90.20","@types/better-sqlite3":"^7.6.13","@tanstack/react-query-devtools":"^5.90.20"},"peerDependencies":{"react":">=18.0.0","@tanstack/react-query":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/fastfold_1.21.0_1786286627687_0.3449425178957275","host":"s3://npm-registry-packages-npm-production"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"}},"1.22.0":{"name":"@flavoai/fastfold","version":"1.22.0","description":"Flavo frontend package","main":"dist/index.js","types":"dist/index.d.ts","type":"module","scripts":{"build":"tsc","dev":"tsx watch src/dev-server.ts","dev:react":"vite test-app","build:react":"vite build test-app","start":"node dist/index.js","test":"jest","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["backend","crud","react","typescript","database","security","auto-generation"],"author":"","license":"MIT","dependencies":{"@ai-sdk/anthropic":"^3.0.31","@ai-sdk/google":"^3.0.18","@ai-sdk/openai":"^3.0.25","ai":"^6.0.67","bcryptjs":"^2.4.3","cors":"^2.8.5","drizzle-orm":"^0.45.1","drizzle-zod":"^0.8.3","express":"^4.18.2","fast-glob":"^3.3.2","jsonwebtoken":"^9.0.2","multer":"^1.4.5-lts.1","mysql2":"^3.6.5","pg":"^8.11.3","postgres":"^3.4.3","zod":"^3.22.4"},"peerDependencies":{"@tanstack/react-query":"^5.0.0","react":">=18.0.0"},"peerDependenciesOptional":{"@tanstack/react-query-devtools":"^5.0.0"},"devDependencies":{"@flavoai/fastfold":"^1.7.4","@tanstack/react-query":"^5.90.20","@tanstack/react-query-devtools":"^5.90.20","@types/bcryptjs":"^2.4.6","@types/better-sqlite3":"^7.6.13","@types/cors":"^2.8.17","@types/express":"^4.17.21","@types/jest":"^29.5.8","@types/jsonwebtoken":"^9.0.5","@types/multer":"^1.4.11","@types/node":"^20.10.0","@types/pg":"^8.10.9","@types/react":"^18.3.23","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.2.1","better-sqlite3":"^12.2.0","drizzle-kit":"^0.31.8","jest":"^29.7.0","react":"^18.3.1","react-dom":"^18.3.1","ts-jest":"^29.4.1","tsx":"^4.6.0","typescript":"^5.3.2","vite":"^5.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js","default":"./dist/client/index.js"},"./schema":{"types":"./dist/schema-wrappers.d.ts","import":"./dist/schema-wrappers.js","default":"./dist/schema-wrappers.js"}},"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","_id":"@flavoai/fastfold@1.22.0","gitHead":"6d174f711bdf87e47076419101efbae5e40312d7","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-GHkIC3Z0d3GfqWuSNEZeI+fwc8MCP/XtEWsd3PjOYarid+zn35MQgClySJfNW8udVWA0HjWmGEt1DWGkkLgweg==","shasum":"0562327ccfc5eeab9bf73051a621ec1de585ccde","tarball":"https://registry.npmjs.org/@flavoai/fastfold/-/fastfold-1.22.0.tgz","fileCount":126,"unpackedSize":791642,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCkFlE3RCBgx1HR3LMPr+bc7yssXluIaGCLm1q/qJProwIgGt1y1fabWGhoI5mKWaJ5nD9VdEVTAxItRgrjRaeNla0="}]},"_npmUser":{"name":"jokarz","email":"jokarz@hotmail.com"},"directories":{},"maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fastfold_1.22.0_1786445722247_0.234364586878129"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-06T07:14:18.325Z","modified":"2026-08-11T10:55:22.564Z","1.0.0":"2025-08-06T07:14:18.599Z","1.0.1":"2025-08-06T07:21:39.032Z","1.0.2":"2025-08-06T08:00:00.562Z","1.0.4":"2025-08-07T04:44:50.822Z","1.0.5":"2025-08-07T06:55:47.610Z","1.0.6":"2025-08-07T08:33:06.164Z","1.0.7":"2025-08-07T14:04:37.939Z","1.0.8":"2025-08-19T16:18:10.592Z","1.0.9":"2025-08-23T06:27:12.336Z","1.1.0":"2025-09-01T14:59:49.730Z","1.2.0":"2025-09-02T14:09:22.495Z","1.2.1":"2025-09-02T14:34:53.002Z","1.2.2":"2025-09-03T13:29:22.332Z","1.3.0":"2025-10-01T14:04:14.022Z","1.4.0":"2025-12-27T11:19:05.563Z","1.5.0":"2025-12-30T13:51:43.564Z","1.6.0":"2026-01-03T14:37:23.345Z","1.6.1":"2026-01-06T13:12:05.091Z","1.6.2":"2026-01-26T13:49:18.922Z","1.7.0":"2026-01-29T09:39:21.827Z","1.7.2":"2026-01-29T09:44:03.642Z","1.7.3":"2026-01-29T14:41:38.367Z","1.7.4":"2026-01-31T13:20:08.300Z","1.8.0":"2026-02-03T13:14:13.363Z","1.8.1":"2026-02-09T02:48:48.719Z","1.8.2":"2026-02-09T21:26:43.833Z","1.9.0":"2026-02-10T06:32:31.100Z","1.9.1":"2026-02-10T08:53:31.410Z","1.9.2":"2026-02-11T10:36:52.373Z","1.10.0":"2026-02-17T05:15:19.783Z","1.10.1":"2026-02-17T16:09:39.812Z","1.11.0":"2026-02-18T08:25:15.861Z","1.11.1":"2026-02-18T08:34:30.307Z","1.12.0":"2026-02-20T16:15:40.720Z","1.12.1":"2026-02-21T05:33:56.749Z","1.13.0":"2026-02-21T11:11:28.700Z","1.13.1":"2026-02-26T15:56:34.539Z","1.13.2":"2026-03-08T01:01:42.182Z","1.14.0":"2026-03-09T12:31:03.226Z","1.15.0":"2026-03-14T03:14:24.639Z","1.15.1":"2026-03-16T14:07:52.116Z","1.16.0":"2026-04-23T11:20:48.094Z","1.16.1":"2026-04-23T14:20:12.128Z","1.17.0":"2026-04-24T15:26:13.846Z","1.17.1":"2026-04-25T00:56:29.533Z","1.18.0":"2026-05-09T16:42:27.883Z","1.18.1":"2026-05-10T07:05:33.559Z","1.18.2":"2026-05-12T15:18:01.210Z","1.19.2":"2026-06-07T09:59:30.740Z","1.20.0":"2026-07-18T09:41:06.448Z","1.21.0":"2026-08-09T14:43:47.858Z","1.22.0":"2026-08-11T10:55:22.376Z"},"license":"MIT","keywords":["backend","crud","react","typescript","database","security","auto-generation"],"description":"Flavo frontend package","maintainers":[{"name":"jokarz","email":"jokarz@hotmail.com"}],"readme":"# Fastfold\n\nZero-boilerplate backend for React apps with **Drizzle ORM** integration, auto-generated CRUD, and declarative security. **React Query powered** for smart caching and background sync. Perfect for rapid UI development with minimal code.\n\n## Features\n\n- 🚀 **Zero boilerplate** - Auto-generated CRUD operations from Drizzle schemas\n- 🎯 **Simple API** - Just `useQuery` and `useMutation` (powered by React Query!)\n- 📦 **Automatic caching** - Smart cache invalidation and background refetching\n- 🗄️ **Drizzle ORM** - Full database power with relationships, migrations, and validation\n- 🔒 **Declarative security** - Role-based permissions per table\n- 🔧 **TypeScript** - Full type safety out of the box\n- 🤖 **LLM-friendly** - Small, predictable API surface\n- ⚡ **Production ready** - PostgreSQL, MySQL, SQLite support with foreign keys\n- 🛠️ **React Query DevTools** - Optional debugging and cache inspection\n\n## Quick Start\n\n### 1. Install Fastfold\n\n```bash\nnpm install @flavoai/fastfold @tanstack/react-query\n```\n\n**Note**: React Query is a peer dependency for the client hooks.\n\n### 2. Define Your Schema with Drizzle (30 seconds)\n\n```typescript\n// schema.ts - Use Drizzle's powerful schema definition\nimport { sqliteTable, integer, text } from 'drizzle-orm/sqlite-core';\nimport { relations } from 'drizzle-orm';\n\nexport const users = sqliteTable('users', {\n  id: integer('id').primaryKey({ autoIncrement: true }),\n  email: text('email').notNull().unique(),\n  name: text('name').notNull(),\n  role: text('role').default('user'),\n});\n\nexport const posts = sqliteTable('posts', {\n  id: integer('id').primaryKey({ autoIncrement: true }),\n  title: text('title').notNull(),\n  content: text('content'),\n  published: integer('published', { mode: 'boolean' }).default(false),\n  authorId: integer('author_id').references(() => users.id, { onDelete: 'cascade' }),\n});\n\n// Define relationships\nexport const usersRelations = relations(users, ({ many }) => ({\n  posts: many(posts),\n}));\n\nexport const postsRelations = relations(posts, ({ one }) => ({\n  author: one(users, { fields: [posts.authorId], references: [users.id] }),\n}));\n```\n\n### 3. Create Your Backend (30 seconds)\n\n```typescript\n// server.ts - Fastfold adds CRUD + Security to your Drizzle schema\nimport Fastfold, { Security } from '@flavoai/fastfold';\nimport path from 'path';\nimport { drizzle } from 'drizzle-orm/better-sqlite3';\nimport Database from 'better-sqlite3';\nimport * as schema from './schema';\n\nconst db = drizzle(new Database('./app.db'), { schema });\n\nawait Fastfold.quickStart({\n  // 🔗 DRIZZLE INTEGRATION - Use your existing schema\n  drizzle: { db, schema },\n  \n  // 🔒 ADD SECURITY - Just specify security per table\n  tables: {\n    users: {\n      security: Security.authenticated(),\n      operations: ['read', 'update'] // Granular CRUD control\n    },\n    posts: {\n      security: Security.owner('authorId'),\n      operations: ['create', 'read', 'update', 'delete']\n    }\n  },\n\n  // 🧩 (Optional) Serve your frontend SPA from the same server\n  // Supports single or multiple static mounts\n  staticFrontend: [\n    {\n      directory: path.resolve(process.cwd(), 'dist'), // your Vite build output\n      urlPath: '/',            // mount at root\n      spaFallback: true,       // route non-API requests to index.html\n      excludePaths: ['/api', '/docs', /^\\/assets\\//],\n      indexFile: 'index.html',\n      staticOptions: { index: false, maxAge: '1h', immutable: true }\n    },\n    // Example: admin panel mounted at /admin\n    // {\n    //   directory: path.resolve(process.cwd(), 'admin-dist'),\n    //   urlPath: '/admin',\n    //   spaFallback: true,\n    //   excludePaths: ['/api', '/docs']\n    // }\n  ]\n});\n\n// That's it! Full CRUD API with relationships and security\n```\n\n### 4. Build and Serve your Frontend (optional)\n\nIf you want to serve your SPA from Fastfold, build it with Vite (or similar) into `dist/` (or your configured directory):\n\n```bash\n# From your frontend project\nnpm run build\n# Ensure build outputs to ./dist relative to your server or set staticFrontend.directory accordingly\n```\n\nThen start Fastfold; your app will be served along with the API.\n\n### 5. Minimal frontend you can copy-paste (CSP-friendly)\n\nCreate `dist/index.html` with:\n\n```html\n<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>Fastfold Quickstart</title>\n    <link rel=\"stylesheet\" href=\"app.css\" />\n  </head>\n  <body>\n    <h1>Fastfold Quickstart</h1>\n    <p>Backend API is mounted at <code>/api</code>. Click to seed sample data, then list posts.</p>\n    <div>\n      <button id=\"seed\">Seed Sample Data</button>\n      <button id=\"load\">Load Posts</button>\n    </div>\n    <div id=\"out\" style=\"margin-top: 1rem\"></div>\n    <script defer src=\"app.js\"></script>\n  </body>\n  </html>\n```\n\nCreate `dist/app.js` with:\n\n```js\nconst out = document.getElementById('out');\nconst show = (html) => { out.innerHTML = html; };\ndocument.getElementById('seed').onclick = async () => {\n  const res = await fetch('/api/seed', { method: 'POST', headers: { 'content-type': 'application/json' } });\n  const data = await res.json();\n  show(`<div class=\"card\">Seeded: <pre>${JSON.stringify(data, null, 2)}</pre></div>`);\n};\ndocument.getElementById('load').onclick = async () => {\n  const res = await fetch('/api/posts?params=' + encodeURIComponent(JSON.stringify({ with: { author: true }, orderBy: { createdAt: 'desc' } })));\n  const json = await res.json();\n  const posts = json.data || [];\n  show(posts.length ? posts.map(p => `<div class=\"card\"><h3>${p.title}</h3><div>By: ${p.author?.name || 'Unknown'}</div><p>${p.content}</p></div>`).join('') : '<div class=\"card\">No posts yet</div>');\n};\n```\n\nCreate `dist/app.css` with:\n\n```css\nbody { font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji'; margin: 2rem; }\nh1 { margin: 0 0 1rem; }\nbutton { padding: .5rem .75rem; }\n.card { border: 1px solid #ddd; border-radius: 8px; padding: 1rem; margin: .5rem 0; }\ncode { background: #f6f8fa; padding: .2rem .4rem; border-radius: 4px; }\n```\n\nNow start the server and visit `http://localhost:3001`.\n\n### 6. Use in React (30 seconds)\n\n```tsx\n// App.tsx - Wrap your app with FastfoldProvider\nimport { FastfoldProvider, configureFastfold } from '@flavoai/fastfold/client';\n\n// Configure your API endpoint\nconfigureFastfold({ baseUrl: 'http://localhost:3001/api' });\n\nfunction App() {\n  return (\n    <FastfoldProvider>\n      <BlogList />\n    </FastfoldProvider>\n  );\n}\n\n// BlogList.tsx - Use Fastfold hooks (powered by React Query!)\nimport { useQuery, useCreate } from '@flavoai/fastfold/client';\n\nfunction BlogList() {\n  // 🎯 SIMPLE QUERY - Fetch data with relationships (with React Query caching!)\n  const { data: posts, isLoading, error } = useQuery('posts', {\n    where: { published: true },\n    orderBy: { createdAt: 'desc' },\n    with: { author: true } // Include relationships!\n  });\n\n  // 🚀 SIMPLE MUTATION - Create data with automatic cache invalidation\n  const createPost = useCreate('posts');\n\n  const handleCreate = () => {\n    createPost.mutate({ \n      title: 'Hello World', \n      content: 'My first post!',\n      published: true\n    });\n    // Cache automatically updates! No manual refetch needed 🎉\n  };\n\n  if (isLoading) return <div>Loading...</div>;\n  if (error) return <div>Error: {error.message}</div>;\n\n  return (\n    <div>\n      <button \n        onClick={handleCreate}\n        disabled={createPost.isPending}\n      >\n        {createPost.isPending ? 'Creating...' : 'Create Post'}\n      </button>\n      \n      {posts?.map(post => (\n        <div key={post.id}>\n          <h3>{post.title}</h3>\n          <p>By: {post.author?.name}</p>\n          <p>{post.content}</p>\n        </div>\n      ))}\n    </div>\n  );\n}\n```\n\n## 🔒 Security Made Simple\n\nFastfold comes with built-in, declarative security that's both powerful and easy to use:\n\n```typescript\n// 🔓 LEVEL 1: ZERO-SECURITY (0 lines of security code)\n// Perfect for: public data, prototypes\nblog: {\n  schema: { title: 'string', content: 'string' },\n  security: Security.public() // Everyone can access ✨\n},\n\n// 🔐 LEVEL 2: ONE-LINER SECURITY (1 line of security code)\n// Perfect for: most common use cases\nadminLogs: {\n  schema: { action: 'string', timestamp: 'number' },\n  security: Security.admin() // Only admins ✨\n},\n\nuserProfiles: {\n  schema: { userId: 'string', name: 'string', bio: 'string' },\n  security: Security.owner('userId') // Users own their data ✨\n},\n\n// ⚙️ LEVEL 3: CUSTOM SECURITY (as complex as you need)\n// Perfect for: complex business rules\nprojects: {\n  schema: { name: 'string', teamId: 'string' },\n  security: Security.custom((ctx) => {\n    return ctx.user?.teamId === ctx.data?.teamId;\n  })\n}\n```\n\n## API Reference\n\n### Server API\n\n```typescript\nimport Fastfold, { Security } from '@flavoai/fastfold';\n\n// Quick start with Drizzle (recommended)\nconst adapter = await Fastfold.quickStart({\n  drizzle: { db, schema },\n  tables: {\n    users: {\n      security: Security.authenticated(),\n      operations: ['read', 'update']\n    },\n    posts: {\n      security: Security.owner('authorId'),\n      operations: ['create', 'read', 'update', 'delete']\n    }\n  }\n});\n\n// Advanced configuration with custom endpoints\nconst adapter = await Fastfold.quickStart({\n  drizzle: { db, schema },\n  tables: { /* your table configs */ },\n  auth: {\n    secret: 'your-jwt-secret',\n    expiresIn: '24h'\n  },\n  endpoints: (app) => {\n    // Add custom endpoints\n    app.get('/api/custom', (req, res) => {\n      res.json({ message: 'Custom endpoint' });\n    });\n  },\n  hooks: {\n    onServerStart: async (server) => {\n      console.log('Server started on port', server.port);\n    }\n  }\n});\n```\n\n### Client API\n\n```typescript\nimport { \n  useQuery,      // Fetch multiple records\n  useQueryOne,   // Fetch single record\n  useCreate,     // Create records\n  useUpdate,     // Update records\n  useDelete,     // Delete records\n  configureFastfold,\n} from '@flavoai/fastfold/client';\n\n// Configure client — auth rides on the httpOnly session cookie (see Flavo Auth below)\nconfigureFastfold({ baseUrl: 'http://localhost:3001/api' });\n```\n\n#### ⚙️ **Client Configuration**\n\n```tsx\nimport { configureFastfold } from '@flavoai/fastfold/client';\n\n// Base URL + any custom (non-auth) headers\nconfigureFastfold({\n  baseUrl: 'https://api.myapp.com/api', // Your API base URL\n  headers: {\n    'X-App-Version': '1.0.0',\n    'X-Custom-Header': 'value'\n  }\n});\n```\n\nAuthentication is handled by **Flavo Auth** over an httpOnly session cookie: the\nbrowser attaches it automatically (every request uses `credentials: 'include'`)\nand the client auto-refreshes on a 401. Wrap your app in `FlavoAuthProvider` and\ndrive sign-in/out with `useFlavoAuth()` — there is no client-side token to set or\nclear. See the **Flavo Auth** section below.\n\n### Complete Client Examples\n\n#### 📋 **Querying Data**\n\n```tsx\nimport { useQuery, useQueryOne } from '@flavoai/fastfold/client';\n\nfunction PostsList() {\n  // Fetch multiple posts with relationships\n  const { data: posts, isLoading, error } = useQuery('posts', {\n    where: { published: true },\n    orderBy: { createdAt: 'desc' },\n    with: { author: true }, // Include author data\n    limit: 10\n  });\n\n  // Fetch single post by ID\n  const { data: post } = useQueryOne('posts', '123', {\n    with: { author: true, comments: true }\n  });\n\n  if (isLoading) return <div>Loading posts...</div>;\n  if (error) return <div>Error: {error.message}</div>;\n\n  return (\n    <div>\n      {posts?.map(post => (\n        <article key={post.id}>\n          <h2>{post.title}</h2>\n          <p>By: {post.author?.name}</p>\n          <p>{post.content}</p>\n        </article>\n      ))}\n    </div>\n  );\n}\n```\n\n#### ✏️ **Creating Data**\n\n```tsx\nimport { useCreate } from '@flavoai/fastfold/client';\n\nfunction CreatePostForm() {\n  const createPost = useCreate('posts', {\n    onSuccess: (newPost) => {\n      console.log('Post created:', newPost);\n      // Cache automatically updated - no refetch needed!\n    },\n    onError: (error) => {\n      console.error('Failed to create post:', error);\n    }\n  });\n\n  const handleSubmit = async (formData) => {\n    try {\n      const newPost = await createPost.mutate({\n        title: formData.title,\n        content: formData.content,\n        published: true,\n        authorId: currentUser.id\n      });\n      \n      console.log('Created post:', newPost);\n    } catch (error) {\n      console.error('Creation failed:', error);\n    }\n  };\n\n  return (\n    <form onSubmit={handleSubmit}>\n      {/* form fields */}\n      <button \n        type=\"submit\" \n        disabled={createPost.isLoading}\n      >\n        {createPost.isLoading ? 'Creating...' : 'Create Post'}\n      </button>\n    </form>\n  );\n}\n```\n\n#### 🔄 **Updating Data**\n\n```tsx\nimport { useUpdate } from '@flavoai/fastfold/client';\n\nfunction EditPostForm({ post }) {\n  const updatePost = useUpdate('posts', {\n    onSuccess: (updatedPost) => {\n      console.log('Post updated:', updatedPost);\n      // Navigate back or show success message\n    },\n    onError: (error) => {\n      console.error('Update failed:', error);\n    }\n  });\n\n  const handleUpdate = async (formData) => {\n    try {\n      const updatedPost = await updatePost.mutate({\n        id: post.id,\n        data: {\n          title: formData.title,\n          content: formData.content,\n          published: formData.published\n        }\n      });\n      \n      console.log('Updated post:', updatedPost);\n    } catch (error) {\n      console.error('Update failed:', error);\n    }\n  };\n\n  return (\n    <form onSubmit={handleUpdate}>\n      {/* form fields */}\n      <button \n        type=\"submit\" \n        disabled={updatePost.isLoading}\n      >\n        {updatePost.isLoading ? 'Updating...' : 'Update Post'}\n      </button>\n      \n      {updatePost.error && (\n        <div className=\"error\">\n          Error: {updatePost.error.message}\n        </div>\n      )}\n    </form>\n  );\n}\n```\n\n#### 🗑️ **Deleting Data**\n\n```tsx\nimport { useDelete } from '@flavoai/fastfold/client';\n\nfunction PostItem({ post, onDeleted }) {\n  const deletePost = useDelete('posts', {\n    onSuccess: () => {\n      console.log('Post deleted successfully');\n      onDeleted?.(post.id); // Notify parent component\n    },\n    onError: (error) => {\n      console.error('Delete failed:', error);\n    }\n  });\n\n  const handleDelete = async () => {\n    if (confirm('Are you sure you want to delete this post?')) {\n      try {\n        await deletePost.mutate(post.id);\n      } catch (error) {\n        console.error('Delete failed:', error);\n      }\n    }\n  };\n\n  return (\n    <div className=\"post-item\">\n      <h3>{post.title}</h3>\n      <p>{post.content}</p>\n      \n      <button \n        onClick={handleDelete}\n        disabled={deletePost.isLoading}\n        className=\"delete-btn\"\n      >\n        {deletePost.isLoading ? 'Deleting...' : 'Delete'}\n      </button>\n    </div>\n  );\n}\n```\n\n#### 🔄 **Complete CRUD Example**\n\n```tsx\nimport { useQuery, useCreate, useUpdate, useDelete } from '@flavoai/fastfold/client';\n\nfunction PostsManager() {\n  // Query posts - React Query handles caching automatically\n  const { data: posts, isLoading } = useQuery('posts', {\n    with: { author: true },\n    orderBy: { createdAt: 'desc' }\n  });\n\n  // CRUD operations - cache automatically invalidated!\n  const createPost = useCreate('posts');\n  const updatePost = useUpdate('posts');\n  const deletePost = useDelete('posts');\n\n  const handleCreate = (data) => createPost.mutate(data);\n  const handleUpdate = (id, data) => updatePost.mutate({ id, data });\n  const handleDelete = (id) => deletePost.mutate(id);\n\n  if (isLoading) return <div>Loading...</div>;\n\n  return (\n    <div>\n      <CreateForm onSubmit={handleCreate} />\n      \n      {posts?.map(post => (\n        <PostCard \n          key={post.id} \n          post={post}\n          onUpdate={handleUpdate}\n          onDelete={handleDelete}\n        />\n      ))}\n    </div>\n  );\n}\n```\n\n#### 🔄 **Cache Management with React Query**\n\nFastfold uses React Query for automatic cache management! Here's how it works:\n\n##### **Automatic Cache Invalidation (Default Behavior)**\n\n```tsx\nfunction PostsList() {\n  // React Query handles all caching automatically!\n  const { data: posts, isLoading, error } = useQuery('posts', {\n    with: { author: true }\n  });\n  \n  const createPost = useCreate('posts');\n  const updatePost = useUpdate('posts');\n  const deletePost = useDelete('posts');\n\n  const handleCreate = () => {\n    createPost.mutate({\n      title: 'New Post',\n      content: 'Hello World!'\n    });\n    // ✨ Cache automatically invalidated and refetched!\n    // No manual refetch needed!\n  };\n\n  // React Query provides:\n  // - 5min stale time with background refetch\n  // - Automatic cache invalidation after mutations\n  // - Smart deduplication of identical requests\n  // - Error retry with exponential backoff\n}\n```\n\n##### **Advanced: Custom Cache Options**\n\n```tsx\nfunction PostsList() {\n  // Customize React Query behavior\n  const { data: posts } = useQuery('posts', {\n    with: { author: true }\n  }, {\n    staleTime: 10 * 60 * 1000, // 10 minutes\n    gcTime: 30 * 60 * 1000,    // 30 minutes  \n    refetchOnWindowFocus: false,\n    refetchInterval: 2 * 60 * 1000 // Poll every 2 minutes\n  });\n\n  const createPost = useCreate('posts', {\n    onSuccess: (newPost) => {\n      console.log('✅ Post created:', newPost);\n      // Cache automatically updates - no manual work needed!\n    },\n    onError: (error) => {\n      console.error('❌ Failed to create post:', error);\n      // React Query handles retries automatically\n    }\n  });\n\n  // React Query DevTools (optional)\n  // Add <ReactQueryDevtools /> to see cache state\n}\n```\n\n##### **Advanced: Cache Utilities for Power Users**\n\n```tsx\nimport { useInvalidateCache, useUpdateCache } from '@flavoai/fastfold/client';\n\nfunction PostEditor() {\n  const invalidateCache = useInvalidateCache();\n  const updateCache = useUpdateCache();\n\n  const updatePost = useUpdate('posts', {\n    onSuccess: (updatedPost) => {\n      // Option 1: Invalidate specific cache keys\n      invalidateCache(['posts']); // Refetch all posts queries\n      \n      // Option 2: Update cache directly (optimistic)\n      updateCache(['posts'], (oldData) => \n        oldData?.map(post => \n          post.id === updatedPost.id ? updatedPost : post\n        )\n      );\n    }\n  });\n\n  const handleBulkUpdate = async () => {\n    // For complex operations, invalidate multiple caches\n    await bulkUpdatePosts();\n    invalidateCache(['posts', 'users', 'stats']);\n  };\n}\n```\n\n> **✨ React Query Power**: Fastfold uses React Query under the hood, giving you all its benefits:\n> - **Smart caching** with configurable stale times\n> - **Background refetching** to keep data fresh  \n> - **Automatic deduplication** of identical requests\n> - **Error retry** with exponential backoff\n> - **Optimistic updates** and rollback on error\n> - **DevTools integration** for debugging cache state\n> \n> Most apps won't need manual cache management - React Query handles it all automatically! 🎉\n\n### Security API\n\n```typescript\nimport { Security } from '@flavoai/fastfold/client';\n\nSecurity.public()                    // Anyone can access\nSecurity.admin()                     // Only admin role\nSecurity.owner('userId')             // Owner-based access\nSecurity.team('teamId')              // Team-based access\nSecurity.authenticated()             // Any logged-in user\nSecurity.readOnlyPublic()            // Public read, admin write\nSecurity.custom((ctx) => boolean)    // Custom logic\n```\n\n### Flavo Auth Integration\n\nFastfold supports delegated authentication via Flavo's built-in Google OAuth system. No JWT secrets or key management required — Fastfold validates tokens against Flavo's endpoint automatically.\n\n**Security**: Login is initiated server-to-server. When the user clicks login, the Fastfold server POSTs the `FLAVO_APP_TOKEN` (a platform-signed RS256 JWT) to Flavo's `/api/app/auth/initiate` endpoint. Flavo verifies the token and checks `cid === appId`, then returns a redirect URL containing a short-lived (60s) initiation token. The browser is redirected to this URL to proceed with Google OAuth. The `FLAVO_APP_TOKEN` never leaves the server — it is never exposed in URLs, browser history, or logs.\n\n#### Server Setup\n\n```typescript\n// server.ts — just set provider to 'flavo'\nawait Fastfold.quickStart({\n  drizzle: { db, schema },\n  tables: {\n    posts: {\n      security: Security.authenticated(), // Requires login\n      operations: ['create', 'read', 'update', 'delete']\n    }\n  },\n  auth: {\n    provider: 'flavo',\n    // appId, validateUrl are auto-detected from platform env vars\n  }\n});\n```\n\nThe server automatically registers two auth endpoints:\n- `GET /api/auth/login` — Initiates login by verifying the app's identity with Flavo (server-to-server), then redirects the browser to Google OAuth\n- `GET /api/auth/me` — Returns the current authenticated user (or 401)\n\nThe middleware reads `VITE_FASTFOLD_APP_ID`, `FLAVO_GATEWAY_URL`, and `FLAVO_APP_TOKEN` from the environment (already injected by the platform) and validates Bearer tokens against Flavo's `/api/app/auth/validate` endpoint with in-memory caching.\n\n#### Client Setup\n\n`ProtectedRoute` and `FlavoAuthCallback` render `loadingComponent` (or nothing)\nwhile the session is being validated. Always pass a skeleton that mirrors the\nauthenticated shell so the transient paint looks like a still frame of the\nreal page.\n\n```tsx\n// App.tsx\nimport { FastfoldProvider, useFlavoAuth, ProtectedRoute, FlavoAuthCallback } from '@flavoai/fastfold/client';\n\nfunction App() {\n  return (\n    <FastfoldProvider flavoAuth={{ enabled: true }}>\n      <Routes>\n        <Route path=\"/login\" element={<LoginPage />} />\n        <Route path=\"/auth\" element={<FlavoAuthCallback redirectTo=\"/app\" loadingComponent={<AppSkeleton />} />} />\n        <Route path=\"/app\" element={\n          <ProtectedRoute fallback={<LoginPage />} loadingComponent={<AppSkeleton />}>\n            <Dashboard />\n          </ProtectedRoute>\n        } />\n      </Routes>\n    </FastfoldProvider>\n  );\n}\n\nfunction AppSkeleton() {\n  return (\n    <div className=\"flex min-h-dvh\">\n      <div className=\"w-60 border-r bg-muted/30\" />\n      <div className=\"flex-1\">\n        <div className=\"h-14 border-b bg-muted/20\" />\n        <div className=\"p-6 space-y-4\">\n          <div className=\"h-8 w-48 bg-muted rounded animate-pulse\" />\n          <div className=\"h-32 bg-muted rounded animate-pulse\" />\n        </div>\n      </div>\n    </div>\n  );\n}\n\nfunction LoginPage() {\n  const { login } = useFlavoAuth();\n  return <button onClick={login}>Sign in with Google</button>;\n}\n\nfunction Dashboard() {\n  const { user, logout } = useFlavoAuth();\n  return (\n    <div>\n      <p>Welcome, {user?.displayName}!</p>\n      <button onClick={logout}>Sign out</button>\n    </div>\n  );\n}\n```\n\n#### How It Works\n\n1. User clicks login → `useFlavoAuth().login()` redirects to `GET /api/auth/login` on the Fastfold server\n2. Fastfold server POSTs `{ appId, appToken }` to Flavo's `POST /api/app/auth/initiate` (server-to-server — `FLAVO_APP_TOKEN` never leaves the backend)\n3. Flavo verifies the app token (RS256 signature + `cid === appId`), signs a short-lived (60s) initiation token, and returns a redirect URL\n4. Fastfold server redirects the browser to that URL, which hits Flavo's `GET /api/app/auth/google` with the initiation token\n5. Flavo verifies the initiation token and proceeds with Google OAuth\n6. After sign-in, Flavo redirects through the app's own `/api/__auth/handoff` endpoint, which sets the session + refresh JWTs as httpOnly cookies on the app origin and 302s to `/` with no token in the URL\n7. `FlavoAuthProvider` resolves the signed-in user via `GET /api/auth/me` (the cookie rides along on `credentials: 'include'`); the session JWT is never exposed to JS\n8. Fastfold server middleware validates the cookie on every request and caches the result\n9. `Security.authenticated()`, `Security.owner()`, etc. work as expected using `req.user`\n\n#### Configuration Options\n\n```typescript\n// Server: auth config\nauth: {\n  provider: 'flavo',\n  appId: 'my-app-id',                    // Override auto-detected app ID\n  validateUrl: 'https://custom/validate', // Override validate endpoint\n  cacheTtlMs: 10 * 60 * 1000,            // Cache for 10 minutes (default: 5 min)\n}\n\n// Client: flavoAuth config\n<FastfoldProvider flavoAuth={{\n  enabled: true,\n  onLogin: (user) => console.log('Logged in:', user),\n  onLogout: () => console.log('Logged out'),\n}} />\n```\n\n## Auto-Generated API Endpoints\n\nFastfold automatically creates CRUD endpoints based on your `operations` config:\n\n### Users (operations: ['read', 'update'])\n```\nGET    /api/users           ✅ List users\nGET    /api/users/:id       ✅ Get user  \nPUT    /api/users/:id       ✅ Update user\nPOST   /api/users           ❌ Blocked\nDELETE /api/users/:id       ❌ Blocked\n```\n\n### Posts (operations: ['create', 'read', 'update', 'delete'])\n```\nGET    /api/posts           ✅ List posts (with security filtering)\nGET    /api/posts/:id       ✅ Get post\nPOST   /api/posts           ✅ Create post\nPUT    /api/posts/:id       ✅ Update post (owner only)\nDELETE /api/posts/:id       ✅ Delete post (owner only)\n\n// Relationship endpoints (automatic from Drizzle relations)\nGET    /api/posts/:id/author    ✅ Get post's author\nGET    /api/posts/:id/comments  ✅ Get post's comments  \nGET    /api/users/:id/posts     ✅ Get user's posts\n```\n\n### Query Parameters\n```\nGET /api/posts?where={\"published\":true}&orderBy={\"createdAt\":\"desc\"}&limit=10\nGET /api/posts?with={\"author\":true,\"comments\":true}  // Include relations\n```\n\n## Examples\n\nSee the `examples/` directory for complete examples:\n\n- [Quickstart Backend](examples/quickstart.ts)\n- [React Client Usage](examples/react-client.tsx)\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Run tests\nnpm test\n```\n\n## Database Operations\n\nFastfold automatically handles database setup with zero configuration:\n\n```bash\n# Auto-migration: Tables are created automatically when server starts\nnpm run dev  # Creates tables from your schema definitions\n\n# Reset database: Simply delete the database file\nrm ./fastfold.db  # Default SQLite database file\nnpm run dev       # Recreates tables on next start\n\n# Custom database location\nconst adapter = await Fastfold.quickStart({\n  drizzle: { \n    db: drizzle(new Database('./my-app.db'), { schema }),\n    schema \n  },\n  tables: { /* your table configs */ }\n});\n```\n\n**Note**: Fastfold uses auto-migration - tables are created/updated automatically based on your schema definitions. No manual migration commands needed.\n\n## Advanced Features\n\n### 🔒 Granular CRUD Control\n\nControl exactly which operations are allowed per table:\n\n```typescript\nawait Fastfold.quickStart({\n  drizzle: { db, schema },\n  tables: {\n    users: {\n      security: Security.authenticated(),\n      operations: ['read', 'update'] // Only GET and PUT endpoints\n    },\n    posts: {\n      security: Security.owner('authorId'),\n      operations: ['create', 'read', 'update', 'delete'] // Full CRUD\n    },\n    comments: {\n      security: Security.custom((ctx) => ctx.user?.id === ctx.data?.authorId),\n      operations: ['create', 'read', 'delete'] // No updates allowed\n    }\n  }\n});\n```\n\n### 🎯 Custom Endpoints with Full Drizzle Power\n\n```typescript\nconst adapter = await Fastfold.quickStart({\n  drizzle: { db, schema },\n  tables: { /* your table configs */ },\n  \n  endpoints: (app) => {\n    // Use Drizzle's relational queries\n    app.get('/api/trending', Security.public(), async (req, res) => {\n      const trending = await adapter.queryWithRelations('posts', {\n        with: { \n          author: { columns: { name: true } },\n          comments: true \n        },\n        where: { published: true },\n        orderBy: { createdAt: 'desc' },\n        limit: 10\n      });\n      res.json(trending);\n    });\n\n    // Complex business logic\n    app.post('/api/newsletter', Security.admin(), async (req, res) => {\n      const users = await adapter.query('users', {\n        where: { role: 'subscriber' }\n      });\n      // Send emails...\n      res.json({ sent: users.length });\n    });\n  }\n});\n\n// Use adapter anywhere in your app\nexport { adapter };\n```\n\n### 🚀 Advanced Configuration\n\n```typescript\nawait Fastfold.quickStart({\n  drizzle: { db, schema },\n  tables: { /* your table configs */ },\n  \n  // Authentication configuration\n  auth: {\n    secret: 'your-jwt-secret',\n    expiresIn: '24h'\n  },\n  \n  // Custom endpoints\n  endpoints: (app) => {\n    app.get('/api/trending', async (req, res) => {\n      const trending = await adapter.queryWithRelations('posts', {\n        with: { author: true },\n        where: { published: true },\n        orderBy: { createdAt: 'desc' },\n        limit: 10\n      });\n      res.json(trending);\n    });\n  },\n  \n  // Server hooks\n  hooks: {\n    onServerStart: async (server) => {\n      console.log('🚀 Server ready on port', server.port);\n    }\n  }\n});\n});\n```\n\n## Why Fastfold?\n\n**Perfect for LLMs and rapid development:**\n\n1. **Drizzle ORM Power** - Full database relationships, migrations, validation\n2. **Tiny API surface** - Just define Drizzle schema + security rules\n3. **Zero boilerplate** - Auto-generated CRUD with granular control\n4. **Type-safe by default** - Full TypeScript from database to frontend\n5. **Production ready** - PostgreSQL, MySQL, SQLite with foreign keys\n6. **Extensible** - Full Express access + Drizzle queries when needed\n\n**Perfect for:**\n\n✅ **Production applications** - Full database power with Drizzle  \n✅ **Rapid prototyping** - Zero-config CRUD generation  \n✅ **LLM-assisted development** - Minimal, predictable API  \n✅ **React + Backend** - Unified TypeScript experience  \n✅ **Complex data models** - Relationships, constraints, validation  \n✅ **Custom business logic** - Express endpoints + Drizzle queries\n\n**Not suitable for:**\n\n❌ **Microservices architecture** - Single server design  \n❌ **Non-database apps** - Focused on CRUD operations  \n❌ **GraphQL requirements** - REST API only  \n❌ **Real-time by default** - WebSockets require custom endpoints  \n\n## License\n\nMIT\n","readmeFilename":"README.md"}